記事の目次

根拠と適用範囲

元の実装では極性の変化が記述されており、バックペイントされた履歴ラベルが明示的に識別されています。提案された取引ルールには、独立機関による検証済みの実績がありません。

データと市場OHLCVには、セッション、ティック、スプレッドの情報が含まれています。ローソク足は、そのゾーンでポジションを変更した人物を特定するものではありません。
研究対象の時間足5分足、時間足、日足は別々に研究できます。ゾーンの経過をバー数で測ると、同じ本数でも時間足ごとに実際の経過時間は異なります。
価格はまず100–102で反落し、その後上抜けて戻り、強気ブレーカーのリテストを示します。図解を原寸で開く
合成イベント価格と出来高。100–102ゾーンは、102.50の終値後に役割が変わります。これは完全なOHLCシリーズや実際の取引結果ではありません。

実践の流れ

実践手順: ブレーカーブロック:オーダーブロックが失敗した後の極性変更のテスト
詳しい手順を以下に示します。各段階でデータ不足や条件不成立があれば、除外理由を記録します。
  1. 既知のブロックから始める価格帯と公開時刻を保持します。
  2. 無効化を観察する遠い側の境界をバッファ分超えた終値を要求します。
  3. ブレーカーを作成する元の親にリンクされた新しいIDを使用してください。
  4. 最初の再テストを評価する選んだ拒否条件とエントリールールを適用します。
  5. 終了またはキャンセルあらかじめ設定した停止条件、目標値、および有効期間を維持する。

極性の変化には完全な履歴が必要である

弱気オーダーブロックは、それまで抵抗帯として監視されていました。その上で終値が明確に確定すると、古い抵抗帯の仮説は無効になります。強気ブレーカーは、その後初めて上から戻ってきた価格をこの帯が支えるか、という新しい仮説です。強気ブロックの失敗では、帯の下側に対応する弱気の仮説を作ります。

LuxAlgo はブレーカーによる支持・抵抗の役割変化を説明し、Historical Polarity Changes のラベルは後から過去の位置に描画されると警告しています [1]。そのため見栄えのよい過去ラベルだけでは、その時点で信号が利用できた証拠にはなりません。プラットフォームの時刻処理の解説は、表示位置と情報が判明する時点を区別する助けになります [2]。

ブレーカーは、以前の売り手が今度はその帯で買わなければならないことを証明しません。その説明は仮説の動機になっても、OHLCV が記録するのは価格、取引活動、時刻であり、参加者の身元ではありません。新しいゾーン状態を作っても、元のブロック取引の損失は消してはいけません。

既知のブロックから新たな再テスト候補へ

事前に公開済みの弱気 block[a,b] から始めます。突破前の A=ATR14 と buffer=max(2 ticks,0.10A) を固定します。バー t の終値を受信し、C[t]>b+buffer なら、元のブロックを INVALIDATED として記録し、同じ価格範囲に parent_ob_id で元のブロックを参照する強気ブレーカーを作ります。新候補は t+1 からエントリーに使用できます。バッファと例示した20本の TTL は研究用の選択です。

リターンを評価する前に、ブレイク後に価格がゾーンを完全に上回って取引されたという証拠が必要です。再テストは、low≤b+buffer と high≥a でゾーンを交差し、最大 3 本のバーで b+buffer を上回って終値をつけます。ファーストタッチ バージョンは、最初の接近時に機会を消費します。よりきれいな 4 番目のリターンをファーストタッチと呼ぶことはできません。確認前に終値が a−buffer を下回った場合はキャンセルします。

一方のバリアントでは、BOS、MSS、または変位が伴う必要があります。もう一方のバリアントでは、ブロックの無効化のみが必要です。構造フィルタを測定するには、これらを個別に登録してください。ブレイクと見かけ上の再テストが同じ作成ローソク足内で発生した場合、OHLCには公開後のエントリーに必要なシーケンスがありません。終値ベースのバージョンでは、そのローソク足内で取引は行われません。

元のブロック境界と失敗タイムスタンプを保持したまま、新しいイベントIDを保存します。方向が弱気から強気に反転する単一の可変オブジェクトは、レポートに成功した最終解釈のみを表示させる可能性があります。イベントの履歴は、単なる帳簿付けではなく、研究設計の一部です。

EXPIRED、INVALIDATED、CONSUMED は、そのブレーカーの終端状態です。後のバーで検出器が同じ帯を再検討できるなら、注文の取消だけでは不十分です。遅れて価格が戻っても、失敗した候補を復活させられません。足の確定時に状態遷移を適用する前に、注文が有効だった間の約定を記録します。

on_close(t):
  process_existing_order_events_until_close(t)
  for br in active_bullish_breakers_eligible_before_bar(t):
    if expired(br):
      br.state = EXPIRED; cancel_future_orders(br); continue
    if C[t] < br.low-br.buffer:
      br.state = INVALIDATED; cancel_future_orders(br); continue
    if first_retest_confirmed(br,t):
      signal_for_next_quote_once(br); br.state = CONSUMED
  A = ATR14[t-1]
  if not finite_positive(A): return
  buffer = max(2*tick,0.10*A)
  for ob in active_bearish_OBs_published_before_bar(t):
    if C[t] > ob.high+buffer:
      invalidate_once(ob,at=t)
      create_breaker_once(parent=ob.id,known_at=received_close_time(t),
                          eligible=t+1,buffer=buffer,expiry=t+20)
# Terminal breakers cannot revive; a failed parent creates at most one child.

出来高で突破時と戻り時の仮説を分ける

突破時の RVOL と、同じ長さの期間で測ったリテスト時の出来高を別々に評価します。出来高の多い突破に続く静かな戻りは売り圧力低下の仮説に合っても、通常の昼間の取引減少を示すだけかもしれません。同じ時間帯の基準値を使い、朝の判断にその日が終了して初めて分かる全日出来高を使ってはいけません。

OB、ブレーカー、およびBOSは、1つの価格シーケンスに属することができます。イベントに複数の名前があるという理由だけで、独立したリスク配分を割り当てないでください。イベントファミリーは、関連するエントリ間で1つの固定予算を共有できます。CVDは、その取引分類が信頼できる場合にのみ追加機能となります。ローソク足の色はデルタを再構築しません。

出来高が多いリテストも標本に残します。吸収が起きた可能性のある局面の後に強く反応する場合、大きな取引活動を伴い、厳格な出来高減少条件とは両立しないことがあります。勝ち例が見えてから説明を変えず、別々の分岐として検証します。

同じ帯での合成成功例と失敗例

弱気 block[100,102] がすでに知られているとします。基準 ATR=2、tick=0.05 ならバッファは0.20です。終値102.50で強気ブレーカーが生成されます。その後104へ上昇し、安値101.80へ戻って102.40で引けます。次に約定可能な提示価格102.45で買い、ストップ99.80、目標107.75なら、リスク2.65、見込み利益5.30、コスト前2Rです。

次に確認された構造的ターゲットが104.50のみである場合、その広い保護範囲では十分な利益が得られない可能性があります。事前に選択したルールに従って拒否してください。そこが再テストの成功安値であることが判明した後でも、元のエントリーモデルで既に観測された安値が明示的に使用されていない限り、ストップロスを101.80まで引き上げないでください。

失敗経路では、最初の戻りの終値が99.70になります。確認型はエントリーせず候補を取り消します。一方、すでに102に置かれた指値注文は約定した後、99.75で決済され、2.25の損失になった可能性があります。元の弱気ブロックから入った以前のショート取引にも固有の結果を残します。後のブレーカーの勝ちだけを報告すると、一連の経過を誤って伝えます。

注文方法と試行回数

確認後の次の提示価格で入るか、接触前に事前定義した境界または中点へ指値を置くかを選びます。帯に触れた足が有利な終値になったことを理由に、最良の指値で約定したことにして不利な指値約定を省いてはいけません。約定と保護注文の挙動は取引市場の仕組みに合わせます [3]。

満期、価格が限界値を超えた場合、または事前に宣言された反対方向の構造条件が満たされた場合、待機中の候補はキャンセルされる可能性があります。ポジションがオープンしている場合、ハードストップと終値に基づく決済は異なるアクションです。終値を待っても、既に有効になっているプロテクティブストップが約定するのを防ぐことはできません。

提案されているベースラインでは、親ブロックごとに1回の試行、イベントファミリーごとに1つのポジションが許可されます。再エントリーが許可されている場合は、それを新規取引として扱い、累積コストを保持します。将来の経路が観測される前に、既知の反対方向のスイングまたは固定R倍数としてターゲットを選択します。

よりタイトなローカルストップをテストすることは有効ですが、取引の仮説自体が変わってしまいます。ストップ頻度とスプレッドによって消費されるリスクの割合が増加する一方で、名目上の利益/リスクは改善される可能性があります。勝ったチャート上のエントリーとターゲット間の距離だけでなく、実際の純利益を比較してください。

通常の支持・抵抗のリテストとブレーカーを比較する

有用な対照群は、オーダーブロックの履歴がない水準でのブレイクアウト後リテストです。ゾーン幅、経過時間、突破の強さ、エントリー距離を合わせます。それでもブレーカーが結果を改善しないなら、有用なのはブロックの由来よりリテストそのものかもしれません。

元のブロック、無効化、後のリテスト、確認、約定まで、分母となる全段階を報告します。最終チャートから消えた帯も保存します。時点ごとに利用可能だったデータだけを再生し、過去の役割変化ラベルが判明前に判断へ入っていないことを確認します。

時系列順に分割し、一方の親の子孫をすべて同じ検証フォールドに保持します。近くのTTL、バッファ、ファーストタッチルール、およびコスト仮定を評価します。単一の成功したイベント後チャートは、特に親ブロックが最初に損失を生成した場合、完全なステートマシンの勝率を推定するものではありません。

よくある落とし穴

元の損失トレードを削除する

後続のブレーカーの勝者は、先行するブロックの敗者を帳消しにするものではない。

過去に描かれた起点で入る

過去の位置に描かれた帯が、その時点で取引可能だったとは限りません。

複数の名前が1つのリスクを増幅させる

BOS、ブレーカー、再テストは、1つの根本的なイベントを説明することができます。

この手法を使う前のチェックリスト

ご自身のデータで確認した項目にチェックを入れてください。進捗はこのブラウザに保存されますが、戦略の収益性を認定するものではありません。

0/7 項目

よくある質問

無効化されたブロックはすべて、ブレーカーとして取引されるべきでしょうか?

いいえ。無効化で作られるのは候補です。リテストがない、期限が切れる、再び無効になるといった理由で、エントリーが一度も起きないことがあります。

先行する流動性スイープは必須ですか?

この極性ベースのベースラインではそうではありません。スイープを要求すると、独自のテストが必要な別のバージョンが作成されます。

研究資料

各資料は、その横に記載された定義や根拠を支えています。擬似コード、架空の例、提案パラメータは別途検証が必要です。

  1. Order Blocks & Breaker BlocksLuxAlgo. 元の説明と、過去ラベルを後から描画することへの警告を参照済み。検証済みの運用実績はありません。 確認日: .
  2. RepaintingTradingView. 情報伝達のタイミングと表示動作について調査した。 確認日: .
  3. Futures Order TypesCME Group. 価格条件の確認と実際の約定を区別するため、注文の仕組みを参照しました。 確認日: .

関連する手法

リスクについて

この内容は学習と研究設計を目的とし、金融上の助言ではありません。Backtestは過去データのシミュレーションであり、将来の成果を保証せず、実際の売買注文も行いません。このライブラリの手法が、そのままアプリで利用できる機能とは限りません。関連情報: 検証方法 および 学習センター.

実際の資金を使う前にルールを検証する

アプリの対応範囲、データ、個々の模擬取引を確認してください。高度な検出手法は別途実装が必要な場合があります。

App StoreでBacktestをダウンロード