
Strategi ekstraksi tren bergelombang bergelombang adalah strategi pelacakan tren saham berdasarkan filter bergelombang. Strategi ini menggunakan indeks yang ditimbang rata-rata bergerak dan bergelombang bergelombang untuk memproses urutan harga, mengekstrak komponen tren dalam harga, dan menggunakan parameter tertentu sebagai sinyal untuk membangun posisi aman.
Strategi ini pertama-tama membangun sebuah moving average berimbang dengan indeks ganda, mengontrol durasi dan slippage dari moving average dengan mengatur parameter Length dan Delta. Kemudian menggunakan satu set transformasi matematis, ekstrak komponen tren dari urutan harga, disimpan dalam variabel xBandpassFilter.
Ketika xMean melakukan overhead saat melewati parameter Trigger yang ditetapkan, lakukan overhead kosong saat melewati. Anda dapat mengontrol sensitivitas gudang dan gudang dengan mengatur tingkat Trigger.
Dengan mempersingkat parameter Length yang sesuai, Anda dapat memperbaiki masalah keterlambatan dan menyesuaikan sensitivitas strategi pengendalian tingkat pemicu.
Strategi ini secara keseluruhan lebih stabil dan berkinerja lebih baik di pasar tren yang kuat. Strategi ini dapat dioptimalkan lebih lanjut dengan berbagai cara, sehingga dapat mempertahankan profitabilitas yang stabil di lebih banyak lingkungan pasar. Strategi ini layak untuk diteliti dan diterapkan lebih lanjut.
/*backtest
start: 2022-12-27 00:00:00
end: 2024-01-02 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version = 2
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 14/12/2016
// The related article is copyrighted material from Stocks & Commodities Mar 2010
//
// You can use in the xPrice any series: Open, High, Low, Close, HL2, HLC3, OHLC4 and ect...
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy(title="Extracting The Trend Strategy Backtest")
Length = input(20, minval=1)
Delta = input(0.5)
Trigger = input(0)
reverse = input(false, title="Trade reverse")
hline(Trigger, color=blue, linestyle=line)
xPrice = hl2
beta = cos(3.1415 * (360 / Length) / 180)
gamma = 1 / cos(3.1415 * (720 * Delta / Length) / 180)
alpha = gamma - sqrt(gamma * gamma - 1)
xBandpassFilter = 0.5 * (1 - alpha) * (xPrice - xPrice[2]) + beta * (1 + alpha) * nz(xBandpassFilter[1]) - alpha * nz(xBandpassFilter[2])
xMean = sma(xBandpassFilter, 2 * Length)
pos = iff(xMean > Trigger, 1,
iff(xMean < Trigger, -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(xMean, color=red, title="ExTrend")