
Strategi ini adalah sistem perdagangan garis pendek yang didasarkan pada teori fragmentasi dan grid adaptif, yang menggabungkan volatilitas marginal untuk mengoptimalkan waktu perdagangan. Sistem ini secara dinamis menyesuaikan level grid untuk menangkap perubahan struktur mikro pasar selama periode fluktuasi tinggi, sambil menghindari perdagangan berlebihan selama periode fluktuasi rendah. Strategi ini mengintegrasikan beberapa indikator teknis, termasuk rata-rata real amplitudo (ATR), rata-rata bergerak sederhana (SMA) dan titik-titik fragmentasi, untuk membangun kerangka keputusan perdagangan yang komprehensif.
Inti dari strategi ini adalah untuk membangun jaringan perdagangan dinamis melalui identifikasi fragmentasi dan pengelompokan volatilitas. Implementasi konkret meliputi beberapa langkah kunci berikut:
Ini adalah sistem strategi komprehensif yang menggabungkan teori split, perdagangan grid, dan penyaringan volatilitas. Dengan penggunaan kombinasi dari beberapa indikator teknis, menangkap struktur mikro pasar secara efektif. Keunggulan strategi adalah kemampuan beradaptasi dan mengendalikan risiko, tetapi juga perlu memperhatikan optimasi parameter dan masalah adaptasi lingkungan pasar.
/*backtest
start: 2024-02-17 00:00:00
end: 2025-02-15 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=6
strategy("Adaptive Fractal Grid Scalping Strategy", overlay=true)
// Inputs
atrLength = input.int(14, title="ATR Length")
smaLength = input.int(50, title="SMA Length")
gridMultiplierHigh = input.float(2.0, title="Grid Multiplier High")
gridMultiplierLow = input.float(0.5, title="Grid Multiplier Low")
trailStopMultiplier = input.float(0.5, title="Trailing Stop Multiplier")
volatilityThreshold = input.float(1.0, title="Volatility Threshold (ATR)")
// Calculate Fractals
fractalHigh = ta.pivothigh(high, 2, 2)
fractalLow = ta.pivotlow(low, 2, 2)
// Calculate ATR and SMA
atrValue = ta.atr(atrLength)
smaValue = ta.sma(close, smaLength)
// Determine Trend Direction
isBullish = close > smaValue
isBearish = close < smaValue
// Calculate Grid Levels
gridLevelHigh = fractalHigh + atrValue * gridMultiplierHigh
gridLevelLow = fractalLow - atrValue * gridMultiplierLow
// Plot Fractals and Grid Levels
plotshape(not na(fractalHigh), style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small)
plotshape(not na(fractalLow), style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small)
plot(gridLevelHigh, color=color.red, linewidth=1, title="Grid Level High")
plot(gridLevelLow, color=color.green, linewidth=1, title="Grid Level Low")
// Trade Execution Logic with Volatility Threshold
if (atrValue > volatilityThreshold)
if (isBullish and not na(fractalLow))
strategy.entry("Buy", strategy.long, limit=gridLevelLow)
if (isBearish and not na(fractalHigh))
strategy.entry("Sell", strategy.short, limit=gridLevelHigh)
// Profit-Taking and Stop-Loss
strategy.exit("Take Profit/Stop Loss", "Buy", limit=gridLevelHigh, stop=fractalLow - atrValue * trailStopMultiplier)
strategy.exit("Take Profit/Stop Loss", "Sell", limit=gridLevelLow, stop=fractalHigh + atrValue * trailStopMultiplier)