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

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

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

Pipsgrowth EX16094 Trend — Chart-in-chart utility EA that embeds a sub-chart with editable symbol/period, scale controls and show/hide toggle. No t. إكسبرت أدفايزر MT5 مفتوح المصدر.

نظرة عامة

Pipsgrowth EX16094 ليس مستشارًا آليًا للتداول، بل أداة مدمجة داخل الرسم البياني — لوحة MT5 مستقلة ترسم مخططًا سعرًا ثانيًا تفاعليًا بالكامل في زاوية نافذة المخطط الرئيسي. الهدف هو مساحة عمل متعددة الرموز بضغطة واحدة: بينما يراقب المتداول مخططه الأساسي على إطار زمني معيّن، تعرض النافذة الفرعية المدمجة أداة مختلفة على إطار زمني مختلف، بمقياس سعر ومحور تاريخ خاصين بها، دون الحاجة لفتح نوافذ إضافية في المنصة. يُعلِن ملف mq5 عن الرقم السحري 22216094 وتعليق التداول 'Psgrowth.com Expert_16094'، لكن هذه المعرّفات موجودة فقط لاستيفاء اتفاقية التسمية الموحّدة؛ لا يتم إرسال أو تعديل أو إغلاق أي أمر على الإطلاق.

تُبنى اللوحة بالكامل من كائنات MT5 الرسومية. في دالة OnInit()، تُهيَّأ curr_symbol بالرمز النشط Symbol() ويُهيَّأ curr_period بالإطار الزمني النشط Period()، ثم يُحوَّل الإطار إلى سلسلة نصية عبر PeriodToStr()، وبعدها تُستدعى PIPCreate() وPIPSetParams() لبناء واجهة المستخدم. مجموعة الكائنات ثابتة: مربع تحرير باسم PIPSymbol للأداة المدمجة، ومربع تحرير PIPPeriod للإطار الزمني، وثلاثة أزرار صغيرة هي PIPPlusButton وPIPMinusButton وPIPHideButton للتحكم في المقياس والظهور، وزرّان إضافيان هما PIPDatesButton وPIPPricesButton لتبديل المحاور، وقلب اللوحة هو كائن OBJ_CHART باسم PIPChart الذي يعرض فعليًا السلسلة السعرية. ترويسة غلاف التداول #include <Trade\Trade.mqh> والدوال الثلاث المساعدة TryClose_EX16094 وTryClosePartial_EX16094 وTryModify_EX16094 موجودة في المصدر لكنها لا تُستدعى من أي مكان في المسار الحي؛ إنها كود سقالة موروث من قالب المجموعة ولا يصل إلى أي أمر.

يتحكم المستخدم في النافذة الفرعية بكتابة محتوى في مربعات التحرير أو بالنقر على الأزرار. تتولى OnChartEvent() توزيع الأحداث. عندما ينتهي المستخدم من تحرير PIPSymbol (يُفعَّل CHARTEVENT_OBJECT_ENDEDIT)، يقرأ الكود النص الجديد عبر ObjectGetString()، ويُسنده إلى curr_symbol، ويكتبه في خاصية OBJPROP_SYMBOL لكائن PIPChart، ثم يستدعي ChartRedraw() لإعادة الرسم. خطوة قراءة ثانية تلتقط ما قبله المخطط فعليًا — قد يستبدل الوسيط رمزًا مختلفًا بصمت إذا كتب المتداول رمزًا غير موجود — وتكتب ذلك الرمز المحلول مرة أخرى في حقل التحرير. النمط نفسه يعالج PIPPeriod: السلسلة المُدخَلة تُحلَّل عبر StrToPeriod() إلى ENUM_TIMEFRAMES، وتُتحقَّق من صحتها، وتُكتب في OBJPROP_PERIOD لكائن PIPChart، ثم يُعاد رسم المخطط. يقبل المحلل النصي الشكل البشري ('H1'، 'M15'، 'D1'، 'MN1') والعدد الدالّ على الدقائق ('60'، '15'، '1440'، '10080')، ويرفض أي شيء ليس في القائمة بإرجاع res=false، ما يعني أن الإدخال غير الصالح يُتجاهَل ويحتفظ المخطط الفرعي بإطاره الزمني السابق.

الأزرار مفاتيح تبديل ذات حالة. يتحكم زرّا PIPPlusButton وPIPMinusButton في تكبير وتصغير المخطط الفرعي عبر خاصية OBJPROP_CHART_SCALE — نفس سلّم التكبير المكوّن من خمس درجات الذي يستخدمه مخطط MT5 الأصلي. يُبدِّل PIPDatesButton قيمة showdates ويكتبها في OBJPROP_DATE_SCالة للمخطط الفرعي، ليتمكّن المتداول من إخفاء أو استعادة محور الوقت في النافذة الفرعية. ينفذ PIPPricesButton الشيء نفسه لمحور السعر عبر OBJPROP_PRICE_SCALE. الزر PIPHideButton هو الأكثر حزمًا: عند النقر عليه تُضبَط إحداثيات المخطط XDISTANCE وYDISTANCE وXSIZE وYSIZE على -1 و-1 و0 و0 داخل PIPHideChart()، ما يؤدي لانهيار المخطط الفرعي إلى بكسل واحد ويصبح غير مرئي فعليًا. يتغير نص الزر إلى سطر جديد، فتصبح اللوحة تعرض فقط أدوات التحكم الأربع المتبقية؛ وعند النقر مجددًا يُوجَّه الطلب إلى PIPSetParams() لاستعادة الأبعاد السابقة. تُقلَب قيمة show عبر show=1-show بحيث تتابعات النقر المتعاقبة تُبدِّل تشغيل وإيقاف اللوحة بانتظام دون تركها في حالة غير متسقة.

في OnDeinit() تُستدعى PIPDelete() لإزالة كل كائن سَمَّته اللوحة. ولأن كل اسم فريد واللوحة تملك مساحة الأسماء، يكون التنظيف كاملًا ولا يبقى أي كائن يتيم على المخطط. هذا مهم لأنه إذا أزال المتداول المستشار من المخطط دون تشغيل OnDeinit — إغلاق قسري للمنصة مثلًا — فستبقى الأزرار والمخطط الفرعي ظاهرة بصريًا رغم زوال المستشار. يتعامل منطق دورة حياة الملف مع الحالة العادية بشكل صحيح.

التنسيق البصري قابل للضبط عبر مجموعة Display Parameters: TextColor وBGColor يضبطان لون النص والخلفية لكل مربعات التحرير والأزرار، وXPosition وYPosition يضبطان الزاوية العلوية اليسرى للوحة نسبة إلى زاوية المخطط، بينما XSize وYSize يضبطان العرض والارتفاع. تفرض PIPSetParams() حدًا أدنى قدره 250 بكسل عرضًا و100 بكسل ارتفاعًا، فلا يمكن لإدخال متدهور أن ينهار بالمخطط إلى اللاشيء. مجموعة Identity (InpMagicNumber وInpTradeComment) بيانات وصفية اعتيادية في المجموعة ولا تؤثر في سلوك التشغيل لأن لا أوامر تُرسَل.

الاستخدامات العملية هي التحليل البصري والارتباط متعدد الرموز. يستطيع المتداول الذي يعمل على إعداد XAUUSD M5 وضع اللوحة في زاوية المخطط، وضبط PIPSymbol إلى EURUSD وPIPPeriod إلى H1، ومراقبة سياق الدولار الكلي دون تبديل النوافذ. مفتاح مقياس السعر مفيد للأدوات ذات الأحجام السعرية المختلفة جدًا — إيقاف PIPPriceScale يسمح بفحص حركة السعر النسبية دون أن يتعارض المحور y للمخطط الفرعي مع المحور y للمخطط الرئيسي. يعمل زر الإخفاء أيضًا كمنظف سريع للشاشة عند الحاجة إلى لقطة شاشة أو تسجيل.

يحمل ملف mq5 نفس ترويسة الطبقات الاثنتي عشرة المعتمدة في بقية المجموعة — REGIME وSIGNAL وENTRY وCONFIRM وNO-TRADE وCAPITAL CAP وRISK وSIZING وMANAGE وEXIT وSCALING وOnTester — لكن طبقة SCALING فقط هي التي تُمَارَس فعليًا عبر تفاعل التكبير والتصغير في CHART_SCALE. أما الطبقات الإحدى عشرة الأخرى فلا تنفيذ لها. هذه أداة لا نظام؛ عامِلها على أنها أداة إنتاجية لا كاستراتيجية. لإضافة أطر زمنية جديدة أو معاملات إدخال جديدة، حرّر المصدر: كتلة الإدخال بين السطر 31 و40، وقائمة الأطر الزمنية المدعومة في StrToPeriod بين السطر 310 و343. يحتاج دالة PeriodToStr المعاكسة للتحديث في المنطقة نفسها. في حال أُضيف إطار زمني مخصّص، يجب أن تتعلم كلتا الدالتين الشفرة الجديدة في انسجام وإلا فلن يعرض مربع التحرير الاختيار بشكل صحيح.

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

تُهيِّئ OnInit() قيمة curr_symbol من Symbol() النشط وقيمة curr_period من Period() النشط، ثم تستدعي PIPCreate() لإنشاء ثمانية كائنات MT5 مسماة — حقلا OBJ_EDIT (PIPSymbol وPIPPeriod) وخمسة أزرار OBJ_BUTTON (PIPPlusButton وPIPMinusButton وPIPHideButton وPIPDatesButton وPIPPricesButton) والكائن المحوري OBJ_CHART (PIPChart) — تليها PIPSetParams() لتطبيق الإحداثيات والألوان والنصوص. تتولى OnChartEvent() توجيه مدخلات المستخدم: تحرير PIPSymbol يقرأ الرمز المحلول من PIPChart ويكتبه في curr_symbol، تحرير PIPPeriod يمرر السلسلة عبر StrToPeriod() (التي تقبل كلًا من الصيغة 'H1'/'M15' والأعداد الدالة على الدقائق كـ'60'/'15') قبل الإسناد إلى OBJPROP_PERIOD لكائن PIPChart، ونقرات الأزرار تزيد أو تنقص متغير المقياس الصحيح (0–5) الذي يغذي OBJPROP_CHART_SCALE، وتبدِّل showdates وshowprices عبر خصائص محاور التاريخ والسعر، وتمرر زر الإخفاء عبر PIPHideChart() (التي تضبط إحداثيات المخطط وحجمه على -1,-1,0,0). تستدعي OnDeinit() الدالة PIPDelete() لإزالة كل كائن مسمّى؛ يأتي ملف mq5 مع <Trade\Trade.mqh> والدوال المساعدة الثلاث TryClose_EX16094 وTryClosePartial_EX16094 وTryModify_EX16094، لكنها كود سقالة ميت لا مستدعي حيّ له.

إشارة الدخول

لا يفتح هذا المستشار أي صفقات. تتولى دوال OnInit() وOnChartEvent() إنشاء ومعالجة الكائنات الرسومية في MT5 (PIPSymbol وPIPPeriod وPIPPlusButton وPIPMinusButton وPIPHideButton وPIPDatesButton وPIPPricesButton ونافذة PIPChart الفرعية)؛ ولا يُرسَل أي طلب أمر أو صفقة أو طلب معلق. الدوال المساعدة TryClose_EX16094 وTryClosePartial_EX16094 وTryModify_EX16094 في المصدر هي كود سقالة لا يُستدعى أبدًا.

إشارة الخروج

غير مطبَّق — لا يتم فتح أي صفقات على الإطلاق بواسطة هذا المستشار، فلا يوجد مسار خروج يُعرَّف. السلوك الآلي الوحيد في OnChartEvent هو تحديث خصائص المخطط الفرعي (الرمز، الإطار الزمني، المقياس، محور التاريخ، محور السعر) وتبديل ظهوره عبر معالج PIPHideButton.

وقف الخسارة

غير مطبَّق — لا يوجد وقف خسارة لكل صفقة أو للسلة لأن المستشار لا يفتح أو يدير أي صفقات. لا يتضمن ملف mq5 أي كود يستدعي OrderSend أو PositionClose أو PositionModify من مسار تنفيذ حي.

جني الأرباح

غير مطبَّق — لا يوجد منطق جني أرباح لأن المستشار لا يفتح أي صفقات. المسار المفترض لجني الأرباح كان TryClose_EX16094 (الذي يعيد المحاولة عند أكواد requote وtimeout وprice-off وprice-changed)، لكنه معرَّف ولا يُستدعى.

الأنسب لـ

أفضل استخدام له كأداة إنتاجية للمتداولين الراغبين في مساحة عمل متعددة الرموز بنافذة واحدة. ضع اللوحة في زاوية أي مخطط على أي إطار زمني (الافتراضي M5H1 وفق ترويسة المصدر، لكن محلل الإطار الزمني يدعم من M1 إلى MN1) لمراقبة أداة ثانية دون فتح نافذة طرفية أخرى. الحد الأدنى للرصيد الموصى به: 100 دولار (لا يُلمَس أي جزء من الرصيد، فهو رمزي). لا تنطبق قيود تنفيذ متعلقة بالوسيط لأن لا أوامر تُرسَل — ستعمل اللوحة على أي نوع حساب، بما في ذلك الحسابات التجريبية وحسابات المسابقات وحسابات تحدي الشركات الممولة التي تُقيَّد فيها فتح مخططات متعددة. اجمعها مع إعدادك الأساسي على XAUUSD M5 لإظهار سياق EURUSD H1 أو DXY، أو استخدمها لمقارنة أداتين مرتبطتين (مثل XAUUSD مقابل XAGUSD) جنبًا إلى جنب على شاشة واحدة.

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

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

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

الوصف: Chart-in-chart utility EA that embeds a sub-chart with editable symbol/period, scale controls and show/hide toggle. No trading logic — visual/analysis tool only. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester

المؤشرات:

  • مؤشرات قياسية

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

  • OnChartEvent()
  • PIPCreate()
  • PIPDelete()
  • PIPSetParams()
  • PIPHideChart()
  • StrToPeriod()
  • PeriodToStr()
  • TryClose_EX16094()
  • TryClosePartial_EX16094()
  • TryModify_EX16094()
الرمز الزائف (Pseudocode)
// Pipsgrowth EX16094 Trend — Execution Flow (from source analysis)
// Family: Trend
// Chart-in-chart utility EA that embeds a sub-chart with editable symbol/period, scale controls and show/hide toggle. No trading logic — visual/analysis tool only. 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

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

المعاملالافتراضيالوصف
InpMagicNumber22216094Magic Number
InpTradeComment"Psgrowth.com Expert_16094"Trade Comment
كود المصدر (.mq5)Open Source
Pipsgrowth_com_EX16094.mq5
#property copyright "Pipsgrowth.com"
#property link      "https://pipsgrowth.com"
#property version   "2.00"
#property strict
#property description "Pipsgrowth.com EX16094 ChartInChart — chart-in-chart utility, full 12-layer stack."
#include <Trade\Trade.mqh>
//--- inputs
input group "=== Display Parameters ==="
input color TextColor=White;
input color BGColor=SteelBlue;
input int   XPosition=10;
input int   YPosition=10;
input int   XSize=450;
input int   YSize=300;
input group "=== Identity ==="
input long  InpMagicNumber=22216094; // Magic Number
input string InpTradeComment="Psgrowth.com Expert_16094"; // Trade Comment
//--- variables
int xsize=450;
int ysize=300;
int xdist=10;
int ydist=10;
int scale=1;
int show=1;
int showdates =0;
int showprices=0;
//---
string          curr_symbol;
string          curr_period_str;
ENUM_TIMEFRAMES curr_period;
ENUM_TIMEFRAMES enper;
//+------------------------------------------------------------------+
//| Initialize expert                                                |
//+------------------------------------------------------------------+
void OnInit()
  {
//--- default value for symbol and period
   curr_symbol=Symbol();
   curr_period=Period();
   PeriodToStr(curr_period,curr_period_str);
//--- copy sizes
   xsize=XSize;
   ysize=YSize;
   xdist=XPosition;
   ydist=YPosition;
//--- create objects
   PIPCreate();
   PIPSetParams();
//---
   ChartRedraw();
  }
//+------------------------------------------------------------------+
//| Process chart events                                             |
//+------------------------------------------------------------------+
void OnChartEvent(const int id,const long& lparam,const double& dparam,const string& sparam)
  {
   if(id==CHARTEVENT_OBJECT_ENDEDIT && sparam=="PIPSymbol")
     {
      curr_symbol=ObjectGetString(0,"PIPSymbol",OBJPROP_TEXT);
      ObjectSetString(0,"PIPChart",OBJPROP_SYMBOL,curr_symbol);

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

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

الوسوم:ex16094trendpipsgrowthfreemt5xauusd

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

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

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

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

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

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

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

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