Pipsgrowth EX18014 TrendFollow — إكسبرت أدفايزر إكسبرت أدفايزر
إكسبرت أدفايزر MT5 مفتوح المصدر · USDJPY · M15، M5، M30
Pipsgrowth EX18014 TrendFollow — EMA(fast/slow) + RSI + MACD voting each closed bar; final direction = side with >= MinConfirmation% of votes. Augmented . إكسبرت أدفايزر MT5 مفتوح المصدر.
نظرة عامة
يعمل إكس 18014 على تصويت توافقي من خمسة مؤشرات عند كل إغلاق شمعة، ثم يقرر إما فتح صفقة شراء، أو بيع، أو البقاء خارج السوق. يُجرى التصويت داخل الدالة CoreSignal()، التي تستعلم خمس مقابض — المتوسط المتحرك السريع (InpFastMA، الافتراضي 20)، البطيء (InpSlowMA، الافتراضي 50)، مؤشر القوة النسبية (InpRSIPeriod، الافتراضي 14)، الماكد (12-26-9، مُعرَّف برمجياً)، مؤشر ADX (14، مُعرَّف برمجياً)، ومؤشر الاستوكاستك (14-3-3 بطيء، مُعرَّف برمجياً). يُساهم كل مؤشر بصوت صاعد أو هابط عند تحقق شرطه المحدد على الشمعة [1]. لا يفتح المستشار صفقة إلا عندما تصل حصة أحد الجانبين من إجمالي الأصوات إلى InpMinConfirmation (50% افتراضياً) وتتفوق على الجانب الآخر. عتبة 50% تعني أن أغلبية بسيطة 3 من 5 تكفي؛ وعند رفعها إلى 60-70% يحتاج المستشار إلى أربعة من خمسة ليتفقوا قبل الدخول. تُعاد الثقة كنسبة التصويت لذلك الجانب، بين 0 و100.
المصوتون الخمسة بالترتيب: (1) تصويت تقاطع المتوسطات — صاعد إذا كان المتوسط 20 فوق 50 والشمعة المغلقة فوق المتوسط 20، هابط بالعكس. (2) تصويت انعكاس RSI — صاعد عندما ينعكس المؤشر صعوداً من منطقة تشبع بيعي (rsi[1] < 30 و rsi[1] > rsi[2])، هابط عند انعكاس هبوطي من تشبع شرائي. (3) تقاطع الماكد — صاعد عند تقاطع صاعد جديد لخط الإشارة على الشمعة المغلقة، هابط عند تقاطع هابط. (4) تصويت ADX — صاعد فقط عندما يكون ADX فوق InpADXMin (20)، ومرتفعاً، والإغلاق فوق إغلاق الشمعة السابقة. (5) تصويت الاستوكاستك — صاعد عند تقاطع صاعد لـ %K مع %D بينما %K تحت 20، هابط عند تقاطع هابط فوق 80. الثلاثة الأولى من أطروحة 1223 الأصلية التي بُني عليها هذا المستشار؛ أُضيف ADX والاستوكاستك لتعزيز التوافق.
التصويت ليس صفقة. البوابة التالية هي مصنف النظام في DetectRegime()، الذي يمشي عبر سبع حالات باستخدام ADX، ومئين ATR على InpATRPctLookback (60 شمعة)، وعرض بولنجر باند. ADX ≥ 30 → REG_STRONG_TREND؛ ADX ≥ InpADXMin (20) → REG_WEAK_TREND؛ مئين ATR > 70% مع توسع 15%+ في عرض BB → REG_EXPAND؛ مئين ATR < 25% → REG_COMPRESS؛ BB ضيق جداً (العرض < 0.0015) مع ADX صاعد → REG_BREAKOUT؛ وإلا REG_RANGE. REG_CHOPPY هو الاحتياط عند فشل أي نسخ منBuffers، وهو أيضاً محظور بقوة داخل NoTradeBlock(). يُسمح للقرار بالمرور في كل الأنظمة — إكس 18014 لا يقيّد الدخول بالنظام كما يفعل إكس 18011/12. يُستشار النظام مرة أخرى على جانب الخروج، حيث يؤدي الانتقال إلى CHOPPY أو RANGE أو COMPRESS إلى إغلاق قسري.
البوابة الثالثة هي NoTradeBlock()، التي تشغل سلسلة طويلة من الفيتوات: قفل القتل، الانفراق فوق InpMaxSpreadPts (35 نقطة، سقف ثابت — ليس نسبة من ATR، وليس متوسطاً متحركاً)، خارج الجلسة، نظام CHOPPY، كشف الشمعة الكبيرة (مدى الشمعة المغلقة > 3× ATR)، تهدئة بعد ثلاث خسائر متتالية، رأس مال فعلي تحت الحد الأدنى 50$، خسارة يومية محققة فوق InpDailyLossLimit (3% من سقف رأس المال الفعلي)، بلوغ MAX_OPEN_TRADES (1)، وقرب عطلة نهاية الأسبوع (الجمعة 21:00 فما بعد، السبت كله، الأحد كله). OnTradeTransaction() يعدّ الخسائر ويُفعّل تهدئة لـ 3 شموع — يبرد المستشار لثلاث PeriodSeconds من الإطار الحالي إذا أُغلقت ثلاث صفقات حمراء متتالية، وصفقة خضراء تُصفّر العداد.
إذا مر التصويت والبوابات، تتحقق ConfirmEntry() من توافق الاتجاه في الإطار الزمني الأعلى. تسحب EMA(50) للإطار HTF (الفترة تُضبط بـ InpHTF، الذي يستخدم كوداً رقمياً 1-7؛ 1=M1، 2=M5، 3=M15، 4=M30، 5=H1، 6=H4، 7=D1، مع الافتراضي 8 الذي يسقط إلى H1 الافتراضي) وترفض الشراء إذا كان إغلاق الشمعة تحت HTF EMA، أو البيع إذا كان فوقها. مرشح الانفراق وفحص الجلسة (06:00-21:00 بتوقيت الخادم، SESSION_START_HOUR 6 إلى SESSION_END_HOUR 21) مكررة هنا كحماية نهائية.
يستخدم التحجيم CalcLots()، الذي يحجم الصفقة بحيث يمثل مسافة وقف الخسارة (InpATRSLMult × ATR(14) = 2.0× ATR افتراضياً) InpRiskPercent (0.5%) من رأس المال الفعلي. رأس المال الفعلي هو أقل من InpCapitalCapAmount (0 = معطل، لا سقف) وحقوق الملكية الحالية، مع حد أدنى 50$. يوضع وقف الخسارة على بُعد 2× ATR(14) من سعر الدخول، وجني الأرباح بنسبة 1:2 R:R (4× ATR). فحص الهامش المسبق عبر OrderCalcMargin() يعمل قبل إرسال الأمر. إذا كان InpDryRun صحيحاً (الافتراضي)، يُسجل الإرسال في السجل لكن يُمنع؛ يجب على المستخدم إيقاف التشغيل الجاف صراحةً للانتقال للحساب الحقيقي. الأمر يمر عبر g_trade.Buy()/g_trade.Sell() مع إعادة محاولة واحدة بعد 150ms من النوم عند فشل TRADE_RETCODE_DONE.
إدارة المراكز تعمل كل تيick، ليس فقط عند إغلاق الشمعة. ManageExits() يمشي كل مركز بالسحر 22218014 ويطبق أربع طبقات إدارية بالترتيب: (1) عند +1R ربح، يُرفع وقف الخسارة إلى سعر الدخول (التعادل) عبر TryModify_EX18014() — اللقطة الأحادية مُقيّدة بـ USE_BREAK_EVEN، المُعرَّف برمجياً كصحيح. (2) عند +1R، يُفعّل إغلاق جزئي 50% (PARTIAL_TP_PCT 50.0، مقيّد بـ partVol >= g_vol_min). (3) يبدأ أثر ATR في InpATRTrailMult × ATR(14) = 2.5× ATR — وقف الخسارة الجديد يتبع bid للشراء، ask للبيع، ولا يتراجع أبداً. (4) عند MAX_BARS_IN_TRADE (60 شمعة) يُغلق المركز بغض النظر عن الربح/الخسارة — وقف زمني. بعد ManageExits()، تتحقق OppositeAndRegimeExit() من التصويت مرة ثانية: يُغلق المركز إذا كان اتجاه CoreSignal() الجديد يعاكسه، أو إذا انقلب النظام إلى CHOPPY أو RANGE أو COMPRESS. كل إعادة محاولة داخل TryClose_EX18014() و TryModify_EX18014() تمشي حتى 3 محاولات عند requote/timeout/price-off مع 200ms (إغلاق) أو 100ms (تعديل) من النوم.
يأتي إكس 18014 مع بضعة تحذيرات مهمة مدمجة في الكود. أولاً، صيغة التهدئة تستخدم PeriodSeconds(_Period) — على M15، ثلاث خسائر تقفل المستشار 45 دقيقة؛ على M5، 15 دقيقة فقط. ثانياً، MAX_OPEN_TRADES مُعرَّف برمجياً كـ 1، مما يعني أنه رغم وصف مسار الهرم في المصدر، فإن التقييد يعطله فعلياً. ثالثاً، معيار OnTester المخصص هو (net * pf) / (1 + abs(dd)) — الربح العالي وعامل الربح العالي كلاهما يساهمان، لكن السحب العميق يعاقب النتيجة بشدة، ويجب تجاوز عتبة 30 صفقة وإلا تكون النتيجة 0. رابعاً، g_trade.SetDeviationInPoints(20) هو تسامح الانزلاق — متواضع، مناسب لحساب ECN أو raw spread. أخيراً، يقرأ المستشار USDJPY افتراضياً لكنه قابل للنقل إلى أي رئيسي FX بسقف انفراق 35 نقطة، لأن المدخلات التي تحكم الجلسة وHTF مكشوفة و SL/TP نسبة إلى ATR وليست نقطاً ثابتة.
تفاصيل الاستراتيجية
تغذي خمس مقابض مؤشر (EMA20، EMA50، RSI14، MACD 12-26-9، الاستوكاستك 14-3-3، إضافة إلى ADX14 للنظام) تصويتاً داخل CoreSignal() عند كل إغلاق شمعة — أغلبية بسيطة (50% افتراضياً) من الأصوات الصاعدة مقابل الهابطة تختار الاتجاه. يصنّف DetectRegime() النظام الحالي عبر سبع حالات باستخدام ADX، ومئين ATR على 60 شمعة، وعرض بولنجر. تشغل NoTradeBlock() قائمة فيتو طويلة (قفل القتل، انفراق > 35 نقطة، خارج الجلسة 06:00-21:00 بتوقيت الخادم، نظام CHOPPY، مدى شمعة كبير > 3× ATR، تهدئة بعد 3 خسائر، رأس مال تحت 50$، خسارة يومية > 3%، MAX_OPEN_TRADES=1، عطلة نهاية الأسبوع) قبل أن يحجم الأمر. يستخدم التحجيم 0.5% من رأس المال الفعلي (محدود بـ InpCapitalCapAmount، أرضية 50$) مقابل مسافة وقف 2× ATR(14)، مما يعطي 1:2 R:R. طبقات إدارة المراكز: تعادل عند +1R، جزئي 50% عند +1R، أثر 2.5× ATR إلى الأمام فقط، ووقف زمني 60 شمعة؛ تعيد OppositeAndRegimeExit() التحقق من التصويت والنظام كل دورة وتغلق قسرياً عند الانعكاس. معيار OnTester المخصص هو (net × PF) / (1 + |DD|) مع عتبة 30 صفقة.
عند كل إغلاق شمعة، تجمع CoreSignal() أصوات خمسة مؤشرات (تقاطع EMA20/50، انعكاس RSI14، تقاطع الماكد 12-26-9، صعود ADX14 مع جانب الإغلاق، تقاطع الاستوكاستك 14-3-3 في المنطقة القصوى). يُفعَّل الشراء عندما تصل الحصة الصاعدة إلى InpMinConfirmation (50% افتراضياً) وتتجاوز الحصة الهابطة؛ البيع هو المرآة. تشترط ConfirmEntry() بعد ذلك موافقة EMA(50) للإطار الزمني الأعلى، وانفراق ≤ 35 نقطة، وساعة الخادم بين 06:00 و21:00.
ثلاث آليات تتقاسم الإغلاق. ManageExits() يرفع وقف الخسارة إلى نقطة التعادل عند +1R، ويُفعّل إغلاق جزئي 50% عند +1R، ويُحرّك الوقف تتبعاً عند 2.5× ATR(14) إلى الأمام فقط. يُغلق الوقف الزمني الصفقة عند 60 شمعة (MAX_BARS_IN_TRADE). بعد حلقة المراكز، تعيد OppositeAndRegimeExit() التحقق من التصويت والنظام: يُغلق المركز قسرياً إذا أشارت CoreSignal() الآن للاتجاه المعاكس، أو إذا انقلب DetectRegime() إلى CHOPPY أو RANGE أو COMPRESS.
وقف الخسارة الثابت على بُعد 2.0× ATR(14) من الدخول، مع أرضية 5 نقاط أو مستوى وقفات الوسيط، أيهما أكبر. بعد +1R، ترفع ManageExits() وقف الخسارة إلى سعر الدخول (نقطة التعادل). ثم يبدأ أثر ATR عند 2.5× ATR(14) ولا يحرك الوقف إلا إلى الأمام — أبداً إلى الخلف. كل تعديل يمر عبر TryModify_EX18014() مع حتى 3 محاولات عند requote/timeout.
جني الأرباح على بُعد 1:2 R:R من الدخول، أي 4.0× ATR(14) مع InpATRSLMult الافتراضي 2.0 وInpRRTP 2.0. جني الأرباح الكامل نادراً ما يُفعّل دون لمس — يُحرَّر 50% من المركز عند +1R كإغلاق جزئي، والباقي يتبع أثر ATR أو يُوقف عند جني الأرباح الأصلي إذا توقف السعر في منتصف القناة.
الحد الأدنى الموصى به للرصيد: 100$. زوج USDJPY على M15 الافتراضي، مع M5 وM30 كنطاق عمل وفقاً لرأس المصدر. سقف الانفراق 35 نقطة و g_trade.SetDeviationInPoints(20) معايران لحساب ECN أو raw spread بتنفيذ ضيق. أفضل الجلسات هي نافذة 06:00-21:00 بتوقيت الخادم — تشمل تداخل لندن ونيويورك لمعظم الوسطاء، وتصويت المؤشرات الخمسة يستفيد أفضل من سيولة التداخل بدلاً من الافتتاح الآسيوي. تصنيف MEDIUM للمخاطر صادق: المخاطرة 0.5% لكل صفقة، سقف خسارة يومية 3%، وتهدئة 3 خسائر تحمي من التتابع، لكن 1:2 R:R وأثر ATR يفترضان أن السعر يستطيع الجري بعد تفعيل مُحفّز الدخول.
منطق الاستراتيجية
Pipsgrowth EX18014 TrendFollow — تحليل منطق الاستراتيجية (من كود .mq5)
العائلة: TrendFollow
الماجيك: 22218014
الإصدار: 2.00
الوصف:
EMA(fast/slow) + RSI + MACD voting each closed bar; final direction = side with >= MinConfirmation% of votes. Augmented with ADX + Stochastic for a 5-indicator confluence panel. Layered with ADX+ATR-pct+BB-width REGIME gate, HTF-EMA CONFIRM, full NO-TRADE filter, CAPITAL-ALLOCATION CAP, ATR-based hard SL/TP sizing, BE + partial-TP + ATR trail + opposite-signal + regime-change + time-based exits, OnTester custom criterion. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester
المؤشرات:
- MAFast
- MASlow
RSIMACDADX- Stoch
ATRBBHTFEMA
الدوال الرئيسية:
NormPrice()ClampVol()MinStopsDist()SpreadPoints()InSession()IsNewBar()EffectiveCapital()RealizedPnLToday()CountMyPositions()CoreSignal()
// Pipsgrowth EX18014 TrendFollow — Execution Flow (from source analysis)
// Family: TrendFollow
// EMA(fast/slow) + RSI + MACD voting each closed bar; final direction = side with >= MinConfirmation% of votes. Augmented with ADX + Stochastic for a 5-indicator confluence panel. Layered with ADX+ATR-pct+BB-width REGIME gate, HTF-EMA CONFIRM, full NO-TRADE filter, CAPITAL-ALLOCATION CAP, ATR-based hard SL/TP sizing, BE + partial-TP + ATR trail + opposite-signal + regime-change + time-based exits, OnTester custom criterion. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester
ON_INIT:
Create indicator handles: MAFast, MASlow, RSI, MACD, ADX, Stoch, ATR, BB, HTFEMA
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
معاملات الإكسبرت
| المعامل | الافتراضي | الوصف |
|---|---|---|
| InpMagic | 22218014 | Magic number |
| InpTradeComment | "Psgrowth.com Expert_18014" | Trade comment |
| InpFastMA | 20 | Fast EMA period (bars) |
| InpSlowMA | 50 | Slow EMA period (bars) |
| InpRSIPeriod | 14 | RSI period (bars) |
| InpMinConfirmation | 50.0 | Min % of votes required |
| InpADXMin | 20.0 | Min ADX for WeakTrend |
| InpATRPctLookback | 60 | ATR percentile lookback (bars) |
| InpHTF | 8 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // HTF trend time-frame |
| InpHTFEMA | 50 | HTF EMA period (bars) |
| InpMaxSpreadPts | 35.0 | Max spread (points) |
| InpDryRun | true | Dry-run: no real sends |
| InpKillSwitch | false | Kill switch (closes all on tick) |
| InpCapitalCapAmount | 0.0 | Capital cap amount ($ equity) |
| InpCapitalCapFloor | 50.0 | Capital cap floor ($) |
| InpRiskPercent | 0.5 | Risk per trade (% of eff. cap) |
| InpDailyLossLimit | 3.0 | Daily loss limit (% of eff. cap) |
| InpATRSLMult | 2.0 | SL = ATR x mult |
| InpRRTP | 2.0 | TP = R x mult (R = SL dist) |
| InpATRTrailMult | 2.5 | ATR trail distance (x ATR) |
#property copyright "Pipsgrowth.com"
#property link "https://pipsgrowth.com"
#property version "2.00"
#property strict
#property description "Pipsgrowth.com EX18014 USDJPY_Efficient_MultiIndicator — 5-indicator confluence vote, full 12-layer stack."
#include <Trade\Trade.mqh>
#include <Trade\PositionInfo.mqh>
#include <Trade\SymbolInfo.mqh>
#include <Trade\AccountInfo.mqh>
#include <Trade\OrderInfo.mqh>
#include <Trade\DealInfo.mqh>
CTrade g_trade;
CPositionInfo g_pos;
CSymbolInfo g_sym;
CAccountInfo g_acc;
//=================== INPUTS (20 total) =============================
ENUM_TIMEFRAMES MapTimeframeInt(int tf)
{
switch(tf)
{
case 1: return PERIOD_M1;
case 2: return PERIOD_M5;
case 3: return PERIOD_M15;
case 4: return PERIOD_M30;
case 5: return PERIOD_H1;
case 6: return PERIOD_H4;
case 7: return PERIOD_D1;
default: return PERIOD_H1;
}
}
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_TIMEFRAMES g_InpHTF = PERIOD_H1;
input group "=== Identity ==="
input long InpMagic = 22218014; // Magic number
input string InpTradeComment = "Psgrowth.com Expert_18014"; // Trade comment
ENUM_TIMEFRAMES MapTimeframeInt(int tf)
{
switch(tf)
{
case 1: return PERIOD_M1;
case 2: return PERIOD_M5;
case 3: return PERIOD_M15;الكود المصدري الكامل متاح عند التحميل
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.
تحذير صريح: لأغراض تعليمية فقط
تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.
وسطاء موصى بهم لهذا الإكسبرت
هذه الروبوتات تعمل على 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 مفتوح المصدر.
مجتمع المستخدمين
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.