Pipsgrowth EX18087 TrendFollow — إكسبرت أدفايزر إكسبرت أدفايزر
إكسبرت أدفايزر MT5 مفتوح المصدر · XAUUSD · M5، H1
Pipsgrowth EX18087 TrendFollow — MA signal with Parabolic SAR trailing using the standard CExpert library. Trend-follow entries on MA, PSAR manages exit.. إكسبرت أدفايزر MT5 مفتوح المصدر.
نظرة عامة
Pipsgrowth EX18087 خبير اتجاهTrend-following) موجز ومتعمد التبسيط لمنصة MT5، يعتمد بالكامل على مكتبة CExpert القياسية من MetaQuotes. يكشف ملف .mq5 البنية الفعلية للخبير: يُنشئ وحدة إشارة واحدة (CSignalMA)، ووحدة trailing واحدة (CTrailingPSAR)، ووحدة إدارة مال واحدة (CMoneyNone)، ثم يوجّه كل تيكة إلى محرك CExpert عبر ExtExpert.OnTick(). على الرغم من إشارة رأس الملف إلى "بنية من 12 طبقة"، فإن التطبيق الفعلي صغير وقابل للقراءة ومبني على بدائيات مكتبة معروفة — النوع من الخبراء الذي يمكن لمطوّر مراجعته في جلسة واحدة.
طبقة الدخول مبنية على المتوسط المتحرك. المدخلات القابلة للتعديل من المستخدم تتحكم في signal.PeriodMA(12)، وsignal.Shift(6)، وsignal.Method(MODE_SMA)، وsignal.Applied(g_Inp_Signal_MA_Applied)، حيث يكون السعر المُطبَّق افتراضيًا PRICE_CLOSE من خلال ربط العدد الصحيح بـ ENUM_APPLIED_PRICE (القيمة 1 = الإغلاق، 2 = الافتتاح، 3 = الأعلى، 4 = الأدنى، 5 = الوسيط، 6 = النموذجي، 7 = المرجح). ما يفعله إطار CExpert فوق هذه الإعدادات هو تقاطع المتوسط المتحرك الكلاسيكي: يقارن قيمة المتوسط عند الإزاحة المحددة بالسعر، وعندما ينعكس العلاقة يُصدر إشارة شراء أو بيع. الإزاحة بستة أعمدة كبيرة بشكل غير معتاد — فمعظم إعدادات M5 تستخدم shift = 0 أو 1 — مما يمنح طبقة الدخول وضعًا متعمدًا ضد الانعكاسات السريعة. مع shift = 6 على شمعة M5، يقيّم الخبير العلاقة بين المتوسط والسعر باستخدام شمعة أُغلقت قبل نصف ساعة، لذا سيفوّت عادةً أول حركة اندفاعية وينخرط فقط بعد أن يكون الاتجاه الجديد قد رسّخ عدة أعمدة. هذا التحفّظ هو السمة المميزة لمحرك الدخول في EX18087: متوسط بسيط SMA(12) بإزاحة 6 أعمدة، وليس تقاطع EMA سريعًا.
طبقة الخروج هي ما يميّز EX18087 عن معظم الخبراء الآخرين في المجموعة. لا يوجد جني أرباح ثابت، ولا وقف خسارة ثابت، ولا ترس رatchet للتعادل، ولا توقف زمني، ولا حتى قوس TP/SL لكل صفقة. يعتمد الخبير بالكامل على وقف الخسارة المتحرك Parabolic SAR المعرَّف في CTrailingPSAR، والمُهيّأ بـ step = 0.02 وmaximum = 0.2. يعمل PSAR في وضع trailing كوقف خسارة متحرك: تُعاد نقطة SAR عند كل تيكة، وتجلس النقطة تحت السعر في الاتجاه الصاعد (أو فوقه في الاتجاه الهابط)، ويشدّد الخبير باستمرار وقف الصفقة إلى تلك النقطة. عندما ينتهك السعر أخيرًا مستوى SAR (تنقلب النقطة إلى الجانب الآخر من السعر)، تُغلق وحدة trailing الصفقة. زوج step/maximum (0.02/0.2) هو الإعداد الافتراضي القياسي لـ PSAR في MetaTrader — حساس بما يكفي لقفل أرباح ذات معنى على تذبذبات الذهب البالغة 30-60 نقطة في M5، ومرن بما يكفي لإعطاء اتجاه حقيقي متنفسًا. النتيجة هي متابع اتجاه بحت: يدخل عند تقاطع المتوسط البطيء، يركب الاتجاه طالما بقي PSAR في الجانب الصحيح، ويخرج عند انعكاس PSAR.
طبقة إدارة المال هي CMoneyNone، ما يعني عدم وجود نسبة مخاطرة مدمجة، ولا override للحجم الثابت، ولا سقف للحجم، ولا تحجيم قائم على الرصيد. تُفتح الصفقات بالحجم الافتراضي للوسيط، وهو 0.01 لحسابات الميكرو في معظم إعدادات ECN على MT5، و0.10 أو 1.00 للحسابات القياسية. لذلك فإن ملف المخاطر بأكمله هو دالة في حجم الصفقة، ولا يقوم EX18087 بحماية الحساب خارج ما يقدّمه وقف الخسارة المتحرك. المتداول الذي يربط هذا الخبير بحساب 100 دولار على XAUUSD بحجم 0.01 لوت يتعرض تقريبًا لـ 1 دولار لكل نقطة ذهب — عند 30 نقطة حركة عكسية (وهذا ضمن دورة PSAR M5 طبيعية على الذهب)، تكون المخاطرة 30 دولار للصفقة، ويستطيع الحساب امتصاص ذلك بسهولة في يوم هادئ. المتداول على نفس حساب 100 دولار بحجم 1.00 لوت يتعرض لـ 100 دولار لكل نقطة، وهو ما سيُفجّره انعكاس PSAR واحد. لذلك فإن مدخل المخاطرة ليس إعدادًا داخل الخبير — بل هو اختيار حجم التداول على جانب الوسيط. يجب على أي شخص يختبر EX18087 أن يعتبر حجم اللوت أهم أداة تحكم في المخاطر، لأن الخبير لا ينظّمه.
يتضمن الكود ثلاث دوال إعادة المحاولة — TryClose_EX18087 وTryClosePartial_EX18087 وTryModify_EX18087 — التي تكرّر حتى ثلاث مرات عند REQUOTE / TIMEOUT / PRICE_OFF / PRICE_CHANGED مع backoff مقداره 200ms على محاولات الإغلاق و100ms على محاولات التعديل. هذه الدوال معرَّفة في أسفل الملف ومتاحة لأي مستدعٍ يريد تجاوز سلوك الفئة الأساسية CExpert، لكن محرك CExpert الأساسي لا يستدعيها افتراضيًا. عمليًا، هي scaffolding أكثر من كونها مسارات كود نشطة؛ فحركة الإغلاق والتعديل الفعلية للخبير تتدفق عبر آليتي PositionClose وPositionModify الخاصتين بـ CExpert. هذه هي البنية الأكثر نظافة لخبير يريد أن يكون قابلاً للمراجعة: كل سلوك يراه المستخدم في وقت التشغيل منفّذ في فئتي مكتبة، والدوال الغلافية موجودة لكن خامدة ما لم يقم أحد بربطها.
في OnInit يتبع الكود تسلسل إعداد CExpert القانوني: تهيئة ExtExpert، إنشاء CSignalMA، استدعاء signal.PeriodMA / Shift / Method / Applied، التحقق من إعدادات الإشارة، إنشاء CTrailingPSAR، استدعاء trailing.Step / Maximum، التحقق من إعدادات trailing، إنشاء CMoneyNone، التحقق من إعدادات المال، ثم استدعاء ExtExpert.InitIndicators(). عند أي فشل في التهيئة يُعيد الخبير كودًا سالبًا (-1 إلى -11 حسب الطبقة) ويطبع سلسلة خطأ مُعنونة. معالجات الأحداث الأربعة — OnTick وOnTrade وOnTimer وOnDeinit — كلها سطور وحيدة توجّه الطلب إلى ExtExpert. لا يوجد كود OnTimer مخصص، ولا فلتر أخبار، ولا فلتر نافذة زمنية، ولا مصنّف نظام سوق (regime classifier)، ولا بوابة سبريد، ولا منطق سلّم (pyramid)، ولا لوحة معلومات، ولا دالة OnTester للتحسين. ما يعمل في وقت التشغيل هو بالضبط ما تعلنه لوحة المدخلات: إشارة MA(12, SMA, إغلاق, إزاحة 6) مع trailing PSAR(0.02, 0.2)، بدون SL، بدون TP، بدون إدارة مال، بدون فلتر زمني.
الصورة التشغيلية واضحة إذن. سيُبقي EX18087 على الصفقات خلال ضوضاء M5 طالما بقي PSAR ثابتًا؛ وسيخرج عند انعكاس PSAR مع أي ربح أو خسارة سمح بها trailing؛ وسيُعيد الدخول عند تقاطع MA التالي بدون أي قيود على الجلسة. إعداد XAUUSD M5 الافتراضي في قاعدة البيانات يطابق انحياز M5 للإزاحة بستة أعمدة، لكن رأس الملف يشير صراحة إلى أن الخبير قابل للنقل إلى أزواج FX الرئيسية والمعادن الأخرى. على EURUSD M5 تنطبق نفس المنطق بمقياس نقاط أصغر، وتكون نقطة PSAR أضيق بالنقاط المطلقة، وتكون الإزاحة بستة أعمدة أكثر أهمية لأن نطاقات EURUSD M5 أضيق من نظيراتها في الذهب. على H1 تصبح الإزاحة ست ساعات من التأخير، وهو التزام جاد بدخول متأخر. الإعداد الأكثر فائدة للضبط في اختبار أمامي حي هو فترة المتوسط المتحرك — إنزالها من 12 إلى 8 أو 10 يسرّع الدخول وينتج إشارات أكثر على حساب مزيد من ضوضاء انعكاسات PSAR؛ ورفعها إلى 20 أو 30 ينتج اتجاهات أقل تكرارًا لكنها أكثر ديمومة. كل شيء آخر في لوحة المدخلات هو افتراضي للمكتبة وتغييره (مثل step/maximum لـ PSAR، أو السعر المُطبَّق) له معنى فقط إذا كان لدى المتداول سبب واضح للانحراف عن معيار MetaTrader.
خلاصة القول: EX18087 هو متابع اتجاه مدمج ومكتبي قائم على المكتبة للمتداولين الذين يريدون تنفيذ CExpert نظيفًا وقابلاً للمراجعة بدلاً من كتلة واحدة مكتوبة يدويًا. ميزته تأتي من تفاعل زوج إشارة MA / trailing PSAR — المتوسط البطيء مع إزاحة الستة أعمدة يقمع الانعكاسات السريعة، وtrailing PSAR يلتقط الاتجاهات ويقصّر الانخفاضات. الخبير لا يدير المخاطر، ولا يفلتر الجلسات، ولا يدرّج الصفقات، ولا يحمي من أحداث جانب الوسيط خارج افتراضيات الفئة الأساسية CExpert. أفضل نشر له على الأدوات ذات الاتجاهات اليومية القوية (الذهب M5، أزواج FX الرئيسية M5)، وعلى حسابات اختار فيها المستخدم حجم لوت يطابق قدرته على تحمّل المخاطر، وفي بيئة وسيط حيث يمكن للفئة الأساسية CExpert العمل دون آثار تقريب Micro-Lot.
تفاصيل الاستراتيجية
يُنشئ تسلسل OnInit ثلاث كائنات من مكتبة MetaTrader — CSignalMA وCTrailingPSAR وCMoneyNone — ويربطها في الفئة الأساسية CExpert، ويتحقق من إعدادات كل طبقة، ويُعيد INIT_SUCCEEDED أو كودًا سالبًا يحدد الطبقة الفاشلة. عند كل تيكة، يوجّه OnTick الطلب إلى ExtExpert.OnTick()، مما يتيح للمكتبة تقييم إشارة MA(12, SMA, إغلاق, إزاحة 6) عند إغلاق العمود السادس السابق، وعند انعكاس العلاقة بين المتوسط والسعر، تُفتح صفقة يُزرع وقفها الأولي بنقطة SAR. ثم تعمل وحدة trailing PSAR عند كل تيكة، وتُعيد حساب النقطة وتشدّد وقف الصفقة إليها؛ وعندما ينتهك السعر أخيرًا النقطة، تُغلق الوحدة الصفقة. لا يوجد كود OnTimer مخصص، ولا فلتر أخبار، ولا فلتر نافذة زمنية، ولا بوابة سبريد، ولا منطق سلّم، ولا لوحة معلومات — كل سلوك يمكن ملاحظته في وقت التشغيل منفّذ في فئتي المكتبة هاتين إضافة إلى وحدة المال الخاملة. دوال إعادة المحاولة الثلاث في أسفل الملف (TryClose_EX18087 وTryClosePartial_EX18087 وTryModify_EX18087) تكرّر حتى ثلاث مرات عند REQUOTE / TIMEOUT / PRICE_OFF / PRICE_CHANGED مع backoff مقداره 200ms أو 100ms، وهي متاحة لأي مستدعٍ يريد تجاوز سلوك الفئة الأساسية CExpert، لكن إطار CExpert لا يستدعيها افتراضيًا.
يتم توليد الإشارة من وحدة CSignalMA القياسية في MetaTrader، والمُهيّأة بـ PeriodMA=12 وShift=6 وMethod=MODE_SMA وApplied=PRICE_CLOSE. تقارن الفئة الأساسية CExpert قيمة SMA(12) عند الإزاحة بستة أعمدة مع السعر الحالي، وتصدر إشارة شراء أو بيع عندما تنعكس العلاقة بين المتوسط والسعر، وهو ما ينتج دخولًا متعمدًا متأخرًا ومضادًا للانعكاسات السريعة بعد نصف ساعة من بدء اتجاه M5 جديد. مع shift=6 على M5، تقيّم الإشارة باستخدام شمعة أُغلقت قبل 30 دقيقة، لذا يفوّت الخبير أول حركة اندفاعية ولا ينخرط إلا بعد رسوخ الاتجاه.
تتم إدارة الخروج بالكامل بواسطة وحدة trailing CTrailingPSAR بإعدادات Step=0.02 وMaximum=0.2. عند كل تيكة، تُعاد نقطة SAR ويُشدَّد وقف الصفقة إلى تلك النقطة؛ وعندما ينتهك السعر أخيرًا مستوى SAR (تنقلب النقطة إلى الجانب الآخر من السعر)، تُغلق وحدة trailing الصفقة. لا يوجد TP ثابت، ولا قوس SL ثابت، ولا ترس ratchet للتعادل، ولا توقف زمني، ولا خروج عند الإشارة العكسية — انعكاس PSAR هو مسار الخروج الوحيد.
لا يوجد قوس وقف خسارة ثابت لكل صفقة عند الدخول — وقف الخسارة ديناميكي وتتم إدارته حصريًا من خلال trailing CTrailingPSAR، الذي يشدّد وقف الصفقة إلى نقطة SAR عند كل تيكة. المخاطرة لكل صفقة تُحدَّد بناءً على المسافة من سعر الدخول إلى نقطة SAR لحظة الدخول، ويمكن لانعكاس PSAR العكسي أن ينتج خسارة تساوي تقريبًا مسافة SAR الأولية تلك.
لا يوجد جني أرباح ثابت — جني الأرباح ضمني ويظهر عندما يرتفع وقف الخسارة المتحرك PSAR (للمراكز الطويلة) أو ينخفض (للمراكز القصيرة) بقدر كافٍ مع تذبذب M5. الربح المحقق في أي صفقة مُغلقة يساوي أعلى مستوى للسعر مطروحًا منه وقف الخسارة المشدّد إلى SAR لحظة انعكاس PSAR، وهو ما يلتقط على XAUUSD M5 عادة تذبذبات 30-60 نقطة.
يُنشر بشكل أفضل على رسم بياني XAUUSD M5 أو H1 بحساب 100 دولار أو أكثر على وسيط ECN بسبريد منخفض، مع اختيار المستخدم صراحةً حجم لوت ثابت يطابق قدرته على تحمّل المخاطرة (الخبير لا يدير حجم اللوت عبر CMoneyNone). مثالي للمتداولين الذين يريدون تنفيذًا نظيفًا وقابلاً للمراجعة من مكتبة CExpert مع فلتر دخول SMA(12) / shift=6 بطيء و trailing PSAR، والذين يفضّلون تحديد المخاطرة بأنفسهم بدلاً من تسليمها إلى وحدة إدارة مال. أقل ملاءمة للحسابات التي تحتاج إلى نسبة مخاطرة آلية أو فلترة جلسات، لأن الخبير لا يتضمن فلترًا زمنيًا مدمجًا ولا تحجيم حجم قائم على الرصيد.
منطق الاستراتيجية
Pipsgrowth EX18087 TrendFollow — تحليل منطق الاستراتيجية (من كود .mq5)
العائلة: TrendFollow
الماجيك: 22218087
الإصدار: 2.00
الوصف:
MA signal with Parabolic SAR trailing using the standard CExpert library. Trend-follow entries on MA, PSAR manages exit. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester
المؤشرات:
- مؤشرات قياسية
الدوال الرئيسية:
OnTrade()OnTimer()TryClose_EX18087()TryClosePartial_EX18087()TryModify_EX18087()
// Pipsgrowth EX18087 TrendFollow — Execution Flow (from source analysis)
// Family: TrendFollow
// MA signal with Parabolic SAR trailing using the standard CExpert library. Trend-follow entries on MA, PSAR manages 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
معاملات الإكسبرت
| المعامل | الافتراضي | الوصف |
|---|---|---|
| Expert_MagicNumber | 22218087 | Magic number |
| Inp_Signal_MA_Applied | 1 | Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) |
| Inp_Trailing_ParabolicSAR_Maximum | 0.2 | +------------------------------------------------------------------+ |
#property copyright "Pipsgrowth.com"
#property link "https://pipsgrowth.com"
#property version "2.00"
#property strict
#property description "Pipsgrowth.com EX18087 ExpertMAPSAR — MA signal with PSAR trailing, full 12-layer stack."
//+------------------------------------------------------------------+
//| Include |
//+------------------------------------------------------------------+
#include <Expert\Expert.mqh>
#include <Expert\Signal\SignalMA.mqh>
#include <Expert\Trailing\TrailingParabolicSAR.mqh>
#include <Expert\Money\MoneyNone.mqh>
//+------------------------------------------------------------------+
//| Inputs |
//+------------------------------------------------------------------+
//--- inputs for expert
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_Inp_Signal_MA_Applied = PRICE_CLOSE;
input group "=== Identity ==="
input string Inp_Expert_Title ="Pipsgrowth.com Expert_18087";
input string InpTradeComment ="Psgrowth.com Expert_18087";
input long Expert_MagicNumber =22218087; // Magic number
bool Expert_EveryTick =false;
//--- inputs for signal
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_Inp_Signal_MA_Applied = PRICE_CLOSE;
input group "=== Signal (MA) ==="
input int Inp_Signal_MA_Period =12;
input int Inp_Signal_MA_Shift =6;
input ENUM_MA_METHOD Inp_Signal_MA_Method =MODE_SMA;
input int Inp_Signal_MA_Applied = 1; // Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted)
//--- inputs for trailing
ENUM_APPLIED_PRICE MapAppliedPriceInt(int 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 مفتوح المصدر.
مجتمع المستخدمين
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.