*

第20回:複数のポジションを識別・判別する

公開日: : FX自動売買開発 , , , ,

口座内の異なる通貨ペア、マジックナンバーのポジションを区別する

MT4では同時に異なる種類のポジションを持つことができます。

それゆえに決済の際にはどのポジションに対する条件なのかを明確にしないと、
ドル円でとったポジションをユーロドルの条件で決済してしまう、
なんてことになります。

これまでに使ったOrderSelect, for文を使ってポジションを区別します。

上記は現在もっているポジションの通貨ペアとマジックナンバーでポジションを識別します。

一度PositionAmountという変数にポジション数を入れます。直接

と書いてしまうと、
for文で繰り返し処理をしている最中にOrdersTotal()の数が変わってしまうことがあり、バグの原因となります。

これはもっているポジションの数だけ下の判別処理をすることを表します。OrderSelectが0から始まるので、int iも0から宣言します。

オーダーを選択し、
それぞれの情報がマッチするかを調べます。

オーダーを送信する際にマジックナンバーを固定にせず変数に格納しておけば、
1234ではなくその変数名で条件に組み込むことができて便利です。

決算処理についてはこれでほぼ完成です。
以上を元にこれまでのEAを改良します。

このコメントはWEBに公開されるので、問い合わせ等はメールでお願いします。

関連記事

第14回:MarketInfoでスプレッドを取得する

MarketInfoという情報屋 MQLではスプレッド、口座通貨、ストップレベルなどを取得する際に

記事を読む

no image

ストップレベル=0はストップレベルがないことではない

MT4/MT5では予約注文を行う際にストップレベルというものがあります。ストップレベルというのは、現

記事を読む

第21回:パラメータ設定で変更できる数値を作る

パラメータ変数の作り方 EAはMT4側で設定できるようにした方がユーザーフレンドリーです。

記事を読む

第6回:オーダーに条件をつける IF文

ここではオーダーを送信する前に条件文を挿入します。 条件の書き方 前回までには、「新規ポジシ

記事を読む

MQL4とMQL5の違い(更新中)

・OrdersTotalの扱い MQL4でのOrdersTotalはMQL5ではPositions

記事を読む

 
  • ブログ管理人の横瀬兼元(ペンネーム)です。

    各トピックに対するコメントは各記事のコメント欄にお願いします。それ以外のご質問、ご相談などは
    infoあっとfxantenna.com
    まで
    私の偽物がいるらしいので偽物にご注意ください。
no image
シンプルなニューラルネットワークに基づいたEA(の記事)

MQLの記事って、ロシア語->英語->日本語の順に訳されるんで日本語の

no image
自動売買における仮想ストップロス、仮想テイクプロフィットの概念と意味

最近の自動売買系の論文やコードを読んでいると「仮想ストップロス」、「仮

no image
[bitwallet]paypal, Netteler, Skrillの次のオンラインマネーウォレット

近頃FX業界ではbitwallet(旧:mybitwallet)という

no image
ストップレベル=0はストップレベルがないことではない

MT4/MT5では予約注文を行う際にストップレベルというものがあります

no image
私の偽者、偽ブログにご注意ください

読者の方からご連絡いただいたのですが、私のブログの内容をそのままコピー

→もっと見る

PAGE TOP ↑