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

Pipsgrowth EX07012 MA — إكسبرت أدفايزر إكسبرت أدفايزر

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

Pipsgrowth EX07012 MA — EMA crossover EA detecting fast/slow MA cross signals with stop loss, take profit, and automatic position management acr. إكسبرت أدفايزر MT5 مفتوح المصدر.

نظرة عامة

يُعدّ EX07012 أبسط أعضاء عائلة تقاطع المتوسطات المتحركة في PipsGrowth. قرار التداول بأكمله مبني على متوسطين متحركين أسيين وعلى لحظة تقاطع هذين الخطين على الشارت الحي. لا يوجد في هذا الـ EA مرشح نظام، ولا تأكيد من إطار زمني أعلى، ولا حاجز أخبار، ولا تحديد حجم مركز بنسبة مخاطر، ولا وقف خسارة متحرك. يأخذ الـ EA إشاراته مباشرةً من حركة السعر الحية، ويفتح صفقة عندما يعبر المتوسط السريع فوق المتوسط البطيء، ويخرج إما عند وقف الخسارة الثابت أو جني الأرباح على الخادم، أو عندما تتقاطع المتوسطات في الاتجاه المعاكس ويقوم روتين إدارة المراكز على الشارت بإغلاق الصفقة قسرياً.

زوج الفترات الافتراضي هو 12 و26، وهو نفس النطاق المستخدم في مؤشر MACD الكلاسيكي. السعر المطبَّق افتراضياً هو 1، وهو ما تحلّه الدالة المساعدة MapAppliedPriceInt إلى PRICE_CLOSE. تظهر نفس الدالة المساعدة ثلاث مرات في الملف (كتلة مكررة، لكنها غير ضارة لأن جميع المحتويات متطابقة والتعريف الأخير هو الذي يُحتسب)، ويمكن للمستخدم أيضاً اختيار سعر الافتتاح أو الأعلى أو الأدنى أو الوسيط أو النمطي أو المرجح من خلال مدخل InpAppliedPrice. طريقة المتوسط هي MODE_EMA افتراضياً وقابلة للتعديل، لذلك يمكن تحويل نفس الـ EA إلى تقاطع SMA أو SMMA أو LWMA بطيء بمجرد تغيير مدخل واحد. يلتقط المتغير العام g_InpAppliedPrice نوع السعر الذي تم حله مرة واحدة عند OnInit بحيث تُبنى مقابض المؤشرات بمصدر السعر الصحيح.

يتم الكشف عن التقاطع بواسطة DetectSignal(). تقرأ الدالة قيمة المتوسط السريع والبطيء الحالي عند الإزاحة 0 ونفس القيمتين عند الإزاحة 1. يُسجَّل التقاطع الصاعد عندما تكون قيمة المتوسط السريع للشمعة السابقة أقل من أو تساوي قيمة المتوسط البطيء، وقيمة المتوسط السريع للشمعة الحالية أصبحت فوق قيمة المتوسط البطيء. التقاطع الهابط هو الصورة المعكوسة: كانت قيمة المتوسط السريع للشمعة السابقة أكبر من أو تساوي البطيء، وأصبحت الآن أقل. تُوسم الإشارة بـ iTime للشمعة المشكلة، وتتولى g_lastSignalTime منع الإشارات المكررة حتى لا يرسل الـ EA أمراً ثانياً مع كل تكة من نفس شمعة التقاطع. هذا الحاجز هو الأمان الوحيد على مستوى التكات الذي يحمي الـ EA من الإفراط في التداول.

عند تسجيل تقاطع جديد وكان تقاطع شراء، تُستدعى OpenOrder(ORDER_TYPE_BUY). تطلب الدالة من الوسيط سعر ASK الحالي، وتطرح نقاط InpStopLoss (افتراضياً 50) للوقف، وتضيف نقاط InpTakeProfit (افتراضياً 100) للهدف، وترسل trade.Buy() بحجم InpLotSize المُكوَّن (افتراضياً 0.1)، ورقم السحر 22207012، وتعليق "Psgrowth.com Expert_07012". مسار البيع يعكس ذلك تماماً مقابل سعر BID. هندسة 1:2 بين الوقف والهدف جزء مقصود من التصميم: الـ EA يفتح دائماً بمخاطرة 50 نقطة وهدف 100 نقطة، ويتطلب تغيير أحد المدخلات تغييراً مقابلاً للمدخل الآخر للحفاظ على التناظر.

بمجرد فتح الصفقة، لا يلمس الـ EA وقف الخسارة أو جني الأرباح. لا يوجد رatchet للتعادل، ولا إغلاق جزئي، ولا منطق trailing، ولا وقف زمني. تدخل الخروج الوحيد يحدث داخل ManagePositions(). في كل تكة، تتحقق الدالة من حالة المتوسط السريع/البطيء الحالية. إذا كانت صاعدة، فإنها تمسح PositionsTotal() من النهاية إلى البداية وتغلق أي عمليات بيع خاصة بالـ EA (السحر 22207012، نفس الرمز). إذا كانت هابطة، فإنها تغلق أي عمليات شراء خاصة بالـ EA. هذا هو الخروج عند الإشارة المعاكسة: تُحفظ الصفقة حتى تنقلب المتوسطات نفسها ضدها. ولأن الإغلاق مدفوع بنفس الشمعة الحية التي كان الدخول عليها، يمكن إغلاق الصفقة في نفس التكّة التي تنقلب فيها المتوسطات.

تمر عمليات إغلاق الأوامر وأي تعديلات مستقبلية عبر ثلاث دوال إعادة محاولة: TryClose_EX07012 وTryClosePartial_EX07012 وTryModify_EX07012. كل واحدة منها تكرر حتى ثلاث مرات، وتنام 200 مللي ثانية في حالة REQUOTE أو PRICE_OFF أو PRICE_CHANGED أو TIMEOUT قبل إعادة المحاولة، وتستسلم بأمان عند أي كود إرجاع آخر. تستخدم أغلفة إعادة المحاولة نسخة CTrade مشتركة g_trade_wrappers_EX07012، بينما تُنشئ OpenOrder() وClosePositionsByType() كائن CTrade جديداً لكل استدعاء. هذا تناقض في المصدر: النسخة المشتركة صحيحة لحلقات إعادة المحاولة لكنها لا تُستخدم في كل مكان، والكائنات المحلية داخل دالة المسح والإغلاق تعمل بشكل جيد للإرسال لمرة واحدة.

يحتوي الـ EA على مدخل InpEAOptimized المنطقي. تعليق الترويسة يوضح القصد: إنه "محفوظ للتوافق" فقط، وقيمته ليس لها أي تأثير على منطق التداول الفعلي. هذا المدخل موجود لأن قوالب EA القديمة كانت تستخدم هذا العلامة للتبديل بين حجم اللوت الثابت وتحديد الحجم بنسبة المخاطرة؛ يأتي EX07012 بمسار اللوت الثابت ويتجاهل الباقي. تُستدعى IndicatorRelease على g_fastHandle وg_slowHandle في OnDeinit بحيث ينظف الـ EA خلفه بشكل نظيف عند إزالته من الشارت.

ملف المخاطر هو ما تقوله المدخلات. لا يوجد InpRiskPercent، ولا حارس خسارة يومية، ولا حارس خسارة أسبوعية، ولا فحص أرضية حقوق ملكية، ولا سقف تراجع، ولا مفتاح قتل. من يقوم بإعداد الشارت هو المسؤول عن حجم اللوت، والحد الأقصى لحجم المركز لدى الوسيط، وهوامش الحساب المتاحة. الحد الأدنى للإيداع وهو 100 دولار مُحسَّب لحجم 0.1 لوت افتراضي على زوج رئيسي أو على XAUUSD مع وقف 50 نقطة؛ الـ EA لا يفرض ذلك. لا توجد دالة OnTester() للياقة في المصدر، لذلك فإن هدف التحسين في Strategy Tester لـ MT5 هو ما يحدده المستخدم في تبويب المدخلات.

الأنسب لـ EX07012 هو تأكيد الزخم ومتوسط الانعكاس قصير الأجل في الأزواج التي تتجه، مع قبول المتداول بأنه يجب إضافة أي طبقة تصفية (جلسة، فروق، أخبار، حارس حقوق ملكية) خارجياً، أو من خلال تشغيل الـ EA على رمز وإطار زمني مختارين بعناية. الإطار الزمني M5 الافتراضي هو الأفق المقترح في الترويسة، ويعمل الـ EA دون تغيير من M5 إلى H1. بالنسبة للمتداولين الذين يريدون إشارة تقاطع شفافة دون مرشحات مخفية وهندسة 1:2 للوقف/الهدف مدمجة، هذا هو الخيار الأكثر مباشرة في تشكيلة PipsGrowth. أما بالنسبة للمتداولين الذين يحتاجون نافذة جلسة، أو سقف فروق، أو حد خسارة يومية، أو سلّم إغلاق جزئي للـ scalping، فإن EA آخر في العائلة سيكون أنسب.

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

في كل تكة يقرأ الـ EA متوسطين متحركين أسيين على رمز وإطار زمني الشارت الحالي ويقارن الشمعة المشكلة بالسابقة. تقاطع جديد عند الإزاحة 0/1 يطلق أمر سوق بحجم اللوت الثابت والوقف والهدف المُكوَّنين؛ حاجز منع التكرار في g_lastSignalTime يحجب الإدخالات المكررة على نفس شمعة التقاطع. تُحفظ الصفقة دون مساس حتى يأخذها إما الوقف أو الهدف أو تقاطع عكسي — تمشي ManagePositions() في قائمة المراكز كل تكة وتغلق قسرياً أي تذكرة مملوكة للـ EA اتجاهها يعارض الحالة الحية. تمر عمليات إرسال الأوامر والتعديلات عبر TryClose_EX07012 وTryModify_EX07012، اللتين تعيدان المحاولة حتى ثلاث مرات عند REQUOTE وTIMEOUT وPRICE_OFF وPRICE_CHANGED مع سكون 200 مللي ثانية. لا توجد بوابة للجلسة أو الفروق أو الأخبار أو أرضية حقوق الملكية، لذلك سيفتح الـ EA أو يغلق المراكز على مدار الساعة كلما تقاطعت المتوسطات.

إشارة الدخول

يدخل الـ EA في صفقة شراء عندما يعبر المتوسط السريع فوق المتوسط البطيء في الشمعة الحالية، وفي صفقة بيع عند التقاطع المعاكس للأسفل. يتم الكشف عن التقاطع عند الإزاحتين 0 و1 داخل DetectSignal()، وتُقارن وقت الإشارة مع g_lastSignalTime لضمان أمر واحد فقط لكل شمعة تقاطع جديدة. حجم الأمر هو InpLotSize الثابت (افتراضياً 0.1)؛ والوقف InpStopLoss نقطة (افتراضياً 50) والهدف InpTakeProfit نقطة (افتراضياً 100).

إشارة الخروج

تخرج الصفقات عند وقف الخسارة 50 نقطة على الخادم أو جني الأرباح 100 نقطة، أيهما يُضرب أولاً. يُغلق الـ EA أيضاً أي صفقة مفتوحة يتعارض اتجاهها الآن مع حالة المتوسط السريع/البطيء الحية — تمسح ManagePositions() كل تكة وتغلق قسرياً أي تذكرة مملوكة للـ EA بالسحر 22207012 على نفس الرمز. لا يوجد trailing، ولا رatchet للتعادل، ولا إغلاق جزئي، ولا وقف زمني.

وقف الخسارة

الوقف الثابت على جانب الخادم هو InpStopLoss نقطة (افتراضياً 50)، موضوع على بعد 50 نقطة تحت سعر ASK للدخول في الشراء، و50 نقطة فوق سعر BID للدخول في البيع. بصرف النظر عن ذلك، لا يوجد تعديل للوقف لكل صفقة؛ يعتمد الـ EA على الخروج عند التقاطع لإغلاق الصفقات التي لا يلتقطها الوقف.

جني الأرباح

الهدف الثابت على جانب الخادم هو InpTakeProfit نقطة (افتراضياً 100)، موضوع على بعد 100 نقطة فوق سعر ASK للدخول في الشراء، و100 نقطة تحت سعر BID للدخول في البيع. نسبة 1:2 الافتراضية بين الوقف والهدف مضمنة في إقران المدخلات وليست مُعاملاً مُحسَّناً منفصلاً.

الأنسب لـ

هذا الـ EA مناسب لحساب بحد أدنى 100 دولار يتداول 0.1 لوت على XAUUSD أو الأزواج الرئيسية للعملات، مع قبول المتداول بعدم وجود حارس مدمج لحقوق الملكية أو التراجع. الإطار الزمني M5 الافتراضي يناسب تأكيد الزخم والانعكاس قصير الأجل؛ التشغيل على H1 مدعوم أيضاً للإدخالات البطيئة. بساطة مجموعة المدخلات تجعله مناسباً للمتداولين الذين يريدون إشارة تقاطع 12/26 EMA شفافة دون مرشحات مخفية، على وسيط ECN بفروق أسعار منخفضة يمكنه تحمل وقف 50 نقطة دون انزلاق.

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

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

العائلة: MA الماجيك: 22207012 الإصدار: 2.00

الوصف: EMA crossover EA detecting fast/slow MA cross signals with stop loss, take profit, and automatic position management across a 12-layer architecture. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester

المؤشرات:

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

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

  • GetEMAData()
  • IsEMABullish()
  • IsEMABearish()
  • OpenOrder()
  • ClosePositionsByType()
  • ManagePositions()
  • TryClose_EX07012()
  • TryClosePartial_EX07012()
  • TryModify_EX07012()
الرمز الزائف (Pseudocode)
// Pipsgrowth EX07012 MA — Execution Flow (from source analysis)
// Family: MA
// EMA crossover EA detecting fast/slow MA cross signals with stop loss, take profit, and automatic position management across a 12-layer architecture. 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

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

المعاملالافتراضيالوصف
InpFastPeriod12Fast EMA Period
InpSlowPeriod26Slow EMA Period
InpMethodMODE_EMAMA Calculation Method
InpAppliedPrice1Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) // Applied Price
InpLotSize0.1Lot Size
InpMagicNumber22207012Magic Number
InpTradeComment"Psgrowth.com Expert_07012"Trade comment
InpStopLoss50Stop Loss (points)
InpTakeProfit100Take Profit (points)
InpEAOptimizedtrueEA Optimization Mode (Kept for compatibility)
كود المصدر (.mq5)Open Source
Pipsgrowth_com_EX07012.mq5
#property copyright "Pipsgrowth.com"
#property link      "https://pipsgrowth.com"
#property version   "2.00"
#property strict
#property description "Pipsgrowth.com EX07012 EMA_Crossover_EA — fast/slow EMA crossover with SL/TP, full 12-layer stack."

#include <Trade\Trade.mqh> /* Added Include for Trading */

//+------------------------------------------------------------------+
//| Input Parameters                                                 |
//+------------------------------------------------------------------+
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_APPLIED_PRICE g_InpAppliedPrice = PRICE_CLOSE;
input group "=== EMA Settings ==="
input int   InpFastPeriod  = 12;                    // Fast EMA Period
input int   InpSlowPeriod  = 26;                    // Slow EMA Period
input ENUM_MA_METHOD InpMethod = MODE_EMA;          // MA Calculation Method
input int InpAppliedPrice = 1; // Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) // Applied Price

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_APPLIED_PRICE g_InpAppliedPrice = PRICE_CLOSE;
input group "=== Trading Settings ==="
input double InpLotSize = 0.1;                      // Lot Size
input int    InpMagicNumber = 22207012;             // Magic Number
input string InpTradeComment = "Psgrowth.com Expert_07012"; // Trade comment
input int    InpStopLoss = 50;                      // Stop Loss (points)
input int    InpTakeProfit = 100;                   // Take Profit (points)

ENUM_APPLIED_PRICE MapAppliedPriceInt(int ap)
{
   switch(ap)
   {
      case 1: return PRICE_CLOSE;
      case 2: return PRICE_OPEN;

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

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

الوسوم:ex07012mapipsgrowthfreemt5xauusd

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

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

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

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

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

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

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

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