GitHub で見る

バンド確認ディレイ戦略のダイアグラム

シグナルは、現れた瞬間に実行しなければならないものではありません。このダイアグラムは移動平均の上にボラティリティ・バンドを描きますが、終値がそれを上抜けても買いはしません。代わりにディレイ・ブロックを起動し、決められた本数のローソク足だけ待ち、そのうえで同じ問いをもう一度立てます。価格はまだバンドより上にあるか。取引を決めるのは、待機を始めたときの答えではなく、その時点での答えです。

戦略の概要

  • 5分足のローソク足系列がひとつだけあり、確定した足のみがダイアグラム全体に供給されます。
  • 移動平均がミドルラインを、標準偏差が幅を与え、数式がそれらを上側バンド(ミドルライン+乗数×偏差)に組み立てます。
  • 2つの比較が全体像を2つの問いに集約します。終値はバンドより上か、そして終値はミドルラインより下か。
  • 論理条件がブレイクアウトと「ロングではないポジション」を組み合わせ、エントリー用のディレイ・ブロックを起動します。ブロックがカウントしている間、その後のブレイクアウトは無視されるため、ひとつの待機が次のローソク足でやり直されることはありません。
  • ディレイ・ブロックはカウントを終えると1つのインパルスを送出し、2つ目の論理条件がそのインパルスを、あらためて計算し直したブレイクアウト、経過済みのクールダウン、そして依然としてノーポジションであることと結び付けます。この2つ目の条件がなければ、ダイアグラムはすでに消えているかもしれないシグナルを頼りに、盲目的に買ってしまいます。
  • エグジットも鏡写しに同じ作りです。ロングポジションを保有した状態でミドルラインを下回る終値が2つ目のディレイ・ブロックを起動し、そのインパルスが、依然として有効なミドルライン下への回帰と結び付いて取引を手仕舞います。
  • 並行してクールダウン・カウンターが動きます。自分の約定があるたびにゼロへリセットされ、ローソク足ごとに上限まで加算され、比較が十分な本数の経過まで新規エントリーを止めます。
  • エントリーとエグジットはポジション変更(Position modify)ブロック経由の成行注文で、ノーポジションから建て、ポジション全体を閉じます。チャートパネルにはローソク足、2つの指標、注文と約定が描画されます。

エントリーとエグジットの条件

  • ロングエントリー: ポジションがロングでない状態で、終値が上側バンドより上で確定します。これがエントリー・ディレイを起動します。設定した本数のローソク足の後にディレイがインパルスを放ち、その時点で終値がまだバンドより上にあり、直近の約定からのクールダウンが明け、ポジションがまだノーポジションであれば、ポジション変更ブロックが注文数量を成行で買います。
  • ショートエントリー: ショートのエントリーはありません。バンドより下ではダイアグラムは単に見送ります。ロングポジションに対して出す唯一の注文は、それを閉じる注文だけです。
  • エグジット: ロングポジションを保有している間に終値がミドルラインより下で確定し、これがエグジット・ディレイを起動します。設定した本数のローソク足の後にインパルスが届き、終値がまだミドルラインより下にあり、ポジションがまだロングであれば、決済用のポジション変更ブロックがポジション全体を成行で売ります。ストップロスもテイクプロフィットのブロックもありません。このダイアグラムの主眼は確認を待ち切ることにあり、取引を終わらせるのはミドルラインだけです。

パラメーター

パラメーター 既定値 説明
Candles 00:05:00 ダイアグラム全体が動作する唯一のローソク足系列の時間軸。
Middle Line Length 40 ミドルラインとバンドの片側を描く移動平均の期間。
Deviation Length 40 バンドの幅を決める標準偏差の期間。通常はミドルラインの期間と同じ値にします。
Band Multiplier 1.1 上側バンドがミドルラインの何偏差分だけ上に置かれるか。大きくするほど、より稀で伸びきったブレイクアウトになります。
Entry Confirm Candles 3 ブレイクアウトから、買いを出しうる再確認までにエントリー・ディレイが数えるローソク足の本数。
Exit Confirm Candles 3 ミドルライン下への回帰から、決済を出しうる再確認までにエグジット・ディレイが数えるローソク足の本数。
Cooldown Candles 8 自分の約定の後、新規エントリーが許可されるまでに経過しなければならないローソク足の本数。
Order Volume 1 エントリー時に送る注文数量(ロット単位)。エグジットは常に保有している分すべてを閉じます。

ダイアグラムの詳細

  • ディレイ・ブロックが数えるのは、起動された後にそこへ届いた値であって、条件を満たした連続するローソク足ではありません。カウント中の再度の起動は無視され、発火するとブロックは自らリセットされます。したがって待機は、条件を満たした足の集計ではなく、正真正銘の一時停止です。
  • だからこそ、放たれたインパルスはそのまま注文へ向かわず、新しい比較と組み合わされます。インパルスは待機が終わったことを告げ、比較はその理由がまだ存在するかどうかを告げます。
  • ここでは確認の長さを意図的に1本より長くして、ディレイ・ブロックの働きが目に見えるようにしています。両方のディレイを1本にすると、ダイアグラムはブレイクアウトした足そのもので取引することになり、一時停止のない同じ構造になります。
  • ローソク足ブロックは確定した足のみを送出します。形成中の足の更新はその足が始まった時刻を持つため、そこから作られた注文は現在時刻より過去の日時となり、拒否されます。
  • クールダウンはタイマーではなくカウンターです。ローソク足をまたいで値を保持する変数で、自分の約定でリセットされ、クールダウンの長さで上限を掛けた数式によって加算されます。そのため値が際限なく増えることはなく、エントリーを永久に止めてしまうこともありません。

使い方

.json ファイルを Designer に読み込み、バックテスターで過去データを使って実行し、実運用の前にパラメーターやブロック自体を自分の銘柄に合わせて調整してください。