
Strategi ini adalah sistem perdagangan kuantitatif yang dirancang khusus untuk menangkap periode fluktuasi ekstrim pasar. Dengan memantau tingkat penyimpangan antara harga dan garis rata-rata, strategi ini mengidentifikasi kemungkinan kehabisan likuiditas di pasar untuk menangkap peluang reversal pasar. Strategi ini menggunakan kombinasi garis rata, pelacakan volatilitas, dan mekanisme stop loss dinamis untuk membangun sistem perdagangan yang lengkap.
Inti dari strategi ini adalah untuk mengidentifikasi abnormalitas pasar dengan menghitung harga dan deviasi dari rata-rata. Implementasi spesifik meliputi:
Strategi Capture Layer Liquidity Dynamic adalah sistem perdagangan kuantitatif yang berfokus pada menangkap situasi ekstrim pasar. Melalui kombinasi indikator ilmiah dan kontrol risiko yang ketat, strategi dapat menangkap peluang perdagangan ketika pasar mengalami fluktuasi yang kuat. Meskipun ada risiko tertentu, dengan terus-menerus mengoptimalkan dan menyempurnakan, strategi diharapkan untuk mempertahankan kinerja yang stabil di berbagai lingkungan pasar.
/*backtest
start: 2024-02-22 00:00:00
end: 2025-02-19 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("Liquidation Cascade Strategy", overlay=true)
// Paramètres de l'indicateur de liquidation
var float lastHigh = na
var float lastLow = na
var float lastPriceLow = na
var float lastPriceHigh = na
var bool shortLiq = na
var bool longLiq = na
src = close
maLength1 = 15
maLength2 = 30
ma1 = ta.sma(src, maLength1)
ma2 = ta.ema(src, maLength2)
avgLine = (ma1 + ma2) / 2
distVal = ((src - avgLine) / avgLine) * 100
ph = ta.highest(distVal, 89)
pl = ta.lowest(distVal, 89)
if ph == distVal and ph > 0
lastHigh := distVal
lastPriceHigh := high
if pl == distVal and pl < 0
lastLow := distVal
lastPriceLow := low
shortLiq := not na(lastHigh) and lastHigh == distVal and distVal > 0
longLiq := not na(lastLow) and lastLow == distVal and distVal < 0
// Condition d'achat : 3 liquidations longues consécutives
buyCondition = ta.valuewhen(longLiq, longLiq, 0) and ta.valuewhen(longLiq, longLiq, 1) and ta.valuewhen(longLiq, longLiq, 2)
if (buyCondition)
strategy.entry("Buy", strategy.long)
// Conditions de vente
var float entryPrice = na
var bool positionOpen = false
// Mise à jour du prix d'entrée
if (buyCondition)
entryPrice := close
positionOpen := true
// 1. Vente sur rebond technique (distVal > -1%)
sellCondition1 = distVal > -1 and positionOpen
// 2. Vente sur liquidation courte
sellCondition2 = shortLiq and positionOpen
// 3. Trailing Stop (2x ATR)
atr = ta.atr(14)
trailingStop = close - 2 * atr
sellCondition3 = close < trailingStop and positionOpen
// Exécution des ventes
if (sellCondition1 or sellCondition2 or sellCondition3)
strategy.close("Buy")
positionOpen := false
// Visualisation
plot(avgLine, color=color.blue, title="Avg Line")
plot(distVal, color=distVal > 0 ? color.red : color.green, style=plot.style_columns)