La estrategia es una estrategia de inversión de seguimiento de doble oscilación que combina una estrategia de inversión de indicadores aleatorios y un indicador de volatilidad de Yeken para obtener una señal de negociación más confiable. La estrategia está diseñada para capturar ganancias en el punto de inflexión de la tendencia y se aplica a la negociación de líneas medianas y largas.
La estrategia tiene dos partes:
Esta sección utiliza la línea rápida y la línea lenta de los indicadores aleatorios para generar señales de negociación. Hacer más cuando el precio de cierre está por debajo del precio de cierre del día anterior durante dos días consecutivos y la línea rápida está por encima de la línea lenta. Hacer una salida cuando el precio de cierre está por encima del precio de cierre del día anterior durante dos días consecutivos y la línea rápida está por debajo de la línea lenta.
El indicador calcula la variación de la diferencia entre el precio más alto y el precio más bajo durante un período de tiempo. Cuando el diferencial se expande, indica que la tasa de fluctuación aumenta y se puede hacer un descuento; cuando la diferencia se reduce, indica que la tasa de fluctuación disminuye y se puede hacer más.
La señal de transacción final es la combinación de dos partes de la señal. Se toma la señal cuando la señal de indicador aleatorio y la señal de indicador de fluctuación coinciden; si las dos señales no coinciden, no se negocia.
La estrategia tiene las siguientes ventajas:
El uso combinado de dos tipos diferentes de indicadores puede mejorar la precisión de la señal.
El uso de un mecanismo de doble confirmación reduce las señales falsas y controla el riesgo.
La inversión es la principal forma de negociar y se puede obtener ganancias en los puntos de cambio de tendencia.
La configuración de los parámetros es flexible y se puede ajustar para adaptarse a diferentes variedades y períodos.
Los parámetros del indicador se pueden ajustar para alcanzar el estado óptimo.
La estrategia también tiene los siguientes riesgos:
La señal de retorno puede ser mal interpretada, lo que genera pérdidas. Los parámetros se pueden ajustar adecuadamente para reducir la probabilidad de error.
Cuando la volatilidad se expande de forma brusca, existe el riesgo de pérdidas en la dirección de la acción. Se puede establecer un stop loss para controlar el riesgo.
La combinación de indicadores dobles puede fallar cuando la situación fluctúa fuertemente. En este momento, se puede considerar la suspensión de la negociación hasta que el indicador se estabilice nuevamente.
La necesidad de monitorear dos indicadores al mismo tiempo aumenta la carga de trabajo del comerciante. Se puede programar un programa de comercio automático para reducir la carga de trabajo.
La estrategia se puede optimizar en los siguientes aspectos:
Prueba más combinaciones de parámetros para encontrar el mejor.
La adición de otros indicadores de confirmación, como los indicadores de precio y cantidad, forma una confirmación múltiple.
Incorporación de mecanismos de detención de pérdidas, tales como detención de pérdidas en movimiento, detención de pérdidas por intervalos, etc., para controlar aún más el riesgo.
Optimizar las estrategias de gestión de fondos, como las participaciones fijas, Kelly, etc., para mejorar la rentabilidad.
La configuración de los parámetros de diferentes variedades y períodos permite probar la aplicabilidad de más variedades y períodos.
La estrategia utiliza una combinación de dos indicadores para formar señales de negociación y capturar la inversión del mercado como la principal dirección de negociación. Tiene ventajas como una alta precisión de la señal y un buen control del riesgo, y también hay cierto espacio para mejorar. A través de la optimización de los parámetros, el stop loss y las mejoras en la administración de fondos, se puede optimizar la estrategia como una estrategia de negociación de inversión de línea media y larga más fuerte.
/*backtest
start: 2023-09-10 00:00:00
end: 2023-10-10 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 29/07/2019
// 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
// Chaikin's Volatility indicator compares the spread between a security's
// high and low prices. It quantifies volatility as a widening of the range
// between the high and the low price.
// You can use in the xPrice1 and xPrice2 any series: Open, High, Low, Close, HL2,
// HLC3, OHLC4 and ect...
//
// 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
ChaikinVolatility(Length, ROCLength, Trigger) =>
pos = 0
xPrice1 = high
xPrice2 = low
xPrice = xPrice1 - xPrice2
xROC_EMA = roc(ema(xPrice, Length), ROCLength)
pos := iff(xROC_EMA < Trigger, 1,
iff(xROC_EMA > Trigger, -1, nz(pos[1], 0)))
pos
strategy(title="Combo Backtest 123 Reversal & Chaikin Volatility", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
LengthCV = input(10, minval=1)
ROCLength = input(12, minval=1)
Trigger = input(0, minval=0)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posChaikinVolatility = ChaikinVolatility(LengthCV, ROCLength, Trigger)
pos = iff(posReversal123 == 1 and posChaikinVolatility == 1 , 1,
iff(posReversal123 == -1 and posChaikinVolatility == -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 )