
Trend Tracking Swing Strategi yang didasarkan pada MA dan RSI adalah strategi perdagangan kuantitatif yang menggabungkan moving averages dan indikator yang relatif kuat. Strategi ini bertujuan untuk menangkap tren jangka menengah di pasar, sementara menggunakan indikator RSI untuk menilai kondisi pasar yang terlalu terjual untuk mengoptimalkan posisi keluar.
Prinsip-prinsip inti dari strategi ini adalah sebagai berikut:
Menghitung moving average dari dua periode yang berbeda ((MA), yaitu MA cepat dan MA lambat. Ketika MA cepat melewati MA lambat, pasar masuk ke tren naik; ketika MA cepat melewati MA lambat, pasar masuk ke tren turun.
Perhitungan indikator RSI untuk menilai kondisi pasar overbought dan oversold. Ketika RSI lebih tinggi dari overbought dan oversold, pasar dianggap berada dalam kondisi overbought. Ketika RSI lebih rendah dari oversold dan oversold, pasar dianggap berada dalam kondisi oversold.
Sinyal gabungan MA dan RSI, buka posisi lebih ketika pasar berada dalam tren naik dan RSI tidak oversold; buka posisi kosong ketika pasar berada dalam tren turun dan RSI tidak oversold.
Tetapkan harga stop loss dan stop loss untuk mengontrol risiko dan mengunci keuntungan. Harga stop loss dihitung berdasarkan harga penutupan terbaru dan persentase stop loss. Harga stop loss dihitung berdasarkan harga penutupan terbaru, persentase stop loss dan persentase risiko-keuntungan.
Bila harga mencapai titik stop loss atau stop loss, maka posisi kosong akan keluar.
Trend Tracking: Strategi ini digunakan untuk menilai tren pasar melalui MA crossover, yang dapat secara efektif menangkap tren harga jangka menengah dan panjang.
Pertimbangan Overselling: Menggunakan indikator RSI untuk mengoptimalkan waktu masuk berdasarkan pertimbangan tren dan menghindari zona overselling.
Pengendalian risiko: menetapkan harga stop loss dan stop loss yang jelas, dan mengontrol dengan ketat ambang risiko setiap transaksi.
Fleksibilitas Parameter: Parameter kunci strategi, seperti siklus MA, siklus RSI, overbought overbought, stop loss percentage, risk-reward ratio, dan lain-lain, tersedia dalam bentuk parameter input yang dapat disesuaikan dengan kebutuhan pengguna.
Risiko Parameter: Kinerja strategi ini lebih sensitif terhadap pilihan parameter, dan pengaturan parameter yang berbeda dapat menyebabkan perbedaan kinerja strategi yang lebih besar. Oleh karena itu, dalam aplikasi nyata, diperlukan pengembalian dan pengoptimalan parameter yang memadai.
Risiko identifikasi tren: Strategi ini terutama bergantung pada MA yang bersilang untuk menilai tren, tetapi dalam beberapa situasi pasar (seperti pasar yang bergoyang atau titik perubahan tren), MA yang bersilang dapat terjadi kesalahan penilaian atau lag.
Black Swan Event: Strategi ini dibangun berdasarkan data historis dan mungkin tidak dapat ditangani dengan tepat waktu untuk beberapa peristiwa pasar yang tiba-tiba dan ekstrim (seperti peristiwa politik besar, bencana alam, dll.).
Memperkenalkan lebih banyak indikator teknis seperti Brinks, MACD, dan lain-lain untuk meningkatkan akurasi dan stabilitas penilaian tren.
Pertimbangkan untuk memasukkan analisis sentimen pasar, seperti analisis sentimen pasar melalui data besar, untuk membantu menilai tren dan menyesuaikan posisi.
Optimasi parameter yang lebih komprehensif dan lebih rinci dapat dilakukan dengan menggunakan metode optimasi cerdas seperti algoritma genetik untuk mencari kombinasi parameter yang optimal.
Menambahkan manajemen posisi dan manajemen modal ke dalam strategi, menyesuaikan posisi secara dinamis sesuai dengan volatilitas pasar dan kerugian akun, untuk mengontrol risiko lebih lanjut.
Strategi yang lebih klasik adalah strategi perdagangan kuantitatif, yang menilai tren pasar melalui MA dan RSI, dan menggunakan indikator RSI untuk mengoptimalkan titik keluar. Strategi ini memiliki logika yang jelas, mudah diimplementasikan dan dioptimalkan, dan dapat secara efektif menangkap tren jangka menengah pasar, sambil mengendalikan risiko tertentu. Namun, strategi ini lebih sensitif terhadap pilihan parameter, yang memerlukan pengembalian dan pengoptimalan yang memadai dalam aplikasi nyata.
/*backtest
start: 2024-02-20 00:00:00
end: 2024-03-21 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Swing Trading Strategy", overlay=true)
// Inputs
ma_fast_length = input(50, "50-Day MA")
ma_slow_length = input(200, "200-Day MA")
rsi_length = input(14, "RSI Length")
rsi_overbought = input(70, "RSI Overbought")
rsi_oversold = input(30, "RSI Oversold")
risk_reward_ratio = input(2.0, "Risk/Reward Ratio")
stop_loss_percent = input(2.0, "Stop Loss (%)")
// Moving Averages
ma_fast = ta.sma(close, ma_fast_length)
ma_slow = ta.sma(close, ma_slow_length)
// RSI
rsi = ta.rsi(close, rsi_length)
// Trend Identification
bullish_trend = ta.crossover(ma_fast, ma_slow)
bearish_trend = ta.crossunder(ma_fast, ma_slow)
// Entry Conditions
long_entry = bullish_trend and close > ma_fast and rsi < rsi_overbought
short_entry = bearish_trend and close < ma_fast and rsi > rsi_oversold
// Stop Loss and Take Profit Calculations
long_sl = close * (1 - stop_loss_percent / 100)
short_sl = close * (1 + stop_loss_percent / 100)
long_tp = close * (1 + (stop_loss_percent / 100) * risk_reward_ratio)
short_tp = close * (1 - (stop_loss_percent / 100) * risk_reward_ratio)
// Strategy Execution
if (long_entry)
strategy.entry("Long", strategy.long)
strategy.exit("Exit Long", "Long", stop=long_sl, limit=long_tp)
if (short_entry)
strategy.entry("Short", strategy.short)
strategy.exit("Exit Short", "Short", stop=short_sl, limit=short_tp)
// Plotting
plot(ma_fast, "50-Day MA", color=color.blue)
plot(ma_slow, "200-Day MA", color=color.red)
hline(rsi_overbought, "Overbought", color=color.red)
hline(rsi_oversold, "Oversold", color=color.green)