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

Pipsgrowth EX08005 MACD — إكسبرت أدفايزر إكسبرت أدفايزر

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

Pipsgrowth EX08005 MACD — MACD crossover EA with MA Fast/Slow/Filter confirmation, partial profit taking, breakeven, and optional money management. إكسبرت أدفايزر MT5 مفتوح المصدر.

نظرة عامة

إكسبرت EX08005 يقف عند الطرف البطيء من عائلة MACD في مجموعة PipsGrowth. بينما تعتمد أغلب إكسبرتس MACD على الزوج الكلاسيكي 12/26/9 على فريم M5 وتتفاعل مع كل حركة صغيرة، يعمل هذا الإكسبرت على MACD بفترات 120/260/90 — وهي أبطأ فترة EMA بطيء عبر كامل مجموعة الإكسبرتس — بهدف التقاط الموجات التي تنجو من فلتر يمتد لعدة أشهر. الفريم الافتراضي هو XAUUSD على M5 (مع توافق H1)، والرقم السحري 22208005، والإصدار 2.00.

الإشارة تُبنى من أربع مقابض مؤشرات تُنشأ في OnInit. ثلاثة منها متوسطات متحركة: EMA بطول 55 مطبقة على الإغلاق (MA السريع)، وSMA بطول 69 مطبقة على الإغلاق (MA البطيء)، وLWMA بطول 2 مطبقة على الإغلاق (MA الفلتر). الرابع هو MACD بـ EMA سريع بطول 120، وEMA بطيء بطول 260، وEMA خط إشارة بطول 90 — أي تنعيم بـ 90 شمعة للفرق بين EMA بطيئين جداً. عند كل شمعة جديدة يقرأ الإكسبرت MACD_MAIN وMACD_SIGNAL عند الشمعة 1 (آخر شمعة مغلقة) وعند الشمعة 3 (قبل شمعتين). قاعدة القرار في OnTick واضحة: الشراء عندما MACD_MAIN[1] فوق MACD_SIGNAL[1] و MACD_MAIN[3] كان تحت MACD_SIGNAL[3]؛ والبيع mirror معكوس. هذا الشرط الثاني هو الفخ — يطلب أن يكون التقاطع قد اكتمل قبل شمعتين، مما يفلتر القفزات من شمعة واحدة ويفرض على الإكسبرت انتظار ثبات العلاقة الجديدة.

المتوسطات تُحسب كل تيكة لكنها في هذا الإصدار لا تُستخدم كبوابة دخول. MAFast_0 و MASlow_0 و MAFilter_0 و MAFilter_2 كلها تُقرأ في متغيرات محلية، لكن فرع الدخول لا يفحص إلا قيم MACD الأربع. كل من يريد ضبط المصدر لإضافة فلتر MA حقيقي عليه إضافة المقارنة بنفسه؛ افتراضياً، المتوسطات معلن عنها لكنها غير مستخدمة كمدخلات إشارة. هذا تبسيط مقصود — MACD طويل الفترة يشفر بطبيعته فلتر ترند بطيء — لكن يستحق المعرفة لمن يتوقع من وصف الترويسة "MA Fast/Slow/Filter confirmation" أن تعني أن المتوسطات الثلاث لها حق النقض.

إدارة المراكز تعمل بترتيب أولوية على كل تذكرة مفتوحة. أولاً، يفحص الإكسبرت إشارة MACD معاكسة — إذا كان هناك مركز شراء و MACD_MAIN[1] نزل تحت MACD_SIGNAL[1] بينما MACD_MAIN[3] كان فوق MACD_SIGNAL[3]، يُغلق المركز عبر TryClose_EX08005 (3 محاولات، 200ms backoff على REQUOTE/TIMEOUT/PRICE_OFF/PRICE_CHANGED). ثانياً، يطبق الإكسبرت إغلاق جزئي: عندما يتحرك السعر 70 نقطة لصالح المركز (قابل للضبط عبر InpProfitOne)، يُغلق نصف اللوت عبر TryClosePartial_EX08005. ثالثاً، إذا كان InpBreakeven غير صفر (افتراضياً 0 — معطل)، يُسحب وقف الخسارة إلى سعر الفتح بمجرد أن يتحرك السعر InpBreakeven نقطة في المنطقة الخضراء. ترتيب هذه الفحوصات الثلاث متراكم بـ continue في OnTick، لذلك تنفذ كل تيكة إجراء إدارة واحداً فقط لكل مركز. وقف الخسارة الأولي المثبت 80 نقطة وجني الأرباح 500 نقطة — قوس 1:6.25 R:R يسمح لـ MACD طويل الفترة بالامتداد مع إبقاء خسارة الصفقة ضحلة.

إدارة الأموال هي مفتاح واحد. مع MM=false كل دخول يستخدم InpLots=1.0. مع MM=true يُنشئ الإكسبرت كائن CMoneyFixedMargin ويحجم كل دخول بناءً على مسافة وقف الخسارة عند 1% من الهامش الحر (مدخل Risk). في الحالتين يقوم LotCheck() بتطبيع اللوت المطلوب إلى step/min/max للأداة. نمط التعبئة يُكتشف تلقائياً لكل أداة — FOK أولاً ثم IOC ثم RETURN — والـ m_slippage=10 هو الحد الأقصى للانحراف.

طبقة الحمايات هي الأكثر صرامة في سلسلة EX08. IsSafeToTrade() تشغل تسع بوابات مستقلة قبل أي دخول: سقف تخصيص رأس المال (معطل افتراضياً؛ اضبط InpCapitalCapAmount على السقف بالدولار و InpCapitalCapFloor=50 للأرضية)، وأرضية حقوق ملكية 95% من الرصيد الأولي، وحد خسارة يومية محققة 3% وأسبوعية 6% (كلتاهما محسوبة مقابل رأس المال الفعال)، وعداد 3 خسائر متتالية يفرض 30 دقيقة تهدئة، وسقف 50 صفقة يومياً، وفحص ساعات السوق الذي يغلق الأبواب يوم السبت وقبل الأحد 22 GMT وبعد الجمعة 22 GMT، وفحص جلسة لندن أو نيويورك (لندن 7-16 GMT، نيويورك 12-21 GMT، آسيا 0-7 GMT متجنبة صراحة)، وفلتر أخبار اختياري 15 دقيقة حول افتتاح لندن ونيويورك. عدادات الصفقات وتدفق الأرباح/الخسائر المحققة يُحدّث في OnTradeTransaction الذي يمسح سجل الصفقات لأحداث DEAL_ENTRY_OUT على هذا الرقم السحري وهذه الأداة.

معالجة GMT هي الكشف التلقائي المعياري في PipsGrowth: DetectGMTOffset() يمشي للخلف عبر شموع H1 حتى يجد فجوة نهاية الأسبوع، ثم يحسب فروقBroker من إغلاق الجمعة 22 GMT. InpServerGMTOffset=0 يُشغل الكشف التلقائي؛ اضبطه على عدد صحيح موجب أو سالب للتجاوز. فحص الجلسة وفحص الأخبار وحارس نهاية الأسبوع كلها تعمل على هذا الفرق، لذلك فكرة الإكسبرت عن "افتتاح لندن" تتبع ساعة الوسيط وليس الوقت المحلي.

OnTester يرجع (STAT_PROFIT × STAT_PROFIT_FACTOR) / (1 + STAT_BALANCE_DDREL_PERCENT) بحد أدنى 30 صفقة. عدد صفقات أقل من 30 يُصفّر النتيجة، مما يدفع المحسن نحو تركيبات المعاملات التي تتداول فعلاً بدلاً من الجلوس نقداً. لا يوجد حد أعلى للصيغة — استراتيجية بـ PF=2.0 و8% drawdown نسبي تسجل حوالي 1.85؛ نفس PF مع 25% DD تسجل حوالي 1.60، لذلك لمصطلح السحب وزن حقيقي.

عملياً: هذا إكسبرت تقاطع MACD لـ XAUUSD على M5/H1 بـ MACD بطيء 120/260/90، قوس R:R افتراضي 1:6.25، إغلاق جزئي لنصف المركز عند +70 نقطة، مكدس تسع بوابات، وطبقة مخاطر متعددة الدفاعات. سيتداول نادراً — إشارات MACD طويلة الفترة على فريم 5 دقائق تتجمع فقط حول تحولات النظام الحقيقية — وعندما يتداول يقطع الخاسرين عند 80 نقطة بينما يسمح للإغلاق الجزئي بقفل أول 70 نقطة من أي حركة. منحنى الباك تيست المتوقع هو منحنى بعدد صفقات منخفض بانفجارات متقطعة عندما ينقلب MACD البطيء أخيراً. أي شخص يشغله يجب أن يحجم بناءً على وقف 80 نقطة بافتراض أن الإشارة التالية قد تبعد أسبوعاً، وأن فلتر الجلسة سيغلق الدفتر قبل إعادة الضبط اليومية.

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

في كل شمعة جديدة يقرأ الإكسبرت MACD_MAIN وMACD_SIGNAL من مقبض iMACD(120,260,90) عند الشمعة 1 و3، ثم إما يفتح مركزاً جديداً (إن لم يكن هناك مركز مفتوح بهذا الرقم السحري) أو يشغّل أحد إجراءات الإدارة الثلاثة على المركز الحالي. المتوسطات تُسحب لمتغيرات محلية لكن فرع الدخول لا يقرأها. TryClose_EX08005 و TryClosePartial_EX08005 و TryModify_EX08005 كلها تستخدم نفس نمط 3 محاولات 200/200/100 مللي ثانية على REQUOTE/TIMEOUT/PRICE_OFF/PRICE_CHANGED، مع CMoneyFixedMargin بحجم اختياري لكل دخول بناءً على مسافة وقف الخسارة عند 1% من الهامش الحر. طبقة الحمايات تضيف تسع بوابات قبل التداول: سقف رأس المال، أرضية حقوق الملكية، حدود خسارة يومية 3% / أسبوعية 6%، تهدئة 3 خسائر متتالية، سقف 50 صفقة يومياً، ساعات السوق، جلسة لندن/نيويورك، وفلتر أخبار اختياري 15 دقيقة حول الافتتاحات الكبرى. OnTester يُقيّم (net × PF) / (1 + DD) بحد أدنى 30 صفقة.

إشارة الدخول

إشارة الشراء تُفعّل عندما يكون خط MACD الرئيسي (120,260,90) عند الشمعة 1 فوق خط الإشارة وكان تحته قبل شمعتين؛ التقاطع نفسه الذي حدث قبل بضع شمم هو ما يُفعّل المركز، وليس علاقة الشمعة الحالية. البيع يعكس نفس الشرط. المتوسطات تُحسب لكن لا تُستخدم كبوابة فعلية في هذا الإصدار. بوابة الشمعة الجديدة (PrevBars ثابت) تمنع التكرار داخل الشمعة، و IsSafeToTrade() يجب أن ترجع true لأي تذكرة.

إشارة الخروج

ثلاثة مسارات خروج تعمل بالترتيب على كل مركز مفتوح: (1) إغلاق عند إشارة MACD معاكسة عبر TryClose_EX08005؛ (2) إغلاق نصف المركز عند +70 نقطة ربح عبر TryClosePartial_EX08005؛ (3) إذا كان InpBreakeven غير صفر، سحب وقف الخسارة إلى سعر الفتح بمجرد أن يصل المركز إلى InpBreakeven نقطة في المنطقة الخضراء. قوس جني أرباح 500 نقطة مثبت على كل تذكرة للنصف المتبقي بعد تفعيل الإغلاق الجزئي.

وقف الخسارة

وقف خسارة 80 نقطة مثبت على كل دخول (InpStopLoss=80). سحب اختياري إلى نقطة التعادل بمجرد أن يصل المركز إلى InpBreakeven نقطة ربح (افتراضي 0 = معطل). لا يوجد trailing قائم على ATR ولا chandelier — مخاطر الصفقة الواحدة ثابتة عند 80 نقطة بصرف النظر عن التذبذب.

جني الأرباح

جني أرباح 500 نقطة مثبت على كل دخول (InpTakeProfit=500) لقوس R:R افتراضي 1:6.25. جني الأرباح 500 يبقى ملتصقاً بنصف المركز المتبقي بعد تفعيل الإغلاق الجزئي عند +70 نقطة، لذا الخروج المعتاد منقسم: نصف عند +70 نقطة، والباقي عند +500 أو أبكر عند إشارة MACD معاكسة.

الأنسب لـ

XAUUSD M5 هو الافتراضي، و H1 يناسب أيضاً للاستخدامات أبطأ. الحد الأدنى للرصيد: 100$ مع InpLots=1.0 و MM معطل؛ مسار MM بـ 1% مخاطرة يحتاج مساحة أكبر لـ 80 نقطة وقف خسارة إضافة لتقريب لوت الإغلاق الجزئي. الأفضل مع وسيط ECN سبريد منخفض يعرض XAUUSD بشكل ضيق بما يكفي لينجو عتبة 70 نقطة للإغلاق الجزئي من السبريد والانزلاق. شغّله خلال نوافذ لندن 7-16 GMT ونيويورك 12-21 GMT المُعرّفة؛ آسيا متجنبة صراحة. مستوى المخاطرة: MEDIUM — قوس 1:6.25 R:R وحدود الخسارة اليومية 3% / الأسبوعية 6% تحوي مخاطر الذيل حتى عندما يمر MACD البطيء بفترات خمول طويلة.

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

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

العائلة: MACD الماجيك: 22208005 الإصدار: 2.00

الوصف: MACD crossover EA with MA Fast/Slow/Filter confirmation, partial profit taking, breakeven, and optional money management with 12-layer stack: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester

المؤشرات:

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

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

  • RefreshRates()
  • CheckVolumeValue()
  • IsFillingTypeAllowed()
  • LotCheck()
  • iMAGet()
  • iMACDGet()
  • OpenBuy()
  • OpenSell()
  • CompareDoubles()
  • OnTradeTransaction()
الرمز الزائف (Pseudocode)
// Pipsgrowth EX08005 MACD — Execution Flow (from source analysis)
// Family: MACD
// MACD crossover EA with MA Fast/Slow/Filter confirmation, partial profit taking, breakeven, and optional money management with 12-layer stack: 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

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

المعاملالافتراضيالوصف
m_magic22208005magic number
InpTradeComment"Psgrowth.com Expert_08005"trade comment
InpLots1.0Lots (use only if "Money Management" == false)
InpStopLoss80Stop Loss (in pips)
InpTakeProfit500Take Profit (in pips)
InpProfitOne70Profit for closing half of the position (in pips)
InpBreakeven0Breakeven (in pips)
MMfalseMoney Management
Risk1.0Risk in percent for a deal from a free margin
MAFast_ma_period55MA Fast: averaging period
MAFast_ma_shift0MA Fast: horizontal shift of the indicator
MAFast_ma_methodMODE_EMAMA Fast: smoothing type
MAFast_applied_price1Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted)// MA Fast: type of price
MASlow_ma_period69MA Slow: averaging period
MASlow_ma_shift0MA Slow: horizontal shift of the indicator
MASlow_ma_methodMODE_SMAMA Slow: smoothing type
MASlow_applied_price1Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted)// MA Slow: type of price
MAFilter_ma_period2MA Filter: averaging period
MAFilter_ma_shift0MA Filter: horizontal shift of the indicator
MAFilter_ma_methodMODE_LWMAMA Filter: smoothing type
MAFilter_applied_price1Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted)// MA Filter: type of price
MACDfast_ema_period120MACD: period for Fast average calculation
MACDslow_ema_period260MACD: period for Slow average calculation
MACDsignal_period90MACD: period for their difference averaging
InpMaxConsecLosses3Max consecutive losses before cooldown (0=disabled)
InpCooldownMinutes30Cooldown minutes after consec losses (0=disabled)
InpMaxTradesPerDay50Maximum trades per day
InpMinEquityPercent95.0Stop trading if equity < this % of initial balance
InpDailyLossLimitPct3.0Daily loss limit (% of effective capital)
InpWeeklyLossLimitPct6.0Weekly loss limit (% of effective capital)
InpCapitalCapAmount0.0Cap amount ($ real money equity)
InpCapitalCapFloor50.0Floor ($); block entries below this
InpServerGMTOffset0Server GMT offset hours (0=auto-detect)
InpLondonStartHour7London session start (GMT)
InpLondonEndHour16London session end (GMT)
InpNYStartHour12New York session start (GMT)
InpNYEndHour21New York session end (GMT)
InpAvoidAsiatrueAvoid Asian session
InpAsiaStartHour0Asian session start (GMT)
InpAsiaEndHour7Asian session end (GMT)
InpNewsFilterfalseAvoid trading near news session opens
InpNewsFilterMinutes15Minutes to avoid around news
كود المصدر (.mq5)Open Source
Pipsgrowth_com_EX08005.mq5
#property copyright "Pipsgrowth.com"
#property link      "https://pipsgrowth.com"
#property version   "2.00"
#property strict
#property description "Pipsgrowth.com EX08005 MACD_EA - MACD crossover with MA filter, full 12-layer stack."
#include <Trade\PositionInfo.mqh>
#include <Trade\Trade.mqh>
#include <Trade\SymbolInfo.mqh>
#include <Trade\AccountInfo.mqh>
#include <Trade\DealInfo.mqh>
#include <Expert\Money\MoneyFixedMargin.mqh>
CPositionInfo  m_position;
CTrade         m_trade;
CSymbolInfo    m_symbol;
CAccountInfo   m_account;
CDealInfo      m_deal;
CMoneyFixedMargin *m_money;
//--- 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_MAFast_applied_price = PRICE_CLOSE;
ENUM_APPLIED_PRICE g_MASlow_applied_price = PRICE_CLOSE;
ENUM_APPLIED_PRICE g_MAFilter_applied_price = PRICE_CLOSE;
input group "=== Identity ==="
input ulong    m_magic=22208005;               // magic number
input string   InpTradeComment="Psgrowth.com Expert_08005"; // trade comment
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_MAFast_applied_price = PRICE_CLOSE;
ENUM_APPLIED_PRICE g_MASlow_applied_price = PRICE_CLOSE;
ENUM_APPLIED_PRICE g_MAFilter_applied_price = PRICE_CLOSE;
input group "=== Trading ==="
input double   InpLots           = 1.0;      // Lots (use only if "Money Management" == false)
input ushort   InpStopLoss       = 80;       // Stop Loss (in pips)
input ushort   InpTakeProfit     = 500;      // Take Profit (in pips)
input ushort   InpProfitOne      = 70;       // Profit for closing half of the position (in pips)

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

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

الوسوم:ex08005macdpipsgrowthfreemt5xauusd

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

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

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

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

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

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

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

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