Estrategia del oscilador estocástico


Fecha de creación: 2023-11-06 09:30:27 Última modificación: 2023-11-06 09:30:27
Copiar: 1 Número de Visitas: 576
1
Seguir
1621
Seguidores

Estrategia del oscilador estocástico

Descripción general

La estrategia de choque aleatorio utiliza una combinación de indicadores técnicos como el cruce de líneas medias, el indicador MACD y el promedio móvil de Hull, para formar un sistema de decisión comercial más científico y sistemático. La estrategia se dedica a capturar los puntos de cambio de tendencia en situaciones de choque para descubrir y aprovechar las oportunidades potenciales en la situación.

Principio de estrategia

En primer lugar, la estrategia utiliza un indicador de la línea de cambio y la línea de referencia al mismo tiempo. La línea de cambio es la media de los precios más altos y más bajos en 9 períodos, y la línea de referencia es la media de los precios más altos y más bajos en 24 períodos.

En segundo lugar, el MACD, como un indicador de seguimiento de tendencias importante, también es utilizado por la estrategia. El MACD calcula el diferencial entre el ema a corto plazo (12 días) y el ema a largo plazo (24 días) y luego calcula la línea de señal (9 días). Cuando el MACD cruza la línea de señal de abajo hacia arriba, es una señal de compra; cuando cruza la línea de señal de arriba hacia abajo, es una señal de venta.

Además, el promedio móvil de Hull se introdujo en la estrategia para reducir el atraso de las medias móviles y mejorar la sensibilidad de la señal de giro de precios. Su método de cálculo es: multiplicar por 2 el WMA de medio ciclo, restar el WMA de ciclo completo y calcular el WMA de ciclo abierto.

Finalmente, la estrategia combina los resultados de los indicadores anteriores para formar un sistema de decisión de negociación más confiable. Las operaciones de compra y venta reales se producen cuando una acción de compra, MACD y Hull MA emite señales homónimas.

Ventajas estratégicas

  • La combinación de múltiples indicadores, la aplicación integral de una sola fuente, MACD y Hull MA, tres indicadores, forma una fuerza de decisión más fuerte.

  • Reducción de falsas señales, verificación entre diferentes indicadores, reducción de la probabilidad de error en un solo indicador.

  • Aumentar la eficiencia de las operaciones, solo cuando varios indicadores coinciden, evitar el comercio frecuente.

  • Parámetros ajustables, los parámetros del indicador se pueden ajustar según el mercado para mejorar la adaptabilidad de la estrategia.

  • Para reducir el retraso, Hull MA mejoró el cálculo de las medias móviles para capturar los cambios de precios antes.

Riesgo estratégico

  • El riesgo de confusión aérea es mayor y puede generar señales erróneas.

  • La configuración incorrecta de los parámetros del indicador también puede afectar el rendimiento de la estrategia.

  • Si prestamos demasiada atención a las señales de cambio de indicadores, podríamos perder la tendencia.

  • El Hull MA es un indicador más reciente, cuya eficacia a largo plazo está pendiente de verificación.

  • La frecuencia de las transacciones puede ser baja, lo que impide aprovechar todas las oportunidades a tiempo.

Dirección de optimización

  • Se puede probar la adición de otros indicadores, como Bollinger Bands, para optimizar aún más el sistema de toma de decisiones.

  • Se pueden ajustar los parámetros indicadores para encontrar la combinación óptima de parámetros.

  • Se puede introducir un mecanismo de suspensión dinámica para controlar las pérdidas individuales.

  • La combinación de indicadores de tendencias puede ayudar a evitar perder oportunidades de tendencias.

  • Optimización de la gestión de posiciones y ajuste de la frecuencia de las operaciones y posiciones en diferentes mercados.

Resumir

La estrategia de choque aleatorio utiliza un conjunto de indicadores y métodos de análisis técnico para buscar oportunidades de negociación en situaciones de choque. Tiene ventajas en la combinación de indicadores, reducción de señales falsas y mejora de la eficiencia operativa. Pero también existe un cierto riesgo, que requiere más pruebas y optimización para adaptarse a una situación más amplia del mercado y encontrar el equilibrio óptimo entre riesgo y ganancias.

Código Fuente de la Estrategia
/*backtest
start: 2022-10-30 00:00:00
end: 2023-11-05 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("Ichimoku Kinko Hyo + HULL-MA_X + MacD", shorttitle="@m", overlay=true, default_qty_type=strategy.percent_of_equity, max_bars_back=1000, default_qty_value=100, calc_on_order_fills= true, calc_on_every_tick=true, pyramiding=0)

keh=input(title="Double HullMA",defval=12, minval=1)

n2ma=2*wma(close,round(keh/2))
nma=wma(close,keh)
diff=n2ma-nma
sqn=round(sqrt(keh))
n2ma1=2*wma(close[1],round(keh/2))
nma1=wma(close[1],keh)
diff1=n2ma1-nma1
sqn1=round(sqrt(keh))
n1=wma(diff,sqn)
n2=wma(diff1,sqn)
b=n1>n2?lime:red
c=n1>n2?green:red
d=n1>n2?red:green

TenkanSenPeriods = input(9, minval=1, title="Tenkan Sen Periods")
KijunSenPeriods = input(24, minval=1, title="Kijun Sen Periods")
SenkouSpanBPeriods = input(51, minval=1, title="Senkou Span B Periods")
displacement = input(24, minval=1, title="Displacement")
donchian(len) => avg(lowest(len), highest(len))
TenkanSen = donchian(TenkanSenPeriods)
KijunSen = donchian(KijunSenPeriods)
SenkouSpanA = avg(TenkanSen, KijunSen)
SenkouSpanB = donchian(SenkouSpanBPeriods)
LS=close, offset = -displacement

MACD_Length = input(9)
MACD_fastLength = input(12)
MACD_slowLength = input(24)
MACD = ema(close, MACD_fastLength) - ema(close, MACD_slowLength)
aMACD = ema(MACD, MACD_Length)

a1=plot(n1,color=c)
a2=plot(n2,color=c)
plot(cross(n1, n2) ? n1 : na, style = circles, color=b, linewidth = 4)
plot(cross(n1, n2) ? n1 : na, style = line, color=d, linewidth = 3)
plot(TenkanSen, color=blue, title="Tenkan Sen", linewidth = 2)
plot(KijunSen, color=maroon, title="Kijun Sen", linewidth = 3)
plot(close, offset = -displacement, color=orange, title="Chikou Span", linewidth = 2)
p1=plot (SenkouSpanA, offset = displacement, color=green,  title="Senkou Span A", linewidth = 2)
p2=plot (SenkouSpanB, offset = displacement, color=red,  title="Senkou Span B", linewidth = 3)
fill(p1, p2, color = SenkouSpanA > SenkouSpanB ? green : red)

closelong = n1<n2 and close<n2 and (MACD<aMACD or TenkanSen<KijunSen or close<KijunSen)
if (closelong)
    strategy.close("Long")

closeshort = n1>n2 and close>n2 and (MACD>aMACD or TenkanSen>KijunSen or close>KijunSen)
if (closeshort)
    strategy.close("Short")

longCondition = n1>n2 and close>n2 and MACD>aMACD and (TenkanSen>KijunSen or close>KijunSen) 
if (longCondition)
    strategy.entry("Long",strategy.long)

shortCondition = n1<n2 and close<n2 and MACD<aMACD and (TenkanSen<KijunSen or close<KijunSen)
if (shortCondition)
    strategy.entry("Short",strategy.short)