サイクルオペレーター「for」の質問 - ページ 16

 
RaptorUK:

いや、これは間違っている ... 処分してください。 ポジションとインデックスは同じもので、0から9です .....1〜10であるものは存在しない ......あなたの脳からそれを追放してください。

これはすぐに修正する必要があります。

インデックスとポジション番号が同じであれば、これは本当です...

アクティブトレードのオーダー プールに合計10枚のチケットがあります。

チケットのポジション番号は次のとおりです。0,1,2,3,4,5,6,7,8,9

チケットのポジション番号のインデックスは次のとおりです。|0|1|2|3|4|5|6|7|8|9|

もし本当にそうなら、チケットのポジション番号はゼロ(0)でもいい のです。

上記の記述を確認するか、またはそうでないことを表明してください。


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

 
WhooDoo22:

これはすぐに修正する必要があります。

インデックスとポジション番号が同じであれば、これは本当です...

アクティブトレードのオーダープールに合計10枚のチケットがあります。

チケットのポジション番号は次のとおりです。0,1,2,3,4,5,6,7,8,9

チケットのポジション番号のインデックスは次のとおりです。|0|1|2|3|4|5|6|7|8|9|

もしこれが本当にそうであれば、チケットポジション番号はゼロ(0)になることが できます。

注文にはチケット番号があり、注文は取引プール(未決済注文)や履歴プール(決済済 み注文)にもポジションがあります。

10件の未決済注文がある場合、注文のポジションは0から9または0,1,2,3,4,5,6,7,8,9または|0|1|2|3|4|5|6|7|8|9|終了、 Fin、done

 
RaptorUK:

注文にはチケット番号があり、未決済注文の場合は取引プールに、決済済み注文の場合は履歴プールに ポジションがあります。

10件の未決済注文がある場合、注文のポジションは0から9または0,1,2,3,4,5,6,7,8,9または|0|1|2|3|4|5|6|7|8|9|終了、 Fin、done


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

MQL4コミュニティ・フォーラムの皆様、こんにちは。

現在、注文のクローズ時の価格値を保存しようとしています。OrderProfit()関数を入れてみましたが、あまり好きではありません。他の手段がすべて失敗した場合、それを使用する予定です。OrderClosePrice()関数を使う代わりに、注文の終値を 保存したいのですが......。すべての注文の終値が保存されたら、結果をペアでグループ化することができます。ペアでグループ化されたら、各グループを足して2で割って平均を出します。すべてのペアが平均化されたら、結果を再度グループ化し、このプロセスを繰り返します。すべてのペアが平均化され、合計が1つだけ残ったら、この合計からスプレッドを引き、その結果が注文の開始価格以上(>=)であれば、ブール値は偽のままとなります。結果が注文開始価格より小さい場合、ブール値はtrueに初期化されます。

このような状況に陥ったことのある方はいらっしゃいますか?もしそうなら、注意すべき点を教えてください。

ありがとうございます。

 
WhooDoo22:

この道を歩んだことのある方はいらっしゃいますか?その場合、留意すべき点を教えてください。

やめてください ... 歴史のプールから必要なものを読んでください。 物事を単純にしてください ... データを配列で保存する場合、ファイルに保存しなければならないので、MT4やPCがクラッシュした場合、それを取り戻すことができます ... 等、等々

頭打ち
 

ああ、そうだ、歴史のプールだ。"ノー・ブレイナー "だ!さすがプロサイモン!ハハハ! ;)なぜ最初に思いつかなかったんだろう?

MQL4コーディングのロックスターになれるぞ!アハハハハ!

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

 

Simonです。

Break」と「Continue」演算子について、ドキュメントを読んでいます。私が見た限りでは、Break 演算子は演算子の 'while' または 'for' サイクルを終了させ、プログラム制御を'while' または 'for' サイクル以下の次のコード行に渡します。Continue」演算子は、演算子「while」または「for」サイクルの本体の読み込みを停止し、演算子「while」サイクルの式または「for」サイクルが「式3」を持っていない場合は「式2」に、「for」サイクルが「式3」を持っている場合は「式3」のいずれかにプログラム制御を移します。

これについてどうお考えですか?

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

 
WhooDoo22:

Simonです。

Break」と「Continue」演算子について、ドキュメントを読んでいます。私が見た限りでは、Break 演算子は演算子の 'while' または 'for' サイクルを終了させ、プログラム制御を 'while' または 'for' サイクル以下の次のコード行に渡します。Continue」演算子は、演算子「while」または「for」サイクルの本体の読み込みを停止し、演算子「while」サイクルの式または「for」サイクルが「式3」を持っていない場合は「式2」に、「for」サイクルが「式3」を持っている場合は「式3」のいずれかにプログラム制御を移します。

これについてはどうお考えですか?

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

結論から言うと、ループの中でcontinueを使うとエントリポイントにジャンプバックします。

もうひとつ、breakとcontinueはコードを最適化するための 操作で、実際には必要ありません。また、追跡が困難なバグを引き起こす可能性があるため、注意して使用してください。

プログラミングではいつもそうですが、簡単な例で1000以上のことを表現します。

for(int i=0;i<10;i++){
 Print("1");
 continue;
 Print(2);
}

//Prints: 1111111111

for(int i=0;i<10;i++){
 Print("1");
 break;
 Print(2);
}

//Prints: 1

 

Michaelさん、言葉での説明とコードでの説明をありがとうございました。どちらも説明的です。

ありがとうございます。