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

Pipsgrowth EX18012 TrendFollow — إكسبرت أدفايزر إكسبرت أدفايزر

إكسبرت أدفايزر MT5 مفتوح المصدر · XAUUSD · M5، H1

Pipsgrowth EX18012 TrendFollow — ADX + ATR-percentile + Bollinger-width regime gate; closed-bar consensus of EMA(21>50) + RSI(50 side) + ATR-rise signal;. إكسبرت أدفايزر MT5 مفتوح المصدر.

نظرة عامة

Pipsgrowth EX18012 TrendFollow هو مستشار خبير للتوافق على الشمعة المغلقة مصمم لـ XAUUSD و الأزواج الرئيسية للفوركس، ولا يفتح صفقة إلا عندما تتفق ثلاثة مكونات اتجاه مستقلة على الاتجاه ويؤكد نظام قائم على ATR(14) أن السوق يتحرك فعلاً. يصفه الترويسة بأنه مستشار «توافق متعدد الفلاتر مع بوابة نظام» والكود منظم في 12 طبقة صريحة (REGIME، SIGNAL، ENTRY، CONFIRM، NO-TRADE، CAPITAL CAP، RISK، SIZING، MANAGE، EXIT، SCALING، OnTester)، كل طبقة منها مغلّفة بدالتها الخاصة. طبقة الإشارة أبسط عمداً من كومة الـ 4 أصوات في EX18011: هي توافق 3 أصوات يمكن تحويله إلى توافق بصوت أو صوتين عبر تفعيل/تعطيل مدخلات InpUseEMA، InpUseRSI، InpUseATRRise في مجموعة Signal Filters.

يتم جمع فرز الأصوات داخل ComputeSignal(). مع تفعيل الفلاتر الثلاثة، يتطلب الشراء أن يكون إغلاق الشمعة السابقة فوق EMA(21) على الإطار العامل، وأن يقرأ RSI(14) فوق 50، وأن يكون ATR(14) للشمعة الحالية على الأقل 1.05 مرة قيمة ATR(14) للشمعة السابقة. البيع هو المرآة: الإغلاق تحت EMA(21)، و EMA(21) تحت EMA(50)، و RSI(14) تحت 50، و ATR صاعد. يمكن تعطيل أي فلتر من الثلاثة، وعندها يجب أن يتفق الفلتران المتبقيان، ويتعدّل عدّ الأصوات (votesBuy / votes). إن لم يُنتج أي فلتر اتجاهاً واضحاً، تُرجع الدالة 0 وتخرج OnTick() دون إرسال أمر. تصويت صعود ATR هو سمة EX18012 المميزة — يصفّي الإشارات التي تظهر في انضغاط التذبذب، وهي بالضبط اللحظة التي تكلّف فيها فخاخ الارتداد أكثر الخسائر.

يُحسب النظام في ComputeRegime() باستخدام ثلاث مدخلات مؤشر: ADX(14) الرئيسي مع DI+ و DI-، وآخر 50 قيمة لـ ATR(14) (رتبة ATR_PCT_LOOKBACK)، وعرض Bollinger Bands (فترة 20، انحراف 2.0) يُقرأ كـ (bbU - bbL) / bbM. يُرجع المصنّف إحدى سبع حالات: REG_STRONG_TREND عندما يكون ADX عند 25 أو أعلى، REG_WEAK_TREND عندما يكون ADX عند 20 أو أعلى، REG_EXPAND عندما تتجاوز المئينية 80 لـ ATR، REG_COMPRESS عندما تكون مئينية ATR تحت 30، REG_BREAKOUT عندما يكون عرض BB ذا معنى ومئينية ATR فوق 50، REG_CHOPPY عندما يكون ADX تحت 15، و REG_RANGE فيما عدا ذلك. تُكتب الحالة في g_regime ويطّلع عليها كل من CanTrade() (التي تحظر الدخول في CHOPPY و COMPRESS) و ManagePositions() (التي تغلق المراكز المفتوحة عند انتقال النظام إلى CHOPPY أو RANGE، عندما يكون InpRegimeExit مُفعّلاً). هذه هي بوابة EX18012 المناهِفة للتردد: قد تتفق إشارة التوافق، لكن السوق الهادئ سيظل يحظر الدخول.

تعمل التأكيدات في Confirm() بعد اجتياز بوابة عدم التداول. مع InpUseHTF = true يجلب الـ EA قيمة H1 EMA(50) من مؤشر hHTFEMA ويشترط أن يكون سعر العرض (للشراء) أو الطلب (للبيع) على الإطار العامل في الجانب الصحيح من هذا المتوسط. مع InpUseCandleClose = true يجلب مصفوفتي الافتتاح والإغلاق للشمعة السابقة ويشترط إغلاقاً صاعداً للشراء (إغلاق فوق الافتتاح) أو إغلاقاً هابطاً للبيع. تُرجع الدالة false مع سلسلة reason مثل 'HTF EMA opposes BUY' أو 'last bar not bullish' ليُبيّن السجل دائماً سبب تخطي الدخول. لا يوجد تأكيد نطاق RSI في EX18012 — وهذا تبسيط متعمد نسبةً إلى EX18011، قُوبل بتصويت صعود ATR.

وقف الخسارة وجني الأرباح هما مضاعفات ATR مستنبطة من نفس ATR(14) الذي يستخدمه النظام، لذا تتدرج مسافة الوقف مع التذبذب الحالي. SL = SL_ATR_MULT * ATR = 2.0 * ATR(14) و TP = TP_ATR_MULT * ATR = 3.0 * ATR(14). النسبة الثابتة 1:1.5، وهي توقيع EX18012. حارس MIN_RR_RATIO = 1.2 داخل OpenMarket() يعيد فحص نسبة المخاطرة/العائد المتوقعة لحظة التنفيذ ويتخلى عن الأمر إن كان السبريد الحي قد قضم من TP حتى انهيار النسبة. كلتا المسافتين محدودتان أيضاً بأرضية StopsLevelPrice() التي تقرأ SYMBOL_TRADE_STOPS_LEVEL و SYMBOL_TRADE_FREEZE_LEVEL للوسيط وتثبّت الوقفين عند أكبر القيمتين كي لا يرفض خادم التداول الأمر أبداً.

تحجيم اللوت ثابت الكسر نسبةً إلى g_effectiveCap، وهي فكرة الـ EA عن رأس المال. تُرجع EffectiveCapital() قيمة min(InpCapAmount, equity) عندما يكون InpCapAmount > 0، وإلا equity الحساب كاملة. تأخذ CalcLotByRisk() بعد ذلك 0.5% من رأس المال افتراضياً (InpRiskPercent = 0.5)، وتقسم على خسارة اللوت الواحد عند مسافة SL المتوقعة، وتمرر النتيجة عبر NormLot() التي تقرّبها إلى LotsStep للوسيط، وتثبّتها بين LotsMin و LotsMax، وتقربها إلى منزلتين عشريتين. يُفعَّل البديل InpFixedLot = 0.01 عند ضبط المخاطرة على صفر، أو عند كون مسافة SL صفراً، أو عند انهيار رياضيات اللوت. يُحمي سقف رأس المال أيضاً بواسطة InpCapFloor = 50 — تُرجع CanTrade() false مع السبب 'CAPITAL BELOW FLOOR' إذا كان رأس المال الفعال تحت هذا المستوى.

بوابة عدم التداول في CanTrade() هي قائمة تحقق من تسعة فحوصات: مفتاح الإيقاف، وضع تداول الوسيط (يجب أن يكون FULL أو LONGONLY أو SHORTONLY)، سقف السبريد (يجب أن يكون السبريد الحي عند أو تحت InpMaxSpreadPts = 250 نقطة)، نافذة الجلسة (ساعات الخادم من 7 إلى 20 شاملة، أيام الأسبوع فقط)، النظام (CHOPPY و COMPRESS يحظران)، أرضية رأس المال، خسارة اليوم (3% من رأس المال الفعال، تُحسب عبر TodayRealizedPnL() التي تجمع profit + swap + commission للسحر والرمز منذ منتصف الليل بتوقيت الخادم)، أقصى عدد متزامن (InpMaxConcurrent = 3)، أقصى تعرض للرمز (InpMaxSymbolExp = 3)، والتهدئة (TrackLossCooldown() ترفع g_cooldownUntil إلى now + 12 bars بعد 3 خسائر متتالية). لاحظ أن EX18012 يستخدم سقف سبريد ثابت 250 نقطة بدلاً من فلتر المتوسط المتحرك، ولا توجد نافذة حظر أخبار هنا — إيقاف 12:30±30 دقيقة الذي يفرضه EX18011 غير موجود في هذا المستشار. كما لا يوجد سقف خسارة أسبوعي، فقط يومي.

تُدار المراكز المفتوحة كل تيكت عبر ManagePositions() التي تمشي قائمة المراكز عكسياً وتطبّق أربعة أنواع من الحماية بالتتابع. أولاً، عندما يصل الربح إلى 1R (مسافة ATR واحدة)، تنقل دالة التعادل الوقف إلى entry + spread للشراء أو إلى entry للبيع، لكن مرة واحدة فقط وفقط إذا كان الوقف الجديد لا يزال يُحسّن القديم بشكل صارم. ثانياً، عند علامة 1R نفسها، يُفعَّل إغلاق جزئي 50% (PARTIAL_PCT = 50) مرة واحدة لكل تذكرة، بحجم جزئي محسوب كـ vol * 0.50 ومقرّب إلى درجة حجم الوسيط — PartialAlreadyTaken() هي مصفوفة ساكنة تتذكر أي التذكرات أخذت جزئها. ثالثاً، بمجرد أن يتجاوز الربح 1R، يُفعَّل وقف ATR متحرك: يضع الوقف الجديد عند 2.5 * ATR(14) خلف سعر العرض الحالي (أو أمام سعر الطلب للبيع)، ولا يتحرك إلا في الاتجاه المربح فقط. رابعاً، تعمل شبكتا أمان زمنيتان وقائمتان على النظام: يخرج الوقت MAX_BARS_IN_TRADE = 240 شمعة (ما يعادل 20 ساعة على M5) يُغلق المراكز التي لم تتحرك، وخروج انتقال النظام يُغلق المراكز عندما يصبح g_regime في CHOPPY أو RANGE، إذا كان InpRegimeExit مُفعّلاً. خامساً، خروج الإشارة المعاكسة يُغلق المركز عندما تُرجع ComputeSignal() الاتجاه المعاكس — وهذه هي المرة الوحيدة التي تعمل فيها ComputeSignal() في حلقة الإدارة، وتعمل كل تيكت.

الهرمية مدمجة في CanPyramid() و OpenMarket() لكنها معطلة افتراضياً (InpEnablePyramid = false). عند تفعيلها، يمكن للمستشار إضافة حتى PYRAMID_MAX = 5 مراكز من نفس الاتجاه على نفس السحر-الرمز، مع تباعد كل دخول جديد بـ PYRAMID_ATR_SP = 2.0 * ATR(14) عن أحدث دخول من نفس الاتجاه، وفقط عندما يكون هذا المركز الأحدث في ربح بنفس المسافة. سياسة هرمية أكثر تساهلاً من إعداد EX18011 المكون من 3 مستويات/1.5xATR، لكنها اختيارية. يعني الافتراضي InpDryRun = true أن الـ EA يطبع سطور DRYRUN BUY/SELL/MODIFY/CLOSE/PARTIAL في السجل بدلاً من أي إرسال أوامر حقيقي، وهي الطريقة الأكثر أماناً للتحقق من الإعدادات على وسيط جديد. تحجيم اللوت، وتصنيف النظام، ومنطق الإشارة كلها تعمل بنفس الطريقة في dry-run؛ فقط إرسال الأوامر يكون stubbed.

إرسال الأوامر مغلّف في حلقة إعادة محاولة من محاولتين داخل OpenMarket(). تُطلق المحاولة الأولى عبر trade.Buy() أو trade.Sell()؛ إذا كان retcode هو REQUOTE أو TIMEOUT أو PRICE_OFF، يُحدّث الـ EA الرمز ويعيد المحاولة بسعر العرض/الطلب الجديد. عمليات الإغلاق والتعديل لها أغلفة إعادة محاولة من 3 محاولات (TryClose_EX18012، TryClosePartial_EX18012، TryModify_EX18012) مع نوم 200 مللي ثانية أو 100 مللي ثانية بين المحاولات تبعاً لـ retcode. يُكتشف وضع التعبئة تلقائياً من SYMBOL_TRADE_EXEMODE و SYMBOL_FILLING_MODE في OnInit() ليعمل المستشار على وسطاء FOK و IOC دون تكوين يدوي.

تُرجع OnTester() القيمة (netProfit * profitFactor) / (1 + balanceDDpct)، بأرضية 30 صفقة ومشبك سحب 0.01 لمنع القسمة على صفر أو انفجارات السحب الضئيل. تفضل دالة اللياقة الاستراتيجيات التي تحقق ربحاً صافياً مرتفعاً بمعامل ربح مرتفع لكل وحدة سحب رصيد، وهي معيار PipsGrowth TrendFollow المعياري.

السلوك المتوقع على رسم بياني XAUUSD 5 دقائق بالإعدادات الافتراضية: جلسة آسيا الهادئة تُقرأ كـ CHOPPY (ADX تحت 15) أو COMPRESS (مئينية ATR تحت 30)، وتُحظر الدخولات؛ بمجرد افتتاح لندن وتجاوز ADX 20، يبدأ المستشار بالنظر في توافق الأصوات الثلاثة؛ ثم يخفض فلتر صعود ATR معدل الدخول باشتراط أن التذبذب يتمدد حالياً. يفرض خروج الوقت عند 240 شمعة إغلاقاً بعد 20 ساعة بصرف النظر عن الربح، وهو صمام الإطلاق ضد المراكز التي تجلس عبر انتقالات نظام كاملة. الحد الأدنى للرصيد الموصى به 100 دولار، والمخاطرة الافتراضية 0.5% للصفقة الواحدة مُحجّمة على هذه الأرضية، ويجب إبقاء InpDryRun = true لأول 24-48 ساعة من أي رمز جديد. التركيبة المميزة لـ EX18012 — توافق 3 أصوات مع فلتر صعود ATR، نظام 6 حالات مع خروج وقت 240 شمعة، 2xATR SL/3xATR TP بنسبة 1:1.5، وسقف سبريد ثابت 250 نقطة — هي ما يميز هذا المستشار عن كومة EX18011 ذات 4 أصوات ونسبة 1:2، وعن توافق Hull المزدوج في EX18010.

تفاصيل الاستراتيجية

مع كل تيكت يحدّث الـ EA الرمز ويُحدّث g_effectiveCap من EffectiveCapital()، ويمشي قائمة المراكز عكسياً عبر ManagePositions() لتطبيق التعادل، والإغلاق الجزئي 50%، ووقف ATR المتحرك، وخروج الوقت عند 240 شمعة، وخروج انتقال النظام، وخروج الإشارة المعاكسة. تفحص TrackLossCooldown() تاريخ الصفقات منذ آخر تيكت لزيادة عداد الخسائر المتتالية ورفع g_cooldownUntil بعد ثلاث خسائر. عند شمعة جديدة من الإطار المُكوَّن، تصنّف ComputeRegime() السوق إلى إحدى سبع حالات، وتجمع ComputeSignal() أصوات الاتجاه الثلاثة، وتُجري CanTrade() بوابة عدم التداول المؤلفة من تسعة فحوصات (مفتاح الإيقاف، وضع الوسيط، سبريد ≤250 نقطة، ساعات الخادم 7-20، يوم عمل، غير CHOPPY وغير COMPRESS، رأس مال ≥50 دولار، خسارة يومية <3%، أقصى 3 متزامنة، تهدئة)، وتضيف Confirm() فلاتري H1-EMA50 و إغلاق الشمعة. تحجم OpenMarket() بعد ذلك اللوت من g_effectiveCap عند مخاطرة 0.5%، وتطبق فحص R/R 1.2، وترسل الأمر عبر حلقة إعادة محاولة من محاولتين عند retcodes requote/timeout/price-off. التدفق الكامل يُسجَّل في كل كتلة بحيث تُظهر سطور السجل حالة النظام، وفرز الأصوات، ورفض عدم التداول، وأعطال التأكيد في الوقت الفعلي.

إشارة الدخول

يُطلق EX18012 دخول شراء أو بيع عندما يتفق توافق 3 أصوات على الشمعة المغلقة على الاتجاه: جانب اتجاه EMA(21) مقابل EMA(50)، و RSI(14) مقابل عتبة 50، و ATR(14) صاعد حالياً (≥1.05× ATR للشمعة السابقة). يتطلب التأكيد اتفاق H1 EMA(50)، وإغلاق شمعة صاعد/هابط، وأن تتجاوز نسبة R/R المتوقعة 1.2، وأن يكون النظام ليس CHOPPY أو COMPRESS. يمكن تعطيل طبقتي الإشارة والتأكيد جزئياً عبر مفاتيح InpUseEMA و InpUseRSI و InpUseATRRise و InpUseHTF و InpUseCandleClose.

إشارة الخروج

الخروج متعدد الطبقات: جني الأرباح ثابت عند 3.0×ATR(14) من الدخول (نسبة 1:1.5) ولا يُحرَّك. عند ربح 1R، ينقل التعادل الوقف إلى entry+spread (شراء) أو entry (بيع) بشكل لمرة واحدة، ويُفعَّل إغلاق جزئي 50% مرة واحدة لكل تذكرة. بعد ذلك يتولى وقف ATR المتحرك عند 2.5×ATR(14)، إضافة إلى خروج وقت عند 240 شمعة، وخروج انتقال نظام (CHOPPY/RANGE)، وخروج إشارة معاكسة. يمكن للهرمية (معطلة افتراضياً) إضافة حتى 5 صفقات متباعدة بـ 2.0×ATR(14) عندما يكون أحدث مركز من نفس الاتجاه في ربح بنفس المسافة.

وقف الخسارة

الوقف الابتدائي 2.0×ATR(14) على إطار الإشارة، مع أرضية StopsLevelPrice لإرضاء الحد الأدنى لمسافة الوقف عند الوسيط. تنقل دالة التعادل الوقف إلى entry+spread (شراء) أو entry (بيع) عندما يصل الربح إلى 1R بشكل لمرة واحدة، ثم يقوم وقف ATR المتحرك (2.5×ATR(14)) بتقديم الوقف للأمام لبقية الصفقة.

جني الأرباح

يُضبط جني الأرباح عند 3.0×ATR(14) (نسبة 1:1.5) ولا يُحرَّك أبداً، مع نسبة R/R دنيا 1.2 تُفرض قبل إرسال الأمر. يُفعَّل الإغلاق الجزئي 50% عند ربح 1R لتأمين نصف الصفقة قبل أن يتولى الوقف المتحرك الجزء المتبقي.

الأنسب لـ

يُنشر بشكل أفضل على XAUUSD على إطار 5 دقائق (يعمل الـ EA أيضاً على M15 و H1)، على وسيط يدعم تعبئة FOK أو IOC ويُحترم فيه سقف السبريد 250 نقطة خلال تداخل جلستي لندن ونيويورك. الحد الأدنى للرصيد الموصى به 100 دولار، مع أرضية رأس مال فعال 50 دولار مدمجة في الـ EA؛ نسبة المخاطرة الافتراضية 0.5% لكل صفقة تعمل لتخصيصات شركات الدعم حتى 5000 دولار (اضبط InpCapAmount لفرض السقف). شغّله في يوم عمل بين الساعة 07:00 و 20:00 بتوقيت الخادم، وأبقِ InpDryRun = true لأول 24-48 ساعة من أي رمز جديد.

منطق الاستراتيجية

Pipsgrowth EX18012 TrendFollow — تحليل منطق الاستراتيجية (من كود .mq5)

العائلة: TrendFollow الماجيك: 22218012 الإصدار: 2.00

الوصف: ADX + ATR-percentile + Bollinger-width regime gate; closed-bar consensus of EMA(21>50) + RSI(50 side) + ATR-rise signal; HTF(H1) EMA(50) + candle-close + min R/R confirmation; full NO-TRADE filter; CAPITAL cap; ATR SL/TP; BE + partial + ATR trail + opposite/regime exits; pyramid OFF default. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester

المؤشرات:

  • مؤشرات قياسية

الدوال الرئيسية:

  • NormPrice()
  • NormLot()
  • StopsLevelPrice()
  • SafeCopyBuffer()
  • SafeCopyClose()
  • SafeCopyTime()
  • SafeCopyOpen()
  • SafeCopyHigh()
  • SafeCopyLow()
  • ComputeRegime()
الرمز الزائف (Pseudocode)
// Pipsgrowth EX18012 TrendFollow — Execution Flow (from source analysis)
// Family: TrendFollow
// ADX + ATR-percentile + Bollinger-width regime gate; closed-bar consensus of EMA(21>50) + RSI(50 side) + ATR-rise signal; HTF(H1) EMA(50) + candle-close + min R/R confirmation; full NO-TRADE filter; CAPITAL cap; ATR SL/TP; BE + partial + ATR trail + opposite/regime exits; pyramid OFF default. 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

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

المعاملالافتراضيالوصف
InpMagic22218012Magic number
InpComment"Psgrowth.com Expert_18012"Trade comment
InpDryRuntrueDry-run (no live sends)
InpKillSwitchfalseKill switch (disable all)
InpRiskPercent0.5Risk % per trade (of effective_capital)
InpFixedLot0.01Fallback lot if risk=0 / guard fail
InpDailyLossPct3.0Daily loss limit % (of effective_capital)
InpMaxConcurrent3Max concurrent trades (this EA, this symbol)
InpMaxSymbolExp3Max positions on one symbol
InpMaxSpreadPts250Max spread (points)
InpCapAmount0.0Capital cap (USD equity, real money)
InpCapFloor50.0Capital floor (USD) -> block entries below
InpUseEMAtrueUse EMA(21/50) trend filter
InpUseRSItrueUse RSI(14) momentum filter
InpUseATRRisetrueRequire ATR rising
InpUseHTFtrueRequire HTF(H1) EMA(50) agreement
InpUseCandleClosetrueRequire candle-close direction agreement
InpEnableTrailtrueEnable ATR trailing
InpEnableBEtrueEnable break-even at 1R
InpEnablePartialtrueEnable partial close at TP1
InpOppositeExittrueExit on opposite signal
InpRegimeExittrueExit on regime change
InpEnablePyramidfalseEnable pyramiding (default OFF)
كود المصدر (.mq5)Open Source
Pipsgrowth_com_EX18012.mq5
#property copyright "Pipsgrowth.com"
#property link      "https://pipsgrowth.com"
#property version   "2.00"
#property strict
#property description "Pipsgrowth.com EX18012 GenFiltered_XAUUSD_5M — regime-gated multi-filter consensus, full 12-layer stack."

#include <Trade\Trade.mqh>
#include <Trade\PositionInfo.mqh>
#include <Trade\SymbolInfo.mqh>
#include <Trade\AccountInfo.mqh>

//==================== TUNABLE CONSTANTS (NOT inputs) ====================
#define HTF_PERIOD        PERIOD_H1   // higher-timeframe confirmation TF
#define HTF_EMA_PERIOD    50          // HTF EMA period
#define ADX_PERIOD        14          // ADX period
#define ADX_STRONG_TREND  25.0        // ADX >= this -> strong trend
#define ADX_WEAK_TREND    20.0        // ADX >= this -> weak trend
#define BB_PERIOD         20          // Bollinger period
#define BB_DEV            2.0         // Bollinger deviation
#define ATR_PCT_LOOKBACK  50          // ATR-percentile lookback
#define ATR_PCT_COMPRESS  30          // percentile < this -> compress
#define ATR_PCT_EXPAND    80          // percentile > this -> expand
#define SL_ATR_MULT       2.0         // SL = SL_ATR_MULT * ATR
#define TP_ATR_MULT       3.0         // TP = TP_ATR_MULT * ATR (R:R 1.5)
#define BE_TRIGGER_R      1.0         // break-even trigger (multiples of R)
#define PARTIAL_PCT       50          // partial close % at TP1 (=1R)
#define TRAIL_ATR_MULT    2.5         // ATR trailing distance
#define TRAIL_START_R     1.0         // start trailing at R multiple
#define MAX_BARS_IN_TRADE 240         // max bars in trade (time exit)
#define SESSION_START_HR  7           // London/NY window start (server)
#define SESSION_END_HR    21          // London/NY window end (server)
#define PYRAMID_MAX       5           // hard cap on pyramid levels
#define PYRAMID_ATR_SP    2.0         // pyramid spacing (ATR multiples)
#define COOLDOWN_LOSSES   3          // losses before cooldown
#define COOLDOWN_BARS     12         // cooldown length (bars)
#define ATR_RISE_RATIO    1.05        // ATR rising if cur/prev > this
#define RSI_BULL_LEVEL    50          // RSI above = bull
#define RSI_BEAR_LEVEL    50          // RSI below = bear
#define MIN_RR_RATIO      1.2         // minimum reward:risk

//==================== INPUTS (12-22 total) ====================
input group "=== Identity ==="
input long     InpMagic          = 22218012;        // Magic number
input string   InpComment        = "Psgrowth.com Expert_18012"; // Trade comment
input bool     InpDryRun         = true;           // Dry-run (no live sends)
input bool     InpKillSwitch     = false;          // Kill switch (disable all)

input group "=== Risk & Sizing ==="
input double   InpRiskPercent    = 0.5;            // Risk % per trade (of effective_capital)
input double   InpFixedLot       = 0.01;           // Fallback lot if risk=0 / guard fail
input double   InpDailyLossPct   = 3.0;            // Daily loss limit % (of effective_capital)
input int      InpMaxConcurrent  = 3;              // Max concurrent trades (this EA, this symbol)
input int      InpMaxSymbolExp   = 3;              // Max positions on one symbol
input double   InpMaxSpreadPts   = 250;            // Max spread (points)

input group "=== Capital Allocation Cap ==="
// InpCapEnabled removed — use InpCapAmount=0 to disable           // Capital cap enabled
input double   InpCapAmount      = 0.0;          // Capital cap (USD equity, real money)
input double   InpCapFloor       = 50.0;           // Capital floor (USD) -> block entries below

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

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

الوسوم:ex18012trendfollowpipsgrowthfreemt5xauusd

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

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

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

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

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

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

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

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