金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 2048|回复: 5

后台平仓不能过了900秒重新平仓

[复制链接]

45

主题

140

帖子

150

积分

Rank: 4

等级: 专业版

注册:
2022-8-5
曾用名:
发表于 2022-8-17 10:47 | 显示全部楼层 |阅读模式

下面是我写得后台程序, 然后在做测试的时候, 发现不响应, 也就是我手动开了一个多单, 然后手动开了一个价格高很多的平仓, 也就是让账户里面的平仓没有办法平仓然后触发下面的程序, 但是过了900秒后, 平多开仓数还是为0, 这是为什么?
平多开仓数:=0;
//如果之前的平多仓还有且大于900秒, 取消掉。 重新再开仓
IF TISREMAINEX(2,'',品种)=1 and TSUBMITEX(2,'',品种)>900 THEN BEGIN
        TCANCELEX(1,2,'',品种);
        平多开仓数:=TBUYHOLDINGEX('',品种,2);
END

回复

使用道具 举报

3

主题

2万

帖子

2万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2022-8-17 10:50 | 显示全部楼层
看函数说明你上面用到的判断未成交单都是依赖后台开仓记录里的,账户兰手工开仓他是不认得
下面这个函数判断是不依赖后台记录

IF TGLOBALSUBMITEX(2,'','',1)>900 THEN BEGIN
        TCANCELEX(1,2,'',品种);
        平多开仓数:=TBUYHOLDINGEX('',品种,2);
END
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

45

主题

140

帖子

150

积分

Rank: 4

等级: 专业版

注册:
2022-8-5
曾用名:
 楼主| 发表于 2022-8-17 11:09 | 显示全部楼层
还是上面的操作, 就是我手动开了一个多单, 然后手动开了一个价格高很多的平仓,也就是让这个平仓没有办法平仓
实际多单数2:=TBUYHOLDINGEX('',品种,2);
实际多单数1:=TBUYHOLDINGEX('',品种,1);

实际多单数2=1?
实际多单数1=0?
回复

使用道具 举报

3

主题

2万

帖子

2万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2022-8-17 11:18 | 显示全部楼层
对得
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

45

主题

140

帖子

150

积分

Rank: 4

等级: 专业版

注册:
2022-8-5
曾用名:
 楼主| 发表于 2022-8-18 07:45 | 显示全部楼层
程序代码如下, 先撤单, 再重新开平仓。 但是看交易日志是撤单也提交了, 重新平仓也提交了。  但是实际在账户里面体现的就是重新平仓没有展示或者提交了又撤单了。
IF TBUYHOLDINGEX('',品种,2)>0 and TGLOBALSUBMITEX(2,'',品种,1)>900 THEN BEGIN
        TCANCELEX(1,2,'',品种);
        平多开仓数:=TBUYHOLDINGEX('',品种,2);
END
  IF 平多开仓数<12 AND 平多开仓数>3 AND 平多开仓数<=MA_VolDay  THEN //注意holding是策略的理论持仓,他不管实际仓位   
   BEGIN //DYNAINFO2(31,品种) 是卖一量, DYNAINFO2(25,品种) 是买一量,DYNAINFO2(34,品种)卖一价;DYNAINFO2(28,品种)买一价;
//a3b1
      IF DYNAINFO2(34,品种)-DYNAINFO2(28,品种)>=2*DYNAINFO2(208,品种) THEN
          BEGIN
           TSELL(1,平多开仓数/2+1,LMT,DYNAINFO2(34,品种)-DYNAINFO2(208,品种),0,'',品种);
                     TSELL(1,平多开仓数/2,LMT,DYNAINFO2(28,品种)+DYNAINFO2(208,品种),0,'',品种);
      END
//a3b2       
         IF DYNAINFO2(34,品种)-DYNAINFO2(28,品种)=DYNAINFO2(208,品种) THEN
         BEGIN          
                        IF DYNAINFO2(25,品种)>DYNAINFO2(31,品种) THEN TSELL(1,平多开仓数,LMT,DYNAINFO2(34,品种),0,'',品种);
                        IF DYNAINFO2(25,品种)<DYNAINFO2(31,品种) THEN TSELL(1,平多开仓数,LMT,DYNAINFO2(28,品种),0,'',品种);
     END
   END  
回复

使用道具 举报

45

主题

140

帖子

150

积分

Rank: 4

等级: 专业版

注册:
2022-8-5
曾用名:
 楼主| 发表于 2022-8-18 07:49 | 显示全部楼层
发错位置了, 请忽略
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 微信登录

本版积分规则

手机版|小黑屋|上海金之塔信息技术有限公司 ( 沪ICP备13035422号 )

GMT+8, 2024-11-16 23:41 , Processed in 0.306285 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表