Pipsgrowth EX12009 MultiIndicatorConfluence — إكسبرت أدفايزر إكسبرت أدفايزر
إكسبرت أدفايزر MT5 مفتوح المصدر · XAUUSD · M5
Pipsgrowth EX12009 MultiIndicatorConfluence — Dual-MACD plus Stochastic confluence EA. A fast MACD catches pullback crossovers while a slow MACD confirms the higher-t. إكسبرت أدفايزر MT5 مفتوح المصدر.
نظرة عامة
Pipsgrowth EX12009 يشغّل إطارين زمنيين لمؤشر MACD ومؤشر ستوكاستيك بالتوازي على نفس شارت XAUUSD M5، ولا يفتح صفقة إلا عندما تتفق المؤشرات الثلاثة معاً. يحدد الـ MACD البطيء (34, 144) الاتجاه العام للترند؛ ويُستخدم الـ MACD السريع (13, 21) كمقياس للارتداد؛ ويؤكد الستوكاستيك (7, 3, 3, SMA, STO_LOWHIGH) نقطة الانعكاس. دالة CheckSignal() هي المكان الوحيد الذي تُتخذ فيه قرارات الدخول، وتعمل مرة واحدة لكل شمعة مغلقة من خلال بوابة static datetime lastBar مع iTime، فلا يعيد الـ EA التقييم داخل الشمعة الواحدة.
تتطلب إشارة الشراء تحقق خمسة شروط في الشمعة نفسها: أن يكون الـ MACD البطيء موجباً (M2 > 0، أي أن الترند على الإطار الأعلى صاعد)، وأن يكون الـ MACD السريع سالباً (M1 < 0، أي أن السعر ارتد تحت خط الصفر للـ MACD السريع)، وأن يكون خط الستوكاستيك الرئيسي في منطقة تشبع بيعي تحت 20، وأن يتقاطع الستوكاستيك صعوداً مع خط الإشارة (الرئيسي في الشمعة 1 فوق الإشارة في الشمعة 1، مع كون الرئيسي في الشمعة 2 عند أو تحت الإشارة في الشمعة 2). تعكس إشارة البيع هذه الشروط معكوسة: MACD بطيء سالب، MACD سريع موجب، ستوكاستيك رئيسي فوق 80، وتقاطع هبوطي مع خط الإشارة. لا يوجد فلتر ADX، ولا فلتر حجم، ولا تأكيد على إطار زمني أعلى — الدخول هو اتفاق تقني بحت بين ثلاثة مؤشرات.
تحديد حجم الصفقة مبني على نسبة المخاطرة. دالة CalculateLotSize() تأخذ قيمة التيك وحجم التيك والبوينت من الوسيط، وتحسب riskPerLot = stopLossPoints * (tickValue / (tickSize / point))، ثم تقسم balance * riskPercent على ذلك، وتُقرّب الناتج إلى LotsStep للأسفل، وتُقصّره ضمن حدود الحد الأدنى والأعلى للرمز. مع الإعدادات الافتراضية (مخاطرة 1% ووقف 400 نقطة على حساب XAUUSD بقيمة 1,000 دولار) يصبح حجم اللوت تقريباً 0.02. ضبط InpRiskPercent = 0 يُفعّل اللوط الثابت InpFixedLot = 0.01. هذا الـ EA يخاطر بـ 1% من الرصيد افتراضياً — أكثر تحفظاً من نسبة 2% الشائعة في عائلة EX10 — ووقف 400 نقطة على الذهب يعني أن كل صفقة خاسرة تُكلّف حوالي 0.80 دولار لكل 0.01 لوط.
وقف الخسارة ثابت عند InpStopLoss = 400 نقطة (4.00 وحدة سعر على XAUUSD) وجني الأرباح عند InpTakeProfit = 1200 نقطة (12.00 وحدة سعر)، ما يعطي نسبة مخاطرة إلى عائد 1:3 على الأمر الأولي. الإعداد الافتراضي هو بذلك تكوين 'اترك الرابحين يركضون': الـ EA يفترض أسوأ حالة 0.80 دولار وأفضل حالة 2.40 دولار على 0.01 لوط. يُطبَّق الوقف والهدف على كل أمر عند الفتح من خلال trade.Buy(lot, _Symbol, ask, sl, tp, comment) وtrade.Sell(lot, _Symbol, bid, sl, tp, comment).
التريلينغ هو المكان الذي يدير فيه الـ EA الأرباح فعلياً. دالة ManageProfitLock() تعمل عند كل تيكت، وتمشي على المراكز المفتوحة بالعكس، ولكل مركز يتبع الرقم السحري للـ EA تتحقق ما إذا كان الربح العائم قد تجاوز InpTrailStart = 300 نقطة (3.00 وحدات سعر). عند تحقق ذلك، يُسحب الوقف إلى currentBid - InpTrailDistance = 150 نقطة (1.50 وحدة سعر تحت السعر). الشرط هو newSL > position.StopLoss()، فالوقف لا يتحرك إلا في اتجاه الربح — لا يتراجع أبداً. التريلينغ أمامي فقط ويُطبَّق من خلال TryModify_EX12009() التي تُعيد محاولة التعديل حتى 3 مرات بفاصل 100 مللي ثانية على رموز REQUOTE وTIMEOUT فقط — ولا تُعيد المحاولة على PRICE_CHANGED عمداً لأن التعديل بعد تغير السعر عادةً ما يكون قديماً ويجب إعادة حسابه من السعر الجديد.
الهرمة (Pyramiding) مفعّلة افتراضياً (InpEnablePyramid = true) وهي طريقة التحجيم الوحيدة للـ EA. يُسمح بحد أقصى InpMaxPositions = 3 مراكز لكل اتجاه، لكن لا يُفتح مركز جديد إلا إذا أعادت IsGridSafe() القيمة true. دالة IsGridSafe() تمشي على المراكز المفتوحة وتطلب أن يكون كل مركز قائم في نفس الاتجاه رابحاً بـ InpMinProfitPoints = 300 نقطة على الأقل (3.00 وحدات سعر على الذهب). هذه ليست شبكة — إنها 'تحجيم داخل الرابحين'. لا يمكن أبداً المتوسط على مركز خاسر. الفحص يعمل عند كل شمعة إشارة، فإذا كان المركز تحت الماء، لا يقوم الـ EA بالهرمة حتى يعود إلى 300 نقطة ربح.
فلتر السبريد حده 250 نقطة (2.50 وحدة سعر على XAUUSD). للمقارنة، معظم EAs في عائلتي EX10 وEX12 تضع حد السبريد عند 60 أو 35 نقطة. الحد الواسع متعمد: سبريد الذهب على وسطاء التجزئة يتجاوز 100 نقطة بشكل روتيني عند إغلاق نيويورك وفتح الجلسة الآسيوية، والفلتر الأكثر صرامة سيحجب معظم يوم التداول. حد الـ 250 نقطة هو عتبة 'لا تتداول أثناء الأخبار'، وليس 'تداول فقط بسيولة ضيقة'. الانزلاق مضبوط على 3 نقاط، ووضع تعبئة الأمر مبرمج إلى ORDER_FILLING_FOK في OnInit — على عكس EX10013 وEX12007 اللذين يمشيان FOK > IOC > RETURN انطلاقاً من SYMBOL_FILLING_MODE، هذا الـ EA يلتزم بـ FOK فقط.
المساعدات TryClose_EX12009 وTryClosePartial_EX12009 وTryModify_EX12009 كلها تُعيد المحاولة حتى 3 مرات بفاصل 200 مللي ثانية (إغلاق) و100 مللي ثانية (تعديل) على رموز REQUOTE وTIMEOUT وPRICE_OFF وPRICE_CHANGED للإغلاق، لكن مساعد التعديل يُعيد المحاولة فقط على REQUOTE وTIMEOUT. الملف نظيف من أي حالة إضافية: لا يوجد مسح OnTradeTransaction لتاريخ الصفقات، ولا حدود خسارة يومية أو أسبوعية، ولا سقف رأسمال، ولا فلتر جلسة، ولا تعتيم أخبار، ولا مصنف ترند. دالة CountPositions() ذات المواقع الخمسة تعدّ ببساطة صفقات الشراء والبيع حسب الرقم السحري.
يعلن الهيدر '12 طبقة: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester'. من بينها، SIGNAL وENTRY وMANAGE وRISK وSIZING وSCALING فقط هي المنفّذة فعلياً في الكود. لا يوجد مصنف ترند، ولا طبقة تأكيد منفصلة beyond تقاطع الستوكاستيك، ولا سقف رأسمال، ولا تعتيم أخبار، ولا دالة OnTester(). صياغة '12 طبقة' هي كلام طموح، وليست وصفاً لسلوك التشغيل. على من يشغّل مُحسّن MT5 أن يتوقع اختيار OnTester() الافتراضي (أقصى قيمة مخصصة خام)، وليس صيغة (net * pf) / (1 + dd) الشائعة في EAs أخرى من العائلة.
ما يمكن توقعه في الباك تيست على XAUUSD M5: الـ EA يأخذ صفقات قليلة نسبياً — اتفاق الشروط الخمسة على الذهب نادر — وعندما تحدث، نسبة 1:3 تعني أن الرابح أكبر بثلاث مرات من الخاسر. التريلينغ يبدأ عند 3 وحدات سعر ربح، وهي بعيدة بما يكفي عن الوقف البالغ 4 وحدات حتى لا يوقف ارتداد عادي المركز. الهرمة على الرابح ستضيف طبقة أو اثنتين في ترند قوي، كل طبقة منها تتطلب أن تكون الطبقات القائمة رابحة بـ 300 نقطة قبل الإضافة. يجب أن تكون الانخفاضات محدودة بمخاطرة 1% لكل صفقة مضروبة في 3 مراكز متزامنة كحد أقصى، لذا فإن أسوأ حالة اندفاع ضد الطبقات الثلاث هي حوالي 3% من الرصيد.
هذا EA نظيف ومنخفض التعقيد لقيادة الترند بالارتداد مصمم لـ XAUUSD M5. لا يدّعي أنه مفاهيم smart money أو order blocks أو ذكاء اصطناعي؛ إنه اتفاق تقني بين ثلاثة مؤشرات مع إدارة مخاطرة منضبطة، ونسبة 1:3، ووقف تريلينغ أمامي فقط، وقاعدة تحجيم داخل الرابحين بثلاث طبقات. مناسب للمتداولين الذين يريدون دخول ارتداد واضح وحتمي على الذهب مع تحجيم مدمج وحد سبريد واسع بما يكفي للتداول فعلياً على وسطاء التجزئة بدلاً من التوقف طوال اليوم.
تفاصيل الاستراتيجية
عند كل تيكت يفحص الـ EA السبريد مقابل حد 250 نقطة ويُشغّل ManageProfitLock() لسحب الوقف على المراكز الرابحة؛ عند شمعة جديدة تستدعي CheckSignal() آخر شمعتين مغلقتين من MACD البطيء (34, 144) وMACD السريع (13, 21) والستوكاستيك (7, 3, 3)، ولا تنطلق إلا عندما تتفق المؤشرات الثلاثة. تمر الأوامر الجديدة بـ CalculateLotSize() لتحديد حجم الصفقة بـ 1% من الرصيد، وتُحجَّم المراكز القائمة عبر IsGridSafe() فقط التي تطلب أن يكون كل مركز في نفس الاتجاه رابحاً بـ 300 نقطة على الأقل — فلا متوسط في الخاسر أبداً. نسبة 1:3 ثابتة عند الفتح؛ لا يتحرك إلا الوقف بعد ذلك، وإلى الأمام فقط. لا يوجد مصنف ترند، ولا فلتر جلسة، ولا تعتيم أخبار، ولا سقف خسارة يومي، ولا سقف رأسمال — الاستراتيجية اتفاق خالص بين ثلاثة مؤشرات بلا أي بوابات إضافية.
تتطلب صفقات الشراء أن يكون الـ MACD البطيء (34, 144) موجباً (ترند الإطار الأعلى صاعد)، وأن يكون الـ MACD السريع (13, 21) سالباً (السعر ارتد تحت خط الصفر السريع)، وأن يكون خط الستوكاستيك الرئيسي في تشبع بيعي تحت 20، وأن يحدث تقاطع صعودي بين الرئيسي والإشارة في الشمعة نفسها. تعكس صفقات البيع هذه الشروط معكوسة: MACD بطيء سالب، MACD سريع موجب، ستوكاستيك رئيسي فوق 80، وتقاطع هبوطي. تُقيَّم الإشارات مرة واحدة لكل شمعة مغلقة — CheckSignal() لا يُعاد تشغيلها داخل الشمعة.
لا يوجد خروج بوقت ثابت، ولا خروج بانعكاس الإشارة، ولا إغلاق لمركز معاكس — يعتمد الـ EA على تحقق جني الأرباح الأولي عند 1200 نقطة، أو تحقق وقف الخسارة عند 400 نقطة، أو قيام التريلينغ بسحب المركز إلى نقطة التعادل فأكثر. التريلينغ لا يتفعّل إلا بعد 300 نقطة ربح عائم ولا يتراجع أبداً. الهرمة ليست آلية خروج؛ تُغلق المراكز فردياً وفق وقف الخسارة أو جني الأرباح أو التريلينغ.
كل صفقة تُفتح بوقف خسارة ثابت 400 نقطة (4.00 وحدات سعر على XAUUSD)، يُطبَّق عند الفتح عبر trade.Buy/Sell ولا يتوسّع أبداً. لا يتحرك الوقف إلا إلى الأمام عبر منطق التريلينغ بعد أن يحقق المركز 300 نقطة ربح عائم، حيث يُسحب إلى 150 نقطة تحت السعر ولا يتراجع. لا يوجد سقف تراجع على مستوى الحساب ككل.
جني الأرباح ثابت عند 1200 نقطة لكل مركز (12.00 وحدة سعر على XAUUSD، 120 نقطة بمصطلحات MT4)، ما يعطي نسبة مخاطرة إلى عائد 1:3 مقابل وقف 400 نقطة. يُضبط الهدف عند فتح الأمر عبر trade.Buy/Sell ولا يُعدَّل أو يُتابَع. في الترندات القوية، قد يُغلق وقف التريلينغ بعض المراكز قبل الوصول إلى الهدف، لكن التوقع الافتراضي هو أن معظم المراكز الرابحة تصل إلى هدف 1:3 قبل أن يتدخل التريلينغ.
الحد الأدنى الموصى به للرصيد: 100 دولار (مع العودة إلى 0.01 لوط ثابت)، أو 500 دولار لاستيعاب أسوأ حالة تراجع 3% من هرمة ثلاثية داخل الرابحين. حد سبريد 250 نقطة (2.50 دولار على XAUUSD) وتحمل انزلاق 3 نقطة يجعلان هذا الـ EA متوافقاً مع معظم وسطاء التجزئة ECN/STP بشرط أن تبقى العمولات دون 7 دولارات لكل لوط ذهاباً وإياباً. الأفضل تشغيله على XAUUSD M5 خلال تداخل لندن ونيويورك (13:00–17:00 UTC بتوقيت السيرفر) عندما تكون قراءات تشبع الستوكاستيك عند 20/80 أكثر احتمالاً لإنتاج انعكاسات حقيقية؛ حد السبريد الواسع يعني أن الـ EA يمكن أن يعمل أيضاً خلال الجلسة الآسيوية دون أن يُصفى، مع أن تكرار الصفقات سينخفض. تحقق من أن الوسيط يدعم ORDER_FILLING_FOK (معظم حسابات ECN تدعمه).
منطق الاستراتيجية
Pipsgrowth EX12009 MultiIndicatorConfluence — تحليل منطق الاستراتيجية (من كود .mq5)
العائلة: MultiIndicatorConfluence
الماجيك: 22212009
الإصدار: 2.00
الوصف:
Dual-MACD plus Stochastic confluence EA. A fast MACD catches pullback crossovers while a slow MACD confirms the higher-timeframe trend. Stochastic must be oversold/overbought and cross its signal line. Risk-based sizing, trailing, safe pyramiding and spread filter. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester
المؤشرات:
- مؤشرات قياسية
الدوال الرئيسية:
CheckSignal()OpenBuy()OpenSell()ManageProfitLock()IsGridSafe()CalculateLotSize()CountPositions()TryClose_EX12009()TryClosePartial_EX12009()TryModify_EX12009()
// Pipsgrowth EX12009 MultiIndicatorConfluence — Execution Flow (from source analysis)
// Family: MultiIndicatorConfluence
// Dual-MACD plus Stochastic confluence EA. A fast MACD catches pullback crossovers while a slow MACD confirms the higher-timeframe trend. Stochastic must be oversold/overbought and cross its signal line. Risk-based sizing, trailing, safe pyramiding and spread filter. 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
معاملات الإكسبرت
| المعامل | الافتراضي | الوصف |
|---|---|---|
| InpM1Fast | 13 | MACD 1 Fast |
| InpM1Slow | 21 | MACD 1 Slow |
| InpM2Fast | 34 | MACD 2 Fast (Filter) |
| InpM2Slow | 144 | MACD 2 Slow (Filter) |
| InpStoK | 7 | Stochastic K |
| InpStoD | 3 | Stochastic D |
| InpStoSlow | 3 | Stochastic Slowing |
| InpRiskPercent | 1.0 | Risk Percent per Trade |
| InpFixedLot | 0.01 | Fixed Lot (if Risk=0) |
| InpStopLoss | 400 | Stop Loss (points) |
| InpTakeProfit | 1200 | Take Profit (points) |
| InpMagicNumber | 22212009 | Magic Number |
| InpTradeComment | "Psgrowth.com Expert_12009" | Trade Comment |
| InpMaxSpread | 250 | Max Spread (points) |
| InpSlippage | 3 | Slippage |
| InpEnableTrail | true | Enable Trailing Stop |
| InpTrailStart | 300 | Trail Start Distance (points) |
| InpTrailStep | 100 | Trail Step (points) |
| InpTrailDistance | 150 | Distance behind price (points) |
| InpEnablePyramid | true | Enable Pyramiding |
| InpMaxPositions | 3 | Max Open Positions |
| InpMinProfitPoints | 300 | Min Profit (points) to Add Next |
#property copyright "Pipsgrowth.com"
#property link "https://pipsgrowth.com"
#property version "2.00"
#property strict
#property description "Pipsgrowth.com EX12009 MACDStoch_XAUUSD_5M — dual-MACD + Stochastic confluence, 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 InpM1Fast = 13; // MACD 1 Fast
input int InpM1Slow = 21; // MACD 1 Slow
input int InpM2Fast = 34; // MACD 2 Fast (Filter)
input int InpM2Slow = 144; // MACD 2 Slow (Filter)
input int InpStoK = 7; // Stochastic K
input int InpStoD = 3; // Stochastic D
input int InpStoSlow = 3; // Stochastic Slowing
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 = 1200; // Take Profit (points)
input group "=== Trade Management ==="
input int InpMagicNumber = 22212009; // Magic Number
input string InpTradeComment = "Psgrowth.com Expert_12009"; // 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 hM1;
int hM2;
int hSto;
//--- Global Buffers
double bufM1[];
double bufM2[];
double bufStoM[];
double bufStoS[];
الكود المصدري الكامل متاح عند التحميل
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.
تحذير صريح: لأغراض تعليمية فقط
تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.
وسطاء موصى بهم لهذا الإكسبرت
هذه الروبوتات تعمل على 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 مفتوح المصدر.
مجتمع المستخدمين
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.