Estrategia de trading de supertendencia de BankNifty


Fecha de creación: 2023-12-29 17:09:57 Última modificación: 2023-12-29 17:09:57
Copiar: 0 Número de Visitas: 711
1
Seguir
1619
Seguidores

Estrategia de trading de supertendencia de BankNifty

Descripción general

Se trata de una estrategia de trading de indicadores de tendencia súper basada en la línea K de 5 minutos de BankNifty. La estrategia utiliza principalmente indicadores de tendencia súper para identificar tendencias y negociar en combinación con períodos de negociación y reglas de gestión de riesgos.

Principio de estrategia

La estrategia primero define variables de entrada como el horario de transacción y el rango de fechas. El horario de transacción se establece como el horario de transacción de la India, desde las 9:15 a.m. hasta las 3:10 p.m.

Luego se calcula el indicador de tendencia súper y su dirección. El indicador de tendencia súper puede identificar la dirección de la tendencia.

Al comienzo de cada período de negociación, la estrategia es esperar a que se formen 3 líneas K antes de considerar la entrada. Esto es para filtrar las brechas falsas.

La señal multicabeza es cuando el indicador de tendencia súper cambia de dirección de abajo hacia arriba; la señal de cabecera es cuando el indicador de tendencia súper cambia de dirección de arriba hacia abajo.

El punto de parada fijo y el porcentaje de parada de seguimiento se pueden ajustar mediante la entrada de variables.

Al final del período de negociación, la estrategia liquida todas las posiciones no liquidadas.

Ventajas estratégicas

Se trata de una estrategia de negociación sencilla que utiliza indicadores para identificar tendencias. Tiene las siguientes ventajas:

  1. El uso de indicadores de tendencias súper para determinar la dirección de las tendencias puede ser eficaz para identificar las tendencias
  2. La combinación de las horas de negociación evita las horas de apertura y cierre de los mercados más volátiles.
  3. Configuración de seguimiento de pérdidas para bloquear ganancias
  4. Más parámetros que se pueden ajustar libremente a través de variables de entrada, adaptabilidad

Riesgo estratégico

La estrategia también tiene sus riesgos:

  1. Los indicadores de tendencia súper están rezagados y pueden perder el mejor momento para entrar en juego
  2. El juicio de un solo indicador es susceptible a los falsos avances y puede no tener una alta probabilidad de éxito
  3. La tendencia de las grandes bolsas no se toma en cuenta y puede desviarse de ellas.
  4. El establecimiento incorrecto del número de puntos de parada puede causar pérdidas superiores a las esperadas

Estos riesgos se pueden reducir optimizando los parámetros de los indicadores de tendencia súper o añadiendo otros indicadores de juicio.

Dirección de optimización de la estrategia

La estrategia también puede ser optimizada en los siguientes aspectos:

  1. Aumentar la estabilidad de la estrategia mediante la adición de otros indicadores para formar estrategias de trading combinadas
  2. Añadir un juicio sobre el movimiento de la bolsa para evitar un desvío de la bolsa
  3. Optimización de los parámetros del indicador de tendencia súper para encontrar la longitud y el factor más adecuados
  4. Ajustar las estrategias de stop loss, por ejemplo, ajustando los puntos de stop loss gradualmente según la tendencia
  5. Probar diferentes variedades de comercio para encontrar las que mejor se ajusten a la estrategia

Resumir

Esta estrategia es una estrategia de trading de indicadores de tendencias súper basado en la línea de 5 minutos de BankNifty. Utiliza indicadores de tendencias súper para determinar la dirección de la tendencia, en combinación con los períodos de negociación y las reglas de gestión de riesgos para operar. Comparado con la estrategia cuantitativa compleja, las reglas de la estrategia son simples, claras y fáciles de entender e implementar.

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

//@version=5
strategy("BankNifty 5min Supertrend Based Strategy, 09:15 Entry with Date Range and Risk Management")

// Session and date range input variables
session = input("0915-1510", "Session", group="Indian Session Time")
start_date = input(title="Start Date", defval=timestamp("01 Jan 2022 00:00:00"), group="Backtest Specific Range")
end_date = input(title="End Date", defval=timestamp("01 Dec 2023 23:59:59"))
atrPeriod = input(50, "ATR Length", group="SuperTrend Setting")
factor = input.float(3.0, "Factor", step=0.1)

useDelay = input(true, "Use Delay?", group="Delay at Session Start")
Delay = useDelay ? input(10, title="Delay N numbers of candle", group="Delay at Session Start") : na

useDelay_stopLoss = input(true, "Use Stoploss Points?", group="Risk Management")
stopLoss = useDelay_stopLoss ? input(100, "Stop Loss Points", group="Risk Management"): na

useDelay_stopLossPerc1 = input(true, "Use Stoploss Trail?", group="Risk Management")
stopLossPerc1 =useDelay_stopLossPerc1 ? input.float(0.1, "Stop Loss Trail%", step=0.1,maxval = 1, group="Risk Management"): na
// Check if current time is within the specified session and date range
inSession = true

[supertrend, direction] = ta.supertrend(factor, atrPeriod)

// Wait for 3 candles to form at the start of every session
var candlesFormed = 0
if inSession and not inSession[1]
    candlesFormed := 1
else if inSession and candlesFormed > 0
    candlesFormed := candlesFormed + 1
else
    candlesFormed := 0


//

// Only enter trades if 3 candles have formed at the start of the session
entryce = (ta.change(direction) < 0) or (candlesFormed >= Delay and direction < 0)
exitce = ta.change(direction) > 0
entrype = (ta.change(direction) > 0) or (candlesFormed >= Delay and direction > 0)
exitpe = ta.change(direction) < 0
var entryPrice = 0.0
if entryce and inSession
    // Enter long trade
    onePercent = strategy.position_avg_price *stopLossPerc1
    entryPrice := close
    strategy.entry("My Long Entry Id", strategy.long, comment="long" )
    // Set stop loss at x% below entry price
    strategy.exit("My Long Exit Id", "My Long Entry Id", stop=(entryPrice - stopLoss),trail_points=onePercent )
    
if entrype and inSession
    onePercent1 = strategy.position_avg_price *stopLossPerc1
    entryPrice := close
    // Enter short trade
    strategy.entry("My Short Entry Id", strategy.short, comment="short")
    // Set stop loss at x% above entry price
    strategy.exit("My Short Exit Id", "My Short Entry Id", stop=(entryPrice + stopLoss),trail_points=onePercent1)

// Close all trades at end of session
if not inSession and strategy.opentrades > 0
    strategy.close_all()

// Plot Supertrend with changing colors
plot(supertrend, title="Supertrend", color=direction == 1 ? color.red : color.green, linewidth=2)