Estrategia bidireccional de stop-loss-take-profit basada en el cruce estocástico

El autor:¿ Qué pasa?, Fecha: 2024-03-08 15:12:42
Las etiquetas:

img

Resumen general

Esta estrategia utiliza las señales de cruce del Oscilador Estocástico para desencadenar operaciones de compra y venta. Cuando la línea %K cruza por encima de la línea %D y el valor %K está por debajo de 20, abre una posición larga; cuando la línea %K cruza por debajo de la línea %D y el valor %K está por encima de 80, abre una posición corta. Además, la estrategia establece distancias de ganancia y stop loss para administrar posiciones y evitar la expansión de pérdidas. Además, la estrategia también establece condiciones lógicas para cerrar posiciones. Cuando el Oscilador Estocástico muestra una señal de cruce opuesta a la señal de apertura, cerrará la posición larga o corta correspondiente incluso si el precio de ganancia o stop loss no se ha alcanzado.

Principio de la estrategia

  1. Calcular los valores de %K y %D del oscilador estocástico de 14 períodos y suavizarlos utilizando promedios móviles simples.
  2. Determinar si la línea %K y la línea %D se han cruzado:
    • Cuando la línea %K cruza por encima de la línea %D y el valor %K está por debajo de 20, se activa una señal de compra y se abre una posición larga.
    • Cuando la línea %K cruza por debajo de la línea %D y el valor %K es superior a 80, se activa una señal de venta y se abre una posición corta.
  3. Configurar las distancias de toma de ganancias y de parada de pérdidas (en Ticks) para gestionar las posiciones abiertas:
    • En el caso de las posiciones largas, establecer el precio de toma de ganancias TP por encima del precio de entrada y el precio de stop loss SL por debajo del precio de entrada.
    • Para las posiciones cortas, establecer el precio de toma de ganancias TP por debajo del precio de entrada y el precio de stop loss SL por encima del precio de entrada.
    • Cuando el precio alcance el precio de toma de ganancias o stop loss, cierre la posición correspondiente.
  4. Establecer condiciones lógicas para el cierre de posiciones:
    • Cuando la línea %K cruce por debajo de la línea %D y el valor %K es igual o inferior a 80, cierre todas las posiciones largas.
    • Cuando la línea %K cruce por encima de la línea %D y el valor %K es mayor o igual a 20, cierre todas las posiciones cortas.

Análisis de ventajas

  1. Esta estrategia utiliza el Oscilador Estocástico como principal indicador de señal de negociación, que se utiliza ampliamente en el comercio cuantitativo y puede capturar eficazmente las condiciones de mercado de sobrecompra y sobreventa.
  2. La estrategia establece tanto las condiciones de toma de ganancias/detención de pérdidas como las condiciones lógicas para cerrar posiciones, que pueden controlar los riesgos hasta cierto punto y evitar la expansión de las pérdidas.
  3. La lógica de la estrategia es clara, fácil de entender e implementar, adecuada para que los principiantes aprendan y usen.

Análisis de riesgos

  1. El oscilador estocástico puede generar muchas señales falsas en un mercado inestable, lo que conduce a una alta frecuencia de operaciones y un aumento de los costos de transacción.
  2. Esta estrategia no ajusta dinámicamente las posiciones y es posible que las distancias fijas de toma de ganancias y parada de pérdidas no controlen eficazmente los riesgos durante las fluctuaciones severas del mercado.
  3. Los parámetros de la estrategia (como el período del oscilador estocástico, las distancias de toma de ganancias y de stop loss, etc.) son fijos y no optimizados para diferentes condiciones de mercado, lo que puede afectar a la adaptabilidad de la estrategia.

Dirección de optimización

  1. Considere la posibilidad de introducir otros indicadores técnicos o indicadores del sentimiento del mercado que se utilicen junto con el oscilador estocástico para mejorar la fiabilidad de las señales de negociación y reducir las falsas señales.
  2. Optimizar la gestión de las posiciones ajustando dinámicamente las distancias de toma de ganancias y parada de pérdidas en función de las condiciones de volatilidad del mercado, o adoptar métodos de gestión de fondos más avanzados como el criterio Kelly.
  3. Utilice métodos de optimización como algoritmos genéticos y búsqueda en red para optimizar los parámetros de la estrategia y encontrar la combinación óptima de parámetros que se adapte a las diferentes condiciones del mercado.
  4. Considere la posibilidad de añadir condiciones de filtrado, como los períodos de negociación y la volatilidad de los instrumentos de negociación, para reducir las operaciones en condiciones de mercado desfavorables.

Resumen de las actividades

La estrategia bidireccional stop-loss take-profit basada en el cruce estocástico es una estrategia de negociación cuantitativa simple y fácil de entender. Inicia operaciones de compra y venta a través de las señales de cruce del oscilador estocástico y establece las condiciones lógicas para cerrar posiciones para gestionar riesgos. La ventaja de esta estrategia es que la lógica es clara y adecuada para que los principiantes la aprendan y usen; sin embargo, también tiene algunos riesgos, como el oscilador estocástico puede generar muchas señales falsas en un mercado agitado, y los métodos de gestión de posiciones fijas pueden no adaptarse a diferentes condiciones del mercado. Para mejorar aún más el rendimiento de la estrategia, podemos introducir otros indicadores, considerar la optimización de la gestión de posiciones, la optimización de parámetros y agregar condiciones de filtración. En general, esta estrategia puede servir como una estrategia de negociación básica, y a través de la optimización y mejora continua, se espera que logre buenos resultados en la negociación.


/*backtest
start: 2024-02-29 00:00:00
end: 2024-03-07 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("How to force strategies fire exit alerts not reversals", initial_capital = 1000, slippage=1, commission_type = strategy.commission.cash_per_contract, commission_value = 0.0001, overlay=true) 
// disclaimer: this content is purely educational, especially please don't pay attention to backtest results on any timeframe/ticker

// Entries logic: based on Stochastic crossover
k = ta.sma(ta.stoch(close, high, low, 14), 3)
d = ta.sma(k, 3)
crossover = ta.crossover(k,d)
crossunder = ta.crossunder(k,d)

if (crossover and k < 20)
	strategy.entry("Buy", strategy.long, alert_message="buy")
if (crossunder and k > 80)
	strategy.entry("Sell", strategy.short, alert_message="sell")

// StopLoss / TakeProfit exits:
SL = input.int(600, title="StopLoss Distance from entry price (in Ticks)")
TP = input.int(1200, title="TakeProfit Distance from entry price (in Ticks)")
strategy.exit("xl", from_entry="Buy", loss=SL, profit=TP, alert_message="closebuy")
strategy.exit("xs", from_entry="Sell", loss=SL, profit=TP, alert_message="closesell")

// logical conditions exits:
if (crossunder and k <= 80)
	strategy.close("Buy", alert_message="closebuy")
if (crossover and k >= 20)
	strategy.close("Sell", alert_message="closesell")

Más.