Pipsgrowth EX16085 Trend — إكسبرت أدفايزر متابعة اتجاه
إكسبرت أدفايزر MT5 مفتوح المصدر · XAUUSD · M5، H1
Pipsgrowth EX16085 Trend — Multi-indicator trend EA using four Hull MA variants with JMA, T3, TEMA, Kalman filter, and pattern recognition entries.. إكسبرت أدفايزر MT5 مفتوح المصدر.
نظرة عامة
إكس 16085 من بيبس جروث هو إطار عمل تصويتي قابل للتجميع على منصة MT5. يُسلَّم ملف mq5 وكل مؤشرات الدخول والخروج معطّلة، فتجد على شاشتك سجلاً من أربعة عشر وحدة قابلة للتوصيل ومحرك تصويت يحول اتجاهات كل شريط إلى إشارة شراء أو بيع واحدة. وحدات الدخول الأربع عشرة هي: جما المتكيف مع متوسط النطاق الحقيقي، وتي ثري بدون تأخير، وتي إي إم إيه بدون تأخير، ومتوسط جوريك، والانحراف المعياري لجما، وثلاثي جما لوغاريتمي، ودرجة معيارية جما، ومذبذب جي بي، وآي-موفمنت، واتجاه جي بي، ومرشح كالمان، وهيكن آشي على المتوسط المتحرك التكيفي، ومنطقة هيكن آشي التجارية، ومميّز أنماط الشموع اليابانية. كل وحدة لها مفتاح تفعيل مستقل وكتلة إعدادات خاصة بها — طول ومرحلة جما، وفترة كالمان والسعر المطبق، وزوج المتوسط السريع/البطيء لهيكن آشي، ومعاملَي K1 وK2 لنطاقات الانحراف المعياري لجما — ويخصص الخبير مقبض مؤشر لكل وحدة داخل RegisterIndicator(). ما إن تحدد الصناديق، تمرّ BuildSignalSnapshot() على g_indicatorRegistry، وتستدعي EvaluateDirection() لكل محوّل مفعّل عند إزاحة شريط الإشارة المختارة، وتجمع أصوات الصعود والهبوط والمحايد في بنية SDirectionCounts. تعكس وحدات الخروج الأربع عشرة هذا التخطيط واحدًا لواحد، فيمكنك تشغيل حزمة مؤشرات مختلفة لمنطق الإغلاق عن تلك التي تحرّك الدخول.
يتحول فرز الأصوات إلى صفقة عبر بوابة من اثنتين تختارها InpEntryVotingMode. وضع ENTRY_VOTING_MIN_COUNT (الافتراضي) يطلب موافقة InpMinIndicatorsAgreeForInitialTrades=3 وحدات على الاتجاه قبل أول صفقة، وInpMinIndicatorsAgreeForAdditonalTrades=2 قبل أي تدرّج لاحق. يعمل InpEntryMinOppositeIndicatorsReject=1 كسلك شائك: مؤشر واحد معاكس يلغي الدخول مباشرة، وهي الطريقة التي يمنع بها الخبير تصويتًا هشًا بموافقة 3 مقابل 1 من التسلل. يحول ENTRY_VOTING_PERCENTAGE نفس المنطق إلى نسب — موافقة 65% من المجموعة المعتبرة مع كبت الجانب المعاكس تحت 20%. أيًا كان الوضع المستخدم، يجب أن تستمر الإشارة InpEntryMinPersistenceBars=2 من الأشرطة المغلقة المتتالية قبل أن تمرّر TryOpenPositions() الأمر، وInpEntryUseClosedBarSignals=true تجبر ResolveEntrySignalShift() على قراءة الشريط 1 بدلًا من الشريط 0 كي يُؤخذ التصويت على شمعة مكتملة الإغلاق. تعمل كومة تأكيد منفصلة — آر إس آي المتكيف، وحجم التداول المتكيف، والإيه تي آر المتكيف، وسي سي آي — جنبًا إلى جنب مع تصويت الدخول. كل محوّل تأكيد له إطاره الزمني وفترة وعتباته الخاصة (آر إس آي المتكيف يستخدم فترة أساس 14 مع إزاحة 5/5 يعدّلها زوج إيه تي آر 14/50 وتأثير 3.0؛ سي سي آي يستخدم فترة 18 مع قصوى 140/-140، ونظرة منحدر لثلاث أشرطة، ورفض تباعد لـ5 أشرطة). يجب أن يتفق InpMinConfirmationsAgreeEntry=1 من التأكيدات المفعّلة على الأقل مع اتجاه الدخول، فيمكن ترقية تصويت مؤشر مجرد إلى صفقة حتى بدون أي تأكيد، لكن اشتراط تأكيد واحد يترك الباب مفتوحًا لفحص إضافي.
يتبع توجيه الأوامر سياسة صارمة باتجاه واحد في كل مرة. تفحص CountSymbolPositions() عدد التذاكر المفتوحة، وإن وصل إلى InpMaxOpenPositions=2، تعود TryOpenPositions() فورًا. تمنع رايتا hasBuy وhasSell دخول شراء جديد أثناء وجود بيع مفتوح والعكس صحيح، فلا يكدّس السجل ضد نفسه. يمرّ حساب حجم اللوت عبر CalculateLotSize() التي تستخدم InpMoneyManagementMode (FIXED_LOTS=0 أو PERCENT_RISK=1، الافتراضي) لقراءة InpRiskPerTradePercent=0.5% من الرصيد الحالي. يمرّ الحجم الناتج على RoundLotsToStep() ليطابق درجة حجم الوسيط، ثم NormalizeLot() لتنظيف القيمة، ثم EnsureMarginAffordable() للانسحاب إذا كان الحساب لا يغطي الحد الأدنى من اللوت بمستوى الهامش الحالي. تفرض IsMarginLevelAcceptable() أرضية 250% من InpMinMarginLevelPerc قبل أي أمر جديد، وتمشي ProfitGateAllowsEntries() على المراكز المفتوحة وترفض إضافة جديدة حتى يكون كل تذكرة قائمة رابحة بمقدار InpProfitGatePoints=5 نقاط على الأقل. يأتي وقف الخسارة وجني الأرباح من CalculateStopLossPrice() وCalculateTakeProfitPrice() عند InpStopLossPoints=90 وInpTakeProfitPoints=150 نقطة خام، تُطبّق على سعر الطلب للشراء وسعر العرض للبيع، فتقاس المخاطرة دائمًا من جانب الدخول بعد الفروقات السعرية. يُغلِّف CTrade كل تنفيذ بالسحر 22216085 والتعليق Psgrowth.com Expert_16085 لتصفية لاحقة في اليوميات، وتُضبط tolerance الانزلاق على InpSlippagePoints=10.
تنقسم إدارة المراكز إلى ثلاث جولات مستقلة تعمل كلها عند كل تيكة من ManageOpenPositions(). تشدّ ApplyTrailingStop() الوقف إلى السعر الحالي ناقص InpTrailingStepPts=40 بمجرد أن يتحرك السعر InpTrailingTriggerPts=25 لصالح الصفقة، فلا تشدّ الوقف إلا بشكل أحادي الاتجاه ولا تخلّفه أبدًا. تنقل ApplyBreakEven() الوقف إلى سعر الدخول زائد InpBreakEvenOffset=3 بعد أن يقطع السعر InpBreakEvenTrigger=25، فتؤمّن الصفقة في منطقة التعادل أو أفضل. ApplyProfitLock() موصولة لكن معطّلة افتراضيًا، ولو فُعّلت لنقلت الوقف إلى السعر الحالي ناقص InpProfitLockStep=15 كل InpProfitLockIncrement=40 نقطة من التقدم الإضافي، مكوّنة سلّمًا متدرجًا. تمرّ كل استدعاءات التعديل عبر TryModify_EX16085() التي تعيد المحاولة ثلاث مرات في أخطاء إعادة التسعير أو انتهاء المهلة أو تغير السعر مع وقفة 100 مللي ثانية بين المحاولات، وتستخدم كلها حارس InpMinDistanceFromPrice لمنع الوقف من الهبوط على الجانب الخطأ من الدخول.
لجهة الخروج يوجد محرك مؤشرات خاص في HandleIndicatorClosings(). بعد أن تجمع BuildExitSnapshot() وBuildExitConfirmationSnapshot() تصويت الخروج وعدّ التأكيدات، تمشي الدالة على المراكز المفتوحة، وحينما يتجاوز تصويت الاتجاه المعاكس InpMinIndicatorsAgreeCloseLoss=2 ويكون InpCloseOnOppositeEvenIfInLose=true (الافتراضي)، تغلق الصفقة حتى لو كانت خاسرة. يُبدّل InpCloseOnOpposite بين الوضع المحافظ الذي لا يُغلق إلا إذا كانت الصفقة رابحة بمقدار InpCloseProfitPoints=6 نقاط على الأقل. تطلق HandleEndOfDayActions() جولة منفصلة عند InpEndOfDayCloseHour=23:InpEndOfDayCloseMinute=45، فتغلق قسريًا كل صفقة على الرمز (مع تخطّي الخاسرة لو فُعّل InpEndOfDayProfitOnly)، وتضع g_blockNewTradesForDay كي لا يمرّر أي دخول جديد لبقية الجلسة. تصفّر ResetDailyStateIfNeeded() مفتاح اليوم في كل يوم تقويمي جديد لتُفرج عن هذا العلم عند افتتاح الجلسة التالية.
مرشح الجلسات هو الجزء الأكثر قابلية للتكوين في الإطار. تجمع IsTradingSessionOpen() نتائج أربع نوافذ مستقلة — الآسيوية (InpAsianSessionEnabled=true، افتراضي 00:00–08:00)، والأوروبية (true، 07:00–16:00)، والأمريكية (true، 12:00–21:00)، ونافذة مخصصة (معطّلة افتراضيًا، 22:00–23:59 لو فُعّلت). تطبّق GetAdjustedMinutesOfDay() قيمة InpSessionUtcOffsetHours (افتراضي 0) زائد InpSessionAdditionalOffsetMinutes (افتراضي 0) على توقيت جرينتش لمحاذاة النوافذ مع توقيت خادم الوسيط دون إعادة ترجمة، وتتعامل IsWithinSession() مع حالة الالتفاف حين تعبر الجلسة منتصف الليل بتحويل فحص start<=end إلى فحص start>=end. تُتجاوز الطبقة كاملة عندما يكون InpEnableSessionFilters=false، فيمكن تشغيل الخبير على مدار الساعة بإبقاء المفتاح مغلقًا.
ثمة تفصيلان أخيران جديران بالذكر. أولًا، أدوات Try*_EX16085 الثلاث في أسفل الكود — TryClose_EX16085 وTryClosePartial_EX16085 وTryModify_EX16085 — معرّفة لاكتمال الكود لكن TryModify فقط هو الموصول بمسار التنفيذ الحي؛ أدوات الإغلاق كود ميت من نمط الخبير-الأداة السابق الذي اشتُق منه القالب. ثانيًا، كل مؤشر يشير إليه السجل محتفظ به في مصفوفة مؤشرات من نوع CIndicatorAdapter، فلا تحتاج إضافة أو إزالة وحدة إلى إعادة ترجمة المحرك — فقط اضبط InpEnableAtrJmaForEntry وInpEnableKalmanForEntry وما شابه في لوحة المدخلات، وأعد تشغيل الخبير، ويصبح تركيب التصويت الجديد ساريًا عند الشريط التالي. التكوين الابتدائي الموصى به على شارت الذهب لخمس دقائق: فعّل 3–4 وحدات سريعة الاستجابة (تي ثري بدون تأخير، وجوريك، ودرجة جما المعيارية، وكالمان) مع بوابة MIN_COUNT بموافقة 3 من N، وآر إس آي المتكيف كتأكيد وحيد، ونوافذ الجلسة الأوروبية والأمريكية نشطة، وإدارة مخاطر بنسبة 0.5% لكل دخول — واترك وحدات الخروج الأربع عشرة معطّلة في البداية كي يدفع وقف الخسارة/جني الأرباح والتريلينج ستوب منطق الإغلاق وحده.
تفاصيل الاستراتيجية
يعمل إكس 16085 كمحرك تصويت قائم على السجل، يفعّل المستخدم أي مجموعة فرعية من وحدات الدخول الأربع عشرة وكتلة تأكيد من أربع وحدات، ثم يحصي الخبير اتجاهاتها لكل شريط في أعداد الصعود والهبوط عند كل شريط جديد. يضغط وضعَا تصويت — MIN_COUNT (افتراضي 3 من N مع رفض معاكس واحد) وPERCENTAGE (موافقة 65%، رفض معاكس 20%) — العدّ في نداء اتجاهي واحد يجب أن يستمر لشريطَين مغلقَين متتاليَين. تفرض TryOpenPositions() بعد ذلك سقفًا لصفقتَين، وتمنع الإدخالات بالاتجاه المعاكس لأي صفقة قائمة، وتطلب مستوى هامش 250%، وترفض الإضافة ما لم تكن التذكرة القائمة رابحة. تكدّس ManageOpenPositions() ثلاث جولات مستقلة لإدارة الوقف (تريلينج، وتعديل للفرق، وسلّم الربح الاختياري) حول كل صفقة مفتوحة عند كل تيكة، بينما تُغلق HandleIndicatorClosings عند تصويت معاكس ما إن تنقلب كومة التأكيد أيضًا. تحرس أربع نوافذ جلسة قابلة للضبط (آسيوية، أوروبية، أمريكية، مخصصة) مع إزاحة UTC كامل تدفق الإشارة، وجولة نهاية اليوم 23:45 تغلق قسريًا ما تبقّى.
في كل شريط مغلق يجوب الخبير سجل مؤشرات الدخول، ويسأل كل وحدة مفعّلة عن اتجاه صاعد أو هابط أو محايد، ويحوّل الفرز إلى صفقة عبر ENTRY_VOTING_MIN_COUNT (افتراضيًا موافقة 3 من N مع رفض من معاكس واحد) أو ENTRY_VOTING_PERCENTAGE (موافقة 65%، رفض معاكس 20%). يجب أن يستمر الاتجاه الناتج InpEntryMinPersistenceBars=2 شريطًا متتاليًا ويمرّ تصويت التأكيد الموازي (موافقة InpMinConfirmationsAgreeEntry من بين آر إس آي المتكيف/الحجم/الإيه تي آر/سي سي آي). لا يُوجَّه أمر شراء أو بيع جديد إلا إذا لم تكن هناك صفقة معاكسة مفتوحة على الرمز، وكان العدد الإجمالي للمراكز أقل من InpMaxOpenPositions=2، وكان مستوى الهامش فوق 250%، وأكدت ProfitGate أن أي تذكرة قائمة رابحة بما لا يقل عن 5 نقاط.
يعمل منطق الخروج على ثلاث مسارات. يدير مسار إدارة الصفقات ApplyTrailingStop (محفز 25 نقطة، خطوة 40)، وApplyBreakEven (محفز 25 نقطة، إزاحة 3)، وApplyProfitLock الاختيارية (زيادة 40، خطوة 15). يغلق مسار HandleIndicatorClosings المعتمد على المؤشرات عند تصويت معاكس حينما يتجاوز عداد المؤشرات المعاكسة InpMinIndicatorsAgreeCloseLoss=2 وينقلب تصويت التأكيد أيضًا — إما دون شرط (InpCloseOnOppositeEvenIfInLose=true) أو فقط حين يكون رابحًا بمقدار InpCloseProfitPoints=6. تُغلق HandleEndOfDayActions بعد ذلك كل المراكز قسريًا عند الساعة 23:45 بتوقيت الخادم، مع خيار تخطّي الخاسرة.
يُرسل كل دخول مع وقف خسارة ثابت InpStopLossPoints=90 نقطة خام (على XAUUSD بنقطة=0.01 هذا 900 تكة / 0.9 دولار لكل لوت من المسافة)، ثم تشدّ ApplyTrailingStop الوقف إلى السعر الحالي ناقص 40 نقطة بمجرد أن تكون الصفقة رابحة 25 نقطة، وتنقله ApplyBreakEven إلى سعر الدخول زائد 3 نقاط بعد 25 نقطة ربح. سلّم ApplyProfitLock الاختياري (معطّل افتراضيًا) ينقل الوقف إلى السعر الحالي ناقص 15 كل 40 نقطة تقدم إضافية، وتغلق HandleEndOfDayActions الباقي قسريًا عند 23:45.
يضع كل دخول جني أرباح ثابت InpTakeProfitPoints=150 نقطة خام، تحسبه CalculateTakeProfitPrice() من سعر العرض/الطلب وقت التنفيذ ويُحفظ في حقل جني الأرباح للصفقة طوال عمر التذكرة. يمكن للإغلاق المعتمد على المؤشرات إغلاق الصفقة أبكر حين يتجاوز تصويت الاتجاه المعاكس InpMinIndicatorsAgreeCloseProfit وتكون الصفقة رابحة بما لا يقل عن InpCloseProfitPoints=6 نقطة، وتوفّر جولة نهاية اليوم 23:45 قطعًا يوميًا صلبًا يلتقط أي ربح غير محقق قبل ترحيل الوسيط.
يُنصح بنشره على XAUUSD M5 أو H1 مع وسيط ECN فروقه منخفضة (يُوصى بفروقات خام تحت 25 نقطة على الذهب لأن عتبات وقف الخسارة/جني الأرباح/التريلينج/التعديل للفرق تُقاس بالنقاط الخام)، والحد الأدنى للرصيد 100 دولار يعكس المخاطرة الافتراضية 0.5% لكل صفقة مع سقف الصفقتَين. إعدادات الجلسة الافتراضية مضبوطة على ساعات التداول الأوروبية والأمريكية (07:00–16:00 و12:00–21:00 بتوقيت الخادم)، وكل نافذة قابلة للإزاحة بتوقيت UTC لتُحاذى مع توقيت خادم الوسيط دون تغيير الكود. يعكس تصنيف المخاطرة MEDIUM نسبة المخاطرة 0.5% لكل صفقة، وسقف الصفقتَين، وحارس الهامش 250%، وبوابة الربح — تمنع هذه مجتمعة الخبير من مضاعفة الصفقة الخاسرة وتحول دون تحوّل جلسة سيئة واحدة إلى سلسلة خسائر. ولأن الخيار يُسلَّم بوحدات الدخول الأربع عشرة ووحدات الخروج الأربع عشرة معطّلة، فهو يناسب المتداول الذي يريد اختبار أي توليفة مؤشرات تناسب رمزه وإطاره الزمني قبل ربط رأس مال حقيقي.
منطق الاستراتيجية
Pipsgrowth EX16085 Trend — تحليل منطق الاستراتيجية (من كود .mq5)
العائلة: Trend
الماجيك: 22216085
الإصدار: 2.00
الوصف:
Multi-indicator trend EA using four Hull MA variants with JMA, T3, TEMA, Kalman filter, and pattern recognition entries. Features voting-based entry/exit, session filters, trailing, break-even, and profit lock management. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester
المؤشرات:
- مؤشرات قياسية
الدوال الرئيسية:
ResetDailyStateIfNeeded()UpdateBarState()BuildEntrySnapshot()BuildExitSnapshot()BuildEntryConfirmationSnapshot()BuildExitConfirmationSnapshot()BuildConfirmationSnapshot()IsTradingSessionOpen()IsWithinSession()GetAdjustedMinutesOfDay()
// Pipsgrowth EX16085 Trend — Execution Flow (from source analysis)
// Family: Trend
// Multi-indicator trend EA using four Hull MA variants with JMA, T3, TEMA, Kalman filter, and pattern recognition entries. Features voting-based entry/exit, session filters, trailing, break-even, and profit lock 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
معاملات الإكسبرت
| المعامل | الافتراضي | الوصف |
|---|---|---|
| InpLots | 0.10 | Fixed lot size (0.01,0.01,50.0) |
| InpSlippagePoints | 10 | Max slippage (points) (0,1,100) |
| InpMagicNumber | 22216085 | Magic number (1,1,99999999) |
| InpTradeComment | "Psgrowth.com Expert_16085" | Trade comment for new positions |
| InpMoneyManagementMode | MM_MODE_PERCENT_RISK | Money management mode |
| InpRiskPerTradePercent | 0.5 | Risk per trade (% of balance) (0.1,0.1,10.0) |
| InpLotRoundingMode | LOT_ROUND_DOWN | Lot rounding mode |
| InpStopLossPoints | 90.0 | Initial stop loss (points) (10.0,1.0,5000.0) |
| InpTakeProfitPoints | 150.0 | Initial take profit (points) (10.0,1.0,10000.0) |
| InpEnableMarginGuard | true | Enforce minimum margin level before new trades |
| InpMinMarginLevelPerc | 250.0 | Minimum margin level (%) (100.0,1.0,1000.0) |
| InpEnableTrailingStop | true | Master toggle for trailing stop management |
| InpTrailingTriggerPts | 25.0 | Trailing stop trigger (points) (5.0,1.0,500.0) |
| InpTrailingStepPts | 40.0 | Trailing stop step (points) (10.0,1.0,2000.0) |
| InpEnableBreakEven | true | Move SL to break-even |
| InpBreakEvenTrigger | 25.0 | Profit trigger (points) (5.0,1.0,500.0) |
| InpBreakEvenOffset | 3.0 | Offset from entry (points) (0.0,1.0,100.0) |
| InpEnableProfitLock | false | Lock profits |
| InpProfitLockIncrement | 40.0 | Lock every X points (10.0,1.0,500.0) |
| InpProfitLockStep | 15.0 | Distance from current price (1.0,1.0,200.0) |
| InpEnableProfitGate | true | Require existing trades be in profit |
| InpProfitGatePoints | 5.0 | Minimum profit (points) per trade (1.0,1.0,500.0) |
| InpMaxOpenPositions | 2 | Maximum open positions (0=unlimited) (0,1,100) |
| InpEnableSessionFilters | true | Enable session-based trading |
| InpSessionUtcOffsetHours | 0.0 | Session timezone offset from UTC (-14.0,0.25,14.0) |
| InpSessionAdditionalOffsetMinutes | 0 | Extra manual offset minutes for DST (-180,1,180) |
| InpAsianSessionEnabled | true | Enable trading during Asian session |
| InpAsianSessionStartHour | 0 | Asian session start hour (0,1,23) |
| InpAsianSessionStartMinute | 0 | Asian session start minute (0,1,59) |
| InpAsianSessionEndHour | 8 | Asian session end hour (0,1,23) |
| InpAsianSessionEndMinute | 0 | Asian session end minute (0,1,59) |
| InpEuropeanSessionEnabled | true | Enable trading during European session |
| InpEuropeanSessionStartHour | 7 | European session start hour (0,1,23) |
| InpEuropeanSessionStartMinute | 0 | European session start minute (0,1,59) |
| InpEuropeanSessionEndHour | 16 | European session end hour (0,1,23) |
| InpEuropeanSessionEndMinute | 0 | European session end minute (0,1,59) |
| InpUSSessionEnabled | true | Enable trading during US session |
| InpUSSessionStartHour | 12 | US session start hour (0,1,23) |
| InpUSSessionStartMinute | 0 | US session start minute (0,1,59) |
| InpUSSessionEndHour | 21 | US session end hour (0,1,23) |
| InpUSSessionEndMinute | 0 | US session end minute (0,1,59) |
| InpCustomSessionEnabled | false | Enable trading during custom session |
| InpCustomSessionStartHour | 22 | Custom session start hour (0,1,23) |
| InpCustomSessionStartMinute | 0 | Custom session start minute (0,1,59) |
| InpCustomSessionEndHour | 23 | Custom session end hour (0,1,23) |
| InpCustomSessionEndMinute | 59 | Custom session end minute (0,1,59) |
| InpEnableEndOfDayClose | false | Close all trades at specific time |
| InpEndOfDayCloseHour | 23 | Close hour (0,1,23) |
| InpEndOfDayCloseMinute | 45 | Close minute (0,1,59) |
| InpEndOfDayProfitOnly | false | Only close profitable positions |
| InpEndOfDayBlockNewTrades | true | Block new trades after close time |
| InpSignalBarShift | 1 | Signal bar shift base (0=current,1=closed) |
| InpEntryUseClosedBarSignals | true | Force using closed bar signals |
| InpEntryVotingMode | ENTRY_VOTING_MIN_COUNT | Entry voting evaluation mode |
| InpMinIndicatorsAgreeForInitialTrades | 3 | Minimum indicators agreeing for initial entries (1,1,8) |
| InpMinIndicatorsAgreeForAdditonalTrades | 2 | Minimum indicators agreeing for additional entries (1,1,8) |
| InpEntryMinOppositeIndicatorsReject | 1 | Minimum opposite indicators to reject entry (0,1,8) |
| InpEntryAgreePercentThreshold | 65.0 | Percent of agreeing indicators required (percentage mode) |
| InpEntryOppositeRejectPercent | 20.0 | Percent of opposite indicators to reject (percentage mode) |
| InpEntryMinPersistenceBars | 2 | Required consecutive bars meeting criteria (1,1,10) |
| InpEnableAtrJmaForEntry | false | Use ATR adaptive JMA for entries |
| InpAtrJmaEntryPeriod | 10 | ATR adaptive JMA entry period |
| InpAtrJmaEntryPhase | 0.0 | ATR adaptive JMA entry phase |
| InpAtrJmaEntryPrice | 1 | Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) // ATR adaptive JMA entry price source |
| InpEnableZlT3ForEntry | false | Use Zero lag T3 for entries |
| InpZlT3EntryPeriod | 14.0 | Zero lag T3 entry period |
| InpZlT3EntryHot | 0.7 | Zero lag T3 entry hot |
| InpZlT3EntryType | T3_FULKSMAT | Zero lag T3 entry calculation type |
| InpZlT3EntryPrice | 5 | Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) // Zero lag T3 entry price source |
| InpEnableZlTemaForEntry | false | Use Zero lag TEMA for entries |
| InpZlTemaEntryPeriod | 20.0 | Zero lag TEMA entry period |
| InpZlTemaEntryPrice | 5 | Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) // Zero lag TEMA entry price source |
| InpEnableJmaForEntry | false | Use JMA for entries |
| InpJmaEntryLength | 7 | JMA entry length |
| InpJmaEntryPhase | 100 | JMA entry phase (-100..100) |
| InpJmaEntryShift | 0 | JMA entry horizontal shift (bars) |
| InpJmaEntryPriceShift | 0 | JMA entry vertical shift (points) |
| InpJmaEntryPrice | JMA_PRICE_CLOSE | JMA entry price source |
| InpEnableJmaStDevForEntry | false | Use JMA StdDev for entries |
| InpJmaStDevEntryLength | 7 | StdDev JMA entry length |
| InpJmaStDevEntryPhase | 100 | StdDev JMA entry phase |
| InpJmaStDevEntryK1 | 1.5 | StdDev entry coefficient 1 |
| InpJmaStDevEntryK2 | 2.5 | StdDev entry coefficient 2 |
| InpJmaStDevEntryPeriod | 9 | StdDev entry period |
| InpJmaStDevEntryShift | 0 | StdDev entry horizontal shift |
| InpJmaStDevEntryPriceShift | 0 | StdDev entry vertical shift |
| InpJmaStDevEntryPrice | JMA_PRICE_CLOSE | StdDev entry price source |
| InpEnableJmaTrixForEntry | false | Use JMA TRIX for entries |
| InpJmaTrixEntryPeriod | 14 | JMA TRIX entry period |
| InpJmaTrixEntryPrice | 1 | Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) // JMA TRIX entry price source |
| InpEnableJmaZScoreForEntry | false | Use JMA Z-Score for entries |
| InpJmaZScoreEntryPeriod | 14 | JMA Z-Score entry smooth period |
| InpJmaZScoreEntryPhase | 0.0 | JMA Z-Score entry phase |
| InpJmaZScoreEntryZsPeriod | 30 | JMA Z-Score entry Z-score period |
| InpJmaZScoreEntryPrice | 1 | Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) // JMA Z-Score entry price source |
| InpEnableJpOscForEntry | false | Use JP Oscillator for entries |
| InpJpOscEntryPeriod | 5 | JP Oscillator entry period |
| InpJpOscEntryMethod | MODE_SMA | JP Oscillator entry smoothing method |
| InpJpOscEntrySmoothing | true | JP Oscillator entry smoothing flag |
| InpEnableIMovmentForEntry | false | Use i-Movment for entries |
| InpIMovmentEntryMovement | 70 | Movement threshold (points) |
| InpIMovmentEntryUpColor | clrBlue | Uptrend candle color |
| InpIMovmentEntryUpBackColor | clrWhite | Uptrend retracement color |
| InpIMovmentEntryDownColor | clrRed | Downtrend candle color |
| InpIMovmentEntryDownBackColor | clrWhite | Downtrend retracement color |
| InpIMovmentEntryAuto5Digits | true | Auto-scale for 5/3 digit symbols |
| InpEnableJpTrendForEntry | false | Use JP Trend for entries |
| InpJpTrendEntryDimMaxPos | 150 | JP Trend max bars analyzed |
| InpJpTrendEntryAlertAuto | false | Enable JP Trend auto alerts |
| InpJpTrendEntryAlertThreshold | 0.0002 | JP Trend alert threshold |
| InpJpTrendEntrySupportColor | clrRed | JP Trend support color |
| InpJpTrendEntryResistanceColor | clrBlue | JP Trend resistance color |
| InpEnableKalmanForEntry | false | Use Kalman filter for entries |
| InpKalmanEntryTimeframe | KALMAN_TF_CURRENT | Kalman timeframe option |
| InpKalmanEntryPeriod | 1.0 | Kalman filter period |
| InpKalmanEntryPrice | 1 | Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) // Kalman filter price source |
| InpKalmanEntryInterpolate | true | Kalman interpolation flag |
| InpEnableHaAmaForEntry | false | Use Heiken Ashi on AMA for entries |
| InpHaAmaEntryAmaPeriod | 8 | AMA period for Heiken Ashi entries |
| InpHaAmaEntryFastEma | 2 | Fast EMA for AMA smoothing (entry) |
| InpHaAmaEntrySlowEma | 24 | Slow EMA for AMA smoothing (entry) |
| InpHaAmaEntryAmaShift | 0 | AMA shift applied to Heiken Ashi (entry) |
| InpEnableHaZoneForEntry | false | Use Heiken Ashi zone trade for entries |
| InpHaZoneEntryAcTimeframe | 0 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Accelerator Oscillator timeframe (entry) |
| InpHaZoneEntryAoTimeframe | 0 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Awesome Oscillator timeframe (entry) |
| InpEnablePatternForEntry | false | Use pattern recognition for entries |
| InpPatternEntryUseExtraDigit | false | Pattern recognition extra digit mode |
| InpPatternEntryShowAlert | false | Allow indicator alerts when used for entries |
| InpEnableConfirmationVoting | true | Enable confirmation-based voting |
| InpMinConfirmationsAgreeEntry | 1 | Minimum confirmations required for entries (1,1,3) |
| InpMinConfirmationsAgreeExit | 1 | Minimum confirmations required for exits (1,1,3) |
| InpEnableAdaptiveRsiConfirm | false | Enable adaptive RSI confirmation for entries |
| InpEnableAdaptiveRsiConfirmForExit | false | Enable adaptive RSI confirmation for exits |
| InpConfirmRsiTimeframe | 0 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Timeframe for adaptive RSI |
| InpConfirmRsiPeriod | 14 | Adaptive RSI period |
| InpConfirmRsiUpperOffset | 5.0 | Adaptive RSI bullish offset from 50 |
| InpConfirmRsiLowerOffset | 5.0 | Adaptive RSI bearish offset from 50 |
| InpConfirmRsiAtrFastPeriod | 14 | Fast ATR period for RSI adaptation |
| InpConfirmRsiAtrSlowPeriod | 50 | Slow ATR period for RSI adaptation |
| InpConfirmRsiAtrInfluence | 3.0 | ATR influence on RSI thresholds |
| InpEnableAdaptiveVolumeConfirm | false | Enable adaptive volume confirmation for entries |
| InpEnableAdaptiveVolumeConfirmForExit | false | Enable adaptive volume confirmation for exits |
| InpConfirmVolumeTimeframe | 0 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Timeframe for adaptive volume |
| InpConfirmVolumeLookback | 20 | Volume lookback for adaptation |
| InpConfirmVolumeMultiplier | 1.2 | Required volume multiplier over average |
| InpEnableAdaptiveAtrConfirm | false | Enable adaptive ATR confirmation for entries |
| InpEnableAdaptiveAtrConfirmForExit | false | Enable adaptive ATR confirmation for exits |
| InpConfirmAtrTimeframe | 0 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Timeframe for adaptive ATR |
| InpConfirmAtrFastPeriod | 14 | Fast ATR period |
| InpConfirmAtrSlowPeriod | 50 | Slow ATR period |
| InpConfirmAtrMinRatio | 1.2 | Minimum ATR ratio fast/slow |
| InpConfirmAtrTrendPeriod | 50 | Trend MA period for ATR confirmation |
| InpConfirmAtrTrendPrice | 1 | Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted)// Price source for trend MA |
| InpEnableCCIConfirm | false | Enable CCI confirmation for entries |
| InpEnableCCIConfirmForExit | false | Enable CCI confirmation for exits |
| InpConfirmCCITimeframe | 4 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // CCI confirmation timeframe |
| InpConfirmCCIPeriod | 18 | CCI confirmation period (10,1,50) |
| InpConfirmCCIPrice | 6 | Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) // Applied price for CCI confirmation |
| InpConfirmCCIOverbought | 140.0 | Overbought threshold for confirmation (100.0,10.0,300.0) |
| InpConfirmCCIOversold | -140.0 | Oversold threshold for confirmation (-300.0,10.0,-100.0) |
| InpConfirmCCIVetoExtremes | true | Veto entries at extremes |
| InpConfirmCCICheckSlope | true | Require CCI slope alignment |
| InpConfirmCCISlopeLookback | 3 | Slope lookback bars (1,1,5) |
| InpConfirmCCIUseDivergence | true | Block trades on CCI divergence |
| InpConfirmCCIDivergenceBars | 5 | Divergence lookback bars (3,1,20) |
| InpCloseOnOpposite | false | Close trades on opposite agreement if in profit |
| InpMinIndicatorsAgreeCloseProfit | 1 | Minimum Indicators to close in profit (1,1,4) |
| InpCloseProfitPoints | 6.0 | Minimum profit (points) to close on opposite (0.0,1.0,200.0) |
| InpCloseOnOppositeEvenIfInLose | true | Close trades on opposite agreement even if losing |
| InpMinIndicatorsAgreeCloseLoss | 2 | Minimum Indicators to close even if losing (1,1,4) |
| InpEnableAtrJmaForExit | false | Use ATR adaptive JMA for exits |
| InpAtrJmaExitPeriod | 10 | ATR adaptive JMA exit period |
| InpAtrJmaExitPhase | 0.0 | ATR adaptive JMA exit phase |
| InpAtrJmaExitPrice | 1 | Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) // ATR adaptive JMA exit price source |
| InpEnableZlT3ForExit | false | Use Zero lag T3 for exits |
| InpZlT3ExitPeriod | 14.0 | Zero lag T3 exit period |
| InpZlT3ExitHot | 0.7 | Zero lag T3 exit hot |
| InpZlT3ExitType | T3_FULKSMAT | Zero lag T3 exit calculation type |
| InpZlT3ExitPrice | 5 | Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) // Zero lag T3 exit price source |
| InpEnableZlTemaForExit | false | Use Zero lag TEMA for exits |
| InpZlTemaExitPeriod | 20.0 | Zero lag TEMA exit period |
| InpZlTemaExitPrice | 5 | Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) // Zero lag TEMA exit price source |
| InpEnableJmaForExit | false | Use JMA for exits |
| InpJmaExitLength | 7 | JMA exit length |
| InpJmaExitPhase | 100 | JMA exit phase (-100..100) |
| InpJmaExitShift | 0 | JMA exit horizontal shift (bars) |
| InpJmaExitPriceShift | 0 | JMA exit vertical shift (points) |
| InpJmaExitPrice | JMA_PRICE_CLOSE | JMA exit price source |
| InpEnableJmaStDevForExit | false | Use JMA StdDev for exits |
| InpJmaStDevExitLength | 7 | StdDev JMA exit length |
| InpJmaStDevExitPhase | 100 | StdDev JMA exit phase |
| InpJmaStDevExitK1 | 1.5 | StdDev exit coefficient 1 |
| InpJmaStDevExitK2 | 2.5 | StdDev exit coefficient 2 |
| InpJmaStDevExitPeriod | 9 | StdDev exit period |
| InpJmaStDevExitShift | 0 | StdDev exit horizontal shift |
| InpJmaStDevExitPriceShift | 0 | StdDev exit vertical shift |
| InpJmaStDevExitPrice | JMA_PRICE_CLOSE | StdDev exit price source |
| InpEnableJmaTrixForExit | false | Use JMA TRIX for exits |
| InpJmaTrixExitPeriod | 14 | JMA TRIX exit period |
| InpJmaTrixExitPrice | 1 | Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) // JMA TRIX exit price source |
| InpEnableJmaZScoreForExit | false | Use JMA Z-Score for exits |
| InpJmaZScoreExitPeriod | 14 | JMA Z-Score exit smooth period |
| InpJmaZScoreExitPhase | 0.0 | JMA Z-Score exit phase |
| InpJmaZScoreExitZsPeriod | 30 | JMA Z-Score exit Z-score period |
| InpJmaZScoreExitPrice | 1 | Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) // JMA Z-Score exit price source |
| InpEnableJpOscForExit | false | Use JP Oscillator for exits |
| InpJpOscExitPeriod | 5 | JP Oscillator exit period |
| InpJpOscExitMethod | MODE_SMA | JP Oscillator exit smoothing method |
| InpJpOscExitSmoothing | true | JP Oscillator exit smoothing flag |
| InpEnableIMovmentForExit | false | Use i-Movment for exits |
| InpIMovmentExitMovement | 70 | Movement threshold (points) |
| InpIMovmentExitUpColor | clrBlue | Uptrend candle color (exit) |
| InpIMovmentExitUpBackColor | clrWhite | Uptrend retracement color (exit) |
| InpIMovmentExitDownColor | clrRed | Downtrend candle color (exit) |
| InpIMovmentExitDownBackColor | clrWhite | Downtrend retracement color (exit) |
| InpIMovmentExitAuto5Digits | true | Auto-scale for exits |
| InpEnableJpTrendForExit | false | Use JP Trend for exits |
| InpJpTrendExitDimMaxPos | 150 | JP Trend max bars analyzed (exit) |
| InpJpTrendExitAlertAuto | false | Enable JP Trend auto alerts (exit) |
| InpJpTrendExitAlertThreshold | 0.0002 | JP Trend alert threshold (exit) |
| InpJpTrendExitSupportColor | clrRed | JP Trend support color (exit) |
| InpJpTrendExitResistanceColor | clrBlue | JP Trend resistance color (exit) |
| InpEnableKalmanForExit | false | Use Kalman filter for exits |
| InpKalmanExitTimeframe | KALMAN_TF_CURRENT | Kalman timeframe option (exit) |
| InpKalmanExitPeriod | 1.0 | Kalman filter period (exit) |
| InpKalmanExitPrice | 1 | Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) // Kalman filter price source (exit) |
| InpKalmanExitInterpolate | true | Kalman interpolation flag (exit) |
| InpEnableHaAmaForExit | false | Use Heiken Ashi on AMA for exits |
| InpHaAmaExitAmaPeriod | 8 | AMA period for Heiken Ashi exits |
| InpHaAmaExitFastEma | 2 | Fast EMA for AMA smoothing (exit) |
| InpHaAmaExitSlowEma | 24 | Slow EMA for AMA smoothing (exit) |
| InpHaAmaExitAmaShift | 0 | AMA shift applied to Heiken Ashi (exit) |
| InpEnableHaZoneForExit | false | Use Heiken Ashi zone trade for exits |
| InpHaZoneExitAcTimeframe | 0 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Accelerator Oscillator timeframe (exit) |
| InpHaZoneExitAoTimeframe | 0 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Awesome Oscillator timeframe (exit) |
| InpEnableCCIForExit | false | Use CCI exhaustion for exits |
| InpCCIExitTimeframe | 0 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // CCI timeframe for exits |
| InpCCIExitPeriod | 18 | CCI period for exits (10,1,50) |
| InpCCIExitPrice | 6 | Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) // CCI applied price for exits |
| InpCCIExitOverbought | 140.0 | Overbought threshold for exits (100.0,10.0,300.0) |
| InpCCIExitOversold | -140.0 | Oversold threshold for exits (-300.0,10.0,-100.0) |
| InpCCIExitUseDivergence | true | Detect divergence for exits |
| InpCCIExitDivergenceBars | 5 | Divergence lookback bars (3,1,20) |
| InpCCIExitCloseProfit | true | Allow closing profitable positions via CCI |
| InpCCIExitCloseLoss | false | Allow closing losing positions via CCI |
| InpCCIExitMinProfitPoints | 6.0 | Minimum profit before closing (0.0,1.0,100.0) |
| InpEnablePatternForExit | false | Use pattern recognition for exits |
| InpPatternExitUseExtraDigit | false | Pattern recognition extra digit mode (exit) |
| InpPatternExitShowAlert | false | Allow indicator alerts when used for exits |
#property copyright "Pipsgrowth.com"
#property link "https://pipsgrowth.com"
#property version "2.00"
#property strict
#property description "Pipsgrowth.com EX16085 mu — Multi-indicator Hull MA trend EA, full 12-layer stack."
#include <Trade/Trade.mqh>
#include <Trade/PositionInfo.mqh>
enum ENUM_MM_MODE
{
MM_MODE_FIXED_LOTS = 0,
MM_MODE_PERCENT_RISK = 1
};
enum ENUM_LOT_ROUNDING
{
LOT_ROUND_DOWN = 0,
LOT_ROUND_NEAREST = 1,
LOT_ROUND_UP = 2
};
enum ENUM_ENTRY_VOTING_MODE
{
ENTRY_VOTING_MIN_COUNT = 0,
ENTRY_VOTING_PERCENTAGE = 1
};
enum ENUM_JMA_PRICE_SOURCE
{
JMA_PRICE_CLOSE = 1,
JMA_PRICE_OPEN = 2,
JMA_PRICE_HIGH = 3,
JMA_PRICE_LOW = 4,
JMA_PRICE_MEDIAN = 5,
JMA_PRICE_TYPICAL = 6,
JMA_PRICE_WEIGHTED = 7,
JMA_PRICE_SIMPLE = 8,
JMA_PRICE_QUARTER = 9,
JMA_PRICE_TRENDFOLLOW0 = 10,
JMA_PRICE_TRENDFOLLOW1 = 11,
JMA_PRICE_DEMARK = 12
};
enum ENUM_KALMAN_TF_OPTION
{
KALMAN_TF_CURRENT = PERIOD_CURRENT,
KALMAN_TF_M1 = PERIOD_M1,
KALMAN_TF_M2 = PERIOD_M2,
KALMAN_TF_M3 = PERIOD_M3,
KALMAN_TF_M4 = PERIOD_M4,
KALMAN_TF_M5 = PERIOD_M5,
KALMAN_TF_M6 = PERIOD_M6,
KALMAN_TF_M10 = PERIOD_M10,
KALMAN_TF_M12 = PERIOD_M12,
KALMAN_TF_M15 = PERIOD_M15,
KALMAN_TF_M20 = PERIOD_M20,
KALMAN_TF_M30 = PERIOD_M30,
KALMAN_TF_H1 = PERIOD_H1,
KALMAN_TF_H2 = PERIOD_H2,
الكود المصدري الكامل متاح عند التحميل
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.
تحذير صريح: لأغراض تعليمية فقط
تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.
وسطاء موصى بهم لهذا الإكسبرت
هذه الروبوتات تعمل على 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 مفتوح المصدر.
مجتمع المستخدمين
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.