Esta estratégia identifica a direção da tendência do mercado através do cruzamento de linhas EMA rápidas e lentas e negocia ao longo da tendência.
A estratégia calcula a EMA rápida (i_shortTerm) e a EMA lenta (i_longTerm) com base em parâmetros de entrada. Quando a EMA de curto prazo cruza acima da EMA de longo prazo (goLongCondition1) e o preço está acima da EMA de curto prazo (goLongCondition2), entra em posição longa. Quando o preço quebra abaixo da EMA de curto prazo (exitCondition2), fecha a posição.
A estratégia é baseada na cruz de ouro das linhas EMA para determinar a principal tendência do mercado e negociar ao longo da tendência. Quando a EMA de curto prazo cruza acima da EMA de longo prazo, sinaliza uma tendência de alta; quando o preço está acima da EMA de curto prazo, indica que a tendência de alta está em andamento, então vá longo. Quando o preço cai abaixo da EMA de curto prazo, sinaliza uma inversão de tendência, então feche a posição imediatamente.
As principais vantagens desta estratégia são:
Utilize o cruzamento da EMA para identificar as principais tendências do mercado, evitando flutuações de curto prazo.
Sensibilidade ajustável na detecção de tendências através de parâmetros EMA rápidos e lentos.
Lógica simples e clara, fácil de compreender e implementar, adequada para iniciantes no comércio de quantidades.
Parâmetros personalizáveis de períodos da EMA para diferentes produtos e mercados.
Controle eficaz do risco através de stop loss quando o preço ultrapassa a linha EMA.
Há também alguns riscos:
Os sinais de cruzamento da EMA atrasados podem causar perdas durante a inversão da tendência.
Uma falsa ruptura acima da EMA de curto prazo pode causar entradas fracassadas.
Ajustes de parâmetros paramédicos inadequados podem prejudicar o desempenho da estratégia.
O desempenho depende fortemente das condições do mercado, não sendo adequado para todos os produtos e períodos.
As medidas de gestão de riscos correspondentes:
Otimizar os parâmetros da EMA para uma melhor sensibilidade às reversões.
Adicionar outros indicadores técnicos para filtrar os sinais de entrada.
Debug e otimização contínuos de parâmetros para diferentes mercados.
Compreender plenamente as condições de mercado aplicáveis antes de aplicar a estratégia.
A estratégia pode ser ainda melhorada nos seguintes aspectos:
Adicione outros indicadores como MACD e KD para filtrar os sinais de entrada.
Implementar stop loss para bloquear lucros e melhor controle de riscos.
Otimizar a colocação de stop loss com o indicador de volatilidade ATR.
Teste e encontre melhores métodos científicos para a regulação dos parâmetros da EMA.
Validar sinais em vários prazos para melhorar a precisão.
Tente modificações BREAKOUT para pegar movimentos maiores durante as fases de aceleração da tendência.
Esta estratégia rastreia efetivamente a tendência do mercado através da negociação em sinais de cruzamento EMA. Com lógica clara e riscos controláveis, é adequado para iniciantes em negociação de quantidade praticarem. Outras otimizações no ajuste de parâmetros, filtragem de entrada, colocação de stop loss podem melhorar o desempenho da estratégia. Mas todas as estratégias têm limitações, os usuários devem aplicar com cautela com base nas condições do mercado quando negociam ao vivo.
/*backtest start: 2023-02-15 00:00:00 end: 2024-02-21 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © pradhan_abhishek //@version=5 strategy('EMA cross-over strategy by AP', overlay=true, shorttitle='EMACS-AP', initial_capital=100000, default_qty_value=100, default_qty_type=strategy.percent_of_equity, commission_value=0.025) // inputs i_shortTerm = input(title='Fast EMA', defval=21) i_longTerm = input(title='Slow EMA', defval=55) // select backtest range: if this is not given, then tradingview goes back since inception / whereever it finds data i_from = input(defval = timestamp("01 Jan 2023 00:00"), title = "From") i_to = input(defval = timestamp("31 Dec 2033 23:59"), title = "To") i_showBg = input(defval = true, title = "Show In-trade / Out-trade background") // create date function "within window of time" date() => true // exponential moving average (EMA) variables, derived from input parameters shortTermEMA = ta.ema(close, i_shortTerm) longTermEMA = ta.ema(close, i_longTerm) atr = ta.atr(14) // ### Trade strategy: begins ### inTrade = strategy.position_size > 0 notInTrade = strategy.position_size <= 0 goLongCondition1 = shortTermEMA > longTermEMA goLongCondition2 = close > shortTermEMA // exitCondition1 = shortTermEMA < midTermEMA exitCondition2 = close < shortTermEMA // enter if not in trade and long conditions are met if date() and goLongCondition1 and goLongCondition2 and notInTrade strategy.entry('long', strategy.long) // exit on stop-Loss hit stopLoss = close - atr * 3 strategy.exit('exit', 'long', stop=stopLoss) // exit if already in trade and take profit conditions are met if date() and exitCondition2 and inTrade strategy.close(id='long') // ###Trade strategy: ends ### // plot emas & background color for trade status plot(shortTermEMA, color=color.new(color.blue, 0)) plot(longTermEMA, color=color.new(color.green, 0)) trade_bgcolor = notInTrade ? color.new(color.red, 75) : color.new(color.green, 75) bgcolor(i_showBg ? trade_bgcolor : color.new(color.white, 75))