マルチタイムフレームSMA投票戦略ダイアグラム
移動平均が1本だけ上を向いても語ることは少ないが、3本が3つの異なるタイムフレームで揃って上を向けば、それは取引に値するトレンドである。各タイムフレームがプラス1、マイナス1、ゼロのいずれかを投票し、同期(Sync)が3つの投票を1つの組にまとめ、投票が全会一致になったときにだけポジションを建てる。
戦略の概要
- 3つのローソク足ブロックが同じ銘柄を5分、15分、1時間で読み取り、それぞれが確定したローソク足だけを渡す。
- 各系列はそれぞれの単純移動平均に流れ込み、前値(Previous value)ブロックが同じ平均の1本前の値を保持する。
- 数式がこの組を投票に変える。平均が1本前の位置より上ならプラス1、下ならマイナス1、動いていなければゼロとなる。
- 5分と15分の投票は変数に保持され、1時間の投票によって解放されるため、3本の線はすべて同一の時点に属した状態で同期に到達する。
- 同期は投票ごとに1本の線を保持し、3本を揃えて同時に送り出す。これがなければ1時間の値は5分の値より1時間遅れて届き、3つを比較することは決してできない。
- 同期のあと、各投票はゼロと比較され、2つの論理条件がこのダイアグラムにとって唯一重要な問いを立てる。3つすべてが同じ方向を指しているか、という問いである。
- 判定は次に確定する5分足へラッチされる。これがすべての注文の時刻の基準となる拍子であり、ポジション変更(Position modify)がノーポジションの状態から成行で建てる。
- 同じ5分の拍子でサンプリングされたポジションがゼロと比較される。ポジションを保有している状態で反対の判定が出れば成行で決済し、新しい方向は次のローソク足で建てられる。
エントリーとエグジットの条件
- ロングエントリー: 1時間の拍子で3つの投票がすべてプラス1になる。5分、15分、1時間の各平均が、いずれも1本前の自身の値を上回っている状態である。判定は次に確定する5分足へ運ばれ、そこでポジション変更が注文数量を成行で買う。建てるのはノーポジションの状態からに限られる。
- ショートエントリー: 同じ拍子で3つの投票がすべてマイナス1になる。すなわち、どの平均も1本前の自身の値を下回っている。次に確定する5分足でポジション変更が注文数量を成行で売る。これもノーポジションの状態からに限られる。
- エグジット: テイクプロフィット、ストップロス、タイマーはいずれもない。ポジションは3つのタイムフレームが反対方向に揃うまで維持される。反対の判定とポジションの比較が組み合わさると、取引用のローソク足で成行決済され、ポジションが再びフラットになった次のローソク足で新しい方向のエントリーが続く。投票が割れた場合は何も変わらず、ポジションはそのまま残る。
パラメーター
| パラメーター | 既定値 | 説明 |
|---|---|---|
| Fast Candles | 00:05:00 | 最も速い投票のタイムフレーム。判定が実行に移され、注文の時刻が決まる拍子でもある。 |
| Medium Candles | 00:15:00 | 中間の投票のタイムフレーム。 |
| Slow Candles | 01:00:00 | 最も遅い投票のタイムフレーム。3つの投票が集められ、集計される拍子でもある。 |
| Fast SMA Length | 13 | 5分の平均の平均化期間。 |
| Medium SMA Length | 13 | 15分の平均の平均化期間。 |
| Slow SMA Length | 13 | 1時間の平均の平均化期間。 |
| Order Volume | 1 | 両方向のエントリーで使う注文サイズ(ロット数)。決済はポジションが保有する数量をすべて閉じる。 |
ダイアグラムの詳細
- 3つの平均はいずれも形成済みの確定値だけを出力するため、まだ形成中のローソク足が投票を動かすことはない。
- 各タイムフレームを傾きの符号だけに還元することが、そもそも3つを比較可能にしている。1時間の平均と5分の平均は異なるスケールで動くが、プラス1とマイナス1はそうではない。
- 速い方の2つの投票は、1時間の投票によって解放される変数を通って同期に入る。これは意図的な設計である。線が1本ずつ到着すると、同期は決して完成しない組を抱えたままとなり、その先にあるものは二度と発火しない。
- 同期は送り出す組に、その組が属する時点を刻む。1時間が閉じた時点で、この時刻は現在時刻より遅れている。注文に至るまでの経路でこの刻印を読むものはない。判定は取引を運ぶ確定した5分足に対して、もう一度ラッチされる。
- どちらのエントリーもポジションの有無を条件としているため、5分足ごとに繰り返される判定が注文を積み増すことはない。ポジションが生きている間、繰り返しは単に拒否される。
使い方
.json ファイルを Designer に読み込み、バックテスターで過去データを使って実行し、実運用の前にパラメーターやブロック自体を自分の銘柄に合わせて調整してください。