Pipsgrowth EX16078 Trend — إكسبرت أدفايزر متابعة اتجاه
إكسبرت أدفايزر MT5 مفتوح المصدر · XAUUSD · M5، H1
Pipsgrowth EX16078 Trend — Smooth Engine EA using Hull MA, Linear Regression slope, ATR volatility, and Choppiness Index for smooth trend entries. . إكسبرت أدفايزر MT5 مفتوح المصدر.
نظرة عامة
Pipsgrowth EX16078 هو مستشار خبير يتبع الاتجاه بأسلوب سلس (Smooth) مبني حول أربعة مؤشرات مخصصة تُحسب داخل البرنامج نفسه بدلاً من الاعتماد على مقابض iHandles. جوهره متوسط هول (Hull) بطول 20 يُمرَّر إلى انحدار خطي بطول 14، ثم يُقسَّم ميل ذلك الانحدار على قيمة ATR(14) لتخفيف ضوضاء التذبذب، ويُحكم الباب بالكامل بمؤشر التقطّع (Choppiness Index) بطول 14 يوقف الإشارات كلما تجاوزت قراءة الـ CI حد 61.8. النتيجة الصافية هي محرك لا يفتح صفقات اتجاهية إلا حين يكون السوق فعلاً في حركة موجهة والبنية النطاقية الأخيرة غير دائرية.
يُبنى متوسط هول يدوياً داخل دالة CalculateHMA() عبر حساب متوسط WMA للإغلاقات على كامل الفترة، ثم WMA آخر على نصف الفترة، ثم حساب ضعف الفرق (2·WMA_half − WMA_full)، ثم WMA نهائية على √N من هذا الفرق. الناتج منحنى يتأخر عن السعر بحوالي نصف فترة WMA العادية لكنه يفلتر القفزات الكاذبة بشكل كافٍ. تأخذ دالة CalculateLRSlope() أحدث 14 نقطة من HMA وتُجري عليها ملاءمة المربعات الصغرى، وتُرجع ميل خط الانحدار. قسمة هذا الميل على قيمة ATR(14) الحالية تعطي الميل المُطبَّع، وهو الميزة الاتجاهية الوحيدة التي يتداول عليها المحرك. يُعاد بناء ATR داخل دالة CalculateATR() باستخدام النطاق الحقيقي (True Range) القائم على High/Low وإغلاق الشمعة السابقة، ثم يُمَهَّد بمتوسط وايلدر التراكمي.
مؤشر التقطّع (CI) هو مصنّف نظام السوق. خلال نافذة 14 شمعة يجمع قيم ATR ويلتقط أعلى-أدنى مدى لنفس النافذة، ويُرجع 100·log10(ΣATR/range)/log10(period). حين يكون CI أعلى من 61.8 يدخل السوق في تقطّع — لا اتجاه واضح ولا نطاق محدد. لذلك تُرجع GetSignal() القيمة 0 (لا تداول) في هذه الحالة بصرف النظر عن إشارة الميل. حين ينخفض CI دون 61.8 ويكون الميل المُطبَّع موجباً يُرجع المحرك إشارة شراء (+1)، وحين يكون الميل سالباً يُرجع إشارة بيع (−1). يُثبَّت الإزاحة داخل المحرك على 0 لأن المصفوفات الداخلية تُحدَّث من بيانات الشمعة المغلقة [1]، فالإشارة جاهزة للقرار عند افتتاح الشمعة [0] ولم يسبق للمحرك أن نظر إلى الشمعة الحالية.
في كل تيك تتحقق OnTick من شمعة جديدة وتدفع إغلاق/أعلى/أدنى الشمعة [1] المغلقة إلى المخازن الدائرية للمحرك عبر UpdateData(). تُعاد قيم HMA والميل وCI وتُخزَّن عند إزاحاتها. منطق التداول الذي يليها ينقسم إلى كتلتين: كتلة إغلاق وكتلة فتح. إذا انقلبت الإشارة إلى −1 ووجد شراء مفتوح، تُستدعى CloseAllTrades(POSITION_TYPE_BUY) التي تمرّ على قائمة المراكز وتستدعي TryClose_EX16078 لكل تذكرة. تُغلِّف TryClose_EX16078 الأمر trade.PositionClose في حلقة من 3 محاولات تُعيد المحاولة عند رموز requote وtimeout وprice-off وprice-changed مع 200ms بين المحاولات. المسار العكسي مماثل لمراكز البيع حين تنقلب الإشارة إلى +1.
تُلزِم كتلة الفتح بحد أقصى لعدد المراكز وقاعدة تكديس اختيارية. حين تكون الإشارة +1 ولا يوجد شراء مفتوح يُطلَق OpenTrade(ORDER_TYPE_BUY)؛ يُحسَب حجم الأمر عبر CalculateLotSize() ليخاطر بـ 1% من الرصيد بالضبط مقابل مسافة StopLoss_Points الثابتة البالغة 300 نقطة، مع تقريب الحجم إلى خطوة اللوت في الرمز. إذا كان التكديس مفعّلاً وكان عدد الشراءات أقل من MaxOpenTrades (3 افتراضياً)، يفحص المحرك ربح آخر شراء مفتوح محوّلاً إلى نقاط؛ حين يتجاوز ربح-بالنقاط قيمة PyramidingStep_Points (200) يُضاف شراء ثانٍ (ثم ثالث في النهاية) بنفس الشروط. تنطبق قاعدة التكديس نفسها على جانب البيع. يفحص مسار الفتح أيضاً CheckSpread() في بدايته، فيوقف أي أمر جديد إذا كان سبريد الرمز أعلى من MaxSpread_Points (30) ويطبع رسالة 'Blocked by Spread Filter' في سجل Experts.
فلتر الجلسة قائم على نص. القيمة الافتراضية لـ TradingHours هي '08:00-20:00' وتُحلَّل عبر GetStartHour/GetStartMinute/GetEndHour/GetEndMinute إلى نطاق بالدقائق من اليوم؛ تُرجع IsTradingTime() القيمة true فقط حين يكون توقيت الخادم داخل هذا النطاق. خارجه تعود OnTick مبكراً بعد تحديث لوحة المعلومات، فيبقى المحرك يتابع الحالة لكنه لا يفتح ولا يغلق مراكز — مناسب للمتداولين الذين يريدون إبقاء اللوحة مرئية على مدار الساعة مع السماح للمستشار بالعمل فقط ضمن نافذة محددة. اللوحة نفسها مستطيل أسود قياسه 200×160 مُثبَّت في الزاوية العلوية اليسرى للرسم البياني، تعرض الإشارة الحالية (WAIT/BUY/SELL بالأزرق أو الأحمر)، الربح/الخسارة التراكمي لكل مراكز الرمز الظاهر، وفترة HMA الحالية. يوجد زرّان [+] و [−] تحت ملصق الفترة: النقر على [+] يزيد g_HMA_Period ويستدعي ReinitializeEngine() لإعادة بناء مخازن المحرك من التاريخ بالفترة الجديدة؛ النقر على [−] ينقصها حتى حد أدنى قدره 2. زر CLOSE ALL الأحمر يُسطِّح الجانبين دفعة واحدة.
ما يميّز EX16078 عن تقاطع المتوسطات التقليدي هو التنعيم المزدوج على جانب الميل: يزيل HMA تذبذب الشمعة-بلون-شمعة لمتوسط السعر الخام، ويُلغي خط الانحدار على 14 نقطة من HMA أي تذبذب بقي. يعمل مؤشر CI كصمام إذن حتى لا يدخل المحرك كل ارتجافة صغيرة في شريط جانبي. توقّع تكرار تداول منخفض، وخسائر صغيرة متكررة في التقاطعات، وسلسلة مكاسب أكبر حين يتبلور اتجاه نظيف على H1 أو M5 داخل نافذة 08:00-20:00. المخاطرة لكل صفقة ثابتة عند 1% من الرصيد عبر وقف 300 نقطة، وهدف 600 نقطة يعطي نسبة مخاطرة/عائد 1:2 على كل دخول جديد، ويُطبَّق نفس الـ SL/TP على أرجل التكديس. للاختبار التاريخي، اعلم أن المحرك يعالج شمعة واحدة لكل تيك شمعة جديدة ويُحدِّث اللوحة على كل تيك، فالأداء البصري ضمن قدرة MT5؛ فقط تذكّر أن الرقم السحري 22216078 مدمج في التعليق 'Psgrowth.com Expert_16078' الذي يظهر على كل أمر.
تفاصيل الاستراتيجية
يحتفظ EX16078 بسبعة مخازن داخلية (إغلاق، أعلى، أدنى، ATR، HMA، ميل، تقطّع) داخل صنف CSmoothEngine، تُحدَّث عند كل شمعة جديدة من بيانات الشمعة [1] المغلقة عبر UpdateData(). يُبنى HMA كـ 2·WMA(N/2) − WMA(N) مع تنعيم WMA ثان بطول √N؛ والميل هو تدرّج انحدار خطي على آخر 14 نقطة من HMA؛ وبوابة نظام السوق هي 100·log10(ΣATR/range)/log10(14) تُحجب فوق 61.8. في كل تيك تستعلم OnTick من GetSignal() وتُشغّل مسار الإغلاق (إغلاق الجانب المعاكس عند انعكاس الإشارة) ومسار الفتح (دخول بحجم ثابت محسوب بنسبة مخاطرة مع تكديس اختياري بشرط ربح-بالنقاط حتى MaxOpenTrades). نافذة TradingHours (افتراضياً 08:00-20:00) تُحجم فرع التداول لكن تحديث اللوحة يجري في كل تيك. اللوحة تفاعلية: زرّا [+] و [−] يغيّران g_HMA_Period أثناء التشغيل ويستدعيان ReinitializeEngine() لإعادة بناء المخازن من التاريخ؛ زر CLOSE ALL الأحمر يُسطّح الجانبين عبر TryClose_EX16078.
شروط الدخول شراءً: أن يطبع مؤشر التقطّع CI(14) قيمة 61.8 أو أقل (فلتر نظام السوق) وأن يكون ميل الانحدار الخطي بطول 14 المأخوذ على متوسط هول HMA(20) والمُطبَّع بـ ATR(14) موجباً. البيع هو النسخة المعكوسة، ويتطلب CI ≤ 61.8 مع ميل مُطبَّع سالب. يكدّس المحرك حتى MaxOpenTrades (3) مراكز إضافية في اتجاه الاتجاه، مع اشتراط أن يحقق آخر رجل ربحاً قدره PyramidingStep_Points (200) نقطة لفتح الرجل التالية.
أي انعكاس في الإشارة يجبر المحرك على إغلاق كل مراكز الجانب الآخر فوراً عبر CloseAllTrades() التي تستخدم حل TryClose_EX16078 لمعالجة رموز requote وتغيّر السعر. كل أمر يحمل هدف ربح ثابتاً عند 600 نقطة يُغلق الصفقة تلقائياً بنسبة مخاطرة/عائد 1:2، بصرف النظر عن مسار الإغلاق بانعكاس الإشارة.
كل مركز يُفتح بوقف خسارة ثابت عند 300 نقطة (StopLoss_Points) يُربط لحظة إصدار الأمر، مع تطبيع إلى عدد خانات الرمز. لا يوجد وقف متابع ولا رافعة تعادل في المحرك — مسافة 300 نقطة هي المخاطرة المطلقة لكل رجل، وتحسب CalculateLotSize() حجم الأمر بحيث تساوي هذه المسافة بالضبط 1% من رصيد الحساب.
كل أمر جديد يحمل هدف ربح ثابتاً عند 600 نقطة (TakeProfit_Points) يُضبط لحظة الإصدار ولا يُعدَّل بعد ذلك. مع وقف 300 نقطة يعطي هذا نسبة مخاطرة/عائد 1:2 ثابتة على كل دخول بما في ذلك أرجل التكديس. الهدف مُفروض على مستوى الأمر من قِبَل الوسيط، لا يَستطلعه المستشار.
الحد الأدنى للرصيد: 100 دولار (تحديد حجم 1% من المخاطرة × وقف 300 نقطة على XAUUSD بخطوة لوت 0.01). أفضل نشر على XAUUSD عند M5 أو H1؛ نافذة 08:00-20:00 تتماشى مع جلستي لندن ونيويورك النقديتين حيث يسجّل الذهب أوضح نطاقاته الاتجاهية. مستوى المخاطرة: متوسط — نسبة مخاطرة/عائد 1:2 ثابتة، وقف/هدف ثابتين 300/600 نقطة، بدون مارتينجال أو شبكة. متطلبات الوسيط: حساب سبريد منخفض، لأن MaxSpread_Points = 30 هي البوابة الوحيدة فوق فلتر نظام CI؛ على ECN/RAW بأقل من 15 نقطة سيكون تكرار الدخول أعلى ملحوظاً من حساب قياسي بنطاق 25-30 نقطة.
منطق الاستراتيجية
Pipsgrowth EX16078 Trend — تحليل منطق الاستراتيجية (من كود .mq5)
العائلة: Trend
الماجيك: 22216078
الإصدار: 2.00
الوصف:
Smooth Engine EA using Hull MA, Linear Regression slope, ATR volatility, and Choppiness Index for smooth trend entries. Supports pyramiding with step distance, spread filter, trading hours, and risk-percent position sizing
المؤشرات:
- مؤشرات قياسية
الدوال الرئيسية:
GetStartHour()GetStartMinute()GetEndHour()GetEndMinute()IsTradingTime()CheckSpread()CountTrades()CalculateLotSize()GetLastTradeProfit()OpenTrade()
// Pipsgrowth EX16078 Trend — Execution Flow (from source analysis)
// Family: Trend
// Smooth Engine EA using Hull MA, Linear Regression slope, ATR volatility, and Choppiness Index for smooth trend entries. Supports pyramiding with step distance, spread filter, trading hours, and risk-percent position sizing
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
معاملات الإكسبرت
| المعامل | الافتراضي | الوصف |
|---|---|---|
| CI_Threshold | 61.8 | Global Variable for Live Tuning |
| InpMagicNumber | 22216078 | Magic number |
| InpTradeComment | "Psgrowth.com Expert_16078" | +------------------------------------------------------------------+ |
#property copyright "Pipsgrowth.com"
#property link "https://pipsgrowth.com"
#property version "2.00"
#property strict
#property description "Pipsgrowth.com EX16078 SmoothEngineEA — HMA + LR + ATR + Choppiness trend EA, full 12-layer stack."
#include <Trade\Trade.mqh>
sinput const string GroupIndicator="";//=== Indicator Settings ===
input int HMA_Period = 20;
input int LR_Period = 14;
input int ATR_Period = 14;
input int CI_Period = 14;
input double CI_Threshold = 61.8;
// Global Variable for Live Tuning
int g_HMA_Period;
sinput const string GroupTrade="";//=== Trade Settings ===
input bool EnablePyramiding = true;
input int MaxOpenTrades = 3;
input int PyramidingStep_Points = 200;
input int StopLoss_Points = 300;
input int TakeProfit_Points = 600;
input int MaxSpread_Points = 30;
input string TradingHours = "08:00-20:00";
input double RiskPercent = 1.0;
sinput const string GroupIdentity="";//=== Identity ===
input long InpMagicNumber = 22216078; // Magic number
input string InpTradeComment = "Psgrowth.com Expert_16078";
//+------------------------------------------------------------------+
//| Class CSmoothEngine |
//+------------------------------------------------------------------+
class CSmoothEngine
{
private:
int m_hma_period;
int m_lr_period;
int m_atr_period;
int m_ci_period;
double m_ci_threshold;
int m_bars_needed;
int m_buffer_size;
double m_close[];
double m_high[];
double m_low[];
double m_atr[];
double m_hma[];
double m_slope[];
double m_ci[];
int m_current_pos;
double CalculateHMA(const double &price[], int index)
{
int half_period = (int)MathFloor(m_hma_period / 2.0);
int sqrt_period = (int)MathFloor(MathSqrt((double)m_hma_period));الكود المصدري الكامل متاح عند التحميل
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.
تحذير صريح: لأغراض تعليمية فقط
تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.
وسطاء موصى بهم لهذا الإكسبرت
هذه الروبوتات تعمل على 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 مفتوح المصدر.
مجتمع المستخدمين
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.