P
PipsGrowth
سكالبينجمفتوح المصدر - مجاني

Pipsgrowth EX10007 Momentum-Scalper — إكسبرت أدفايزر إكسبرت أدفايزر

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

Pipsgrowth EX10007 Momentum-Scalper — Trend-following pullback scalp on XAU/FX. Long: FastEMA > SlowEMA AND RSI crosses UP over 50 AND close>FastEMA AND close. إكسبرت أدفايزر MT5 مفتوح المصدر.

نظرة عامة

Pipsgrowth EX10007 Momentum-Scalper هو سكالبير سحب-في-اتجاه-الترند مغلق الشمعة، مبني حول تقاطع المتوسط المتحرك الأسي السريع EMA(50) فوق البطيء EMA(200) كاتجاه رئيسي، مع عبور مؤشر RSI(14) لمستوى 50 كإشارة دخول، وبوابة نظام سوق صارمة قبل كل أمر. يصف الترويسة اثنتي عشرة طبقة متعاونة، لكن التنفيذ الفعلي يُفعّل سبعاً منها: REGIME، SIGNAL، CONFIRM، ENTRY، SIZING، MANAGE/EXIT، بالإضافة إلى دالة لياقة OnTester. أما CAP وRISK وNO-TRADE وSCALING فموجودة كحارسات متفرقة وليست كوحدات مستقلة. قراءة ملف ‎.mq5‎ مباشرة تكشف أين تبدأ كل طبقة وأين تنتهي، وهذه الفجوة بين الوصف والتطبيق تستحق الفهم قبل الوثوق بمنحنى الأسهم.

محرك الإشارة هو قلب الـ EA. تستدعي دالة ‎EvaluateSignal()‎ آخر شمعتين مغلقتين من ‎iMA(_Symbol,_Period,50,0,MODE_EMA,PRICE_CLOSE)‎ و‎iMA(_Symbol,_Period,200,0,MODE_EMA,PRICE_CLOSE)‎ و‎iRSI(_Symbol,_Period,14,PRICE_CLOSE)‎. تتطلب إشارة الشراء تحقق ستة شروط معاً: المتوسط السريع فوق البطيء، عبور RSI من تحت 50 إلى فوقها بين آخر شمعة مغلقة وسابقتها، إغلاق آخر شمعة مغلقة فوق المتوسط السريع (استعادة بعد جذب السعر)، ميل المتوسط السريع بالنقاط لا يقل عن ‎DEF_MIN_EMA_SLOPE_POINTS = 10.0‎، المسافة المطلقة بين المتوسطين لا تقل عن ‎DEF_MIN_EMA_DIST_ATR = 0.5‎ من قيمة ATR(14) الحالية، والإغلاق يتجاوز قمة الشمعة السابقة (تأكيد الاختراق، يتحكم به ‎InpUseBreakoutConfirm = true‎). إشارة البيع هي نسخة معكوسة من هذا التراكم. لا يوجد أي شرط تقديري — تُحسب الثقة كقيمة ‎min(100, (slope / 20) * 50 + 25)‎ ثم تُمرَّر إلى ‎TryEntry()‎.

قبل النظر في أي إشارة، تفرض ‎RegimeOK()‎ وجود ترند حقيقي. تسحب الدالة ‎iADX(_Symbol,_Period,14)‎ وترفض الشمعة إذا كان خط ADX الرئيسي تحت ‎InpMinADX = 20.0‎. بعدها تحسب نسبة ATR المئوية مقابل نافذة 50 شمعة: تُرفض الشموع التي يكون فيها ATR الحالي تحت 15% من المتوسط الأخير كحجم ميت، وتُرفض الشموع فوق 95% كأحداث ارتفاع حاد. وأخيراً، تفحص عرض ‎iBands(_Symbol,_Period,20,0,2.0,PRICE_CLOSE)‎ وترفض الدخول أثناء انضغاط عرض بولنجر (العرض الحالي تحت 10% من متوسط 10 شموع). هذا الفحص ثلاثي المراحل هو ما يقضي على معظم الاختراقات الكاذبة التي تتعرض لها أنظمة تقاطع المتوسطات — ببساطة الـ EA لا يحاول التداول عندما يكون السوق منضغطاً أو عندما تكون الطاقة الاتجاهية قد تسربت.

تضيف ‎ConfirmOK()‎ بوابتين إضافيتين. عندما يكون ‎InpHTFConfirm = true‎، يحمل الـ EA زوجاً ثانياً من المتوسطات على إطار ‎PERIOD_M15‎ (‎DEF_HTF_TF‎) ويشترط أن يتفق ترند M15 مع إشارة M5. هذا أهم مفتاح في المدخلات: مع إيقاف HTF confirm، سيطلق الـ EA إشارات M5 حتى عندما يكون ترند M15 في الاتجاه المعاكس، وستحصل على عدد صفقات أعلى بكثير على حساب نسبة فوز أقل. التأكيد الثاني هو فلتر حجم التداول بالنقرات — يجب أن يكون حجم النقرات الحالي 80% على الأقل من المتوسط المتحرك لـ 20 شمعة ‎(DEF_VOL_MIN_RATIO = 0.8)‎. يستخدم فحص الحجم ‎iVolume()‎ للشمعة 1 مباشرة؛ على أزواج FX التي لا تبلغ عن حجم النقرات ستكون القيمة صفراً تقريباً، فيُتخطى المقارنة ويصبح الفلتر محايداً فعلياً.

مسار تنفيذ الصفقة صريح بخصوص مخاطر التنفيذ الجزئي. تقرأ ‎OnInit()‎ قيمة ‎SYMBOL_FILLING_MODE‎ وتخصص FOKIOCRETURN بهذا الترتيب، ليتكيف الـ EA مع أي وضع يدعمه الوسيط. الانزلاق السعري محدد بـ 40 نقطة ‎(DEF_DEVIATION_POINTS)‎ (40 نقطة على XAUUSD تساوي نحو 0.40 دولار، أو 4 نقاط سعرية). بعد أول ‎trade.Buy/‎trade.Sell، إذا كان رمز النتيجة ‎TRADE_RETCODE_REQUOTE‎ أو ‎TRADE_RETCODE_PRICE_OFF‎ أو ‎TRADE_RETCODE_TIMEOUT‎، يُحدّث الـ EA الأسعار ويُرسل مرة أخرى. تمر الإغلاق والتعديل عبر مساعدات ‎TryClose_EX10007‎ و‎TryClosePartial_EX10007‎ و‎TryModify_EX10007‎، كل منها تكرر ثلاث مرات مع نوم 200 مللي ثانية للرموز 10004/10006/10007/10009. لا توجد منطق تسلسل أسعار — عند فشل المحاولة الثالثة يُسجل الإجراء ويُستسلم.

وضع وقف الخسارة مدفوع بالكامل بمؤشر ATR. تحسب ‎CalcLotForATRStop()‎ مسافة الوقف كـ ‎InpATRMultiplier × ATR(14)‎ مع افتراضي 1.5× ATR، ثم تحدد الحد الأدنى عند ‎SYMBOL_TRADE_STOPS_LEVEL‎ للوسيط. يُضبط جني الأرباح عند ‎stopDist × DEF_TP_ATR_MULT = 1.3‎، مما يعطي نسبة ثابتة TP/SL قدرها 1.3 إلى 1.5 (معامل R قدره 0.87) على الأمر الأولي. هذا التماثل غير المتوازن مقصود — الـ EA يتوقع أن معظم أرباحه تأتي من التريلنج ستوب، وليس من الهدف الأولي. عند تفعيل ‎InpRiskPercent = 0.7‎، يُحسب حجم الصفقة كـ ‎riskMoney / lossPerLot‎، حيث ‎lossPerLot = (stopDist / tickSize) × tickValue‎، فعلى حساب 1000 دولار مع مخاطرة 0.7% ووقف 1.5× ATR(14) ستحصل على حجم لوت في نطاق 0.020.05 على معظم وسطاء XAUUSD. ضبط ‎InpRiskPercent‎ على 0 أو قيمة سالبة يفرض استخدام ‎InpFixedLot = 0.01‎ ثابتاً.

بمجرد فتح الصفقة، تعمل ‎ManageTrades()‎ على كل تيك وتكدس ثلاثة شروط خروج مستقلة. عندما يصل الربح غير المحقق إلى 1.0R ‎(DEF_BE_TRIGGER_R = 1.0)‎، يُنقل الوقف إلى سعر الدخول + 15 نقطة أوفست، ليؤمن نتيجة عند نقطة التعادل أو أفضل. عند نفس عتبة الربح، إذا كان حجم الصفقة أكبر من 1.5 ضعف الحد الأدنى للوت، يُغلق نصف الصفقة عبر ‎ClosePartial()‎ وتُوسم بـ ‎[P]‎ في التعليق لمنع إعادة التشغيل. بعد 1.0R من الربح، يُفعّل الوقف المتحرك عند 1.0× ATR خلف السعر ‎(DEF_TRAIL_ATR_MULT = 1.0)‎. خارج إدارة المراكز، يعمل شرطان هيكليان أولاً: استدعاء ‎EvaluateSignal()‎ على شمعة مغلقة يُغلق الشراء على إشارة بيع جديدة والبيع على إشارة شراء جديدة، وخرج زمني عند ‎DEF_MAX_BARS_IN_TRADE = 240‎ شمعة. غطاء 240 شمعة يعادل 20 ساعة من شموع M5، فتُغلق أي صفقة M5 تستمر 20 ساعة دون أن يخرجها التريلنج قسراً بصرف النظر عن الربح/الخسارة. انهيار النظام ‎(RegimeOK(0)‎ يعود false على ADX) يُغلق أيضاً الصفقة بوصف سبب ‎regime-change-ADX‎.

مكدس المخاطر والسلامة متحفظ رغم أن الـ EA مُصنّف HIGH. مخاطرة 0.7% لكل صفقة خفيفة، وقواطع دوائر الخسارة محكمة: 5% من رأس المال الفعال يومياً و10% أسبوعياً يوقف الـ EA قبل ضرر كارثي. غطاء رأس المال اختياري: مع ‎InpCapitalCapAmount = 0‎ (الافتراضي)، لا يُطبق غطاء ويُسعر الـ EA على كامل الأسهم؛ ضبطه على 5000 مثلاً يعني أن الـ EA سيعامل أول 5000 دولار من الأسهم كرأس مال تداول ويعتبر أي زيادة خارج النطاق. فحص الأرضية ‎(InpCapitalCapFloor = 50.0)‎ يحظر دخولاً جديداً عندما يهبط رأس المال الفعال تحت 50 دولار. فترة تهدئة قدرها 3 شموع (15 دقيقة على M5) تُفعّل بعد 3 خسائر متتالية — تقرأ ‎UpdateConsecutiveAfterClose()‎ سجل الصفقات الأخيرة لاكتشاف الخروج الخاسر، تزيد عداداً، وتُسلّح ‎g_cooldownUntil‎. ملاحظة تشغيلية واحدة: مفتاح القتل ‎(InpKillSwitch = true)‎ يغلق جميع المراكز عند كل تيك — تشغيله على الهواء مباشرة سيغلق كل صفقة يملكها الـ EA، فاستخدمه من لوحة المدخلات، وليس بتعديل الكود.

سلوكان غير واضحان يستحقان المعرفة. أولاً، ‎InpDryRun = true‎ هو الافتراضي — سيطبع الـ EA ‎[DRY-RUN]‎ في السجل لكنه لن يرسل أي أمر. يجب ضبط ‎InpDryRun = false‎ صراحة قبل التشغيل الفعلي. ثانياً، فلتر السبريد يستخدم ‎DEF_MAX_SPREAD_POINTS = 60‎ (6 نقاط سعرية على XAUUSD) ثم يصحح نفسه ذاتياً: إذا كان ‎SYMBOL_TRADE_STOPS_LEVEL‎ للوسيط أقل، يتسع الغطاء إلى 4 أضعاف مستوى الستوبات؛ وإذا كان مستوى الستوبات أعلى، يصبح هذا الغطاء الفعلي. فلتر نسبة ثانوي يرفض الدخول عندما ‎ATR(points) / spread < 3.5‎، مما يعني على سقف سبريد 60 نقطة على XAUUSD أن يقدم الوسيط ATR لا يقل عن 17 نقطة — لا مشكلة على الذهب، لكن يستحق المعرفة إذا أردت تكييف الـ EA على أزواج أقل تذبذباً.

دالة OnTester للياقة هي الصيغة القياسية ‎(net × profitFactor) / (1 + balanceDD%)‎، تُعيد 0 عندما يكون عدد الصفقات أقل من 30 حتى لا تهيمن صفقة واحدة محظوظة على تمرين التحسين. مع تعطيل الهرم (الافتراضي)، توقع من Strategy Tester أن يستقر على 1–3 صفقات يومياً على XAUUSD M5 خلال لندن/نيويورك، بنسبة فوز في نطاق 40–55% لكن بتوقعات إيجابية لأن توليفة التريلنج + الخروج الجزئي تحوّل الرابحين الصغار إلى رابحين ممتدين. الاختبارات الخلفية على حساب سنت بـ 100 دولار ستحرك المؤشر؛ الاختبارات على حساب قياسي بـ 10000 دولار ستحتاج نافذة بيانات أطول قبل أن يستقر متوسط ضوضاء الدولارات لكل صفقة.

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

في كل تيك، تستدعي OnTick أولاً ManageTrades للتعامل مع نقطة التعادل والإغلاق الجزئي والتريلنج على أي صفقة مفتوحة، ثم تمشي UpdateRealizedPnL في سجل الصفقات لتحديث عدادات الربح/الخسارة اليومية والأسبوعية. تنطلق بوابة عدم التداول عندما يهبط رأس المال الفعال تحت الأرضية، أو عند تجاوز حد خسارة 5%/10% اليومي/الأسبوعي، أو عند تفعيل تهدئة بعد 3 خسائر. تسأل RegimeOK بعد ذلك: هل ADX فوق 20؟ هل نسبة ATR بين 15% و95%؟ وهل عرض BB(20، 2.0) فوق 10% من متوسط 10 شموع؟ تتطلب ConfirmOK موافقة EMA(50) وEMA(200) على M15 مع اتجاه M5 وأن يكون حجم النقرات الحالي 0.8× على الأقل من متوسط 20 شمعة. يحسب TryEntry حجم الصفقة من InpRiskPercent والوقف المعتمد على ATR، ويُرسل أمراً واحداً مع إعادة محاولة واحدة على REQUOTE/PRICE_OFF/TIMEOUT. الهرم معطل افتراضياً برمجياً، وكان سيضيف ما يصل إلى 3 طبقات متباعدة 1.5× ATR في الاتجاهات الرابحة فقط، لكن الإعداد الافتراضي لا يُفعّله.

إشارة الدخول

تطلق إشارة الشراء عندما يجلس المتوسط السريع EMA(50) للشمعة المغلقة فوق البطيء EMA(200)، ويعبر RSI(14) من تحت 50 إلى فوقها بين آخر شمعتين مغلقتين، ويستعيد إغلاق الشمعة 1 المتوسط السريع، ويكون ميل EMA-50 لا يقل عن 10 نقاط، وتبلغ المسافة بين المتوسطين 0.5× ATR(14) على الأقل، ويتجاوز الإغلاق قمة الشمعة 2 (عند تفعيل InpUseBreakoutConfirm). إشارة البيع هي نسخة معكوسة من الشروط الستة جميعها. يجب أن تتجاوز الصفقة بعد ذلك RegimeOK (ADX ≥ 20، نسبة ATR بين 15% و95%، لا انضغاط لعرض بولنجر) وConfirmOK (اتفاق EMA على M15 كإطار أعلى وحجم النقرات ≥ 0.8× من متوسط 20 شمعة) قبل أن يطلق TryEntry الأمر.

إشارة الخروج

تعمل ثلاث طبقات من منطق الخروج على كل تيك عبر ManageTrades. إشارة عكسية جديدة من EvaluateSignal تُغلق الصفقة بسبب 'opp-signal'. حدث انهيار النظام (RegimeOK يعود false على ADX) يُغلق قسراً بسبب 'regime-change-ADX'. بعد 1.0R من الربح، يُغلق نصف الصفقة عند 1.3× مسافة الوقف (جني أرباح جزئي)، ويُحرك الوقف إلى سعر الدخول + 15 نقطة (نقطة التعادل)، ويُفعّل تريلنج ATR(14) × 1.0 خلف السعر. أي صفقة تستمر 240 شمعة (20 ساعة من M5) تُغلق قسراً بسبب 'max-bars-reached' بصرف النظر عن الربح/الخسارة.

وقف الخسارة

يحسب CalcLotForATRStop وقف الخسارة كـ InpATRMultiplier (افتراضي 1.5) × ATR(14)، مع حد أدنى عند SYMBOL_TRADE_STOPS_LEVEL للوسيط. يُضبط جني الأرباح على 1.3× مسافة الوقف (نسبة TP/SL قدرها 1.3:1.5، معامل R قدره 0.87)، لذا الأمر الأولي متعمد أن يكون الوقف فيه أعرض من الهدف. إدارة المراكز تحول هذا الوضع غير المتماثل إلى توقع إيجابي عبر نقطة التعادل عند 1.0R، والإغلاق الجزئي 0.5، وتريلنج ATR(14) × 1.0. لا يوجد وقف حساب عام؛ وقف الخسارة لكل صفقة هو وقف الخسارة لكل مركز فقط.

جني الأرباح

يُضبط جني الأرباح الأولي على 1.3× مسافة الوقف بواسطة CalcLotForATRStop، مما يعطي نسبة TP/SL قدرها 1.3:1.5 (يفرض InpMinRR هذا الحد الأدنى من معامل R للدخول). بمجرد أن يصل الربح إلى 1.0R، يُغلق نصف الصفقة عند مستوى جني الأرباح الجزئي (ClosePartial، موسوم بـ [P] في التعليق) ويُنقل الوقف إلى سعر الدخول + 15 نقطة. من تلك النقطة، يُحتفظ بالنصف المتبقي مع تريلنج ATR(14) × 1.0 (DEF_TRAIL_ATR_MULT). جني الأرباح نفسه نادراً ما يكون الخروج الفعلي — التريلنج والإغلاق الجزئي يقومان بمعظم العمل.

الأنسب لـ

المتداولون الذين يشغلون XAUUSD على M5 خلال جلستي لندن ونيويورك (ساعات الخادم 7-17 مع تعتيم ناعم 12-14 للأخبار). يحتاج وسيطاً بسبريد على الذهب أقل من 0.40 دولار ووضع تعبئة يدعم FOK أو IOC أو RETURN — معظم وسطاء ECN وRAW-SPREAD مؤهلون. الإعداد الافتراضي يتطلب حداً أدنى للرصيد 100 دولار (مع أرضية غطاء رأس المال 50 دولار)، لكن الاستراتيجية أكثر صدقاً على 1000 دولار+ حيث تترجم مخاطرة 0.7% لكل صفقة إلى حجم لوت قابل للاستخدام 0.02-0.05. مناسب للمتداولين الذين يقبلون أقصى مدة احتفاظ 240 شمعة (20 ساعة) ويريدون طبقة إدارة المراكز (جزئي + نقطة تعادل + تريلنج) للقيام بعمل جني الأرباح، وليس TP ثابت. ملاحظة: InpDryRun صحيح افتراضياً — يجب تعطيله صراحة قبل أن ينطلق أي أمر فعلي.

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

Pipsgrowth EX10007 Momentum-Scalper — تحليل منطق الاستراتيجية (من كود .mq5)

العائلة: Momentum-Scalper الماجيك: 22210007 الإصدار: 2.00

الوصف: Trend-following pullback scalp on XAU/FX. Long: FastEMA > SlowEMA AND RSI crosses UP over 50 AND close>FastEMA AND close>prevHigh (breakout confirm) AND FastEMA slope strong AND |F-S|>=k*ATR AND ADX>=min AND HTF-EMA agrees. Short: mirror. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester

المؤشرات:

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

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

  • ComputeEffectiveCapital()
  • UpdateRealizedPnL()
  • RegimeOK()
  • EvaluateSignal()
  • ConfirmOK()
  • CountOurPositions()
  • CountOurPositionsByType()
  • CalcLotForATRStop()
  • NormalizeLot()
  • TryEntry()
الرمز الزائف (Pseudocode)
// Pipsgrowth EX10007 Momentum-Scalper — Execution Flow (from source analysis)
// Family: Momentum-Scalper
// Trend-following pullback scalp on XAU/FX. Long: FastEMA > SlowEMA AND RSI crosses UP over 50 AND close>FastEMA AND close>prevHigh (breakout confirm) AND FastEMA slope strong AND |F-S|>=k*ATR AND ADX>=min AND HTF-EMA agrees. Short: mirror. 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
الأطر الزمنية المُحسّنة:
M5M15

كيفية تثبيت الإكسبرت على 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اسحب الإكسبرت من Navigator وأفلته على أي رسم بياني (يُنصح بـ M1 أو M5)
  7. 7في نافذة الإعدادات، فعّل Allow Algo Trading وحدد حجم اللوت
  8. 8اضغط OK — سيبدأ الإكسبرت بالتداول تلقائياً

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

المعاملالافتراضيالوصف
InpMagic22210007Magic number
InpTradeComment"Psgrowth.com Expert_10007"Trade comment
InpDryRuntrueDry-run (no live sends)
InpKillSwitchfalseKill switch (closes-all on tick)
InpRiskPercent0.7Risk per trade (% of effective capital)
InpFixedLot0.01Fixed lot fallback (used when Risk%<=0)
InpDailyLossLimitPercent5.0Daily loss limit (% of effective capital)
InpWeeklyLossLimitPercent10.0Weekly loss limit (% of effective capital)
InpMaxConcurrent1Max concurrent positions (this EA+symbol)
InpCapitalCapAmount0.0Capital cap amount ($ REAL MONEY equity)
InpCapitalCapFloor50.0Floor below which new entries are blocked ($)
InpUseBreakoutConfirmtrueRequire close>prevHigh (long) / close<prevLow (short)
InpHTFConfirmtrueConfirm trend with HTF EMA(50>200)
InpMinADX20.0Minimum ADX main (trend strength)
InpMinRR1.3Minimum reward:risk for entry (TP ATR multiplier)
InpATRPeriod14ATR period (SL/trail)
InpATRMultiplier1.5ATR SL multiplier
InpEnablePyramidfalseEnable pyramiding (default OFF)
كود المصدر (.mq5)Open Source
Pipsgrowth_com_EX10007.mq5
#property copyright "Pipsgrowth.com"
#property link      "https://pipsgrowth.com"
#property version   "2.00"
#property strict
#property description "Pipsgrowth.com EX10007 XAU Scalper Pro — EMA trend + RSI cross pullback scalper, full 12-layer stack."

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

//--- Non-operator tunables (kept as #define to keep input count <= 22) ---//
#define DEF_FAST_EMA_PERIOD       50         // Fast EMA period (matches source thesis)
#define DEF_SLOW_EMA_PERIOD       200        // Slow EMA period (matches source thesis)
#define DEF_RSI_PERIOD            14         // RSI period
#define DEF_RSI_MID               50.0       // RSI bull/bear mid-line
#define DEF_MIN_EMA_SLOPE_POINTS  10.0       // FastEMA slope min (points, source default)
#define DEF_MIN_EMA_DIST_ATR      0.5        // |FastEMA-SlowEMA| >= k*ATR
#define DEF_MIN_ATR_SPREAD_RATIO  3.5        // ATR(points)/Spread >= k
#define DEF_BB_PERIOD             20         // BB period
#define DEF_BB_DEVIATION          2.0        // BB deviation
#define DEF_ATR_PCT_LOOKBACK      50         // ATR-percentile lookback
#define DEF_ATR_PCT_LO            15         // ATR percentile min (dead-vol filter)
#define DEF_ATR_PCT_HI            95         // ATR percentile max (spike filter)
#define DEF_BBW_PCT_LO            10         // BB-width percentile min
#define DEF_HTF_TF                PERIOD_M15 // HTF trend timeframe (source default)
#define DEF_VOL_LOOKBACK          20         // Tick-volume rolling average
#define DEF_VOL_MIN_RATIO         0.8        // Min vol vs rolling-MA ratio
#define DEF_SESSION_START         7          // London/NY session start hour (server)
#define DEF_SESSION_END           17         // Session end hour (server, source default)
#define DEF_NEWS_START_HOUR       12         // Soft news-blackout start
#define DEF_NEWS_END_HOUR         14         // Soft news-blackout end
#define DEF_MAX_BARS_IN_TRADE     240        // Max bars in trade (time exit)
#define DEF_BE_TRIGGER_R          1.0        // Break-even trigger (R multiples)
#define DEF_BE_OFFSET_POINTS      15         // BE lock offset (points, source default)
#define DEF_PARTIAL_FRAC          0.5        // Partial TP fraction
#define DEF_PARTIAL_R             1.0        // Partial TP trigger (R multiples)
#define DEF_TRAIL_START_R         1.0        // Trail activation (R multiples)
#define DEF_TRAIL_ATR_MULT        1.0        // ATR trail multiplier (source default)
#define DEF_TP_ATR_MULT           1.3        // TP ATR multiplier (source default)
#define DEF_COOLDOWN_BARS         3          // Bars cooldown after consecutive losses (15 min @M5)
#define DEF_COOLDOWN_LOSSES       3          // Consecutive losses to trigger cooldown
#define DEF_MAX_PYRAMID           3          // Max pyramid levels (hard cap)
#define DEF_PYRAMID_SPACING_ATR   1.5        // Pyramid spacing (ATR multiples)
#define DEF_MAX_SPREAD_POINTS     60         // Max spread (points, source default for XAU raw)
#define DEF_DEVIATION_POINTS      40         // Order send deviation (points, source default)
#define DEF_MAX_SYMBOL_EXPOSURE   3          // Max positions per symbol (this EA)
#define DEF_MIN_ATR_TO_SPREAD     3.5        // alias - same as DEF_MIN_ATR_SPREAD_RATIO

//--- Input Groups --------------------------------------------------//
input group "=== Identity ==="
input long               InpMagic           = 22210007;                            // Magic number
input string             InpTradeComment    = "Psgrowth.com Expert_10007";        // Trade comment
input bool               InpDryRun          = true;                               // Dry-run (no live sends)
input bool               InpKillSwitch      = false;                              // Kill switch (closes-all on tick)

input group "=== Risk & Sizing ==="
input double             InpRiskPercent     = 0.7;        // Risk per trade (% of effective capital)
input double             InpFixedLot        = 0.01;       // Fixed lot fallback (used when Risk%<=0)
input double             InpDailyLossLimitPercent  = 5.0;  // Daily loss limit (% of effective capital)

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

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

الوسوم:ex10007momentum-scalperpipsgrowthfreemt5xauusd

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

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

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

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

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

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

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

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