Pipsgrowth EX16051 Trend — إكسبرت أدفايزر متابعة اتجاه
إكسبرت أدفايزر MT5 مفتوح المصدر · XAUUSD · M5، H1
Pipsgrowth EX16051 Trend — Robust USDJPY scalping EA with multi-role indicator system using EMA, RSI, MACD, Bollinger Bands, and Stochastic. Featur. إكسبرت أدفايزر MT5 مفتوح المصدر.
نظرة عامة
Pipsgrowth EX16051 Trend هو مستشار آلي لScalping متعدد المؤشرات بأدوار قابلة للتخصيص، مقيد بـ USDJPY في OnInit (الدالة ترجع INIT_FAILED مباشرة إذا كان رمز الشارت أي رمز آخر مع بقاء OnlyTradeUSDJPY = true)، مبني حول فكرة معمارية واحدة: كل مؤشر على الشارت يمكن ترقيته إلى واحد من سبعة أدوار — Primary Signal أو Confirmation أو Filter أو Exit Signal أو Exit Filter أو Trend Filter أو Disabled — والمستشار يشغّل نفس السلسلة المنطقية بصرف النظر عن المؤشر الذي عينته. خريطة الأدوار الافتراضية هي EMA(8) متقاطعة مع EMA(21) كـ Primary Signal، وRSI(14) كـ Confirmation، وStochastic(14,3,3) كـ Confirmation ثانية، وMACD(12,26,9) كـ Filter، وBollinger Bands(20,2) كـ Exit Filter، وATR(14) كـ Filter، مع سحب ATR(14) إضافي على الفريم الأعلى للمواءمة متعددة الفريمات. هذا يعني إنشاء ثمانية مقابض أصلية في InitializeIndicators() — fastEMA وslowEMA وRSI وMACD وBB وStochastic وATR وATR_HTF — وتُقرأ نفس البافرز بثلاث طرق مختلفة حسب الدور: GetEMASignal() يرجع 1/0/-1، GetRSISignal() يرجع 1/0/-1، GetMACDSignal() يرجع 1/0/-1، GetStochasticSignal() يرجع 1/0/-1، ثم تُستهلك نفس الأرقام من GetPrimarySignal() وGetTradeSignal() وCalculateSignalStrength() وPassesFilters() وCheckExitSignals() بالتتابع.
GetEMASignal() هو الوحيد المعيّن كـ Primary افتراضياً وهو يحرس كل شيء. الشراء يحتاج تقاطع EMA السريع فوق EMA البطيء على الشمعة الحالية (fast1 ≤ slow1 وfast0 > slow0)، وميل EMA السريع على الشمعة الأخيرة (fast0 − fast1) لا يقل عن EMA_MinSlope = 0.00020، والفصل المطلق بين السريع والبطيء لا يقل عن EMA_MinSeparation = 0.0003. البيع هو المرآة. إذا تم إيقاف EMA_RequireCrossover، تنحط الدالة إلى فحص اتجاهي: فصل موجب مع ميل موجب = شراء، فصل سالب مع ميل سالب = بيع. كل دالة قراءة إشارة لها نفس البنية ثلاثية الشموع (الحالية والسابقة وقبل السابقة) ونفس منطق الميل والزخم — RSI لا يعدّ الارتداد إلا إذا كان r0 في منطقة التشبع البيعي (≤30) قبل شمعة واحدة AND r0 > r1 > r2 AND r0 لا يزال داخل النطاق المحايد 40–60، لذا RSI يطلق على تعافٍ متحكم به وليس على قراءة تشبع بيعي خام؛ MACD يتطلب تقاطع الهيستوجرام الصفري (hist1 ≤ 0 وhist0 > 0) مع الخط الرئيسي فوق خط الإشارة، وعند تشغيل MACD_RequireHistogramGrowing، hist0 > hist1؛ Stochastic يتطلب تقاطع %K مع %D (k1 ≤ d1 وk0 > d0) مع تحرك الخطين في نفس الاتجاه و%K جالساً بين المستويين 20 و80.
GetTradeSignal() يقرأ الإعداد الأساسي، ثم يعد كم من المؤشرات الأربعة الموجودة حالياً في ROLE_CONFIRMATION تتفق معه، ويشترط أن يصل العدد إلى RequiredConfirmations (افتراضي 3). إذا اصطف ثلاثة أو أربعة منها مع اتجاه EMA، تستدعي الدالة PassesFilters() التي تمشي على كل مؤشر لا يزال في ROLE_FILTER — في الإعداد الافتراضي يعني ذلك MACD وATR — وكذلك Bollinger Bands عند تعيين دوره كـ filter، وكل فلتر يفشل الإشارة بشكل قاطع إذا لم يتحقق شرطه الفردي. فلتر BB يرفض الدخول عندما يكون الإغلاق الحالي أقرب إلى أي من الحافتين من BB_MiddleBandFilter (0.5 يعني في حدود 50% من نصف عرض الحزمة) ويرفض أثناء الضغط (عرض الحزمة < ATR × 1.5). فلتر ATR يرفض عندما يقع atr[0] بالنقاط خارج MinATR_Pips..MaxATR_Pips، افتراضي 8 إلى 20 نقطة على شارت USDJPY بخمس خانات. Bollinger Bands مهيأ كـ ROLE_EXIT_FILTER افتراضياً، لذا BB نفسه لا يلغي الدخول لكنه يساهم في قرارات الخروج عبر PassesBBFilter().
CalculateSignalStrength() يأخذ الأساس (عدد التأكيدات / إجمالي المؤشرات الممكن تأكيدها) ويراكم فوقه أربع مكافآت: +0.15 إذا كان IsTrendAligned (إغلاق > EMA سريع > EMA بطيء للشراء، والمرآة للبيع)، +0.10 إذا كان IsHTFAligned (ATR الفريم الأعلى الحالي ليس أقل بأكثر من 5% من ATR الفريم الأعلى السابق — فحص متساهل عمداً يعني أساساً 'ATR الفريم الأعلى مستقر')، +0.05 إذا كان ATR الحالي في حدود 20% من نقطة منتصف نطاق التذبذب، ومكافأة جلسة 0.03 لطوكيو، 0.05 للندن، 0.05 لنيويورك، 0.02 لسيدني. يُقصّ الإجمالي إلى 0..1 ولا تنطلق سلسلة الدخول إلا إذا كانت القيمة لا تقل عن MinSignalStrength = 0.85 AND MinSignalConfidence = 0.90 — هاتان العتبتان تُفحصان منفصلتين، لذا الإعداد بقوة أساس 0.87 يُرفض من فلتر الجودة في حين أن إعداداً بقوة 0.91 يفشل في فلتر التجارة السيئة يُرفض أيضاً. مع ثلاثة أو أربعة تأكيدات ومكافأة توافق اتجاه، تقع الإعدادات الناجحة عادةً في النطاق 0.85–0.95، وهو النطاق الضيق الذي صُمم المستشار لإطلاقه فيه.
سلسلة التنفيذ مباشرة. ExecuteBuyTrade() يسحب الـ ask، ويستدعي CalculateLotSize() (التي ترجع LotSize = 1.0 الثابت ما لم يُشغّل UseAutoLotSize، وعندها تحجم على RiskPercent = 1.0% من الرصيد مقسوماً على مسافة الوقف بالنقاط مضروبة في قيمة التيك)، وCalculateStopLoss() (15 نقطة أو ATR × ATR_StopLossMultiplier = 2.0، أيهما أكبر مع احترام مستوى stops الأدنى للوسيط)، وCalculateTakeProfit() (25 نقطة أو ATR × ATR_TakeProfitMultiplier = 3.0)، ثم يرسل أمر سوق عبر trade.Buy() بـ ORDER_FILLING_FOK مع سماح انزلاق قدره SlippagePoints = 5. تعليق التداول يضمّن قوة الإشارة كعدد عشري للتحليل اللاحق. نفس المسار يعمل بالعكس للبيع. CalculateStopLoss() وCalculateTakeProfit() كلاهما يحترم SYMBOL_TRADE_STOPS_LEVEL — إذا فرض الوسيط مسافة وقف أدنى قدرها 10 نقاط، يوسّع المستشار SL إلى هذا الحد الأدنى بدلاً من إرسال أمر مرفوض — وكلاهما يحد المسافة النهائية عند MaxATR_Pips = 20 نقطة، لذا المستشار لن يضع SL بقدرة 60 نقطة على شمعة ATR واحدة بقدرة 60 نقطة حتى لو ضُبط StopLossPips على 50.
تعمل الإدارة في كل تيكت بعد انقضاء مهلة الدخول (EntryTickDelay = 2 تيكت). ManagePositions() يلف على المراكز المفتوحة ولكل منها يستدعي CheckQuickExit() أولاً، ثم CheckMaxHoldingTime()، ثم UpdateTrailingStop()، ثم CheckExitSignals(). CheckQuickExit() يقيّم GetTradeSignal() مجدداً ويغلق المركز إذا كان اتجاه الإشارة الحالية معاكساً لنوع المركز — فالشراء الذي ينقلب إلى بيع مؤكد يُغلق فوراً. CheckMaxHoldingTime() يعد الشموع المغلقة منذ وقت الفتح عبر iBarShift ويُغلق قسرياً عندما يصل العدد إلى MaxHoldingBars = 10. UpdateTrailingStop() يرفع SL بمقدار TrailingStopPips = 10 نقاط كل TrailingStepPips = 5 نقاط من الحركة لصالحه، ولا يحرك SL إلا نحو سعر الافتتاح وما بعده (لا تعادل أوّلي إذا فتح المستشار صفقة عند مسافة الوقف الأدنى لدى الوسيط ولم تتحرك السعر 10 نقاط بعد، يبقى التريل في مكانه). CheckExitSignals() يمشي على المؤشرات في ROLE_EXIT_SIGNAL — في الإعداد الافتراضي يشمل EMA وRSI وMACD — ويغلق المركز إذا أطلق أي منها إشارة انعكاس اتجاه. تعديل التريل يمر عبر TryModify_EX16051 (3 محاولات، سكون 100 مللي ثانية عند REQUOTE أو TIMEOUT) والإغلاق يمر عبر TryClose_EX16051 (3 محاولات، سكون 200 مللي ثانية، يتعامل أيضاً مع PRICE_OFF وPRICE_CHANGED). TryClosePartial_EX16051 معرّف في نهاية الملف لكنه لا يُستدعى من أي مسار حي — إنه كود ميت موروث من القالب.
قضبان أمان إضافية تعمل قبل الدخول. CheckDailyLimits() يقرأ رصيد الحساب من جانب الوسيط، ويتتبع فروقات الربح/الخسارة اليومية في UpdateDailyPL()، ويُغلق قسرياً كل مركز USDJPY مفتوح إذا بلغ dailyLoss ≥ MaxDailyLoss = 50.0 أو dailyProfit ≥ MaxDailyProfit = 150.0. إعادة الضبط اليومية مرتبطة بـ StringToTime من سلسلة التاريخ YYYY.MM.DD، لذا التحويل يحدث عند منتصف الليل حسب توقيت الخادم. IsBasicTradingAllowed() هو الحارس لكل تيكت: يحجب عندما يتجاوز السبريد MaxSpreadPips = 2.0، وعندما لا تكون ساعة GMT داخل أي من جلسات الأربع المسموحة (طوكيو 23–07، لندن 08–16، نيويورك 13–21، سيدني 21–05)، وعندما يكون AvoidNews مُشغّلاً والدقيقة الحالية في حدود NewsAvoidanceMinutes = 30 من علامة الساعة التالية، وعندما لا يكون ATR في النطاق MinVolatilityPips..MaxVolatilityPips، أو عندما يكون الوقت منذ lastTradeTime أقل من MinBarsSinceLastTrade × PeriodSeconds، أو عندما يصل عدد المراكز المفتوحة إلى MaxConcurrentTrades = 3. ValidateBuySignal() وValidateSellSignal() يضيفان مروراً ثانياً يرفض الدخول بالقرب من قمم 10 شموع الأخيرة (مقاومة) أو قيعانها (دعم) في حدود 10 نقاط، ويرفضان إعدادات التقلبات السريعة (CheckWhipsaw() يتطلب ATR الحالي ≥ نقطة منتصف نطاق ATR الأخير × WhipsawThreshold = 0.8)، ويرفضان الدخول عندما يكون حجم تيكت الشمعة الحالية أقل من MinBarVolume = 10.
ما تحصل عليه فعلاً في التداول الحي هو نظام بطيء وانتقائي. مع USDJPY على M5 وفلتر الجلسة الافتراضي مُشغّلاً، لا يطلق المستشار إلا داخل أربع نوافذ يبلغ مجموعها نحو 20 ساعة يومياً لكن الدخول الفعلي يقع في حزمة القوة 0.85–0.95، وSL 15 نقطة مع TP 25 نقطة لعائد إلى مخاطرة 1:1.67، ويُفعّل التريل عند +10 نقاط ويترقّى كل +5 نقاط، وتقطع الحدود اليومية المستشار عند +150$ أو −50$ أيهما يأتي أولاً. OnInit وOnTick وOnDeinit هي معالجات الأحداث الوحيدة — لا يوجد OnTrade ولا OnTimer ولا OnChartEvent ولا OnTester. سحب ATR الفريم الأعلى هو العمل الوحيد متعدد الفريمات الذي يقوم به المستشار، وIsHTFAligned فحص متساهل عمداً (ATR الفريم الأعلى الحالي في حدود 5% من السابق)، لذا لا يُصفّي فعلياً عدداً ذا معنى من الإعدادات. العتبتان MinSignalStrength وMinSignalConfidence تُفحصان بالتتابع بحد أدنى مختلف، وهذا يعني أن إعداداً يتجاوز أحدهما دون الآخر يفشل — هذا هو التصميم وليس عطلاً.
تفاصيل الاستراتيجية
في كل تيكت، يحرس المستشار الرمز أولاً (يرجع INIT_FAILED في OnInit إذا لم يكن الشارت USDJPY مع بقاء OnlyTradeUSDJPY = true)، ثم يشغّل IsBasicTradingAllowed() لتصفية السبريد (≤2 نقطة)، والجلسة (إحدى نوافذ GMT لطوكيو أو لندن أو نيويورك أو سيدني)، والتذبذب (ATR في 5–25 نقطة)، والوقت منذ آخر صفقة، وعدد المراكز (≤3). على شمعة جديدة، يسحب UpdateIndicatorBuffers() 3 شموع من كل مقبض من المقابض الثمانية، ويشغّل GetTradeSignal() الدالة GetEMASignal() (Primary) ثم يعد كم من المؤشرات الأربعة الأخرى الموجودة حالياً في ROLE_CONFIRMATION يطابق اتجاهها. إذا وصل العدد إلى RequiredConfirmations (افتراضي 3) ونجت الإشارة من سلسلة ROLE_FILTER، يُرجع الاتجاه الخام. بعدها يراكم CalculateSignalStrength() مكافآت توافق الاتجاه وHTF-ATR والتذبذب والجلسة فوق المعدل الأساسي، ولا تنطلق الصفقة إلا عند تجاوز كل من MinSignalStrength = 0.85 وMinSignalConfidence = 0.90. بعد التنفيذ، يشغّل ManagePositions() رatchet وقف الخسارة المتحرك، ووقف الوقت عند 10 شموع، وإشارات الخروج المعتمدة على المؤشرات، وقيود الربح/الخسارة اليومية التي تغلق كل شيء قسرياً عند بلوغ dailyLoss ≥ 50.0 أو dailyProfit ≥ 150.0.
الدخول الطويل يتطلب تقاطع صاعد لـ EMA(8) فوق EMA(21) على الشمعة الحالية مع ميل EMA السريع ≥ 0.00020 وفصل مطلق بين المتوسطين ≥ 0.0003، بالإضافة إلى اتفاق ثلاثة على الأقل من المؤشرات الأربعة (EMA، ارتداد RSI(14) من التشبع في النطاق المحايد 40–60، تقاطع هيستوجرام MACD(12,26,9) الصفري مع الخط الرئيسي فوق خط الإشارة، تقاطع %K/%D لـ Stochastic(14,3,3) مع تحرك الخطين في نفس الاتجاه) مع اتجاه EMA. البيع هو المرآة التامة. يجب أن تتجاوز الإشارة المجمعة كل من MinSignalStrength = 0.85 وMinSignalConfidence = 0.90، وأن تنجو من سلسلة الفلاتر (MACD، ATR 8–20 نقطة، مسافة BB + الضغط اختياريان).
تُغلق المراكز عبر ثلاث مسارات محتملة: خروج سريع يُطلق عندما يرجع GetTradeSignal() الاتجاه المعاكس (إغلاق فوري عبر TryClose_EX16051)، أو خروج زمني بعد 10 شموع مغلقة من الافتتاح (عدد قائم على iBarShift في CheckMaxHoldingTime)، أو خروج بالمؤشر عندما ينقلب أي مؤشر في ROLE_EXIT_SIGNAL (EMA، RSI عند مستويات 70/30 القصوى، أو MACD) إلى الاتجاه المعاكس. تعمل أيضاً UpdateTrailingStop() على الإدخالات الناجحة في كل تيكت، ترفع SL بمقدار 10 نقاط لكل 5 نقاط من الحركة السعرية لصالح الصفقة حالما تدخل الصفقة في الربح.
وقف الخسارة الافتراضي هو 15 نقطة أو ATR(14) × ATR_StopLossMultiplier = 2.0، أيهما أكبر، مع تطبيق SYMBOL_TRADE_STOPS_LEVEL لدى الوسيط كحد أدنى وMaxATR_Pips = 20 كحد أعلى. ثم يتولى وقف الخسارة المتحرك: يرفع SL بمقدار 10 نقاط نحو سعر الافتتاح لكل 5 نقاط من الحركة لصالح الصفقة، لكن فقط بعد أن تكون الصفقة في ربح يتجاوز مسافة التريل.
جني الأرباح افتراضياً 25 نقطة أو ATR(14) × ATR_TakeProfitMultiplier = 3.0، أيهما أكبر، محدود بـ MaxATR_Pips = 20 نقطة، وآمن لمستوى stops الوسيط. نسبة العائد إلى المخاطرة 1:1.67 تأتي من تقسيم 15/25 نقطة على شارت USDJPY بخمس خانات.
شغّل هذا على USDJPY M5 (أو H1 للحصول على إشارات أقل لكن أنظف) لدى وسيط ECN أو RAW بسبريد منخفض — فلتر MaxSpreadPips البالغ 2 نقطة ضيق، والـ 1.0 لوت افتراضياً لا معنى له إلا بحجم حساب 5,000$+ ما لم تتحول إلى UseAutoLotSize بمخاطرة 1%. مع فلتر الجلسات الأربع، ستحصل على تغطية متداخلة عبر لندن ونيويورك (الجلسات الوحيدة التي عادةً ما تتجاوز فيها كل من MinSignalStrength وMinSignalConfidence معاً)، مع إعدادات معزولة في طوكيو وسيدني. الحد الأدنى للإيداع 100$ سيقبل المستشار لكن 1,000$+ مطلوب لـ SL 15 نقطة على لوت 1.0 USDJPY لتمثل مخاطرة أقل من 2% من الحساب. تصنيف المخاطرة MEDIUM يعكس نسبة العائد إلى المخاطرة 1:1.67 مع سقف خسارة يومي ضيق.
منطق الاستراتيجية
Pipsgrowth EX16051 Trend — تحليل منطق الاستراتيجية (من كود .mq5)
العائلة: Trend
الماجيك: 22216051
الإصدار: 2.00
الوصف:
Robust USDJPY scalping EA with multi-role indicator system using EMA, RSI, MACD, Bollinger Bands, and Stochastic. Features signal quality filtering, multi-timeframe alignment, session filters, trailing stops, and daily loss/profit limits. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester
المؤشرات:
- مؤشرات قياسية
الدوال الرئيسية:
InitializeIndicators()UpdateIndicatorBuffers()IsBasicTradingAllowed()CheckForEntrySignals()CalculateSignalStrength()GetPrimarySignal()GetEMASignal()GetRSISignal()GetMACDSignal()GetStochasticSignal()
// Pipsgrowth EX16051 Trend — Execution Flow (from source analysis)
// Family: Trend
// Robust USDJPY scalping EA with multi-role indicator system using EMA, RSI, MACD, Bollinger Bands, and Stochastic. Features signal quality filtering, multi-timeframe alignment, session filters, trailing stops, and daily loss/profit limits. 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
معاملات الإكسبرت
| المعامل | الافتراضي | الوصف |
|---|---|---|
| InpMagicNumber | 22216051 | Magic Number |
| InpTradeComment | "Psgrowth.com Expert_16051" | Trade Comment |
| LotSize | 1.0 | Fixed lot size |
| UseAutoLotSize | false | Use automatic lot sizing |
| RiskPercent | 1.0 | Risk percentage for auto lot sizing |
| MaxSpreadPips | 2.0 | e.g. 2 pips maximum spread |
| SlippagePoints | 5 | Maximum slippage (points) |
| OnlyTradeUSDJPY | true | Only trade USDJPY pair |
| TradingPairs | "USDJPY" | Allowed trading pairs (comma separated) |
| StopLossPips | 15 | Stop Loss in pips |
| TakeProfitPips | 25 | Take Profit in pips |
| UseTrailingStop | true | Enable trailing stop |
| TrailingStopPips | 10 | Trailing stop distance (pips) |
| TrailingStepPips | 5 | Trailing step (pips) |
| MaxConcurrentTrades | 3 | Maximum concurrent trades |
| MaxDailyLoss | 50.0 | Maximum daily loss (account currency) |
| MaxDailyProfit | 150.0 | Daily profit target (account currency) |
| EnableQualityFiltering | true | Enable 95% accuracy filtering |
| MinSignalStrength | 0.85 | Minimum signal strength (0.5-1.0) |
| RequiredConfirmations | 3 | Required confirmations for entry |
| RequireMultiTimeframeAlignment | true | Require HTF alignment |
| HigherTimeframe | 9 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Higher timeframe for alignment |
| UseTrendFilter | true | Only trade with trend |
| TrendLookbackBars | 50 | Bars for trend analysis |
| EnableSessionFilter | true | Enable trading session filter |
| TradingSessions | "Tokyo,London,NY,Sydney" | Allowed sessions (Tokyo,London,NY,Sydney) |
| AvoidNews | false | Avoid trading during news |
| NewsAvoidanceMinutes | 30 | Minutes to avoid before/after news |
| MinVolatilityPips | 5.0 | Minimum ATR (pips) for trading |
| MaxVolatilityPips | 25.0 | Maximum ATR (pips) for trading |
| UseATRFilter | true | Use ATR filtering |
| MinATR_Pips | 8.0 | Minimum ATR (pips) for additional filters |
| MaxATR_Pips | 20.0 | Maximum ATR (pips) for additional filters |
| EnableScalpingMode | true | Enable scalping optimizations |
| MinBarsSinceLastTrade | 3 | Minimum bars between trades |
| ScalpingNoiseThresholdPips | 0.3 | Noise threshold in pips |
| QuickExitOnReverse | true | Quick exit on reverse signal |
| MaxHoldingBars | 10 | Maximum bars to hold position |
| UseTickBasedEntry | true | Use tick-based entry precision |
| EntryTickDelay | 2 | Ticks to wait before entry |
| EMA_Role | ROLE_PRIMARY_SIGNAL | EMA Role in Trading System |
| EMA_Fast_Period | 8 | Fast EMA Period |
| EMA_Slow_Period | 21 | Slow EMA Period |
| EMA_AppliedPrice | 1 | Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) // Applied Price |
| EMA_RequireCrossover | true | Require EMA crossover |
| EMA_MinSeparation | 0.0003 | Minimum EMA separation |
| EMA_MinSlope | 0.00020 | Minimum slope for signal |
| RSI_Role | ROLE_CONFIRMATION | RSI Role in Trading System |
| RSI_Period | 14 | RSI Period |
| RSI_AppliedPrice | 1 | Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) // Applied Price |
| RSI_OverboughtLevel | 70.0 | Overbought level |
| RSI_OversoldLevel | 30.0 | Oversold level |
| RSI_NeutralUpper | 60.0 | Neutral zone upper bound |
| RSI_NeutralLower | 40.0 | Neutral zone lower bound |
| MACD_Role | ROLE_FILTER | MACD Role in Trading System |
| MACD_FastEMA | 12 | Fast EMA Period |
| MACD_SlowEMA | 26 | Slow EMA Period |
| MACD_SignalSMA | 9 | Signal SMA Period |
| MACD_AppliedPrice | 1 | Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted)// Applied Price |
| MACD_RequireHistogramGrowing | true | Require growing histogram |
| MACD_MinHistogramValue | 0.0001 | Minimum histogram value |
| BB_Role | ROLE_EXIT_FILTER | BB Role in Trading System |
| BB_Period | 20 | BB Period |
| BB_Deviation | 2.0 | BB Deviation |
| BB_AppliedPrice | 1 | Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) // Applied Price |
| BB_MiddleBandFilter | 0.5 | Distance from middle band (0.0-1.0) |
| BB_UseSqueezeDetection | true | Detect BB squeeze |
| STOCH_Role | ROLE_CONFIRMATION | Stochastic Role |
| STOCH_KPeriod | 14 | %K Period |
| STOCH_DPeriod | 3 | %D Period |
| STOCH_Slowing | 3 | Slowing |
| STOCH_Method | MODE_SMA | MA Method |
| STOCH_PriceField | STO_LOWHIGH | Price Field |
| STOCH_OverboughtLevel | 80.0 | Overbought level |
| STOCH_OversoldLevel | 20.0 | Oversold level |
| ATR_Role | ROLE_FILTER | ATR Role in Trading System |
| ATR_Period | 14 | ATR Period |
| ATR_VolatilityMultiplier | 1.5 | Volatility multiplier |
| ATR_UseForStopLoss | true | Use ATR for stop loss |
| ATR_StopLossMultiplier | 2.0 | ATR multiplier for SL |
| ATR_UseForTakeProfit | true | Use ATR for take profit |
| ATR_TakeProfitMultiplier | 3.0 | ATR multiplier for TP |
| MinBarVolume | 10 | Minimum tick volume to consider a bar “valid” |
| DebugMode | true | ⇐ Toggle all debug logging on/off |
| EnableBadTradeFilter | true | Enable bad trade avoidance |
| MinSignalConfidence | 0.90 | Minimum signal confidence |
| AvoidWhipsaws | true | Avoid whipsaw conditions |
| WhipsawLookback | 5 | Bars to check for whipsaws |
| WhipsawThreshold | 0.8 | Whipsaw detection threshold |
| RequireVolumeBias | false | Require volume bias (tick volume) |
| AvoidFlatMarkets | true | Avoid flat/sideways markets |
| FlatMarketThreshold | 0.0005 | Flat market ATR threshold |
| AvoidOverextension | true | Avoid overextended markets |
| OverextensionMultiplier | 2.5 | Overextension threshold multiplier |
#property copyright "Pipsgrowth.com"
#property link "https://pipsgrowth.com"
#property version "2.00"
#property strict
#property description "Pipsgrowth.com EX16051 new_copy — Multi-indicator scalping EA, full 12-layer stack."
#include <Trade/Trade.mqh>
//+------------------------------------------------------------------+
//| Global Trading Settings |
//+------------------------------------------------------------------+
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_HigherTimeframe = PERIOD_H1;
ENUM_APPLIED_PRICE g_EMA_AppliedPrice = PRICE_CLOSE;
ENUM_APPLIED_PRICE g_RSI_AppliedPrice = PRICE_CLOSE;
ENUM_APPLIED_PRICE g_MACD_AppliedPrice = PRICE_CLOSE;
ENUM_APPLIED_PRICE g_BB_AppliedPrice = PRICE_CLOSE;
input group "=== Identity ===";
input ulong InpMagicNumber = 22216051; // Magic Number
input string InpTradeComment = "Psgrowth.com Expert_16051"; // Trade Comment
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;الكود المصدري الكامل متاح عند التحميل
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.
تحذير صريح: لأغراض تعليمية فقط
تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.
وسطاء موصى بهم لهذا الإكسبرت
هذه الروبوتات تعمل على 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 مفتوح المصدر.
مجتمع المستخدمين
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.