どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 6. - ページ 1127

 
Sergey Gritsay:

そして、今度は通常のMT5のドキュメントを読んでみてください。mt4のドキュメントは古く、まだ修正されていないことがたくさんあるので、古い機能のいくつかは、そこに書かれているとおりに動きます。

GetLastError

システム変数_LastError の内容を返します。

intGetLastError()。

戻り値

mql5プログラムの実行中に発生した最後のエラーの値を返す。

備考

この関数が呼び出された後、変数_LastErrorの内容はクリアされません。この変数をゼロにリセットするには、ResetLastError() 関数を呼び出す必要があります。

こちらもご覧ください

トレードサーバーのリターンコード

そこで再び、mql5での話です。そして、mql4で必要です。
 
Vitaly Muzichenko:

私は1997年からです。)

ほら、ティックがあって、それに伴ってシグナルがあって、エラーが出たら処理する必要がある。処理後、再度クエリを実行しますが、クエリ前にエラーで変数をゼロにし、次のクエリでエラーがあれば再度変数に入りますが、エラーがなければ "0 "になります。

変数をゼロにする必要はありませんが、エラーが発生した場合は新しい値を返します。いずれにせよ、前回のティックで出たエラーには関心を持たず、「今」あるものだけを処理すればいいのです。

1997年以来、それは時間だ!)おそらく、私の唯一の理解者だったのでしょう。ありがとうございます。
 
Evgeniy Oshurkevich:
そこで再び、mql5での話です。そして、mql4で必要です。
この機能に関する限り、違いはありません。しかし、それが原則的なものであるならば、F1を読めばいいのです。
 

mql5のスレッドでは解決できなかったので、このスレッドに質問を重複しています - 誰も答えを知りません。

私はこの関数を持っていて、私のExpert Advisor/Scriptで動作しています。

double maxLot(double Percent, string symbol, ENUM_ORDER_TYPE action=ORDER_TYPE_BUY)
  {
   double One_Lot=0.0;
   double price=0.0;
   double volume=0.0;
   double MinLot=SymbolInfoDouble(symbol,SYMBOL_VOLUME_MIN);
   double Free=AccountInfoDouble(ACCOUNT_FREEMARGIN);
   double Step=SymbolInfoDouble(symbol,SYMBOL_VOLUME_STEP);
   if(action==ORDER_TYPE_BUY)price=SymbolInfoDouble(symbol,SYMBOL_ASK);
   if(action==ORDER_TYPE_SELL)price=SymbolInfoDouble(symbol,SYMBOL_BID);
   if(!OrderCalcMargin(action,symbol,1.0,price,One_Lot))return(MinLot);
   if(One_Lot!=0 && Step!=0)volume = MathFloor(Free*Percent/100.0/One_Lot/Step)*Step;
   if(volume!=0)return(volume);
   return(MinLot);
  }

質問:OrderCalcMarginが 何らかの理由でインジケータで動作しない場合、インジケータで可能な最大ロットを取得する方法はOrderCalcMarginを 使おうとしたのですが、mt4ではうまくいきません。

ありがとうございました。

 

HOW TO DO IT?

ようにすると

OnDeinit(REASON_CHARTCHANGE)

リセットせずに通常通り行う(この原因は完全に無視、レベルの情報パネルです)

 
trader781:

HOW TO DO IT?

ようにすると

OnDeinit(REASON_CHARTCHANGE)

リセットせずに通常通り行う(この原因は完全に無視、レベルの情報パネルです)

無理でしょう。
 
Vitalie Postolache:
まさかね。

まあ、それを回避する方法はあるんですけどね。

既存の40のツールのうち、各ツールのコードにレベルを詰め込むのは億劫です。

自動でやってくれて、好きなように記号でTFをクリックしてくれると楽なんですけどね。

そして同時に、上位のTFのミュービング 値を下位のTFに指定する方法を探しています
 
trader781:

まあ、それを回避する方法はあるんですけどね。

既存の40のツールのうち、各ツールのコードにレベルを詰め込むのは億劫です。

自動にして、好きなように記号でTFをクリックする方が簡単です。

そして同時に、メジャーTFのミュービング値を指定する方法を探しています
設定をファイルに 書き出し、イナイレを読み込む必要があります。deinitをバイパスする方法はありません、それは許可を求めません。
 
Vitalie Postolache:
設定をファイルに書き 出し、initで読み込む。deinitをバイパスする方法はありません、それは許可を求めません。
可能であれば、ファイルに書き込むことでdeinitを回避してはどうでしょうか? 例えば、deinitialisationの場合、以前のパラメータでスタートを開始することができます。
 
trader781:
可能であれば、ファイルに書き込むことでdeinitを回避してはどうでしょうか? 例えば、deinitialisationの場合、以前のパラメータで実行を開始します。
上に書いた通りではないでしょうか?