
Strategi pelacakan tren garis rata-rata bergerak dua kali dengan menghitung rata-rata bergerak indeks ganda dari harga, membentuk garis cepat dan lambat, menilai tren harga berdasarkan bentuk silang dari dua garis, untuk mencapai perdagangan pelacakan tren. Strategi ini termasuk dalam strategi perdagangan kuantitatif yang didasarkan pada pelacakan tren.
Strategi ini pertama-tama menghitung rata-rata pergerakan indeks ganda harga, termasuk garis cepat dan garis lambat. Parameter garis cepat adalah 4 siklus, parameter garis lambat adalah 8 siklus. Ketika dua garis berpotongan, sinyal beli dan jual dihasilkan. Ketika garis cepat melewati garis lambat dari bawah, sinyal beli dihasilkan; Ketika garis cepat melewati garis lambat dari atas, sinyal jual dihasilkan.
Strategi ini pertama-tama dapat melakukan perdagangan sesuai dengan tren harga, menghindari biaya transaksi. Kedua, dual moving averages menyaring sebagian dari kebisingan harga, sehingga dapat menangkap tren harga dengan lancar. Kedua, parameter strategi ini dioptimalkan dengan fleksibilitas, siklus moving averages dan parameter MACD dapat disesuaikan, sesuai dengan berbagai varietas dan parameter.
Strategi ini bergantung pada pengoptimalan parameter, dan jika parameternya tidak diatur dengan benar, akan menghasilkan banyak sinyal yang salah. Selain itu, garis rata-rata bergerak ganda memiliki keterlambatan, dan mungkin kehilangan titik pivot harga. Selain itu, perdagangan tren mudah membentuk pola mengejar kenaikan dan membunuh penurunan, ada risiko tertentu.
Strategi ini dapat dioptimalkan dalam beberapa hal:
Mengoptimalkan parameter periodik dari rata-rata bergerak ganda untuk mencari kombinasi optimal
Menambahkan sinyal filter indikator lain, seperti RSI, KD, dll, untuk meningkatkan kualitas sinyal
Meningkatkan strategi stop loss, dan stop loss tepat waktu saat tren berbalik
Menyesuaikan ukuran posisi dengan kondisi pasar yang dinamis, mengendalikan risiko
Optimalkan parameter untuk varietas perdagangan yang berbeda
Terkait strategi tingkat lanjut, seperti pembelajaran mesin, untuk meningkatkan efektivitas strategi
Secara keseluruhan, strategi ini adalah strategi pelacakan tren sederhana yang didasarkan pada garis rata-rata bergerak ganda. Strategi ini memiliki ide yang jelas, mudah diimplementasikan, parameter yang disesuaikan dengan fleksibilitas, dan cocok sebagai strategi awal untuk perdagangan kuantitatif. Namun, strategi ini memiliki masalah seperti mengejar penurunan, sinyal yang tertinggal, dan lain-lain.
/*backtest
start: 2023-10-14 00:00:00
end: 2023-11-13 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 12/11/2017
// The SMI Ergodic Indicator is the same as the True Strength Index (TSI) developed by
// William Blau, except the SMI includes a signal line. The SMI uses double moving averages
// of price minus previous price over 2 time frames. The signal line, which is an EMA of the
// SMI, is plotted to help trigger trading signals. Adjustable guides are also given to fine
// tune these signals. The user may change the input (close), method (EMA), period lengths
// and guide values.
// You can use in the xPrice any series: Open, High, Low, Close, HL2, HLC3, OHLC4 and ect...
//
// WARNING:
// - For purpose educate only
////////////////////////////////////////////////////////////
strategy(title="SMI Ergodic Oscillator")
fastPeriod = input(4, minval=1)
slowPeriod = input(8, minval=1)
SmthLen = input(3, minval=1)
TopBand = input(0.5, step=0.1)
LowBand = input(-0.5, step=0.1)
reverse = input(false, title="Trade reverse")
// hline(0, color=gray, linestyle=dashed)
// hline(TopBand, color=red, linestyle=line)
// hline(LowBand, color=green, linestyle=line)
xPrice = close
xPrice1 = xPrice - xPrice[1]
xPrice2 = abs(xPrice - xPrice[1])
xSMA_R = ema(ema(xPrice1,fastPeriod),slowPeriod)
xSMA_aR = ema(ema(xPrice2, fastPeriod),slowPeriod)
xSMI = xSMA_R / xSMA_aR
xEMA_SMI = ema(xSMI, SmthLen)
pos = iff(xEMA_SMI < xSMI, -1,
iff(xEMA_SMI > xSMI, 1, nz(pos[1], 0)))
possig = iff(reverse and pos == 1, -1,
iff(reverse and pos == -1, 1, pos))
if (possig == 1)
strategy.entry("Long", strategy.long)
if (possig == -1)
strategy.entry("Short", strategy.short)
barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(xSMI, color=green, title="Ergotic SMI")
plot(xEMA_SMI, color=red, title="SigLin")