記事の目次
根拠と適用範囲
ChartSchoolはNR7の実装を公開しており、高値-安値範囲と真の値範囲を区別しています。コミュニティスクリプトは、後続の終値を使用して結果にラベルを付けます。いずれの観測も、提案されたシステムの実行可能な純損益を単独で検証するものではありません。
実践の流れ
- 値幅を測る真のレンジを暗黙的に置き換えることなく、H−Lを使用してください。
- 両方のラベルを貼るInsideとNR7は独立したフラグのままです。
- 境界を固定するバージョンに応じて、マザーまたはNR7バーを使用してください。
- 突破を待つ登録済みのTTLと注文タイプを適用してください。
- すべての結果を保持する未約定、両境界を越す事象、費用も含めます。
2つの定義は重複しても同一にはならない。
NR7 は、7 つのバーの中で最小の H−L 範囲を使用します。ChartSchool では、これを ATR1 に基づくバリエーション [1] と区別しています。代わりに、インサイド バーは H[t]≤H[t−1] と L[t]≥L[t−1] の両方を満たします。1 つのローソク足がどちらかの条件、または両方の条件を満たすことがあります。名前を混同して使用するのではなく、別々のラベルを保持してください。
研究群はinside、nr7、inside_and_nr7です。収縮はトレンド途中の休止、静かな時間帯、イベント前の活動低下などを表せますが、両式とも上昇・下落を予測しません。方向は事前登録した文脈条件か、その後の価格事象で決めます。
実際のバー構造を常に一貫して使用してください。延長時間を含む日足バーは、通常のセッションバーとは異なる高値と安値を持つ場合があります。予定された小休止付近の小さな日中バーは、始値バーと比較されることによってのみ例外的に見えることがあります。収縮を経済的に解釈する前に、セッションとベースラインを記録してください。
各バリアントの正しい境界を固定する
インサイドバーのベースラインの場合、前のローソク足がマザーバーとなり、その高値と安値がブレイクアウトの境界を定義します。単独のNR7の場合は、狭いローソク足自身の高値と安値を使用します。これらは、リスク距離が異なるさまざまなエントリー方法となります。複数のインサイドバーがネストされている場合は、境界を機会的に狭めるのではなく、ブレイクアウトまたは満期まで元のマザーバーを保持してください。
厳密なNR7案ではR[t]が直前六本それぞれの値幅より小さく、同値は除外します。TTL=5本とbuffer=max(2 ticks,0.1×ATR before the setup)は研究設定です。値幅ゼロ、未完成の窓、設定幅に対してスプレッドが過大な銘柄は除外します。
完了したセットアップは、独自のID、固定された境界、バッファ、有効期限を持つオブジェクトです。別の収縮バーが現れたからといって、その有効期間を更新しないでください。リセットポリシーは別途検討できますが、戦略の待機時間と、一見独立した機会の数に影響を与えます。
R[t] = H[t]-L[t]
inside = H[t] <= H[t-1] and L[t] >= L[t-1]
nr7 = R[t] > 0 and R[t] < min(R[t-6:t])
if inside and no_active_setup:
freeze(upper=H[t-1], lower=L[t-1], expires=t+5)
# Alternate NR7 strategy uses H[t], L[t] instead.
for closed bar k after setup:
if k > expires: expire()
elif C[k] > upper+buffer: signal_long(k)
elif C[k] < lower-buffer: signal_short(k)
# Each setup emits at most one signal in this baseline.
InsideとNR7の共通例と両境界をまたぐ値動き
合成先行レンジは 4,3.5,3.2,2.8,2.4,2.0 です。次のローソク足は H=104.7、L=103.5 で、7 つのレンジの中で最小の 1.2 となります。その親ローソク足は H=105、L=103 なので、このローソク足もその範囲内にあります。親ローソク足のベースラインの下では、境界は 105 と 103 のままで、104.7 と 103.5 ではありません。
バッファ0.1を使用した場合、後続の終値105.3でロングポジションが確認されます。エントリー105.4とストップ102.9は、2.5ポイントの価格リスクと2Rのターゲット110.4を示唆します。このルールでは、合成継続110.4が成功し、102.8への戻りでポジションが停止します。収縮を正しく識別しても、偽のブレイクアウトを防ぐことはできません。
後続の足がH=105.5、L=102.5、C=104なら両側を越えますが、終値確認方式ではシグナルが出ません。一方、両側に逆指値の新規注文を置いた方式では、すでに約定して反転売買や損切りになった可能性があります。最終終値だけでは、その別の注文方式で取引がなかったと判断できません。
境界テストには、親足と同じ高値のインサイドバー、以前の最小値幅と同値のNR7候補、高安値幅は小さいが大きな夜間ギャップを持つ足を含めます。最後の例はH−Lでは適格でもtrue range版では不適格になり得ます。この定義差を明示します。
利益ラベルは約定記録ではない
TradingViewコミュニティの作者は、翌日が境界を越えて有利な方向で引けるかによってNR4/NR7の損益ラベルを付けると説明しています[2]。これは結果分類であり、足内の経路順序、取引費用、実際の約定価格を自動的に確定するものではありません。
TradingViewはブローカー模擬機能の仮定と足内データの制約を説明しています[3]。本案は終値を待ち、その後の約定可能な始値を使います。経路の曖昧さを一部減らす一方、確認遅延とギャップリスクが生じるため、逆指値の新規注文を先に置く方式と同じではありません。
OCO処理で2つのストップ注文をテストする場合は、最初の約定が判明した時点と、もう一方の注文のキャンセルが有効になった時点をシミュレーションしてください。OCOは、キャンセル遅延中に発生した2回目の約定を削除することはできません。完全な即時キャンセルを想定するのではなく、拒否されたキャンセル、部分約定、および結果として生じるリスクを追跡してください。
選択したバージョンから固定ストップとエグジットプランを使用してください。NR7 の狭いローソク足は、幅の広いマザーバーよりもはるかにタイトなストップを示唆する可能性があります。リスクと執行を一致させずにヘッドラインリターンを比較すると、パターン定義にサイズ効果を帰属させることができます。
出来高の収縮は情報を加えるか
提案する特徴量は、設定足の出来高を直前20本の出来高中央値で割った値と、突破時のRVOLです。試験的なしきい値は設定時に基準の0.8未満、突破時に1.5超などです。日中比較は時間帯の季節性を考慮し、静かな昼の活動を自動的に買い集めと解釈しません。
最低流動性フィルターと異常取引量フィルターは別々に設定してください。ほとんど取引されていない資産でも、スプレッドが想定ストップ距離を大きく超えると、NR7のような値を簡単に生成してしまう可能性があります。取引コストは、一見少額に見えるドル単位の手数料だけでなく、各取引の初期R単位で報告してください。
終値確定注文の場合、ブレイクアウトバーの全出来高は終値後に利用可能になります。事前に発注された保留注文は、発注時点で判明している情報(例えば、比較可能な部分ベースラインに対する部分出来高など)のみを使用できます。最終出来高に基づいて、以前に約定した注文が存在したかどうかを判断しないでください。
収縮ボリュームと拡張ボリュームを組み合わせる前に、それぞれ個別にテストしてください。そうしないと、組み合わせたブランチが成功したとしても、どちらの機能が予測情報を追加するのか、あるいは単に機会数を減らすだけなのかを判断できません。ボリュームのアブレーション全体を通して、境界、リスク予算、および出口戦略を同じに保ってください。
相関関係のあるろうそくではなく、収縮エピソードを数える
連続するNR7バーは、1つのエピソードに属するか、文書化されたリセットポリシーに従う必要があります。同じ領域の各バーに対して独立したトレードを1つ開始すると、強い依存関係を維持しながら見かけ上のサンプルサイズが増加します。戦略に合致する場合は、parent_setup_idと共有リスク予算をエピソードに保存してください。
同じデータでinsideのみ、NR7のみ、両方を満たす群を比較します。七本中最小という条件を要求せず、同じ程度の狭い値幅を突破する対照を加えます。NR7のラベルが単に小さい絶対幅やATR正規化幅を超えて情報を加えるか検証します。
未約定でシグナルなく期限切れとなる設定も含め、約定率、往復に振られる頻度、純期待値、ドローダウン、待ち時間を報告します。急伸の突破図だけでは、実運用の採算を左右する静かな例と失敗例が抜けます。
実装フィクスチャは、ネストされたマザーバー、ブレイク直前の有効期限切れ、両側の変動、欠落バー、境界での等価性を再生する必要があります。次に、コスト、1バーのレイテンシ、エントリーを超えたギャップをテストします。実行レイヤーがさまざまな実行可能な結果を報告できるようにしながら、検出器ラベルは変更しないでください。
よくある落とし穴
NR7 を ATR1 と同一視する
ギャップがあるとtrue rangeはH−Lと異なるため、検出器が選ぶ足も異なり得ます。
ストップロスは小さい方が常に良いと仮定する
小さなストップロスでも、スプレッドとスリッページがR単位でのパフォーマンスを支配する可能性があります。
利益ラベルにおけるパス順序の無視
日々の OHLC の要約では、注文が有利な順序で約定したことを証明することはできません。
この手法を使う前のチェックリスト
ご自身のデータで確認した項目にチェックを入れてください。進捗はこのブラウザに保存されますが、戦略の収益性を認定するものではありません。
よくある質問
インサイドバーは強気シグナルですか、それとも弱気シグナルですか?
方向性には依存しない。先行する文脈や後続の展開によって方向性が示される場合もあるが、その追加ルールは明示的でなければならない。
ブレイクアウトの方向は両方ともトレード可能ですか?
両方向の設計はOCOと建玉リスクのモデルで研究できます。本基準は各設定で最初に適格となるトリガー一回だけを許可します。
研究資料
各資料は、その横に記載された定義や根拠を支えています。擬似コード、架空の例、提案パラメータは別途検証が必要です。
- Narrow Range Day NR7StockCharts ChartSchool. 提供者の説明とスキャン条件を確認しました。参照されるCrabelの本は全文を読んでいません。 確認日: .
- NR4 / NR7 + Inside BarAtma_Sakshatkar on TradingView. 作者の説明を読みました。スクリプトの実行や監査はしていません。 確認日: .
- Pine Script: StrategiesTradingView. 注文モデルと足内データの制約を確認しました。 確認日: .
関連する手法
リスクについて
この内容は学習と研究設計を目的とし、金融上の助言ではありません。Backtestは過去データのシミュレーションであり、将来の成果を保証せず、実際の売買注文も行いません。このライブラリの手法が、そのままアプリで利用できる機能とは限りません。関連情報: 検証方法 および 学習センター.
実際の資金を使う前にルールを検証する
アプリの対応範囲、データ、個々の模擬取引を確認してください。高度な検出手法は別途実装が必要な場合があります。
App StoreでBacktestをダウンロード