设为首页收藏本站

 找回密码
 注册
查看: 4540|回复: 4
打印 上一主题 下一主题

全局变量和序列变量都没能避免重复发单问题,请高手赐教 [复制链接]

Rank: 2

精华
0
UID
86521
积分
112
帖子
23
主题
14
阅读权限
30
注册时间
2011-12-14
最后登录
2016-10-28
跳转到指定楼层
1#
发表于 2011-12-20 10:31:16 |只看该作者 |倒序浏览
发帖前已专门就此问题搜索过论坛的相关帖子,采用全局变量控制发单次数,但重复发单的问题还是没有解决。代码如下:
vars
numeric  trn;

if (BarStatus==0) SetGlobalVar(5,1);   //或者 if (BarStatus==0) trn=1;

if (BarStatus==2 && GetGlobalVar(5)==1) {   //或者        if (BarStatus==2 && trn==1)       
  if (AccountDataExist && a_totalposition>=0)
      {
       SetGlobalVar(5,0);                                  //或者 trn=0;
       if (a_totalposition>0) A_SendOrder(enum_sell,enum_exit,1,close-6);
       A_SendOrder(enum_sell,enum_entry,1,close-6);                     
     }
                                                                   }                 

本意是想空头开仓1手,但实盘运行开仓不止1手。也曾试过采用序列变量的方式控制发单次数,问题依旧。疑问:1、全局变量和序列变量的赋值时间是否很长?以至于在一个tick周期内变量值来不及改变导致重复发单?2、如果不采用延时的方式,有无其他更好的方法避免重复发单?

Rank: 4

精华
0
UID
17731
积分
277
帖子
61
主题
23
阅读权限
50
注册时间
2010-10-16
最后登录
2019-3-30
2#
发表于 2011-12-20 17:07:23 |只看该作者
好乱的逻辑。

使用道具 举报

Rank: 8Rank: 8

精华
1
UID
64747
积分
782
帖子
192
主题
33
阅读权限
200
注册时间
2011-9-10
最后登录
2016-3-22
3#
发表于 2011-12-24 18:09:04 |只看该作者
你写的好乱啊,重新编辑一下吧,一点都看不懂你的逻辑呢
量化交易群:186100158
QQ:55297268

使用道具 举报

Rank: 2

精华
0
UID
86521
积分
112
帖子
23
主题
14
阅读权限
30
注册时间
2011-12-14
最后登录
2016-10-28
4#
发表于 2011-12-26 10:41:53 |只看该作者
问题已经解决了。
lsc

使用道具 举报

Rank: 2

精华
0
UID
112412
积分
52
帖子
25
主题
8
阅读权限
30
注册时间
2012-9-8
最后登录
2013-4-9
5#
发表于 2012-12-4 17:32:51 |只看该作者
lsc 发表于 2011-12-26 10:41
问题已经解决了。

已经解决了?我通过A_BuyPostion判断持多仓的状态。如果没有持有多单,且行情满足了开多仓的条件了,就发送开多仓的委托。如果委托没有立刻成交,那在下一个tick来后,程序重新被执行,是否会再次发送开多仓的委托。

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

bottom

静态版|手机版|联系我们|交易开拓者 ( 粤ICP备07044698   

GMT+8, 2024-5-3 17:47

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部