设为首页收藏本站

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

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

Rank: 2

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

精华
0
UID
20571
积分
192
帖子
10
主题
3
阅读权限
40
注册时间
2010-11-28
最后登录
2017-12-12
2#
发表于 2011-12-20 17:19:51 |只看该作者
同问~顶上~

使用道具 举报

初级大户

酱油

Rank: 5Rank: 5

精华
0
UID
37561
积分
1108
帖子
395
主题
9
阅读权限
60
注册时间
2011-5-4
最后登录
2014-11-3
3#
发表于 2011-12-21 08:38:38 |只看该作者
a_totalposition>=0,不是变量赋值时间长,是下单不一定会立马成交。。。。。
期货IT

使用道具 举报

Rank: 2

精华
0
UID
86521
积分
112
帖子
23
主题
14
阅读权限
30
注册时间
2011-12-14
最后登录
2016-10-28
4#
发表于 2011-12-21 10:04:03 |只看该作者
我说的变量赋值是指SetGlobalVar(5,0);
lsc

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
5#
发表于 2011-12-21 10:11:00 |只看该作者
你的5号全局变量只是在某指定条件下给其赋了值,赋值貌似没有与发单有关。
请叁考F1帮助文档--公式系统---公式的使用----策略进阶----A函数下撤单与全局变量的应用。

使用道具 举报

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

bottom

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

GMT+8, 2024-5-10 21:04

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部