Pipsgrowth EX16040 Trend — إكسبرت أدفايزر متابعة اتجاه
إكسبرت أدفايزر MT5 مفتوح المصدر · XAUUSD · M5، H1
Pipsgrowth EX16040 Trend — EX15 Trend Rider — multi-filter trend confirmation EA with MTF EMA alignment, ADX, RSI, Donchian breakout, Heiken Ashi f. إكسبرت أدفايزر MT5 مفتوح المصدر.
نظرة عامة
إكس16040 يقع في وسط عنقود رايدر-الترند PipsGrowth EX16، وهو أول مدخل في العائلة مبني كمحرك تسجيل من ست نقاط بدلاً من إشارة محددة واحدة. يصف التروية هندسة 'تأكيد ترند متعدد الفلاتر'، وهذا هو القراءة الصحيحة للكود: كل دخول يجب أن يجتاز سبعة فلاتر منفصلة قبل أن يُسمح لـ TryOpenDirection() بالعمل، والفلاتر مربوط بتفاوتات مختلفة تماماً. إذا قمت بعمل باك-تست لهذا الـ EA، توقع صفقات أقل من أبناء عمومته في EX16 الأبسط، لكن كل صفقة تحمل قضية مجمعة أقوى لكونها على الجانب الصحيح من الترند الإطاري الزمني الأعلى.
الفلاتر الثلاثة الأولى تأتي من توافق المؤشرات والقراءة. تُنشأ سبعة مقابض مؤشرات في OnInit: متوسطان متحركان سريع/بطيء على الإطار الزمني الحالي (الافتراضي 21 و50، MODE_EMA على PRICE_CLOSE)، والزوج نفسه مكرر على الإطار الزمني الأعلى المحدد بواسطة HigherTF_EMA (المدخل هو رمز عدد صحيح يحوله MapTimeframeInt — 5 = H1 افتراضياً، والـ 8 في خريطة المصدر هو PERIOD_H1)، ثم ADX(14) و RSI(14) و ATR(14). تقرأ EvaluateSignalOnClosedBar() كل هذه عند shift=1، لذا فإن نية الشراء تحتاج (أ) المتوسط السريع فوق البطيء على كلا الإطارين الزمنيين — وهذا يسجل نقطتين بوسم 'EMAaligned'، (ب) ADX(14) عند أو فوق ADXMin (الافتراضي 25) مع +DI فوق -DI للشراء، يسجل نقطة واحدة بوسم 'ADX+'، (ج) RSI(14) عند أو فوق RSI_BuyMin (الافتراضي 55)، يسجل نقطة، (د) اختراق Donchian-لفترة-55 — إغلاق الشمعة المغلقة فوق قمة 55 شمعة، يسجل نقطة بوسم 'Breakout'، و (هـ) ATR(14) بالنقاط عند أو فوق ATRMinPoints (الافتراضي 20)، يسجل نقطة. جانب البيع معكوس. الحد الأقصى 6 نقاط لكل جانب، والمحرك يتطلب scoreBuy >= 5 و scoreSell <= 2 قبل أن يُسمح لأي نية بالمرور. هذه العتبة هي ما يجعل الـ EA انتقائياً. مع قواعد الإطار H1، الذهب نادراً ما ينتج 5/6 في سوق جانبي، وهذا بالضبط هو الهدف.
الفلتر الرابع هو بوابة النظام (regime)، وتُشعل بعد بناء النقاط ولكن قبل تثبيت النية. تعيد PassesRegimeFilter() قراءة نفس ATR والمتوسطين السريع والبطيء عند shift=1، وتتيح للمستخدم اختيار منطق الانضمام عبر RegimeLogicMode (0=أي، 1=الكل، 2=FanOut AND). تعمل ثلاث مسارات فرعية بشكل مستقل: 'fan-out' يتطلب |EMA_fast - EMA_slow| >= Regime_EMA_ATR_Multiplier * ATR (الافتراضي 0.8 * ATR، لذا فجوة المتوسط يجب أن تكون على الأقل أربعة أخماس ATR الحالي)، 'ADX' يقرأ نفس مقبض ADX مع Regime_ADX_Min منفصل (الافتراضي 25)، و 'EMA slope' يقيس (EMA_slow_now - EMA_slow_8_bars_ago) / 8 / point ويتطلب على الأقل Regime_EMASlope_MinPoints (الافتراضي 10.0 نقاط لكل شمعة). إعداد FanOut الافتراضي يتطلب وجود الفجوة AND (ADX OR slope)، وهو الوضع الأكثر صرامة. هذا مستقل عن فلتر ADX لكل صفقة؛ بوابة النظام موجودة لتخطي مقاطع كاملة من البنية منخفضة الاقتناع حتى لو نجحت شمعة واحدة في الاختبار لكل صفقة.
الفلتر الخامس هو بوابة Heiken Ashi، وهو الفلتر الوحيد في الـ EA الذي يمكن تشغيله أو إيقافه بدون الآخرين. عندما يكون EnableHeikenAshiFilter صحيحاً، يحسب الـ EA شموع Heiken Ashi (HA_Close = (O+H+L+C)/4، HA_Open = نقطة منتصف شمعة HA السابقة) ويحظر الشراء ما لم تكن آخر شمعة HA مغلقة صاعدة والبيع ما لم تكن هابطة. يمكن رفع معامل HeikenAshiEntryConfirmBars الاختياري فوق 1 لطلب ذلك العدد من شموع HA المتتالية بنفس الاتجاه قبل السماح لأي نية بالمرور — عند 0 يكون الـ EA راضياً بشمعة واحدة، عند 3 يتطلب سلسلة من 3 شموع HA بنفس الاتجاه. يتم تخزين حساب HA مؤقتاً عبر BuildHeikenAshiCache() مرة واحدة لكل شمعة جديدة (ويمكن أيضاً سحبه من إطار زمني أعلى من خلال HeikenAshiMTF، وهو نفس محول الكود العددي الذي يستخدمه النظام). طبقة HA اختيارية منفصلة ترسم شموع HA على الرسم البياني بألوان جسم وفتيل قابلة للتكوين مع عتامة قابلة للتعديل، مفيدة للتأكيد البصري لكنها ليست حاسمة للمداخل.
الفلتر السادس والسابع يتعاملان مع السلامة. فلتر الجلسات، المحدد بواسطة EnableSessionFilter زائد EnableLondonSession (8-17) و EnableNYSession (13-22)، يضع بوابة على كل شيء — يتم حظر المداخل خارج أي من النافذتين، والوظيفة اسمها IsWithinTradingSession. حد سبريد ديناميكي يحتفظ بـ buffer حلقي من 200 تيك لقياس السبريد بالنقاط، ويحسب الوسيط، ويحظر المداخل عندما يكون السبريد الحالي أكثر من SpreadCapMedianMultiplier (الافتراضي 3.0) مرة من هذا الوسيط. هذا فلتر تكيفي لكل رمز وكل جلسة بدلاً من رقم ثابت، وهذا ما يجعله يعمل على الذهب وأزواج FX الرئيسية بدون إعادة ضبط.
ادعاء صدق 12-طبقة في كتلة التروية دقيق في الغالب لهذا الـ EA. النظام (REGIME) هو فلتر النظام؛ الإشارة (SIGNAL) هي تسجيل EMA+ADX+RSI+Donchian+ATR؛ الدخول (ENTRY) هو TryOpenDirection؛ التأكيد (CONFIRM) هو بوابة HA وبوابة ربحية الصفقات الإضافية؛ عدم-التداول (NO-TRADE) هو حد السبريد، فلتر الجلسة، حد MaxOpenTrades، وانتهاء فترة الإيقاف المؤقت؛ حد رأس المال (CAPITAL CAP) هو محفز مبلغ الإيقاف المؤقت؛ المخاطرة (RISK) هو تبديل 1%/لوت ثابت؛ التحجيم (SIZING) هو CalcLotsFromRisk؛ الإدارة (MANAGE) هو مسنن خطوة DLP؛ الخروج (EXIT) هو SL/TP الثابت؛ التوسيع (SCALING) هو MaxOpenTrades=5 زائد وسم أولي-مقابل-إضافي مع عدادات g_nextAddIndexBuy/g_nextAddIndexSell. OnTester هي الطبقة الوحيدة التي يسميها التروية لكن المصدر لا ينفذها — لا توجد وظيفة OnTester في الملف. المتداول الذي يشغل Strategy Tester في MT5 سيرى سلوك نجاح/فشل عام بدون دالة لياقة مخصصة كما يلمح التروية.
منطق قفل الربح الديناميكي هو الجزء الذي يجعل هذا الـ EA مميزاً في المحفظة. تعمل ApplyDynamicLockProfitToPosition() كل تيك عبر MaintainPositionsDLP(). لكل مركز EA، تقيس مدى تحرك السعر في اتجاه المركز (بالنقاط، باستخدام g_point)، تقسم على LockProfitStepPoints (الافتراضي 150)، تقرع النتيجة للأسفل، وتحسب SL مرشح عند entry + (steps * 150 - 20) * point للشراء أو entry - (...) للبيع. 'ناقص 20' هو buffer LockProfitBufferPoints. الوظيفة تشدد فقط — لا تحرك الستوب ضد المركز أبداً — وترفض التعديل إذا كان SL الجديد داخل SYMBOL_TRADE_FREEZE_LEVEL للوسيط أو ينتهك مستوى الستوب. مع SL 30 نقطة و TP 60 نقطة افتراضياً، أول مسنن DLP يدخل عند 150 نقطة (15 pip ربح) ويسحب الستوب إلى 130 نقطة فوق الدخول، أو 13 pip ربح. هذه حركة R واحدة بالنسبة لـ SL الأصلي. الخطوة الثانية عند 30 pip تسحب الستوب إلى 28 pip. في الوقت الذي تصل فيه الصفقة إلى TP 60 pip، يكون الستوب عند 58 pip، لذا حتى الانعكاس الحاد يمكن أن يعيد فقط نقطتين.
إدارة أولي-مقابل-إضافي هي المقبض الفريد الآخر. أول مركز في اتجاه ما يُوسم 'Initial BUY' أو 'Initial SELL' في تعليق الأمر، والمراكز الإضافية في نفس الاتجاه تحصل على 'Add#1 BUY'، 'Add#2 SELL'، وهكذا، باستخدام g_nextAddIndexBuy و g_nextAddIndexSell. مع AllowOnlyProfitableAdditions صحيح (الافتراضي)، يتم حظر المداخل الإضافية حتى يكون كل مركز موجود بنفس الاتجاه رابحاً بما لا يقل عن MinProfitPerTradeToAdd (الافتراضي 5.0 نقاط). هذا يعني أن الـ EA لن يضيف هرمياً في اتجاه خاسر — يتطلب أن يكون التعرض الحالي بنفس الجانب ربحاً صافياً قبل الإضافة. الحد الأقصى هو MaxOpenTrades (الافتراضي 5) عبر الاتجاهين، لذا في ترند قوي قد ينتهي بك الأمر بثلاثة مراكز شراء واثنين بيع مقفلة في تعرض متبادل، لكن بوابة الإضافة تمنع أسوأ حالة وهي المتوسط للأسفل في ركض ستوب.
منطق الإيقاف المؤقت يعيش في OnTradeTransaction(). كل حدث DEAL_ADD مع DEAL_ENTRY_OUT يُقرأ، والـ EA يجمع g_lossStreakCount و g_lossStreakAmt كلما كان pnl (ربح + سواب + عمولة) سالباً. مع تشغيل PauseOnConsecutiveLosses ووصول عدد الستريك إلى PauseConsecutiveLossesCount (الافتراضي 3)، يدفع الـ EA g_tradePauseUntil إلى الأمام بمقدار PauseConsecutiveLossesMinutes (الافتراضي 60). مع تشغيل PauseOnLossAmount ووصول الخسارة المتراكمة إلى PauseLossAmount (الافتراضي 100.0 بعملة الإيداع)، يحدث نفس الدفع لمدة PauseLossAmountMinutes (الافتراضي 60). تتحقق CanOpenNewEntry() من وقت الإيقاف المؤقت في كل محاولة دخول وترفض بسجل 'PAUSE'. كلا محفزات الإيقاف معطلة افتراضياً، لذا الـ EA لا يحظر نفسه خارج الصندوق، لكن المتداول الذي يعمل على حساب 500$ ومخاطرة 1% لكل صفقة سيرغب في تشغيل محفز المبلغ لأن 100$ خسارة هي بالضبط 20% من الحساب — عتبة 'تهدئة' معقولة لسير عمل شركة_prop أو مخاطر شخصية.
مسار التنفيذ هو TryOpenDirection -> CalcLotsFromRisk -> SendOrder -> ModifySLTPByTicket اختياري بعد التعبئة. مع UseECNSafeOrderSend صحيح (الافتراضي)، يقدم SendOrder الأمر أولاً بدون SL/TP، ثم ينتظر حتى 500 مللي ثانية يستطلع PositionsTotal() للتذكرة الجديدة، وعندها فقط يستدعي ModifySLTPByTicket لإرفاق SL 30 pip و TP 60 pip. هذا النمط الصحيح لحساب ECN/STP الذي يرفض SL/TP المرفق أثناء التعبئة الأولية. SendOrder لديه حلقة إعادة محاولة محدودة بـ 3 محاولات — على REQUOTE/PRICE_OFF/INVALID_PRICE/PRICE_REJECT يتراجع 50/100/150 مللي ثانية؛ على INVALID_VOLUME يمشي لأسفل في SYMBOL_VOLUME_STEP ويعيد المحاولة؛ في المحاولة الأولى مع SL/TP مرفق، إذا فشل يزيل SL/TP ويعيد المحاولة بدونها (لذا التعبئة الجزئية التي أرفقت الستوبات بالفعل لن تُلغى). المساعدون الثلاثة لإعادة المحاولة الميتة في أسفل الملف (TryClose_EX16040، TryClosePartial_EX16040، TryModify_EX16040) يستخدمون نسخة CTrade g_trade_wrappers_EX16040 منفصلة — معرّفة لكن لا تُستدعى من أي مسار كود حي. الإغلاق، الإغلاق الجزئي، والتعديل كلها تمر عبر ClosePositionByTicket و ModifySLTPByTicket بدلاً من ذلك، وهذا يستحق المعرفة إذا كنت تنوي تفريع الـ EA.
ما يمكن توقعه في الباك-تست: تكرار صفقات منخفض (عتبة 5/6 زائد بوابة النظام زائد بوابة HA زائد فلتر الجلسة كلها متراكمة)، معظم الصفقات في ساعات تداخل لندن ونيويورك على M5 متوائم مع H1، SL/TP عند 30/60 pip على الذهب افتراضياً، وملف 1:2 R:R. قفل الربح الديناميكي يعني أن سلاسل الخسارة قصيرة — الـ EA يسنن إلى نقطة التعادل+Plus عند علامة 13 pip في كل صفقة — لكن بوابة النقاط الصارمة تعني أن هناك أيام هادئة لا يفعل فيها الـ EA شيئاً. المتداول الذي يريد صفقات أكثر يجب أن يخفض ADXMin إلى 20، يرفع HeikenAshiEntryConfirmBars إلى 0، ويفكر في تبديل بوابة النظام إلى وضع ANY. المتداول الذي يريد صفقات أقل واقتناعاً أعلى يجب أن يرفع عتبة النقاط عبر وضع 'ALL' لبوابة النظام وتشغيل تأكيد HA عند 2-3 شموع.
تفاصيل الاستراتيجية
يبني EX16040 درجة من 6 نقاط لكل جانب من توافق EMA(21/50) على كل من الإطار الحالي والإطار الأعلى، ADX(14)>=25 مع DI اتجاهي، عبور نطاق RSI(14)، اختراق Donchian(55)، وأرضية ATR(14)>=20 نقطة؛ لا تُحرر نية شراء أو بيع إلا عندما يحصل جانبها على >=5 والجانب المعاكس <=2. بعد بناء الدرجة، تعيد PassesRegimeFilter() قراءة نفس حزمة ATR/EMA وتطبق انضمام نظام من 3 مسارات (FanOut لفجوة EMA، عتبة ADX، ميل EMA على 8 شموع) بمنطق ANY/ALL/FanOut-AND المختار من المستخدم، وفلتر Heiken Ashi اختياري يحظر الصفقة ما لم تتطابق آخر شمعة HA مغلقة مع الاتجاه المقصود (قابل للتمديد إلى N شموع HA متتالية). ثم يشغل OnTick CanOpenNewEntry() لفرض حارس الإيقاف المؤقت من OnTradeTransaction (سلسلة خسائر أو خسارة متراكمة)، حد السبريد بالوسيط المتحرك، نافذة جلسة لندن 8-17 أو نيويورك 13-22، حد MaxOpenTrades=5، وحظر الأخبار، قبل استدعاء TryOpenDirection الذي يرسل الأمر ECN-safe (بدون SL/TP، يُرفق بعد التعبئة) و ApplyDynamicLockProfitToPosition يشدد الستوب كل LockProfitStepPoints=150 حركة مواتية.
تتطلب المداخل درجة من ست نقاط >= 5 (مع درجة معاكسة <= 2) عبر توافق EMA(21/50) على كل من الإطار الحالي والإطار الأعلى، ADX(14)>=25 مع تحيز اتجاهي +DI/-DI، RSI(14)>=55 (شراء) أو <=45 (بيع)، اختراق Donchian(55) للشمعة المغلقة، وأرضية ATR(14)>=20 نقطة. بعد اجتياز الدرجة، تعيد بوابة النظام (FanOut AND، ALL، أو ANY) قراءة نفس قيم EMA/ADX/slope، وبوابة Heiken Ashi اختيارية تحظر الصفقات ما لم تتطابق آخر شمعة HA مغلقة (أو N شموع HA متتالية إذا كان HeikenAshiEntryConfirmBars>1) مع الاتجاه المقصود. المداخل الأولى تُوسم 'Initial BUY/SELL'، الإضافات 'Add#N BUY/SELL' وتُحظر بواسطة AllowOnlyProfitableAdditions حتى يكون كل مركز بنفس الاتجاه رابحاً بـ MinProfitPerTradeToAdd نقطة على الأقل.
الخروج الأساسي هو TP ثابت عند 60 pip (TakeProfitPoints=600، 1:2 R:R مقابل SL 30 pip). الخروج الثانوي هو وحدة الإغلاق-عبر-الشموع-المعاكسة، معطلة افتراضياً: عند التفعيل مع CloseOppositeCandlesCount=3، يغلق الـ EA المركز بمجرد تشكيل 3 شموع Heiken Ashi متتالية ضد اتجاه المركز، مقيّدة اختيارياً بـ MinProfitForHAClosePoints وموسعة تكيفياً بواسطة ATR عبر AdaptiveATRMultiplier1/2. مسنن خطوة DLP لا يخرج — يشدد الستوب فقط لقفل الربح بخطوات LockProfitStepPoints=150 ناقص buffer LockProfitBufferPoints=20.
وقف الخسارة ثابت عند 30 pip (StopLossPoints=300) على الأمر الأصلي، يُرسل بدون SL/TP أولاً تحت UseECNSafeOrderSend=true ويُرفق بعد التعبئة عبر ModifySLTPByTicket. مسنن خطوة DLP ثم يشدد هذا الستوب مع تحرك السعر لصالح المركز: كل LockProfitStepPoints=150 حركة مواتية، يُنقل الستوب إلى entry + (steps*150 - 20) * point، ويُسنن فقط بإحكام (لا يتوسع أبداً). الـ EA يرفض أيضاً تعديلات SL التي ستقع داخل SYMBOL_TRADE_FREEZE_LEVEL أو تنتهك SYMBOL_TRADE_STOPS_LEVEL.
جني الأرباح ثابت عند 60 pip (TakeProfitPoints=600) مما يعطي 1:2 R:R مقابل SL 30 pip. يُرفق TP بالأمر الأصلي عبر استدعاء ECN-safe post-fill ModifySLTPByTicket. مسنن خطوة DLP يقلل فعلياً من فجوة TP مع الوقت: عند 30 pip ربح، الستوب عند 28 pip؛ عند 60 pip (TP) الستوب عند 58 pip، لذا الانعكاس الحاد عند مستوى TP يمكن أن يعيد فقط 2 pip من الربح. لا يمكن تعديل TP بواسطة DLP — فقط SL يُسنن.
الأفضل على XAUUSD M5 مع H1 كتأكيد للإطار الزمني الأعلى (HigherTF_EMA=5 يُحوَّل إلى PERIOD_H1)، حيث تنتج عتبة النقاط الست عدد صفقات منخفض لكن باقتناع عالٍ. مطلوب وسيط بسبريد ذهب نموذجي أقل من 25 نقطة وتنفيذ ECN لأن الـ EA يرسل الأوامر بدون SL/TP مرفق تحت UseECNSafeOrderSend=true ويعتمد على مسار ModifySLTPByTicket بعد التعبئة. الحد الأدنى الموصى به لحجم الحساب 1,000$ (الحد الأدنى للـ schema 100$ قابل للعمل لاختبار سنت-لوت، لكن عند 0.10 لوت و SL 30 pip، المخاطرة الفعلية لكل صفقة تقريباً 3% على حساب 100$). شغله خلال ساعات خادم لندن 8-17 ونيويورك 13-22، لأن IsWithinTradingSession مُفعّل افتراضياً ولأن حد السبريد بالوسيط المتحرك لديه بيانات ذات معنى فقط بعد أن يكون الرمز قد تداول لـ 200+ تيك. مناسب لمتداولي الذهب بأسلوب السوينج الذين يقبلون مداخل أقل مقابل إعدادات مصادق عليها بالدرجات، تسنن DLP، وخيار تشغيل حارس إيقاف سلسلة الخسارة عند 3 خسائر متتالية أو 100$ خسارة متراكمة.
منطق الاستراتيجية
Pipsgrowth EX16040 Trend — تحليل منطق الاستراتيجية (من كود .mq5)
العائلة: Trend
الماجيك: 22216040
الإصدار: 2.00
الوصف:
EX15 Trend Rider — multi-filter trend confirmation EA with MTF EMA alignment, ADX, RSI, Donchian breakout, Heiken Ashi filter, regime filter, news avoidance. Dynamic Lock Profit, initial/additional trade gating, pause guards, session and spread-cap filters, ECN-safe execution. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester
المؤشرات:
- مؤشرات قياسية
الدوال الرئيسية:
RemoveHeikenAshiObjects()DrawHeikenAshi()UpdateHeikenAshiOverlay()CountRecentOppositeCandles()ClosePositionByTicket()MaintainCloseOppositeCandles()ComputeHeikenAshiState()BuildHeikenAshiCache()GetCachedHAState()ComputeHeikenAshiStateMTF()
// Pipsgrowth EX16040 Trend — Execution Flow (from source analysis)
// Family: Trend
// EX15 Trend Rider — multi-filter trend confirmation EA with MTF EMA alignment, ADX, RSI, Donchian breakout, Heiken Ashi filter, regime filter, news avoidance. Dynamic Lock Profit, initial/additional trade gating, pause guards, session and spread-cap filters, ECN-safe execution. 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 | 22216040 | Magic Number |
| InpTradeComment | "Psgrowth.com Expert_16040" | Trade Comment |
| LockProfitStepPoints | 150 | step size in points |
| LockProfitBufferPoints | 20 | buffer (points) subtracted from cumulative step |
| MaxOpenTrades | 5 | total across directions |
| AllowOnlyProfitableAdditions | true | gate additions when ALL same-dir trades >= MinProfitPerTradeToAdd |
| MinProfitPerTradeToAdd | 5.0 | points |
| PauseConsecutiveLossesMinutes | 60 | Pause by loss amount (deposit currency) across the current loss streak |
| PauseLossAmount | 100.0 | e.g., 100 USD |
| PauseLossAmountMinutes | 60 | --- RISK & TRADE |
| UseRiskPercentSizing | false | if true, compute volume from risk % |
| RiskPercentPerTrade | 1.0 | % of balance risked per trade |
| FixedLotSize | 0.10 | used if UseRiskPercentSizing==false |
| StopLossPoints | 300 | SL in points |
| TakeProfitPoints | 600 | TP in points |
| MaxSlippagePoints | 5 | deviation for OrderSend |
| EnableSpreadCapFilter | true | cap current spread |
| SpreadMedianWindowSize | 200 | window for rolling median |
| SpreadCapMedianMultiplier | 3.0 | cap = multiplier * median spread |
| LimitOneEntryPerBar | true | only 1 new entry per bar |
| HigherTF_EMA | 8 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // MTF confirmation TF |
| RSI_BuyMin | 55 | >= for BUY |
| RSI_SellMax | 45 | <= for SELL |
| DonchianPeriod | 55 | breakout filter |
| ATRPeriod | 14 | low-vol guard |
| ATRMinPoints | 20 | minimal ATR in points to allow entries |
| OnlyTrendDirection | true | if true, disables counter-trend signals |
| NYEndHour | 22 | --- BROKER & EXECUTION |
| UseECNSafeOrderSend | true | send without SL/TP first if needed |
| EnforceFreezeLevel | true | avoid modify if within freeze |
| EnforceStopLevel | true | avoid SL/TP too close |
| AllowNetting | true | if netting, EA will manage single net position per symbol |
| EnableVerboseLogs | true | structured debug logs |
| ShowHeikenAshiOverlay | true | draw HA candles on chart (objects) |
| HeikenAshiHistoryBars | 150 | number of historical HA candles to (re)draw |
| HeikenAshiBodyOpacityPct | 60 | 0..100 -> converted to ARGB alpha |
| HeikenAshiRedrawEveryTick | false | if true redraw each tick (heavier) |
| EnableHeikenAshiFilter | true | require HA bull for BUY / bear for SELL |
| HeikenAshiEntryConfirmBars | 0 | if >0 require this many consecutive HA bars same direction before entry |
| UseHeikenAshiCache | true | if true compute & cache HA series once per new bar |
| HeikenAshiMTF | 0 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // for optional MTF HA filter (PERIOD_CURRENT = disabled) |
| EnableRegimeFilter | true | master switch |
| Regime_EMA_ATR_Multiplier | 0.8 | k: require |EMAfast-EMAslow| >= k * ATR |
| Regime_EnableADX | true | allow ADX path |
| Regime_ADX_Min | 25 | ADX threshold for regime (independent of entry ADXMin if desired) |
| Regime_EnableEMASlope | true | allow EMA slope path |
| Regime_EMASlope_Lookback | 8 | bars back for slope calc on Slow EMA |
| Regime_EMASlope_MinPoints | 10.0 | minimum absolute slope (points per bar) of Slow EMA over lookback |
| Regime_BlockIfATRBelowMin | true | reuse ATRMinPoints gate early |
| RegimeLogicMode | 0 | 0=ANY (OR), 1=ALL, 2=FanOut AND (ADX OR Slope) |
| EnableNewsFilter | false | if true, skip trading near provided times |
| NewsTimesCSV | "" | format: "YYYY.MM.DD HH:MM;YYYY.MM.DD HH:MM;..." |
| NewsAvoidMinutesBefore | 30 | blackout window before news |
| NewsAvoidMinutesAfter | 30 | blackout window after news |
| EnableCloseByOppositeCandles | false | if true, close positions after N consecutive opposite candles |
| CloseOppositeCandlesCount | 3 | number of consecutive opposite candles to trigger close |
| DebugCloseOpposite | false | extra prints for opposite-candle close logic |
| MinProfitForHAClosePoints | 0.0 | require at least this profit (points) before HA opposite close |
| AdaptiveOppositeCount | false | adapt CloseOppositeCandlesCount by ATR |
| AdaptiveATRMultiplier1 | 1.5 | ATR >= m1*ATRMinPoints => +AdaptiveAdd1 |
| AdaptiveATRMultiplier2 | 2.5 | ATR >= m2*ATRMinPoints => +AdaptiveAdd2 (cumulative) |
| AdaptiveAdd1 | 1 | first increment |
| AdaptiveAdd2 | 2 | second increment (added on top of Add1) |
#property copyright "Pipsgrowth.com"
#property link "https://pipsgrowth.com"
#property version "2.00"
#property strict
#property description "Pipsgrowth.com EX16040 EX15_TrendRider — multi-filter trend rider with HA and regime filters, full 12-layer stack."
#include <Trade\Trade.mqh>
//--- ===================================================================
//--- INPUTS (Grouped)
//--- ===================================================================
//--- 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_TIMEFRAMES g_HigherTF_EMA = PERIOD_H1;
ENUM_TIMEFRAMES g_HeikenAshiMTF = PERIOD_H1;
input group "=== CORE ==="
input long MagicNumber = 22216040; // Magic Number
input string InpTradeComment = "Psgrowth.com Expert_16040"; // 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_TIMEFRAMES g_HigherTF_EMA = PERIOD_H1;
ENUM_TIMEFRAMES g_HeikenAshiMTF = PERIOD_H1;
input group "=== DYNAMIC LOCK PROFIT ==="
input bool EnableDynamicLockProfit = true;
input int LockProfitStepPoints = 150; // step size in points
input int LockProfitBufferPoints = 20; // buffer (points) subtracted from cumulative step
//--- INITIAL vs ADDITIONAL
ENUM_TIMEFRAMES MapTimeframeInt(int tf)
{
switch(tf)
{
case 1: return PERIOD_M1;الكود المصدري الكامل متاح عند التحميل
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.
تحذير صريح: لأغراض تعليمية فقط
تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.
وسطاء موصى بهم لهذا الإكسبرت
هذه الروبوتات تعمل على 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 مفتوح المصدر.
مجتمع المستخدمين
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.