
Esta estrategia utiliza primero la forma 123 para juzgar las señales de reversión, y luego combina el oscilador cuantitativo de Klinger como filtro, para lograr una estrategia de doble golpe cuantitativo que capture las oportunidades de reversión de manera eficiente.
La estrategia tiene dos partes:
La parte de la señal de reversión de 123 formas de juicio: cuando el precio de cierre cerró el tercer día después de 2 días consecutivos de caída, y el indicador de stoch se mantuvo bajo for más arriba; cuando el precio de cierre cerró el tercer día después de 2 días consecutivos de subida, y el indicador de stoch se mantuvo alto for arriba.
La parte del oscilador cuantitativo de Klinger: el oscilador cuantitativo de Klinger combina el rango de fluctuación de los precios y el cambio en el volumen de transacciones para determinar el flujo de entrada y salida de fondos. Cuando el oscilador cuantitativo atraviesa su promedio, es una señal de más de una cabeza; cuando atraviesa su promedio, es una señal de cabeza vacía.
Por último, la estrategia combinada de las dos señales mencionadas anteriormente, el doble golpe de ventaja determina la entrada final.
La mayor ventaja de esta estrategia es la combinación de la forma de reversión y el indicador de energía cuantitativa, que permite capturar de manera eficiente las oportunidades de reversión. Además, se utiliza el indicador de stoch para evitar falsos brechas, y el oscilador cuantitativo de Klinger para determinar el flujo de fondos reales, lo que garantiza la precisión del momento de entrada.
El principal riesgo de esta estrategia reside en el juicio de la forma inversa y el problema de la configuración de los parámetros. Debido a que hay un cierto retraso en la señal de inversión, es necesario asegurarse de que la configuración de los parámetros sea razonable para evitar perder el mejor momento de inversión. Además, la forma inversa en sí misma también puede fallar.
Para reducir el riesgo, se pueden optimizar adecuadamente los parámetros para que la señal de reversión sea más sensible y oportuna. También se pueden agregar otras condiciones de filtración para garantizar que haya suficiente cantidad y amplitud de reversión para evitar la ampliación de la reversión.
Esta estrategia permite optimizar el espacio para ajustar los parámetros y agregar otros juicios auxiliares. En concreto, se puede reducir adecuadamente los parámetros del indicador de stoch, optimizando la sensibilidad de los juicios de forma 123. También se puede agregar a los indicadores y formas actuales para combinarlos, como la adición de un MACD Gold Fork Dead Fork, o un doble top / bottom múltiple Bottom.
Además, se puede considerar ajustar dinámicamente las condiciones de stop loss y stop loss para que la estrategia se adapte mejor a los cambios en el mercado. También se puede combinar el aprendizaje automático para optimizar los parámetros en tiempo real.
Esta estrategia utiliza la teoría clásica de la reversión y los indicadores de la tecnología de la energía cuántica para capturar de manera eficiente las oportunidades de reversión. El espacio de optimización es grande y tiene el potencial de mejorar aún más el efecto, vale la pena comprobar en el campo y optimizar continuamente.
/*backtest
start: 2023-10-22 00:00:00
end: 2023-11-21 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 23/12/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
// The Klinger Oscillator (KO) was developed by Stephen J. Klinger. Learning
// from prior research on volume by such well-known technicians as Joseph Granville,
// Larry Williams, and Marc Chaikin, Mr. Klinger set out to develop a volume-based
// indicator to help in both short- and long-term analysis.
// The KO was developed with two seemingly opposite goals in mind: to be sensitive
// enough to signal short-term tops and bottoms, yet accurate enough to reflect the
// long-term flow of money into and out of a security.
// The KO is based on the following tenets:
// Price range (i.e. High - Low) is a measure of movement and volume is the force behind
// the movement. The sum of High + Low + Close defines a trend. Accumulation occurs when
// today's sum is greater than the previous day's. Conversely, distribution occurs when
// today's sum is less than the previous day's. When the sums are equal, the existing trend
// is maintained.
// Volume produces continuous intra-day changes in price reflecting buying and selling pressure.
// The KO quantifies the difference between the number of shares being accumulated and distributed
// each day as "volume force". A strong, rising volume force should accompany an uptrend and then
// gradually contract over time during the latter stages of the uptrend and the early stages of
// the following downtrend. This should be followed by a rising volume force reflecting some
// accumulation before a bottom develops.
//
// 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
KVO(TrigLen,FastX,SlowX) =>
pos = 0.0
xTrend = iff(hlc3 > hlc3[1], volume * 100, -volume * 100)
xFast = ema(xTrend, FastX)
xSlow = ema(xTrend, SlowX)
xKVO = xFast - xSlow
xTrigger = ema(xKVO, TrigLen)
pos := iff(xKVO > xTrigger, 1,
iff(xKVO < xTrigger, -1, nz(pos[1], 0)))
pos
strategy(title="Combo Backtest 123 Reversal & Klinger Volume Oscillator", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
TrigLen = input(13, minval=1)
FastX = input(34, minval=1)
SlowX = input(55, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posKVO = KVO(TrigLen,FastX,SlowX)
pos = iff(posReversal123 == 1 and posKVO == 1 , 1,
iff(posReversal123 == -1 and posKVO == -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 )