Pipsgrowth EX16046 Trend — إكسبرت أدفايزر متابعة اتجاه
إكسبرت أدفايزر MT5 مفتوح المصدر · XAUUSD · M5، H1
Pipsgrowth EX16046 Trend — MANSAMUSSA 2.0s trend EA with multiple SellNow entry blocks, configurable volume modes (fixed, risk, martingale), stop l. إكسبرت أدفايزر MT5 مفتوح المصدر.
نظرة عامة
إكس 16046 من بيبس جروث مبني على إطار MANSAMUSSA 2.0s، وهو قشرة تنفيذ تعمل على مستوى التيك وتوزّع الاستراتيجية الواحدة على أحد عشر بلوكًا متعاونًا. البلوك 0 هو البوّابة: يستنسخ نموذج MDL_NoOrders، ويمسح المراكز المفتوحة والأوامر المعلقة على رمز الشارت، ولا يعيد true إلا حين لا يوجد أي من الاثنين. وفقط في تلك الحالة بالذات تتفرّع البوّابة إلى البلوك 1 حتى البلوك 10، وهي عشرة منفّذات MDL_SellNow متطابقة تنطلق كلها في نفس التيك. النتيجة العملية هي دخول بعشر طلقات: حين يكون الشارت فاضيًا، يرسل المستشار عشرة أوامر بيع سوقية الواحد تلو الآخر داخل استدعاء OnTick الواحد. كل واحد من تلك الأوامر هو POSITION_TYPE_SELL مشفّر في OrderCreate، ولا يوجد أي مسار شراء في الملف.
المنفّذات العشرة مرقّمة في المصدر من البلوك 73 إلى 81 إضافة للبلوك 84 (أرقام المستخدم 72 حتى 84 في __block_user_number)، وكل واحد منها يقرأ حجمه من واحد من مدخلات inp73_VolumeSize إلى inp84_VolumeSize. الافتراضيات كلها 0.10 لوت، لذا التثبيت الجديد يفتح على الفور مركز بيع مركّب قدره لوت واحد مؤلف من عشر أوامر فرعية متساوية. كل بلوك يسحب معطياته من كلاس _externs، فبإمكان المتداول أن يضبط كل سلّم على حدة. مثلًا: البلوك 1 يضرب بـ 0.10 لوت بينما البلوك 5 يضرب بـ 0.30 لوت، والمستشار يبني البيع المركّب تمامًا كما تحدّد المدخلات. الرقم السحري 22216046 مضافًا إليه إزاحة المجموعة لكل بلوك؛ ولأن Group في كل بلوك تكون فارغة افتراضيًا، فإن الأوامر العشرة تتشارك الرقم السحري 22216046، ما يعني أنها لا تُميَّز في لوحة التداول، وأن بوابة «لا أوامر» الخاصة بالمستشار تتعامل معها كصفقة قصيرة واحدة مركّبة.
نموذج MDL_SellNow هو موطن العمل الفعلي، ويحمل سبعة عشر وضعًا لحساب الحجم. الأوضاع البسيطة هي fixed وblock-equity وblock-balance وblock-freemargin وequity وbalance وfreemargin، وهي تحسب اللوت كنسبة مئوية من قيمة الحساب المقابلة إما مباشرة أو عبر OrderCalcMargin. الأوضاع المعتمدة على المخاطرة هي equityRisk وbalanceRisk وfreemarginRisk وfixedRisk، وهي تقسم النسبة المئوية للمخاطرة على مسافة وقف الخسارة بالنقاط. إضافة إلى ذلك، يضم النموذج سبع استراتيجيات تصاعد: مارتينجال (BetMartingale بمضاعفة على الخسارة ومضاعفة على الربح)، و1-3-2-6 (Bet1326 مع علامة عكس)، وفيبوناتشي (BetFibonacci مقابل خطوة التسلسل التالية)، ودالامبير (BetDalembert مع علامة عكس)، ولابوشير (BetLabouchere بقائمة أرقام مفصولة بفواصل وعلامة عكس)، وsequence (BetSequence بتسلسل مستقل للخسارة وآخر للربح)، ونسبة رايان-جونز الثابتة (DynamicLots فرع fixedRatio الذي يدرّج الوحدات حسب فروقات الإكويتي). الاستراتيجيات السبع كلها ذات حالة: تستعرض آخر صفقة في مجموعة البلوك وتقرر اللوت التالي قبل استدعاء SellNow.
وقف الخسارة وجني الأرباح متعدّد الأوضاع كذلك. مختار StopLossMode يقبل fixed وdynamicPips وdynamicDigits وdynamicLevel وpercentPrice وpercentTP، حيث يربط percentTP وقف الخسارة بنسبة مئوية من مسافة جني الأرباح. مختار TakeProfitMode يعكس الأوضاع نفسها ويضيف percentSL الذي يربط جني الأرباح بنسبة مئوية من الوقف. الافتراضيات على مستوى البلوك في كل نسخة SellNow هي 1000 نقطة وقف و1000 نقطة جني، لذا كل أمر بيع يُفتح افتراضيًا بممر واسع 1:1؛ ثم يقوم المساعدان AlignStopLoss وAlignTakeProfit بضغط كل مستوى مقابل SYMBOL_TRADE_STOPS_LEVEL الخاص بالوسيط وحجم التيك، ويحوّلان النقاط إلى سعر عبر PipValue. انتهاء الصلاحية الافتراضي هو الوضع specified مع 14 يومًا، يُنفَّذ عبر كلاس ExpirationWorker الذي يحتفظ بمصفوفة CachedItems وكائن شارت لكل تذكرة، ويغلق بالقوة المراكز التي انتهى طابعها الزمني.
لا توجد طبقة إشارات إطلاقًا. الإطار يتعمّد شحن صفر مؤشر؛ OnInit لا يستدعي iMA ولا iRSI ولا iATR ولا أي iCustom آخر. العمل غير التافه الذي ينفّذه المستشار في كل تيك هو فقط DrawSpreadInfo الذي يرسم السبريد الحالي والمتوسط والأعلى والأدنى في تسميات على الشارت، وDrawStatus الذي يكتب نص حالة المستشار، وexpirationWorker.Run الذي يفحص كل مركز مخزّن مقابل انتهاء صلاحيته، وOCODriver الذي يزاوج بين الأوامر المتقابلة. جدول بحث البلوكات fxdBlocksLookupTable وقائمة البلوكات الواردة __inbound_blocks يتيحان للإطار توصيل ردّ نداء البلوك 0 بكل المنفّذات العشرة، وdisabled_blocks_list فارغ افتراضيًا فيُبقي كل البلوكات مفعّلة. مسار إعادة المحاولة هو حلقة CheckForTradingError القياسية بعشر محاولات على REQUOTE وTIMEOUT وPRICE_OFF وPRICE_CHANGED، وSleep مدة 500 مللي ثانية بين المحاولات يبقي الإطار لطيفًا مع الوسطاء الخانقين.
ثلاثة مساعدات ميتة جالسة في ذيل الملف — TryClose_EX16046 وTryClosePartial_EX16046 وTryModify_EX16046 — لكن مسار الأوامر الحي يستخدم SellNow وExpirationWorker لا تلك الأغلفة، لذلك على وسيط سليم لا يصل المستشار إليها أبدًا. VIRTUAL_STOPS_ENABLED مضبوط على 0، فالإطار لا يرسم خطوط وقف افتراضية على الشارت ولا يحتجز المركز بعد وقف الخادم الفعلي. دالة OnTester غائبة كذلك، فلا تُحتسب درجات لياقة تحسين مخصصة؛ يعتمد الإطار على مخرجات ميزان/إكويتي/عامل الربح القياسية في Strategy Tester. الرموز المقترحة هي العملات الرئيسية والمعادن/الذهب (قابل للنقل)، والإطار الزمني المقترح M5 مع دعم H1 أيضًا، والمستشار معدّ للإرفاق على نفس رمز الصفقات التي يديرها لأن بوابة «لا أوامر» في البلوك 0 ترشّح بدقة حسب رمز الشارت.
عمليًا بالنسبة لمن يشغّل الاختبار الخلفي: أرفق المستشار على شارت XAUUSD M5 فاضي، ودع Strategy Tester يدور، وأول OnTick بعد تحميل المستشار سيطلق كل عمليات البيع العشر. الآن تحدد سرعة TPS في Tester وافتراض السبريد هل ستمتلئ الأوامر العشر بسعر واحد أم بسبريد. مع المدخلات الافتراضية، كل بيع بـ 0.10 لوت عند وقف 1000 نقطة وجني 1000 نقطة مع انتهاء صلاحية 14 يومًا وانزلاق 4 (نحو 0.4 نقطة على تسعير 5 خانات). أوضاع التصاعد مثل مارتينجال لا تنشط إلا بعد أن تُغلق أول صفقة في المجموعة، فالدخول بعشر طلقات في تيك واحد لا يفعّل أيًّا منها بعد. وهذا أيضًا سبب أهمية بوابة «لا أوامر»: إن ظل أي واحد من أوامر البيع العشرة مفتوحًا، فإن البلوك 0 يرى المركز ويرفض إطلاق التسعة الأخرى، فسلوك الإطار يكون سلّمًا واحدًا لا حلقة لا نهائية.
تفاصيل الاستراتيجية
البلوك 0 (MDL_NoOrders) يقف على رأس خط أنابيب OnTick: يمسح رمز الشارت بحثًا عن أي مركز مفتوح أو أمر معلق، ولا يتفرّع إلى البلوك 1 حتى البلوك 10 في تشغيل تزامني واحد إلا حين لا يجد شيئًا. كل واحد من تلك البلوكات العشرة هو منفّذ MDL_SellNow له مدخل حجم خاص (inp73_VolumeSize إلى inp84_VolumeSize، الافتراضي 0.10 للجميع) ووضعه الخاص للوقف والجني وانتهاء الصلاحية وحساب الحجم. محرك حساب الحجم له سبعة عشر فرعًا — ثابت، نسبة إكويتي البلوك، نسبة رصيد البلوك، نسبة الهامش الحر للبلوك، نسبة الإكويتي، نسبة الرصيد، نسبة الهامش الحر، مخاطرة الإكويتي، مخاطرة الرصيد، مخاطرة الهامش الحر، مخاطرة ثابتة، نسبة رايان-جونز الثابتة، مارتينجال، 1-3-2-6، فيبوناتشي، دالامبير، لابوشير، وتسلسل — وأوضاع التصاعد (من مارتينجال إلى التسلسل) تقرأ آخر صفقة في مجموعة البلوك لتقرر اللوت التالي. يستدعي كل بلوك بعدها SellNow وهو غلاف رقيق حول OrderCreate بـ POSITION_TYPE_SELL وإزاحة سحرية للبلوك (صفر حاليًا لأن Group فارغة) ومستويات الوقف والجني المحسوبة مسبقًا عبر AlignStopLoss وAlignTakeProfit. بعد تمرير OnTick، يمشي expirationWorker.Run في مصفوفة CachedItems ويغلق بالقوة أي مركز انتهى طابعه الزمني، بينما OCODriver يزاوج الأوامر المتقابلة. الإطار يشحن صفر مقبض مؤشر ولا يقرأ أي مخزن سعر — كل قرار ميكانيكي محكوم بالتيك ويعيش في رسم البلوكات.
الدخول ميكانيكي لا قائم على إشارات: في كل تيك، يفحص البلوك 0 (MDL_NoOrders) رمز الشارت بحثًا عن أي مركز مفتوح أو أمر معلق، ولا يستدعي سوى حين لا يوجد شيء سوى منفّذات SellNow العشرة (البلوك 1 حتى 10) في تفرّع واحد. كل SellNow يحسب حجمه عبر واحد من سبعة عشر وضعًا (ثابت، نسبة من إكويتي البلوك، نسبة من رصيد البلوك، نسبة من الهامش الحر للبلوك، نسبة من الإكويتي، نسبة من الرصيد، نسبة من الهامش الحر، مخاطرة على الإكويتي، مخاطرة على الرصيد، مخاطرة على الهامش الحر، مخاطرة ثابتة، نسبة رايان-جونز الثابتة، مارتينجال، 1-3-2-6، فيبوناتشي، دالامبير، لابوشير، أو تسلسل) ثم يرسل POSITION_TYPE_SELL مشفّرًا عبر OrderCreate. الأوامر العشرة تتشارك الرقم السحري 22216046 لأن Group الافتراضي فارغ في كل بلوك.
تتم المخارج عبر مستويات وقف الخسارة وجني الأرباح على جانب الوسيط (افتراضيًا 1000/1000 نقطة، تُرسل مع الأمر الأصلي) إضافة إلى كلاس ExpirationWorker الذي يغلق بالقوة أي مركز انتهى طابع زمني محدد بـ 14 يومًا. يراقب OCODriver الأوامر المتقابلة ويزاوج بينها حين يتشكّل طرفا قوس OCO افتراضي. لا توجد مخارج قائمة على إشارات، ولا trailing stop، ولا دالة تعادل، الإطار يعتمد كليًا على مستويات الوقف/الجني وانتهاء الصلاحية الزمني للخروج من المراكز.
يُرسل وقف الخسارة مع الأمر الأصلي كسعر يحسبه AlignStopLoss من StopLossMode لكل بلوك (افتراضي fixed بـ 1000 نقطة، أو dynamicPips أو dynamicDigits أو dynamicLevel أو percentPrice أو percentTP الذي يربط الوقف بنسبة من مسافة الجني). يُضغط المستوى بعد ذلك مقابل SYMBOL_TRADE_STOPS_LEVEL الخاص بالوسيط وحجم التيك، فإن كان الوقف المطلوب قريبًا من السوق أكثر من اللازم يُرفع إلى الحد الأدنى لدى الوسيط. الوقف الافتراضي معطّل لأن VIRTUAL_STOPS_ENABLED مضبوط على 0، لذا الوقف دائمًا حقيقي ومحفوظ على الخادم.
يُرسل جني الأرباح مع الأمر الأصلي كسعر يحسبه AlignTakeProfit من TakeProfitMode لكل بلوك (افتراضي fixed بـ 1000 نقطة، أو dynamicPips أو dynamicDigits أو dynamicLevel أو percentPrice أو percentSL الذي يربط الجني بنسبة من مسافة الوقف). نسبة الجني للوقف افتراضيًا 1:1 عند 1000 نقطة. يغلق كلاس ExpirationWorker المراكز بعد 14 يومًا من الدخول إن لم يكن الجني أو الوقف قد أتمّ الأمر، وهو المخارج الزمني الوحيد في الإطار.
هذا الإطار يناسب متداولًا خبيرًا يريد اختبار فرضيات تصاعد اللوت (مارتينجال، فيبوناتشي، لابوشير، دالامبير، 1-3-2-6، تسلسل) على شارت XAUUSD أو عملة رئيسية فاضية دون كتابة MQL5 — يمكن توصيل كل سلّم من العشرة بتصاعد مختلف عبر إعادة ترجمة. الحد الأدنى الموصى به للرصيد 100 دولار مع الشرائح الافتراضية 0.10 لوت، لكن أوضاع التصاعد تتصاعد بعدوانية وأرصدة 1000 دولار فأكثر أكثر صدقًا للاستخدام الحي. الإطار لا يشحن مؤشرات ولا مرشّح جلسة ولا مرشّح أخبار ولا سقف تراجع، لذا يجب أن يدعم الوسيط مستوى وقف واسع (الافتراضي وقف 1000 نقطة) وتنفيذ ECN أو قياسي مع تحمّل انزلاق لا يقل عن 4 نقاط. وحيث إن كل دخول هو بيع على شارت فاضٍ، فالاستخدام الطبيعي هو اختبار شبكة على الجانب القصير في العملات الرئيسية منخفضة التذبذب، لا على اتجاه ذهبي صاعد.
منطق الاستراتيجية
Pipsgrowth EX16046 Trend — تحليل منطق الاستراتيجية (من كود .mq5)
العائلة: Trend
الماجيك: 22216046
الإصدار: 2.00
الوصف:
MANSAMUSSA 2.0s trend EA with multiple SellNow entry blocks, configurable volume modes (fixed, risk, martingale), stop loss, take profit, and slippage management. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester
المؤشرات:
- مؤشرات قياسية
الدوال الرئيسية:
OnTrade()OnTimer()OnChartEvent()AccountBalance()AccountBalanceAtStart()AccountEquity()AccountFreeMargin()AlignLots()AlignStopLoss()AlignTakeProfit()
// Pipsgrowth EX16046 Trend — Execution Flow (from source analysis)
// Family: Trend
// MANSAMUSSA 2.0s trend EA with multiple SellNow entry blocks, configurable volume modes (fixed, risk, martingale), stop loss, take profit, and slippage 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
معاملات الإكسبرت
| المعامل | الافتراضي | الوصف |
|---|---|---|
| MagicStart | 22216046 | Magic Number |
| InpTradeComment | "Psgrowth.com Expert_16046" | Trade Comment |
#property copyright "Pipsgrowth.com"
#property link "https://pipsgrowth.com"
#property version "2.00"
#property strict
#property description "Pipsgrowth.com EX16046 MANSAMUSSA_2_0s — Multi-block trend sell EA, full 12-layer stack."
#include <Trade\Trade.mqh>
/************************************************************************************************************************/
// +------------------------------------------------------------------------------------------------------------------+ //
// | INPUT PARAMETERS, GLOBAL VARIABLES, CONSTANTS, IMPORTS and INCLUDES | //
// | System and Custom variables and other definitions used in the project | //
// +------------------------------------------------------------------------------------------------------------------+ //
/************************************************************************************************************************/
//VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//
// System constants (project settings) //
//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^//
//--
#define PROJECT_ID "mt5-9196"
//--
// Point Format Rules
#define POINT_FORMAT_RULES "0.001=0.01,0.00001=0.0001,0.000001=0.0001" // this is deserialized in a special function later
#define ENABLE_SPREAD_METER true
#define ENABLE_STATUS true
#define ENABLE_TEST_INDICATORS true
//--
// Events On/Off
#define ENABLE_EVENT_TICK 1 // enable "Tick" event
#define ENABLE_EVENT_TRADE 0 // enable "Trade" event
#define ENABLE_EVENT_TIMER 0 // enable "Timer" event
//--
// Virtual Stops
#define VIRTUAL_STOPS_ENABLED 0 // enable virtual stops
#define VIRTUAL_STOPS_TIMEOUT 0 // virtual stops timeout
#define USE_EMERGENCY_STOPS "no" // "yes" to use emergency (hard stops) when virtual stops are in use. "always" to use EMERGENCY_STOPS_ADD as emergency stops when there is no virtual stop.
#define EMERGENCY_STOPS_REL 0 // use 0 to disable hard stops when virtual stops are enabled. Use a value >=0 to automatically set hard stops with virtual. Example: if 2 is used, then hard stops will be 2 times bigger than virtual ones.
#define EMERGENCY_STOPS_ADD 0 // add pips to relative size of emergency stops (hard stops)
//--
// Settings for events
#define ON_TIMER_PERIOD 60 // Timer event period (in seconds)
//VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//
// System constants (predefined constants) //
//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^//
//--
#define TLOBJPROP_TIME1 801
#define OBJPROP_TL_PRICE_BY_SHIFT 802
#define OBJPROP_TL_SHIFT_BY_PRICE 803
#define OBJPROP_FIBOVALUE 804
#define OBJPROP_FIBOPRICEVALUE 805
#define OBJPROP_FIRSTLEVEL 806
#define OBJPROP_TIME1 807
#define OBJPROP_TIME2 808
#define OBJPROP_TIME3 809
#define OBJPROP_PRICE1 810
#define OBJPROP_PRICE2 811
#define OBJPROP_PRICE3 812
#define OBJPROP_BARSHIFT1 813
#define OBJPROP_BARSHIFT2 814
#define OBJPROP_BARSHIFT3 815
الكود المصدري الكامل متاح عند التحميل
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.
تحذير صريح: لأغراض تعليمية فقط
تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.
وسطاء موصى بهم لهذا الإكسبرت
هذه الروبوتات تعمل على 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 مفتوح المصدر.
مجتمع المستخدمين
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.