Pipsgrowth EX15014 SMC-OrderBlock — إكسبرت أدفايزر إكسبرت أدفايزر
إكسبرت أدفايزر MT5 مفتوح المصدر · XAUUSD · M5
Pipsgrowth EX15014 SMC-OrderBlock — Liquidity-trap scalper that detects swing-based liquidity zones, price surges and volume spikes, then enters on pin-bar . إكسبرت أدفايزر MT5 مفتوح المصدر.
نظرة عامة
Pipsgrowth EX15014 SMC-OrderBlock هو مستشار خبير متخصص في فخ السيولة، مبني حول فكرة واحدة: عندما يعود السعر إلى منطقة سيولة مبنية على قممة أو قاع، فإن الأوامر المعلقة على الجانب الخاطئ تخلق طاقة كافية لارتداد سريع. لا يحاول EA التنبؤ بالسوق — بل يراقب الشارت، ويرسم المناطق التي تراكمت فيها أوامر الوقف، وينتظر اندفاعاً تأكيدياً للدخول. الزوج والإطار الزمني المقترحان هما XAUUSD على M5، والمُستشار مصمم ليتفاعل مع إعداد واحد لكل شماسة في أغلب الأحيان.
الركيزة الأساسية للاستراتيجية هي محرك اكتشاف القمم والقيعان. عند كل شماسة جديدة على الإطار الزمني للتداول، تستدعي IdentifySwingPoints() الدالتين FindSwingHigh() وFindSwingLow() على مصفوفات القمة والقاع باستخدام SwingBarCount = 1 كقيمة افتراضية — أي أن القمة تُعرَّف بأنها شماسة لها قمة أعلى بشكل صارم من جارتيها (أو قاع أدنى بشكل صارم لجارتها للقيعان). عند العثور على نقطة محورية جديدة وليست مكررة من المسجلة سابقاً، تقوم AddLiquidityZone() بتسجيل السعر في المصفوفة upperLiquidityZone[] أو lowerLiquidityZone[]، وتحفظ وقت الشماسة، وتستدعي MarkLiquidityZone() لرسم خط أفقي متقطع على الشارت (قرمزي للمناطق العلوية، أزرق داكن للقيعان) باستخدام OBJ_HLINE وSTYLE_DASH. عتبة إلغاء التكرار 0.3% (MathAbs(price - zonePrice) / price < 0.003) تمنع إضافة نفس النقطة مرتين إذا كان السعر يتراوح حولها. كل منطقة تبدأ نشطة، وتنتهي صلاحيتها بعد MaxZoneAge = 24 ساعة، وتُنظَّف عبر CleanupInactiveZones() كل أربع ساعات.
بمجرد وجود المناطق، يقيِّمها EA في الشماسة التالية. تتطلب عملية الشراء أن يقع سعر الطلب داخل منطقة سفلية — تحديداً داخل النطاق [zoneLower, zoneLower * 1.01]، وهو عازز بنسبة 1% فوق القاع. تتطلب عملية البيع أن يقع سعر العرض داخل منطقة علوية — [zoneUpper * 0.99, zoneUpper]، وهو عازز بنسبة 1% أسفل القمة. بعد تداول منطقة ما، يتم إلغاء تنشيطها (zoneActive[i] = false)، مما يمنع EA من إعادة الدخول في نفس الفخ.
يمر قرار الدخول عبر بوابة من ستة شروط داخل CheckBuySignals() وCheckSellSignals(). (1) تقيس CheckPriceSurge() شيئين — النسبة المئوية المطلقة للتغير من الافتتاح إلى السعر الحالي عبر آخر 10 شموع، والنسبة المئوية لنطاق الأعلى-الأدنى عبر آخر 5 شموع — وتستخدم الأكبر منهما. العتبة هي PriceSurgePercent * 100، والتي عند الافتراضي 0.001 تعادل 0.1%. هذا حد متساهل جداً؛ على شماسة ذهب مدتها 5 دقائق، الانجراف من الافتتاح إلى الحالي يكاد يتجاوزه دائماً، لذا يعمل هذا كمقياس سلامة أكثر من كونه مرشحاً فعلياً. (2) تحسب IsVolumeSurge() متوسط حجم التداول لـ 20 شماسة، وتُفعَّل عندما تكون الشماسة الحالية على الأقل VolumeSurgeMultiplier = 1.5 مرة من هذا المتوسط — لكن فقط إذا كان RequireVolumeSurge = true، وهذا المُدخل يكون false افتراضياً، لذا يتم تجاوز فحص الحجم افتراضياً. (3) تستشير IsZoneConfirmedByHigherTimeframe() الدالة DetermineTrend() على الإطار H4 الافتراضي (ConfirmationTimeframe = 6 → PERIOD_H4)، التي تُرجع -1/0/+1 من إشارة MA20 مقابل MA50؛ تحتاج الشراءات إلى اتجاه = +1، والبيوعات إلى اتجاه = -1، والاتجاه = 0 يسمح بالصفقة بشكل متساهل. هذه البوابة أيضاً يتم تجاوزها افتراضياً لأن UseHigherTimeframeConfirmation = false. (4) تمشي IsBullishEngulfingPattern() / IsBearishEngulfingPattern() للخلف حتى EngulfingLookback = 3 شموع وتبحث عن شماسة حالية يبتلع جسمها بشكل كامل نطاق جسم الشماسة السابقة المعاكسة — افتتاح الحالي ≤ إغلاق السابق وإغلاق الحالي ≥ افتتاح السابق للشراء، والعكس للبيع. (5) تمشي IsBullishPinBar() / IsBearishPinBar() للخلف حتى PinBarLookback = 3 شموع وتتطلب نسبة الجسم إلى النطاق الكلي PinBarRatio = 0.3 أو أصغر، وظلاً طويلاً لا يقل عن 2× حجم الجسم في اتجاه الرفض، وظلاً قصيراً معاكساً لا يتجاوز 0.5× حجم الجسم. (6) تقرأ IsRSIOversold() / IsRSIOverbought() مؤشر RSI بفترة 14 على الإطار الزمني للتداول، وتُرجع true عندما تكون القيمة ≤ 30 (تشبع بيعي) للشراء أو ≥ 70 (تشبع شرائي) للبيع.
ثلاث من هذه البوابات الست مفعلة افتراضياً — الابتلاع (UseEngulfingPattern = true)، والبن بار (UsePinBarConfirmation = true)، ومؤشر RSI (UseRSIConfirmation = true). بوابتا الاتجاه والحجم اختياريتان. النتيجة واضحة: السلوك الافتراضي للـ EA هو البحث عن اجتياح لمنطقة سيولة يكون مؤكَّداً أيضاً بنمط شمعة انعكاسية وقيمة متذبذب متطرفة. بوابة الاندفاع هي الفحص الوحيد الفعال دائماً، وهي متساهلة لدرجة أنها نادراً ما تمنع أي صفقة.
حساب وقف الخسارة وجني الأرباح ميكانيكي. للشراء بسعر الطلب، stopLoss = zoneLower * (1 - 0.005) — نصف في المئة أسفل المنطقة السفلية — وtakeProfit = currentPrice + (currentPrice - stopLoss) * RewardToRiskRatio. مع RewardToRiskRatio = 2.0 افتراضياً، يكون جني الأرباح الناتج هو بالضبط نسبة 1:2 من المخاطرة إلى المكافأة مقابل وقف حافة المنطقة. تنطبق المنطق المعاكس على البيع: stopLoss = zoneUpper * (1 + 0.005)، وجني الأرباح على بُعد ضعف المخاطرة أسفل الدخول. يُمرَّر كلا المستويين إلى Trade.Buy() / Trade.Sell() كوقف خسارة وجني أرباح على جانب الوسيط، لذا بمجرد تنفيذ الأمر، تصبح إدارة المركز من مسؤولية الوسيط حتى يتفعَّل وقف الخسارة المتحرك.
ApplyTrailingStop() مدمجة في حلقة ManageOpenPositions() لكل تك، لكنها اختيارية: EnableTrailingStop = false افتراضياً. عند تفعيلها، تحسب currentProfit = bid - openPrice للشراء (معكوسة للبيع)، وتعود مبكراً إذا لم يكن المركز في ربح، ثم تضبط trailLevel = currentPrice - (currentProfit * TrailingStopPercent / 100.0). عند TrailingStopPercent = 50.0 افتراضياً، يجلس الوقف في منتصف المسافة من السعر الحالي، مما يعني أن الصفقة تقفل تقريباً نصف الربح المفتوح بمجرد بدء التحرك. لا يُطبَّق الوقف الجديد إلا إذا كان أضيق من الوقف الحالي — دولاب أحادي الاتجاه لا يرتخي أبداً — ويذهب التعديل عبر TryModify_EX15014()، وهي دالة مساعدة بثلاث محاولات تُعيد إصدار التعديل عند TRADE_RETCODE_REQUOTE، وTRADE_RETCODE_TIMEOUT، وTRADE_RETCODE_PRICE_OFF، وTRADE_RETCODE_PRICE_CHANGED مع تأخير 100 مللي ثانية. نفس نمط المحاولة الثلاثية مُنفَّذ في TryClose_EX15014() وTryClosePartial_EX15014() للاكتمال، لكنهما غير مدمجتين في أي مسار إغلاق فعلي في الكود المصدري — تنطبق حالة "المُدخل الميت" على هاتين الدالتين المساعدتين.
تحديد حجم المركز صريح. تتجاهل CalculatePositionSize() معامل stopLossPoints وتُرجع FixedLotSize = 0.01 الثابت افتراضياً، مع تقييدها ضمن حدود الرمز min/max/step عبر NormalizeLotSize(). لا توجد حسابات نسبة مخاطر، ولا تحجيم واعٍ للرصيد، ولا جزء كيلي. يفترض EA أن المتداول يضبط الحجم يدوياً. لحساب 100 دولار، حجم 0.01 لوت يعادل 1% بالقيمة الاسمية برافعة 1:100 و0.1% برافعة 1:1000 — ضمن حدود أي وسيط معقول.
ضوابط المخاطر مُتعدِّدة الطبقات. MaxSpreadPoints = 30 يرفض أي تك يتجاوز سبريده 30 نقطة — يعود EA مبكراً في OnTick() دون حتى استدعاء AnalyzeMarketState(). MaxPositions = 5 يحدد الحد الأقصى لحجم الدفتر المفتوح. MaxConsecutiveLosses = 3 يُفعِّل pauseUntilTime = TimeCurrent() + PauseMinutes * 60 (60 دقيقة) داخل UpdateTradeStatistics()، وبعدها يُختصر OnTick() ويكتفي بتحديث لوحة المعلومات. EnableTimeFilter = false افتراضياً، لكن إذا تم تفعيله، تحلل IsWithinTradingHours() النصين TradingHoursStart = "08:00" وTradingHoursEnd = "20:00" وتمنع الإشارات خارج نافذة وقت الوسيط. AvoidHighImpactNews = true هو المُدخل الأكثر تضليلاً في الملف: دالة IsHighImpactNewsTime() لا تستدعي أي واجهة أخبار. بدلاً من ذلك، عند الاستدعاء الأول، تُعيِّن تاريخاً ووقتاً واحداً مبرمجاً بشكل ثابت في مصفوفة ساكنة (dt.hour = 14; dt.min = 0; ... highImpactNewsTimes[0] = StructToTime(dt)) — حدث أخبار وهمي الساعة 2 مساءً لليوم الحالي — وتختبر القرب من هذا الطابع الزمني الوحيد باستخدام مخازن 30 دقيقة قبل وبعد. الدالة لا تُحدَّث أبداً، ولا تجلب، ولا تحذف الإدخال، لذا فهي فعلياً عملية لا شيء في الاستخدام الحقيقي. اعتبر هذا المُدخل عنصر نائب.
الدوال الـ 39 في الملف تشمل AnalyzeMarketState() (طباعة تذبذب نطاق الأعلى-الأدنى لـ 20 شماسة)، وDetermineTrend() بحلقة إعادة محاولة بـ 5 محاولات بتأخير تدريجي (Sleep(100 * attempts) بين حالات الفشل، بحد أقصى 5 محاولات، ثم تُبطل المقبض ليعيد الإنشاء في الاستدعاء التالي)، وUpdateTradeStatistics() لمحاسبة الربح/الخسارة/الانخفاض، وUpdateDashboard() التي ترسم 11 تسمية على الشارت تغطي الحالة، والتذبذب، والحجم+RR، وعدد المناطق، والصفقات، وعامل الربح (مُلوَّن بالأخضر ≥ 2.0، والأصفر ≥ 1.0، والأحمر أقل)، والإشارة الحالية، والسعر+السبريد، ومسافة القمة/القاع، وحالة وقف الخسارة المتحرك. في OnDeinit()، يتم تحرير جميع مقابض المؤشرات الخمسة، وتقوم ObjectsDeleteAll(0, "EA_") بإزالة لوحة المعلومات وخطوط المناطق في خطوة واحدة.
الدالة المساعدة MapTimeframeInt() مُعرَّفة خمس مرات منفصلة في الكود المصدري — في السطور 34 و57 و81 و112 و139 — كل منها بعبارة switch متطابقة. يقبل المُترجم هذا (التعريفات اللاحقة تلغي السابقة) لكنه يمثل مشكلة في جودة الكود أكثر من كونه خللاً منطقياً، والسلوك الناتج صحيح. إذا قمت بتفريع الملف، ادمج الدالة المساعدة في تعريف واحد.
ما يمكن توقعه على الشارت: سيرسم EA خطوطاً قرمزية متقطعة فوق القمم الأخيرة وخطوطاً زرقاء داكنة متقطعة تحت القيعان الأخيرة. عندما يعود السعر إلى أحد هذه المستويات ويطبع شمعة انعكاسية، سترى خط تمييز، ويتم إطلاق شراء أو بيع عند افتتاح الشماسة التالية، ويغلق وقف الخسارة وجني الأرباح على جانب الوسيط نسبة 1:2. مع إيقاف وقف الخسارة المتحرك، يكون كل صفقة ثنائية — إما تصل إلى جني الأرباح أو إلى وقف الخسارة. مع تفعيل وقف الخسارة المتحرك، فإن الصفقات الرابحة التي تتحرك لصالحك سترى الوقف يتحرك للخلف إلى منتصف المسافة، مقفلاً تقريباً نصف الربح المفتوح. عادةً ما تُظهر اختبارات الظهر على XAUUSD M5 الاستراتيجية تعمل في ساعات النطاق (تداخل لندن-نيويورك هو الأكثر موثوقية) وتكافح في طفرات الأخبار الاتجاهية السريعة. اضبط MaxConsecutiveLosses = 3، وMaxPositions = 5، واترك UseHigherTimeframeConfirmation = false للسلوك الافتراضي؛ مرشح الأخبار، على الرغم من قيمته الافتراضية true، لا يفعل أي شيء فعلياً بدون تقويم أخبار حقيقي.
تفاصيل الاستراتيجية
في كل شماسة جديدة على الإطار الزمني للتداول، تمسح IdentifySwingPoints مصفوفات القمة/القاع بحثاً عن نقاط محورية بثلاث شموع (SwingBarCount = 1) وتسجل كل نقطة محورية جديدة في مصفوفة منطقة سيولة مع عتبة إلغاء تكرار 0.3%، مرسمة خطاً أفقياً متقطعاً على الشارت. عندما يعود السعر إلى عازز المنطقة بنسبة 1%، يعمل قرار من ست بوابات: فحص اندفاع سعري 0.1%، وفحص حجم اختياري لـ 20 شماسة (معطل افتراضياً)، وبوابة اتجاه H4 اختيارية لمؤشري MA20 وMA50 (معطلة افتراضياً)، ونمط ابتلاع صاعد أو هبوطي عبر نظرة خلفية لـ 3 شموع، وبن بار صاعد أو هبوطي (الجسم ≤ 30% من النطاق، ظل الرفض ≥ 2× الجسم)، وقيمة متطرفة لتشبع RSI بفترة 14. يُنفَّذ الأمر بوقف صارم على جانب الخادم بنسبة 0.5% بعد المنطقة ومسافة مكافأة 1:2؛ يُحرِّك وقف الخسارة المتحرك الاختياري بسحب ربح الوقف إلى منتصف المسافة عندما تكون الصفقة في ربح. كل 24 ساعة، تُنقَّى مصفوفة المنطقة، وتُعيد لوحة المعلومات رسم 11 تسمية تغطي الحالة والمناطق وعامل الربح والإشارة الحالية.
تُفعَّل صفقات الشراء عندما يدخل سعر الطلب في النطاق العلوي بنسبة 1% لمنطقة سيولة سفلية مُسجَّلة (مبنية من قاع حديث) ويكون هناك اندفاع سعري بنسبة 0.1% أو أكثر مع نمط ابتلاع صاعد، وبن بار صاعد (الجسم ≤ 30% من النطاق، الظل السفلي ≥ 2× الجسم، الظل العلوي ≤ 0.5× الجسم)، وقراءة RSI بفترة 14 عند 30 أو أقل. صفقات البيع هي الصورة المعاكسة عند المناطق العلوية، وتتطلب ابتلاع هبوطي، وبن بار هبوطي، ومؤشر RSI ≥ 70. مرشحات الحجم والاتجاه على الإطار الأعلى معطلة افتراضياً. تُلغى تنشيط كل منطقة بعد صفقة واحدة.
يتم الخروج من المراكز بواسطة الوسيط عند تفعيل وقف الخسارة أو جني الأرباح على جانبه. يمكن تفعيل دالة ApplyTrailingStop الاختيارية لتحريك الوقف إلى منتصف المسافة من السعر الحالي (TrailingStopPercent = 50.0 افتراضياً) بمجرد أن تكون الصفقة في ربح؛ لا يُطبَّق الوقف الجديد إلا إذا كان أضيق من الحالي، ويُرسَل عبر دالة TryModify_EX15014 المساعدة بثلاث محاولات. لا يوجد خروج مبني على الوقت، ولا إغلاق بناءً على إشارة معاكسة، ولا إغلاق سلة — تبقى الصفقة حتى وقف الخسارة أو جني الأرباح أو إغلاق يدوي.
يُحسب وقف الخسارة لكل صفقة كإزاحة ثابتة بنسبة 0.5% بعد حافة منطقة السيولة — zoneLower * 0.995 للشراء، وzoneUpper * 1.005 للبيع — ويُرسَل إلى الوسيط كوقف صارم على جانب الخادم لحظة تنفيذ الأمر. تستبدله دالة ApplyTrailingStop الاختيارية (معطلة افتراضياً) بأسلوب تتبع للربح بنسبة 50% بمجرد أن يكون المركز في ربح، لكن وقف الخسارة الأولي عند الدخول هو دائماً إزاحة حافة المنطقة.
جني الأرباح هو نسبة مخاطر-مكافأة ثابتة 1:2 مقابل وقف حافة المنطقة، تُحسب كـ entry ± (entry - stopLoss) * RewardToRiskRatio مع القيمة الافتراضية RewardToRiskRatio = 2.0. يُوضع جني الأرباح على جانب الوسيط في تذكرة الأمر، لذا يدير الوسيط جانب الخروج دون تدخل إضافي من EA ما لم يتم تفعيل وقف الخسارة المتحرك.
الحد الأدنى الموصى به للرصيد 100 دولار. يعمل على رمز واحد (XAUUSD) وإطار زمني واحد — يحدد الرأس M5، رغم أن مُدخل Timeframe قابل للتعديل من 1 (M1) إلى 7 (D1). يُشترط وسيط ECN أو RAW بسبريد منخفض حتى يجتاز مرشح السبريد (30 نقطة افتراضياً) على الذهب. أفضل جلسة هي تداخل لندن-نيويورك عندما تتكون مناطق السيولة وتطبع شموع الانعكاس؛ تجنب ساعات الجلسة الآسيوية الرقيقة عندما تكون اختراقات القمم/القيعان الكاذبة شائعة. يفترض حجم اللوت الثابت 0.01 التحجيم اليدوي — زد FixedLotSize بالتناسب مع حجم الحساب إذا أردت الحفاظ على تعرض اسمي مماثل على حساب 1,000 أو 10,000 دولار.
منطق الاستراتيجية
Pipsgrowth EX15014 SMC-OrderBlock — تحليل منطق الاستراتيجية (من كود .mq5)
العائلة: SMC-OrderBlock
الماجيك: 22215014
الإصدار: 2.00
الوصف:
Liquidity-trap scalper that detects swing-based liquidity zones, price surges and volume spikes, then enters on pin-bar / engulfing / RSI confirmation with R:R-based SL/TP and trailing. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester
المؤشرات:
- مؤشرات قياسية
الدوال الرئيسية:
CheckIndicatorHandle()ReleaseIndicatorHandles()AnalyzeMarketState()ManageOpenPositions()NormalizeLotSize()CalculatePositionSize()UpdateTradeStatistics()UpdateLiquidityZones()IdentifySwingPoints()FindSwingHigh()
// Pipsgrowth EX15014 SMC-OrderBlock — Execution Flow (from source analysis)
// Family: SMC-OrderBlock
// Liquidity-trap scalper that detects swing-based liquidity zones, price surges and volume spikes, then enters on pin-bar / engulfing / RSI confirmation with R:R-based SL/TP and trailing. 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)ملف التحسين
كيفية تثبيت الإكسبرت على MT5
- 1حمّل ملف .mq5 بالضغط على زر التحميل أعلاه
- 2افتح برنامج MetaTrader 5 على حاسوبك
- 3من القائمة العلوية اختر File → Open Data Folder
- 4انتقل إلى مجلد MQL5 → Experts والصق الملف هناك
- 5في MT5، انقر بالزر الأيمن على Expert Advisors في لوحة Navigator → Refresh
- 6اسحب الإكسبرت على رسم بياني يطابق الإطار الزمني الموصى به
- 7هيّء المعاملات وفقاً للجدول في هذه الصفحة
- 8فعّل Allow Algo Trading واضغط OK
معاملات الإكسبرت
| المعامل | الافتراضي | الوصف |
|---|---|---|
| MagicNumber | 22215014 | Magic Number |
| InpTradeComment | "Psgrowth.com Expert_15014" | Trade Comment |
| EnableDebug | true | Enable Debug Messages |
| Timeframe | 4 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Trading Timeframe |
| SwingBarCount | 1 | Number of bars for swing detection (smaller value = more swings) |
| MaxZoneAge | 24 | Maximum zone age in hours |
| PriceSurgePercent | 0.001 | Percent of price movement to consider as surge (0.001-0.2 recommended) |
| RequireVolumeSurge | false | Require volume surge with price movement |
| VolumeSurgeMultiplier | 1.5 | Volume threshold as multiplier of average |
| UseHigherTimeframeConfirmation | false | Use higher g_Timeframe for trend confirmation |
| ConfirmationTimeframe | 6 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Higher timeframe for confirmation |
| RequireVolumeConfirmation | false | Require volume confirmation for entry |
| UseEngulfingPattern | true | Use engulfing pattern as confirmation |
| EngulfingLookback | 3 | Number of bars to look back for engulfing pattern |
| UsePinBarConfirmation | true | Use pin bar as confirmation |
| PinBarLookback | 3 | Number of bars to look back for pin bar |
| PinBarRatio | 0.3 | Ratio of body to shadow for pin bar (smaller = stronger pin) |
| UseRSIConfirmation | true | Use RSI as additional confirmation |
| RSIPeriod | 14 | RSI period |
| RSIOversoldLevel | 30.0 | RSI oversold level for buy signals |
| RSIOverboughtLevel | 70.0 | RSI overbought level for sell signals |
| FixedLotSize | 0.01 | Fixed lot size for all trades |
| RewardToRiskRatio | 2.0 | Reward to risk ratio |
| EnableTrailingStop | false | Enable trailing stop |
| TrailingStopPercent | 50.0 | Trailing stop as percentage of profit |
| MaxSpreadPoints | 30 | Maximum spread in points |
| MaxConsecutiveLosses | 3 | Max consecutive losses before pausing |
| PauseMinutes | 60 | Minutes to pause after max losses |
| MaxPositions | 5 | Maximum open positions |
| EnableTimeFilter | false | Enable trading hours filter |
| TradingHoursStart | "08:00" | Trading hours start (broker time) |
| TradingHoursEnd | "20:00" | Trading hours end (broker time) |
| AvoidHighImpactNews | true | Avoid trading during high impact news |
| NewsBufferMinutesBefore | 30 | Minutes to avoid trading before news |
| NewsBufferMinutesAfter | 30 | Minutes to avoid trading after news |
#property copyright "Pipsgrowth.com"
#property link "https://pipsgrowth.com"
#property version "2.00"
#property strict
#property description "Pipsgrowth.com EX15014 XAUUSD Liquidity Trap EA v3.2 — liquidity-zone scalper with pin-bar/RSI confirmation, full 12-layer stack."
#include <Trade/Trade.mqh>
#include <Trade/SymbolInfo.mqh>
// Input parameters: General Settings
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_TIMEFRAMES g_Timeframe = PERIOD_H1;
ENUM_TIMEFRAMES g_ConfirmationTimeframe = PERIOD_H1;
input group "=== General Settings ==="
input int MagicNumber = 22215014; // Magic Number
input string InpTradeComment = "Psgrowth.com Expert_15014"; // Trade Comment
input bool EnableDebug = true; // Enable Debug Messages
input int Timeframe = 4; // Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Trading Timeframe
// Input parameters: Liquidity Trap Settings
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_TIMEFRAMES g_Timeframe = PERIOD_H1;
ENUM_TIMEFRAMES g_ConfirmationTimeframe = PERIOD_H1;
input group "=== Liquidity Trap Settings ==="
input int SwingBarCount = 1; // Number of bars for swing detection (smaller value = more swings)
input int MaxZoneAge = 24; // Maximum zone age in hours
input double PriceSurgePercent = 0.001; // Percent of price movement to consider as surge (0.001-0.2 recommended)
input bool RequireVolumeSurge = false; // Require volume surge with price movement
input double VolumeSurgeMultiplier = 1.5; // Volume threshold as multiplier of average
// Input parameters: Entry Confirmation
ENUM_TIMEFRAMES MapTimeframeInt(int tf)
{
switch(tf)الكود المصدري الكامل متاح عند التحميل
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.
تحذير صريح: لأغراض تعليمية فقط
تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.
وسطاء موصى بهم لهذا الإكسبرت
هذه الروبوتات تعمل على MT5 — استخدم وسيطاً موثوقاً بتنفيذ سريع وسبريد منخفض
إكسبرتات مشابهة
عرض جميع الإكسبرتاتإكسبرتات أخرى بنفس استراتيجية أخرى
Pipsgrowth EX01007 Adaptive — إكسبرت أدفايزر تكييفي
Pipsgrowth EX01007 Adaptive — Adaptive signal scorer EA combining EMA crossover, RSI, Heiken Ashi, Bollinger Bands, ATR and volume spike detection int. إكسبرت أدفايزر MT5 مفتوح المصدر.
Pipsgrowth EX01019 Adaptive — إكسبرت أدفايزر تكييفي
Pipsgrowth EX01019 Adaptive — Self-adaptive market regime EA that auto-detects trending, ranging, volatile, quiet and breakout conditions. Switches be. إكسبرت أدفايزر MT5 مفتوح المصدر.
Pipsgrowth EX15029 SMC-OrderBlock — إكسبرت أدفايزر إكسبرت أدفايزر
Pipsgrowth EX15029 SMC-OrderBlock — Smart Money Concepts breakout EA — detects order blocks, CHOCH and liquidity sweeps using EMA cross + structure break, A. إكسبرت أدفايزر MT5 مفتوح المصدر.
مجتمع المستخدمين
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.