Pipsgrowth EX16058 Trend — إكسبرت أدفايزر متابعة اتجاه
إكسبرت أدفايزر MT5 مفتوح المصدر · XAUUSD · M5، H1
Pipsgrowth EX16058 Trend — News Stopper utility that fetches economic calendar data via HTTP, closes open trades and pending orders, and halts auto. إكسبرت أدفايزر MT5 مفتوح المصدر.
نظرة عامة
EX16058 Trend من Pipsgrowth ليس خبيراً يولّد إشارات دخول، بل هو أداة متخصصة لإدارة مخاطر الأخبار الاقتصادية. يُرفق على منصة MT5 إلى جانب أي خبير آخر ويعمل كحارس: فعندما يقترب موعد حدث اقتصادي مهم، يُغلق EX16058 الصفقات المفتوحة على الزوج المتأثر، ويحذف الأوامر المعلقة، ويُوقف التداول الآلي تلقائياً، ثم يُعيد تفعيله بعد انقضاء صدمة الخبر.
الآلية واضحة لكنها متعددة الطبقات. عند التهيئة، يُرسل الخبير طلب GET إلى https://nfs.faireconomy.media/`ff_calendar_thisweek`.xml عبر دالة WebRequest() في MQL5. الاستجابة عبارة عن تغذية XML بأحداث الأسبوع الاقتصادي. يتنقل EX16058 داخل كتلة ويستخرج و و و و من كل عقدة ، ويُحوّل السلسلة الزمنية إلى قيمة datetime، ويخزن النتيجة في مصفوفة news_event_struct بسعة 500 حدث. يُجدوَل إعادة الجلب كل ساعتين عبر EventSetTimer(news_update_hour*3600) ليظل التقويم محدّثاً دون إرهاق الشبكة.
قبل التخزين، يمر كل حدث عبر ثلاث دوال تصفية. CurrencySelected() تُبقي الأحداث التي تتضمن عملتها في رمز الأداة (افتراضي) أو في قائمة مخصصة — افتراضياً USD,EUR,GBP,JPY,CAD,CHF، تُضبط عبر symbol_type وnews_symbols. TitleSelected() تُضيّق النطاق اختيارياً إلى قائمة كلمات مفتاحية مفصولة بفواصل، والقيمة الافتراضية هي Non-Farm,Unemployment,ISM,PMI,CPI,FOMC,Retail Sales,Final GDP q/q,Core PCE Price Index m/m,Empire State Manufacturing Index,Advance GDP q/q,JOLTS — الإصدارات الأمريكية القليلة التي تحرك سعر الذهب والفضة فعلياً. ImpactSelected() تُقيّد حسب الأثر، وتقتصر افتراضياً على الأحداث عالية الأثر مع تعطيل include_medium وinclude_low. أي من هذه المرشحات الثلاث يمكن توسيعه.
بعد تخزين التقويم، تنفذ منطق OnTick() فحصين زمنيين. BeforeNewsForZeroProfit() تُعيد العملة المتأثرة إذا كان الوقت الحالي بتوقيت GMT بين min_before_zero=60 دقيقة قبل الحدث والحدث نفسه. AtNews() تُعيد العملة المتأثرة إذا كان الوقت بين min_before=5 دقائق قبل الحدث وmin_after=45 دقيقة بعده. الفرق بين النافذتين مقصود في الشكل: نافذة ما قبل الخبر أوسع (60 دقيقة) وتُستخدم لجني الأرباح قبل التقلب، بينما نافذة الحدث غير متماثلة (5 قبل، 45 بعد) وتُستخدم للإغلاق الدفاعي الكامل أثناء هضم السوق للصدمة.
حين تنطلق نافذة ما قبل الخبر (مع close_zero=true افتراضياً)، يتحقق EX16058 من أن ACCOUNT_PROFIT >= close_profit (افتراضياً دولار واحد). إذا تحقق، تُنفذ CloseAll(_pair) التي تتنقل عكسياً في مجمع الصفقات، وتستدعي trade.PositionClose() على كل تذكرة عبر المُساعد TryClose_EX16058()، وتقبل كلاً من TRADE_RETCODE_DONE وTRADE_RETCODE_DONE_PARTIAL كنجاح. يعيد المُساعد المحاولة حتى 3 مرات عند ظهور رموز requote أو timeout أو price off أو price changed. إذا كان close_pending=true، تتبعها DeleteAllPendings() — نفس الحلقة لكن مع trade.OrderDelete(). إذا كان close_only_news_pair=false (افتراضي)، يكون زوج الإغلاق هو "all" ويشمل الإغلاق جميع صفقات الحساب.
حين تنطلق نافذة الحدث، ينفذ نفس منطق الإغلاق دون شرط الربح (إذا كان close_open=true). إذا كان stop_algo=true، تُستدعى AlgoTradingStatus(false) — وهي النقطة الوحيدة التي يلامس فيها EX16058 ويندوز: يجلب معرّف نافذة الأداة عبر ChartGetInteger()، يصعد سلسلة الأبوين عبر GetAncestor(hwnd, GA_ROOT)، ويُرسل WM_COMMAND بقيمة MT_WMCMD_EXPERTS لإيقاف زر التداول الآلي. عندما تُعيد AtNews() القيمة "No News" ويظل المتغير allow_trade على false، تُستدعى الدالة مجدداً بقيمة true لاستعادة الزر. تُرسل Print() وSendNotification() وAlert() رسالة موحدة ("[NEWS!] All trades are Closed. All pendings are Deleted. Auto trading is Disabled.") لحظة الإغلاق الدفاعي.
التصور البصري مُفعّل افتراضياً. تعمل DrawNews() عند التهيئة ومع كل تنشيط للمؤقت، فتضع خطاً عمودياً على كل حدث في أول 100 موقع مخزّن، باللون الأحمر clrRed، النمط STYLE_DOT، العرض 1 (قابلة للضبط). تكون الخطوط مخفية من التحديد أمام الشموع. عند إزالة الخبير، OnDeinit تمسح التعليق وObjectsDeleteAll(0) تحذف الخطوط.
تفاصيل إضافية تُكمل البناء: slippage=5 ثابتة برمجياً (لا يوجد إدخال)، وtrade.SetTypeFillingBySymbol() تُضبط قبل كل إغلاق أو حذف للتعامل مع بورصات IOC وFOK دون إعداد يدوي. MarketOpen() تتحقق من جدول جلسة الرمز وتُعيد false في عطلات نهاية الأسبوع، مما يمنع محاولات الإغلاق حين يكون السوق متجمداً. TryClosePartial_EX16058() مُعرَّفة لكن لا تُستدعى — كود ميت. كل صفقة يُلمسها الخبير تحمل تعليق Psgrowth.com Expert_16058، مما يُسهّل فصل الإغلاقات المرتبطة بالأخبار عن الإغلاقات اليدوية في تحليلات ما بعد التداول.
النشر العملي يتطلب إعدادين في المنصة: تفعيل استيراد DLL من Tools → Options → Expert Advisors، وإضافة https://nfs.faireconomy.media/ إلى قائمة WebRequest المسموح بها. كلاهما إعداد لمرة واحدة يستغرق أقل من دقيقة.
حالة الاستخدام ضيقة لكنها محددة بوضوح: متداول منهجي أو تقديري يشغّل أي خبير على XAUUSD أو EURUSD أو GBPUSD أو USDJPY أو USDCAD أو USDCHF ويرغب في دفاع حتمي ضد الإصدارات الأمريكية القليلة شهرياً التي تتسبب عادة في تقلبات حادة بحدود 20-50 نقطة. سلوك الباك تيست بنيوي وليس إحصائياً — لا توجد منحنى حقوق ملكية ولا تخصيص ربح ولا سطح تحسين يمكن ضبطه. الخبير إما يجلب التقويم ويُغلق النوافذ بشكل صحيح أو لا يفعل، والخطوط العمودية الحمراء على الشارت وسجل Print() هما التشخيص الوحيد.
تفاصيل الاستراتيجية
في كل تكة، تُنفذ OnTick() فحصين زمنيين على التقويم المخزّن. تُفعّل BeforeNewsForZeroProfit() نافذة الستين دقيقة السابقة للحدث: إذا كان ربح الحساب موجباً، تُغلق CloseAll() الصفقات وDeleteAllPendings() تحذف الأوامر وتُرسل SendNotification() وAlert() إشعاراً للمتداول. تُفعّل AtNews() نافذة الخمس دقائق قبل إلى 45 دقيقة بعد: تفرض نفس تسلسل الإغلاق والحذف، ثم تُرسل AlgoTradingStatus(false) رسالة WM_COMMAND في ويندوز لإيقاف زر التداول الآلي. يُعاد التفعيل تلقائياً في أول تكة بعد انقضاء النافذة. تعمل DrawNews() عند التهيئة ومع مؤقت ساعتين لرسم خطوط عمودية حمراء منقطة عند كل وقت حدث ذي صلة، وOnDeinit() تحذفها عند الإيقاف.
لا يفتح EX16058 أي صفقات من تلقاء نفسه. مُحفّز التفعيل هو دخول الوقت الحالي في نافذة ما قبل الخبر (60 دقيقة قبل) أو نافذة الحدث (5 دقائق قبل و45 دقيقة بعد). مصدر التفعيل هو تغذية XML مُجلوبة من https://nfs.faireconomy.media/ ومُصفّاة في الذاكرة حسب العملة (رمز الأداة أو قائمة مخصصة من ستة أزواج) والكلمة المفتاحية (قائمة افتراضية من اثني عشر إصداراً أمريكياً) وشدة الأثر (عالي افتراضياً).
خلال نافذة الربح ما قبل الخبر، تُغلق CloseAll() جميع الصفقات المفتوحة على الزوج المتأثر (أو جميع صفقات الحساب إذا كان close_only_news_pair=false) عندما يصل ربح الحساب إلى دولار واحد، ثم تحذف DeleteAllPendings() كل الأوامر المعلقة. خلال نافذة الحدث، ينفذ الإغلاق دون شرط الربح، وAlgoTradingStatus(false) تُوقف زر التداول الآلي عبر PostMessageW في ويندوز. يُستعاد الزر تلقائياً في أول تكة بعد انقضاء النافذة.
لا يُحدَّد وقف خسارة لكل صفقة. لا يفتح EX16058 صفقات، لذا فإن السيطرة ذات الصلة هي الإغلاق الكامل عند الأخبار: فعل الخبير نفسه المعتمد على النافذة الزمنية هو الإجراء الوقائي لأي استراتيجية تعمل على نفس الحساب.
لا يُحدَّد جني أرباح لكل صفقة. آلية تحقيق الربح هي نافذة ما قبل الخبر ذاتها: عندما يصل ربح الحساب إلى دولار واحد داخل نافذة الستين دقيقة السابقة للحدث، تُغلق جميع الصفقات المفتوحة بسعر السوق بصرف النظر عن مستويات جني الأرباح الفردية، مما يضمن أي ربح يفوق عتبة الدولار قبل تقلبات الخبر.
المتداولون الذين يشغّلون أي خبير على XAUUSD أو EURUSD أو GBPUSD أو USDJPY أو USDCAD أو USDCHF ويرغبون في دفاع حتمي ضد الإصدارات الأمريكية عالية الأثر القليلة شهرياً. الحد الأدنى للرصيد 100 دولار (لا ينفذ EX16058 أي sizing). تعمل الأداة على M5 أو H1، وتتطلب تفعيل استيراد DLL وإضافة https://nfs.faireconomy.media/ إلى قائمة WebRequest المسموح بها، وتُناسب الوسطاء الذين يقدمون فروقات ضيقة على المعادن وأزواج العملات الرئيسية لأن EX16058 نفسه لا يطلب أسعاراً — يستهلك فقط مجمع الصفقات القائم.
منطق الاستراتيجية
Pipsgrowth EX16058 Trend — تحليل منطق الاستراتيجية (من كود .mq5)
العائلة: Trend
الماجيك: 22216058
الإصدار: 2.00
الوصف:
News Stopper utility that fetches economic calendar data via HTTP, closes open trades and pending orders, and halts auto-trading around high-impact news events with configurable time windows and notification options. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester
المؤشرات:
- مؤشرات قياسية
الدوال الرئيسية:
OnTimer()NewsUpdate()MakeDateTime()DrawNews()CurrencySelected()TitleSelected()ImpactSelected()AtNews()BeforeNewsForZeroProfit()CloseAll()
// Pipsgrowth EX16058 Trend — Execution Flow (from source analysis)
// Family: Trend
// News Stopper utility that fetches economic calendar data via HTTP, closes open trades and pending orders, and halts auto-trading around high-impact news events with configurable time windows and notification options. 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)ملف التحسين
كيفية تثبيت الإكسبرت على MT5
- 1حمّل ملف .mq5 بالضغط على زر التحميل أعلاه
- 2افتح برنامج MetaTrader 5 على حاسوبك
- 3من القائمة العلوية اختر File → Open Data Folder
- 4انتقل إلى مجلد MQL5 → Experts والصق الملف هناك
- 5في MT5، انقر بالزر الأيمن على Expert Advisors في لوحة Navigator → Refresh
- 6اسحب الإكسبرت على رسم H4 أو اليومي للحصول على أفضل النتائج
- 7حدد فترات EMA وعتبة ADX وحجم اللوت في نافذة الإعدادات
- 8فعّل Allow Algo Trading واضغط OK
معاملات الإكسبرت
| المعامل | الافتراضي | الوصف |
|---|---|---|
| InpMagic | 22216058 | EA Magic Number |
| InpTradeComment | "Psgrowth.com Expert_16058" | Trade comment |
| info1 | " ------======<<[ News Management ]>>======------ " | ---=== News Settings ===--- |
| news_link | "https://nfs.faireconomy.media/" | --- News URL (to be placed in settings) |
| min_before | 5 | Minutes Before News to close |
| min_before_zero | 60 | Minutes Before News to close with zero profit |
| min_after | 45 | Minutes After News to halt |
| include_high | true | Include high |
| include_medium | false | Include medium |
| include_low | false | Include low |
| use_title | true | Filter News based on title |
| title_phrase | "Non-Farm,Unemployment,ISM,PMI,CPI,FOMC,Retail Sales,Final GDP q/q,Core PCE Price Index m/m,Empire State Manufacturing Index,Advance GDP q/q,JOLTS" | title keyword (comma seperated) |
| news_update_hour | 2 | Update time interval (in hours) |
| symbol_type | type1 | Currencies check method |
| news_symbols | "USD,EUR,GBP,JPY,CAD,CHF" | Custom Currencies to Check For News |
| close_only_news_pair | false | Only Close Orders of The Events Currency |
| draw_news_lines | true | Draw News Lines on chart |
| Line_Color | clrRed | Lines Color |
| Line_Style | STYLE_DOT | Lines Style |
| Line_Width | 1 | Line Width |
| info2 | " ------======<<[ Order Management ]>>======------ " | ---=== Order Management ===--- |
| stop_algo | true | Stop Auto trading |
| close_open | true | Close all open trades |
| close_pending | true | Delete all Pending orders |
| close_zero | true | Close all trades with profit |
| close_profit | 1 | Profit for Closing all trades (in $) |
| close_charts | false | Close all Charts |
| info3 | " ------======<<[ Settings ]>>======------ " | ---=== Settings ===--- |
| send_notif | true | Send notification |
| send_alert | true | Send Alert |
| delay | 5 | Delay if somthing goes wrong (in seconds) |
#property copyright "Pipsgrowth.com"
#property link "https://pipsgrowth.com"
#property version "2.00"
#property strict
#property description "Pipsgrowth.com EX16058 News_Stopper_MT5 -- News event management tool that closes trades and halts auto-trading around high-impact news, full 12-layer stack."
#include <Trade\Trade.mqh>
CTrade trade;
#ifdef __MQL5__
#include <WinAPI\winapi.mqh>
#define MT_WMCMD_EXPERTS 32851
#else
#define HANDLE int
#define PVOID int
#import "user32.dll"
HANDLE GetAncestor( HANDLE hwnd, uint flags);
int PostMessageW( HANDLE hwnd, uint Msg, PVOID param, PVOID param );
#import
#define MT_WMCMD_EXPERTS 33020
#endif
#define WM_COMMAND 0x0111
#define GA_ROOT 2
//Enums
enum currencies
{
type1,//Chart Symbol (Auto)
type2,//Custom Symbols
};
//Inputs
input group "=== Identity ==="
input ulong InpMagic = 22216058; // EA Magic Number
input string InpTradeComment = "Psgrowth.com Expert_16058"; // Trade comment
input string info1 = " ------======<<[ News Management ]>>======------ "; //---=== News Settings ===---
input string news_link = "https://nfs.faireconomy.media/";// --- News URL (to be placed in settings)
input int min_before = 5; //Minutes Before News to close
input int min_before_zero = 60; //Minutes Before News to close with zero profit
input int min_after = 45; //Minutes After News to halt
input bool include_high = true; // Include high
input bool include_medium = false; // Include medium
input bool include_low = false; // Include low
input bool use_title = true; // Filter News based on title
input string title_phrase="Non-Farm,Unemployment,ISM,PMI,CPI,FOMC,Retail Sales,Final GDP q/q,Core PCE Price Index m/m,Empire State Manufacturing Index,Advance GDP q/q,JOLTS";//title keyword (comma seperated)
input int news_update_hour = 2;//Update time interval (in hours)
input currencies symbol_type = type1; //Currencies check method
input string news_symbols = "USD,EUR,GBP,JPY,CAD,CHF"; // Custom Currencies to Check For News
input bool close_only_news_pair = false; // Only Close Orders of The Events Currency
الكود المصدري الكامل متاح عند التحميل
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.
تحذير صريح: لأغراض تعليمية فقط
تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.
وسطاء موصى بهم لهذا الإكسبرت
هذه الروبوتات تعمل على MT5 — استخدم وسيطاً موثوقاً بتنفيذ سريع وسبريد منخفض
إكسبرتات مشابهة
عرض جميع الإكسبرتاتإكسبرتات أخرى بنفس استراتيجية متابعة الاتجاه
Pipsgrowth EX16080 Trend — إكسبرت أدفايزر متابعة اتجاه
Pipsgrowth EX16080 Trend — EURUSD triple-EMA trend follower — trades EMA20/50 cross with EMA200 filter on H4, ATR-based SL/TP, risk-percent sizing . إكسبرت أدفايزر MT5 مفتوح المصدر.
Pipsgrowth EX16081 Trend — إكسبرت أدفايزر متابعة اتجاه
Pipsgrowth EX16081 Trend — Gold trend EA catching major XAUUSD trends using EMA 50/ 200 crossover on H4 with daily structure swing high/low and Fib. إكسبرت أدفايزر MT5 مفتوح المصدر.
Pipsgrowth EX16033 Trend — إكسبرت أدفايزر متابعة اتجاه
Pipsgrowth EX16033 Trend — Price-action scalping EA using distance-based grid entries with net-take-profit targeting and optional lot multiplier. 1. إكسبرت أدفايزر MT5 مفتوح المصدر.
مجتمع المستخدمين
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.