Pipsgrowth EX18036 TrendFollow — إكسبرت أدفايزر إكسبرت أدفايزر
إكسبرت أدفايزر MT5 مفتوح المصدر · XAUUSD · M5
Pipsgrowth EX18036 TrendFollow — Heikin-Ashi Smoothed (OHLC smoothed by SMMA, recursively averaged) color flip on last closed bar. Entry gated by ADX/ AT. إكسبرت أدفايزر MT5 مفتوح المصدر.
نظرة عامة
يبني Pipsgrowth EX18036 TrendFollow صفقة اتجاه منظمة على XAUUSD بإطار M5 من نمط شموع هايكين آشي المعدل (HAS) — وليس مجرد هايكين آشي قياسي. يبدأ الكود بأربع عبور مستقل لمتوسط SMMA بقيمة InpMaPeriod=6 على قيم الافتتاح والارتفاع والانخفاض والإغلاق كلٍّ على حدة، ثم يُدخل القيم الأربع المعدلة في معادلات هايكين آشي التراجعية: haClose = (o+h+l+c)/4، haOpen = (haOpen السابق + haClose السابق)/2. ولأن المدخلات ممهدة سلفاً، فإن كل شمعة HAS تتخلص من طبقة من ضوضاء التيك وتترك خلفها تتابعاً أبطأ وأكثر تعبيراً عن البنية الحقيقية للسعر. الإشارة في HasSignal() هي انعكاس لون نقي: شمعة خضراء (haClose > haOpen) بعد حمراء تعيد +1 بثقة 65، والعكس بالعكس. حين لا يوجد انعكاس لكن الشمعة المغلقة تُظهر جسم قوي (body/range أعلى من 0.7)، يُعاملها EA كاستمرار ويعيد +1/-1 بثقة 55. أي شيء آخر يُعيد صفراً ويمتنع EA عن اتخاذ قرار في تلك الشمعة.
لا تُفتح أي صفقة بمجرد الإشارة. تعيد TryEntry() فحص بوابة NoTrade() ثم تسأل HtfTrendAgrees() هل السعر على الجانب الصحيح من EMA(50) على الإطار H1. إشارة الشراء تتطلب أن يكون Bid فوق EMA(50) ساعة، وإشارة البيع تحت EMA(50) ساعة. هذا التوافق مع الإطار الأعلى هو ما يصفّي انعكاسات HAS التي تأتي عكس الاتجاه السائد متعدد الساعات. بعد اجتياز الفحصين، تبني EA الأمر: مسافة وقف الخسارة هي InpAtrSlMult × ATR(14) (افتراضي 2.0)، وهدف جني الأرباح InpRR × slDist (افتراضي 1.5)، وهو ما يعطي هندسة المخاطرة إلى العائد 1:1.5 التي بُنيت عليها الاستراتيجية. يمر حساب حجم العقد عبر CalcLot() بالنسبة لرأس المال الفعال، ثم يُقرَّب إلى الأسفل وفق درجة حجم الرمز ويُقيَّد بحدود الحد الأدنى والأعلى للوسيط.
إدارة المخاطر متعدد الطبقات. غطاء رأس المال مع InpCapAmount=0 في الإعداد الافتراضي يُعيد كامل حقوق الحساب كرأس مال فعال، لكن InpCapFloor=$50 يوقف الإدخالات الجديدة حين تنخفض الحقوق تحت هذا الحد. تفحص RealizedPnLSince() سجل الصفقات المبرمة في آخر 24 ساعة وآخر 7 أيام لتطبيق InpDailyLossPct=3% وInpWeeklyLossPct=6%. عداد الخسائر المتتالية g_consecLosses يزداد في OnTradeTransaction() كلما خرجت صفقة بهذا الرقم السحري بخسارة، وعند ثلاث خسائر متتالية تُرجع NoTrade() سبب 'cooldown after losses' وتتوقف EA عن الإدخال حتى أول صفقة رابحة تُعيد العداد إلى الصفر. بوابة الحد الأقصى للصفقات المتزامنة هي InpMaxConcurrent=3، وPyramidAllowed() مُترجم لكنه معطل افتراضياً (InpPyramidEnabled=false)، أي أن هذا EA على الشارت النظيف هو روبوت بحد أقصى ثلاث صفقات وباتجاه واحد. بوابة الجلسة تعمل من InpSessionStart=7 إلى InpSessionEnd=20 بتوقيت الخادم، مع حظر العطلة الأسبوعية، وحد سبريد 60 نقطة لعرض XAUUSD، ومفتاح الإيقاف الكوني كآخر ثلاث بوابات.
طبقة النظام (Regime) هي الجزء الأكثر تطلباً في الكود. تسحب RegimeClassify() مؤشرات ADX(14) وATR(14) وBB(20,2)، ثم تُشغّل نافذة ارتداد ATR على 50 شمعة لتسجيل مستوى التذبذب الحالي. تُقارَن عرض بولنجر بين الشمعة الحالية والسابقة لاكتشاف التمدد أو الانضغاط. تمتلك آلة الحالات سبع نتائج: STRONG_TREND حين يكون ADX عند أو فوق 25 ونسبة ATR المئوية عند أو فوق 60؛ WEAK_TREND حين ADX عند أو فوق 20؛ COMPRESS حين ينكمش عرض بولنجر عن الشمرة السابقة ونسبة ATR المئوية تحت 30؛ EXPAND حين يتمدد العرض ونسبة ATR المئوية عند أو فوق 60؛ BREAKOUT حين يتمدد العرض دون وسم التذبذب العالي؛ CHOPPY حين يهبط ADX تحت 15؛ وRANGE كحل افتراضي. CHOPPY فقط هو المحظور حظراً صلباً في بوابة الدخول — أما باقي الحالات فقابلة للتداول. هذا المصنف بسبع حالات يمنح EA هامشاً للعمل عبر كل من الاتجاهات ذات القناعة العالية والنطاقات الهادئة دون إجبارها على حالة واحدة.
تدير إدارة المراكز كل تيكة. تمشي ManageExits() على المراكز المفتوحة بالعكس وتطبق أربع طبقات بالترتيب. أولاً، إغلاق الإشارة المعاكسة — حين تنقلب HAS المغلقة الأخيرة للاتجاه الآخر، تستدعي EA TryClose_EX18036() مع حلقة إعادة ثلاث محاولات (تأخير 200ms عند requote أو timeout أو price-off أو price-changed). ثانياً، نقطة التعادل: حين تتجاوز مسافة الربح 1R، يُحرَّك وقف الخسارة إلى open+2 نقطة عبر TryModify_EX18036() (3 محاولات، تأخير 100ms). ثالثاً، جذب ATR: مع تحرك السعر لصالح الصفقة، يُعاد تثبيت الوقف عند السعر الحالي ناقص/زائد InpTrailAtrMult × ATR(14) (افتراضي 2.5×)، دائماً للأمام فقط، لا يعود للخلف أبداً. رابعاً، إغلاق TP صلب حين يصل السعر إلى مستوى جني الأرباح. لا يوجد خروج زمني في ManageExits — تُحمل الصفقة حتى SL أو TP أو جذب ATR أو وقف BE أو انعكاس HAS معاكس. حلقات إعادة المحاولة ضيقة: TryClosePartial_EX18036() وTryModify_EX18036() كلاهما يعيد ثلاث مرات على نفس أكواد جانب السعر؛ بقية الكود يفترض أن استجابة الوسيط الأولى هي المرجعية.
من الناحية العملية، تُقيِّم OnTester() الاختبار الخلفي بالصيغة (صافي الربح × عامل الربح) / (1 + نسبة السحب النسبية) وتستبعد أي تشغيل بأقل من 30 صفقة، ما يعني أن تشغيلاً باختبار بـ 5 أو 10 صفقات جيدة التشكل لا يمكنه التلاعب بالنتيجة. تعليق الأمر مُبرمج على 'Psgrowth.com Expert_18036'، ونوع التعبئة يُكتشف تلقائياً بين FOK وIOC وRETURN، ويُشغَّل OrderCalcMargin قبل الإرسال فترفض EA فتح أي مركز لا تستطيع تحمله. النشر الموصى به على حساب ECN أو RAW بسبريد منخفض على XAUUSD بمجموعة المدخلات الافتراضية؛ بوابة الـ 60 نقطة تجعل أي حساب بسبريد واسع غير قابل للاستخدام. جلسة 7-20 بتوقيت الخادم واسعة بما يكفي لتغطية لندن حتى صباح نيويورك، وحد الـ 50$ لرأس المال مع عداد الخسائر المتتالية يفرضان سقفاً صلباً لعدد الإدخالات السيئة التي يمكن تكديسها في يوم تداول واحد.
تفاصيل الاستراتيجية
مكدس المؤشرات عند التهيئة هو تسعة مقابض: iADX(14)، iATR(14)، iBands(20,2)، أربع عبور iMA(6, SMMA) على OHLC، وواحد iMA(50, EMA) على الإطار H1. في كل تيكة، يُحدِّث OnTick الأسعار ويستدعي CalcHAS(100) لإعادة بناء 100 شمعة من Heikin-Ashi Smoothed من بدائيات OHLC الأربعة الممهدة، ويمشي HasSignal() لتسجيل آخر شمعة مغلقة كانعكاس (ثقة 65)، استمرار قوي (ثقة 55)، أو لا إشارة (0). تُشغَّل ManageExits أولاً لتطبيق إغلاق الإشارة المعاكسة، نقطة التعادل عند +1R، وجذب ATR×2.5 للأمام. على شمعة جديدة، تعيد TryEntry فحص بوابة No-Trade (مفتاح الإيقاف، حد سبريد 60 نقطة لـ XAUUSD، جلسة 7-20 بتوقيت الخادم، حظر العطلة، النظام≠CHOPPY، حد رأس المال، الربح/الخسارة اليومية/الأسبوعية، تبريد 3 خسائر، حد 3 صفقات متزامنة)، وتؤكد توافق H1 EMA(50)، وتحسب SL عند 2.0×ATR وTP عند 1.5R، وتحدد حجم العقد من رأس المال الفعال، وتُشغِّل OrderCalcMargin، وترسل الأمر مع إعادة واحدة عند requote/timeout. تعمل طبقة النظام RegimeClassify في نفس مسار No-Trade وتستخدم نافذة ارتداد نسبة ATR المئوية على 50 شمعة مع مقارنة عرض بولنجر بين شمعتي الحالي والسابق لتعيين واحدة من سبع حالات؛ CHOPPY فقط يحظر حظراً صلباً. تكتشف تعبئة الأمر تلقائياً بين FOK وIOC وRETURN؛ كل من TryClose وTryClosePartial وTryModify يعيد ثلاث مرات على نفس أكواد جانب السعر بتأخير 200ms أو 100ms. تُسجِّل OnTester بـ (صافي × PF) / (1 + DD%) وتستبعد التشغيل بأقل من 30 صفقة.
يتم تشغيل الدخول من انعكاس لون Heikin-Ashi Smoothed (HAS) على آخر شمعة مغلقة — الأخضر بعد الأحمر يُرجع +1 والأحمر بعد الأخضر يُرجع -1، كل منهما بثقة 65. حين لا تكون الشمعة انعكاساً لكن نسبة الجسم/المدى تتجاوز 0.7، تُعاملها EA كاستمرار قوي وتُرجع ±1 بثقة 55. تطلب TryEntry() بعد ذلك أن يكون Bid على الجانب الصحيح من EMA(50) على H1 قبل إرسال الأمر، ولا تُفتح الصفقة إلا إذا كانت بوابة No-Trade (السبريد، الجلسة، العطلة، النظام، الخسارة اليومية/الأسبوعية، التبريد، التزامن) خالية.
تُقيَّم الخروج على كل تيكة داخل ManageExits(). انعكاس لون HAS معاكس يستدعي TryClose_EX18036 مع حلقة إعادة ثلاث محاولات عند requote/timeout/price-off/price-changed. يُنفَّذ جني الأرباح عند مستوى TP الثابت المضبوط عند الدخول (مسافة 1.5R). ينطلق لولب نقطة التعادل مرة واحدة حين يصل السعر إلى +1R ويُحرّك الوقف إلى open+2 نقطة. جذب ATR(14)×2.5 للأمام فقط يُعيد تثبيت الوقف مع تحرك السعر لصالح الصفقة، ولا يعود للخلف أبداً. لا يوجد خروج زمني — تُحمل المراكز حتى SL أو TP أو جذب ATR أو وقف BE أو انعكاس HAS معاكس.
وقف الخسارة لكل صفقة هو 2.0×ATR(14) من سعر الدخول (افتراضي InpAtrSlMult)، ثم يُمرَّر عبر RespectStops() بحيث لا يكون وقف الخسارة النهائي أقرب من SYMBOL_TRADE_STOPS_LEVEL بالنقاط. الفشل الآمن الصلب وراء وقف الخسارة لكل صفقة هو InpCapFloor=$50 كحد أدنى لرأس المال، مع حدود الخسارة المحققة اليومية 3% والأسبوعية 6% — بمجرد تفعيل أي منها، تُرجع NoTrade() ولا يُسمح بأي إدخالات جديدة حتى الجلسة التالية أو تعافي رأس المال.
جني الأرباح ثابت عند الإدخال عند 1.5× مسافة وقف الخسارة (InpRR=1.5 افتراضي، أي 3.0×ATR(14) لإجمالي SL عند 2.0×ATR). يُمرَّر TP عبر RespectStops() لتجاوز الحد الأدنى لمستوى stops-level للوسيط ولا يُحرَّك بعد الإدخال. لا توجد طبقة جني أرباح جزئي في مسار ManageExits — إما تُحمل الصفقة حتى TP الكامل، أو تُوقف عند جذب ATR/وقف BE، أو تُغلق على انعكاس HAS معاكس.
يُنشر بشكل أفضل على حساب ECN أو RAW بسبريد منخفض على XAUUSD (بوابة الـ 60 نقطة مُبرمجة). الحد الأدنى الموصى به للرصيد: 100$ (حد InpCapFloor=$50 لرأس المال مع المخاطرة 0.5% لكل صفقة يحتاجان هامشاً ذا معنى لإبقاء حجم العقد بعيداً عن الحد الأدنى للرمز). جلسة 7-20 بتوقيت الخادم واسعة بما يكفي لتغطية لندن حتى أوائل نيويورك، لذلك سيرى متداول افتتاح لندن أو افتتاح نيويورك نافذة الإشارة الكاملة. يتطلب حد 30 صفقة في OnTester ما لا يقل عن 6-10 أشهر من بيانات M5 التاريخية لاختبار خلفي ذي معنى. ملف المخاطر متوسط — نسبة مخاطرة إلى عائد 1:1.5 مع جذب 2.5×ATR يمنح الصفقة متنفساً، لكن تبريد الـ 3 خسائر المتتالية وحد الخسارة الأسبوعية 6% يجبران EA على التوقف في الأسوأ. الأزمنة والأزواج: الإعداد الافتراضي M5 XAUUSD هو التشكيل المتحقق الوحيد؛ SL/TP المعتمد على ATR وتأكيد H1 EMA(50) لن ينتقلا بشكل نظيف إلى أزواج FX الرئيسية دون إعادة ضبط InpMaPeriod وInpAtrSlMult.
منطق الاستراتيجية
Pipsgrowth EX18036 TrendFollow — تحليل منطق الاستراتيجية (من كود .mq5)
العائلة: TrendFollow
الماجيك: 22218036
الإصدار: 2.00
الوصف:
Heikin-Ashi Smoothed (OHLC smoothed by SMMA, recursively averaged) color flip on last closed bar. Entry gated by ADX/ ATR-percentile/BB-width regime + HTF EMA agreement + session + spread/news/floor no-trade filters. Sizing off effective_ capital (capital allocation cap). Exits: ATR-based SL, partial TP, ATR trail, break-even, regime change, opposite-signal. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester
المؤشرات:
- مؤشرات قياسية
الدوال الرئيسية:
EffectiveCapital()RealizedPnLSince()RollDayWeek()RegimeClassify()CalcHAS()HasSignal()HtfTrendAgrees()NoTrade()CalcLot()RespectStops()
// Pipsgrowth EX18036 TrendFollow — Execution Flow (from source analysis)
// Family: TrendFollow
// Heikin-Ashi Smoothed (OHLC smoothed by SMMA, recursively averaged) color flip on last closed bar. Entry gated by ADX/ ATR-percentile/BB-width regime + HTF EMA agreement + session + spread/news/floor no-trade filters. Sizing off effective_ capital (capital allocation cap). Exits: ATR-based SL, partial TP, ATR trail, break-even, regime change, opposite-signal. 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
معاملات الإكسبرت
| المعامل | الافتراضي | الوصف |
|---|---|---|
| InpMagic | 22218036 | Magic number (id) |
| InpTradeComment | "Psgrowth.com Expert_18036" | Order comment (text) |
| InpDeviation | 20 | Slippage allowed (points) |
| InpDryRun | true | Dry-run mode (bool, no live orders) |
| InpKillSwitch | false | Global kill switch (bool) |
| InpCapAmount | 0.0 | Cap amount (account equity $) |
| InpCapFloor | 50.0 | Floor below which no new entries ($) |
| InpRiskPercent | 0.5 | Risk per trade (% of effective cap) |
| InpDailyLossPct | 3.0 | Daily loss limit (% of effective cap) |
| InpWeeklyLossPct | 6.0 | Weekly loss limit (% of effective cap) |
| InpMaxConcurrent | 3 | Max concurrent positions (count) |
| InpCooldownLoss | 3 | Losses before cooldown (count) |
| InpMaPeriod | 6 | HAS smoothing period (bars) |
| InpMaMethod | MODE_SMMA | HAS smoothing MA method |
| InpAtrSlMult | 2.0 | SL distance = mult * ATR (x) |
| InpRR | 1.5 | Reward:Risk for TP (x) |
| InpBreakEvenR | 1.0 | Move to BE at +R (x) |
| InpTrailAtrMult | 2.5 | ATR trailing multiplier (x) |
| InpPyramidEnabled | false | Pyramid on profit (bool) |
| InpSessionStart | 7 | Session start hour (broker time) |
| InpSessionEnd | 20 | Session end hour (broker time) |
#property copyright "Pipsgrowth.com"
#property link "https://pipsgrowth.com"
#property version "2.00"
#property strict
#property description "Pipsgrowth.com EX18036 HAS — Heikin-Ashi Smoothed trend-follow EA, self-contained, broker-portable."
#include <Trade\Trade.mqh>
#include <Trade\PositionInfo.mqh>
#include <Trade\SymbolInfo.mqh>
#include <Trade\AccountInfo.mqh>
//+------------------------------------------------------------------+
//| INPUTS (12-22 grouped) |
//+------------------------------------------------------------------+
input group "=== Identity ==="
input int InpMagic = 22218036; // Magic number (id)
input string InpTradeComment = "Psgrowth.com Expert_18036"; // Order comment (text)
input int InpDeviation = 20; // Slippage allowed (points)
input group "=== Control ==="
input bool InpDryRun = true; // Dry-run mode (bool, no live orders)
input bool InpKillSwitch = false; // Global kill switch (bool)
input group "=== Capital Allocation Cap ==="
// InpCapEnabled removed — use InpCapAmount=0 to disable // Capital cap enabled (bool)
input double InpCapAmount = 0.0; // Cap amount (account equity $)
input double InpCapFloor = 50.0; // Floor below which no new entries ($)
input group "=== Risk & Sizing ==="
input double InpRiskPercent = 0.5; // Risk per trade (% of effective cap)
input double InpDailyLossPct = 3.0; // Daily loss limit (% of effective cap)
input double InpWeeklyLossPct= 6.0; // Weekly loss limit (% of effective cap)
input int InpMaxConcurrent= 3; // Max concurrent positions (count)
input int InpCooldownLoss = 3; // Losses before cooldown (count)
input group "=== Signal (HAS) ==="
input int InpMaPeriod = 6; // HAS smoothing period (bars)
input ENUM_MA_METHOD InpMaMethod = MODE_SMMA;// HAS smoothing MA method
input group "=== Exits ==="
input double InpAtrSlMult = 2.0; // SL distance = mult * ATR (x)
input double InpRR = 1.5; // Reward:Risk for TP (x)
input double InpBreakEvenR = 1.0; // Move to BE at +R (x)
input double InpTrailAtrMult = 2.5; // ATR trailing multiplier (x)
input group "=== Scaling & Session ==="
input bool InpPyramidEnabled = false; // Pyramid on profit (bool)
input int InpSessionStart = 7; // Session start hour (broker time)
input int InpSessionEnd = 20; // Session end hour (broker time)
//+------------------------------------------------------------------+
//| GLOBALS |
//+------------------------------------------------------------------+
CTrade trade;
CPositionInfo posInfo;
CSymbolInfo symInfo;
CAccountInfo accInfo;
// indicator handles
int h_adx = INVALID_HANDLE;الكود المصدري الكامل متاح عند التحميل
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.
تحذير صريح: لأغراض تعليمية فقط
تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.
وسطاء موصى بهم لهذا الإكسبرت
هذه الروبوتات تعمل على 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 مفتوح المصدر.
مجتمع المستخدمين
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.