Pipsgrowth EX12017 MultiIndicatorConfluence — إكسبرت أدفايزر إكسبرت أدفايزر
إكسبرت أدفايزر MT5 مفتوح المصدر · XAUUSD · M5
Pipsgrowth EX12017 MultiIndicatorConfluence — This EA implements internal AMLI (Adaptive Market Liquidity Index) logic using Volume and ATR-based volatility analysis.. إكسبرت أدفايزر MT5 مفتوح المصدر.
نظرة عامة
يبني Pipsgrowth EX12017 قراءة فهرسة واحدة للسوق من داخله — مؤشر السيولة التكيّفية (AMLI). المؤشر لا يُرسم على الشارت؛ بل تُحسبه الدالة CalculateAMLI() داخل الـ EA بدمج نسبة حجم التداول المُنعّم مع نسبة الـ ATR في مذبذب يقع بين 0 و100. القيمة الافتراضية 50.0 (محايدة)، ترتفع فوق 50 حين يتوسّع الحجم والتذبذب معاً، وتنخفض دون 50 حين تخفّ السيولة. تلك المنطقة تحت 50 هي فخ السيولة الذي يستهدفه الـ EA: حين يجفّ تدفق الأوامر ويتوقف السعر عن الحركة، يهبط AMLI، وأي انفجار لاحق في النشاط هو الاختراق الذي يريد الـ EA اقتناصه.
منطق الفخ قائم على الأحداث لا على الأعمدة. في OnTick() يُحدَّث الرمز أولاً، ويُرفض أي تيك يتجاوز فيه السبريد InpMaxSpread (200 نقطة على XAUUSD M5، أي تسامح 20 نقطة — فضفاض بما يكفي لتحمّل معظم توسّعات منتصف اليوم، وضيق بما يكفي لاستبعاد الطبعات غير السائلة). بعدها تُنفَّذ ManageProfitLock() على قائمة المراكز المفتوحة قبل فحص الشمعة الجديدة، ليكون محرك التريلينج متقدّماً دائماً على محرك الإشارات. عند افتتاح شمعة M5 جديدة، يسحب الـ EA قيمة AMLI من آخر شمعة مغلقة (إزاحة 1) ومن الشمعة التي قبلها (إزاحة 2). حالة الفخ هي (amli_curr < InpLiquidityTrap) المنطقية، ويتتبّع الـ EA عداد g_trap_duration يزداد فقط ما دام AMLI تحت العتبة. الإشارة تنطلق عند الانتقال: حين تكون الشمعة السابقة في الفخ والشمعة الحالية خارجه — بشرط أن يكون الفخ استمرّ شمعتين على الأقل (g_trap_duration >= 2) وأن يتجاوز التغيّر المطلق في AMLI عتبة InpMinAMLIChange (3.0). إن لم يتحقق بوابة اختراق الفخ، يبقى مسار ثانٍ مفتوحاً: دخول زخم قوي مسموح به حين |amli_change| >= InpMinAMLIChange * 1.5، بصرف النظر عن حالة الفخ. الاتجاه يتبع إشارة تغيّر AMLI — التغيّر الموجب شراء، والسالب بيع.
إدارة المراكز هي حيث يبتعد EX12017 بصمت عن نمط الاختراق التقليدي. لا يضيف الـ EA إلى صفقة عند إشارة جديدة على نفس المستوى؛ بل يضيف فقط حين تكون الصفقة القائمة قد جنّت ربحاً مؤمّناً. تتحقق CheckPyramidSafety() من القائمة المفتوحة وتحسب secured = (sl - open) / _Point للشراء (والمرآة للبيع). إن كان هذا الربح المؤمّن دون InpPyramidMinProfit (100 نقطة، 10 نقاط)، يُرفض الدخول الجديد. هذا يعني أن إضافات الهرم الثانية والثالثة (السقف InpMaxPyramidTrades = 3) لا تحدث إلا بعد أن يرتفع وقف الخسارة فوق سعر الدخول — الـ EA مُجبَر على الصبر. الإضافة ضد الاتجاه المفتوح (إشارة شراء مع وجود بيع قائم، أو العكس) محظورة أيضاً في طبقة الأمان، فلا يستطيع الـ EA أن يقفل نفسه في تحوط معقّد حين ينقلب اتجاه اختراق الفخ على أعمدة متتالية. سقف المراكز المفتوحة الإجمالي هو 3، ما يحافظ على عدم انزلاق الـ EA إلى سلّة متضخّمة حين يُعاد تفعيل الفخ.
محرك التريلينج تدرّج بسلالم، لا منحنى مستمر. لا تعمل ManageProfitLock() إلا حين تكون الصفقة على بعد InpLockTrigger (300 نقطة، 30 نقطة) من الربح، وحتى حينها لا تحرّك الوقف إلا إذا كان الهدف الجديد يتفوّق على الوقف الحالي بفارق InpLockStep على الأقل (50 نقطة، 5 نقاط). يُضبط الوقف الجديد عند السعر الحالي مطروحاً منه InpLockDistance (100 نقطة، 10 نقاط)، ما يعني أنه فور تجاوز صفقة الشراء عتبة 30 نقطة، يتبع الوقف السعر بزيادات 5 نقاط مع وسادة 10 نقاط. تلك الوسادة هي أقصى سحب من السعر الحالي خلال التريلينج — لا تتوسّع أبداً. يبقى كل من SL الثابت الأصلي (500 نقطة) وTP (750 نقطة) على الصفقة؛ القفل تراكب لا استبدال. تُغلِّف TryModify_EX12017 أمر التعديل في حلقة إعادة محاولة بثلاث محاولات مع تأخير 100 مللي ثانية على TRADE_RETCODE_REQUOTE وTRADE_RETCODE_TIMEOUT، وتقوم TryClose_EX12017 وTryClosePartial_EX12017 بالمثل على الإغلاق بتأخير 200 مللي ثانية على المجموعة الأوسع requote/timeout/price-off/price-changed.
إدارة المخاطر ورأس المال تتبع فصلاً نظيفاً. تحسب GetLotSize() الحجم من الرصيد حين يكون InpRiskPercent موجباً (1.0% من رصيد الحساب افتراضياً)، مع حساب قيمة النقطة مقابل InpStopLoss ليتناقص الحجم مع اتساع الوقف — رياضيات الترميز المعياري المعتادة. حين يُضبط InpRiskPercent إلى صفر، يرجع الـ EA إلى InpFixedLot (0.01) وسقف صلب عند InpMaxLotSize (10.0 لوت لكل صفقة). مسافة الوقف InpStopLoss = 500 نقطة (50 نقطة على XAUUSD خمس خانات)، والهدف InpTakeProfit = 750 نقطة (75 نقطة)، أي 1:1.5 مخاطرة إلى عائد على الفرع الثابت. الـ EA مبرمج على m_trade.SetTypeFilling(ORDER_FILLING_FOK) وSetDeviationInPoints(InpSlippage=30)، وInpMagicNumber افتراضيه 22212017 ليُقسَّم الحساب نظيفاً بين نسخ متعددة على نفس الحساب.
فلتر الوقت عادي لكن يستحق الملاحظة. تحلّل IsTradingTime() InpStartTime ("08:00") وInpEndTime ("20:00") إلى دقائق وتُغلق فرع الشمعة الجديدة على تلك النافذة. خارج النافذة، لا يفتح الـ EA صفقات جديدة ولا يعدّل القائمة (تستمر ManageProfitLock لأنها فوق فلتر الوقت)، إلا إذا كان InpCloseAtEnd = true — عندها تُستدعى CloseAllPositions() لتسوية الكتاب. تغطّي نافذة 08:00-20:00 بتوقيت السيرفر كامل جلسة لندن والثلثين الأولين من جلسة نيويورك، حيث يحدث فعلاً حجم تداول XAUUSD الفوري وسلوك الفخ مقابل الاختراق الذي يقيسه AMLI. نمط التعبئة FOK، فأي صفقة لا يمكن تنفيذها بالسعر المطلوب تُرفض بالكامل لا جزئياً.
ماذا تتوقع في الباك تيست مقابل التداول الفعلي. لأن AMLI مؤشر مشتق (نسبة الحجم + نسبة الـ ATR مطبّعة إلى 0-100)، فإن سلوك الـ EA شديد الحساسية للنظام السائد: في سنوات ترند الذهب (2020، 2024) يولّد فرع الزخم القوي تياراً ثابتاً من الدخول؛ في سنوات النطاق (الربع الثالث 2022) يطلق فرع اختراق الفخ مرات أقل وتأتي معظم الإشارات من العتبة المرنة 1.5x. يعني زوج SL/TP الثابت 500/750 نقطة أن الـ EA لا يتنفّس مع التذبذب — في يوم بنسبة تذبذب 2x، يكون وقف 50 نقطة أضيق مما يجب، وفي يوم 0.5x يكون سخياً. سقف الهرم 3 متحفّظ؛ على المستخدم العدواني اختبار InpMaxPyramidTrades حتى 5 فقط بعد أن يرى بوابة الربح المؤمّن تعمل كما يتوقّع. يجب أن يبدأ النشر الفعلي بـ InpRiskPercent = 0.5 (لا 1.0 الافتراضي) لأسبوعين، مع ترميز لحالة أسوأ من 3 مراكز بسعر 3% من الرصيد لكل خانة، ويجب قلب InpUsePyramid إلى false لأسبوع ورقي لعزل فرع الدخول الأحادي.
تفاصيل الاستراتيجية
في كل تيك M5 يرفض الـ EA أولاً العمل حين يتجاوز سبريد XAUUSD 200 نقطة، ثم يُشغّل ManageProfitLock() على القائمة المفتوحة قبل بوابة الشمعة الجديدة. عند كل شمعة جديدة يحسب AMLI من آخر شمعتين مغلقتين في CalculateAMLI() — فهرس من 0 إلى 100 مبني من نسبة حجم 14 شمعة مضروبة في نسبة ATR لـ 20 شمعة، مطبّع حول 50. تنطلق الإشارة من مسارين: اختراق فخ يعبر فيه AMLI فوق 35 بعد بقاء دونه شمعتين أو أكثر مع تغيّر ≥ 3، أو مسار زخم بتغيّر ≥ 4.5. تتحقق CheckPyramidSafety() ثم تمنع الدخول إن كانت الإشارة الجديدة تعاكس الاتجاه المفتوح أو إن لم تكن كل الصفقات القائمة قد رفعت وقفها إلى ربح مؤمّن ≥ 100 نقطة، ويُحدّ السقف بـ 3 مراكز متزامنة. يُرمَّز الخطر عند 1% من الرصيد مقابل وقف 500 نقطة (أو InpFixedLot حين يكون الخطر صفراً)، ويُرفق الهدف 750 نقطة عند الدخول، ويرفض نمط FOK أي أمر لا يمكن تنفيذه. يسير قفل الربح بوقف الخسارة خلف السعر بسلالم 50 نقطة مع وسادة 100 نقطة حالما يتجاوز الربح 300 نقطة، وتُجبر بوابة توقيت السيرفر 08:00-20:00 الـ EA على التوقّف خارج الجلسة.
يُطلق الشراء حين يعبر AMLI (50 × (نسبة الحجم + نسبة ATR)، مُقيَّد بين 0-100) فوق InpLiquidityTrap (35) بعد بقاء في الفخ شمعتين أو أكثر مع |تغيّر AMLI| ≥ 3.0، أو في أي شمعة يكون فيها |تغيّر AMLI| ≥ 4.5 (1.5× الحد) بصرف النظر عن حالة الفخ. إشارة تغيّر AMLI هي التي تحدد الاتجاه. يضيف الهرم فقط حين يكون الربح المؤمّن للصفقة القائمة (وقف الخسارة مقارنة بسعر الدخول بالنقاط) ≥ InpPyramidMinProfit (100 نقطة)، بسقف 3 مراكز متزامنة على XAUUSD M5.
تُغلق المراكز عند الهدف الثابت الأصلي 750 نقطة (75 نقطة على XAUUSD خمس خانات)، أو عبر طبقة قفل الربح حالما تبلغ الصفقة 300 نقطة ربحاً ويُضرب وقف التريلينج. خارج نافذة الوقت المحدّدة مع تفعيل InpCloseAtEnd، تُفرّغ CloseAllPositions() الكتاب قسراً. لا يوجد خروج بانعكاس الإشارة — يعامل الـ EA الهرم كومة أحادية الاتجاه، لا كتاب تحوط متأرجح.
وقف ثابت 500 نقطة (50 نقطة على XAUUSD خمس خانات) يُضبط عند الدخول عبر m_trade.Buy()/Sell()، ثم يُضيق تدريجياً بسُلَّم قفل الربح حالما يتجاوز الربح 300 نقطة. مخاطرة الصفقة 1% من الرصيد افتراضياً، مُطَبَّعة على وقف 500 نقطة بحيث يؤدي توسيع InpStopLoss تلقائياً إلى تقليص حجم اللوت.
هدف ثابت 750 نقطة (75 نقطة على XAUUSD خمس خانات) يُرفق عند الدخول — 1:1.5 مخاطرة إلى عائد مقابل وقف 500 نقطة. لا يُجرَّف الهدف؛ تعدّل طبقة قفل الربح وقف الخسارة فقط، ويُترك الهدف الأصلي في مكانه إلى أن يُضرب أحدهما.
مصمم لـ XAUUSD على M5 برصيد بداية موصى به 100$. يجعل زوج SL/TP الثابت 500/750 نقطة وخطر الصفقة 1% الافتراضي مناسباً بامتياز للمتداولين الذين يريدون مخاطرة صريحة متوقعة لكل دخول بدلاً من الترميز التكيّفي القائم على ATR. يتحمّل سقف السبريد 200 نقطة (20 نقطة) توسّعاً أكبر مما يتحمّله سكالبير السبريد الخام، لكن يظل وسيط ECN بسبريد منخفض مطلوباً لإبقاء وقف 500 نقطة واقعياً. يُفضّل تشغيله داخل نافذة 08:00-20:00 بتوقيت السيرفر — جلسة لندن والثلثين الأولين من نيويورك — حيث تنتج سيولة XAUUSD نظام الحجم-التذبذب الذي يقيسه AMLI.
منطق الاستراتيجية
Pipsgrowth EX12017 MultiIndicatorConfluence — تحليل منطق الاستراتيجية (من كود .mq5)
العائلة: MultiIndicatorConfluence
الماجيك: 22212017
الإصدار: 2.00
الوصف:
This EA implements internal AMLI (Adaptive Market Liquidity Index) logic using Volume and ATR-based volatility analysis. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester
المؤشرات:
- مؤشرات قياسية
الدوال الرئيسية:
CalculateAMLI()CheckPyramidSafety()ManageProfitLock()GetLotSize()RefreshRates()IsTradingTime()StrToTime()CloseAllPositions()TryClose_EX12017()TryClosePartial_EX12017()
// Pipsgrowth EX12017 MultiIndicatorConfluence — Execution Flow (from source analysis)
// Family: MultiIndicatorConfluence
// This EA implements internal AMLI (Adaptive Market Liquidity Index) logic using Volume and ATR-based volatility analysis. 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
معاملات الإكسبرت
| المعامل | الافتراضي | الوصف |
|---|---|---|
| InpVolumePeriod | 14 | Volume Smoothing Period |
| InpVolatilityPeriod | 20 | Volatility (ATR) Period |
| InpLiquidityTrap | 35.0 | Liquidity Trap Level (0-100) |
| InpMinAMLIChange | 3.0 | Minimum AMLI Change for Signal |
| InpRiskPercent | 1.0 | Risk per trade (% of Balance) |
| InpFixedLot | 0.01 | Fixed Lot (if Risk=0) |
| InpMaxLotSize | 10.0 | Max Lot Size per trade |
| InpStopLoss | 500 | Stop Loss (Points) |
| InpTakeProfit | 750 | Take Profit (Points) |
| InpSlippage | 30 | Max Slippage (Points) |
| InpMaxSpread | 200 | Max Spread (Points) |
| InpMagicNumber | 22212017 | Magic Number |
| InpUsePyramid | true | Enable Safe Pyramiding |
| InpMaxPyramidTrades | 3 | Max Open Positions |
| InpPyramidMinProfit | 100 | Min Secured Profit (Points) for Next Add |
| InpUseProfitLock | true | Enable Profit Lock / Trailing |
| InpLockTrigger | 300 | Trigger Distance (Points in Profit) |
| InpLockStep | 50 | Step to advance SL (Points) |
| InpLockDistance | 100 | Distance to keep SL from Price (Points) |
| InpUseTimeFilter | true | Enable Time Filter |
| InpStartTime | "08:00" | Start Trading Time (Server) |
| InpEndTime | "20:00" | End Trading Time (Server) |
| InpCloseAtEnd | false | Close all at end time |
| InpTradeComment | "Psgrowth.com Expert_12017" | Trade Comment |
#property copyright "Pipsgrowth.com"
#property link "https://pipsgrowth.com"
#property version "2.00"
#property strict
#property description "Pipsgrowth.com EX12017 AMLI_XAUUSD_5M — Adaptive Market Liquidity Index EA for XAUUSD, full 12-layer stack."
#include <Trade\Trade.mqh>
#include <Trade\SymbolInfo.mqh>
#include <Trade\PositionInfo.mqh>
#include <Trade\AccountInfo.mqh>
// --- Global Objects ---
CTrade m_trade;
CSymbolInfo m_symbol;
CPositionInfo m_position;
CAccountInfo m_account;
// --- Inputs ---
input group "=== AMLI Indicator Parameters ==="
input int InpVolumePeriod = 14; // Volume Smoothing Period
input int InpVolatilityPeriod = 20; // Volatility (ATR) Period
input double InpLiquidityTrap = 35.0; // Liquidity Trap Level (0-100)
input double InpMinAMLIChange = 3.0; // Minimum AMLI Change for Signal
input group "=== Money Management ==="
input double InpRiskPercent = 1.0; // Risk per trade (% of Balance)
input double InpFixedLot = 0.01; // Fixed Lot (if Risk=0)
input double InpMaxLotSize = 10.0; // Max Lot Size per trade
input group "=== Trade Management ==="
input int InpStopLoss = 500; // Stop Loss (Points)
input int InpTakeProfit = 750; // Take Profit (Points)
input int InpSlippage = 30; // Max Slippage (Points)
input int InpMaxSpread = 200; // Max Spread (Points)
input ulong InpMagicNumber = 22212017; // Magic Number
input group "=== Pyramid / Scaling ==="
input bool InpUsePyramid = true; // Enable Safe Pyramiding
input int InpMaxPyramidTrades = 3; // Max Open Positions
input int InpPyramidMinProfit = 100; // Min Secured Profit (Points) for Next Add
input group "=== Profit Lock & Trail ==="
input bool InpUseProfitLock = true; // Enable Profit Lock / Trailing
input int InpLockTrigger = 300; // Trigger Distance (Points in Profit)
input int InpLockStep = 50; // Step to advance SL (Points)
input int InpLockDistance = 100; // Distance to keep SL from Price (Points)
input group "=== Time Management ==="
input bool InpUseTimeFilter = true; // Enable Time Filter
input string InpStartTime = "08:00"; // Start Trading Time (Server)
input string InpEndTime = "20:00"; // End Trading Time (Server)
input bool InpCloseAtEnd = false; // Close all at end time
input string InpTradeComment = "Psgrowth.com Expert_12017"; // Trade Comment
// --- Global Handles ---
int h_atr = INVALID_HANDLE;
// --- State Tracking ---
الكود المصدري الكامل متاح عند التحميل
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.
تحذير صريح: لأغراض تعليمية فقط
تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.
وسطاء موصى بهم لهذا الإكسبرت
هذه الروبوتات تعمل على 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 مفتوح المصدر.
مجتمع المستخدمين
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.