적응형 변동성 돌파 전략


생성 날짜: 2024-01-08 14:38:31 마지막으로 수정됨: 2024-01-08 14:38:31
복사: 0 클릭수: 755
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

적응형 변동성 돌파 전략

개요

적응성 변동성 돌파 전략은 트렌드 추적 전략이다. 그것은 강한 상승이 특정 수평 경계를 넘어서는 돌파 신호를 식별하여 다수 포지션을 구축하고 상승 추세를 계속 추적하여 다음 날 상장 할 때 이익을 얻습니다.

이 전략은 Larry R. Williams이 제안한 것으로, 그는 유명한 선물 및 주식 거래자이다. 이 전략은 가격의 돌파구를 포착하려고 한다. 이 돌파구는 종종 시장의 전환을 예고한다. 이러한 신호를 제때 식별하고 포지션을 구축함으로써 새로운 시장의 추세를 추적하여 수익을 얻을 수 있다.

전략 원칙

이 전략의 핵심 지표는 ?? 일정한 수평 ?? 이며, 다음과 같은 공식으로 계산된다:

一定水平 = 收盘价 + k * (最高价 - 最低价)

여기서 k는 0.6의 경험 계수이다. 이 공식에는 최고 가격과 최저 가격의 변동성 요소가 추가되어, 시장의 반복에 적응할 수 있도록 브레이크 포인트를 더 유연하게 만든다.

당일 최고 가격이 계산된 의 일정 수준 을 초과할 때, 가격의 돌파구가 있음을 나타냅니다. 이 때 전략은 다중 포지션을 구축합니다. 다음 날 상장할 때 포지션이 모두 종료됩니다.

스톱 손실 수준은 전날의 최저 가격과 진입 가격의 절반으로 설정되어 손실이 확대되는 것을 막습니다.

우위 분석

이 전략은 다음과 같은 장점을 가지고 있습니다.

  1. 변동성을 포착하기 위해: 전략은 최고 가격과 최저 가격 계산의 돌파구를 추가하여, 돌파구 신호를 더 유연하게 만들어 가격 변화의 속도를 포착할 수 있다.

  2. 적시에 입점하여 트렌드를 추적하세요: 매일의 돌파 신호를 계산하여 새로운 트렌드를 적시에 파악하고 가격 상승 속도를 따라잡을 수 있습니다.

  3. 리스크 컨트롤: 합리적인 스톱 포지션을 설정하여 단독 손실을 효과적으로 제어할 수 있다.

위험 분석

이 전략에는 다음과 같은 위험도 있습니다.

  1. 파격 실패 위험: 가격 파격은 지속적으로 상승할 필요는 없으며, 단기 허위 파격일 수 있다. 이때 손실이 발생한다.

  2. 극단적 상황 위험: 주식 재해, 갑작스러운 사건과 같은 극단적 상황에서는 가격이 파열되고 폭등할 수 있으며, 이로 인해 정지 손실이 유발되어 큰 손실이 발생할 수 있습니다.

  3. 과도한 거래 위험: 매일 매장하고 매장하면 거래 빈도와 수수료 부담이 증가합니다.

전략 최적화

이 전략은 다음과 같은 관점에서 최적화될 수 있습니다.

  1. 곱셈을 추가: 돌파 계산 공식에 곱셈을 추가하여 시장의 변동이 커지면 적절히 축소하고, 시장이 안정되면 적절히 확대하여 전략을 더 탄력하게 만듭니다.

  2. 포지션 보유 기간을 연장: 포지션 보유 기간을 2일 또는 3일로 연장하여 단기 허위 돌파구를 필터링하십시오.

  3. 스톱 포지션을 최적화한다: 스톱 포지션을 부린 반지 하위, 전일 종결 가격 등과 같은 더 깊은 지지 위치에 설정한다.

요약하다

적응적 변동성 돌파 전략은 가격의 변동성과 리듬을 실시간으로 추적함으로써 트렌드 추적을 구현한다. 전통적인 돌파 전략에 비해 더 탄력적이고 포착 능력을 갖는다. 그러나 극단적인 상황에서는 스톱로스가 돌파될 수 있다는 위험도 주의해야 한다. 포지션 보유 시간과 스톱로스 위치 최적화를 통해 더 나은 결과를 얻을 수 있다.

전략 소스 코드
/*backtest
start: 2023-01-01 00:00:00
end: 2024-01-07 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/
// © Dicargo_Beam

//@version=5
strategy("Volatility Breakout Strategy", overlay=true, default_qty_type= strategy.percent_of_equity, default_qty_value=100,process_orders_on_close=false)

k = input.float(0.6)


[o,h,l,c] = request.security(syminfo.tickerid,"D",[open,high,low,close])

lp = math.log(c[1])+(math.log(h[1])-math.log(l[1]))*k
_lp = math.pow(2.718,lp)

longcond = _lp < high
exit = hour==0 or  math.log(close) < (math.log(l[1])+lp)/2



plot(_lp,"Entry",color=color.yellow)
//plot(l,"Yesterday's Low")
plot((_lp+l[1])/2,"StopLoss",color=color.red)


strategy.entry("Long", strategy.long,comment = "Long", when = longcond and strategy.opentrades == 0)

strategy.close("Long", comment="Exit", when = exit)


var bg = 0
bg := if hour == 0
    bg + 1
else
    bg[1]

bgcolor(bg/2== math.floor(bg/2) ? color.new(color.blue,95):na)