开拓者期货期权程序化系统交易论坛

标题: 防止重复发单是采用全局变量好还是序列变量? [打印本页]

作者: alley_007    时间: 2013-8-8 12:51:09     标题: 防止重复发单是采用全局变量好还是序列变量?

我的控制条件要放在条件语句里,但tb不建议序列变量放里边,这种情况要用全局变量吗?
作者: 小米    时间: 2013-8-8 13:37:52

TB从来没有建议说序列变量不可以放条件里。只说过序列函数的赋值计算不要放条件限制里,以防计算结果出错。
要先搞清楚你的重复发单 是什么原因导致 ,从而采取相应措施时方可决定使用哪种函数来控制 。
如果是a_sendorder的发单 ,需要使用全局变量控制。
但如果是buy,sellshort等的指令,只要条件稳定不消失即可。不必要使用专门的控制重复发单 。
作者: superwin    时间: 2013-9-3 15:38:52

A函数发单,必须要全局变量
作者: chairmin    时间: 2013-9-4 00:33:17

学习了

作者: lan2017    时间: 2017-12-16 13:55:31

本帖最后由 lan2017 于 2017-12-16 13:56 编辑

@小米 你说的“序列函数的赋值计算不要放条件限制里”是什么意思,怎么理解
作者: lan2017    时间: 2017-12-16 13:56:15

小米 发表于 2013-8-8 13:37
TB从来没有建议说序列变量不可以放条件里。只说过序列函数的赋值计算不要放条件限制里,以防计算结果出错。 ...

@小米 你说的“序列函数的赋值计算不要放条件限制里”是什么意思,怎么理解
作者: 小米    时间: 2017-12-18 08:46:28

本帖最后由 小米 于 2017-12-18 08:50 编辑
lan2017 发表于 2017-12-16 13:56
@小米 你说的“序列函数的赋值计算不要放条件限制里”是什么意思,怎么理解 ...


例如:if(marketposition==1 && high>highest(high[1],10))  sell;
改为:aa = highest(high[1],10);
           IF(marketpositon==1 && high>aa) sell;

例如:if(date!=date[1]) bb = highD(1);
改为:aa = highD(1);
          IF(date!= date[1]) bb =aa;
作者: my_life    时间: 2019-8-6 09:07:18

小米,上面第二个例子的意思是:“序列函数的赋值计算不要放条件限制里”意味着,序列函数的赋值除了不能放在if后面的小括号里作条件判断,也不能放在if语句后的{      }吗?
作者: 小米    时间: 2019-8-6 09:56:28

my_life 发表于 2019-8-6 09:07
小米,上面第二个例子的意思是:“序列函数的赋值计算不要放条件限制里”意味着,序列函数的赋值除了不能放 ...

并不是一定不能放if后面的括号里。
但是如果交易者不太分得清什么情况下可以放什么情况下不可以放。。那就统一习惯,都不放,这样最保险了





欢迎光临 开拓者期货期权程序化系统交易论坛 (http://bbs.tb18.net/) Powered by Discuz! X2