記事の目次
根拠と適用範囲
オリジナルの指標作成者は、構造とプロテクテッドスイングの定義が異なっている。本稿では、独立した検証済みの収益性に関する主張は示さずに、明確な研究手法を一つ提示するにとどめる。
実践の流れ
- 事前構造を確立する有効なトレンドと、対象となる保護スイングが必要です。
- 古いレベルのスナップショット新たに確定したピボットポイントを追加する前に、バーを評価してください。
- CHoCHを検出先行トレンドに逆らう方向へ、終値で基準を突破することを要求します。
- MSSを個別に分類する同じイベントに、オプションの変位閾値を適用する。
- 次の状態を待つ選択したエントリーポイントで取引を行い、新たなトレンドを独自に確認する。
逆トレンドブレイクから保留状態へ
下降トレンドでは高値も安値も切り下がります。保護高値は重要な戻りを表すためにシステムが事前に選んだ水準です。終値がこれを上回ると弱気状態に疑問が生じますが、一度の突破だけで上昇トレンドに必要な高値と安値の切り上げが揃うわけではありません。
SMCソースはBOSとCHoCH [1]を区別しますが、Protected Swingsの実装では独自のコンテキストと確認レベル[2]を使用します。したがって、2つのインジケータの不一致は、一方の計算が間違っていることを意味するものではありません。ラベルを比較する前に、スイング検出器、保護選択ルール、およびクローズ対ウィックの規則を記録してください。
ここで、BOS は既存のトレンドに追随し、CHoCH は保護されたスイングに対してブレイクアウトし、MSS は変位条件を満たす CHoCH です。前の状態が混合、レンジング、または有効な保護されたスイングがない場合は、イベントに range_structure_break または insufficient_context というラベルを付けます。馴染みのある頭字語を作るためだけに、欠落したコンテキストを捏造しないでください。
保護されたスイングを時系列順に選択してください
提案する主要ピボットは左右各3本で確定し、イベント前のデータから求める b=max(2 ticks,0.10ATR) を使います。弱気 BOS が主要安値 B を突破したら、B より後かつ BOS より前に発生し、BOS のバー開始前に確定していた主要高値を探し、最新の候補を選びます。旧保護高値から新高値を引いた差が、事前定義した eps より大きい場合にのみ置き換えます。候補がなければ旧基準を維持し、旧基準もなければ文脈は不十分です。
新しい保護レベルは次のバーで有効になります。tの開始時に、t−1からレベルのスナップショットを取得し、その終値ブレイクを評価し、将来の決定のためにピボットまたは保護を更新します。同じ終値で確認された高値は、以前の参照を上書きして、発生したばかりのイベントを消去してはなりません。
強気 CHoCH には先行する下降トレンド、C[t−1]≤P+b、C[t]>P+b が必要です。提案する MSS フィルターは body/ATR≥0.8、body/range≥0.6、CLV≥0.75 で、研究用閾値です。イベント後は REVERSAL_PENDING_UP とし、同じ尺度で高値と安値の切り上げが新たに確認されるまで上昇トレンドに昇格させません。
価格だけでなく、protected_from_eventとその選択したピボットIDを保存してください。同じ価格でも、構造的な履歴が異なる場合があります。この履歴により、どの安値ブレイクが保護を承認したか、また、それに近い高値がなぜ除外されたかを判断するためのリプレイ監査が可能になります。
old = snapshot(t-1)
if old.trend == DOWN and old.protected_high is not None:
P = old.protected_high.price
if C[t-1] <= P+b and C[t] > P+b:
emit(CHOCH_UP, t, protected_id=old.protected_high.id)
if displacement(t): emit(MSS_UP, same_event_id)
trend = REVERSAL_PENDING_UP
update_future_state_only(pivots_confirmed_at=t)
スイープ、値動きの強さ、出来高は情報が重なる可能性がある
先行する下落スイープを要求すると、別のバージョンが作成されます。スイープ、強い強気ローソク足、および保護された高値ブレイクがすべて1つの反発から発生する場合、それらは3つの独立したサンプルではありません。event_group_idを介してそれらをリンクし、アブレーションを使用して各条件を測定します。
RVOLは、通常の活動中の構造変化と異常な活動中の構造変化を区別します。安値後の買い積極デルタの増加は、フィードがそれを裏付けている場合に観測値を追加できます。出来高の多い大きな強気ローソク足は、すべてのショートポジションが決済されたことを証明するものではありません。
上位足の確定は特に重要です。時間足の CHoCH は足の途中で現れても確定前に消えることがあります。一分足のエントリーに後で決まる時間足の結果を使い、確定に失敗したケースを除いてはいけません。過去再生とリアルタイムの整合性を明示的に検証します [3]。
保護高値の合成例と確認の遅延
古い高値 108、後の高値 104、古い安値 100、後の安値 96 で下降トレンドを想定します。96 の後、反動高値 102 が確認され、弱気 BOS が 95.20 に到達します。ルールは、保護された高値 104 を将来のバーに対して 102 に置き換えることができます。A=2 と b=0.20 では、その後の 102.40 での終値が強気 CHoCH をトリガーします。
ローソク足が O=100.60、H=102.60、L=100.40 であると仮定します。本体は 1.80、レンジは 2.20、CLV は 0.91 付近で、提案された MSS フィルタを満たしています。構造ストップ 95.00 とターゲット 110 で 102.50 からエントリーすると、1R しか提供されません。初期リスクと初期報酬はどちらも 7.50 です。強そうに見えるシフトは、極値から遠く離れたエントリーの問題を解決しません。
損失経路では安値の切り上げが成立せず、価格は95.00へ戻り、ストップは94.90で約定して損失7.60になります。リテスト戦略は近いストップを使うこともできますが、この損失後に初めて確定した切り上げ安値を借用できません。102が弱気 BOS より前に確定していなければ保護高値は104のままであり、後の終値102.40を事後的に CHoCH と呼び替えてはいけません。
プロテクテッドスイングはトレードストップとは異なります
エントリーは MSS を確定した足の後、または提案する K=5 本以内に突破水準をリテストした後とします。リテスト方式では、水準を維持した足とその後の約定可能なエントリーを記録します。必要な終値条件が分からない以前の接触時点で入れたことにしてはいけません。リテストがなければ、この方式の取引はありません。
構造的保護は、関連する遷移極値の外側に位置する。トレード保護は、既に観測された再テスト安値の外側に位置する可能性がある。これらは異なる問いに答えるものであり、反転保留状態が存続している間にトレードがストップアウトする可能性があり、また、エントリーが成立する前に保留状態が破綻する可能性もある。
定義済みの反対方向のブレイクアウトまたはTTLが発生した時点で、保留中のイベントを終了します。価格が同じレベルを挟んで変動するたびに新しいCHoCHを発行しないでください。新しい適格な構造状態が確立された後にのみ、再準備を開始します。
適切な実装では、状態遷移と注文遷移を別々のログに保存します。これにより、ストップ注文の約定によって構造履歴が意図せず書き換えられたり、後からの状態変更によって入力時に有効だった取引が削除されたりするのを防ぎます。手動によるオーバーライドはすべて、文書化されていない修正ではなく、個別の実験として実施する必要があります。
リターンを評価する前に、レベル選択を検証してください。
未確認の保護候補、古いレベルを突破し新しいピボットを確認するバー、下降トレンド中に古い高値を上回る新しい高値、および代替候補がないケースを構築します。プレフィックスリプレイは、以前に発行されたイベントIDとタイムスタンプを保持する必要があります。
CHoCHを、ローリングハイを突破するより単純な逆トレンドブレイクと比較してください。複雑な保護選択が開発サンプル外でパフォーマンスを向上させない場合、その複雑さには実証された経済的価値はありません。CHoCHとMSSを、先行スイープの有無、およびメジャースケールとマイナースケールの一致または不一致によって個別に評価してください。
極値から信号までの遅延、実際の進入時点での報酬残量、停止距離、レジームカウント、および正味結果を報告してください。進入が遅れると、視覚的な反転精度が不十分になります。実行可能な再テストを生成しない失敗した保留状態と信号を含めてください。これらを除外すると、確認待ちのコストが隠蔽されてしまいます。
よくある落とし穴
1回の破綻が逆転を証明する
新たなトレンドを完全に実現するには、同規模の構造をさらに構築する必要がある。
バー中に保護レベルを上書きする
新たなピボット情報は、その後の意思決定にのみ適用されるべきである。
相関確認を追加する
スイープ、変位、およびMSSは、1つの反発と1つのリスクエクスポージャーを表すことができます。
この手法を使う前のチェックリスト
ご自身のデータで確認した項目にチェックを入れてください。進捗はこのブラウザに保存されますが、戦略の収益性を認定するものではありません。
よくある質問
CHoCHとMSSは普遍的に定義されていますか?
いいえ。実装によってスイングや確認の規約が異なります。この記事では、そのうちの1つのバージョンを明示的に示しています。
反転待ち状態が有効でも取引がストップにかかることはありますか?
はい。局所的な取引ストップと構造が無効になる水準は異なる場合があります。状態変化を別々に管理します。
研究資料
各資料は、その横に記載された定義や根拠を支えています。擬似コード、架空の例、提案パラメータは別途検証が必要です。
- Smart Money ConceptsLuxAlgo on TradingView. 実装例の元の説明を参照済み。普遍的な市場標準を示す資料ではありません。 確認日: .
- Protected SwingsLuxAlgo on TradingView. 著者が保護スイングを公開する判定ロジックを参照済みです。 確認日: .
- RepaintingTradingView. 未確定データと過去データに関する文書を参照済みです。 確認日: .
関連する手法
リスクについて
この内容は学習と研究設計を目的とし、金融上の助言ではありません。Backtestは過去データのシミュレーションであり、将来の成果を保証せず、実際の売買注文も行いません。このライブラリの手法が、そのままアプリで利用できる機能とは限りません。関連情報: 検証方法 および 学習センター.
実際の資金を使う前にルールを検証する
アプリの対応範囲、データ、個々の模擬取引を確認してください。高度な検出手法は別途実装が必要な場合があります。
App StoreでBacktestをダウンロード