Strategi Tren Naik Rata-rata Pergerakan Ganda


Tanggal Pembuatan: 2024-01-22 12:04:05 Akhirnya memodifikasi: 2024-01-22 12:04:05
menyalin: 0 Jumlah klik: 667
1
fokus pada
1621
Pengikut

Strategi Tren Naik Rata-rata Pergerakan Ganda

Ringkasan

Multiple Average Line Multiple Headed Trend Strategi adalah strategi pelacakan tren yang didasarkan pada penghakiman indeks Moving Average (EMA) dari beberapa periode yang berbeda. Ini akan dilakukan ketika harga melampaui 10-hari EMA dan garis EMA lain dari periode yang lebih panjang memiliki banyak kepala; kemudian menggunakan 8% Trailing Stop Loss untuk mengunci keuntungan.

Prinsip Strategi

Strategi ini menggunakan enam garis EMA dengan periode yang berbeda, yaitu 10, 20, 50, 100, 150 dan 200 hari. Garis EMA ini digunakan untuk menentukan tahap siklus pasar saat ini. Ketika garis EMA jangka pendek (seperti garis 10 hari) melintasi garis EMA periode yang lebih panjang (seperti garis 20 hari, 50 hari), dianggap sebagai tahap markup pasar yang memasuki tren multihead.

Secara khusus, strategi akan membuka lebih banyak posisi jika memenuhi beberapa kondisi berikut:

  1. EMA 10 lebih tinggi dari EMA 20
  2. EMA 20 lebih tinggi dari EMA 50
  3. EMA 100 hari lebih tinggi dari EMA 150 hari
  4. EMA 150 lebih tinggi dari EMA 200
  5. EMA 10 hari di harga akhir

Setelah melakukan over-open, strategi ini akan menggunakan stop loss 8% untuk mengunci keuntungan. Artinya, selama harga saham tidak kembali lebih dari 8% dari harga pembelian, maka akan terus memegang posisi tersebut.

Secara keseluruhan, konsep utama dari strategi ini adalah: Menggunakan EMA multiple filter to determine entry into a multi-headed trend, and follow stop loss to lock in profits.

Analisis Keunggulan

Strategi tren multi arah ini memiliki beberapa keuntungan utama:

  1. Dengan cara ini, Anda dapat secara efektif memfilter terobosan palsu, memastikan bahwa Anda menangkap tahap markup dari siklus harga, dan mengurangi jumlah transaksi yang tidak perlu.
  2. Filter ganda pada garis EMA dapat mengurangi kemungkinan stop loss akan ditembus, sehingga lebih aman untuk memegang posisi.
  3. Stop loss 8% neither too tight nor too loose, baik untuk mengunci keuntungan dan menghindari stop loss yang terlalu sering.
  4. Strategi ini memiliki fleksibilitas untuk menyesuaikan parameter, sehingga dapat menemukan kombinasi parameter yang optimal sesuai dengan varietas yang berbeda.

Analisis risiko

Strategi ini juga memiliki beberapa risiko yang perlu diperhatikan:

  1. Urutan garis EMA tidak dapat menentukan tren pasar 100%, dan masih ada kemungkinan bahwa ada yang terpotong.
  2. Stop loss 8% dapat menyebabkan hilangnya sebagian dari keuntungan dalam situasi yang lebih besar.
  3. Sistem EMA rata-rata linear sendiri tertinggal dari perubahan harga, dan titik baliknya mungkin sedikit tertinggal.

Untuk risiko di atas, kita dapat mengoptimalkan dan memperbaiki dengan menyesuaikan parameter siklus EMA atau memperkenalkan indikator lain sebagai penilaian tambahan.

Arah optimasi

Mengingat karakteristik dari strategi ini, optimasi di masa depan dapat dilakukan dalam beberapa hal:

  1. Uji kombinasi EMA yang berbeda dan parameter siklus untuk menemukan parameter optimal.
  2. Menambahkan indikator seperti indeks volatilitas untuk menilai kekuatan tren, menghindari posisi yang tidak perlu.
  3. Menambahkan lebih banyak filter seperti MACD, KDJ, dan lain-lain untuk menilai multivariate array.
  4. Menggunakan algoritma pembelajaran mesin untuk melakukan stop loss secara dinamis.

Meringkaskan

Strategi multi-linear multi-headed trend secara keseluruhan adalah strategi pelacakan tren yang lebih kuat dan dapat diandalkan. Strategi ini menggabungkan penilaian tren dan pengendalian risiko. Ada banyak ruang untuk perbaikan melalui penyesuaian parameter dan pengoptimalan algoritma. Secara keseluruhan, ini adalah strategi efektif yang layak untuk dicoba dan dipelajari.

Kode Sumber Strategi
/*backtest
start: 2023-01-15 00:00:00
end: 2024-01-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy('SirSeff\'s EMA Rainbow', overlay=true)
// Testing Start dates
testStartYear = input(2000, 'Backtest Start Year')
testStartMonth = input(1, 'Backtest Start Month')
testStartDay = input(1, 'Backtest Start Day')
testPeriodStart = timestamp(testStartYear, testStartMonth, testStartDay, 0, 0)
//Stop date if you want to use a specific range of dates
testStopYear = input(2100, 'Backtest Stop Year')
testStopMonth = input(12, 'Backtest Stop Month')
testStopDay = input(30, 'Backtest Stop Day')
testPeriodStop = timestamp(testStopYear, testStopMonth, testStopDay, 0, 0)

testPeriod() =>
    time >= testPeriodStart and time <= testPeriodStop ? true : false
// Component Code Stop

//TSP
trailStop = input.float(title='Long Trailing Stop (%)', minval=0.0, step=0.1, defval=8) * 0.01

longStopPrice = 0.0
longStopPrice := if strategy.position_size > 0
    stopValue = close * (1 - trailStop)
    math.max(stopValue, longStopPrice[1])
else
    0

//PLOTS
plot(series=strategy.position_size > 0 ? longStopPrice : na, color=color.new(color.red, 0), style=plot.style_linebr, linewidth=1, title='Long Trail Stop', offset=1, title='Long Trail Stop')
plot(ta.ema(close, 20))
plot(ta.ema(close, 50))
plot(ta.ema(close, 100))
plot(ta.ema(close, 150))
plot(ta.ema(close, 200))

//OPEN
longCondition =  ta.ema(close, 10) > ta.ema(close, 20) and ta.ema(close, 20) > ta.ema(close, 50) and ta.ema(close, 100) > ta.ema(close, 150) and ta.ema(close, 150) > ta.ema(close, 200)
if longCondition and ta.crossover(close,ta.ema(close,10)) and testPeriod()
    strategy.entry("BUY1", strategy.long)
    
if longCondition and ta.crossover(ta.ema(close,10),ta.ema(close,20)) and testPeriod()
    strategy.entry("BUY2'", strategy.long)

//CLOSE @ TSL
if strategy.position_size > 0 and testPeriod()
    strategy.exit(id='TSP', stop=longStopPrice)