Strategy testing and trading software · Germanycontact@stratcorealpha.com · DE
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 a bounded written 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

Swipe the table sideways to read every stage.

StageObserved evidenceConclusion
BuildAssembly compiles with 0 errors and 0 warningsNot a compiler failure
LoadIndicator attaches in a clean instance without an exceptionNot a loading failure
CalculateCalculate is called, but source validation rejects every indexFirst reproducible divergence
PlotOutput series receives only NaN valuesDownstream 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.

Trading risk disclosure

Futures and forex trading contains substantial risk and is not for every investor. An investor could potentially lose all or more than the initial investment. Risk capital is money that can be lost without jeopardizing one's financial security or lifestyle. Only risk capital should be used for trading, and only those with sufficient risk capital should consider trading. Past performance is not necessarily indicative of future results.

Hypothetical performance disclosure

Hypothetical performance results have many inherent limitations. No representation is being made that any account will or is likely to achieve profits or losses similar to those shown. There are frequently sharp differences between hypothetical performance results and the actual results subsequently achieved by any particular trading program. Hypothetical results are generally prepared with the benefit of hindsight, do not involve financial risk, and cannot completely account for the impact of financial risk in actual trading. Market conditions, the ability to withstand losses, and adherence to a trading program can all materially affect actual results.

NinjaTrader trademark disclosure

NinjaTrader® is a registered trademark of NinjaTrader Group, LLC. No NinjaTrader company has any affiliation with the owner, developer, or provider of the products or services described herein, or any interest, ownership or otherwise, in any such product or service, or endorses, recommends or approves any such product or service.

Testimonials, when shown, may not represent the experience of other clients and are not a guarantee of future performance or success. Virtual-currency trading carries additional risks. See the CFTC customer advisories. Read the full financial risk disclaimer.