Strategi mengikuti tren adaptif berdasarkan rata-rata pergerakan

SMA MA RR
Tanggal Pembuatan: 2025-02-18 14:23:08 Akhirnya memodifikasi: 2025-02-18 14:23:08
menyalin: 0 Jumlah klik: 322
1
fokus pada
1617
Pengikut

Strategi mengikuti tren adaptif berdasarkan rata-rata pergerakan

Ringkasan

Strategi ini adalah sistem pelacakan tren yang didasarkan pada crossover dua rata-rata, menangkap tren pasar melalui crossover rata-rata bergerak jangka pendek dan jangka panjang, dan mengelola risiko perdagangan dengan rasio risiko-penghasilan 1: 3. Strategi ini menggunakan target stop loss dan profit yang tetap, sekaligus menggabungkan mekanisme stop loss bergerak untuk melindungi profit.

Prinsip Strategi

Strategi ini menggunakan rata-rata bergerak jangka pendek 74 periode (SMA pendek) dan rata-rata bergerak jangka panjang 70 periode (SMA panjang) sebagai indikator utama. Sistem menghasilkan sinyal multitasking ketika rata-rata jangka pendek melintasi rata-rata jangka panjang ke atas; sistem menghasilkan sinyal shorting ketika rata-rata jangka pendek melintasi rata-rata jangka panjang ke bawah.

Keunggulan Strategis

  1. Pengelolaan risiko yang baik: Rasio risiko / imbalan 1: 3 yang tetap, membantu mendapatkan keuntungan yang stabil dalam perdagangan jangka panjang
  2. Kejelasan sinyal: menggunakan strategi crossover linear klasik, sinyal perdagangan jelas, mudah dipahami dan dilakukan
  3. Tingkat otomatisasi tinggi: termasuk masuk dan keluar logis lengkap, tanpa intervensi manusia
  4. Perlindungan Stop Loss Mobile: Dengan mekanisme Stop Loss Mobile, Anda dapat secara efektif mengunci keuntungan yang telah dicapai
  5. Kontrol posisi ketat: tetapkan ukuran posisi, hindari risiko berlebihan

Risiko Strategis

  1. Rata-rata keterlambatan: Rata-rata bergerak pada dasarnya merupakan indikator keterlambatan yang dapat menghasilkan sinyal keterlambatan di pasar yang berfluktuasi cepat
  2. Tidak berlaku untuk pasar bergoyang: sinyal palsu dapat sering dihasilkan dalam pasar bergoyang horizontal, yang menyebabkan kerugian beruntun
  3. Stop loss tetap: Stop loss USD tetap mungkin tidak cukup fleksibel dalam situasi harga yang sangat berfluktuasi
  4. Pembatasan jangka waktu: strategi hanya beroperasi dalam jangka waktu tertentu, dan mungkin melewatkan peluang perdagangan penting

Arah optimasi strategi

  1. Siklus rata-rata penyesuaian dinamis: dapat secara otomatis menyesuaikan siklus rata-rata sesuai dengan fluktuasi pasar, meningkatkan fleksibilitas strategi
  2. Memperkenalkan filter volatilitas: menambahkan ATR atau indikator volatilitas lainnya untuk menyesuaikan stop loss pada saat volatilitas tinggi
  3. Mengoptimalkan manajemen posisi: mencapai penyesuaian posisi dinamis berdasarkan nilai bersih akun, meningkatkan efisiensi pemanfaatan dana
  4. Meningkatkan filter lingkungan pasar: memperkenalkan indikator intensitas tren untuk secara otomatis mengurangi frekuensi perdagangan di pasar yang bergolak
  5. Meningkatkan mekanisme keluar: Mengembangkan mekanisme pengambilan keuntungan yang lebih fleksibel dengan kombinasi harga terobosan atau indikator momentum

Meringkaskan

Ini adalah strategi pelacakan tren yang terstruktur, logis, dan jelas. Strategi ini dirancang untuk menangkap tren dengan cara melintasi garis lurus, menggunakan manajemen risiko dan kontrol posisi yang ketat, dan cocok untuk perdagangan jangka menengah dan panjang. Meskipun ada kekurangan yang melekat seperti ketinggalan garis lurus, tetapi dengan arah optimasi yang disarankan, terutama dengan memperkenalkan penyesuaian parameter dinamis dan penyaringan lingkungan pasar, stabilitas dan profitabilitas strategi ini diharapkan dapat ditingkatkan lebih lanjut.

Kode Sumber Strategi
/*backtest
start: 2024-02-18 00:00:00
end: 2025-02-17 00:00:00
period: 4h
basePeriod: 4h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Bitcoin Strategy by Jag", overlay=true)

// Input Parameters
shortSMALength = input.int(74, title="Short SMA Length")
longSMALength = input.int(70, title="Long SMA Length")
trailStopOffset = input.float(353, title="Trailing Stop Offset (USD)")  // Trailing Stop Loss Offset in USD
tradeSize = input.float(1, title="Trade Size")

// Automatically set Take Profit as 3 times Stop Loss
fixedTakeProfit = trailStopOffset * 3

// Backtesting Date Range
startDate = timestamp(2025, 02,13, 0, 0)
endDate = timestamp(2025, 03, 31, 23, 59)
withinDateRange = true

// Indicators
shortSMA = ta.sma(close, shortSMALength)
longSMA = ta.sma(close, longSMALength)

// Crossover Conditions
longCondition = withinDateRange and ta.crossover(shortSMA, longSMA)
shortCondition = withinDateRange and ta.crossunder(shortSMA, longSMA)

// Entry Logic
if (strategy.position_size == 0)  // Only allow new trades if no position is open
    if (longCondition)
        strategy.entry("Long", strategy.long, tradeSize)

    if (shortCondition)
        strategy.entry("Short", strategy.short, tradeSize)

// Exit Logic for Long Position
if (strategy.position_size > 0)
    strategy.exit("Long exit", "Long", stop=strategy.position_avg_price - trailStopOffset, limit=strategy.position_avg_price + fixedTakeProfit)  // Using stop and limit

// Exit Logic for Short Position
if (strategy.position_size < 0)
    strategy.exit("Short Exit", "Short", stop=strategy.position_avg_price + trailStopOffset, limit=strategy.position_avg_price - fixedTakeProfit)  // Using stop and limit

// Plot Moving Averages
plot(shortSMA, color=color.blue, title="Short SMA")
plot(longSMA, color=color.black, title="Long SMA")

// Visual Signals
plotshape(series=longCondition and strategy.position_size == 0, style=shape.labelup, location=location.belowbar, color=color.green, text="BUY", size=size.small)
plotshape(series=shortCondition and strategy.position_size == 0, style=shape.labeldown, location=location.abovebar, color=color.red, text="SELL", size=size.small)