複数ポジションをまとめて決済する場合、直近のものから順に処理すべし

これを守らないと決済し損なうポジションが発生する

複数のポジションをまとめて決済する場合、直近のものから順に処理しましょう。

具体的には、for文のループを降順にしましょうということです。

以下はOK例です。

for(int i = OrdersTotal() - 1; i >= 0; i--){
  // 決済処理
}

以下はNG例です。

for(int i = 0; i < OrdersTotal(); i++){
  // 決済処理
}

後者の方が一般的ですからね。ご注意ください。

なぜ昇順ではダメかというと、決済するごとにポジションのインデックスが再計算されてずれてしまうからです。

詳しくはfor文の昇順・降順に図解入りで分かりやすく解説されていますので、そちらをご覧ください。

MT4の無料プログラミング講座

LINE公式アカウントを友だち追加して、MT4のプログラミング講座を無料で受けちゃおう!

超豪華プレゼントも盛りだくさん♪

MT4プログラミングを習得すると、オリジナルEA運用、作成代行、商品販売等、複数の収入源を手に入れられるよ。副業に最適だね!

↓↓↓ 詳細はこちら ↓↓↓

アイキャッチ

>

エターナル・パートナーPRO ~MT4裁量トレード支援ツール~ 「MT4は裁量トレーダーに優しくない」そう思ったことありませんか?もっと快適にトレードするための強力な売買ツールが必要だと考え、開発したのが「エターナル・パートナーPRO」です。元々は自分自身のために開発したツールですので、手抜き無しのガチものです。既に200名近い方に手に取っていただき、喜びの声が続々と届いております。ぜひご覧ください!

CTR IMG