Nova estratégia inovadora de média móvel de regressão baixa


Data de criação: 2023-11-02 15:34:22 última modificação: 2023-11-02 15:34:22
cópia: 0 Cliques: 658
1
focar em
1617
Seguidores

Nova estratégia inovadora de média móvel de regressão baixa

Visão geral

A ideia principal desta estratégia é detectar se o preço ultrapassou o preço mínimo no período especificado, e se ultrapassou mais, esperar que o preço volte à linha de equilíbrio. Pertence à estratégia de acompanhamento de tendências.

Princípio da estratégia

A estratégia é obtida por meio da invocação do método ta.lowest do script Pine para obter o preço mais baixo do período especificado e compará-lo com o preço mais baixo do período anterior.

Se o preço mínimo do último ciclo (lowestLow) for menor que o preço mínimo do período anterior (prevLow), será emitido um sinal de multiplicação. Depois de multiplicação, será comparado com o preço máximo do período especificado (highestHigh). Se o preço máximo do último ciclo for maior que o preço máximo do período anterior, a posição será neutralizada.

A estratégia permite escolher a condição de disparo, ou seja, que o preço mínimo precise de uma, duas, três ou quatro rupturas consecutivas do preço mínimo anterior para controlar a frequência de negociação.

Além disso, a estratégia também traça a média do preço mínimo (lowestLow) e a média do preço máximo (highestHigh) em um gráfico para visualizar as mudanças de tendência.

Análise de vantagens

  • A estratégia captura uma reversão de tendência após a ruptura de uma nova baixa, com uma maior probabilidade de sucesso.

  • Permite escolher a quantidade de quebra de preços mínimos e controlar a frequência de negociação.

  • Desenhar uma linha de equilíbrio ajuda a intuir os pontos de mudança de tendência.

  • A lógica da estratégia é simples, clara e fácil de entender.

  • Pode ser configurado para testes de otimização em diferentes ações e períodos de tempo.

Análise de Riscos

  • A falsa ruptura não permite determinar o ponto de reversão da tendência e pode levar a perdas.

  • A configuração de otimização de diferentes combinações de parâmetros precisa ser testada, caso contrário, a frequência de negociação pode ser muito alta ou muito baixa.

  • Os parâmetros precisam ser ajustados para diferentes ações, não é adequado para aplicações mecânicas.

  • A falta de tempo de retorno pode levar a uma estratégia de sobre-ajuste.

  • Os preços podem ser mais baixos após a ruptura, e o risco deve ser controlado através de uma parada de perda.

Direção de otimização

  • Aumentar os mecanismos de suspensão, como suspensão móvel, suspensão de rastreamento, etc., para controlar a perda individual.

  • Otimizar o número de brechas e equilibrar a frequência de negociação com a qualidade do sinal.

  • Teste de otimização de parâmetros em diferentes ações e períodos de tempo.

  • Aumentar as condições de filtragem para evitar transações frequentes em mercados turbulentos.

  • Considere a inclusão de indicadores de tendência para evitar negociações contractuais.

  • Testar diferentes sinais de saída.

Resumir

A estratégia de capturar oportunidades de reversão através da monitorização de brechas de preços mínimos, pertence à típica estratégia de retorno de brechas. Os benefícios são simples e fáceis de entender, a frequência de negociação é controlável e pode ser aplicada em vários tipos de ações. Mas também existe um certo risco de falsa brecha, que requer a adição de condições auxiliares para otimização de filtragem e controle de risco.

Código-fonte da estratégia
/*backtest
start: 2023-10-02 00:00:00
end: 2023-11-01 00:00:00
period: 1h
basePeriod: 15m
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/
// © merovinh

//@version=5
strategy(title="Merovinh - Mean Reversion Lowest low",
     overlay = true,
     default_qty_type = strategy.percent_of_equity,
     initial_capital = 10000,
     default_qty_value = 10,
     commission_type = strategy.commission.percent,
     slippage = 1,
     commission_value = 0.04)

GR_TIME = 'Time Period'

bars = input(9, title = "Minimum number of bars", tooltip = "The minimum number of bars before updating lowest low / highest high")

numberOfLows  = input.string(defval='One', title='Number of broken lows', options=['One', 'Two', 'Three', 'Four'])

//Period

var prevLow = .0
var prevHigh = .0
var prevLow2 = .0
var prevLow3 = .0
var prevLow4 = .0

truetime = true


highestHigh = ta.highest(high, bars)
lowestLow = ta.lowest(low, bars)

if numberOfLows == 'One'
    if truetime and prevLow > 0 and lowestLow < prevLow
        strategy.entry('long', strategy.long)
if numberOfLows == 'Two'
    if truetime and prevLow > 0 and lowestLow < prevLow and prevLow < prevLow2
        strategy.entry('long', strategy.long)
if numberOfLows == 'Three'
    if truetime and prevLow > 0 and lowestLow < prevLow and prevLow < prevLow2 and prevLow2 < prevLow3
        strategy.entry('long', strategy.long)
if numberOfLows == 'Four'
    if truetime and prevLow > 0 and lowestLow < prevLow and prevLow < prevLow2 and prevLow2 < prevLow3 and prevLow3 < prevLow4
        strategy.entry('long', strategy.long)

if truetime and prevHigh > 0 and highestHigh > prevHigh
    strategy.close('long')


if prevLow != lowestLow
    prevLow4 := prevLow3
    prevLow3 := prevLow2
    prevLow2 := prevLow
    prevLow := lowestLow
prevHigh := highestHigh

plot(lowestLow, color=color.green, linewidth=1, title="Lowest Low Line")
plot(highestHigh, color=color.green, linewidth=1, title="Highest High Line")