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

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

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

Pipsgrowth EX07006 MA — MA Fractal EA using triple EMA trend filter (Fast > Mid > Slow) with Fractal pullback entries. Buy: trend up + low pulls. إكسبرت أدفايزر MT5 مفتوح المصدر.

نظرة عامة

أكسيبرت EX07006 MA Fractal مبني على مبدأ واضح: لا تدخل الترند بشكل أعمى — انتظر حتى ينسحب السعر داخل المتوسط المتحرك، ثم فعّل الإشارة عند تأكيد نقطة القمة أو القاع. ثلاث متوسطات أسية (60 و350 و600) تشكّل مرشّح الترند، ومؤشر الفراكتال يحدد نقطة الانعكاس التي تثبت أن الانسحاب حقيقي. النتيجة: استراتيجية لا تفتح صفقة إلا حين يكون الترند محاذيًا بوضوح، ويكون الدخول عند مستوى فني ذي معنى، وليس مطاردة سعر.

كوكمة المتوسطات الثلاثة تعمل على الفترات الافتراضية 60 و350 و600، وتُقرأ من الشمعة السابقة (bar[1]) للإطار الزمني الحالي. الاتجاه الصاعد يتطلب MA60 > MA350 > MA600، والاتجاه الهابط هو المرآة. ثم يُفحص موقع السعر: أدنى الشمعة السابقة يجب أن يبقى فوق المتوسط البطيء (600) — لإثبات أن الترند لم ينكسر — وأن يكون تحت المتوسط السريع (60) — لإثبات أن السعر ارتد إلى الساق السريعة من الكومة. شرط معكوس يحكم البيع.

الفلتر الثالث هو الفراكتال. الأكسيبرت ينسخ من iFractals عند الفهرس 2، الذي يمثّل قاع أو قمة دوران قبل شمعتين. القاع الفراكتالي لازم للشراء، والقمة الفراكتالية لازمة للبيع. معنى ذلك أن الانسحاب لازم يكون أنتج بنية دوران فعلية، وليس مجرد لمس عابر. النتيجة شرط رباعي: اتجاه الكومة، وسلامة الترند، وعمق الانسحاب، وبنية الدوران — يجب أن تجتمع كلها قبل إرسال الأمر.

إطلاق الإشارة يتم عبر CheckSignal() مرة لكل شمعة جديدة (مُحكَم بمقارنة lastBar مع iTime(_Symbol,_Period,0))، وليس على كل تيكة. هذا اختيار تصميم متعمد لإبعاد تقييم الإشارة عن سلسلة الملي‌ثانية. حين يتحقق شرط الشراء ولا توجد مراكز شراء مفتوحة، تُستدعى OpenBuy(). وإذا كان نظام الهرم مفعّلًا وفيه متسع تحت InpMaxPositions وأعادت IsGridSafe() القيمة true، تُضاف مراكز شراء إضافية.

قاعدة الهرم هي الميزة الثانية المميِّزة. الأكسيبرت يستطيع تكديس حتى InpMaxPositions (افتراضي 3) مراكز في الاتجاه نفسه، لكن فقط إذا كان كل مركز قائم في ذلك الاتجاه رابحًا بمقدار InpMinProfitPoints على الأقل (افتراضي 300 نقطة = 3 نقاط على تسعير الذهب خماسي الأرقام). دالة IsGridSafe() تفحص كل مركز مفتوح في الاتجاه نفسه وترفض الإضافة إذا كان أي واحد منهم تحت العتبة. هذا ليس مارتينجال ولا شبكة تعويضية — لا يتم متوسط الخاسرين، الأكسيبرت يضيف فقط إلى الرابحين.

وقف الخسارة المتحرك في ManageProfitLock() واضح ومباشر، ويعمل على كل تيكة وليس فقط عند إغلاق الشمعة. للشراء: ما إن يصل سعر العرض (Bid) إلى InpTrailStart (300 نقطة) فوق سعر الدخول، يُضبط الوقف الجديد على Bid ناقص InpTrailDistance (150 نقطة) — لكن فقط إذا كان ذلك أعلى من الوقف الحالي. وللبيع: منطق معكوس. الرatchet للأمام فقط يعني أن الوقف لا يتراجع أبدًا، بل يقفل الربح مع تقدّم السعر. لا توجد خطوة تعادل، ولا إغلاق جزئي، ولا وقف تشاندلييه مبني على ATR — مجرد وقف بمسافة سعرية ثابتة.

حجم المركز في CalculateLotSize() يتبع النمط المعتاد: إذا كان InpRiskPercent أكبر من صفر، يُحسب اللوت كحاصل account.Balance() * riskPct / (stopLossPoints * tickValueRatio)، ويُقرَّب لأسفل إلى خطوة اللوت ويُقيَّد بين الحد الأدنى والأعلى للوسيط. المخاطرة الافتراضية 1% مع وقف 400 نقطة تعطي مركز XAUUSD نموذجي بحدود 0.05 إلى 0.10 لوت على حساب 1000 دولار — حجم صغير يتناسب مع نسبة المخاطرة إلى العائد 1:3.75. تعيين InpRiskPercent=0 يعود إلى InpFixedLot (0.01).

الجانب المتعلق بإدارة المخاطر متعمَّد الحدّ الأدنى. لا يوجد سقف خسارة يومي، ولا حارس حد أدنى للاكويتي، ولا وقف زمني، ولا فلتر أخبار، ولا قاتل طوارئ (kill switch)، ولا فلتر جلسة، ولا دالة OnTester. الحارس الوحيد قبل الصفقة هو فلتر السبريد — InpMaxSpread افتراضي 250 نقطة (2.5 نقطة على وسيط خماسي الأرقام)، وهو مناسب للذهب في الجلسات النشطة ويمنع الدخول في الفترات قليلة السيولة. هذا أكسيبرت انسحاب-إلى-الترند، وليس نظامًا مصممًا للعمل على مدار الساعة. غياب فلاتر الجلسة يعني أنه سيستجيب لأي انسحاب في أي ساعة، وهذا على الذهب قد يعني ساعات الفجر في لندن أو أواخر نيويورك.

الإعدادات الافتراضية تستهدف XAUUSD على M5 — استراتيجية ذهب عالية التردد. فترات EMA 60/350/600 على شارت 5 دقائق تعني تقريبًا 5 ساعات و29 ساعة و50 ساعة من تاريخ السعر، وهو ما يلائم التقاط ترندات من داخل اليوم إلى عدة أيام على أداة عالية التذبذب. وقف 400 نقطة وهدف 1500 نقطة يعطيان نسبة مخاطرة/عائد 1:3.75، لكن هدف 3.75R نادرًا ما يُضرب على M5 لأن الذهب عادة يتذبذب في نطاق 100-300 نقطة في شمعة 5 دقائق. توقّع غالبية الخروج عبر الوقف المتحرك على M5؛ أما الهدف الثابت فله معنى أكبر لو رفعت الإطار إلى H1.

لو نقلت الأكسيبرت إلى H1، ففترات EMA تمثّل 60 ساعة و350 ساعة و600 ساعة — نحو 2.5 يوم و14.5 يوم و25 يومًا. بنية الترند تصبح أبطأ بوضوح، والوقف المتحرك يعمل بشكل أوضح لأن نطاقات H1 أوسع. الهرم على H1 مع عتبة 300 نقطة (3 نقاط) يصبح أسهل بكثير للتحقق.

طبقة التنفيذ تستخدم CTrade.Buy() وCTrade.Sell() مع ORDER_FILLING_FOK وانزلاق InpSlippage=3 نقاط. لا توجد حلقة إعادة محاولة للإدخال — الإرسال الفاشل لا يُنفَّذ. لكن عمليتا التعديل والإغلاق لهما حلقتا إعادة: TryModify_EX07006 وTryClose_EX07006 وTryClosePartial_EX07006، كل منها يحاول حتى 3 مرات بفاصل 100-200 مللي‌ثانية على رجوع REQUOTE أو TIMEOUT أو PRICE_OFF أو PRICE_CHANGED. هذا هو التناظر الصحيح: الإدخال لا يعيد المحاولة (لأنك تطارد سوقًا متحركًا)، لكن إدارة المراكز تعيد المحاولة (لأنك تريد أن يتحرك الوقف فعلًا).

ما ليسه هذا الأكسيبرت: ليس شبكة، وليس مارتينجال، وليس تحوطًا، وليس متداول أخبار، وليس سكالبير آسيوي مفلتر حسب الجلسة، وليس محفظة متعددة الرموز. إنه استراتيجية انسحاب-إلى-الترند على رمز واحد وإطار زمني واحد، مع خيار التدرّج في الرابحين. ترويسة المصدر تذكر 12 قسمًا مفاهيميًا — REGIME وSIGNAL وENTRY وCONFIRM وNO-TRADE وCAPITAL CAP وRISK وSIZING وMANAGE وEXIT وSCALING وOnTester — لكن التنفيذ الفعلي نحيل: 10 دوال و19 مُدخلًا، ولا يوجد مصنّف نظام (regime)، ولا فلتر إطار أعلى، ولا دالة OnTester. التسميات تصف نية المعمار، لا قائمة المزايا.

في الباك‌تيست على M5 XAUUSD، توقّع تكرار صفقات عالٍ (شرط الانسحاب يطلق كثيرًا على الذهب)، ومتوسط ربح متواضع (1R-2R عادة لأن الوقف المتحرك يتفعّل قبل 3.75R)، ونسبة إصابة في نطاق 40-50% لتكون مربحًا. مكوّن الهرم يزيد حجم الصفقة في السلاسل الرابحة ويمكن أن يضاعف في أيام الترند. عطّل InpEnablePyramid إذا كنت تريد تعرّضًا مسطّحًا بمركز واحد في كل اتجاه؛ اتركه مفعّلًا مع InpMaxPositions=3 للدخول المضاعف في الترندات المؤكَّدة.

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

في كل شمعة جديدة، CheckSignal() تنسخ بافرات MA60 وMA350 وMA600 وiFractals عند الفهرس 1 أو 2، ثم تقيّم الشروط الأربعة في布尔 واحد — تكديس المتوسطات، والسعر فوق البطيء، والسعر تحت السريع، وفراكتال الدوران المناسب. أعلى وأدنى الشمعة السابقة (iHigh/iLow عند الفهرس 1) هما ما يُقاس عليهما اختبار الانسحاب، وليس تيكة الشمعة الحالية، مما يحفظ استقرار الإشارات أثناء تكوّن الشمعة. ManageProfitLock تعمل على كل تيكة لإبقاء الوقف المتحرك محدَّثًا. الهرم مسار كود منفصل عبر IsGridSafe() يرفض الإضافة ما لم يكن كل مركز قائم في الاتجاه نفسه رابحًا بالفعل بمقدار InpMinProfitPoints. توجيه الأوامر يستخدم CTrade.Buy وCTrade.Sell مع ORDER_FILLING_FOK وانزلاق 3 نقاط؛ عمليتا التعديل والإغلاق مغلفتان في حلقتي إعادة محاولة بثلاث محاولات مع فاصل 100-200 مللي‌ثانية على رجوع REQUOTE وTIMEOUT. لا يوجد مصنّف نظام (regime)، ولا فلتر إطار أعلى، ولا بوابة جلسة، ولا فلتر أخبار، ولا دالة OnTester — الأكسيبرت متعمَّد النحول كمنظومة انسحاب على رمز وإطار واحد.

إشارة الدخول

الإشارة الشرائية تتفعّل حين MA60 > MA350 > MA600 (ترند صاعد مكدَّس) ويكون أدنى الشمعة السابقة فوق البطيء (600) وأسفل السريع (60) — أي انسحاب داخل الساق السريعة — مع وجود قاع فراكتالي من iFractals قبل شمعتين. إشارة البيع هي المرآة: MA600 > MA350 > MA60، وأعلى الشمعة السابقة تحت MA600 وفوق MA60، مع وجود قمة فراكتالية. الشرط يُقيَّم مرة لكل شمعة جديدة داخل CheckSignal()، وليس على كل تيكة. مع InpEnablePyramid=true وInpMaxPositions=3 يمكن إضافة مراكز إضافية في الاتجاه نفسه متى كان كل مركز قائم رابحًا بمقدار InpMinProfitPoints (300 نقطة) على الأقل.

إشارة الخروج

الخروج مدفوع بوقف خسارة ثابت عند InpStopLoss (400 نقطة) وهدف ربح ثابت عند InpTakeProfit (1500 نقطة = 1:3.75 R:R)، وكلاهما يُرفق بالأمر عند الدخول. دالة ManageProfitLock() تعمل على كل تيكة، وما إن يتحرك السعر InpTrailStart (300 نقطة) في الربح، يُرفع الوقف إلى السعر ناقص InpTrailDistance (150 نقطة) للأمام فقط — الوقف لا يتراجع أبدًا. لا توجد خطوة تعادل، ولا إغلاق جزئي، ولا وقف زمني؛ تبقى المراكز مفتوحة حتى يُضرب SL أو TP أو يُضرب الوقف المتحرك.

وقف الخسارة

كل أمر يُفتح بوقف خسارة ثابت InpStopLoss نقطة (افتراضي 400 = 4 نقاط على ذهب خماسي الأرقام) يُرفق بنداء CTrade.Buy/CTrade.Sell. ثم يتسلّم الوقف المتحرك في ManageProfitLock بمجرد أن يتحرك السعر InpTrailStart (300 نقطة) في الربح، ويرفع الوقف إلى السعر ناقص InpTrailDistance (150 نقطة) على كل تيكة. لا يوجد سقف تراجع على مستوى الحساب، ولا حد خسارة يومي، ولا أرضية اكويتي — الفلتر الوحيد قبل الصفقة هو حارس السبريد عند InpMaxSpread (250 نقطة).

جني الأرباح

جني الأرباح يُضبط على InpTakeProfit نقطة من سعر الدخول (افتراضي 1500 = 15 نقطة على ذهب خماسي الأرقام)، ويُرفق كهدف ثابت بالأمر، مما يعطي نسبة مخاطرة/عائد 1:3.75 ضد وقف 400 نقطة. على M5 للذهب، أغلب المراكز تخرج عبر الوقف المتحرك قبل الهدف الثابت بوقت طويل؛ على H1 الهدف الكامل يصبح أكثر قابلية للتحقيق. لا يوجد TP جزئي، ولا TP سلة، ولا خطوة تعادل في مسار الخروج.

الأنسب لـ

الحد الأدنى الموصى به للرصيد: 100 دولار (يتناسب مع تصنيف المخاطرة MEDIUM ونطاق اللوت 0.01-0.05 على XAUUSD). يُفضَّل إقرانه بوسيط ECN أو ذهب سبريد منخفض حيث بوابة InpMaxSpread=250 (2.5 نقطة) لا تُفعَّل إلا نادرًا، ويبقى الانزلاق تحت InpSlippage الافتراضي 3 نقاط. شغّله على M5 XAUUSD لتداول انسحاب عالي التردد في جلستَي لندن ونيويورك حين يتجاوز نطاق الذهب المعتاد في 5 دقائق وقف 400 نقطة. عطّل InpEnablePyramid إذا كنت تريد إعدادًا مسطّحًا بمركز واحد في كل اتجاه؛ اتركه مفعّلًا مع InpMaxPositions=3 للتدرّج في الترندات المؤكَّدة.

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

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

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

الوصف: MA Fractal EA using triple EMA trend filter (Fast > Mid > Slow) with Fractal pullback entries. Buy: trend up + low pulls back inside Fast MA + lower fractal. Sell: inverse. Trailing stop and pyramiding support. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester

المؤشرات:

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

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

  • CheckSignal()
  • OpenBuy()
  • OpenSell()
  • ManageProfitLock()
  • IsGridSafe()
  • CalculateLotSize()
  • CountPositions()
  • TryClose_EX07006()
  • TryClosePartial_EX07006()
  • TryModify_EX07006()
الرمز الزائف (Pseudocode)
// Pipsgrowth EX07006 MA — Execution Flow (from source analysis)
// Family: MA
// MA Fractal EA using triple EMA trend filter (Fast > Mid > Slow) with Fractal pullback entries. Buy: trend up + low pulls back inside Fast MA + lower fractal. Sell: inverse. Trailing stop and pyramiding support. 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

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

المعاملالافتراضيالوصف
InpMA1Len60MA 1 (Fast)
InpMA2Len350MA 2 (Medium)
InpMA3Len600MA 3 (Slow)
InpMAMethodMODE_EMAMA Method
InpRiskPercent1.0Risk Percent per Trade
InpFixedLot0.01Fixed Lot (if Risk=0)
InpStopLoss400Stop Loss (points)
InpTakeProfit1500Take Profit (points)
InpMagicNumber22207006Magic Number
InpTradeComment"Psgrowth.com Expert_07006"Trade Comment
InpMaxSpread250Max Spread (points)
InpSlippage3Slippage
InpEnableTrailtrueEnable Trailing Stop
InpTrailStart300Trail Start Distance (points)
InpTrailStep100Trail Step (points)
InpTrailDistance150Distance behind price (points)
InpEnablePyramidtrueEnable Pyramiding
InpMaxPositions3Max Open Positions
InpMinProfitPoints300Min Profit (points) to Add Next
كود المصدر (.mq5)Open Source
Pipsgrowth_com_EX07006.mq5
#property copyright "Pipsgrowth.com"
#property link      "https://pipsgrowth.com"
#property version   "2.00"
#property strict
#property description "Pipsgrowth.com EX07006 MAFractal_XAUUSD_5M — Triple EMA trend with fractal pullback entries, full 12-layer stack."

#include <Trade\Trade.mqh>
#include <Trade\PositionInfo.mqh>
#include <Trade\SymbolInfo.mqh>
#include <Trade\AccountInfo.mqh>

CTrade         trade;
CPositionInfo  position;
CSymbolInfo    mysymbol;
CAccountInfo   account;

//--- Input Groups
input group "=== Indicator Settings ==="
input int      InpMA1Len         = 60;       // MA 1 (Fast)
input int      InpMA2Len         = 350;      // MA 2 (Medium)
input int      InpMA3Len         = 600;      // MA 3 (Slow)
input ENUM_MA_METHOD InpMAMethod = MODE_EMA; // MA Method

input group "=== Money Management ==="
input double   InpRiskPercent    = 1.0;      // Risk Percent per Trade
input double   InpFixedLot       = 0.01;     // Fixed Lot (if Risk=0)
input int      InpStopLoss       = 400;      // Stop Loss (points)
input int      InpTakeProfit     = 1500;     // Take Profit (points)

input group "=== Trade Management ==="
input int      InpMagicNumber    = 22207006;  // Magic Number
input string   InpTradeComment   = "Psgrowth.com Expert_07006"; // Trade Comment
input int      InpMaxSpread      = 250;      // Max Spread (points)
input int      InpSlippage       = 3;        // Slippage

input group "=== Profit Lock / Trailing ==="
input bool     InpEnableTrail    = true;     // Enable Trailing Stop
input int      InpTrailStart     = 300;      // Trail Start Distance (points)
input int      InpTrailStep      = 100;      // Trail Step (points)
input int      InpTrailDistance  = 150;      // Distance behind price (points)

input group "=== Pyramiding / Scaling ==="
input bool     InpEnablePyramid  = true;     // Enable Pyramiding
input int      InpMaxPositions   = 3;        // Max Open Positions
input int      InpMinProfitPoints= 300;      // Min Profit (points) to Add Next

//--- Handles
int    hMA1;
int    hMA2;
int    hMA3;
int    hFrac;

//--- Global Buffers
double bufMA1[];
double bufMA2[];
double bufMA3[];
double bufFracUp[];
double bufFracDown[];

//+------------------------------------------------------------------+

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

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

الوسوم:ex07006mapipsgrowthfreemt5xauusd

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

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

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

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

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

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

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

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