ブレイクバック・ストーム戦略は,短期的な逆転の中で隠された爆発的な動きを把握するために,価格ブレイクアウト後の引き戻し機会を捕捉することに特化したものです.価格が以前のサポートレベルに戻ったときに上昇ブレイクアウトの後も,価格が以前のレジスタンスレベルに戻ったときに下落ブレイクアウトの後も,長期に渡るトレンド決定と逆転シグナルを組み合わせます.この戦略は,厳格なブレイクアウト検証を通じてほとんどの偽ブレイクをフィルタリングし,高品質のエントリを確保します.
ストラテジーは2つの主要なトリガーに基づいています:長期間の最近の高低ブレイクと短期間の引き下げパターン.具体的には,最初に価格が80期高を突破してより高い時間枠からの上昇傾向を決定することを要求します.次に,価格が前日の高を突破して短期的な上昇ブレイクを確認することを要求します.その後,価格がブレイク後に前日の低を下に閉じるときにロングシグナルが起動します.
ショートシグナルは対称的に動作し,最近の低ブレイクと前日の高値へのブーブが必要である.この組み合わせは,トレンド方向とエントリーポイントのタイミングの質を保証し,トレンドの大半を把握し,ミドルを回避する.
この戦略は,二方向取引とブレイクアウトの概念を重要な利点を組み合わせています.
80期フィルターは,短期間のノイズにおけるほとんどの誤ったブレイクを回避する.前日の極点を突破することで,短期間のトレンド進化を信頼的に捕捉する.このような品質のシグナルは,取引の方向的精度を保証する.
ストップ・ロスの一定バッファを提供するプルバックエントリは,その後トレンドの中央部分の大部分を捕捉します.これは戦略の収益性の安定を保証します.
最後に,タイムアウトメカニズムは 利益とリスクコントロールの要素を 既定の結果シナリオによってバランス付けし,感情的干渉を最小限に抑えます
しかし,この戦略にはいくつかのリスクがあります.
第"のリスクは,引き下げ入場設定から来ます. 同期上向きと下向きの波が市場に出現すると,両側からの入場信号が混雑し,両側からの入場を防ぐことができます.
この問題は,出口フィルターを調整し,信号を隔離する最小のブレイクアウト範囲を設定することで回避できます.
2つ目のリスクは,頻繁な逆転によるスウィップソーに関連しています.過剰な長/短スイッチはコストと実際の損失を増加させます.
これは,保持期間とストップ損失パラメータを調整して,不要な出口を最小限に抑える事で削減できます.
最後に,その後の逆転勢力は,統合範囲内で十分な大きさがない場合もあります.追加の長期トレンドメトリックは,低品質のセットアップを避けるのに役立ちます.
分析に基づいて,次の最適化を行う:
利益停止またはブレイク・イブンストップを動かすことは,まず利益を固定し,リトレースを避けることができます.
ATRやRVIのような変動指標は,低機会期を避けるために振動レジミンを測定することもできます.
最後に,季節変化の周りの周期的な傾向は,副作用を最小限に抑えるために,より大きなトレンドスペースを提供します.
一般的に,ブレイクバックストーム戦略は,トレンドブレイク後の短期的なトレンド逆転機会を把握することを目的としている.長期的トレンドフィルター,短期的逆転信号,ブレイクアウト検証,プルバックエントリを組み合わせることで,より大きなトレンド動きの中でトレードプルバックをトレードするための堅牢な枠組みを提供します.適切な利益採取,変動指標,季節フィルターで最適化された場合,そのような枠組みはさまざまな市場条件で安定した利益を生むことができます.
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-31 00:00:00 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("Smash Day Pattern (Type B)", overlay=true, default_qty_type = strategy.fixed, default_qty_value = 1, initial_capital = 10000) in1 = input(40, "Max Days to Hold") - 1 isLong = strategy.position_size > 0 isShort = strategy.position_size < 0 longTrigger = close[1]<low[2] shortTrigger = close[1]>high[2] longFilter = close[1] > close[80] shortFilter = close[1] < close[80] longEntry = (not isLong) and longTrigger and longFilter shortEntry = (not isShort) and shortTrigger and shortFilter longStop = valuewhen(longEntry, low[1], 0) longPrice = valuewhen(longEntry, high[1], 0) shortStop = valuewhen(shortEntry, high[1],0) shortPrice = valuewhen(shortEntry, low[1], 0) strategy.entry(id = "Long", long = true, stop = longPrice+.001, when = longEntry) strategy.exit(id = "Stop Long", from_entry = "Long", stop = longStop, when = isLong) strategy.close("Long", barssince(longEntry==true)>=in1) strategy.entry(id = "Short", long = false, stop = shortPrice-.001, when = shortEntry) strategy.exit(id = "Stop Short", from_entry = "Short", stop = shortStop, when = isShort) strategy.close("Short", barssince(shortEntry==true)>=in1)