EA: ManualTradeOnStrategyTester - 页 2

 

很好,很完美。Excel 工作正常。
,但两天后出现了这条垃圾信息

2016.08.16 16:19:08.052 2016.01.04 00:25:00 EA检测到错误: 1004 -- EA 中止!!!

that block orders

HELP!


 
Andrasdudu:

漂亮、完美。Excel 工作正常。
,但两天后出现了这条垃圾信息

2016.08.16 16:19:08.052 2016.01.04 00:25:00 EA 检测到错误:1004 -- EA 中止!!!

that block orders

HELP!


当 EA 从 Excel 按钮接收到指令订单时,您收到的错误信息就会出现......不知何故,您的 EA 无法执行订单,"订单未发送 "信息也应该出现:

//+------------------------------------+
//| 执行交易
//+------------------------------------+ 
bool ExecuteTrade(string Entry,double ThePrice,double lot) // 输入 = 买入或卖出 / 如果成功则返回 true。
  {
   bool success;

   success=true;

   MqlTradeRequest mreq; // 为交易发送请求。
   MqlTradeResult mresu; // 获得交易结果。
   ZeroMemory(mreq); // 初始化交易发送请求。

   Print("Order Initialized");
   mreq.action = TRADE_ACTION_DEAL;                                   // 立即执行订单
   if(Entry=="buy") mreq.price = NormalizeDouble(ThePrice,_Digits);   // 应为最新投标价格
   if(Entry=="sell") mreq.price = NormalizeDouble(ThePrice,_Digits);  // 应该是最新卖出价
   mreq.symbol = _Symbol;                                             // 货币对
   mreq.volume = lot;                                                 // 交易手数
   mreq.magic = 11119;                                                // 订购神奇号码
   if(Entry=="sell") mreq.type = ORDER_TYPE_SELL;                     // 卖出订单
   if(Entry=="buy") mreq.type = ORDER_TYPE_BUY;                       // 购买订单
   mreq.type_filling = ORDER_FILLING_FOK;                             // 订单执行类型
   mreq.deviation=100;                                                // 与当前价格的偏差
//--- 发送订单
   if(!OrderSend(mreq,mresu))
     {
      Alert("Order Not Sent: ",GetLastError());
      ResetLastError();
      success=false;
     }
.
.
.
.
   if(success==false)
     {
      Alert("Error ORDER FAILED!!! - error:1004");
      Arun_error=1004;
     }
   return(success);
  }

......不知道您的程序出了什么问题......但我能想到的唯一错误原因是您的 MT5 设置出了问题......或者......您发送命令文件文本的源命令文件夹出了问题,可能是文本命令在被使用或被 EA 告知后没有被正确删除。 检查该命令源 "common "文件夹是否在您的 Excel 和该 EA 中正确响应......如果正确响应,那么一定是您的 MT5策略测试程序 中的某些部分无法检测到请求的订单。

 

您好,感谢您提供智能交易系统。

当我按下策略测试 器上的开始键时,展示台打开并显示出一个大大的 "等待更新 "信息,但什么也没发生。

我该如何解决这个问题?


谢谢。

 


您好、

我也试着使用这个指标,但得到的信息是一样的。

日志写道

2020.04.18 21:14:44.766 strategytesterpracticetrade 不是自定义指标,将被删除。

2.2020.04.18 21:14:44.766 无法创建指标


有人能解决这个问题吗?

 


好的,解决办法是(见图)。

鼠标右键单击 ExpertMACD,打开导航器中的上下文菜单-> 选择 "Testen "或 "Test"。



但现在我遇到了另一个问题。


如果有一个名为 "sell.txt"、"buy.txt "或 "close.txt "的 .txt 文件位于

Win10:

C:\Users\[User]\AppData\Roaming\MetaQuotes\Terminal\Common\Files

MT5 每次打开一个新订单!如果路径上有 close.txt,它就不会关闭订单。

我认为问题出在代码中:


// 如果找到 close.txt,这将以仓位上标明的最大交易量关闭任何未平仓仓位。 
   if(FileIsExist("close.txt",FILE_COMMON))
     {

      FileDelete("sell.txt",FILE_COMMON);
      FileDelete("buy.txt",FILE_COMMON);
      FileDelete("close.txt",FILE_COMMON);

      if(OpenPosition()=="buy")
        {
         PositionSelect(_Symbol);
         JustifySize=NormalizeDouble(PositionGetDouble(POSITION_VOLUME),2);
         ExecuteTrade("sell",CurP,JustifySize);
        }

      if(OpenPosition()=="sell")
        {
         PositionSelect(_Symbol);
         JustifySize=NormalizeDouble(PositionGetDouble(POSITION_VOLUME),2);
         ExecuteTrade("buy",CurP,JustifySize);
        }
     }


似乎 MT5 对这一行的反应与预期不同

if(OpenPosition()=="buy")

附加的文件:
pic.jpg  98 kb
 
我收到了这条信息,EA 终止!
附加的文件:
the_PR.png  38 kb
 
Hello good time
Possibility to send this app or excel file to me
Because I don't do anything