Pipsgrowth EX16087 Trend — إكسبرت أدفايزر متابعة اتجاه
إكسبرت أدفايزر MT5 مفتوح المصدر · XAUUSD · M5، H1
Pipsgrowth EX16087 Trend — MeetingLines pattern + CCI confirm, time exit 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SI. إكسبرت أدفايزر MT5 مفتوح المصدر.
نظرة عامة
يقوم هذا الـ EA على نموذج ياباني كلاسيكي يُعرف بـ «خطوط الالتقاء» (Meeting Lines)، وهو من أكثر نماذج الشموع اليابانية شيوعًا في تفسير الانعكاسات قصيرة المدى. يتكوّن النموذج من شمعتين متتاليتين تغلقان عند مستوى متقارب، وهو ما يدلّ على أن الاتجاه السابق فقد زخمه وأن السوق يستعد للالتفاف. يبني EX16087 منطق الدخول بالكامل حول النسختين الصاعدة والهابطة من هذا النموذج، مع تأكيد عبر مؤشر CCI، وخروج قسري بعد عدد محدد من الشموع.
في كل افتتاح لشمعة جديدة على الإطار الزمني المختار (M5 إلى H1، والافتراضي M5)، تبحث الدالة CheckPattern() عن شمعتين متتاليتين متقاربتَي الإغلاق. النسخة الصاعدة تشترط أن تكون الشمعة قبل الأخيرة (رقم 2) جسمًا أسود طويلًا يتجاوز متوسط حجم الجسم لـ 12 شمعة، وأن تكون الشمعة الأخيرة (رقم 1) جسمًا أبيض طويلًا بحجم مماثل، مع تقارب الإغلاقَيْن في حدود 0.1 من AvgBody(1). أما النسخة الهابطة فهي المرآة: شمعة بيضاء طويلة يتبعها شمعة سوداء طويلة، مع نفس شرط تقارب الإغلاق. طول الشمعة هنا نسبي؛ إذ يُقارَن الجسم بمتوسط AvgBody() المحسوب من الفرق المطلق بين الافتتاح والإغلاق لـ 12 شمعة سابقة، فلا تُعتبر الشمعة جزءًا من النموذج إلا إذا كانت أوضح من ضوضاء السوق الأخيرة. هذا ما يجعل النموذج نادر الظهور حتى على XAUUSD — فزوج من الأجسام الكبيرة المتقابلة بإغلاق متطابق تقريبًا لا يظهر في كل شمعة.
حين يَرِد النموذج، يرفع الـ EA إشارة مبدئية، لكنه لا يفتح مركزًا قبل أن يجتاز CCI(37) شرط التأكيد على نفس الشمعة. تسحب الدالة CheckConfirmation() قيمة مؤشر قناة السلع (Commodity Channel Index) لأحدث شمعة مغلقة، بالسعر المختار عبر InpPrice (الافتراضي الإغلاق، لكنه قابل للتعديل من 1=إغلاق حتى 7=مرجّح). النسخة الصاعدة من النموذج تحتاج CCI(1) أقل من −50 ليتم تأكيد الشراء، أما النسخة الهابطة فتحتاج CCI(1) أعلى من +50 لتأكيد البيع. تُستخدم هذه العتبات لتصفية النماذج التي تظهر في بيئات ضعيفة الزخم، فلا يدخل الـ EA إلا حين يكون الدفع اللحظي فعليًا ضد الاتجاه السابق. وإن لم يأتِ التأكيد، تُمحى الإشارة كليًا، ولا توجد حالة «احتمال» تُرحَّل إلى الشمعة التالية.
بعد رصد النموذج وتأكيده، تُستدعى PositionOpen() في الـ tick التالي. يُرسَل الأمر بسعر الطلب الحالي للشراء أو بسعر العرض الحالي للبيع، بحجم ثابت 0.10 لوت (InpLot). لا يوجد في هذا الـ EA أي sizing مرتبط بنسبة المخاطرة من الرصيد، ولا توسيع تدريجي، ولا فحص لاستخدام الهامش. حجم اللوت يُترك كليًا بيد المتداول، ومن ينتقل من 0.01 إلى 1.0 عليه تقدير قيمة العقد بنفسه.
يُضبط كل من وقف الخسارة وجني الأرباح بالنقاط من خلال InpSL (افتراضي 200 نقطة = 20 pip على وسيط بـ 5 خانات) وInpTP (200 نقطة كذلك)، ويُدرَجان في تذكرة الأمر لحظة الدخول، دون أي جدول صيانة لاحق. تطبّق PositionOpen() فحصًا وقائيًا مفيدًا: إذا كان السبريد الحالي أوسع من قيمة وقف الخسارة أو جني الأرباح المضبوطة، تُستبدل تلك المسافة بالسبريد نفسه بدلًا من القيمة المطلوبة. يحمي هذا الـ EA من إرسال تذاكر معطوبة أثناء ارتفاعات السبريد في الأخبار أو فترات السيولة المنخفضة، لكن الثمن أن الحماية تتقلّص حينها إلى عرض السبريد لحظة فتح الأمر.
لا يوجد وقف متابع، ولا نقطة تعادل، ولا إغلاق جزئي مدمج في المسار الحي للأوامر. توجد في أسفل الملف ثلاث دوال إعادة محاولة (TryClose_EX16087 وTryClosePartial_EX16087 وTryModify_EX16087) بالنمط المعتاد: 3 محاولات مع فاصل زمني 100–200 مللي ثانية لمعالجة إعادة التسعير (requote) والمهل وتغيّر السعر. لكن لا تُستدعى من المسار الحي سوى TryClose_EX16087، وذلك من CloseBySignal() وCloseByTime(). أما دوال الإغلاق الجزئي وتعديل الأوامر فهي معرّفة دون استخدام، ولن تعمل إلا إذا أضافها المطوّر يدويًا.
ما يميّز هذا الـ EA عن غيره من بوتات الانعكاس السعري هو وجود خروج زمني مستقل. بعد فتح المركز، يفحص الـ EA في كل tick عدد الشموع المنقضية منذ الدخول. ترجع BarsHold() عدد الشموع المغلقة بين وقت الفتح والآن من خلال CopyRates على رمز الشارت، وحالما يصل هذا العدد إلى InpDuration (افتراضي 10 شموع)، يُغلق المركز قسرًا عبر CloseByTime() بصرف النظر عن ربحية أو خسارة الصفقة. على M5 يعني ذلك سقف تعرض يبلغ نحو 50 دقيقة، وعلى M15 نحو ساعتين ونصف، وعلى H1 نحو عشر ساعات. هناك مسار إغلاق مستقل ثانٍ عبر CheckCloseSignal()؛ فعندما يرتد CCI عبر ±80 (مثلًا CCI(1) ينخفض تحت 80 بينما كان CCI(2) فوقه، أو يعبر فوق −80)، يُغلق الـ EA المركز المفتوح. وبالتالي يمكن للصفقة أن تنتهي بأربع طرق مختلفة: ارتداد CCI عند المستويات القصوى، أو جني الأرباح الثابت، أو وقف الخسارة الثابت، أو نفاد صلاحية الوقت.
المخاطرة في هذا الـ EA أحادية الجانب: لا يوجد سقف drawdown على مستوى المحفظة، ولا حد خسارة يومي، ولا فلتر أخبار، ولا فلتر جلسات، ولا آلية حماية للعد التنازلي للرصيد. أقرب ما يوجد من حواجز سلامة هو فحص السبريد مقارنة بوقف الخسارة وجني الأرباح عند الدخول، وفلتر الرقم السحري في كل حلقة إغلاق، فلا يدير الـ EA سوى مراكزه على رمز الشارت بالرقم السحري 22216087. اللوت هو ذراع تخصيص رأس المال الوحيد؛ كل ما عداه ناتج حتمي من بنية الشموع وقيمة CCI.
توقّع عملي من الباك تيست: منحنى الرصيد مرهون أساسًا بمدى قدرة تعريف متوسط الجسم لـ 12 شمعة على الإمساك بانعكاس حقيقي بدلًا من مجرد تشابه سعري عابر. النموذج نادر، وغالبًا لن يفتح الـ EA سوى handful من الصفقات يوميًا على M5. مع نسبة مخاطرة/عائد 1:1 ووقف زمني عند 10 شموع، توقّع أن نحو نصف الصفقات المغلقة ستكون رابحة بشكل طفيف، والباقي يتوزع بين خسائر التايم ستوب وخسائر وقف الخسارة. ولمن يبحث عن تحسين أعمق، يُستحسن التعامل مع ثنائية وقف الخسارة/جني الأرباح والـ timeout كمتغير واحد، لأن تغيير الإطار الزمني يغيّر بهدوء سقف عمر الصفقة.
تفاصيل الاستراتيجية
مع افتتاح كل شمعة جديدة، تستدعي CheckState() الدالة CheckPattern() للبحث عن تكوين «خطوط الالتقاء» الصاعد أو الهابط المكوّن من شمعتين، بمقارنة جسم كل شمعة بمتوسط AvgBody() لـ 12 شمعة وإغلاقَيْهما بهامش 10% من الجسم. عند رصد النموذج، تأخذ CheckConfirmation() قيمة CCI(37) للشمعة السابقة — الشراء يحتاج CCI < −50، والبيع يحتاج CCI > +50، وفي حال عدم التأكيد تُلغى الإشارة. النموذج المؤكَّد يستدعي PositionOpen() التي ترسل أمرًا بسعر السوق (الطلب للشراء، والعرض للبيع) بحجم ثابت 0.1 لوت، ووقف 200 نقطة، وجني أرباح 200 نقطة؛ وإذا تجاوز السبريد الفوري أيًّا من هاتين المسافتين، تُستبدل به. يُراقَب الأمر في كل tick لثلاثة شروط خروج: انعكاس CCI عند ±80، ووقف الخسارة/جني الأرباح، والإغلاق الزمني بعد 10 شموع عبر CloseByTime() وBarsHold(). لا يوجد وقف متابع، ولا نقطة تعادل، ولا إغلاق جزئي، ولا فلتر أخبار، ولا فلتر جلسات — تقتصر إدارة المخاطر على فلتر الرقم السحري، وفحص السبريد، ومدخل حجم اللوت الثابت.
يبحث الـ EA عن نموذج «خطوط الالتقاء» المكوّن من شمعتين: شمعة سوداء طويلة تتبعها شمعة بيضاء طويلة (أو العكس) ويكون إغلاقاهما متقاربين في حدود 10% من متوسط حجم الجسم لـ 12 شمعة. بعد رصد النموذج، يخضع الدخول لتأكيد مؤشر CCI(37) على آخر شمعة مغلقة: الشراء يتطلب CCI < −50، والبيع يتطلب CCI > +50. يعمل التأكيد عند افتتاح كل شمعة جديدة فقط، ولا يُسمح إلا بمركز واحد مفتوح في اتجاه الإشارة في كل مرة.
تتم عمليات الخروج عبر أربعة مسارات مستقلة: جني الأرباح الثابت عند 200 نقطة، ووقف الخسارة الثابت عند 200 نقطة، وانعكاس CCI عند المستويات القصوى (إغلاق عند تجاوز ±80)، وإغلاق قسري زمني بعد مرور InpDuration (افتراضيًا 10) شموع منذ الدخول. لا تُستدعى من المسار الحي سوى TryClose_EX16087، في حين تبقى دوال إعادة المحاولة للإغلاق الجزئي وتعديل الأوامر معرّفة دون أن تُستخدم فعليًا.
يحمل كل أمر وقف خسارة ثابتًا عند 200 نقطة (InpSL) يُرسل مع التذكرة عند الدخول، أي ما يعادل 20 pip على وسيط بخمس خانات. إذا كان السبريد الفوري أوسع من قيمة وقف الخسارة المضبوطة، يلجأ الكود إلى وقف بحجم السبريد ويطبع تحذيرًا بدلًا من إرسال تذكرة أضيق. لا يوجد وقف متابع أو وقف عند نقطة التعادل لكل صفقة، ولا سقف drawdown على مستوى المحفظة.
جني الأرباح ثابت عند 200 نقطة (InpTP)، ما يمنح نسبة مخاطرة/عائد 1:1 أمام وقف الخسارة المماثل عند 200 نقطة. وكما في وقف الخسارة، إذا كان السبريد الفوري أوسع من قيمة جني الأرباح المضبوطة، يُستعاض عنه بعرض السبريد لحظة الدخول. كما أن الإغلاق الزمني للنموذج بعد 10 شموع قد ينهي الصفقة قبل بلوغ جني الأرباح.
الحد الأدنى للرصيد 100 دولار بحجم اللوت الافتراضي 0.10، وهو ما يُبقي تعرض الصفقة الواحدة متواضعًا على حساب سنت. يحتاج النموذج حركة سعر واضحة، لذا فإن أنسب بيئة تشغيل هي وسيط ECN بفارق سعر منخفض على XAUUSD على إطار M5 خلال ساعات لندن ونيويورك النشطة؛ أما الجلسات الهادئة في آسيا فعادةً ما تنتج عددًا قليلًا من الانعكاسات الحقيقية. فترة CCI(37) طويلة بما يكفي لأن لا يكون الـ EA من المضاربات السريعة، لكن الإغلاق الزمني بعد 10 شموع يُبقي التعرض محدودًا — وعلى المتداولين الباحثين عن مراكز لأيام متعددة تغيير الإطار الزمني أو تجاوز هذا الـ EA.
منطق الاستراتيجية
Pipsgrowth EX16087 Trend — تحليل منطق الاستراتيجية (من كود .mq5)
العائلة: Trend
الماجيك: 22216087
الإصدار: 2.00
الوصف:
MeetingLines pattern + CCI confirm, 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 EX16087 Trend — Execution Flow (from source analysis)
// Family: Trend
// MeetingLines pattern + CCI confirm, 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 |
| 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 | 22216087 | Magic Number |
| InpTradeComment | "Psgrowth.com Expert_16087" | Trade comment |
#property copyright "Pipsgrowth.com"
#property link "https://pipsgrowth.com"
#property version "2.00"
#property strict
#property description "Pipsgrowth.com EX16087 BullishBearish_MeetingLines_CCI - Meeting Lines pattern + CCI confirm, 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 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)
{
case 1: return PRICE_CLOSE;الكود المصدري الكامل متاح عند التحميل
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.
تحذير صريح: لأغراض تعليمية فقط
تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.
وسطاء موصى بهم لهذا الإكسبرت
هذه الروبوتات تعمل على 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 مفتوح المصدر.
مجتمع المستخدمين
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.