
Ini adalah strategi perdagangan indikator supertrend yang didasarkan pada garis K 5 menit BankNifty. Strategi ini terutama menggunakan indikator supertrend untuk mengidentifikasi tren dan melakukan perdagangan dalam kombinasi dengan waktu perdagangan dan aturan manajemen risiko.
Strategi ini pertama-tama mendefinisikan variabel input seperti waktu transaksi dan rentang tanggal. Waktu transaksi ditetapkan sebagai waktu perdagangan India, dari 9:15 AM hingga 3:10 PM.
Kemudian menghitung indikator supertrend dan arahnya. Indikator supertrend dapat mengidentifikasi arah tren.
Pada awal setiap periode perdagangan, strategi menunggu 3 garis K terbentuk dan kemudian mempertimbangkan untuk masuk.
Sinyal multihead adalah supertrend saat arah indikator berubah dari bawah ke atas; sinyal kosong adalah supertrend saat arah indikator berubah dari atas ke bawah.
Setelah masuk, Anda dapat mengatur stop loss, menetapkan titik stop loss, dan melacak persentase stop loss yang dapat disesuaikan dengan input variabel.
Pada akhir periode perdagangan, strategi akan melunasi semua posisi yang belum dilunasi.
Ini adalah strategi perdagangan sederhana yang menggunakan indikator untuk mengidentifikasi tren.
Strategi ini juga memiliki beberapa risiko:
Risiko ini dapat dikurangi dengan mengoptimalkan parameter indikator supertrend atau menambahkan penilaian indikator lainnya.
Strategi ini juga dapat dioptimalkan dalam beberapa hal:
Strategi ini adalah strategi perdagangan indikator tren super berdasarkan garis 5 menit BankNifty. Strategi ini menggunakan indikator tren super untuk menentukan arah tren, digabungkan dengan waktu perdagangan dan aturan manajemen risiko untuk perdagangan. Strategi kuantitatif yang relatif kompleks, aturan strategi ini sederhana, jelas, mudah dipahami dan diterapkan. Sebagai strategi contoh, ini memberikan dasar dan arah untuk pengoptimalan dan perbaikan di masa depan.
/*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)