راهنمای فارسی — از نصب تا استفادهٔ روزمره
این راهنما فرض میکند هیچ چیزی از پروژه نمیدانی. قدمبهقدم میرویم: نصب، اولین اجرا، کار با پنل توضیح، تمیز نگهداشتن چارت، رفتار هر تایمفریم، کارایی، و اینکه چطور خودت درستی اعداد را بازبینی کنی.
۱. نصب
دو راه داری: فایل کامپایلشدهٔ آماده، یا کامپایل خودت از سورس.
راه الف — فایل آماده (سادهتر)
۱) از صفحهٔ Release فایل ICT_Assistant_Canonical_v0_1.ex5 را دانلود کن.
۲) آن را در پوشهٔ MQL5\Indicators\ ترمینالت بگذار.
۳) در پنجرهٔ Navigator راستکلیک → Refresh.
۴) اندیکاتور را روی چارت بکش.
راه ب — کامپایل از سورس (کنترل کامل)
۱) بستهٔ سورس را از همان Release بگیر (یا مخزن را clone کن).
۲) فایل .mq5 و پوشهٔ modules/ را با هم در MQL5\Indicators\ بگذار
— بدنهٔ کد در همان modules/ است (یک فایل برای هر خانوادهٔ استراتژی) و فایل .mq5 فقط آنها را include میکند؛
پس این دو باید کنار هم بمانند وگرنه کامپایل خطا میدهد.
۳) در متاتریدر F4 بزن تا MetaEditor باز شود و Compile کن.
۴) باید با ۰ خطا و ۰ هشدار بسازد.
مسیر پوشهٔ دادهٔ ترمینال را چطور پیدا کنم؟
در متاتریدر: File → Open Data Folder. پوشهٔ MQL5\Indicators\ داخل همان است.
۲. اولین اجرا — چه چیزی باید ببینی
| چه چیزی | توضیح |
|---|---|
| چارت تمیز | برچسبهای انگلیسی آبجکتها روی چارت مخفیاند و داشبورد خاموش است. این عمدی است. |
| نوار ریسک برگشت | یک نوار تکخطی گوشهٔ چارت: نزدیکترین سطح، نوع و وضعیتش، فاصله بر حسب ATR، پیشرفت لگ و امتیاز ریسک برگشت. با InpShowRiskStrip کنترل میشود. |
| نواحی و خطوط | نواحی FVG، اردربلاک، عرضه/تقاضا و سطوح نقدینگی بر اساس کلیدهای هر خانواده رسم میشوند. |
| پیام Journal | در تب Journal یک خط مینویسد که حالت پنل توضیح فعال است و آفست واقعی بروکر را اعلام میکند. |
اگر بعد از attach چیزی ندیدی، اول مطمئن شو در تب Experts خطایی نیست و چارت بهاندازهٔ کافی کندل دارد. تحلیل روی کندل بسته انجام میشود، پس ممکن است تا بستهشدن کندل جاری چیزی اضافه نشود.
۳. پنل توضیح — قلب این ابزار
این اندیکاتور هم رسم میکند و هم یاد میدهد. آموزش از همینجا میآید.
دو حالت باز شدن
ورودی InpExplainOpen:
• EXPLAIN_OPEN_CLICK (پیشفرض) — روی آبجکت کلیک میکنی، پنل باز میشود. موس کاملاً آزاد است و هیچ رویداد حرکتی موس فعال نمیشود.
• EXPLAIN_OPEN_HOVER — سبک قدیمی: موس را روی آبجکت ببر.
بستن پنل
کلیک بعدی روی همان آبجکت، کلیک روی فضای خالی چارت، یا کلید Esc. یعنی دیدِ چارت هیچوقت برای مدت نامعلوم اشغال نمیماند.
پنل چه چیزی میگوید
ماهیت آبجکت · قاعدهٔ دقیقی که آن را ساخت · شرط تأیید · شرط ابطال · و روش بازبینی دستی عدد روی چارت خودت. هر جمله از روی قاعدهٔ کد نوشته شده، نه از روی حدس.
ظاهر پنل
InpShowExplainPanel روشن/خاموش ·
InpExplainPanelWidth عرض ·
InpExplainFontSize اندازهٔ قلم ·
InpExplainFont نام قلم ·
InpExplainMaxRows سقف تعداد خط.
فارسی چطور درست نمایش داده میشود
متاتریدر پشتیبانی بومی راستبهچپ ندارد و متن را چپچین میکند. این پروژه یک لایهٔ رندر اختصاصی دارد که خودش ترتیب حروف را میچیند، اتصالها را حفظ میکند و متن بلند را در چند خط میشکند — بهجای اینکه یک خط طولانی از کادر بیرون بزند.
خروجی نوشتاری
با InpWriteExplainCsv میتوانی همهٔ توضیحها را در یک فایل CSV داشته باشی — برای مطالعه در بیرون از ترمینال.
۴. چارت تمیز بماند، ولی چیزی از دست نرود
اصل طراحی: «ضروریها روشن، تزئینات خاموش» — و خاموشکردن رسم، هرگز کشف را متوقف نمیکند.
| میخواهی… | این ورودی |
|---|---|
| سقف نواحی و سطوح رسمشده را کم کنی | InpMaxDrawnZones · InpMaxDrawnLevels |
| سقف آبجکتهای Frozen را تعیین کنی | InpMaxFrozenObjects · InpFrozenHistoryEnabled |
| عمر آبجکتهای جاروشده را کوتاه کنی | InpSweptKeepBars |
| انقضای کلی رسم را تنظیم کنی | InpExpiryKeepBars · InpDeleteExpiredObjects |
| سقف رجیستری هر لایه را بدانی | InpMaxFVG · InpMaxOB · InpMaxLiquidity · InpMaxSwings · InpMaxPOI |
| داشبورد کامل را ببینی (اختیاری) | InpShowDashboard |
InpDeleteExpiredObjects را خاموش کن.
۵. هر تایمفریم برای خودش
هر چارت رجیستری، رسم و چرخهٔ عمر مستقل خودش را دارد. اگر اندیکاتور را روی M15 و H1 و H4 بگذاری،
هیچکدام آبجکت دیگری را بازنویسی نمیکند و شمارشها قاطی نمیشوند.
تایمفریم بالاتر بهعنوان دادهٔ کانتکست خوانده میشود (مثلاً برای Bias روی H4)،
ولی هرگز چیزی روی چارت جاری رسم نمیکند.
تایمفریمهای زنجیره با InpTF_Bias تا InpTF_Confirm2 قابل تنظیماند.
یک قاعدهٔ سخت هم وجود دارد: تایمفریمهای پایین میتوانند ستاپ را تأیید یا رد کنند، ولی هرگز نمیتوانند Bias تایمفریم بالاتر را برگردانند.
۶. کارایی — چرا سرعت چارت نمیافتد
یکبار در هر کندل بسته
بار سنگین تحلیل روی هر تیک اجرا نمیشود. بین بستهشدن کندلها فقط یک مسیر سریع برای رندر باقی میماند.
سقفدار بودن همهٔ رجیستریها
هیچ آرایهای بدون سقف رشد نمیکند؛ هر لایه سقف خودش را دارد و سیاست حذف مشخص است.
کپی سریها فقط وقتی لازم است
سریهای قیمت و ATR نه در هر تیک، بلکه فقط در کندل تازهٔ بسته یا بازسازی اولیه کپی میشوند.
هندل مشترک فایلهای شاهد
نوشتن ردیفهای تشخیصی با هندل باز انجام میشود، نه باز/بستهکردن فایل در هر کندل.
اگر باز هم کند بود، اول لایههای سنگین را خاموش کن و سقفهای رسم را کم کن؛ اگر مشکل باقی ماند در مخزن Issue باز کن و نماد، تایمفریم و تعداد کندلهای چارت را بنویس.
۷. چه چیزی تشخیص داده میشود
نُه مکتب در یک ابزار. هر مورد کلید رسم مستقل دارد.
| مکتب | مفاهیمی که پیاده شده |
|---|---|
| ICT | BOS · CHoCH/MSS · FVG در پنج نوع · اردربلاک با انواع · Breaker · Mitigation · جارو/Judas · BSL/SSL · سقف و کف برابر · Displacement · AMD · Premium/Discount · OTE · PD-Array/POI · Silver Bullet و همسویی HTF-LTF · IPDA و Quarterly Theory |
| SMC | ساختار شکست · FVG با Consequent Encroachment · اردربلاک Extreme و Internal/External · Breaker و Mitigation · شکار نقدینگی · نقدینگی خط روند/رنج/سشن · مدلهای ورود · Mitigation تودرتو |
| Market Maker Model | انباشت · دستکاری (Sweep/Judas) · توزیع · PD-Array · اردربلاک (Breaker + Mitigation) · نقدینگی BSL/SSL · FVG (BISI/SIBI) · Smart Money Reversal |
| وایکاف | انباشت/صعود/توزیع/نزول · Spring و Upthrust · SOS/SOW · LPS/LPSY · SC/BC · AR/ST · PS/PSY · Test و Absorption · تحلیل تلاش در برابر نتیجه · فازهای A تا E |
| عرضه و تقاضا (کلاسیک) | ناحیهٔ عرضه/تقاضا · RBR · DBD · RBD · DBR · تازه در برابر تستشده · Flip Zone · Engulfing در نواحی · امتیاز قدرت ناحیه |
| تئوری بازار حراج / Market Profile | POC · Value Area با VAH/VAL · HVN · LVN · تعادل/عدم تعادل · Initial Balance · شمارش TPO · پذیرش/رد · انواع باز شدن · انواع روز |
| پروفایل حجم | POC · Value Area · HVN/LVN · Naked POC · گرههای حجمی محلی · شکل پروفایل · پروفایل سشن و دامنهٔ مرئی (بهصورت تقریب تیکولوم) |
| RTM | نواحی عرضه/تقاضا به سبک RTM · Flip Zones · تلههای ورود · کندلهای مومنتوم · فشردگی/انبساط · استخرهای نقدینگی · Engulfing و Rejection · همگرایی چند تایمفریم · تحویل قیمت |
| پرایساکشن البروکس | کندل روند · دوجی و بدنههای کوچک · کندل سیگنال و ورود · کندل تأیید · Always-In · رنج دوطرفه · شکست و شکست ناموفق · پولبک H1–H4 و L1–L4 · Measured Move · ۲۰ EMA · خط روند و کانال · تله و کندل برگشتی |
۸. چطور خودت بفهمی محاسبه درست است
- پنل توضیح. هر آبجکت روش بازبینی دستی عددش را میگوید: کدام کندلها، کدام مرز، و چه شرطی.
- ابزارهای اعتبارسنجی. در پوشهٔ
tools/بیست ابزار PowerShell است که قاعدهها را قفل میکنند. باpowershell -File tools/Validate-Phase37.ps1میتوانی هرکدام را جدا اجرا کنی. - آزمون رفتاری روی کندل ساختگی. اندیکاتور یک هارنس داخلی دارد (ورودی
InpRunBehaviorSelfTest) که ۲۵ سناریو با پاسخ معلوم را روی همان توابع واقعی تشخیص اجرا میکند و گزارش را درICT_Assistant_Canonical_SelfTest.csvمینویسد. ابزارValidate-Phase37.ps1آن گزارش را میخواند و اعداد را با یک بازمحاسبهٔ مستقل مقایسه میکند. - اثبات اینکه بازآرایی کد منطق را عوض نکرده. منبع اصلی یک فایل ۱۱٬۰۶۸ خطی بود؛ حالا یک فایل
.mq5است که ۳۰ ماژول درmodules/را include میکند. باpowershell -File tools/Verify-ModuleSplit.ps1ثابت میشود این ۳۰ برش دقیقاً به همان SHA256 فایل قبلی بازمیگردند — بایتبهبایت، نه تقریبی.
۹. واژهنامهٔ کوتاه
| واژه | یعنی چه |
|---|---|
| FVG — Fair Value Gap | گپ سهکندلی که یک سمت بازار سریع حرکت کرده و ناکارآمدی جا گذاشته است. |
| BISI / SIBI | نامگذاری ICT برای FVG صعودی / نزولی. |
| CE — Consequent Encroachment | میانهٔ گپ؛ «خط تصمیم». لمس میانه با لمس لبه فرق دارد. |
| OB — Order Block | آخرین کندل مخالف پیش از یک حرکت قوی؛ ناحیهٔ ورود سفارشگذار بزرگ. |
| BOS | شکست ساختار در جهت روند موجود. |
| CHoCH / MSS | تغییر کاراکتر بازار؛ اولین نشانهٔ چرخش ساختار. |
| Displacement | کندل پرقدرت با بدنهٔ بزرگ که ناکارآمدی میسازد. |
| Sweep / Judas | فتیله فراتر از یک سطح نقدینگی با بستهٔ برگشتی داخل. اگر بسته بیرون بیفتد، شکست است نه جارو. |
| BSL / SSL | نقدینگی سمت خرید (بالای سقفها) / سمت فروش (زیر کفها). |
| PDH / PDL / PWH / PWL | سقف و کف روز قبل / هفتهٔ قبل. |
| EQH / EQL | سقفها یا کفهای برابر — هدف نقدینگی. |
| Premium / Discount | بالای ۵۰٪ دامنه گران (Premium)، پایین آن ارزان (Discount). |
| OTE | ناحیهٔ ورود بهینه، حدوداً ۰٫۶۲ تا ۰٫۷۹ اصلاح، با پنجرهٔ طلایی ۰٫۷۰۵. |
| POI / PD-Array | نقطهٔ مورد علاقه؛ رجیستری نواحی قابل معامله با امتیاز کیفیت. |
| DOL | سطح هدف تحویل قیمت؛ جایی که بازار احتمالاً به آن میرود. |
| IPDA | سطوح مرجع بلندمدت (سقف/کف ۲۰، ۴۰، ۶۰ روزه). |
| AMD / Power of Three | انباشت، دستکاری، توزیع — قالب سهمرحلهای حرکت. |
| POC / VA / HVN / LVN | پرترافیکترین قیمت پروفایل / ناحیهٔ ارزش / گرهٔ حجم بالا / گرهٔ حجم پایین. |
| Always-In | وضعیت البروکس: بازار در ذهن معاملهگر «همیشه خریدار» است یا «همیشه فروشنده». |
| No-repaint | سیگنال بعد از منتشر شدن عوض نمیشود؛ تحلیل فقط روی کندل بسته. |
۱۰. عیبیابی
اندیکاتور روی چارت نیست
پس از گذاشتن فایل، از Navigator → Indicators → Refresh بزن. اگر هنوز نیست، بررسی کن فایل در MQL5\Indicators\ باشد (نه پوشهٔ دیگر) و در Journal خطای کامپایل نباشد.
روی چارت هیچ چیزی رسم نشده
سه دلیل محتمل: (۱) کندل کافی روی چارت نیست — تایمفریمهای کوچک تاریخچه را کم بخوانند؛ کمی اسکرول کن یا تاریخچه را دانلود کن. (۲) لایهٔ مربوطه خاموش است. (۳) تحلیل فقط روی کندل بسته اجرا میشود و هنوز کندل بستهٔ مناسبی برای آن الگو وجود نداشته است.
پنل توضیح باز نمیشود
در حالت پیشفرض باید روی آبجکت کلیک کنی (نه صرفاً عبور موس). اگر روی حالت HOVER باشی (InpExplainOpen=EXPLAIN_OPEN_HOVER)، موس را باید دقیقاً روی خود خط یا مرز ناحیه ببری و در ورودی InpExplainHoverTolPx تلورانس را کمی بیشتر کنی.
متن پنل بریده یا نامرتب است
عرض و اندازهٔ قلم را با InpExplainPanelWidth، InpExplainFontSize و InpExplainMaxRows تنظیم کن. اندازهٔ قلم را عوض کن و اندیکاتور را دوباره attach کن (تغییر قلم در rebuild بعدی اعمال میشود).
چارت شلوغ است
سقفهای رسم (InpMaxDrawnZones، InpMaxDrawnLevels) را کم کن، عمر آبجکتهای جاروشده (InpSweptKeepBars) را کوتاه کن، یا لایههای تزئینی را خاموش کن. کشف با خاموشکردن رسم متوقف نمیشود.
چارت کند شده
اول تعداد آبجکتها را با سقفها کم کن، بعد لایههای سنگینتر (رسم HTF، خطوط روند، پروفایل) را خاموش کن. اگر روی M1 کار میکنی، تعداد کندل اسکن تاریخچه را کم کن.
پس از کامپایل مجدد، تغییرات را نمیبینم
اندیکاتور را از چارت Remove کن، در Navigator راستکلیک → Refresh، و دوباره روی چارت بکش. متاتریدر نسخهٔ قدیمی را در حافظه نگه میدارد.
اعداد را قبول ندارم؛ چطور گزارش بدهم؟
در مخزن Issue باز کن و بنویس: نماد، تایمفریم، زمان کندل، اسم آبجکت، انتظار تو و آنچه دیدی. اگر پنل توضیح متنش را نشان میدهد، همان را هم کپی کن. با این اطلاعات میتوان قاعده را بهصورت دقیق بررسی کرد.
۱۱. محدودیتها و سلب مسئولیت
| فاصلهٔ استاپ | بافر ثابت است، ATR‑آگاه نیست و SYMBOL_TRADE_STOPS_LEVEL را در نظر نمیگیرد. |
| معیارهای حجمی | تیکولوم است، نه حجم واقعی معاملهشده. دادهٔ اردرفلو/فوتپرینت/دلتای واقعی از فید نیتیو متاتریدر در فارکس در دسترس نیست. |
| امتیاز ریسک برگشت | مجموع وزندار شواهد است، نه احتمال کالیبرهشده. |
| ربات نیست | سفارش نمیگذارد، مدیریت نمیکند و توصیهٔ مالی نیست. |