바 범위 내부의 돌출 전략

저자:차오장, 날짜: 2023-12-11 15:16:53
태그:

img

전반적인 설명

인더 바 범위 브레이크아웃 전략은 인더 바 패턴을 기반으로 거래 결정을 내리는 가격 행동 전략이다. 현재 바의 범위가 높은 것과 낮은 사이의 차이로 측정되어 이전 바의 범위보다 작을 때 발생합니다. 이는 시장의 통합 또는 불결정성을 나타냅니다. 이전 바의 높거나 낮은 위 또는 아래의 브레이크아웃은 브레이크아웃 방향의 잠재적 진입 신호를 제공합니다.

전략 논리

이 전략은 다음의 지표와 변수를 이용합니다.

  • 평균 실제 범위 (ATR): ATR 함수를 사용하여 계산된 지난 N 바의 평균 실제 범위.
  • 범위: 전류 바의 높음과 낮음 사이의 차입니다.
  • insideBar: 현재 바의 범위가 이전 바보다 작으면 true인 boolean 변수, 내부 바를 나타냅니다.
  • breakoutUp: close가 이전 바의 높이에 비해 높으면 true가 되는 boolean 변수, 이는 상향적인 브레이크업을 나타냅니다.
  • breakoutDown: close가 이전 바의 낮보다 낮으면 true가 되는 boolean 변수, 이는 하향적인 브레이크오웃을 나타냅니다.
  • 유동성 위: 전 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)

더 많은