请教下高手,EA重复下单问题

 

如题,

在EA里面设置了防重复下单条件,刚开始都正常没有重复下单的情况,但是后来不知道是什么原因就开始出现了重复下两次单的情况(不知道是不是后来写的程序内容多导致的),有的时候重复下单,有的时候正常。

比如20点00分01秒达到了下单条件,它就在01秒连续下两个相同的单,下单时间也相同,有的时候两个单相差1秒。

后来看到别人的EA信号,发现他们也是在相同的时间连续下了几个相同的单,就是不知道他们的EA是故意的还是无意的。

问一下,大家的EA有没有这种重复下单的情况,有的话有没有解决办法。

 

沒編好 會有重複下單問題 編好了 就沒重複下單問題

最簡單的過濾方式 就是 if(OrdersTotal()==0) OrderSend(........);

 
Hung Wen Lin:

沒編好 會有重複下單問題 編好了 就沒重複下單問題

最簡單的過濾方式 就是 if(OrdersTotal()==0) OrderSend(........);

我用的是PositionsTotal(),总感觉不是编程问题,因为它是同一个时间连续下的单,如果差个几秒再下同样的单的话还可以理解是程序问题

不管怎么样,我再试下其他过滤方法看看。

 

先把OrderSend(...)下单的代码分析清楚先吧!什么策略下单?每次下单前是否有检查已有订单状态?

 
jinchunlong2020:

我用的是PositionsTotal(),总感觉不是编程问题,因为它是同一个时间连续下的单,如果差个几秒再下同样的单的话还可以理解是程序问题

不管怎么样,我再试下其他过滤方法看看。

還需要其他方法嗎??

if(OrdersTotal()==0)

  {  

   int t=OrderSend(...........);

   if(OrderSelect(t,SELECT_BY_TICKET ))

        {

         return;

        } 

  }

 

这种情况大多出现于你的“防重复订单条件”不严谨。必须重新审视这个条件。

刚开始都正常没有重复下单的情况,但是后来不知道是什么原因就开始出现了重复下两次单的情况……这种情况多数可能是因为条件的计数之类没清零重置等。

原因: