
Esta estratégia é uma estratégia de negociação baseada no cruzamento de médias móveis lisas. Utiliza a média móvel indexada de 50 ciclos (EMA) como principal indicador técnico, fazendo um ganho quando a linha de preço atravessa o EMA de baixo para cima e um ganho quando a linha de preço atravessa o EMA de cima para baixo.
A idéia central é usar a EMA de 50 ciclos como uma ferramenta para determinar a tendência dos preços. A linha EMA pode suavizar os preços, removendo o ruído do mercado a curto prazo e refletindo a direção da tendência dos preços a longo prazo.
A estratégia inclui, em particular:
Parâmetro de entrada: O comprimento do ciclo do EMA é de 50。
Indicadores de cálculo: a chamada da função ta.ema calcula o EMA de 50 ciclos.
Condições de entrada: o preço acima da linha EMA gera um sinal de múltiplos e o preço abaixo da linha EMA gera um sinal de vazio.
Condições de saída: o preço mais alto / mais baixo registrado no momento da entrada, e o preço quebra esse preço no futuro.
Visualização: traçar as linhas EMA e marcar os pontos de entrada e saída com mais vagas.
Através deste método, podemos negociar de forma aleatória, seguindo a direção da tendência, e fazer um stop loss e um retiro em tempo hábil quando o preço começa a mudar.
A estratégia de cruzamento do EMA tem várias vantagens significativas em relação a outros indicadores e estratégias:
Simples e intuitivoO indicador central tem apenas uma linha EMA, é fácil de entender e operar. Não há complexidade no indicador.
Adaptação flexívelA duração do ciclo da EMA é muito flexível e pode ser adaptada a diferentes mercados e variedades.
Aprender com as tendências│ │ │ │ │ │ │ │ │ │ │ │
Retirar o controlo│ │ │ │ │ │ │ │ │ │ │
A estratégia também apresenta alguns riscos, incluindo:
A tendência está errada.Quando os preços estão em forte flutuação, a linha EMA não consegue capturar o ponto de viragem em tempo hábil, podendo perder o momento da mudança de tendência. Pode ser verificada em combinação com outros indicadores, como a faixa de Brin.
Parar cedo.O ponto de parada pode ser o preço mais alto / mais baixo quando o sinal de parada é obtido diretamente. Pode ser mais fácil de alcançar e parar prematuramente. Pode ser considerado o uso de métodos como o stop loss móvel e o alargamento do alcance do stop loss.
Ajustes de parâmetros❚ O ciclo inadequado do EMA pode causar vários sinais errados. ❚ O parâmetro do EMA precisa ser ajustado para diferentes ciclos e flutuações do mercado. ❚
A estratégia ainda tem espaço para ser melhorada:
Combinação de sinais de verificação de indicadores de correia de Brin para evitar que a linha EMA produza sinais errados.
Melhorar o mecanismo de parada de prejuízos, usando métodos como parada móvel, reverter a parada de flutuação e evitar a parada prematura.
Optimizar os parâmetros do EMA de acordo com o mercado e a variedade de negociação para encontrar o ciclo mais adequado.
Adição do módulo de otimização automática de parâmetros, permitindo que a estratégia busque a melhor combinação de parâmetros.
Esta estratégia baseia-se em EMA para determinar a direção da tendência de preços, com base em Gold e Dead. A estratégia é simples e fácil de operar, pode ser usada para capturar tendências de preços, parar e controlar o risco de perda. A estratégia também pode ser otimizada ainda mais, combinando mais sinais de filtragem de indicadores, melhorando o mecanismo de parada, etc.
/*backtest
start: 2022-11-17 00:00:00
end: 2023-11-23 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("EMA 50 Crossover Strategy", shorttitle="EMA 50 xover", overlay=true)
// Input for EMA length
emaLength = input(50, title="EMA Length")
// Calculate EMA 50
ema50 = ta.ema(close, emaLength)
// Define conditions for long entry
longCondition = ta.crossover(close, ema50)
// Define conditions for short entry
shortCondition = ta.crossunder(close, ema50)
// Calculate the high of the signal candle for long entry
var float longSignalHigh = na
if (longCondition)
longSignalHigh := high
// Calculate the low of the signal candle for short entry
var float shortSignalLow = na
if (shortCondition)
shortSignalLow := low
// Long entry
plotshape(series=longCondition, title="Long Entry Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
// Short entry
plotshape(series=shortCondition, title="Short Entry Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)
// Exit conditions
longExitCondition = ta.crossunder(close, longSignalHigh)
shortExitCondition = ta.crossover(close, shortSignalLow)
// Plot exit signals
plotshape(series=longExitCondition, title="Long Exit Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)
plotshape(series=shortExitCondition, title="Short Exit Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
// Strategy entry and exit logic
strategy.entry("Long", strategy.long, when=longCondition)
strategy.entry("Short", strategy.short, when=shortCondition)
strategy.close("Long", when=longExitCondition)
strategy.close("Short", when=shortExitCondition)
// Plot EMA 50
plot(ema50, title="EMA 50", color=color.blue)