Pipsgrowth EX12053 MultiIndicatorConfluence — إكسبرت أدفايزر إكسبرت أدفايزر
إكسبرت أدفايزر MT5 مفتوح المصدر · XAUUSD · M5، H1
Pipsgrowth EX12053 MultiIndicatorConfluence — TrendCatcher EA using Heikin-Ashi direction + EMA(21/50) regime + MACD(12,26,9) cross for entry, with spread cap, sessio. إكسبرت أدفايزر MT5 مفتوح المصدر.
نظرة عامة
Pipsgrowth EX12053 هو روبوت اتجاهي موجّه بميّزة هيكن-آشي (Heikin-Ashi) لمنصة MetaTrader 5، صُمّم حول فكرة واضحة: إبقاء مكدّس المؤشرات صغيراً، وجعل القواعد قابلة للقراءة، وترك حركة السعر تقوم بمعظم العمل. بينما تسحب معظم نسخ عائلة MultiIndicatorConfluence ما بين ستة إلى عشرة من مقابض المؤشرات الأصلية، يستخدم EX12053 ثلاثة مقابض فقط — المتوسط المتحرك الأسي السريع EMA(21) للاتجاه قصير المدى، وEMA(50) للعمق البنيوي، ومؤشر MACD(12,26,9) لتأكيد الزخم — ويقرنها باتجاه هيكن-آشي يُحسب داخلياً من بيانات السعر الخام. الفرضية التجارية بأكملها: لا يتم فتح صفقة إلا عندما يتفق اتجاه السعر المُنعّم (HA)، واتجاه البنية الاتجاهية (تقاطع EMA)، واتجاه الزخم (خط MACD الرئيسي مقارنة بخط الإشارة مع فلتر مقيّد بالإشارة) في نفس اللحظة، وكان المتوسط السريع يصعد أو يهبط فعلياً خلال آخر بارات مغلقة على الأقل.
تعيش سلسلة الإشارة داخل دالة GenerateSignal(). عند كل بار جديد يسحب الروبوت آخر قيمتَين مغلقتَين لكل مقبض عبر ReadIndicatorsOnClosedBar()، ويستدعي GetHeikinAshiOnBar(1, ...) لحساب هيكن-آشي على آخر بار مغلق من نافذة CopyRates بعرض 200 بار، ثم يطبّق أربعة شروط فرعية للدخول الطويل بالترتيب: يجب أن يكون هيكن-آشي صاعداً (إغلاق HA فوق افتتاح HA، حيث إغلاق HA هو متوسط الأسعار الأربعة OHLC وافتتاح HA هو نقطة منتصف بار HA السابق)، يجب أن يطبع EMA(21) السريع فوق EMA(50) البطيء، يجب أن يكون خط MACD الرئيسي فوق خط الإشارة وفوق الصفر (بحيث لا يكون مجرد تقاطع صاعد داخل نظام هابط — بل يجب أن يكون تقاطعاً صاعداً في الجانب الإيجابي)، ويجب أن تُرجع EMASlopeOK(true) قيمة صحيحة، أي أن على الأقل MinEMASlopeBars-1 من آخر MinEMASlopeBars فحص ميل تُظهر EMA السريع صاعداً. الجانب القصير هو المرآة المثالية: هيكن-آشي هابط، EMA السريع تحت البطيء، MACD الرئيسي تحت خط الإشارة وتحت الصفر، EMA السريع يهبط في فحص الميل. إذا فشل ولو شرط واحد من الأربعة، لن تنطلق إشارة. هذا هو الخيار التصميمي الذي يُعرّف EX12053 — لن يدخل في اتجاه "مقبول"، بل في اتجاه يتفق عليه كل طبقة منكرة في نفس اللحظة.
يتم حساب هيكن-آشي من الصفر في كل بار إشارة داخل GetHeikinAshiOnBar(). تخصص الدالة مصفوفات ديناميكية بحجم نافذة CopyRates بعرض 200 بار، وتُهيّئ أول بار HA بالافتتاح الحقيقي ومتوسط OHLC/4، ثم تتقدّم تكرارياً باستخدام الصيغ العودية القانونية (إغلاق HA = OHLC/4؛ افتتاح HA = (افتتاح HA السابق + إغلاق HA السابق) / 2). لا يستخدم الروبوت أي مؤشر هيكن-آشي خارجي — بل يحسب الرياضيات بنفسه، ما يعني أن الحساب شفاف بالكامل وأن التكلفة الوحيدة هي نسخ 200 بار من الأسعار. ثم يُقارن بار HA بافتتاحه لاستخراج الانحياز الاتجاهي (haBull / haBear)، وهذا المتغير البولياني الواحد هو البوابة الأولى في سلسلة الإشارة. في السوق العرضي حيث تتأرجح الشموع الخام بين الأحمر والأخضر، يميل HA المُنعّم إلى التسطح أو التقلب ذهاباً وإياباً، والبوابة الأولى وحدها تحجب معظم التشويش.
فلتر MACD المقيّد بالإشارة (macdUp = (mMain > mSig) && (mMain > 0.0)) هو الخيار التصميمي الثاني. يمكن لتقاطع MACD العادي أن ينطلق في أي مكان على المؤشر، بما في ذلك داخل سحب هابط عميق لاتجاه صاعد، وهو ما يُنتج تاريخياً عدداً كبيراً من الإشارات الكاذبة على الذهب. باشتراط أن يكون خط MACD الرئيسي أيضاً على الجانب الصحيح من الصفر، يقصر الروبوت الإدخالات على أحداث تقاطع تحدث في "النصف الأيمن" من الهيستوجرام — النصف الذي يدعم فيه الزخم الاتجاه فعلياً، لا مجرد انعطاف داخل منطقة ميتة. مدمجاً مع تقاطع EMA وفحص الميل، يعني ذلك أن خط MACD يجب أن يتحرك في اتجاه الصفقة، على الجانب الصحيح من الصفر، بينما يميل EMA السريع في اتجاه الصفقة، بينما يكون HA صاعداً أو هابطاً. ثلاث طبقات زخم/اتجاه مستقلة مكدّسة على التوالي هي عتبة أعلى بكثير من أي طبقة منفردة.
يمر تنفيذ الدخول عبر PlaceEntry()، التي تُؤمَّن عبر PreflightAllowsEntry(). يفحص فحص ما-قبل-الإقلاع أربعة شروط بالترتيب: يجب ألّا يكون الروبوت متوقفاً (انفصال الطرفية، إلخ)، يجب أن تُرجع InSession(TimeCurrent()) صحيحاً، يجب أن تُرجع SpreadOkay() صحيحاً، ويجب أن يكون الوقت الحالي قد تجاوز g_tradePauseUntil (المُعيَّن بواسطة حراس الإيقاف بسبب الخسارة). يستخدم فلتر الجلسة نافذة توقيت خادم واحدة مع SessionStartHour=7 وSessionEndHour=22، والمساعد InSession() يتعامل تلقائياً مع حالة التفاف منتصف الليل إذا امتدت النافذة يوماً ما عبر 24 ساعة. بوابة السبريد هي سقف قائم على الوسيط: تحتفظ PushSpreadSample() بنافذة دائرية لآخر SpreadMedianWindow=20 تيك من السبريد، وMedianSpread() تفرز وتُرجع الوسيط، ويجب أن يكون السبريد الحالي عند أو دون SpreadCapMultiplier=3.0 ضرب هذا الوسيط — أي يمكن للسبريد الحالي أن يصل إلى 3 أضعاف السبريد المعتاد الأخير قبل حجب الإدخالات. هذا فلر متساهل مقارنة بسقوف النقاط الثابتة؛ يسمح للروبوت بالتداول خلال أحداث توسّع السبريد الإخبارية العادية لكنه يرفض القفزات المرضية. إذا اجتاز فحص ما-قبل-الإقلاع، يحسب الروبوت وقف الخسارة وجني الأرباح من StopLossPoints=300 وTakeProfitPoints=600 ويرسل الأمر عبر SendMarketOrder().
يُنفّذ مرسل الأوامر حلقة إعادة محاولة بثلاث تمريرات، وفي كل تمريرة يمر عبر أوضاع التعبئة الثلاثة ORDER_FILLING_FOK → ORDER_FILLING_IOC → ORDER_FILLING_RETURN. إذا رفض الوسيط الأمر بـ TRADE_RETCODE_INVALID_FILL أو TRADE_RETCODE_INVALID، ينتقل الروبوت فوراً إلى وضع التعبئة التالي (بلا نوم)؛ إذا حصل على إعادة تسعير أو انحراف سعري، يُحدّث السعر ويُعيد المحاولة؛ بين التمريرات الكاملة ينام RetryDelayMs=250 مللي ثانية. بعد التنفيذ الناجح، يمسح الروبوت المراكز المفتوحة عن السحر المطابق ويتأكد من أن وقف الخسارة وجني الأرباح المضمّنين قد طُبّقا فعلياً (بعض وسطاء ECN يتجاهلون الأوامر المضمّنة)؛ إذا لم يكونا مطبّقَين، يرسل تعديل TRADE_ACTION_SLTP. هذه تفصيلة صغيرة لكنها مهمة لـ XAUUSD على حسابات ECN، حيث تُعد حالات إفلات وقف الخسارة سبباً شائعاً للخسائر غير المتوقعة.
تنقسم إدارة المركز إلى جزأين. أولاً، راتشيه DLP لكل صفقة (ApplyDynamicLockProfitToPosition()) تعمل في كل تيك ضد كل مركز مملوك. تحسب movedPts من الدخول إلى bid/ask الحالي، تقسم على InpLockProfitEveryXPoints=150 وتُقطّعها للحصول على عدد خطوات القفل المكتملة، تُعيّن lockFromEntryPts = steps × 150 - InpLockMinusYPointsBuffer=20، وتقترح وقف خسارة جديد عند الدخول ± lockFromEntryPts. ثم يُقيَّد وقف الخسارة المقترح مقابل SYMBOL_TRADE_STOPS_LEVEL ويُرفض إذا كان سيقع داخل SYMBOL_TRADE_FREEZE_LEVEL. والأهم أن الراتشيه لا يُحكم إلا في اتجاه واحد — if(curSL > 0 && newSL <= curSL + _Point*0.5) return; — لذا لا يمكن لأي ارتفاع مفاجئ أن يُرخي وقف الخسارة. بعد 150 نقطة من التقدم، ينتقل وقف الخسارة إلى entry+130، بعد 300 نقطة إلى entry+280، بعد 450 نقطة إلى entry+430، وهكذا. ثانياً، بوابة التوسيع في PlaceEntry() تُنفّذ تسلسل Initial مقابل Add#N: أول صفقة في نفس الاتجاه تحصل على وسم التعليق Psgrowth.com Expert_12053 Initial BUY/SELL؛ كل صفقة إضافية في نفس الاتجاه تُؤمَّن عبر IsAllSameDirProfitableAtLeast() التي تتحقق أن كل مركز قائم في نفس الاتجاه رابح بما لا يقل عن MinProfitPerTradeToAdd=5.0 نقاط، ثم تحصل على الوسم ... Add#N BUY/SELL مع g_addCountBuy/g_addCountSell كعدّاد لكل اتجاه. تتحكم علامة AllowOnlyProfitableAdditions (الافتراضي صحيح) في ما إذا كانت البوابة مفروضة. إجمالي توسيع نفس الاتجاه محدود بـ MaxOpenTrades=5.
يعمل نظام حراس الإيقاف من OnTradeTransaction() عند كل حدث إضافة صفقة. عندما تصل صفقة بنوع دخول DEAL_ENTRY_OUT (أي صفقة إغلاق) وتنتمي الصفقة إلى سحر ورمز هذا الروبوت، يقرأ الروبوت DEAL_PROFIT + DEAL_SWAP + DEAL_COMMISSION لربح/خسارة الدورة الكاملة. إذا كان الربح سالباً، يزداد g_lossStreakCount ويضاف مبلغ الخسارة إلى g_lossStreakAmt؛ إذا كان موجباً أو صفراً، يُعاد كلاهما إلى الصفر (ربح واحد يمسح السلسلة). يتحقق مسارا تشغيل مستقلان من السلسلة الجارية: PauseOnConsecutiveLosses (افتراضي OFF) عند PauseConsecutiveLossesCount=3 خسائر يُعيّن g_tradePauseUntil = TimeCurrent() + PauseConsecutiveLossesMinutes*60؛ PauseOnLossAmount (افتراضي OFF) عند PauseLossAmount=100 دولار يُعيّن نفس النوع من الإيقاف لمدة PauseLossAmountMinutes=60 دقيقة. المساران يتراكبان عبر MathMax، لذا تشغيل كليهما يُعطي الإيقاف الأطول. تسجيل الإيقاف مقيّد بـ مرة كل 15 ثانية لإبقاء تبويب Experts نظيفاً.
على جانب المخاطرة وتحديد الحجم، يقدم EX12053 وضعين. الافتراضي هو UseRiskPercent=false مع FixedLot=0.10، الذي على حساب 100 دولار بوقف خسارة 300 نقطة على XAUUSD يمثل تقريباً 30% من الهامش على عقد ذهب نموذجي — مريح لدفعة واحدة، لكن مع سقف التوسيع 5 صفقات يمكن للروبوت تكديس ما يصل إلى 0.50 لوت. الوضع الثاني هو UseRiskPercent=true مع RiskPercent=1.0، حيث تحسب LotsByRisk() حجم اللوت من AccountInfoDouble(ACCOUNT_BALANCE) * (RiskPercent/100) / (sl_points * valuePerPointPerLot)، مُلزَّماً بـ SYMBOL_VOLUME_STEP ومقيَّداً بـ SYMBOL_VOLUME_MIN / SYMBOL_VOLUME_MAX. الدالة ClampVolume() تقوم بعمليات الإلزام والتقييد. لا يوجد تحديد حجم قائم على ATR، ولا تجاوز مخاطرة لكل صفقة، ولا فلتر منحنى حقوق ملكية — الروبوت صغير عمداً. أغلفة CTrade وهي TryClose_EX12053 وTryClosePartial_EX12053 وTryModify_EX12053 موجودة لأي خطافات أدوات مساعدة خارجية، كل منها بحلقة 3 محاولات و200 مللي ثانية / 100 مللي ثانية نوم عند إعادة التسعير أو المهلة.
مجموعة سطح تحكم من 14 مدخلاً، ومكدّس مؤشرات من 3 مقابض، وإشارة من 4 شروط تجعل من EX12053 أكثر أعضاء عائلة MultiIndicatorConfluence إتاحة. لا يوجد شيء في هذا الروبوت لا يستطيع المتداول المتوسط قراءته من البداية إلى النهاية: المدخلات هي تماماً كما تقول، ومنطق الإشارة هو نفس الكود في GenerateSignal() الذي كنت ستكتبه على السبورة، وقواعد المخاطرة صريحة. ما يتخلى عنه الروبوت بصغره هو الاتساع — لا يوجد مصنّف نظام، ولا تحسين داخل الاختبار، ولا بنية أوامر معلّقة، ولا تكيّف تذبذب تلقائي، ولا EMA منفصل لكل اتجاه — وما يكتسبه هو الشفافية. التقاء الـ 4 شروط بقيادة HA هو الخيار التصميمي الذي يربطه معاً: قاعدة واحدة قابلة للاختبار والتكرار حول ما يُعدّ دخول اتجاهي صحيح، تُطبَّق في كل بار جديد.
تفاصيل الاستراتيجية
في كل تيك، تستدعي OnTick() دالة PushSpreadSample() للحفاظ على وسيط دوار بعرض 20 تيك للسبريد الحالي، ثم تمشي عبر كل مركز مفتوح وتُشغّل ApplyDynamicLockProfitToPosition() لإحكام وقف الخسارة خطوة DLP واحدة إذا كان السعر قد تقدّم 150 نقطة إضافية في الربح. عندما تُرجع IsNewBar() صحيحاً، يستدعي الروبوت GenerateSignal() التي تسحب آخر قيمتَين مغلقتَين من المقابض الأصلية الثلاثة (EMA 21 و EMA 50 و MACD 12/26/9) وتحسب هيكن-آشي على البار المغلق من نافذة سعر داخلية بعرض 200 بار. يجب أن تتفق فحوصات التقاء الأربعة (اتجاه HA، تقاطع EMA، تقاطع MACD المقيّد بالإشارة، ميل EMA)؛ وإلا يُتخطى البار. إذا نجت إشارة صالحة من PreflightAllowsEntry() (جلسة توقيت الخادم 7-22، سبريد وسيط ≤ 3× المعتاد الأخير، لا يوجد إيقاف نشط، عدد الصفقات تحت السقف)، تُقرّر PlaceEntry() Initial مقابل Add#N من CountOpenPositions() والعدّادات لكل اتجاه، تحسب وقف الخسارة وجني الأرباح من القيم الافتراضية 300/600 نقطة، وتُرسل عبر مرسل أوامر بثلاث محاولات وثلاثة أوضاع تعبئة. تُراكم OnTradeTransaction() الخسائر على صفقات الإغلاق وتُكدّس نوافذ الإيقاف عند تشغيل حراس الخسارة المتتالية أو مبلغ الخسارة.
يتطلب الدخول توافق أربعة شروط مستقلة على آخر بار مغلق: اتجاه هيكن-آشي (إغلاق HA فوق افتتاح HA للشراء، أو تحته للبيع، مع HA محسوب داخلياً من نافذة سعر خام بعرض 200 بار)، EMA(21) فوق EMA(50) للشراء أو تحته للبيع، خط MACD الرئيسي فوق خط الإشارة وفوق الصفر (تقاطع صاعد مقيّد بالإشارة) للشراء أو المتماثل للبيع، وميل EMA السريع في اتجاه الصفقة في MinEMASlopeBars-1 على الأقل من آخر بارات MinEMASlopeBars كما تتحقق منها EMASlopeOK(). فشل شرط فرعي واحد يحجب الإشارة. ثم تُؤمَّن الإدخالات عبر PreflightAllowsEntry() (جلسة توقيت الخادم 7-22، سقف سبريد وسيط عند 3.0× وسيط 20 تيك، لا توجد نافذة إيقاف نشطة، عدد الصفقات تحت MaxOpenTrades=5).
تُدفع المخارج بشكل أساسي عبر جني الأرباح الثابت عند 600 نقطة (نسبة مخاطرة إلى عائد 1:2 مقابل وقف الخسارة 300 نقطة) وعبر راتشيه وقف الخسارة في ApplyDynamicLockProfitToPosition(). يعمل راتشيه DLP في كل تيك ضد كل مركز مملوك ويُحكم وقف الخسارة إلى entry + (steps × 150 − 20) نقطة بعد كل حركة 150 نقطة في الربح، لذا فإن حركة عميقة بما يكفي تحوّل وقف الخسارة إلى وقف متحرك. لا يوجد خروج قائم على إشارة عكسية — يُغلق المركز عند جني الأرباح، أو وقف الخسارة المُحكَم، أو وقف الخسارة الأولي، ولن يُغلق الروبوت اتجاهاً لفتح الاتجاه المعاكس في نفس بار الإشارة.
يُعيَّن وقف الخسارة الأولي عند entry ± 300 نقطة عبر StopLossPoints وقت الأمر ثم يُدار عبر راتشيه DLP الذي يعمل في كل تيك. الراتشيه لا يُحكم إلا في اتجاه واحد (لا يُرخي أبداً) ويرفض نقل وقف الخسارة إلى داخل نطاقات SYMBOL_TRADE_STOPS_LEVEL أو SYMBOL_TRADE_FREEZE_LEVEL، لذا لن يُنتهك بتوسّع السبريد أو حماية مستوى التجميد. بعد 150 نقطة من التقدم ينتقل وقف الخسارة إلى entry+130، بعد 300 نقطة إلى entry+280، وهكذا، مع إبقاء InpLockMinusYPointsBuffer=20 للقفل داخل الرقم المستدير مباشرة.
جني الأرباح هو 600 نقطة ثابتة من الدخول، يُعيَّن مضمَّناً وقت الأمر عبر TakeProfitPoints=600 ولا يُعدَّل أبداً بواسطة الروبوت. هذا ينتج نسبة مخاطرة إلى عائد 1:2 مقابل وقف الخسارة 300 نقطة بحكم البناء. تحافظ دالة ApplyDynamicLockProfitToPosition() على جني الأرباح خلال كل خطوة DLP (تقرأ جني الأرباح الحالي وتُمرره دون تغيير في طلب التعديل)، لذا لا يحتاج الروبوت للاختيار بين تعقّب الوقف والإبقاء على جني الأرباح الأصلي — كلاهما يحدث في وقت واحد.
الأنسب لـ XAUUSD على الإطار الزمني M5 بحد أدنى للإيداع 100 دولار عند مخاطرة متوسطة — مركز افتراضي 0.10 لوت مع وقف الخسارة/جني الأرباح 300/600 نقطة يناسب عقد ذهب ميكرو نموذجي، ونافذة الجلسة 7-22 توقيت الخادم تغطي جلستَي لندن ونيويورك بالتتابع (لذا شغّله على خادم GMT+2 أو GMT+3 لأغطية جلسة أنظف). سقف السبريد الوسيط عند 3.0× يتحمّل السبريد الأوسع النموذجي لوسطاء الذهب التجزئة، لكن التنفيذ لا يزال أنظف على حساب ECN أو RAW-spread بسبريد نموذجي دون 4 نقاط. الروبوت غير مصمم للأطر الزمنية تحت M5 (يصبح تنعيم هيكن-آشي عبئاً عندما تكون الشموع الخام صغيرة بالفعل) ووقف الخسارة 300 نقطة ضيق جداً لـ H4 وما فوق حيث يتجاوز النطاق اليومي للذهب 1500 نقطة بشكل روتيني.
منطق الاستراتيجية
Pipsgrowth EX12053 MultiIndicatorConfluence — تحليل منطق الاستراتيجية (من كود .mq5)
العائلة: MultiIndicatorConfluence
الماجيك: 22212053
الإصدار: 2.00
الوصف:
TrendCatcher EA using Heikin-Ashi direction + EMA(21/50) regime + MACD(12,26,9) cross for entry, with spread cap, session filter, DLP step-ratchet, initial vs additional trade gating, and pause guards on loss streaks. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester
المؤشرات:
andleEMAfastandleEMAslowandleMACD
الدوال الرئيسية:
NormalizePriceToTick()IsNewBar()InSession()PushSpreadSample()MedianSpread()SpreadOkay()CountOpenPositions()CountAllOpenPositions()OwnsPosition()OwnsDeal()
// Pipsgrowth EX12053 MultiIndicatorConfluence — Execution Flow (from source analysis)
// Family: MultiIndicatorConfluence
// TrendCatcher EA using Heikin-Ashi direction + EMA(21/50) regime + MACD(12,26,9) cross for entry, with spread cap, session filter, DLP step-ratchet, initial vs additional trade gating, and pause guards on loss streaks. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester
ON_INIT:
Create indicator handles: andleEMAfast, andleEMAslow, andleMACD
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اسحب الإكسبرت على رسم بياني يطابق الإطار الزمني الموصى به
- 7هيّء المعاملات وفقاً للجدول في هذه الصفحة
- 8فعّل Allow Algo Trading واضغط OK
معاملات الإكسبرت
| المعامل | الافتراضي | الوصف |
|---|---|---|
| MagicNumber | 22212053 | 2220 + Expert ID (320) |
| InpTradeComment | "Psgrowth.com Expert_12053" | ---- DYNAMIC LOCK PROFIT (DLP) |
| InpLockMinusYPointsBuffer | 20 | ---- INITIAL vs ADDITIONAL |
| MinProfitPerTradeToAdd | 5.0 | points |
| PauseConsecutiveLossesMinutes | 60 | Pause by loss amount (deposit currency) across the current loss streak |
| PauseLossAmount | 100.0 | e.g., 100 = 100 USD |
| PauseLossAmountMinutes | 60 | ---- ENTRY & FILTERS |
| SessionStartHour | 7 | server time |
| SessionEndHour | 22 | server time |
| SpreadMedianWindow | 20 | last N ticks median |
| MinEMASlopeBars | 3 | EMA21 slope check length |
| RiskPercent | 1.0 | if UseRiskPercent=true |
| TakeProfitPoints | 600 | ---- EXECUTION |
| AllowBothDirections | true | if false, only trend-per regime |
#property copyright "Pipsgrowth.com"
#property link "https://pipsgrowth.com"
#property version "2.00"
#property strict
#property description "Pipsgrowth.com EX12053 EX21 — TrendCatcher EA with Heikin-Ashi, EMA regime and MACD cross, full 12-layer stack."
#include <Trade\Trade.mqh>
//============================== INPUTS ==============================//
//---- CORE
input group "=== CORE ==="
input long MagicNumber = 22212053; // 2220 + Expert ID (320)
input string InpTradeComment = "Psgrowth.com Expert_12053";
//---- DYNAMIC LOCK PROFIT (DLP)
input group "=== DYNAMIC LOCK PROFIT ==="
input bool InpEnableDynamicLockProfit = true;
input int InpLockProfitEveryXPoints = 150;
input int InpLockMinusYPointsBuffer = 20;
//---- INITIAL vs ADDITIONAL
input group "=== INITIAL vs ADDITIONAL ==="
input int MaxOpenTrades = 5;
input bool AllowOnlyProfitableAdditions = true;
input double MinProfitPerTradeToAdd = 5.0; // points
//---- PAUSE GUARDS
input group "=== PAUSE GUARDS ==="
// Pause by consecutive losing trades
input bool PauseOnConsecutiveLosses = false;
input int PauseConsecutiveLossesCount = 3;
input int PauseConsecutiveLossesMinutes = 60;
// Pause by loss amount (deposit currency) across the current loss streak
input bool PauseOnLossAmount = false;
input double PauseLossAmount = 100.0; // e.g., 100 = 100 USD
input int PauseLossAmountMinutes = 60;
//---- ENTRY & FILTERS
input group "=== ENTRY & FILTERS ==="
input int EMA_Fast_Period = 21;
input int EMA_Slow_Period = 50;
input int MACD_Fast = 12;
input int MACD_Slow = 26;
input int MACD_Signal = 9;
input bool UseSessionFilter = true;
input int SessionStartHour = 7; // server time
input int SessionEndHour = 22; // server time
input bool UseSpreadCap = true;
input int SpreadMedianWindow= 20; // last N ticks median
input double SpreadCapMultiplier = 3.0;
input int MinEMASlopeBars = 3; // EMA21 slope check length
//---- RISK & STOPS
input group "=== RISK & STOPS ==="
input bool UseRiskPercent = false;
input double RiskPercent = 1.0; // if UseRiskPercent=true
input double FixedLot = 0.10;
input int StopLossPoints = 300;
input int TakeProfitPoints = 600;
//---- EXECUTIONالكود المصدري الكامل متاح عند التحميل
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.
تحذير صريح: لأغراض تعليمية فقط
تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.
وسطاء موصى بهم لهذا الإكسبرت
هذه الروبوتات تعمل على MT5 — استخدم وسيطاً موثوقاً بتنفيذ سريع وسبريد منخفض
إكسبرتات مشابهة
عرض جميع الإكسبرتاتإكسبرتات أخرى بنفس استراتيجية أخرى
Pipsgrowth EX01007 Adaptive — إكسبرت أدفايزر تكييفي
Pipsgrowth EX01007 Adaptive — Adaptive signal scorer EA combining EMA crossover, RSI, Heiken Ashi, Bollinger Bands, ATR and volume spike detection int. إكسبرت أدفايزر MT5 مفتوح المصدر.
Pipsgrowth EX01019 Adaptive — إكسبرت أدفايزر تكييفي
Pipsgrowth EX01019 Adaptive — Self-adaptive market regime EA that auto-detects trending, ranging, volatile, quiet and breakout conditions. Switches be. إكسبرت أدفايزر MT5 مفتوح المصدر.
Pipsgrowth EX15029 SMC-OrderBlock — إكسبرت أدفايزر إكسبرت أدفايزر
Pipsgrowth EX15029 SMC-OrderBlock — Smart Money Concepts breakout EA — detects order blocks, CHOCH and liquidity sweeps using EMA cross + structure break, A. إكسبرت أدفايزر MT5 مفتوح المصدر.
مجتمع المستخدمين
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.