Stratégie de trading BankNifty Super Trend


Date de création: 2023-12-29 17:09:57 Dernière modification: 2023-12-29 17:09:57
Copier: 0 Nombre de clics: 711
1
Suivre
1619
Abonnés

Stratégie de trading BankNifty Super Trend

Aperçu

Il s’agit d’une stratégie de trading d’indicateurs de tendance supérieure basée sur la ligne K de 5 minutes de BankNifty. La stratégie utilise principalement l’indicateur de tendance supérieure pour identifier les tendances, les périodes de négociation et les règles de gestion des risques.

Principe de stratégie

La stratégie définit d’abord des variables d’entrée telles que le temps de transaction et la plage de dates. Le temps de transaction est défini comme l’heure de transaction indienne, de 9:15 AM à 3:10 PM.

Le calcul de l’indicateur de super-tendance et de sa direction est ensuite effectué.

Au début de chaque période de négociation, la stratégie consiste à attendre que 3 lignes K se forment avant d’envisager une entrée.

Le signal multi-tête est le changement de direction de l’indicateur de tendance supérieure de bas en haut; le signal sans tête est le changement de direction de l’indicateur de tendance supérieure de haut en bas.

Le stop loss peut être réglé à l’entrée, le nombre de points de stop loss fixes et le pourcentage de stop loss de suivi peuvent être ajustés par des variables d’entrée.

À la fin de la période de négociation, la stratégie annule toutes les positions non liquidées.

Avantages stratégiques

Il s’agit d’une stratégie de trading simple qui utilise des indicateurs pour identifier les tendances. Elle présente les avantages suivants:

  1. L’utilisation d’indicateurs de tendance pour déterminer la direction des tendances peut être efficace pour identifier les tendances
  2. La combinaison des heures de négociation permet d’éviter les heures d’ouverture et de clôture les plus volatiles du marché.
  3. Réglez le suivi des pertes pour verrouiller les bénéfices
  4. Plus de paramètres qui peuvent être ajustés librement par des variables d’entrée, plus adaptable

Risque stratégique

Cette stratégie comporte aussi des risques:

  1. Les Indicateurs de Super-Trend sont en retard et risquent de manquer le meilleur moment pour entrer en jeu.
  2. Le jugement sur un seul indicateur est vulnérable aux fausses percées et peut ne pas être très efficace.
  3. La tendance à la hausse des cours sans tenir compte de l’évolution du marché pourrait entraîner une déviation du marché
  4. Une mauvaise définition du nombre de points de rupture peut entraîner des pertes supérieures aux attentes

Il est possible de réduire ces risques en optimisant les paramètres de l’indicateur de super-tendance ou en ajoutant d’autres jugements d’indicateurs.

Orientation de l’optimisation de la stratégie

La stratégie peut également être optimisée dans les domaines suivants:

  1. L’ajout d’autres indicateurs de jugement pour former une stratégie de trading de portefeuille peut améliorer la stabilité de la stratégie
  2. Ajouter des jugements sur la tendance des marchés boursiers pour éviter une divergence avec les marchés boursiers
  3. Optimiser les paramètres de l’indicateur de super-tendance pour trouver la longueur et le facteur les plus appropriés
  4. Adaptation de la stratégie de stop loss, par exemple en ajustant progressivement le stop loss en fonction de la tendance
  5. Tester différentes variétés commerciales pour trouver celles qui correspondent le mieux à la stratégie

Résumer

Cette stratégie est une stratégie de trading d’indicateurs de tendance super, basée sur la ligne de 5 minutes de BankNifty. Elle utilise des indicateurs de tendance super pour déterminer la direction de la tendance, en combinaison avec des règles de gestion des périodes de négociation et des risques.

Code source de la stratégie
/*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)