Pipsgrowth EX12031 MultiIndicatorConfluence — إكسبرت أدفايزر إكسبرت أدفايزر
إكسبرت أدفايزر MT5 مفتوح المصدر · XAUUSD · M5، H1
Pipsgrowth EX12031 MultiIndicatorConfluence — Trend scalper EA combining Heiken Ashi, EMA, Supertrend, and volume filters. Uses candle-based SL with buffer, single TP. إكسبرت أدفايزر MT5 مفتوح المصدر.
نظرة عامة
Pipsgrowth EX12031 هو إكسبرت سلوبي على الإطار الزمني M5 مبني على تلاقي ثلاثي الطبقات: نمط الشمعة القوية في هيكن آشي، فلتر اتجاهي بـ EMA(50)، وقراءة اتجاه SuperTrend(10, 3.0)، كلها محصورة بنافذة حجم 1.2x ونافذة تداول من الساعة 9 إلى 19 بتوقيتBroker. في حين تعتمد أغلب إكسبرتس عائلة EX12 على أربع أو خمس مؤشرات MT5 قياسية، يختار EX12031 نهجاً أكثر إحكاماً — يخصص مؤشراً قياسياً واحداً (iMA على الإغلاق) وينفذ بقية العمل في صنفين داخليين بـ C++، هما CHeikenAshi وCSuperTrend، يعيدان حساب شموع HA ونطاقات SuperTrend من بيانات OHLCV الخام في كل تحديث. النتيجة: بصمة أصغر وأسرع وتحكم كامل في كيفية قراءة نمط الشمعة القوية في HA واتجاه SuperTrend.
تبدأ منطق الإشارة بنمط HA. يبني صنف CHeikenAshi 500 شمرة HA تركيبية يدوياً: HA_close = (O+H+L+C)/4، تُبذر HA_open كـ (O+C)/2 على آخر شمرة ثم تتكرر كمتوسط HA_open وHA_close السابقتين لكل شمرة قبلها. من هذا المخزن المؤقت، لا يطلب EX12031 تغيّر لون أو نسبة جسم إلى فتيل — بل يطلب اختباراً ميكانيكياً صارماً للشمعة القوية على الشمرة [1]: صاعدة = (HA_open == HA_low) AND (HA_close > HA_open) (لا فتيل سفلي على الإطلاق، إغلاق الجسم في قمة الشمرة)، هابطة = (HA_close == HA_high) AND (HA_close < HA_open) (لا فتيل علوي، تثبيت إغلاق الجسم في القاع). أي شمرة ذات فتيل يتم استبعادها. هذا هو مكافئ الإكسبرت لمطلب بين بار أو ماروبوزو، لكنه معبَّر عنه في فضاء HA حيث الفتايل الملساء تجعل القاعدة موثوقة.
يندمج نمط HA بعد ذلك مع طبقتي تأكيد. الأولى فلتر EMA(50) الاتجاهي: الشراء يتطلب سعر Ask الحالي فوق قيمة EMA(50) عند الشمرة [1]؛ البيع يتطلب سعر Bid الحالي تحته. الثانية اتجاه SuperTrend، يُحسب داخل صنف CSuperTrend باستخدام مؤشر iATR(10) واحد وحسابات النطاق القياسية: السعر الوسيط ± 3.0 * ATR، مع تقدم النطاقات إلى الأمام فقط عند عبور السعر لها في الاتجاه المعاكس. يعيد الصنف 1 (اتجاه صاعد) أو -1 (اتجاه هابط) للإزاحة المطلوبة. الشراء يحتاج trend == 1؛ البيع يحتاج trend == -1. يتم دمج الفلترين مع نمط HA بـ AND — أي فشل لأي منهما يلغي الدخول. البوابة الثالثة فلتر الحجم: عند تفعيل UseVolumeFilter، يقرأ الإكسبرت حجم التداول للشمرة السابقة (iVolume shift 1) ومتوسط الـ 20 شمرة التي قبلها، ويرفض الإشارة إذا كان حجم الشمرة السابقة أقل من 1.2x من ذلك المتوسط. هذا فلتر الجلسات الهادئة للإكسبرت — يقتل الإشارات في الانجراف البطيء قبل لندن، وهدوء ما بعد نيويورك، ومعظم الجلسة الآسيوية من تلقاء نفسه.
إضافة إلى كل ذلك، يفرض EX12031 قيدين هيكليين قبل أن يطلق أي إشارة. الأول فحص IsNewBar() — مقارنة datetime ثابتة مقابل افتتاح الشمرة — يمنع عدة دخول على نفس الشمرة، لذا حتى لو ظل شرط الشراء محققاً لعشر تيكات، الإكسبرت يفتح مركزاً واحداً فقط لكل شمرة. الثاني سقف المراكز الاتجاهية: مسح سريع في PositionsTotal() للبحث عن أي مركز آخر بنفس الرمز والسحر 22212031 في نفس الاتجاه، ويتم إلغاء الأمر الجديد. لا توجد مضاعفة، ولا شبكة، ولا مارتينجال، ولا مركز ثانٍ في نفس الاتجاه — الإكسبرت يتداول شمرة دخول واحدة، شموع إدارة متعددة، ومركز واحد فقط لكل جهة في الوقت نفسه.
وقف الخسارة مبني مباشرة من نفس بيانات HA التي أنتجت الإشارة، وليس من عدد نقاط ثابت. في OpenBuy()، يقرأ الإكسبرت أدنى HA عند إزاحة SL_Candle_Lookback (افتراضياً 1، أي شمرة HA السابقة — نفس الشمرة التي أنتجت نمط strongBull) ويضع وقف الخسارة عند ذلك الأدنى مطروحاً منه SL_Buffer_Points (50 نقطة). بالنسبة لـ OpenSell() يكون أعلى HA عند نفس الإزاحة زائد 50 نقطة. المخزن المؤقت (Buffer) موجود لأن أدنى HA، بحكم تعريف الثور القوي، يساوي بالضبط الافتتاح — إضافة 50 نقطة تتيح للصفقة مجالاً للتنفس إذا عاد السعر لاختبار مستوى الاختراق. إذا أرجع جلب HA صفراً (البيانات لم تُملأ بعد)، يلجأ الإكسبرت إلى Fallback_SL_Points ثابت (300 نقطة) من سعر Bid، لذا الشارت الجديد الذي لم يبنِ 500 شمرة HA يتداول بحذر بدلاً من رفض الفتح. جني الأرباح هو TP1_Points مسطح (300 نقطة) فوق سعر Ask للدخول في الشراء، وتحت سعر Bid للدخول في البيع — هدف 1:1 R:R واحد افتراضياً، على الرغم من أن R:R الفعلي هو أي مسافة SL المبنية على HA.
تعمل إدارة المركز كل تيك بعد فحص الدخول، بصرف النظر عما إذا تم فتح صفقة جديدة. ManageProfitLocking() مفعّل افتراضياً: بمجرد أن يتحرك السعر بمقدار LockProfitTrigger_Points (400) لصالح الصفقة، يتم رفع وقف الخسارة إلى الافتتاح + LockProfitBuffer_Points (100 نقطة) للشراء، الافتتاح - 100 للبيع. هذا قفل تعادل جزئي — عند 400 نقطة ربح يضمن الإكسبرت وسادة 100 نقطة عند الإغلاق، والوقف لا يتحرك للخلف أبداً. يتحقق الكود أيضاً من SYMBOL_TRADE_STOPS_LEVEL قبل إرسال التعديل، حتى لا يطلق خطأ INVALID_STOPS 100 من 100 من نقطة الدخول عندما يكون الحد الأدنى للوقف عند البروكر 200. ManageTrailingStop() معطل افتراضياً (UseTrailingStop = false)؛ عند التفعيل، يبدأ فقط بعد أن تحقق الصفقة 500 نقطة ربح ثم يشد الوقف إلى TrailingDistance_Points (200) خلف Bid الحالي (للشراء) أو أمام Ask الحالي (للبيع). يستدعي كلا المديرين TryModify_EX12031()، وهو حلقة قياسية من 3 محاولات مع تراجع 100 مللي ثانية على REQUOTE أو TIMEOUT — يُعامل PRICE_CHANGED كخطأ قاتل لأنه عند تلك النقطة تحرك السعر متجاوزاً الوقف الجديد ولم يعد التعديل ذا معنى.
إغلاق الصفقة هو إصابة TP أو SL بطلقة واحدة، والإكسبرت لديه أيضاً وصلات إغلاق جزئي (TryClosePartial_EX12031) مُوصلة في حال أراد بناء مستقبلي الخروج على مراحل، لكن السلوك الافتراضي يخرج بالكامل عند TP. كل مساعدات إعادة المحاولة الثلاث — TryClose_EX12031 وTryClosePartial_EX12031 وTryModify_EX12031 — تتعامل مع مجموعة الرفض المؤقت القياسية (REQUOTE, TIMEOUT, PRICE_OFF, PRICE_CHANGED للإغلاق، REQUOTE/TIMEOUT فقط للتعديل) بسقف 3 محاولات. يستخدم كائن trade دالة SetExpertMagicNumber(22212031) في OnInit، لذا مراكز هذا الإكسبرت معزولة تماماً عن أي إكسبرت آخر على نفس الحساب. مدمرات الأصناف (CHeikenAshi لا يحتاج واحداً، CSuperTrend يستدعي IndicatorRelease على مقبض ATR) تنظف بشكل صحيح في OnDeinit.
ما يعنيه هذا عملياً: EX12031 هو ابتعاد متعمد عن تكديسات المؤشرات الثقيلة في بقية العائلة. يتداول إشارات أقل، ويحتفظ بمركز واحد لكل اتجاه، ويقبل معدل فوز أقل مقابل وقف مُرسى على البنية الفعلية HA لشمرة الإعداد بدلاً من عدد نقاط عام. نافذة 9-19 الافتراضية بتوقيت Broker تضيقه إلى نافذة يومية واحدة، فلتر الحجم يزيل الانجراف الآسيوي البطيء، وقف الربح المؤمن بـ 100 نقطة عند 400 نقطة ربح يوفر خط أساس 1:0.25 R:R محمي عند الإغلاق في معظم الصفقات التي تتحرك. الاختبار الخلفي على XAUUSD M5 بالإعدادات الافتراضية هو خط الأساس الواقعي: نطاقات EMA(50) وATR(10) للذهب كبيرة بما يكفي لأن SL المبني على HA غالباً يهبط 150-300 نقطة تحت الدخول في M5، لذا يُضرب TP البالغ 300 نقطة على نحو واحد من كل ثلاث شموع متجهة والباقي إما يُلغى أو يضرب قفل الـ 100 نقطة.
تفاصيل الاستراتيجية
يستمد EX12031 قراءته بالكامل من مقبض iMA(50) قياسي واحد بالإضافة إلى صنفين داخليين بـ C++ — CHeikenAshi الذي يبني 500 شمرة HA تركيبية من OHLC الخام، وCSuperTrend الذي يعيد بناء نطاقات SuperTrend(10, 3.0) من مقبض iATR واحد. يُنفذ صنف HA التكرار المتعارف عليه (HA_close = (O+H+L+C)/4، HA_open[السابق] = (HA_open[التالي] + HA_close[التالي])/2) ويُظهر اختبار "لا فتيل" صارم للشمعة القوية على الشمرة [1]. يدمج كومة الإشارات بعد ذلك ذلك الاختبار مع فلتر EMA الاتجاهي، واتجاه SuperTrend، ونسبة الحجم 1.2x ضد متوسط 20 شمرة، وبوابة ساعات التداول 9-19، وسقف مركز واحد لكل اتجاه، كلها تُقيَّم عند أول تيك لشمرة M5 جديدة عبر IsNewBar(). عند شراء مؤكد، يُرسي OpenBuy() الوقف على أدنى HA لشمرة الإعداد زائد 50 نقطة مخزن، مع 300 نقطة ثابتة كاحتياط إذا لم يُملأ مخزن HA، ويُطلق هدف TP بـ 300 نقطة؛ تنقل ManageProfitLocking() بعد ذلك الوقف إلى الافتتاح + 100 بمجرد أن تحقق الصفقة 400 نقطة ربح، وManageTrailingStop() الاختيارية (معطلة افتراضياً) تشد الوقف إلى 200 خلف Bid بمجرد أن تحقق الصفقة 500 نقطة ربح. كل مسارات التعديل والإغلاق تمر عبر مساعدات إعادة المحاولة EX12031، التي تُكرر حتى 3 مرات على رموز الرفض المؤقت (REQUOTE/TIMEOUT/PRICE_OFF/PRICE_CHANGED للإغلاق، REQUOTE/TIMEOUT فقط للتعديل) مع تراجعات 100-200 مللي ثانية.
يُطلق الشراء عند أول تيك لشمرة M5 جديدة (بوابة IsNewBar) عندما تكون شمرة هيكن آشي السابقة ماروبوزو صاعد قوي (HA_open == HA_low AND HA_close > HA_open)، وسعر Ask الحالي فوق EMA(50) عند الشمرة [1]، واتجاه SuperTrend(10, 3.0) صاعداً، وحجم التداول للشمرة السابقة يتجاوز 1.2x متوسط 20 شمرة (عند تفعيل UseVolumeFilter)، وساعة البروكر داخل نافذة 9-19، ولا يوجد مركز شراء آخر مفتوح بالسحر 22212031. البيع يعكس كل ذلك بشمرة HA هابطة قوية، وBid تحت EMA(50)، وSuperTrend trend == -1، وعدم وجود مركز بيع قائم.
المخارج سلبية افتراضياً: تُغلق الصفقة عند امتلاء هدف TP1 الثابت عند 300 نقطة، أو عند ضرب الوقف المبني على HA، أو عندما تحرك ManageProfitLocking() الوقف إلى الافتتاح + 100 نقطة (الافتتاح - 100 للبيع) بمجرد أن يكون السعر 400 نقطة في الربح. عند تفعيل UseTrailingStop، تقوم ManageTrailingStop() أيضاً بشد الوقف إلى 200 خلف Bid (للشراء) أو 200 أمام Ask (للبيع) بمجرد أن تحقق الصفقة 500 نقطة ربح. لا يوجد خروج قائم على الوقت، ولا خروج عند انعكاس الإشارة، ولا إغلاق سلة — الإكسبرت لا يُسوّي عند التقاطع.
وقف الخسارة مُرسي على أدنى هيكن آشي (للشراء) أو أعلى هيكن آشي (للبيع) للشمرة عند إزاحة SL_Candle_Lookback (افتراضياً 1) مطروحاً منه مخزن مؤقت SL_Buffer_Points قدره 50 نقطة، مما يعطي وقفاً هيكلياً ذا معنى مربوطاً بشمرة الإعداد. إذا لم يُملأ مخزن HA المؤقت، يلجأ الإكسبرت إلى Fallback_SL_Points ثابت قدره 300 نقطة من Bid/Ask للدخول، لذا شارت جديد يتداول بحذر.
جني الأرباح هو هدف TP1_Points ثابت واحد — 300 نقطة فوق سعر Ask للدخول في الشراء، و300 نقطة تحت سعر Bid للدخول في البيع — يُوضع عند فتح الأمر. تعتمد نسبة R:R المحققة كلياً على مسافة SL المبنية على HA في شمرة الإعداد، لذا على شموع XAUUSD M5 المتقلبة غالباً ما يهبط الافتراضي 1:1 عند نسبة 1:0.5 إلى 1:2 محققة؛ على الشموع الهادئة قد يكون SL ضيقاً بدرجة أن TP الثابت هو الساق الأطول.
يناسب EX12031 المتداولين الذين يريدون سلوبي اتجاهي يومي بمركز واحد لكل اتجاه ووقف مُرسي هيكلياً بدلاً من وقف بنقاط ثابت — الحد الأدنى للرصيد الموصى به 100 دولار بحجم اللوت الافتراضي 0.01، والإكسبرت أكثر موثوقية على XAUUSD M5 (الرمز الافتراضي) حيث ATR(10) كبير بما يكفي لأن SL المبني على HA لديه مجال للتنفس. شغّله على بروكر ECN أو RAW بفارق سعر منخفض لأن هدف TP البالغ 300 نقطة يُستهلك بسرعة بواسطة السبريد على الحسابات ذات الفروقات الواسعة، واضبط المنطقة الزمنية لخادم البروكر بشكل صحيح بحيث تتطابق نافذة 9-19 الافتراضية مع جلسات لندن ونيويورك التي تريدها فعلياً. فلتر الحجم 1.2x يقوم بمعظم العمل لتجنب الجلسة الآسيوية، لكن على الأزواج الهادئة قد ترغب في توسيع UseTradingHours وتشديد نسبة الحجم، بينما على XAUUSD شديدة التقلب يمكن توسيع SL_Buffer_Points من 50 إلى 80-100 لإبقاء القفل من التشغيل عند أول ارتداد.
منطق الاستراتيجية
Pipsgrowth EX12031 MultiIndicatorConfluence — تحليل منطق الاستراتيجية (من كود .mq5)
العائلة: MultiIndicatorConfluence
الماجيك: 22212031
الإصدار: 2.00
الوصف:
Trend scalper EA combining Heiken Ashi, EMA, Supertrend, and volume filters. Uses candle-based SL with buffer, single TP target, profit locking, and trailing stop for trade management across configurable trading hours. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester
المؤشرات:
- مؤشرات قياسية
الدوال الرئيسية:
OpenBuy()OpenSell()IsNewBar()WithinTradingHours()ManageTrailingStop()ManageProfitLocking()TryClose_EX12031()TryClosePartial_EX12031()TryModify_EX12031()
// Pipsgrowth EX12031 MultiIndicatorConfluence — Execution Flow (from source analysis)
// Family: MultiIndicatorConfluence
// Trend scalper EA combining Heiken Ashi, EMA, Supertrend, and volume filters. Uses candle-based SL with buffer, single TP target, profit locking, and trailing stop for trade management across configurable trading hours. 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
معاملات الإكسبرت
| المعامل | الافتراضي | الوصف |
|---|---|---|
| InpTradeComment | "Psgrowth.com Expert_12031" | Trade comment |
| StartHour | 9 | Broker time |
| TP1_Points | 300 | Single Take Profit target |
| SL_Candle_Lookback | 1 | Lookback period for SL candle (1 = previous candle) |
| SL_Buffer_Points | 50 | Buffer in points beyond candle high/low for SL |
| Fallback_SL_Points | 300 | Fallback SL in points if HA SL fails |
| TrailingDistance_Points | 200 | +------------------------------------------------------------------+ |
#property copyright "Pipsgrowth.com"
#property link "https://pipsgrowth.com"
#property version "2.00"
#property strict
#property description "Pipsgrowth.com EX12031 EA1_22C00EF81577 — Heiken Ashi/EMA/Supertrend trend scalper, full 12-layer stack."
#include <Trade/Trade.mqh>
CTrade trade;
//--- Inputs
input group "=== Identity ==="
input double LotSize = 0.01;
input int MagicNumber = 22212031;
input string InpTradeComment = "Psgrowth.com Expert_12031"; // Trade comment
input group "=== NO-TRADE ==="
input bool UseTradingHours = true;
input int StartHour = 9; // Broker time
input int EndHour = 19;
input group "=== Signal ==="
input int EMA_Period = 50;
input int SupertrendPeriod = 10;
input double SupertrendMultiplier = 3.0;
input group "=== Confirm ==="
input bool UseVolumeFilter = true;
input int VolumePeriod = 20;
input double MinVolumeRatio = 1.2;
input group "=== Exit ==="
input double TP1_Points = 300; // Single Take Profit target
input int SL_Candle_Lookback = 1; // Lookback period for SL candle (1 = previous candle)
input double SL_Buffer_Points = 50; // Buffer in points beyond candle high/low for SL
input double Fallback_SL_Points = 300; // Fallback SL in points if HA SL fails
input group "=== Manage ==="
input bool UseLockProfit = true;
input double LockProfitTrigger_Points = 400;
input double LockProfitBuffer_Points = 100;
input group "=== Manage ==="
input bool UseTrailingStop = false;
input double TrailingStart_Points = 500;
input double TrailingDistance_Points = 200;
//+------------------------------------------------------------------+
//| INTERNAL INDICATOR CLASSES |
//+------------------------------------------------------------------+
// Heiken Ashi Class
class CHeikenAshi {
private:
string m_symbol;
ENUM_TIMEFRAMES m_period;
double m_haOpen[], m_haHigh[], m_haLow[], m_haClose[];
int m_calcSize;
public:
void Init(string symbol, ENUM_TIMEFRAMES period) {
m_symbol = symbol;
الكود المصدري الكامل متاح عند التحميل
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.
تحذير صريح: لأغراض تعليمية فقط
تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.
وسطاء موصى بهم لهذا الإكسبرت
هذه الروبوتات تعمل على 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 مفتوح المصدر.
مجتمع المستخدمين
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.