
Este artículo presenta una estrategia de comercio cuantitativa que combina la estrategia de doble línea de paridad y el indicador aleatorio. La estrategia utiliza la capacidad de seguimiento de tendencias de la línea de paridad móvil y las características de sobrecompra y sobreventa del indicador aleatorio para formar una señal de comercio.
La estrategia tiene dos partes:
El uso de la media móvil rápida y la media móvil lenta para formar señales de compra de plata y señales de venta de plata. La media rápida puede capturar más rápidamente las tendencias de cambio de precios y la media lenta filtra las señales falsas.
Utiliza las características de oscilación de los indicadores aleatorios para identificar situaciones de sobreventa y sobreventa. Cuando el indicador aleatorio está por encima de la línea larga, es una señal de sobreventa, y cuando el indicador aleatorio está por debajo de la línea larga, es una señal de sobreventa.
La combinación de las dos partes de la señal forma la señal de negociación final. La estrategia de doble línea de equilibrio sigue las principales tendencias, y los indicadores aleatorios ayudan a evitar situaciones adversas.
Se puede reducir el riesgo mediante la optimización de la combinación de parámetros, o se puede agregar un stop loss para controlar las pérdidas.
La estrategia se puede optimizar en los siguientes aspectos:
Esta estrategia utiliza una estrategia de doble línea de equilibrio y las ventajas de los indicadores aleatorios. Al mismo tiempo que sigue las principales tendencias del mercado, evita la reversión de las tendencias adversas. Se puede obtener un mejor efecto de la estrategia mediante la optimización de la combinación de parámetros.
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 24/11/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
// As the name suggests, High low bands are two bands surrounding the underlying’s
// price. These bands are generated from the triangular moving averages calculated
// from the underlying’s price. The triangular moving average is, in turn, shifted
// up and down by a fixed percentage. The bands, thus formed, are termed as High
// low bands. The main theme and concept of High low bands is based upon the triangular
// 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
HLB(Length, PercentShift) =>
pos = 0.0
xTMA = sma(sma(close, Length), Length)
xHighBand = xTMA + (xTMA * PercentShift / 100)
xLowBand = xTMA - (xTMA * PercentShift / 100)
pos :=iff(close > xHighBand, 1,
iff(close <xLowBand, -1, nz(pos[1], 0)))
pos
strategy(title="Combo Backtest 123 Reversal & High Low Bands", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
Length_HLB = input(14, minval=1)
PercentShift = input(1, minval = 0.01, step = 0.01)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posHLB = HLB(Length_HLB, PercentShift)
pos = iff(posReversal123 == 1 and posHLB == 1 , 1,
iff(posReversal123 == -1 and posHLB == -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 )