La estrategia de brecha de precios de doble línea de paridad y reversión busca un momento de entrada de mayor calidad mediante la combinación de señales de doble negociación. La estrategia utiliza primero el promedio móvil de 9 días y sus subidas y bajadas para construir un marco de brechas básico, y luego utiliza la dirección de la oportunidad de juicio de 123 formas para introducir una señal de filtro de indicador aleatorio, que finalmente forma una regla de entrada más estricta. Este método de filtro combinado puede reducir efectivamente la frecuencia de negociación al tiempo que garantiza la calidad de la señal, adecuada para la tenencia de líneas medias y largas.
La estrategia de ruptura de precios de doble línea media e inversa se compone de una combinación de dos estrategias secundarias.
La primera subestrategia es la de determinar la forma 123. La estrategia utiliza la relación de precios de cierre de los dos días anteriores para determinar la posible dirección de un posible avance en el futuro. Si el precio de cierre de hoy 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 de los dos días anteriores, se considera una señal de compra; si el precio de cierre de hoy 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 precio de cierre de los dos días anteriores, se considera una señal de venta.
La segunda subestrategia es la ruptura del canal de la media desplazada. La estrategia primero calcula el promedio móvil indicador de un período determinado (como 9 días), y luego agrega un porcentaje por encima y por debajo de él como un canal ascendente y descendente. Si el precio sube en la trayectoria, genera una señal de venta, y si el precio baja en la trayectoria, genera una señal de compra.
En última instancia, solo se generan señales reales que guían a las transacciones reales cuando la dirección de la señal de las dos subestrategias es la misma, es decir, la señal de reversión de forma 123 y la señal de ruptura de canal. Este mecanismo de doble filtración puede filtrar una gran cantidad de señales falsas y reducir la frecuencia de las transacciones al tiempo que garantiza una mayor confiabilidad en cada transacción.
La estrategia de ruptura de precios de doble línea media e inversa utiliza una combinación de varios métodos de análisis y tiene las siguientes ventajas:
El mecanismo de filtración de doble señal reduce de manera efectiva las señales no válidas y hace que cada transacción sea de mayor calidad.
El juicio de la forma 123 pertenece a la estrategia de reversión en el corto plazo, la ruptura del canal de desplazamiento pertenece a la estrategia de seguimiento de tendencias de la línea media y larga, el uso combinado puede lograr la cooperación de la línea media y larga en el corto plazo, y el efecto de los ingresos es mejor.
La frecuencia de la señal se puede controlar libremente ajustando la amplitud ascendente y descendente del canal para adaptarse a las diferentes preferencias comerciales.
Utilizando la línea media diaria de 9 como eje central del canal, la selección de parámetros es más razonable y evita que la señal sea demasiado frecuente.
La aplicación de un indicador aleatorio para determinar las zonas de sobreventa y sobrecompra puede evitar que se encuentre en una situación de crisis.
Las estrategias de ruptura de precios de doble línea recta y de inversión también presentan algunos riesgos, que se centran principalmente en los siguientes aspectos:
El mecanismo de doble filtración de señales puede perder algunas de las oportunidades que las estrategias unilaterales pueden capturar, y existe un cierto riesgo de que se pierda una sola.
123 BPO no puede filtrar por completo todas las brechas falsas, lo que puede resultar en pérdidas si se usa incorrectamente.
Si las condiciones cambian drásticamente, la configuración inadecuada de la posición de parada puede causar grandes pérdidas.
La lógica condicional de ifft es compleja, y los parámetros incorrectos son propensos a generar errores lógicos, lo que hace que el juicio de la señal falle.
Los datos extra-muestra afectan la estabilidad de los parámetros, por lo que se requiere una optimización dinámica de los mismos.
La estrategia de brecha de precios de doble línea media y reversión también tiene espacio para optimización:
Se pueden probar diferentes tipos de líneas medias para elegir una combinación de parámetros que generen una señal de calidad mejor y más estable.
Se puede elegir un ancho de banda de canal que coincida con las características de datos de la variedad específica.
Se puede combinar el stop loss para controlar el porcentaje de pérdidas máximas.
Se pueden introducir parámetros de optimización dinámica de modelos de aprendizaje automático para que las estrategias sean más robustas.
Se puede añadir un filtro de volumen de operaciones o de volatilidad para evitar que se produzcan entradas y salidas demasiado frecuentes en situaciones de crisis.
La estrategia de ruptura de precios de doble línea recíproca y doble línea recíproca, mediante el mecanismo de filtración de doble verificación, combina con éxito la inversión a corto plazo con el seguimiento de tendencias de línea media y larga para formar un sistema de negociación eficiente, capaz de filtrar eficazmente las señales de invalidez, seleccionar entradas de oportunidad de alta calidad y tener un espacio de personalización fuerte. La estrategia tiene un gran potencial de uso como un marco general, con ajuste de parámetros y optimización de aprendizaje automático.
/*backtest
start: 2023-11-06 00:00:00
end: 2023-12-06 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 18/03/2021
// 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
// Moving Average Displaced Envelope. These envelopes are calculated
// by multiplying percentage factors with their displaced expotential
// moving average (EMA) core.
// How To Trade Using:
// Adjust the envelopes percentage factors to control the quantity and
// quality of the signals. If a previous high goes above the envelope
// a sell signal is generated. Conversely, if the previous low goes below
// the envelope a buy signal is given.
//
// 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
MADE(Price,Period, perAb, perBl, disp) =>
pos = 0.0
sEMA = ema(Price, Period)
top = sEMA[disp] * ((100 + perAb)/100)
bott = sEMA[disp]* ((100 - perBl)/100)
pos := iff(close < bott , 1,
iff(close > top, -1, pos[1]))
pos
strategy(title="Combo Backtest 123 Reversal & MA Displaced Envelope", shorttitle="Combo", overlay = true)
line1 = input(true, "---- 123 Reversal ----")
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
line2 = input(true, "---- MA Displaced Envelope ----")
Price = input(title="Source", type=input.source, defval=close)
Period =input(defval=9, minval=1)
perAb = input(title = "Percent above", defval=.5, minval=0.01, step = 0.1)
perBl = input(title = "Percent below", defval=.5, minval=0.01, step = 0.1)
disp = input(title = "Displacement", defval=13, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posMADE = MADE(Price,Period, perAb, perBl, disp)
pos = iff(posReversal123 == 1 and posMADE == 1 , 1,
iff(posReversal123 == -1 and posMADE == -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 )