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

 
Sergei Vladimirov:
ところで、あなたのバージョンでは、関数は常に真を返すのに、なぜintと宣言するのですか?)
voidに修正、ループをリバースに変更、他の人の注文が触れないようにすればOK、ありがとうございます
 
OnCalculateをティック毎ではなく、新しいバーでのみ 呼び出されるようにする方法を教えてください。
 
Hexen:
OnCalculateインジケータを毎ティックではなく、新しいバーでのみ 呼び出されるようにする方法を教えていただけませんか?
この関数はtick毎に呼び出されますが、関数の中で新しいバーコントロールを作ることができます。
 
Victor Nikolaev:
この関数は毎ティック呼び出されますが、関数の中で新しいバーチェックを作ることができます。

ありがとうございます、だいたいうまくいきました。prev_calculatedとrates_totalを 比較すると、新しいバーが 出現しているのがわかる。そしてEAでは、新しいバー、つまり時間チェックなど、より複雑になっています。

 

比較はしないでください、あまり信頼できる方法ではありません:変数prev_calculatedはある条件下でリセットされることがあります。現在のバーの時刻を記憶し、次回の呼び出し時にその変化を確認することができます。

// в самом начале функции OnCalculate()
bool bNewBar = false;

static datetime dtLastBarTime = time[rates_total-1];

if(time[rates_total-1] > dtLastBarTime)
{
   bNewBar = true;
   dtLastBarTime = time[rates_total-1];
}

PS.これはMT5の例です。4つ目(time[]配列が時系列化されている場合は5つ目)のtime[rates_total-1]をtime[0]で置き換えます。

 
こんにちは。

簡単なExpert Advisorを作成することにしたのは、「A Step-by-Step Guide to Writing」の記事を読んだからです。
初心者のためのMQL5 Expert Advisor」(https://www.mql5.com/ru/articles/100)。

Expert Advisorを履歴でテストしてみたが、どうすれば改善できるのだろうか。
最適化とは別に、最初に思い浮かんだのは
トレーリング・ストップ・ロスを適用する。このテーマについて、良い記事があります。
"トレーリングストップの作り方- MQL5 Articles" ().
(https://www.mql5.com/ru/articles/134)。ただし、a
ところが、記事に添付されているExpert Advisorが動作しない...という問題が発生しました。
(my_first_ea_sartrailing.ex5) はコンパイルされますが、取引は行われません。
とログに書かれています。
2015.11.28 22:54:38.973 2015.02.04 17:00:00 アラート:売り注文設定リクエストに失敗 - エラーコード:4756
2015.11.28 22:54:38.973 2015.02.04 17:00:00 failed instant sell 0.10 EURUSD at 1.14051 sl: 1.17051 tp: 1.04051 [Invalid request] [無効なリクエスト].
これを整理するのに役立つ。
 
Sergei Vladimirov:

PS.これはMT5の例です。

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

こんにちは。

EAによって発注された既存の注文をすべて削除するには、どのような方法が一番早くて正しいのか、教えていただけませんか?注文番号で配列を作成し、それぞれを削除することは本当に可能なのでしょうか?アクティブなオーダーのリストも取得することは不可能なのでしょうか?

 
Антон:

こんにちは。

EAによって発注された既存の注文をすべて削除するには、どのような方法が一番早くて正しいのか、教えていただけませんか?注文番号で配列を作成し、それぞれを削除することは本当に可能なのでしょうか?有効な注文のリストも入手できますか?

配列は必要ありません。どの端末?

 
Sergei Vladimirov:

配列は必要ありません。どの端末?

MT5

そうですね、EAに実装する必要があると言うべきでした。

mql4でスクリプトを見つけたのですが、5には関係ないのでしょうか?数日前、どこかで「orderscancelbymagicnumber」のような関数を見たのですが、ドキュメントには何も書かれていません...。混乱した。

理由: