
Эта стратегия представляет собой высокочастотную торговую стратегию, основанную на ценовом дисбалансе (Fair Value Gap, FVG). Она подтверждает направление тренда, используя в сочетании 50-циклические и 200-циклические скользящие средние индексы (EMA), а также использует многочисленные фильтрующие показатели, такие как объем сделок и ценовые колебания, для повышения надежности торговых сигналов. Стратегия использует динамический стоп-стоп, основанный на реальной величине колебаний (ATR), строго контролируя риск, гарантируя при этом прибыль.
В основе стратегии лежит поимка потенциальных торговых возможностей путем выявления неуравновешенных зон (FVG) в ценовом движении. Когда цены в краткосрочной перспективе имеют заметный взлет, и направление взлета согласуется с основной тенденцией, стратегия считает, что этот неуравновешенный курс предвещает продолжение движения в этом направлении.
Стратегия создает более целостную торговую систему, используя методы технического анализа и анализа микроструктуры рынка. Основные преимущества стратегии заключаются в механизме подтверждения нескольких сигналов и динамическом контроле риска, но в практическом применении все еще требуется оптимизация параметров в соответствии с конкретными рыночными условиями. Благодаря постоянному улучшению и оптимизации стратегия может стабильно работать в различных рыночных условиях.
/*backtest
start: 2024-02-21 00:00:00
end: 2025-02-01 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("Effective FVG Strategy - Forex", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// === Exponential Moving Averages for Faster Trend Detection ===
ema50 = ta.ema(close, 50)
ema200 = ta.ema(close, 200)
bullishTrend = ema50 > ema200
bearishTrend = ema50 < ema200
// === Volume & Imbalance Filters ===
highVolume = volume > ta.sma(volume, 20) * 1.5 // 1.5x higher than average volume
strongImbalance = math.abs(close - open) > ta.sma(math.abs(close - open), 20) // Large price movement
// === Fair Value Gap (FVG) Detection ===
fvgUp = low[2] > high[0] // Bullish FVG
fvgDown = high[2] < low[0] // Bearish FVG
// Effective FVGs with trend confirmation
validBullFVG = fvgUp and highVolume and strongImbalance and bullishTrend
validBearFVG = fvgDown and highVolume and strongImbalance and bearishTrend
// === ATR-based Take Profit & Stop Loss (Optimized for Forex) ===
atr = ta.atr(14)
longTP = close + (2 * atr) // TP = 2x ATR
longSL = close - (1.2 * atr) // SL = 1.2x ATR
shortTP = close - (2 * atr)
shortSL = close + (1.2 * atr)
// === Execute Trades ===
if validBullFVG
strategy.entry("Long", strategy.long)
strategy.exit("Long Exit", from_entry="Long", limit=longTP, stop=longSL)
if validBearFVG
strategy.entry("Short", strategy.short)
strategy.exit("Short Exit", from_entry="Short", limit=shortTP, stop=shortSL)
// === Plot Buy/Sell Signals ===
plotshape(series=validBullFVG, location=location.belowbar, color=color.green, style=shape.labelup, text="BUY", title="BUY Signal")
plotshape(series=validBearFVG, location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL", title="SELL Signal")
// Highlight Significant FVGs
bgcolor(validBullFVG ? color.new(color.green, 85) : na)
bgcolor(validBearFVG ? color.new(color.red, 85) : na)