Pipsgrowth EX16089 Trend — إكسبرت أدفايزر متابعة اتجاه
إكسبرت أدفايزر MT5 مفتوح المصدر · XAUUSD · M5، H1
Pipsgrowth EX16089 Trend — MeetingLines pattern + RSI confirm, time exit 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SI. إكسبرت أدفايزر MT5 مفتوح المصدر.
نظرة عامة
إكسبيرت Pipsgrowth EX16089 Trend هو نظام قائم على حركة السعر ومذبذب، يدور بالكامل حول نمط انعكاس شموع "خطوط الالتقاء" (Meeting Lines). تقوم دالة CheckPattern() بقراءة آخر شمعتين مكتملتين، وتطلب أن يكون جسم الشمعتين طويلاً في اتجاهين متعاكسين، وأن يكون سعر إغلاقهما متقارباً ضمن عشرة بالمئة من متوسط حجم الجسم لاثنتي عشرة شمعة سابقة. لا يتم الفحص إلا عند افتتاح شمعة جديدة، لذا تعمل بوابة الشمعة الجديدة (next_bar_open) كمؤقّت وحيد للإيكسبيرت داخل OnTick().
تُقارن أطوال الأجسام مع AvgBody(1)، وهو متوسط |Open - Close| لاثنتي عشرة شمعة محسوب على الشمعة الحالية. تمثل فترة الاثنتي عشرة شمعة هذه مدخل InpAverBodyPeriod. إذا كان لون جسم الشمعة الثانية عكس لون الأولى، وكان كلا الجسمين يتجاوز المتوسط الجاري، وكان الفارق بين إغلاقي الشمعتين 1 و 2 أقل من 0.1*AvgBody(1)، يُعتبر النمط انعكاساً من نوع Meeting Lines. يتطلب نمط خطوط الالتقاء الهابطة أن تكون الشمعة 2 شمعة بيضاء طويلة تتبعها شمعة سوداء طويلة في الشمعة 1. أما النمط الصاعد فيتطلب أن تكون الشمعة 2 شمعة سوداء طويلة تتبعها شمعة بيضاء طويلة في الشمعة 1. عند عودة CheckPattern() بقيمة true، يقوم الإيكسبيرت بتفعيل ExtSignalOpen إلى SIGNAL_BUY أو SIGNAL_SELL، ويكتب وصفاً قصيراً للنمط.
النمط وحده لا يكفي. تستعلم دالة CheckConfirmation() بعد ذلك عن قيمة مؤشر RSI(37) عند الشمعة 1، وتلزم أن يكون مؤشر القوة النسبية لإشارة الشراء أقل من 40، أو أعلى من 60 لإشارة البيع. لا تُستدعى PositionOpen() في المرحلة التالية من OnTick() إلا بعد ضبط ExtConfirmed. يستخدم المؤشر سعر الإغلاق افتراضياً (InpPrice = 1 تتحول إلى PRICE_CLOSE عبر دالة MapAppliedPriceInt).
تحديد حجم الصفقة لوت ثابت واحد: InpLot = 0.1. لا توجد نسبة مخاطرة، ولا سقف دولاري للصفقة، ولا سقف يومي، ولا أرضية رصيد، ولا توسيع للمراكز، ولا دالة OnTester(). اللوت الثابت هو المدخل الوحيد لإدارة الأموال الذي يكشفه الكود. تقوم PositionOpen() بتحديث بيانات الرمز عبر CSymbolInfo، وتقرأ Ask/Bid، وتحسب وقف الخسارة وجني الأرباح من InpSL = 200 و InpTP = 200 نقطة، وترسل الأمر عبر CTrade.Buy أو CTrade.Sell مع تحمّل انزلاق قدره 10 نقاط يتم ضبطه في ExtTrade.SetDeviationInPoints.
توجد قطعة واحدة من الأمان المدمج في موجّه الأوامر لا يذكرها الوصف المختصر. إذا كان السبريد الحالي أوسع من InpSL نقطة (أو أوسع من InpTP نقطة)، يرفض الإيكسبيرت وضع وقف على مسافة أضيق من السبريد، ويستبدلها بمسافة تساوي السبريد عند price ± spread. هذا حماية ضد التفعيل الفوري لوقف الخسارة في شموع السبريد الواسع (نموذجي حول الأخبار أو افتتاح الجلسة على XAUUSD)، ويُسجَّل عبر PrintFormat. تنعكس نفس الحماية على جانبي الشراء والبيع، فلا تنهار المسافة الواقية إلى ما دون السبريد الحالي.
تدير مرحلة الخروج كمرحلتين ثالثة ورابعة من OnTick(). تتولى المرحلة الثالثة CloseBySignal، التي تغلق المراكز بناءً على أربعة شروط تقاطع لمؤشر RSI يحسبها CheckCloseSignal(): يُغلق مركز الشراء عندما يكون RSI(2) > 70 و RSI(1) < 70 (خروج من تشبع شرائي)، أو عندما يكون RSI(2) > 30 و RSI(1) < 30 (خروج لفقدان الزخم). يُغلق مركز البيع عندما يكون RSI(2) < 30 و RSI(1) > 30، أو عندما يكون RSI(2) < 70 و RSI(1) > 70. أما المرحلة الرابعة فهي الخروج الزمني: تمشي CloseByTime() على المراكز المفتوحة للرمز والرقم السحري الحاليين، وتستدعي BarsHold() لحساب عدد الشموع منذ فتح المركز، فإذا كان العدد أكبر من أو يساوي InpDuration = 10، تُغلق المركز عبر TryClose_EX16089. يأتي عدّ الشموع من CopyRates، لذا فإن عدم تطابق وقت الخادم مع وقت الشموع في عطلة نهاية الأسبوع يُدار بسلاسة.
تستخدم كل دوال الإغلاق الثلاثة (TryClose_EX16089 و TryClosePartial_EX16089 و TryModify_EX16089) حلقة إعادة محاولة من 3 محاولات مع نوم 200 مللي ثانية عند TRADE_RETCODE_REQUOTE و TRADE_RETCODE_TIMEOUT و TRADE_RETCODE_PRICE_OFF و TRADE_RETCODE_PRICE_CHANGED. تم تعريف TryClosePartial_EX16089 و TryModify_EX16089 في الكود ولكن لم تُستدعَيا من مسار OnTick الفعلي — هما موجودتان لاستخدام مستقبلي أو بقايا إعادة هيكلة. لا تُستدعى TryClose_EX16089 إلا من CloseBySignal و CloseByTime.
يُعلن رأس الكود عن بنية من 12 طبقة (REGIME و SIGNAL و ENTRY و CONFIRM و NO-TRADE و CAPITAL CAP و RISK و SIZING و MANAGE و EXIT و SCALING و OnTester). في الكود الفعلي، تُوصَّل فقط طبقات SIGNAL و ENTRY و CONFIRM و NO-TRADE و EXIT. لا يوجد مصنف نظام سوق، ولا قاطع يومي للأرباح والخسائر، ولا مدخل لسقف رأس المال، ولا مدخل لنسبة المخاطرة، ولا وحدة توسيع مراكز، ولا وقف متحرك، ولا نقل إلى نقطة التعادل، ولا إغلاق جزئي، ولا فلتر جلسة، ولا فلتر أخبار. الإيكسبيرت لا يطبّق OnTester() كذلك، لذا يمكن إعداد جلسات محسّن بصري، لكن الإيكسبيرت لا يستهلك معيار تحسين مخصصاً.
عملياً، يعني هذا أن الإيكسبيرت يداوَل لوتاً ثابتاً قدره 0.1 على كل إشارة Meeting Lines + RSI(37) مؤكدة، ويحتفظ بالمركز لمدة أقصاها 10 شموع، ويخرج عند وقف الخسارة، أو جني الأرباح، أو تقاطع RSI، أو البوابة الزمنية — أيهما يأتي أولاً. المسافة المتماثلة لوقف الخسارة وجني الأرباح البالغة 200 نقطة (نسبة مخاطرة/عائد واحد إلى واحد) تعني أن التوقع طويل الأمد للاستراتيجية يعتمد بشكل شبه كامل على معدل الربح للنمط؛ لا يوجد عائد غير متماثل يعوّض دقة أقل من 50%. مسافة 200 نقطة على XAUUSD تعادل تقريباً 2.0 نقطة سعر، فتكون المخاطرة المعتادة لكل صفقة نحو 20 دولار على لوت 0.1. نافذة الاحتفاظ باثنتي عشرة شمعة على M5 تعادل ساعة من حركة السعر، وعلى H1 تعادل اثنتي عشرة ساعة.
بالنسبة للمتداولين الراغبين في تشغيل هذا الإيكسبيرت على حساب حقيقي، التوقعات الواقعية هي: عدد صغير من الصفقات يومياً على M5، والانضباط في الانزلاق والسبريد مهم لأن مسافة وقف الخسارة وجني الأرباح لا تتجاوز 200 نقطة، وتأخر مؤشر RSI(37) كبير على M5، ولا توجد حماية عالمية للرصيد. لمن يريد شبكة أمان عالمية، يفضَّل إقران هذا الإيكسبيرت بأداة مستقلة لوقف الرصيد، أو بحد خسارة يومي صارم يُفرض على مستوى الحساب. يجب اختبار كاشف النمط رجعياً بافتراضات سبريد واقعية — لأن حماية السبريد في PositionOpen() ستُقلِّص وقف الخسارة الفعلي في بيئات السبريد الواسع، وهذه عادة ميزة، لكنها ستظهر كوقف أضيق في تقرير الاختبار الرجعي.
تفاصيل الاستراتيجية
في كل تيك، تدير OnTick() بوابة الشمعة الجديدة (next_bar_open). عند افتتاح شمعة جديدة، تتحقق CheckPattern() من آخر شمعتين مكتملتين ومن AvgBody(1) لاثنتي عشرة شمعة لإثبات انعكاس Meeting Lines؛ وعند النجاح تستعلم CheckConfirmation() عن قيمة RSI(37) عند الشمعة 1، وتلزم أن يكون RSI < 40 للشراء أو RSI > 60 للبيع قبل أن يُعَد النمط مؤكدًا. بعدها ترسل PositionOpen() أمراً بسعر السوق بحجم 0.1 لوت ووقف 200 نقطة وجني أرباح 200 نقطة عبر CTrade، مع العودة إلى مسافة واقية قائمة على السبريد إذا كان السبريد أوسع من الوقف أو جني الأرباح. بعد فتح المركز، تراقب CloseBySignal أربعة تقاطعات لمؤشر RSI(37) بين الشمعة 1 والشمعة 2 (عتبات 70 و 30) للخروج عند فقدان الزخم، كما تُغلق CloseByTime() المركز قسراً بمجرد أن يصل عدّاد BarsHold إلى InpDuration = 10 شموع. يُعلن رأس الكود عن بنية من 12 طبقة، لكن الطبقات المفعَّلة فعلياً في الكود هي SIGNAL و ENTRY و CONFIRM و NO-TRADE و EXIT فقط.
انعكاس Meeting Lines من شمعتين (صاعد أو هابط): شمعة ذات جسم طويل في الشمعة 2 تتبعها مباشرة شمعة ذات جسم طويل بلون معاكس في الشمعة 1، على أن يكون |إغلاق(1) - إغلاق(2)| أقل من 0.1 * AvgBody(1) (متوسط حجم الجسم لاثنتي عشرة شمعة). لا يُعتبر النمط صالحاً إلا عند افتتاح شمعة جديدة، وبعد أن يؤكد مؤشر RSI(37) عند الشمعة 1 الإشارة: RSI < 40 للشراء، أو RSI > 60 للبيع. لا يُسمح بتكديس مراكز من نفس الاتجاه.
أربعة شروط تقاطع لمؤشر RSI(37) بين الشمعة 1 والشمعة 2: إغلاق مركز الشراء عندما يكون RSI(1) < 70 و RSI(2) > 70، أو عندما يكون RSI(1) < 30 و RSI(2) > 30؛ وإغلاق مركز البيع بالشروط المعكوسة. الخروج الزمني: تُغلق CloseByTime() أي مركز مفتوح قسراً بمجرد أن تصل قيمة BarsHold(وقت_الفتح) إلى InpDuration = 10 شموع أو أكثر. إضافة إلى ذلك، يمكن لوقف الخسارة المتماثل 200 نقطة وجني الأرباح 200 نقطة إغلاق الصفقة قبل أي من هذه الإشارات.
وقف خسارة ثابت قدره 200 نقطة (InpSL)، يُثبَّت عند سعر الدخول - InpSL*point لصفقات الشراء، وعند سعر الدخول + InpSL*point لصفقات البيع، عبر CTrade.Buy/CTrade.Sell. توجد حماية من السبريد داخل PositionOpen() تستبدل المسافة الواقية بالسبريد الحالي إذا كان السبريد يساوي أو يتجاوز InpSL نقطة، فلا يقع الوقف داخل السبريد. لا يوجد وقف متحرك، ولا نقل إلى نقطة التعادل، ولا إغلاق جزئي.
جني أرباح ثابت قدره 200 نقطة (InpTP)، متماثل مع وقف الخسارة، بنسبة مخاطرة إلى عائد 1:1. تنطبق حماية السبريد نفسها: إذا كان السبريد الحالي يساوي أو يتجاوز InpTP نقطة، يُثبَّت جني الأرباح عند سعر ± spread بدلاً من المسافة المُكوَّنة.
رمز XAUUSD على الإطار M5 (يعمل أيضاً على H1) مع وسيط سبريد منخفض قادر على استيعاب مسافة واقية 200 نقطة دون تفعيل حماية السبريد بشكل متكرر. الحد الأدنى الموصى به للرصيد هو 100 دولار، حيث يتداول الإيكسبيرت لوتاً ثابتاً قدره 0.1 لكل إشارة دون توسيع قائم على نسبة المخاطرة. مناسب للمتداولين الذين يريدون نظاماً شفافاً قائم على حركة السعر ومؤشر RSI(37) دون قواطع عالمية، أو توسيع مراكز، أو وقف متحرك، أو فلاتر أخبار — ويمكن إقرانه بأداة خارجية لوقف الرصيد لمن يحتاج حماية على مستوى الحساب.
منطق الاستراتيجية
Pipsgrowth EX16089 Trend — تحليل منطق الاستراتيجية (من كود .mq5)
العائلة: Trend
الماجيك: 22216089
الإصدار: 2.00
الوصف:
MeetingLines pattern + RSI confirm, time exit 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester
المؤشرات:
- مؤشرات قياسية
الدوال الرئيسية:
CheckState()PositionOpen()CloseBySignal()CloseByTime()PositionExist()PositionExpiredByTimeExist()BarsHold()Open()Close()Low()
// Pipsgrowth EX16089 Trend — Execution Flow (from source analysis)
// Family: Trend
// MeetingLines pattern + RSI confirm, time 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
معاملات الإكسبرت
| المعامل | الافتراضي | الوصف |
|---|---|---|
| InpAverBodyPeriod | 12 | period for calculating average candlestick size |
| InpPeriodRSI | 37 | RSI period |
| InpPrice | 1 | Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) // price type |
| InpDuration | 10 | position holding time in bars |
| InpSL | 200 | Stop Loss in points |
| InpTP | 200 | Take Profit in points |
| InpSlippage | 10 | slippage in points |
| InpLot | 0.1 | lot |
| InpMagicNumber | 22216089 | Magic Number |
| InpTradeComment | "Psgrowth.com Expert_16089" | Trade comment |
#property copyright "Pipsgrowth.com"
#property link "https://pipsgrowth.com"
#property version "2.00"
#property strict
#property description "Pipsgrowth.com EX16089 BullishBearish_MeetingLines_RSI - Meeting Lines pattern + RSI confirm, full 12-layer stack."
#include <Trade\Trade.mqh>
#include <Trade\SymbolInfo.mqh>
#define SIGNAL_BUY 1 // Buy signal
#define SIGNAL_NOT 0 // no trading signal
#define SIGNAL_SELL -1 // Sell signal
#define CLOSE_LONG 2 // signal to close Long
#define CLOSE_SHORT -2 // signal to close Short
ENUM_APPLIED_PRICE MapAppliedPriceInt(int ap)
{
switch(ap)
{
case 1: return PRICE_CLOSE;
case 2: return PRICE_OPEN;
case 3: return PRICE_HIGH;
case 4: return PRICE_LOW;
case 5: return PRICE_MEDIAN;
case 6: return PRICE_TYPICAL;
case 7: return PRICE_WEIGHTED;
default: return PRICE_CLOSE;
}
}
ENUM_APPLIED_PRICE g_InpPrice = PRICE_CLOSE;
input group "=== Pattern Parameters ==="
input int InpAverBodyPeriod=12; // period for calculating average candlestick size
input int InpPeriodRSI =37; // RSI period
input int InpPrice = 1; // Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) // price type
ENUM_APPLIED_PRICE MapAppliedPriceInt(int ap)
{
switch(ap)
{
case 1: return PRICE_CLOSE;
case 2: return PRICE_OPEN;
case 3: return PRICE_HIGH;
case 4: return PRICE_LOW;
case 5: return PRICE_MEDIAN;
case 6: return PRICE_TYPICAL;
case 7: return PRICE_WEIGHTED;
default: return PRICE_CLOSE;
}
}
ENUM_APPLIED_PRICE g_InpPrice = PRICE_CLOSE;
input group "=== Trade Parameters ==="
input uint InpDuration=10; // position holding time in bars
input uint InpSL =200; // Stop Loss in points
input uint InpTP =200; // Take Profit in points
input uint InpSlippage=10; // slippage in points
ENUM_APPLIED_PRICE MapAppliedPriceInt(int ap)
{
switch(ap)
{
case 1: return PRICE_CLOSE;الكود المصدري الكامل متاح عند التحميل
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.
تحذير صريح: لأغراض تعليمية فقط
تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.
وسطاء موصى بهم لهذا الإكسبرت
هذه الروبوتات تعمل على 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 مفتوح المصدر.
مجتمع المستخدمين
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.