*

第23回:短時間に大量のポジションを取るリスクを排除する

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

ポジションの時間を制御する

EAプログラミングでは思わぬバグがつきものです。
よくあることとしては短時間の間に大量にポジションをとってしまうことなどが挙げられます。

position_margin_1

今回は短い時間に大量のエントリーと決済を繰り返させない方法の一つとして、
「前のエントリーから次のエントリーまでの時間」
を制限します。

本来は最後の決済時間から次のエントリーまでの時間を制御した方が良いのですが、
成行決済ではなく予約注文で決済した場合にはその決済した瞬間を認識させる記述が別途必要になります。

今回は簡略化のため制御しやすいエントリーのタイミングを記録します。

これまではエントリーの条件が整ったらエントリーしてお仕舞いでしたが、
エントリー後に下記のようにあらかじめ宣言しておいた
LastOrderOpenTimeという変数にエントリー時刻を格納します。

これでオーダーが送信され新規ポジションを取得すると、
LastOrderOpenTimeにその時刻が格納されます。

後はこれをフィルター化してエントリー条件に再度組み込みます。

書き方はいろいろありますが、
ここでは
「最後のエントリーから5本分のロウソク足の経過をしないとエントリーを許可しない」
という条件にします。

上記のフィルターをエントリー条件前に記述すると
下記のように少しエントリーが落ち着きます。

position_margin_filter

エントリー間の時間制御はあくまでトレードルールに穴があった場合の安全装置です。

短時間の大量にポジションを取ると
たとえすぐに決済してもスプレッド分の手数料がどんどん口座から減ってしまいます。

時間制御をしてもエントリー頻度が高い場合にはトレードルールそのものに条件不足の可能性があります。

下記が今回のコードです。

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

関連記事

第15回:OrderModifyで損切り、利確注文を出す

SL,TPをEAから送信する ここでは ポジション取得時に損切りと利確を同時に送信するMQLプロ

記事を読む

週明け窓埋めロジックってどうなの?

FXの中でも有名なトレード手法として、 窓埋めロジックというものがあります。 株の場合は、窓

記事を読む

第18回:配列で変数をまとめる

MQLの配列 MQLでティックチャートを使うとします。 MQLでは過去のティックチャートのデ

記事を読む

MQL4とMQL5の違い(更新中)

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

記事を読む

EA、インジケーターに有効期限をつける

EAやインジケーターをお試しで使ってもらい 気に入ってもらったら購入してもらうというビジネスモデル

記事を読む

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

    各トピックに対するコメントは各記事のコメント欄にお願いします。それ以外のご質問、ご相談などは
    infoあっとfxantenna.com
    まで
    私の偽者がいるらしいのでご注意ください。
【MT4】H4, D1用EA(プレゼント企画)

EURUSD 2018/1/1~2018/12/31 D1

質問回答コラム

Q. 管理人さん自身はEAで運用しているのですか A.  して

【MT5】MACD, ストキャスティクス, モメンタムEA(配布)

GBPUSD 2018/1/1~2018/12/31 H2

【MT5】 3通貨相関アービトラージEA(無料プレゼント)

EUR, GBP, USD の3通貨の相関を利用したさや取りトレード

no image
仮想通貨対応マーチンゲールEA(無料配布)

USDJPY 2018/1/1~2018/12/31 Spread:

→もっと見る

PAGE TOP ↑