ポジション数の取得関数(オリジナル関数)

取引制御

どうも潤奈です( ゚Д゚)
今回はエントリーしているポジションを取得する為のオリジナル関数を紹介します。
オリジナル関数って?という方はこちらのEA講座でオリジナル関数の説明をしていますので覗いてみて下さい。

スポンサーリンク

コード全文

現在保持しているポジション数を買いと売りと両方に分けてカウントする関数になります。
Position(1)→買いエントリー数をカウント
Position(-1)→売りエントリー数をカウント
Position(0)→買いと売り両方のエントリー数をカウント

まずint型のPosition関数と関数内で使用する型(int)と引数(PositionDirection)を宣言します。

次に計算したポジション数を入れる変数に0を代入してリセットしておきます。

for文で現在保持している総ポジション数までループ処理で、該当するポジションを探します。

for文の中にこのコードを記述します。上から、if文で確認して問題があれば下の処理をスキップして次のループ処理へ進みます(continue)。
1行目は、正しくポジションを取得出来なかったら→continue
2行目は、対象のマジックナンバーでなければ→continue
3行目は、対象の通貨ペアでなければ→continue
この3つの条件をクリアして、取得出来たポジションで、対象のマジックナンバーで、対象の通貨ペアのポジションのみ下のコードへ進めます。

まずif文とelse if文で両方のポジション合計数か、買いポジション数か売りポジション数かを確認します。
その確認したいポジションのif文内に入ったら、OrderType()で直近のOrderSelect()で取得したポジションの方向(買いor売り)を取得しif文で確認して、該当する場合にresに+1を計算します。

最後に計算された数をreturnで返します。

まとめ

いかがでしたでしょうか。
これを応用して上手くプログラムの中に組み込んでみて下さい。

注意としてはMagicNumber変数はご自身のマジックナンバーを入れている変数名に変更して下さい。

では、少しでも参考になれば( ゚Д゚)

取引制御
スポンサーリンク
#潤奈FXをフォローする
スポンサーリンク

コメント

タイトルとURLをコピーしました