
A estratégia usa três EMAs médias de diferentes períodos (de 144, 34 e 76 dias) para capturar tendências de médio e longo prazo no mercado, combinando o EMA médio de 30 dias de preços mais altos e mais baixos como um sinal de alta de curto prazo, abrindo uma posição de alta quando o preço de encerramento quebra um sinal de curto prazo de múltiplos lados e fechando uma posição de baixa quando o sinal de curto prazo de curto prazo é quebrado. Esta abordagem permite uma gestão de posição mais flexível com o uso de sinais de curto prazo, ao mesmo tempo em que capta as principais tendências do mercado.
A estratégia de EMA equilátero cruzado com o sinal de curto prazo, que capta a tendência do mercado através de EMA equilátero de múltiplos períodos e usa sinais de preços de curto prazo para gerenciar posições flexíveis, é uma abordagem que combina o acompanhamento de tendências com a operação de banda. No entanto, a estratégia também apresenta problemas de atraso, negociação frequente e falta de controle de vento, que precisam de ser otimizados para melhorar sua robustez e rentabilidade.
/*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")