Pipsgrowth EX16101 Trend — إكسبرت أدفايزر متابعة اتجاه
إكسبرت أدفايزر MT5 مفتوح المصدر · XAUUSD · M1
Pipsgrowth EX16101 Trend — Gold Trend Stacker EA that scalps XAUUSD on M1 using SuperTrend, HMA, RSI, Bollinger Bands and ADX with stacking. 12 lay. إكسبرت أدفايزر MT5 مفتوح المصدر.
نظرة عامة
إن Pipsgrowth EX16101 GoldTrendStackerEA مصمم لغرض محدد: تراكب_entries موزونة مع الاتجاه على رسم بياني للذهب XAUUSD بإطار دقيقة واحدة، في حين تعمل بقية EAs العائلة على أطر زمنية أعلى أو بإدخالات منفردة. حيث تكتفي معظم روبوتات MT5 المتابعة للاتجاه بفتح صفقة واحدة لكل إشارة وانتظار النتيجة، يقوم EX16101 عمداً بالتراكم — يمكنه تكديس ما يصل إلى ثلاث صفقات في الاتجاه نفسه عندما تكون الصفقة الأصلية بالفعل رابحة وقد تحرك السعر بعيداً بما يكفي عن الإدخال السابق. إن مسافة التكديس الافتراضية البالغة 120 نقطة مع اشتراط ربح أدنى قدره 50 نقطة يعني أن الطبقة الجديدة لا تظهر إلا بعد أن تكون الطبقة السابقة في المنطقة الخضراء بارتياح، مما يجعل التكديس أقرب إلى منهج "الإضافة إلى الرابح" المتحكم فيه بدلاً من شبكة استرداد مارتينجال.
يرتكز المحرك على تقاطع متوسطين متحركين كإشارة أساسية. المتوسط السريع افتراضياً SMA بعشرة فترات، والمتوسط البطيء SMA بعشرين فترة، كلاهما على سعر الإغلاق. التقاطع الصعودي (السريع فوق البطيء في الشمعة الحالية بعد أن كان تحته في الشمعة السابقة) يولّد انحيازاً شرائياً؛ التقاطع الهبوطي يفعل العكس. وحده سيكون تقاطعاً مشوشاً على الدقيقة، لذلك يلفّه EA بثلاثة تأكيدات اختيارية تعمل كبوابات AND: متوسط هال ب21 فترة (يستخدم الكود المصدر EMA ب21 فترة كعنصر نائب لـ HMA، وهي ثغرة واضحة في الكود)، ومؤشر RSI(14) بحدود 55 للشراء و45 للبيع، وتأكيد متعدد الأطر الزمنية. فحص الإطار المتعدد افتراضياً M30 وH4 ويُعد تقييم HMA على هذين الإطارين الأعلى؛ يُرفض الإدخال إذا خالف HMA للإطار الأعلى الاتجاه المقترح. مرشح SuperTrend مُدرج في المدخلات لكن استدعاء iCustom مجرد عنصر نائب — يطبع المتغير ملاحظة ولا يتم تقييم منطق اتجاه الاتجاه فعلياً، فالتاجر الذي يفعّل مفتاح SuperTrend يحصل على مرشح لا يصفّي.
طبقة ثانية من المنطق تحدد ما إذا كان يجب الدخول أصلاً. ترجع IsChoppyMarket() إلى true في حال تحقق أي من ثلاثة شروط: ADX(14) دون عتبة 20، أو RSI(14) في المنطقة الميتة بين 45 و55، أو ضغط عرض bands بولينجر (20 فترة، انحراف 2.0) أقل من 0.5 نقطة. يعمل فحص عرض الباندز بالنقاط لا كنسبة من السعر، لذلك في وسيط ذهب بخمس خانات حيث النقطة 0.01، فإن 0.5 نقطة تعني نصف سنت — وهو عتبة ضيقة جداً تكاد تنطلق دائماً. لذا فإن مرشح بولينجر يحظر على الأرجح كل الدقائق إلا الأكثر تذبذباً ما لم يوسّع المستخدم BbWidthThreshold بشكل كبير. مرشح هايكين آشي ومرشح SuperTrend كلاهما يُترجم لكن مساعدات IsHeikenAshiAlternating و IsHeikenAshiBullishStrong و IsHeikenAshiBearishStrong ومقبض SuperTrend iCustom معلقة كعناصر نائبة، لذلك مفاتيح التبديل في لوحة المدخلات تجميلية فعلياً.
يجمع إدارة الصفقات بين وقف ثابت، ووقف متابعة متدرج بخطوات، ووظيفة لتأمين الأكوام القديمة. تحصل كل صفقة على وقف ثابت 120 نقطة وجني أرباح صفر — التصميم يفترض أن المخارج تُدار بواسطة وقف المتابعة لا بهدف ثابت. ينتظر محرك المتابعة حتى تصل الصفقة إلى 120 نقطة ربح، ثم يدرّج الوقف بخطوات 50 نقطة: مع نمو الربح ينتقل SL إلى سعر_الفتح + 120 + (steps-1)*50 نقطة للشراء. SL يتحرك للأمام فقط ولا يتراجع. تتعامل SecureStackedPositions() مع حالة الصفقات المتعددة: تحدد أحدث تذكرة شراء وأحدث تذكرة بيع، ثم لكل صفقة قديمة في نفس الاتجاه يتجاوز ربحها SecuredProfitPoints (افتراضي 5 نقاط)، تنقل SL إلى سعر_الفتح + 5 نقاط للشراء أو - 5 نقاط للبيع، فتؤمن ربحاً ضئيلاً في الطبقات القديمة بينما تترك الأحدث حرة للركوب.
مكافحة المخاطر مُطبّقة على طبقات. MinEquityForNewTrades (افتراضي 300) يتحكم في كل الإدخالات الجديدة — إذا انخفضت equity الحساب دون 300، يستمر EA في إدارة الصفقات القائمة لكنه لا يفتح صفقات جديدة. كتلة Cooldown Management تضبط استراحة 30 دقيقة بعد 3 خسائر متتالية، لكن التنفيذ جزئي: عداد OnTradeTransaction يعدّ الصفقات المغلقة لكن العداد consecutiveLosses لا يزداد فعلياً داخل فرع deal-add، وهي ثغرة برمجية — مؤقت الاستراحة لا ينطلق فعلياً ما لم يضاع المستخدم العداد يدوياً أو يوسّع المنطق. مدير الجلسة يفرض نافذة حظر افتراضية من 00:00 إلى 03:00 توقيت الخادم ويوقف الإدخالات الجديدة قبل 20 دقيقة من نهاية اليوم الافتراضية 23:59. FridaySessionCutoff (افتراضي true) يكرر القطع يوم الجمعة، وعندما يكون CloseAllBeforeClose مُفعّلاً، تُغلق قسرياً كل الصفقات على الرمز عند وقت القطع باستخدام TryClose_EX16101.
جميع عمليات الأمر تتم عبر غلاف CTrade. يرسل OpenTrade أمر سوق بحجم 0.01 المهيأ، ووقف 120 نقطة، وجني أرباح صفر، مع انزلاق مسموح به 10 نقاط. تعليق الأمر "Psgrowth.com Expert_16101" يتيح للتمييز بين تاريخ هذا EA في MT5. مساعدات إعادة المحاولة TryClose_EX16101 و TryClosePartial_EX16101 و TryModify_EX16101 تدور كل منها حتى 3 مرات على أخطاء requote و timeout و price-off و price-changed بفواصل 200ms (أو 100ms للتعديل). TryClose مدمج في إغلاق نهاية الجلسة؛ TryModify مدمج في وقف المتابعة ومنطق تأمين الكومة. TryClosePartial معرّف لكنه لا يُستدعى في أي مكان في الكود.
نقطتان ينبغي على من يجري backtest معرفتهما قبل الوثوق بأي أرقام. أولاً، يفحص EA الدالة Period() != PERIOD_M1 في OnInit ويطبع تحذيراً لكنه لا يرفض التشغيل، لذلك إرفاقه بـ M5 أو M15 سيُترجم ويُرفق ويتداول على إطار غير M1 رغم ملاحظة الترويسة بأن EA مصمم للدقيقة. ثانياً، GetMarketCloseTime() تثبّت 23:59 كوقت إغلاق يومي افتراضي، ما يناسب وسيطاً يكون منتصف ليل الخادم قريباً من نهاية يوم التداول لكنه يفشل في وسطاء يقلبون اليوم عند 22:00 أو 00:00 — قطع يوم الجمعة سيغلق الصفقات في وقت خاطئ على تلك الخوادم. الوسطاء بسيولة عميقة وفروق ضيقة ضروريون لأن وقف المتابعة ينطلق بعد 120 نقطة فقط وسيأكل فارق 30 نقطة ربع تلك المساحة.
EA في جوهره مضارب (scalper) لا متداول تأرجح. مع 0.01 lot ووقف 120 نقطة وجني أرباح صفر، تخاطر كل صفقة غير مرفوعة بأقل من 0.12% من حساب 10000 دولار لكل طبقة، لكن تكديس ما يصل إلى 3 صفقات في الاتجاه نفسه يضاعف الحرارة على فكرة واحدة ثلاث مرات. الإيقاع المقصود هو ربح صغير متكرر عبر تدرج المتابعة لا فوز كبير نادر — وآلية المتابعة هي التي تحدد الأرباح المحققة في معظم الصفقات لا إشارة الدخول.
تفاصيل الاستراتيجية
في كل tick يجري EA أولاً بوابة الوقت وبوابة equity وبوابة الاستراحة؛ إن رجعت أي منها false، لا تزال ManageExistingTrades() تُستدعى كي يواصل وقف المتابعة وSL المكدس المُؤمَّن تدرّجه، لكن لا تُرسل أوامر جديدة. عندما تنجح كل البوابات وتتكون شمعة جديدة، تقرأ CheckNewTradeSignals() تقاطع MA وتطبق بوابة RSI وبوابة HMA وتأكيد الإطار الزمني المتعدد (M30 وH4 افتراضياً) ثم ترجع شراءً أو بيعاً. تعمل IsChoppyMarket() أولاً وتقصّر المسار بأكمله إذا كان ADX ضعيفاً أو RSI في المنطقة الميتة أو عرض بولينجر ضيقاً. منطق التكديس في CanStackTrade() يفرض أن تكون كل صفقات نفس الاتجاه رابحة 50 نقطة على الأقل وأن يبتعد الإدخال الجديد 120 نقطة عن الأحدث. ثم ترسل OpenTrade() أمر سوق بالوقف الثابت 120 نقطة وجني الأرباح صفر عبر غلاف CTrade يعيد المحاولة على requote وأخطاء تغير السعر.
يتم تشغيل دخول شراء عندما يعبر المتوسط السريع SMA بعشرة فترات فوق المتوسط البطيء SMA بعشرين فترة، ويكون HMA (EMA نائب) ب21 فترة تحت سعر Ask، ويكون RSI(14) فوق 55، ويتفق HMA للإطار الأعلى على M30 وH4 افتراضياً. التكوين العكسي يولّد دخول بيع. يجب أن ترجع IsChoppyMarket() إلى false — أي ADX ≥ 20، وRSI خارج 45-55، وعرض بولينجر ≥ 0.5 نقطة — كي تنجح الإشارة. أما إدخالات التكديس (الثانية والثالثة في نفس الاتجاه) فتشترط أن تكون كل صفقة قائمة في نفس الاتجاه رابحة 50 نقطة على الأقل وأن يبتعد السعر 120 نقطة على الأقل عن أحدث إدخال في نفس الاتجاه.
تخرج الصفقات عند وقف متابعة 120 نقطة يبدأ التدرج عندما يصل الربح إلى 120 نقطة ويتقدم بزيادات 50 نقطة. تُؤمَّن الصفقات القديمة في الكومة بنقل وقفها إلى سعر_الفتح ± 5 نقاط (SecuredProfitPoints) بمجرد أن يتجاوز ربحها 5 نقاط، بينما تحتفظ الأحدث بوقف المتابعة الحر. لا يوجد جني أرباح ثابت — المخارج مدارّة بالكامل بواسطة الوقف ودرج المتابعة وإغلاق نهاية الجلسة. يقطع إغلاق الجمعة/نهاية اليوم قبل 20 دقيقة من 23:59 توقيت الخادم الصفقات قسرياً عند تفعيل CloseAllBeforeClose.
تُفتح كل صفقة جديدة بوقف خسارة ثابت 120 نقطة (HardStopLossPoints) موضوع عند سعر الدخول، مع أرضية إضافية تحترم الحد الأدنى SYMBOL_TRADE_STOPS_LEVEL للوسيط. كما تُفرض مخاطر على مستوى الحساب بواسطة MinEquityForNewTrades: عندما تنخفض equity دون 300 دولار يتوقف EA عن فتح صفقات جديدة مع استمرار إدارة القائمة. لا توجد صيغة مخاطر لكل صفقة أو حجم مركز — مسافة SL ثابتة بالنقاط والlot ثابت عند 0.01.
لا يوجد جني أرباح — الكود المصدر يضبط TP=0 لكل من أوامر الشراء والبيع عمداً، تاركاً الخروج لوقف المتابعة. يدرّج محرك المتابعة الوقف للأمام بخطوات 50 نقطة بمجرد أن يتجاوز الربح 120 نقطة، وهو ما يحوّل حركة الاتجاه إلى ربح محقق.
هذا EA مُعاير للتجار الذين يريدون تراكب الإدخالات على رسم بياني XAUUSD بالدقيقة خلال الجلسات النشطة، برصيد بداية 300 دولار على الأقل (MinEquityForNewTrades) ويفضل نحو 1000 دولار لاستيعاب وقف 120 نقطة على 0.01 lot بارتياح. تداخل لندن-نيويورك هو النافذة الطبيعية لأن كلتيهما تنتجان التذبذب اللازم لتجاوز مسافة التكديس 120 نقطة؛ نافذة حظر 00:00-03:00 توقيت الخادم مدمجة افتراضياً. استخدم وسيط ECN بفروق ضيقة على الذهب لأن وقف المتابعة ينطلق بعد 120 نقطة فقط وفارق 30 نقطة يأكل ربع تلك المساحة. تتطلب M1 ليكون للتصميم معنى — الإرفاق بأطر أعلى سيُترجم لكنه يطلق تحذير OnInit.
منطق الاستراتيجية
Pipsgrowth EX16101 Trend — تحليل منطق الاستراتيجية (من كود .mq5)
العائلة: Trend
الماجيك: 22216101
الإصدار: 2.00
الوصف:
Gold Trend Stacker EA that scalps XAUUSD on M1 using SuperTrend, HMA, RSI, Bollinger Bands and ADX with stacking. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester
المؤشرات:
- مؤشرات قياسية
الدوال الرئيسية:
AttachIndicators()SecureStackedPositions()ManageExistingTrades()CheckNewTradeSignals()CountOpenTrades()CanStackTrade()OpenTrade()IsChoppyMarket()CheckConfirmationTFs()IsTradingAllowedByTime()
// Pipsgrowth EX16101 Trend — Execution Flow (from source analysis)
// Family: Trend
// Gold Trend Stacker EA that scalps XAUUSD on M1 using SuperTrend, HMA, RSI, Bollinger Bands and ADX with stacking. 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
معاملات الإكسبرت
| المعامل | الافتراضي | الوصف |
|---|---|---|
| LotSize | 0.01 | Initial Lot Size |
| MagicNumber | 22216101 | EA Magic Number |
| InpTradeComment | "Psgrowth.com Expert_16101" | Trade Comment |
| MaxOpenTrades | 3 | Max Stack Trades |
| MinEquityForNewTrades | 300.0 | Prevents trading below this equity |
| HardStopLossPoints | 120.0 | SL per trade in points |
| TrailingStartPoints | 120.0 | Start trailing after this profit in points |
| TrailingStepPoints | 50.0 | SL moves every this step in points |
| StackDistancePoints | 120.0 | Points between stack entries |
| MinProfitPerTradeToStack | 50.0 | All trades must meet this profit (in points) to allow stacking |
| MinMinutesBetweenStackTrades | 2 | Prevent overstacking |
| SecuredProfitPoints | 5.0 | Lock-in profit on older stack trades (points) |
| MAPrice | 1 | Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) |
| SupertrendMultiplier | 3.0 | HMA |
| HmaPeriod | 21 | RSI |
| RsiRangeMidUpper | 55.0 | For choppy market filter |
| RsiRangeMidLower | 45.0 | For choppy market filter |
| BbWidthThreshold | 0.5 | For choppy market filter |
| AdxThreshold | 20 | For choppy market filter |
| UseHeikenAshiFilter | true | Note: Heiken Ashi logic needs specific implementation |
| UseSupertrendFilter | true | Note: Supertrend logic needs specific implementation (iCustom) |
| UseAdxFilter | true | For choppy market filter |
| UseBbWidthFilter | true | For choppy market filter |
| UseBbExpansionFilter | true | This was in spec, but not clearly defined how to use. Add if logic is clear. |
| UseMaCrossoverFilter | true | Added for MA Signal Settings |
| AttachIndicatorsToChart | true | Visualize indicators on the chart |
| ConfirmTF1 | 4 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) |
| ConfirmTF2 | 6 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) |
| StopBeforeCloseMin | 20 | Stop trading X minutes before daily close |
| CloseAllBeforeClose | true | Close all trades before daily close |
| CloseOnlyProfitable | false | Close only profitable before daily close |
| CloseOnlyLosing | false | Close only losing before daily close |
| FridaySessionCutoff | true | Apply cutoff on Friday |
| BlockTradingStartHour | 0 | Start of no-trade window (server time) |
| BlockTradingEndHour | 3 | End of no-trade window (server time) |
| ConsecutiveLossLimit | 3 | After X consecutive losses |
| CooldownMinutes | 30 | Pause new trades for Y minutes |
#property copyright "Pipsgrowth.com"
#property link "https://pipsgrowth.com"
#property version "2.00"
#property strict
#property description "Pipsgrowth.com EX16101 GoldTrendStackerEA — gold trend stacking EA for XAUUSD M1, full 12-layer stack."
//--- Include files
#include <Trade\Trade.mqh>
#include <Trade\SymbolInfo.mqh>
#include <Trade\PositionInfo.mqh>
#include <Trade\OrderInfo.mqh>
#include <MovingAverages.mqh> // For HMA if available, or standard MAs
//--- Input Configuration Summary
//--- Trade Settings
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_ConfirmTF1 = PERIOD_H1;
ENUM_TIMEFRAMES g_ConfirmTF2 = PERIOD_H1;
ENUM_APPLIED_PRICE g_MAPrice = PRICE_CLOSE;
input group "=== Trade Settings ==="
input double LotSize = 0.01; // Initial Lot Size
input int MagicNumber = 22216101; // EA Magic Number
input string InpTradeComment = "Psgrowth.com Expert_16101"; // Trade Comment
input int MaxOpenTrades = 3; // Max Stack Trades
input double MinEquityForNewTrades = 300.0; // Prevents trading below this equity
//--- Stop Loss & Trailing
ENUM_TIMEFRAMES MapTimeframeInt(int tf)
{
switch(tf)
{
case 1: return PERIOD_M1;
case 2: return PERIOD_M5;الكود المصدري الكامل متاح عند التحميل
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.
تحذير صريح: لأغراض تعليمية فقط
تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.
وسطاء موصى بهم لهذا الإكسبرت
هذه الروبوتات تعمل على 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 مفتوح المصدر.
مجتمع المستخدمين
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.