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

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

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

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

نظرة عامة

Pipsgrowth EX16095 هو خبير آلي (EA) متخصص في رصد أنماط الشموع اليابانية الانعكاسية المكونة من شمعتين فقط في بداية كل شمعة جديدة: نمط الغيمة السوداء المظلمة (Dark Cloud Cover) الذي يولد إشارة بيع بعد اتجاه صاعد، ونمط الخط الاختراقي (Piercing Line) الذي يولد إشارة شراء بعد اتجاه هابط. الكاشف في دالة CheckPattern() يعتمد قواعد هندسية صارمة، إذ يجب استيفاء كل شرط من شروط النمط وإلا رُفضت الإشارة، ولهذا السبب يُعد هذا الخبير أكثر انتقائيةً من روبوتات الابتلاع العامة. لا يُعتبر النمط إشارة فعلية إلا بعد أن يوافق عليه مؤشر CCI(37) وأن يطابق اتجاه المتوسط المتحرك القصير MA(5)، أي أن الخبير يطرح نفس السؤال ثلاث مرات: هل التكوين الهندسي للشمعة يشبه انعكاساً حقيقياً، وهل الزخم يدعم ذلك، وهل نحن على الجانب الصحيح من خط الاتجاه؟

فرع Dark Cloud Cover يشترط أن تكون الشمعة السابقة ذات جسم أبيض طويل (الإغلاق − الفتح > AvgBody(1)، حيث AvgBody(1) هو متوسط 12 شمعة لقيمة |الفتح − الإغلاق| محسوباً على الشمعة الحالية). يجب بعد ذلك أن تفتح الشمعة الحالية فوق قمة الشمعة السابقة (Open(1) > High(2) — أي فجوة صاعدة أو افتتاح عند قمة جديدة)، وأن تغلق دون إغلاق الشمعة السابقة (Close(1) < Close(2))، ومع ذلك داخل جسم الشمعة السابقة (Close(1) > Open(2)). إضافةً إلى ذلك، يفرض الشرط MidOpenClose(2) > CloseAvg(2) أن الاتجاه الصاعد كان حقيقياً، حيث تقرأ CloseAvg قيمة الشمعة 2 من المتوسط البسيط SMA(5) على الإغلاق. فرع Piercing Line هو صورة معكوسة: جسم أسود طويل، افتتاح عند قاع جديد، الشمعة الحالية تغلق داخل جسم الشمعة السابقة وفوق منتصفها، وMidOpenClose(2) < CloseAvg(2) يؤكد وجود اتجاه هابط سابق. أي فرع منهما يضبط ExtSignalOpen على SELL أو BUY، ثم تحاول المرحلة الثانية من OnTick() تنفيذه.

التأكيد يحدث في CheckConfirmation(). تُقرأ قيمة CCI(37) على الشمعة 1 بنوع السعر الذي يختاره المستخدم (افتراضياً 1 = الإغلاق). لا تُؤكد إشارة البيع إلا إذا كانت CCI(1) > 50، ولا تُؤكد إشارة الشراء إلا إذا كانت CCI(1) < -50. بوابة ±50 للدخول أكثر ليونة من بوابة ±80 المستخدمة لإشارات الإغلاق، مما يسمح بدخول الصفقات في ظل استمرار الزخم، لكنها تشترط خروج المؤشر من المنطقة المحايدة. إذا فشل شرط CCI، يبقى ExtConfirmed بقيمة false وتُخفَّض الإشارة إلى SIGNAL_NOT — لا تُفتح أي صفقة. هذا هو الفلتر الرئيسي ضد أنماط الاختراق الكاذب التي تبدو بصرياً صحيحة لكن الزخم لم ينعكس فعلياً.

حجم العقد ومستويات الحماية تُحسب في PositionOpen(). يستخدم الخبير لوتاً ثابتاً InpLot = 0.1 (بدون حساب حجم قائم على نسبة المخاطرة)، ووقف خسارة ثابت InpSL = 200 نقطة، وجني أرباح ثابت InpTP = 200 نقطة، بنسبة مخاطرة إلى عائد 1:1. توجد حماية من السبريد داخل الدالة نفسها: إذا كان السبريد الحالي يساوي أو يتجاوز مسافة وقف الخسارة، يُستبدل وقف الخسارة بالسبريد نفسه (price - spread للشراء، price + spread للبيع)، وينطبق نفس المنطق على جني الأرباح. الهدف من ذلك منع الخبير من التفعيل والإغلاق الفوري عندما تُفتح الصفقة على شمعة سبريدها مرتفع. الانزلاق InpSlippage = 10 نقاط، الرقم السحري 22216095، والتعليق Psgrowth.com Expert_16095.

آلة الحالة في OnTick() تعمل على أربع مراحل. المرحلة الأولى تستدعي CheckState() فقط عندما TimeCurrent() >= next_bar_open، حيث يُعاد حساب next_bar_open إلى بداية الشمعة التالية عند كل تمريرة ناجحة، أي أن تقييم النمط والتأكيد وإشارة الإغلاق يحدث مرة واحدة بالضبط لكل شمعة وليس في كل تيكر. المرحلة الثانية تستدعي PositionOpen() فقط إذا كانت ExtSignalOpen جديدة وPositionExist(ExtSignalOpen) ترجع false، أي أن الخبير يحتفظ بصفقة واحدة كحد أقصى في كل اتجاه. المرحلة الثالثة تمرر إشارة إغلاق CCI (عبور CCI(1) داخل ±80 من الجهة المقابلة) إلى CloseBySignal() التي تستعرض المراكز وتفلتر حسب الرمز والرقم السحري وتُسلم الإغلاق إلى TryClose_EX16095. المرحلة الرابعة تفرض الإغلاق الزمني: PositionExpiredByTimeExist() ترجع true عندما BarsHold(open_time) >= InpDuration = 10 شمعة، وCloseByTime() تغلق المركز قسراً بصرف النظر عن الربح أو الخسارة.

TryClose_EX16095 هو المساعد الوحيد المتصل بمنطق التشغيل الفعلي — يدور في حلقة حتى ثلاث محاولات عند أخطاء TRADE_RETCODE_REQUOTE وTRADE_RETCODE_TIMEOUT وTRADE_RETCODE_PRICE_OFF وTRADE_RETCODE_PRICE_CHANGED مع 200 ميلي ثانية بين كل محاولة. دوال TryClosePartial_EX16095 وTryModify_EX16095 معرّفة في الملف لكنها لا تُستدعى من OnTick() — وهي كود ميت. بالمثل، لا يوجد وقف متحرك (trailing stop)، ولا رatchet لنقطة التعادل، ولا إغلاق جزئي، ولا فلتر أخبار، ولا فلتر جلسات، ولا دالة OnTester للياقة، ولا قاطع دائرة يومي للأرباح والخسائر. منطق الخروج بالكامل ثابت: وقف الخسارة 200 نقطة، جني الأرباح 200 نقطة، إشارة إغلاق CCI(37) عند ±80، وحد الإغلاق الزمني 10 شموع هي الطرق الوحيدة لمغادرة الصفقة.

في الاختبار العكسي، توقع إيقاع صفقات يقارب تقريباً تكرار أنماط Dark Cloud Cover و Piercing Line تاريخياً على الإطار الزمني المختار — على XAUUSD M5 هذا عادةً بضع صفقات مغلقة يومياً في الجلسات النشطة وأقل في الجلسات الهادئة، مع تركّز في جلستي لندن ونيويورك. لأن بوابة CCI للدخول غير متماثلة (±50 للدخول، ±80 للإغلاق)، قد يفتح الخبير صفقة ويحتفظ بها طوال الـ 10 شموع إذا لم ينسحب الزخم بقوة، ثم يخرج عند الإغلاق الزمني بدل الخروج عند ربح. هذا السلوك مقصود: الخبير مبني لاقتناص الانعكاسات بأصغر تشكيل هندسي صالح، وليس لمواصلة الترند. للحصول على أفضل النتائج، شغّله على حساب ECN/Raw منخفض السبريد حيث لا تنشط حماية السبريد كثيراً، وعلى XAUUSD M5 بالحماية الافتراضية 200/200، وفكر في خفض InpDuration إلى 5–7 شموع على H1 لإبقاء فترة الاحتفاظ متناسبة مع نطاق الشمعة الأكبر.

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

OnTick تعمل على أربع مراحل مقيّدة بطابع زمني ثابت next_bar_open بحيث يحدث التقييم الكامل مرة واحدة لكل شمعة. المرحلة الأولى تستدعي CheckState التي تربط CheckPattern (اختبار هندسة الشمعتين)، CheckConfirmation (CCI(37) على الشمعة 1 مقابل ±50) وCheckCloseSignal (مقارنة CCI على الشمعتين 1 و 2 مقابل ±80) في قراءة واحدة. المرحلة الثانية تمرر أي إشارة SIGNAL_BUY/SIGNAL_SELL جديدة إلى PositionOpen فقط عندما ترجع PositionExist بقيمة false لذلك الاتجاه، مما يضمن صفقة واحدة كحد أقصى في كل جهة. المرحلة الثالثة تغلق عبر TryClose_EX16095 (ثلاث محاولات ضد requote/timeout/price-off/price-changed) عند تفعيل عبور CCI. المرحلة الرابعة تغلق قسراً عبر CloseByTime عندما تصل BarsHold إلى InpDuration=10. فلتر الاتجاه (CloseAvg يقرأ الشمعة 2 من MA(5)) يُستشار فقط داخل CheckPattern وليس في بوابة الدخول الفعلية، لذا فإن سياق الاتجاه جزء من تعريف النمط نفسه وليس مصنف نظام منفصل.

إشارة الدخول

تحدث إشارة الشراء عندما تكتشف CheckPattern() نمط الخط الاختراقي Piercing Line (جسم أسود طويل سابق، افتتاح عند قاع جديد، إغلاق الشمعة الحالية فوق منتصف الشمعة السابقة) ويؤكد الشرط MidOpenClose(2) < CloseAvg(2) وجود اتجاه هابط سابق. تشترط CheckConfirmation() بعد ذلك أن تكون قيمة CCI(37) على الشمعة 1 أقل من −50. إشارة البيع هي صورة معكوسة: نمط Dark Cloud Cover مع CCI(1) أعلى من +50. يحدث التقييم الكامل مرة واحدة لكل شمعة وليس في كل تيكر.

إشارة الخروج

يمكن أن يحدث الإغلاق عبر جني الأرباح الثابت عند 200 نقطة، أو وقف الخسارة الثابت عند 200 نقطة، أو إشارة عبور CCI(37) عند ±80 التي تمر عبر CloseBySignal()، أو الإغلاق الزمني القاسي عند 10 شموع الذي تفرضه CloseByTime(). المرحلة الرابعة من OnTick() تغلق قسراً عبر TryClose_EX16095 (ثلاث محاولات مع انتظار 200 ميلي ثانية) عندما تصل BarsHold(open_time) إلى InpDuration=10، بصرف النظر عن الربح أو الخسارة.

وقف الخسارة

وقف خسارة ثابت عند 200 نقطة (InpSL=200) يُطبق على كل صفقة، مع حماية من السبريد: إذا كان السبريد الحالي يساوي أو يتجاوز 200 نقطة، يُستبدل وقف الخسارة بالسبريد نفسه لمنع التفعيل الفوري على شموع السبريد المرتفع. لا يوجد وقف متحرك، ولا نقطة تعادل، ولا وقف خسارة ديناميكي قائم على ATR.

جني الأرباح

جني أرباح ثابت عند 200 نقطة (InpTP=200)، بنسبة عائد إلى مخاطرة 1:1 مقابل وقف الخسارة المتماثل عند 200 نقطة. تنطبق نفس حماية السبريد فتستبدل TP بالسبريد إذا كان السبريد يساوي أو يتجاوز 200 نقطة. لا يوجد إغلاق جزئي، ولا خروج متدرج، ولا جني أرباح متحرك.

الأنسب لـ

يُنشر بشكل أفضل على XAUUSD M5 أو H1 مع الحماية الافتراضية 200/200، وعلى حساب ECN/Raw منخفض السبريد حيث لا تنشط حماية السبريد كثيراً — الخبير مبني لاقتناص تشكيلات هندسية ضيقة على الأدوات عالية السيولة. الحد الأدنى للرصيد الموصى به هو 100 دولار لأن الخبير يستخدم لوتاً ثابتاً 0.1 بدلاً من نموذج حجم قائم على نسبة المخاطرة. لا يوجد فلتر جلسات، لذا يعمل الخبير في كل ساعة سوق فيها مقيّم الشموع، مع تركّز معظم الإشارات في ساعات جلستي لندن ونيويورك عندما تتشكل أنماط Dark Cloud Cover وPiercing Line بتكرار أعلى. مستوى المخاطرة متوسط بالنظر إلى نسبة 1:1 المتماثلة وغطاء زمني قاسي عند 10 شموع يمنع السحب المتصاعد من انعكاس بطيء.

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

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

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

الوصف: Detects Dark Cloud Cover / Piercing Line candlestick patterns, confirmed by CCI 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 EX16095 Trend — Execution Flow (from source analysis)
// Family: Trend
// Detects Dark Cloud Cover / Piercing Line candlestick patterns, confirmed by CCI 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
InpPeriodCCI37CCI period
InpPrice1Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) // price type
InpDuration10position holding time in bars
InpSL200Stop Loss in points
InpTP200Take Profit in points
InpSlippage10slippage in points
InpLot0.1lot
InpMagicNumber22216095Magic Number
InpTradeComment"Psgrowth.com Expert_16095"Trade Comment
كود المصدر (.mq5)Open Source
Pipsgrowth_com_EX16095.mq5
#property copyright "Pipsgrowth.com"
#property link      "https://pipsgrowth.com"
#property version   "2.00"
#property strict
#property description "Pipsgrowth.com EX16095 DarkCloud_PiercingLine_CCI — candlestick pattern + CCI 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
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 "=== Indicator Parameters ==="
input int InpAverBodyPeriod=12;     // period for calculating average candlestick size
input int InpMAPeriod      =5;      // Trend MA period
input int InpPeriodCCI     =37;     // CCI 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)
{

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

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

الوسوم:ex16095trendpipsgrowthfreemt5xauusd

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

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

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

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

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

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

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

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