P
PipsGrowth
أخرىمفتوح المصدر - مجاني

Pipsgrowth EX12061 MultiIndicatorConfluence — إكسبرت أدفايزر إكسبرت أدفايزر

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

Pipsgrowth EX12061 MultiIndicatorConfluence — Secure Momentum Pyramid variant using EMA crossover with ADX strength filter. Pyramids into trends with step-based entri. إكسبرت أدفايزر MT5 مفتوح المصدر.

نظرة عامة

إن Pipsgrowth EX12061 MultiIndicatorConfluence — الذي يحمل تسمية «Secure Momentum Pyramid» (الهرم اللحظي الآمن) على لوحة المعلومات المرسومة على الشارت — هو روبوت تراكم يتبع الاتجاه مبني على مجموعة صغيرة من الحراسات المتعمدة. الإشارة الأساسية هي اتجاه تقاطع المتوسطَين المتحركين الأسّيين مدمجاً مع عتبة قوة لمؤشر ADX، ومنطق إدارة الصفقات يعامل كل دخول كعنصر في سلة موحّدة لا كصفقة مستقلة. لا يوجد هدف ربح لكل صفقة، ولا وقف خسارة لكل صفقة، ولا إعادة تحميل مارتينجال افتراضياً؛ الحجم الوحيد الذي يتدرّج هو ذلك الذي يفعّله المستخدم صراحةً برفع LotMultiplier فوق 1.0. القيمة الافتراضية 1.0 تُبقي حجم كل صفقة مساوياً لـ InitialLot (0.01)، وهي النسخة التي يجب على معظم المتداولين اعتمادها كإعداد إنتاجي.

تبدأ شجرة القرار في دالة OnTick(). ثلاثة مؤشرات تُنشأ في OnInit() عبر iMA / iADX القياسية: handle_ema_fast للمتوسط EMA(20) على PRICE_CLOSE، وhandle_ema_slow للمتوسط EMA(50) على PRICE_CLOSE، وhandle_adx لمؤشر ADX(14). في كل تيكت ينسخ الروبوت آخر ثلاث قراءات من كل مخزن مؤقت. المقارنتان الحاسمتان هما: المتوسط السريع مع البطيء (لاتجاه الترند)، والخط الرئيسي لـ ADX مع ADX_Threshold (الافتراضي 22). عندما يكون السريع > البطيء وADX > 22 يكون النظام «صاعداً قوياً»؛ وعندما يكون السريع < البطيء وADX > 22 يكون النظام «هابطاً قوياً»؛ في أي حالة أخرى لا يقيّم الروبوت دخولاً على هذا الجانب. التسمية مهمة: ADX > 22 هو البوّابة التي تفصل بين اتجاه حقيقي وبين تقبيل متوسطات في نطاق جانبي، لذلك هذا الروبوت صامت عمداً في النطاقات العرضية وسيبقى خالياً من الصفقات خلال معظم فترات التماسك.

الدخول الأول في كل اتجاه له قاعدة خاصة. عندما يكون النظام صاعداً قوياً ولا توجد أي صفقات شراء مفتوحة، يتحقق الروبوت مما إذا كان سعر ASK الحالي يقع ضمن 200 نقطة فوق المتوسط السريع أو 100 نقطة تحته (السطر 192). على XAUUSD بنقطة = 0.01، هذا يعني منطقة بعرض 2 دولار فوق المتوسط ودولار واحد تحته؛ على الأزواج الرئيسية بخمس خانات يعني 2 نقطة فوق ونقطة واحدة تحت. الشرط يُقرأ «ASK <= EMA_سريع + 200pt AND ASK >= EMA_سريع - 100pt» — وهي حزمة ارتداد ضيقة متعمّدة، لا إشارة اختراق. النسخة المعاكسة تنطلق للبيع على سعر BID. هذا هو الخيار التصميمي الأكثر تمييزاً للاستراتيجية: الدخول الأول يتطلب أن يأتي السعر إلى المتوسط لا أن يطارد حركة هروب. الاتجاه الذي لا يرتد أبداً إلى المتوسط لن يحصل على دخول أول، وهذه ميزة — تعني أن الروبوت يدخل بعد أن تلهث الزخم لا في قمة اندفاع عمودي.

التّراكم الهرمي هو النصف الثاني من الاستراتيجية، وتتحكم به بوّابتان مستقلتان. الأولى هي ArePositionsSecure() التي تمرّ على PositionsTotal بالعكس وتتحقق أن كل صفقة قائمة في اتجاه الترند قد وصل وقف خسارتها إلى سعر الدخول أو تجاوزه (sl >= openPrice للشراء، sl <= openPrice للبيع، وsl ≠ 0 للبيع). إن بقيت ولو صفقة واحدة في الهرم معرّضة للخطر، تُرجع الدالة false ولا ينطلق أي إضافة هرمية — وهذا هو معنى «الآمن» في اسم الاستراتيجية. البوّابة الثانية هي فحص مسافة السعر: يجب أن يكون سعر ASK الحالي (أو BID للبيع) قد ابتعد بمقدار PyramidStepPoints على الأقل (الافتراضي 300، أي 30 نقطة على خمس خانات أو 3 دولارات على XAUUSD عند نقطة 0.01) عن GetLastOpenPrice() في اتجاه الترند. فقط عندما يجتاز الشرطان معاً يحسب الروبوت الحجم التالي عبر CalculateLot() ويستدعي trade.Buy() أو trade.Sell() بـ SL=0 وTP=0. مُساعد تحديد الحجم محافظ: يستخدم InitialLot مباشرة عندما LotMultiplier == 1.0 (الافتراضي)، ولا يطبّق الصيغة InitialLot × multiplier^existingCount إلا عندما يرفع المستخدم المضاعف صراحة فوق 1.0. وحتى في تلك الحالة، تُقرّب النتيجة لأسفل إلى خطوة حجم الرمز وتُقصّ ضمن حدود min/max لدى الوسيط، فلا يستطيع مضاعف 1.5 مضبوط بشكل خاطئ أن يدفع حساب ميكرو بحجم 0.01 إلى حجم 0.05 أو 0.10 عن غير قصد.

جانب إدارة الصفقات هو ما يحوّل الهرم إلى «مؤمَّن». تعمل ManagePositions() في كل تيكت وتمرّ على الصفقات المفتوحة بترتيب تذكرة عكسي؛ لكل تذكرة ذات magic يطابق 22212061 تتحقق مما إذا كان السعر قد تحرّك 50 نقطة في الربح ولا يزال الوقف خلف سعر الدخول. إن تحقق الشرطان لصفقة شراء، تُستدعى TryModify_EX12061() بـ SL جديد = openPrice؛ والنسخة المعاكسة للبيع. تمرّ عملية التعديل من خلال غلاف إعادة محاولة بثلاث محاولات ينام 100 مللي ثانية عند رموز REQUOTE أو TIMEOUT ويتنازل عن أي رمز خطأ آخر — لا توجد معالجة قوية لإعادة التسعير تتجاوز ذلك، فالوسيط الذي يُرجع INVALID_STOPS سيترك الصفقة دون تعديل. بمجرد أن يصل الوقف إلى نقطة التعادل، تُعتبر الصفقة «مؤمَّنة» بمصطلحات الاستراتيجية وتتحوّل بوّابة ArePositionsSecure إلى true، وهذا ما يُطلق إضافة الهرمية التالية.

تحدث الخروج حصرياً على مستوى السلة. في كل تيكت، قبل ManagePositions وCheckEntryLogic، يستدعي الروبوت CalculateTotalProfit() التي تجمع POSITION_PROFIT لكل تذكرة بنفس الـ magic. إن وصل الإجمالي إلى BasketTakeProfit (الافتراضي 10 دولارات)، تُستدعى CloseAll(POSITION_TYPE_BUY) وCloseAll(POSITION_TYPE_SELL) الواحدة تلو الأخرى، وتُرجع الدالة مبكراً — لن تُقيَّم أي دخولات جديدة في ذلك التيكت. وإن هبط الإجمالي إلى -BasketStopLoss (الافتراضي -5 دولارات، ولا يُفحص إلا عندما BasketStopLoss > 0)، تنطلق نفس الـ CloseAll المزدوجة. لأن السلة تُقاس بدولارات الحساب لا بالنقاط، فإن كومة من صفقتين أو ثلاث XAUUSD بحجم 0.01 تكفي لإطلاق هدف الـ 10 دولارات على تحرّك دولارين إلى ثلاثة دولارات لكل صفقة، بينما كومة من صفقتين أو ثلاث EURUSD بحجم 0.01 ستحتاج إلى تحرّك أكبر بكثير للوصول إلى نفس العتبة — الإطار بالدولار يعني أن الروبوت حساس لاختيار الأداة وحجم اللوت.

غلاف CTrade مضبوط للتنفيذ السريع: trade.SetDeviationInPoints(50) يسمح بانزلاق يصل إلى 5 نقاط عند الدخول، وtrade.SetTypeFilling(ORDER_FILLING_IOC) يعطّل أوامر المعلّقة. اختيار IOC منسجم مع فلسفة السلة — فالتنفيذ الجزئي والأوامر المعلّقة تشوّه رياضيات ربح السلة. على الجانب البصري، يرسم الروبوت علامتي سعر على الجانب الأيمن ("DotFast" بالأصفر و"DotSlow" بالأزرق الفاتح) ولوحة معلومات صغيرة بقياس 220×130 بخلفية سوداء وإطار ذهبي في الزاوية العلوية اليمنى تعرض صافي الربح/الخسارة واتجاه الترند وقيمة ADX مع ملصق قوي/ضعيف وعدد صفقات الشراء والبيع الحيّة. تتحدّث اللوحة في كل تيكت وتتلوّن بالأخضر/الأحمر بحسب إشارة totalProfit.

الشكل العملي للاستراتيجية: المتداول الذي يريد السلوك المقصود يترك LotMultiplier عند 1.0، وBasketTakeProfit عند 10 دولارات، وBasketStopLoss عند 5 دولارات، وEMA_Fast / EMA_Slow / ADX_Period / ADX_Threshold عند 20/50/14/22. قيمة PyramidStepPoints عند 300 تعطي تباعد 30 نقطة بين الإضافات على خمس خانات (أو 3 نقاط على تغذية ذهب بـ 0.0001). يقضي الروبوت معظم وقته خاملاً، يأخذ أول صفقة حين يلامس ارتداد السعر المتوسط، يؤمّنها بعد تحرّك 50 نقطة، ثم يكدّس صفقة أو اثنتين إضافيتين على استمرار الزخم. سيُغلق TP السلة أو SL السلة كل الكومة في نفس التيكت. أكبر تحفّظ سلوكي هو أن BasketStopLoss أرضية قاطعة: أي سحب -5 دولارات على السلة سيُصفّي كل شيء فوراً، لذا على من يختبر الروبوت على حسابات ضيّقة إمّا رفع قيمة SL السلة أو توقّع تكرار حالات إغلاق السلة في الأيام المتقلّبة حيث بوّابة ADX > 22 تتأرجح تشغيلاً وإطفاءً.

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

في كل تيكت يسحب الروبوت ثلاث قراءات من مخازن EMA(20) وEMA(50) وADX(14)، ثم يُشغّل شجرة قرار من مرور واحد: نظام صاعد = السريع > البطيء وADX > 22، نظام هابط = السريع < البطيء وADX > 22، لا دخولات خارج ذلك. أوّل صفقة في كل اتجاه تنطلق فقط عندما يقع ASK/BID ضمن ±200/-100 نقطة من المتوسط السريع — دخول ارتداد إلى المتوسط لا اختراق. تعتمد الإضافات اللاحقة على بوّابة ArePositionsSecure (كل صفقة سابقة في ذلك الاتجاه يجب أن يكون SL ≥ openPrice) وبوّابة مسافة السعر (≥ 300 نقطة بعد آخر تنفيذ)، والشرطان معاً ينتجان هرماً مؤمَّناً لا إعادة تحميل مارتينجال. تمرّ ManagePositions() على PositionsTotal بالعكس وتنقل الوقف إلى openPrice بعد أن يتجاوز الربح 50 نقطة، وهي التعديل الوحيد على الصفقة الجارية. تعمل فحوص السلة قبل إدارة الصفقات ودخولاتها في كل تيكت، لذا فإن ربح 10 دولارات أو خسارة 5 دولارات ينهيان الكتاب كله فوراً عبر CloseAll على الجانبين.

إشارة الدخول

اتجاه تقاطع EMA(20)/EMA(50) مع ADX(14) > 22 يشكّل بوابة النظام: تفتح صفقات الشراء عندما يكون النظام صاعداً قوياً ويقع السعر ضمن 200 نقطة فوق أو 100 نقطة تحت المتوسط السريع (دخول ارتداد إلى المتوسط لا اختراق). بعد أوّل صفقة، تُضاف الصفقات التالية هرمياً فقط عندما تُرجع ArePositionsSecure() القيمة true (أي أن كل صفقة قائمة في ذلك الاتجاه وصلت وقفها إلى نقطة التعادل أو تجاوزتها) وابتعد السعر بمقدار PyramidStepPoints على الأقل (الافتراضي 300) في اتجاه الترند. النتيجة تراكم متدرّج يُضاف على استمرارية مؤكدة، لا على تعويض خسارة.

إشارة الخروج

الخرج قائم على السلة لا على الصفقة الفردية. عندما يصل CalculateTotalProfit (مجموع كل صفقة مفتوحة بـ magic 22212061) إلى +BasketTakeProfit (الافتراضي 10 دولارات) يستدعي الروبوت CloseAll على الجانبين ويطبع رسالة إغلاق TP السلة؛ وإن هبط الإجمالي إلى -BasketStopLoss (الافتراضي -5 دولارات، ولا يُفحص إلا عندما BasketStopLoss > 0) تنطلق نفس الـ CloseAll المزدوجة مع سجل إغلاق SL السلة. لا يوجد TP لكل صفقة — الطريقة الوحيدة لإغلاق صفقة منفردة هي أن يُنقل وقفها إلى نقطة التعادل (بعد أن تشدّ ManagePositions الـ SL إلى openPrice) ثم يُضرب، أو أن تشارك في إغلاق السلة.

وقف الخسارة

لا يُرفق وقف خسارة لكل صفقة عند الدخول — يُمرَّر كل من SL وTP بقيمة 0 إلى trade.Buy / trade.Sell. تشدّ ManagePositions() الوقف إلى openPrice بمجرد أن يتحرّك السعر 50 نقطة في الربح، وهذا ما يقلب ArePositionsSecure() إلى true ويُطلق الإضافة الهرمية التالية. سقف الخطر الحقيقي هو وقف السلة: -BasketStopLoss (الافتراضي -5 دولارات على كل صفقات الروبوت) يُغلق الجانبين قسراً في نفس التيكت إن ضُرب.

جني الأرباح

لا يوجد TP لكل صفقة — تُرسَل الدخولات بـ TP=0 ولا توجد قيمة TP محسوبة في أي مكان في المصدر. جني الأرباح يحدث حصرياً على مستوى السلة: عندما يتجاوز إجمالي الربح/الخسارة لكل الصفقات المفتوحة +BasketTakeProfit (الافتراضي 10 دولارات) يستدعي الروبوت CloseAll على الجانبين. ولأن الإضافات الهرمية تتم على فواصل PyramidStepPoints (الافتراضي 300)، فإن TP السلة يعمل عملياً كهدف لكامل السلسلة.

الأنسب لـ

مُصمَّم لزوج XAUUSD على إطار M5 أو H1 برصيد أدنى موصى به 100 دولار، والمصدر قابل للحمل على أزواج العملات الرئيسية والمعادن الأخرى. لأن السلة قائمة على الدولار (TP 10 دولارات / SL 5 دولارات افتراضياً)، فإن حساب ECN أو RAW بفارق سعر منخفض هو بيئة التنفيذ الصحيحة — الكتب ذات الفروقات الواسعة في الوسطاء البحريين ستلتهم السلة بالانزلاق قبل أن يُضرب TP، ووضع التنفيذ IOC يتطلب حساباً يدعم التنفيذ الفوري أو الإلغاء. استخدم الروبوت فقط على الأدوات التي تستطيع تحمّل صفقات ميكرو بحجم 0.01؛ قيمة LotMultiplier الافتراضية 1.0 تجعل كل مستوى هرمي بالحجم ذاته للدخول الأول، وPyramidStepPoints (300) مضبوط للأزواج الرئيسية بخمس خانات أو XAUUSD بنقطة 0.01.

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

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

العائلة: MultiIndicatorConfluence الماجيك: 22212061 الإصدار: 2.00

الوصف: Secure Momentum Pyramid variant using EMA crossover with ADX strength filter. Pyramids into trends with step-based entries, basket TP/SL management, and position securing. Martingale lot multiplier disabled by default (set to 1.0). 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester

المؤشرات:

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

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

  • CalculateLot()
  • CalculateTotalProfit()
  • CountPositions()
  • GetLastOpenPrice()
  • ArePositionsSecure()
  • CloseAll()
  • ManagePositions()
  • CheckEntryLogic()
  • UpdateDashboard()
  • CreateDashboard()
الرمز الزائف (Pseudocode)
// Pipsgrowth EX12061 MultiIndicatorConfluence — Execution Flow (from source analysis)
// Family: MultiIndicatorConfluence
// Secure Momentum Pyramid variant using EMA crossover with ADX strength filter. Pyramids into trends with step-based entries, basket TP/SL management, and position securing. Martingale lot multiplier disabled by default (set to 1.0). 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اسحب الإكسبرت على رسم بياني يطابق الإطار الزمني الموصى به
  7. 7هيّء المعاملات وفقاً للجدول في هذه الصفحة
  8. 8فعّل Allow Algo Trading واضغط OK

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

المعاملالافتراضيالوصف
InitialLot0.01Starting Lot Size
LotMultiplier1.0Lot Multiplier (1.0 = fixed lot, >1.0 = martingale)
BasketTakeProfit10.0Target Profit to Close All ($)
BasketStopLoss5.0Emergency Stop Loss ($)
EMA_Fast20Fast EMA
EMA_Slow50Slow EMA
ADX_Period14ADX Period
ADX_Threshold22ADX Strength
PyramidStepPoints300Points to move before adding position
MagicNumber22212061Magic number
InpTradeComment"Psgrowth.com Expert_12061"Trade comment
ShowDashboardtrue--- Global Variables ---
كود المصدر (.mq5)Open Source
Pipsgrowth_com_EX12061.mq5
#property copyright "Pipsgrowth.com"
#property link      "https://pipsgrowth.com"
#property version   "2.00"
#property strict
#property description "Pipsgrowth.com EX12061 G4_7 variant — Secure Momentum Pyramid with EMA+ADX, full 12-layer stack."

#include <Trade\Trade.mqh>

//--- Input Parameters ---
input group "=== Risk Management ==="
input double   InitialLot        = 0.01;      // Starting Lot Size
input double   LotMultiplier     = 1.0;       // Lot Multiplier (1.0 = fixed lot, >1.0 = martingale)
input double   BasketTakeProfit  = 10.0;      // Target Profit to Close All ($)
input double   BasketStopLoss    = 5.0;       // Emergency Stop Loss ($)

input group "=== Strategy Settings ==="
input int      EMA_Fast          = 20;        // Fast EMA
input int      EMA_Slow          = 50;        // Slow EMA
input int      ADX_Period        = 14;        // ADX Period
input int      ADX_Threshold     = 22;        // ADX Strength
input int      PyramidStepPoints = 300;      // Points to move before adding position

input group "=== Identity ==="
input int      MagicNumber       = 22212061;  // Magic number
input string   InpTradeComment   = "Psgrowth.com Expert_12061"; // Trade comment

input group "=== Visuals ==="
input color   BullishColor       = clrLime;
input color   BearishColor       = clrRed;
input bool    ShowDashboard      = true;

//--- Global Variables ---
CTrade trade;
int handle_ema_fast;
int handle_ema_slow;
int handle_adx;
double EMA_Fast_Buffer[];
double EMA_Slow_Buffer[];
double ADX_Buffer[];

//+------------------------------------------------------------------+
//| Helper Functions (Declared First to fix errors)                   |
//+------------------------------------------------------------------+
double CalculateLot(int existingCount);
double CalculateTotalProfit();
int CountPositions(ENUM_POSITION_TYPE type);
double GetLastOpenPrice(ENUM_POSITION_TYPE type);
bool ArePositionsSecure(ENUM_POSITION_TYPE type);
void CloseAll(ENUM_POSITION_TYPE type);
void ManagePositions();
void CheckEntryLogic(double currentTotalProfit);
void UpdateDashboard(double profit, double adx, double emaF, double emaS);
void CreateDashboard();
void DrawTrendLines();

//+------------------------------------------------------------------+
//| Expert initialization function                                     |
//+------------------------------------------------------------------+
int OnInit()
{

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

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

الوسوم:ex12061multiindicatorconfluencepipsgrowthfreemt5xauusd

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

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

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

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

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

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

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

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