Estrategia cuantitativa de shock de precios de doble confianza


Fecha de creación: 2024-02-18 10:10:16 Última modificación: 2024-02-18 10:10:16
Copiar: 1 Número de Visitas: 542
1
Seguir
1617
Seguidores

Estrategia cuantitativa de shock de precios de doble confianza

Descripción general

La idea principal de esta estrategia es combinar los dos tipos diferentes de estrategias, la estrategia inversa 123 y el indicador de fluctuación de precios absolutos, para obtener una señal integral. En concreto, si ambas estrategias emiten señales de hacer más, la señal de la estrategia final es 1 ((hacer más); si ambas estrategias emiten señales de hacer vacío, la señal de la estrategia final es -1 ((hacer vacío); si las señales de las dos estrategias no coinciden, la señal final es 0 ((no hacer ninguna operación).

Principio de estrategia

En primer lugar, el principio de la estrategia de inversión 123 es: si el precio de cierre es por debajo del precio de cierre del día anterior durante dos días consecutivos y el indicador aleatorio es por debajo de la línea de venta por encima de la línea de compra, hacer más; si el precio de cierre es por encima del precio de cierre del día anterior durante dos días consecutivos y el indicador aleatorio es por encima de la línea de venta por encima de la línea de venta, hacer una pérdida.

En segundo lugar, el indicador de fluctuación de precios absolutos muestra la diferencia entre dos medias móviles de índices. Cuando la media móvil rápida es superior a la media móvil lenta, es positiva, lo que indica una tendencia al alza; por el contrario, es negativa, lo que indica una tendencia a la baja.

Finalmente, esta estrategia combina las señales de las dos estrategias menores, es decir, si ambas emiten una señal coincidente, actúa según esa señal; de lo contrario, no actúa.

Análisis de las ventajas

Esta estrategia, que tiene en cuenta las tendencias a corto plazo de las señales de reversión y a medio y largo plazo de los precios, permite identificar con eficacia los puntos de inflexión en el mercado. En comparación con el uso de un solo indicador de reversión 123 o APO, esta estrategia puede aumentar considerablemente la fiabilidad de la señal y reducir la generación de señales erróneas.

Además, la estrategia utiliza una variedad de indicadores técnicos que permiten evaluar el mercado en su totalidad, en lugar de depender de un solo indicador. Esto evita que se produzca un error de juicio global debido a la ineficacia de un indicador.

Análisis de riesgos

El mayor riesgo de esta estrategia es que la estrategia de inversión 123 y el indicador APO produzcan señales divergentes. En este caso, el operador debe juzgar cuál de las señales es más confiable en función de su propia experiencia. Si se produce una desviación en el juicio, es posible que se pierda una oportunidad de negociación o se produzcan pérdidas.

Además, las señales de la estrategia también pueden ser erróneas si ocurre un cambio drástico en el mercado, lo que hace que las señales de reversión a corto plazo y las señales de tendencia de línea media y media pierdan efecto al mismo tiempo. El operador necesita estar atento a la influencia de los eventos políticos y económicos importantes en el mercado y, si es necesario, puede suspender la operación de la estrategia.

Dirección de optimización

Esta estrategia puede ser optimizada en las siguientes direcciones:

  1. Los parámetros de las subestrategias optimizadas hacen que las señales de las subestrategias sean más confiables. Por ejemplo, ajustar los parámetros de los ciclos de las medias móviles.

  2. Añadir otros indicadores auxiliares de juicio, formando un mecanismo de votación. Cuando varios indicadores emiten una señal consistente, la fiabilidad de la señal es mayor.

  3. Aumentar las estrategias de stop loss. Cuando el movimiento de los precios no se ajusta a las expectativas de los indicadores técnicos, el stop loss oportuno evita la expansión de las pérdidas.

  4. Optimización de las posiciones de apertura y de cierre de pérdidas. En combinación con los datos de retroalimentación histórica, se establece un valor específico más adecuado.

Resumir

La estrategia utiliza varios indicadores técnicos para evaluar la situación, evitando el riesgo de depender de un solo indicador y aumentando la precisión de la evaluación de la señal. Al mismo tiempo, la estrategia también tiene cierto margen de optimización, y los inversores pueden ajustar los parámetros según sus propias necesidades. En general, la estrategia de cuantificación de la oscilación de los precios de doble confianza es una estrategia de negociación de alta fiabilidad que merece ser estudiada y aplicada.

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

//@version=3
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 22/04/2019
// This is combo strategies for get 
// a cumulative signal. Result signal will return 1 if two strategies 
// is long, -1 if all strategies is short and 0 if signals of strategies is not equal.
//
// 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.
//
// Secon strategy
// The Absolute Price Oscillator displays the difference between two exponential 
// moving averages of a security's price and is expressed as an absolute value.
// How this indicator works
//    APO crossing above zero is considered bullish, while crossing below zero is bearish.
//    A positive indicator value indicates an upward movement, while negative readings 
//      signal a downward trend.
//    Divergences form when a new high or low in price is not confirmed by the Absolute Price 
//      Oscillator (APO). A bullish divergence forms when price make a lower low, but the APO 
//      forms a higher low. This indicates less downward momentum that could foreshadow a bullish 
//      reversal. A bearish divergence forms when price makes a higher high, but the APO forms a 
//      lower high. This shows less upward momentum that could foreshadow a bearish reversal.
//
// 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

AbsolutePriceOscillator(LengthShortEMA, LengthLongEMA) =>
    xPrice = close
    xShortEMA = ema(xPrice, LengthShortEMA)
    xLongEMA = ema(xPrice, LengthLongEMA)
    xAPO = xShortEMA - xLongEMA
    pos = 0.0    
    pos := iff(xAPO > 0, 1,
           iff(xAPO < 0, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal and Absolute Price Oscillator (APO)", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
LengthShortEMA = input(10, minval=1)
LengthLongEMA = input(20, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posAbsolutePriceOscillator = AbsolutePriceOscillator(LengthShortEMA, LengthLongEMA)
pos = iff(posReversal123 == 1 and posAbsolutePriceOscillator == 1 , 1,
	   iff(posReversal123 == -1 and posAbsolutePriceOscillator == -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 ? red: possig == 1 ? green : blue )