Strategi ini menggunakan indikator RSI untuk menentukan waktu masuk melalui penilaian lintas siklus dan mengadopsi mekanisme profit dan stop ATR untuk strategi pelacakan tren. Ini menentukan titik balik tren pasar melalui persilangan indikator RSI dari siklus yang berbeda dan menggabungkan harga penutupan untuk menyaring waktu posisi panjang dan pendek.
Strategi ini pertama-tama menggunakan teknologi smoothing SMA untuk menghitung rata-rata bergerak 26 minggu sebagai patokan untuk menilai pasar bull. Kemudian hitung nilai indikator RSI 4 minggu, ketika melintasi di bawah 30 di area oversold, dianggap bahwa pasar mungkin bangkit kembali. Pada saat ini, menilai apakah tinggi baru dari parameter shortdays dapat menembus tinggi baru dari parameter longdays, menunjukkan bahwa tren jangka pendek semakin kuat. Jika kondisi di atas terpenuhi pada saat yang sama, sinyal panjang dikeluarkan.
Setelah masuk ke pasar, gunakan indikator ATR kali lipat sebagai kisaran keuntungan, dan stop loss pada persentase tertentu dari titik tinggi harga penutupan.
Strategi ini memiliki keuntungan berikut:
Gunakan indikator RSI untuk menentukan titik pembalikan dengan kemampuan waktu yang baik.
Terapkan mekanisme tinggi dan rendah baru untuk menghindari sinyal palsu.
Gunakan ATR untuk keuntungan dan stop loss untuk melacak titik keluar optimal secara otomatis.
Pengaturan parameter yang fleksibel dapat disesuaikan dengan tingkat yang optimal.
Ide strategi jelas dan mudah dimengerti, dengan stabilitas yang kuat.
Strategi ini juga memiliki risiko berikut:
Indikator RSI dapat mengeluarkan sinyal yang salah, yang mengakibatkan waktu yang tidak tepat. Parameter RSI dapat disesuaikan sesuai, atau indikator lain dapat ditambahkan untuk penyaringan.
Kisaran keuntungan ATR dapat diatur terlalu besar atau terlalu kecil untuk mengunci keuntungan maksimum. Kombinasi parameter yang lebih baik dapat diuji.
Titik stop loss terlalu dekat dan mungkin stop loss terputus.
Data backtest yang tidak cukup dapat melebih-lebihkan tingkat pengembalian strategi.
Strategi dapat dioptimalkan dalam aspek berikut:
Uji dan optimalkan parameter RSI dan kelipatan laba rugi untuk menemukan kombinasi parameter terbaik.
Meningkatkan indikator lain untuk meningkatkan akurasi strategi seperti MACD, KD, dll.
Mengoptimalkan mekanisme stop loss dan menyesuaikan secara dinamis sesuai dengan rentang fluktuasi ATR.
Uji efek kinerja pada varietas perdagangan yang berbeda. Pilih varietas dengan likuiditas yang baik dan volatilitas tinggi.
Bandingkan kinerja berbagai jenis stop loss. seperti stop loss proporsional, stop loss bergerak, dll.
Operasi keseluruhan strategi ini jelas dan lancar, pemilihan indikator dan pengaturan parameter masuk akal, dan memiliki kepraktisan yang kuat. Masih ada ruang untuk perbaikan lebih lanjut melalui optimasi parameter dan peningkatan mekanisme. Secara keseluruhan, strategi ini memiliki kemampuan yang relatif tinggi untuk menghasilkan keuntungan yang stabil.
/*backtest start: 2023-02-05 00:00:00 end: 2024-01-18 05:20:00 period: 2d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //A translation from info found at http://backtestwizard.com/swing-trading-system-for-stocks/ strategy("Swing Trading System RSI", overlay=true) source = close[1] longperiod = input(26,"long week",minval=2,maxval=500,step=1) s = request.security(syminfo.tickerid, "W", sma(close[1], longperiod)) // 1 Day plot(s) shortdays = input(21,"short days high period",minval=2,maxval=500,step=1) longdays = input(50,"long days high period",minval=2,maxval=500,step=1) rsiperiod = input(4,"rsi period",minval=2,maxval=500,step=1) rsithresh = input(30,"rsi thresh",minval=2,maxval=500,step=1) highcheck = highest(source,shortdays) == highest(source,longdays) rsicheck = crossunder(rsi(source,rsiperiod),rsithresh) longCondition = (highcheck) and (rsicheck) and source > s if (longCondition) strategy.entry("My Long Entry Id", strategy.long) profittarget = input(3,"profit target",minval=2,maxval=500,step=1) stoploss = input(2,"stop target",minval=2,maxval=500,step=1) exitCondition1 = source > strategy.position_avg_price + (atr(50) * profittarget) exitCondition2 = source < strategy.position_avg_price - (atr(50) * stoploss) if (exitCondition1) strategy.close_all() if (exitCondition2) strategy.close_all()