Dies ist eine Handelsstrategie, die auf der 5-minütigen K-Linie von BankNifty basiert und den Supertrend-Indikator verwendet.
Die Strategie definiert zunächst Eingabevariablen wie Handelssitzungen und Datumsbereiche.
Der Supertrend-Indikator kann die Richtung des Trends bestimmen.
Zu Beginn jeder Handelssitzung wartet die Strategie, bis sich 3 Kerzen bilden, bevor sie einen Trade in Betracht zieht.
Das lange Signal ist, wenn sich die Richtung des Supertrend-Indikators von unten nach oben ändert; das kurze Signal ist, wenn sich die Richtung des Supertrends von oben nach unten ändert.
Beide festen Stop-Loss-Punkte und der nachfolgende Stop-Loss-Prozentsatz können über Eingabevariablen angepasst werden.
Am Ende der Handelssitzung schließt die Strategie alle offenen Positionen.
Dies ist eine einfache Handelsstrategie, die Indikatoren verwendet, um Trends zu identifizieren.
Die Strategie birgt auch einige Risiken:
Diese Risiken können durch Optimierung der Parameter des Supertrend-Indikators oder durch Hinzufügen anderer Indikatorurteile verringert werden.
Die Strategie kann auch in folgenden Aspekten optimiert werden:
Zusammenfassend ist dies eine Supertrend-Indikator-Handelsstrategie, die auf dem BankNifty 5-Minuten-Chart basiert. Sie nutzt den Supertrend-Indikator, um die Trendrichtung zu bestimmen und kombiniert Handelssitzungen und Risikomanagementregeln zum Handel. Im Vergleich zu komplexen quantitativen Strategien hat diese Strategie einfache und klare Regeln, die leicht zu verstehen und umzusetzen sind. Als Beispielstrategie bietet sie eine Grundlage und Richtung für zukünftige Optimierung und Verbesserung. Durch kontinuierliche Verfeinerung und Verbesserung wird gehofft, dass die Strategie zu einer zuverlässigen und profitablen quantitativen Handelsstrategie werden kann.
/*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)