La estrategia se basa en la estrategia de negociación de dos líneas equiláreas de un precio sintético deteriorado (DSP). El DSP es una función que se sincroniza con el ciclo de dominación del precio real, obtenido mediante el cálculo de 1⁄4 de ciclo de EMA menos 1⁄2 de ciclo de EMA. Se realiza una negociación unilateral cuando el DSP se pone en marcha o baja en marcha.
Calcula el precio del promedio de 1⁄2 ciclo de HL x HL2.
Se calcula el 1⁄4 de ciclo EMA ((xEMA1) y el 1⁄2 de ciclo EMA ((xEMA2) de xHL2 según el parámetro de longitud.
Calcular xEMA1 menos xEMA2 se obtiene el precio de síntesis de la tendencia DSP。
Configuración de los parámetros de subida y bajada de la vía.
Se puede hacer más de la dirección de vacío mediante el cambio de parámetros reverso.
La estrategia tiene las siguientes ventajas:
El DSP puede capturar el ciclo dominante del precio y evitar ser engañado por el ciclo secundario.
El diseño de doble EMA permite el seguimiento eficaz de los cambios en el ciclo dominado.
El tren es fácil de subir y bajar, evitando el exceso de comercio.
Se puede cambiar fácilmente para hacer más de una dirección para adaptarse a diferentes entornos de mercado.
No necesita optimización de parámetros complejos, es sencillo y práctico.
Los principales riesgos de esta estrategia son:
El ciclo DSP está mal configurado y puede haberse perdido el ciclo dominante.
El ancho de las vías ascendentes y descendentes necesita ser optimizado, de lo contrario podría haber demasiada frecuencia de transacción.
Diseño de ciclo fijo, mala adaptabilidad a los cambios drásticos del mercado.
El comercio basado únicamente en DSP es susceptible a ser repetidamente confundido por el cruce de mercados convulsivos.
No se han tenido en cuenta los pérdidos, pero existe el riesgo de grandes pérdidas.
La estrategia se puede optimizar en las siguientes direcciones:
Optimización de parámetros para encontrar la combinación óptima de parámetros de ciclo.
Aumentar la configuración dinámica de subida y bajada basada en la fluctuación.
Se filtran los indicadores de fluctuación en combinación con las tendencias para reducir las señales falsas.
Aumentar el stop móvil o el stop de seguimiento para controlar el riesgo.
Realizar ajustes de parámetros de varias variedades para evaluar la universalidad.
Aumentar los algoritmos de aprendizaje automático para lograr la optimización de la adaptación del ciclo DSP.
La estrategia en su conjunto es una estrategia de negociación binaria muy sencilla y práctica. Se basa en un análisis de ciclos razonable, el seguimiento eficaz de los ciclos dominantes a través de DSP. Las mejoras en la optimización de los parámetros, el mecanismo de detención de pérdidas, las condiciones de filtración, etc., pueden ser una estrategia de negociación cuantitativa más confiable.
/*backtest
start: 2023-09-11 00:00:00
end: 2023-09-13 02:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 20/03/2017
// Detrended Synthetic Price is a function that is in phase with the
// dominant cycle of real price data. This DSP is computed by subtracting
// a half-cycle exponential moving average (EMA) from the quarter cycle
// exponential moving average.
// See "MESA and Trading Market Cycles" by John Ehlers pages 64 - 70.
//
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy(title="D_DSP (Detrended Synthetic Price)", shorttitle="D_DSP")
Length = input(14, minval=1)
SellBand = input(25)
BuyBand = input(-25)
reverse = input(false, title="Trade reverse")
hline(0, color=blue, linestyle=line)
hline(SellBand, color=red, linestyle=line)
hline(BuyBand, color=green, linestyle=line)
xHL2 = hl2
xEMA1 = ema(xHL2, Length)
xEMA2 = ema(xHL2, 2 * Length)
xEMA1_EMA2 = xEMA1 - xEMA2
pos = iff(xEMA1_EMA2 > SellBand, 1,
iff(xEMA1_EMA2 < BuyBand, -1, nz(pos[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)
barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(xEMA1_EMA2, color=blue, title="D_DSP")