Strategi mata beli dan jual berdasarkan KDJ dan RSI


Tarikh penciptaan: 2023-11-27 10:57:16 Akhirnya diubah suai: 2023-11-27 10:57:16
Salin: 0 Bilangan klik: 2432
1
fokus pada
1617
Pengikut

Strategi mata beli dan jual berdasarkan KDJ dan RSI

Gambaran keseluruhan

Strategi ini menggabungkan indikator KDJ dan RSI untuk menentukan masa untuk membeli dan menjual. Ia menghantar isyarat perdagangan apabila indikator KDJ dan RSI menghantar isyarat membeli / menjual.

Prinsip Strategi

Strategi ini menggunakan tanda silang KDJ dan RSI untuk menentukan masa beli dan jual.

Khususnya, apabila garis J KDJ melintasi garis K dari arah bawah dianggap sebagai isyarat beli, dan apabila garis J melintasi garis K dari arah atas dianggap sebagai isyarat jual. Ini menunjukkan bahawa saham dibeli ketika beralih dari keadaan oversold ke keadaan overbought, dan dijual ketika beralih dari keadaan overbought ke keadaan oversold.

Pada masa yang sama, strategi ini digabungkan dengan RSI untuk menilai isyarat yang kuat dan lemah. RSI kurang dari 30 adalah oversold, dan RSI lebih besar daripada 70 adalah overbought. Apabila KDJ mengeluarkan isyarat beli, jika RSI juga ditunjukkan sebagai oversold, ia meningkatkan kebolehpercayaan isyarat beli. Sebaliknya, apabila KDJ mengeluarkan isyarat jual, jika RSI juga ditunjukkan sebagai oversold, ia meningkatkan kebolehpercayaan isyarat jual.

Secara keseluruhannya, strategi ini memberi isyarat dagangan apabila:

Tanda-tanda untuk membeli:

  1. Garis J KDJ melintasi Garis K ke atas dan RSI (peringkat 6) < RSI (peringkat 12)
  2. Garis J KDJ melintasi Garis K ke atas dan RSI (peringkat 6) melintasi RSI (peringkat 24)
  3. RSI (peringkat 6) melalui RSI (peringkat 24) dan RSI (peringkat 6) < 40

Menjual isyarat:

  1. Garis J KDJ turun melalui Garis K dan RSI (peringkat 6) > RSI (peringkat 12)
  2. Garis J KDJ ke bawah melalui Garis K dan RSI ((6 edisi) melalui RSI ((24 edisi)
  3. RSI (peringkat 6) melalui RSI (peringkat 24) dan RSI (peringkat 6) > 60

Kelebihan Strategik

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

  2. Indeks KDJ menilai keadaan overbought dan oversold, dan RSI menilai keadaan kuat dan lemah.

  3. Kombinasi pelbagai syarat untuk membeli/menjual untuk mengelakkan kehilangan peluang kerana satu indikator.

  4. RSI mempunyai tiga set parameter iaitu 6, 12 dan 24 tempoh, yang digunakan untuk tahap kitaran yang berbeza, menjadikan strategi lebih luas.

Analisis risiko

  1. Indeks KDJ dan RSI boleh menunjukkan isyarat palsu, yang menyebabkan perdagangan yang tidak perlu.

  2. Keadaan berganda dalam transaksi menambah kerumitan operasi strategi dan memerlukan pengesahan yang teliti.

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

Pengoptimuman Strategi

  1. Anda boleh menguji penambahan petunjuk lain seperti garis Brin, penguatan isyarat dagangan.

  2. Parameter untuk indikator KDJ dan RSI boleh dioptimumkan untuk lebih sesuai dengan tahap kitaran yang berbeza.

  3. Risiko boleh dikawal dengan meningkatkan standard pencegahan kerugian.

  4. Mekanisme penangguhan automatik boleh ditambah.

ringkaskan

Strategi ini menggabungkan kelebihan indikator KDJ dan indikator RSI, meningkatkan ketepatan isyarat perdagangan dengan menyeberang indikator ganda untuk menentukan masa pembelian dan penjualan. Sementara indikator RSI yang menggabungkan parameter yang berbeza menentukan keadaan kosong, menjadikan strategi ini lebih luas. Strategi ini berkesan mengelakkan risiko isyarat palsu yang mungkin dibawa oleh indikator tunggal.

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