Estratégia de stop loss de média móvel dupla

Autora:ChaoZhang, Data: 2023-11-15 15:44:48
Tags:

img

Resumo

Esta estratégia é uma estratégia de stop loss baseada em médias móveis duplas. Ele usa duas médias móveis, uma como a média móvel principal e uma como a linha de stop loss. Quando o preço está acima da média móvel principal, vá longo. Quando o preço está abaixo da linha de stop loss, feche a posição longa. Quando o preço está abaixo da média móvel principal, vá curto. Quando o preço está acima da linha de stop loss, feche a posição curta. Ele alcança stop loss e tire lucro ajustando dinamicamente os preços longo e curto.

Estratégia lógica

Esta estratégia utiliza a função sma para calcular a média móvel simples do comprimento len como a principal linha média móvel ma. Em seguida, de acordo com a entrada do usuário de percentagem de perda de parada longa elpercent e espercent percentagem de perda de parada curta, calcula a linha de perda de parada longa el e linha de perda de parada curta es. As fórmulas específicas são:

el = ma + (ma * elpercento / 100) es = ma + (ma * espercento / 100)

Onde elpercent e espercent representam a percentagem desviada da linha principal da média móvel.

Isto nos dá três linhas: principal média móvel ma, longa linha stop loss el, e curto stop loss linha es.

A lógica de negociação da estratégia é:

Se o preço de fechamento estiver acima da linha de stop loss el, abrir uma posição longa.

Se o preço de encerramento estiver abaixo da linha de stop loss short es, abrir uma posição curta.

Vantagens da estratégia

  1. Usar médias móveis duplas para definir pontos de stop loss e take profit pode controlar eficazmente os riscos.

  2. O comprimento da média móvel principal len e as percentagens de desvio elpercent e espercent são personalizáveis, que podem ser ajustadas para diferentes mercados e adaptadas bem.

  3. O mecanismo de stop loss pode reduzir as perdas no tempo e evitar novas perdas.

  4. A lógica estratégica é simples e clara, fácil de compreender e implementar, adequada para iniciantes.

  5. Pode ser longo ou curto para tirar vantagem dos mercados de duas vias.

Riscos e soluções

  1. Risco de sobreajuste de backtest. As estratégias de média móvel tendem a sobreajustar os dados de backtest. O desempenho real pode diferir. A solução é verificar em mercados complexos e ajustar os parâmetros de acordo.

  2. Risco de stop loss estar muito perto. Se o stop loss estiver muito perto da média móvel principal, ele pode ser desencadeado por flutuações de preços de curto prazo. Aumente a distância de stop loss para evitar isso.

  3. Pressão de capital da negociação bidirecional. Ir tanto longo quanto curto requer margem suficiente. Reduzir o tamanho da posição para controlar a pressão de capital.

  4. Risco de otimização de parâmetros. Parâmetros ideais variam muito em diferentes condições de mercado. É necessário tempo para otimizar parâmetros. Pode usar aprendizado de máquina para auxiliar na otimização de parâmetros.

Orientações de otimização

  1. Considerar a adição de mais indicadores para determinar a tendência do mercado e melhorar as decisões, por exemplo, indicador de volume de preços, indicador de volatilidade.

  2. Pesquisa de otimização automática de comprimento médio móvel e parâmetros de stop loss com base nas mudanças do mercado.

  3. Adicionar filtragem em instrumentos de negociação, negociando apenas tendências óbvias.

  4. Considere trailing stop loss em vez de stop loss fixo, ajustando paradas com base em preços em tempo real.

  5. Construir um sistema de avaliação para otimização de parâmetros para encontrar automaticamente conjuntos de parâmetros ideais através dos resultados do backtest.

Conclusão

A lógica geral desta estratégia é clara e fácil de entender. Ele usa médias móveis duplas para stop loss e pode controlar efetivamente os riscos. A estratégia tem vantagens como parâmetros personalizáveis e adaptabilidade, mas também tem riscos como overfit de backtest e configuração de distância de stop loss que precisam de atenção. Com otimização adicional, esta estratégia pode se tornar uma estratégia efetiva de stop loss viável para negociação ao vivo. É adequado como ponto de partida para iniciantes em negociação algorítmica e pode ser continuamente melhorado através da prática para eventualmente formar um sistema de negociação único.


/*backtest
start: 2022-11-08 00:00:00
end: 2023-11-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2019

//@version=4
strategy(title = "Robot WhiteBox StopMA", shorttitle = "Robot WhiteBox StopMA", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(false, defval = false, title = "Short")
len = input(50)
src = input(ohlc4)
elpercent = input(5.0, minval = 0, maxval = 100, title = "Shift long, %")
espercent = input(-5.0, minval = -100, maxval = 0, title = "Shift short, %")
showlines = input(true, defval = true, title = "Show lines")
showbg = input(true, defval = true, title = "Show background")

//Levels
ma = sma(src, len)
el = ma + ((ma / 100) * elpercent)
es = ma + ((ma / 100) * espercent)

//Lines
colel = showlines ? color.lime : na
colma = showlines ? color.blue : na
coles = showlines ? color.red : na
plot(el, color = colel, offset = 1)
plot(ma, color = colma, offset = 1)
plot(es, color = coles, offset = 1)

//Background
trend = 0
trend := high > el[1] ? 1 : low < es[1] ? -1 : trend[1]
colbg = showbg == false ? na : trend == 1 ? color.lime : trend == -1 ? color.red : na
bgcolor(colbg, transp = 80)

//Trading
if ma > 0
    strategy.entry("Long", strategy.long, needlong ? na : 0, stop = el)
    strategy.entry("Short", strategy.short, needshort ? na : 0, stop = es)

Mais.