Pipsgrowth EX16011 Trend — إكسبرت أدفايزر متابعة اتجاه
إكسبرت أدفايزر MT5 مفتوح المصدر · XAUUSD · M15
Pipsgrowth EX16011 Trend — Gold Scalping EA trading engulfing candlestick reversal patterns. Detects strong bullish/bearish engulfing bars using bo. إكسبرت أدفايزر MT5 مفتوح المصدر.
نظرة عامة
Pipsgrowth EX16011 هو إكسبيرت أدفايزر لاختراق الاتجاه الصاعد على الذهب، مبني بالكامل حول تشكيل شمعة واحدة محددة: شمعة الابتلاع (Engulfing). يحمّل مؤشر ATR(14) على الإطار الزمني M15، يراقب شمعة مغلقة تبتلع الجسم الحقيقي للشمعة السابقة بالكامل، ولا يتصرف إلا عندما يكون جسم شمعة الابتلاع أكبر بمقدار 1.2 مرة على الأقل من حجم الشمعة التي استوعبها (المتغير MinEngulfRatio). كل شيء آخر في الإكسبيرت — وقف الخسارة، جني الأرباح، وقف الخسارة المتحرك، تحديد حجم اللوت، منطق إعادة المحاولة، وسلسلة تعليق الصفقة — هو غلاف حول هذا القرار الوحيد.
منطق الإشارة في GetEngulfingSignal() يعمل على آخر شمعتين مغلقتين على M15 (الشمعة 1 = آخر شمعة مغلقة، الشمعة 2 = الشمعة التي قبلها). الابتلاع الصاعد يتطلب ثلاثة شروط في وقت واحد: يجب أن تكون الشمعة 2 هابطة (close2 < open2)، يجب أن تكون الشمعة 1 صاعدة (close1 > open1)، ويجب أن يغطي جسم الشمعة 1 جسم الشمعة 2 بالكامل — أي أن الشمعة 1 تغلق فوق افتتاح الشمعة 2 وتفتح تحت إغلاق الشمعة 2. نسبة الجسم الدنيا 1.2 (MinEngulfRatio) تضمن أن سيناريو الجسم الداخلي الضعيف لا يجتاز الفلتر؛ يجب أن تكون شمعة الابتلاع أكبر بشكل ملموس من الشمعة التي استوعبتها. الابتلاع الهابط هو المرآة: الشمعة 2 صاعدة، الشمعة 1 هابطة، الشمعة 1 تفتح فوق إغلاق الشمعة 2 وتغلق تحت افتتاح الشمعة 2، مع نفس نسبة الجسم 1.2. لا يوجد فلتر اتجاه، ولا مذبذب، ولا تأكيد زخم، ولا بوابة جلسة — الإشارة هندسية بحتة. عندما لا تتوافق الشروط، تُرجع الدالة 0 ولا تفعل OnTick() شيئاً.
سريان الأمر يمر عبر OpenPosition()، التي تحسب كل من مسافة وقف الخسارة ومسافة جني الأرباح من قراءة ATR(14) الحية التي يتم تحديثها عند كل شريط جديد. مسافة وقف الخسارة هي max(ATR × 1.5, StopLossPips × pipSize, minDist × 1.5) حيث minDist مشتق من SYMBOL_TRADE_STOPS_LEVEL للوسيط (مع احتياطي 10 نقاط عندما يُبلغ الوسيط بصفر). StopLossPips الافتراضي هو 15، لذا فإن وقف الخسارة لا يقل عن 15 نقطة ويتسع تلقائياً عندما يكون ATR(14) أعلى من 10 نقاط. مسافة جني الأرباح هي max(SL × 2, minDist × 1.5) — نسبة مخاطرة إلى عائد لا تقل عن 1:2 بغض النظر عن مدى ضيق وقف الخسارة. كلا السعرين يتم تطبيعهما إلى _Digits قبل إرفاقهما بالأمر، ويأتي حجم اللوت من CalculatePositionSize()، التي تستخدم المخاطرة القياسية 2% من الرصيد (المتغير RiskPercent) مقسوماً على slPips × pipValuePerLot، مقرباً إلى خطوة حجم الرمز، ومحصوراً بين الحد الأدنى والأقصى لحجم الوسيط.
تحدث الإدارة عند كل تيكتك من خلال ManageOpenPositions()، التي تتكرر على المراكز المطابقة لرمز الإكسبيرت ورقم السحر. بمجرد أن يتجاوز الربح المفتوح TrailingStartPips = 10، يبدأ الإكسبيرت في تشديد وقف الخسارة تدريجياً: للشراء، يضبط وقف الخسارة الجديد على currentPrice - 10 نقاط، ولكن فقط إذا كان وقف الخسارة الجديد أعلى من وقف الخسارة الحالي بأكثر من TrailingStepPips = 5 نقاط (newSL > sl + 5 نقاط). للبيع، ينطبق الشرط المعاكس. وقف الخسارة المتحرك تدريجي — لا يتحرك للخلف أبداً، يتقدم فقط بقفزات 5 نقاط، ولا يعدل جني الأرباح أبداً (يتم تمرير TP كـ PositionGetDouble(POSITION_TP) في كل استدعاء تعديل). لا توجد خطوة تعادل، ولا إغلاق جزئي، ولا خروج قائم على الوقت؛ تبقى الصفقة حتى يأخذها جني الأرباح أو وقف الخسارة أو تشديد الوقف المتحرك.
قاعدة عد المراكز صارمة: تستدعي OnTick() الدالة CountPositions() بعد اجتياز الفلاتر، وإذا كانت هناك بالفعل صفقة واحدة مفتوحة لرمز الإكسبيرت ورقم السحر، تعود الدالة فوراً. هذا إكسبيرت بمركز واحد لكل رمز — لا تكرار، ولا متوسطات، ولا شبكة، ولا مارتينجال، ولا مضاعف استرداد. يدّعي الوصف 12 طبقة بما في ذلك وحدات NO-TRADE وCAPITAL CAP وSCALING وOnTester، لكن الكود يربط فقط الإشارة/الدخول/الإدارة/الخروج/الحجم/المخاطرة: لا يوجد وقف للرصيد، ولا دائرة خسارة يومية، ولا فلتر جلسة، ولا فلتر أخبار، ولا خروج زمني، وOnTester() فارغة. التحكم الفعلي في المخاطرة هو المخاطرة الثابتة 2% لكل صفقة مع سقف المركز الواحد وفلتر الفروقات 25 نقطة (UseSpreadFilter = true، MaxSpreadPips = 25.0) الذي يرفض الدخول عندما يكون السبريد المباشر عريضاً جداً للحصول على تنفيذ ابتلاع نظيف.
تنفيذ الأمر يمر عبر غلاف MQL5 CTrade مع SetExpertMagicNumber(22216011)، وSetDeviationInPoints(3) لتحمل الانزلاق، ووضع تعبئة يتم اكتشافه تلقائياً يفضل FOK إذا كان الوسيط يدعمه، وإلا IOC، وإلا وضع RETURN التقليدي. ثلاث مساعدات إعادة المحاولة — TryClose_EX16011 وTryClosePartial_EX16011 وTryModify_EX16011 — تحاول كل منها العملية حتى ثلاث مرات، تنام 200 مللي ثانية بعد استجابة REQUOTE/TIMEOUT/PRICE_OFF/PRICE_CHANGED من استدعاءات الإغلاق/الإغلاق-الجزئي و100 مللي ثانية بعد REQUOTE/TIMEOUT من استدعاء التعديل. TryModify هو الوحيد الذي يُستدعى فعلياً من الكود الحي (عبر SafePositionModify)؛ مساعدات الإغلاق معرّفة للمرونة لكنها ليست على مسار استدعاء. SafePositionModify نفسها تعيد التحقق من SL/TP المقترح مقابل SYMBOL_TRADE_STOPS_LEVEL، ترفض وضع SL على الجانب الخاطئ من السعر، وترفض وضع TP أقرب من المسافة الدنيا للوسيط — دفاع ضد أخطاء -1 التي تأتي من إرسال وقف داخل فروق العرض/الطلب.
الشخصية العامة للإكسبيرت هي شخصية سكالبير منخفض المدخلات يعتمد على الإشارة. مجموعات المدخلات الثلاث (إدارة المخاطر، إعدادات التجارة، وقف الخسارة المتحرك، الفلاتر) يبلغ مجموعها 11 متغيراً في المجموع. الحد الأدنى للرصيد الموصى به هو 100 دولار — UseMoneyManagement = true مع RiskPercent = 2.0 يعني أن حساب 100 دولار يخاطر بـ 2.00 دولار لكل صفقة، مع تحديد حجم اللوت بما تسمح به مسافة وقف الخسارة وقيمة تكة الذهب؛ على 100 دولار، مع وقف خسارة 15 نقطة، هذا تقريباً 0.01 لوت. سقف المركز الواحد وهندسة الابتلاع الصارمة يعنيان أنه لن تكون هناك استدعاءات هامش مفاجئة من شبكة منفلتة، لكن هذا يعني أيضاً أن الإكسبيرت سيبقى خاملاً خلال فترات طويلة من تذبذب الذهب حيث لا يتشكل نمط ابتلاع نظيف. الاختبارات الخلفية على M15 تميل إلى إظهار تكرار صفقات معتدل بهيكل رابح يعتمد على ما إذا كان TP بنسبة 1:2 ينطلق قبل أن يتولى وقف الخسارة المتحرك الأمر — يصبح تشديد الوقف المتحرك مهيمناً على الصفقات التي تنجو من أول 10 نقاط ربح، ومن تلك النقطة فصاعداً، تكون الصفقة أساساً صفقة جارية بأرضية متحركة 10 نقاط.
من الناحية التشغيلية، شغّل هذا على وسيط ECN أو RAW سبريد (XAUUSD M15 بسقف فروقات 25 نقطة يتطلب منصة سبريد منخفضة، لأن فروقات الذهب تتسع حول الأخبار)، حافظ على حجم الحساب عند أي مستوى يجعل مخاطر 2% مريحة لك، ودع الإكسبيرت يعمل في الجلسات النشطة — لندن ونيويورك، عندما يكون حجم الذهب وأجسام الشموع أكبر ما يمكن، تنتج أنماط ابتلاع أنظف. لا يوجد مفتاح إيقاف، لذا فإن المتداول هو طبقة التحكم في المخاطرة الأخيرة: راقب المراكز ذات رقم السحر 22216011 ولا تتجاوز الإكسبيرت في منتصف الصفقة.
تفاصيل الاستراتيجية
تبدأ كل تيكتك في OnTick() باستدعاء ManageOpenPositions() التي تستعرض جميع المراكز المطابقة لرمز الإكسبيرت ورقم السحر 22216011، وتشدد وقف الخسارة إلى الأمام بخطوات 5 نقاط بمجرد أن يتجاوز الربح 10 نقاط. قرار الاستراتيجية نفسه لا يعمل إلا على أشرطة M15 المغلقة عبر حارس IsNewBar()؛ يسحب RefreshIndicators() أحدث قراءة ATR(14) من المقبض الوحيد الذي تم إنشاؤه في OnInit. يرفض CheckFilters() بعد ذلك الشريط إذا تجاوز السبريد المباشر 25 نقطة، وتعود CountPositions() فوراً إذا كانت هناك صفقة مفتوحة بالفعل — هذا إكسبيرت صارم بمركز واحد لكل رمز. تقرأ GetEngulfingSignal() بيانات OHLC للشمعة 1 والشمعة 2 وتطبق اختبار الابتلاع الصاعد/الهابط ثلاثي الأجزاء: يجب أن يكون اتجاه الشمعة السابقة معاكساً، يجب أن تغطي الشمعة الحالية نطاق الافتتاح-إلى-الإغلاق للشمعة السابقة، ويجب أن تتجاوز نسبة الجسم MinEngulfRatio=1.2. ثم تقوم OpenPosition() بتحديد حجم اللوت من قاعدة المخاطرة 2%، وتحسب SL كـ max(ATR×1.5، 15 نقطة، broker min×1.5) وTP كـ max(SL×2، min×1.5)، وترسل عبر CTrade مع وضع التعبئة المكتشف تلقائياً وتحمل انزلاق 3 نقاط. تمر جميع التعديلات عبر TryModify_EX16011 التي تعيد المحاولة حتى ثلاث مرات على ردود REQUOTE/TIMEOUT بـ 100 مللي ثانية من التراجع؛ مساعدات إعادة المحاولة للإغلاق والإغلاق الجزئي معرّفة للمرونة لكنها ليست على مسار استدعاء حي.
يتم تشغيل الدخول عند شمعة M15 مغلقة تبتلع الجسم الحقيقي للشمعة السابقة بالكامل (close1>open2 AND open1<close2 للابتلاع الصاعد، والمرآة للهابط) مع كون الحجم المطلق لجسم الابتلاع على الأقل 1.2 مرة من جسم الشمعة المبتعلة (MinEngulfRatio=1.2). لا يوجد فلتر اتجاه أو مذبذب أو بوابة جلسة — الإشارة هندسة شريطية بحتة تُقيَّم على الشمعة 1 مقابل الشمعة 2. يفرض الإكسبيرت أيضاً سقف مركز واحد لكل رمز (CountPositions>=1 ترجع) وفلتر فروقات أقصى 25 نقطة قبل الفتح.
تعمل الخروجات على ثلاث مسارات: جني الأرباح الثابت بنسبة 1:2 المرفق عند إدخال الأمر، وقف الخسارة المرفق عند إدخال الأمر (والذي يمكن تشديده بواسطة وقف الخسارة المتحرك)، ووقف الخسارة المتحرك نفسه. ينشط تشديد الوقف المتحرك في ManageOpenPositions() بمجرد أن يتجاوز الربح المفتوح 10 نقاط ويسحب وقف الخسارة إلى currentPrice±10 نقاط بزيادات 5 نقاط — لا يتحرك للخلف أبداً، ولا يعدل TP. لا توجد خطوة تعادل، ولا إغلاق جزئي، ولا خروج قائم على الوقت.
يتم تثبيت وقف الخسارة حسب التذبذب عبر ATR(14) على M15، محسوباً كـ max(ATR×1.5، 15 نقطة، broker minStopLevel×1.5) ومرفقاً عند إدخال الأمر. يقوم وقف الخسارة المتحرك (TrailingStartPips=10، TrailingStepPips=5) بتشديد وقف الخسارة إلى الأمام بزيادات 5 نقاط بمجرد أن يتجاوز الربح 10 نقاط، ولا يحركه للخلف أبداً. تمر جميع التعديلات عبر SafePositionModify التي تتحقق من أن وقف الخسارة على الجانب الصحيح من السعر ويحترم مسافة الوقف الدنيا للوسيط.
يتم تثبيت جني الأرباح عند الإدخال بنسبة مخاطرة إلى عائد 1:2 لوقف الخسارة (tpDist = max(slDist×2، minDist×1.5)) مع كون TakeProfitPips=30 الافتراضي غير فعال لأن SL المرتبط بـ ATR × 2 يتجاوزه دائماً. لا يتم تعديل TP بواسطة وقف الخسارة المتحرك أبداً — يبقى عند المستوى الأصلي من جانب الخادم طوال حياة الصفقة.
مناسب بشكل أفضل لـ XAUUSD M15 على حساب ECN أو RAW سبريد برصيد 100 دولار+ حيث تعادل مخاطر 2% لكل صفقة تقريباً 2.00 دولار وتحدد حجم المركز إلى حوالي 0.01 لوت مقابل وقف 15 نقطة. شغّل خلال جلسات لندن ونيويورك عندما ينتج حجم الذهب وأجسام الشموع أنماط ابتلاع أنظف؛ سيحجب فلتر الفروقات 25 نقطة الإدخالات خلال ساعات خارج التداول وحول الأخبار عندما تتسع الفروقات. يجعل سقف المركز الواحد لكل رمز والدخول الهندسي البحت هذا إكسبيرت انعكاسي منخفض التردد — توقع فترات خاملة طويلة تتخللها صفقات معزولة بأهداف 1:2 وأرضية متحركة 10 نقاط.
منطق الاستراتيجية
Pipsgrowth EX16011 Trend — تحليل منطق الاستراتيجية (من كود .mq5)
العائلة: Trend
الماجيك: 22216011
الإصدار: 2.00
الوصف:
Gold Scalping EA trading engulfing candlestick reversal patterns. Detects strong bullish/bearish engulfing bars using body ratio analysis and enters on reversal with ATR-based stops and trailing stop management. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester
المؤشرات:
- مؤشرات قياسية
الدوال الرئيسية:
SafePositionModify()RefreshIndicators()GetEngulfingSignal()OpenPosition()CalculatePositionSize()ManageOpenPositions()IsNewBar()GetPipSize()CheckFilters()CountPositions()
// Pipsgrowth EX16011 Trend — Execution Flow (from source analysis)
// Family: Trend
// Gold Scalping EA trading engulfing candlestick reversal patterns. Detects strong bullish/bearish engulfing bars using body ratio analysis and enters on reversal with ATR-based stops and trailing stop management. 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 | 22216011 | Magic Number (222 + Expert ID) |
| InpTradeComment | "Psgrowth.com Expert_16011" | Trade Comment |
| MinEngulfRatio | 1.2 | Min body ratio for engulfing |
#property copyright "Pipsgrowth.com"
#property link "https://pipsgrowth.com"
#property version "2.00"
#property strict
#property description "Pipsgrowth.com EX16011 GoldScalper Engulfing StrongReversal — engulfing reversal scalper, full 12-layer stack."
#include <Trade\Trade.mqh>
input group "=== Risk Management ==="
input bool UseMoneyManagement = true;
input double RiskPercent = 2.0;
input double FixedLotSize = 0.01;
input group "=== Trade Settings ==="
input int StopLossPips = 15;
input int TakeProfitPips = 30;
input int Slippage = 3;
input int MagicNumber = 22216011; // Magic Number (222 + Expert ID)
input string InpTradeComment = "Psgrowth.com Expert_16011"; // Trade Comment
input double MinEngulfRatio = 1.2; // Min body ratio for engulfing
input group "=== Trailing Stop ==="
input bool UseTrailingStop = true;
input int TrailingStartPips = 10;
input int TrailingStepPips = 5;
input group "=== Filters ==="
input bool UseSpreadFilter = true;
input double MaxSpreadPips = 25.0;
CTrade trade;
int handleATR;
datetime lastBarTime = 0;
double currentATR;
ENUM_ORDER_TYPE_FILLING GetAllowedFilling()
{
int filling_mode = (int)SymbolInfoInteger(_Symbol, SYMBOL_FILLING_MODE);
if((filling_mode & SYMBOL_FILLING_FOK) == SYMBOL_FILLING_FOK) return ORDER_FILLING_FOK;
else if((filling_mode & SYMBOL_FILLING_IOC) == SYMBOL_FILLING_IOC) return ORDER_FILLING_IOC;
else return ORDER_FILLING_RETURN;
}
//+------------------------------------------------------------------+
//| Safe Position Modify - validates stops before modifying |
//+------------------------------------------------------------------+
bool SafePositionModify(ulong ticket, double newSL, double newTP)
{
// Select the position
if(!PositionSelectByTicket(ticket))
{
return false; // Position doesn't exist, no error needed
}
// Get current price
long type = PositionGetInteger(POSITION_TYPE);
double price = (type == POSITION_TYPE_BUY) ?
SymbolInfoDouble(_Symbol, SYMBOL_BID) :
SymbolInfoDouble(_Symbol, SYMBOL_ASK);الكود المصدري الكامل متاح عند التحميل
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.
تحذير صريح: لأغراض تعليمية فقط
تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.
وسطاء موصى بهم لهذا الإكسبرت
هذه الروبوتات تعمل على 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 مفتوح المصدر.
مجتمع المستخدمين
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.