
Dies ist eine Supertrend-Indikator-Handelsstrategie, die auf der BankNifty 5-Minuten-K-Linie basiert. Die Strategie nutzt hauptsächlich Supertrend-Indikatoren, um Trends zu identifizieren und in Kombination mit Handelszeiten und Risikomanagementregeln zu handeln.
Die Strategie definiert zunächst Eingabevariablen wie die Handelszeit und den Datumsbereich. Die Handelszeit ist auf die Handelszeit Indiens gesetzt, die von 9:15 Uhr bis 3:10 Uhr läuft.
Dann berechnet man die Supertrend-Indikatoren und deren Richtung.
Zu Beginn jeder Handelsphase wartet die Strategie darauf, dass sich 3 K-Linien bilden, bevor sie den Einstieg in Betracht zieht. Dies dient dazu, falsche Durchbrüche zu filtern.
Ein Mehrkopfsignal ist ein Supertrendsignal, wenn die Richtung des Supertrendindikators von unten nach oben verändert wird. Ein Leerkopfsignal ist ein Supertrendsignal, wenn die Richtung des Supertrendindikators von oben nach unten verändert wird.
Nach dem Einstieg kann der Stop-Loss eingestellt werden, die Fix-Stop-Punkte und der Tracking-Stop-Prozentsatz können durch die Eingabe von Variablen angepasst werden.
Am Ende der Handelsphase wird die Strategie alle ungeklärten Positionen ausgleichen.
Dies ist eine einfache Handelsstrategie, die Trends anhand von Indikatoren identifiziert. Es hat folgende Vorteile:
Die Strategie birgt auch einige Risiken:
Diese Risiken können reduziert werden, indem die Parameter der Supertrend-Indikatoren optimiert oder andere Indikatoren hinzugefügt werden.
Die Strategie kann auch in folgenden Bereichen optimiert werden:
Diese Strategie ist eine auf der BankNifty 5-Minuten-Linie basierende Supertrend-Indikator-Handelsstrategie. Sie nutzt Supertrend-Indikatoren, um die Trendrichtung zu bestimmen, und handelt in Kombination mit Handelszeiten und Risikomanagementregeln. Im Vergleich zu komplexen quantitativen Strategien sind die Strategieregeln einfach, klar und leicht zu verstehen und umzusetzen. Als Beispielstrategie bietet sie Grundlage und Richtung für zukünftige Optimierungen und Verbesserungen.
/*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)