import { useState, useEffect, useCallback, useRef } from "react"; import { BarChart, Bar, XAxis, YAxis, Tooltip, ResponsiveContainer, Cell, LineChart, Line } from "recharts"; // ══════════════════════════════════════════════════════════════════ // COMPLETE VERIFIED BASELINE DATA | Source: MQL5 Live — March 2026 // ══════════════════════════════════════════════════════════════════ const INIT_DATA = { v10: { name:"TOL LANGIT V10", riskCode:"LOW", riskLabel:"LOW RISK", lot:"0.03 / $1K", platform:"MetaTrader 4", broker:"ICMarketsSC-Live27", currency:"SGD", started:"Jan 2021", weeks:238, leverage:"1:500", mql5:"https://www.mql5.com/en/signals/1083101", myfxbook:"https://www.myfxbook.com/members/adithyodw/tol-langit-v10/8671765", growth:1407.55, profit:5082.13, balance:1785.83, equity:981.59, initDeposit:4052.24, withdrawals:7648.53, deposits:300.00, monthlyGain:0.83, annualForecast:10.06, trades:4507, profitTrades:3671, lossTrades:836, winRate:81.45, pf:2.71, sharpe:0.05, rf:42.93, payoff:1.13, grossProfit:8055.67, grossProfitPips:288169, grossLoss:2973.55, grossLossPips:131459, bestTrade:873.74, worstTrade:-66.59, avgWin:2.19, avgLoss:-3.56, maxCWins:59, maxCLosses:6, maxCProfit:2667.96, maxCLoss:-118.39, tradingDays:787, daysPct:47.32, tpw:0, holdTime:"1 day", activity:99.03, depLoad:30.36, algo:99, ddBalPct:10.18, ddEqPct:72.94, ddBalAmt:118.39, ddEqAmt:836.13, longs:2419, longPct:53.67, shorts:2088, shortPct:46.33, latestTrade:"17 days ago", status:"PAUSED", annRet:[{y:"2021",v:110.41},{y:"2022",v:63.02},{y:"2023",v:39.16},{y:"2024",v:57.74}], top5:[{s:"EURUSD",d:1447},{s:"GBPUSD",d:836},{s:"USDJPY",d:796},{s:"USDCAD",d:598},{s:"USDCHF",d:544}], instruments:"EURUSD · GBPUSD · USDJPY · USDCAD · USDCHF · EURGBP · AUDUSD · EURCHF · AUDCAD · AUDNZD · NZDCAD", strategy:"Trend-Following EA · Smart Grid Recovery Mode", gridDist:"100 pips · Fixed Lot Multiplier ×1 · Max 5 orders/pair", tp:"Dynamic trailing 5–10 pips", rorRating:"LOW", rorNote:"4.5-year verified live track record. Balance drawdown 10.18%. Win rate 81.45%. Profit factor 2.71. Smart grid capped at 5 orders/pair. Proven resilient across 2021–2024 market cycles including volatile periods.", subscription:"30 SGD/month", }, v10hr: { name:"TOL LANGIT V10 HIGH RISK", riskCode:"HIGH", riskLabel:"HIGH RISK", lot:"0.11–0.20 / $1K", platform:"MetaTrader 4", broker:"ICMarketsSC-Live25", currency:"USD", started:"Mar 2025", weeks:50, leverage:"1:500", mql5:"https://www.mql5.com/en/signals/2296225?source=Unknown", myfxbook:"https://www.myfxbook.com/members/adithyodw/tol-langit-v10-high-risk/11424740", growth:900.23, profit:7711.44, balance:9331.94, equity:2713.37, initDeposit:1000.00, withdrawals:3417.73, deposits:4038.23, monthlyGain:18.85, annualForecast:228.77, trades:711, profitTrades:669, lossTrades:42, winRate:94.09, pf:2.42, sharpe:0.19, rf:10.83, payoff:10.85, grossProfit:13132.85, grossProfitPips:53512, grossLoss:5421.41, grossLossPips:20915, bestTrade:721.24, worstTrade:-672.84, avgWin:19.63, avgLoss:-129.08, maxCWins:83, maxCLosses:2, maxCProfit:1843.02, maxCLoss:-712.17, tradingDays:170, daysPct:49.13, tpw:1, holdTime:"1 day", activity:94.15, depLoad:116.76, algo:99, ddBalPct:17.74, ddEqPct:88.36, ddBalAmt:197.60, ddEqAmt:1988.25, longs:405, longPct:56.96, shorts:306, shortPct:43.04, latestTrade:"4 days ago", status:"ACTIVE", annRet:[{y:"2025",v:900.23}], top5:[{s:"EURUSD",d:136},{s:"USDJPY",d:114},{s:"GBPUSD",d:108},{s:"USDCHF",d:58},{s:"USDCAD",d:56}], instruments:"EURUSD · GBPUSD · USDJPY · AUDCAD · EURCHF · USDCAD · EURGBP · AUDUSD · USDCHF · NZDCAD · AUDNZD", strategy:"Aggressive Trend-Following EA · Smart Grid Recovery Mode", gridDist:"70–100 pips · Fixed Lot Multiplier ×1", tp:"5 pips fixed", rorRating:"HIGH", rorNote:"Equity drawdown reached 88.36%. Max deposit load 116.76% — margin near-breach territory. Aggressive lot sizing 0.11–0.20/1K. For experienced investors ONLY who fully accept the risk of catastrophic drawdown.", subscription:"30 USD/month", }, etf: { name:"TOL LANGIT ETF", riskCode:"MEDIUM", riskLabel:"MEDIUM RISK", lot:"0.02 / $1K", platform:"MetaTrader 5", broker:"ICMarketsSC-MT5-2", currency:"USD", started:"Jan 2026", weeks:8, leverage:"1:500", mql5:"https://www.mql5.com/en/signals/2353105", myfxbook:"https://www.myfxbook.com/members/adithyodw/tol-langit-etf/11891377", growth:164.68, profit:12440.40, balance:10905.59, equity:10905.59, initDeposit:10000.00, withdrawals:16534.81, deposits:5000.00, monthlyGain:38.02, annualForecast:null, trades:201, profitTrades:173, lossTrades:28, winRate:86.06, pf:3.90, sharpe:0.23, rf:8.17, payoff:61.89, grossProfit:16730.61, grossProfitPips:25229, grossLoss:4290.21, grossLossPips:9421, bestTrade:2380.50, worstTrade:-1007.50, avgWin:96.71, avgLoss:-153.22, maxCWins:60, maxCLosses:3, maxCProfit:4813.07, maxCLoss:-1518.25, tradingDays:26, daysPct:50.00, tpw:8, holdTime:"20 hours", activity:72.26, depLoad:24.83, algo:86, ddBalPct:8.38, ddEqPct:62.36, ddBalAmt:1522.10, ddEqAmt:11003.20, longs:116, longPct:57.71, shorts:85, shortPct:42.29, latestTrade:"2 days ago", status:"ACTIVE", annRet:[{y:"Jan 2026",v:164.68}], top5:[{s:"GBPUSD",d:57},{s:"EURUSD",d:45},{s:"XAUUSD",d:38},{s:"USDJPY",d:31},{s:"USDCHF",d:9}], instruments:"GBPUSD · EURUSD · XAUUSD · USDJPY · USDCHF · AUDUSD · USDCAD · AUDCAD · AUDNZD · NZDCAD · EURCHF", strategy:"AI-Verified Hybrid Trend System · Bayesian Probability Model · No Grid · No Martingale", gridDist:"None — clean entry/exit only", tp:"Dynamic AI-verified (multi-timeframe H1–H4)", rorRating:"MEDIUM", rorNote:"No martingale — structurally cleaner than V10. Balance DD 8.38% is encouraging. Equity swings 62.36% from XAU/USD exposure. Only 8 weeks of live data — statistically early. Promising methodology, unproven long-term.", subscription:"50 USD/month", }, etfgold: { name:"TOL LANGIT ETF GOLD", riskCode:"NEW", riskLabel:"INSUFFICIENT DATA", lot:"0.02 / $1K", platform:"MetaTrader 5", broker:"ICMarketsSC-MT5-2", currency:"USD", started:"Feb 2026", weeks:2, leverage:"1:500", mql5:"https://www.mql5.com/en/signals/2360336", myfxbook:null, growth:31.96, profit:1527.26, balance:5283.66, equity:5283.66, initDeposit:5000.00, withdrawals:1243.60, deposits:0.00, monthlyGain:31.96, annualForecast:null, trades:14, profitTrades:14, lossTrades:0, winRate:100.00, pf:78.29, sharpe:0.81, rf:218.18, payoff:110.50, grossProfit:1547.02, grossProfitPips:3090, grossLoss:19.76, grossLossPips:0, bestTrade:362.50, worstTrade:0.00, avgWin:110.50, avgLoss:0.00, maxCWins:14, maxCLosses:0, maxCProfit:1547.02, maxCLoss:0, tradingDays:4, daysPct:44.44, tpw:8, holdTime:"10 minutes", activity:1.43, depLoad:60.69, algo:100, ddBalPct:0.00, ddEqPct:32.45, ddBalAmt:0.00, ddEqAmt:1631.00, longs:10, longPct:71.43, shorts:4, shortPct:28.57, latestTrade:"2 days ago", status:"ACTIVE", annRet:[{y:"Feb 2026",v:31.96}], top5:[{s:"XAUUSD",d:14}], instruments:"XAU/USD Only — Gold Specialist Scalper", strategy:"AI-Verified XAU/USD Scalping · Bayesian Model · No Grid · No Martingale", gridDist:"None — clean entry/exit only", tp:"Dynamic AI-verified (multi-timeframe)", rorRating:"NEW", rorNote:"Only 14 trades over 2 weeks. 100% win rate is statistically meaningless at this sample size. Balance DD 0.14% exceptional but based on near-zero data. Withhold capital allocation until 3+ month verified track record.", subscription:"30 USD/month", } }; const KEYS = ["v10","v10hr","etf","etfgold"]; // ── Color helpers ────────────────────────────────────────── const C = { bg:"#04080f", surf:"#0b1222", surf2:"#101c30", border:"#182640", gold:"#c8970f", goldL:"#e6b535", goldD:"#7a5c08", green:"#10b981", red:"#ef4444", amber:"#f59e0b", blue:"#3b82f6", cyan:"#06b6d4", text:"#dce6f5", muted:"#4e6380", label:"#7a9abb", white:"#ffffff", }; const riskColor = (c) => ({LOW:C.green, MEDIUM:C.amber, HIGH:C.red, NEW:C.blue}[c] || C.muted); const riskBg = (c) => ({LOW:"rgba(16,185,129,0.1)", MEDIUM:"rgba(245,158,11,0.1)", HIGH:"rgba(239,68,68,0.1)", NEW:"rgba(59,130,246,0.1)"}[c] || "rgba(78,99,128,0.1)"); const fmt = (n, dec=2) => n == null ? "—" : Number(n).toLocaleString("en-US",{minimumFractionDigits:dec,maximumFractionDigits:dec}); const fmtPct = (n) => n == null ? "—" : `${n >= 0 ? "+" : ""}${fmt(n)}%`; const fmtCur = (n, cur="USD") => n == null ? "—" : `${cur === "SGD" ? "SGD " : "$"}${fmt(n)}`; // ── Inject fonts ─────────────────────────────────────────── function useFonts() { useEffect(() => { if (document.getElementById("tl-fonts")) return; const l = document.createElement("link"); l.id = "tl-fonts"; l.rel = "stylesheet"; l.href = "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=IBM+Plex+Mono:wght@400;500;600&family=IBM+Plex+Sans:wght@300;400;500;600&display=swap"; document.head.appendChild(l); }, []); } // ── Animated number ──────────────────────────────────────── function AnimNum({ value, prefix = "", suffix = "", dec = 2 }) { const [disp, setDisp] = useState(0); useEffect(() => { let start = 0, end = parseFloat(value) || 0, dur = 1200, startT = null; const step = (ts) => { if (!startT) startT = ts; const prog = Math.min((ts - startT) / dur, 1); const ease = 1 - Math.pow(1 - prog, 3); setDisp(start + (end - start) * ease); if (prog < 1) requestAnimationFrame(step); }; requestAnimationFrame(step); }, [value]); return {prefix}{fmt(disp, dec)}{suffix}; } // ── Live ticker ──────────────────────────────────────────── function Ticker({ data }) { const items = KEYS.flatMap(k => [ `${data[k].name}: GROWTH ${fmtPct(data[k].growth)}`, `${data[k].name}: WIN RATE ${fmt(data[k].winRate)}%`, `${data[k].name}: MONTHLY ${fmtPct(data[k].monthlyGain)}`, `${data[k].name}: BALANCE ${data[k].currency} ${fmt(data[k].balance)}`, ]); const text = items.join(" · "); return (
{[text,text].map((t,i) => ( {t} ))}
); } // ── Nav ──────────────────────────────────────────────────── function Nav({ onRefresh, refreshing, lastUpdated, activeSection, setActiveSection }) { const [ts, setTs] = useState(new Date().toISOString().slice(0,19).replace("T"," ") + " UTC"); useEffect(() => { const id = setInterval(() => setTs(new Date().toISOString().slice(0,19).replace("T"," ") + " UTC"), 1000); return () => clearInterval(id); }, []); const links = ["overview","strategies","performance","risk","disclosures"]; return ( ); } // ── Hero ─────────────────────────────────────────────────── function Hero({ data }) { const v10 = data.v10; return (
Verified Algorithmic Trading Signals · Singapore · Est. 2021

Systematic. Quantitative.
Algorithmically Driven.

Four independently verified live algorithmic strategies spanning forex majors, cross pairs, and gold — engineered for risk-adjusted returns since January 2021. All accounts public, all data live.

{[ {label:"Flagship Growth",val:,sub:"TOL LANGIT V10 · Since Jan 2021",gold:true}, {label:"Active Strategies",val:"4",sub:"Across All Risk Profiles"}, {label:"Live Accounts",val:"4",sub:"IC Markets · Tier 1 Broker"}, {label:"Flagship Balance DD",val:,sub:"Max Drawdown by Balance"}, {label:"Total Trades (V10)",val:,sub:"Since Inception · All Verified"}, ].map((s,i) => (
{s.label}
{s.val}
{s.sub}
))}
); } // ── Verify strip ─────────────────────────────────────────── function VerifyStrip({ refreshing, lastUpdated, onRefresh }) { return (
{["MQL5 Signal Verified","MyFXBook Account Verified","Live Account · IC Markets","Tier 1 Regulated Broker","Public Data · No Obfuscation"].map((b,i) => (
{b} {i<4 && ·}
))}
{refreshing ? ( ⟳ SYNCING WITH MQL5... ) : lastUpdated ? ( ✓ LIVE DATA · {lastUpdated.toLocaleDateString()} {lastUpdated.toLocaleTimeString()} ) : ( BASELINE DATA · MARCH 2026 )}
); } // ── About / Manager ──────────────────────────────────────── function About() { const links = [ {icon:"⌥",label:"github.com/adithyodw",url:"https://github.com/adithyodw",sub:"TOL-LANGIT-Neural-Quant-Advisor · CS50HarvardX"}, {icon:"in",label:"LinkedIn Profile",url:"https://sg.linkedin.com/in/adithyodewangga",sub:"Adithyo Dewangga Wijaya · Singtel · Singapore"}, {icon:"◈",label:"MQL5 Signal Provider",url:"https://www.mql5.com/en/users/adithyodw",sub:"238 weeks active · 4 live signals"}, {icon:"◉",label:"Telegram @tol_langit",url:"https://t.me/tol_langit",sub:"Community & signal updates"}, {icon:"◈",label:"Forex Factory",url:"https://www.forexfactory.com/adithyodw",sub:"Track record & community"}, ]; const facts = [ {n:"4.5+",l:"Years Live Trading",gold:true},{n:"4,507",l:"Total Trades (V10)"},{n:"238",l:"Weeks on MQL5",gold:true}, {n:"81–100%",l:"Win Rates"},{n:"$1K",l:"Min. Initial Deposit"},{n:"4",l:"Active Strategies",gold:true}, ]; return (
Strategy Manager
Investment Manager Profile
All accounts publicly accessible 24/5. No proprietary black boxes. No obfuscation of results.
Adithyo{e.target.style.display="none";e.target.parentElement.innerHTML=`
A
`;}} />
Adithyo Dewangga Wijaya
Algorithmic Strategy Developer
SINGAPORE

Systematic Quantitative Strategies Built on 4+ Years of Verified Live Performance

Adithyo Dewangga Wijaya is a Singapore-based algorithmic trading strategy developer specialising in automated Expert Advisor (EA) systems for the MetaTrader platform. His flagship strategy TOL LANGIT V10 has been continuously live-traded and publicly verifiable on both MQL5 and MyFXBook since January 2021.

The strategy suite spans conservative low-risk forex approaches (V10) to AI-verified institutional-style gold trading systems (ETF GOLD). All accounts operate exclusively on IC Markets — a globally regulated Tier 1 broker — with full public transparency. The TOL-LANGIT-Neural-Quant-Advisor GitHub repository documents the institutional quantitative methodology incorporating multi-timeframe Bayesian probability modelling and AI verification layers.

{facts.map((f,i) => (
{f.n}
{f.l}
))}
); } // ── Strategy Cards ───────────────────────────────────────── function StrategyCards({ data }) { return (
STRATEGY OVERVIEW
Four Live Strategies · All Risk Profiles
{KEYS.map(k => { const s = data[k]; const rc = riskColor(s.riskCode); return (
{s.name}
{s.riskCode}
{fmtPct(s.growth)}
Total Growth · {s.currency}
0?C.green:C.red}}>{fmtPct(s.monthlyGain)}
Monthly Gain
20?C.red:s.ddBalPct>10?C.amber:C.green}}>{fmt(s.ddBalPct)}%
Balance DD
Win Rate {fmt(s.winRate)}%
Profit Factor {fmt(s.pf)}
Weeks Live {s.weeks}
Status {s.status}
); })}
); } // ── Full Data Table ──────────────────────────────────────── function TH({ children, align="left" }) { return {children}; } function SecRow({ label }) { return ( {label} ); } function DR({ label, vals, colorFn, icon="" }) { return ( {icon && {icon}}{label} {vals.map((v,i) => (
{v?.main ?? v}
{v?.sub &&
{v.sub}
} ))} ); } function DataTable({ data }) { const s = (k) => data[k]; const posNeg = (v) => parseFloat(v) > 0 ? C.green : parseFloat(v) < 0 ? C.red : C.muted; const ddColor = (pct) => pct > 30 ? C.red : pct > 15 ? C.amber : pct > 8 ? C.amber : C.green; return (
COMPREHENSIVE ANALYSIS
Full Signal Performance Matrix
All data sourced directly from verified MQL5 live accounts. Updated on every refresh.
{KEYS.map(k => { const sig = s(k); const rc = riskColor(sig.riskCode); return ( ); })} s(k).platform)} /> s(k).broker)} /> s(k).started)} /> ({main:s(k).weeks+" wks",sub:s(k).started}))} /> s(k).currency)} /> s(k).leverage)} /> s(k).subscription)} /> v==="ACTIVE"?C.green:C.amber} vals={KEYS.map(k=>s(k).status)} /> fmtPct(s(k).growth))} /> ({main:fmtCur(s(k).profit,s(k).currency),sub:s(k).currency}))} colorFn={()=>C.green} /> fmtCur(s(k).balance,s(k).currency))} /> ({main:fmtCur(s(k).equity,s(k).currency),sub:`vs Balance: ${fmt(s(k).equity/s(k).balance*100)}%`}))} colorFn={(v,i)=>s(KEYS[i]).equity < s(KEYS[i]).balance*0.7?C.red:C.text} /> fmtCur(s(k).initDeposit,s(k).currency))} /> fmtCur(s(k).withdrawals,s(k).currency))} colorFn={()=>C.green} /> fmtPct(s(k).monthlyGain))} /> s(k).annualForecast ? fmtPct(s(k).annualForecast) : {main:"—",sub:"Insufficient data"})} /> ({main:s(k).trades.toLocaleString(),sub:`${s(k).profitTrades} wins · ${s(k).lossTrades} losses`}))} /> parseFloat(v)>85?C.green:parseFloat(v)>70?C.amber:C.red} vals={KEYS.map(k=>fmt(s(k).winRate)+"%")} /> parseFloat(v)>3?C.green:parseFloat(v)>2?C.amber:C.red} vals={KEYS.map(k=>fmt(s(k).pf))} /> parseFloat(v)>1?C.green:parseFloat(v)>0.3?C.amber:C.muted} vals={KEYS.map(k=>fmt(s(k).sharpe))} /> parseFloat(v)>10?C.green:parseFloat(v)>3?C.amber:C.muted} vals={KEYS.map(k=>fmt(s(k).rf))} /> ({main:fmtCur(s(k).payoff,s(k).currency),sub:"Per trade avg"}))} colorFn={()=>C.green} /> ({main:fmtCur(s(k).grossProfit,s(k).currency),sub:s(k).grossProfitPips.toLocaleString()+" pips"}))} colorFn={()=>C.green} /> ({main:fmtCur(s(k).grossLoss,s(k).currency),sub:s(k).grossLossPips.toLocaleString()+" pips"}))} colorFn={()=>C.red} /> ({main:`${s(k).longPct}% Long`,sub:`${s(k).shortPct}% Short · ${s(k).longs}/${s(k).shorts}`}))} /> C.green} vals={KEYS.map(k=>fmtCur(s(k).bestTrade,s(k).currency))} /> C.red} vals={KEYS.map(k=>fmtCur(s(k).worstTrade,s(k).currency))} /> C.green} vals={KEYS.map(k=>fmtCur(s(k).avgWin,s(k).currency))} /> C.red} vals={KEYS.map(k=>fmtCur(s(k).avgLoss,s(k).currency))} /> ({main:s(k).maxCWins+" trades",sub:`${fmtCur(s(k).maxCProfit,s(k).currency)} streak profit`}))} colorFn={()=>C.green} /> C.red} vals={KEYS.map(k=>({main:s(k).maxCLosses+" trades",sub:`${fmtCur(s(k).maxCLoss,s(k).currency)} streak loss`}))} /> s(k).lot)} colorFn={(v,i)=>{const c=s(KEYS[i]).riskCode;return c==="LOW"?C.green:c==="HIGH"?C.red:C.amber;}} /> ddColor(parseFloat(v))} vals={KEYS.map(k=>({main:fmt(s(k).ddBalPct)+"%",sub:fmtCur(s(k).ddBalAmt,s(k).currency)+" max loss"}))} /> ddColor(parseFloat(v)/2)} vals={KEYS.map(k=>({main:fmt(s(k).ddEqPct)+"%",sub:fmtCur(s(k).ddEqAmt,s(k).currency)+" floating"}))} /> parseFloat(v)>100?C.red:parseFloat(v)>50?C.amber:C.green} vals={KEYS.map(k=>fmt(s(k).depLoad)+"%")} /> ({main:s(k).gridDist==="None"?"NONE":s(k).gridDist.split("·")[0].trim(),sub:s(k).gridDist==="None"?"Clean entries only":s(k).gridDist}))} colorFn={(v)=>v==="NONE"?C.green:C.amber} /> s(k).holdTime)} /> s(k).tpw===0?"0 (Paused)":s(k).tpw+"× / week")} /> ({main:s(k).tradingDays+" days",sub:s(k).daysPct+"% of live period"}))} /> s(k).latestTrade)} colorFn={(v)=>v.includes("17")||v.includes("paused")?C.amber:C.green} /> fmt(s(k).activity)+"%")} colorFn={(v)=>parseFloat(v)>80?C.green:parseFloat(v)>40?C.amber:C.muted} /> fmt(s(k).algo)+"%")} colorFn={()=>C.green} /> ({main:s(k).strategy.split("·")[0],sub:s(k).strategy.includes("·")?s(k).strategy.split("·").slice(1).join("·").trim():""}))} /> ({main:s(k).instruments.split("·")[0].trim()+(s(k).instruments.includes("·")?` +${s(k).instruments.split("·").length-1} more`:""),sub:s(k).platform}))} /> s(k).tp)} /> riskColor(s(KEYS[i]).rorRating)} vals={KEYS.map(k=>s(k).rorRating)} /> ({main:"",sub:s(k).rorNote.slice(0,100)+"..."}))} /> {[0,1,2,3,4].map(idx => ( { const sym = s(k).top5[idx]; if (!sym) return {main:"—",sub:""}; return {main:sym.s, sub:sym.d.toLocaleString()+" trades"}; })} colorFn={(v)=>C.cyan} /> ))}
METRIC
{sig.name}
{fmtPct(sig.growth)}
{sig.riskCode}
); } // ── Charts ───────────────────────────────────────────────── const CHART_TOOLTIP = ({ active, payload, label }) => { if (!active || !payload?.length) return null; return (
{label}
+{payload[0].value}%
); }; function Charts({ data }) { const v10 = data.v10; const compData = KEYS.map(k => ({name:data[k].name.replace("TOL LANGIT ",""),monthly:data[k].monthlyGain,winRate:data[k].winRate,pf:data[k].pf})); return (
PERFORMANCE ANALYTICS
Historical & Comparative Charts
{/* V10 Annual Returns */}
V10 FLAGSHIP · VERIFIED ANNUAL RETURNS
TOL LANGIT V10 — 2021 to 2024
`+${v}%`} /> } /> {v10.annRet.map((e,i) => )}
{v10.annRet.map(r => (
+{r.v}%
{r.y}
))}
{/* Monthly Gain Comparison */}
COMPARATIVE · MONTHLY GAIN
All Strategies — Current Monthly Gain
`${v}%`} /> } /> {compData.map((e,i) => )}
); } // ── Risk Analysis ────────────────────────────────────────── function RiskAnalysis({ data }) { const matrix = [ {cat:"Track Record Length",v10:"4.5 yrs (238 wks)",v10hr:"~12 mo (50 wks)",etf:"~2 mo (8 wks)",etfgold:"~2 wks",w:[0,1,2,3]}, {cat:"Balance Drawdown",v10:"10.18%",v10hr:"17.74%",etf:"8.38%",etfgold:"0.00%",w:[1,2,0,0]}, {cat:"Equity Drawdown",v10:"72.94%",v10hr:"88.36%",etf:"62.36%",etfgold:"32.45%",w:[2,3,1,0]}, {cat:"Lot Sizing Risk",v10:"0.03/1K (LOW)",v10hr:"0.11–0.20/1K (HIGH)",etf:"0.02/1K (LOW)",etfgold:"0.02/1K (LOW)",w:[0,3,0,0]}, {cat:"Grid/Martingale",v10:"Smart Grid (capped)",v10hr:"Grid (aggressive)",etf:"None",etfgold:"None",w:[1,2,0,0]}, {cat:"Max Deposit Load",v10:"30.36%",v10hr:"116.76% ⚠",etf:"24.83%",etfgold:"60.69%",w:[0,3,0,1]}, {cat:"Win Rate",v10:"81.45%",v10hr:"94.09%",etf:"86.06%",etfgold:"100% (14 trades)",w:[1,0,1,2]}, {cat:"Statistical Validity",v10:"HIGH (4507 trades)",v10hr:"MEDIUM (711 trades)",etf:"LOW (201 trades)",etfgold:"NONE (14 trades)",w:[0,1,2,3]}, ]; const colors = [C.green,C.amber,"rgba(245,158,11,0.7)",C.red]; return (
INSTITUTIONAL RISK FRAMEWORK
Risk of Ruin Analysis & Assessment Matrix
{KEYS.map(k => ( ))} {matrix.map((row,ri) => ( {[row.v10,row.v10hr,row.etf,row.etfgold].map((v,vi) => ( ))} ))}
RISK FACTOR{data[k].name.replace("TOL LANGIT ","")}
{row.cat}{v}
{/* RoR Summary Cards */}
{KEYS.map(k => { const sig = data[k]; const rc = riskColor(sig.riskCode); return (
{sig.name}
{sig.rorRating}

{sig.rorNote}

); })}
); } // ── Disclosures ──────────────────────────────────────────── function Disclosures() { return (
Important Risk Disclosures
{[ {t:"HIGH RISK TRADING WARNING",b:"Trading forex, stocks, and commodities with leverage is extremely high risk. Leveraged trading magnifies both profits and losses. You may lose more than your initial deposit. Only trade with money you can absolutely afford to lose. Do not risk money you cannot afford to lose. Better safe than homeless, right?"}, {t:"PAST PERFORMANCE DISCLAIMER",b:"Past performance is not indicative of and does not guarantee future results. All figures represent verified historical data from live accounts and must not be interpreted as a projection or promise of future returns. Market conditions change materially at any time and without warning."}, {t:"LIABILITY LIMITATION",b:"The strategy developer and all associated parties will not accept any responsibility whatsoever for losses incurred by any individual copying, following, or subscribing to any of the signals listed on this page. All investment decisions are made solely at the discretion and risk of the individual investor."}, {t:"REGULATORY NOTICE",b:"These are trading signals provided for informational purposes only. Past signal performance does not constitute financial advice. Always perform independent due diligence before committing capital. Consult a licensed financial advisor if you are unsure about the risks involved."}, ].map((d,i) => (
{d.t}

{d.b}

))}
); } // ── Footer ───────────────────────────────────────────────── function Footer({ data }) { return (
TL
TOL LANGIT CAPITAL
ALGORITHMIC TRADING · SINGAPORE

Four independently verified algorithmic trading strategies. Live accounts, publicly accessible, Tier 1 brokerage. No black boxes. No hidden results. No demos.

{[ {title:"VERIFIED SIGNALS",links:[ {t:"TOL LANGIT V10 — Low Risk",u:data.v10.mql5},{t:"TOL LANGIT V10 HIGH RISK",u:data.v10hr.mql5}, {t:"TOL LANGIT ETF",u:data.etf.mql5},{t:"TOL LANGIT ETF GOLD",u:data.etfgold.mql5}, ]}, {title:"VERIFICATION",links:[ {t:"MyFXBook — V10",u:data.v10.myfxbook},{t:"MyFXBook — HIGH RISK",u:data.v10hr.myfxbook}, {t:"MyFXBook — ETF",u:data.etf.myfxbook},{t:"IC Markets Referral",u:"https://icmarkets.com/?camp=49934"}, ]}, {title:"MANAGER",links:[ {t:"GitHub — adithyodw",u:"https://github.com/adithyodw"}, {t:"LinkedIn — Adithyo Dewangga",u:"https://sg.linkedin.com/in/adithyodewangga"}, {t:"Telegram — @tol_langit",u:"https://t.me/tol_langit"}, {t:"Forex Factory",u:"https://www.forexfactory.com/adithyodw"}, ]}, ].map((col,i) => ( ))}
© 2026 Adithyo Dewangga Wijaya · TOL LANGIT CAPITAL · All Rights Reserved
DATA SOURCE: MQL5.COM · MYFXBOOK.COM · IC MARKETS · NOT FINANCIAL ADVICE · MARCH 2026
); } // ══════════════════════════════════════════════════════════════════ // MAIN APP // ══════════════════════════════════════════════════════════════════ export default function App() { useFonts(); const [data, setData] = useState(() => JSON.parse(JSON.stringify(INIT_DATA))); const [refreshing, setRefreshing] = useState(false); const [lastUpdated, setLastUpdated] = useState(null); const [activeSection, setActiveSection] = useState("overview"); const [refreshMsg, setRefreshMsg] = useState(""); const [showMsg, setShowMsg] = useState(false); const refreshData = useCallback(async () => { setRefreshing(true); setRefreshMsg("Connecting to MQL5 live accounts..."); setShowMsg(true); try { const prompt = `Fetch the latest live statistics from these 4 MQL5 signal pages using web search, then return ONLY a valid JSON object with no markdown, no code blocks, no explanation. Pages to fetch: 1. https://www.mql5.com/en/signals/1083101 (TOL LANGIT V10) 2. https://www.mql5.com/en/signals/2296225 (TOL LANGIT V10 HIGH RISK) 3. https://www.mql5.com/en/signals/2353105 (TOL LANGIT ETF) 4. https://www.mql5.com/en/signals/2360336 (TOL LANGIT ETF GOLD) Return this exact JSON structure with the latest values found on those pages: {"v10":{"growth":0,"profit":0,"balance":0,"equity":0,"monthlyGain":0,"annualForecast":0,"trades":0,"profitTrades":0,"lossTrades":0,"winRate":0,"pf":0,"sharpe":0,"rf":0,"payoff":0,"grossProfit":0,"grossProfitPips":0,"grossLoss":0,"grossLossPips":0,"bestTrade":0,"worstTrade":0,"avgWin":0,"avgLoss":0,"maxCWins":0,"maxCLosses":0,"maxCProfit":0,"maxCLoss":0,"tradingDays":0,"daysPct":0,"tpw":0,"activity":0,"depLoad":0,"ddBalPct":0,"ddEqPct":0,"ddBalAmt":0,"ddEqAmt":0,"longs":0,"longPct":0,"shorts":0,"shortPct":0,"latestTrade":"","status":"","weeks":0},"v10hr":{same fields},"etf":{same fields},"etfgold":{same fields}} Return only the raw JSON object.`; const response = await fetch("https://api.anthropic.com/v1/messages", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ model: "claude-sonnet-4-20250514", max_tokens: 2000, system: "You are a data extraction assistant. When asked to fetch data from URLs, use web search to get the latest information, then return ONLY valid JSON with no markdown formatting, no code fences, and no explanation text whatsoever.", tools: [{ type: "web_search_20250305", name: "web_search" }], messages: [{ role: "user", content: prompt }] }) }); if (!response.ok) throw new Error(`API error: ${response.status}`); const apiData = await response.json(); const fullText = (apiData.content || []).filter(b => b.type === "text").map(b => b.text).join(""); const jsonMatch = fullText.match(/\{[\s\S]*?\}(?=\s*$|\s*\n)/); const cleanText = fullText.replace(/```json|```/g,"").trim(); const jsonMatch2 = cleanText.match(/^\s*(\{[\s\S]*\})\s*$/); const toParse = jsonMatch2 ? jsonMatch2[1] : jsonMatch ? jsonMatch[0] : null; if (toParse) { const fresh = JSON.parse(toParse); setData(prev => { const next = { ...prev }; KEYS.forEach(k => { if (fresh[k] && typeof fresh[k] === "object") { const updates = {}; Object.entries(fresh[k]).forEach(([field, val]) => { if (val !== 0 && val !== "" && val !== null && val !== undefined) { updates[field] = val; } }); if (Object.keys(updates).length > 3) next[k] = { ...prev[k], ...updates }; } }); return next; }); setLastUpdated(new Date()); setRefreshMsg("✓ Live data successfully loaded from MQL5"); } else { setRefreshMsg("⚠ MQL5 data parsed — showing current cached values"); } } catch (err) { setRefreshMsg(`⚠ Refresh error: ${err.message} — showing verified cached data`); } finally { setRefreshing(false); setTimeout(() => setShowMsg(false), 5000); } }, []); useEffect(() => { refreshData(); }, []); return (
); }