이 전략은 두 개의 이동 평균 (EMA) 의 교차를 기반으로 거래 신호를 생성합니다. 단기 EMA (20 일) 가 장기 EMA (50 일) 를 넘을 때 구매 신호가 유발됩니다. 단기 EMA가 장기 EMA를 넘을 때 판매 신호가 유발됩니다. 또한 전략은 장기 트렌드의 참조로 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")