BankNifty Supertrend Strategi Perdagangan

Penulis:ChaoZhang, Tanggal: 2023-12-29 17:09:57
Tag:

img

Gambaran umum

Ini adalah strategi trading berdasarkan K-line 5 menit BankNifty menggunakan indikator Supertrend. Strategi ini terutama memanfaatkan indikator Supertrend untuk mengidentifikasi tren dan menggabungkan sesi trading dan aturan manajemen risiko untuk trading.

Prinsip Strategi

Strategi ini pertama-tama mendefinisikan variabel input seperti sesi perdagangan dan rentang tanggal.

Indikator Supertrend dapat mengidentifikasi arah tren.

Pada awal setiap sesi perdagangan, strategi menunggu 3 lilin terbentuk sebelum mempertimbangkan untuk memasuki perdagangan.

Sinyal panjang adalah ketika arah indikator Supertrend berubah dari bawah ke atas; sinyal pendek adalah ketika arah Supertrend berubah dari atas ke bawah.

Setelah masuk, stop loss akan diatur. Baik titik stop loss tetap dan persentase stop loss trailing dapat disesuaikan melalui variabel input.

Pada akhir sesi perdagangan, strategi akan menutup semua posisi terbuka.

Keuntungan dari Strategi

Ini adalah strategi perdagangan sederhana yang menggunakan indikator untuk mengidentifikasi tren.

  1. Gunakan indikator Supertrend untuk menilai arah tren, yang dapat secara efektif mengidentifikasi tren
  2. Menggabungkan sesi perdagangan dapat menghindari sesi pembukaan dan penutupan yang paling volatile
  3. Atur stop loss untuk mengunci keuntungan
  4. Banyak parameter dapat disesuaikan secara bebas melalui variabel input, kemampuan beradaptasi yang tinggi

Risiko dari Strategi

Strategi ini juga memiliki beberapa risiko:

  1. Indikator Supertrend telah tertinggal, mungkin melewatkan titik masuk terbaik
  2. Penghakiman indikator tunggal cenderung terpengaruh oleh kegagalan palsu, tingkat kemenangan mungkin rendah
  3. Tidak mempertimbangkan tren pasar, mungkin berbeda dari pasar secara keseluruhan
  4. Pengaturan stop loss yang tidak benar dapat menyebabkan kerugian yang lebih besar dari yang diharapkan

Risiko ini dapat dikurangi dengan mengoptimalkan parameter indikator Supertrend atau menambahkan penilaian indikator lainnya.

Arahan Optimasi

Strategi ini juga dapat dioptimalkan dalam aspek berikut:

  1. Tambahkan penilaian indikator lainnya untuk membentuk strategi gabungan, meningkatkan stabilitas
  2. Tambahkan penilaian tren pasar secara keseluruhan untuk menghindari perbedaan dari pasar
  3. Mengoptimalkan parameter indikator Supertrend, menemukan panjang terbaik dan faktor
  4. Sesuaikan strategi stop loss, seperti trailing stop loss bersama dengan tren
  5. Uji produk yang berbeda, cari yang paling cocok

Kesimpulan

Singkatnya, ini adalah strategi perdagangan indikator Supertrend berdasarkan grafik 5 menit BankNifty. Ini menggunakan indikator Supertrend untuk menentukan arah tren dan menggabungkan sesi perdagangan dan aturan manajemen risiko untuk perdagangan. Dibandingkan dengan strategi kuantitatif yang kompleks, strategi ini memiliki aturan sederhana dan jelas yang mudah dipahami dan diimplementasikan. Sebagai strategi sampel, ini memberikan dasar dan arah untuk optimasi dan perbaikan di masa depan. Melalui penyempurnaan dan peningkatan terus-menerus, diharapkan strategi dapat menjadi strategi perdagangan kuantitatif yang dapat diandalkan 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)





Lebih banyak