
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.
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:
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.
Strategi tren multi arah ini memiliki beberapa keuntungan utama:
Strategi ini juga memiliki beberapa risiko yang perlu diperhatikan:
Untuk risiko di atas, kita dapat mengoptimalkan dan memperbaiki dengan menyesuaikan parameter siklus EMA atau memperkenalkan indikator lain sebagai penilaian tambahan.
Mengingat karakteristik dari strategi ini, optimasi di masa depan dapat dilakukan dalam beberapa hal:
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.
/*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)