- Cuadrado
- Estrategia bidireccional de stop-loss-take-profit basada en el cruce estocástico
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:
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
- Calcular los valores de %K y %D del oscilador estocástico de 14 períodos y suavizarlos utilizando promedios móviles simples.
- 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.
- 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.
- 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
- 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.
- 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.
- 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
- 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.
- 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.
- 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
- 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.
- 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.
- 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.
- 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.