Strategi perdagangan kuantitatif berdasarkan Stoch RSI dan MFI


Tanggal Pembuatan: 2024-01-29 10:11:14 Akhirnya memodifikasi: 2024-01-29 10:11:14
menyalin: 1 Jumlah klik: 1272
1
fokus pada
1617
Pengikut

Strategi perdagangan kuantitatif berdasarkan Stoch RSI dan MFI

Ringkasan

Kompleks strategi ini menggunakan Stochastic RSI dan MFI untuk mengidentifikasi fenomena overbought dan oversold, membuat keputusan untuk membeli dan menjual. Ide dasarnya adalah mempertimbangkan untuk menjual ketika harga saham melebihi harga; mempertimbangkan untuk membeli ketika harga saham melebihi harga.

Prinsip Strategi

Stochastic RSI menggabungkan keunggulan stochastic ((KDJ) dan relative strength index ((RSI)). Ini menghitung RSI dalam jangka waktu tertentu dan kemudian menggunakan metode stochastic RSI untuk menghitung stochastics K dan D dari array RSI ini untuk menentukan apakah RSI sudah overbought atau oversold.

Indeks Aliran Uang (MFI) berdasarkan perubahan volume transaksi dan harga menilai hubungan pasar antara penawaran dan permintaan dan overbought oversold. Indeks ini menganggap bahwa kenaikan harga adalah manifestasi dari kekuatan multihead lebih kuat dari kekuatan kosong, dan ketika fluktuasi meningkat, kekuatan multihead lebih kuat dari kekuatan kosong, sehingga kenaikan volume transaksi menunjukkan kenaikan harga yang didorong oleh banyak pihak.

Strategi ini mengatur garis overbought dan oversold pada Stochastic RSI, serta garis overbought dan oversold pada MFI. Sinyal beli dihasilkan ketika garis K pada Stochastic RSI melintasi garis overbought dari bawah ke atas atau indikator MFI melintasi garis oversold dari bawah ke atas; Sinyal jual dihasilkan ketika garis K pada Stochastic RSI melintasi garis overbought dari atas ke bawah atau indikator MFI melintasi garis overbought dari atas ke bawah.

Keunggulan Strategis

Strategi ini menggabungkan Stochastic RSI dan indikator MFI untuk mengidentifikasi overbought dan oversold di pasar dengan lebih andal dan menghindari sinyal yang salah.

Pertama, Stochastic RSI sendiri memiliki keandalan dan sensitivitas yang lebih tinggi, lebih akurat dalam menilai overbought dan oversold daripada indikator acak biasa. Kedua, indikator MFI menilai overbought dan oversold dari sudut pandang volume transaksi dan perubahan harga, memberikan referensi dimensi lain, menghindari kesalahan penilaian hanya dari satu sudut pandang.

Akhirnya, Stochastic RSI dan MFI saling melengkapi. Stochastic RSI lebih fokus pada penilaian perubahan harga itu sendiri, sedangkan MFI lebih fokus pada perubahan volume dan volume transaksi. Keduanya digunakan dalam kombinasi untuk menilai kondisi pasar dari sudut pandang yang lebih menyeluruh, membuat keputusan perdagangan yang lebih akurat dan andal.

Risiko Strategis

Strategi ini memiliki beberapa risiko utama:

  1. Risiko sinyal yang salah dari indikator. Meskipun Stochastic RSI dan indikator MFI memiliki keandalan yang lebih tinggi, masih ada kemungkinan bahwa sinyal beli dan jual yang salah dikirim dalam situasi pasar tertentu, yang menyebabkan kerugian perdagangan.

  2. Risiko overbought dan oversold karena parameter yang tidak tepat. Pengaturan parameter stochastic RSI dan indikator MFI dapat sangat mempengaruhi sinyal perdagangan. Jika parameter yang tidak tepat, itu akan mengurangi efektivitas indikator.

  3. Risiko sinyal keterlambatan indikator. Indikator stochastic RSI dan MFI mungkin mengalami keterlambatan dan mungkin kehilangan waktu jual beli terbaik.

  4. Risiko penataan selama posisi kosong. Jika terjadi penataan horizontal pada posisi kosong tanpa sinyal, akan ada kerugian biaya kesempatan tertentu.

Solusi untuk menanggapi risiko meliputi: penyesuaian parameter indikator, pengaturan stop loss, pengurangan posisi, kombinasi dengan indikator lain, dll.

Arah optimasi strategi

Strategi ini dapat dioptimalkan dalam beberapa hal:

  1. Kombinasi dengan indikator kuantitatif dinamis, untuk menambah kondisi penilaian berdasarkan sinyal indikator Stochastic RSI dan MFI, untuk menghindari perdagangan selama periode konsolidasi. Misalnya, tambahkan penilaian terobosan harga close out / volume transaksi.

  2. Menambahkan mekanisme stop loss. Menambahkan stop loss bergerak untuk posisi jangka panjang, atau mengatur stop loss titik tertentu untuk perdagangan jangka pendek, untuk mengendalikan kerugian tunggal.

  3. Pengaturan parameter optimasi: menyesuaikan panjang parameter Stochastic RSI dan MFI, lokasi overbought dan oversold, dan lain-lain, sehingga pengaturan parameter lebih sesuai dengan situasi pasar.

  4. Strategi penyesuaian dinamika sesuai dengan situasi pasar. Mengidentifikasi tren dan menyusun tren, melacak strategi operasi tren dalam situasi tren, dan menghindari perdagangan dengan strategi penutupan pada situasi tren.

  5. Optimasi otomatis dari algoritma pembelajaran mesin. Menggunakan algoritma seperti reinforcement learning untuk menyesuaikan parameter dan aturan secara dinamis sesuai dengan hasil pengamatan, dan mengoptimalkan strategi secara otomatis.

Kode Sumber Strategi
/*backtest
start: 2023-01-22 00:00:00
end: 2024-01-28 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/
// © carterac

//@version=5
strategy("MFI and Stoch RSI Bot", overlay=true)

// Stochastic RSI settings
length = input(14, title="Stochastic RSI Length")
smoothK = input(3, title="Stochastic RSI K")
smoothD = input(3, title="Stochastic RSI D")

// Stochastic RSI overbought and oversold levels
stochRSIOverbought = input(70, title="Stochastic RSI Overbought Level")
stochRSIOversold = input(20, title="Stochastic RSI Oversold Level")

// Money Flow Index (MFI) settings
mfiLength = input(14, title="MFI Length")
mfiOverbought = input(70, title="MFI Overbought Level")
mfiOversold = input(20, title="MFI Oversold Level")

// Calculate RSI
rsiValue = ta.rsi(close, 11)

// Calculate Stochastic RSI
rsiHigh = ta.highest(rsiValue, 11)
rsiLow = ta.lowest(rsiValue, 7)
k = ta.sma(100 * (rsiValue - rsiLow) / (rsiHigh - rsiLow), 3)
d = ta.sma(k, 3)

// Calculate MFI
mfiValue = ta.mfi(volume, mfiLength)

// Determine buy and sell signals
buyCondition = ta.crossover(k, stochRSIOversold) or ta.crossover(mfiValue, mfiOversold)
sellCondition = ta.crossunder(k, stochRSIOverbought) or ta.crossunder(mfiValue, mfiOverbought)

// Plotting signals
plotshape(buyCondition, location.belowbar, color=color.green, style=shape.triangleup, title="Buy Signal")
plotshape(sellCondition, location.abovebar, color=color.red, style=shape.triangledown, title="Sell Signal")

strategy.entry("Buy", strategy.long, when = buyCondition)
strategy.entry("Sell", strategy.short, when = sellCondition)