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

标题: 为什么重复发单 [打印本页]

作者: chinawnv9    时间: 2019-7-15 10:51:38     标题: 为什么重复发单

If(MarketPosition == 0){
                        If(A)
                                {Buy();}               
                        If(B)
                                {SellShort();}
                }
If(MarketPosition == -1){
                        if(A)
                                {
                                        BuyToCover();
                                        Buy();
                                }
                }
if(MarketPosition == 1){
                        if(B)
                        {
                                        Sell();
                                        SellShort();
                        }
                }

只要关闭了自动交易,再打开自动交易,就会执行一次平空仓,开多仓的命令。是什么原因
作者: 小米    时间: 2019-7-15 13:23:24

已经关闭了自动交易,就没法知道曾经已经交易过,自然在当前K线仍有信号时重新启动自动交易,就重新按信号发单 了。
在盘中,不建议这个做这样的关闭再打开操作。如果必须这样操作,请先确认当前K线上是否有信号,以及该信号是否已经交易过?
如果有交易过,请先设置为忽略自动,再启动自动交易,再改为允许自动。。以避免当前信号在再次发单 。
作者: chinawnv9    时间: 2019-7-15 13:32:53

小米 发表于 2019-7-15 13:23
已经关闭了自动交易,就没法知道曾经已经交易过,自然在当前K线仍有信号时重新启动自动交易,就重新按信号 ...

了解,谢谢。困惑了很久。
作者: chinawnv9    时间: 2019-7-15 13:43:48

小米 发表于 2019-7-15 13:23
已经关闭了自动交易,就没法知道曾经已经交易过,自然在当前K线仍有信号时重新启动自动交易,就重新按信号 ...

代码中有通过marketposition过滤啊,如果之前已经交易过了,那么marketpositon就已经发生改变,即使关闭自动交易再重启也不应该再交易啊。
作者: 小米    时间: 2019-7-15 13:49:35

chinawnv9 发表于 2019-7-15 13:43
代码中有通过marketposition过滤啊,如果之前已经交易过了,那么marketpositon就已经发生改变,即使关闭 ...

marketposition是只判断图表信号的。。并不判断帐户持仓。。
哪怕你没有登录交易帐户的,marketpositionb也仍会根据信号而有相应的值。所以曾经是否交易过,并不会影响这个值




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