Strategi Crossover Rata-rata Pergerakan Maksimum Mengikuti Tren


Tanggal Pembuatan: 2023-10-17 13:05:29 Akhirnya memodifikasi: 2023-10-17 13:05:29
menyalin: 1 Jumlah klik: 657
1
fokus pada
1617
Pengikut

Strategi Crossover Rata-rata Pergerakan Maksimum Mengikuti Tren

Ringkasan

Strategi ini menggunakan persilangan rata-rata bergerak dari dua periode yang berbeda untuk melakukan perdagangan. Strategi ini adalah jenis strategi yang mengikuti tren. Strategi ini menggunakan sinyal beli dan sinyal jual dari persilangan rata-rata bergerak jangka pendek dan jangka panjang untuk melakukan perdagangan dalam situasi tren.

Prinsip Strategi

Strategi ini menggunakan SMA jangka pendek bergerak selama 9 periode dan LMA jangka panjang bergerak selama 50 periode. Sinyal beli dihasilkan ketika rata-rata bergerak jangka pendek melewati rata-rata bergerak jangka panjang dari bawah; Sinyal jual dihasilkan ketika rata-rata bergerak jangka pendek melewati rata-rata bergerak jangka panjang dari atas ke bawah.

Strategi ini juga memperkenalkan indikator RSI untuk menilai kekuatan tren. Sinyal perdagangan hanya akan dihasilkan jika RSI lebih besar dari batas yang ditetapkan (default 55). Ini dapat menghindari sinyal yang salah ketika RSI berada di kisaran oversold.

Strategi: 30% dari total dana per transaksi, dengan hanya satu pesanan per transaksi. Biaya transaksi 0.1% diperhitungkan.

Analisis Keunggulan

  • Strategi ini memanfaatkan sinyal tren yang terbentuk dari persimpangan rata-rata bergerak untuk secara efektif melacak tren.
  • Menggunakan indikator RSI untuk menilai kekuatan tren, dapat menghindari sinyal yang salah ketika tren diblokir.
  • Parameter default yang dioptimalkan dapat menghasilkan keuntungan yang lebih stabil di berbagai pasar.
  • Pengelolaan dana yang rasional, menghindari kerugian tunggal yang terlalu besar.

Analisis risiko

  • Strategi ini dapat menghasilkan sinyal yang salah dan tidak menguntungkan ketika pasar berada dalam penyesuaian goyangan.
  • Strategi mengikuti tren, tidak bisa mendapatkan keuntungan tanpa tren yang jelas.
  • Pengaturan parameter yang tidak tepat dapat menyebabkan transaksi yang sering dan meningkatkan biaya transaksi.
  • Tidak mempertimbangkan dampak dari kejadian yang tidak terduga, dapat menyebabkan kerusakan yang tidak terlambat.

Risiko dapat dikurangi dengan mengoptimalkan parameter, mengkombinasikan indikator lain untuk menilai peluang keuntungan, manajemen dana yang ketat, dan pengaturan stop loss.

Arah optimasi

  • Anda dapat menguji kombinasi rata-rata bergerak yang berbeda untuk mencari parameter optimal.
  • Indikator lain dapat dimasukkan untuk menilai tren, seperti MACD dan sebagainya.
  • Anda dapat mengatur stop loss dinamis untuk mengendalikan kerugian tunggal.
  • Rasio pengelolaan dana dapat disesuaikan dengan pasar yang berbeda.
  • Ini bisa digabungkan dengan indikator volume transaksi untuk menilai kekuatan tren.

Meringkaskan

Strategi ini menangkap peluang tren melalui sistem crossover rata-rata bergerak yang sederhana. Parameter default dioptimalkan, stabil, dan cocok untuk perdagangan otomatis. Stabilitas dan tingkat keuntungan strategi dapat ditingkatkan lebih lanjut dengan memperkenalkan indikator tambahan, parameter optimasi, dan memperbaiki stop loss. Secara keseluruhan, strategi ini memanfaatkan sinyal lintas tren untuk perdagangan dan bekerja lebih baik di pasar yang jelas tren.

Kode Sumber Strategi
/*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)