
Strategi ini memungkinkan operasi pelacakan garis pendek dengan menggabungkan indikator regresi linier dengan rata-rata bergerak indeks ganda. Strategi ini didasarkan pada posisi kosong saat harga menerobos ke bawah, posisi kosong saat harga menerobos kembali. Strategi ini juga menggunakan rata-rata bergerak indeks ganda untuk menilai tren harga sebagai kondisi tambahan untuk membangun posisi.
Strategi ini menilai terobosan harga terutama melalui indikator regresi linier. Indikator regresi linier adalah naik turunnya harga berdasarkan harga tertinggi dan terendah dalam periode tertentu, yang dihitung dengan menggunakan metode regresi linier. Ketika harga melintasi dari atas ke bawah atau dari bawah ke bawah, kami menganggapnya sebagai sinyal perdagangan.
Selain itu, strategi ini juga diperkenalkan untuk menentukan pergerakan rata-rata indeks biner untuk menentukan tren tengah. Rata-rata bergerak indeks biner dapat lebih cepat menanggapi perubahan harga. Ketika harga bergerak dari atas ke bawah, jika saat ini rata-rata bergerak indeks biner sudah berada di atas harga, yang menunjukkan bahwa saat ini sedang dalam tren menurun, maka kita membangun posisi kosong.
Secara khusus, strategi ini mencakup beberapa poin utama:
Strategi ini memiliki beberapa keunggulan dibandingkan dengan indikator tradisional seperti moving average:
Strategi ini juga memiliki beberapa risiko yang perlu diperhatikan:
Untuk risiko di atas, kita dapat mengatasi dengan metode seperti pengoptimalan parameter, penutupan ketat, dan pelepasan yang tepat dari amplitudo penembusan.
Strategi ini juga dapat dioptimalkan dalam beberapa hal:
Strategi ini menggunakan indikator regresi linier dan rata-rata bergerak indeks ganda secara komprehensif, yang memiliki beberapa keunggulan dalam teori dan praktik. Dengan terus-menerus mengoptimalkan penyesuaian, stabilitas dan efektivitas strategi dapat ditingkatkan lebih lanjut. Strategi ini cocok untuk operasi garis pendek dan dapat menghasilkan alpha yang lebih baik untuk pedagang kuantitatif.
/*backtest
start: 2023-12-26 00:00:00
end: 2024-01-25 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy('LR&SSL_Short', overlay=true)
startP = timestamp(input(2017, "Start Year"), input(12, "Month"), input(17, "Day"), 0, 0)
end = timestamp(9999,1,1,0,0)
_testPeriod() => true
len = input(title="Period", defval=89)
smaHigh = linreg(high, len, 0)
smaLow = linreg(low, len, -1)
Hlv = 0.0
Hlv := close > smaHigh ? 1 : close < smaLow ? -1 : Hlv[1]
sslDown = Hlv < 0 ? smaHigh : smaLow
sslUp = Hlv < 0 ? smaLow : smaHigh
plot(sslDown, linewidth=2, color=color.red)
plot(sslUp, linewidth=2, color=color.lime)
length = input(200, title="DEMA")
d1 = ema(close, length)
d2 = 2 * d1 - ema(d1, length)
trendColour = d2 > d1 ? #AAFFAA : #FFAAAA
dema=sma(d2,length)
turnGreen = d2 > d1 and d2[1] <= d1[1]
turnRed = d2 <= d1 and d2[1] > d1[1]
up =turnGreen
down=turnRed
plotshape(down, title="down", style=shape.triangledown,location=location.abovebar, color=color.red, transp=0, size=size.small)
plotshape(up, title="up", style=shape.triangleup,location=location.belowbar, color=color.green, transp=0, size=size.small)
plot(dema, color = trendColour,linewidth=3 ,transp = 0)
bgcolor(close > dema ? color.green : color.red)
strategy.entry("short", strategy.short, when= crossunder(sslUp, sslDown) and dema > close and _testPeriod())
strategy.close("short", when = crossover(sslUp, sslDown) or crossover(close, dema))