🤖 🔥 BOT HYBRID (ATR ADAPTIVE) ACTIVE 🔥
📊 Strategy: VWAP Mean Reversion + ATR Adaptive + DCA + State Cooldown
🛡️ Regime Guard ACTIVE (NEUTRAL mode + structurally cheap)
📈 Range Evolution ACTIVE (shift detection + state classification)
[INIT] ✅ RangeEvolution loaded
[INIT] Bot started for ETHUSDT
[CYCLE] ETHUSDT_20260513213012_cd95
[LOCK] Mode: WEB | Status: ACQUIRED
[CYCLE] ✅ No duplicate ID
[DATA FRESHNESS] Last candle still forming (closes at 21:45:00)
[DATA FRESHNESS] ✅ Data OK (candle forming, age=13s)
[DATA FRESHNESS] 15m candles: last=2026-05-13 21:30:00, age=0.0h/13s, count=200, forming=yes, missing=0
[CANDLE RANGE] 15m: 2026-05-11 19:45:00 → 2026-05-13 21:30:00 (200 candles)
[CANDLE SAMPLE 0] time=2026-05-11 19:45:00, open=2333.04, high=2335.30, low=2328.79, close=2329.50, vol=2033.21
[CANDLE SAMPLE 1] time=2026-05-11 20:00:00, open=2329.51, high=2332.86, low=2329.06, close=2331.22, vol=1386.24
[CANDLE SAMPLE 2] time=2026-05-11 20:15:00, open=2331.23, high=2332.21, low=2325.56, close=2327.57, vol=2020.86
[VWAP] candles=200, sv=518846.218, cur=2267.16
[VWAP] result=2299.2859322694
[RSI] closes_count=200, period=14
[RSI] result=26.449173900868
[ATR] candles_count=200, period=14
[ATR] result=0.4506582180853%
[ANALYZE RESULT] vwap=2299.29, rsi=26.45, atr=0.45%, mode=VOLATILE, strength=0.15
[SYMBOL] Precision updated: qty=8, price=8
[ZONE DEBUG] analysis range_support = NULL
[ZONE DEBUG] analysis range_resistance = NULL
[RANGE] window=200 (full), support=2270.49, resistance=2341.21, buy_zone=2291.19, range_size=70.72, data_age=13s, pct=10/90, atr=0.45%, factor=0.29, lookback=22, strength=0.03
[RANGE] window=80 (80% recent), support=2267.00, resistance=2321.60, buy_zone=2282.98, range_size=54.60, data_age=13s, pct=5/95, atr=0.45%, factor=0.29, lookback=22, strength=0.03
[RANGE DUAL] Macro: 2270.49-2341.21 (win=200), Micro: 2267-2321.6 (win=80)
[RANGE EVOLUTION] ✅ Valid context received
[ADAPTIVE CANDIDATE] No significant shift detected (reason: SHIFT_TOO_SMALL)
[MARKET] price=2267.16 vwap=2299.29 rsi=26.45 atr=0.45% mode=VOLATILE discount=1.40% age=0.2m ts=21:30:00
[MARKET BRAIN DEBUG] {"range_safe_for_mr":false,"range_require_conservative":true,"rangeContext_is_valid":true,"rangeContext_context_exists":"YES"}
[BUY SIGNALS] 🔒 Range not safe (range_safe_for_mr=false), penalty -15 → baseScore=35
[BUY SIGNALS] 🔥 OVERSOLD + DISCOUNT -> floor=55, boost=20, final_score=75
[SIGNAL RESULT] discount=1.4%, rsi=26.45, zone=NORMAL, allow_micro=NO, final_score=75
[SELL THRESHOLDS] TP=1.1% (curr=-3.1281378585437%, hit=N), trailing=N, micro=N, time=N, stop=N
[SIGNAL PRODUCTION] buy_score=75, buy_signal=TRUE
[SIGNAL PRODUCTION] sell_score=0, sell_signal=FALSE
[REGIME DETECT] → RANGE
[REGIME] Updated to: RANGE
[STATE] last_trade_ts = 0 (no trade history)
[CUTLOSS] ⏭️ PERMANENTLY DISABLED (ENABLE_CUTLOSS=false)
[CUTLOSS] Level: 0, Reason: CUTLOSS_DISABLED
[RUN CYCLE] decisionGate returned: BUY
[RUN CYCLE] state BEFORE set gate_routing: "BUY"
[RUN CYCLE] state AFTER set gate_routing: "BUY"
[ZONE DEBUG] support=2270.49, resistance=2341.21, price=2267.16, zone=BREAKDOWN
[SANITY] BUY | price=2267.16 | vwap=2299.29 | rsi=26.4 | atr=0.45% | mode=VOLATILE | zone=BREAKDOWN | qty=0.012651 | avg=2340.37 | bc=2 | cl=0 | pnl=0.18% | pos=-3.13%
[EXEC] Routing from state: BUY
[EXEC] Starting BUY execution
[PLAN BUY] Final size multiplier after clamp: 1.2
[PLAN BUY] score=100, size=1.2
[PLAN BUY] DCA blocked: max 2 steps reached
[EXEC] ⏭️ BUY skipped (no executable plan)
----- LEDGER -----
Equity: 40.727561712 USDT
PnL: -0.750117747 USDT
ROI: -1.8088202242585%
Realized: 0.17604
MaxDD: 0%
[CIRCUIT BREAKER] ✅ Tidak ada cooldown aktif.