Pipsgrowth EX17020 Volatility — إكسبرت أدفايزر تقلب
إكسبرت أدفايزر MT5 مفتوح المصدر · XAUUSD · M5
Pipsgrowth EX17020 Volatility — Gaussian Band breakout EA with extensive EMA signal filtering, multi-MA confirmation (TEMA, ZLEMA, KAMA, T3), Fibonacci . إكسبرت أدفايزر MT5 مفتوح المصدر.
نظرة عامة
Pipsgrowth EX17020 هو روبوت تداول يعمل على أساس اختراق نطاق غاوسي مبني على متوسط متحرك أسي بطول 10 فترة، محاط بنطاق ±0.85×ATR(14)، مع كومة تأكيدات ميل من أربعة متوسطات (TEMA(14)، ZLEMA(14)، KAMA(10,2,30)، T3(14, vf=0.7)) تحرس كل صفقة. يصف الرأس 12 طبقة: نظام السوق، الإشارة، الدخول، التأكيد، عدم التداول، سقف رأس المال، المخاطرة، التحجيم، الإدارة، الخروج، التوسيع، OnTester — ويظهر الكود المصدري توصيل كل طبقة: فحص كفاءة نظام السوق على 30 شمعة، إشارة النطاق الغاوسي، أربعة مرشحات اتجاهية إضافية، بوابة منع تداول من خمسة أجزاء، حدود التراجع، تحجيم ثابت، أربع أرجل خروج، حدود مراكز متعددة، وصيغة مُختبر. النتيجة نظام يطلب مواءمة ستة فحوصات مختلفة للجودة قبل إطلاق الصفقة، ثم يديرها عبر ثلاث آليات حماية مختلفة.
تُولَّد الإشارة في OnTick. بعد فحص سبريد سريع وفحص حدود المراكز (MaxOpenTrades=5، أو 1 إذا OneTradeOnly=true)، يسحب الروبوت خط غاوسي عند الإزاحتين 0 و1 و EMA(50) عند TrendFilterTF (H4 افتراضياً). يصبح النطاقان العلوي والسفلي gauss ± 0.85×ATR(14). يُسجَّل الشراء فقط عندما يكون الإغلاق الحالي فوق النطاق العلوي والإغلاقان السابقان تحته، والإغلاق الحالي فوق EMA الإطار الزمني الأعلى، والمسافة من غاوسي تتجاوز 0.3×ATR. البيع مماثل. هذا الاختراق «إدخال شمعتين ثم الخروج» هو جوهر الدخول.
قبل أن تتحول الإشارة إلى صفقة يجب أن تجتاز IsAutoFilterSafe — وهو حاجز ظروف سوق من ثماني مراحل. يرفض ساعات السيولة المنخفضة جداً (22:00-01:00 بتوقيت غرينتش)، نوافذ ما قبل الأخبار في 8:00 و12:00 و13:25 و1:25 بتوقيت غرينتش، نسب تقلب أعلى من 2.0× أو أقل من 0.7× متوسط ATR لـ 30 شمعة، سبريد JPY أعلى من 1.5 نقطة، زخم ثلاثي الشموع غير مترابط، قفزات حجم أعلى من 3×، كفاءة سعر أقل من 0.4، فترات بعد الظهر يوم الجمعة، وسلسلة اتجاه تيك أكثر من 8. مرشح الأوتو وحده هو سبب ندر إطلاق هذا الروبوت — فقط عندما تكون الظروف كما يجب يسمح بدخول أي شيء.
بعد تجاوز المرشح التلقائي، يجب أن تجتاز الإشارة مرشح مكافحة التدخل (IsNotIntervention)، الذي يحظر إذا تجاوز ATR الحالي 2.2× متوسط ATR لـ 15 شمعة، أو تجاوز السبريد 2.5× الطبيعي، أو تجاوز الحجم 3×، أو تجاوز نطاق الشمعة الحالية 4× ATR، أو — لأزواج JPY — وقع الوقت في 0:00-3:00 بتوقيت غرينتش، أو 23:00، أو نوافذ الأخبار الرئيسية 10 دقائق. كما يُحظر الجمعة بعد 15:00 بتوقيت غرينتش بواسطة IsSafeTimeToTrade. مرشح زخم الاتجاه (IsTrendMomentumSafe) يحسب قوة الاتجاه على 50 شمعة، يحظر صفقات عكس الاتجاه عندما تتجاوز القوة 0.3، يحظر إشارات الشراء في اتجاه هبوطي قوي، ويتطلب قوة اتجاه 0.8 خلال فترات التقلب العالي. الوضع المرتخي (IsTrendMomentumRelaxed) يخفض العتبة إلى 0.8 ويقلل فترة الرجوع إلى 20.
ثلاثة مرشحات إضافية تعمل بعد الاتجاه: IsOptimalMomentumAcceleration يطلب ثلاث شموع متتالية في نفس الاتجاه مع حركة الحالية على الأقل 1.3× الحركة السابقة و30% من ATR. IsOptimalFibonacciEntry يطلب أن يكون السعر ضمن 15 نقطة من مستوى فيبوناتشي تراجع واحد على الأقل (23.6/38.2/50.0/61.8/78.6%) على مدى نظرة خلفية 100 شمعة؛ مع RequireFibConfluence=true، يجب أن يكون مستويان قريبين. IsHeikenAshiTrendConfirmation يطلب من هيكن آشي المحسوب داخل الكود إظهار اتجاه متتابع — ثلاث شموع في نفس الاتجاه — بنسبة جسم فوق 0.6، بدون دوجي، وتوافق السعر مع خط غاوسي. ثم أربعة فحوصات أخرى: مسافة الدعم/المقاومة، جودة الاختراق (يجب أن يكون السعر أكثر من SR_TouchSensitivity=5 نقاط بعد القمة/القاع الأخيرة)، دخول الاختراق المتقدم (تأكيد إغلاق متعدد الشموع بالإضافة إلى مسافة فوق MinBreakoutStrength=1.2×ATR)، وتأكيدات ميل من TEMA وZLEMA وKAMA وT3. فقط بعد اجتياز جميع المراحل العشرين يُنفَّذ شراء أو بيع فعلياً.
المخاطرة مباشرة. وقف الخسارة = max(ATR(14) × 1.2، 120 نقطة)، جني الأرباح = 160 نقطة. مع حجم افتراضي 0.1 لوت، يضع ذلك نسبة المخاطرة للعائد قريبة من 0.75:1. النسبتان قابلتان للضبط من خلال المستخدم عبر ATR_MultiplierSL وHardSL_Points وFixedTP_Points. تعمل إدارة المراكز في ثلاث مسارات متوازية. المسار الأول هو خروج تقاطع غاوسي: إذا انخفض إغلاق مركز شراء تحت خط غاوسي، يُغلق المركز. المسار الثاني هو وقف الخسارة المتحرك — كل تيك يُعاد حساب وقف الخسارة كـ bid ± ATR(14) × 1.2، ويُحرَّك للأمام فقط. المسار الثالث هو نقطة التعادل: بمجرد أن يتحرك السعر 1.2×ATR في الربح، يُنقل وقف الخسارة إلى سعر الدخول. يضيف مسار القفل الديناميكي للأرباح طبقة رابعة — كل 2 دولار ربح، يُرفع وقف الخسارة بـ 2 دولار ناقص عازل 1 دولار، مما يخلق قفل متدرج.
حماية إغلاق السوق هي السلوك الأكثر تميزاً في نهاية اليوم. تعمل ManageMarketClose كل تيك وتستخدم GetMarketCloseInfo لحساب الدقائق حتى 17:00 EST. في أيام الأسبوع تُفعَّل ثلاث مراحل: عند 120 دقيقة للإغلاق، لا صفقات جديدة؛ عند 60 دقيقة، إدارة مراكز ذكية (إغلاق أرباح أقل من 15 دولار، قطع خسائر تتجاوز 10 دولارات، تقييم خسائر معتدلة لإمكانية الاسترداد عبر CanRecoverPosition)؛ عند 30 دقيقة، إغلاق قسري لجميع المراكز. الجمعة أكثر صرامة: محفزات 180/90/45 دقيقة، عتبة ربح 20 دولار، حد خسارة أقصى 8 دولارات، لا استرداد للخسارة، وقاعدة إضافية تُغلق أي صفقة ضمن ±3 دولارات من نقطة التعادل. الاسترداد الذكي للخسارة (معطل افتراضياً) يحلل اتجاه 20 شمعة ومسافة ATR من نقطة التعادل ليقرر ما إذا كان يجب الاحتفاظ بصفقة خاسرة بين عشية وضحاها.
منطق إضافة المراكز محكوم بـ AllowOnlyProfitableAdditions=true وMinProfitPerTradeToAdd=5 دولارات — لا يمكن تكديس دخول جديد إلا عندما يكون كل مركز قائم في ربح لا يقل عن 5 دولارات. يُحدَّد سقف الهرمية عند MaxOpenTrades=5. يمكن نظرياً للقفل الديناميمي للأرباح أن يقفل أكثر من هدف جني الأرباح في الحركات العنيفة، خاصة على الذهب حيث التيكات بـ 0.50 دولار شائعة.
في Strategy Tester، يكون الإطار الزمني الافتراضي M5، لكن إدخال Timeframe مضبوط على 0 الذي يفسّره المحلل على أنه H1 افتراضي — يستخدم الكود MapTimeframeInt الذي يسقط إلى PERIOD_H1 عند الصفر. لتشغيل اختبارات M5 يضبط المستخدم Timeframe=2. يظهر حقل إدخال Timeframe مرتين في قائمة المدخلات (مرة في السطر 73 وداخل مجموعة Core Strategy) وهو تكرار هيكلي معروف في كود هذا الروبوت.
عملياً، يناسب هذا الروبوت المتداولين الذين يريدون نظام اختراق عالي الدقة على الذهب/المعادن أو الأزواج الرئيسية في FX خلال جلسة لندن أو نيويورك. سلسلة المراحل العشرين تعني تكرار صفقات منخفض — توقع من 1-3 صفقات في اليوم في الظروف الجيدة، غالباً صفر. غير مصمم للاحتفاظ بين عشية وضحاها على الذهب: الإغلاق القسري يوم الجمعة قبل الإغلاق بـ 45 دقيقة يمنع مخاطر فجوة نهاية الأسبوع، والإغلاق الذكي في أيام الأسبوع قبل الإغلاق بـ 60 دقيقة يقطع المراكز التي ستدفع مبادلة. تشمل 205 معلمات إدخال 70+ معلمات ضبط EMA (معظمها للتشخيص، معطل افتراضياً) — الرافعات الحقيقية هي مسافة النطاق، مسافة الاختراق، التأكيدات الأربعة للمتوسطات، التقاء فيبوناتشي، وتبديل وضع الاتجاه (صارم مقابل مرتخي).
تفاصيل الاستراتيجية
في كل تيك، بعد فحص السبريد وحدود المراكز، يسحب الروبوت EMA لـ 10 فترات (غاوسي) وATR(14) لبناء نطاق ±0.85×ATR. الإغلاق «إدخال شمعتين ثم الخروج» بعد النطاق، مع تأكيد EMA(50) للإطار H4، ومسافة كسر أدنى 0.3×ATR، يُسجَّل الإشارة الخام. ثم تعمل ثمانية فحوصات حارسة: اختبار كفاءة نظام السوق على 30 شمعة، مرشح تلقائي متعدد المراحل (سيولة، نوافذ أخبار، نسبة تقلب 0.7-2.0، نسبة سبريد 1.5، تماسك زخم، قفزة حجم، كفاءة سعر 0.4، فجوة نهاية أسبوع)، مرشح مكافحة تدخل (قفزة ATR 2.2×، قفزة سبريد 2.5×، جسم شمعة 4×ATR، بالإضافة إلى كتل زمنية خاصة بـ JPY وقواعد بنك اليابان يوم الجمعة)، اختبار زخم اتجاه 50 شمعة مع تبديل مرتخي/صارم، اختبار التقاء فيبوناتشي يتطلب 1-2 مستويات قريبة، فحص شموع هيكن آشي متتالية محسوبة داخلياً، وتأكيدات ميل من TEMA وZLEMA وKAMA وT3. يُحسب وقف الخسارة وجني الأرباح مرة عند الدخول؛ ثم تتولى ManageExistingPositions الحماية الجارية في أربعة مسارات متوازية. تضيف ManageMarketClose جدول نهاية يوم يتدرج عبر ثلاث مراحل (إيقاف الصفقات الجديدة، إغلاق ذكي، إغلاق قسري)، مع استخدام الجمعة عتبات أكثر صرامة وقاعدة إغلاق نقطة تعادل إضافية.
تُطلق الدخولات عندما يُغلق السعر فوق النطاق الغاوسي (غاوسي + 0.85×ATR(14)) لشمعتين سابقتين متتاليتين وبشكل حاسم فوق EMA(50) للإطار H4 بأكثر من 0.3×ATR — ثم يجب أن يجتاز المرشح التلقائي، ومكافحة التدخل، وزخم الاتجاه (قوة 50 شمعة ≥ 0.6)، وتسارع زخم ثلاثي الشموع، والتقاء فيبوناتشي، وهيكن آشي متتابع، ومسافة الدعم/المقاومة، وقوة الاختراق (≥1.2×ATR بعد النطاق)، وتأكيدات الميل من TEMA وZLEMA وKAMA وT3. فقط عندما تتوافق جميع المراحل العشرين يُنفَّذ الشراء أو البيع.
تعمل المخارج على أربعة مسارات: تقاطع غاوسي (إغلاق شراء إذا انخفض السعر تحت الخط، إغلاق بيع إذا ارتفع فوقه)، وقف خسارة متحرك للأمام فقط عند ATR(14)×1.2 تحت bid أو فوق ask، نقطة تعادل عند +1.2×ATR، وقفل ربح ديناميكي يرفع وقف الخسارة بـ 2 دولار ناقص عازل 1 دولار لكل 2 دولار ربح. الجمعة يُغلق قسرياً جميع المراكز قبل 45 دقيقة من إغلاق السوق؛ أيام الأسبوع قبل 30 دقيقة. استرداد الخسارة الذكي معطل افتراضياً.
وقف الخسارة هو الأكبر بين ATR(14)×1.2 أو 120 نقطة، يُحدَّد مرة عند الدخول ثم يُدار من خلال التتبع ونقطة التعادل والقفل الديناميكي للأرباح. الأمان على مستوى الحساب هو سقف تراجع 10% (CheckMaxDrawdown).
جني الأرباح ثابت عند 160 نقطة، يُحدَّد عند الدخول ولا يُحرَّك للأعلى. في الحركات العنيفة، يمكن للقفل الديناميكي للأرباح تأمين ربح أكبر من هدف جني الأرباح لأنه يرفع وقف الخسارة بزيادات 2 دولار.
مناسب بشكل أفضل لـ XAUUSD على M5 بحد أدنى إيداع 100 دولار، يُتداول في جلسة لندن أو نيويورك (الآسيوية معطلة افتراضياً) على وسيط سبريد منخفض — المرشح التلقائي يحد نسبة السبريد عند 1.5× الطبيعي ويحظر رموز JPY بسبريد فوق 1.5 نقطة. الرصيد الموصى به 500 دولار+ لأن الاستراتيجية تستخدم حجم افتراضي ثابت 0.1 لوت وحد أقصى 5 مراكز مفتوحة؛ وضع الاتجاه الصارم يُبقي النظام خارج جلسات نطاق الذهب المتذبذبة، بينما يمكن تفعيل الوضع المرتخي للمتداولين الذين يريدون إشارات أكثر على حساب مخاطر انعكاس أكبر.
منطق الاستراتيجية
Pipsgrowth EX17020 Volatility — تحليل منطق الاستراتيجية (من كود .mq5)
العائلة: Volatility
الماجيك: 22217020
الإصدار: 2.00
الوصف:
Gaussian Band breakout EA with extensive EMA signal filtering, multi-MA confirmation (TEMA, ZLEMA, KAMA, T3), Fibonacci retracement, momentum acceleration, anti-intervention and trend momentum filters. Includes dynamic lock profit, session filtering, S/R levels, and smart loss recovery. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester
المؤشرات:
- مؤشرات قياسية
الدوال الرئيسية:
GetBuffer()GaussianFilter()GetATR()GetEMA_HTF()CalculateTEMA()CalculateZLEMA()CalculateT3()IsHeikenAshiTrendConfirmation()IsAutoFilterSafe()PositionExists()
// Pipsgrowth EX17020 Volatility — Execution Flow (from source analysis)
// Family: Volatility
// Gaussian Band breakout EA with extensive EMA signal filtering, multi-MA confirmation (TEMA, ZLEMA, KAMA, T3), Fibonacci retracement, momentum acceleration, anti-intervention and trend momentum filters. Includes dynamic lock profit, session filtering, S/R levels, and smart loss recovery. 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اسحب الإكسبرت على رسم بياني يطابق الإطار الزمني الموصى به
- 7هيّء المعاملات وفقاً للجدول في هذه الصفحة
- 8فعّل Allow Algo Trading واضغط OK
معاملات الإكسبرت
| المعامل | الافتراضي | الوصف |
|---|---|---|
| InpTradeComment | "Psgrowth.com Expert_17020" | Trade Comment |
| Timeframe | 0 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) |
| TrendFilterTF | 6 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) |
| MaxDrawdownPercent | 10.0 | Max drawdown % allowed |
| MaxOpenTrades | 5 | Maximum allowed open trades at the same time |
| AllowOnlyProfitableAdditions | true | Enable filter |
| MinProfitPerTradeToAdd | 5.0 | Minimum $ profit required per existing trade |
| LockProfitEvery_X_Dollars | 2.0 | Step: every $6 profit |
| LockMinusBuffer | 1.0 | Lock profit minus $1 buffer |
| EnableEMA | true | Enable EMA as signal source |
| EMA_Type | 1 | 0=SMA, 1=EMA, 2=SMMA, 3=LWMA |
| EMA_AppliedPrice | 1 | 1=CLOSE, 2=OPEN, 3=HIGH, 4=LOW, 5=MEDIAN, 6=TYPICAL, 7=WEIGHTED |
| EMA_Period | 10 | EMA period (main signal line) |
| EMA_ShowDebugInfo | false | Show EMA calculation debug info |
| EMA_UseQualityFilter | true | Enable EMA quality filtering |
| EMA_MinSlopePoints | 2.0 | Minimum EMA slope for signal validity (points) |
| EMA_RequireRisingForBuy | true | Require rising EMA for BUY signals |
| EMA_RequireFallingForSell | true | Require falling EMA for SELL signals |
| EMA_SlopeBars | 2 | Bars to calculate EMA slope |
| EMA_MinAngleDegrees | 5.0 | Minimum EMA angle in degrees |
| EMA_UseNoiseFilter | true | Filter out noisy EMA signals |
| EMA_NoiseThreshold | 0.8 | Noise threshold (0.1-1.0) |
| EMA_RequireCleanTrend | false | Require clean trending EMA |
| EMA_TrendAnalysisPeriod | 5 | Bars to analyze EMA trend quality |
| EMA_TrendStrengthMin | 0.6 | Minimum EMA trend strength (0.1-1.0) |
| EMA_FilterZigZag | true | Filter out zigzag EMA movements |
| EMA_ZigZagThreshold | 3.0 | Minimum points for valid EMA move |
| EMA_RequireDirectionalMove | true | EMA must move in trade direction |
| EMA_DirectionalBars | 2 | Bars to check EMA directional movement |
| EMA_MinMovePoints | 1.0 | Minimum EMA movement in points |
| EMA_RequireAcceleration | false | Require EMA acceleration |
| EMA_MinAcceleration | 1.2 | Minimum EMA acceleration factor (1.1-2.0) |
| EMA_RequireConsistentDirection | true | Require consistent EMA direction |
| EMA_UseBreakDistance | true | Use minimum break distance from EMA |
| EMA_MinBreakDistance | 0.3 | Minimum distance from EMA for entry (ATR multiplier) |
| EMA_RequirePriceCrossover | false | Require price crossover of EMA |
| EMA_AllowPullbacks | false | Allow minor pullbacks to EMA |
| EMA_MaxPullbackPercent | 20.0 | Maximum pullback percentage (10-50%) |
| EMA_RequirePriceAboveEMA_Buy | true | BUY only when price above EMA |
| EMA_RequirePriceBelowEMA_Sell | true | SELL only when price below EMA |
| EMA_UseATRNormalization | true | Normalize EMA requirements by ATR |
| EMA_ATRMultiplier | 0.5 | ATR multiplier for normalization |
| EMA_AdjustForVolatility | true | Adjust EMA sensitivity based on volatility |
| EMA_VolatilityMultiplier | 1.5 | Volatility adjustment factor |
| EMA_RequireVolatileMarket | false | Only trade when market is volatile enough |
| EMA_MinVolatilityRatio | 1.1 | Minimum volatility ratio for trading |
| EMA_UseMultiTimeframe | false | Enable higher g_Timeframe EMA |
| EMA_HTF_Timeframe | 4 | HTF timeframe (1=M1,5=M5,15=M15,60=H1,240=H4,1440=D1) |
| EMA_HTF_Period | 20 | HTF EMA period |
| EMA_HTF_MustAlign | true | HTF EMA must align with trade direction |
| EMA_HTF_MinDistance | 10.0 | Minimum distance from HTF EMA (points) |
| EMA_HTF_UseSlope | true | Consider HTF EMA slope |
| EMA_HTF_MinSlope | 1.0 | Minimum HTF EMA slope (points) |
| EMA_UseDynamicPeriod | false | Dynamically adjust EMA period |
| EMA_VolatilityAdjustment | 0.5 | Period adjustment based on volatility |
| EMA_MinDynamicPeriod | 5 | Minimum dynamic period |
| EMA_MaxDynamicPeriod | 25 | Maximum dynamic period |
| EMA_AdaptToMarketConditions | false | Adapt period to market conditions |
| EMA_TrendingPeriodMultiplier | 0.8 | Period multiplier during trending markets |
| EMA_RangingPeriodMultiplier | 1.2 | Period multiplier during ranging markets |
| EMA_RequireConfirmation | true | Require EMA signal confirmation |
| EMA_ConfirmationBars | 1 | Bars to confirm EMA direction |
| EMA_UseDoubleConfirmation | false | Use double EMA confirmation |
| EMA_SecondaryPeriod | 20 | Secondary EMA period for confirmation |
| EMA_RequireCrossover | false | Require EMA crossover for signals |
| EMA_ValidateWithPrice | true | Validate EMA signals with price action |
| EMA_UseMultiStage | false | Use multi-stage EMA processing |
| EMA_Stage1Weight | 0.7 | First stage weight (0.1-1.0) |
| EMA_Stage2Weight | 0.3 | Second stage weight (0.1-1.0) |
| EMA_UseAdaptiveSmoothing | false | Use adaptive EMA smoothing |
| EMA_AdaptiveFactor | 2.0 | Adaptive smoothing factor |
| EMA_UseZeroLag | false | Apply zero-lag enhancement |
| EMA_ZeroLagMultiplier | 0.5 | Zero-lag adjustment multiplier |
| EMA_UseRiskControl | true | Enable EMA-based risk control |
| EMA_MaxDeviationATR | 2.0 | Maximum allowed deviation from EMA (ATR) |
| EMA_StopOnFlatEMA | true | Stop trading when EMA is flat |
| EMA_FlatThreshold | 0.5 | EMA considered flat below X points movement |
| EMA_AvoidWhipsaws | true | Avoid EMA whipsaw situations |
| EMA_WhipsawLookback | 5 | Bars to check for whipsaw patterns |
| EMA_WhipsawThreshold | 2.0 | Whipsaw detection threshold (points) |
| EMA_UseBuffering | true | Use EMA value buffering |
| EMA_BufferSize | 100 | EMA buffer size |
| EMA_OptimizeCalculations | true | Optimize EMA calculations |
| EMA_UseOnlyNewBars | true | Calculate EMA only on new bars |
| EMA_CacheResults | true | Cache EMA calculation results |
| EMA_MaxCacheSize | 1000 | Maximum cache size |
| EMA_UseSignalTiming | true | Enable precise signal timing |
| EMA_WaitForBarClose | false | Wait for bar close before EMA signal |
| EMA_AllowIntraBarSignals | true | Allow signals within bar |
| EMA_SignalDelayBars | 0 | Delay EMA signals by X bars |
| EMA_RequireSequentialSignals | false | Require sequential EMA signals |
| EMA_MaxSignalGap | 3 | Maximum bars between EMA signals |
| EMA_EnableDebugPrint | false | Enable detailed EMA debug prints |
| EMA_LogSignalChanges | false | Log EMA signal changes |
| EMA_ShowPerformanceStats | false | Show EMA performance statistics |
| EMA_AlertOnSignalChange | false | Alert when EMA signal changes |
| EMA_DebugFrequency | 600 | Debug print frequency (seconds) |
| EMA_SaveToFile | false | Save EMA data to file |
| EMA_LogFileName | "EMA_Analysis.log" | EMA log file name |
| UseSlopeFilter | true | Enable slope confirmation |
| MinSlopePoints | 2.0 | Minimum slope in points for confirmation |
| UseEnhancedCandleFilter | true | Enable enhanced candle detection |
| MinBodyRatio | 0.7 | Minimum body/candle ratio (0.6 = 60%) |
| MinCandleSizeATR | 0.8 | Minimum candle size vs ATR (0.8 = 80% of ATR) |
| UseVolatilityFilter | true | Enable volatility filtering |
| MinVolatilityIncrease | 1.1 | ATR must be X times previous ATR |
| MaxVolatilityThreshold | 3.0 | Avoid extreme volatility spikes |
| UseSessionFilter | true | Enable market session filtering |
| TradeLondon | true | Trade during London session |
| TradeNewYork | true | Trade during New York session |
| TradeAsian | false | Trade during Asian session |
| AutoDetectBrokerTZ | true | Auto-detect broker timezone |
| ManualBrokerOffset | 0 | Manual GMT offset if auto-detect fails |
| UseSRFilter | true | Enable Support/Resistance filter |
| SR_LookbackPeriod | 20 | Bars to look back for S/R levels |
| SR_MinDistance | 30.0 | Minimum distance from S/R (points) |
| SR_TouchSensitivity | 5.0 | How close price can get to S/R (points) |
| UseTEMAConfirmation | true | Enable TEMA trend confirmation |
| TEMA_Period | 14 | TEMA period (faster response) |
| TEMA_MinSlopePoints | 1.0 | Minimum TEMA slope for confirmation |
| ZLEMA_Period | 14 | ZLEMA period (faster response) |
| UseZLEMAConfirmation | true | Enable ZLEMA trend confirmation |
| ZLEMA_MinSlopePoints | 0.8 | Minimum ZLEMA slope |
| UseKAMAConfirmation | true | Enable KAMA adaptive confirmation |
| KAMA_Period | 10 | KAMA efficiency period |
| KAMA_FastSC | 2 | Fast smoothing constant |
| KAMA_SlowSC | 30 | Slow smoothing constant |
| KAMA_MinSlopePoints | 1.2 | Minimum KAMA slope |
| UseT3Confirmation | true | Enable T3 trend confirmation |
| T3_Period | 14 | T3 period |
| T3_VolumeFactor | 0.7 | T3 volume factor (0.0-1.0) |
| T3_MinSlopePoints | 1.1 | Minimum T3 slope for confirmation |
| UseFibFilter | true | Enable Fibonacci retracement filter |
| FibSwingLookback | 100 | Bars to find swing high/low |
| FibRetracement_236 | 0.236 | 23.6% Fibonacci level |
| FibRetracement_382 | 0.382 | 38.2% Fibonacci level |
| FibRetracement_500 | 0.500 | 50.0% Fibonacci level |
| FibRetracement_618 | 0.618 | 61.8% Fibonacci level |
| FibRetracement_786 | 0.786 | 78.6% Fibonacci level |
| FibTolerance | 15.0 | Points tolerance for Fib levels |
| RequireFibConfluence | true | Require multiple Fib level confluence |
| MinFibLevelsNear | 2 | Minimum Fib levels near price for confluence |
| UseMomentumAcceleration | true | Enable momentum acceleration filter |
| MinMomentumAcceleration | 1.3 | Current move must be 30% faster than previous |
| RequireDirectionalSequence | true | All 3 bars must move in same direction |
| UseATRNormalizedMomentum | true | Normalize momentum using ATR |
| UseAntiInterventionFilter | true | Enable intervention detection |
| UseAntiInterventionRelaxed | false | Use relaxed anti-intervention (less restrictive) |
| MaxATRSpikeRatio | 2.2 | Block if ATR > 2.2x recent average |
| MaxSpreadMultiplier | 2.5 | Block if spread > 2.5x normal |
| ATRAverageWindow | 15 | ATR averaging window |
| UseVolumeSpikeDection | true | Enable volume spike detection |
| MaxVolumeSpikeRatio | 3.0 | Block if volume > 3x average |
| UsePriceActionIntervention | true | Detect intervention price patterns |
| MaxCandleBodyRatio | 4.0 | Block if candle > 4x ATR |
| UseTimeBasedProtection | true | Block high-risk times for JPY |
| UseTrendMomentumFilter | true | Enable trend momentum protection |
| UseTrendMomentumRelaxed | false | Choose relaxed trend filter (less restrictive) |
| TrendLookbackPeriod | 50 | Bars to analyze trend strength |
| MinTrendStrength | 0.6 | Minimum trend strength (60%) |
| RequireTrendAlignment | true | Require trend alignment across timeframes |
| MaxCounterTrendRisk | 0.3 | Maximum allowed counter-trend risk |
| UseAdvancedTrendAnalysis | true | Enable multi-layer trend analysis |
| UseAdvancedEntryFilter | true | Enable advanced entry timing |
| ConfirmationBars | 3 | Bars to confirm breakout |
| MinBreakoutStrength | 1.2 | Minimum breakout strength vs ATR |
| UseMarketRegimeFilter | true | Enable market regime detection |
| RegimeLookbackPeriod | 30 | Bars to analyze market regime |
| TrendingMarketThreshold | 0.5 | 50% directional moves = trending |
| UseHeikenAshiConfirmation | true | Enable Heiken Ashi trend confirmation |
| HA_AnalysisPeriod | 5 | Bars to analyze HA trend (3-10 recommended) |
| HA_RequireSequentialBars | true | Require sequential HA bars in same direction |
| HA_MinBodyRatio | 0.6 | Minimum HA body/candle ratio (0.5-0.8) |
| HA_FilterDoji | true | Filter out HA doji/small body candles |
| HA_DojiThreshold | 0.3 | Maximum body ratio to consider doji |
| HA_RequireWickPattern | false | Require specific wick patterns |
| HA_MaxUpperWickRatio | 0.4 | Maximum upper wick for bullish HA |
| HA_MaxLowerWickRatio | 0.4 | Maximum lower wick for bearish HA |
| HA_UseATRFilter | true | Filter HA based on ATR |
| HA_MinATRRatio | 0.8 | Minimum HA candle size vs ATR |
| HA_RequireTrendAlignment | true | Require HA trend to align with price trend |
| HA_UseColorConfirmation | true | Use strict HA color confirmation |
| HA_MinConsecutiveBars | 3 | Minimum consecutive HA bars for confirmation |
| EnableCloseProtection | true | Enable market close management |
| Weekday_StopNewTrades | 120 | Stop new trades X minutes before close |
| Weekday_ManagePositions | 60 | Start position management X minutes before close |
| Weekday_ForceCloseAll | 30 | Force close all trades X minutes before close |
| Weekday_CloseSmallProfit_USD | 15.0 | Close profits smaller than $X (overnight fees protection) |
| Weekday_MaxLossToKeep_USD | -10.0 | Close losses bigger than $X (cut losses) |
| Weekday_AllowLossRecovery | true | Allow small losses to recover overnight |
| Weekday_RecoveryThreshold_USD | -5.0 | Allow losses up to $X to recover |
| Friday_ExtraProtection | true | Enable extra Friday protection |
| Friday_StopNewTrades | 180 | Stop new trades X minutes before Friday close |
| Friday_ManagePositions | 90 | Start position management X minutes before Friday close |
| Friday_ForceCloseAll | 45 | Force close all trades X minutes before Friday close |
| Friday_CloseSmallProfit_USD | 20.0 | Close profits smaller than $X (higher threshold for weekend) |
| Friday_MaxLossToKeep_USD | -8.0 | Close losses bigger than $X (stricter for weekend) |
| Friday_AllowLossRecovery | false | Don't allow loss recovery over weekend |
| Friday_CloseAllBreakeven | true | Close all breakeven trades on Friday |
| Friday_BreakevenRange_USD | 3.0 | Consider trades within ±$X as breakeven |
| EnableSmartRecovery | false | Enable intelligent loss recovery |
| RecoveryAnalysisPeriod | 20 | Bars to analyze for recovery potential |
| MinRecoveryTrendStrength | 0.6 | Minimum trend strength for recovery (0.6 = 60%) |
| UseATRBasedRecovery | true | Use ATR to assess recovery potential |
| RecoveryATRMultiplier | 1.5 | Allow recovery if price within X ATRs of breakeven |
#property copyright "Pipsgrowth.com"
#property link "https://pipsgrowth.com"
#property version "2.00"
#property strict
#property description "Pipsgrowth.com EX17020 GB10_5_2_updated — Gaussian Band breakout with multi-MA confirmation and extensive filters, full 12-layer stack."
#include <Trade\Trade.mqh>
CTrade trade;
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_TIMEFRAMES g_Timeframe = PERIOD_H1;
ENUM_TIMEFRAMES g_TrendFilterTF = PERIOD_H1;
input group "=== Identity ==="
input string InpTradeComment = "Psgrowth.com Expert_17020"; // Trade Comment
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_TIMEFRAMES g_Timeframe = PERIOD_H1;
ENUM_TIMEFRAMES g_TrendFilterTF = PERIOD_H1;
input group "=== Core Strategy ==="
input bool UseAutoFilter = true;
input int Length = 10;
input double DistanceMultiplier = 0.85;
input int Timeframe = 0; // Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1)
input int TrendFilterTF = 6; // Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1)
input int TrendEMA = 50;
input double Lots = 0.1;
input bool OneTradeOnly = false;
input double ATR_MultiplierSL = 1.2;
input double HardSL_Points = 120;
input double FixedTP_Points = 160;
input bool UseTrailingStop = true;
input bool UseBreakeven = true;
input double MinATR = 0.03;
input double MinBreakDistance = 0.3;
input double MaxDrawdownPercent = 10.0; // Max drawdown % allowed
الكود المصدري الكامل متاح عند التحميل
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.
تحذير صريح: لأغراض تعليمية فقط
تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.
وسطاء موصى بهم لهذا الإكسبرت
هذه الروبوتات تعمل على MT5 — استخدم وسيطاً موثوقاً بتنفيذ سريع وسبريد منخفض
إكسبرتات مشابهة
عرض جميع الإكسبرتاتإكسبرتات أخرى بنفس استراتيجية أخرى
Pipsgrowth EX01007 Adaptive — إكسبرت أدفايزر تكييفي
Pipsgrowth EX01007 Adaptive — Adaptive signal scorer EA combining EMA crossover, RSI, Heiken Ashi, Bollinger Bands, ATR and volume spike detection int. إكسبرت أدفايزر MT5 مفتوح المصدر.
Pipsgrowth EX01019 Adaptive — إكسبرت أدفايزر تكييفي
Pipsgrowth EX01019 Adaptive — Self-adaptive market regime EA that auto-detects trending, ranging, volatile, quiet and breakout conditions. Switches be. إكسبرت أدفايزر MT5 مفتوح المصدر.
Pipsgrowth EX15029 SMC-OrderBlock — إكسبرت أدفايزر إكسبرت أدفايزر
Pipsgrowth EX15029 SMC-OrderBlock — Smart Money Concepts breakout EA — detects order blocks, CHOCH and liquidity sweeps using EMA cross + structure break, A. إكسبرت أدفايزر MT5 مفتوح المصدر.
مجتمع المستخدمين
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.