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

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

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

Pipsgrowth EX16083 Trend — News-trader EA that places straddle pending orders (BuyStop + SellStop) at scheduled news hours, with configurable stop . إكسبرت أدفايزر MT5 مفتوح المصدر.

نظرة عامة

EA Pipsgrowth EX16083 هو مستشار خبير لتداول الأخبار يعتمد على استراتيجية السترادل (الترتيب المزدوج المعلق). بدلاً من التنبؤ باتجاه السعر عند صدور إعلان اقتصادي مجدول، يحيط EA اللحظة بأمرين معلقين — أمر Buy Stop فوق سعر Ask الحالي وأمر Sell Stop على نفس المسافة تحت سعر Bid الحالي. أي جانب يفعّله اندفاع الخبر أولاً يصبح الصفقة الحية؛ أما الجانب الآخر فيُلغي تلقائياً عند انتهاء صلاحيته أو يُترك لينتهي وحده.

تُفعَّل الأوامر المعلقة في ثلاث ساعات بحسب توقيت الخادم — 8 و13 و15 — والتي يصرّح الكود المصدري بأنها بديل لأوقات الأخبار الفعلية. يوضّح تعليق الترويسة في ملف mq5 أن النشر الإنتاجي يجب أن يتصل بتغذية تقويم اقتصادي؛ أما في النسخة مفتوحة المصدر فهذه الساعات الثلاث الثابتة هي البديل. الفحص محاط بحارسين مبكرين: إذا كانت الدقيقة الحالية غير دقيقة رأس الساعة (if(dt.min != 0) return;) لا يفعل EA شيئاً، وفترة تهدئة مدتها ساعة واحدة (TimeCurrent() - lastTrade < 3600) تمنع إعادة تسليح السترادل داخل الساعة نفسها حتى لو تجدد التنفيذ. يضمن الاثنان معاً تنفيذ سترادل واحد على الأكثر لكل ساعة مجدولة يومياً.

تُعبَّر جميع معاملات المسافة والمخاطرة بالنقاط (البيب) وتُدخَل كقيم صحيحة. InpStopDistance = 20 يحدد بُعد أمر Buy Stop فوق سعر Ask الحالي، وبعد أمر Sell Stop تحت سعر Bid الحالي. InpStopLoss = 30 و InpTakeProfit = 50 يوفّران وقف خسارة ثابت عند 30 نقطة وهدف ربح عند 50 نقطة لكل صفقة مفعّلة — أي نسبة مخاطرة/مكافأة 1:1.67 لا يعدّلها EA حسب التذبذب أو وقت اليوم أو فئة الإعلان. InpLotSize = 0.10 هو الحجم المُرسَل في كلا الأمرين المعلقين. إن طبقة تحديد حجم الصفقة في EA، كما ادّعاء تسويق الطبقات الاثنتي عشرة في الترويسة، هي في الأساس مُدخل واحد.

InpCancelAfterMins = 10 هو تاريخ انتهاء صلاحية الأوامر المعلقة. يُرسَل كلٌّ من Buy Stop و Sell Stop مع ORDER_TIME_SPECIFIED وطابع زمني expiry مُعيَّن إلى TimeCurrent() + InpCancelAfterMins * 60. إذا لم يُفعَّل أي من الأمرين بحلول تجاوز الشمعة لذلك التاريخ، يتخلّى المنفذ عن الأمر المعلق تلقائياً — لا توجد حلقة تنظيف صريحة في OnTick. كائن التداول هنا نسخة CTrade واحدة، مع trade.SetExpertMagicNumber(22216083) في OnInit و trade.SetDeviationInPoints(20) التي تسمح بانزلاق سعري حتى 20 نقطة عند التنفيذ.

ما لا يفعله EA مهم بقدر ما يفعله. لا توجد مقابض مؤشرات — لا iMA ولا iATR ولا iRSI. قرار إطلاق السترادل مدفوع بالساعة فقط. لا يوجد وقف متحرك، ولا دالة تعادل، ولا إغلاق جزئي، ولا مرشح أخبار يتجاوز فحص الساعة، ولا قاطع يومي لا على هدف ربح ولا على حد خسارة. أدوات إعادة المحاولة الثلاث في أسفل الملف — TryClose_EX16083 و TryClosePartial_EX16083 و TryModify_EX16083 — مكتوبة بشكل صحيح لمعالجة حالات requote و timeout و price-changed و price-off مع سكون 100-200 مللي ثانية بين المحاولات، لكن لا يُستدعى أي منها من منطق OnTick. إنها كود نموذجي من سقالة عائلة EA، وليست مسارات تنفيذ.

النتيجة المباشرة للاستخدام الحي هي أن السترادل يعتمد كلياً على تنفيذ الوسيط. سماح الانزلاق 20 نقطة سخي للعملات الرئيسية وضيق للذهب، ووقف الربح 50 نقطة سيُحقَّق أو يُفوَّت حسب حجم اندفاع ما بعد الخبر. على وسيط سيولة ضعيفة، قد يُنفَّذ Sell Stop تحت وقف 30 نقطة بسعر أدنى بكثير من السعر المطلوب أثناء فجوة وميضية، لأن انزلاق الأمر المعلق على أوامر الإيقاف ليس متماثلاً مع انزلاق الأمر السوقي على نفس الحدث.

يسمح الرقم السحري 22216083 ونص التعليق Psgrowth.com Expert_16083 لـ EA بالتعايش على الحساب نفسه مع EAs أخرى من PipsGrowth دون تصادم أوامرها. لا يوجد حد SL عالمي ولا أرضية حقوق ملكية — لا ينظر EA إلى رصيد الحساب مطلقاً بعد عودة OnInit، بخلاف حجم اللوت الأولي. الحد الأدنى للإيداع 100 دولار المسجّل في صفحة المنتج هو إذن دالة للنجاة من السبريد وسترادل خاسر واحد عند 0.10 لوت، وليس لأي حارس مخاطر داخلي.

عند تشغيل EA، سير العمل العملي هو: إرفاقه برسم بياني واحد لكل رمز تريد إحاطته، وضبط الرقم السحري بشكل فريد إذا شغّلت نسخاً متعددة، وتحضير الرمز مسبقاً على تقويم لمعرفة ما إذا كانت الساعة 8 أو 13 أو 15 هي المهمة لجلسة تداولك. ستبدو الاختبارات الخلفية سيئة على بيانات M1 التاريخية لأن ضغط شموع M5/H1 يخفي اندفاعات الأخبار التي تفعّل السترادل — هذا EA مصمَّم ليُقيَّم على بيانات التيك لنوافذ الأخبار، لا على إشارات شمعة بشمعة. يُترجم mq5 تحت #property strict ويستخدم فقط include المعياري Trade.mqh؛ لا حاجة لمكتبات خارجية.

نقطة دقيقة تستحق الانتباه: يُطلَق السترادل فقط عند أول تيكر من ساعة رأس الدقيقة صفر. إذا كان المنصّة مغلقة، أو الرسم البياني مخفياً، أو تغذية تيكرات الوسيط صامتة في الثانية ذاتها التي تتجاوز فيها الشمعة، يُتجاوز القوس تماماً حتى الساعة المجدولة التالية. كذلك فإن فترة التهدئة 3600 ثانية تعني أن أمر Buy أو Sell يدوي وُضع سابقاً في الساعة نفسها لا يمنع السترادل من التسليح عند رأس الساعة — الشيء الوحيد الذي تحرسه فترة التهدئة هو إعادة تسليح السترادل لنفسه داخل النافذة نفسها. خطّط للأخبار الفائتة بفحص التقويم قبل كل جلسة، لا بالاعتماد على EA ليدرك ما فاته.

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

يقرأ معالج OnTick قيمة TimeCurrent في بنية MqlDateTime وينسحب فوراً ما لم تكن dt.min == 0، لذا يعمل منطق السترادل فقط عند أول تيكر من كل ساعة خادم. ثم يفحص فترة التهدئة (TimeCurrent() - lastTrade < 3600) وعلامة isNewsHour (صحيحة فقط للساعات 8 و13 و15)؛ إذا اجتاز كلاهما، يقرأ سعر Ask/Bid المباشر، يحسب مستويات الأسعار الأربعة (الدخول ± InpStopDistance، الدخول − SL، الدخول + TP) بالنقاط ×10، ويُرسِل Buy Stop و Sell Stop الواحد تلو الآخر مع ORDER_TIME_SPECIFIED وانتهاء صلاحية مُعيَّن إلى TimeCurrent() + InpCancelAfterMins * 60. يُكوَّن كائن التداول مرة واحدة في OnInit بالرقم السحري 22216083 و 20 نقطة انزلاق. بعد الإرسال، تُعيَّن lastTrade إلى TimeCurrent() ويعود OnTick حتى تيكر رأس الساعة التالي — لا توجد حلقة إدارة لكل صفقة، ولا تعديل SL/TP بعد التنفيذ، ولا اشتراك في مؤشرات. أدوات إعادة المحاولة الثلاث في أسفل الملف لا تُستدعى من OnTick؛ إنها سقالة لعائلة EA التي لا يمارسها منطق تداول الأخبار في هذا الملف.

إشارة الدخول

يُسلِّح EA سترادلاً مرة كل ساعة خادم عن طريق إرسال Buy Stop على بُعد InpStopDistance نقطة فوق سعر Ask الحالي و Sell Stop على نفس المسافة تحت سعر Bid الحالي، باستخدام ORDER_TIME_SPECIFIED مع انتهاء صلاحية InpCancelAfterMins دقيقة. ساعات التفعيل هي 8 و13 و15 — بدائل صريحة لأوقات الأخبار في النسخة مفتوحة المصدر. يحمل كلا الأمرين المعلقين نفس InpLotSize ونفس مسافة SL/TP، لذا فإن قرار الدخول مدفوع بالساعة فقط ولا يحتوي على حزمة مؤشرات.

إشارة الخروج

يُحسم السترادل بإحدى ثلاث طرق: يُفعَّل Buy Stop وينتهي Sell Stop دون تنفيذ، أو يُفعَّل Sell Stop وينتهي Buy Stop، أو لا يُفعَّل أي منهما ويُسقط كلا الأمرين عند انتهاء الصلاحية. الصفقة المفعَّلة تعمل حتى هدف الربح الثابت 50 نقطة أو وقف الخسارة 30 نقطة كما هو مُرسَل في التذكرة المعلقة الأصلية؛ لا يوجد وقف متحرك ولا تعادل ولا إغلاق جزئي ولا خروج مبني على الوقت في OnTick. أدوات إعادة المحاولة الثلاث في المصدر (TryClose/TryClosePartial/TryModify) معرَّفة لكنها لا تُستدعى أبداً من المسار الحي.

وقف الخسارة

يُرسَل كل أمر معلق مُفعَّل مع وقف خسارة ثابت 30 نقطة كجزء من تذكرة الأمر؛ لا يُعيد EA حساب SL أو توسيعه أو تحريكه بعد التنفيذ. لا يوجد وقف خسارة قائم على حقوق الملكية، ولا حد خسارة يومي، ولا فحص مخاطر لكل سترادل — وقف الخسارة الوقائي على الأمر المعلق هو الحد الوحيد للخسارة.

جني الأرباح

هدف الربح الثابت 50 نقطة من سعر الدخول، مُدمَج في الأمر المعلق عند إرساله. لا يوجد إغلاق متدرج، ولا إغلاق جزئي، ولا قفل TP — تُغلَق الصفقة كاملة عند TP أو SL، أيهما يُضرب أولاً، عندما يعالج الوسيط الأمر.

الأنسب لـ

يناسب المتداولين الذين يتابعون فعلياً الإصدارات الاقتصادية المجدولة على XAUUSD ويريدون طريقة آلية لإحاطة الاندفاع بصفقات 0.10 لوت على الإطارين M5 أو H1. الحد الأدنى الموصى به للرصيد هو 100 دولار لكل رمز؛ شغّله على وسيط ECN أو سبريد منخفض لأن كلا الأمرين المعلقين يظلان نشطين في وقت واحد، وسيُدفع أي ارتفاع في السبريد على كتاب أوامر ضعيف مرتين إذا فُعِّل كلاهما وأُغلق عند SL. سماح الانزلاق 20 نقطة مناسب للعملات الرئيسية وقد يكون ضيقاً جداً للذهب خلال النوافذ المتقلبة — اختبر جودة تنفيذ وسيطك في ساعات الأخبار قبل تكبير الحجم.

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

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

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

الوصف: News-trader EA that places straddle pending orders (BuyStop + SellStop) at scheduled news hours, with configurable stop distance, SL/TP and auto-cancellation expiry. Cancels unfilled orders after a set period. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester

المؤشرات:

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

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

  • TryClose_EX16083()
  • TryClosePartial_EX16083()
  • TryModify_EX16083()
الرمز الزائف (Pseudocode)
// Pipsgrowth EX16083 Trend — Execution Flow (from source analysis)
// Family: Trend
// News-trader EA that places straddle pending orders (BuyStop + SellStop) at scheduled news hours, with configurable stop distance, SL/TP and auto-cancellation expiry. Cancels unfilled orders after a set period. 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

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

المعاملالافتراضيالوصف
InpCancelAfterMins10NOTE: Connect to an economic calendar feed for production use.
كود المصدر (.mq5)Open Source
Pipsgrowth_com_EX16083.mq5
#property copyright "Pipsgrowth.com"
#property link      "https://pipsgrowth.com"
#property version   "2.00"
#property strict
#property description "Pipsgrowth.com EX16083 NewsTrader — Straddle pending orders at news hours, full 12-layer stack."

#include <Trade\Trade.mqh>

input group "=== Identity ==="
input int    InpMagicNumber     = 22216083;
input string InpTradeComment    = "Psgrowth.com Expert_16083";

input group "=== Trading ==="
input int    InpMinsBefore      = 5;
input int    InpStopDistance    = 20;
input double InpLotSize         = 0.10;
input int    InpStopLoss        = 30;
input int    InpTakeProfit      = 50;
input int    InpCancelAfterMins = 10;

// NOTE: Connect to an economic calendar feed for production use.
// This demo version places orders at session opens as a proxy for news times.
CTrade trade;
datetime lastTrade = 0;
int OnInit() { trade.SetExpertMagicNumber(InpMagicNumber); trade.SetDeviationInPoints(20); return INIT_SUCCEEDED; }
void OnDeinit(const int r) {}
void OnTick() {
   MqlDateTime dt; TimeCurrent(dt);
   if(dt.min != 0) return;
   if(TimeCurrent()-lastTrade < 3600) return;
   bool isNewsHour = (dt.hour==8||dt.hour==13||dt.hour==15);
   if(!isNewsHour) return;
   double ask=SymbolInfoDouble(_Symbol,SYMBOL_ASK),bid=SymbolInfoDouble(_Symbol,SYMBOL_BID);
   double dist=InpStopDistance*_Point*10, sl=InpStopLoss*_Point*10, tp=InpTakeProfit*_Point*10;
   datetime expiry=TimeCurrent()+InpCancelAfterMins*60;
   trade.BuyStop(InpLotSize,NormalizeDouble(ask+dist,_Digits),_Symbol,ask+dist-sl,ask+dist+tp,ORDER_TIME_SPECIFIED,expiry,InpTradeComment);
   trade.SellStop(InpLotSize,NormalizeDouble(bid-dist,_Digits),_Symbol,bid-dist+sl,bid-dist-tp,ORDER_TIME_SPECIFIED,expiry,InpTradeComment);
   lastTrade=TimeCurrent();
}
//+------------------------------------------------------------------+
bool TryClose_EX16083(ulong ticket)
{
   for(int a=0; a<3; a++)
   {
      if(trade.PositionClose(ticket) &&
         (trade.ResultRetcode()==TRADE_RETCODE_DONE || trade.ResultRetcode()==TRADE_RETCODE_DONE_PARTIAL))
         return true;
      uint rc=trade.ResultRetcode();
      if(rc==TRADE_RETCODE_REQUOTE || rc==TRADE_RETCODE_TIMEOUT ||
         rc==TRADE_RETCODE_PRICE_OFF || rc==TRADE_RETCODE_PRICE_CHANGED)
      { Sleep(200); continue; }
      break;
   }
   return false;
}

bool TryClosePartial_EX16083(ulong ticket, double volume)
{
   for(int a=0; a<3; a++)
   {

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

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

الوسوم:ex16083trendpipsgrowthfreemt5xauusd

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

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

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

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

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

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

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

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