Estratégia de parada de tração polinomial

Autora:ChaoZhang, Data: 2024-02-23 14:43:36
Tags:

img

Resumo

A estratégia de trailing stop polinomial é uma estratégia com uma trailing stop na forma de uma função polinomial. Ela entra na interseção de uma vela de fechamento deslizante simples. No momento da entrada na posição, ela é fixada pelo valor do mínimo para o período. Após entrar na posição, uma trailing stop da forma Minimum + D * N ^ a é ativada, onde o mínimo é o mínimo para o período fixado no momento da entrada na posição, D é o decréscimo, N é o número de barras na posição e a é o grau do polinômio. Quando a trailing stop atravessa a vela fechando de baixo para cima, a transação é fechada.

Princípio da estratégia

O núcleo da estratégia de trailing stop polinomial é que ele usa uma estrutura de estratégia com uma linha de trailing stop polinomial. Em primeiro lugar, ele envia sinais de entrada na interseção de linhas de média móvel simples. Especificamente, vá curto quando o preço de fechamento cruza abaixo da linha de média móvel simples. Após a entrada, registre o valor mínimo do período ao entrar como o ponto de referência de stop loss subsequente. Em seguida, a estratégia ativa uma lógica de stop stop polinomial especial. A fórmula de cálculo da linha de trailing stop é: Mínimo + D * Potência do número de períodos a.

A maior vantagem desta estratégia é que ela pode ajustar flexivelmente a linha de stop loss de acordo com as condições do mercado e parar a perda em tempo hábil para garantir lucro após o lucro. Em comparação com as paradas lineares tradicionais, a linha de stop loss polinomial desta estratégia é mais suave, o que pode suprimir efetivamente os gatilhos de stop loss desnecessários. Ao mesmo tempo, em comparação com as paradas de equilíbrio, esta estratégia pode continuar elevando a linha de stop loss ao longo do tempo para proteger os lucros. Ajustando os parâmetros D e a, a forma da linha de stop loss pode ser alterada para rastrear dinamicamente as mudanças do mercado.

Análise das vantagens

A maior vantagem da Estratégia Polinomial Trailing Stop é:

  1. Usando métodos especiais de stop loss polinomiais, as linhas de stop loss podem ser ajustadas de forma flexível de acordo com as condições do mercado para evitar os problemas de paradas lineares.

  2. Em comparação com os métodos tradicionais de stop loss, a estratégia ajusta a linha de stop loss de forma não linear, o que pode reduzir muito os desencadeadores desnecessários de stop loss.

  3. A linha de stop loss da estratégia sobe suavemente, o que pode garantir a lucratividade enquanto para a perda a tempo.

  4. O método de stop loss da estratégia pode ser alterado livremente ajustando os parâmetros, o que é altamente adaptável às alterações do mercado.

  5. O quadro estratégico é simples e claro, fácil de implementar e otimizar.

Análise de riscos

A estratégia Polinomial Trailing Stop também tem alguns riscos potenciais:

  1. Se a linha de stop loss de rastreamento for ajustada de forma muito agressiva, a stop loss pode ocorrer prematuramente.

  2. No processo de ascensão suave da linha de parada, maiores oportunidades de lucro podem ser perdidas.

  3. Funções polinomiais podem produzir algumas penetrações de preços inesperadas. Isso precisa ajustar parâmetros e adicionar outros meios de stop loss para evitar riscos.

  4. Como estratégia de negociação de indicadores técnicos, a capacidade da estratégia para responder a emergências é fraca, podendo ser reforçada por intervenção manual ou combinação com outros modelos.

Orientações de otimização

A estratégia Polinomial Trailing Stop também tem as seguintes direções principais de otimização:

  1. Ajustar a lógica de entrada para encontrar melhores oportunidades de entrada.

  2. Otimizar a fórmula de cálculo da linha de parada para encontrar a melhor combinação de parâmetros.

  3. Tente diferentes formas de linhas de parada, como exponencial, logarítmica, etc.

  4. Adicione outros meios de stop loss fora da linha de stop para construir uma linha de defesa de stop loss.

  5. Tente a combinação com aprendizado de máquina, aprendizado profundo e outros modelos, e use a previsão do modelo para guiar o stop loss.

  6. Explorar o efeito da aplicação de estratégias em diferentes mercados e ciclos.

  7. Construir um mecanismo de otimização auto-adaptável para a linha de parada para otimizar automaticamente a forma da curva de parada.

Resumo

Em geral, a Estratégia de Stop Trailing Polinomial é uma estratégia de stop loss muito prática. Ele quebra as limitações das tradicionais paradas de trailing lineares e usa uma função de polinômio não linear mais suave como linha de stop, o que pode reduzir significativamente a perda de stop desnecessária, garantindo a lucratividade. O mecanismo de stop da estratégia tem alta flexibilidade e pode alterar livremente a forma da linha de stop ajustando parâmetros relevantes, o que é altamente adaptável às mudanças do mercado. Ao mesmo tempo, a estrutura da estratégia é concisa e fácil de entender e implementar, com muito alto significado prático.


/*backtest
start: 2023-02-16 00:00:00
end: 2024-02-22 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/
// © Alferow

//@version=4

strategy("polynomic_stop", overlay=true, initial_capital=1000, commission_value=0.1, default_qty_type=strategy.percent_of_equity, default_qty_value=100)



D = input(0.1, minval = 0.0001, title = 'decrement')
S = input(2, minval = 1.0, title = 'polynomial degree ')



MA = input(20, title = 'period SMA')
MN = input(20, title = 'period MIN_for')



SMA = sma(close, MA)
MIN = lowest(low, MN)




var stop = 0.0
var num = 0
if strategy.opentrades[1] == 0 and strategy.opentrades != 0
    stop := MIN


    
if  strategy.opentrades != 0
    num := num + 1 
    
if  strategy.opentrades == 0
    num := 0
    stop := MIN


    
hl = stop + D * pow(num, S)


plot(hl)
plot(SMA, color = color.red)



strategy.entry("buy", true, when = close[1] < SMA[1] and close > SMA)

strategy.close("buy", when = crossover(hl, close))





Mais.