Strategi dagangan kuantitatif berdasarkan Stoch RSI dan MFI


Tarikh penciptaan: 2024-01-29 10:11:14 Akhirnya diubah suai: 2024-01-29 10:11:14
Salin: 1 Bilangan klik: 1272
1
fokus pada
1617
Pengikut

Strategi dagangan kuantitatif berdasarkan Stoch RSI dan MFI

Gambaran keseluruhan

Strategi ini menggunakan Stochastic RSI dan MFI untuk mengenal pasti fenomena overbought dan oversold, membuat keputusan untuk membeli dan menjual. Gagasan asasnya adalah untuk mempertimbangkan untuk menjual apabila harga saham melebihi harga; untuk mempertimbangkan untuk membeli apabila harga saham melebihi harga.

Prinsip Strategi

Stochastic RSI menggabungkan kelebihan stochastic ((KDJ) dan indeks relatif lemah ((RSI)). Ia menggunakan RSI untuk mengira nilai RSI dalam jangka masa tertentu, dan kemudian menggunakan kaedah stochastic RSI untuk mengira stochastics K dan D dalam susunan RSI ini, untuk menentukan sama ada RSI terlalu banyak atau terlalu banyak.

Indeks Aliran Wang (MFI) menilai hubungan bekalan dan permintaan pasaran dan keadaan jual beli yang berlebihan berdasarkan perubahan dalam jumlah transaksi dan harga. Indeks ini berpendapat bahawa kenaikan harga adalah manifestasi kekuatan berganda yang lebih kuat daripada kekuatan kosong, dan apabila turun naik, kekuatan berganda lebih kuat daripada kekuatan kosong, oleh itu peningkatan jumlah transaksi menunjukkan kenaikan harga yang didorong oleh banyak pihak.

Strategi ini menetapkan garisan beli dan jual Stochastic RSI, serta garisan beli dan jual MFI. Ia menghasilkan isyarat beli apabila garisan K Stochastic RSI melintasi garisan beli dari bawah ke atas atau MFI melintasi garisan beli dari bawah ke atas; ia menghasilkan isyarat jual apabila garisan K Stochastic RSI melintasi garisan beli dari atas ke bawah atau MFI melintasi garisan beli dari atas ke bawah.

Kelebihan Strategik

Strategi ini, yang menggabungkan Stochastic RSI dan indikator MFI, dapat mengenal pasti dengan lebih dipercayai fenomena overbought dan oversold di pasaran, dan mengelakkan isyarat yang salah.

Pertama, penunjuk RSI Stochastic sendiri mempunyai kebolehpercayaan dan kepekaan yang lebih tinggi, dan lebih tepat untuk menilai keadaan overbought dan oversold berbanding penunjuk rawak biasa. Kedua, penunjuk MFI menilai overbought dan oversold dari segi jumlah transaksi dan perubahan harga, memberikan rujukan dimensi lain, untuk mengelakkan kesalahan menilai dari satu sudut sahaja.

Akhirnya, Stochastic RSI dan indikator MFI saling melengkapi. Stochastic RSI lebih memberi tumpuan kepada penilaian perubahan harga itu sendiri, sementara MFI lebih memberi tumpuan kepada perubahan dalam jumlah transaksi dan jumlah transaksi. Kedua-duanya digunakan bersama untuk menilai keadaan pasaran dari sudut yang lebih menyeluruh, membuat keputusan perdagangan yang lebih tepat dan boleh dipercayai.

Risiko Strategik

Strategi ini mempunyai beberapa risiko utama:

  1. Walaupun Stochastic RSI dan indikator MFI mempunyai kebolehpercayaan yang tinggi, masih ada kemungkinan untuk menghantar isyarat beli dan jual yang salah dalam keadaan pasaran tertentu, yang menyebabkan kerugian perdagangan.

  2. Pengaturan parameter untuk indikator Stochastic RSI dan MFI mempunyai kesan yang besar terhadap isyarat perdagangan, jika parameter yang tidak betul, ia akan melemahkan keberkesanan indikator.

  3. Risiko isyarat ketinggalan indeks. Indeks stochastic RSI dan MFI mungkin mempunyai ketinggalan tertentu, mungkin terlepas masa pembelian dan penjualan yang terbaik.

  4. Risiko penyusunan semasa kedudukan kosong. Semasa kedudukan kosong di mana indikator tidak memberi isyarat, jika berlaku penyusunan melintang, ia akan membawa kerugian kos peluang tertentu.

Penyelesaian untuk menghadapi risiko termasuk: menyesuaikan parameter penunjuk, menetapkan hentian, mengurangkan kedudukan, menggabungkan penunjuk lain dan sebagainya.

Arah pengoptimuman strategi

Strategi ini boleh dioptimumkan dalam beberapa aspek:

  1. Gabungan dengan penunjuk kuantiti dinamik, tambah penghakiman berdasarkan isyarat penunjuk Stochastic RSI dan MFI, untuk mengelakkan perdagangan semasa penyusunan. Sebagai contoh, tambah penghakiman penembusan harga penutupan / jumlah transaksi.

  2. Menambah mekanisme hentian kerugian. Menambah hentian bergerak untuk memegang kedudukan panjang, atau menetapkan titik hentian tertentu ketika berdagang pendek, untuk mengawal kerugian tunggal.

  3. Tetapan parameter yang dioptimumkan. Sesuaikan panjang parameter Stochastic RSI dan MFI, lokasi overbought dan oversold, dan lain-lain, agar tetapan parameter lebih sesuai dengan keadaan pasaran.

  4. Strategi penyesuaian dinamik mengikut keadaan pasaran. Mengenali pergerakan trend dan pergerakan penyeimbangan, strategi pengendalian trend dalam pergerakan trend, strategi penutupan dalam pergerakan penyeimbangan dan mengelakkan perdagangan.

  5. Pengoptimuman automatik berpasangan dengan algoritma pembelajaran mesin. Menggunakan algoritma seperti pembelajaran penguatan untuk menyesuaikan parameter dan peraturan secara dinamik mengikut keputusan tinjauan kembali, untuk mencapai pengoptimuman automatik strategi.

Kod 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)