Estrategia combinada de optimización de la relación señal-ruido con inversión de doble choque


Fecha de creación: 2023-11-01 16:57:13 Última modificación: 2023-11-01 16:57:13
Copiar: 3 Número de Visitas: 599
1
Seguir
1617
Seguidores

Estrategia combinada de optimización de la relación señal-ruido con inversión de doble choque

Descripción general

Esta estrategia combina una estrategia de inversión de doble oscilación y una estrategia de optimización de la relación de ruido para formar una estrategia de negociación más fuerte y estable. La estrategia se dedica a emitir una señal de negociación más precisa en los puntos de inflexión de tendencias.

Principio de estrategia

La estrategia de reversión de doble oscilación determina si el precio se ha invertido en dos días consecutivos calculando los valores de K rápido y lento de los últimos 14 días. Si se produce una reversión, K rápido por debajo de 50 indica una señal de compra y K rápido por encima de 50 indica una señal de venta.

La estrategia de optimización de la relación de la señal al ruido es calcular el indicador de la relación de la señal al ruido de los últimos 21 días y suavizarlo con una media móvil simple de 29 días. Cuando la relación de la señal al ruido cruza por encima de su media móvil, es una señal de venta, y cuando cruza por debajo, es una señal de compra.

Por último, sólo cuando la estrategia de inversión de doble oscilación y la estrategia de optimización de la relación de ruido de la carta emiten la misma señal de compra o venta, esta estrategia realiza la operación de compra o venta correspondiente.

Análisis de las ventajas estratégicas

  1. La combinación de varias estrategias permite emitir señales de negociación más precisas y evitar falsas señales de una sola estrategia.

  2. Las estrategias de inversión de doble oscilación pueden capturar el punto de inflexión de la tendencia, y las estrategias de optimización de la relación de ruido de la carta pueden filtrar las señales falsas, y ambas en combinación pueden operar con precisión en el punto de inflexión.

  3. Los parámetros de cálculo optimizados, como el parámetro de toque rápido y lento de 14 días, el ciclo de relación de ruido de 21 días, etc., pueden reflejar las tendencias recientes sin ser afectados por el ruido excesivo.

  4. El uso de señales de doble confirmación puede reducir considerablemente el riesgo de transacción y reducir las pérdidas innecesarias.

Análisis de riesgos estratégicos

  1. La señal de inversión puede estar retrasada, no se puede comprar en los mínimos absolutos y vender en los máximos. Se puede reducir el retraso ajustando los parámetros.

  2. La confirmación de doble señal puede perder parte de las oportunidades de negociación y las condiciones de confirmación pueden ser adecuadamente relajadas, pero también aumenta el riesgo.

  3. Los parámetros de la relación entre la confianza y el ruido necesitan ser optimizados, y si la configuración del ciclo es incorrecta, se puede perder una señal importante o emitir una señal errónea.

  4. La necesidad de monitorear varios indicadores al mismo tiempo aumenta la complejidad de la estrategia, y la optimización del código y los recursos computacionales deben considerarse.

Dirección de optimización de la estrategia

  1. Prueba más combinaciones de indicadores para encontrar mejores señales de combinación, como MACD, RSI, etc.

  2. Optimización de los parámetros de la estrategia de inversión de doble oscilación para que la señal de inversión sea más precisa y oportuna.

  3. Optimización de los ciclos de parámetros de la relación de ruido de la comunicación para encontrar el punto de equilibrio óptimo.

  4. Añadir estrategias de stop loss para controlar las pérdidas que pueden ocurrir en una sola transacción.

  5. Considere la posibilidad de optimizar automáticamente los parámetros con métodos como el aprendizaje automático para que las estrategias sean más adaptables.

Resumir

Esta estrategia combina la estrategia de inversión de doble oscilación y la estrategia de optimización de la relación de ruido de la carta para dar una señal de negociación estable en el punto de reversión de la tendencia. Los parámetros optimizados pueden reducir considerablemente la probabilidad de señales falsas y el principio de doble confirmación puede reducir el riesgo de negociación. La estrategia puede continuar optimizando los parámetros del indicador, agregando medidas de parada para obtener mejores resultados.

Código Fuente de la Estrategia
/*backtest
start: 2023-10-01 00:00:00
end: 2023-10-31 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 196/01/2021
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The 
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close 
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. 
// The strategy sells at market, if close price is lower than the previous close price 
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
// The signal-to-noise (S/N) ratio. 
// And Simple Moving Average.
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
    vFast = sma(stoch(close, high, low, Length), KSmoothing) 
    vSlow = sma(vFast, DLength)
    pos = 0.0
    pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
	         iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) 
	pos

SignalToNoise(length) =>
    StN = 0.0
    for i = 1 to length-1
        StN := StN + (1/close[i])/length
    StN := -10*log(StN)

StN(length,Smooth) =>
    pos = 0.0
    StN = SignalToNoise(length)
    SMAStN = sma(StN, Smooth)
    pos := iff(SMAStN[0] > StN[0] , -1,
    	     iff(SMAStN[0] < StN[0], 1, 0)) 
    pos

strategy(title="Combo Backtest 123 Reversal & Signal To Noise", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
lengthStN = input(title="Days", type=input.integer, defval=21, minval=2)
SmoothStN =  input(title="Smooth", type=input.integer, defval=29, minval=2)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posStN = StN(lengthStN,SmoothStN)
pos = iff(posReversal123 == 1 and posStN == 1 , 1,
	   iff(posReversal123 == -1 and posStN == -1, -1, 0)) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1 , 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )