Estrategia de trading de reversión basada en brechas superpuestas


Fecha de creación: 2023-12-15 15:47:23 Última modificación: 2023-12-15 15:47:23
Copiar: 0 Número de Visitas: 586
1
Seguir
1621
Seguidores

Estrategia de trading de reversión basada en brechas superpuestas

Descripción general

La idea principal de esta estrategia es utilizar la diferencia de superposición de precios para juzgar la tendencia del mercado. Cuando la diferencia se invierte de un número negativo a un número positivo, se hace más, y se vacía cuando se invierte de un número positivo a un número negativo, pertenece a la estrategia de negociación inversa.

El principio

La estrategia primero calcula la diferencia de superposición de los precios[1]), es decir, el precio de cierre de hoy menos el precio de cierre de ayer, y luego se calcula el total de la diferencia en los últimos 30 días. Cuando el total se invierte de un número negativo a un número positivo, se produce una señal de multiplicación, y cuando el total se invierte de un número positivo a un número negativo, se produce una señal de diferenciación.

En concreto, la estrategia tiene tres indicadores:

  1. ff: Sumario de las diferencias de los últimos 30 días
  2. dd1: media móvil ponderada de 15 días de ff
  3. dd2: media móvil ponderada a 30 días de ff

Cuando ff se invierte de negativo a positivo, es decir, cuando menos de 0 es mayor que 0, y dd1 también se invierte de negativo a positivo, se produce una señal de multiplicidad.

Cuando ff se invierte de positivo a negativo, es decir, cuando más grande que 0 es menor que 0, y dd1 también se invierte de positivo a negativo, se produce una señal de vacío.

Se establece una línea de parada y pérdidas después de hacer más tiempo libre.

Las ventajas

La estrategia tiene las siguientes ventajas:

  1. La idea es clara, fácil de entender y de llevar a cabo.
  2. Utilizando la característica de inversión de precios, se puede obtener una mejor oportunidad de entrada en el mercado en los puntos de inflexión.
  3. La combinación de un mecanismo de doble confirmación permite filtrar las brechas falsas.
  4. Los parámetros se pueden personalizar para adaptarse a diferentes entornos de mercado.

El riesgo

La estrategia también tiene sus riesgos:

  1. La probabilidad de fracaso de la inversión es alta, y los mercados de fluctuación intermedia son propensos a la pérdida.
  2. La configuración inadecuada de los parámetros puede causar transacciones frecuentes y aumentar los costos de las transacciones.
  3. Se requiere una entrada de filtración combinada con otros indicadores, evitando el tope y el tope.

La solución es la siguiente:

  1. Establezca un stop loss razonable para controlar las pérdidas individuales.
  2. Optimización de parámetros para encontrar la combinación óptima de parámetros.
  3. Se añaden filtros para evitar la entrada innecesaria.

Dirección de optimización

La estrategia puede ser optimizada en los siguientes aspectos:

  1. Aumentar el volumen de transacciones mediante filtros, por ejemplo, aumentando el volumen de transacciones en caso de una ruptura.
  2. En combinación con un filtro de indicadores de tendencia, evita las operaciones de reversión.
  3. Ajuste dinámico de los parámetros para que puedan variar según el estado del mercado.
  4. Optimización de los mecanismos de stop loss, por ejemplo, el movimiento de los precios.

Resumir

Esta estrategia determina el punto de inflexión del mercado mediante el cálculo de la inversión de la diferencia de precios, y es una estrategia de negociación inversa típica. La estrategia es clara, fácil de implementar y tiene cierto valor práctico.

Código Fuente de la Estrategia
/*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)