Strategi Perdagangan Berjangka BankNifty Berdasarkan Rata-rata Pergerakan


Tanggal Pembuatan: 2024-03-28 18:15:32 Akhirnya memodifikasi: 2024-03-28 18:15:32
menyalin: 0 Jumlah klik: 605
1
fokus pada
1617
Pengikut

Strategi Perdagangan Berjangka BankNifty Berdasarkan Rata-rata Pergerakan

Ringkasan

Strategi ini adalah strategi perdagangan berjangka BankNifty yang didasarkan pada rata-rata bergerak sederhana (SMA). Gagasan utama strategi ini adalah menggunakan SMA sebagai indikator tren, melakukan lebih banyak ketika harga melewati SMA, dan melakukan lebih sedikit ketika harga melewati SMA. Strategi ini juga menetapkan kondisi stop loss dan stop loss untuk mengontrol risiko dan mengunci keuntungan.

Prinsip Strategi

Inti dari strategi ini adalah menggunakan SMA sebagai indikator tren. Secara khusus, strategi ini pertama-tama menghitung SMA untuk periode yang ditentukan (default 200) dan kemudian menilai arah tren berdasarkan posisi relatif harga terhadap SMA. Ketika harga melewati SMA, dianggap bahwa tren naik telah terbentuk, maka melakukan lebih banyak; ketika harga melewati SMA, dianggap bahwa tren turun telah terbentuk, maka melakukan kosong. Selain itu, strategi ini juga menetapkan kondisi stop loss dan stop loss untuk mengendalikan risiko dan mengunci keuntungan.

Keunggulan Strategis

  1. Sederhana dan mudah dipahami: Strategi ini didasarkan pada indikator teknis klasik SMA, prinsipnya sederhana dan mudah dipahami dan diterapkan.
  2. Adaptabilitas: Strategi ini dapat disesuaikan dengan berbagai lingkungan pasar dan varietas perdagangan dengan menyesuaikan parameternya.
  3. Pengendalian risiko: Strategi ini mengatur beberapa kondisi stop loss yang dapat secara efektif mengendalikan potensi kerugian. Selain itu, pengaturan kondisi stop loss juga membantu untuk mengunci keuntungan tepat waktu.
  4. Pelacakan tren: SMA adalah indikator yang tertinggal, tetapi karena itu, ia dapat dengan baik mengkonfirmasi pembentukan tren. Strategi ini memanfaatkan karakteristik SMA ini, yang dapat secara efektif menangkap tren jangka menengah dan panjang pasar.

Risiko Strategis

  1. Sensitivitas parameter: Kinerja strategi ini sangat tergantung pada pilihan parameter, dan pengaturan parameter yang berbeda dapat menghasilkan hasil yang sangat berbeda. Oleh karena itu, perlu untuk mengoptimalkan dan menguji parameter dalam aplikasi nyata.
  2. Pasar bergoyang: Dalam pasar bergoyang, harga sering melewati SMA di bawah permukaan, yang dapat menyebabkan strategi ini sering diperdagangkan, sehingga meningkatkan biaya dan risiko perdagangan.
  3. Trend reversal: Strategi ini mungkin akan menunda reaksi ketika tren pasar berbalik, menyebabkan potensi kerugian.
  4. Volatilitas dalam jangka pendek: Strategi ini dapat memicu sinyal perdagangan kapan saja dalam jangka panjang, sedangkan berjangka BankNifty mungkin lebih besar dalam jangka pendek, yang dapat menyebabkan slippage dan potensi kerugian yang lebih besar.

Arah optimasi strategi

  1. Pengoptimalan parameter: Anda dapat menemukan pengaturan parameter yang paling sesuai dengan lingkungan pasar saat ini dengan melakukan pengujian dan pengoptimalan pada kombinasi parameter yang berbeda.
  2. Kombinasi dengan indikator lain: Anda dapat mempertimbangkan untuk menggabungkan SMA dengan indikator teknis lainnya (seperti RSI, MACD, dll.) untuk meningkatkan keandalan dan akurasi strategi.
  3. Stop loss dinamis: Anda dapat mempertimbangkan untuk menggunakan strategi stop loss dinamis (seperti tracking stop loss) untuk mengendalikan risiko dengan lebih baik.
  4. Batasi waktu perdagangan: Anda dapat mempertimbangkan untuk membatasi waktu perdagangan pada periode waktu dengan fluktuasi yang lebih kecil (misalnya sebelum dan sesudah buka saham), untuk mengurangi dampak fluktuasi dalam saham.

Meringkaskan

Strategi ini adalah strategi perdagangan sederhana berbasis SMA yang berlaku untuk BankNifty futures. Keunggulan strategi ini adalah prinsipnya sederhana, beradaptasi kuat, dan memiliki langkah-langkah pengendalian risiko. Namun, dalam aplikasi praktis, juga perlu diperhatikan risiko potensial seperti optimasi parameter, pasar yang bergoyang, pembalikan tren, dan fluktuasi dalam saham.

Kode Sumber Strategi
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Bhasker_S

//@version=5
strategy("Strategy BankNifty SMA", overlay=true, margin_long=100, margin_short=100)

src = input(close, title="Source")
timeFrame = input.timeframe(defval='5', title = "Select Chart Timeframe")
typeMA = input.string(title = "Method", defval = "SMA", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"])
len = input.int(200, minval=1, title="Length", step = 10)
alertPrecision = input.float(0, "Alert Precision", minval = 0, maxval = 50, step=1)
slTimeFrame = input.timeframe(defval='1', title = "Select Stoploss Candle Timeframe")
slBuffer = input.float(0, "Stop Loss Buffer", minval = 0, maxval = 50, step = 1)
targetSlab = input.float(150, "Target Price", minval = 1, maxval = 2000, step = 10)
Stoploss  = input.float(20, "Stop Loss", minval = 1, maxval = 2000, step = 5)
offset = input.int(title="Offset", defval=0, minval=-500, maxval=500)

//out = ta.sma(src, len)


ma(source, length, type) =>
    switch type
        "SMA" => ta.sma(source, length)
        "EMA" => ta.ema(source, length)
        "SMMA (RMA)" => ta.rma(source, length)
        "WMA" => ta.wma(source, length)
        "VWMA" => ta.vwma(source, length)

tfSource = request.security(syminfo.tickerid, timeFrame, src, barmerge.gaps_on, barmerge.lookahead_off)
mySMA = ma(tfSource, len, typeMA)
plot(mySMA, color=color.rgb(243, 33, 89), title="MA", offset=offset, linewidth = 2)

slClose = request.security(syminfo.tickerid, slTimeFrame, src, barmerge.gaps_on, barmerge.lookahead_off)


highTravel = low > mySMA
lowTravel = high < mySMA

touchabove = (((high[1] + alertPrecision) > mySMA[1]) and (low[1] < mySMA[1])) //and (high[2] < mySMA[2])
touchbelow = (((low[1] - alertPrecision) < mySMA[1]) and (high[1] > mySMA[1])) //and (low[2] > mySMA[2])

crossabove = math.min(open, close) > mySMA
crossbelow = math.max(open, close) < mySMA

upalert = (touchabove or touchbelow) and crossabove
downalert = (touchabove or touchbelow) and crossbelow

h=hour(time('1'),"Asia/Kolkata")
m=minute(time('1'),"Asia/Kolkata")
startTime=h*100+m

if upalert and strategy.position_size == 0 
    strategy.entry("buy", strategy.long, 15)
    
if downalert and strategy.position_size == 0
    strategy.entry("sell", strategy.short, 15)

longexit = (slClose < (mySMA - slBuffer)) or (slClose < (strategy.opentrades.entry_price(strategy.opentrades - 1) - Stoploss)) or (slClose > (strategy.opentrades.entry_price(strategy.opentrades - 1) + targetSlab)) or (hour(time) == 15)
shortexit = (slClose > (mySMA + slBuffer)) or (slClose > (strategy.opentrades.entry_price(strategy.opentrades - 1) + Stoploss)) or (slClose < (strategy.opentrades.entry_price(strategy.opentrades - 1) - targetSlab)) or (hour(time) == 15)

if longexit
    strategy.close("buy")

if shortexit
    strategy.close("sell")