P
PipsGrowth
متابعة الاتجاهمفتوح المصدر - مجاني

Pipsgrowth EX18020 TrendFollow — إكسبرت أدفايزر إكسبرت أدفايزر

إكسبرت أدفايزر MT5 مفتوح المصدر · USDJPY · M5، M1، M15

Pipsgrowth EX18020 TrendFollow — Ultra-aggressive USDJPY scalper. Entry signal = loose RSI(7) ±35/65 OR MACD(8/17/9) main/signal cross on closed bar, plu. إكسبرت أدفايزر MT5 مفتوح المصدر.

نظرة عامة

يُسلَّم EX18020 كنسخة مُصلَحة جراحياً من استراتيجية سكالپ على USDJPY كانت أقدم. النظام الأصلي v1.00 كان يعتمد على مضاعفة اللوت بطريقة مارتينجال، ووقف جني أرباح تعويضي، وشبكة بمدّة 20 نقطة تكدّس مراكز خاسرة حتى ينعكس السعر. في الإصدار v2.00 أُزِيلت كل تلك الآليات من المصدر مباشرةً. لا يوجد مضاعف لوت بين الصفقات. لا يوجد وقف تعويضي يفتح متوسط دخول. لا توجد شبكة احتياطية. النتيجة مضارِب سكالپ بمركز واحد، بحجم ثابت نسبي، حيث يقف كل دخول أو يسقط بمعزل عن غيره، مُحسوباً لمخاطرة 0.5 بالمئة من رأس المال الفعّال لكل صفقة.

تُبنى محرّك الإشارة على تقاطع متعمَّد الفضفاض بين RSI و MACD. يقرأ معالج OnTick آخر شمعة مُغلَقة فقط — لا يلمس الشمعة التي لا تزال تتشكَّل — ويُشغِّل دالة CoreSignal على RSI(7) و MACD(8, 17, 9). يولِّد ذراع RSI إشارة شراء حين يطبع RSI للشمعة المُغلَقة تحت 35 (InpRSIOversold)، وإشارة بيع حين يطبع فوق 65 (InpRSIOverbought). يولِّد ذراع MACD إشارة شراء حين يقطع خط MACD الرئيسي فوق خط الإشارة عند bar[1] بعد أن كان مساوياً أو أدنى عند bar[2]، وإشارة بيع على التقاطع المعاكس. يكفي أي ذراع لإصدار اتجاه؛ تُرجع الدالة درجة ثقة بين صفر ومائة مستخلصة من ذراع أقوى من الذراع الأخرى.

يعمل التأكيد في بوابة ConfirmEntry. يسحب المؤشر قيمة H1 EMA(50) عبر المقبض g_hHTFEMA ويشترط أن يكون إغلاق الشمعة المُغلَقة في الجانب الصحيح للاتجاه: إشارة شراء تشترط إغلاق فوق H1 EMA(50)، إشارة بيع تشترط إغلاق دونه. يجب أن يكون السبريد عند 35 نقطة أو أقل (InpMaxSpreadPts)، ويجب أن تقع الساعة الحالية داخل نافذة SESSION_START_HOUR إلى SESSION_END_HOUR — من 6 إلى 21 بتوقيت الخادم. كل ما يخرج عن هذه الشروط يُرفَض مع طباعة سبب مُسمَّى في سجل Experts.

مُصنِّف النظام (الريجيم) آلة بسبع حالات يقودها ADX(14) و ATR(14) النسبي وعرض بولينجر. StrongTrend هي القمة حين يكون ADX عند 30 أو أعلى. تغطي WeakTrend نطاق ADX بين عتبة InpADXMin (20) و 30. تنطلق Expand حين يكون ATR الحالي فوق الشريحة المئوية السبعين لبحث 60 شمعة AND عرض بولينجر الحالي يتجاوز عرض الشمعة السابقة بـ 1.15 مرة. تنطلق Compress حين يكون ATR النسبي تحت 25. تنطلق Breakout حين ينكمش عرض البولينجر إلى ما دون 0.0015 ويرتفع ADX. تلتقط Range و Choppy الباقي. Choppy هي الحالة الوحيدة التي تحظرها NoTradeBlock حظراً صلباً؛ يُسمَح للباقي بالمرور إلى مسار الدخول.

إدارة المخاطر مُطبَّقة على طبقات. تتحقق دالة NoTradeBlock من الحد الأدنى لسقف رأس المال، وحدّ الخسارة اليومية 3 بالمئة، وأقصى عدد مراكز مفتوحة (1)، وفاصل التهدئة بعد ثلاث خسائر متتالية، وتخطّي الشمعة الكبيرة حين يتجاوز مدى شمعة واحدة ثلاثة أضعاف ATR، وإغلاق عطلة نهاية الأسبوع يوم الجمعة عند الساعة 21 بتوقيت الخادم. يُحسب حجم المركز في CalcLots بقسمة مبلغ المخاطرة (0.5 بالمئة من رأس المال الفعّال) على خسارة اللوت الواحدة المستخلصة من مسافة وقف 1.5 ATR، ثم تُقرَّب النتيجة نزولاً إلى خطوة حجم الوسيط.

بمجرد فتح المركز، تعمل دالة ManageExits على كل تيك. تقوم بأربعة أشياء بالترتيب. أولاً، حين يصل R غير المحقَّق إلى +1.0، تنقل وقف الخسارة إلى نقطة التعادل تماماً عند سعر الدخول — تعديل يحدث مرة واحدة فقط لكل تذكرة. ثانياً، تُغلِق 50 بالمئة من المركز عند +1R باستخدام آلة جني الأرباح الجزئي، ومرة واحدة أيضاً. ثالثاً، تُحرِّك وقف الخسارة خلف السعر باستخدام جرار ATR بمقدار 2.0 مرة من ATR، يشدّ فقط ولا يرخي. رابعاً، إذا ظل المركز مفتوحاً لمدة 100 شمعة أو أكثر على الإطار الزمني الحالي (MAX_BARS_IN_TRADE)، يُغلَق المركز قسرياً بصرف النظر عن الربح أو الخسارة.

تعمل فحوصات جانب الخروج في OppositeAndRegimeExit. إذا تجاوز RSI للشمعة المُغلَقة العتبة المعاكسة أو طبع MACD التقاطع المعاكس، يُغلَق كل مركز. تُغلِق الدالة نفسها المراكز قسرياً أيضاً حين يُرجع مُصنِّف النظام Choppy أو Range أو Compress — بمعنى أن مركزاً دُخِل في ظل نظام اتّجاهي سيُهجَر إذا انقلب السوق إلى حالة غير اتّجاهية.

في العمق يحمل المؤشر ست مقابض مؤشّرات: ADX(14) و ATR(14) و RSI(7) و MACD(8, 17, 9) و Bollinger Bands(20, 2.0) و HTF EMA(50) على H1. يَتتبَّع خطّاف OnTradeTransaction الخسائر المتتالية ويُفعِّل فاصل تهدئة لثلاث شموع حين يصل العدّاد إلى COOLDOWN_AFTER_LOSS — كل خسارة تُحسَب بالمثل، بلا تصعيد، وبلا زيادة في اللوت. تُعيد دوال TryEntry و TryClose_EX18020 و TryClosePartial_EX18020 و TryModify_EX18020 المحاولة ثلاث مرات على استجابات requote و timeout و price-off و price-changed مع وقفة 200 مللي ثانية بين المحاولات. يُسكِت راي dry-run (InpDryRun، افتراضياً true) كل إرسال فعلي حتى تتمكّن من مراجعة سجل القرار قبل الانطلاق الحيّ.

معيار OnTester المخصَّص هو (صافي × عامل الربح) ÷ (1 + |السحب|)، مع عتبة صلبة 30 صفقة مُغلَقة في تمرير التحسين. أي شيء دون 30 صفقة يُرجِع درجة صفر، مما يجعل المُحسِّن يتخلَّص من التشغيلات القصيرة ذات العيِّنة المنخفضة لصالح نتائج ذات دلالة إحصائية.

ما ليسه EX18020: ليس مارتينجال، ولا شبكة، ولا نظام تعويضي. أكَّد إصدار v2.00 ذلك صراحةً في رأس الملف ومسار الدخول. إذا كنت تبحث عن مُكدِّس شبكة بمدّة 20 نقطة، فهذا لم يعد ذاك المؤشر. إذا كنت تبحث عن سكالپ RSI/MACD محكَم بمركز واحد في كل مرة، مع مخارج قائمة على ATR وحجم قائم على سقف رأس المال، فهذا هو الإصدار المُعاد بناؤه.

تفاصيل الاستراتيجية

على كل تيك يُشغِّل المؤشر أولاً صيانة ManageExits على أي مركز مفتوح: يشدّ وقف الخسارة، يأخذ جزئي +1R، يدفع إلى نقطة التعادل، ويتحقّق من مهلة 100 شمعة. على شمعة جديدة تُغذِّي قيمتا RSI(7) و MACD(8, 17, 9) للشمعة المُغلَقة دالة CoreSignal التي تُرجِع اتجاهاً موقَّعاً مع درجة ثقة 0-100. يؤكِّد ConfirmEntry جانب H1 EMA(50)، وسقف السبريد 35 نقطة، ونافذة الجلسة 6-21 بتوقيت الخادم. تُشغِّل NoTradeBlock مكدِّس السلامة — أرضية رأس المال، وخسارة يومية 3 بالمئة، وتهدئة ثلاث خسائر، وتخطّي الشمعة الكبيرة عند 3x ATR، وقطع عطلة نهاية الأسبوع الجمعة 21، والحظر الصلب لنظام Choppy — وتُطلق الأمر إلى TryEntry أو تطبع الرفض المُسمَّى. يُحسِب TryEntry حجم اللوت من CalcLots باستخدام ميزانية مخاطرة 0.5 بالمئة، ويُرسل الأمر مع محاولة احتياطية واحدة، ويُسجِّل القرار في تبويب Experts. أزالت نسخة v2.00 كل مسارات كود مارتينجال والتعويض والشبكة، لذا يُحسَب كل أمر بمعزل عن غيره وفق رأس المال الفعّال.

إشارة الدخول

تَنطلِق الدخول على إشارات الشمعة المُغلَقة فقط: إشارة شراء حين يطبع RSI(7) تحت 35 أو يقطع خط MACD الرئيسي (8, 17, 9) فوق خط الإشارة، وإشارة بيع على الشروط المعاكسة. تؤكِّد بوابة H1 EMA(50) اشتراط أن يكون إغلاق الشمعة المُغلَقة في الجانب الصحيح للاتجاه، ولا يُسلِّح المؤشر الأوامر إلا داخل نافذة توقيت الخادم 6-21 مع سبريد عند 35 نقطة أو أقل. يجب ألَّا يُرجع مُصنِّف النظام السباعي حالة Choppy ليمرّ الدخول.

إشارة الخروج

تعمل المخارج على كل تيك. يُغلِق محرّك الإشارة المعاكسة المركز حين تتجاوز إشارة الشمعة المُغلَقة عتبة RSI المقابلة أو يطبع MACD التقاطع المعاكس. يُغلِق محرّك تغيير النظام أي مركز مفتوح في اللحظة التي يُرجع فيها المُصنِّف Choppy أو Range أو Compress. يٌجبر مهلة 100 شمعة على الإطار الزمني الحالي على إغلاق المركز بصرف النظر عن الربح أو الخسارة.

وقف الخسارة

وقف الخسارة لكل صفقة 1.5 مرة من قيمة ATR(14) على الشمعة المُغلَقة، مع أرضية عند الحد الأدنى لمسافة الوقف لدى الوسيط. ينقل المؤشر وقف الخسارة إلى نقطة التعادل عند +1R مرة واحدة فقط لكل تذكرة، ثم يشدّه خلف السعر باستخدام جرار 2.0x ATR يشدّ فقط ولا يرخي. لا يوجد وقف تعويضي، ولا وقف شبكة، ولا درجة مارتينجال — كل خسارة تُغلَق عند مسافة ATR الأصلية.

جني الأرباح

جني الأرباح الابتدائي 1.5 مرة من مسافة وقف الخسارة، ما يعطي نسبة R:R ثابتة 1:1.5. عند +1R يُغلق المؤشر 50 بالمئة من المركز كجني أرباح جزئي يحدث مرة واحدة، ثم يترك الباقي يمضي نحو وقف جني الأرباح الأصلي، أو الجرار، أو مخرج الإشارة المعاكسة، أو مخرج تغيير النظام، أو سقف 100 شمعة، أيّهم يصطدم أولاً.

الأنسب لـ

الحد الأدنى الموصى به للرصيد 100 دولار مع ترك CapitalCapAmount عند الصفر ليُحسِب المؤشر الحجم وفق كامل الأسهم. تعمل CapitalCapFloor عند 50 دولاراً كقاطع دائرة صلب — إذا انخفضت الأسهم دونه، يتوقّف المؤشر عن فتح أوامر جديدة. تحتاج الاستراتيجية إلى حساب ECN أو RAW بسبريد منخفض على USDJPY لأن سقف السبريد 35 نقطة ضيِّق، ويجب أن تعمل على M5 (الافتراضي) مع M1 و M15 كخيارات احتياطي قابلة للضبط. تستهدف نافذة 6-21 بتوقيت الخادم كامل تداخل لندن-نيويورك، مع قطع الجمعة 21:00 وتهدئة الثلاث خسائر لإعطاء المؤشر متنفساً بعد السحوبات. مخاطرة 0.5 بالمئة وسقف خسارة يومية 3 بالمئة يجعلان هذا مضارِب سكالپ بمركز واحد في كل مرة متوسط المخاطرة، لا عدوانياً.

منطق الاستراتيجية

Pipsgrowth EX18020 TrendFollow — تحليل منطق الاستراتيجية (من كود .mq5)

العائلة: TrendFollow الماجيك: 22218020 الإصدار: 2.00

الوصف: Ultra-aggressive USDJPY scalper. Entry signal = loose RSI(7) ±35/65 OR MACD(8/17/9) main/signal cross on closed bar, plus a quick-scalp trigger (MACD sign + RSI 50-side). v2.00 safety conversion: martingale COMPLETELY STRIPPED (no lot doubling, no recovery TP, no grid backup). Replaced with fixed- fractional sizing off effective capital. Hard ATR SL, R-multiple TP, every loss independent. Layered with REGIME, CONFIRM, NO- TRADE, CAPITAL-CAP, RISK, SIZING, MANAGE/EXIT, EXEC, OnTester. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester

المؤشرات:

  • ADX
  • ATR
  • RSI
  • MACD
  • BB
  • HTFEMA

الدوال الرئيسية:

  • NormPrice()
  • ClampVol()
  • MinStopsDist()
  • SpreadPoints()
  • InSession()
  • IsNewBar()
  • PartialAlreadyDone()
  • MarkPartialDone()
  • EffectiveCapital()
  • RealizedPnLToday()
الرمز الزائف (Pseudocode)
// Pipsgrowth EX18020 TrendFollow — Execution Flow (from source analysis)
// Family: TrendFollow
// Ultra-aggressive USDJPY scalper. Entry signal = loose RSI(7) ±35/65 OR MACD(8/17/9) main/signal cross on closed bar, plus a quick-scalp trigger (MACD sign + RSI 50-side). v2.00 safety conversion: martingale COMPLETELY STRIPPED (no lot doubling, no recovery TP, no grid backup). Replaced with fixed- fractional sizing off effective capital. Hard ATR SL, R-multiple TP, every loss independent. Layered with REGIME, CONFIRM, NO- TRADE, CAPITAL-CAP, RISK, SIZING, MANAGE/EXIT, EXEC, OnTester. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester

ON_INIT:
    Create indicator handles: ADX, ATR, RSI, MACD, BB, HTFEMA
    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)

ملف التحسين

الوسطاء المُحسّنون:
ExnessIC Markets
الرموز المُحسّنة:
USDJPY
الأطر الزمنية المُحسّنة:
M5M1M15

كيفية تثبيت الإكسبرت على MT5

  1. 1حمّل ملف .mq5 بالضغط على زر التحميل أعلاه
  2. 2افتح برنامج MetaTrader 5 على حاسوبك
  3. 3من القائمة العلوية اختر File → Open Data Folder
  4. 4انتقل إلى مجلد MQL5 → Experts والصق الملف هناك
  5. 5في MT5، انقر بالزر الأيمن على Expert Advisors في لوحة Navigator → Refresh
  6. 6اسحب الإكسبرت على رسم H4 أو اليومي للحصول على أفضل النتائج
  7. 7حدد فترات EMA وعتبة ADX وحجم اللوت في نافذة الإعدادات
  8. 8فعّل Allow Algo Trading واضغط OK

معاملات الإكسبرت

المعاملالافتراضيالوصف
InpMagic22218020Magic number (id)
InpTradeComment"Psgrowth.com Expert_18020"Trade comment
InpDryRuntrueDry-run: no real sends
InpKillSwitchfalseKill switch (closes all on tick)
InpMaxSpreadPts35.0Max spread (points)
InpRSIPeriod7RSI period (bars)
InpRSIOversold35.0RSI oversold threshold
InpRSIOverbought65.0RSI overbought threshold
InpMACDFast8MACD fast EMA (bars)
InpMACDSlow17MACD slow EMA (bars)
InpMACDSignal9MACD signal EMA (bars)
InpADXMin20.0Min ADX for trend regime
InpATRPctLookback60ATR percentile lookback (bars)
InpHTF8Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // HTF trend time-frame
InpHTFEMA50HTF EMA period (bars)
InpCapitalCapAmount0.0Capital cap amount ($ equity)
InpCapitalCapFloor50.0Capital cap floor ($)
InpRiskPercent0.5Risk per trade (% of eff cap) [NO martingale]
InpDailyLossPct3.0Daily loss limit (% eff cap)
InpATRSLMult1.5SL distance (x ATR)
InpRRTP1.5TP distance (x SL distance)
InpATRTrailMult2.0In-trade ATR trail (x ATR)
كود المصدر (.mq5)Open Source
Pipsgrowth_com_EX18020.mq5
#property copyright "Pipsgrowth.com"
#property link      "https://pipsgrowth.com"
#property version   "2.00"
#property strict
#property description "Pipsgrowth.com EX18020 USDJPY_Ultra_Aggressive_Martingale_EA — RSI+MACD scalper (martingale stripped, fixed-fractional), full 12-layer stack."

#include <Trade\Trade.mqh>
#include <Trade\PositionInfo.mqh>
#include <Trade\SymbolInfo.mqh>
#include <Trade\AccountInfo.mqh>
#include <Trade\OrderInfo.mqh>
#include <Trade\DealInfo.mqh>

CTrade          g_trade;
CPositionInfo   g_pos;
CSymbolInfo     g_sym;
CAccountInfo    g_acc;

//=================== INPUTS (19 total) ==============================
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_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_TIMEFRAMES g_InpHTF = PERIOD_H1;
input group "=== General ==="
input long            InpMagic            = 22218020;   // Magic number (id)
input string          InpTradeComment     = "Psgrowth.com Expert_18020"; // Trade comment
input bool            InpDryRun           = true;      // Dry-run: no real sends
input bool            InpKillSwitch       = false;     // Kill switch (closes all on tick)
input double          InpMaxSpreadPts     = 35.0;      // Max spread (points)

ENUM_TIMEFRAMES MapTimeframeInt(int tf)
{
   switch(tf)
   {

الكود المصدري الكامل متاح عند التحميل

لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.

الوسوم:ex18020trendfollowpipsgrowthfreemt5usdjpy

تحذير صريح: لأغراض تعليمية فقط

تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.

وسطاء موصى بهم لهذا الإكسبرت

هذه الروبوتات تعمل على MT5 — استخدم وسيطاً موثوقاً بتنفيذ سريع وسبريد منخفض

مجتمع المستخدمين

سجّل دخولك للمشاركةتسجيل الدخول

لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.

اسم الملفPipsgrowth_com_EX18020.mq5
حجم الملف36.1 KB
الإصدارv2.00
PlatformMetaTrader 5
نوع الملف.mq5 Source
الاستراتيجيةمتابعة الاتجاه
المخاطرةمخاطرة متوسطة
الأطر الزمنية
M5M1M15
أزواج العملات
USDJPY
الحد الأدنى للإيداع$100