Pipsgrowth EX16035 Trend — إكسبرت أدفايزر متابعة اتجاه
إكسبرت أدفايزر MT5 مفتوح المصدر · XAUUSD · M1، H1
Pipsgrowth EX16035 Trend — XAU M1 scalper using dual-entry signals (EMA cross + RSI threshold) with dual confirmations (MACD + Stochastic) within a. إكسبرت أدفايزر MT5 مفتوح المصدر.
نظرة عامة
مؤشر Pipsgrowth EX16035 Trend هو مضارب على الإطار الزمني M1 لزوج XAUUSD مبني على قاعدة واضحة: Expert Advisor لا يفتح صفقة قبل أن تتفق قنواته الأربع للمؤشرات الفنية كلها، وحتى في تلك الحالة يقتصر على ساعات السيولة الأعلى لدى الوسيط. يشير اسم "EX_X2" في ترويسة الكود المصدري — "EX16035 EX_X2_XAUUSD" — إلى بنية X2: قناتا دخول وقناتا تأكيد، مع ربط أربعة مؤشرات داخل OnInit، جميعها تعمل على نفس شريط M1 لكنها تقرأ حركة السعر من زوايا مختلفة. الإعداد الافتراضي يجمع SIG_MA_CROSS (تقاطع المتوسطَين الأسيَّين 9 و50) مع SIG_RSI_THRESH (مؤشر RSI لفترة 14 يعبر المستوى 55/45) للدخول، ثم SIG_MACD_CROSS (12/26/9) مع SIG_STOCH_CROSS (14/3/3 داخل المستويين 20/80) للتأكيد. يمكن اختيار أي عضو من أعضاء enum الخمسة SignalType عبر المدخلات الأربع InpEntry*Type وInpConfirm*Type، فيستطيع المتداول استبدال SIG_CCI_THRESH (CCI 20 ±100) أو الاكتفاء بقناة دخول واحدة وقناة تأكيد واحدة إذا أراد مرشحاً أكثر مرونة.
تحيا رياضيات خط أنابيب الإشارات في دالتين مدمجتين. تُعد CombinedWindowCheck() الجهاز العصبي المركزي: تمشي للخلف بمقدار InpEntryWindowBars (6) أعمدة مغلقة وتسأل، بشكل منفصل لجانب الشراء وجانب البيع، "هل اشتعلت كلتا قناتي الدخول على هذا الجانب داخل النافذة، وهل اشتعلت كلتا قناتي التأكيد على هذا الجانب داخل النافذة؟" عندما يكون InpRequireEntriesSameBar=false (الافتراضي) لا تشترط الدالة أن يقع الدخولان على نفس الشريط — قد يشتعل الدخول-1 على الشريط 4 والدخول-2 على الشريط 2 — بل تكتفي بوجودهما معاً في آخر ستة أشرطة. ثم تُحوِّل EvalGenericBuy وEvalGenericSell التنفيذ إلى منطق كل إشارة: MA_Cross_Buy تتحقق من f[1] <= s[1] && f[0] > s[0] (تقاطع السريع فوق البطيء على الشريط الحالي)، وRSI_Buy تتحقق أن شريط RSI السابق كان عند 55 أو أقل والشريط الحالي فوق 55، وMACD_Buy تتحقق أن الخط الرئيسي قطع فوق خط الإشارة، وStoch_Buy تتحقق أن %K قطع فوق %D مع بقائه داخل عتبة التشبع البيعي 20. كل قاعدة تعمل على أعمدة مغلقة (shift≥1)، فلا يمكن لأي إشارة أن تتغير لاحقاً.
عندما يتأهل كل من إعداد الشراء وإعداد البيع داخل النافذة نفسها، لا يتخطى المؤشر الشريط — بل يختار الجانب الأكثر حداثة. تستدعي TryEntries() الدالة CombinedWindowCheck() مرتين، وتستعيد bestShift لكل جانب، وتقارنهما. يفوز الإزاحة الأصغر (إذا كانت freshBuyShift < freshSellShift يتم إطلاق شراء). هذا السلوك غير معتاد — معظم المؤشرات التي تكتشف جانبي السوق داخل نافذة تتجاهل الشريط بأكمله — ويجعل EX16035 موجهاً لاتجاه محدد بدلاً من أن يكون انتقائياً في نهاية دقيقة متذبذبة.
يمر مسار الأمر بعد ذلك عبر خمس بوابات. تُعد CanPlaceNewEntries() البوابة المركزية: تتحقق من TimeCurrent() < g_tradePauseUntil (الذي تحدده OnTradeTransaction بعد سلسلة خسائر)، وقفل الإدخال الواحد لكل شريط عند g_lastEntryBarTime == iTime(_Symbol, PERIOD_CURRENT, 0)، ونافذة IsWithinSessions()، وسقف CheckSpreadOK() الديناميكي بناءً على الوسيط، وCountOpenPositionsAll() < MaxOpenTrades (5). فحص الجلسة مضبوط على لندن 7-17 ونيويورك 13-22، مع احتياطي للتمديد الليلي عندما تكون ساعة البدء أكبر من ساعة الانتهاء. أما سقف الفروق السعرية الديناميكي فهو المرشح الأكثر إثارة للاهتمام: g_spreadBuf[1024] مخزن دائني لآخر 200 فرق سعرى ملاحظ، يتم تحديثه كل تيكة عبر SpreadBufPush، ويتم حساب الوسيط عن طريق فرز الإدراج داخل MedianSpread(). إذا كان InpUseDynamicSpreadCap=true وامتلأ المخزن، يرفض المؤشر الإدخالات عندما يتجاوز الفرق السعرى الحالي ثلاثة أمثال الوسيط (InpSpreadMedianMult=3.0). السقف المطلق InpSpreadCapAbsPoints=0 معطّل افتراضياً، فيبقى الوسيط هو البوابة الوحيدة.
بعد اجتياز البوابات، يبني CalcSLTP() الأمر مع احترام InpUseATRforSLTP. عند إيقاف ATR (الافتراضي)، يكون وقف الخسارة 300 نقطة والهدف 600 نقطة — نسبة مخاطرة:عائد ثابتة 1:2 بالنقاط. عند تفعيل ATR، يُجلب المؤشر لفترة 14 عبر المقبض الكسول hATR = iATR(...) داخل GetATRPoints() ويتسع الوقف والهدف إلى 3.0× و6.0× من قيمة ATR. ثم يرسل SendOrder() أمر سوق بالوقف والهدف المحسوبين، ويعيد المحاولة حتى ثلاث مرات عند TRADE_RETCODE_REQUOTE أو TRADE_RETCODE_INVALID_STOPS، ويسقط إلى إرسال بدون وقف/هدف متبوعاً بـ ModifyPositionSLTP() إذا رفض الوسيط الوقف في تذكرة الأمر.
مرحلة إدارة الصفقات هي ما يميز EX16035 عن مضارب التقاطع التقليدي. تعمل ApplyDynamicLockProfitToPosition() كل تيكة على كل صفقة مفتوحة. تحسب movedPts (المسافة التي تحركها السعر لصالح الصفقة)، وتقسمها على InpLockProfitEveryXPoints (150)، وتدفع الوقف للأمام إلى entry + (steps × 150) - InpLockMinusYPointsBuffer (20). فإذا تحركت الصفقة 320 نقطة، يصبح steps = floor(320/150) = 2، والوقف الجديد entry + (2×150) - 20 = entry + 280. لا يُرفع الوقف إلا بتشديد (if(curSL>0 && newSL<=curSL) return;)، ويُتجاهل أي تحديث يقع داخل SYMBOL_TRADE_FREEZE_LEVEL. هذه قفل متدرج بخطوات، وليس trailing مستمر — يظل الوقف عند entry + 130، ثم يقفز إلى entry + 280، ثم entry + 430، دون مستويات وسيطة.
منطق الموقع الرابع في IsAllSameDirProfitableAtLeast() هو القطعة الأخيرة المميزة. عندما يكون AllowOnlyProfitableAdditions=true (الافتراضي) وتوجد بالفعل صفقة واحدة على الأقل في نفس الاتجاه، يمشي المؤشر على كل تذكرة في الاتجاه نفسه ويتحقق أن السعر الحالي تجاوز سعر الفتح بمسافة لا تقل عن MinProfitPerTradeToAdd (5.0 نقاط) على كل واحدة منها. إذا بقيت أي صفقة في الاتجاه نفسه تحت الماء، يُرفض الإضافة. القصد هو البناء الهرمي فقط على حركات التأكيد، وليس داخل صفقة خاسرة.
تدّعي الترويسة 12 طبقة وتذكر CAPITAL CAP بينها، لكن الكود لا يحتوي على وقف للعدالة (Equity Stop) ولا على مفتاح إيقاف عند تراجع الرصيد — الحراس الوحيدون على رأس المال هما مدخلا الإيقاف المؤقت عند السلاسل السلبية، وكلاهما معطّل افتراضياً. تُعد OnTradeTransaction خطاف أحداث المخاطرة الحي: كل صفقة مغلقة تحدّث g_lossStreakCount وg_lossStreakAmt (الربح/الخسارة السلبية فقط)، وسيُفعِّل PauseConsecutiveLossesCount (3) أو PauseLossAmount (100) قيمة g_tradePauseUntil لمدة 60 دقيقة. أدوات إعادة المحاولة TryClose_EX16035 وTryClosePartial_EX16035 وTryModify_EX16035 في أسفل الملف مرتبطة بـ g_trade_wrappers_EX16035.PositionClose(...) و.PositionModify(...)، لكن مسار الأمر الحي يستخدم SendOrder() مع حلقة إعادة المحاولة الخاصة به، فتظل هذه الأدوات الثلاث غير مستخدمة. على وصلة ECN بسرعة أقل من 100 مللي ثانية، يكون سقف الفروقات الديناميكي وميزانية الانزلاق 5 نقاط ضيقة بما يكفي لأن يكون هذا الكود الميت غير حاسم، لكن على المتداولين الذين يشغّلون المؤشر عبر وصلة بطيئة أن يعلموا أنه لا توجد طبقة حماية من إعادة التسعير في مسار الإغلاق.
ماذا تتوقع في الباك تيست: بالإعدادات الافتراضية لـ 9/50 EMA، وRSI(14, 55/45)، وMACD(12/26/9)، وStochastic(14/3/3, 20/80)، ينتج المؤشر نحو 5-15 صفقة يومياً على XAUUSD داخل نافذة لندن-نيويورك، بمتوسط مدة صفقة بين 3 و30 دقيقة. يميل معدل الربح على الإعدادات الافتراضية إلى البقاء في نطاق 55-65% لأن نسبة SL:TP هي 1:2 ومعظم قيمة القفل المتدرج تأتي من الاستمرار عبر ضوضاء M1 الصغيرة. يعني الجمع بين سقف 5 صفقات وعائد 1:2 أن ربحاً واحداً على الصفقة #5 يمكن أن يغطي خسارتين على الصفقتين #1 و#2، ولهذا السبب يُصنَّف المؤشر على أنه متوسط المخاطرة عند حد أدنى 100 دولار على الرغم من اللوت الافتراضي 0.10.
تفاصيل الاستراتيجية
يقود شريط M1 واحد من XAUUSD أربعة تدفقات مستقلة من المؤشرات — قناتي دخول وقناتا تأكيد — كل منها يُنشأ كبنية SignalConfig مستقلة داخل OnInit. تُعيد استدعاءات PrepareSignalConfig() الأربعة (واحد لكل قناة) مقابض لأي عضو من أعضاء enum SignalType الخمسة الذي يربطه المتداول في InpEntry1Type وInpEntry2Type وInpConfirm1Type وInpConfirm2Type (الافتراضي: SIG_MA_CROSS وSIG_RSI_THRESH وSIG_MACD_CROSS وSIG_STOCH_CROSS). تمشي CombinedWindowCheck() للخلف حتى InpEntryWindowBars (6) أعمدة مغلقة وتبحث عن اشتعال دخول وتأكيد على جانب الشراء ومثلهما على جانب البيع؛ عندما يتأهل الجانبان، يفوز الجانب الأكثر حداثة (إزاحة أصغر). يستدعي OnTick بعد ذلك TryEntries() فقط إذا اجتازت CanPlaceNewEntries() خمس بوابات: نافذة الإيقاف المؤقت النشطة، وقفل الإدخال الواحد لكل شريط، وIsWithinSessions() لجلسات لندن+نيويورك، وCheckSpreadOK() للسقف الديناميكي للفروقات بناءً على الوسيط، وCountOpenPositionsAll() < MaxOpenTrades. تعمل MaintainPositions() كل تيكة وتمشي دفتر التذاكر القائم عبر ApplyDynamicLockProfitToPosition() لتدريج وقف كل صفقة رابحة. أدوات إعادة المحاولة TryClose_EX16035 وTryModify_EX16035 معلنة في أسفل الملف لكن مسار الأمر الحي يستخدم SendOrder() مع حلقة إعادة المحاولة الداخلية الخاصة به، فتظل غير مستخدمة.
تتطلب كل صفقة أن تشتعل InpEntry1Type وInpEntry2Type على نفس الجانب خلال آخر InpEntryWindowBars (6) أعمدة مغلقة، مع نفس قاعدة التأكيد المزدوج لـ InpConfirm1Type وInpConfirm2Type. بالإعداد الافتراضي، يعني ذلك تقاطع EMA 9/50 مع عبور RSI(14) فوق 55 للشراء (أو تحت 45 للبيع)، مؤكدَين بتقاطع خط MACD الرئيسي (12/26/9) وتقاطع Stochastic(14/3/3) داخل المستويين 20/80. تحظر IsAllSameDirProfitableAtLeast() إضافة صفقة ثالثة أو رابعة أو خامسة في الاتجاه نفسه ما لم تكن كل صفقة قائمة في نفس الاتجاه رابحة بمسافة لا تقل عن MinProfitPerTradeToAdd (5.0 نقاط). يسجل InpOneEntryPerBar (الافتراضي true) شريط الدخول عبر g_lastEntryBarTime ليمنع شمعة M1 الواحدة من استضافة أكثر من أمر واحد من هذا المؤشر.
لا توجد إشارة خروج ثابتة — تُغلق الصفقات عند الهدف الأولي InpTP_Points (600 نقطة افتراضياً، أو InpATR_TP_Mult × ATR لفترة 14 عند تفعيل InpUseATRforSLTP=true) أو عند وقف الخسارة الثابت InpSL_Points (300 افتراضياً، أو InpATR_SL_Mult × ATR). تعمل ApplyDynamicLockProfitToPosition() كل تيكة: تحسب steps = floor(movedPts / InpLockProfitEveryXPoints) (150 نقطة) وتدفع وقف الخسارة للأمام إلى entry + steps × 150 - 20 (وسادة InpLockMinusYPointsBuffer) على الشراء، ولا تُرخى وقفاً قائماً أبداً. يقوم ClosePositionByTicket() بالإغلاق الفعلي ويحترم SYMBOL_TRADE_FREEZE_LEVEL للوسيط بعدم محاولة تعديلات يقع القفل المتدرج داخل منطقة التجميد.
وقف الخسارة الأولي هو InpSL_Points (300 نقطة = 3.00 دولار على سعر XAUUSD بمنزلتين عشريتين) افتراضياً، أو InpATR_SL_Mult × ATR لفترة 14 (3.0×) عند تفعيل InpUseATRforSLTP=true. بعد الدخول، يقوم ApplyDynamicLockProfitToPosition() بتدريج وقف الخسارة للأمام بخطوات 150 نقطة مع وسادة 20 نقطة من سعر الدخول، ولا يُرخى وقفاً قائماً أبداً، ويحترم SYMBOL_TRADE_FREEZE_LEVEL بتخطي التحديثات التي تقع داخل منطقة التجميد. لا يوجد سقف تراجع على مستوى الحساب — الحارس الوحيد لرأس المال المُبرمج هو كتلة PauseOnConsecutiveLosses / PauseOnLossAmount، وهي معطلة افتراضياً.
جني الأرباح هو InpTP_Points (600 نقطة = 6.00 دولار) على سعر XAUUSD بمنزلتين عشريتين، أو InpATR_TP_Mult × ATR لفترة 14 (6.0×) عند تفعيل ATR — ضعف مسافة وقف الخسارة، لذا فإن نسبة المخاطرة:العائد الافتراضية هي 1:2. يُرسل جني الأرباح مع الأمر عبر SendOrder() ويُحفظ على جانب الوسيط؛ ولا يقوم المؤشر بالإغلاق عند جني الأرباح بنفسه.
الحد الأدنى الموصى به للرصيد هو 100 دولار، ويُفضل 500 دولار حتى لا يتسبب اللوت الافتراضي 0.10 وسقف المواقع الخمسة في MaxOpenTrades في رفع الرافعة فوق الحد عند تقلب M1 واحد على XAUUSD. المؤشر مضبوط على InpSession1StartHH=7 (افتتاح لندن) حتى InpSession1EndHH=17 وInpSession2StartHH=13 (افتتاح نيويورك) حتى InpSession2EndHH=22 — تلك هي النافذة النشطة، لذا شغّله على وسيط يتطابق توقيت خادمه مع توقيت GMT القياسي لمنصة MetaTrader وتجنب تشغيله في الجلسة الآسيوية. يحتاج السقف الديناميكي للفروقات السعرية (InpUseDynamicSpreadCap=true، نافذة 200 تيكة، 3.0× الوسيط) وInpSlippagePoints البالغ 5 نقاط إلى حساب ECN أو فروق خام (RAW) بسرعة توجيه أوامر أقل من 50 مللي ثانية لمنع إعادة تسعير إدخالات M1. ادعاء الترويسة بـ 12 طبقة هو قائمة تحقق — لا يوجد وقف عدالة أو سقف خسارة يومية مبرمج، لذا اترك حراس PauseOnConsecutiveLosses وPauseOnLossAmount على وضعهما الافتراضي المعطل فقط إذا كانت لديك طبقة إدارة مخاطر خارجية؛ وإلا فاضبط PauseConsecutiveLossesCount=3 وPauseLossAmount=100 لتفعيل الإيقاف المؤقت 60 دقيقة عند السلاسل السلبية.
منطق الاستراتيجية
Pipsgrowth EX16035 Trend — تحليل منطق الاستراتيجية (من كود .mq5)
العائلة: Trend
الماجيك: 22216035
الإصدار: 2.00
الوصف:
XAU M1 scalper using dual-entry signals (EMA cross + RSI threshold) with dual confirmations (MACD + Stochastic) within an X-bar window. Dynamic Lock Profit ratchet, initial/addition trade management, session and spread filters. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester
المؤشرات:
- مؤشرات قياسية
الدوال الرئيسية:
DirStr()TickSize()TickValue()NormalizePriceToTick()NormalizeVol()IsWithinSessions()CurrentSpreadPoints()SpreadBufPush()MedianSpread()CheckSpreadOK()
// Pipsgrowth EX16035 Trend — Execution Flow (from source analysis)
// Family: Trend
// XAU M1 scalper using dual-entry signals (EMA cross + RSI threshold) with dual confirmations (MACD + Stochastic) within an X-bar window. Dynamic Lock Profit ratchet, initial/addition trade management, session and spread filters. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester
ON_INIT:
Create indicator handles: standard set
Initialize state variables
Detect broker GMT offset
ON_TICK:
1. Refresh indicator buffers (closed-bar shift=1)
2. Manage existing positions:
- Break-even check
- ATR trailing stop
- Profit lock ratchet
- Time-based exit
- Opposite-signal exit
3. If new bar:
a. ClassifyRegime() — ADX/ATR/BB regime detection
b. NoTradeGate() checks:
- Market open + session filter
- Spread limit
- Cooldown after loss
- Consecutive loss limit
- Kill switch
- Max drawdown
- Max concurrent positions
- Daily/weekly loss limits
c. GenerateSignal() — strategy-specific entry logic
d. CheckConfirm() — HTF alignment + R:R + ADX minimum
e. Calculate position size from risk %
f. Execute with retry logic
g. Mark bar to prevent duplicates
ON_TESTER:
Custom fitness = weighted(RecoveryFactor, ROI, ProfitFactor, TradeCount, Sharpe, Drawdown)ملف التحسين
كيفية تثبيت الإكسبرت على MT5
- 1حمّل ملف .mq5 بالضغط على زر التحميل أعلاه
- 2افتح برنامج MetaTrader 5 على حاسوبك
- 3من القائمة العلوية اختر File → Open Data Folder
- 4انتقل إلى مجلد MQL5 → Experts والصق الملف هناك
- 5في MT5، انقر بالزر الأيمن على Expert Advisors في لوحة Navigator → Refresh
- 6اسحب الإكسبرت على رسم H4 أو اليومي للحصول على أفضل النتائج
- 7حدد فترات EMA وعتبة ADX وحجم اللوت في نافذة الإعدادات
- 8فعّل Allow Algo Trading واضغط OK
معاملات الإكسبرت
| المعامل | الافتراضي | الوصف |
|---|---|---|
| MagicNumber | 22216035 | Magic Number (unique EA identifier) |
| InpTradeComment | "Psgrowth.com Expert_16035" | Trade Comment |
| InpEnableDynamicLockProfit | true | Enable Dynamic Lock Profit System |
| InpLockProfitEveryXPoints | 150 | Lock Profit Every X Points |
| InpLockMinusYPointsBuffer | 20 | Lock Buffer (points back from high) |
| MaxOpenTrades | 5 | Maximum Open Trades |
| AllowOnlyProfitableAdditions | true | Allow Only Profitable Additions |
| MinProfitPerTradeToAdd | 5.0 | Min Profit Per Trade to Add (points) |
| PauseOnConsecutiveLosses | false | Pause After Consecutive Losses |
| PauseConsecutiveLossesCount | 3 | Consecutive Losses Count Trigger |
| PauseConsecutiveLossesMinutes | 60 | Pause Duration (minutes) |
| PauseOnLossAmount | false | Pause After Loss Amount |
| PauseLossAmount | 100.0 | Loss Amount Trigger (account currency) |
| PauseLossAmountMinutes | 60 | Loss Pause Duration (minutes) |
| InpFixedLot | 0.10 | Fixed Lot Size |
| InpUseATRforSLTP | false | Use ATR for SL/TP Calculation |
| InpATRPeriod | 14 | ATR Period |
| InpATR_SL_Mult | 3.0 | ATR Stop Loss Multiplier |
| InpATR_TP_Mult | 6.0 | ATR Take Profit Multiplier |
| InpSL_Points | 300 | Stop Loss (points) |
| InpTP_Points | 600 | Take Profit (points) |
| InpSlippagePoints | 5 | Maximum Slippage (points) |
| InpUseDynamicSpreadCap | true | Enable Dynamic Spread Cap |
| InpSpreadLookbackTicks | 200 | Spread Lookback Ticks |
| InpSpreadMedianMult | 3.0 | Spread Median Multiplier |
| InpSpreadCapAbsPoints | 0 | Absolute Spread Cap (0=disabled) |
| InpUseSessions | true | Enable Session Filter |
| InpSession1StartHH | 7 | Session 1 Start Hour (London) |
| InpSession1EndHH | 17 | Session 1 End Hour |
| InpSession2StartHH | 13 | Session 2 Start Hour (New York) |
| InpSession2EndHH | 22 | Session 2 End Hour |
| InpOneEntryPerBar | true | One Entry Per Bar Only |
| InpEntryWindowBars | 6 | Entry Window (bars for all signals) |
| InpRequireEntriesSameBar | false | Require Both Entries Same Bar |
| InpRequireConfirmsSameBar | false | Require Both Confirmations Same Bar |
| InpSignalsTF | 1 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Signals Timeframe |
| InpEntry1Type | SIG_MA_CROSS | Entry Signal 1 Type |
| InpEntry2Type | SIG_RSI_THRESH | Entry Signal 2 Type |
| InpConfirm1Type | SIG_MACD_CROSS | Confirmation Signal 1 Type |
| InpConfirm2Type | SIG_STOCH_CROSS | Confirmation Signal 2 Type |
| InpMAFastPeriod | 9 | Fast MA Period |
| InpMASlowPeriod | 50 | Slow MA Period |
| InpMAMethod | MODE_EMA | MA Method |
| InpMAPrice | 1 | Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) // MA Applied Price |
| InpRSIPeriod | 14 | RSI Period |
| InpRSI_BuyLevel | 55.0 | RSI Buy Level (cross above) |
| InpRSI_SellLevel | 45.0 | RSI Sell Level (cross below) |
| InpMACD_FastEMA | 12 | MACD Fast EMA Period |
| InpMACD_SlowEMA | 26 | MACD Slow EMA Period |
| InpMACD_Signal | 9 | MACD Signal Period |
| InpStoch_K | 14 | Stochastic %K Period |
| InpStoch_D | 3 | Stochastic %D Period |
| InpStoch_Slowing | 3 | Stochastic Slowing |
| InpStoch_LowLvl | 20 | Stochastic Low Level (buy filter) |
| InpStoch_HiLvl | 80 | Stochastic High Level (sell filter) |
| InpCCIPeriod | 20 | CCI Period |
| InpCCI_BuyLevel | 100.0 | CCI Buy Level (cross above) |
| InpCCI_SellLevel | -100.0 | CCI Sell Level (cross below) |
#property copyright "Pipsgrowth.com"
#property link "https://pipsgrowth.com"
#property version "2.00"
#property strict
#property description "Pipsgrowth.com EX16035 EX_X2_XAUUSD — dual-entry dual-confirm XAU scalper, full 12-layer stack."
#include <Trade\Trade.mqh>
//------------------------------ INPUTS: CORE ------------------------
ENUM_TIMEFRAMES MapTimeframeInt(int tf)
{
switch(tf)
{
case 1: return PERIOD_M1;
case 2: return PERIOD_M5;
case 3: return PERIOD_M15;
case 4: return PERIOD_M30;
case 5: return PERIOD_H1;
case 6: return PERIOD_H4;
case 7: return PERIOD_D1;
default: return PERIOD_H1;
}
}
ENUM_APPLIED_PRICE MapAppliedPriceInt(int ap)
{
switch(ap)
{
case 1: return PRICE_CLOSE;
case 2: return PRICE_OPEN;
case 3: return PRICE_HIGH;
case 4: return PRICE_LOW;
case 5: return PRICE_MEDIAN;
case 6: return PRICE_TYPICAL;
case 7: return PRICE_WEIGHTED;
default: return PRICE_CLOSE;
}
}
ENUM_TIMEFRAMES g_InpSignalsTF = PERIOD_H1;
ENUM_APPLIED_PRICE g_InpMAPrice = PRICE_CLOSE;
input group "=== CORE SETTINGS ==="
input int MagicNumber = 22216035; // Magic Number (unique EA identifier)
input string InpTradeComment = "Psgrowth.com Expert_16035"; // Trade Comment
//----------------- DYNAMIC LOCK PROFIT (step-ratchet) ---------------
ENUM_TIMEFRAMES MapTimeframeInt(int tf)
{
switch(tf)
{
case 1: return PERIOD_M1;
case 2: return PERIOD_M5;
case 3: return PERIOD_M15;
case 4: return PERIOD_M30;
case 5: return PERIOD_H1;
case 6: return PERIOD_H4;
case 7: return PERIOD_D1;
default: return PERIOD_H1;
}
}
ENUM_APPLIED_PRICE MapAppliedPriceInt(int ap)الكود المصدري الكامل متاح عند التحميل
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.
تحذير صريح: لأغراض تعليمية فقط
تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.
وسطاء موصى بهم لهذا الإكسبرت
هذه الروبوتات تعمل على MT5 — استخدم وسيطاً موثوقاً بتنفيذ سريع وسبريد منخفض
إكسبرتات مشابهة
عرض جميع الإكسبرتاتإكسبرتات أخرى بنفس استراتيجية متابعة الاتجاه
Pipsgrowth EX16080 Trend — إكسبرت أدفايزر متابعة اتجاه
Pipsgrowth EX16080 Trend — EURUSD triple-EMA trend follower — trades EMA20/50 cross with EMA200 filter on H4, ATR-based SL/TP, risk-percent sizing . إكسبرت أدفايزر MT5 مفتوح المصدر.
Pipsgrowth EX16081 Trend — إكسبرت أدفايزر متابعة اتجاه
Pipsgrowth EX16081 Trend — Gold trend EA catching major XAUUSD trends using EMA 50/ 200 crossover on H4 with daily structure swing high/low and Fib. إكسبرت أدفايزر MT5 مفتوح المصدر.
Pipsgrowth EX16033 Trend — إكسبرت أدفايزر متابعة اتجاه
Pipsgrowth EX16033 Trend — Price-action scalping EA using distance-based grid entries with net-take-profit targeting and optional lot multiplier. 1. إكسبرت أدفايزر MT5 مفتوح المصدر.
مجتمع المستخدمين
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.