エキスパート: ManualTradeOnStrategyTester - ページ 2

 

素晴らしく完璧。
しかし、2日後にこのスパムメッセージが来た。

2016.08.16 16:19:08.052 2016.01.04 00:25:00 EAdetected error: 1004 -- EA Aborted!

that block orders

HELP!


 
Andrasdudu:

素晴らしく完璧。
しかし、2日後にこのスパムメッセージが来た。

2016.08.16 16:19:08.052 2016.01.04 00:25:00 EA detected error:1004 -- EA Aborted!

that block orders

HELP!


このエラーは、EAがExcelボタンからコマンド注文を受信したときに発生しました:

//+------------------------------------+
//| トレードの実行
//+------------------------------------+ 
bool ExecuteTrade(string Entry,double ThePrice,double lot) // エントリー = 買いまたは売り / 成功すれば真を返す。
  {
   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」フォルダをチェックしてください...それがあなたのエクセルとそのEAで適切に応答するかどうか...それがそうなら、あなたのMT5ストラテジーテスターで、要求された注文を検出できない何かがあるはずです。

 

エキスパートアドバイザーありがとうございます。

ストラテジーテスターの スタートを押すと、ビジュアライザーが開き、大きな「更新待ち」のメッセージが表示され、何も起こりません。

どうすれば解決できますか?


ありがとうございます。

 


こんにちは、

私もこのインディケータを使おうとしましたが、同じメッセージが表示されました。

ログに

1. 2020.04.18 21:14:44.766 strategytesterpracticetrade is notcustom indicator and will be removed.

2.2020.04.18 21:14:44.766 インジケーターを作成できません。


どなたかこの問題を解決できますか?

 


OK、解決策は(写真参照)。

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
 
このメッセージが表示された!
ファイル:
the_PR.png  38 kb
 

このアプリまたはエクセルファイルを私に送る可能性
私は何もしないので。