The settings match. Why do two gold indicators still disagree?
Matching ATR and EMA lengths is only the start of replication. Audit the input history, smoothing convention and first divergent calculation before comparing signals.

- Compare input histories before changing parameters.
- Audit intermediate values and discrete decisions separately.
- Matching calculations do not establish broker execution or profitability.
A parameter list is not a complete specification
Two implementations both display ATR 14 and EMA 20, yet their gold signals differ. The immediate temptation is to change a threshold until the charts look similar. That is the wrong diagnostic order. Before deciding which output is useful, establish whether both programs are calculating the same object from the same inputs. Agreement reached by retuning can conceal an implementation discrepancy.
TradingView documents that its standard ATR uses RMA smoothing by default, with other smoothing choices available. Its repainting documentation also explains that changes to the starting point of historical data can propagate through calculations, including EMA. Those are documented mechanisms, not evidence that a particular CyGuru indicator currently has a defect. This article proposes an independent replication protocol; it reports no new signal result.
Source notes: [1] TradingView — Average True Range · [2] TradingView Pine Script — Repainting: dataset starting points
Freeze the input before inspecting the output
My first comparison would use a saved candle file with an explicit symbol, provider, timeframe, timezone and bid, ask or midpoint convention. Both implementations should consume exactly that file. Record its earliest timestamp, row count and a content checksum. If one calculation starts months earlier, matching only the visible chart interval does not make the histories equal.
Then export intermediate values rather than only BUY and SELL labels. For an ATR-based rule, retain true range and the smoothed result. For an EMA condition, retain the source price and the moving average before rounding. The earliest divergence is usually more informative than a final count of different signals because later differences may simply inherit the first mismatch.
A small initialization difference can survive
Consider an explicitly hypothetical smoothing recurrence: new value equals one fourteenth of the new input plus thirteen fourteenths of the previous value. Assume two implementations receive identical future inputs but begin one unit apart. After k updates their difference is (13/14) raised to k units. After fourteen updates it is about 0.354; after seventy, about 0.00559. These numbers follow from the stated recurrence, not from an observed gold dataset.
The example establishes a narrow point: using fourteen as a length does not guarantee that fourteen updates erase the starting difference. Nor does a small numerical discrepancy guarantee identical decisions. If a filter lies very close to its threshold, a tiny residual can change which side of the boundary a calculation occupies. That is why a warm-up rule should be justified against the downstream decision, not chosen solely because its number looks familiar.
Distinguish numerical tolerance from decision agreement
I would run two checks. The numerical check compares intermediate values using a tolerance specified before examining the results. The decision check compares pass/fail states and resulting timestamps. A pair of implementations can pass the first check while failing the second near a boundary. Conversely, identical signal labels can conceal materially different internal calculations that happen not to cross the threshold during a short sample.
Display rounding deserves a separate field. If both screens show 5.00, one underlying value could still be above a boundary and the other below it. Preserve full available precision for the comparison and document where rounding enters the rule. Do not retroactively relax the tolerance simply to make a disputed example disappear.
Change one assumption at a time
A useful diagnostic sequence holds the candle file fixed, aligns the smoothing choice, aligns initialization, then extends the common lead-in history. Save each run with its code version and configuration. If extending history changes the disagreement, that is evidence about sensitivity to initialization; it is not proof that the longer run is automatically the correct trading method.
For adaptive Entry, SL and TP values, compare the calculation at the exact event that freezes the levels. Later recalculation of a live ATR must not silently substitute for the value used at activation. The research record should distinguish a reproduced original level from a newly computed level under changed inputs. This preserves a meaningful audit trail even when a correction is necessary.
What a completed replication would establish
A successful comparison would document which inputs, versions, tolerances and decision states agree over a stated interval. A failed comparison would identify the first unresolved divergence. Both are useful outputs. Neither warrants inventing a successful historical trade or describing a visual resemblance as independent verification.
The terminal is a place to inspect recorded events; the Research Lab is a separate setting for testing their reproducibility. Any resulting target audit remains a nominal OHLC observation unless additional evidence is supplied. It does not include broker fills, commissions, spread, slippage or P&L. No complete matched CY66 replication dataset was verified for this article, so this is a research method rather than a result case study.
Sources, dates & evidence limits
Sources checked 9 November 2026 at 04:07:59 UTC / 9 November 2026 at 08:07:59 Dubai. Source observation and release dates are separate from this article’s publication date. Linked data may later be revised.
- TradingView — Average True Range ↗Undated product documentation; checked 9 November 2026
Primary description of true range and available smoothing methods. The recurrence example is independently specified and hypothetical.
- TradingView Pine Script — Repainting: dataset starting points ↗Living version 6 documentation; publication hour unavailable; checked 9 November 2026
Documents dependence on starting history and possible historical data revisions. No specific CyGuru defect is asserted.
Follow the reading path
How to Backtest a Gold Trading Strategy Without Fooling Yourself →Gold Trading & Research →Research Lab: test the evidence →CyGuru trading books: continue your study →Independent signal research and audit →CyGuru Gold Terminal: inspect the recorded signal →The separate 9 November Gold Brief →Follow new Gold Intelligence articles →All 9 November 2026 articles →Gold Intelligence library →Original educational analysis. Illustrative calculations are not historical performance. Interpretation is identified in the text; no trade outcome is established by this article. Editorial standards →

