"ダミー "からの質問 - ページ 217

 
G001:
そうなんです。EAが動作しなくなったことをプログラムで知るにはどうしたらいいのか、それが私の要望でした。
:))) うん。

と呼び、"皆さん、ありがとうございました、問題解決 "とする。

あなたはそれを解決するのではなく、自分自身のためにそれを作成しました;)

 
G001: 非同期オプションも考えていたのですが、ブローカーがトレードをカウントしてくれないのでは?
どういうことですか?OrderSendAsync() を使用しているため、「ブローカーが取引をカウントしてくれない」可能性があるのでは
 
G001:

永久ループで確認するなよ、それが問題なんだろう。
 
sergeev:
:))) うん。

と呼び、"皆さん、ありがとうございました、問題解決 "とする。

あなたはそれを解決するのではなく、自分自身でそれを作成しました;)

まあ、それ以外のアドバイスはもらえなかったんですけどね。:)
今のところ、これしか実行可能な選択肢はない。
5年間でたくさんの「奇跡」を見てきましたが、現実の世界では、すべての「奇跡」に対する解答はないと思っています。
 

私は2つの機能(ポジションを設定し、TPまたはSLで閉じた後にポジションを再び開くが、それは反対のポジションと一緒に開く必要がある)を持つEAを作ろうとしているのは悲しいことです。

こんな簡単なEAも動かないし、フォーラムでも試したけど((

 
G001:
まあ、それ以外のアドバイスはもらえなかったんですけどね。:)

をしたのですが、無視していますね。;)

プリントやコメントをサイクルに入れない、雑誌を与えない。

端末のせいにするのではなく、ここで コミュニケーションをとる必要があります。

Клуб Телепатов - MQL4 форум
  • www.mql5.com
Клуб Телепатов - MQL4 форум
 
tol64: 永久ループを使って確認しないでください、これが問題でしょう。

コードのこの部分に気づきました。

      request.action = TRADE_ACTION_PENDING;
      request.magic = Magic;
      request.symbol = Symbol();
      request.volume = Volume();
      request.price=NormalizeDouble(Ask+OrderDrive*_Point,_Digits);
      request.sl = NormalizeDouble(request.price - StopLoss*_Point,_Digits);
      request.tp = NormalizeDouble(request.price + TakeProfit*_Point,_Digits);
      request.type=ORDER_TYPE_BUY_STOP;
      request.type_filling=ORDER_FILLING_RETURN;
      request.comment=Coments;
      int ResBull = -1;
      while(ResBull < 1)
      {
        if(OrderCheck(request,check))
          {
          ResBull = OrderSend(request,result);
          }
        if((MQL5InfoInteger(MQL5_TESTING)||MQL5InfoInteger(MQL5_OPTIMIZATION)))break;
      }
      Print("BuyStop Order Set ");
      if(UseSound == true){PlaySound(OrderSound);}
      Print(ResultRetcodeDescription(result.retcode));

OrderCheck(request,check)関数がある段階でfalseを返した場合はどうなるのでしょうか(作者に質問)。例えば、request.volumeのボリュームが間違って いるため。

 
Yedelkin:

コードのこの部分に気づきました。

OrderCheck(request,check)関数がある段階でfalseを返した場合はどうなるのでしょうか(作者に質問)。例えば、request.volumeがおかしいから。

そして、正しくお気づきになられたのではないでしょうか。ありがとうございます。
永久ループの確認方法と解消方法を教えてください。
 
G001:
まあ、それ以外のアドバイスはもらえなかったんですけどね。:)
今のところ、これが唯一実行可能な選択肢です。
5年間でたくさんの「奇跡」を見てきましたが、現実の世界からすべての「奇跡」を解決する方法はないと思っています。
この記事で 紹介されている注文送信用のCTradeクラスを試してみるとどうでしょうか。
 
G001: 無限ループの確認方法と解消方法をご教示ください。

いろいろな選択肢がありそうだ。反復回数を制限する、ループチェックを完全に放棄する、レスポンスコードを解析する、など。ちなみに、何らかの理由でサーバーが取引要求を 拒否した場合も、無限ループが発生します。つまり、チェックのロジックを完全に変更する必要があります。

私自身は、リターンコードのチェックは2回までにして、注文ができない場合は、新しいティックの到着を待ちます。

Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура торгового запроса
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура торгового запроса
  • www.mql5.com
Стандартные константы, перечисления и структуры / Структуры данных / Структура торгового запроса - Документация по MQL5