RSI KDJ Crossover Strategi Isyarat Beli Jual

Penulis:ChaoZhang, Tarikh: 2023-11-27 10:57:16
Tag:

img

Ringkasan

Strategi ini menggabungkan penunjuk KDJ dan penunjuk RSI untuk menentukan masa pembelian dan penjualan. Ia menghasilkan isyarat perdagangan apabila penunjuk KDJ dan penunjuk RSI mengeluarkan isyarat beli / jual.

Prinsip Strategi

Strategi ini menggunakan persilangan penunjuk KDJ dan penunjuk RSI untuk menilai masa pembelian dan penjualan.

Secara khusus, apabila garis J dari KDJ melintasi di atas garis K dari bawah ke atas, ia dianggap isyarat beli. dan apabila garis J melintasi di bawah garis K dari atas ke bawah, ia adalah isyarat jual. ini bermaksud membeli apabila stok berubah dari oversold kepada overbought dan menjual apabila ia berubah dari overbought kepada oversold.

Pada masa yang sama, strategi ini menggabungkan penunjuk RSI untuk menilai kekuatan isyarat. RSI di bawah 30 adalah oversold dan RSI di atas 70 adalah overbought. Apabila KDJ mengeluarkan isyarat beli, jika penunjuk RSI juga menunjukkan oversold, ia meningkatkan kebolehpercayaan isyarat beli. Sebaliknya, apabila KDJ mengeluarkan isyarat jual, jika RSI juga menunjukkan overbought, ia meningkatkan kebolehpercayaan isyarat jual.

Ringkasnya, strategi ini menjana isyarat perdagangan dalam situasi berikut:

Isyarat beli:

  1. KDJ garis J melintasi di atas garis K DAN RSI(6) < RSI(12)
  2. KDJ garis J melintasi di atas garis K DAN RSI(6) melintasi di atas RSI(24)
  3. RSI(6) melintasi di atas RSI(24) DAN RSI(6) < 40

Sinyal jual:

  1. KDJ garis J melintasi di bawah garis K DAN RSI(6) > RSI(12)
  2. KDJ garis J melintasi di bawah garis K DAN RSI(6) melintasi di bawah RSI(24)
  3. RSI(6) melintasi di bawah RSI(24) DAN RSI(6) > 60

Kelebihan

  1. Menggabungkan penunjuk KDJ dan penunjuk RSI menjadikan isyarat perdagangan lebih dipercayai.

  2. Penunjuk KDJ menilai keadaan overbought/oversold, manakala penunjuk RSI menilai kekuatan.

  3. Keadaan pembelian/penjualan yang berbilang mengelakkan peluang yang hilang kerana sebab dari satu penunjuk.

  4. Parameter RSI ditetapkan pada 6, 12 dan 24 tempoh, yang sesuai untuk tahap kitaran yang berbeza, menjadikan strategi lebih serba boleh.

Analisis Risiko

  1. Kedua-dua penunjuk KDJ dan RSI boleh memberikan isyarat palsu, yang membawa kepada perdagangan yang tidak perlu.

  2. Keadaan perdagangan yang pelbagai meningkatkan kerumitan operasi strategi dan memerlukan pengesahan yang teliti.

  3. Strategi ini perlu diuji dan dioptimumkan di pasaran yang berbeza, dan parameter perlu disesuaikan.

Arahan Penambahbaikan

  1. Uji tambah penunjuk lain seperti Bollinger Bands untuk menguatkan isyarat perdagangan.

  2. Mengoptimumkan parameter KDJ dan RSI untuk menjadikannya sesuai dengan tahap kitaran yang berbeza.

  3. Meningkatkan standard stop loss untuk mengawal risiko.

  4. Tambahkan mekanisme stop loss automatik untuk menghentikan kerugian apabila harga berbalik.

Kesimpulan

Strategi ini menggabungkan kelebihan penunjuk KDJ dan penunjuk RSI dengan menggunakan persilangan kedua-dua penunjuk untuk menentukan masa pembelian dan penjualan, yang meningkatkan ketepatan isyarat perdagangan. Menggunakan penunjuk RSI dengan parameter yang berbeza juga menjadikan strategi lebih serba boleh. Strategi ini secara berkesan mengelakkan risiko isyarat palsu yang mungkin berlaku dengan satu indikator. Dengan meningkatkan parameter, menambah penunjuk tambahan, mekanisme hentian kerugian, dan lain-lain, prestasi strategi ini dapat ditingkatkan lagi.


/*backtest
start: 2022-11-20 00:00:00
end: 2023-11-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © innocentChart76064

//@version=5
strategy(title = "buy/sell KDJ RSI", overlay=true)

//Define KDJ parameter
kdj_length = input(9, title = "KDJ length")
signal = input(3,title="signal")

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

c = close
h = ta.highest(high, kdj_length)
l = ta.lowest(low,kdj_length)
RSV = 100*((c-l)/(h-l))
kdj_k = bcwsma(RSV, signal, 1)
kdj_d = bcwsma(kdj_k, signal, 1)
kdj_j = 3 * kdj_k-2 * kdj_d

//Define RSI parameter 
rsi_length_1 = input(6)
rsi_length_2 = input(12)
rsi_length_3 = input(24)
price = close 

//Calculate RSI values
rsi_1 = ta.rsi(price, rsi_length_1)
rsi_2 = ta.rsi(price, rsi_length_2)
rsi_3 = ta.rsi(price, rsi_length_3)

// Trading conditions
longCondition = ta.crossover(kdj_j,kdj_k) and rsi_1 > rsi_2 or ta.crossover(kdj_j,kdj_k) and ta.crossover(rsi_1,rsi_3) or ta.crossover(rsi_1,rsi_3) and rsi_1<40
shortCondition = ta.crossunder(kdj_j,kdj_k) and rsi_1 < rsi_2 or ta.crossunder(kdj_j,kdj_k) and ta.crossunder(rsi_1,rsi_3) or ta.crossunder(rsi_1,rsi_3) and rsi_1>60
// Enter long trade
strategy.entry("Long", strategy.long, when=longCondition)

// Enter short trade
strategy.entry("Short", strategy.short, when=shortCondition)


Lebih lanjut