
El sistema de línea media inversa de doble seguimiento combina la estrategia inversa de 123 formas con la estrategia de tabla de equilibrio de primera vista, con el objetivo de descubrir oportunidades de reversión y seguir la tendencia para obtener ganancias adicionales.
La estrategia se compone de dos subestrategias:
La estrategia se basa en el comportamiento de los precios. La lógica es:
La estrategia utiliza la forma en que los precios superan el cierre del día anterior para determinar la reversión y utiliza el índice de combinación de líneas K de la acción para eliminar la corrección de la oscilación.
La estrategia se basa en un cruce de cinco líneas de la tabla de equilibrio de primera vista. La lógica específica es:
La línea de referencia es el punto medio de los precios más altos y más bajos de los últimos 26 días, mientras que la línea de conversión es el punto medio de los precios más altos y más bajos de los últimos 9 días. La estrategia utiliza un sistema de búsqueda de tendencias de cruce de líneas medias.
La estrategia final se combina de acuerdo con las señales de las dos estrategias secundarias, cuando ambas abren posiciones a la vez a la vista o a la baja, y a la vista y a la baja.
La estrategia tiene ciertas ventajas de negociación, pero también existe el riesgo de amortización y deterioro. Necesitamos optimizar continuamente la lógica de la estrategia en el retrospectivo, junto con medidas rigurosas de gestión de riesgos para mejorar la estabilidad de la estrategia y el rendimiento en el mercado. En general, la estrategia nos ofrece un buen camino, es decir, combinar diferentes tipos de estrategias para obtener un mejor efecto general.
/*backtest
start: 2023-10-07 00:00:00
end: 2023-11-06 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 26/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
// Ichimoku Strategy
//
// 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
middleDonchian(Length) =>
lower = lowest(Length)
upper = highest(Length)
avg(upper, lower)
Ichimoku2c(conversionPeriods, basePeriods,laggingSpan2Periods,displacement) =>
pos = 0.0
Tenkan = middleDonchian(conversionPeriods)
Kijun = middleDonchian(basePeriods)
xChikou = close
SenkouA = middleDonchian(laggingSpan2Periods)
SenkouB = (Tenkan[basePeriods] + Kijun[basePeriods]) / 2
pos := iff(close < SenkouA[displacement], -1,
iff(close > SenkouB, 1, nz(pos[1], 0)))
pos
strategy(title="Combo Backtest 123 Reversal & Ichimoku2c", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
conversionPeriods = input(9, minval=1),
basePeriods = input(26, minval=1)
laggingSpan2Periods = input(52, minval=1),
displacement = input(26, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posIchimoku2c = Ichimoku2c(conversionPeriods, basePeriods,laggingSpan2Periods,displacement)
pos = iff(posReversal123 == 1 and posIchimoku2c == 1 , 1,
iff(posReversal123 == -1 and posIchimoku2c == -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 )