
Strategi ini menggabungkan indikator KDJ dan RSI untuk menentukan kapan harus membeli atau menjual. Strategi ini mengirimkan sinyal perdagangan saat indikator KDJ dan RSI mengirimkan sinyal beli / jual.
Strategi ini menggunakan crossover antara indikator KDJ dan RSI untuk menentukan kapan membeli dan menjual.
Secara khusus, ketika garis J dari KDJ melintasi garis K dari arah bawah dianggap sebagai sinyal beli, dan ketika garis J dari arah atas melintasi garis K dianggap sebagai sinyal jual. Ini berarti bahwa saham dibeli ketika beralih dari keadaan oversold ke keadaan overbought, dan dijual ketika beralih dari keadaan overbought ke keadaan oversold.
Pada saat yang sama, strategi ini menggabungkan indikator RSI untuk menilai sinyal kuat dan lemah. RSI kurang dari 30 adalah oversold, RSI lebih besar dari 70 adalah overbought. Ketika KDJ mengeluarkan sinyal beli, jika indikator RSI juga ditampilkan sebagai oversold, itu meningkatkan keandalan sinyal beli. Sebaliknya, ketika KDJ mengeluarkan sinyal jual, jika RSI juga ditampilkan sebagai oversold, itu meningkatkan keandalan sinyal jual.
Secara keseluruhan, strategi ini memberikan sinyal perdagangan dalam situasi berikut:
Sinyal untuk membeli:
Menjual sinyal:
Kombinasi indikator KDJ dan RSI membuat sinyal perdagangan lebih andal.
Indikator KDJ menilai kondisi overbought dan oversold, sedangkan RSI menilai kondisi kuat dan lemah.
Kombinasi dari berbagai kondisi jual beli untuk menghindari kehilangan peluang karena satu indikator.
Parameter RSI diatur dalam tiga set parameter periode 6, 12 dan 24, yang berlaku untuk tingkat siklus yang berbeda, sehingga strategi ini dapat diterapkan secara luas.
Indikator KDJ dan RSI dapat menunjukkan sinyal palsu yang memicu perdagangan yang tidak perlu.
Kondisi transaksi ganda menambah kompleksitas operasi strategi yang perlu diperiksa dengan cermat.
Strategi ini juga perlu diuji dan dioptimalkan di berbagai pasar, dan parameternya perlu disesuaikan.
Anda dapat menambahkan indikator lain seperti Brinks, untuk memperkuat sinyal perdagangan.
Parameter indikator KDJ dan RSI dapat dioptimalkan agar lebih sesuai dengan tingkat siklus yang berbeda.
Risiko dapat dikendalikan dengan meningkatkan standar penghentian kerugian.
Anda dapat menambahkan mekanisme stop loss otomatis. Stop loss otomatis ketika harga berjalan terbalik.
Strategi ini menggabungkan keuntungan dari indikator KDJ dan RSI, meningkatkan akurasi sinyal perdagangan dengan mengidentifikasi waktu pembelian dan penjualan melalui persilangan indikator ganda. Strategi ini juga mengidentifikasi kondisi kosong dengan kombinasi indikator RSI dengan parameter yang berbeda, sehingga strategi ini dapat diterapkan secara lebih luas. Strategi ini secara efektif menghindari risiko sinyal palsu yang mungkin dibawa oleh indikator tunggal.
/*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)