리소스 로딩... 로딩...

이중 EMA 크로스오버 브레이크아웃 전략

저자:차오장, 날짜: 2023-11-28 15:39:37
태그:

img

전반적인 설명

듀얼 EMA 크로스오버 브레이크아웃 전략은 신뢰성을 향상시키기 위해 거래량 브레이크아웃, 촛불 패턴 및 가격 브레이크아웃 필터와 결합하여 빠르고 느린 EMA 라인의 크로스오버를 기반으로 구매 및 판매 신호를 생성합니다. 여러 가지 기술적 인 지표를 통합함으로써 위험을 제어하는 동시에 트렌드를 식별하는 것을 목표로합니다.

원칙

듀얼 EMA 크로스오버 브레이크아웃 전략의 핵심 논리는 두 개의 EMA의 황금 크로스오버 이론에 있다. 이론은 단기 EMA가 장기 EMA를 넘어서면 상승 추세를 나타내고, 따라서 긴 포지션을 설정해야 한다고 믿는다. 단기 EMA가 장기 EMA를 넘어서면 하락 추세를 나타내고, 따라서 짧은 포지션을 설정해야 한다고 믿는다.

특히, 전략은 먼저 9주기 및 21주기 EMA를 계산한다. 9-EMA가 21-EMA를 넘을 때, 신호가 생성된다. 9-EMA가 21-EMA를 넘을 때, 쇼트 신호가 생성된다. 거짓 신호를 필터링하기 위해, 다음과 같은 조건을 확인한다:

  1. 부피 조건 - 최근 촛불의 부피는 이전 5 개의 촛불의 평균 부피의 85%를 초과해야합니다. 이것은 충분한 거래 부피가없는 신호를 필터합니다.

  2. 가격 유출 조건 - 진입 확인으로 9-EMA를 넘어야 합니다.

  3. 촛불 패턴 상태 - 부등 또는 하락 반전 패턴을 식별하고, 옆 시장에서 윙스를 피합니다.

긴 포지션은 가격이 9-EMA 이하로 떨어질 때 종료됩니다. 짧은 포지션은 가격이 9-EMA 이상으로 떨어질 때 종료됩니다.

이점 분석

여러 기술 지표의 신호를 결합함으로써, 이중 EMA 크로스오버 브레이크아웃 전략은 트렌드를 효과적으로 식별하고 승률을 향상시킬 수 있습니다. 주요 장점은 다음과 같습니다.

  1. 주요 트렌드 방향을 결정하기 위해 이중 EMA를 사용하는 것은 매우 신뢰할 수 있습니다.

  2. 부피 필터를 추가하면 부피가 충분하지 않을 때 잘못된 신호를 피할 수 있습니다.

  3. 촛불 패턴 필터를 추가하면 범위 시장의 소음이 제거됩니다.

  4. 가격 폭등 이후의 진입은 동향을 확인합니다.

  5. 스톱 로스 메커니즘은 위험을 적극적으로 통제합니다.

위험 분석

이 전략에는 여전히 몇 가지 위험이 있습니다.

  1. EMA는 불안정한 시장에서 잘못된 신호를 생성하여 손실을 유발할 수 있습니다. 전반적인 트렌드 판단은 포지션 개설에 대한 결정을 도울 수 있습니다.

  2. 고정 EMA 기간은 변화하는 시장에 적응하지 못할 수 있습니다. 적응 가능한 EMA는 테스트 할 수 있습니다.

  3. 여전히 촛불 패턴을 잘못 식별할 가능성이 있습니다.

  4. 전략은 일부 가격 움직임을 놓치고 불완전한 트렌드 추적을 가질 수 있습니다. 매개 변수 조정 또는 다른 전략과 결합하는 것이 도움이 될 수 있습니다.

최적화 방향

주요 최적화 방향은 다음과 같습니다.

  1. 최적의 매개 변수를 찾기 위해 더 많은 EMA 조합을 테스트합니다.

  2. 변화하는 시장 조건에 따라 적응 가능한 EMA를 추가합니다.

  3. 다른 시장 조건에 따라 포지션 사이즈를 최적화합니다.

  4. MACD, KDJ와 같은 더 많은 지표를 통합하여 앙상블 전략을 형성합니다.

  5. 탄력성을 높이기 위해 기계 학습 모델을 도입합니다.

결론

듀얼 EMA 크로스오버 브레이크아웃 전략은 듀얼 EMA 방향 분석을 사용하여 트렌드를 효과적으로 식별하고 위험을 제어하는 동시에 효율성을 향상시키기 위해 여러 볼륨 / 가격 / 패턴 필터를 추가합니다. 최적화 유연성으로 구현하기 쉽고, 권장되는 브레이크아웃 트렌드 다음 전략입니다.


/*backtest
start: 2023-11-20 00:00:00
end: 2023-11-27 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
//Author: Andrew Shubitowski
strategy("Buy/Sell Strat", overlay = true)

//Define EMAs & Crossovers (Feature 2)
a = ta.ema(close, 9)
b = ta.ema(close, 21)
crossUp = ta.crossover(a, b)
crossDown = ta.crossunder(a, b)


//Define & calc volume averages (Feature 1)
float volAvg = 0
for i = 1 to 5
    volAvg := volAvg + volume[i]
volAvg := volAvg / 5

//Define candlestick pattern recongition (Feature 4)
bool reversalPatternUp = false
bool reversalPatternDown = false
if (close > close[1] and close[1] > close [2] and close[3] > close[2] and close > close[3])
    reversalPatternUp := true
    
if (close < close[1] and close[1] < close [2] and close[3] < close[2] and close < close[3])
    reversalPatternDown := true

//Execute trade (Feature 3 + 5)
if (crossUp)
    strategy.entry("long", strategy.long, when = ((volume * 0.85) > volAvg and close > a and reversalPatternUp == true))
    
if (crossDown)
    strategy.entry("short", strategy.short, when = ((volume * 0.85) > volAvg and close < a and reversalPatternDown == true))
    
//Exit strategy (New Feature)
close_condition_long = close < a
close_condition_short = close > a
if (close_condition_long)
    strategy.close("long")

if (close_condition_short)
    strategy.close("short")

//plot the EMAs
plot(a, title = "Fast EMA", color = color.green)
plot(b, title = "Slow EMA", color = color.blue)


//Some visual validation parameters
//plotchar(volAvg, "Volume", "", location.top, color.aqua) //*TEST* volume calc check
//plotshape(reversalPatternUp, style = shape.arrowup, color = color.aqua) //*TEST* reversal check
//plotshape(reversalPatternDown, style = shape.arrowup, location = location.belowbar, color = color.red) //*TEST* reversal check

더 많은