Warm tip: This article is reproduced from serverfault.com, please click

mql4-元交易者 4 |

(mql4 - Metatrader 4 | No trades to be placed on EA re-initialization)

发布于 2021-01-26 08:12:28

我有一个 EA 进行交易 - 考虑到满足所有其他条件 - 在烛台条的开头 & 基于“日期时间 [0]”。

当然,如果我要重新初始化 EA,EA 会“重新识别”条件并执行另一笔交易。我将如何阻止这种情况发生在oninit我的 EA 部分?

谢谢

Questioner
Johannes Schulz-Bauer
Viewed
0
tomgny 2021-02-03 22:35:11

声明全局变量 bool initTrade = true;

和:

int OnInit()
 {
   if(OrdersTotal() > 0){
      if(OrderSelect(OrdersTotal()-1, SELECT_BY_POS)){
         if(Minute() == TimeMinute(OrderOpenTime())  && Hour() == TimeHour(OrderOpenTime()) && Day() == TimeDay(OrderOpenTime())){
            initTrade = false;
         }
         if(initTrade){
            //Open init order logic...
         }
      }
   }
 return(INIT_SUCCEEDED);
}