Pipsgrowth EX12034 MultiIndicatorConfluence — إكسبرت أدفايزر إكسبرت أدفايزر
إكسبرت أدفايزر MT5 مفتوح المصدر · XAUUSD · M5، H1
Pipsgrowth EX12034 MultiIndicatorConfluence — CCI + EMA trend-filter confluence EA. Buys when CCI > 100 and price above EMA; sells when CCI < -100 and price below EMA. إكسبرت أدفايزر MT5 مفتوح المصدر.
نظرة عامة
إكس 12034 (Pipsgrowth EX12034) هو مستشار خبير (EA) مدمج عمدًا قائم على التقاء مؤشرَيْن فقط. شجرة القرار برمتها سطران من حسابات المؤشرات وسطران من البوابات: يُقرأ مؤشر CCI بفترة 14 ومؤشر EMA بفترة 100 على الإطار الزمني الحالي عند الشمعة [1]، ويُفتح أمر شراء عندما يكون CCI للشمعة المغلقة أعلى من +100 وإغلاقها فوق المتوسط المتحرك؛ ويُفتح أمر بيع بشكل معكوس. هذه هي الإشارة بأكملها. لا يوجد إطار زمني ثانٍ، ولا مذبذب إضافي، ولا فلتر حجم، ولا فلتر جلسات، ولا مصنّف نظام سوق. يدخل المستشار مركزًا واحدًا فقط في كل مرة، ويُبقي عليه حتى يُحقّق وقف الخسارة عند 400 نقطة أو جني الأرباح عند 600 نقطة، ثم ينتظر الشمعة التالية لإعادة التقييم.
الملف المصدر (mq5) نحيف بالمقابل. سبع دوال وعشرة مدخلات تصف النظام بأكمله. في دالة OnInit يُنشَأ مقبضا مؤشرَين — iCCI(_Symbol, _Period, 14, PRICE_CLOSE) وiMA(_Symbol, _Period, 100, 0, MODE_EMA, PRICE_CLOSE) — ويُهيَّأ كائن CTrade بالرقم السحري الخاص بهذا المستشار 22212034، وانحرافًا قدره 3 نقاط، ووضع تملؤ FOK. OnTick هو المسار التشغيلي الوحيد: يُحدَّث عرض الرمز، ويُعاد فورًا إذا تجاوز السبريد اللحظي InpMaxSpread=250 نقطة، ويُستخدم متغير ثابت lastBar من النوع datetime لحصر جميع المسارات في أول تيك للشمعة الجديدة. أي شيء يصل داخل الشمعة يُتجاهَل. الدالة الوحيدة في اتجاه التيار هي CheckSignal() التي تستدعي CopyBuffer للمقبضَين، وتحسب إغلاق الشمعة المغلقة، وتُفعّل علم الشراء أو البيع.
إدارة المركز هي الأبسط في عائلة EX12. لا يوجد توسيع تدريجي، ولا بناء هرمي (pyramiding)، ولا قفل عند نقطة التعادل، ولا جَرّ وقف قائم على ATR، ولا خروج مبني على الوقت. OpenBuy يُثبّت وقف الخسارة على mysymbol.Ask() ناقص 400 نقطة وجني الأرباح على Ask زائد 600 نقطة، ثم يُطلق CTrade.Buy() بحجم العقد الذي تُرجعه CalculateLotSize ونص InpTradeComment. OpenSell هو النسخة المعكوسة عند Bid. يُحسب حجم اللوت المخاطَر به على أنه account.Balance() * 1.0% مقسومًا على خسارة اللوت الواحد عند 400 نقطة، ثم يُقرَّب إلى الأسفل وفق LotStep الخاص بالوسيط، ويُقصَّر بين LotsMin وLotsMax، ولا يُستخدم إلا عندما يكون InpRiskPercent موجبًا؛ إذا ضُبط المخاطرة على صفر (أو إذا لم يكن للرمز TickSize / Point)، يلجأ المستشار إلى InpFixedLot=0.01. التقريب إلى الأسفل عبر MathFloor خيار تصميمي مقصود — يضمن أن حجم العقد لن يتجاوز المخاطرة المطلوبة أبدًا.
تعرض أغلفة إعادة المحاولة نفس النمط غير المتماثل المستخدم في بقية عائلة EX12. TryClose_EX12034 وTryClosePartial_EX12034 يدوران ثلاث مرات بفاصل 200 مللي ثانية ويقبلان أربع رموز خطأ عابرة (TRADE_RETCODE_REQUOTE، TRADE_RETCODE_TIMEOUT، TRADE_RETCODE_PRICE_OFF، TRADE_RETCODE_PRICE_CHANGED) — أي منها يعني أن الإغلاق ببساطة لم يحدث بعد، فتعيد الحلقة المحاولة. TryModify_EX12034 يدور ثلاث مرات أيضًا لكن فقط على REQUOTE وTIMEOUT، وينام 100 مللي ثانية بدلًا من 200. يُعامَل PRICE_OFF وPRICE_CHANGED عمدًا كفشل حاد في عمليات التعديل لأن تحريك وقف الخسارة أو الهدف الذي يعيد الوسيط تسعيره ليس عابرًا كالـ requote؛ المستشار لا يريد أن يُصدر تلقائيًا وقف/هدف جديدًا بسعر مختلف عما قصدته الاستراتيجية. ومع ذلك، لا ترتبط أي من أغلفة إعادة المحاولة الثلاث بدالة إدارة مركز داخل الملف — إنها موجودة كأنبوب توصيل جاهز لأي نسخة مستقبلية تضيف جَرّ وقف أو نقطة تعادل أو خروج عكسي.
يدّعي الترويسة بنية من 12 طبقة (REGIME، SIGNAL، ENTRY، CONFIRM، NO-TRADE، CAPITAL CAP، RISK، SIZING، MANAGE، EXIT، SCALING، OnTester)، لكن الملف كما هو مكتوب لا يُفعّل سوى أربع منها. SIGNAL وENTRY هما التقاء CCI/EMA؛ RISK وSIZING هما حجم اللوت النِّسبي. لم تُنفَّذ CONFIRM ولا NO-TRADE ولا CAPITAL CAP ولا MANAGE ولا EXIT ولا SCALING ولا OnTester — لا يوجد DetectGMT ولا نافذة جلسات ولا ClassifyRegime ولا روتين قفل ربح ولا سقف بناء هرمي ولا صيغة لياقة OnTester. فلتر السبريد يعمل كبوابة ما قبل التداول الوحيدة، ووقف الخسارة/جني الأرباح الثابتان يعملان كالمخرج الوحيد. هذا مقصود: إكس 12034 قاعدة شفافة يمكن مراجعتها بقراءة واحدة لـ CheckSignal وOpenBuy.
التوقعات التشغيلية مباشرة. بنسبة مخاطرة إلى عائد 1:1.5، تحتاج الاستراتيجية إلى نسبة فوز أعلى من 40% لتكون موجبة قبل السبريد والعمولة، وهذا معقول لمستوى تقاطع CCI مع مرشح اتجاه 100 شمعة على رمز متجه مثل XAUUSD. الإعداد الافتراضي على XAUUSD M5 يجعل المستشار يقف جانبًا في التماسك لأن EMA(100) بعيد بما يكفي لجعل الإغلاقات تحت الخط تفرض بيعًا والإغلاقات فوقه تفرض شراء، بينما شرط CCI > ±100 يُبقي المستشار خارج ضوضاء خط الصفر. تحدث السحوبات (drawdowns) عندما يُضرب وقف الـ 400 نقطة ثلاث أو أربع مرات متتالية في نظام سوق عرضي — لا يوجد حد خسارة يومي ولا تهدئة بعد خسائر متتالية في الكود، لذا فإن حقوق الحساب هي الحاكم الوحيد. المتداول الذي يريد إضافة ذلك عليه أن يطبقه عبر مختبر الاستراتيجيات في MQL5 قبل التشغيل على حساب حقيقي.
تفاصيل الاستراتيجية
في OnInit يُنشَأ مقبضا مؤشرَين — iCCI(14) وiMA(100, MODE_EMA) على PRICE_CLOSE — ويُسلَّح CTrade بالرقم السحري 22212034 وانحراف 3 نقاط ووضع تملؤ FOK. يُحدِّث OnTick عرض الرمز، وينسحب إذا تجاوز السبريد InpMaxSpread=250 نقطة، ويستخدم lastBar ثابتًا لحصر كامل المسار في أول تيك لشمعة جديدة. تستدعي CheckSignal بعدئذ CopyBuffer للمقبضَين، وتقرأ إغلاق الشمعة [1]، وتُفعّل شراءً عندما CCI[1] > +100 والإغلاق[1] > EMA[1]، أو بيعًا عندما CCI[1] < -100 والإغلاق[1] < EMA[1]؛ بوابة PositionsTotal تحظر كليهما. تحسب CalculateLotSize حجم العقد = (الرصيد * InpRiskPercent٪) / المخاطرة لكل لوت عند 400 نقطة، وتُقرِّب إلى LotStep، وتُقصِّر بين LotsMin وLotsMax، وتلجأ إلى InpFixedLot=0.01 إذا عُطِّل حساب المخاطرة أو افتقد الرمز TickSize / Point. تُرفق OpenBuy وOpenSell وقف خسارة 400 نقطة وجني أرباح 600 نقطة مباشرة مع الأمر، ثم تبقى أغلفة إعادة المحاولة الثلاث (TryClose_EX12034 وTryClosePartial_EX12034 وTryModify_EX12034) في وضع الاستعداد — مُعرَّفة على مستوى الملف لكنها لا تُستدعى من مسار التيك في هذا البناء.
يُفعَّل أمر الشراء في أول تيك لشمعة جديدة عندما يكون CCI(14) للشمعة المغلقة أعلى من +100 وإغلاق الشمعة المغلقة فوق EMA(100) — التأكيد على الشمعة [1] فقط وليس على الشمعة قيد البناء. البيع هو النسخة المعكوسة: CCI(14) أقل من -100 والإغلاق تحت EMA(100). لا يُنفَّذ الفحص إلا إذا لم يكن هناك مركز مفتوح وكان السبريد اللحظي أقل من InpMaxSpread=250 نقطة؛ إذا فشلت أي بوابة، ينتظر المستشار الشمعة التالية.
المخارج ميكانيكية ومن جهة الخادم بالكامل. يخرج الشراء عند Ask + 600 نقطة (جني الأرباح) أو Ask - 400 نقطة (وقف الخسارة)؛ والبيع يخرج عند Bid - 600 نقطة أو Bid + 400 نقطة. لا يوجد جَرّ وقف، ولا قفل عند نقطة التعادل، ولا خروج مبني على الوقت، ولا إغلاق عكسي للإشارة في الكود — يُرسل CTrade.Buy / CTrade.Sell وقف الخسارة وجني الأرباح عند فتح الأمر ويبقيان في مكانهما حتى تُملآ.
وقف خسارة ثابت لكل صفقة قدره 400 نقطة (InpStopLoss) يُرفق عند الدخول كجزء من استدعاء CTrade.Buy / CTrade.Sell. لا يُحرَّك الوقف بعد وضعه — لا جَرّ وقف، ولا تحريك لنقطة التعادل، ولا تجاوز عكسي. غلاف إعادة المحاولة TryModify_EX12034 مُعرَّف للإصدارات المستقبلية التي ستضيف إدارة وقف.
هدف ثابت لكل صفقة قدره 600 نقطة (InpTakeProfit) يُرفق عند الدخول. مع وقف الخسارة البالغ 400 نقطة، نسبة المخاطرة إلى العائد 1:1.5، ما يستلزم نسبة فوز تقارب 40% لتحقيق الإيجابية قبل السبريد والعمولة. لا يوجد إغلاق جزئي، ولا خروج متدرج، ولا جَرّ وقف لجني الأرباح.
إكس 12034 محرك اتجاه-ارتداد بإعداد أساسي موجه للمتداولين الذين يريدون نظامًا بمركز واحد في كل مرة، بلا توسيع تدريجي ولا جَرّ وقف، يمكن مراجعته بقراءة واحدة للملف المصدر — الحد الأدنى الموصى به للرصيد 100 دولار على حجم اللوت الثابت الافتراضي 0.01، ويتدرج إلى نحو 0.4 لوت على رصيد 10,000 دولار عند المخاطرة الافتراضية 1% مع وقف 400 نقطة على XAUUSD. هو مُحسَّن لـ XAUUSD M5 بإعدادات EMA الافتراضية ذات 100 شمعة وCCI بـ 14 شمعة، لكن الرياضيات مستقلة عن الرمز فيمكنه العمل على أي زوج سيول. شغِّله على وسيط ECN أو RAW بفارق سبريد منخفض (Exness، IC Markets) لأن وقف الـ 400 نقطة يُستهلك بالسبريد في الحسابات ذات الفروق الأوسع، واختبر نسبة 1:1.5 للمخاطرة إلى العائد بأمانة: نسبة فوز أقل من 40% ستكون سالبة قبل العمولة.
منطق الاستراتيجية
Pipsgrowth EX12034 MultiIndicatorConfluence — تحليل منطق الاستراتيجية (من كود .mq5)
العائلة: MultiIndicatorConfluence
الماجيك: 22212034
الإصدار: 2.00
الوصف:
CCI + EMA trend-filter confluence EA. Buys when CCI > 100 and price above EMA; sells when CCI < -100 and price below EMA. Risk-based lot sizing with fixed-lot fallback, spread filter, one position at a time. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester
المؤشرات:
- مؤشرات قياسية
الدوال الرئيسية:
CheckSignal()OpenBuy()OpenSell()CalculateLotSize()TryClose_EX12034()TryClosePartial_EX12034()TryModify_EX12034()
// Pipsgrowth EX12034 MultiIndicatorConfluence — Execution Flow (from source analysis)
// Family: MultiIndicatorConfluence
// CCI + EMA trend-filter confluence EA. Buys when CCI > 100 and price above EMA; sells when CCI < -100 and price below EMA. Risk-based lot sizing with fixed-lot fallback, spread filter, one position at a time. 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
معاملات الإكسبرت
| المعامل | الافتراضي | الوصف |
|---|---|---|
| InpCCIPeriod | 14 | CCI Period |
| InpTrendMA | 100 | Trend MA |
| InpRiskPercent | 1.0 | Risk Percent per Trade |
| InpFixedLot | 0.01 | Fixed Lot (if Risk=0) |
| InpStopLoss | 400 | Stop Loss (points) |
| InpTakeProfit | 600 | Take Profit (points) |
| InpMagicNumber | 22212034 | Magic Number |
| InpTradeComment | "Psgrowth.com Expert_12034" | Trade Comment |
| InpMaxSpread | 250 | Max Spread (points) |
| InpSlippage | 3 | Slippage |
#property copyright "Pipsgrowth.com"
#property link "https://pipsgrowth.com"
#property version "2.00"
#property strict
#property description "Pipsgrowth.com EX12034 Libre_XAUUSD_5M — CCI + EMA trend-filter 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 "=== Strategy Parameters ==="
input int InpCCIPeriod = 14; // CCI Period
input int InpTrendMA = 100; // Trend MA
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 = 600; // Take Profit (points)
input group "=== Trade Management ==="
input int InpMagicNumber = 22212034; // Magic Number
input string InpTradeComment = "Psgrowth.com Expert_12034"; // Trade Comment
input int InpMaxSpread = 250; // Max Spread (points)
input int InpSlippage = 3; // Slippage
//--- Handles
int hCCI;
int hMA;
//--- Global Buffers
double bufCCI[];
double bufMA[];
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
trade.SetExpertMagicNumber(InpMagicNumber);
trade.SetDeviationInPoints(InpSlippage);
trade.SetTypeFilling(ORDER_FILLING_FOK);
hCCI = iCCI(_Symbol, _Period, InpCCIPeriod, PRICE_CLOSE);
hMA = iMA(_Symbol, _Period, InpTrendMA, 0, MODE_EMA, PRICE_CLOSE);
if(hCCI == INVALID_HANDLE || hMA == INVALID_HANDLE)
return(INIT_FAILED);
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
الكود المصدري الكامل متاح عند التحميل
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.
تحذير صريح: لأغراض تعليمية فقط
تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.
وسطاء موصى بهم لهذا الإكسبرت
هذه الروبوتات تعمل على 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 مفتوح المصدر.
مجتمع المستخدمين
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.