proof #002gold / XAUUSD10 october 2026

Atul Patil (Top G Traders) said:

“80 trades out of 100 will win for you.”

▶ Hear the claim 26:39 ↗

his paid course, lecture 5 — public YouTube upload by a third-party channel

the investigation

Three strategies. Every minute of gold since 2015. We wrote down his rules before running the test. Then we counted what happened, including real costs.

What happened when we tested it? ↓
01 / your expectation

What would you expect?

If the rules do what he says, how many trades should win?

02 / what actually happened

The claim met the data.

Win = any trade that closed in profit after costs. Fixed $100 risk per trade, no compounding.

all his conditions8.9%146 trades
profitable versions0 / 55after costs, all three strategies
03 / the work behind the number

Four steps.
Nothing hidden.

These are the actual files that produced the test. Open a step to see the implementation.

01Start with the actual prices.Dukascopy 1-minute BID and ASK prices, 2015–September 2026. CFD prices, not exchange futures.+
code/fx_data.py · L315–330
def load_m1(symbol: str, start: str | None = None, end: str | None = None) -> pd.DataFrame:
"""Active 1-minute bars, UTC index (bar start), float prices bo bh bl bc ao ah al ac, volumes vb va."""
z = np.load(m1_path(symbol))
scale = float(z["scale"][0])
idx = pd.to_datetime(z["t"], unit="s", utc=True)
bid, ask = z["bid"].astype(np.float64) / scale, z["ask"].astype(np.float64) / scale
df = pd.DataFrame({"bo": bid[:, 0], "bh": bid[:, 1], "bl": bid[:, 2], "bc": bid[:, 3],
"ao": ask[:, 0], "ah": ask[:, 1], "al": ask[:, 2], "ac": ask[:, 3],
"vb": z["vb"], "va": z["va"]}, index=idx)
df.index.name = "t"
# round away float noise from the integer->float division
dec = int(round(np.log10(scale)))
df[["bo", "bh", "bl", "bc", "ao", "ah", "al", "ac"]] = df[["bo", "bh", "bl", "bc", "ao", "ah", "al", "ac"]].round(dec)
if start:
df = df[df.index >= pd.Timestamp(start, tz="UTC")]
if end:
Browse the full file ↓Raw source ↗
02Turn his words into fixed rules.Write the rules before testing. Ambiguous statements become separate versions; discretion we cannot code stays visible.+
code/topg_backtest.py · L652–667
def strat_topg(m: Market, v: dict, rules: dict, c: dict) -> tuple[list[dict], dict]:
"""TopG trend-joining levels (TJL2 = A+, optionally TJL1, SBR/RBS), see topg_rules.json -> topg."""
R = rules["topg"]
sym = m.symbol
pip = pip_of(sym)
tf, ltf = v["tf_min"], v.get("ltf_min")
cnd = candles(m, tf)
levels, trend, tpl, tps = topg_structure(cnd, v.get("retr", "strict"))
kinds = set(v["levels"])
levels = [lv for lv in levels if lv["kind"] in kinds]
flags = {"levels": len(levels)}
t_end = cnd["t0"].to_numpy() + tf * 60
i1s = cnd["i1"].to_numpy()
co, ch, clo, cc = (cnd[k].to_numpy() for k in ("o", "h", "l", "c"))
lt = candles(m, ltf) if v["confirm"] in ("ltf_candle", "ltf_engulf") else None
if lt is not None:
Browse the full file ↓Raw source ↗
03Make the costs count.Executable bid/ask prices, slippage and commission. Same-minute stop/target ambiguity is treated conservatively.+
code/topg_backtest.py · L230–245
def costs_for(rules: dict, symbol: str, zero: bool = False, optimistic: bool = False) -> dict:
if zero:
return {"slip": 0.0, "comm": 0.0, "optimistic": optimistic}
cs = rules["costs"][symbol] if symbol in rules["costs"] else rules["costs"]["_default_fx"]
return {"slip": cs["slippage_price"], "comm": cs["commission_price_round_trip"], "optimistic": optimistic}
# ------------------------------------------------------------- statistics ---
def wilson(k: int, n: int, z: float = 1.96) -> tuple[float, float]:
if n == 0:
return (float("nan"), float("nan"))
p = k / n
den = 1 + z * z / n
centre = (p + z * z / (2 * n)) / den
half = z * math.sqrt(p * (1 - p) / n + z * z / (4 * n * n)) / den
return centre - half, centre + half
Browse the full file ↓Raw source ↗
04Test every reading. Keep the losses.Report every version and every year. Cross-check another data source and inspect individual trades by hand.+
code/topg_backtest.py · L981–996
def variant_grid(rules: dict, strategy: str) -> list[dict]:
g = rules[strategy]["grid"]
keys = list(g.keys())
out = [{}]
for k in keys:
out = [{**o, k: val} for o in out for val in g[k]]
return [v for v in out if all(f(v) for f in [])]
def run_strategy(strategy: str, sym: str, m: Market, rules: dict, zero=False, optimistic=False,
variants: list[dict] | None = None) -> dict:
res = {}
c = costs_for(rules, sym, zero, optimistic)
weeks = (m.t[-1] - m.t[0]) / (7 * 86400)
for v in variants or rules[strategy]["variants"]:
tr, fl = STRATEGIES[strategy](m, v, rules, c)
Browse the full file ↓Raw source ↗
The rules, costs and assumptions in plain words

His exact steps: candle at the A+ level, stop below it, target last confirmed high, skip stops over 40 pips. We also tested all his conditions and a generous 1:1 target.

Years at 70%+ win rate: none, in any reading. The data pack includes every yearly result and full test limitations.

Full method and limitations ↗
04 / follow the result

A curve tells
the whole story.

One version at a time. Select another reading to see what changes. Every losing version stays in the table.

strategy / 30 readings

A+ levels

His exact steps, all extra conditions, and the generous readings.

cumulative result / units of risk

H1 A+ | H1 candle | SL candle | TP last high | SL<=40p

-69.1R
H1 A+ | H1 candle | SL candle | TP last high | SL<=40p · cumulative RServer-prepared series from the trade CSV. R means units of risk; this is not a compounded balance. Bucket extrema and endpoints are retained.0R-27R-53R-80R2015-02-232025-09-12

145 trades · 14.5% net-positive · -0.477R per trade · PF 0.481

full target hit
14.5%
break-even win rate
26%
$10,000 account
$3,085
win-rate reference: claim 80% / data 14.5%

Curve = cumulative R, not dollars or a compounded account. Prepared from the downloadable CSV, with bucket extrema retained. Win-rate reference uses a separate percentage scale.

30 versions. Select one to change the chart.
Every version of A+ levels. Sort by any column and select a version to update its chart.
Receipt
1468.9%-0.4490.546CSV ↓
29824.2%-0.2220.719CSV ↓
14514.5%-0.4770.481CSV ↓
7459.7%-0.390.602CSV ↓
43911.4%-0.3730.598CSV ↓
53939.3%-0.2830.572CSV ↓
one year at a time

When did it work?

Yearly totals in R. Green above zero; red below. 2026 ends in September. The raw JSON keeps every year’s win rate and trade count.

View exact yearly numbers
20150% wins9 trades-9.7R
20160% wins12 trades-12.9R
201724% wins25 trades-8.1R
201817.2% wins29 trades-11.7R
20199.1% wins11 trades-8.8R
202010% wins10 trades-7.5R
202118.2% wins11 trades-5.4R
20220% wins13 trades-14.0R
202317.6% wins17 trades-1.9R
202460% wins5 trades13.9R
20250% wins3 trades-3.1R
How the wins and losses were distributed

Exact counts from this CSV. Longest consecutive stop-loss run: 23. A day-end loss is not counted as a stop.

strategy / 15 readings

Fibonacci golden zone

Every coded reading of his Fibonacci entry and exit rules.

cumulative result / units of risk

H1 limit@0.618 SL0.786 tgt=extreme trend

-24.6R
H1 limit@0.618 SL0.786 tgt=extreme trend · cumulative RServer-prepared series from the trade CSV. R means units of risk; this is not a compounded balance. Bucket extrema and endpoints are retained.1R-14R-29R-44R2015-01-282026-08-11

213 trades · 20.2% net-positive · -0.115R per trade · PF 0.865

full target hit
20.2%
break-even win rate
22.6%
$10,000 account
$7,541
win-rate reference: claim 80% / data 20.2%

Curve = cumulative R, not dollars or a compounded account. Prepared from the downloadable CSV, with bucket extrema retained. Win-rate reference uses a separate percentage scale.

15 versions. Select one to change the chart.
Every version of Fibonacci golden zone. Sort by any column and select a version to update its chart.
Receipt
21324.4%-0.0830.898CSV ↓
29519.7%-0.1350.842CSV ↓
21320.2%-0.1150.865CSV ↓
24221.9%-0.4350.495CSV ↓
24216.5%-0.4320.529CSV ↓
3308.2%-0.5960.413CSV ↓
one year at a time

When did it work?

Yearly totals in R. Green above zero; red below. 2026 ends in September. The raw JSON keeps every year’s win rate and trade count.

View exact yearly numbers
201515.8% wins19 trades-11.5R
20167.7% wins13 trades-8.8R
201715.8% wins19 trades-6.1R
201820% wins15 trades-1.8R
201915.8% wins19 trades-5.8R
202035.3% wins17 trades10.7R
202122.2% wins18 trades0.2R
202222.7% wins22 trades0.8R
20237.4% wins27 trades-18.5R
202422.2% wins18 trades0.3R
202540% wins15 trades12.9R
202627.3% wins11 trades3.0R
How the wins and losses were distributed

Exact counts from this CSV. Longest consecutive stop-loss run: 24. A day-end loss is not counted as a stop.

strategy / 10 readings

London breakout

Every coded reading of his London session breakout.

cumulative result / units of risk

box 10:30-11:30 | stop at breakout extreme | SL breakout candle | TP last 30m swing

-437.5R
box 10:30-11:30 | stop at breakout extreme | SL breakout candle | TP last 30m swing · cumulative RServer-prepared series from the trade CSV. R means units of risk; this is not a compounded balance. Bucket extrema and endpoints are retained.0R-146R-292R-438R2015-01-022026-09-25

2,165 trades · 55.1% net-positive · -0.202R per trade · PF 0.521

full target hit
58.7%
break-even win rate
70.2%
$10,000 account
$0
win-rate reference: claim 80% / data 55.1%

Curve = cumulative R, not dollars or a compounded account. Prepared from the downloadable CSV, with bucket extrema retained. Win-rate reference uses a separate percentage scale.

10 versions. Select one to change the chart.
Every version of London breakout. Sort by any column and select a version to update its chart.
Receipt
50352.9%-0.230.49CSV ↓
52244.1%-0.3490.354CSV ↓
1,79557.5%-0.1820.535CSV ↓
5945.8%-0.2740.448CSV ↓
2,16555.1%-0.2020.521CSV ↓
1,80453.9%-0.2050.529CSV ↓
one year at a time

When did it work?

Yearly totals in R. Green above zero; red below. 2026 ends in September. The raw JSON keeps every year’s win rate and trade count.

View exact yearly numbers
201544.8% wins181 trades-62.3R
201652.7% wins184 trades-39.3R
201747.1% wins172 trades-51.7R
201855.1% wins198 trades-39.0R
201956.3% wins197 trades-44.4R
202058.4% wins197 trades-31.7R
202149.4% wins178 trades-46.2R
202252.9% wins204 trades-45.9R
202362.5% wins176 trades-19.3R
202460.7% wins191 trades-27.7R
202557.7% wins168 trades-27.5R
202666.4% wins119 trades-2.5R
How the wins and losses were distributed

Exact counts from this CSV. Longest consecutive stop-loss run: 6. A day-end loss is not counted as a stop.

The original headline readings, side by side

his exact steps

trades
145
win rate
14.5%
avg per trade
-0.477R
profit factor
0.481
break-even win rate
26%
$10,000 at $100 risk
$3,085

his 1:3

trades
539
win rate
17.1%
avg per trade
-0.413R
profit factor
0.55
break-even win rate
27.2%
$10,000 at $100 risk
account exhausted 2019-05-17

all his conditions

trades
146
win rate
8.9%
avg per trade
-0.449R
profit factor
0.546
break-even win rate
15.2%
$10,000 at $100 risk
$3,442

most generous (1:1)

trades
539
win rate
39.3%
avg per trade
-0.283R
profit factor
0.572
break-even win rate
53.1%
$10,000 at $100 risk
account exhausted 2020-12-09
a closer look / 01

A+ levels. Or any level?

works = from the first touch, price moves 2 x 30 pips in the level's favour (from the zone edge) before trading 30 pips beyond the zone's far edge, within 72 h (his 30-pip stop, 1:2). First = tapped before an opposite level that was live and untouched at the same time.

a closer look / 02

The first tap: 90%?

First-tapped levels, measured using the defined reaction test; this is not a strategy win rate.

a closer look / 03

“25 stops in a row? Impossible.”

Longest consecutive stop-loss runs in the published 15-minute A+ level readings. These are recorded outcomes, not probabilities.

05 / hear it for yourself

His words.
The exact second.

Short source excerpts, not our paraphrase. Hinglish quotations are translated; timestamps let you hear the original. Re-uploads are labelled.

“More than $100,000 in profits in the month of November.”

Top G Traders, YouTube, 8 Dec 2024

Watch on YouTube ↗ 0:00

YouTube loads only after you press play. A source may disable embedding or become unavailable; the original timestamp link remains available.

06 / follow the money

Read the
small print.

What is promoted, what is promised, and what the primary sources actually say. These are published-source observations, not findings about anyone’s private accounts.

02

FortressFX

“Best broker I use” in his descriptions. His public VIP form asks for the FortressFX email and deposit (minimum $200). Its risk disclaimer lists India as restricted; its terms allow settlement of up to 21 days and holds on funds, alongside his “100% guarantee of withdrawal” claim.

03

Legion Funding

“Hard rules, 100% guarantee of payout.” Legion’s own terms: the accounts are simulated and “all rewards are discretionary”.

Primary-source pages checked October 2026. Their contents can change; the receipts record what this audit used.

07 / fairness is part of the proof

What this test
cannot tell you.

Right of reply. Right to correct.

Atul Patil (Top G Traders) or their team are welcome to respond. We will publish the response here. Found a mistake in a quote, rule or trade? Send the source and the row; we will check it and log the correction publicly.

Send evidence or a response ↗

Corrections so far: none (10 October 2026).

08 / the receipts

Don’t take
our word for it.

The rules. The code. Every trade. Browse small previews here, or take the full research pack with you.

realshyt / atul-patil-topg-traders-gold-strategy-backtest

Public receipts · published 2026-10-10

Download ZIP 4.3 MB
Files 64
/ README.txt
2 KB · 19 lines · published 2026-10-10
realshyt proof data pack: https://realshyt.com/proof/atul-patil-topg-traders-gold-strategy-backtest
What this is: our backtest of the strategies Atul Patil ("Top G Traders") teaches — his A+ levels (TJL), his Fibonacci golden
zone and his London session breakout — on gold (XAUUSD), every minute from 2015 to September 2026, with real bid/ask spreads,
slippage and commission. 55 versions of his rules (his exact steps, all his conditions, and the most generous readings).
Our test, our method, our opinion. Not financial advice.
Files
trades/*.csv every trade of every version (one row per trade; R = result in units of risk, after costs)
results.json every number on the proof page (per version: win rate with 95% CI, average R, profit factor, years, streaks)
premises_*.json his premises tested directly (A+ levels vs random levels; "the first level tapped works 90% of the time")
crosscheck_XAUUSD.json the same rules on a second data source (HistData) — same conclusion
rules.json the exact rules and costs, written down before the first run (dated snapshots in the repo's prereg/)
METHOD.md his rules with verbatim quotes + timestamps, every ambiguity, what was not codeable, all results
code/ the Python used (fx_data.py downloads the data, topg_backtest.py runs everything)
Data: Dukascopy Bank historical datafeed, XAUUSD 1-minute BID and ASK. Check any trade on your own 1-minute gold chart.
Found a mistake? Tell us on Instagram @realshyt__ and we will correct it publicly.
Lines 1–19 / 19

Copy copies the visible page of source. Raw and Download contain the entire file.

README.txt

The receipts, explained.

realshyt proof data pack: https://realshyt.com/proof/atul-patil-topg-traders-gold-strategy-backtest

What this is: our backtest of the strategies Atul Patil ("Top G Traders") teaches — his A+ levels (TJL), his Fibonacci golden zone and his London session breakout — on gold (XAUUSD), every minute from 2015 to September 2026, with real bid/ask spreads, slippage and commission. 55 versions of his rules (his exact steps, all his conditions, and the most generous readings). Our test, our method, our opinion. Not financial advice.

Files trades/*.csv every trade of every version (one row per trade; R = result in units of risk, after costs) results.json every number on the proof page (per version: win rate with 95% CI, average R, profit factor, years, streaks) premises_*.json his premises tested directly (A+ levels vs random levels; "the first level tapped works 90% of the time") crosscheck_XAUUSD.json the same rules on a second data source (HistData) — same conclusion rules.json the exact rules and costs, written down before the first run (dated snapshots in the repo's prereg/) METHOD.md his rules with verbatim quotes + timestamps, every ambiguity, what was not codeable, all results code/ the Python used (fx_data.py downloads the data, topg_backtest.py runs everything)

Data: Dukascopy Bank historical datafeed, XAUUSD 1-minute BID and ASK. Check any trade on your own 1-minute gold chart. Found a mistake? Tell us on Instagram @realshyt__ and we will correct it publicly.

no trust required

Verify one trade yourself.

Open a 1-minute gold (XAUUSD) chart in UTC. Locate the recorded entry and level, compare the stop and target, then follow bars to the recorded exit. Costs are in rules.json; your broker’s CFD prices can differ.

The server samples uniformly from every trade in this version. The complete CSV stays out of your browser.

2015-02-23short / row 2
entry
1,201.4482015-02-23T17:00:00+00:00
stop
1,204.958recorded level
target
1,190.749recorded level
exit
1,205.0082015-02-24T23:53:00+00:00
result
-1.034Rstop

Times: UTC. Prices are CFD prices; costs can explain differences from the chart.

Open every trade in this version ↓
09 / your turn

Agla guru kaun?

A name is a start. A public claim with its source is better. Comment GOLD on the audit reel and tell us what you want checked next.

Follow @realshyt__ ↗Learn to check a claim yourself ↗

Our test and our opinion of it. Short public excerpts used for commentary and review. Educational content, not financial advice. Past results do not predict future results.

All investigations ←