内部バー範囲のブレイク戦略

作者: リン・ハーンチャオチャン,日付: 2023年12月11日 15:16:53
タグ:

img

概要

インサイドバーレンジブレークアウト戦略は,インサイドバーパターンに基づいて取引決定を行う価格アクション戦略である.現在のバーの範囲が,高値と低値の違いによって測定され,前回のバーの範囲よりも小さいとき,市場における統合または不確定性を示す.前回のバーの高値または低値の上または下でのブレークアウトは,ブレークアウトの方向への潜在的なエントリーシグナルを提供します.

戦略の論理

戦略は以下の指標と変数を使用します.

  • 平均真距離 (ATR): ATR関数を使用して計算された過去Nバーにおける真距離の平均.
  • 範囲:電流バーの高値と低値の差
  • insideBar: 現在のバーの範囲が前のバーより小さい場合, true であるブーール変数で,インサイドバーを示します.
  • breakoutUp: Close が前のバーs の高値よりも高く,上向きの breakout を示す場合, true であるブル変数.
  • breakoutDown: Close が前回のバーの低値より低い場合, true であるブル変数,ダウンブレイクを示します.
  • liquidityUp: 過去のNバーよりも高い値で,潜在的なレジスタンスエリアを表します.
  • 低流動性: 過去のNバーの最低値で,潜在的なサポートエリアを表します.

入場決定は,前回のバーの高/低を超えた範囲のブレイクに基づいています.特に,上向きのブレイクが発生し,現在の低値が流動性の上にある場合のロングエントリー,下向きのブレイクが発生し,現在の高値が流動性の下にある場合のショートエントリーです.

ストップ・ロスは ATR をレンジで掛けます. 利益を取るのは ATR をレンジで掛けます.

利点分析

この戦略の利点は以下の通りです.

  1. 内部のバーの統合後の範囲拡大からの取引機会を捉える.
  2. 脱出方向と流動性のレベルを組み合わせて 閉じ込められないようにします
  3. 明確なストップ・ロストと 利得のルール 実行が簡単です
  4. 強い方向性があり 目標の利益を達成する確率は高い

リスク分析

この戦略のリスク:

  1. 失敗した脱出で 罠にかかりました 損失額を制限するために 合理的なストップロスを使います
  2. 適正なストップ距離を確保するためにATR期間を調整します.
  3. 流動性のレベルが不正確で 誤ったエントリにつながります. チェックバック期間を最適化してエントリー基準を精査します.
  4. 利益目標を達成できず 利益倍数を合理的な目標に減らした.

オプティマイゼーションの方向性

最適化の分野:

  1. 最大性能のための最適ATR期間を見つける.
  2. 理想的なストップ距離のために 異なるストップ損失倍数をテストします
  3. サイズと確率をバランスするために 利益倍数をテストします
  4. 流動性レベルの精度を高めるため,見直し期間を最適化します.
  5. 音量などのフィルターを追加して 入力のタイミングを改善します
  6. トレンドインディケーターを組み込み トレンドフォローを追加します

概要

インサイドバーレンジブレイクストラテジーは,価格が前のバーレンジを突破したときにエントリーすることによって統合から範囲拡大をキャピタライズする.流動性のレベルは,罠にはまりないようにする.合理的なストップ・ロストとテイク・プロフィート設定は,利益目標に到達するためにブレイクの後の勢いを乗ることを可能にします.この戦略は中間時間枠で良い結果をもたらすことができます.パラメータ最適化とエントリーフィルターの改善を通じて,さらに利点とシステムの強度を向上させることができます.


/*backtest
start: 2022-12-04 00:00:00
end: 2023-12-10 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © ilikelyrics560

//@version=5
strategy("Inside Bar Range Breakout Strategy", overlay=true)

// Inputs
lookback = input.int(20, "Lookback Period", minval=1)
atrMult = input.float(1.5, "ATR Multiplier", step=0.1)
atrLen = input.int(14, "ATR Length", minval=1)
slMult = input.float(2, "Stop Loss Multiplier", step=0.1)
tpMult = input.float(3, "Take Profit Multiplier", step=0.1)

// Variables
atr = ta.atr(atrLen)
Range = high - low 
insideBar = Range < Range[1]
breakoutUp = close > high[1]
breakoutDown = close < low[1]
liquidityUp = ta.highest(high, lookback)
liquidityDown = ta.lowest(low, lookback)
longEntry = breakoutUp and low > liquidityDown
shortEntry = breakoutDown and high < liquidityUp
longExit = close < low[1] 
shortExit = close > high[1]

// Plotting
plot(liquidityUp, "Liquidity Up", color.new(color.green, 30), 1)
plot(liquidityDown, "Liquidity Down", color.new(color.red, 30), 1)
bgcolor(longEntry ? color.new(color.green, 30) : na, title="Long Entry")
bgcolor(shortEntry ? color.new(color.maroon, 30) : na, title="Short Entry")

// Trading
if (longEntry)
    strategy.entry("Long", strategy.long)
    strategy.exit("Long Exit", "Long", stop=low - slMult * atr, limit=high + tpMult * atr)

if (shortEntry)
    strategy.entry("Short", strategy.short)
    strategy.exit("Short Exit", "Short", stop=high + slMult * atr, limit=low - tpMult * atr)

もっと