P
PipsGrowth
متابعة الاتجاهمفتوح المصدر - مجاني

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.850.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 مفتوح إذا بلغ dailyLossMaxDailyLoss = 50.0 أو dailyProfitMaxDailyProfit = 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.850.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 شموع، وإشارات الخروج المعتمدة على المؤشرات، وقيود الربح/الخسارة اليومية التي تغلق كل شيء قسرياً عند بلوغ dailyLoss50.0 أو dailyProfit150.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()
الرمز الزائف (Pseudocode)
// 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)

ملف التحسين

الوسطاء المُحسّنون:
ExnessIC Markets
الرموز المُحسّنة:
XAUUSD
الأطر الزمنية المُحسّنة:
M5H1

كيفية تثبيت الإكسبرت على MT5

  1. 1حمّل ملف .mq5 بالضغط على زر التحميل أعلاه
  2. 2افتح برنامج MetaTrader 5 على حاسوبك
  3. 3من القائمة العلوية اختر File → Open Data Folder
  4. 4انتقل إلى مجلد MQL5 → Experts والصق الملف هناك
  5. 5في MT5، انقر بالزر الأيمن على Expert Advisors في لوحة Navigator → Refresh
  6. 6اسحب الإكسبرت على رسم H4 أو اليومي للحصول على أفضل النتائج
  7. 7حدد فترات EMA وعتبة ADX وحجم اللوت في نافذة الإعدادات
  8. 8فعّل Allow Algo Trading واضغط OK

معاملات الإكسبرت

المعاملالافتراضيالوصف
InpMagicNumber22216051Magic Number
InpTradeComment"Psgrowth.com Expert_16051"Trade Comment
LotSize1.0Fixed lot size
UseAutoLotSizefalseUse automatic lot sizing
RiskPercent1.0Risk percentage for auto lot sizing
MaxSpreadPips2.0e.g. 2 pips maximum spread
SlippagePoints5Maximum slippage (points)
OnlyTradeUSDJPYtrueOnly trade USDJPY pair
TradingPairs"USDJPY"Allowed trading pairs (comma separated)
StopLossPips15Stop Loss in pips
TakeProfitPips25Take Profit in pips
UseTrailingStoptrueEnable trailing stop
TrailingStopPips10Trailing stop distance (pips)
TrailingStepPips5Trailing step (pips)
MaxConcurrentTrades3Maximum concurrent trades
MaxDailyLoss50.0Maximum daily loss (account currency)
MaxDailyProfit150.0Daily profit target (account currency)
EnableQualityFilteringtrueEnable 95% accuracy filtering
MinSignalStrength0.85Minimum signal strength (0.5-1.0)
RequiredConfirmations3Required confirmations for entry
RequireMultiTimeframeAlignmenttrueRequire HTF alignment
HigherTimeframe9Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Higher timeframe for alignment
UseTrendFiltertrueOnly trade with trend
TrendLookbackBars50Bars for trend analysis
EnableSessionFiltertrueEnable trading session filter
TradingSessions"Tokyo,London,NY,Sydney"Allowed sessions (Tokyo,London,NY,Sydney)
AvoidNewsfalseAvoid trading during news
NewsAvoidanceMinutes30Minutes to avoid before/after news
MinVolatilityPips5.0Minimum ATR (pips) for trading
MaxVolatilityPips25.0Maximum ATR (pips) for trading
UseATRFiltertrueUse ATR filtering
MinATR_Pips8.0Minimum ATR (pips) for additional filters
MaxATR_Pips20.0Maximum ATR (pips) for additional filters
EnableScalpingModetrueEnable scalping optimizations
MinBarsSinceLastTrade3Minimum bars between trades
ScalpingNoiseThresholdPips0.3Noise threshold in pips
QuickExitOnReversetrueQuick exit on reverse signal
MaxHoldingBars10Maximum bars to hold position
UseTickBasedEntrytrueUse tick-based entry precision
EntryTickDelay2Ticks to wait before entry
EMA_RoleROLE_PRIMARY_SIGNALEMA Role in Trading System
EMA_Fast_Period8Fast EMA Period
EMA_Slow_Period21Slow EMA Period
EMA_AppliedPrice1Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) // Applied Price
EMA_RequireCrossovertrueRequire EMA crossover
EMA_MinSeparation0.0003Minimum EMA separation
EMA_MinSlope0.00020Minimum slope for signal
RSI_RoleROLE_CONFIRMATIONRSI Role in Trading System
RSI_Period14RSI Period
RSI_AppliedPrice1Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) // Applied Price
RSI_OverboughtLevel70.0Overbought level
RSI_OversoldLevel30.0Oversold level
RSI_NeutralUpper60.0Neutral zone upper bound
RSI_NeutralLower40.0Neutral zone lower bound
MACD_RoleROLE_FILTERMACD Role in Trading System
MACD_FastEMA12Fast EMA Period
MACD_SlowEMA26Slow EMA Period
MACD_SignalSMA9Signal SMA Period
MACD_AppliedPrice1Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted)// Applied Price
MACD_RequireHistogramGrowingtrueRequire growing histogram
MACD_MinHistogramValue0.0001Minimum histogram value
BB_RoleROLE_EXIT_FILTERBB Role in Trading System
BB_Period20BB Period
BB_Deviation2.0BB Deviation
BB_AppliedPrice1Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) // Applied Price
BB_MiddleBandFilter0.5Distance from middle band (0.0-1.0)
BB_UseSqueezeDetectiontrueDetect BB squeeze
STOCH_RoleROLE_CONFIRMATIONStochastic Role
STOCH_KPeriod14%K Period
STOCH_DPeriod3%D Period
STOCH_Slowing3Slowing
STOCH_MethodMODE_SMAMA Method
STOCH_PriceFieldSTO_LOWHIGHPrice Field
STOCH_OverboughtLevel80.0Overbought level
STOCH_OversoldLevel20.0Oversold level
ATR_RoleROLE_FILTERATR Role in Trading System
ATR_Period14ATR Period
ATR_VolatilityMultiplier1.5Volatility multiplier
ATR_UseForStopLosstrueUse ATR for stop loss
ATR_StopLossMultiplier2.0ATR multiplier for SL
ATR_UseForTakeProfittrueUse ATR for take profit
ATR_TakeProfitMultiplier3.0ATR multiplier for TP
MinBarVolume10Minimum tick volume to consider a bar “valid”
DebugModetrue⇐ Toggle all debug logging on/off
EnableBadTradeFiltertrueEnable bad trade avoidance
MinSignalConfidence0.90Minimum signal confidence
AvoidWhipsawstrueAvoid whipsaw conditions
WhipsawLookback5Bars to check for whipsaws
WhipsawThreshold0.8Whipsaw detection threshold
RequireVolumeBiasfalseRequire volume bias (tick volume)
AvoidFlatMarketstrueAvoid flat/sideways markets
FlatMarketThreshold0.0005Flat market ATR threshold
AvoidOverextensiontrueAvoid overextended markets
OverextensionMultiplier2.5Overextension threshold multiplier
كود المصدر (.mq5)Open Source
Pipsgrowth_com_EX16051.mq5
#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;

الكود المصدري الكامل متاح عند التحميل

لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.

الوسوم:ex16051trendpipsgrowthfreemt5xauusd

تحذير صريح: لأغراض تعليمية فقط

تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.

وسطاء موصى بهم لهذا الإكسبرت

هذه الروبوتات تعمل على MT5 — استخدم وسيطاً موثوقاً بتنفيذ سريع وسبريد منخفض

مجتمع المستخدمين

سجّل دخولك للمشاركةتسجيل الدخول

لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.

اسم الملفPipsgrowth_com_EX16051.mq5
حجم الملف92.5 KB
الإصدارv2.00
PlatformMetaTrader 5
نوع الملف.mq5 Source
الاستراتيجيةمتابعة الاتجاه
المخاطرةمخاطرة متوسطة
الأطر الزمنية
M5H1
أزواج العملات
XAUUSD
الحد الأدنى للإيداع$100