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

Pipsgrowth EX16098 Trend — إكسبرت أدفايزر متابعة اتجاه

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

Pipsgrowth EX16098 Trend — Detects Dark Cloud Cover / Piercing Line candlestick patterns, confirmed by Stochastic oscillator levels and trend MA, t. إكسبرت أدفايزر MT5 مفتوح المصدر.

نظرة عامة

Pipsgrowth EX16098 Trend هو مستشار خبير لعكس الاتجاه يعتمد على وقف ثابت، يراقب نموذجين محددين من نماذج الشموع اليابانية المكونة من شمعتين — الغيمة المظلمة (Dark Cloud Cover) وخط الاختراق (Piercing Line) — ولا يضغط على الزناد إلا بعد أن يؤكد ستوكاستيك بطيء أن الزخم قد انعكس فعلاً. الإعداد صغير ومتعمد وسهل القراءة: متوسط متحرك واحد للترند (MA بفترة 5) للاتجاه، وستوكاستيك واحد بفترة K تساوي 47 مع تنعيم 9 وتهدئة 13، وزوج من أوامر الخروج بمسافة محددة مسبقاً يقفلان افتراضياً نسبة مخاطرة إلى عائد 1:1. صُمم المستشار للعمل على زوج XAUUSD على الإطارين M5 وH1، يأتي مع الكود المصدري الكامل بصيغة .mq5، ويعمل على حسابات التجزئة برأس مال لا يتجاوز 100 دولار لأن حجم الصفقة ثابت عند 0.1 لوت، وليس نسبة مئوية من الرصيد.

يعيش روتين كشف النماذج داخل الدالة CheckPattern() ويتبع نظرية الشموع اليابانية الكلاسيكية. يحتاج إعداد الغيمة المظلمة إلى تحقق ثلاثة شروط على الشمعة نفسها: يجب أن تكون الشمعة 2 شمعة بيضاء طويلة يتجاوز جسمها متوسط طول الجسم لـ 12 شمعة، ويجب أن تفتح الشمعة 1 بفجوة صاعدة إلى قمة جديدة فوق قمة الشمعة 2، ويجب أن تغلق الشمعة 1 داخل جسم الشمعة 2 ولكن تحت إغلاق الشمعة 2. الشرط MidOpenClose(2) > CloseAvg(2) يتطلب أن يكون متوسط الشمعة 2 أعلى من المتوسط المتحرك البسيط بفترة 5 — وهذا المرشح هو مؤهل الاتجاه الصاعد، لذا لن يبيع المستشار في سوق ينخفض أصلاً. الصورة المعكوسة — خط الاختراق — هي الإعداد الصاعد: شمعة 2 سوداء طويلة، شمعة 1 بيضاء طويلة تفتح بفجوة هابطة إلى قاع جديد تحت قاع الشمعة 2، ويجب أن يغلق إغلاق الشمعة 1 فوق إغلاق الشمعة 2 ولكن تحت افتتاح الشمعة 2. يتطلب الشرط MidOpenClose(2) < CloseAvg(2) أن تتداول الشمعة 2 تحت MA(5)، وهو ما يحافظ على صفقات الشراء خارج الاتجاهات الهابطة. عملياً، فرع الغيمة المظلمة فقط هو الموصول بالكامل: هناك خلل هيكلي في الكود المصدري يضع تعليمة return(true) فوق تعيين ExtPatternDetected داخل كتلة خط الاختراق، مما يعني أن الإعداد الصاعد يُحلَّل لكن لا يفعّل إشارة الشراء فعلياً. يجب أن يدرك أي شخص يشغّل هذا المستشار في الإنتاج أن جميع الصفقات الحية تأتي من جانب بيع الغيمة المظلمة.

بمجرد التعرف على النموذج، يسلّم المستشار الإشارة إلى CheckConfirmation() لتطبيق مرشح الستوكاستيك. تستخرج دالة StochSignal() المساعدّة قيمة واحدة من مخزن SIGNAL_LINE (وهو %D المُنعَّم) عند الشمعة 1. في حال اكتشاف غيمة مظلمة، لا تتأكد الإشارة إلا عندما يكون StochSignal(1) > 70، أي أن %D المُنعَّم يقبع في منطقة التشبع الشرائي عند إغلاق شمعة الانعكاس الهابطة. أما بالنسبة لخط الاختراق (لو تم تفعيله)، فسيتطلب التأكيد StochSignal(1) < 30، أي مرآة التشبع البيعي. الستوكاستيك نفسه بطيء عمداً: يستخدم %K نظرة خلفية لـ 47 شمعة، مُنعَّم بمتوسط بسيط بفترة 9، ثم مُهدَّأ بـ 13. يغذّيه STO_LOWHIGH بنطاقات High/Low الخام. الأثر الصافي هو مقياس زخم يتفاعل مع الموجات الراسخة بدلاً من الضوضاء داخل الشمعة — وهو مناسب لمستشار عكسي على M5 حيث الهدف هو صيد نقاط الإنهاك وليس التذبذبات الدقيقة.

إدارة الصفقة ميكانيكية. عندما تفتح شمعة جديدة ويُنتج كل من CheckPattern() وCheckConfirmation() إشارة مؤكدة، يقوم OnTick() بتوجيه التنفيذ إلى PositionOpen()، التي ترسل أمراً بسعر السوق بحجم 0.1 لوت، ووقف خسارة 200 نقطة، وجني أرباح 200 نقطة، مع تحمل انزلاق 10 نقاط. يعمل حارس السبريد قبل إرسال الأمر: إذا كان السبريد الحالي مساوياً أو يتجاوز مسافة وقف الخسارة أو جني الأرباح، تُستبدل المسافة الوقائية بالسبريد نفسه. هذا يتجنب الفخ الشائع حيث يفجر سبريد الوسيط الصفقة قبل أن يتحرك السعر — على وقف خسارة 200 نقطة بسبريد 250 نقطة، سيستخدم المستشار 250 نقطة بدلاً من 200. ينطبق المنطق نفسه تناظرياً على الشراء والبيع. يُمرَّر انزلاق قدره 10 نقاط إلى كائن التداول عبر ExtTrade.SetDeviationInPoints()، حتى لا يتسبب الخادم المشغول الذي يعيد التسعير بعدة تكات في رفض الأمر.

تأتي المخارج من ثلاثة مسارات مستقلة، ويمكن لأي منها إغلاق الصفقة. الأول هو وقف الخسارة/جني الأرباح الثابت 200/200. والثاني هو منطق تقاطع ستوكاستيك في CheckCloseSignal(): عندما تكون هناك صفقة شراء مفتوحة، فإن تقاطع خط %D تحت 80 (أو تحت 20) يولّد حدث CLOSE_LONG؛ وتُغلق صفقات البيع عندما يتقاطع %D فوق 20 (أو فوق 80). المسار الثالث هو الإغلاق المعتمد على الوقت في CloseByTime(). تحسب BarsHold() عدد الشموع المكتملة بين وقت فتح الصفقة والوقت الحالي، وبمجرد أن يصل هذا العدد إلى InpDuration=10 أو يتجاوزه، تُغلق الصفقة قسرياً بغض النظر عن الربح أو الخسارة. سقف الـ 10 شموع الثابت هو ما يجعل هذا المستشار أداة سوينغ أكثر منه متداول أنماط صرف — حتى لو لم يتقاطع الستوكاستيك أبداً وبقي السعر داخل قناة وقف الخسارة/جني الأرباح، ستُغلق كل صفقة قبل الشمعة الحادية عشرة.

معالجة تدفق الأوامر محافظة. كل استدعاء إغلاق يمر عبر TryClose_EX16098، وهو غلاف إعادة محاولة صغير يحاول الإغلاق حتى 3 مرات مع نوم 200 مللي ثانية بين المحاولات. إذا أرجع الوسيط REQUOTE أو TIMEOUT أو PRICE_OFF أو PRICE_CHANGED، ينتظر المستشار 200 مللي ثانية ويعيد المحاولة؛ أما أي retcode آخر (أو النجاح) فيكسر الحلقة. كما يُعرّف المستشار TryClosePartial_EX16098 وTryModify_EX16098، وكلاهما يتبع النمط نفسه، لكن لا يُستدعى أي منهما في تدفق OnTick المباشر — إنهما موجودان في الكود كسقالة ولا يتم استدعاؤهما أبداً. لذلك فإن الإغلاقات الجزئية وتعديلات شدّ الوقف ليست جزءاً من السلوك الحي. يُحكم OnTick المكوّن من 4 مراحل بحارس datetime ثابت next_bar_open، لذا فإن كل منطق النمط/التأكيد/الإغلاق لا يُعاد تقييمه إلا مرة واحدة لكل شمعة، وليس على كل تيك صغير.

لا توجد دالة OnTester() للتحسين، ولا مرشح جلسة، ولا مرشح أخبار، ولا قاطع دائرة سحب يومي في الكود المصدري. التحكم في المخاطر يأتي حصرياً من حجم اللوت الثابت 0.1 وأوامر الوقف 200/200. مرشح الرقم السحري الوحيد هو 22216098، والتعليق التجاري مشفّر إلى Psgrowth.com Expert_16098، لذا فإن المستشار لن يدير سوى الصفقات التي فتحها بنفسه — لن يتدخل حساب التحوط الذي يشغّل نفس الرقم السحري على رسم بياني ثانٍ. بالنسبة للاختبارات الخلفية، توقع ملف انعكاس عالي التردد مع أرباح صغيرة كثيرة، وعدد مماثل من الخسائر الصغيرة عند وقف الخسارة، وإغلاقات قسرية عرضية عند 10 شموع تظهر كمخارج محايدة. يجب على المتداولين الفوريين تشغيله على موجز XAUUSD بسبريد منخفض ومراقبة اليوميات بحثاً عن حالات انتهاء InpDuration المتكررة، مما قد يشير إلى أن أوامر الوقف 200/200 ليست واسعة بما يكفي لنظام التذبذب على الإطار الزمني المختار.

بشكل عام، EX16098 هو نظام انعكاس مركّز وشفاف: متوسط متحرك واحد، وستوكاستيك بطيء واحد، ونموذجان كلاسيكيان للشموع، وثلاثة مخارج محددة مسبقاً، وطبقة إعادة محاولة نظيفة حول كل أمر. ليس شبكة، وليس مارتينجال، وليس مزيج استراتيجيات متعدد. السطح المواجه للمستخدم هو 14 مدخلاً عبر 4 مجموعات، وكل سلوك موصوف أعلاه مرئي في ملف .mq5.

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

في كل شمعة جديدة، يستدعي OnTick() الدالة CheckState()، التي تفوض إلى CheckPattern() لاكتشاف غيمة مظلمة (شمعة 2 بيضاء طويلة، قمة جديدة بفجوة صاعدة على الشمعة 1، إغلاق داخل جسم الشمعة 2) أو خط اختراق (الصورة المعكوسة)، مع وجود الشمعة 2 على الجانب الخاطئ من MA(5) للاتجاه. يمرر النموذج المكتشف بعد ذلك إلى CheckConfirmation()، التي تقرأ قيمة واحدة من مخزن SIGNAL_LINE للستوكاستيك عند الشمعة 1 — وهو خط %D مبني من %K بفترة 47، وتنعيم SMA بفترة 9، وتهدئة بفترة 13، يغذّيه STO_LOWHIGH. يتطلب التأكيد StochSignal(1) > 70 لصفقات البيع و< 30 لصفقات الشراء. بمجرد التأكيد، ترسل PositionOpen() أمر سوق بـ 0.1 لوت ووقف 200/200 وانزلاق 10 نقاط؛ يستبدل حارس السبريد السبريد بوقف الخسارة/جني الأرباح كلما كان السبريد ≥ 200 نقطة. تشتغل CheckCloseSignal() في كل شمعة جديدة بدون إشارة دخول وتراقب تقاطعات %D عند 20/80 لإغلاق المراكز القائمة، بينما تُغلق CloseByTime() قسرياً عبر TryClose_EX16098 (3 محاولات، 200 مللي ثانية) بمجرد أن تُبلّغ BarsHold() عن 10 شموع مكتملة. يضمن حارس datetime الثابت next_bar_open أن كل هذا المنطق لا يُعاد تقييمه إلا مرة واحدة لكل شمعة. TryClosePartial_EX16098 وTryModify_EX16098 معرَّفتان في الكود لكن لا تُستدعيان من المسار الحي.

إشارة الدخول

تتفعّل إشارة الشراء عندما تكون الشمعة 1 شمعة بيضاء طويلة تفتح بفجوة تحت قاع الشمعة 2 وتغلق داخل جسم الشمعة 2، مع تداول الشمعة 2 تحت MA(5) وStochSignal(1) < 30. وتتفعّل إشارة البيع عندما تكون الشمعة 1 شمعة سوداء طويلة تفتح بفجوة فوق قمة الشمعة 2 وتغلق داخل جسم الشمعة 2، مع تداول الشمعة 2 فوق MA(5) وStochSignal(1) > 70. ملاحظة: خلل في الكود المصدري داخل فرع خط الاختراق يمنع تفعيل جانب الشراء تماماً؛ لا تنفذ سوى صفقات بيع الغيمة المظلمة مباشرة.

إشارة الخروج

ثلاثة مخارج مستقلة: وقف خسارة ثابت 200 نقطة، وجني أرباح ثابت 200 نقطة، وإغلاق قسري قائم على الوقت بعد InpDuration=10 شموع مكتملة عبر BarsHold(). هناك مخرج رابع اختياري يتفعّل عندما يتقاطع خط %D للستوكاستيك عند 80 (أو 20) على الشمعة النشطة، مُولِّداً إشارة CLOSE_LONG أو CLOSE_SHORT تمر عبر TryClose_EX16098 بما يصل إلى 3 محاولات متباعدة بـ 200 مللي ثانية.

وقف الخسارة

وقف خسارة ثابت 200 نقطة يُكتب في تذكرة الأمر بواسطة PositionOpen(). يستبدل حارس السبريد مسافة الـ 200 نقطة بالسبريد الحالي كلما كان السبريد مساوياً لـ 200 نقطة أو أكبر، مما يمنع وقفاً سيُفعَّل عند الدخول. لا يوجد تتبع، ولا نقل لنقطة التعادل، ولا تشديد بإغلاق جزئي — TryModify_EX16098 معرَّفة لكنها غير موصولة بالتدفق الحي.

جني الأرباح

جني أرباح ثابت 200 نقطة يُكتب في تذكرة الأمر بواسطة PositionOpen(). وعلى غرار وقف الخسارة، يُستبدل جني الأرباح بالسبريد الحالي كلما كان السبريد عند 200 نقطة أو أعلى، لذا لا يُضبط جني الأرباح أقرب من السبريد السائد.

الأنسب لـ

المتداولون الذين يريدون مستشار انعكاس بطيء قائم على القواعد على رسم بياني XAUUSD M5 أو H1 برصيد 100 دولار، مع تحمل مخاطرة متوسط وبدون توسيع للحجم أو مارتينجال. يفترض الجمع بين حجم اللوت الثابت 0.1 ووقف الخسارة/جني الأرباح 200/200 أن الحساب يمكنه استيعاب نحو 20 نقطة من السبريد دون إيقاف الصفقة عند الدخول، لذا يُشترط وسيط ECN أو سبريد خام منخفض. السلوك الحي متحيز نحو جانب البيع بسبب خلل في الكود المصدري داخل فرع خط الاختراق، لذا فإن هذا المستشار مناسب أكثر للمتداول الذي يسعى للتعبير عن وجهات نظر انعكاس على الجانب القصير في ظروف الاتجاه الهابط، بدلاً من لعب انعكاسات متماثلة شراء/بيع.

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

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

العائلة: Trend الماجيك: 22216098 الإصدار: 2.00

الوصف: Detects Dark Cloud Cover / Piercing Line candlestick patterns, confirmed by Stochastic oscillator levels and trend MA, then enters with fixed SL/TP and time-based 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()
الرمز الزائف (Pseudocode)
// Pipsgrowth EX16098 Trend — Execution Flow (from source analysis)
// Family: Trend
// Detects Dark Cloud Cover / Piercing Line candlestick patterns, confirmed by Stochastic oscillator levels and trend MA, then enters with fixed SL/TP and time-based 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)

ملف التحسين

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

كيفية تثبيت الإكسبرت على 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

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

المعاملالافتراضيالوصف
InpAverBodyPeriod12period for calculating average candlestick size
InpMAPeriod5Trend MA period
InpStochK47period %K
InpStochD9period %D
InpStochSlow13smoothing period %K
InpStochAppliedSTO_LOWHIGHcalculation type
InpStochMAMODE_SMAsmoothing type
InpDuration10position holding time in bars
InpSL200Stop Loss in points
InpTP200Take Profit in points
InpSlippage10slippage in points
InpLot0.1lot
InpMagicNumber22216098Magic Number
InpTradeComment"Psgrowth.com Expert_16098"Trade Comment
كود المصدر (.mq5)Open Source
Pipsgrowth_com_EX16098.mq5
#property copyright "Pipsgrowth.com"
#property link      "https://pipsgrowth.com"
#property version   "2.00"
#property strict
#property description "Pipsgrowth.com EX16098 DarkCloud_PiercingLine_Stoch — candlestick pattern + Stochastic confirmation, 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 parameters
input group "=== Indicator Parameters ==="
input int InpAverBodyPeriod=12;     // period for calculating average candlestick size
input int InpMAPeriod      =5;      // Trend MA period
input int InpStochK        =47;     // period %K
input int InpStochD        =9;      // period %D
input int InpStochSlow     =13;     // smoothing period %K
input ENUM_STO_PRICE InpStochApplied=STO_LOWHIGH; // calculation type
input ENUM_MA_METHOD InpStochMA     =MODE_SMA;    // smoothing 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=22216098; // Magic Number
input string InpTradeComment="Psgrowth.com Expert_16098"; // 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);

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

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

الوسوم:ex16098trendpipsgrowthfreemt5xauusd

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

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

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

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

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

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

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

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