*

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

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

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

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

position_margin_1

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

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

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

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

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

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

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

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

position_margin_filter

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

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

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

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

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

関連記事

第19回:for文で回す

MQLのfor文 プログラミングでは同じような処理を何回もしなければならないことがあります。

記事を読む

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

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

記事を読む

第7回:条件の書き方 == && ||

今回はif文の中の条件を記述します。 == 等しいことを条件にする A == B でAとBが

記事を読む

MQLxPHP サーバを経由するコピートレードツールを作る1

以前、DLLなしで動くコピートレードツールを連載しましたが、 今回はサーバを経由するコピートレード

記事を読む

第8回:決済の記述 OrderClose

ここではポジションを決済するための記述を行います。 OrderClose OrderSen

記事を読む

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

    各トピックに対するコメントは各記事のコメント欄にお願いします。それ以外のご質問、ご相談などは
    infoあっとfxantenna.com
    まで
    私の偽物がいるらしいので偽物にご注意ください。
no image
ストップレベル=0はストップレベルがないことではない

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

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

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

no image
サービス展開向けの仮想通貨自動売買システムを作るには

前置き ビットコイン、仮想通貨の自動売買を作る目的として、通常は個人

一回の演算で複数のリクエストを送る 仮想通貨の自動売買⑪

公開:2017/9/4 基本的にjson形式でAPIをたたく場合

コインチェックAPIで信用取引 仮想通貨の自動売買⑩

公開:2017/9/4 これまではAPIで現物取引を扱ってきまし

→もっと見る

PAGE TOP ↑