Strategi Perdagangan Trend Super BankNifty


Tarikh penciptaan: 2023-12-29 17:09:57 Akhirnya diubah suai: 2023-12-29 17:09:57
Salin: 0 Bilangan klik: 711
1
fokus pada
1619
Pengikut

Strategi Perdagangan Trend Super BankNifty

Gambaran keseluruhan

Ini adalah strategi perdagangan indikator supertrend berdasarkan garis K 5 minit BankNifty. Strategi ini menggunakan indikator supertrend untuk mengenal pasti trend dan berdagang dengan gabungan masa perdagangan dan peraturan pengurusan risiko.

Prinsip Strategi

Strategi ini mula-mula menentukan pembolehubah input seperti masa perdagangan dan julat tarikh. Masa perdagangan ditetapkan sebagai masa perdagangan India, dari 9:15 pagi hingga 3:10 petang.

Ia kemudian mengira indikator supertrend dan arahnya.

Pada permulaan setiap tempoh dagangan, strategi menunggu 3 garis K terbentuk sebelum mempertimbangkan untuk masuk. Ini adalah untuk menyaring penembusan palsu.

Isyarat multihead adalah apabila arah penunjuk trend super berubah dari bawah ke atas; isyarat kosong adalah apabila arah penunjuk trend super berubah dari atas ke bawah.

Apabila anda masuk ke dalam permainan, anda boleh menetapkan hentian, menetapkan titik hentian dan mengesan peratusan hentian yang boleh disesuaikan dengan input pembolehubah.

Pada penghujung tempoh perdagangan, strategi akan menebus semua kedudukan yang belum ditapis.

Kelebihan Strategik

Ini adalah strategi perdagangan mudah yang menggunakan indikator untuk mengenal pasti trend. Ia mempunyai kelebihan seperti berikut:

  1. Menggunakan indikator supertrend untuk menentukan arah trend, trend boleh dikenal pasti dengan berkesan
  2. Menggabungkan masa dagangan untuk mengelakkan masa pembukaan dan penutupan pasaran yang paling bergolak
  3. Tetapkan Tracking Stop Loss, boleh mengunci keuntungan
  4. Lebih banyak parameter yang boleh disesuaikan secara bebas melalui input pembolehubah, beradaptasi yang kuat

Risiko Strategik

Strategi ini mempunyai beberapa risiko:

  1. Indeks Super Trend Terlewat, Kemungkinan Melewatkan Masa Terbaik untuk Bermula
  2. Penghakiman satu-satunya indikator mudah terjejas oleh penembusan palsu, dan kemungkinan kemenangan tidak tinggi
  3. Tidak mengambil kira trend pasaran utama, ia boleh menyebabkan ketidaksesuaian dengan pasaran utama.
  4. Penetapan yang tidak betul dalam jumlah titik henti boleh menyebabkan kerugian yang lebih besar daripada yang dijangkakan

Risiko ini boleh dikurangkan dengan mengoptimumkan parameter indikator supertrend atau menambah penilaian indikator lain.

Arah pengoptimuman strategi

Strategi ini juga boleh dioptimumkan dalam beberapa aspek:

  1. Menambah penilaian indikator lain untuk membentuk strategi perdagangan portfolio yang dapat meningkatkan kestabilan strategi
  2. Menambah penilaian terhadap pergerakan saham besar untuk mengelakkan perbezaan dengan saham besar
  3. Mengoptimumkan parameter indikator super trend untuk mencari panjang dan faktor yang paling sesuai
  4. Menyesuaikan strategi hentian kerugian, contohnya dengan menyesuaikan titik hentian kerugian mengikut trend
  5. Uji varieti perdagangan yang berbeza untuk mencari varieti yang paling sesuai dengan strategi

ringkaskan

Strategi ini adalah strategi perdagangan indikator trend super berdasarkan BankNifty 5 minit. Ia menggunakan indikator trend super untuk menentukan arah trend, digabungkan dengan masa perdagangan dan peraturan pengurusan risiko untuk berdagang.

Kod sumber strategi
/*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)