TrendPulse:金、株価指数、FX向けのインパルスベースの自動売買
短いウィンドウ内の価格インパルスをカウントし、インパルスそのものは見送って、数秒後にその急変動の方向へエントリーし、トレーリングで管理します。ブローカーにとって有害(トキシック)なフローではありません。銘柄ごとに1ポジション。マーチンゲールなし、グリッドなし。
TrendPulseは、方向性のある短時間の価格の急変動を取引する自動売買戦略です。確定したバーのインジケーターを読むのではなく、移動する時間ウィンドウ内の個々の価格インパルスをカウントします。十分な数のインパルスが同じ方向を向き、それぞれが意味のある大きさを持つ場合、そのウィンドウは本物の市場インパルスと判定され、TrendPulseはその方向へのエントリーを準備します。その後、ポジションを建てる前に短く意図的に待機し、ストップロス、テイクプロフィット、トレーリングを適用して、決済されるまで銘柄ごとに1つのポジションを管理します。
TrendPulseの機能
- インジケーターのクロスではなく、インパルスを検出。シグナルはバーの内部で価格変動の分解能で生成されるため、エントリーは確認後の遅いものではなく、早いものになります。
- 単発のスパイクではなく、一致を要求。ウィンドウ内で、設定した数(通常3〜4個)の同方向のインパルスが最小サイズのしきい値を超える必要があります。
- エントリー前の意図的な遅延。スプレッドが最も広く約定条件が最も悪い、急変動の末尾ではポジションを建てません。
- 有害なフローとは分類されません。TrendPulseはインパルスが発生した時点ではポジションを建てません。インパルスを見送り、数秒後に現在の市場価格でエントリーするため、ブローカーが更新を終えていない気配値で注文が約定することはありません。
- 2つのエントリーモード。確認エントリー(値動きがさらに伸びるのを待つ)またはプルバック・エントリー(押し戻しを待ち、同じ方向により良い価格でエントリーする)。
- 決済管理を内蔵。ストップロス、テイクプロフィット、そして作動後に値動きを追従する設定可能なトレーリングストップ。
- 保守的な設計。銘柄ごとに1ポジションで、損失後にポジションサイズを増やすことはありません。
- 完全に最適化可能。すべてのしきい値がパラメータになっているため、実際のティック履歴でお使いのブローカーに合わせて戦略を調整できます。
シグナルの構築方法
TrendPulseは、新しい価格が届くたびに4つの条件を継続的に評価します。4つすべてが同時に満たされた場合にのみ、取引が準備されます。
| # | 条件 | 内容 |
|---|---|---|
| 1 | 観測ウィンドウ | インパルスは、例えば直近60秒間といった移動ウィンドウ内でカウントされます。古いインパルスはカウントから外れます。 |
| 2 | インパルス数 | ウィンドウ内の同方向のインパルス数が、設定した最小値(例えば3または4)に達する必要があります。 |
| 3 | インパルスのサイズ | 各インパルスは最小サイズ(ポイント)を超える必要があり、通常の細かな揺れが合計にカウントされることはありません。 |
| 4 | 方向の優位性 | ウィンドウは一方向に偏っている必要があります。両方向のインパルスが均衡しているウィンドウは、シグナルではなくノイズとして扱われます。 |
# Signal condition, in plain terms impulses_in_window(direction) >= min_impulse_count AND every counted impulse >= min_impulse_size AND direction is dominant in the window # -> window classified as a market impulse # -> wait entry_delay # -> apply entry mode (confirmation or pullback) # -> open one position, attach SL / TP / trailing
TrendPulseがエントリー前に待機する理由
急変動の直後は、約定するには最悪のタイミングです。スプレッドは最も広く、得られる価格は他の誰も欲しがらなかった価格です。そのためTrendPulseは、注文を送信する前に、設定した間隔だけインパルスの集中から距離を置きます。
この戦略はブローカーにとって有害ではありません
TrendPulseはインパルスが発生した瞬間にはポジションを建てません。インパルスを見送り、数秒後にエントリーします。この1つの設計判断こそが、この戦略を有害なフローの定義の外に保っています。
ブローカーは、利益が出ているという理由で注文をフィルタリングするわけではありません。フィルタリングの対象となるのは、価格変動の最中に、取引先がまだ更新を終えていない気配値で執行された注文です。そうした約定はブローカーの負担になるからです。これが実務上の有害なフローの意味です。TrendPulseは値動きの最中に注文を出すことはありません。インパルスは観測され、カウントされ、意図的に見送られます。注文が送信される時点では急変動はすでに終わっており、ポジションは現在の市場価格で建てられます。値動きを見て、待ってからエントリーする裁量トレーダーとまったく同じです。
その結果、注文フローにはレイテンシーの優位性が含まれず、執行フィルターが目を付けるような古い気配値での約定もありません。TrendPulseは、ブローカーが高速で執行に敏感な戦略に適用する対抗措置を受けることなく、通常のリテール口座で運用できます。これらの対抗措置の背景については、こちらをご覧ください:ブローカーは実際にどのように価格を付け、注文を約定させているのか。
2つのエントリーモード
待機の後、TrendPulseには、市場がシグナルに同意したと見なす基準となるルールが必要です。利用可能な2つのモードはいずれも元のインパルスの方向を維持します。違いは何を待つかにあります。
確認エントリーポジションを建てる前に、価格がシグナル方向へさらに設定した距離(例えば10ポイント)だけ進む必要があります。値動きが止まった場合、取引は行われません。 適した場面:急変動の後も動き続ける傾向がある銘柄。 |
プルバック・エントリー価格がシグナルと逆方向に設定した距離(例えば10ポイント)だけ押し戻す必要があり、その後、そのより良い水準で元のインパルスの方向にポジションを建てます。 適した場面:行き過ぎた後に反発してから継続する銘柄。 |
決済とリスク管理
エントリーはボラティリティに合わせてタイミングを計っているため、仕事の大部分は決済が担います。TrendPulseはすべてのポジションに3つのレイヤーを付けます:
| レイヤー | 役割 |
|---|---|
| ストップロス | 口座レベルのデフォルト値ではなく、シグナルを生んだボラティリティに合わせて設定される絶対的なリスクの境界 |
| テイクプロフィット | 取引の上限。目標にきれいに到達した値動きを決済するために使います |
| トレーリングストップ | 設定した距離の後に作動し、設定した間隔で値動きを追従します。これにより、時折訪れる力強い継続の動きが、ダマシのシグナルの損失を補う取引になります。 |
すべてのパラメータの上位に、2つの絶対的なルールがあります。TrendPulseは銘柄ごとに1つのポジションしか保有しないため、同じ値動きでのインパルスの集中が5つの相関した取引になることはありません。また、損失後にポジションサイズを増やすことは決してありません。マーチンゲールも、グリッドも、含み損のエントリーへのナンピンもありません。
フィルター
インパルスの検出は意図的に敏感に設定されているため、リスク管理はフィルターが担います。利用可能なフィルターには、ATR(アベレージ・トゥルー・レンジ)に基づくボラティリティ・フィルターがあり、通常の値動きがすでにインパルスのしきい値を超えている状況ではシグナルを抑制します。また、高速フィード・フィルターは、予定された指標発表時や気配値の異常時に戦略を市場から遠ざけます。こうした場面での急変動は方向性の意図ではなく、データの発表を反映したものだからです。
お使いのブローカーでの最適化
TrendPulseのすべてのしきい値はパラメータとして公開されています。つまり、この戦略はデフォルト値で運用するのではなく、最適化することを前提に作られています。この種のロジックのテストには実際のティックデータが必要です。TrendPulseがカウントするイベントはバーの内部で起こるため、バーベースのテストではまったく捉えられません。
SharpTrader Backtester and Optimizerは、実際の過去のティックストリームで動作し、ティックごとに過去のスプレッドを適用し、現実的な注文執行時間をミリ秒単位で設定できるため、結果は実際に得られる約定を反映します。段階的なアプローチにより、パラメータのグリッドを扱いやすい規模に保てます:
| 段階 | 最適化対象 |
|---|---|
| 1 | インパルスのパラメータ:ウィンドウ、最小数、最小サイズ |
| 2 | トレーリングのパラメータ:作動距離とトレール幅 |
| 3 | ストップロスとテイクプロフィット |
| 4 | フィルター:ボラティリティと価格変動のフィルター |
すべてを1回で最適化すると、組み合わせの数は数十万に達し、特定の2週間だけに適合したパラメータになってしまいます。小さな4回の段階に分ければ、より速く完了し、解釈しやすい結果が得られます。
対象銘柄と要件
| 項目 | 詳細 |
|---|---|
| 最適な対象 | まず金と株価指数、次にシグナル頻度は低くなりますが主要通貨ペア |
| プラットフォーム | ティックのインフラと注文ルーティングを提供するSharpTraderプラットフォーム上で動作 |
| ホスティング | 継続的な運用には安定したVPSを推奨 |
| ポジション | 銘柄ごとに1つ、損失後のサイズ増加なし |
| 価格 | $895 USD。カスタムフィルターとボラティリティ機能を利用できるSharpTrader用のオプションのコーディングモジュール:$1,900 USD |
対象となる方
TrendPulseは、透明なロジックとすべてのパラメータへのアクセスを備えた方向性のある自動売買戦略を求め、プリセットがどこでも機能することを期待するのではなく、ご自身のブローカーで最適化に半日を費やすことをいとわないトレーダーに適しています。シグナル配信サービスでもブラックボックスでもありません。エントリーを決定するすべてのしきい値が文書化され、調整可能です。購入前にこの手法の理論を詳しく知りたい場合は、インパルス取引戦略に関する当社の総合ガイドをお読みください。
よくある質問
TrendPulseは実際に何を取引するのですか?
方向性を取引します。短いウィンドウ内に十分な大きさの同方向の価格インパルスが十分な数現れると、TrendPulseはその方向に1つのポジションを建て、ストップロス、テイクプロフィット、トレーリングストップで管理します。
いくつのインパルスで取引が発生しますか?
設定可能です。1分間のウィンドウ内で3〜4個の同方向のインパルスが一般的な出発点で、数とウィンドウの長さはどちらも銘柄ごと・ブローカーごとに最適化できるパラメータです。
ブローカーがTrendPulseを有害と見なすことはありますか?
いいえ。TrendPulseはインパルスが発生した時点ではポジションを建てません。インパルスを見送り、数秒後にエントリーするため、ブローカーが更新を終えていない気配値で注文が約定することはありません。有害なフローとは価格変動の最中に行われた執行によって定義されるものであり、その時点でTrendPulseの注文は市場にありません。約定は現在の価格での通常の市場約定です。
TrendPulseはマーチンゲールやグリッドを使いますか?
いいえ。銘柄ごとに1つのポジションを保有し、損失後にポジションサイズを増やすことは決してありません。含み損の取引へのナンピンもありません。
2つのエントリーモードの違いは何ですか?
確認エントリーは、価格がシグナル方向へさらに設定した距離だけ進むのを待ってからポジションを建てるため、伸びないシグナルを除外できます。プルバック・エントリーは、シグナルと逆方向への押し戻しを待ち、より良い価格で元の方向にポジションを建てるため、エントリー水準が改善されますが、戻ってこないシグナルは逃すことになります。
実運用の前にTrendPulseをバックテストできますか?
はい、ぜひ行ってください。SharpTrader Backtester and Optimizerは、過去のスプレッドと設定可能な執行遅延を用いて実際のティック履歴で実行します。カウント対象のイベントはバーの内部で起こるため、インパルスのロジックを意味のある形でテストする唯一の方法です。
どの銘柄が最も適していますか?
金と株価指数です。どちらも実際の市場参加を伴って集中的な急変動で動くためです。主要通貨ペアもシグナル頻度は低くなりますが機能します。流動性が薄く動きの遅い銘柄は不向きです。
運用に必要なものは何ですか?
SharpTraderプラットフォームと、継続的な運用のための安定したVPSです。オプションのコーディングモジュールは、カスタムフィルターや追加のボラティリティ機能が必要な場合にのみ必要です。
BJFのトレーディング・リサーチを購読する
新しい記事、研究論文、製品リリースを公開時にお届けします。
遅れではなく、急変動を取引する
インパルスの検出、遅延エントリー、2つのエントリーモード、トレーリング管理。すべてのしきい値をご自身のブローカーで最適化できます。






