
이 전략은 세 개의 다른 주기의 EMA 평균선 ((144일, 34일, 76일) 을 사용하여 시장의 중장기 경향을 포착하고, 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")