for (int i = OrdersTotal() - 1; i >= 0; i--) {
if (!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) continue;
if (OrderSymbol() != Symbol()) continue;
if (OrderMagicNumber() != Magic) continue;
// работаем с ордерами
}
とか、こんな感じ。
for (int i = OrdersTotal() - 1; i >= 0; i--) {
if (OrderSelect(i, SELECT_BY_POS)) {
if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic) {
// работаем с ордерами
}
}
}
として計算されていました。 この数式をポイントに変換するには?
テスターでフクロウを高速化するために、コードを最適化 する方法を考えています。このように、ループの実行を高速化する方法を教えてください。
とか、こんな感じ。
とか、EAを高速化するためのヒントがあれば教えてください。
この計算式をポイントに変換するにはどうすればよいですか?
。
mql4では条件の完全チェック、つまりif()内の式は最後までチェックされるので、複雑な条件をいくつかの条件に分割するのが合理的な場合があります。
if(a>b && c>d) は if(a>b){ if (c>d)...... と置き換えることができる。}
だから、あなたが提案するコードの最初のバリエーションは、練習から、少し速く動作しますが - オーダーの列挙は、多くのプロセッサをロードしない、数学演算は多くのプロセッサをロード、それはコードのパフォーマンスを高めるために見て理にかなって - すべての計算は、毎ダニを 実行する必要があるわけではありません。
mql4では、if()内にあるすべての式を最後までチェックするフルチェック方式を採用しているため、複雑な条件を複数の条件に分割することが合理的な場合があります。
if(a>b && c>d) は if(a>b){ if (c>d)...... と置き換えることができる。}
だから、あなたが提案するコードの最初のバリエーションは、練習から、少し速く動作しますが - オーダー検索はあまりプロセッサに負荷をかけない、数学演算は多くのプロセッサに負荷をかける、それはコードのパフォーマンスを高めるために見て意味がある - すべての計算は、毎ダニ実行する必要があるわけではありません。
なるほど、ありがとうございます。
または条件において同じ正規化を行う。
は、EAの実行速度を大幅に低下させるのですか?
は、EAの実行速度を大幅に低下させるのですか?
なるほど、ありがとうございます。しかし、例えば注文を閉じた後のプリントを教えてください。
または条件において同じ正規化を行う。
は、EAの実行を大幅に遅くするのですか?
Print()操作は、ファイル(この場合はログファイル)に対する操作である。そして、これらの操作は(メモリからのデータ処理と比較して)非常に遅いのです。結論:init()で初期化される変数を作成する。
そして、この変数の条件によって印刷します(これは1つのオプションです)。
あなたが挙げた正規化の例は、述べられた目的(コードの最適化)から進めば、意味をなしません。正規化は、ブローカー・サーバーの技術的要件に従って、価格とSTOPの取引注文のみを 実行するために必要です。
投機家の皆様、助けてくださいポジションを開く ときに、SLとTPを自動的に設定するEAを探しています。
とても感謝しています。