Back to the cTrader diagnostic
Synthetic example · not customer work
Sample diagnostic: cTrader indicator stops plotting after an update
This fictional incident demonstrates the structure of the 49 EUR diagnostic. It does not represent a client, a real proprietary indicator or a trading-performance result.
Finding
The indicator builds and loads; its index guard prevents every output assignment.
Smallest repair
Correct and document the warm-up boundary, then retest the same frozen cases.
Scope boundary
One failure is diagnosed; source repair is a separate fixed milestone.
1. Frozen evidence
- Platform
- cTrader Desktop 5.9 / Windows / synthetic environment
- Artifact
- One fictional authorized-source C# custom indicator
- Last known working
- cTrader Desktop 5.8 / clean instance
- Current symptom
- Build succeeds; indicator loads but plots no values
- Build result
- 0 errors, 0 warnings
- Dependency boundary
- No custom indicator, file, network or NuGet dependency
- First divergence
- Calculate executes, but every output remains NaN
2. Failure-stage matrix
| Stage | Observed evidence | Conclusion |
|---|---|---|
| Build | Assembly compiles with 0 errors and 0 warnings | Not a compiler failure |
| Load | Indicator attaches in a clean instance without an exception | Not a loading failure |
| Calculate | Calculate is called, but source validation rejects every index | First reproducible divergence |
| Plot | Output series receives only NaN values | Downstream symptom, not root cause |
3. Repair acceptance cases
- First valid historical index writes a finite value.
- Warm-up indices remain explicitly NaN without throwing.
- The latest closed bar matches the frozen 5.8 reference value within the agreed tolerance.
- A clean 5.9 instance builds, loads, calculates and plots with no hidden dependency.
Software-engineering example only. All versions, observations and values on this page are synthetic and are not trading advice.