A cAlgo robot that shines in backtest and behaves differently live is usually placing orders in OnTick— acting on a bar that hasn't closed. Paste your cTrader C# robot and we flag it: intrabar repaint, future/negative series indices, unsynced multi-timeframe reads, and missing stops — each with the exact fix. Correctness, not profitability.
Deterministic static analysis — runs on the server, code isn't stored. Correctness only, not profitability.
Orders placed inside OnTick act on a still-forming bar and can flicker tick to tick — a backtest built on closed bars never reproduces it.
Negative or absolute-future series indices that read ahead of the current bar — data you couldn't have had live.
MarketData.GetBars higher-timeframe reads that use a bar before it closed — the request.security repaint problem, in C#.
Market orders with no stopLossPips, and whether a take-profit and position sizing are present.
Empty catch blocks that swallow exceptions and quietly corrupt a run.
Paste your C# robot here. The validator flags orders placed inside OnTick (which act on a still-forming bar and can flicker), negative or absolute-future series indices, higher-timeframe MarketData.GetBars reads that use a non-final bar, and missing stop-loss. It's deterministic and doesn't run your code.
OnTick runs on every tick, so a condition built from the current bar's live price can be true on one tick and false on the next. Your live robot may act on that flicker, but a bar-based backtest never sees it — the two diverge. Put signal logic in OnBar() (once per closed bar) and keep OnTick for trade management.
No. The score measures code CORRECTNESS only — whether the robot could have known what it acts on and whether it has basic risk controls. It says nothing about profitability, and nothing here is a prediction or trading advice.
No. The analysis is deterministic static pattern-matching that runs on the server and returns the report — your code is not compiled, not executed, and not stored.