MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 708

 
Rustam Bikbulatov:
こんにちは、皆さん。数十件の注文が、順番をずらしたり、違う順番で終了しているのですが、理由を教えてください。どのように修正すればよいのでしょうか?一気に閉じる方法はありますか?

閉じるとき - 注文の順序を変更する

すなわち、ループは

for(int i=OrdersTotal()-1;i>=0;i--){...}

少なくとも:-)

PS. 「それ」を踏んでいる限り、「ずらした」順番で注文を閉じることは、時に有効である。
 
Maxim Kuznetsov:

閉じるとき - 注文の順序を変更する

あるはずだ

少なくとも:-)

PS.どうせ踏んでいるのだから-「ずらした」順番で注文を閉じる のも、時には 有効です。

制御された閉鎖であれば ;)

一般的には(コメントは正しいのですが)「一度に閉じる方法」についての質問でしたので、ループでは無理です。

ここでは、ロックするためのすべてのオープンポジションの ロットの合計に等しいロットで反対側のポジションをオープンし、その後、静かに反対側のポジションをクローズする必要があります。

 
Artyom Trishkin:

コントロールドクロージャーであれば ;)

また、一般的には(コメントは正しいのですが)「一度に閉じる方法」についての質問であり、ループではできないことです。

ロックするためには、すべてのオープンポジションの ロットの合計と同じロットで反対側のポジションをオープンし、その後、反対側のポジションを静かにクローズする必要があります。

また、1つ1つ注文を締められないのはなぜですか?

 
Rustam Bikbulatov:

また、オーダーが順番に終了するのを防ぐにはどうしたらよいのでしょうか?

マーケットリストの注文をダイレクトループで削除する際に、注文のインデックスを0からOrdersTotal()-1まで オフセットするようにしました。

 
Rustam Bikbulatov:

注文が順番に締め切られるのを防ぐにはどうしたらよいのでしょうか?

OrdersTotal()-1から>0までの逆サイクルにおいて、オープンポジションを リスト上の順番に全てクローズするか、ロック用の反対ポジションをオープンし、必要なポジションを反対ポジションで静かにクローズします。

 
アルテムさん、ありがとうございます。
 
Artyom Trishkin:

コントロールドクロージャーであれば ;)

一般的には(ご指摘は正しいのですが)「一度に閉じる方法」についての質問でしたので、ループでは無理です。

ここでは、ロックするためのすべてのオープンポジションの ロットの合計に等しいロットで反対側の位置を開く必要があり、その後、すでに静かにカウンターで閉じます。

ジョン、ゼネラル・エレクトリックのポジションをクローズしてくれ、我々は全てに合意した」とエージェントに電話するのが最も適切なクローズ方法である。

:-)

逆巻でカバーできるとは限りません。しかも、滑りが悪くなる......体積が大きい。

 
Artyom Trishkin:

マーケットリストの注文を順次削除する際のインデックスを0からOrdersTotal()-1までオフセットする。

直列で注文を閉じるコードを見たことがありますが、失敗なく動きました。

そこでは、注文が正常に終了したときに、ループカウンターを1つ増やすだけでした。))))それとも減っていたのでしょうか? よく覚えていなくて、頭に力が入りません。

 
Maxim Kuznetsov:

最も正しいクロージングの方法は、エージェントに電話して、「ジョン、ゼネラル・エレクトリックのポジションをクローズしてくれ、我々は全てに合意した」と言うことです。

:-)

カウンターボリュームでカバーできるとは限りません。しかも、滑りが悪くなる......音量が大きくなる。

しかし、一度にすべて :)しかも、1回ずつループで。

 
Alexey Viktorov:

注文を直接順番に決済するコードを見たことがありますが、不具合もなく動作しました。

注文が正常に終了したときに、ループカウンターを1つ増やすだけでした。))))よく覚えていないし、頭も働かない。

脳に負担をかけないためには、削除するために用意したポジションを好きな順番で(好きな順番で)リストに集め、リストを見ながら「名前ごと」削除すればよい。そうすれば、正しい削除順序が維持される。