Pipsgrowth EX16028 Trend — إكسبرت أدفايزر متابعة اتجاه
إكسبرت أدفايزر MT5 مفتوح المصدر · XAUUSD · M5، H1
Pipsgrowth EX16028 Trend — Harami pattern + CCI confirm, MA trend, time exit 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK. إكسبرت أدفايزر MT5 مفتوح المصدر.
نظرة عامة
نمط انعكاس الهارامي إشارة أهدأ من نمط الابتلاع — فبدلاً من أن تبتلع شمعة الشمعة السابقة، تكون الشمعة الثانية بجسم صغير يتداخل داخل الجسم الحقيقي للشمعة السابقة. يعتمد Pipsgrowth EX16028 على هذه الهندسة الأهدأ: شمعة طويلة (الشمعة 2) تليها شمعة معاكسة أصغر (الشمعة 1) يكون فيها سعر الفتح والإغلاق كليهما داخل نطاق فتح/إغلاق الشمعة السابقة. عتبة الحجم هي جسم الشمعة الصغيرة نفسها: تحسب AvgBody(1) متوسط جسم الشمعة الأخيرة، ويجب أن يتجاوز جسم الشمعة الطويلة هذا المعيار — أي شمعة طويلة تليها شمعة بالحجم الطبيعي، وليس شمعتان بالحجم الطبيعي حيث يتحقق شرط الابتلاع بشكل سطحي من ضوضاء السعر.
يُرشَّح النمط عبر متوسط متحرك بسيط واحد لمدة 5 على أسعار الإغلاق عبر iMA(5, MODE_SMA, PRICE_CLOSE) — مرشح الاتجاه للسياق. يستخدم الفحص MidPoint(2) = (High(2) + Low(2)) / 2 مقابل CloseAvg(2) المقروء من مخزن المتوسط المتحرك البسيط. لا يُطلَق الهارامي الهبوطي (إشارة بيع) إلا عندما يكون MidPoint(2) فوق المتوسط المتحرك البسيط — أي أن نقطة منتصف الشمعة الطويلة السابقة كانت في territory اتجاه صاعد. لا يُطلَق الهارامي الصعودي (إشارة شراء) إلا عندما يكون MidPoint(2) تحت المتوسط. النمط بذلك يتوافق مع الاتجاه السائد، وهو الطريقة الطبيعية لتصفية الانعكاسات الكاذبة في النطاقات المتقلبة: الهارامي الهبوطي في قمة اتجاه هابط ليس إشارة بيع هنا — فقط في قمة اتجاه صاعد يكون ذا معنى.
التأكيد يمر عبر iCCI(37) — مؤشر CCI لمدة 37، بطيء عمدًا. يحتاج الشراء إلى CCI(1) أقل من -50 (تشبع بيعي)، والبيع يحتاج CCI(1) أعلى من +50 (تشبع شرائي). هذا هو الدور المزدوج نفسه الذي يلعبه المؤشر عبر عائلة Trend، لكنه هنا مربوط بهندسة شمعدان مختلفة، مما يغير تواتر الدخول وفترة الاحتفاظ المعتادة. قيمة CCI عند الشمعة 1 هي آخر شمعة مكتملة؛ يقرأها EA عند كل شمعة جديدة عبر فحص Phase 1 في OnTick، وليس عند كل تيكة، لذا الإشارة مرتبطة بالشمعة وليس بالتيك.
إشارة الإغلاق في CheckCloseSignal تستخدم تقاطع CCI رباعي الحالات عند نطاق ±80، وهو أوسع من نطاق الدخول ±50. يُغلَق المركز الطويل إذا (CCI(1) انخفض تحت 80 وCCI(2) كان فوق 80 — زخم يبرد من تشبع شرائي) أو (CCI(1) ارتفع فوق -80 وCCI(2) كان تحت -80 — زخم يتعافى من تشبع بيعي متطرف، مما يدل على نضوب الانعكاس). يُغلَق المركز القصير على المرآة. عدم التماثل — بوابة الدخول عند ±50 مقابل بوابة الإغلاق عند ±80 — يعني أن EA مستعد للدخول على المتطرفات المعتدلة لكنه ينتظر متطرفًا أقوى لإعلان انتهاء الصفقة. هذا يمنح الفائزين مجالًا للتمدد ويضمن أيضًا ألا يُغلَق المركز مبكرًا عندما يتراوح CCI حول نطاق الدخول.
المخاطر لكل صفقة، متماثل، وثابت: 200 نقطة وقف خسارة، 200 نقطة جني أرباح — نسبة مخاطرة إلى عائد 1:1. يفرض EA أيضًا أقصى مدة احتفاظ قدرها 10 شموع عبر InpDuration، تُقيَّم من خلال BarsHold() التي تستخدم CopyRates لحساب الشموع بين open_time للصفقة وTimeCurrent(). بعد 10 شموع، يُغلَق المركز قسرًا بصرف النظر عن الربح/الخسارة، وهو شبكة الأمان للحالة التي يتذبذب فيها السوق جانبيًا ولا يتقاطع CCI داخل ±80 ولا يضرب وقف الخسارة/جني الأرباح.
مسار تنفيذ الأوامر يحتوي على طبقة دفاعية تستحق الذكر. في PositionOpen، كل من وقف الخسارة وجني الأرباح محميان بفحص تجاوز السبريد: إذا كان السبريد الحالي (بالنقاط) يساوي أو يتجاوز قيمة InpSL، يصبح وقف الخسارة سعر ناقص سبريد (للشراء) أو سعر زائد سبريد (للبيع)، مما يمنع وقف الخسارة من الجلوس داخل السبريد وتفعيله فورًا. نفس الحماية تُطبَّق على فرع جني الأرباح. يُبلِّغ EA عن هذا التبديل عبر PrintFormat عند تفعيله — مفيد للمتداول الذي يراجع اليوميات. مدخل الانزلاق هو 10 نقاط.
إدارة المال ثابتة: 0.10 لوت لكل إشارة، بدون مضاعفة قائمة على نسبة المخاطرة. لا يوجد توسيع مركز — يفتح EA مركزًا واحدًا لكل إشارة وينتظر إغلاقه قبل التصرف في النمط التالي. الرقم السحري 22216028، مما يجعل EA يتعايش مع EAs شقيقة من نفس العائلة على نفس مخطط XAUUSD دون تداخل أوامر. تعليق الصفقة هو 'Psgrowth.com Expert_16028' لتكون المراكز قابلة للمراجعة في اليوميات والتاريخ.
تدفق OnTick هو مسار من 4 مراحل مقيَّد بـ next_bar_open من نوع datetime ثابت. المرحلة 1 تستدعي CheckState، التي تشغِّل CheckPattern ← CheckConfirmation ← CheckCloseSignal عند كل شمعة جديدة. المرحلة 2 تستدعي PositionOpen عندما توجد إشارة ولا يوجد مركز محتفظ به في ذلك الاتجاه. المرحلة 3 تستدعي CloseBySignal عندما يطابق مركز قائم اتجاه إشارة إغلاق. المرحلة 4 تستدعي CloseByTime عندما يكون المركز محتفظًا به لمدة 10 شموع أو أكثر. حارس الشمعة الجديدة يعني أن EA يقيِّم مرة في الشمعة، وليس عند كل تيكة — ملف تعريف CPU أهدأ وسجلات أقل تكرارًا.
توجد ثلاث دوال إعادة محاولة — TryClose_EX16028 وTryClosePartial_EX16028 وTryModify_EX16028 — كل منها يدور حتى 3 مرات مع Sleep من 100-200ms على رموز REQUOTE وTIMEOUT وPRICE_OFF وPRICE_CHANGED. فقط TryClose_EX16028 مربوط بمسار الإغلاق الحي (CloseBySignal وCloseByTime كلاهما يستدعيانه). TryClosePartial_EX16028 وTryModify_EX16028 معرَّفتان لكن لم تُستدعَيا أبدًا — EA لا يقوم أبدًا بإغلاقات جزئية ولا يعدِّل وقف الخسارة/جني الأرباح لمركز مفتوح بعد الدخول. حجم اللوت 0.10 مع عدم توسيع المركز يعني أن الإغلاقات الجزئية ليست ميزة يمكن للمستخدم تفعيلها.
المصدر يحتوي على بعض المخلفات التجميلية الجديرة بالمعرفة. MapAppliedPriceInt معرَّفة أربع مرات (الأسطر 37-50، 58-71، 78-91، 95-108)، وg_InpPrice معاد إعلانه أربع مرات لتطابقها. النسخ الأربع متطابقة؛ الأخيرة هي التعريف النشط. هذا بقايا نسخ ولصق من خط أنابيب بناء EA نموذجي، وليس خطأ وظيفيًا. دالة OnInit بها مشكلة أكثر جوهرية: بعد إنشاء ExtTrendMAHandle عبر iMA، فحص الصلاحية في السطر 157 هو if(ExtIndicatorHandle==INVALID_HANDLE) — يفحص المقبض الخطأ. إذا فشل iMA ونجح iCCI، يطبع EA 'Error creating CCI indicator' (رسالة غير صحيحة) ويُرجِع INIT_FAILED، مما يُسرِّب مقبض iCCI دون تحريره أبدًا. إذا نجح كلاهما (الحالة العادية)، لا توجد مشكلة. الخطأ الحقيقي الثالث: OnDeinit يستدعي فقط IndicatorRelease(ExtIndicatorHandle)؛ لا يحرر ExtTrendMAHandle أبدًا، لذا مقبض SMA يتسرب عند إلغاء تحميل EA. على مخطط يزيله المستخدم ويعيد إضافته، عدد المقابض ينمو مع الوقت. غير مرئي وظيفيًا في جلسة حية واحدة، لكنه اعتبار ذاكرة للمستخدمين الذين يدورون EAs بشكل متكرر.
ادعاء بنية الطبقات الـ 12 في الترويسة (REGIME، SIGNAL، ENTRY، CONFIRM، NO-TRADE، CAPITAL CAP، RISK، SIZING، MANAGE، EXIT، SCALING، OnTester) يُقابَل بالكود الفعلي كالتالي: REGIME هو مرشح اتجاه SMA5؛ SIGNAL هو هندسة الهارامي؛ ENTRY هو تنفيذ الأمر السوقي؛ CONFIRM هو بوابة CCI ±50؛ NO-TRADE هو حارس الشمعة الجديدة؛ RISK هو وقف الخسارة 200 نقطة مع تجاوز السبريد؛ SIZING هو اللوت الثابت 0.10 (بدون نسبة مخاطرة)؛ EXIT هو إغلاق تقاطع CCI بالإضافة إلى الخروج الزمني بالإضافة إلى SL/TP؛ MANAGE هو مساعد إعادة المحاولة للإغلاق؛ SCALING غير مربوط (لا توسيع دخول)؛ CAPITAL CAP غير مربوط (لا سقف DD لكل حساب)؛ OnTester غير منفَّذ. تسمية الـ 12-طبقة هي بذلك جزئيًا طموحة — ثمان إلى تسع من الطبقات فعلاً في الكود.
للنشر، يعمل EX16028 على مخطط 5 دقائق افتراضيًا لكن المصدر يعمل على أي إطار زمني من M5 إلى H1، مع المعاملات مضبوطة لـ XAUUSD. وقف الخسارة/جني الأرباح 200/200 معايرة لنطاق الذهب اليومي المعتاد — 200 نقطة من XAUUSD هي تقريبًا حركة سعر قدرها 0.20 دولار، وهي ضيقة بما يكفي لفرض الانضباط على نسبة 1:1. الحد الأدنى للإيداع 100 دولار يعمل لأن اللوت الثابت 0.10 صغير، لكن 500 دولار موصى به للحصول على هامش ضد الخاسرين المتتاليين في الأسواق المتجهة. يجب أن يكون الوسيط ECN/RAW-سبريد لإبقاء أمان تجاوز السبريد من التفعيل بشكل متكرر — عندما يساوي السبريد 200 نقطة، وقف الخسارة بلا معنى. الإطار الزمني M5 ينتج إشارات أكثر لكل جلسة؛ H1 ينتج إشارات أقل وأكثر حسمًا. شغِّل خلال تداخل لندن-نيويورك لأعلى نشاط CCI على الذهب.
تفاصيل الاستراتيجية
يقرأ EX16028 مخزني مؤشرين عند كل شمعة جديدة — iCCI(37) وiMA(5, MODE_SMA, PRICE_CLOSE) — ويمشي آخر شمعتين مكتملتين عبر CheckPattern، الذي يختبر ما إذا كانت الشمعة 1 تتداخل داخل الجسم الحقيقي للشمعة 2 وما إذا كانت نقطة منتصف الشمعة السابقة MidPoint(2) على الجانب الصحيح من SMA-5. تُصفَّى هندسة الهارامي (شمعة طويلة تليها شمعة معاكسة صغيرة) عبر AvgBody(1) بحيث يجب أن تتجاوز الشمعة الطويلة متوسط جسم الشمعة الأخيرة. OnTick هو مسار من 4 مراحل مقيَّد بـ next_bar_open من نوع datetime ثابت: المرحلة 1 تشغِّل CheckState، المرحلة 2 تفتح مركزًا عندما توجد إشارة ولا يوجد مركز محتفظ به، المرحلة 3 تغلق على إغلاق تقاطع CCI، المرحلة 4 تغلق قسرًا بعد 10 شموع عبر حساب BarsHold() لـ CopyRates. فقط TryClose_EX16028 مربوط بمسار الإغلاق الحي؛ TryClosePartial_EX16028 وTryModify_EX16028 معرَّفتان لكن لم تُستدعَيا. يحرر OnDeinit ExtIndicatorHandle فقط؛ ExtTrendMAHandle يتسرب عند إلغاء تحميل EA.
يُطلَق الدخول الطويل عندما يتكون هارامي صعودي: الشمعة الأخيرة تُغلَق داخل الجسم الحقيقي للشمعة الهابطة السابقة، جسم الشمعة السابقة يتجاوز AvgBody(1) (طول جسم الشمعة الأخيرة نفسها)، وMidPoint(2) تحت المتوسط المتحرك البسيط لمدة 5. يتطلب التأكيد أن يقرأ iCCI(37) عند الشمعة 1 قيمة أقل من -50. يعكس الدخول القصير الهندسة على الجانب المقابل (الشمعة الأخيرة صاعدة، الشمعة الهابطة السابقة كبيرة، نقطة منتصف الشمعة السابقة فوق المتوسط) مع CCI(1) أعلى من +50. تُقيَّم الإشارات مرة عند كل شمعة جديدة، وليس عند كل تيكة.
تُغلَق المراكز على تقاطع CCI رباعي الحالات عند نطاق ±80: يُغلَق الطويل عندما ينخفض CCI(1) تحت 80 من فوق 80 (تبرد الزخم من تشبع شرائي) أو عندما يرتفع CCI(1) فوق -80 من تحت -80 (نضوب الانعكاس)، مع خروج القصير بعكس المنطق. تُغلَق المراكز قسرًا أيضًا بعد 10 شموع عبر فحص الوقت BarsHold() في CloseByTime، بصرف النظر عن الربح/الخسارة. يعمل وقف الخسارة الثابت 200 نقطة وجني الأرباح الثابت 200 نقطة فوق مخارج الإشارة هذه.
يُرفَق وقف خسارة ثابت 200 نقطة بكل دخول مع تجاوز سبريد دفاعي: إذا كان السبريد الحالي بالنقاط يساوي أو يتجاوز InpSL، يُستبدَل وقف الخسارة بسعر ± سبريد لمنع التفعيل الفوري. تُطبَّق نفس الحماية على فرع جني الأرباح — كلا ساقي الأمر محميان.
يوفر جني الأرباح الثابت 200 نقطة نسبة مخاطرة إلى عائد 1:1 متماثلة مع وقف الخسارة. كما في وقف الخسارة، جني الأرباح محمي بتجاوز سبريد: إذا كان السبريد يساوي أو يتجاوز InpTP بالنقاط، يسقط جني الأرباح إلى سعر ± سبريد بدلاً من المستوى المحسوب.
الحد الأدنى الموصى به للرصيد هو 100 دولار أمريكي مع 500 دولار أمريكي لتوفير هامش ضد الخاسرين المتتاليين على XAUUSD M5؛ يستخدم EA لوتًا ثابتًا 0.10 لكل إشارة مع وقف خسارة/جني أرباح 200/200 متماثل لنسبة 1:1. استخدم وسيط ECN أو RAW-سبريد لإبقاء أمان تجاوز السبريد 200 نقطة من التفعيل على تذبذب الذهب المعتاد. الإطار الزمني الافتراضي هو M5، مع H1 كبديل لإشارات أقل وأكثر حسمًا؛ تداخل لندن-نيويورك هو الجلسة الأعلى نشاطًا لـ CCI على الذهب. ملف مخاطر MEDIUM نظرًا لنسبة 1:1 RR بالإضافة إلى إيقاف زمني لـ 10 شموع.
منطق الاستراتيجية
Pipsgrowth EX16028 Trend — تحليل منطق الاستراتيجية (من كود .mq5)
العائلة: Trend
الماجيك: 22216028
الإصدار: 2.00
الوصف:
Harami pattern + CCI confirm, MA trend, time exit 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester
المؤشرات:
- مؤشرات قياسية
الدوال الرئيسية:
CheckState()PositionOpen()CloseBySignal()CloseByTime()PositionExist()PositionExpiredByTimeExist()BarsHold()Open()Close()Low()
// Pipsgrowth EX16028 Trend — Execution Flow (from source analysis)
// Family: Trend
// Harami pattern + CCI confirm, MA trend, time exit 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اسحب الإكسبرت على رسم H4 أو اليومي للحصول على أفضل النتائج
- 7حدد فترات EMA وعتبة ADX وحجم اللوت في نافذة الإعدادات
- 8فعّل Allow Algo Trading واضغط OK
معاملات الإكسبرت
| المعامل | الافتراضي | الوصف |
|---|---|---|
| InpAverBodyPeriod | 12 | period for calculating average candlestick size |
| InpMAPeriod | 5 | Trend MA period |
| InpPeriodCCI | 37 | CCI period |
| InpPrice | 1 | Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) // price type |
| InpDuration | 10 | position holding time in bars |
| InpSL | 200 | Stop Loss in points |
| InpTP | 200 | Take Profit in points |
| InpSlippage | 10 | slippage in points |
| InpLot | 0.1 | lot |
| InpMagicNumber | 22216028 | Magic Number |
| InpTradeComment | "Psgrowth.com Expert_16028" | Trade comment |
#property copyright "Pipsgrowth.com"
#property link "https://pipsgrowth.com"
#property version "2.00"
#property strict
#property description "Pipsgrowth.com EX16028 BullishBearish_Harami_CCI - Harami pattern + CCI confirm + MA trend filter, full 12-layer stack."
#include <Trade\Trade.mqh>
#include <Trade\SymbolInfo.mqh>
#define SIGNAL_BUY 1 // Buy signal
#define SIGNAL_NOT 0 // no trading signal
#define SIGNAL_SELL -1 // Sell signal
#define CLOSE_LONG 2 // signal to close Long
#define CLOSE_SHORT -2 // signal to close Short
ENUM_APPLIED_PRICE MapAppliedPriceInt(int ap)
{
switch(ap)
{
case 1: return PRICE_CLOSE;
case 2: return PRICE_OPEN;
case 3: return PRICE_HIGH;
case 4: return PRICE_LOW;
case 5: return PRICE_MEDIAN;
case 6: return PRICE_TYPICAL;
case 7: return PRICE_WEIGHTED;
default: return PRICE_CLOSE;
}
}
ENUM_APPLIED_PRICE g_InpPrice = PRICE_CLOSE;
input group "=== Pattern Parameters ==="
input int InpAverBodyPeriod=12; // period for calculating average candlestick size
input int InpMAPeriod =5; // Trend MA period
input int InpPeriodCCI =37; // CCI period
input int InpPrice = 1; // Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) // price type
ENUM_APPLIED_PRICE MapAppliedPriceInt(int ap)
{
switch(ap)
{
case 1: return PRICE_CLOSE;
case 2: return PRICE_OPEN;
case 3: return PRICE_HIGH;
case 4: return PRICE_LOW;
case 5: return PRICE_MEDIAN;
case 6: return PRICE_TYPICAL;
case 7: return PRICE_WEIGHTED;
default: return PRICE_CLOSE;
}
}
ENUM_APPLIED_PRICE g_InpPrice = PRICE_CLOSE;
input group "=== Trade Parameters ==="
input uint InpDuration=10; // position holding time in bars
input uint InpSL =200; // Stop Loss in points
input uint InpTP =200; // Take Profit in points
input uint InpSlippage=10; // slippage in points
ENUM_APPLIED_PRICE MapAppliedPriceInt(int ap)
{
switch(ap)
{الكود المصدري الكامل متاح عند التحميل
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.
تحذير صريح: لأغراض تعليمية فقط
تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.
وسطاء موصى بهم لهذا الإكسبرت
هذه الروبوتات تعمل على MT5 — استخدم وسيطاً موثوقاً بتنفيذ سريع وسبريد منخفض
إكسبرتات مشابهة
عرض جميع الإكسبرتاتإكسبرتات أخرى بنفس استراتيجية متابعة الاتجاه
Pipsgrowth EX16080 Trend — إكسبرت أدفايزر متابعة اتجاه
Pipsgrowth EX16080 Trend — EURUSD triple-EMA trend follower — trades EMA20/50 cross with EMA200 filter on H4, ATR-based SL/TP, risk-percent sizing . إكسبرت أدفايزر MT5 مفتوح المصدر.
Pipsgrowth EX16081 Trend — إكسبرت أدفايزر متابعة اتجاه
Pipsgrowth EX16081 Trend — Gold trend EA catching major XAUUSD trends using EMA 50/ 200 crossover on H4 with daily structure swing high/low and Fib. إكسبرت أدفايزر MT5 مفتوح المصدر.
Pipsgrowth EX16033 Trend — إكسبرت أدفايزر متابعة اتجاه
Pipsgrowth EX16033 Trend — Price-action scalping EA using distance-based grid entries with net-take-profit targeting and optional lot multiplier. 1. إكسبرت أدفايزر MT5 مفتوح المصدر.
مجتمع المستخدمين
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.