Pipsgrowth EX16065 Trend — إكسبرت أدفايزر متابعة اتجاه
إكسبرت أدفايزر MT5 مفتوح المصدر · XAUUSD · M5، H1
Pipsgrowth EX16065 Trend — Professional risk manager EA with EMA crossover, RSI and MACD confirmation filtered by ATR volatility. Enforces daily pr. إكسبرت أدفايزر MT5 مفتوح المصدر.
نظرة عامة
يوصف Pipsgrowth EX16065 بأنه خبير "إدارة مخاطر احترافي"، وهذا الوصف صادق: هذا التفاف لمتابع اتجاه (Trend Following) محور تصميمه الأساسي بوابة الربح/الخسارة اليومية، وليس إشارة الدخول نفسها. إشارة الدخول هي إعداد اتجاه تقليدي بتأكيدات ثلاثية — متوسط متحرك سريع يتقاطع مع بطيء، مع مؤشر RSI بين مستويات التشبع الشرائي والبيعي، ومؤشر MACD يؤكد على الجانب الصحيح من خط الصفر — لكن الخبير لا يُطلق أي إشارة ما دام ميزانية الربح أو الخسارة اليومية لا تزال تملك هامشاً.
تُدار المحاسبة اليومية الكاملة للربح/الخسارة في الدالتين UpdateDailyPnL() و CheckDailyLimits(). عند بداية كل يوم على الخادم، يُعاد ضبط startOfDayBalance إلى AccountInfoDouble(ACCOUNT_BALANCE) الحالي، ويُصفَّر currentDayPnL. في كل tick، يعيد الخبير حساب currentDayPnL = currentBalance - startOfDayBalance، ويعبّر عنه كنسبة مئوية من الرصيد الافتتاحي، ويقارنه بحدّين: DailyProfitTarget = 3.0% (افتراضي) و MaxDailyLoss = -5.0% (افتراضي). إذا تحقق أي منهما، تستدعي CheckDailyLimits() الدالة CloseAllPositions() — التي تمر على كامل قائمة PositionsTotal() بالعكس وتُرسل صفقة عكسية لكل مركز مفتوح بتعليق "Daily limit reached" — ثم تُرجع false، وهو ما تحوِّله OnTick() إلى dailyTradingAllowed = false يتبعه return مبكر. من تلك اللحظة، لن تُفتح أي دخولات جديدة حتى بداية اليوم التالي على الخادم.
تعمل إدارة المخاطرة لكل صفقة بالتوازي. تُعرِّف مجموعة "=== Risk Management ===" أربعة مدخلات: RiskPercent = 2.0 (مخاطرة لكل صفقة)، و MaxDailyRisk = 6.0 (سقف الخسارة اليومي — قيمة أكبر منفصلة تعمل كقاطع للسؤال "هل كان ينبغي أن أفتح هذه الصفقة أصلاً")، و DailyProfitTarget = 3.0، و MaxDailyLoss = -5.0. تقرأ دالة CalculateLotSize() رصيد الحساب المباشر، وتحسب riskAmount = balance * RiskPercent/100، وتستخرج حجم التيك وقيمته والـ point للرمز، وتُشتق قيمة النقطة، ثم تقسم مبلغ المخاطرة على StopLossPips * pipValue للحصول على حجم اللوت. تُقصَّر النتيجة بعد ذلك بين SYMBOL_VOLUME_MIN و SYMBOL_VOLUME_MAX للرمز، وتُكمَّم إلى أقرب SYMBOL_VOLUME_STEP — وهي routine قياسية لحساب الحجم بالنسبة المئوية في MT5 ينبغي أن تنتج أحجام لوت متطابقة بين الاختبار الخلفي والحقيقي إذا كانت بيانات التيك لدى الوسيط صحيحة.
تُبنى الإشارة نفسها في CheckForTradingOpportunity()، التي تُستدعى فقط على شمعة جديدة (حراسة static datetime lastBarTime داخل OnTick() تضمن تشغيل CheckForTradingOpportunity() مرة واحدة لكل شمعة، وليس لكل tick). تقرأ الدالة خمسة مخازن مؤشرات عبر GetIndicatorValues(): iMA(_Symbol, PERIOD_CURRENT, 20, 0, MODE_EMA, PRICE_CLOSE) للمتوسط السريع، و iMA(... 50 ...) للمتوسط البطيء، و iRSI(... 14, PRICE_CLOSE)، و iMACD(12, 26, 9)، و iATR(... 14). تعمل بوابة تذبذب أولاً: إذا كانت آخر قيمة ATR(14) أدنى من MinATR = 0.0010، تعود الدالة دون النظر إلى الإشارة — وهذا مرشح للسوق الميت، مفيد لالتقاط جلسة آسيا منخفضة التذبذب على الذهب. إذا اجتاز ATR، يفحص المسار الصاعد emaFast[1] <= emaSlow[1] && emaFast[0] > emaSlow[0] (تقاطع صاعد جديد بين السريع والبطيء)، و RSI بين 30 و70 (الافتراضي RSI_Oversold = 30.0 و RSI_Overbought = 70.0)، و macdMain[0] > 0. أما المسار الهابط فهو المرآة: تقاطع هابط جديد، و RSI بين 30 و70، و MACD تحت الصفر.
تُثبِّت مجموعة "=== Trade Settings ===" هندسة وقف الخسارة وجني الأرباح: StopLossPips = 20 و RiskRewardRatio = 2.0، لذا يُفتَح كل صفقة بوقف 20 نقطة وهدف 40 نقطة — نسبة مخاطرة إلى عائد 1:2 مُدمجة في كل من OpenBuyPosition() و OpenSellPosition(). قاعدة المركز الواحد هي القاعدة: PositionsTotal() > 0 || totalTradesOnBar >= 1 يوقف CheckForTradingOpportunity() في الأعلى، ما يعني أن الخبير لا يُكوِّم، ولا يُعدِّل المتوسط، ولا يُحوط ضد نفسه. مسار "الإدارة" الوحيد بعد الدخول هو إغلاق الحد اليومي — لا يوجد معالج OnTradeTransaction، ولا routine Trailing Stop، ولا رatchet Break-even، ولا إغلاق جزئي. الدوال المساعدة الثلاث للمحاولة TryClose_EX16065 و TryClosePartial_EX16065 و TryModify_EX16065 مُعرَّفة في الملف (كل منها تلف حتى ثلاث مرات مع Sleep(200) عند requote/timeout)، لكن OnTick() و CloseAllPositions() لا تستدعيها — توصيلات الكود الميت توحي بأن القالب الأصلي صُمم لمدير مركز أكثر تعقيداً لم يصل أبداً إلى هذا البناء.
تُعرِّف مجموعة "=== Identity ===" الرقم السحري 22216065 وتعليق الصفقة "Psgrowth.com Expert_16065"، وكلاهما يظهر على كل طلب OrderSend. التعليق هو ما يظهر في سجل الصفقات، لذا يعمل كعلامة مميزة لكشف الحساب.
عدة تحذيرات تستحق الإشارة. يصف رأس الكتلة "12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester" — لكن في الكود الفعلي، الطبقات الموجودة هي: SIGNAL (EMA/RSI/MACD)، و NO-TRADE (MinATR والحدود اليومية)، و RISK (المدخلات الأربعة بالنسبة المئوية)، و SIZING (CalculateLotSize)، و EXIT (CloseAllPositions). لا يوجد مصنف Regime، ولا مرشح جلسة، ولا مرشح أخبار، ولا طبقة Scaling، ولا صيغة OnTester. الوصف في الرأس هو الطموح؛ أما البناء فهو الأساس. على أي شخص يشغّل هذا في Strategy Tester ألا يتوقع سلوكاً واعياً بالجلسة أو الأخبار.
في اختبار خلفي على XAUUSD M5 على سنة من بيانات tick، ستعمل بوابة الربح/الخسارة اليومية على الأرجح على تقييد منحنى الأسهم بنحو 3% صعوداً أو 5% هبوطاً لكل يوم خادم. في الأيام الهادئة، قد لا يأخذ الخبير أي صفقة؛ وفي أيام الاتجاه المتقلب، يمكن أن يأخذ صفقة واحدة — ثم يجلس مكتوف الأيدي لبقية الجلسة. هذا السلوك مقصود.
تفاصيل الاستراتيجية
في كل tick، تحسب OnTick() الربح/الخسارة التراكمي لليوم مقابل الرصيد المسجل عند منتصف الليل، ثم تسأل CheckDailyLimits() ما إذا كان قد تم بلوغ 3% ربح أو 5% خسارة. إذا فُتحت شمعة جديدة منذ آخر فحص، تُشغَّل CheckForTradingOpportunity() مرة واحدة: تقرأ مخازن المؤشرات الخمسة (EMA20 و EMA50 و RSI14 و MACD 12/26/9 و ATR14)، وترفض الشمعة إذا كان ATR(14) أدنى من 0.0010، وعندها فقط تقارن التقاطع الأخير بالنمط الصاعد أو الهابط. عند تطابق النمط، يُحسب حجم اللوت عبر CalculateLotSize() من بيانات التيك للرمز وميزانية مخاطرة 2% من الحساب، ويُفتَح الصفقة بوقف 20 نقطة وهدف 40 نقطة، ويُزاد totalTradesOnBar لمنع إعادة الدخول على نفس الشمعة. يعمل مولّد الإشارة وبوابة الربح/الخسارة اليومية بشكل مستقل — يمكن للبوابة إيقاف الخبير في منتصف اليوم حتى مع وجود مركز مفتوح؛ ولا يمكن لمولّد الإشارة إعادة فتح أي شيء حتى تُعاد تهيئة البوابة عند منتصف الليل التالي على الخادم.
يبدأ مسار الدخول عند تقاطع صاعد جديد بين المتوسط السريع (20) والمتوسط البطيء (50) على افتتاح شمعة جديدة، بشرط أن يكون ATR(14) أعلى من عتبة التذبذب الدنيا MinATR = 0.0010 وأن يتراوح مؤشر RSI(14) بين 30 و70. تأتي التأكيدات الثلاثة من MACD(12,26,9) — يجب أن يكون خطه الرئيسي فوق الصفر للشراء وتحت الصفر للبيع. يسمح الخبير بمركز واحد فقط في كل وقت و entry واحدة كحد أقصى لكل شمعة.
لا يحتوي الخبير على منطق خروج لكل صفقة — لا Trailing Stop، ولا Break-even، ولا إغلاق جزئي، ولا خروج زمني، ولا خروج عند إشارة عكسية. المسار الوحيد للخروج هو بوابة الربح/الخسارة اليومية: عندما تصل currentDayPnL/startOfDayBalance إلى +3% (الهدف الافتراضي) أو -5% (الحد الأقصى للخسارة اليومي)، تستدعي CloseAllPositions() صفقة عكسية لكل مركز مفتوح بتعليق "Daily limit reached" ويتوقف الخبير عن فتح صفقات جديدة حتى بداية اليوم التالي على الخادم. يظل وقف الخسارة وجني الأرباح مرفقين عند الدخول، لذا يمكن لصفقة واحدة أيضاً أن تُغلق عند 20 نقطة ضد المركز أو 40 نقطة لصالحه (نسبة المخاطرة للعائد 1:2).
وقف خسارة ثابت عند 20 نقطة (StopLossPips = 20) مُدمج في كل من OpenBuyPosition() و OpenSellPosition() ويُرفق عند كل دخول. يعمل MaxDailyLoss = -5.0 كوقف إضافي على مستوى الحساب: عندما يصل الربح/الخسارة المحقق خلال اليوم إلى -5% من رصيد بداية اليوم، تجبر CloseAllPositions() على إغلاق كل المراكز المفتوحة. يعملان معاً — يمكن لصفقة واحدة أن تُوقف عند 20 نقطة، أو يمكن للخسارة المجمعة خلال اليوم أن تُفعّل سقف 5%.
جني أرباح ثابت عند 40 نقطة (StopLossPips * RiskRewardRatio = 20 * 2.0 = 40) يُعيَّن عند كل دخول بنسبة مخاطرة إلى عائد 1:2. لا يوجد جني أرباح ديناميكي، ولا إغلاق متدرج، ولا إغلاق جزئي — جني الأرباح المرفق عند الفتح هو الهدف الوحيد لكل صفقة. يضيف DailyProfitTarget = 3.0 هدفاً على مستوى الجلسة: عندما يصل صافي الربح/الخسارة اليومي إلى +3% من رصيد بداية اليوم، تُغلق جميع المراكز المفتوحة رابحة قبل أن تصل إلى أهدافها الفردية.
يعمل الخبير بشكل أفضل على XAUUSD عند الإطار M5 أو H1 مع حد أدنى للإيداع 100 دولار وملف مخاطرة متوسط. تصميم نسبة المخاطرة للعائد 1:2 ومركز واحد لكل شمعة وعتبة ATR يعني أن الخبير يعمل أفضل في الأسواق ذات المدى اليومي الكافي لدفع 40 نقطة (نحو 4–5 دولارات على الذهب) — وهو الأنسب على XAUUSD خلال افتتاح لندن وحتى إغلاق نيويورك عندما يميل التذبذب إلى تجاوز عتبة MinATR بوضوح. يجعل سقف الخسارة اليومية 5% وسقف الربح اليومي 3% هذا الخبير مناسباً لتقييمات شركات Prop Firm أو للمتداولين الذين يريدون أن يتبع ربح/خسارة حسابهم غلافاً يومياً صارماً بدلاً من نتيجة مركز واحد مفتوح. استخدمه مع وسيط بسبريد ضيق وعمولات منخفضة وبيانات tick موثوقة، لأن بوابة MinATR حساسة لمكون السبريد في قراءة ATR(14) على الأزواج ذات النطاق الضيق.
منطق الاستراتيجية
Pipsgrowth EX16065 Trend — تحليل منطق الاستراتيجية (من كود .mq5)
العائلة: Trend
الماجيك: 22216065
الإصدار: 2.00
الوصف:
Professional risk manager EA with EMA crossover, RSI and MACD confirmation filtered by ATR volatility. Enforces daily profit targets, max daily loss, and risk-per-trade sizing. Closes all positions when daily limits are hit. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester
المؤشرات:
- مؤشرات قياسية
الدوال الرئيسية:
CheckDailyLimits()UpdateDailyPnL()CheckForTradingOpportunity()GetIndicatorValues()CheckBullishSignal()CheckBearishSignal()CalculateLotSize()OpenBuyPosition()OpenSellPosition()CloseAllPositions()
// Pipsgrowth EX16065 Trend — Execution Flow (from source analysis)
// Family: Trend
// Professional risk manager EA with EMA crossover, RSI and MACD confirmation filtered by ATR volatility. Enforces daily profit targets, max daily loss, and risk-per-trade sizing. Closes all positions when daily limits are hit. 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
معاملات الإكسبرت
| المعامل | الافتراضي | الوصف |
|---|---|---|
| MagicNumber | 22216065 | Magic number |
| InpTradeComment | "Psgrowth.com Expert_16065" | Trade comment |
| RiskPercent | 2.0 | Risk per trade (% of account) |
| MaxDailyRisk | 6.0 | Maximum daily risk (%) |
| DailyProfitTarget | 3.0 | Daily profit target (%) |
| MaxDailyLoss | -5.0 | Maximum daily loss (%) |
| StopLossPips | 20 | Fixed stop loss in pips |
| RiskRewardRatio | 2.0 | Risk:Reward ratio |
| EMA_Fast | 20 | Fast EMA period |
| EMA_Slow | 50 | Slow EMA period |
| RSI_Period | 14 | RSI period |
| RSI_Oversold | 30.0 | RSI oversold level |
| RSI_Overbought | 70.0 | RSI overbought level |
| MACD_Fast | 12 | MACD fast EMA |
| MACD_Slow | 26 | MACD slow EMA |
| MACD_Signal | 9 | MACD signal line |
| MinATR | 0.0010 | Minimum ATR for trading |
| ATR_Period | 14 | ATR period |
#property copyright "Pipsgrowth.com"
#property link "https://pipsgrowth.com"
#property version "2.00"
#property strict
#property description "Pipsgrowth.com EX16065 Professional_Risk_Manager_EA — EMA/RSI/MACD risk-managed trend EA, full 12-layer stack."
#include <Trade\Trade.mqh>
//--- Input parameters
input group "=== Identity ==="
input int MagicNumber = 22216065; // Magic number
input string InpTradeComment = "Psgrowth.com Expert_16065"; // Trade comment
input group "=== Risk Management ==="
input double RiskPercent = 2.0; // Risk per trade (% of account)
input double MaxDailyRisk = 6.0; // Maximum daily risk (%)
input double DailyProfitTarget = 3.0; // Daily profit target (%)
input double MaxDailyLoss = -5.0; // Maximum daily loss (%)
input group "=== Trade Settings ==="
input int StopLossPips = 20; // Fixed stop loss in pips
input double RiskRewardRatio = 2.0; // Risk:Reward ratio
input group "=== Indicators ==="
input int EMA_Fast = 20; // Fast EMA period
input int EMA_Slow = 50; // Slow EMA period
input int RSI_Period = 14; // RSI period
input double RSI_Oversold = 30.0; // RSI oversold level
input double RSI_Overbought = 70.0; // RSI overbought level
input int MACD_Fast = 12; // MACD fast EMA
input int MACD_Slow = 26; // MACD slow EMA
input int MACD_Signal = 9; // MACD signal line
input double MinATR = 0.0010; // Minimum ATR for trading
input int ATR_Period = 14; // ATR period
//--- Global variables
double startOfDayBalance;
double currentDayPnL;
bool dailyTradingAllowed;
int totalTradesOnBar;
//--- Handles for indicators
int handleEMA_Fast, handleEMA_Slow, handleRSI, handleMACD, handleATR;
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
// Initialize indicators
handleEMA_Fast = iMA(_Symbol, PERIOD_CURRENT, EMA_Fast, 0, MODE_EMA, PRICE_CLOSE);
handleEMA_Slow = iMA(_Symbol, PERIOD_CURRENT, EMA_Slow, 0, MODE_EMA, PRICE_CLOSE);
handleRSI = iRSI(_Symbol, PERIOD_CURRENT, RSI_Period, PRICE_CLOSE);
handleMACD = iMACD(_Symbol, PERIOD_CURRENT, MACD_Fast, MACD_Slow, MACD_Signal, PRICE_CLOSE);
handleATR = iATR(_Symbol, PERIOD_CURRENT, ATR_Period);
// Check if indicators are created successfully
if(handleEMA_Fast == INVALID_HANDLE || handleEMA_Slow == INVALID_HANDLE ||
handleRSI == INVALID_HANDLE || handleMACD == INVALID_HANDLE ||
handleATR == INVALID_HANDLE)
{الكود المصدري الكامل متاح عند التحميل
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.
تحذير صريح: لأغراض تعليمية فقط
تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.
وسطاء موصى بهم لهذا الإكسبرت
هذه الروبوتات تعمل على 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 مفتوح المصدر.
مجتمع المستخدمين
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.