EMA 더블 이동 평균 교차 전략


생성 날짜: 2024-03-29 15:06:27 마지막으로 수정됨: 2024-03-29 15:06:27
복사: 2 클릭수: 627
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

EMA 더블 이동 평균 교차 전략

개요

이 전략은 두 개의 이동 평균 (EMA) 의 교차를 기반으로 거래 신호를 생성한다. 단기 EMA (20일) 가 아래에서 위쪽으로 긴 EMA (50일) 를 통과하면 구매 신호를 생성한다. 단기 EMA가 위쪽으로 아래로 긴 EMA를 통과하면 판매 신호를 생성한다. 동시에, 이 전략은 200일 EMA를 장기 추세에 대한 참조로 도출한다. 이 전략의 주요 아이디어는 다른 주기 이동 평균의 교차를 사용하여 시장 추세의 변화를 포착하여 거래를 수행하는 것이다.

전략 원칙

  1. 20일 EMA, 50일 EMA, 200일 EMA를 계산한다.
  2. 20일 EMA와 50일 EMA의 교차점을 판단하면:
    • 20일 EMA가 50일 EMA를 아래에서 위로 넘어가면 구매 신호가 발생한다.
    • 20일 EMA가 50일 EMA를 상향에서 아래로 넘어가면 팔기 신호가 발생한다.
  3. 20일 EMA (녹색), 50일 EMA (붉은), 200일 EMA (푸른) 를 그래프에 그려서 그들의 움직임과 교차 상황을 직관적으로 관찰할 수 있다.
  4. 구매 및 판매 신호가 발생했을 때, 해당 구매 (녹색 상위 삼각형) 및 판매 (붉은 하위 삼각형) 표시를 차트에 표시하십시오.

전략적 이점

  1. 간단하고 이해하기 쉬운: 이 전략은 간단한 이동 평균의 교차 원리에 기초하여 이해하기 쉽고 구현하기 쉽습니다.
  2. 트렌드 추적: 단기 및 장기 이동 평균의 교차로, 전략은 시장 추세의 변화를 더 잘 포착 할 수 있으며, 트렌드 시장에서 사용하기에 적합합니다.
  3. 장기 동향 참조: 전략은 200일 EMA를 장기 동향 참조로 도입하여 현재 시장의 큰 환경을 판단하는 데 도움이됩니다.
  4. 직관적인 표시: 전략은 이동 평균과 거래 신호를 차트에 명확하게 표시하여 거래자가 직관적으로 관찰하고 분석 할 수 있습니다.

전략적 위험

  1. 흔들리는 시장: 흔들리는 시장에서, 자주 움직이는 평균의 교차는 더 많은 거짓 신호를 생성할 수 있으며, 전략의 부적절한 성능을 초래한다.
  2. 지연성: 이동 평균은 지연성을 가지고 있으며, 시장의 전환을 놓칠 수 있는 최고의 시간을 놓칠 수 있다.
  3. 매개 변수 민감: 전략의 성과는 이동 평균의 주기적 선택에 의존하며, 다른 주기적 매개 변수는 다른 결과를 초래할 수 있다.

전략 최적화 방향

  1. 다른 지표를 도입: 신호의 신뢰성과 정확성을 높이기 위해 RSI, MACD 등과 같은 다른 기술 지표를 도입하는 것이 고려 될 수 있습니다.
  2. 최적화 변수: 이동 평균의 주기 변수를 최적화하여 현재 시장 상황에 가장 적합한 변수 조합을 찾습니다.
  3. 스톱로스 및 스톱스톱을 포함: 단편 거래의 위험과 수익을 제어하기 위해 전략에 합리적인 스톱로스 및 스톱스톱 메커니즘을 포함합니다.
  4. 동향 판단: 장기 동향 (예: 200 일 EMA) 의 방향에 따라 거래 신호를 필터링하고 동향 방향으로만 거래한다.

요약하다

EMA 쌍평평선 교차 전략은 트렌드 시장에 적합한 간단한 거래 전략이다. 그것은 단기 및 장기 이동 평균의 교차를 사용하여 시장 추세의 변화를 포착하고 장기 트렌드 레퍼런스를 도입한다. 이 전략은 흔들리는 시장에서 좋지 않은 성과와 이동 평균의 후진성과 같은 몇 가지 제한이 있음에도 불구하고, 다른 지표, 최적화 매개 변수, 위험 제어 조치 등을 도입함으로써 전략의 안정성과 수익성을 더욱 향상시킬 수 있다.

전략 소스 코드
/*backtest
start: 2023-03-23 00:00:00
end: 2024-03-28 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("EMA Crossover Strategy by Peter Gangmei", overlay=true)

// Define the length for moving averages
short_ma_length = input.int(20, "Short MA Length")
long_ma_length = input.int(50, "Long MA Length")
long_ma_200_length = input.int(200, "Long MA 200 Length")

// Define start time for testing
start_time = timestamp(2024, 01, 01, 00, 00)

// Calculate current date and time
current_time = timenow

// Calculate moving averages
ema20 = ta.ema(close, short_ma_length)
ema50 = ta.ema(close, long_ma_length)
ema200 = ta.ema(close, long_ma_200_length)

// Crossing conditions
crossed_above = ta.crossover(ema20, ema50)
crossed_below = ta.crossunder(ema20, ema50)

// Entry and exit conditions within the specified time frame
if true
    if (crossed_above)
        strategy.entry("Buy", strategy.long)
        alert("Buy Condition", alert.freq_once_per_bar_close)

    if (crossed_below)
        strategy.entry("Sell", strategy.short)
        alert("Sell Condition", alert.freq_once_per_bar_close)

// Plotting moving averages for visualization
plot(ema20, color=color.green, title="EMA20")
plot(ema50, color=color.red, title="EMA50")
plot(ema200, color=color.blue, title="EMA200")

// Placing buy and sell markers
plotshape(series=crossed_above, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small, title="Buy Signal")
plotshape(series=crossed_below, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small, title="Sell Signal")