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

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

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

Pipsgrowth EX16047 Trend — Morning/Evening Star-Doji pattern EA confirmed by CCI indicator. Detects candlestick patterns, confirms with CCI, opens . إكسبرت أدفايزر MT5 مفتوح المصدر.

نظرة عامة

إكس 16047 من بيبس جروث هو روبوت يتعامل مع كل شمعة على حدة، ويبحث عن أنماط الشموع اليابانية الانعكاسية الكلاسيكية مع فلتر زخم واحد مثبت فوقها. يقرأ الروبوت أحدث ثلاث شموع مغلقة عند افتتاح كل شمعة جديدة، ويحاول مطابقتها مع أربعة قوالب انعكاسية معروفة — Morning Star وMorning Doji وEvening Star وEvening Doji — وهي مكتوبة كمتطلبات هندسية صارمة داخل دالة CheckPattern(). يتم تسجيل إشارة شراء Morning Star عندما تكون الشمعة قبل قبل الأخيرة جسمها هبوطي كبير (حركة الفتح إلى الإغلاق أكبر من متوسط حجم الجسم لـ12 شمعة)، والشمعة الوسطى جسمها صغير مع فجوة سعرية هابطة مقابل الشمعة الأولى (جسمها تحت نصف متوسط الجسم)، وأغلقت الشمعة الأخيرة فوق منتصف الشمعة الأولى. أما Morning Doji فهو نفس الوصفة لكن الشمعة الوسطى يجب أن تكون دوجي حقيقي (الجسم تحت عشرة بالمئة من متوسط الجسم) مع فجوة سعرية صريحة بين الشمعة الثانية والثالثة. نمطي البيع — Evening Star وEvening Doji — هما الصورة المعكوسة. الفرع الذي يطابق أولاً يفوز، ويضع الروبوت إحدى ثلاث قيم: SIGNAL_BUY=+1، أو SIGNAL_SELL=−1، أو SIGNAL_NOT=0 إذا لم يظهر نمط على تلك الشمعة.

لا يتم التعامل مع أي نمط بشكل مباشر. تمر دالة CheckConfirmation() وتسحب قراءة واحدة لمؤشر CCI بفترة 37 من الشمعة 1 (الشمعة المغلقة للتو)، وتستخدمها كفلتر إلزامي على كل إشارة نمط. لا يصبح نمط الصباح إشارة شراء حقيقية إلا إذا كانت قراءة CCI(1) تحت −50، أي أن السوق في منطقة تشبع بيعي وأن الانعكاس لديه على الأقل تيار ارتداد لصالحه. لا يصبح نمط المساء إشارة بيع حقيقية إلا إذا كانت CCI(1) فوق +50. إذا رفض فلتر CCI النمط، يتم استبدال ExtSignalOpen بـ SIGNAL_NOT والروبوت لا يفعل شيئاً تلك الشمعة. هذا الترتيب المكون من مرحلتين — شكل النمط أولاً، ثم الزخم — هو ما يجعل الاستراتيجية تتصرف كمنظومة ارتداد عند القيم القصوى وليس كمتابع أعمى للأنماط؛ الروبوت سيتجاهل Morning Star واضح إذا لم يسحب الزخم الأوسع مذبذب CCI إلى منطقة التشبع البيعي.

عندما تنجو الإشارة من المرحلتين، تستدعي دالة OnTick دالة PositionOpen()، التي ترسل أمر سوق عبر CTrade بحجم ثابت InpLot=0.1، ووقف خسارة على جانب البروكر InpSL=200 نقطة، وهدف InpTP=200 نقطة، مع InpSlippage=10 نقاط تسامح للانزلاق. يوجد حاجزان أمان داخل PositionOpen(): إذا كان السبريد الحالي أوسع من مسافة وقف الخسارة بالنقاط، يستبدل الروبوت السبريد نفسه كمسافة للوقف حتى لا تُفتح الصفقة داخل وقفها بالفعل؛ نفس الاستبدال يطبق على جانب الهدف. قاعدة صفقة واحدة لكل اتجاه تُفرض عبر PositionExist(SIGNAL_BUY) وPositionExist(SIGNAL_SELL) في بداية فرع الفتح — الروبوت لن يكدس شراء ثانياً بينما شراء أول لا يزال حياً، حتى لو ظهر النمط ثلاث شموع متتالية. حلقة OnTick تعمل على أربع مراحل لكل شمعة جديدة: المرحلة 1 تستدعي CheckState وتشغل حارس الشمعة التالية، المرحلة 2 تفتح الصفقات بناءً على الإشارات غير المفلترة، المرحلة 3 تمرر إشارات إغلاق تقاطع CCI إلى CloseBySignal، والمرحلة 4 تشغل الخروج الزمني الإجباري عند 10 شموع.

يمكن إغلاق الصفقة بثلاث آليات. الأول هو أن يفعّل البروكر وقف الخسارة أو الهدف على مستوى الأمر. الثاني هو الخروج الزمني — بمجرد أن تبقى الصفقة مفتوحة لـ InpDuration=10 شموع، تمر CloseByTime() على الصفقات المفتوحة، تستدعي TryClose_EX16047 على التذكرة، وتغلقها بغض النظر عن مكان السعر. الثالث هو مراقب إشارة الإغلاق في CheckCloseSignal()، الذي يفعّل عندما تعبر CCI(1) عائداً عبر حدي +80 أو −80: يُغلق الشراء إما عند الهبوط تحت +80 من فوق أو عند الصعود فوق −80 من تحت، والمنطق المعكوس للبيع. TryClose_EX16047 هو المساعد الوحيد من بين ثلاث دوال إعادة محاولة (TryClose_EX16047 وTryClosePartial_EX16047 وTryModify_EX16047) المتصلة بمسار الإغلاق الحي؛ دوال الإغلاق الجزئي والتعديل جالسة في أسفل الملف دون استخدام.

يعلن الهيدر عن 12-طبقة — REGIME وSIGNAL وENTRY وCONFIRM وNO-TRADE وCAPITAL CAP وRISK وSIZING وMANAGE وEXIT وSCALING وOnTester — والملف المصدر يؤيد ستاً منها: SIGNAL (أنماط الشموع الأربعة)، CONFIRM (بوابة CCINO-TRADE (حارس الشمعة الجديدة بالإضافة إلى قاعدة الصفقة الواحدة)، RISK+SIZING (حجم ثابت)، ENTRY (أمر سوق مع SL/TP)، وEXIT (SL/TP عند البروكر بالإضافة إلى الوقف الزمني عند 10 شموع). ما هو غائب محدد بنفس أهمية ما هو موجود: لا يوجد فلتر نظام، لا توجد بوابة اتجاه على إطار أعلى H1، لا يوجد وقف حقوق ملكية، لا يوجد حد خسارة يومي، لا يوجد سقف تراجع، لا يوجد وقف متحرك، لا يوجد رatchet لنقطة التعادل، لا يوجد إغلاق جزئي، ولا توجد دالة OnTester — مما يعني أن سطح التحسين في Strategy Tester الخاص بـ MetaEditor هو الإعداد الافتراضي لـ MT5. حماية رأس المال تعيش بالكامل داخل وقف الـ200 نقطة، والوقف الزمني لـ10 شموع، وانضباط الصفقة الواحدة.

في الاختبار الخلفي هذا روبوت ارتداد عالي التردد على XAUUSD إطار M5 — نافذة النمط النموذجية تنتج عدة مطابقات Morning/Evening Doji أو Star في الأسبوع على جلسات الذهب السائلة، ونسبة المخاطرة إلى العائد 1:1 مع الخروج الزمني عند 10 شموع يعني أن معظم الأسابيع تحتوي مزيجاً صحياً من أرباح كاملة، وخسائر كاملة، وصفقات خرجت بالوقت. حجم الصفقة مثبت عند 0.1 لوت، لذا فإن وقف 200 نقطة على XAUUSD بأحجام النقاط النموذجية لدى البروكرات يمثل حوالي دولارين لكل أونصة مخاطرة لكل صفقة. لحساب 1,000 دولار هذا يعني حوالي 2% مخاطرة لكل صفقة قبل أي توسع في السبريد أو انزلاق، ولهذا السبب تقييم الروبوت MEDIUM وليس LOW. المتداولون الذين يريدون تراكماً مركباً يجب أن ينظروا إلى إدارة المال داخل النمط أو يلفوا هذا الروبوت داخل طبقة منفصلة لتدرج الأحجام؛ بحد ذاته إكس 16047 لن يضاعف أو يعيد الدخول.

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

في كل تيick ينتظر الروبوت شمعة جديدة باستخدام حارس datetime ثابت next_bar_open، ثم يشغل حلقة من أربع مراحل: CheckState يتفرع إلى أربعة فروع أنماط في CheckPattern()، يسحب أحدث قراءة CCI(37) عبر مؤشر iCCI الوحيد، إما يرفع النمط إلى مؤكد أو يصفر ExtSignalOpen. المرحلة الثانية تفتح الصفقة عبر ExtTrade.Buy أو ExtTrade.Sell بحجم 0.1 لوت الثابت، ووقف وهدف 200 نقطة على جانب البروكر، والتسامح المهيأ، لكن فقط إذا أكدت PositionExist() عدم وجود صفقة مفتوحة بالفعل في ذلك الاتجاه. المرحلة الثالثة تمرر تقاطع CCI عبر ±80 من CheckCloseSignal إلى CloseBySignal، التي تستدعي TryClose_EX16047 لإعادة محاولة الإغلاق ثلاث مرات عند requote أو timeout أو تغير السعر. المرحلة الرابعة هي الخروج الإجباري عند 10 شموع — CloseByTime يتفقد الصفقات المفتوحة ويغلق قسرياً أي صفقة تجاوز عمرها InpDuration، وما وراء هذه الآليات الثلاث لا يقوم الروبوت بأي إدارة داخل الصفقة، لا وقف متحرك، لا نقطة تعادل، ولا تدرج.

إشارة الدخول

يفحص الروبوت كل شمعة مغلقة جديدة بحثاً عن واحد من أربعة أنماط انعكاسية يابانية كلاسيكية من ثلاث شموع — Morning Star وMorning Doji وEvening Star وEvening Doji — معرّفة كمتطلبات هندسية صارمة بين أجسام أحدث ثلاث شموع في دالة CheckPattern(). النمط الذي يطابق من حيث الشكل فقط يُمرَّر بعد ذلك عبر بوابة تأكيد واحدة لمؤشر CCI بفترة 37 في CheckConfirmation(): لا تصبح أنماط الصباح عمليات شراء حقيقية إلا عندما تكون CCI(1) تحت −50، ولا تصبح أنماط المساء عمليات بيع حقيقية إلا عندما تكون CCI(1) فوق +50. قاعدة صفقة واحدة لكل اتجاه هي القاعدة الصارمة — PositionExist() يمنع تكديس شراء أو بيع ثانٍ بينما أحدهما مفتوح.

إشارة الخروج

تُغلق الصفقات بثلاث آليات: البروكر يفعّل وقف InpSL أو هدف InpTP، أو الخروج الزمني الإجباري عند InpDuration=10 شموع في CloseByTime()، أو تقاطع CCI عكسي عبر ±80 تكتشفه CheckCloseSignal(). يُغلق الشراء عندما تنخفض CCI(1) تحت +80 من فوق أو تصعد فوق −80 من تحت، والمنطق المعكوس للبيع. مساعد إعادة المحاولة الوحيد المتصل بمسار الإغلاق هو TryClose_EX16047 (3 محاولات عند requote/timeout/price change)، بينما TryClosePartial_EX16047 وTryModify_EX16047 جالستان في أسفل الملف ككود ميت.

وقف الخسارة

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

جني الأرباح

جني الأرباح هو InpTP=200 نقطة ثابت، ينتج نسبة مخاطرة إلى عائد 1:1 عند الإقران مع وقف 200 نقطة الافتراضي، مع نفس الاستبدال الواعي بالسبريد الذي يستبدل السبريد بمسافة الهدف عندما يكون السوق عريضاً جداً. الخروج الزمني الإجباري عند InpDuration=10 شموع في CloseByTime() هو الإغلاق الأكثر شيوعاً من الهدف على هذا ملف نسبة المخاطرة — العديد من الصفقات الرابحة تُغلق مسطحة عند الموعد النهائي لـ10 شموع قبل الوصول إلى الهدف.

الأنسب لـ

XAUUSD على إطار M5 (أو H1 للحصول على إشارات أبطأ)، حد أدنى للإيداع 100 دولار، تحمل مخاطرة MEDIUM — الحجم الثابت 0.1 لوت مع وقف 200 نقطة على الذهب يضع حوالي 2% من حساب 1,000 دولار تحت المخاطرة لكل صفقة. منطق النمط يعتمد على شكل الشمعة وقراءة CCI(37) على نفس الإطار الزمني للرسم البياني، لذا يعمل الروبوت على أي بروكر قياسي أو ECN ببيانات OHLC موثوقة؛ لا حاجة لحساب RAW-spread لكن تغذية سبريد منخفض تساعد لأن استبدال السبريد في PositionOpen سيقلص الوقف عند توسع السبريد. الأفضل تشغيله خلال جلستي لندن ونيويورك حيث تميل أنماط الانعكاس عند افتتاح الموجة إلى الظهور بأجسام نظيفة؛ النطاقات الآسيوية الليلية تطلق الأنماط أحياناً مع متابعة أضعف، لذا معظم المتداولين يفعّلونه من افتتاح لندن حتى إغلاق نيويورك ويعطلونه خلال عطلة نهاية الأسبوع.

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

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

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

الوصف: Morning/Evening Star-Doji pattern EA confirmed by CCI indicator. Detects candlestick patterns, confirms with CCI, opens positions with 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 EX16047 Trend — Execution Flow (from source analysis)
// Family: Trend
// Morning/Evening Star-Doji pattern EA confirmed by CCI indicator. Detects candlestick patterns, confirms with CCI, opens positions with 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
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
InpMagicNumber22216047Magic Number
InpTradeComment"Psgrowth.com Expert_16047"Trade Comment
كود المصدر (.mq5)Open Source
Pipsgrowth_com_EX16047.mq5
#property copyright "Pipsgrowth.com"
#property link      "https://pipsgrowth.com"
#property version   "2.00"
#property strict
#property description "Pipsgrowth.com EX16047 MorningEvening_StarDoji_CCI — Star-Doji pattern with CCI confirm, 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 Settings ==="
input int InpAverBodyPeriod=12;     // period for calculating average candlestick size
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

//--- trade 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 "=== 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
//--- money management parameters
ENUM_APPLIED_PRICE MapAppliedPriceInt(int ap)

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

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

الوسوم:ex16047trendpipsgrowthfreemt5xauusd

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

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

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

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

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

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

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

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