Strategi TrendSurfing adalah strategi pelacakan tren yang didasarkan terutama pada sinyal crossover rata-rata bergerak ganda. Strategi ini juga menggabungkan indikator visual segitiga, EMA 200 hari, indikator ROC dan indikator RSI untuk menyaring kebisingan dan dengan akurat menangkap pembalikan tren. Strategi ini cocok untuk kepemilikan jangka menengah hingga panjang dan dapat mencapai pertumbuhan yang stabil di pasar bull.
Strategi TrendSurfing terutama bergantung pada salib emas dan salib kematian yang dibentuk oleh rata-rata bergerak cepat dan rata-rata bergerak lambat untuk menghasilkan sinyal beli dan jual. Ketika MA cepat melintasi di atas MA lambat, sinyal beli dihasilkan. Ketika MA cepat melintasi di bawah MA lambat, sinyal jual dihasilkan.
Selain itu, strategi ini menggabungkan beberapa indikator tambahan untuk menyaring sinyal palsu atau menentukan kualitas tren, termasuk:
Dengan menilai berbagai indikator secara komprehensif, strategi TrendSurfing dapat dengan akurat menemukan titik balik tren dan melacak tren jangka menengah hingga panjang yang pasti tanpa tertipu oleh kebisingan pasar atau koreksi jangka pendek.
1. Menangkap Tren Jangka Menengah dan Panjang
Strategi ini pada dasarnya menilai pembalikan tren berdasarkan penyeberangan MA, dan menggunakan indikator seperti EMA 200 hari untuk menyaring kebisingan jangka pendek, dengan fokus pada penangkapan tren jangka menengah hingga panjang.
2. Berbagai Indikator Memastikan Masuk Berkualitas Tinggi
Di atas penyeberangan MA itu sendiri, penggabungan ROC, RSI dan indikator lainnya memungkinkan menghindari zona konsolidasi pada titik pembalikan dan memastikan kualitas masuk.
3. Indikator Visual Segitiga Intuitif
Segitiga hijau ke bawah menunjukkan entri panjang, segitiga merah ke atas menunjukkan entri pendek.
4. Parameter yang dapat disesuaikan untuk kebutuhan yang berbeda
Pengguna dapat secara bebas menyesuaikan parameter seperti periode MA, panjang ROC, panjang RSI dll sesuai dengan gaya perdagangan mereka sendiri.
5. Hentikan Kerugian dan Kendalikan Keuntungan
Strategi menetapkan stop loss dan mengambil keuntungan berdasarkan nilai ATR dikalikan dengan persentase risiko, memungkinkan kontrol risiko per perdagangan.
1. Risiko Kecelakaan
Setiap strategi yang didasarkan crossover MA memiliki risiko yang melekat dari kehilangan perdagangan atau dihentikan ketika MA berosilasi.
2. Over-optimasi dari pengaturan parameter yang tidak benarPengguna harus menghindari mengejar nilai parameter yang hipotetis ideal. Parameter harus diuji dan disesuaikan berdasarkan kondisi pasar dan produk yang berbeda.
3. Ketidakmampuan untuk sepenuhnya menyaring peristiwa Black Swan
Di bawah kondisi pasar yang ekstrim, strategi masih bisa menghadapi kerugian besar dari risiko sistemik pasar.
1. Uji dan Optimalkan Nilai Parameter
Periode MAs, panjang ROC, nilai RSI dll harus melalui pengujian dan optimalisasi yang ketat agar sesuai dengan karakteristik produk perdagangan yang berbeda.
2. Uji dan sertakan indikator tambahan lainnya
Lanjutkan pengujian kombinasi dari indikator lain seperti BOLL, KDJ dll dengan MA silang untuk kinerja yang lebih baik.
3. Berkoordinasi dengan Perdagangan Algoritma untuk Pengendalian Risiko yang Lebih BaikMemperkenalkan algoritma pembelajaran mesin untuk memungkinkan stop loss yang lebih cerdas dan mengambil keuntungan, beradaptasi dengan lingkungan pasar yang dinamis.
4. Jelajahi Kombinasi dengan Strategi atau Model Lain
Kombinasi dengan strategi pengambilan saham berbasis fundamental, strategi arbitrase statistik, model optimasi portofolio, dll dapat lebih meningkatkan pengendalian risiko dan pengembalian.
Strategi TrendSurfing adalah strategi pelacakan tren yang sederhana dan langsung dengan risiko yang dapat dikontrol. Sinyal perdagangan dihasilkan dari MA cross dan disaring oleh beberapa indikator tambahan. Ini cocok untuk pemegang jangka menengah hingga panjang untuk melacak tren pasar bull secara stabil. Kami akan terus mengoptimalkan strategi ini melalui pengujian parameter, perluasan indikator, kontrol risiko dll untuk mencapai kinerja yang lebih andal di berbagai pasar.
[/trans]
/*backtest start: 2023-12-27 00:00:00 end: 2024-01-03 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Moving Average Crossover with Triangles, 200 EMA, ROC, and RSI", overlay=true) // Define input parameters fast_length = input(9, title="Fast MA Length") slow_length = input(21, title="Slow MA Length") roc_length = input(14, title="ROC Length") rsi_length = input(14, title="RSI Length") // Calculate moving averages fast_ma = sma(close, fast_length) slow_ma = sma(close, slow_length) // Plot moving averages plot(fast_ma, color=color.green, title="Fast MA") plot(slow_ma, color=color.red, title="Slow MA") // Plot 200 EMA ema_200 = ema(close, 200) plot(ema_200, color=color.white, title="200 EMA", linewidth=2) // Calculate Rate of Change (ROC) roc = roc(close, roc_length) // Calculate RSI rsi = rsi(close, rsi_length) // Define strategy entry and exit conditions long_condition = crossover(fast_ma, slow_ma) and roc > 0 and close > ema_200 and rsi > 55 short_condition = crossunder(fast_ma, slow_ma) and roc < 0 and close < ema_200 and rsi < 45 // Execute strategy strategy.entry("Long", strategy.long, when=long_condition) strategy.entry("Short", strategy.short, when=short_condition) // Define stop loss and take profit levels risk_percent = input(1, title="Risk Percentage", minval=0.1, maxval=5, step=0.1) / 100 atr_value = atr(14) stop_loss = close - atr_value * risk_percent take_profit = close + atr_value * risk_percent strategy.exit("Take Profit/Stop Loss", from_entry="Long", loss=stop_loss, profit=take_profit) strategy.exit("Take Profit/Stop Loss", from_entry="Short", loss=stop_loss, profit=take_profit) // Plot larger triangles on crossover and crossunder plotshape(series=long_condition, title="Long Entry", color=color.green, style=shape.triangleup, location=location.belowbar, size=size.small) plotshape(series=short_condition, title="Short Entry", color=color.red, style=shape.triangledown, location=location.abovebar, size=size.small)