KDJ Golden Cross Long Entry Strategi

Penulis:ChaoZhang, Tanggal: 2024-02-01 10:28:12
Tag:

img

Gambaran umum

KDJ Golden Cross Long Entry Strategy adalah strategi perdagangan kuantitatif yang didasarkan pada indikator KDJ. Strategi ini terutama menggunakan silang emas dari garis J dan garis D dari indikator KDJ untuk menghasilkan sinyal beli dan pergi panjang ketika garis J melintasi di atas garis D. Strategi ini relatif sederhana dan mudah diterapkan, cocok untuk pemula perdagangan kuantitatif.

Logika Strategi

Indikator teknis utama yang digunakan dalam strategi ini adalah indikator KDJ. Indikator KDJ terdiri dari garis K, garis D dan garis J. Di mana:

K = (Tutup saat ini - Rendah terendah selama N hari terakhir) รท (Rendah tertinggi selama N hari terakhir - Rendah terendah selama N hari terakhir) x 100;

D = rata-rata bergerak hari M dari K;

J = 3K - 2D.

Menurut aturan indikator KDJ, ketika garis J melintasi di atas garis D, itu menunjukkan bahwa harga sedang berbalik ke atas dan posisi panjang dapat diambil; ketika garis J jatuh di bawah garis D, itu menandakan bahwa harga sedang berbalik ke bawah dan posisi pendek dapat dimulai.

Strategi ini memanfaatkan aturan di atas dan menghasilkan sinyal beli ketika garis J melintasi di atas garis D, yaitu bentuk salib emas, untuk pergi panjang.

Keuntungan

  1. Menggunakan indikator KDJ untuk menentukan waktu masuk yang menggabungkan pergerakan harga naik dan turun, sehingga lebih andal.

  2. Strategi ini memiliki aturan sinyal yang jelas dan sederhana yang mudah dimengerti dan diterapkan, cocok untuk pemula.

  3. Mengadopsi stop profit dan stop loss untuk mengontrol risiko secara efektif.

  4. Ruang yang luas untuk optimasi parameter dan implementasi yang fleksibel.

Risiko

  1. Indikator KDJ cenderung menghasilkan sinyal palsu yang mengarah pada kerugian.

  2. Penyesuaian jangka pendek pasar setelah pembelian dapat memicu stop loss exit dan melewatkan tren utama.

  3. Pengaturan parameter yang tidak benar dapat menyebabkan overtrading atau sinyal yang tidak jelas.

  4. Perlu mempertimbangkan biaya transaksi dampak terhadap profitabilitas keseluruhan.

Metode manajemen risiko utama: Mengoptimalkan parameter dengan benar, melacak indeks untuk meningkatkan, memperluas rentang stop loss dengan tepat, dll.

Arahan Optimasi

  1. Mengoptimalkan parameter KDJ untuk menemukan kombinasi parameter terbaik.

  2. Tambahkan kondisi penyaringan untuk menghindari sinyal palsu.

  3. Dapat memilih pengaturan parameter yang berbeda berdasarkan jenis pasar (pasar bull atau bear).

  4. Dapat memperluas rentang stop loss dengan tepat untuk mengurangi probabilitas stop loss exit.

  5. Dapat menggabungkan volume perdagangan dan indikator lain untuk analisis untuk menghindari terjebak.

Ringkasan

KDJ Golden Cross Long Entry Strategy relatif sederhana dan praktis secara keseluruhan, mudah untuk pemula untuk memulai dan menerapkan. Strategi ini memiliki keuntungan perdagangan tertentu tetapi juga memiliki beberapa risiko.


/*backtest
start: 2023-01-25 00:00:00
end: 2024-01-31 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//  ## !<------------------ Script --------------------------> 
//@version=5
strategy('KDJ NVDA', shorttitle='KDJ')

ilong = input(9, title='period')
isig = input(3, title='signal')

bcwsma(s, l, m) =>
    _bcwsma = float(na)
    _s = s
    _l = l
    _m = m
    _bcwsma := (_m * _s + (_l - _m) * nz(_bcwsma[1])) / _l
    _bcwsma

// profit strategy add
profit_m = input.float(1.20,"Profit Margin",minval=1.0,maxval=1.99,step=0.05)
stop_m = input.float(0.98,"Stop Loss Margin",minval=0.0,maxval=1,step=0.05)

// Make input options that configure backtest date range
startDate = input.int(title="Start Date", defval=1, minval=1,maxval=31)
startMonth = input.int(title="Start Month", defval=1,minval=1,maxval=12)
startYear = input.int(title="Start Year", defval=2023,minval=2018,maxval=2024)
endDate = input.int(title="End Date", defval=1, minval=1,maxval=31)
endMonth = input.int(title="End Month", defval=1,minval=1,maxval=12)
endYear = input.int(title="End Year", defval=2024,minval=2018,maxval=2099)

// intialization of variables
// Look if the close time of the current bar
// falls inside the date range
inDateRange = (time >= timestamp(syminfo.timezone, startYear,startMonth, startDate, 0, 0)) and (time < timestamp(syminfo.timezone, endYear, endMonth, endDate, 0, 0))

c = close
h = ta.highest(high, ilong)
l = ta.lowest(low, ilong)
RSV = 100 * ((c - l) / (h - l))
pK = bcwsma(RSV, isig, 1)
pD = bcwsma(pK, isig, 1)
pJ = 3 * pK - 2 * pD
KDJ = math.avg(pD, pJ, pK)

go_long= ta.crossunder(pD,pJ)


if (inDateRange and go_long)
    strategy.entry("S",strategy.long,comment="C")
	// strategy.exit("S", limit=c*profit_m, stop=c*stop_m, comment="SL/SP")
	
if (inDateRange and pJ > 100)
	strategy.close("S", comment="TP")
	
// Plot options
// plot(pK, color= #1E88E5)
// plot(pD, color=#FF6F00)
// plot(ma, color=color.yellow)
// bgcolor(pJ>pD? color.green : color.red)

plot(pK, title='% K', color=color.new(color.orange, 0))
plot(pD, title='% D', color=color.new(color.lime, 0))
plot(pJ, title='% J', color=color.new(color.fuchsia, 0))
plot(KDJ, title='KDJ', color=color.new(color.white, 0))
// </PINE> </SCRIPT>
// ## This source code is subject to the terms of the ozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// ## !<------------------ End Script --------------------------> 


Lebih banyak