📈 بک‌تست ۶ ساله:6Y Backtest: $100,000 — 2019
HS
AI ENGINEER · ALGORITHMIC SYSTEMS & TRADING

استراتژی ترید را به سیستم‌های قابل‌اتکای الگوریتمیک تبدیل می‌کنم I turn discretionary trading strategies into reliable algorithmic systems

Python + MetaTrader 5 | یک مغز واحد برای بک‌تست، اجرای زنده و راستی‌آزمایی | Supply/Demand Zones + Multi-Timeframe Confluence | بک‌تست ۶ ساله، اجرای دمو بدون حتی یک انحراف. Python + MetaTrader 5 | A single strategy brain shared by backtest, live execution and verification | Supply/Demand zones with W1→D1→H4 confluence | 6-year backtest, live demo with zero divergence.

بک‌تست ۶ ساله — سبد ۱۰ نماد6-Year Backtest — 10-Symbol Portfolio

+825%بازده خالصNet Return
9.45%حداکثر افتMax Drawdown
1.33فاکتور سودProfit Factor
2,491معاملهTrades
43.4%درصد بردWin Rate
9/10نماد پایدار در تست دو نیمهStable in split-half test
SymbolTradesWin %Profit FactorAvg R
XAUUSD31739.431.238+0.150
GBPJPY30043.671.319+0.193
AUDJPY29645.271.481+0.284
USDCHF27440.151.250+0.162
CHFJPY27139.851.164+0.105
EURCAD25036.800.960−0.027
EURNZD22544.441.322+0.190
AUDUSD19549.741.783+0.424
GBPNZD19648.981.573+0.314
NZDCAD16752.691.688+0.370

نمودار رشد حساب — اجرای زنده (دمو)Account Growth — Live Demo Execution

ساخته‌شده از تاریخچه واقعی حساب دمو در متاتریدر ۵ — ترید‌به‌ترید. (نمودار پس‌زمینه‌ی صفحه = بک‌تست ۶ ساله؛ این یکی = اجرای زنده.) Built from the real MetaTrader 5 demo history — trade by trade. (The page background curve = 6-year backtest; this one = live execution.)

2026-07-24 — $100,000$101,696 — 2026-08-07

داستان من — از روانشناسی ترید تا هوش مصنوعیMy Story — From Trading Psychology to AI

خودم تریدر هستم و بحث روانشناسی معامله‌گری را عمیقاً درک می‌کنم — همان عاملی که بیش از ۹۰٪ معامله‌گران را ضررده می‌کند. الهام‌بخش من آنتون کریل (Anton Kreil) بود؛ معامله‌گر اسبق گلدمن ساکس و لمان برادرز و بنیان‌گذار Trading Institute که برنامه‌ی «Million Dollar Trader» را اجرا و مدیریت معامله‌گران را بر عهده داشت و در یکی از مصاحبه‌هایش گفت آینده متعلق به هوش مصنوعی است؛ معامله‌گران روزانه یا حذف می‌شوند یا باید خودشان را با این موج وقف دهند — و این وقف‌دادن، کار بسیار سختی است. همان‌جا، حدود یک‌ونیم سال پیش، تصمیم گرفتم استراتژی خودم را به ربات معامله‌گر تبدیل کنم. I am a trader myself, and I deeply understand trading psychology — the very edge that makes over 90% of traders lose money. My inspiration was Anton Kreil — former Goldman Sachs and Lehman Brothers trader, founder of the Trading Institute, who ran the Million Dollar Trader program and managed its traders — who said in an interview that the future belongs to AI: day traders will either be eliminated or must reinvent themselves, which is brutally hard. That's when, about 1.5 years ago, I decided to turn my own strategy into a trading robot.

با مدل‌های ابتدایی مثل GPT-4 و GPT-4o شروع کردم؛ مثل این بود که از کودکی که هنوز الفبای فارسی را بلد نیست بخواهی انگلیسی صحبت کند — مدل‌هایی صرفاً گفتاری. هیچ پیشرفتی نبود تا اینکه GPT-5.2 Thinking از راه رسید و ورق برگشت: قوانین استراتژی‌ام را وارد کردم و بزرگ‌ترین چالش، حافظه‌ی مدل در پروژه‌ای به این سنگینی بود. با همه سختی‌ها و تعویض چت‌ها، به مرحله بک‌تست رسیدیم — و نتایج باورنکردنی بود (همین اعداد این سایت). آن شب از خوشحالی خوابم نبرد. I started with primitive models like GPT-4 and GPT-4o — like asking a child who doesn't know the Persian alphabet to speak English; purely conversational models. Nothing moved until GPT-5.2 Thinking arrived and everything flipped: I fed in my rules, and the biggest bottleneck became the model's context memory on a project this heavy. Through constant chat-switching we finally reached the backtest stage — and the results were unbelievable (the exact numbers on this site). I couldn't sleep that night.

چالش بزرگ‌تر: اتصال کد به متاتریدر — از عرضه GPT-5.2 Thinking تا عرضه Claude Fable 5 طول کشید؛ انقلابی واقعی در این بازه. و بعد Claude Opus 5 معرفی شد که در برخی بنچمارک‌ها از Fable هم بالاتر بود، در حالی که بسیار ارزان‌تر بود؛ کد را برای دیباگ و بهینه‌سازی به Opus 5 سپردم و کارهای زیادی رویش انجام شد تا به این نسخه رسیدیم. The bigger challenge: connecting the code to MetaTrader — it took from GPT-5.2 Thinking's release until Claude Fable 5 arrived; a true revolution. Then Claude Opus 5 launched, beating Fable on some benchmarks while being far cheaper; I handed the code to Opus 5 for debugging and optimization, and after extensive work we reached this version.

پروژه‌هاProjects

پروژه ۱ — در حال اجرا روی دمو، بدون انحرافProject 1 — Live on demo, zero divergence

🤖 موتور اجرای زنده‌ی زون‌های عرضه/تقاضا (MetaTrader 5)Supply/Demand Live Execution Engine (MetaTrader 5)

همان ماژولی که بک‌تست ۶ ساله را گرفته، عیناً لایو اجرا می‌شود؛ ربات هر سیکل، مغز استراتژی را روی دیتای زنده‌ی بروکر بازپخش می‌کند و سفارش‌های لازم را با متاتریدر همگام‌سازی می‌کند. The exact module that produced the 6-year backtest runs live; every cycle the bot replays the strategy brain on live broker data and reconciles required orders with MetaTrader.

  • معماری Single-Brain: بازپخش موتور بک‌تستر روی دیتای زنده → صفر انحراف بک‌تست/لایو «به‌ساخت»، نه به وعدهSingle-brain architecture: the backtester's own engine replayed on live data → zero backtest/live divergence by construction, not by promise
  • پیش‌گذاری Limit Order در عمق ۵۰٪ زون؛ پر شدن توسط سرور بروکر وسط کندل — بدون تأخیر انتظار برای کلوز کندلPre-placed limit orders at 50% zone depth; fills executed by the broker server mid-candle — no candle-close latency
  • SL/TP روی خود سفارش (Server-Side)؛ پوزیشن‌ها حتی با خاموشی کامل VPS محافظت‌شده می‌مانندServer-side SL/TP attached to the order itself; positions stay protected even if the VPS dies completely
  • ریسک متغیر بر اساس سشن: ۰.۲۵٪ در سشن‌های همپوشانی، آسیا و سیدنی + حجم‌دهی با ریاضیات قراردادِ خود بروکر (order_calc_profit)Session-dependent variable risk: 0.25% in overlap, Asia and Sydney sessions + position sizing via the broker's own contract math (order_calc_profit)
  • با تغییر سشن، اوردرهای در انتظار خودکار با حجم جدید چیده می‌شوند (تلورانس ۱۵٪) — تا رفتار لایو با بک‌تست یکی بماندOn session change, pending orders are automatically re-sized to the new session's risk (15% tolerance) — keeping live behavior identical to the backtest
  • سهمیه‌بندی Round-Robin منصفانه: سقف ۸ اوردر و حداکثر ۳ پوزیشن باز؛ با پر شدن سقف، اوردرها موقتاً جمع و پس از آزاد شدن دوباره چیده می‌شوندFair round-robin allocation: 8-order cap and max 3 open positions; on cap hit, orders are gracefully pulled and re-synced on release
  • سیو سود در 2R: نقد کردن ۵۰٪ حجم، ادامه‌ی باقی‌مانده به سمت 3R؛ تیکت‌های مدیریت‌شده روی دیسک ماندگارند (بقا پس از ری‌استارت)Partial profit capture at 2R: 50% volume closed, remainder runs to 3R; managed tickets persisted on disk (survives restarts)
  • مهندسی Fault-Tolerance: اتصال خودکار بی‌پایان با تشخیص خطا به زبان ساده، فایل Heartbeat، صف آفلاین ۵۰۰ پیامی بله با تلاش مجدد، جلوگیری از گزارش تکراری پس از ری‌استارت، تشخیص باز/بسته بودن بازار از تازگی تیکFault-tolerance engineering: infinite auto-reconnect with plain-language diagnostics, heartbeat file, 500-message offline Bale queue with retry, duplicate-report prevention after restarts, market-open detection via tick freshness
  • نگهبان اختصاصی (Watchdog) بالای سر ربات معامله‌گر: نمی‌گذارد ربات کرش بماند — مشکلات را خودش حل می‌کند و اگر نتوانست، همان لحظه به من اطلاع می‌دهد تا دستی انجامش دهمA dedicated watchdog over the trading bot: never lets it stay crashed — self-resolves issues, and the moment something is beyond its fix, alerts me instantly to handle it manually
  • گیت یکپارچگی در استارت: اگر سبد لایو ≠ سبد بک‌تست، ربات از اجرا امتناع می‌کند (هرگز چیزی معامله نمی‌شود که بک‌تست نشده)Startup integrity gate: if live basket ≠ backtest basket, the bot refuses to run (nothing trades that hasn't been backtested)
  • قفل سخت فقط-دمو (ALLOW_REAL = False) + لاگ مهندسی کامل فارسی: دلیل هر سفارش، هر لغو، هر پر شدن و هر بسته شدنHard demo-only lock (ALLOW_REAL = False) + full engineering logs: the reasoning behind every order, cancellation, fill and close
پروژه ۲ — موتور بک‌تست پرتفوی‌محورProject 2 — Portfolio-level backtesting engine

🧪 بک‌تستر عمومی استراتژی (run_backtest)General-Purpose Strategy Backtester (run_backtest)

موتور بک‌تست پرتفوی‌محور که هر کسی می‌تواند استراتژی خودش را با آن بسنجد — نه تک‌نمادِ ایده‌آل، بلکه چند نماد هم‌زمان روی یک حساب واقعی با همه‌ی محدودیت‌هایش. A portfolio-level backtesting engine anyone can use to test their own strategy — not on a single idealized symbol, but on multiple symbols simultaneously over one shared account with all real constraints.

  • تشخیص زون‌های عرضه/تقاضا با کان‌فلوئنس چندتایم‌فریمی: W1 (زمینه) → D1 (جهت‌گیری) → H4 (زون ورود) بر پایه‌ی متدولوژی آلفونسو مورنوSupply/Demand zone detection with multi-timeframe confluence: W1 (context) → D1 (bias) → H4 (entry zones), based on Alfonso Moreno's methodology
  • شبیه‌سازی «عین لایو»: همه‌ی نمادها هم‌زمان روی یک حساب، با همان سقف‌های اوردر/پوزیشن، همان وزن‌دهی سشن و همان ۱۵٪ سرمایه‌ی رزروTrue-to-live simulation: all symbols concurrently on one account, with the same order/position caps, session weights and 15% reserve capital
  • خروجی آماری کامل: درصد برد، فاکتور سود، میانگین R، منحنی اکویتی و افت حداکثری — به تفکیک نماد و کل حسابFull statistical output: win rate, profit factor, average R, equity curve and max drawdown — per symbol and account-wide
  • تست پایداری Split-Half + تست حذف تک‌نماد برای مقابله با Overfitting؛ حذف نمادهای ضررده (USDCAD, NZDUSD) با رأی دو دیتاست مستقل ۶ و ۸ سالهSplit-half stability test + single-symbol elimination test against overfitting; losing symbols (USDCAD, NZDUSD) eliminated by two independent 6- and 8-year datasets
  • خط لوله‌ی دیتای خودکار (export_data.py): استخراج H4/D1/W1 از همان بروکر با MT5 API، حل پسوند نماد بروکر، بسته‌بندی ZIP با فرمت دقیق موتورAutomated data pipeline (export_data.py): pulls H4/D1/W1 from the same broker via MT5 API, resolves broker symbol suffixes, packages ZIPs in the engine's exact format
  • طراحی Single-Source-of-Truth: همین ماژول، مغزِ هر سه سیستم است (بک‌تست، ربات لایو، ربات راستی‌آزمایی)Single-source-of-truth design: this one module is the brain of all three systems (backtest, live bot, verification bot)
پروژه ۳ — راستی‌آزمایی خودکار عملکرد لایوProject 3 — Automated live performance verification

🔍 ربات مقایسه‌گر عملکرد لایو با بک‌تستLive-vs-Backtest Reconciliation Bot

نگهبانی که هر بار به‌صورت خودکار دیتای تازه‌ی همان بروکر و هیستوری واقعی حساب متاتریدر را استخراج می‌کند، دقیقاً همان بازه‌ای که ربات لایو ترید کرده را با مغز بک‌تستر بازپخش می‌کند و خروجی را ترید‌به‌ترید با هیستوری بروکر تطبیق می‌دهد؛ هر انحراف عملکرد لایو از بک‌تستِ گذشته، همان لحظه کشف و در پیام‌رسان بله گزارش می‌شود. A watchdog that automatically extracts fresh data from the same broker plus the real MT5 account history, replays the exact window the live bot traded through the backtester brain, and reconciles the output trade-by-trade against the broker history; any live-vs-backtest drift is detected instantly and reported via Bale messenger.

  • استخراج خودکار دیتای چندتایم‌فریمی + هیستوری معاملات از MT5 — بدون هیچ دخالت دستیAuto-extraction of multi-timeframe data + trade history from MT5 — zero manual intervention
  • بک‌تست خودکارِ بازه‌ی لایو + تطبیق ترید‌به‌ترید (Trade-by-Trade Reconciliation) با هیستوری بروکرAutomatic live-window backtest + trade-by-trade reconciliation against broker history
  • هشدار انحراف عملکرد (Performance Drift Alert) با متن کامل در بلهPerformance drift alerts with full context pushed to Bale messenger
  • کاری که مهندسِ ربات‌های میلیون‌دلاری هج‌فاندها به‌صورت دستی انجام می‌دهد، این سیستم به‌صورت خودکار انجام می‌دهد — هر سیکل، بدون استثنا. What million-dollar hedge-fund quant engineers do manually, this system does automatically — every cycle, no exceptions.

رصد زنده — ربات خودش گزارش می‌دهدLive Monitoring — The Bot Reports Itself

هر سفارش، هر لغو، هر کرش، هر گزارش روزانه — با دلیل دقیق، همان لحظه به پیام‌رسان بله می‌رسد. Every order, cancellation, crash and daily report — with exact reasoning, pushed to Bale messenger in real time.

لاگ ربات تریدر🤖
🤖 ربات روشن شد حساب: MetaQuotes-Demo | دمو بالانس: 100,000 | اکویتی: 100,000 USD سبد: 10 نماد (XAUUSD, AUDJPY, AUDUSD, CHFJPY, ...) ریسک 0.5% | حد سود 3R | ورود 50% زون | سقف: هر چارت ۳، کل ۸20:36
🌙 بازار تعطیل است — ربات بیدار است و منتظر باز شدن بازار می‌ماند (سفارش‌ها و پوزیشن‌ها دست‌نخورده‌اند).20:37
☀️ بازار باز شد — ربات دوباره شروع به کار کرد.14:00
گزارش راه‌اندازی + مدیریت سشنStartup report + session handling
لاگ ربات تریدر⚙️
🗑️ سفارش لغو شد | زون AUDUSD_H4_00300 | فروش ├ مشخصات: ورود 0.72222 | استاپ 0.7229 | تارگت 0.72017 | حجم 9.37 ├ عمر سفارش: 59 دقیقه ├ دلیل دقیق: روند روزانه: صعودی | روند H4: نزولی | رنج روزانه: خیر | رنج H4: خیر └ اقدام بعدی: دوباره چیده نمی‌شود (زون طبق قوانین استراتژی باطل شد)06:00
🟢 سفارش فروش گذاشته شد | زون AUDUSD_H4_00315 حجم 4.61 لات (ریسک واقعی $530) سشن: همپوشانی لندن-نیویورک × 1.25 ورود 0.71422 | استاپ 0.70961 | تارگت 0.7130706:00
لغو به‌خاطر ناهم‌جهتی MTF + سفارش وزن‌دار سشنMTF confluence failure → cancel; session-weighted placement
لاگ ربات تریدر🛡️
⚠️ ارتباط با متاتریدر قطع شد! تلاش خودکار برای اتصال دوباره شروع شد...14:00
✅ اتصال برقرار شد | حساب 110066438 (MetaQuotes-Demo) | دمو | موجودی 101,696.42 EUR14:00
🚨 متاتریدر به سرور بروکر وصل نیست (اینترنت یا سرور بروکر قطع است)!19:18
🟢 مشکل برطرف شد — همه‌چیز دوباره سالم است و ربات ادامه می‌دهد.19:24
کشف و بازیابی خودکار قطع اتصالAuto detection & recovery of connection loss
لاگ ربات تریدر📊
📊 گزارش روزانه‌ی حساب USDCHF (فروش): -0.41% در ضرر USDCAD (خرید): +0.17% در سود — برایند تریدهای باز: -0.23% در ضرر — اوردرهای در انتظار: 7 — بالانس: 101,696 | اکویتی: 101,458 EUR12:00
🟢 ربات در حال اجراست | همه‌چیز سالم است | اوردرهای در انتظار: 7 | تریدهای باز: 212:05
گزارش روزانه‌ی درصدی + ضربان سلامتDaily percentage report + health heartbeat
لاگ ربات تریدر💰
💰 سیو سود انجام شد! زون CHFJPY_H4_00368 سود به ۲ برابر ریسک رسید — 3.41 لات از 6.83 لات نقد شد؛ بقیه به سمت تارگت ادامه می‌دهد.19:39
🏁 معامله بسته شد (حد سود خورد ✨) | زون CHFJPY_H4_00368 نتیجه‌ی این معامله: +0.80% در سود برایند کل حساب: +1.70% در سود10:52
سیو سود در 2R و گزارش بسته شدنPartial capture at 2R + close report
لاگ ربات تریدر🚨
🚨 ربات از کار افتاده! 15 دقیقه است ضربان نزده (آخرین: 20:36) دارم دوباره راه‌اش می‌اندازم...20:51
❌ نگهبان نتوانست ربات را راه بیندازد — دستی به VPS سر بزن.20:51
🤖 ربات روشن شد همگام‌سازی کامل شد | اوردرهای تخصیص‌یافته: 6 از سقف 820:37
کشف کرش + بازیابیCrash detection + recovery

این نموداری که پشت صفحه دیدی و همراهت بزرگ شد،
دقیقاً همان نمودار برایند حساب من در بک‌تست ۶ ساله است.
The curve that grew behind this page as you scrolled
is exactly my account's equity curve from the 6-year backtest.

$100,000$925,301

تماسContact



حسین شیردل — متخصص سیستم‌های الگوریتمیک و معامله‌گری Hossein Shirdel — Specialist in Algorithmic Systems & Trading