初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 974

 
Sprut112:

これはどうでしょう?

こうやって...

double Freeus =AccountInfoDouble(ACCOUNT_MARGIN_FREE)* MaximumRisk 
               /SymbolInfoDouble(symbol_name[ir],SYMBOL_TRADE_TICK_VALUE)/ 1000;
  input_lots = NormalizeDouble(MathRound(Freeus) * SymbolInfoDouble(symbol_name[ir], SYMBOL_VOLUME_STEP),dg);
 
xxz:

こうする

いや、Stepを追加したらうまくいった:)いつもありがとうございます。
 
Vladimir Karputov:

EA(OnInit())内の初期化ブロックを修正しました。

具体的には? 警告は0件です。に0を返す。
のみであればreturn(INIT_SUCCEEDED) とする。
 
pivomoe:
それがどうした?に0を返す。
のみであればreturn(INIT_SUCCEEDED) とする。

リロードしないEAのOnInit()関数の完全なMQL5コードを表示します。リロードしないExpert AdvisorのOnDeinit() 関数の完全なMQL5コードを表示します。Expert Advisorはサードパーティライブラリを使用していますか?Dll?

 
Vladimir Karputov:

リロードしないEAのOnInit()関数のMQL5コード全文を表示する。リロードしないEAのOnDeinit() 関数の完全なMQL5コードを表示します。Expert Advisorはサードパーティライブラリを使用していますか?Dll?

Dllは一切使っていません。OnInitのコードは1000行に及ぶ。クラスに対してのメモリ割り当てがあります。OnDeinitで全てのメモリが解放されていないのかもしれません。十字でターミナルを閉じるのはいいのですが、スケジューラーは90%しかうまくいきません。
 
pivomoe:
Dllは使いません。OnInitのコードは1000行に及ぶ。クラスに対してのメモリ割り当てがあります。OnDeinitで全てのメモリが解放されていないのかもしれません。十字でターミナルを閉じるのはいいのですが、スケジューラがうまく動くのは90%くらいです。

すでに質問の9割に答えていますね。あとはエラーを見つけるだけです :)

 
各オーダーに異なるマジックを明示的に割り当てる方法をご教示ください。
例えば、こんな感じです。
例えば、以下のような設定が必要です。
Buy_Stop注文で、magic_1を指定します。
Buy_Stop を注文し、magic_2 を代入する。
Buy_Stop注文を行い、そのmagic_3を設定する。

そのため、注文を修正する際に、修正する注文を明示的に指定することができるようになりました。

注文のBuy_Stop == wizard_2であれば、それを修正する。

 

こんにちは。

テスターでSleep()がないことに関連して質問があります。ストラテジーテスター(シングルラン、入力パラメータ列挙とも)を使用する際、以下の問題をどのように解決しているのか知りたいです。

1) インジケータ・ハンドルの準備ができたかどうかは、どのように確認するのでしょうか?インジケーターの計算が終わるまで待たせて、その間にだけセリフに移行させるにはどうしたらいいでしょうか。

2) EA中に呼び出されたテキストファイルが読み込み用に開くのを待つにはどうしたらよいですか?

3) OrdersTotal() 関数の応答を待つには?また、この機能の反応に遅れが生じることはあるのでしょうか?

4) OrderCalcMargin()関数の応答を待つには?また、この機能の反応に遅れが生じることはあるのでしょうか?

5) テスターでMqlTradeResultを通して「トレードサーバーのリターンコード」を待つことは意味があるのでしょうか(方法が明確でなくても)。

ターミナルでは、これらのタスクはすべてSleep()を使って解決されましたが、テスターではそれがうまくいきません。それに、Sleep()が必要なのかどうか、もしかしたらもっと合理的な解決策があるのでは?

もう、ありがとうございます。

 

こんにちは!もし・・・C= (i>0) に分解して構成してください。(A>B) ?1 : (A<B) ?2 : C: 0;

ヘルプを読む - しかし失敗した)

 
Tango_X:

こんにちは!もし・・・C= (i>0) に分解して構成してください。(A>B) ?1 : (A<B) ?2 : C: 0;

ヘルプを読む - しかし失敗した)

このように思えるのです。

C=xxx;
if(i>0)
  {
   if(A>B)
     {
      C=1;
     }
   else
     {
      if(A<B)
        {
         C=2;
        }
      else
        {
         C=C;
        }
     }
  }
else
  {
   C=0;
  }

S.S.ヘルプとは関係ないんですけどね。それは、ロジックの話です。

理由: