GitHub で見る

ランダムな数量で売買方向が切り替わるエントリー戦略のダイアグラム

ギャラリーのダイアグラムはどれも売買数量を自分で決めているが、この例はそれを放棄している。ランダム(Random)ブロックがローソク足ごとに 0.5 ロットから 2 ロットまでの数量を新たに引き当て、その値を二つのエントリーブロックの数量ソケットへそのまま渡すため、同じサイズのポジションは二つとない。一方で方向はまったくランダムではない。直近に約定した価格が、形成中のローソク足の始値に対してどちら側にあるかで決まる。

戦略の概要

  • シグナルの源はティックの流れである。コンバーターが直近に約定した取引の価格を取り出し、変数がそれをローソク足の確定まで保持する。これにより約定価格とローソク足の始値を同じ時間軸で突き合わせられる。
  • 比較ブロックは、その約定価格がローソク足の始値より上かどうかだけを問う。同じ答えを論理 NOT で反転したものが売り側になるので、比較は一つで両方向をまかなえる。
  • ランダム(Random)ブロックはローソク足で起動し、生成した数値を買いブロックと売りブロックの数量ソケットへ渡す。ダイアグラムの中でこの値を読むのは、この二つだけである。
  • エントリーはノーポジションのときにだけ行われる。両方のブロックにポジション有無の条件が付いているため、シグナルが出ても既存のポジションに積み増すことはない。
  • 直近の約定からのローソク足を数えるカウンターが、エントリーとエントリーの間に 12 本の間隔を確保する。これがないと、保護による決済と次のエントリーが連続したローソク足で追いかけ合ってしまう。
  • 決済を担うのはポジション保護(Position protection)だけである。エントリーの約定を結合(Combination)ブロック経由で受け取り、ローソク足の終値で値付けし、0.4% の目標値または 0.5% のトレーリングストップで手仕舞う。
  • ストップは値動きに追随するため、思惑どおりに伸びたポジションが返上するのは値幅の最後の部分だけになる。
  • チャートパネルには、ローソク足、買い・売り双方の注文の流れ、そして保護によるものを含むすべての約定が描画される。

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

  • ロングエントリー: 直近に約定した価格が形成中のローソク足の始値より上にあり、ポジションはノーポジションで、直近の約定から 12 本のローソク足が経過している。ポジション変更(Position modify)が、そのローソク足でランダム(Random)ブロックが引き当てた数量で成行買いを出す。
  • ショートエントリー: 直近に約定した価格が形成中のローソク足の始値以下にあり、ノーポジションとクールダウンの条件は買いと同じである。ポジション変更(Position modify)が、同じくランダムに引き当てられた数量で成行売りを出す。
  • エグジット: 決済シグナルはない。最初の約定の時点からポジション保護(Position protection)がポジションを引き受け、エントリー価格を基準とした 0.4% のテイクプロフィット、または 0.5% のトレーリングストップで手仕舞う。保護によるものも含め、どの約定も次のエントリーまでの 12 本のローソク足の待機を最初から数え直させる。

パラメーター

パラメーター 既定値 説明
Candles 00:05:00 ダイアグラム全体が動作するローソク足の時間軸。
Cooldown Bars 12 約定のあと、次のエントリーが許可されるまでに確定していなければならないローソク足の本数。
Min Volume 0.5 ランダム(Random)ブロックが引き当てうる最小の数量。
Max Volume 2 ランダム(Random)ブロックが引き当てうる最大の数量。
Take Profit, % 0.4 テイクプロフィットまでの距離。エントリー価格に対する割合(%)。
Stop Loss, % 0.5 トレーリングストップまでの距離。エントリー価格に対する割合(%)。

ダイアグラムの詳細

  • ローソク足ブロックは 8 つの受け手につながっている。二つのコンバーター、約定価格を保持する変数、ランダム(Random)ブロック、クールダウンのカウンターとその二つの変数、そしてチャートパネルである。
  • 一日に何千回も発火するティックの流れと、ローソク足ごとに一度だけ答えを出すべき条件との間に立っているのは、この約定価格の変数だけである。
  • 二つのエントリーブロックは一つのランダム(Random)出力を共有しているので、買いも売りも同じ抽選結果で数量が決まる。値が変わるのは次のローソク足であって、二つのブロックの間で変わるわけではない。
  • クールダウンのカウンターは戦略の約定(Strategy fills)ブロックからリセットされる。だからこそ、エントリーだけでなく保護による決済も待機を開始させる。
  • 数量は小数点以下 2 桁で引き当てられるため、1 単位未満の刻みで気配が出る銘柄に向いている。整数ロットでしか売買できない銘柄では、範囲を整数で指定する。

使い方

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