Pipsgrowth EX14005 Scalper — إكسبرت أدفايزر إكسبرت أدفايزر
إكسبرت أدفايزر MT5 مفتوح المصدر · XAUUSD · M5
Pipsgrowth EX14005 Scalper — XAUUSD scalper using Fast/Slow MA crossover with RSI, ATR, Bollinger Bands, Stochastic, MACD, and volume multi- confirma. إكسبرت أدفايزر MT5 مفتوح المصدر.
نظرة عامة
EX14005 هو مستشار خبير متعدد التأكيدات لزوج XAUUSD، تقوم منطقته على كومة من ثمانية مؤشرات تصوّت ضد عتبة تكيّفية عند كل شمعة جديدة من الإطار الزمني المضبوط. يبني كود MQL5 أربع مقابض إلزامية في OnInit — المتوسط المتحرك الأسي السريع بطول 8، والمتوسط المتحرك الأسي البطيء بطول 21، ومؤشر RSI بطول 14، ومؤشر ATR بطول 14 — ويضيف أربعة مقابض إضافية فقط حين تكون علامات التفعيل المقابلة لها صحيحة: بولنجر باندز(20، 2.0)، وستوكاستيك(14، 3، 3)، وماكد(12، 26، 9)، وحجم التداول بنمط VOLUME_TICK على نافذة 20 شمعة. يُعدّ كائن CTrade من مكتبة Trade.mqh بالرقم السحري 22214005، وانحراف 30 نقطة، ووضع تعبئة ORDER_FILLING_FOK قبل طلب أي من المقابض، ويُعاد استخدام نسخة CTrade واحدة لمسارَي الإغلاق الجزئي والتعديل عبر ثلاث دوال مساعدة لإعادة المحاولة (TryClose_EX14005 وTryClosePartial_EX14005 وTryModify_EX14005) تحلّق ثلاث مرات عند رد REQUOTE أو TIMEOUT أو PRICE_OFF أو PRICE_CHANGED مع نوم 200 مللي ثانية — بينما TryModify_EX14005 لا يعيد المحاولة سوى على REQUOTE وTIMEOUT فقط دون تغير السعر. تشغّل ValidateInputs فحصاً تمهيدياً صارماً: يجب أن تكون نسبة المخاطرة في الفترة (0، 5]، ووقف الخسارة بين 50 و1000 نقطة، وجني الأرباح بين 50 و2000 نقطة، والحد الأقصى للصفقات بين 1 و10، وإلا يرفض المستشار البدء بكود INIT_PARAMETERS_INCORRECT.
محرك الإشارة في GetTradingSignal هو نظام تصويت من سبعة مصادر. التصويت الأول هو تقاطع المتوسطين: إشارة شراء تُفعَّل حين يكون المتوسط السريع[0] أكبر من البطيء[0] والمتسع السريع[1] أقل أو يساوي البطيء[1] — تأكيد تقاطع على شمعتين لا على شمعة واحدة فقط — وإشارة بيع هي المرآة. يضيف المسار الثاني المعتمد على المتوسطات صوتاً إضافياً حين يكون السعر فوق المتوسط البطيء مع صعود السريع، أو تحته مع هبوطه، ليتمكن المستشار من تسجيل انحياز اتجاهي حتى لو فاته التقاطع الصارم في هذه الشمعة. المصدر الثالث هو شمعة الإطار 1: إغلاق[1] أكبر من افتتاح[1] تصوّت للشراء، وإغلاق[1] أقل من افتتاح[1] تصوّت للبيع. المصدر الرابع هو RSI(14): إشارة شراء تحتاج RSI[0] أقل من 65 (ليس في تشبع شرائي) أو RSI[0] أقل من inp_RSI_Oversold (افتراضياً 30)، وإشارة بيع تحتاج RSI[0] أكبر من 35 (ليس في تشبع بيعي) أو RSI[0] أكبر من inp_RSI_Overbought (افتراضياً 70) — كل من القراءة المحايدة والقراءة المتطرفة تساهمان بصوت واحد فقط، فلا يحصل المستشار على صوتين من RSI في الشمعة نفسها. الأصوات الثلاثة الباقية تأتي من GetBollingerBandsConfirmation وGetStochasticConfirmation وGetMACDConfirmation، كل منها يُرجع +1 أو 0 أو -1 بحسب ما إذا كان السعر يخرج من البولينجر، أو الستوكاستيك يتقاطع داخل نطاق ذروة الشراء/البيع التكيّفي، أو خط ماكد الرئيسي يتقاطع مع خط الإشارة. ثم تُجري GetVolumeConfirmation حقّاً مستقلاً: تقارن حجم التداول الحالي بمتوسط 20 شمعة، فإذا كانت النسبة أقل من 0.3 (حجم منخفض جداً) فإنها تصفر كلاً من عدّادَي تأكيدات الشراء والبيع، وتُلغي كل الأصوات الأخرى — المستشار لن يفتح صفقة في سوق ميت حتى لو اتفقت ستة مرشحات أخرى.
عدد التأكيدات المطلوبة ليس ثابتاً — يُحسب في GetAdaptiveSignalStrength الذي يقرأ حالة السوق الحالية من مصنّف من خمس حالات تُحدَّث في UpdateMarketCondition. يقارن المصنّف قيمة ATR(14) الحالية بمتوسط ATR لثلاث شموع، وبفارق المتوسطين السريع والبطيء مقارنة بنطاق الأعلى-الأدنى للشمعة السابقة، ويُسند إحدى الحالات: MARKET_VOLATILE حين يكون ATR أكبر من 1.5 مرة المتوسط، أو MARKET_QUIET حين يكون أقل من 0.7 مرة المتوسط، أو MARKET_TRENDING_UP أو MARKET_TRENDING_DOWN حين تكون نسبة الاتجاه أكبر من 0.3 مع إشارة المتوسط، أو MARKET_RANGING كقيمة افتراضية. بعد ذلك تأخذ GetAdaptiveSignalSensitivity القيمة الأساسية لـ inp_SignalSensitivity — 1 للحساسية العالية، 2 للمتوسطة، 3 للمنخفضة — وتعدّلها: +1 في الأسواق المتقلبة (تحتاج أصواتاً أكثر للإطلاق)، و-1 في الأسواق الهادئة أو ذات الاتجاه (تحتاج أصواتاً أقل)، وبدون تغيير في الأسواق العرضية. النتيجة هي العتبة التي تُقارَن بها مجاميع buyConfirmations وsellConfirmations، فيتغير معدّل الإصابة والتكرار بحسب النظام المرصود دون أي تعديل للمعاملات من المستخدم.
تذهب الصفقة التي تجتاز بوابة الإشارة إلى OpenPosition التي تستدعي CalculateLotSize. حين تكون inp_FixedLotSize صفراً (الافتراضي)، يُشتق حجم اللوت من رصيد الحساب مضروباً في inp_RiskPercent (افتراضياً 1.5%) مقسوماً على نقاط وقف الخسارة مضروبة في قيمة النقطة للرمز، ثم يُقرّب إلى درجة حجم الوسيط ويُقصّ بين الحد الأدنى والأعلى. إذا كانت inp_UseMartingale صحيحة وg_ConsecutiveLosses موجبة، يُضرب مبلغ المخاطرة في inp_MartingaleMultiplier^losses (افتراضياً 1.5) ويُحدّ بـ 10% من الرصيد. يُمرَّر وقف الخسارة وجني الأرباح إلى g_Trade.PositionOpen كأوامر صلبة على جانب الوسيط: SL يساوي 150 نقطة (1.50 على XAUUSD العشري الثاني)، وTP يساوي 300 نقطة (3.00)، مما يعطي نسبة مخاطرة إلى عائد قدرها 1:2. تُوسم الصفقة بعد ذلك بالتعليق Psgrowth.com Expert_14005. لا تنطلق الصفقة إلا حين ترجع CanOpenNewPosition صحيحاً، وهو ما يتطلب أن يكون CountPositions (تكرار مفلتر بالرقم السحري والرمز على PositionsTotal) أقل من inp_MaxTrades (افتراضياً 2)، وأن يكون TerminalInfoInteger(TERMINAL_TRADE_ALLOWED) مضبوطاً، وأن يكون الرمز قابلاً للتداول.
تشتغل ManagePositions عند كل شمعة جديدة على كل صفقة مطابقة وتربط ثلاث طبقات إدارية. تحسب ApplyPartialClose هدف نصف جني الأرباح على أنه inp_TakeProfit × 0.5 (150 نقطة)، ومتى بلغ ربح الصفقة بالنقاط هذا الهدف تُغلق inp_PartialClosePercent من الحجم (افتراضياً 50%) عبر TryClosePartial_EX14005. تنتظر ApplyBreakEven حتى يبلغ الربح inp_BreakEvenPoints على الأقل (افتراضياً 100 نقطة) ثم تستدعي TryModify_EX14005 لتحريك وقف الخسارة إلى سعر الدخول، فتقفل الصفقة عند خطر صفري. لا تُفعَّل ApplyTrailingStop إلا بعد أن تكون الصفقة رابحة بمقدار inp_TrailingStop على الأقل (افتراضياً 100 نقطة)، وتشدّ وقف الخسارة بزيادات inp_TrailingStep (افتراضياً 20 نقطة) — يجب أن يكون وقف الخسارة الجديد أعلى بـ 20 نقطة على الأقل من السابق لتُطلَق، وهذا يمنع التذبذب عند كل تيكة. اتجاه التريلينج واعٍ للاتجاه: للشراء، وقف الخسارة الجديد هو Bid ناقص 100 نقطة؛ للبيع، وقف الخسارة الجديد هو Ask زائد 100 نقطة. الطبقات الثلاث مترابطة بسلاسة لأن كل طبقة محروسة بعلامة تفعيل خاصة بها، فيمكن للمستخدم تعطيل الإغلاق الجزئي أو التعادل دون كسر التريلينج.
بوابة السوق التي تقف أمام كل فحص إشارة هي IsMarketConditionsSuitable، التي تجمع خمسة فحوصات فرعية. ترفض IsSpreadAcceptable الشموع التي يكون فيها SymbolInfoInteger(_Symbol, SYMBOL_SPREAD) أعلى من inp_MaxSpread (افتراضياً 50 نقطة = 5 نقاط على الذهب العشري الخامس). ترفض IsVolatilityAcceptable الشموع التي يكون فيها ATR(14) خارج نافذة [inp_MinATR, inp_MaxATR] (افتراضياً من 0.5 إلى 15.0 دولار XAUUSD) — الحد الأدنى يصفّي الشموع الهادئة منخفضة الحافة، والحد الأعلى يصفّي قفزات الأخبار حيث السبريد عريض والانزلاق مرجح. تطبّق IsTradingTime فلتر الجلسات بتوقيت الخادم لا بتوقيت GMT: لندن من 8 إلى 17، نيويورك من 13 إلى 22، آسيا من 1 إلى 7، وعلامات التفعيل الثلاث inp_TradeLondonSession وinp_TradeNewYorkSession وinp_TradeAsianSession تقرر أياً من هذه النوافذ مسموح بها. الإعداد الافتراضي — لندن مفعّلة، نيويورك مفعّلة، آسيا معطّلة — يجعل المستشار نشطاً خلال معظم أيام الأسبوع القابلة للتداول باستثناء النطاق الآسيوي. تحجب IsTradingTime أيضاً ساعة التجديد (23:00 إلى 00:00) والجمعة بعد 21:00. تحسب IsDrawdownAcceptable (الرصيد - Equity) / الرصيد × 100 وتحظر الدخول الجديدة حين يتجاوز inp_MaxDrawdown (افتراضياً 15%). تعمل IsNewsTime حين تكون inp_AvoidNews صحيحة على حظر الدخول في أول جمعة من كل شهر بين 12:00 و16:00 بتوقيت الخادم، وهي صياغة مبسّطة لإصدار تقرير NFP الأمريكي — لاحظ أن inp_AvoidNews خاطئة افتراضياً، لذا فلتر الأخبار خامد ما لم يفعّله المستخدم. تُحدّث OnTradeTransaction بعد ذلك g_ConsecutiveLosses بتفتيش HistoryDealGetDouble(trans.deal, DEAL_PROFIT) كلما أُغلقت صفقة بالرقم السحري للمستشار، فتزيده عند الخسارة وتصفّره عند الربح، وهو المدخل الذي يقرأه مسار sizing المعتمد على المضاعفة.
ما يمكن توقّعه عملياً: هذا مستشار متعدد التأكيدات بأفق قصير، وليس شبكة مع مضاعفة افتراضية، لكن المصدر يحمل نفس بصمة التوليد الكود كبقية بنات عائلة EX14 الأخيرة — دوالا MapTimeframeInt وMapAppliedPriceInt مكررتان ست مرات في كل قسم من أقسام المدخلات، وثابت EA_NAME يجاور نفس السلاسل النصية الثابتة كأشقائه. يطوي المُترجم المكرر بسلاسة، لكن التكرار يُلمِح إلى أن هذا مستشار مبنيّ بقالب وليس مضبوطاً يدوياً. الإعداد الافتراضي للإطار الزمني inp_Timeframe = 4 يؤول عبر MapTimeframeInt إلى PERIOD_M30 رغم أن ترويسة الملف تعلن M5، لذا ينبغي على النشر الحي التحقق من أن فترة الشمعة تطابق الإيقاع المطلوب. على تيكة ذهبية نموذجية بمخاطرة 1.5%، تربح الصفقة الواحدة نحو 4.5% من مسافة وقف الخسارة بمضاعفات R عند نسبة 1:2؛ تعني طبقة الإغلاق الجزئي عند 50% من TP أن المستشار يحقق نحو نصف ربح الهدف نقداً ويترك النصف الباقي يركض حتى وقف التريلينج، وهو حل وسط شائع بين قفل الربح وإعطاء الصفقة مجالاً للتمدّد. الحد الأدنى الموصى به للرصيد هو 100 دولار موثّق — لا يفرض المستشار حداً أدنى في OnInit — لكن التوقع الواقعي لمنطق التريلينج ليؤدّي عملاً مفيداً أقرب إلى 1,000 دولار على وسيط سبريد أقل من 30 نقطة، لأن معاملات 100/20 للتريلينج لن تُشغّل بشكل مفيد على حسابات السنت حيث الحركة المطلقة بالنقاط صغيرة نسبةً لتكاليف السبريد.
تفاصيل الاستراتيجية
يبني EX14005 ثمانية مقابض مؤشرات في OnInit — متوسط أسي سريع(8)، ومتوسط أسي بطيء(21)، وRSI(14)، وATR(14)، إضافة إلى بولنجر باندز(20، 2.0) وستوكاستيك(14، 3، 3) وماكد(12، 26، 9) وحجم التداول الاختياري — وفي كل شمعة جديدة من الإطار الزمني المختار يسحب 10 شموع من كل مؤشر إلى المخازن المخصّصة عبر CopyBuffer. يصنّف UpdateMarketCondition الشمعة بعد ذلك في إحدى الحالات الخمس (TRENDING_UP أو TRENDING_DOWN أو RANGING أو VOLATILE أو QUIET) باستخدام نسبة ATR إلى متوسط 3 شموع وفارق المتوسطين السريع والبطيء مقارنة بنطاق الشمعة السابقة. تُجمّع GetTradingSignal سبعة مصادر تصويت — تقاطع المتوسطين، واتجاه المتوسطات، واتجاه الشمعة، وموقع RSI، وموقع بولنجر، وتقاطع الستوكاستيك التكيّفي، وتقاطع ماكد — في عدّادَي تأكيدات شراء وبيع، ثم إما تضيف GetVolumeConfirmation صوتاً (نسبة أكبر من 1.2) أو تلغي الإشارة بأكملها (نسبة أقل من 0.3) أو تبقى محايدة، وبعد ذلك تُقارن العدّادات بـ GetAdaptiveSignalStrength التي تعدّل قيمة inp_SignalSensitivity الأساسية (1 إلى 3) بـ ±1 بحسب حالة السوق. تسلسّل OnTick بعدها IsMarketConditionsSuitable (السبريد والجلسة ونطاق ATR والانخفاض والأخبار) ← ManagePositions (إغلاق جزئي وتعادل وتريلينج على كل صفقة مطابقة للرقم السحري 22214005) ← CanOpenNewPosition ← OpenPosition التي تستدعي CalculateLotSize لحساب حجم المخاطرة 1.5% مع مضاعفة مارتينجال اختيارية (1.5x لكل خسارة متتالية محددة بـ 10% من الرصيد) وتمرّر الأمر عبر g_Trade.PositionOpen بوقف خسارة صلب 150 نقطة وجني أرباح 300 نقطة. تمرّ كل مسارات التعديل والإغلاق الجزئي عبر TryModify_EX14005 وTryClosePartial_EX14005 اللتين تعيدان المحاولة ثلاث مرات عند رد REQUOTE أو TIMEOUT أو PRICE_OFF أو PRICE_CHANGED.
تتطلب صفقة الشراء تقاطع المتوسط الأسي السريع(8) فوق البطيء(21) على شمعتين (السريع[0] أكبر من البطيء[0] والسريع[1] أقل أو يساوي البطيء[1])، مع تأكيد RSI(14) ببقائه دون 65 أو في منطقة تشبع بيعي دون 30، وأن يلبي مجموع أصوات الشراء من انحياز المتوسطات واتجاه الشمعة وبولينجر وستوكاستيك وماكد والحجم العتبة التكيّفية التي تُرجعها GetAdaptiveSignalStrength — صوت واحد في الأسواق الهادئة أو ذات الاتجاه، وصوتان في الأسواق العرضية، وثلاثة أصوات في الأسواق المتقلبة. حقّ الحجم: إذا كان حجم التداول الحالي أقل من 30% من متوسط 20 شمعة، يُصفر كل من عدّادَي الشراء والبيع ولا تنطلق أي صفقة. صفقة البيع هي المرآة، مع شمعة هابطة (إغلاق[1] أقل من افتتاح[1]) وأصوات بولنجر وستوكاستيك وماكد مقلوبة إلى السالب.
تدير ثلاث طبقات إدارية كل شمعة جديدة عبر ManagePositions. تُغلق ApplyPartialClose نصف حجم الصفقة متى بلغ الربح 50% من هدف جني الأرباح (150 نقطة من TP قدره 300 نقطة). تنقل ApplyBreakEven وقف الخسارة إلى سعر الدخول متى تجاوز الربح 100 نقطة. تشدّ ApplyTrailingStop بعدها الوقف بزيادات 20 نقطة متى تجاوز الربح 100 نقطة فوق الوقف الحالي (أو فوق الدخول إن لم تنطلق التعادل). تمرّ كل استدعاءات التعديل والإغلاق الجزئي عبر TryModify_EX14005 وTryClosePartial_EX14005 اللتين تعيدان المحاولة ثلاث مرات على رد REQUOTE أو TIMEOUT أو PRICE_OFF أو PRICE_CHANGED مع نوم 200 مللي ثانية. لا يوجد خروج قائم على الوقت ولا خروج عند إشارة عكسية — المسار الوحيد لإغلاق الصفقة هو جني الأرباح من جانب الوسيط، أو الإغلاق الجزئي، أو وقف التعادل، أو وقف التريلينج.
يُرفق بوقف خسارة صلب من جانب الوسيط قدره 150 نقطة (1.50 على XAUUSD العشري الثاني) بكل أمر عند الفتح عبر g_Trade.PositionOpen. متى بلغ الربح 100 نقطة، تنقل ApplyBreakEven وقف الخسارة إلى سعر الدخول (خطر صفري). تشدّ ApplyTrailingStop بعدها وقف الخسارة بزيادات 20 نقطة مع امتداد الربح. بوابة الانخفاض العام عند 15% عبر IsDrawdownAcceptable تحظر الدخول الجديدة فقط — ولا تسوّي المراكز المفتوحة.
جني الأرباح هو 300 نقطة (3.00 على XAUUSD العشري الثاني) مضبوط كجني أرباح صلب من جانب الوسيط عند فتح الأمر، مما يعطي نسبة مخاطرة إلى عائد قدرها 1:2 مقابل وقف الخسارة البالغ 150 نقطة. إضافة إلى ذلك، تحقق ApplyPartialClose نصف حجم الصفقة نقداً متى بلغ الربح 150 نقطة (50% من هدف جني الأرباح)، ففي الصفقة الرابحة النموذجية يحوّل المستشار نحو نصف الـ TP إلى ربح محقق ويترك الباقي يركض حتى وقف التريلينج أو الـ TP الكامل، أيهما يُطلَق أولاً.
الحد الأدنى الموصى به للرصيد هو 100 دولار موثّق (لا يفرض المستشار حداً أدنى في OnInit)، لكن الرصيد العملي الواقعي لمنطق التريلينج ليُشغّل بشكل مفيد هو 1,000 دولار أو أكثر، لأن معاملات التريلينج 100/20 تحتاج حركة حقيقية بالنقاط لتشدّ. الإطار الزمني الافتراضي هو M30 (يُستنتج من inp_Timeframe=4 عبر MapTimeframeInt، لا M5 الذي تعلنه ترويسة الملف)، وبوابة الحد الأقصى للسبريد 50 نقطة (5 نقاط على العشري الخامس)، وفلتر الجلسة افتراضياً لندن 8-17 بتوقيت الخادم ونيويورك 13-22 بتوقيت الخادم، مع تعطيل آسيا وما بعد 21:00 يوم الجمعة — لذا يُضبط المستشار لمتداول ذهب يعمل على وسيط ECN أو RAW بسبريد نموذجي دون 30 نقطة خلال تداخل لندن ونيويورك، ويرغب في دخول مبنيّ على تراكم التأكيدات (نموذجياً 2-3 أصوات مُحققة من 7 مصادر ممكنة) بدل إشارات التقاطع الأحادي، ويكون مرتاحاً مع المخاطرة الافتراضية 1.5% لكل صفقة إضافة إلى خيار مضاعفة مارتينجال 1.5x.
منطق الاستراتيجية
Pipsgrowth EX14005 Scalper — تحليل منطق الاستراتيجية (من كود .mq5)
العائلة: Scalper
الماجيك: 22214005
الإصدار: 2.00
الوصف:
XAUUSD scalper using Fast/Slow MA crossover with RSI, ATR, Bollinger Bands, Stochastic, MACD, and volume multi- confirmation filters. Includes session filtering, partial profit taking, break-even, trailing stops, and drawdown control
المؤشرات:
- مؤشرات قياسية
الدوال الرئيسية:
ValidateInputs()InitializeIndicators()IsNewBar()UpdateIndicators()IsMarketConditionsSuitable()IsSpreadAcceptable()IsTradingTime()IsVolatilityAcceptable()IsDrawdownAcceptable()IsNewsTime()
// Pipsgrowth EX14005 Scalper — Execution Flow (from source analysis)
// Family: Scalper
// XAUUSD scalper using Fast/Slow MA crossover with RSI, ATR, Bollinger Bands, Stochastic, MACD, and volume multi- confirmation filters. Includes session filtering, partial profit taking, break-even, trailing stops, and drawdown control
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)ملف التحسين
كيفية تثبيت الإكسبرت على MT5
- 1حمّل ملف .mq5 بالضغط على زر التحميل أعلاه
- 2افتح برنامج MetaTrader 5 على حاسوبك
- 3من القائمة العلوية اختر File → Open Data Folder
- 4انتقل إلى مجلد MQL5 → Experts والصق الملف هناك
- 5في MT5، انقر بالزر الأيمن على Expert Advisors في لوحة Navigator → Refresh
- 6اسحب الإكسبرت من Navigator وأفلته على أي رسم بياني (يُنصح بـ M1 أو M5)
- 7في نافذة الإعدادات، فعّل Allow Algo Trading وحدد حجم اللوت
- 8اضغط OK — سيبدأ الإكسبرت بالتداول تلقائياً
معاملات الإكسبرت
| المعامل | الافتراضي | الوصف |
|---|---|---|
| inp_Timeframe | 4 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Scalping Timeframe |
| inp_FastMA | 8 | Fast Moving Average Period |
| inp_SlowMA | 21 | Slow Moving Average Period |
| inp_RSI_Period | 14 | RSI Period |
| inp_RSI_Oversold | 30.0 | RSI Oversold Level |
| inp_RSI_Overbought | 70.0 | RSI Overbought Level |
| inp_ATR_Period | 14 | ATR Period for Volatility |
| inp_RiskPercent | 1.5 | Risk Percentage per Trade (1-3%) |
| inp_FixedLotSize | 0.0 | Fixed Lot Size (0 = Auto Calculation) |
| inp_StopLoss | 150 | Stop Loss (points) |
| inp_TakeProfit | 300 | Take Profit (points) |
| inp_TrailingStop | 100 | Trailing Stop (points) |
| inp_TrailingStep | 20 | Trailing Step (points) |
| inp_MaxTrades | 2 | Maximum Concurrent Trades |
| inp_MaxDrawdown | 15.0 | Maximum Drawdown Percentage |
| inp_MaxSpread | 50 | Maximum Spread (points) |
| inp_MinATR | 0.5 | Minimum ATR for Trading (XAUUSD dollars) |
| inp_MaxATR | 15.0 | Maximum ATR for Trading (XAUUSD dollars) |
| inp_TradeLondonSession | true | Trade London Session |
| inp_TradeNewYorkSession | true | Trade New York Session |
| inp_TradeAsianSession | false | Trade Asian Session |
| inp_AvoidNews | false | Avoid News Trading (disabled for testing) |
| inp_UseVolumeFilter | true | Use Volume Confirmation |
| inp_UseBollingerBands | true | Use Bollinger Bands Filter |
| inp_UseStochastic | true | Use Stochastic Filter |
| inp_UseMACDFilter | true | Use MACD Filter |
| inp_UseAdaptiveFilters | true | Use Adaptive Market Condition Filters |
| inp_SignalSensitivity | 1 | Signal Sensitivity (1=High, 2=Medium, 3=Low) |
| inp_VolumePeriod | 20 | Volume Average Period |
| inp_BBPeriod | 20 | Bollinger Bands Period |
| inp_BBDeviation | 2.0 | Bollinger Bands Deviation |
| inp_StochKPeriod | 14 | Stochastic %K Period |
| inp_StochDPeriod | 3 | Stochastic %D Period |
| inp_StochSlowing | 3 | Stochastic Slowing |
| inp_MACDFast | 12 | MACD Fast EMA |
| inp_MACDSlow | 26 | MACD Slow EMA |
| inp_MACDSignal | 9 | MACD Signal Line |
| inp_UsePartialClose | true | Use Partial Profit Taking |
| inp_PartialClosePercent | 50.0 | Partial Close Percentage |
| inp_UseBreakEven | true | Use Break Even |
| inp_BreakEvenPoints | 100 | Break Even Points |
| inp_UseMartingale | false | Use Martingale (Risky) |
| inp_MartingaleMultiplier | 1.5 | Martingale Multiplier |
| InpMagicNumber | 22214005 | Magic Number (222xxx) |
| InpTradeComment | "Psgrowth.com Expert_14005" | Trade comment |
#property copyright "Pipsgrowth.com"
#property link "https://pipsgrowth.com"
#property version "2.00"
#property strict
#property description "Pipsgrowth.com EX14005 XAUUSD Scalper — multi-filter gold scalper, full 12-layer stack."
// Include necessary libraries
#include <Trade/Trade.mqh>
#include <Trade/PositionInfo.mqh>
#include <Trade/OrderInfo.mqh>
#include <Trade/AccountInfo.mqh>
//+------------------------------------------------------------------+
//| Input Parameters - Trading Strategy |
//+------------------------------------------------------------------+
ENUM_TIMEFRAMES MapTimeframeInt(int tf)
{
switch(tf)
{
case 1: return PERIOD_M1;
case 2: return PERIOD_M5;
case 3: return PERIOD_M15;
case 4: return PERIOD_M30;
case 5: return PERIOD_H1;
case 6: return PERIOD_H4;
case 7: return PERIOD_D1;
default: return PERIOD_H1;
}
}
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_TIMEFRAMES g_inp_Timeframe = PERIOD_H1;
input group "=== Trading Strategy ==="
input int inp_Timeframe = 4; // Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Scalping Timeframe
input int inp_FastMA = 8; // Fast Moving Average Period
input int inp_SlowMA = 21; // Slow Moving Average Period
input int inp_RSI_Period = 14; // RSI Period
input double inp_RSI_Oversold = 30.0; // RSI Oversold Level
input double inp_RSI_Overbought = 70.0; // RSI Overbought Level
input int inp_ATR_Period = 14; // ATR Period for Volatility
ENUM_TIMEFRAMES MapTimeframeInt(int tf)
{
switch(tf)
{
case 1: return PERIOD_M1;
case 2: return PERIOD_M5;الكود المصدري الكامل متاح عند التحميل
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.
تحذير صريح: لأغراض تعليمية فقط
تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.
وسطاء موصى بهم لهذا الإكسبرت
هذه الروبوتات تعمل على MT5 — استخدم وسيطاً موثوقاً بتنفيذ سريع وسبريد منخفض
إكسبرتات مشابهة
عرض جميع الإكسبرتاتإكسبرتات أخرى بنفس استراتيجية سكالبينج
Pipsgrowth EX14020 Scalper — إكسبرت أدفايزر إكسبرت أدفايزر
Pipsgrowth EX14020 Scalper — AI-assisted XAUUSD scalper using a multi-filter signal scoring system combining RSI, MACD, EMA50/200 and ATR. Entry trig. إكسبرت أدفايزر MT5 مفتوح المصدر.
Pipsgrowth EX10006 Momentum-Scalper — إكسبرت أدفايزر إكسبرت أدفايزر
Pipsgrowth EX10006 Momentum-Scalper — USDJPY M1 pullback scalp — fast EMA above slow EMA (uptrend), then a micro dip toward the pullback EMA, with bar-1 close. إكسبرت أدفايزر MT5 مفتوح المصدر.
Pipsgrowth EX14021 Scalper — إكسبرت أدفايزر إكسبرت أدفايزر
Pipsgrowth EX14021 Scalper — EURUSD scalper using Bollinger Bands + MACD divergence. Entry triggers on BB band touch confirmed by MACD crossover. إكسبرت أدفايزر MT5 مفتوح المصدر.
مجتمع المستخدمين
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.