Pipsgrowth EX16029 Trend — إكسبرت أدفايزر متابعة اتجاه
إكسبرت أدفايزر MT5 مفتوح المصدر · XAUUSD · M5، H1
Pipsgrowth EX16029 Trend — Harami pattern + MFI confirm, MA trend, time exit 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK. إكسبرت أدفايزر MT5 مفتوح المصدر.
نظرة عامة
EX16029 هو مستشار خبير لعكس الاتجاه يعتمد على نمط الهارمي الياباني الكلاسيكي المكون من شمعتين، يتم تصفيته عبر متوسط متحرك بسيط لمدة 5 كسياق اتجاه، والتأكيد عبر مؤشر تدفق المال MFI لمدة 37 فترة. نمط الهارمي هو الشمعة ذات الجسم الصغير التي تتشكل داخل جسم الشمعة السابقة — إعداد احتواء يشير إلى التردد في نهاية حركة اتجاهية. يعامل EX16029 هذا الاحتواء كمحفّز للانعكاس فقط عندما تكون الحركة السابقة قد أنتجت للتو شمعة طويلة الجسم وأن سياق السوق الأوسع لا يزال متفقاً.
يتم فرض هندسة الهارمي من خلال أربعة شروط للعلاقة بين الأجسام بالإضافة إلى بوابة اتجاه واحدة. من أجل هارمي صاعد، يجب أن تكون آخر شمعة مكتملة صاعدة (Close(1) > Open(1))، بينما يجب أن تكون الشمعة قبل شمعتين خضراء ذات جسم طويل — أي أن طول جسمها يتجاوز متوسط طول الجسم لـ 12 شمعة كما يتم تتبعه عبر AvgBody(1). يجب أن يجلس جسم الشمعة الصاعدة داخل الجسم الهابط السابق: إغلاقها أدنى من الافتتاح السابق، وافتتاحها أعلى من الإغلاق السابق. الشرط الخامس هو بوابة الاتجاه: يجب أن تكون النقطة الوسطى للمدى الكامل للشمعة السابقة — MidPoint(2) = (High(2)+Low(2))/2 — أدنى من قيمة إغلاق المتوسط المتحرك البسيط لمدة 5، مما يثبت أن السوق كان يتجه نحو الأسفل قبل أن تتشكل الشمعة الداخلية. يُعتبر الهارمي الصاعد الذي يتشكل في منتصف الاتجاه ضد سياق اتجاه هابط إشارة انعكاس أقوى. هارمي الهابط هو انعكاس متماثل: آخر شمعة هابطة، الشمعة السابقة جسم صاعد طويل، جسم الشمعة الحالية داخل نطاق جسم الشمعة السابقة، وMidPoint(2) أعلى من المتوسط المتحرك لتأكيد سياق الاتجاه الصاعد. استخدام النقطة الوسطى للمدى (الأعلى+الأدنى)/2 بدلاً من النقطة الوسطى للجسم (الافتتاح+الإغلاق)/2 مقصود — فهو يسحب الفتائل والظلال إلى فحص الاتجاه، بحيث أن فتيلة سفلية طويلة على الشمعة السابقة (بصمة رفض تشبه المطرقة) تليّن إشارة الاتجاه الهابط حتى لو كان الجسم يجلس فوق المتوسط المتحرك بشكل جيد.
يتم تفويض التأكيد إلى مؤشر MFI لمدة 37 فترة مطبّق على حجم التيك (VOLUME_TICK). للشراء يشترط EA أن MFI(1) < 40، للبيع MFI(1) > 60. إن MFI لمدة 37 فترة على شموع M5 يبحث للخلف تقريباً 3 ساعات من حركة السعر-الحجم — طويل بما يكفي لدمج الشريط التراكمي بدلاً من التفاعل مع ارتفاع واحد، وقصير بما يكفي للبقاء محدثاً مع الجلسة النشطة. تقع نطاقات 40/60 داخل عتبات التشبع الشرائي/البيعي الكلاسيكية 20/80 مباشرة، مما يجعل المرشح متساهلاً نسبياً: هارمي يتشكل بينما يميل MFI فقط نحو الإنهاك (بدلاً من أن يكون مثبتاً عند extreme عميق) لا يزال يجتاز المرشح. بدون التأكيد يتم إسقاط الإشارة بصمت — تتم إعادة تعيين ExtSignalOpen إلى SIGNAL_NOT قبل تقديم أي أمر.
المخاطرة والخروج مرتبطتان ارتباطاً وثيقاً بالدخول. يتم فتح كل صفقة بوقف 200 نقطة وهدف 200 نقطة لنسبة مخاطرة إلى عائد 1:1 بالضبط. يحمل كلا الأمرين شبكة أمان لتجاوز السبريد: إذا كان السبريد الحالي أوسع من مسافة وقف الخسارة أو جني الأرباح بالنقاط، يقوم EA بتثبيت المستوى الوقائي عند السبريد نفسه بدلاً من وضع وقف داخل السبريد. حجم اللوت ثابت عند 0.10 لوت ولا يوجد حجم بنسبة مخاطر لكل صفقة أو متناسب مع الرصيد. يتم توصيل وقف زمني لـ 10 شموع أيضاً عبر BarsHold() التي تعدّ الشموع المكتملة منذ فتح الصفقة؛ بمجرد وصول عدد الشموع إلى InpDuration=10 المُكوَّن، يقوم EA بإغلاق الصفقة قسرياً بغض النظر عن الربح/الخسارة.
تضيف منطق MFI على جانب الخروج طبقة إغلاق مبكر فوق هدف 200 نقطة. يتم التعرف على نمطين للإغلاق. بالنسبة للصفقات الطويلة، يتم إطلاق الخروج عندما MFI(1) < 70 AND MFI(2) > 70 (انخفاض تشبع شرائي عبر خط 70) أو عندما MFI(1) < 30 AND MFI(2) > 30 (ارتداد تعافي من تشبع بيعي — فشل MFI في الحفاظ على مستوى التشبع البيعي العميق). انعكاس البيع هو نفس المنطق مقلوب عند عتبات 30 و70. يتم فحص إشارات التقاطع هذه مرة واحدة لكل شمعة جديدة عبر حارس datetime الثابت next_bar_open في OnTick()، مما يعني أن EA لا يقيّم المخارج أكثر من مرة لكل فترة — خنق مقصود يمنع إغلاقات التقلب من ضوضاء داخل الشمعة.
يُقرأ مؤشر MFI عبر iMFI(_Symbol, _Period, 37, VOLUME_TICK) ومتوسط الاتجاه SMA عبر iMA(_Symbol, _Period, 5, 0, MODE_SMA, PRICE_CLOSE). يتم إنشاء كلا المقبضين في OnInit. خطأ صغير في OnInit يفحص متغير مقبض MFI مرة ثانية عند التحقق من صحة مقبض المتوسط المتحرك — السطر 95 يقرأ if(ExtIndicatorHandle==INVALID_HANDLE) حيث يجب أن يختبر الكود ExtTrendMAHandle. لذلك فإن تهيئة المتوسط المتحرك محمية بالصدفة فقط عندما يكون مقبض MFI غير صالح؛ في التشغيل العادي ينجح المتوسط المتحرك دائماً لذا يكون الخطأ غير مرئي. يظهر تسرب أكثر وضوحاً في OnDeinit: يتم تحرير مقبض MFI فقط، ويُسقط مقبض SMA عند تفريغ EA بدون استدعاء صريح لـ IndicatorRelease(ExtTrendMAHandle). بالنسبة للمتداولين الذين يعيدون تحميل EA بشكل متكرر على نفس الشارت، يتسرب مقبض في كل مرة حتى تُستنفد فتحة المؤشر في المنصة.
تم تعريف ثلاث مساعدات إعادة محاولة في أسفل الملف — TryClose_EX16029، TryClosePartial_EX16029، وTryModify_EX16029 — كل منها يكرر حتى ثلاث مرات على رموز REQUOTE/TIMEOUT/PRICE_OFF/PRICE_CHANGED مع فترات سكون 100-200ms بين المحاولات. الأولى فقط هي المتصلة بمسار الإغلاق المباشر؛ TryClosePartial وTryModify كود ميت، يُحفظ كسقالة لميزات الإغلاق الجزئي وسحب الوقف التي لم يُمكّنها EA أبداً. لا يوجد وقف متحرك، ولا تحويل لنقطة التعادل، ولا إغلاق على مستوى السلة، ولا بوابة منحنى equity — EA متعمد في بساطته: زوج مؤشر واحد، عائلة نمط واحدة، لوت ثابت واحد، نسبة مخاطرة واحدة.
النشر المستهدف هو XAUUSD M5 افتراضياً، مع H1 كبديل قابل للتطبيق للمتداولين الذين يفضلون شموعاً أبطأ. تعتمد الاستراتيجية على سبريد منخفض ومستقر للحفاظ على معنى وقف/هدف 200 نقطة — على الذهب، 200 نقطة هي $0.20/أونصة على وسيط عشريتين أو $2.00/أونصة على وسيط ثلاث عشريات، وهو ما يترجم تقريباً إلى 0.7%–1.5% مخاطرة على الحساب برصيد 1000 دولار عند 0.10 لوت. حسابات ECN/RAW بنقاط فرعية نموذجية هي الملاءمة الطبيعية؛ الحسابات القياسية بسبريد ذهب 30-50 سنتاً ستشهد أحداث تجاوز السبريد بشكل متكرر وستخرج معظم الصفقات عند السبريد بدلاً من المستوى المُكوَّن.
تفاصيل الاستراتيجية
في كل تيكة، يتحقق OnTick() أولاً من حارس next_bar_open الثابت لمعرفة ما إذا كانت شمعة جديدة قد تشكلت؛ إذا لم يحدث، يبقى EA خاملاً. عندما تفتح شمعة جديدة، تشغّل CheckState() خط التقييم الكامل: تتحقق CheckPattern() من شمعتين للخلف للتحقق من صحة هندسة الهارمي (احتواء الجسم، جسم الشمعة السابقة الطويل عبر AvgBody(1)، سياق الاتجاه عبر MidPoint(2) مقابل CloseAvg(2) للمتوسط المتحرك لمدة 5)، وتسحب CheckConfirmation() قيمة MFI(1) وتشترط أن يكون أقل من 40 للشراء أو أعلى من 60 للبيع، وتفحص CheckCloseSignal() تقاطع MFI عند عتبات 70/30 لأي صفقة مفتوحة في الاتجاه. إذا نجت إشارة من الفحوصات الثلاثة، تقدم PositionOpen() أمر سوق بحجم 0.10 لوت عبر ExtTrade مع وقف الخسارة 200 نقطة وجني الأرباح المضمنين في تذكرة الوسيط، ويُطلق مشبك تجاوز السبريد تلقائياً إذا كان السبريد المباشر أوسع من أي من مسافتي الحماية. ثم تُراقب الصفقات المفتوحة في كل شمعة جديدة للوقف الزمني لـ 10 شموع في CloseByTime() وإغلاق تقاطع MFI ذو الحالات الأربع في CheckCloseSignal(). مقبض MFI ومقبض المتوسط المتحرك لمدة 5 هما المؤشران الوحيدان؛ يتم تحرير كلاهما في OnDeinit (على الرغم من أن تحرير المتوسط المتحرك مفقود — انظر ملاحظة الخطأ).
يتم تشغيل الدخول عند شمعة جديدة (وليس عند كل تيكة) عندما تكتشف CheckState() نمط هارمي: الشمعة 1 صاعدة والشمعة 2 كانت ذات جسم هابط طويل، مع احتواء جسم الشمعة 1 داخل جسم الشمعة 2، وMidPoint(2) أدنى من إغلاق المتوسط المتحرك لمدة 5 من أجل هارمي صاعد (أو الانعكاس لهارمي هابط). يتم تعريف الشمعة السابقة ذات الجسم الطويل بأن حجم الجسم أكبر من AvgBody(1) لـ 12 شمعة يتم تتبعها عبر الشموع الأخيرة. ثم يتم تمرير إشارة النمط إلى CheckConfirmation()، التي تشترط أن يكون MFI(1) أدنى من 40 للشراء أو أعلى من 60 للبيع قبل تعيين ExtSignalOpen وتقديم PositionOpen() لأمر سوق بحجم 0.10 لوت.
تعمل المخارج من ثلاث طبقات مستقلة. الأولى هي جني الأرباح من جانب الوسيط عند 200 نقطة أو وقف الخسارة عند 200 نقطة. الثانية هي منطق إغلاق MFI في CheckCloseSignal(): بالنسبة للصفقات الطويلة، يتم إطلاق إغلاق عند انخفاض التشبع الشرائي (MFI(1) < 70 AND MFI(2) > 70) أو تعافي التشبع البيعي (MFI(1) < 30 AND MFI(2) > 30)؛ بالنسبة للصفقات القصيرة، نفس المنطق معكوساً عند عتبات 30/70. الثالثة هي الوقف الزمني لـ 10 شموع في CloseByTime(): تعدّ BarsHold() الشموع المكتملة منذ الفتح وتغلق الصفقة قسرياً عندما يصل العد إلى InpDuration=10. يتم تقييم الطبقات الثلاث مرة واحدة لكل شمعة جديدة عبر حارس next_bar_open الثابت في OnTick().
تحمل كل صفقة وقف خسارة 200 نقطة يتم تعيينه عند الدخول، مع شبكة أمان مدمجة لتجاوز السبريد: إذا كان السبريد المباشر أوسع من مسافة وقف الخسارة، يقوم EA بتثبيت الوقف عند السبريد نفسه بدلاً من وضع وقف داخل السبريد. يتم تعيين وقف الخسارة في أمر الوسيط عند الفتح (يُمرر كمعامل إلى ExtTrade.Buy/ExtTrade.Sell)، وليس متتبعاً افتراضياً. لا يوجد وقف متحرك، ولا تحويل لنقطة التعادل، ولا سقف DD لمنحنى equity — الحماية الوحيدة من الانخفاض هي خط 200 نقطة لكل صفقة بالإضافة إلى الوقف الزمني لـ 10 شموع.
تحمل كل صفقة جني أرباح 200 نقطة يتم تعيينه عند الدخول لنسبة مخاطرة إلى عائد 1:1 مقابل وقف الخسارة 200 نقطة. تنطبق شبكة الأمان نفسها لتجاوز السبريد: إذا كان السبريد المباشر أوسع من مسافة جني الأرباح، يقوم EA بتثبيت الهدف عند السبريد نفسه. يتم وضع جني الأرباح في أمر الوسيط عند الفتح، وليس متتبعاً افتراضياً. يمكن لطبقة إغلاق تقاطع MFI إطلاق خروج مبكر عندما يعبر MFI(1) مرة أخرى عبر 70 (انخفاض تشبع شرائي طويل) أو 30 (تعافي تشبع بيعي طويل)، وهو ما غالباً ما يأخذ الربح قبل خط 200 نقطة على حركات M5 الأسرع.
الأفضل نشره على XAUUSD M5 (افتراضي) أو H1، الحد الأدنى الموصى به للرصيد 100 دولار مع 500 دولار مفضل لتباعد المخاطرة المناسب، على حساب ECN أو RAW بنقاط فرعية نموذجية للحفاظ على معنى وقف/هدف 200 نقطة. الافتراضي 5 دقائق هو الملاءمة الطبيعية: يمنح MFI لمدة 37 فترة شموعاً كافية (3 ساعات من النظر للخلف) لتصفية الضوضاء دون تخلف عن الجلسة النشطة، وخط الأساس AvgBody لـ 12 شمعة يتكيف بسرعة مع تغيرات التذبذب. H1 قابل للتطبيق للمتداولين الذين يفضلون إعدادات انعكاس أبطأ. الحسابات القياسية بسبريد ذهب 30-50 سنتاً ستشهد أحداث تجاوز السبريد بشكل متكرر تثبت مستويات الحماية عند السبريد نفسه، مما يجعل الاستراتيجية أقل موثوقية؛ هذا EA ينتمي إلى ECN بسبريد منخفض. يترجم اللوت الثابت 0.10 إلى تقريباً 0.7%–1.5% مخاطرة حساب لكل صفقة على رصيد 1000 دولار، لذا يُصنف EA كمخاطرة متوسطة — ليس لوت بنس بدون لوت ولا مارتينجال عدواني.
منطق الاستراتيجية
Pipsgrowth EX16029 Trend — تحليل منطق الاستراتيجية (من كود .mq5)
العائلة: Trend
الماجيك: 22216029
الإصدار: 2.00
الوصف:
Harami pattern + MFI confirm, MA trend, 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 EX16029 Trend — Execution Flow (from source analysis)
// Family: Trend
// Harami pattern + MFI confirm, MA trend, 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 |
| InpMAPeriod | 5 | Trend MA period |
| InpPeriodMFI | 37 | MFI period |
| InpVolume | VOLUME_TICK | volume 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 | 22216029 | Magic Number |
| InpTradeComment | "Psgrowth.com Expert_16029" | Trade comment |
#property copyright "Pipsgrowth.com"
#property link "https://pipsgrowth.com"
#property version "2.00"
#property strict
#property description "Pipsgrowth.com EX16029 BullishBearish_Harami_MFI - Harami pattern + MFI confirm + MA trend filter, 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
input group "=== Pattern Parameters ==="
input int InpAverBodyPeriod=12; // period for calculating average candlestick size
input int InpMAPeriod =5; // Trend MA period
input int InpPeriodMFI =37; // MFI period
input ENUM_APPLIED_VOLUME InpVolume=VOLUME_TICK; // volume type
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
input group "=== Money Management ==="
input double InpLot =0.1; // lot
input group "=== Identity ==="
input long InpMagicNumber=22216029; // Magic Number
input string InpTradeComment = "Psgrowth.com Expert_16029"; // Trade comment
//--- global variables
int ExtAvgBodyPeriod; // average candlestick calculation period
int ExtSignalOpen =0; // Buy/Sell signal
int ExtSignalClose =0; // signal to close a position
string ExtPatternInfo =""; // current pattern information
string ExtDirection =""; // position opening direction
bool ExtPatternDetected=false; // pattern detected
bool ExtConfirmed =false; // pattern confirmed
bool ExtCloseByTime =true; // requires closing by time
bool ExtCheckPassed =true; // status checking error
//--- indicator handles
int ExtIndicatorHandle=INVALID_HANDLE;
int ExtTrendMAHandle =INVALID_HANDLE;
//--- service objects
CTrade ExtTrade;
CSymbolInfo ExtSymbolInfo;
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
Print("InpSL=", InpSL);
Print("InpTP=", InpTP);
//--- set parameters for trading operations
ExtTrade.SetDeviationInPoints(InpSlippage); // slippage
ExtTrade.SetExpertMagicNumber(InpMagicNumber); // Expert Advisor ID
الكود المصدري الكامل متاح عند التحميل
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.
تحذير صريح: لأغراض تعليمية فقط
تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.
وسطاء موصى بهم لهذا الإكسبرت
هذه الروبوتات تعمل على 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 مفتوح المصدر.
مجتمع المستخدمين
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.