Esta é uma estratégia de tendência baseada em linhas EMA. Ela usa duas linhas EMA com períodos diferentes, 21 e 55. Quando a linha EMA mais rápida cruza acima da linha EMA mais lenta, um sinal de compra é gerado. Quando a EMA mais rápida cruza abaixo da mais lenta, um sinal de venda é gerado.
Além disso, a estratégia incorpora a negociação reversa, o ATR stop loss e a reversão do lucro para melhorar a sua estabilidade e rentabilidade.
Utilize as linhas EMA de 21 e 55 períodos.
Quando 21 EMA cruza acima de 55 EMA, indica que a tendência de curto prazo muda para cima, gerando um sinal de compra.
Quando a 21 EMA cruza abaixo da 55 EMA, indica que a tendência de curto prazo vira para baixo, gerando um sinal de venda.
Negociação reversa: só compra quando o preço está abaixo do preço de abertura e só vende quando o preço está acima do preço de abertura.
ATR stop loss: usar N vezes ATR para definir o preço de stop loss. Isso ajusta dinamicamente o stop loss com base na volatilidade do mercado.
Reversão de lucro: use o preço de entrada menos N vezes ATR como meta de lucro.
Captura as tendências de médio e longo prazo utilizando uma EMA dupla.
A negociação reversa é adequada para operações de retrocesso de curto prazo de tendências.
A parada ATR adapta-se à volatilidade do mercado.
A reversão do lucro está perto de níveis técnicos importantes com maior probabilidade.
Lógica simples e clara, fácil de entender e modificar.
Aplicável a mercados altamente voláteis como as criptomoedas.
A dupla EMA pode gerar sinais falsos e prolongar os períodos de EMA.
Os negócios reversos são propensos ao stop loss, podem afrouxar um pouco o stop loss.
Falsas fugas acontecem com frequência.
Risco elevado em tomadas de lucro, remova manualmente as ordens de tomadas de lucro a tempo.
Adicione indicadores como MACD, KD para filtrar sinais em zonas de sobrecompra/supervenda.
Adicione mais EMA como 120 período EMA para julgar a tendência de forma abrangente.
Configure deslizamento diferente para longs e shorts para melhor preço de entrada.
Relaxar o ATR stop loss para negociações de criptomoedas altamente voláteis.
Otimizar os mecanismos de multiplicador de ATR e de trailing stop para obter o máximo de lucro e o mínimo de utilização.
Em conclusão, esta é uma estratégia de seguimento de tendência dual EMA relativamente simples. Sua força reside em lógica limpa, parâmetros flexíveis, aplicabilidade em tendências de médio a longo prazo e reversões de curto prazo. Também analisamos suas possíveis fraquezas e soluções, juntamente com várias recomendações para melhorias futuras. De um modo geral, esta estratégia é prática até certo ponto e tem espaço para evoluir, mas seus parâmetros precisam de ajustes para diferentes mercados.
/*backtest start: 2022-11-21 00:00:00 end: 2023-11-27 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © TheHulkTrading // Simple EMA strategy, based on ema55+ema21 and ATR(Average True Range) and it enters a deal from ema55 when the other entry conditions are met //@version=4 strategy("Simple Ema_ATR Strategy HulkTrading", overlay=true) atr_multiplier = input(2, minval=1, title="ATR Multiplier") // ATR Multiplier. Recommended values between 1..4 emaFast=ema(close,21) emaSlow=ema(close,55) //Basically long and short conditions //If long: // 1) close must be less than open (because we are searching for a pullback) // 2) emaFast(21) must be bigger than emaSlow(55) - for a trend detection // 3) Difference between emaFast and emaSlow must be greater than ATR(14) - for excluding flat longCond = close < open and emaFast > emaSlow and abs(emaSlow-emaFast) > atr(14) //For short conditions are opposite shortCond = close > open and emaFast < emaSlow and abs(emaSlow-emaFast) > atr(14) //Stop levels and take profits, based on ATR multiplier stop_level_long = strategy.position_avg_price - atr_multiplier*atr(14) take_level_long = strategy.position_avg_price + atr_multiplier*atr(14) stop_level_short = strategy.position_avg_price + atr_multiplier*atr(14) take_level_short = strategy.position_avg_price - atr_multiplier*atr(14) //Entries and exits strategy.entry("Long", strategy.long, when=longCond, limit = emaSlow) strategy.exit("Stop Loss/TP","Long", stop=stop_level_long, limit = take_level_long) strategy.entry("Short", strategy.short, when=shortCond, limit = emaSlow) strategy.exit("Stop Loss/TP","Short", stop=stop_level_short, limit = take_level_short)