Strategi Perdagangan Purata Bergerak

Penulis:ChaoZhang, Tarikh: 2023-12-04 15:57:06
Tag:

img

Ringkasan

Strategi ini mengintegrasikan Indeks Kekuatan Relatif (RSI), penunjuk SuperTrend dan Julat Benar Purata (ATR) untuk membina strategi perdagangan kuantitatif yang komprehensif dan praktikal.

Logika Strategi

Indeks Kekuatan Relatif (RSI)

RSI adalah penunjuk berayun yang kuat yang menilai sama ada pasaran terlalu banyak dibeli atau terlalu banyak dijual dengan mengukur kelajuan dan besar pergerakan harga. RSI di bawah kawasan oversold menunjukkan isyarat oversold, sementara RSI di atas kawasan overbought adalah isyarat overbought.

Indikator SuperTrend

Harga di atas garis SuperTrend menunjukkan trend menaik manakala harga di bawah garis SuperTrend menunjukkan trend menurun.

Julat sebenar purata (ATR)

ATR mengukur tahap turun naik pasaran dan tahap risiko. ATR yang lebih tinggi mewakili turun naik pasaran yang lebih tinggi sementara yang lebih rendah bermaksud relatif tenang. Strategi ini memanfaatkan ATR untuk menetapkan sasaran stop loss dan keuntungan.

Logik Pelaksanaan Strategi

Isyarat panjang:Apabila RSI cepat melintasi di bawah RSI perlahan sementara harga berada di atas garis SuperTrend untuk pergi lama.

Isyarat ringkas:Apabila RSI cepat melintasi di atas RSI perlahan sementara harga di bawah garis SuperTrend untuk pergi pendek.

Peraturan keluar:Jika memegang kedudukan panjang, keluar apabila RSI cepat melintasi di atas RSI perlahan atau harga jatuh di bawah garisan SuperTrend. Jika memegang kedudukan pendek, keluar apabila RSI cepat melintasi di bawah RSI perlahan atau harga naik di atas garisan SuperTrend.

Kelebihan

  1. Mengikuti Trend: SuperTrend mengenal pasti trend dengan jelas.

  2. Pengesahan Momentum: RSI memastikan perdagangan sejajar dengan sentimen pasaran.

  3. Volatility Adaptive: Stop loss yang didorong oleh ATR menyesuaikan diri dengan keadaan pasaran yang berbeza.

Risiko & Penyelesaian

  1. Risiko Kesesuaian Trend: Kemungkinan konflik antara SuperTrend dan arah trend sebenar yang mengakibatkan kerugian. Pengoptimuman parameter membantu meningkatkan ketepatan.

  2. Risiko Stop Loss Terlambat: Stop loss yang terlalu dekat mungkin dipukul secara tidak sengaja. Jarak berhenti yang munasabah harus ditetapkan.

  3. Risiko Parameter: Tetapan parameter RSI yang tidak betul mempengaruhi masa masuk dan keluar. Ujian belakang yang teliti diperlukan untuk menentukan parameter yang betul.

Cadangan Penambahbaikan

  1. Menambah penunjuk teknikal lain untuk menapis isyarat meningkatkan kestabilan sistem.

  2. Mengoptimumkan parameter RSI berdasarkan sekatan pengambilan maksimum.

  3. Memanfaatkan algoritma heuristik untuk mencari parameter SuperTrend optimum.

Kesimpulan

Strategi ini mengintegrasikan penunjuk trend, momentum dan turun naik yang membina model kuantitatif dengan isyarat yang jelas, penyesuaian parameter yang fleksibel, dan kawalan risiko yang baik.


/*backtest
start: 2022-11-27 00:00:00
end: 2023-12-03 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("RSI, SuperTrend, and ATR Strategy", overlay=true)

// Define input parameters
rsiLength1 = input(14, title="RSI Length 1")
rsiLength2 = input(21, title="RSI Length 2")
supertrendMultiplier = input(1.5, title="SuperTrend Multiplier")

// Calculate indicators
rsi1 = ta.rsi(close, rsiLength1)
rsi2 = ta.rsi(close, rsiLength2)
supertrend = ta.atr(14) * supertrendMultiplier

// Define trading conditions
rsiLongCondition = rsi1 > rsi2
rsiShortCondition = rsi1 < rsi2
supertrendLongCondition = close > supertrend
supertrendShortCondition = close < supertrend

// Execute trades
if (rsiLongCondition and supertrendLongCondition)
    strategy.entry("Long", strategy.long)

if (rsiShortCondition and supertrendShortCondition)
    strategy.entry("Short", strategy.short)

if (strategy.position_size > 0 and (rsiShortCondition or supertrendShortCondition))
    strategy.close("Long")

if (strategy.position_size < 0 and (rsiLongCondition or supertrendLongCondition))
    strategy.close("Short")

// Plot indicators on the chart
plot(rsi1, color=color.orange, title="RSI 1")
plot(rsi2, color=color.yellow, title="RSI 2")
plot(supertrend, color=color.blue, title="SuperTrend")


Lebih lanjut