Pipsgrowth EX16039 Trend — إكسبرت أدفايزر متابعة اتجاه
إكسبرت أدفايزر MT5 مفتوح المصدر · XAUUSD · M5، H1
Pipsgrowth EX16039 Trend — Trend Rider EA for XAUUSD M5 using fast/slow EMA crossover with optional H1 higher-timeframe MA filter. Risk-based or fi. إكسبرت أدفايزر MT5 مفتوح المصدر.
نظرة عامة
Pipsgrowth EX16039 TrendRider هو مستشار خبير معدّ عمدًا بأبسط صورة ممكنة، وهو مصمم لتداول زوج XAUUSD على الإطار الزمني M5. يقوم بمهمة واحدة فقط: رصد لحظة تقاطع المتوسط المتحرك الأسي السريع مع البطيء، ويركب هذا الاتجاه حتى التقاطع المعاكس التالي أو حتى يُفعَّل وقف الخسارة أو جني الأرباح. لا توجد هنا مؤشرات مساعدة ولا محركات تقييم ولا طبقات توافق مزدوجة بين إطارين زمنيين. الاستراتيجية هي التقاطع الكلاسيكي لمتوسطين متحركين أسيين، مع فلتر اختياري لمتوسط إطار زمني أعلى بحيث يلتقط المستشـار فقط الصفقات التي تتوافق مع الاتجاه الأكبر.
ينشئ المستشـار ثلاث مقابض iMA داخل دالة OnInit. اثنان منها يعملان على الإطار الزمني الحالي للشارت: hFastMA = iMA(_Symbol, _Period, InpFastMA=10, 0, MODE_EMA, PRICE_CLOSE) و hSlowMA = iMA(_Symbol, _Period, InpSlowMA=50, 0, MODE_EMA, PRICE_CLOSE). أما الثالث hFilterMA فلا يُنشأ إلا عندما يكون InpHigherTimeframe=true، وهو EMA(InpSlowMA=50) على الإطار الزمني PERIOD_H1، كذلك بـ MODE_EMA و PRICE_CLOSE. تحرير المقابض جميعها مهيأ في OnDeinit. إذا أرجع أي مقبض من مقبضي الإطار الزمني الحالي INVALID_HANDLE فإن المستشـار يعيد INIT_FAILED. هذه هي البصمة الكاملة للمؤشرات: ثلاثة مقابض MA، لا أكثر.
OnTick مقتضبة أيضًا. تقوم بتحديث أسعار الرمز، ثم تطبّق بوابة السبريد الثابتة (mysymbol.Spread() > InpMaxSpread=250 نقطة تعني عودة فورية)، ثم تنفّذ حارس الشمعة الجديدة القائم على متغير static-datetime، بحيث لا يُشغّل باقي المنطق إلا مرة واحدة لكل شمعة مغلقة. وبعد تجاوز هذه البوابات الثلاث، يستدعي المستشـار الدالة CheckSignal().
دالة CheckSignal هي موضع الاستراتيجية. تعود فورًا إذا كان PositionsTotal() > 0، أي أنها تفرض صفقة مفتوحة واحدة فقط في كل وقت. ثم تنسخ شمعتين من بافرتي المتوسط السريع والبطيء وتقرأ قيم الشمعتين 1 و 2. اكتشاف التقاطع مباشر: إشارة الشراء تنطلق عندما bufFastMA[1] > bufSlowMA[1] AND bufFastMA[0] <= bufSlowMA[0] (أي أن المتوسط السريع للشمعة 1 أصبح فوق البطيء، بينما في الشمعة 2 كان لا يزال عنده أو تحته)، وإشارة البيع تنطلق عند الشرط المعاكس. عندما يكون InpHigherTimeframe مفعّلًا وكان hFilterMA صالحًا، تنسخ الدالة قيمة واحدة لمتوسط H1 وتقارنها بـ iClose للإطار الحالي — إذا كان السعر الحالي تحت متوسط H1، يُضبط h1Uptrend على false؛ وإذا كان فوقه يُضبط h1Downtrend على false. منطق الشراء لا يُفعَّل إلا إذا ظل h1Uptrend صحيحًا، والبيع فقط إذا ظل h1Downtrend صحيحًا، وبالتالي يعمل EMA الخاص بـ H1 كبوابة اتجاه تمنع الإشارات المعاكسة للاتجاه الأكبر.
دالتا الدخول OpenBuy و OpenSell متناظرتان. تحسب كلتاهما sl و tp من سعر ask/bid الحالي مطروحًا منه أو مضافًا إليه InpStopLoss=400 نقطة و InpTakeProfit=800 نقطة، ثم تستدعي CalculateLotSize(InpStopLoss) لتحديد حجم الصفقة، وأخيرًا تستدعي trade.Buy() أو trade.Sell() مع نص التعليق "Psgrowth.com Expert_16039". يتم تهيئة كائن CTrade في OnInit عبر SetExpertMagicNumber(22216039) و SetDeviationInPoints(3) و SetTypeFilling(ORDER_FILLING_FOK). لا يوجد استكشاف لوضع تنفيذ بديل في السوق.
تُنفّذ CalculateLotSize نموذج نسبة المخاطرة الكلاسيكي. إذا كان InpRiskPercent <= 0 تُرجع الدالة InpFixedLot=0.01 — وهو الحجم الثابت الاحتياطي للمستخدمين الذين لا يريدون المخاطرة بنسبة مئوية. وإلا فتحسب riskMoney = account.Balance() * InpRiskPercent / 100، ثم تستخرج riskPerLot = stopLossPoints * (tickValue / (tickSize / point))، ثم lot = riskMoney / riskPerLot. تُقرَّب النتيجة إلى أسفل وفق خطوة اللوت للرمز وتُقصَّر إلى المجال [LotsMin, LotsMax]. تخضع العملية لحراسة tickSize==0 أو point==0 تعود حينها إلى InpFixedLot إذا لم تكن بيانات الرمز قد اكتملت بعد.
طبقة إدارة الصفقات هنا متعمَّدًا خفيفة. لا يوجد وقف متابع، ولا قفل ربح متحرك، ولا إغلاق جزئي، ولا جني أرباح ديناميكي. يظل وقف الخسارة وجني الأرباح المضبوطان عند الدخول ثابتين حتى تُغلق الصفقة. لا يوجد فلتر جلسة، ولا خروج مبني على الوقت، ولا فلتر أخبار، ولا فحص إضافي للإطار الزمني للرمز بخلاف بوابة السبريد، ولا إيقاف مؤقت بعد خسائر متتالية. قائمة الطبقات الاثنتي عشرة في ترويسة الملف — REGIME و SIGNAL و ENTRY و CONFIRM و NO-TRADE و CAPITAL CAP و RISK و SIZING و MANAGE و EXIT و SCALING و OnTester — تصف بنية مرجوة، لكن في المصدر لا تُربط فعليًا سوى REGIME (فلتر H1) و SIGNAL (التقاطع) و ENTRY (Buy/Sell) و NO-TRADE (السبريد + الشمعة الجديدة + صفقة واحدة) و RISK (نسبة المخاطرة لكل صفقة) و SIZING (CalculateLotSize) و MANAGE (ضبط SL/TP عند الدخول، دون إدارة ديناميكية) و EXIT (SL/TP). أما CAPITAL CAP (لا سقف للرصيد/الإكويتي/خسارة يومية) و SCALING (لا شبكة، ولا مارتينجال، ولا إضافة إلى الرابح) و OnTester (لا دالة لياقة مخصصة) فغير منفّذة. كذلك لا توجد طبقة CONFIRM — فلتر H1 هو بوابة نظام لا تأكيد لكل صفقة، والاستراتيجية ستلتقط الإشارة في أي اتجاه طالما التقاطع واتجاه H1 متفقان.
توجد ثلاث دوال مساعدة للمحاولة في أسفل الملف: TryClose_EX16039 و TryClosePartial_EX16039 و TryModify_EX16039. كل منها تنفّذ حلقة من ثلاث محاولات على CTrade.PositionClose / PositionClosePartial / PositionModify، وتُعيد المحاولة عند REQUOTE/TIMEOUT/PRICE_OFF/PRICE_CHANGED مع نوم لمدة 100-200 مللي ثانية، وإلا تخرج وتُرجع false. لا تُستدعى هذه الدوال من أي مسار حي في المستشـار — OpenBuy/OpenSell يكتبان SL/TP مباشرة عبر trade.Buy()/trade.Sell() ولا توجد أي مواقع أخرى للإغلاق أو التعديل. لذا فهي حاضرة كهيكل مستقبلي لطبقة إدارة لكنها في الوقت الحالي كود ميت.
بالنسبة للمتداول الذي يقيّم هذا المستشـار، الصورة بسيطة: تقاطع متوسطين أسيين على M5 مع بوابة اتجاه اختيارية من H1، وصفقة واحدة فقط في الوقت نفسه، و SL/TP ثابت 400/800 نقطة، وتحديد حجم بنسبة المخاطرة أو ثابت، وحد سبريد 250 نقطة، وملء FOK، وانزلاق 3 نقاط. لا يوجد توسيع ولا إدارة ديناميكية ولا منطق تعافي ولا حماية إكويتي. هذا هيكل نظيف مصمم للمتداول الذي يريد نواة صغيرة قابلة للتدقيق يمكنه إما تشغيلها كما هي بإعداد مخاطرة منخفضة أو استخدامها كأساس لمزيد من التخصيص.
تفاصيل الاستراتيجية
ينشئ EX16039 ثلاث مقابض iMA في OnInit — متوسط أسي 10 وآخر 50 على الإطار الزمني الحالي، إضافة إلى متوسط 50 على H1 عند تفعيل فلتر الإطار الأعلى — ويُشغّل بقية الاستراتيجية بإيقاع شمعة جديدة. تُحدّث OnTick أسعار الرمز، وتطبّق حد سبريد ثابت 250 نقطة، وتقدّم حارس الشمعة الجديدة المعتمد على static-datetime، ثم تستدعي CheckSignal. ترفض هذه الدالة التقييم حين يكون PositionsTotal() > 0، وتنسخ شمعتين من بافرتي المتوسط السريع والبطيء، وتكشف التقاطع بمقارنة الشمعة 1 بالشمعة 2 لكل منهما: تنطلق إشارة الشراء إذا كانت الشمعة 1 السريعة فوق البطء وكانت الشمعة 2 السريعة عند البطء أو تحته، مع بوابة إضافية من فحص سعر الإغلاق مقابل متوسط H1؛ شرط البيع هو المرآة. OpenBuy و OpenSell دالتان متطابقتان تبنيان وقف الخسارة وجني الأرباح من InpStopLoss=400 و InpTakeProfit=800 نقطة، وتحددان حجم اللوت عبر CalculateLotSize (1% مخاطرة افتراضيًا، أو 0.01 ثابت عند إيقاف المخاطرة، مع تقريب لأسفل وفق خطوة اللوت للرمز وقصر ضمن LotsMin/LotsMax)، ثم تستدعيان CTrade.Buy/Sell بانزلاق 3 نقاط وملء FOK. قاعدة الصفقة الواحدة هي منطق الإدارة الوحيد — لا وقف متابع ولا نقل إلى التعادل ولا إغلاق جزئي ولا فلتر جلسة ولا إيقاف مؤقت. تذكر الترويسة 12 طبقة معمارية، لكن المصدر يربط فعليًا فقط REGIME و SIGNAL و ENTRY و NO-TRADE و RISK و SIZING و MANAGE و EXIT؛ أما CAPITAL CAP و SCALING و OnTester وطبقة CONFIRM منفصلة فغير منفّذة، وتوجد ثلاث دوال مساعدة للمحاولة (TryClose_EX16039 و TryClosePartial_EX16039 و TryModify_EX16039) في أسفل الملف دون أن تُستدعى.
إشارة الشراء عندما يتقاطع المتوسط الأسي 10 فوق المتوسط الأسي 50 على الإطار الزمني الحالي (الشمعة 1 فوق البطيء، الشمعة 2 لا تزال عنده أو تحته)، ويكون إغلاق الشمعة الحالية فوق المتوسط 50 على H1 في حال كان فلتر الإطار الأعلى مفعّلًا. إشارة البيع على الشرط المعاكس مع كون الإغلاق تحت متوسط H1. لا ينظر المستشـار إلى الإشارات إلا حين لا توجد صفقة مفتوحة، وبعد إغلاق شمعة جديدة، وعندما يكون السبريد الحالي عند 250 نقطة أو أقل.
تُغلق الصفقات فقط عند وقف الخسارة أو جني الأرباح المرفقَين بأمر الدخول، أو عندما يحدث تقاطع معاكس ويفتح المستشـار صفقة جديدة في الاتجاه الآخر (بوابة الصفقة الواحدة تضمن أن الدخول الجديد يحل محل السابق). لا يوجد وقف متابع، ولا نقل إلى نقطة التعادل، ولا إغلاق جزئي، ولا خروج مبني على الوقت.
وقف خسارة ثابت 400 نقطة يُرفق بكل صفقة عبر trade.Buy() / trade.Sell()، ويُحسب بمقدار InpStopLoss * mysymbol.Point() من سعر ask (للشراء) أو bid (للبيع). لا يوجد وقف خسارة ديناميكي أو متابع — تبقى القيمة نفسها ثابتة حتى تُغلق الصفقة.
جني أرباح ثابت 800 نقطة يُرفق بكل صفقة، أي ضعف مسافة وقف الخسارة لعائد 1:2 إلى المخاطرة. يُضبط جني الأرباح عند فتح الأمر ولا يتحرك بعد ذلك.
الأنسب لزوج XAUUSD على الإطار M5 مع حد أدنى للإيداع قدره 100 دولار (ويُنصح بـ 300 دولار أو أكثر لتوفير هامش مريح)، على وسيط ECN أو منخفض السبريد حتى لا يُفعَّل حد الـ 250 نقطة بشكل متكرر. مستوى المخاطرة متوسط — إذ إن نسبة المخاطرة/العائد 1:2 وتحديد الحجم بنسبة مئوية يحميان الحساب من سلسلة خسائر واحدة، لكن غياب سقف السحب العالمي يعني أن على المتداول مسؤولية مراقبة الإكويتي. يُفضَّل إبقاء فلتر H1 مفعّلًا ما لم يكن المطلوب صراحة التقاطعات المعاكسة للاتجاه على M5، وتعمل الاستراتيجية بأفضل صورة خلال فترة تداخل جلسة لندن ونيويورك حيث يشهد XAUUSD أوضح تحركاته الاتجاهية.
منطق الاستراتيجية
Pipsgrowth EX16039 Trend — تحليل منطق الاستراتيجية (من كود .mq5)
العائلة: Trend
الماجيك: 22216039
الإصدار: 2.00
الوصف:
Trend Rider EA for XAUUSD M5 using fast/slow EMA crossover with optional H1 higher-timeframe MA filter. Risk-based or fixed lot sizing, spread filter, SL/TP. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester
المؤشرات:
- مؤشرات قياسية
الدوال الرئيسية:
CheckSignal()OpenBuy()OpenSell()CalculateLotSize()TryClose_EX16039()TryClosePartial_EX16039()TryModify_EX16039()
// Pipsgrowth EX16039 Trend — Execution Flow (from source analysis)
// Family: Trend
// Trend Rider EA for XAUUSD M5 using fast/slow EMA crossover with optional H1 higher-timeframe MA filter. Risk-based or fixed lot sizing, spread filter, SL/TP. 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
معاملات الإكسبرت
| المعامل | الافتراضي | الوصف |
|---|---|---|
| InpFastMA | 10 | Fast MA Period |
| InpSlowMA | 50 | Slow MA Period |
| InpHigherTimeframe | true | Filter with H1 MA |
| InpRiskPercent | 1.0 | Risk Percent per Trade |
| InpFixedLot | 0.01 | Fixed Lot (if Risk=0) |
| InpStopLoss | 400 | Stop Loss (points) |
| InpTakeProfit | 800 | Take Profit (points) |
| InpMagicNumber | 22216039 | Magic Number |
| InpTradeComment | "Psgrowth.com Expert_16039" | Trade Comment |
| InpMaxSpread | 250 | Max Spread (points) |
| InpSlippage | 3 | Slippage |
#property copyright "Pipsgrowth.com"
#property link "https://pipsgrowth.com"
#property version "2.00"
#property strict
#property description "Pipsgrowth.com EX16039 TrendRider_XAUUSD_5M — EMA crossover trend rider with H1 filter, full 12-layer stack."
#include <Trade\Trade.mqh>
#include <Trade\PositionInfo.mqh>
#include <Trade\SymbolInfo.mqh>
#include <Trade\AccountInfo.mqh>
CTrade trade;
CPositionInfo position;
CSymbolInfo mysymbol;
CAccountInfo account;
//--- Input Groups
input group "=== Strategy Parameters ==="
input int InpFastMA = 10; // Fast MA Period
input int InpSlowMA = 50; // Slow MA Period
input bool InpHigherTimeframe= true; // Filter with H1 MA
input group "=== Money Management ==="
input double InpRiskPercent = 1.0; // Risk Percent per Trade
input double InpFixedLot = 0.01; // Fixed Lot (if Risk=0)
input int InpStopLoss = 400; // Stop Loss (points)
input int InpTakeProfit = 800; // Take Profit (points)
input group "=== Trade Management ==="
input int InpMagicNumber = 22216039; // Magic Number
input string InpTradeComment = "Psgrowth.com Expert_16039"; // Trade Comment
input int InpMaxSpread = 250; // Max Spread (points)
input int InpSlippage = 3; // Slippage
//--- Handles
int hFastMA;
int hSlowMA;
int hFilterMA;
//--- Global Buffers
double bufFastMA[];
double bufSlowMA[];
double bufFilterMA[];
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
trade.SetExpertMagicNumber(InpMagicNumber);
trade.SetDeviationInPoints(InpSlippage);
trade.SetTypeFilling(ORDER_FILLING_FOK);
hFastMA = iMA(_Symbol, _Period, InpFastMA, 0, MODE_EMA, PRICE_CLOSE);
hSlowMA = iMA(_Symbol, _Period, InpSlowMA, 0, MODE_EMA, PRICE_CLOSE);
if(InpHigherTimeframe)
hFilterMA = iMA(_Symbol, PERIOD_H1, InpSlowMA, 0, MODE_EMA, PRICE_CLOSE);
if(hFastMA == INVALID_HANDLE || hSlowMA == 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 مفتوح المصدر.
مجتمع المستخدمين
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.