
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.
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.
Il s’agit d’une stratégie de trading simple qui utilise des indicateurs pour identifier les tendances. Elle présente les avantages suivants:
Cette stratégie comporte aussi des risques:
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.
La stratégie peut également être optimisée dans les domaines suivants:
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.
/*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)