ForexBot2 analyzes gold (XAU/USD) around the clock on several chart timeframes at once. On every candle close it scores nine technical indicators (trend, momentum, volatility, divergences, candlestick patterns), adapts the weighting to the current market regime (trending / ranging / transitioning), checks that higher timeframes agree, adjusts for news and economic-calendar events, and — only when everything lines up — sends a signal with a complete trade plan to Telegram: direction, entry, stop loss, target, and a trailing-stop management plan.
Most of the time it sends nothing. Silence means no edge was found; that is the bot working correctly, not a malfunction.
| Field | What it means |
|---|---|
| Signal + grade | Direction (BUY / SELL / STRONG_*) plus a quality grade A+ → F. A trade setup is only attached at grade C or better. Higher grades = more indicator agreement and cleaner regime. |
| Direction / reliability line | Since 2026-09-27 the alert prints the two raw numbers in words. Direction is the regime-weighted composite of all nine indicators: very strong (|score| ≥ 40), strong (≥ 33), clear (≥ 25), weak (≥ 15) or no clear direction, with buy or sell from its sign. Reliability is the confidence after the penalties: high (≥ 65), good (≥ 55), fair (≥ 45) or low. The cut-offs are the grade table's own, so the words never disagree with the grade. The numbers themselves remain in --json, --detail and the dashboard meters. |
| MTF aligned | The two confirmation timeframes agree with the trade direction. Signals without alignment are filtered out on M5. |
| Warnings ⚠️ | Context, not veto. Backtesting shows warned trades perform about the same — strong momentum often triggers warnings. |
| Violent-move watch 🌪 | An occasional extra line saying the next hour looks unusually likely to produce a very large candle — because a high-impact US release is due (or just landed), because the clock is in a historically wild slot, or because price is stretched outside its bands. It is a heads-up about volatility, not a direction call, and it never changes the signal, the grade or the trade setup — the same alert would be sent without it. Do not close or tighten an open trade because of it: every such protective action was tested over three years and lost money. Your stop is the protection. |
| AI check 🤖 | An advisory block written for a new trader, such as "AI check: the odds look worse than usual. New data just came out against this buy. Chance it pays off: about 45 in 100 (usual for this kind of setup: 60 in 100). For: Before the news, the price was climbing. Against: Fresh data just came out against gold. This check is an experiment. Do not trade on it alone." The first sentence compares the estimate with the usual odds for this kind of setup (8 points either way counts as a difference); there is no verdict word and no confidence percentage. One AI reviewer (the news reader) receives the recent headlines together with facts computed by code — how far the move has already run, whether a very large candle just printed, how the stop and target compare with the usual, how trades of this exact kind fared in the two-year test, and whether major scheduled news lands before the trade would normally finish — and gives a probability that the trade ends in profit plus one reason for and one against. (Three further reviewers, chart, risk and sceptic, were switched off on 2026-09-17: in two evaluations they added nothing beyond the base rate and mostly voted the same way on every setup.) It is not a recommendation and it never changes the signal, the grade or the setup. Until about 300 of these estimates have been graded against real outcomes, treat it as context, not as a filter: the earlier AGREE/OPPOSE version of this line opposed target-reaching trades as often as it agreed. |
| Market context 📰 | An AI-written note in plain English on what is moving the gold price right now, why it matters, and the next report to watch. It is built only from headlines published in the last 4 hours that lean one way (neutral items are dropped) plus today's high-impact releases. Informational only — it never blocks or grades a signal. |
| SL / TP1 guide / planned RR | Stop loss sits behind the nearest swing level with an ATR buffer (grade A+/A setups use a 2 × ATR stop). 1R = the entry-to-SL distance = the amount you risk. TP1 is a guide (the nearest opposing level or a multiple of ATR, never printed closer than 1R since 2026-09-26); the "planned TP1 RR" is TP1 ÷ 1R and is always at least 1:1. It is not the expected payoff: the tested exit is the trail, and the validated books earn their profit from trailed runners (M5 average win about +1.0R against an average loss of −0.76R; M15 +0.87R against −0.93R). |
| Exit rule 🔄 | The real, backtested exit. Once price moves the stated R in your favor (0.6R on M5, 0.7R on M15), move the stop to trail the stated $ distance behind the best price and update it at each candle close only. Until then the original SL is the exit. TP1 is advisory — let winners run. |
| Book line 📚 | What this class of setup (timeframe, setup type, grade, direction) actually did in the validated two-year backtests: number of trades, share of winners and average R per trade. When the exact class has fewer than 30 trades the line falls back to all setups of that direction on the timeframe, then to the whole timeframe. |
| One alert per move | After an alert, the bot sends no new alert on that timeframe for the next 5 candles (25 min on M5, 75 min on M15), the same entry cooldown the backtester applies. Consecutive-bar re-entries into the same move were the largest live-only loss in September 2026. |
Twelve-month Oanda-candle backtest (Aug 2025 – Aug 2026, $0.65 round-trip cost, entry at next candle open):
| M5 | M15 | H1 | |
|---|---|---|---|
| Trades / week | ~11.3 | ~7.6 | ~2.7 |
| Total result (12 mo) | +106.8R | +73.9R | +24.0R |
| Win rate / profit factor | 52.9% / 1.51 | 62.2% / 1.53 | 60.9% / 1.55 |
| Typical (median) hold | 2.4 h | 7 h | 15.5 h |
| 90% of trades close within | 10.5 h | 29.8 h | 3.2 days |
| Typical stop distance | ~$21 | ~$32 | ~$52 |
| Worst drawdown | 10.7R | 10.8R | 8.0R |
| Command | What it does |
|---|---|
/start | Show the button menu (manual scans per timeframe, Scan All TFs). |
/scan | Run an immediate analysis of the primary timeframe. |
/autoscan | Toggle automatic scanning (M5 / M15 / H1 / H4 at each candle close). |
/status | Uptime, auto-scan state, WebSocket price-monitor state. |
/news | Net XAU/USD news score from the last 4 hours of headlines (neutral headlines are removed before averaging; informational only — never gates signals). |
/cache · /clearcache | Inspect / reset the market-data cache. |
/help | Command reference. |
The bot also streams live prices over WebSocket and fires an immediate scan when price breaches a key level (swing S/R, Bollinger, Keltner, EMA-200). Commands respond only to the configured owner chat; subscribers receive the signal feed via the channel.