
Стратегия представляет собой коротколинейную торговую систему, основанную на теории деформации и самостоятельной сетке, которая сочетает в себе порог волатильности для оптимизации времени торговли. Система динамически регулирует уровень сетки, улавливая изменения в микроструктуре рынка во время высокой волатильности и избегая чрезмерной торговли во время низкой волатильности.
В основе стратегии лежит создание динамической торговой сети с помощью идентификации дифференциации и сгруппировки волатильности. В конкретной реализации включаются следующие ключевые шаги:
Это комплексная система стратегий, объединяющая теорию деления, сетчатую торговлю и фильтрацию волатильности. Эффективное захват микроструктуры рынка осуществляется с помощью совместного использования нескольких технических показателей. Преимущества стратегии заключаются в ее адаптивности и способности контролировать риск, но в то же время необходимо обращать внимание на вопросы оптимизации параметров и адаптации к рыночной среде.
/*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)