设为首页收藏本站

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

在自编策略中A_sendorde每次连续发单两次的原因 [复制链接]

Rank: 4

精华
0
UID
208790
积分
269
帖子
187
主题
35
阅读权限
50
注册时间
2015-5-12
最后登录
2015-9-9
跳转到指定楼层
1#
发表于 2015-6-22 17:17:27 |只看该作者 |倒序浏览
在自编策略中,使用A_sendorder函数和全局变量控制发单,但是还是每次连续发单两次,并且非常固定,都是两次。
其原因不是全局变量控制不了发单次数,还是在Tick上导致的。
呵呵,这个小长假没有白白浪费。
明白了!
越来越了解TB...

Rank: 1

精华
0
UID
206756
积分
1
帖子
1
主题
0
阅读权限
10
注册时间
2015-4-8
最后登录
2015-11-14
2#
发表于 2015-11-10 11:07:30 |只看该作者
我现在也碰到这个问题,我开仓条件里加入了查询账户委托单量和未成交单量,只要有一个不为零都不开仓,但是程序还是给我不停的发单,根本停不下来,瞬间秒了200多次。跪求大牛看看。
tf_duo=data0.A_BuyPosition;
   tf_kong=data0.A_SellPosition;
   t_duo=data1.A_BuyPosition;
   t_kong=data1.A_SellPosition;
   tf_ordn=data0.A_GetOrderCount;
   t_ordn=data1.A_GetOrderCount;
   tf_wc=data0.A_GetOpenOrderCount;
   t_wc=data1.A_GetOpenOrderCount;

   if(time>0.0920 and time<0.1512)
   {
      tradethis=GetGlobalVar(1);  
      if(tf_duo==0 and tf_kong==0 and t_duo==0 and t_kong==0 and tf_wc==0 and t_wc==0 and tradethis==0)
          {
              if(jiacha>upline)
                  {
                     tfkai=data0.A_SendOrder(enum_sell,Enum_Entry,lots,data0.Q_bidPrice);
                         tkai=data1.A_SendOrder(Enum_Buy,Enum_Entry,lots,data1.Q_askPrice);
                         //if(!(tfkai and tkai)) return;
                         tfn=data0.A_GetLastOrderIndex(enum_sell,Enum_Entry);
                         tn=data1.A_GetLastOrderIndex(Enum_Buy,Enum_Entry);
                         tfordertime=data0.A_OrderTime(tfn);
                         tordertime=data1.A_OrderTime(tn);
                         SetGlobalVar(1,1); //开仓之后,禁止连续开仓
                         SetGlobalVar(2,tfordertime);
                         SetGlobalVar(3,tordertime);
                  }
              else if(jiacha<downline)
                  {
                     tfkai=data0.A_SendOrder(enum_buy,Enum_Entry,lots,Q_askPrice);
                         tkai=data1.A_SendOrder(Enum_sell,Enum_Entry,lots,Q_bidPrice);
                         tfn=data0.A_GetLastOrderIndex(enum_sell,Enum_Entry);
                         tn=data1.A_GetLastOrderIndex(Enum_Buy,Enum_Entry);
                         tfordertime=data0.A_OrderTime(tfn);
                         tordertime=data1.A_OrderTime(tn);
                         SetGlobalVar(1,1);//开仓之后,禁止连续开仓
                         SetGlobalVar(2,tfordertime);
                         SetGlobalVar(3,tordertime);
                        // return;
                  }
          }
   }

使用道具 举报

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

bottom

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

GMT+8, 2024-5-22 23:23

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部