Strategi Dagangan Jangka Pendek SMA RSI Filter Ganda

Penulis:ChaoZhang, Tarikh: 2023-10-08 12:14:36
Tag:

Ringkasan

Strategi ini adalah berdasarkan pada purata bergerak mudah (SMA) dan Indeks Kekuatan Relatif (RSI). Ia pergi pendek apabila RSI melintasi di atas tahap kemasukan dan harga penutupan di bawah SMA; Ia menutup kedudukan apabila isyarat stop loss atau mengambil keuntungan muncul. Penapis berganda membantu mengelakkan perdagangan yang tidak berkesan.

Prinsip-prinsip

Strategi menilai pasaran terutamanya berdasarkan dua penunjuk:

  1. SMA: Dihitung berdasarkan purata bergerak mudah harga penutupan dalam 200 hari yang lalu, mewakili trend jangka menengah dan panjang.

  2. RSI: Dihitung berdasarkan kekuatan relatif harga penutupan dalam tempoh 14 hari yang lalu, mewakili tahap overbought/oversold jangka pendek.

Apabila RSI melintasi di atas 51 ke dalam zon overbought dan berada di atas garis SMA, ia menunjukkan bahawa trend jangka pendek dan jangka menengah berlainan, jadi kedudukan pendek dibuka.

Selepas itu, baris stop loss dan take profit ditetapkan. Posisi ditutup apabila RSI turun di bawah 32 untuk mengambil keuntungan, atau apabila RSI melintasi di atas 54 atau stop loss dipukul untuk stop loss.

Kelebihan

  1. Penapis ganda penunjuk meningkatkan ketepatan isyarat kemasukan. RSI menentukan tahap overbought jangka pendek dan SMA menentukan isyarat penurunan jangka menengah dan panjang, menggabungkan kedua-duanya menjadikan isyarat lebih boleh dipercayai.

  2. Hentian pengangkutan mengunci keuntungan mengikut tindakan harga, mengelakkan memberikan kembali keuntungan.

  3. Logikannya mudah dan lurus, mudah difahami dan diubah.

Risiko

  1. Tidak mengambil kira faktor-faktor seperti jumlah dagangan atau turun naik.

  2. Parameter RSI tetap dan mungkin tidak sesuai untuk semua produk dan jangka masa.

  3. Tidak mengambil kira kos dagangan seperti slippage dan komisen.

  4. Strategi ini sangat mudah dan mempunyai ruang yang terhad untuk pengembangan.

Kawasan Peningkatan

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

  2. Tambah lebih banyak jenis kaedah stop loss / mengambil keuntungan, seperti berhenti, berhenti berasaskan peratusan.

  3. Tambah penunjuk penapis trend seperti MACD untuk mengelakkan perdagangan terhadap trend.

  4. Pertimbangkan penunjuk jumlah untuk menapis pecah palsu dengan jumlah yang rendah.

Ringkasan

Strategi ini mempunyai logik yang jelas dan beberapa nilai praktikal. Tetapi parameternya tetap dan tidak menyesuaikan diri dengan perubahan pasaran. Terdapat juga beberapa butiran yang boleh diperbaiki. Secara keseluruhan, ia boleh menjadi contoh bagi pemula untuk mempelajari strategi penapisan penunjuk berganda, tetapi memerlukan ujian dan peningkatan lanjut untuk perdagangan sebenar.


/*backtest
start: 2023-09-07 00:00:00
end: 2023-10-07 00:00:00
period: 3h
basePeriod: 15m
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)




Lebih lanjut