Pipsgrowth EX16075 Trend — إكسبرت أدفايزر متابعة اتجاه
إكسبرت أدفايزر MT5 مفتوح المصدر · XAUUSD · M5
Pipsgrowth EX16075 Trend — Volatility Gaussian Bands breakout EA with adaptive filters. Uses Gaussian-filter bands around price with ATR-based dist. إكسبرت أدفايزر MT5 مفتوح المصدر.
نظرة عامة
Pipsgrowth EX16075 Trend هو روبوت تداول يعتمد على الاختراق، يلف حركة السعر حول خط متوسط مُنعَّم بطريقة غاوسية وينتظر حركة تأكيديّة تتجاوز الحزمة. بدلاً من مطاردة ارتدادات الدقيقة M1 أو تكديس المؤشرات في تصويت، يفعل شيئاً واحداً بتأنٍّ: يرسم حزمتين بعرض ATR فوق وتحت مرشح غاوسي بفترة 10 على الإطار الزمني للعمل، ثم يدخل فقط عندما يتجاوز الإغلاق الحزمة على الشمعة نفسها، بشرط أن يكون ميل الحزمة في اتجاه الصفقة وأن يوافق المتوسط المتحرك للإطار الزمني الأعلى على الاتجاه. النتيجة محرك بطيء وانتقائي يفضّل تفويت قمة سريعة على أن يتصدّى لها.
منطق الإشارة مبني حول مؤشر واحد — وهو مقبض iMA(close, 0, MODE_EMA, 10) يسمّيه الروبوت GaussianFilter() رغم أن الاستدعاء الأساسي هو EMA قياسي. الخط الأوسط هو ما يعامله الروبوت فعلاً كسعر منزوع الضوضاء. تُرسم حزمتان عند مضاعف ثابت من ATR(7): العليا = gauss + 0.8 × ATR، والسفلى = gauss − 0.8 × ATR. يتحكم مدخل DistanceMultiplier=0.8 في عرض الحزمة. تُطلق إشارة الشراء عندما يعبر الإغلاق فوق الحزمة العليا (الإغلاق[0] > العليا && الإغلاق[1] < العليا) AND ميل الغاوس للأعلى (gauss[0] > gauss[1]) AND الإغلاق[0] فوق المتوسط المتحرك H4(20) الذي يسحبه الروبوت عبر GetEMA_HTF(). تعكس جهة البيع كل شرط. مدخل MinBreakDistance=0.3 مكشوف لكنه معطّل صراحةً في كود OnTick مع تعليق يفيد بأن فحص المسافة الإضافية الأصلي أُزيل — عبور الحزمة وحده هو البوابة.
موافقة الإطار الزمني الأعلى خيار تصميمي مهم. الروبوت لا يثق باختراق الحزمة وحده؛ يطلب أن يجلس المتوسط المتحرك H4(20) على الجانب الصحيح من السعر. هذا المرشح الواحد هو ما يحوّل النظام من استراتيجية اختراق Bollinger-band عامّة إلى محرك اختراق اتجاهي. ويفسّر أيضاً لماذا الإطار الزمني الافتراضي Timeframe هو 4 (M30): تُرسم الحزم على M30، ويُسحب المتوسط H4 من إطار أعلى، وينتظر الروبوت توافق الاثنين. مدخل TrendFilterTF مكشوف بشكل منفصل عند 6 (H4) وهو الإطار الذي يُسحب منه المتوسط، وليس إطار الإشارة.
تتم الفلترة عبر ثلاث بوابات مستقلة قبل النظر في أي دخول. أولاً، بوابة نطاق التذبذب: يجب أن يكون ATR(7) فوق MinATR=0.04 وتحت MaxATR=0.2 — وATR صغير يعني أن الحزمة ضيّقة جداً والاختراقات ضوضاء؛ وATR ضخم يعني أن الحزمة عريضة لدرجة أن أي إغلاق تقريباً سيعبرها. عند UseAutoFilter=true يستدعي AutoTuneFilters() الذي يقيّس MinATR إلى 1.5× السبريد الحالي بالنقاط، ليتكيّف الروبوت مع منطقة الانتشار لدى الوسيط. ثانياً، بوابة النظام: عند UseADXFilter=true يجب أن يكون خط ADX(7) الرئيسي عند ADXTrendThreshold=20 أو أعلى. ADX دون 20 يعني أن السعر في نطاق، واختراقات الحزمة في نطاق تنعكس. ثالثاً، بوابة السبريد: حظر صارم عند MaxSpreadPoints=12 — إذا كان السبريد المباشر أوسع من 12 نقطة يطبع الروبوت تحذيراً ويرفض الدخول في تلك التيكة. تعمل CheckMaxDrawdown() أيضاً في كل تيك وتوقف الإدخالات الجديدة بمجرد أن يتجاوز سحب حقوق الملكية المفتوحة MaxDrawdownPercent=10%.
إدارة المراكز متعدّدة الطبقات. الوقف الابتدائي هو ATR(7) × ATR_MultiplierSL=1.0 خلف الدخول. جني الأرباح ثابت عند FixedTP_Points=100 نقطة. بعد فتح المركز، تتدخل أربع وحدات إدارية: (1) ExitOnGaussCross=true يغلق الصفقة لحظة عبور الإغلاق فوق خط غاوس الأوسط ضد اتجاه الصفقة؛ (2) UseTrailingStop=true يعيد تثبيت الوقف عند ATR(7) × 1.0 خلف bid/ask الحالي، لكن للأمام فقط — لا يوسّع الوقف أبداً؛ (3) UseBreakeven=true ينقل الوقف إلى الدخول زائد 1 نقطة انزلاق بمجرد أن يقطع السعر 0.8×ATR ربحاً (BreakevenTriggerATR=0.8)؛ (4) EnableDynamicLockProfit=false، عند تفعيله، يدفع الوقف بخطوات 2$ (LockProfitEvery_X_Dollars=2.0) مع عازل 1$ (LockMinusBuffer=1.0)، فيحوّل ربحاً قدره 10$ إلى وقف يقفل نحو 9$. يستخدم تحديد حجم الصفقة معادلة نسبة حقوق الملكية القياسية: عدد العقود = حقوق الملكية × 1% / (مسافة الوقف × قيمة النقطة لكل عقد)، مع تقريب لخطوة حجم الرمز وتقييد بحدود الحجم الأدنى/الأعلى. UseFixedFractionalRisk=true مع RiskPercent=1.0 هو الافتراضي؛ ولا يُفعَّل FixedLots=0.01 إلا عندما يفشل حساب المخاطرة في إنتاج حجم موجب.
تستخدم إدارة الصفقات ثلاث أدوات إعادة محاولة محلّية — TryClose_EX16075 وTryClosePartial_EX16075 وTryModify_EX16075 — تعيد كل منها المحاولة حتى ثلاث مرات عند requote أو timeout أو price-off أو price-changed، مع نوم 100–200 مللي ثانية بين المحاولات. TryClosePartial_EX16075 معرَّفة لكن لا تُستدعى من OnTick (كود ميت، موجود لعمل جزئي مستقبلي). OneTradeOnly=true هو الافتراضي؛ مع MaxOpenTrades=1 يحتفظ الروبوت بمركز واحد لكل رمز. إذا رفع المستخدم MaxOpenTrades فوق 1، تغلق AllowOnlyProfitableAdditions الإدخالات الجديدة خلف AllPositionsHaveMinProfit — يجب أن يُظهر كل مركز مفتوح ربحاً لا يقل عن MinProfitPerTradeToAdd=5$ قبل إضافة طبقة جديدة. تعمل CloseOpposite() قبل كل دخول، لذا فإن انعكاس الإشارة يغلق الصفقة القائمة ويفتح الجديدة في نفس التيكة.
ما يمكن توقّعه في الباك تيست: شمعة الإشارة M30 مع مرشح EMA H4 بطيئة. على شارت رئيسي هادئ أو XAUUSD M5، سيطبع هذا الروبوت حفنة صفقات في اليوم، معظمها في اتجاه الترند السائد H4. الاختراقات التي تحدث ضد H4 EMA تُصفَّى بصمت، لذا يُتوقَّع أن يكون منحنى الأسهم أكثر سلاسة من نظام اختراق الحزمة الصافي لكن مع صفقات أكثر تفويتها. الخروج عند عبور غاوس ميزة مميّزة: يميل إلى إغلاق الصفقات قرب الخط الأوسط قبل الوصول إلى جني الأرباح الثابت عند 100 نقطة، مما يعني أن RR المحقّق عادة دون 1:1 — الصفقة صغيرة ومتكررة، بحجم يجعل حتى الرابحات دون 1R تُركَّب. من يريدون فترات احتفاظ أطول عليهم ضبط ExitOnGaussCross=false والسماح للأتر + جني الأرباح الثابت بحمل الصفقة. AvoidNews=true مربوط بدالة وهمية تُرجع false دائماً؛ مرشح الأخبار مكشوف في المدخلات لكنه لا يفعل شيئاً حتى يطبّق المستخدم تقويماً فعلياً. للنشر الحي، يجب استخدام وسيط ECN بسبريد منخفض لأن بوابة السبريد عند 12 نقطة ستحظر الإدخالات أثناء أحداث التسعير الواسع على حسابات التجزئة.
تفاصيل الاستراتيجية
تقرأ كل تيك أربع مقابض مؤشر — iMA(EMA, 10) كخط غاوس الأوسط، iATR(7) لعرض الحزمة وتحديد الحجم، iMA(EMA, 20) على الإطار H4 كمرشح اتجاهي، وiADX(7) كبوابة نظام. يقيّد تدفق OnTick أولاً بثلاث فلاتر: يجب أن يكون ATR بين MinATR=0.04 وMaxATR=0.2، وأن يجتاز ADX عتبة ADXTrendThreshold=20، وألا يتجاوز السبريد المباشر 12 نقطة. إذا اجتازت الثلاثة، يحسب الحزمتين العلويتين/السفليتين كـ gauss ± 0.8 × ATR ويراقب عبور الحزمة في شمعة واحدة مع ميل غاوس وموافقة المتوسط H4 EMA. يُحدَّد حجم العقد من نسبة ثابتة اعتماداً على مسافة الوقف المستندة إلى ATR ومخاطرة 1% من حقوق الملكية قبل إطلاق الدخول، ثم يُعاد تقييم أي مركز مفتوح مقابل الخروج عند عبور غاوس، ووقف trailing المعتمد على ATR، ومحفّز نقطة التعادل عند 0.8 × ATR، وقفل الربح الديناميكي الاختياري بخطوات 2$ (معطّل افتراضياً). إشارة جديدة في الاتجاه المعاكس تغلق الصفقة القائمة أولاً وتفتح العكس في نفس التيكة.
تطلق إشارات الشراء عندما يعبر الإغلاق فوق حزمة غاوس العليا (خط EMA(10) الأوسط + 0.8 × ATR(7)) على الشمعة نفسها، ويكون ميل غاوس صاعداً (الحالي > السابق)، ويكون الإغلاق فوق متوسط H4 EMA(20) الاتجاهي. تعكس إشارات البيع كل شرط مع الحزمة السفلى وميل هابط. يجب أن يكون خط ADX(7) الرئيسي ≥ 20 لتأكيد نظام متّجه، وأن يكون ATR(7) بين 0.04 و0.20، وأن يكون السبريد المباشر ≤ 12 نقطة.
تخرج المراكز عبر ثلاث مُحفِّزات، بالأولوية: إغلاق فوري عندما يعبر الإغلاق خط غاوس الأوسط ضد اتجاه الصفقة (ExitOnGaussCross)، أو وحدة trailing-stop التي تدفع الوقف إلى ATR(7) × 1.0 خلف السعر (للأمام فقط، بلا توسيع)، أو جني الأرباح الثابت عند 100 نقطة. إشارة في الاتجاه المعاكس تستدعي CloseOpposite() وتقلب الصفقة في نفس التيكة.
وقف الخسارة الابتدائي هو ATR(7) × ATR_MultiplierSL=1.0 خلف الدخول. بعد ربح قدره 0.8 × ATR(7) ينتقل الوقف إلى نقطة التعادل زائد 1 نقطة انزلاق. تحافظ وحدة trailing بعد ذلك على الوقف عند ATR(7) × 1.0 خلف bid/ask الحالي، ولا تحرّكه إلا للأمام.
جني الأرباح ثابت عند FixedTP_Points=100 نقطة من الدخول على الجهتين. غالباً ما يطلق الخروج عند عبور غاوس قبل جني الأرباح الثابت، لذا فإن نسبة المخاطرة إلى العائد المحقّقة عادة دون 1:1 — الاستراتيجية بحجم يتناسب مع معدل فوز مرتفع وتركيب الأرباح لا مع الرابحات الكبار.
يناسب حساباً بحد أدنى 100$ على وسيط ECN بسبريد منخفض يشغّل XAUUSD M5 (الرمز الموصى به في ترويسة المصدر) أو أي رئيسي FX يظهر ترند H4 نظيفاً. إطار الإشارة M30 مع مرشح H4 EMA يعني أن الاستراتيجية تفضّل الجلسات الاتجاهية السائلة — افتتاح لندن حتى إغلاق نيويورك — وتنتج حفنة صفقات يومياً لا عشرات. MaxDrawdownPercent=10% ومخاطرة 1% لكل صفقة يجعلان هذا EA متوسط المخاطر؛ من يريد صفقات أقل وأكبر عليه تعطيل ExitOnGaussCross والسماح للأتر + جني الأرباح الثابت 100 نقطة بحمل الصفقات أبعد.
منطق الاستراتيجية
Pipsgrowth EX16075 Trend — تحليل منطق الاستراتيجية (من كود .mq5)
العائلة: Trend
الماجيك: 22216075
الإصدار: 2.00
الوصف:
Volatility Gaussian Bands breakout EA with adaptive filters. Uses Gaussian-filter bands around price with ATR-based distance for breakout entry, confirmed by EMA trend, ATR volatility, and ADX regime filters. Includes ATR SL, fixed TP, trailing, BE, dynamic profit lock, and fixed-fractional risk sizing
المؤشرات:
- مؤشرات قياسية
الدوال الرئيسية:
GetBuffer()GaussianFilter()GetATR()GetEMA_HTF()GetADX()PositionExists()CloseOpposite()AutoTuneFilters()CheckMaxDrawdown()IsNearNewsEvent()
// Pipsgrowth EX16075 Trend — Execution Flow (from source analysis)
// Family: Trend
// Volatility Gaussian Bands breakout EA with adaptive filters. Uses Gaussian-filter bands around price with ATR-based distance for breakout entry, confirmed by EMA trend, ATR volatility, and ADX regime filters. Includes ATR SL, fixed TP, trailing, BE, dynamic profit lock, and fixed-fractional risk sizing
ON_INIT:
Create indicator handles: standard set
Initialize state variables
Detect broker GMT offset
ON_TICK:
1. Refresh indicator buffers (closed-bar shift=1)
2. Manage existing positions:
- Break-even check
- ATR trailing stop
- Profit lock ratchet
- Time-based exit
- Opposite-signal exit
3. If new bar:
a. ClassifyRegime() — ADX/ATR/BB regime detection
b. NoTradeGate() checks:
- Market open + session filter
- Spread limit
- Cooldown after loss
- Consecutive loss limit
- Kill switch
- Max drawdown
- Max concurrent positions
- Daily/weekly loss limits
c. GenerateSignal() — strategy-specific entry logic
d. CheckConfirm() — HTF alignment + R:R + ADX minimum
e. Calculate position size from risk %
f. Execute with retry logic
g. Mark bar to prevent duplicates
ON_TESTER:
Custom fitness = weighted(RecoveryFactor, ROI, ProfitFactor, TradeCount, Sharpe, Drawdown)ملف التحسين
كيفية تثبيت الإكسبرت على MT5
- 1حمّل ملف .mq5 بالضغط على زر التحميل أعلاه
- 2افتح برنامج MetaTrader 5 على حاسوبك
- 3من القائمة العلوية اختر File → Open Data Folder
- 4انتقل إلى مجلد MQL5 → Experts والصق الملف هناك
- 5في MT5، انقر بالزر الأيمن على Expert Advisors في لوحة Navigator → Refresh
- 6اسحب الإكسبرت على رسم H4 أو اليومي للحصول على أفضل النتائج
- 7حدد فترات EMA وعتبة ADX وحجم اللوت في نافذة الإعدادات
- 8فعّل Allow Algo Trading واضغط OK
معاملات الإكسبرت
| المعامل | الافتراضي | الوصف |
|---|---|---|
| MagicNumber | 22216075 | Magic number |
| Timeframe | 4 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Chart timeframe for signals |
| Length | 10 | Gaussian Filter length |
| DistanceMultiplier | 0.8 | Band distance multiplier (applied to ATR) |
| MinBreakDistance | 0.3 | Min distance from band for entry (ATR multiple) |
| UseAutoFilter | true | Auto-adjust MinATR/BreakDistance (basic) |
| TrendFilterTF | 6 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Timeframe for trend EMA |
| TrendEMA | 20 | Period for trend EMA |
| ATR_Period | 7 | ATR calculation period |
| MinATR | 0.04 | Minimum ATR value to trade (in price units, e.g., 0.04 for EURUSD) |
| MaxATR | 0.2 | Maximum ATR value to trade (0 = disabled) |
| UseADXFilter | true | Enable ADX trend strength filter |
| ADXPeriod | 7 | ADX calculation period |
| ADXTrendThreshold | 20 | Minimum ADX value to consider trending |
| OneTradeOnly | true | Allow only one trade open at a time per symbol |
| MaxOpenTrades | 1 | Maximum allowed open trades (if OneTradeOnly=false) |
| AllowOnlyProfitableAdditions | false | If MaxOpenTrades > 1, only add if existing trades are profitable |
| MinProfitPerTradeToAdd | 5.0 | Minimum $ profit required per existing trade to add more |
| ATR_MultiplierSL | 1.0 | ATR multiplier for initial Stop Loss |
| FixedTP_Points | 100 | Fixed Take Profit in points |
| UseTrailingStop | true | Enable ATR-based trailing stop |
| UseBreakeven | true | Enable move SL to breakeven |
| BreakevenTriggerATR | 0.8 | ATR multiple profit needed to trigger Breakeven |
| BreakevenSlippagePoints | 1.0 | Add points to BE price to cover slippage/spread |
| EnableDynamicLockProfit | false | Enable dynamic profit locking |
| LockProfitEvery_X_Dollars | 2.0 | Lock profit in steps of this amount ($) |
| LockMinusBuffer | 1.0 | Buffer ($) subtracted from locked profit SL |
| UseFixedFractionalRisk | true | Use % risk calculation for lot size |
| RiskPercent | 1.0 | Risk % of equity per trade (if UseFixedFractionalRisk=true) |
| FixedLots | 0.01 | Fixed lot size (if UseFixedFractionalRisk=false) |
| MaxDrawdownPercent | 10.0 | Max account drawdown % allowed (stops new trades) |
| MaxSpreadPoints | 12 | Max allowed spread in points for entry (0 = disabled) |
| AvoidNews | true | Placeholder: Avoid trading around news |
| ExitOnGaussCross | true | Close trade if price crosses back over Gaussian filter |
#property copyright "Pipsgrowth.com"
#property link "https://pipsgrowth.com"
#property version "2.00"
#property strict
#property description "Pipsgrowth.com EX16075 Simple Gen — Gaussian Bands breakout with multi-filter confirmation, full 12-layer stack."
#include <Trade\Trade.mqh>
CTrade trade;
sinput const string GroupIdentity="";//=== Identity ===
input ulong MagicNumber = 22216075; // Magic number
input string InpTradeComment = "Psgrowth.com Expert_16075";
sinput const string GroupGeneral="";//=== General ===
input int Timeframe = 4; // Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Chart timeframe for signals
sinput const string GroupEntry="";//=== Entry Logic: Gaussian Bands ===
input int Length = 10; // Gaussian Filter length
input double DistanceMultiplier = 0.8; // Band distance multiplier (applied to ATR)
input double MinBreakDistance = 0.3; // Min distance from band for entry (ATR multiple)
input bool UseAutoFilter = true; // Auto-adjust MinATR/BreakDistance (basic)
sinput const string GroupTrend="";//=== Trend Filter ===
input int TrendFilterTF = 6; // Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Timeframe for trend EMA
input int TrendEMA = 20; // Period for trend EMA
sinput const string GroupVolatility="";//=== Volatility Filter (ATR) ===
input int ATR_Period = 7; // ATR calculation period
input double MinATR = 0.04; // Minimum ATR value to trade (in price units, e.g., 0.04 for EURUSD)
input double MaxATR = 0.2; // Maximum ATR value to trade (0 = disabled)
sinput const string GroupADX="";//=== Market Regime Filter (ADX) ===
input bool UseADXFilter = true; // Enable ADX trend strength filter
input int ADXPeriod = 7; // ADX calculation period
input double ADXTrendThreshold = 20; // Minimum ADX value to consider trending
sinput const string GroupTradeMgmt="";//=== Trade Management ===
input bool OneTradeOnly = true; // Allow only one trade open at a time per symbol
input int MaxOpenTrades = 1; // Maximum allowed open trades (if OneTradeOnly=false)
input bool AllowOnlyProfitableAdditions = false; // If MaxOpenTrades > 1, only add if existing trades are profitable
input double MinProfitPerTradeToAdd = 5.0; // Minimum $ profit required per existing trade to add more
sinput const string GroupSL="";//=== Stop Loss ===
input double ATR_MultiplierSL = 1.0; // ATR multiplier for initial Stop Loss
sinput const string GroupTP="";//=== Take Profit ===
input double FixedTP_Points = 100; // Fixed Take Profit in points
sinput const string GroupTrailing="";//=== Trailing Stop ===
input bool UseTrailingStop = true; // Enable ATR-based trailing stop
sinput const string GroupBreakeven="";//=== Breakeven ===
input bool UseBreakeven = true; // Enable move SL to breakeven
input double BreakevenTriggerATR = 0.8; // ATR multiple profit needed to trigger Breakeven
input double BreakevenSlippagePoints = 1.0; // Add points to BE price to cover slippage/spread
sinput const string GroupDynLock="";//=== Dynamic Profit Lock ===
input bool EnableDynamicLockProfit = false; // Enable dynamic profit locking
input double LockProfitEvery_X_Dollars = 2.0; // Lock profit in steps of this amount ($)
input double LockMinusBuffer = 1.0; // Buffer ($) subtracted from locked profit SL
sinput const string GroupRisk="";//=== Risk Management ===الكود المصدري الكامل متاح عند التحميل
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.
تحذير صريح: لأغراض تعليمية فقط
تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.
وسطاء موصى بهم لهذا الإكسبرت
هذه الروبوتات تعمل على 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 مفتوح المصدر.
مجتمع المستخدمين
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.