A ideia central desta estratégia consiste em mapear os indicadores da EMA a partir do período semanal até às negociações diárias, a fim de obter apoio das tendências a longo prazo e orientar as decisões de negociação diárias.
A estratégia calcula, em primeiro lugar, as EMAs de 6 dias, 12 dias, 26 dias e 52 dias no gráfico diário, bem como as EMAs de 42 dias, 84 dias, 182 dias e 364 dias correspondentes às definições dos parâmetros semanais da EMA.
Em seguida, são utilizados os cruzamentos da EMA de 42 dias e da EMA de 84 dias para determinar a tendência de longo prazo; os cruzamentos da EMA de 84 dias e da EMA de 182 dias são utilizados para determinar a tendência de médio prazo.
Quando a EMA de curto prazo ultrapassa a EMA de longo prazo, negociar; quando a EMA de curto prazo ultrapassa a EMA de longo prazo, fechar posições.
Através deste método de mapeamento, obtemos suporte de indicadores de EMA de nível semanal na negociação diária, o que ajuda a filtrar algum ruído e capturar oportunidades de tendência maiores.
Esta estratégia combina a flexibilidade da negociação diária e a estabilidade das EMA semanais, com as seguintes vantagens:
As EMAs semanais podem filtrar efetivamente o ruído do mercado e identificar movimentos reais da tendência.
Os parâmetros semanais da EMA são mais estáveis, menos afectados por flutuações de preços a curto prazo.
Os cruzes da EMA podem identificar claramente os pontos de reversão da tendência cíclica.
As combinações de EMA de diferentes períodos captam oportunidades de tendência a longo, médio e curto prazo.
A estratégia tem baixa frequência de negociação, adequada para a detenção longa.
Os principais riscos desta estratégia são:
Os sinais semanais de entrada na EMA podem atrasar-se, não conseguindo captar o mais cedo tempo de mudança de preços.
As saídas dependem de cruzes da EMA, sem considerar formações, volatilidade, etc., podendo levar a uma saída prematura.
Poucas cruzamentos da EMA tendem a resultar numa detenção unilateral excessivamente prolongada.
Não haver stop loss significa alto risco de retirada, requer gestão humana ativa.
Ajuste de parâmetros grosseiros, precisa de ajuste para um desempenho ideal em diferentes moedas.
Os riscos podem ser reduzidos através de:
Identificar formações de entrada com outros indicadores, tomar posições à frente dos sinais da EMA.
Adicionar regras de saída como stop loss, tirar lucro para evitar sobre a manutenção.
Otimizar os períodos EMA, testar combinações de períodos adequadas para diferentes moedas.
Negociação de vários níveis, EMAs diferentes para posições em camadas, menor risco de detenção unilateral.
A estratégia pode ser ainda melhorada nos seguintes aspectos:
Adicione regras sobre entrada diária, como formações, volume etc. para filtrar o ruído.
Combine stoch, MACD para julgar sobrecomprado-supervendido para uma entrada/saída mais fina.
Adicionar stop loss, tirar lucro para reduzir o drawdown, bloquear o lucro.
Otimizar períodos de EMA, testar combinações de períodos diferentes.
Tente diferentes EMAs como DEMA, TEMA para parâmetros mais suaves.
Adicionar o dimensionamento das posições com base em diferentes sinais EMA.
Parâmetros de pesquisa para diferentes pares de negociação.
Explorar métodos de aprendizagem de máquina para otimização dinâmica da EMA.
Esta é uma excelente estratégia de seguimento de tendências adequada para a detenção de longo prazo. Ele combina inteligentemente julgamento de tendências semanais e execução diária. Com melhorias adequadas, pode se tornar um sistema de negociação de vários prazos muito prático.
/*backtest start: 2023-08-20 00:00:00 end: 2023-09-19 00:00:00 period: 3h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=1 strategy("Investing Weekly mapped to Daily", overlay=true, pyramiding=100) // === PLOTTING EMA === plot(ema(close, 6), color=aqua, transp=0, linewidth=2, title="ema6") plot(ema(close, 12), color=white, transp=0, linewidth=2, title="ema12") plot(ema(close, 26), color=#9802FF, transp=0, linewidth=2, title="ema26") plot(ema(close, 52), color=orange, transp=0, linewidth=2, title="ema52") plot(ema(close, 42), color=aqua, transp=0, linewidth=5, title="W-ema6") plot(ema(close, 84), color=white, transp=0, linewidth=5, title="W-ema12") plot(ema(close, 182), color=#9802FF, transp=0, linewidth=5, title="W-ema26") plot(ema(close, 364), color=orange, transp=0, linewidth=5, title="W-ema52") // === INPUT BACKTEST RANGE === FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12) FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31) FromYear = input(defval = 2017, title = "From Year", minval = 2017) ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12) ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31) ToYear = input(defval = 9999, title = "To Year", minval = 2017) start = timestamp(FromYear, FromMonth, FromDay, 00, 00) // backtest start window finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) // backtest finish window window() => true // create function "within window of time" // === STRATEGY FOR CRYPTO === ema42= ema(close, 42) ema84= ema(close, 84) ema182= ema(close, 182) enterLong1 = cross(ema42, ema84) and ema42 > ema84 exitLong1 = cross(ema42, ema84) and ema42 < ema84 enterLong2 = cross(ema84, ema182) and ema84 > ema182 exitLong2 = cross(ema84, ema182) and ema84 < ema182 strategy.entry(id="Entry_1", long=true, when=enterLong1) strategy.entry(id="Entry_2", long=true, when=enterLong2) strategy.entry(id="Exit_1", long=false, when=exitLong1) strategy.entry(id="Exit_2", long=false, when=exitLong2)