Estratégia de negociação de reversão baseada em lacunas sobrepostas


Data de criação: 2023-12-15 15:47:23 última modificação: 2023-12-15 15:47:23
cópia: 0 Cliques: 586
1
focar em
1621
Seguidores

Estratégia de negociação de reversão baseada em lacunas sobrepostas

Visão geral

A principal ideia desta estratégia é usar a diferença de sobreposição dos preços para julgar a tendência do mercado. Quando a diferença se reverte de negativo para positivo, faça mais, e quando se reverte de positivo para negativo, faça zero, pertence à estratégia de negociação reversa.

Princípios

A estratégia primeiro calcula a diferença de sobreposição entre os preços[1]), ou seja, o preço de fechamento de hoje menos o preço de fechamento de ontem, e depois calcular o total da diferença nos últimos 30 dias. Quando o total se reverte de um número negativo para um número positivo, um sinal de multiplicação é gerado, e quando o total se reverte de um número positivo para um número negativo, um sinal de curto-circuito é gerado.

Em particular, a estratégia defende três indicadores:

  1. ff: Sumário das diferenças nos últimos 30 dias
  2. dd1: média móvel ponderada de 15 dias de ff
  3. dd2: média móvel ponderada de 30 dias de ff

Quando ff inverte de negativo para positivo, ou seja, menor que 0 se torna maior que 0, e dd1 também inverte de negativo para positivo, gera-se um sinal de multiplicidade.

Quando ff inverte de positivo para negativo, ou seja, maior que 0 se torna menor que 0, e dd1 também inverte de positivo para negativo, gera um sinal de vazio.

A linha de stop-loss é definida quando você faz mais tempo de folga.

Vantagens

A estratégia tem as seguintes vantagens:

  1. A ideia é clara, fácil de entender e de implementar.
  2. A utilização da inversão de preços permite um melhor tempo de entrada nos pontos de inflexão.
  3. A combinação de mecanismos de dupla confirmação permite filtrar falsas brechas.
  4. Parâmetros personalizáveis para adaptar-se a diferentes cenários de mercado.

Riscos

A estratégia também apresenta alguns riscos:

  1. A probabilidade de falha de reversão é maior, e os mercados de transição são mais propensos a perdas.
  2. A configuração inadequada dos parâmetros pode levar a transações frequentes e aumentar os custos das transações.
  3. É necessário combinar outros indicadores para filtrar a entrada, evitando o topo e o fundo.

A solução é a seguinte:

  1. Estabeleça uma taxa de stop-loss razoável para controlar as perdas individuais
  2. Optimizar parâmetros para encontrar a melhor combinação de parâmetros.
  3. Aumentar as condições de filtragem para evitar a entrada desnecessária.

Direção de otimização

A estratégia pode ser otimizada em:

  1. Aumentar a quantidade de transações filtradas, como por exemplo, a quantidade de transações necessária para aumentar a brecha.
  2. Combinação de filtros de indicadores de tendência para evitar operações de contracorrente.
  3. Ajustar os parâmetros de forma dinâmica, permitindo que os parâmetros mudem de acordo com a situação do mercado.
  4. Otimizar os mecanismos de stop loss, como o stop loss movido pelo preço.

Resumir

Esta estratégia é uma estratégia típica de negociação de reversão. A estratégia é clara, fácil de implementar e tem um certo valor prático. Mas também há alguns riscos e precisa ser melhorada para se adaptar às mudanças do mercado.

Código-fonte da estratégia
/*backtest
start: 2023-12-07 00:00:00
end: 2023-12-14 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy(title="Fst",currency="USD",initial_capital=100000)

//Length0 = input(30, title="fastperiod", minval=1)
Length = input(30, title="SUMM")
Length1 = input(15, title="Signalperiod", minval=1)
Length2= input(30, title="Info", minval=1)
profit=input(95, title="profit", minval=1)
loss=input(95, title="loss", minval=1)
//f=iff(close>open,close-open,iff(close>open[1],close[1]-open[1],0))
f=0.0
dd1=0.0
dd2=0.0
ff=0.0
ff0=0.0
f:=close-close[1]
ff:=sum(f,Length)
//ff0:=sum(f,Length0)
dd1:=wma(ff,Length1)
dd2:=wma(ff,Length2)

bull=ff<0 and dd1<0 and ff[1]<dd1 and ff>dd1 and abs(ff)>20
bear=ff>0 and dd1>0 and ff[1]>dd1 and ff<dd1 and abs(ff)>20
if(bull)
    
    strategy.entry("long", strategy.long)
strategy.exit("exit", "long", profit = close*profit/1000, loss=close*loss/1000) 

strategy.close("long", when = bear)




plotchar(bull,size=size.small,location=location.bottom)
plot(ff,color=black,linewidth=2)
plot(ff0,color=green,linewidth=2)
plot(wma(ff,Length1),color=red,linewidth=2)
plot(wma(ff,Length2),color=blue,linewidth=2)
plot(wma(ff,Length1)-wma(ff,Length2),color=green,style=columns)

plot(0,linewidth=1,color=black)
plot(500,linewidth=1,color=red)
plot(-500,linewidth=1,color=red)