記事の目次
根拠と適用範囲
ソースインジケーターは設定可能なセッションスイープについて説明し、プラットフォームおよび取引所のドキュメントはセッションの仕組みを規定します。提案された検出器の収益性に関する主張は検証されていません。
実践の流れ
- セッションを定義する取引市場、カレンダー、タイムゾーンを選びます。
- 参照ウィンドウを完成させてください前セッションまたはオープニングレンジの高値・安値は確定して判明してから公表します。
- 後続の掃引を検出する固定バッファと対応レベルバージョンを使用してください。
- 確認して送信する足終値を受信した時刻と、選択した注文モデルに従います。
- セッションタイプ別に評価するシグナルなしの日、価格ギャップ、カレンダー境界事例を含めます。
異なる情報を持つ3種類の参照タイプ
PDH/PDLは直前に完了した取引日の高値・安値、PSH/PSLは指定した完了済みセッションの高値・安値です。ORH/ORLは現在のセッションの最初のN分間の高値・安値です。同じ価格でも独立した証拠が増えるわけではありません。適切なら同じ参照実体に関連ラベルを付けて保存します。
LuxAlgoのセッションスイープでは、セッション選択が可能です [1]。独立した実装では、年間を通して固定されたローカルクロック時刻ではなく、取引所のタイムゾーンとカレンダーが必要です [2][3]。ロンドン、ニューヨーク、および戦略を実行するコンピュータは、同じ日に時計を変更しない場合があります。
前日水準は過去のレンジを表し、始値レンジは新しい日の始まりを表します。大きなギャップが発生すると、始値で価格が前日のレンジ全体を超える可能性があります。PDHへの回帰は必ずしもスイープを意味するものではありません。水準の開始側と、意図したトリガーが拒否、回復、またはブレイクアウトの再テストのいずれであるかを特定する必要があります。
セッション識別子と資格確認タイムスタンプ
session_idには取引所、銘柄、calendar_date、session_template_versionを含めます。米国株の基準案は通常セッションを使い、時間外は別保存できます。短縮セッションには印を付け、均一な24時間の日に見せるため欠けた足を捏造してはいけません。夜間先物の取引日付は現地暦日と異なることがあります。
09:30から09:45のオープニングレンジには、09:30、09:35、09:40開始の五分足が含まれます。最終水準を公表するのは09:45後だけです。未完了の09:40足から最終OR安値はわかりません。半開区間[start,end)なら開始を含み終了を除くため、境界ちょうどのイベントが両区間に二重計上されません。
サポートSが公開された後、提案されている下降スイープでは、Sより上の直前の終値、low<S−b、およびclose>S+eが必要です。トリガーの前のバーからATRを使用して、b=max(2 ticks,0.10ATR)とe=max(2 ticks,0.15ATR)を使用します。マルチバーK=3の回収は別のバージョンです。N、K、およびすべてのバッファは研究上の選択肢であり、確立された収益設定ではありません。
window_endと公表データを実際に受信した時刻の両方を記録します。修正済み最終レンジが遅れて届いても、過去のエントリーを後から許可できません。修正を将来候補だけに適用するか、影響区間を研究対象から無効にするかを決め、元の判断ログを残します。
on_trade_received(trade):
window = configured_half_open_window(trade.event_time)
if window.start <= trade.event_time < window.end:
update_extrema_for_that_window_only(window,trade)
on_window_data_ready(window,received_at):
if not window_complete_under_declared_watermark_policy: return
if window.current_fingerprint == window.last_published_fingerprint: return
available_at = max(window.end,received_at) + processing_delay
publish_frozen_version(window.extrema,available_at=available_at)
window.last_published_fingerprint = window.current_fingerprint
for closed_bar in later_bars:
levels = versions_available_before(closed_bar.start)
detect_sweep(levels,closed_bar)
# Publish once per data version; boundary trades belong to the following window.
# Late corrections publish a future version and never backdate an order.
同時刻取引量と開始オークション処理
トリガーボリュームを、以前のセッションの対応する時間帯と比較してください。欠落した時間帯や短縮された日については、明示的な除外が必要です。オークションボリュームを最初のバーに表示するフィードは、それらのプリントを除外した履歴と直接比較しないでください。
RVOL のスイープと、現在の VWAP に対する位置は、それぞれ別の提案機能です。朝の決定では、終値の VWAP を使用することはできません。VWAP を下回る価格で取引中に PDL をスイープすると、1 つの下落が反映される可能性があるため、確認数を単純にカウントするのではなく、各フィルターの増分値を測定してください。
予定された発表の直前と直後では約定結果が異なることがあります。事前に分かるカレンダーで該当時間窓を定義します。値動きを見てから悪材料の日と分類すると後知恵が入ります。公表上の時刻と、実際にデータや見出しを受信した時刻は別保存します。
合成オープニングレンジの例
チャートに OR15、high=205、low=200 が含まれるように意図されているとします。しかし、09:43 で、価格は 199.80 まで推移し、回復します。始値レンジがまだ形成中であるため、想定される最終安値 200 をスイープして取引することはできません。199.80 がその期間内の有効な観測値である場合、最終 OR 安値にはそれが含まれる必要があります。
別の例では、開始レンジは既に low=200 で終了しています。後のバー 09:50 には low=199.60 と close=200.40 があります。ティックサイズに基づく下限が優先されないと仮定すると、直前の ATR=1 から b=0.10 と e=0.15 が得られるため、リクレームは条件を満たします。終値後の約定は 200.45、ストップロスは 199.50、ターゲットは 202.35 で、リスクは 0.95、報酬は 1.90 です。ターゲットは、最終的な日中高値から選択するのではなく、エントリー時に固定されます。
損失となる経路では199.45まで下がり、保護注文が199.48で約定して0.97を失います。別の足が199.70で閉じORL下にとどまるなら、それは下抜け・下側への定着を調べる対照例で、反転エントリーではありません。暦日が変わっても既存取引のストップを新しく計算したPDLに置き換えてはいけません。
レベルの寿命と取引を分離する
参照水準はセッション終了で失効しても、既存取引は独自の決済方針に従います。待機候補の基準案は、セッション内のlevel_idごとに最初の適格スイープだけを取ります。後続の接触は別にテストし、結果が初回接近に集中するかを調べます。
リクレーム足の高値超えをエントリー条件とするなら、買いストップ注文はその足が閉じた後にしか置けません。次の足でエントリーが発動し、その後損切りになった取引は、最終終値が悪くても実在した取引として残します。上下のレンジ境界を両方掃く足には、足内部の記録か順序不明のフラグが必要です。
UTC、取引所のタイムゾーン、元のイベント時刻、および現地の受信時刻を保存してください。先物ロールオーバーでは、調整されていない新規契約価格を、旧契約の前日価格と比較しないでください。継続的リサーチチャートと取引契約には、文書化されたマッピングが必要です。
実地テストには、開始を遅らせたり、レンジ境界を越えて停止したりするセッションも含まれるべきです。開始レンジが時計の時間を指すのか、経過した取引可能時間(分)を指すのかを判断してください。これらの定義は異なる水準を生み出すため、どちらの定義がより良い取引結果をもたらすかがわかった後でも、定義を変更してはなりません。
レベル効果と時間帯効果を分離する
PDH/PDLスイープを、価格からの距離が似ているローリングリファレンス、または密度が同程度の合成レベルと比較します。セッション内の分単位、ギャップサイズ、ボラティリティでマッチングします。始値スイープをその日の静穏な時間帯の毎分と比較することで、始値期間そのものをほぼ測定できます。
参照タイプ、セッションテンプレート、夏時間制度、ギャップカテゴリ別に結果を報告します。既知の祝日や短縮セッションをカレンダーエンジンに対してテストします。純期待値とノーフィル率は、シグナルのないセッションを保持した資本レベルの結果と併せて表示します。
境界テストには、window_startとwindow_endでの取引、重複するタイムスタンプ、欠落したバー、遅れた修正、タイムゾーン移行後の最初のセッションを含める必要があります。各実行で使用したカレンダーのバージョンを保存してください。魅力的な例が少数あるだけでは、その戦略が監視および実行コストを正当化するのに十分な機会を提供しているとは言えません。
よくある落とし穴
未完了の日の最高値または最低値を使用する
最終的な高値・安値には、セッション進行中には分からなかった情報が含まれます。
年間を通して同じ時間帯に営業する
時計の変更や暦のずれによって、予定していた期間がずれることがあります。
同時参照を繰り返しカウントする
ORL、セッション安値、PDLが同価格で取引されていることは、一つの出来事を表している可能性がある。
この手法を使う前のチェックリスト
ご自身のデータで確認した項目にチェックを入れてください。進捗はこのブラウザに保存されますが、戦略の収益性を認定するものではありません。
よくある質問
オープニングレンジ内でスイープが発生する可能性はありますか?
価格は暫定的な境界線を越えることはできますが、それは別の検出器によるものです。開始ウィンドウが完了する前に、最終的なORH/ORLを使用することはできません。
最初のスイープが必ずしも最高でなければならないのか?
いいえ。初回接触は、エピソードを独立させるための提案された方針です。それ以降の接触は、別のバリアントとして保持し、テストする必要があります。
研究資料
各資料は、その横に記載された定義や根拠を支えています。擬似コード、架空の例、提案パラメータは別途検証が必要です。
- Session SweepsLuxAlgo on TradingView. 元のセッションスイープ説明を確認しました。収益性は未検証です。 確認日: .
- SessionsTradingView. セッションとタイムゾーンの仕様を読みました。超過収益の研究ではありません。 確認日: .
- Holidays and Trading HoursNYSE. 公式カレンダーと取引時間の参照資料を開いて確認しました。 確認日: .
関連する手法
リスクについて
この内容は学習と研究設計を目的とし、金融上の助言ではありません。Backtestは過去データのシミュレーションであり、将来の成果を保証せず、実際の売買注文も行いません。このライブラリの手法が、そのままアプリで利用できる機能とは限りません。関連情報: 検証方法 および 学習センター.
実際の資金を使う前にルールを検証する
アプリの対応範囲、データ、個々の模擬取引を確認してください。高度な検出手法は別途実装が必要な場合があります。
App StoreでBacktestをダウンロード