1) 60-second triage (do this first)
Most issues can be isolated quickly. Before changing parameters, verify these basics.
Chart & robot state
- Robot is running (Play/Start enabled).
- Correct symbol and timeframe.
- Market is open (session hours).
Trading conditions
- Spread is normal (no news spike / rollover shock).
- Account has free margin.
- Volume is valid (min/max/step for your broker).
Rule: Change only one variable at a time (symbol OR timeframe OR preset OR parameters).
2) “It doesn’t trade” (most common)
A robot can be “healthy” and still not open positions because entry criteria are not met or a protective filter blocks execution.
Typical causes
- Wrong timeframe for the preset.
- Market closed / session filter blocks.
- Spread filter blocks (news/rollover).
- Regime filter does not allow entries.
- Insufficient data (higher timeframe series not available yet).
Fast fix
- Switch to the intended timeframe (e.g., M5 vs M15).
- Check session hours for the symbol (indices/commodities differ).
- Observe spread for 2–5 minutes.
- Check logs for “blocked by filter” messages (if implemented).
Expected behavior: Many strategies are not “always in market”. No trades can be normal under certain conditions.
3) Symbol mapping (broker naming)
Brokers often use different symbol names. Examples: EURUSD vs EURUSD. or
XAUUSD vs GOLD. If the robot/preset expects one naming scheme and your broker uses another,
it may not behave as intended.
Symptoms
- Robot logs show “symbol not found” / “invalid symbol”.
- Preset looks correct but nothing triggers.
- Trades open on a different chart than expected.
Fix
- Open cTrader symbol list and verify the exact symbol code.
- Attach the robot to the correct symbol chart name.
- If your bot supports a symbols list parameter, match broker names exactly.
Tip: For indices, brokers may use suffixes and different base names (e.g., NAS100, USTEC).
4) Sessions / “Market closed”
FX runs nearly 24/5, but indices, commodities, and CFDs can have pauses, breaks, and broker-specific trading hours.
On weekends, most markets are closed.
- Check the symbol’s trading hours in cTrader.
- Be careful around daily rollover (spread spikes).
- On indices: expect session gaps (especially outside main exchange hours).
5) Spread / news conditions
Many bots block entries when spread exceeds a threshold. This often happens during news, rollovers,
and low-liquidity hours.
Symptoms
- No entries during volatile periods.
- Entries resume when spreads normalize.
- Logs show “spread too high” (if implemented).
Fix
- Wait for spreads to normalize (often 5–30 minutes).
- Avoid high-impact news windows.
- If you change a spread threshold, do it conservatively.
Rule: Don’t “force” the bot to trade during abnormal spreads. That’s exactly what filters exist for.
6) Order / volume errors
cTrader will reject orders if volume is below minimum, not aligned to step size, exceeds max, or violates symbol rules.
Common messages
- Invalid volume (min/step mismatch)
- Not enough money (margin)
- Market closed
- Invalid stops (SL/TP too close)
Fix
- Check the symbol’s min volume and step size.
- Reduce risk/position sizing for small accounts.
- Increase SL distance if your broker requires a minimum stop distance.
- Re-check leverage and margin requirements.
7) Margin / leverage constraints
Even if the bot computes a volume “correctly”, the broker can still reject it due to margin constraints,
especially on indices/commodities.
- Check free margin before entry windows.
- Indices/CFDs often consume more margin per unit than FX.
- If you run multiple bots, their combined exposure matters.
Safe approach: Reduce base risk and validate execution first, then scale gradually.
8) How to read logs (cTrader)
Logs are your fastest truth source. Use them to determine whether the bot is:
(a) not receiving data, (b) blocked by filters, or (c) failing on order execution.
What to look for
- Startup lines: symbol/timeframe recognition
- Filter state: session, spread, regime
- Execution: order submit, rejection reason
Best practice
- Copy 20–50 relevant log lines around the event.
- Include timestamp and symbol.
- Take a screenshot of parameters + chart.
Tip: If logs are empty, confirm the robot is actually running and attached to the correct chart.
9) Support-ready pack (copy/paste)
If you ever need support, send this set once. It prevents long back-and-forth.
Symbol / Timeframe: …
Preset name: …
Broker: …
Account: demo / live
Spread at time of issue: …
What you expected: …
What happened: …
Logs: paste 20–50 lines around the event
Screenshots: chart + parameters
Reminder: Orion Core Forge provides software tools and documentation. Nothing here is financial advice.