이 전략은 중장기 시장 트렌드를 포착하기 위해 서로 다른 기간 (144 일, 34 일, 76 일) 을 가진 세 개의 EMA 라인을 사용합니다. 또한 30 일 최고 가격 및 최저 가격 EMA 라인을 단기 장기 및 단기 신호로 통합합니다. 폐쇄 가격이 단기 장기 신호 이상으로 넘으면 긴 포지션을 개척합니다. 폐쇄 가격이 단기 단기 신호 아래로 넘으면 포지션을 닫습니다. 이 접근법은 주요 시장 트렌드를 파악하면서 유연한 위치 관리를 허용합니다.
EMA 크로스오버와 단기 신호 전략은 다 기간 EMA 라인을 통해 시장 트렌드를 포착하고 단기 가격 신호를 사용하여 유연한 포지션 관리를 달성합니다. 이것은 트렌드 추적과 스윙 트레이딩을 결합하는 방법입니다. 그러나이 전략에는 지연, 빈번한 거래 및 리스크 제어 부족과 같은 문제도 있으며, 안정성과 수익성을 향상시키기 위해 추가 최적화가 필요합니다. 트렌드 판단의 더 많은 차원을 도입하여 신호 매개 변수를 동적으로 조정하고 합리적인 스톱 로스 및 영리 메커니즘을 통합하여이 전략을 더 완전하고 신뢰할 수 있습니다.
/*backtest start: 2023-05-17 00:00:00 end: 2024-05-22 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("EMA Crossover with Short-term Signals", overlay=true) // 定义EMA shortest = ta.ema(close, 144) short = ta.ema(close, 34) longer = ta.ema(close, 76) // 绘制EMA plot(shortest, color=color.new(color.yellow, 0)) plot(short, color=color.new(color.orange, 0)) plot(longer, color=color.new(color.red, 0)) // 定义短线多空信号的EMA stLong = ta.ema(high, 30) stShort = ta.ema(low, 30) stLongPlot = plot(stLong, '短线多', color.new(color.aqua, 0)) stShortPlot = plot(stShort, '短线空', color.new(color.green, 0)) // 绘制短线多空信号 clr = close > stLong ? color.green : color.aqua fill(stLongPlot, stShortPlot, color=clr, transp=90) // 交易信号 if (close > stLong) strategy.entry("Buy", strategy.long) if (close < stShort) strategy.close("Buy") // 显示买卖信号 plotshape(series=close > stLong, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY") plotshape(series=close < stShort, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")