
이 전략은 분화 이론과 자기 적응 격자 기반의 단선 거래 시스템으로, 변동률 경계를 결합하여 거래 시기를 최적화한다. 시스템은 격자 수준을 동적으로 조정하여, 높은 변동성 동안 시장의 미세한 구조 변화를 포착하고, 낮은 변동성 동안 과도한 거래를 피한다. 이 전략은 평균 실제 파동량 (ATR), 간단한 이동 평균 (SMA) 및 분화 돌파점을 포함한 여러 가지 기술 지표를 통합하여 전체적인 거래 의사 결정 프레임 워크를 구성한다.
전략의 핵심은 분화 인식과 변동률 집합을 통해 동적 거래망을 구축하는 것입니다. 구체적으로 구현하는 데는 다음과 같은 몇 가지 중요한 단계가 포함됩니다:
이것은 분화 이론, 격자 거래 및 변동률 필터를 결합한 통합 전략 시스템입니다. 여러 기술 지표의 조합 사용으로 시장 미시 구조를 효과적으로 포착합니다. 전략의 장점은 자율성과 위험 제어 능력에 있습니다. 그러나 또한 매개 변수 최적화 및 시장 환경에 대한 적응성에 주의를 기울여야합니다. 지속적인 최적화 및 개선으로, 이 전략은 다양한 시장 환경에서 안정적인 성능을 유지할 것으로 예상됩니다.
/*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)