Tren Mengikuti Strategi Crossover Rata-rata Gerak Maksimal

Penulis:ChaoZhang, Tanggal: 2023-10-17 13:05:29
Tag:

img

Gambaran umum

Strategi ini menggunakan penyeberangan dua rata-rata bergerak dengan periode yang berbeda untuk menghasilkan sinyal perdagangan. Ini termasuk dalam strategi mengikuti tren. Strategi ini menangkap peluang tren dengan menggunakan sinyal ketika MA periode yang lebih pendek melintasi MA periode yang lebih lama.

Logika Strategi

Strategi ini menggunakan MA jangka pendek 9 periode (SMA) dan MA jangka panjang 50 periode (LMA). Ketika SMA melintasi LMA, sinyal beli dihasilkan. Ketika SMA melintasi di bawah LMA, sinyal jual dihasilkan.

Strategi ini juga menggabungkan indikator RSI untuk mengukur kekuatan tren. Sinyal perdagangan hanya dihasilkan ketika RSI berada di atas ambang batas (default 55).

Strategi ini diperdagangkan 30% dari total modal setiap kali, dengan hanya satu posisi terbuka pada suatu waktu.

Analisis Keuntungan

  • Menangkap peluang tren secara efektif menggunakan sinyal tren silang MA.
  • Menggabungkan RSI menghindari sinyal yang salah ketika tren berhenti.
  • Parameter default dioptimalkan dan menghasilkan pengembalian yang stabil di berbagai pasar.
  • Manajemen modal yang wajar menghindari ukuran posisi yang terlalu besar.

Analisis Risiko

  • Cenderung untuk whipsaws dan sinyal yang salah selama pasar rentang tanpa tren.
  • Tidak ada keuntungan tanpa tren yang signifikan sebagai tren mengikuti strategi.
  • Perdagangan yang berlebihan dan komisi jika parameter tidak disetel dengan benar.
  • Kurangnya stop loss mengekspos strategi terhadap risiko kejadian.

Risiko dapat dikurangi melalui optimasi parameter, menggunakan indikator lain, manajemen modal yang ketat, dan stop loss.

Peluang Peningkatan

  • Uji kombinasi MA yang berbeda untuk menemukan parameter optimal.
  • Sertakan indikator lain seperti MACD untuk mengkonfirmasi tren.
  • Mengimplementasikan stop loss dinamis untuk mengendalikan kerugian per perdagangan.
  • Sesuaikan ukuran posisi berdasarkan pasar yang berbeda.
  • Gunakan indikator volume untuk mengukur kekuatan tren.

Kesimpulan

Strategi ini menangkap peluang tren menggunakan sistem crossover MA sederhana. Parameter default dioptimalkan dengan pengembalian yang stabil, cocok untuk perdagangan algoritmik. Perbaikan lebih lanjut dapat dilakukan dengan menambahkan indikator lain, mengoptimalkan parameter, dan menerapkan stop loss. Secara keseluruhan, ini adalah strategi tren yang efektif untuk mengikuti tren pasar menggunakan sinyal crossover.


/*backtest
start: 2023-09-16 00:00:00
end: 2023-10-16 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © relevantLeader16058

//@version=4
strategy(shorttitle='Maximized Moving Average Crossing ',title='Maximized Moving Average Crossing (by Coinrule)', overlay=true, initial_capital=1000,  default_qty_type = strategy.percent_of_equity, default_qty_value = 30, commission_type=strategy.commission.percent, commission_value=0.1)

//Backtest dates
fromMonth = input(defval = 1,    title = "From Month",      type = input.integer, minval = 1, maxval = 12)
fromDay   = input(defval = 1,    title = "From Day",        type = input.integer, minval = 1, maxval = 31)
fromYear  = input(defval = 2020, title = "From Year",       type = input.integer, minval = 1970)
thruMonth = input(defval = 1,    title = "Thru Month",      type = input.integer, minval = 1, maxval = 12)
thruDay   = input(defval = 1,    title = "Thru Day",        type = input.integer, minval = 1, maxval = 31)
thruYear  = input(defval = 2112, title = "Thru Year",       type = input.integer, minval = 1970)

showDate  = input(defval = true, title = "Show Date Range", type = input.bool)

start     = timestamp(fromYear, fromMonth, fromDay, 00, 00)        // backtest start window
finish    = timestamp(thruYear, thruMonth, thruDay, 23, 59)        // backtest finish window
window()  => time >= start and time <= finish ? true : false       // create function "within window of time"

//MA inputs and calculations
inlong=input(50, title='MA long period')
inshort=input(9, title='MA short period')

MAlong = sma(close, inlong)
MAshort= sma(close, inshort)

// RSI inputs and calculations
lengthRSI = (14)

RSI = rsi(close, lengthRSI)
RSI_Signal = input(55, title = 'RSI Trigger', minval=1)

//Entry and Exit
bullish = crossover(MAshort, MAlong)
bearish = crossunder(MAshort, MAlong)

strategy.entry(id="long", long = true, when = bullish and RSI > RSI_Signal and window())
strategy.close(id="long", when = bearish and window())

 
plot(MAshort, color=color.purple, linewidth=2)
plot(MAlong, color=color.red, linewidth=2)

Lebih banyak