Strategi Dagangan Gabungan SMA dan RSI


Tarikh penciptaan: 2023-10-08 11:40:49 Akhirnya diubah suai: 2023-10-08 11:40:49
Salin: 0 Bilangan klik: 993
1
fokus pada
1617
Pengikut

Gambaran keseluruhan

Strategi ini berdasarkan pada purata bergerak sederhana (SMA) dan indeks yang agak kuat (RSI), yang melangkaui garis isyarat masuk yang ditetapkan di atas nilai RSI dan menutup harga di bawah SMA untuk mengesan stop loss atau RSI untuk mencetuskan semula isyarat keluar dari stop loss. Strategi ini menggabungkan trend mengikuti dan overbought oversell indikator yang bertujuan untuk menangkap peluang pembalikan garis pendek di tengah.

Prinsip Strategi

  1. Menggunakan SMA ((200 kitaran) untuk menentukan arah trend besar, peluang melabur berlaku apabila harga berada di bawah SMA.

  2. Menggunakan RSI ((14 kitaran) untuk menilai keadaan overbought dan oversold. Apabila RSI melepasi 51 menunjukkan kekuatan penjual meningkat, anda boleh masuk ke dalam posisi kosong.

  3. Selepas membuka posisi shorting, dengan harga penutupan terendah sebagai titik hentian pengesanan. Jika RSI melepasi 54 atau melepasi 32 maka hentikan.

  4. Terdapat tiga jenis stop loss: stop loss harga, stop loss RSI, dan stop loss keuntungan.

Analisis kelebihan

  1. Gabungan trend-following dan indikator overbought and oversold boleh meningkatkan ketepatan masa masuk.

  2. Tracking stop loss boleh melindungi keuntungan berdasarkan perubahan harga dalam masa nyata dan mengelakkan stop loss yang terlalu padat.

  3. RSI dipicu secara dua hala untuk mengunci keuntungan dan mengelakkan kerugian akibat rebound yang berlebihan.

  4. Menggunakan penunjuk mudah dan parameter tetap, sesuai untuk operasi garis pendek, mudah dikuasai.

Analisis risiko

  1. Pengaturan parameter SMA dan RSI mungkin tidak sesuai untuk semua jenis dan tempoh dan memerlukan pengoptimuman.

  2. Tanpa mengambil kira kos transaksi seperti slippage dan yuran, keuntungan dan kerugian sebenar akan terjejas.

  3. Tanpa mengambil kira faktor-faktor lain seperti jumlah dagangan dan struktur pasaran, isyarat mungkin tidak boleh dipercayai.

  4. Jika anda terlalu bergantung pada indikator dan mengabaikan pergerakan harga, anda mungkin terlepas titik balik.

  5. Kaedah penangguhan kerugian agak kaku dan tidak dapat menangani perubahan besar dalam pasaran.

Arah pengoptimuman

  1. Uji dan optimumkan parameter kitaran SMA dan RSI untuk mencari kombinasi parameter yang optimum.

  2. Pertimbangkan untuk memasukkan petunjuk jumlah transaksi untuk mengelakkan jumlah yang rendah daripada penembusan palsu.

  3. Kombinasi indikator lain boleh diuji, seperti MACD, Brin dan sebagainya.

  4. Menambah algoritma pembelajaran mesin, menggunakan latihan data sejarah, untuk meningkatkan ketepatan isyarat.

  5. Mengoptimumkan cara untuk menghentikan kerugian, menjadikannya lebih fleksibel dan menyesuaikan diri dengan perubahan keadaan.

  6. Menyertai mekanisme pengurusan risiko untuk mengawal kerugian tunggal.

ringkaskan

Strategi ini mengintegrasikan kelebihan kedua-dua indikator SMA dan RSI, yang dapat menyaring beberapa peluang perdagangan bising. Logik perdagangan yang sederhana mudah dilaksanakan, tetapi masih perlu diuji dan dioptimumkan untuk parameter dan peraturan, dan dibantu dengan kaedah pengurusan risiko, untuk operasi yang stabil dalam jangka panjang. Di samping itu, kombinasi dengan indikator atau algoritma lain juga patut dijelajahi untuk meningkatkan kestabilan strategi.

Kod sumber strategi
/*backtest
start: 2022-10-01 00:00:00
end: 2023-10-07 00:00:00
period: 2d
basePeriod: 1d
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/
// © abdllhatn

//@version=5
// strategy("Alpha Short SMA and RSI Strategy", overlay=true, initial_capital=10000, default_qty_value=100)

// Inputs
sma_length = input(200, title="SMA Length")
rsi_length = input(14, title="RSI Length")
rsi_entry = input(51, title="RSI Entry Level")
rsi_stop = input(54, title="RSI Stop Level")
rsi_take_profit = input(32, title="RSI Take Profit Level")

// Indicators
sma_value = ta.sma(close, sma_length)
rsi_value = ta.rsi(close, rsi_length)

var float trailingStop = na
var float lastLow = na

// Conditions
shortCondition = ta.crossover(rsi_value, rsi_entry) and close < sma_value
if (shortCondition)
    strategy.entry("Sell", strategy.short)
    trailingStop := na
    lastLow := na

if (strategy.position_size < 0)
    if (na(lastLow) or close < lastLow)
        lastLow := close
        trailingStop := close

if not na(trailingStop) and close > trailingStop
    strategy.close("Sell")

if (rsi_value >= rsi_stop)
    strategy.close("Sell")

if (rsi_value <= rsi_take_profit)
    strategy.close("Sell")

// Plot
plot(sma_value, color=color.red, linewidth=2)