즉각적인 브레이크아웃 변동성 EMA 추세 전략


생성 날짜: 2024-01-15 12:00:25 마지막으로 수정됨: 2024-01-15 12:00:25
복사: 0 클릭수: 371
1
집중하다
1166
수행원

즉각적인 브레이크아웃 변동성 EMA 추세 전략

개요

이 전략은 간단한 돌파구 전략으로, 두 개의 다른 0 시간 지연 EMA의 차이를 사용하여 목표물의 상승 또는 하락의 동력을 추적한다. 이 차이는 특정 배수를 초과할 때, 기본 EMA의 방향에 따라 더 많은 또는 더 적은 신호를 생성한다.

전략 원칙

이 전략은 두 가지 특별한 유형의 EMA 지표를 사용하여 변동률 차이를 계산합니다. 두 가지 EMA 지표의 계산 공식은 다음과 같습니다.

hJumper = math.max(src,ta.ema(src,lx)) 

lJumper = math.min(src,ta.ema(src,lx))

dif = (hJumper / lJumper) - 1

이 지표는 가격의 급격한 변동에 즉각적으로 반응하고, 지연되지 않습니다.

Dif가 부린 띠의 궤도에 오르기를 초과할 때, 입구 신호를 발생시킨다. Dif가 부린 띠의 중간 궤도에 오르기를 초과할 때, 출구 신호를 발생시킨다. 기본 EMA 방향은 더 많은 것을 결정하거나 공백 방향을 결정한다.

우위 분석

이 전략의 가장 큰 장점은 브레이크 신호를 빠르게, 지연없이 포착하는 것입니다. 이것은 두 개의 특별한 0 시간 지연 EMA를 계산하여 실현됩니다. 이것은 전략이 가격의 브레이크 사건에 즉각적으로 반응 할 수있게하여 트렌드 형성 초기에 더 높은 효율성을 포착 할 수 있습니다.

또 다른 장점은 이 전략은 오직 하나의 변수 lx ≠를 사용한다는 것이다. 변수가 적은 것은 전략을 쉽게 조정할 수 있게 하고, 과도한 최적화의 위험을 줄일 수 있다.

위험 분석

이 전략의 주요 위험은 파격 신호가 가짜 파격으로 발생할 수 있다는 것입니다. 가격이 흔들릴 때, 가짜 파격이 연속으로 발생할 수 있습니다. 이러한 위험을 줄이기 위해, 부린 대역 배수를 적절하게 확대하여 신호를 더 안정적으로 만들 수 있습니다.

또 다른 위험은 충격적인 상황에서 자주 발생하는 작은 손실이다. 이것은 출전 메커니즘을 조정하여 완화 할 수 있다. 예를 들어, 스톱 손실 또는 스톱 가격 설정한다.

최적화 방향

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

  1. 다른 지표와 함께 진입 신호를 필터링하여 가짜 돌파의 가능성을 줄입니다.

  2. 더 많은 손해 방지 장치와 포지션 리스크 관리

  3. 거래량 확인을 도입하여 수많은 가짜 신호를 방지합니다.

  4. 적응형 브린 대역을 사용하여 시장의 변동에 따라 변수를 조정합니다.

  5. 기계 학습 방식에 기반한 동적으로 최적화 전략 파라미트

요약하다

이 즉각적인 돌파 변동률 EMA 전략은 0 시간 지연의 EMA를 계산하여 가격 경향의 동력을 포착하는 것으로 반응 속도가 빠르고, 매개 변수가 간단하다는 장점이 있습니다. 다음 단계는 필터링 신호, 손실 중지, 거래량 확인 등의 측면에서 최적화 될 수 있으므로 전략은 다양한 시장 환경에서 안정적으로 작동 할 수 있습니다.

전략 소스 코드
/*backtest
start: 2024-01-07 00:00:00
end: 2024-01-14 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © wbburgin

//@version=5
strategy("Zero-lag Volatility-Breakout EMA Trend Strategy",overlay=false)

tt1 = "If selected, the strategy will not close long or short positions until the opposite signal is received. This"+
 " exposes you to more risk but potentially could generate larger returns."

src = input.source(close,"Source")
lx = input.int(200,"EMA Difference Length")
bbmult = input.float(2.0,"Standard Deviation Multiple")
useBinaryStrategy = input.bool(true,"Use Binary Strategy",tooltip = tt1)

hJumper = math.max(src,ta.ema(src,lx))
lJumper = math.min(src,ta.ema(src,lx))

dif = (hJumper / lJumper) - 1

[bbm,bbu,bbl] = ta.bb(dif,lx,bbmult)

plot(dif,color=color.white,title="Zero lag EMA Difference")
plot(bbu,color=color.lime,title="Bollinger Top")
plot(bbl,color=color.red,title="Bollinger Bottom")
plot(bbm,color=color.yellow,title="Bollinger Middle")

sigEnter = ta.crossover(dif,bbu)
sigExit = ta.crossunder(dif,bbm)
emaBase = ta.ema(src,lx)
enterLong = sigEnter and emaBase > emaBase[1]
enterShort = sigEnter and emaBase < emaBase[1]

plotshape(enterLong,style=shape.labelup,location=location.bottom,color=color.green,size=size.tiny)
plotshape(enterShort,style=shape.labeldown,location=location.top,color=color.red,size=size.tiny)

if enterLong
    strategy.entry("Long",strategy.long)
if enterShort
    strategy.entry("Short",strategy.short)
if not useBinaryStrategy and sigExit
    strategy.close("Long")
    strategy.close("Short")