Pipsgrowth EX18092 TrendFollow — إكسبرت أدفايزر إكسبرت أدفايزر
إكسبرت أدفايزر MT5 مفتوح المصدر · XAUUSD · M5
Pipsgrowth EX18092 TrendFollow — EMA Crossover trend-follow EA monitoring price movement and EMA slope triggers, with multi-trade per crossover event, tr. إكسبرت أدفايزر MT5 مفتوح المصدر.
نظرة عامة
Pipsgrowth EX18092 TrendFollow هو إكسبرت MT5 مبني على مفهوم بنائي محدد يميزه عن أنظمة التقاطع النموذجية: بدلاً من التعامل مع كل تقاطع EMA كصفقة فردية أحادية، يُجمّع الصفقات في عناقيد تقاطع ويسمح بفتح ما يصل إلى أربع صفقات متتالية لكل عنقود، مع نافذة مراقبة صارمة مدتها 750 ثانية تُعيد ضبط البوابة بالكامل عند كل تقاطع جديد. كود المصدر لهذه الاستراتيجية مكتوب بالألمانية (تبدأ أسماء الدوال بـ BerechneEMA وPlatziereTrade وPrüfeTrigger وVerwalteTrades وPrüfeProfitNachBars)، والمنطق بأكمله مفتوح وقابل للمراجعة في ملف .mq5 القابل للتنزيل.
يمر مسار الإشارة بثلاث مراحل متميزة. المرحلة الأولى هي بوابة AND ذات المُحفِّزَين: يراقب الإكسبرت شرطين مستقلَين على الإطار الزمني التحليلي المُهيأ (افتراضياً H1 عبر مدخل Timeframe الذي يُعالَج في MapTimeframeInt). ينطلق مُحفِّز مسافة السعر عندما تتجاوز المسافة المطلقة بين الإغلاق و EMA ذي الـ 26 فترة قيمة PreisSchwelle (افتراضياً 2050 نقطة)، وينطلق مُحفِّز الميل عندما يتجاوز التغير من شمعة إلى أخرى في قيمة EMA قيمة SteigungSchwelle بالقيمة المطلقة (افتراضياً 100 نقطة). فقط عندما يكون كلٌّ من preis_trigger_aktiv وsteigung_trigger_aktiv محققاً، ينتقل überwachung_aktiv إلى الحالة النشطة ويُسجَّل الطابع الزمني letzte_überwachung_zeit. المرحلة الثانية هي نافذة المراقبة الفعّالة: بينما المراقبة نشطة، يبحث الإكسبرت عن أول شمعة يكون فيها الإغلاق > EMA (شراء) أو الإغلاق < EMA (بيع) ولا توجد صفقة مفتوحة حالياً، ويُطلق صفقة واحدة بالضبط لكل شمعة مؤهَّلة، مع سقف MaxTradesPerCrossover (افتراضياً 4) لكل عنقود. المرحلة الثالثة هي إعادة ضبط العنقود: عندما تكتشف PrüfeTrigger تقاطع EMA جديداً (كان الإغلاق على الجانب المعاكس من EMA في الشمعة السابقة، والآن على هذا الجانب)، يُعاد ضبط trades_in_current_crossover إلى الصفر ويبدأ العنقود التالي.
ما يجعل مفهوم العنقود غير اعتيادي هو أن الإكسبرت يمكنه إطلاق صفقة الشراء الأولى عند التقاطع، والثانية على الشمعة التأكيدية التالية، والثالثة على الشمعة التي تليها، والرابعة على الشمعة التي تليها، جميعها تتشارك نفس الرقم السحري 22218092 ونفس إدارة وقف الخسارة المتحرك. السقف الثابت لـ MaxTradesPerCrossover هو الشيء الوحيد الذي يمنع الدخول المتكرر غير المحدود في حركة قوية، وعداد العنقود هو ما يمنح النظام إيقاعه.
تعيش إدارة الصفقات في VerwalteTrades، التي تعمل عند كل تيك (أو كل شمعة جديدة، تبعاً لـ UseBarData). وقف الخسارة الحصري متحرك بطبيعته، لا يوجد وقف خسارة ثابت ولا جني أرباح ثابت عند الدخول. تُفتح الأوامر بـ 0 و0 كوقف خسارة وجني أرباح، ثم يُبنى وقف الخسارة عبر القَفل التدريجي. لا ينطلق وقف الخسارة المتحرك إلا عندما تكون الصفقة في الربح (position_profit > 0)، ويقفل تدريجياً على بُعد TrailingStop = 400 نقطة خلف سعر العرض/الطلب الحالي، باتجاه واحد فقط، فلا يتسع وقف الخسارة أبداً. تُشغِّل الدالة نفسها أيضاً خروج EMA: إذا رأت صفقة شراء الإغلاق < EMA، أو صفقة بيع الإغلاق > EMA، تُغلق الصفقة بسبب خروج تقاطع EMA. لا يُعدَّل جني الأرباح أبداً، فقط وقف الخسارة يتحرك.
يعمل خروج قائم على الوقت ثاني في PrüfeProfitNachBars. بمجرد أن يصبح bars_since_trade_open >= ProfitCheckBars (افتراضياً 26 شمعة على الإطار التحليلي)، يُقيِّم الإكسبرت الربح/الخسارة العائم للصفقة؛ إذا كان position_profit <= 0، يُغلق الصفقة بسبب فحص الربح - غير مربحة. إذا كانت الصفقة في الربح عند الشمعة، يُعاد ضبط trade_open_time إلى 0 ويُمسح المؤقت فعلياً. يعمل هذا كحاكم «امنح الصفقة 26 شمعة لإثبات نفسها»: تُغلق الصفقة تلقائياً إذا لم تنتقل إلى الربح بحلول ذلك الوقت، مما يمنع الخاسرين العميقين من الجلوس إلى ما لا نهاية. الصفقة المربحة عند فحص الـ 26 شمعة يُمسح مؤقتها، لذا يمكن تركها لتركض أكثر تحت وقف الخسارة المتحرك وحده.
تحديد حجم الصفقة في EX18092 هو لوت ثابت، وليس حساب نسبة مخاطرة: المدخل LotGröße = 0.1 هو الحجم المستخدم لكل دخول. لا يوجد حقل InpRiskPercent، ولا رياضيات قيمة تيك لحساب اللوت، ولا فحص هامش قبل تحديد الحجم. هذه بساطة مقصودة: الإكسبرت يترك إدارة الأموال لتاجر حسابه ولمتغير LotGröße. لحساب 100$ على XAUUSD، 0.1 لوت هو بالفعل 1 ميكرو لوت لكل صفقة عنقود، لذا تتحدد مخاطرة الصفقة الواحدة من مسافة وقف الخسارة المتحرك (TrailingStop = 400 نقطة) وعدد صفقات العنقود المتراكمة قبل تقاطع EMA التالي.
الأوضاع التشغيلية. يُبدِّل مدخل UseBarData بين إيقاعين تنفيذيين: مع true (الافتراضي)، تعود OnTick مبكراً عند كل تيك ليس بشمعة جديدة، لذا يعمل كل منطق الإشارة وإدارة الصفقات فقط عند افتتاح كل شمعة جديدة على الإطار التحليلي. مع false، يعالج الإكسبرت عند كل تيك، وهو مفيد لاختبار التعبئة بدقة التيك في الباك تيست لكنه أثقل في الإنتاج. ÜberwachungTimeout البالغ 750 ثانية واعٍ للقاعدة الزمنية أيضاً: في وضع الشموع، يُحوَّل إلى شموع عبر PeriodSeconds(g_Timeframe) ويُعدّ عبر iBarShift؛ وفي وضع التيك، يُقاس مقابل TimeCurrent().
بعض العيوب الجديرة بالمعرفة. يحتوي المصدر على إعلان دالة MapTimeframeInt مكرَّر (السطوران 31 و48 من ملف .mq5)، ومدخل Timeframe الافتراضي هو 8، خارج نطاق 1-7 المعالَج، لذا تسقط الدالة إلى PERIOD_H1 عند OnInit. مدخل UseSpreadAdjustment موجود لكن المصدر لا يقرأه فعلياً داخل مسار الإشارة؛ ترشيح السبريد سيكون خطافاً مستقبلياً. تُنتج الاستراتيجية أيضاً الكثير من مخرجات Print(): كل تيك، كل مُحفِّز، كل شمعة. مفيد لتصحيح الأخطاء في السجل، لكن خطِّط لسجل Experts بحجم مرتفع.
المزيج، بوابة AND ذات مُحفِّزَين، عنقود يصل إلى أربع صفقات لكل تقاطع، نافذة مراقبة 750 ثانية، تحديد حجم لوت ثابت، إدارة وقف خسارة متحرك بحت دون جني أرباح، خروج تقاطع EMA، وإغلاق قائم على الوقت عند 26 شمعة، يمنح EX18092 ملفاً مميزاً: إنه نظام اتجاه تأرجحي وليس مقياساً سريعاً. يعمل بشكل أفضل عندما يُظهر الإطار التحليلي (H1 افتراضياً) حركة اتجاهية نظيفة. اعلم أن نموذج العنقود يعني أن حدث تقاطع واحداً يمكنه الاحتفاظ بمراكز متعددة مفتوحة في الوقت نفسه، ويُطبَّق وقف الخسارة المتحرك على كل صفقة.
تفاصيل الاستراتيجية
يدفع هذا الإكسبرت المكتوب بالألمانية حلقة قرار من ثلاث مراحل عند كل شمعة تحليلية. المرحلة الأولى تراقب شرطين مستقلَين: مسافة الإغلاق إلى EMA(26) التي تتجاوز PreisSchwelle=2050 نقطة، وميل EMA من شمعة إلى أخرى الذي يتجاوز SteigungSchwelle=100 نقطة. عندما ينتقل كلاهما إلى الحالة الصحيحة، تُفتَح نافذة مراقبة مدتها 750 ثانية ويُسلِّح الإكسبرت نفسه للتداول. المرحلة الثانية تمسح كل شمعة لاحقة بحثاً عن تحيز اتجاهي نظيف للإغلاق مقابل EMA وتُطلق صفقة واحدة لكل شمعة مؤهَّلة، بسقف MaxTradesPerCrossover=4. المرحلة الثالثة تُعيد ضبط عداد العنقود وتُمسح النافذة كلما اُكتشف تقاطع EMA جديد، أو بعد دخول ناجح. تعمل دالة إدارة الصفقات VerwalteTrades عند كل تيك وتُطبِّق وقف خسارة متحركاً باتجاه واحد (لا يوجد SL/TP ثابت عند الدخول)، وخروج عكس تقاطع EMA، ومهلة ربح 26 شمعة تُغلق أي صفقة غير مربحة. تحديد الحجم ثابت عند LotGröße=0.1 لكل دخول — لا توجد رياضيات لوت بنسبة المخاطرة. يعيش مسار الإشارة بالكامل في PrüfeTrigger وBerechneEMA؛ وتعيش المنطقيات الحامية في VerwalteTrades وPrüfeProfitNachBars.
لا تُطلَق دخولات الاتجاه إلا بعد تنشيط بوابة AND ذات المُحفِّزَين: عتبة مسافة السعر من EMA ذي الـ 26 فترة (PreisSchwelle = 2050 نقطة افتراضياً) و عتبة ميل EMA بين الشمعتَين (SteigungSchwelle = 100 نقطة افتراضياً) يجب أن يكون كلاهما محققاً. بمجرد تفعيل المراقبة، يضع الإكسبرت صفقة على أول شمعة مؤهَّلة يكون فيها الإغلاق على الجانب المختار من EMA ولا توجد صفقة مفتوحة، ثم يُعيد ضبط البوابة. يمكن إطلاق ما يصل إلى MaxTradesPerCrossover (4) صفقات في عنقود واحد قبل أن يُعيد تقاطع EMA جديد ضبط العداد.
تحدث حالات الخروج عبر ثلاث مسارات مستقلة. الأول هو عكس تقاطع EMA: تُغلق صفقة الشراء عندما يكون الإغلاق < EMA، والبيع عندما يكون الإغلاق > EMA، بسبب خروج تقاطع EMA. الثاني هو مهلة الربح: إذا مرّت 26 شمعة (الافتراضي ProfitCheckBars) ولم تكن الصفقة في الربح (position_profit <= 0)، تُغلق قسرياً بسبب فحص الربح - غير مربحة. الثالث هو قفل وقف الخسارة المتحرك تدريجياً لتأمين الأرباح مع تحرك السعر في الاتجاه المُواتي.
لا يُوضَع وقف خسارة ثابت عند الدخول — تُفتح الأوامر بـ SL=0 وTP=0. يُبنى وقف الخسارة الحصري بالكامل عبر القفل التدريجي في VerwalteTrades، الذي لا ينشط إلا عندما تكون الصفقة في الربح ويقفل وقف الخسارة تدريجياً عند TrailingStop (افتراضياً 400 نقطة) خلف السعر في اتجاه واحد (لا يتسع أبداً).
لا يُحدَّد جني أرباح ثابت عند الدخول (TP=0 في الأمر). الاستراتيجية مصممة لترك الفائزين يركبون: تُغلق المراكز إما بإشارة عكس EMA، أو بمهلة الربح البالغة 26 شمعة، أو بقفل وقف الخسارة المتحرك تدريجياً. لا يوجد مدخل InpTakeProfit — حالات الخروج دائماً مدفوعة بالإشارة أو بالوقف.
الأفضل لحركة اتجاهية نظيفة على رمز واحد بحساب 100$ أو أكثر: XAUUSD M5 هو زوج/إطار الاقتران المقترح في البطاقة، لكن التحليل الأساسي يعمل على إطار منفصل (افتراضياً H1 عبر مدخل Timeframe). استخدم وسيط ECN بفارق سعر منخفض — يضع الإكسبرت الصفقات بـ ORDER_FILLING_IOC وتحمل انحراف 10 نقاط، لذا فوارق السعر الضيقة على الذهب مهمة. الكود المصدري المكتوب بالألمانية مع نموذج العنقود المكون من أربع صفقات مناسب تماماً للمتداولين الذين يريدون نظام اتجاه متعدد المراكز بدون قرارات خروج يدوية، والذين لا يمانعون سجل Print() الثقيل. تجنّبه في أيام التذبذب حيث قد يُفعِّل PreisSchwelle وSteigungSchwelle ويُعيدان الضبط فوراً خلال ثوانٍ.
منطق الاستراتيجية
Pipsgrowth EX18092 TrendFollow — تحليل منطق الاستراتيجية (من كود .mq5)
العائلة: TrendFollow
الماجيك: 22218092
الإصدار: 2.00
الوصف:
EMA Crossover trend-follow EA monitoring price movement and EMA slope triggers, with multi-trade per crossover event, trailing stop and profit-check exit. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester
المؤشرات:
- مؤشرات قياسية
الدوال الرئيسية:
BerechneEMA()PlatziereTrade()VerwalteTrades()TryClose_EX18092()TryClosePartial_EX18092()TryModify_EX18092()
// Pipsgrowth EX18092 TrendFollow — Execution Flow (from source analysis)
// Family: TrendFollow
// EMA Crossover trend-follow EA monitoring price movement and EMA slope triggers, with multi-trade per crossover event, trailing stop and profit-check exit. 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
معاملات الإكسبرت
| المعامل | الافتراضي | الوصف |
|---|---|---|
| InpTradeComment | "Psgrowth.com Expert_18092" | Trade Comment |
| EMA_Periode | 26 | EMA Periode |
| PreisSchwelle | 2050.0 | Preisbewegung Schwelle in Pips |
| SteigungSchwelle | 100.0 | EMA Steigung Schwelle in Pips |
| TrailingStop | 400.0 | Gleitender Stop in Pips |
| MagicNumber | 22218092 | Magic Number für Trades |
| UseSpreadAdjustment | true | Spread-Anpassung verwenden |
| Timeframe | 8 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Zeitraum für Analyse |
| UseBarData | true | Bar-Daten statt Tick-Daten verwenden |
| MaxTradesPerCrossover | 4 | Maximale Trades pro Crossover-Ereignis |
| ProfitCheckBars | 26 | Bars bis zur Profit-Prüfung |
| CloseUnprofitableTrades | true | Unprofitable Trades nach X Bars schließen |
#property copyright "Pipsgrowth.com"
#property link "https://pipsgrowth.com"
#property version "2.00"
#property strict
#property description "Pipsgrowth.com EX18092 main — EMA Crossover trend-follow with trailing, full 12-layer stack."
#include <Trade\Trade.mqh>
//--- Eingabeparameter (Input Parameters)
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;
input group "=== Identity ==="
input string InpTradeComment = "Psgrowth.com Expert_18092"; // 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;
input group "=== Strategy Settings ==="
input int EMA_Periode = 26; // EMA Periode
input double PreisSchwelle = 2050.0; // Preisbewegung Schwelle in Pips
input double SteigungSchwelle = 100.0; // EMA Steigung Schwelle in Pips
input int ÜberwachungTimeout = 750; // Überwachungszeit in Sekunden
input double TrailingStop = 400.0; // Gleitender Stop in Pips
input double LotGröße = 0.1; // Handelsvolumen
input int MagicNumber = 22218092; // Magic Number für Trades
input bool UseSpreadAdjustment = true; // Spread-Anpassung verwenden
input int Timeframe = 8; // Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Zeitraum für Analyse
input bool UseBarData = true; // Bar-Daten statt Tick-Daten verwenden
input int MaxTradesPerCrossover = 4; // Maximale Trades pro Crossover-Ereignis
input int ProfitCheckBars = 26; // Bars bis zur Profit-Prüfung
input bool CloseUnprofitableTrades = true; // Unprofitable Trades nach X Bars schließen
//--- Globale Variablen (Global Variables)
int ema_handle; // EMA Indicator Handle
double ema_array[]; // Array für EMA
datetime letzte_überwachung_zeit; // Zeit der letzten Überwachung
bool überwachung_aktiv = false; // Überwachungsstatus
bool preis_trigger_aktiv = false; // Preis-Trigger Status
الكود المصدري الكامل متاح عند التحميل
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.
تحذير صريح: لأغراض تعليمية فقط
تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.
وسطاء موصى بهم لهذا الإكسبرت
هذه الروبوتات تعمل على 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 مفتوح المصدر.
مجتمع المستخدمين
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.