Estrategia de optimización de seguimiento de tendencia de media móvil


Fecha de creación: 2024-01-04 15:44:23 Última modificación: 2024-01-04 15:44:23
Copiar: 0 Número de Visitas: 328
1
Seguir
1166
Seguidores

Estrategia de optimización de seguimiento de tendencia de media móvil

Descripción general

La luz de la cuantificación es una estrategia combinada de indicadores estocásticos y indicadores OTT. La estrategia utiliza los indicadores estocásticos para generar señales de compra y venta, y en combinación con los indicadores OTT para filtrar las señales, para tratar de capturar las grandes tendencias y reducir el impacto de las falsas señales causadas por los movimientos de mercado. Esta estrategia se evaluará en detalle.

Principio de estrategia

La idea central de esta estrategia es la superposición de indicadores OTT sobre indicadores estocásticos para filtrar la señal. Los indicadores estocásticos comparan los precios con los máximos y mínimos de los períodos de tiempo especificados para determinar si los precios se encuentran en zonas extremas. Los indicadores OTT utilizan promedios móviles y paros dinámicos para seguir la tendencia.

El código establece que el alto de Stochastic es 1080, el bajo es 1020, y el promedio de Stochastic es el intervalo plano entre ambos. Cuando Stochastic genera una señal de compra/venta, el código juzgará la validez de la señal según el indicador OTT. Si el precio cruza la media OTT hacia arriba, se envía una señal de compra, y si el precio cruza la media OTT hacia abajo, se envía una señal de venta.

Esta combinación utiliza Stochastic para determinar sobrecompras y sobreventa y emitir señales de entrada. OTT es responsable de seguir la tendencia y aprovechar las señales falsas causadas por el efecto de los filtros de deterioro que eliminan las condiciones de oscilación demasiado fuertes, optimizando así la precisión y la volatilidad de la señal.

Análisis de las ventajas

La estrategia utiliza una combinación de indicadores estocásticos y OTT para optimizar los siguientes aspectos:

  1. La precisión de las señales se ha mejorado. Stochastic determina sobrecompra y sobreventa, y OTT se encarga de eliminar las señales falsas causadas por el movimiento de la oscilación.
  2. Se ha reducido la volatilidad de la estrategia. Se han limitado las pérdidas de la operación con un stop loss dinámico, filtrando muchos de los brechas falsos.
  3. Esto es lo que ocurre en el caso de las acciones que se encuentran en las principales tendencias. Esto es lo que ocurre con Stochastic.
  4. Reducción de la interferencia excesiva de la señal. Mejora la calidad de la señal y reduce la señal inútil.
  5. Se establece un stop loss dinámico cuantitativo. Garantiza cualitativamente la pérdida actual y reduce aún más la volatilidad de la estrategia.
  6. El sistema combina la tendencia y el indicador de sobrecompra y sobreventa. Utiliza los dos indicadores para optimizar las desventajas mutuas.

En resumen, la estrategia utiliza OTT para filtrar las señales estocásticas, lo que mejora la calidad de la señal y los beneficios de la estrategia, al tiempo que reduce el número de transacciones y la volatilidad de la estrategia, lo que alcanza un efecto cercano a la tendencia, bajo riesgo y alto beneficio.

Análisis de riesgos

  • El alcance de aplicación de esta estrategia es relativamente estrecho. Se aplica principalmente a las acciones con una tendencia evidente. El impacto es menor para las acciones con una gran fluctuación de precios o acciones con precios de liquidación de la oscilación.
  • La estrategia no tiene en cuenta los fundamentos de las acciones y el aspecto macro del mercado, hay una cierta ceguera.
  • La configuración de los parámetros es sensible. Muchos de los parámetros de Stochastic y OTT requieren un ajuste profesional, de lo contrario afectan la rentabilidad de la estrategia.
  • El Stop Loss es demasiado flexible. Asume ciertas pérdidas potenciales y necesita ser optimizado aún más.
  • En caso de falsa ruptura y conmoción, se producen ciertas pérdidas e interferencias en la señal. Se requieren modificaciones en los criterios de juicio y los criterios de pérdidas.

En relación con los riesgos mencionados, las siguientes medidas pueden mejorar:

  1. Se utilizan diferentes combinaciones de parámetros según las diferentes categorías de acciones.
  2. La combinación de lo básico y lo periodístico emite una señal de fortalecimiento.
  3. Las pruebas de optimización de los parámetros buscan la configuración óptima.
  4. Introducción del Stop Loss móvil para reducir aún más el riesgo.
  5. En la actualidad, el gobierno de la República Democrática del Congo ha adoptado una serie de medidas para modificar las condiciones de juicio y adoptar un mecanismo de confirmación de señales más riguroso.

Dirección de optimización

La estrategia puede ser optimizada en profundidad en los siguientes aspectos:

  1. Ajuste los parámetros según los diferentes mercados y categorías de acciones. Los valores predeterminados son generales y se pueden probar individualmente para diferentes acciones para encontrar la combinación óptima de parámetros.

  2. Introducción de paradas y paradas móviles. En la actualidad se utiliza un parador fijo dinámico, que no permite el seguimiento dinámico de pérdidas y ganancias. Se puede probar la introducción de paradas y paradas móviles para controlar aún más los riesgos de la estrategia de ganancias.

  3. Optimización de la lógica de juicio de la señal. La lógica de juicio actual es más simple, y el alza y bajada del precio marca directamente la señal de compra y venta. Se puede considerar la combinación de más indicadores y juicios de la forma del precio para asegurar la fiabilidad de la señal.

  4. Aumentar las condiciones de apertura de la posición y el mecanismo de filtración. La estrategia actual trata cada señal de manera uniforme. Se pueden introducir condiciones de apertura de posición como indicadores de capacidad, indicadores de volumen de transacción y agregar una determinada ventana de tiempo de señal para eliminar señales falsas.

  5. Prueba la combinación de diferentes indicadores con OTT. Actualmente se utiliza la combinación de Stochastic y OTT. Se puede probar el efecto de la combinación de otros indicadores con OTT, como MACD, RSI.

  6. Un módulo de gestión de fondos y gestión de posiciones integrados. No hay un mecanismo de gestión de fondos y control de posiciones, que depende completamente del stop loss. Se pueden probar diferentes tipos de métodos de gestión de fondos y gestión de posiciones para controlar aún más el riesgo individual y global.

Resumir

La luz de la cuantificación es una estrategia de cuantificación que combina orgánicamente el indicador estocástico con el indicador OTT. Utiliza las ventajas complementarias de ambos indicadores, mejora la precisión de la señal y reduce el riesgo al mismo tiempo que capta eficazmente las grandes tendencias.

Esta estrategia tiene las ventajas de una baja tasa de error, claridad de la señal y poca volatilidad. Mejora la fiabilidad de la señal, optimiza los niveles de stop loss y reduce la frecuencia de las operaciones, y es una estrategia cuantitativa recomendable.

Al mismo tiempo, la estrategia también tiene un cierto margen de mejora. A través de la optimización de los parámetros, la mejora de los mecanismos de deterioro, la mejora de los mecanismos de señalización y filtración, la estrategia puede evolucionar hacia una dirección más estable, automatizada e inteligente, que es el objetivo de nuestro trabajo posterior.

Código Fuente de la Estrategia
/*backtest
start: 2023-12-27 00:00:00
end: 2024-01-03 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © KivancOzbilgic
//created by: @Anil_Ozeksi
//developer: ANIL ÖZEKŞİ
//author: @kivancozbilgic


strategy(title="Stochastic Optimized Trend Tracker", shorttitle="SOTT", format=format.price, precision=2)
periodK = input(250, title="%K Length", minval=1)
smoothK = input(50, title="%K Smoothing", minval=1)
src1 = input(close, title="Source")
length=input(3, "OTT Period", minval=1)
percent=input(0.618, "OTT Percent", type=input.float, step=0.1, minval=0)
showsupport = input(title="Show Support Line?", type=input.bool, defval=false)
showsignalsc = input(title="Show Stochastic/OTT Crossing Signals?", type=input.bool, defval=false)
Var_Func1(src1,length)=>
    valpha1=2/(length+1)
    vud11=src1>src1[1] ? src1-src1[1] : 0
    vdd11=src1<src1[1] ? src1[1]-src1 : 0
    vUD1=sum(vud11,9)
    vDD1=sum(vdd11,9)
    vCMO1=nz((vUD1-vDD1)/(vUD1+vDD1))
    VAR1=0.0
    VAR1:=nz(valpha1*abs(vCMO1)*src1)+(1-valpha1*abs(vCMO1))*nz(VAR1[1])
VAR1=Var_Func1(src1,length)
k = Var_Func1(stoch(close, high, low, periodK), smoothK)
src=k+1000
Var_Func(src,length)=>
    valpha=2/(length+1)
    vud1=src>src[1] ? src-src[1] : 0
    vdd1=src<src[1] ? src[1]-src : 0
    vUD=sum(vud1,9)
    vDD=sum(vdd1,9)
    vCMO=nz((vUD-vDD)/(vUD+vDD))
    VAR=0.0
    VAR:=nz(valpha*abs(vCMO)*src)+(1-valpha*abs(vCMO))*nz(VAR[1])
VAR=Var_Func(src,length)
h0 = hline(1080, "Upper Band", color=#606060)
h1 = hline(1020, "Lower Band", color=#606060)
fill(h0, h1, color=#9915FF, transp=80, title="Background")
plot(k+1000, title="%K", color=#0094FF)
MAvg=Var_Func(src, length)
fark=MAvg*percent*0.01
longStop = MAvg - fark
longStopPrev = nz(longStop[1], longStop)
longStop := MAvg > longStopPrev ? max(longStop, longStopPrev) : longStop
shortStop =  MAvg + fark
shortStopPrev = nz(shortStop[1], shortStop)
shortStop := MAvg < shortStopPrev ? min(shortStop, shortStopPrev) : shortStop
dir = 1
dir := nz(dir[1], dir)
dir := dir == -1 and MAvg > shortStopPrev ? 1 : dir == 1 and MAvg < longStopPrev ? -1 : dir
MT = dir==1 ? longStop: shortStop
OTT=MAvg>MT ? MT*(200+percent)/200 : MT*(200-percent)/200 
plot(showsupport ? MAvg : na, color=#0585E1, linewidth=2, title="Support Line")
OTTC = #B800D9 
pALL=plot(nz(OTT[2]), color=OTTC, linewidth=2, title="OTT", transp=0)
alertcondition(cross(src, OTT[2]), title="Price Cross Alert", message="OTT - Price Crossing!")
alertcondition(crossover(src, OTT[2]), title="Price Crossover Alarm", message="PRICE OVER OTT - BUY SIGNAL!")
alertcondition(crossunder(src, OTT[2]), title="Price Crossunder Alarm", message="PRICE UNDER OTT - SELL SIGNAL!")
buySignalc = crossover(src, OTT[2])
plotshape(buySignalc and showsignalsc ? OTT*0.995 : na, title="Buy", text="Buy", location=location.absolute, style=shape.labelup, size=size.tiny, color=color.green, textcolor=color.white, transp=0)
sellSignallc = crossunder(src, OTT[2])
plotshape(sellSignallc and showsignalsc ? OTT*1.005 : na, title="Sell", text="Sell", location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.red, textcolor=color.white, transp=0)

dummy0 = input(true, title = "=Backtest Inputs=")
FromDay    = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromMonth  = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromYear   = input(defval = 2005, title = "From Year", minval = 2005)
ToDay      = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToMonth    = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToYear     = input(defval = 9999, title = "To Year", minval = 2006)
Start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)
Finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)
Timerange() =>
    time >= Start and time <= Finish ? true : false
if buySignalc
    strategy.entry("Long", strategy.long,when=Timerange())
if sellSignallc
    strategy.entry("Short", strategy.short,when=Timerange())