
Esta estrategia combina dos estrategias: el indicador de fluctuación dinámica y el modelo 123 para formar una señal de negociación integral que mejora la probabilidad de obtener ganancias. Entre ellas, el indicador de fluctuación dinámica sigue la volatilidad del mercado y ajusta los parámetros del RSI para capturar tendencias a corto plazo. El modelo 123 utiliza los picos y bajas a corto plazo de las acciones para formar una señal de negociación.
La forma 123 se divide en tres etapas, la primera etapa de la cotización de la acción baja dos días seguidos, luego la segunda etapa de la cotización de la acción sube dos días seguidos, y finalmente la tercera etapa de la cotización de la acción baja de nuevo. De acuerdo con la forma, podemos determinar que se puede establecer una posición de más cabeza cuando la cotización de la acción sube en la segunda etapa, y se puede establecer una posición de cabeza vacía cuando la cotización de la acción baja en la tercera etapa.
En concreto, cuando el precio de cierre es inferior al precio de cierre del día anterior, y el precio de cierre del día anterior es superior al precio de cierre del día anterior, y el Stochastic Slow es inferior a 50 el día 9, se utiliza como señal de compra; cuando el precio de cierre es superior al precio de cierre del día anterior, y el precio de cierre del día anterior es inferior al precio de cierre del día anterior, y el Stochastic Fast es superior a 50 el día 9, se utiliza como señal de venta.
El proceso de construcción del indicador de fluctuaciones dinámicas es similar al RSI, la principal diferencia es que la longitud del ciclo del indicador de fluctuaciones dinámicas es variable. En concreto, la longitud del ciclo del indicador está influenciada por la fluctuación reciente de los precios.
La fórmula para calcular el índice de movimiento de Zhang Zhen es:
DMI = RSI(DTime)
其中:
DTime = 14 / X日收盘价标准差的10日均值
El indicador tiene el mismo rango de definición que el RSI, con las siguientes zonas blancas:
Región con más cabezas: DMI > 30 Área de cabeza vacía: DMI < 70
El indicador genera una señal de compra cuando pasa de la zona de la cabeza vacía a la zona de la cabeza, y una señal de venta cuando pasa de la zona de la cabeza vacía a la zona de la cabeza.
La forma 123 es simple y eficaz. Utiliza el carácter inverso del precio de las acciones en el corto plazo, comprando en la parte inferior de la subcategoría y vendiendo en la parte superior de la subcategoría, evitando el comercio a mediados de la tendencia.
La dinámica del índice de Changchun es más sensible. Las características cambiantes del indicador le permiten adaptarse al mercado y capturar los puntos de inflexión en el momento de las fuertes fluctuaciones.
Las dos estrategias pueden filtrar eficazmente los informes falsos. Cuando se produce una señal de forma 123, el DMI determina el contexto del mercado, lo que reduce las pérdidas de las operaciones en la tendencia.
La combinación de las ventajas de las dos estrategias. DMI es adecuado para su uso como filtro, y la combinación de la forma 123 puede mejorar considerablemente la estabilidad del sistema.
La forma DMI y la forma 123 pueden generar señales erróneas cuando el precio solo fluctua por un corto período de tiempo y no se mueve.
La frecuencia de las operaciones puede ser demasiado alta. La característica de los ciclos cambiantes del DMI lo hace extremadamente sensible al ruido del mercado y requiere un ajuste adecuado de los parámetros para controlar la frecuencia de las operaciones.
La forma 123 puede haber perdido la oportunidad de la mitad de la tendencia. Esta forma capta principalmente reveses a corto plazo y no puede beneficiarse de forma sostenida de la tendencia de la línea media y larga.
Es necesario limitar adecuadamente el número de transacciones. El exceso de transacciones puede generar altas comisiones y costos de puntos de deslizamiento.
Optimización de la dinámica de los parámetros del índice de Changchun. Se pueden probar los parámetros RSI de diferentes DMIs, los parámetros de la franja de negociación para encontrar la combinación óptima de parámetros.
Optimización de las condiciones de filtrado de la forma 123. Se pueden probar diferentes parámetros del indicador de Stoch o otros indicadores de filtrado como MACD.
Aumentar el mecanismo de suspensión de pérdidas. Una suspensión de pérdidas adecuada puede reducir la pérdida individual.
La adición de módulos de gestión de posiciones, como el comercio de cantidad fija, el comercio de utilidad de capital fijo, etc., puede mejorar el control de riesgo estratégico.
Esta estrategia se utiliza para evaluar el mercado a través de una combinación de dos perspectivas: el índice de movimiento de Zhang Ziyi y la forma 123. Esta estrategia tiene como objetivo mejorar la eficacia de las señales de negociación. Sin embargo, ninguna estrategia en solitario puede adaptarse perfectamente a los cambios en el mercado, y los inversores deben tener cuidado al controlar el riesgo al usarla y ajustar constantemente los parámetros de optimización en función de los resultados de la retroalimentación y el mercado real para que la estrategia pueda ser rentable de manera continua.
/*backtest
start: 2024-01-17 00:00:00
end: 2024-01-24 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 18/03/2020
// 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
// This indicator plots Dynamic Momentum Index indicator. The Dynamic Momentum
// Index (DMI) was developed by Tushar Chande and Stanley Kroll. The indicator
// is covered in detail in their book The New Technical Trader.
// The DMI is identical to Welles Wilder`s Relative Strength Index except the
// number of periods is variable rather than fixed. The variability of the time
// periods used in the DMI is controlled by the recent volatility of prices.
// The more volatile the prices, the more sensitive the DMI is to price changes.
// In other words, the DMI will use more time periods during quiet markets, and
// less during active markets. The maximum time periods the DMI can reach is 30
// and the minimum is 3. This calculation method is similar to the Variable
// Moving Average, also developed by Tushar Chande.
// The advantage of using a variable length time period when calculating the RSI
// is that it overcomes the negative effects of smoothing, which often obscure short-term moves.
// The volatility index used in controlling the time periods in the DMI is based
// on a calculation using a five period standard deviation and a ten period average
// of the standard deviation.
//
// 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
DMI(RSILen, BuyZone,SellZone,UpLimit,LoLimit) =>
pos = 0
xStdDev = stdev(close, 5)
xSMAStdDev = sma(xStdDev, 10)
DTime = round(14 / xSMAStdDev - 0.5)
xDMI = iff(DTime > UpLimit, UpLimit,
iff(DTime < LoLimit, LoLimit, DTime))
xRSI = rsi(xDMI, RSILen)
pos := iff(xRSI > BuyZone, 1,
iff(xRSI < SellZone, -1, nz(pos[1], 0)))
pos
strategy(title="Combo Backtest 123 Reversal & Dynamic Momentum Index", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
RSILen = input(14, minval=1)
BuyZone = input(30, minval=1)
SellZone = input(70, minval=1)
UpLimit = input(30, minval=1)
LoLimit = input(5, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posDMI = DMI(RSILen, BuyZone,SellZone,UpLimit,LoLimit)
pos = iff(posReversal123 == 1 and posDMI == 1 , 1,
iff(posReversal123 == -1 and posDMI == -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 )