Estrategia de ruptura del impulso estocástico


Fecha de creación: 2023-10-24 16:35:24 Última modificación: 2023-10-24 16:35:24
Copiar: 0 Número de Visitas: 816
1
Seguir
1617
Seguidores

Estrategia de ruptura del impulso estocástico

Descripción general

La estrategia de ruptura de la dinámica utiliza principalmente el indicador del oscilador estocástico para determinar la dirección de la tendencia del mercado, en combinación con el indicador ADX para determinar la tendencia de la fuerza, para formar una señal de negociación. La estrategia se aplica principalmente a la negociación de tendencias de línea media y larga.

Principio de estrategia

La estrategia se basa principalmente en dos indicadores técnicos:

  1. Indicador de oscilador estocástico: se utiliza para determinar la dirección de la tendencia del mercado. Los valores del oscilador estocástico son de 0 a 100, cuando el ciclo es de 14, los valores entre 45 y 55 significan que no hay una tendencia clara.

  2. Indicador ADX: se utiliza para juzgar si una tendencia es fuerte. ADX es una tendencia débil si está por debajo de 20.

La estrategia comienza por determinar si el mercado está en una clara tendencia alcista o bajista en función del valor del oscilador estocástico. Cuando el estocástico está por encima de 55, se considera una tendencia alcista; cuando el estocástico está por debajo de 45, se considera una tendencia bajista.

La estrategia entonces detecta si el ADX está por encima de 20, si el ADX está por encima de 20, significa que la tendencia es fuerte y se puede negociar en la tendencia. Si el ADX está por debajo de 20, significa que la tendencia no es lo suficientemente evidente, en este momento la estrategia no genera una señal de negociación.

La combinación del oscilador estocástico y el ADX determina que una estrategia generará una señal de compra/venta si se cumplen las dos condiciones siguientes:

  1. Stochastic por encima de 55, lo que indica una tendencia a la baja
  2. El ADX está por encima de 20, lo que indica una fuerte tendencia a la baja

La estrategia genera una señal de venta cuando se cumplen las dos condiciones siguientes:

  1. El Stochastic está por debajo de 45, lo que indica una tendencia a la baja
  2. El ADX está por encima de 20, lo que indica una fuerte tendencia a la baja

A través de estas reglas de juicio, la estrategia forma una estrategia de comercio de líneas medianas y largas orientada a la tendencia.

Ventajas estratégicas

La estrategia tiene las siguientes ventajas:

  1. Captura de tendencias de línea media y larga: en combinación con Stochastic y ADX, puede determinar con eficacia la dirección y la intensidad de las tendencias de línea media y larga del mercado y capturar las tendencias principales.

  2. Control de retroceso: solo se puede negociar cuando la tendencia es evidente y se puede controlar eficazmente el retroceso provocado por el comercio de inversiones innecesarias.

  3. Espacio de optimización de parámetros: Los ciclos estocásticos y los ciclos ADX se pueden optimizar y los parámetros se pueden ajustar para diferentes mercados.

  4. Simple e intuitivo: La lógica general de la estrategia es simple y clara, y se compone de dos indicadores técnicos de uso común que son intuitivos y fáciles de entender.

  5. universality:The strategy can be applied to different markets with parameter tuning.

Riesgo estratégico

La estrategia también tiene sus riesgos:

  1. Puntos de ruptura perdidos: Stochastic y ADX son indicadores de seguimiento de tendencias, que pueden perder puntos de ruptura potenciales y oportunidades de ruptura tempranas.

  2. Riesgo de reversión de la tendencia: al final de la tendencia, Stochastic y ADX pueden juzgar erróneamente que la tendencia continúa y perder la oportunidad de salir a tiempo, lo que aumenta las pérdidas.

  3. Dificultad de optimización de parámetros: Los parámetros estocásticos y ADX necesitan ser optimizados para diferentes mercados, y existen ciertas dificultades.

  4. Whipsaws: Esta estrategia puede generar varias señales de negociación no válidas en mercados sin una clara tendencia.

  5. Divergence:When the price trend conflicts with the Stochastic oscillator trend, divergence emerges, which may lead to losing trades.

El riesgo puede reducirse de la siguiente manera:

  1. En combinación con otros indicadores para determinar tendencias locales, se identifican puntos de ruptura potenciales.

  2. Aumentar las señales de cambio de tendencia y salir de ellas en el momento en que la tendencia se vuelva.

  3. Optimización automática de parámetros mediante métodos como el aprendizaje automático.

  4. Increase the ADX threshold to filter out weak trend signals in ranging markets.

  5. Apply additional indicators to confirm the Stochastic signals and avoid divergence trades.

Dirección de optimización de la estrategia

La estrategia puede ser optimizada en los siguientes aspectos:

  1. Optimización de los parámetros estocásticos: ajuste de los parámetros de los ciclos K, D, etc., para optimizar la ubicación de los puntos de compra y venta.

  2. Optimización de los parámetros del ADX: ajuste el ciclo del ADX para determinar los parámetros que mejor determinan la tendencia de la debilidad.

  3. Aumentar la señal de reversión de tendencia: aumentar la posición en la zona de sobreventa y sobrecompra de Stochastic, y establecer un stop loss.

  4. Combinación con otros indicadores: Combinación con indicadores como RSI, MACD, para determinar el momento de comprar y vender.

  5. Aprendizaje automático: Aprendizaje automático para obtener el mejor conjunto de parámetros.

  6. Aumentar las estrategias de stop loss: establezca un stop loss móvil o una estrategia de stop loss para controlar las pérdidas individuales.

  7. Trailong stop loss: Add trailing stop loss to lock in profits as the trend extends.

  8. Money management: Optimize the risk management by adjusting position sizing based on ADX strength.

Resumir

En resumen, la estrategia de ruptura de la dinámica es orientada a la tendencia en general, utiliza el Stochastic para determinar la dirección de la tendencia y el ADX para determinar la intensidad de la tendencia y formar una estrategia de comercio de líneas medias y largas. Las ventajas de la estrategia son la captura de la tendencia, el control de la reversión y la sencillez. La desventaja es que es posible que se pierda el punto de ruptura temprano y existe el riesgo de reversión de la tendencia.

Código Fuente de la Estrategia
/*backtest
start: 2023-09-23 00:00:00
end: 2023-10-23 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Created by Bitcoinduke
//Original Creator is Jake Bernstein 
// Link: https://school.stockcharts.com/doku.php?id=trading_strategies:stochastic_pop_drop
// Tested: XBTUSD 3h | BTCPERP FTX 3h
//@version=4
// strategy(shorttitle="Stochastic Pop and Drop", title="Pop and Drop", overlay=false, 
//      calc_on_every_tick=false, pyramiding=0, default_qty_type=strategy.cash, 
//      default_qty_value=1000, currency=currency.USD, initial_capital=1000,
//      commission_type=strategy.commission.percent, commission_value=0.075)

upper_threshold_buy = input(55, minval=50, title="Buy Entry/Exit Line")
lower_threshold_sell = input(45, maxval=50, title="Sell Entry/Exit Line")

oscillator_length = input(14, minval=1, title="Stochastic Length - Default 14")
sma_length = input(2, minval=1, title="SMA Length - 3-day (3 by default) simple moving average of stoch")

stoch_oscillator = sma(stoch(close, high, low, oscillator_length), sma_length)

//Upper and Lower Entry Lines
upper_line = upper_threshold_buy
lower_line = lower_threshold_sell

stoch_color = stoch_oscillator >= upper_line ? green : stoch_oscillator <= lower_line ? red : purple

//Charts
plot(stoch_oscillator, title="Stochastic", style=histogram, linewidth=4, color=stoch_color)
upper_threshold = plot(upper_line, title="Upper Line", style=line, linewidth=4, color=green)
lower_threshold = plot(lower_line, title="Lower Line", style=line, linewidth=4, color=red)

// Strategy Logic
LongSignal = stoch_oscillator >= upper_line and not (stoch_oscillator > lower_line and stoch_oscillator < upper_line) ? true : false
ShortSignal = stoch_oscillator <= lower_line and not (stoch_oscillator > lower_line and stoch_oscillator < upper_line) ? true : false

strategy.entry("POP_Short", strategy.short, when=ShortSignal)
strategy.entry("POP_Long", strategy.long, when=LongSignal)

// === Backtesting Dates === thanks to Trost

testPeriodSwitch = input(true, "Custom Backtesting Dates")
testStartYear = input(2019, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testStartHour = input(0, "Backtest Start Hour")
testPeriodStart = timestamp(testStartYear, testStartMonth, testStartDay, testStartHour, 0)
testStopYear = input(2020, "Backtest Stop Year")
testStopMonth = input(1, "Backtest Stop Month")
testStopDay = input(5, "Backtest Stop Day")
testStopHour = input(0, "Backtest Stop Hour")
testPeriodStop = timestamp(testStopYear, testStopMonth, testStopDay, testStopHour, 0)
testPeriod() =>
    time >= testPeriodStart and time <= testPeriodStop ? true : false
testPeriod_1 = testPeriod()
isPeriod = testPeriodSwitch == true ? testPeriod_1 : true
// === /END