GitHub で見る

Nバー経過後に手仕舞う戦略ダイアグラム

2本の短期移動平均と期間2のRSIが仕掛けのタイミングを決めますが、このダイアグラムの主眼は取引を終わらせるルールにあります。決められた本数のローソク足のうちに目標にも逆指値にも届かなかった取引は、あきらめて成行で手仕舞います。カウントダウンは「N個の値(N values)」ブロックで計測し、その起点は注文を出させたシグナルではなく、実際にポジションを建てた約定です。

戦略の概要

  • 確定した5分足が、短期と長期の指数移動平均、期間2のRSI、そして各ローソク足から終値を取り出すコンバーターに入力されます。
  • 2つの比較が移動平均からトレンドを読み取ります。短期が長期より上か、短期が長期より下かです。さらに2つが、しきい値変数に対してモメンタムを読み取ります。RSIがしきい値より下か、RSIがしきい値より上かです。
  • 「ポジション(Position)」ブロックはゼロと2回比較されます。1回は等価、もう1回は非等価で、これによりダイアグラムは、エントリー用のノーポジション判定と、手仕舞いルール用のポジション保有判定の両方を持ちます。
  • 各エントリーは、トレンド・モメンタム・ノーポジションという3つのシグナルの論理積(AND)です。どちらのエントリーブロックも新規建てのみに設定されているため、ダイアグラムが同時に持つポジションは1つだけで、買い増し・売り増しはしません。
  • 「ポジション保護(Position protection)」はエントリーの約定を監視し、パーセント指定の利益確定と、価格がポジションに有利な方向へ動くと追随するトレーリングストップで取引を管理します。
  • 「戦略の約定(Strategy trades)」は自戦略のすべての約定を通知します。ノーポジションの間にリセットされる「フラグ(Flag)」ブロックが、取引の最初の約定、すなわちポジションを建てた約定だけを通します。
  • この1回のパルスが「N個の値(N values)」ブロックを起動し、以後は確定したローソク足を数え、規定の本数に達した時点で出力します。
  • 手仕舞いシグナルは、決済に設定された「ポジション変更(Position modify)」ブロックに届く前に、ポジション保有判定との2つ目のANDを通ります。そのため、カウントダウンが終わらせられるのは、まだ継続中の取引だけです。

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

  • ロングエントリー: 短期移動平均が長期より上、RSIがしきい値より下、かつノーポジションです。この組み合わせは、短期の上昇トレンドのなかの押し目を買います。「ポジション変更(Position modify)」が注文数量を成行で買い、新規建てのみを行います。
  • ショートエントリー: 短期移動平均が長期より下、RSIがしきい値より上、かつノーポジション、すなわち短期の下降トレンドのなかの強含みです。「ポジション変更(Position modify)」が注文数量を成行で売り、新規建てのみを行います。
  • エグジット: 出口は互いに独立した2つがあります。まず「ポジション保護(Position protection)」が、1.2%の利益、または到達した最良価格から0.6%離れたトレーリングストップで取引を終わらせることができます。どちらも起こらなければ、手仕舞いルールが引き継ぎます。ポジションを建てた約定から確定足12本後に「N個の値(N values)」ブロックが発火し、ポジション保有判定がまだ決済すべきものがあることを確認し、決済に設定された「ポジション変更(Position modify)」ブロックが、保有している側をフラットにします。

パラメーター

パラメーター 既定値 説明
Candles 00:05:00 ダイアグラム全体が扱うローソク足の時間軸。手仕舞いまでのカウントダウンもこのローソク足で数えます。
Fast EMA Length 3 短期指数移動平均の期間。
Slow EMA Length 7 長期指数移動平均の期間。短期より長く保つこと。そうでないとトレンド判定が意味を失います。
RSI Length 2 RSIの期間。非常に短い期間にするとしきい値をまたぐ振れが頻繁になり、それが多くのエントリーを生みます。
RSI Threshold 50 RSIを比較する水準。買いはこれより下で入り、売りはこれより上で入るため、値を上げると買いエントリーは増え、売りエントリーは減ります。
Order Volume 1 各エントリー注文の数量(銘柄の単位)。
Take Profit, % 1.2 利益確定までの距離(エントリー価格に対する%)。
Trailing Stop, % 0.6 トレーリングストップの距離(%)。ストップはエントリーからこの距離に置かれ、到達した最良価格に追随し、決して戻りません。
Bars Before Abandon 12 取引の継続を許す確定ローソク足の本数。これを超えるとあきらめて成行で決済します。小さくすると早く手仕舞い、大きくすると出口を利益確定とトレーリングストップに委ねます。

ダイアグラムの詳細

  • カウントダウンを開始するのはシグナルではなく約定です。したがってこの時計が測るのは、ダイアグラムが取引を望んでからの時間ではなく、取引が実際に存在している時間です。
  • 「戦略の約定(Strategy trades)」ブロックは決済の約定も通知するため、そのままでは決済の約定のたびにカウントダウンが再スタートしてしまいます。「フラグ(Flag)」ブロックがこれを防ぎます。リセットされるのはノーポジションの間だけなので、取引が始まった後の約定は無視されます。
  • 2つ目のANDにあるポジション保有判定が、ノーポジションの状態でカウントダウンが満了しても無害である理由です。決済ブロックが起動するのは、決済すべきポジションがあるときだけです。
  • どちらのエントリーブロックも約定を「結合(Combination)」に送るため、どちらの側を建てた場合でも「ポジション保護(Position protection)」は単一の入力で起動します。終値も同じブロックに入力され、確定したローソク足ごとに、利益確定とトレーリングストップが計算の基準とする値を与えます。
  • チャートパネルにはローソク足、2本の移動平均、RSI、エントリーと手仕舞いの注文、保護注文、そしてすべての約定が描画されるため、あきらめて手仕舞った取引と、目標に達した取引を容易に見分けられます。

使い方

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