── PRICE DATA (from MT5) ──────────────────
BID = SymbolInfoDouble(sym, SYMBOL_BID)
ASK = SymbolInfoDouble(sym, SYMBOL_ASK)
SPREAD = (ASK - BID) / Point
H24 = iHigh(sym, PERIOD_D1, 0)
L24 = iLow(sym, PERIOD_D1, 0)
── RSI (Wilder's Smoothed) ────────────────
RS = AvgGain(n) / AvgLoss(n) [n=14]
RSI = 100 - (100 / (1 + RS))
→ Overbought: RSI > 70 | Oversold: RSI < 30
── MACD (12,26,9) ────────────────────────
EMA_fast = EMA(close, 12)
EMA_slow = EMA(close, 26)
MACD_line= EMA_fast - EMA_slow
Signal = EMA(MACD_line, 9)
Histogram= MACD_line - Signal
── STOCHASTIC (5,3,3) ────────────────────
%K = (Close-LowestLow) / (HighestHigh-LowestLow) × 100
%D = SMA(%K, 3)
── BOLLINGER BANDS (20,2) ────────────────
Middle = SMA(close, 20)
Upper = Middle + 2×StdDev
Lower = Middle - 2×StdDev
── STRENGTH INDEX ────────────────────────
SI = BuyerPower / (BuyerPower + SellerPower)
── COMPOSITE VERDICT ─────────────────────
Score = Σ(signal_weight × signal_value)
→ Score > 0.6 → BUY | < -0.6 → SELL | else HOLD