Média móvel dupla seguindo estratégia

Autora:ChaoZhang, Data: 2024-02-27 14:49:58
Tags:

img

Resumo

A estratégia de seguimento de média móvel dupla é uma estratégia de seguimento de tendência baseada em médias móveis. Determina a direção da tendência calculando médias móveis de diferentes períodos e gera sinais de negociação em conformidade.

Estratégia lógica

A estratégia de média móvel dupla julga a direção da tendência calculando as médias móveis simples (SMA) de 14 períodos e 28 períodos do preço de fechamento. Especificamente, calcula a SMA de 14 períodos e a SMA de 28 períodos do preço de fechamento no final de cada período. Quando a SMA de 14 períodos cruza a SMA de 28 períodos, envia um sinal longo e abre uma posição longa. Quando a SMA de 14 períodos cruza abaixo da SMA de 28 períodos, envia um sinal curto e abre uma posição curta.

Após a entrada de posições, ele gerencia os riscos definindo os níveis de take profit e stop loss. Os pontos de take profit e stop loss são convertidos em preços com base nos parâmetros de entrada.

Análise das vantagens

A estratégia de média móvel dupla tem as seguintes vantagens:

  1. Simples de implementar e operar.
  2. Segue a tendência com menores riscos de retirada.
  3. A frequência de negociação pode ser controlada ajustando os parâmetros do ciclo.
  4. Configurações flexíveis de lucro e stop loss para controlar os riscos.

Análise de riscos

A dupla média móvel da seguinte estratégia também apresenta alguns riscos:

  1. Podem ocorrer perdas significativas se acontecimentos súbitos interromperem a tendência do mercado.
  2. O ponto de stop loss pode ocorrer prematuramente se o ponto de stop loss for muito pequeno.
  3. A gama de perdas pode ser ampliada se o ponto de stop loss for demasiado grande.
  4. A frequência de negociação pode ser demasiado elevada ou demasiado baixa, o que afeta a eficiência do capital.

Os riscos podem ser geridos a partir dos seguintes aspectos:

  1. Estabelecer ponto de stop loss dinamicamente com base na volatilidade.
  2. Otimizar os parâmetros do ciclo da média móvel.
  3. Adicionar um filtro de tendência para evitar sinais falsos perto dos pontos de virada da tendência.

Orientações de otimização

A dupla média móvel da seguinte estratégia pode ser otimizada das seguintes formas:

  1. Adicionar indicadores de volatilidade para o ponto de stop loss dinâmico. Por exemplo, combinar com ATR para expandir o stop loss quando a volatilidade aumenta para evitar uma saída prematura.

  2. Otimizar os parâmetros do ciclo da média móvel testando mais combinações e selecionando períodos adequados com frequência adequada dos sinais de negociação.

  3. Adicionar um indicador de filtro de tendência, como MACD, DMI para evitar sinais falsos perto dos pontos de virada da tendência, reduzindo as negociações desnecessárias.

  4. Aumentar os modelos de aprendizagem de máquina para prever a tendência dos preços e substituir as regras tradicionais.

  5. Diversificar as variedades de negociação utilizando uma baixa correlação para reduzir o aproveitamento global.

Conclusão

Em conclusão, a estratégia de seguir a média móvel dupla é um sistema simples e prático de seguir a tendência. Ele se move ao longo da tendência, tendo assim menores riscos de retirada, e é fácil de implementar. Podemos otimizá-lo ajustando os parâmetros do ciclo, definindo stop loss e take profit, adicionando indicadores de julgamento de tendência, para nos adaptar a mais ambientes de mercado e ganhar retornos mais constantes.


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
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/
// © coinilandBot
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © adolgov

// @description
// 

//@version=4
strategy("coiniland  copy trading platform", overlay=true)

// random entry condition

longCondition = crossover(sma(close, 14), sma(close, 28))
if (longCondition)
    strategy.entry("My Long Entry Id", strategy.long)

shortCondition = crossunder(sma(close, 14), sma(close, 28))
if (shortCondition)
    strategy.entry("My Short Entry Id", strategy.short)

moneyToSLPoints(money) =>
    strategy.position_size !=0 ? (money / syminfo.pointvalue / abs(strategy.position_size)) / syminfo.mintick : na

p = moneyToSLPoints(input(200, title = "Take Profit $$"))
l = moneyToSLPoints(input(100, title = "Stop Loss $$"))
strategy.exit("x", profit = p, loss = l)

// debug plots for visualize SL & TP levels
pointsToPrice(pp) =>
    na(pp) ? na : strategy.position_avg_price + pp * sign(strategy.position_size) * syminfo.mintick
    
pp = plot(pointsToPrice(p), style = plot.style_linebr )
lp = plot(pointsToPrice(-l), style = plot.style_linebr )
avg = plot( strategy.position_avg_price, style = plot.style_linebr )
fill(pp, avg, color = color.green)
fill(avg, lp, color = color.red)


Mais.