Ini adalah strategi dagangan berdasarkan K-line 5 minit BankNifty menggunakan penunjuk Supertrend. Strategi ini terutamanya menggunakan penunjuk Supertrend untuk mengenal pasti trend dan menggabungkan sesi dagangan dan peraturan pengurusan risiko untuk berdagang.
Strategi pertama menentukan pembolehubah input seperti sesi dagangan dan julat tarikh.
Kemudian ia mengira penunjuk Supertrend dan arahnya.
Pada permulaan setiap sesi dagangan, strategi ini menunggu 3 lilin terbentuk sebelum mempertimbangkan untuk memasuki perdagangan.
Isyarat panjang adalah apabila arah penunjuk Supertrend berubah dari bawah ke atas; isyarat pendek adalah apabila arah Supertrend berubah dari atas ke bawah.
Selepas memasuki, stop loss akan ditetapkan. Kedua-dua titik stop loss tetap dan peratusan stop loss boleh diselaraskan melalui pembolehubah input.
Pada akhir sesi dagangan, strategi akan menutup semua kedudukan terbuka.
Ini adalah strategi perdagangan yang mudah yang menggunakan penunjuk untuk mengenal pasti trend.
Strategi ini juga mempunyai beberapa risiko:
Risiko ini boleh dikurangkan dengan mengoptimumkan parameter penunjuk Supertrend atau menambah penilaian penunjuk lain.
Strategi ini juga boleh dioptimumkan dalam aspek berikut:
Ringkasnya, ini adalah strategi dagangan penunjuk Supertrend berdasarkan carta 5 minit BankNifty. Ia menggunakan penunjuk Supertrend untuk menentukan arah trend dan menggabungkan sesi dagangan dan peraturan pengurusan risiko untuk berdagang. Berbanding dengan strategi kuantitatif yang kompleks, strategi ini mempunyai peraturan yang mudah dan jelas yang mudah difahami dan dilaksanakan. Sebagai strategi sampel, ia menyediakan asas dan arah untuk pengoptimuman dan penambahbaikan masa depan. Melalui penyempurnaan dan peningkatan yang berterusan, diharapkan bahawa strategi dapat menjadi strategi dagangan kuantitatif yang boleh dipercayai dan menguntungkan.
/*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)