Pipsgrowth EX14020 Scalper — إكسبرت أدفايزر إكسبرت أدفايزر
إكسبرت أدفايزر MT5 مفتوح المصدر · XAUUSD · M5، H1
Pipsgrowth EX14020 Scalper — AI-assisted XAUUSD scalper using a multi-filter signal scoring system combining RSI, MACD, EMA50/200 and ATR. Entry trig. إكسبرت أدفايزر MT5 مفتوح المصدر.
نظرة عامة
إكسبرت Pipsgrowth EX14020 AIXAUUSDScalper هو نظام تصويت أحادي الشارت لزوج XAUUSD. كل شمعة M5 مغلقة تُمرَّر على أربعة مرشحات مستقلة — مؤشر RSI بفترة 14، ومقارنة خط MACD بإشارته (12/26/9)، ومتوسط أسي 50، ومتوسط أسي 200 — وكل مرشح يتفق مع الاتجاه الصاعد يضيف 25 نقطة إلى رصيد الشراء. المجموعة المعكوسة من الشروط تُغذّي رصيد البيع الموازي. عندما يصل أي من الرصيدين إلى حد الثقة القابل للضبط (الافتراضي InpAIConfidence = 75، أي اتفاق 3 من أصل 4 مرشحات)، يُطلق الإكسبرت أمراً فورياً في ذلك الاتجاه.
الرياضيات الحاسمة هي الاستراتيجية بأكملها. لا توجد روتين فرعي لإدارة المراكز. بمجرد فتح الصفقة، لا يحدث لها شيء آخر: لا تتبع وقف، لا ترحيل لنقطة التعادل، لا إغلاق جزئي، لا خروج عند إشارة عكسية، لا خروج مبني على الوقت. وقف الخسارة الثابت 30 نقطة والهدف 50 نقطة المُلحَقان عند فتح الأمر هما الطريقة الوحيدة التي يمكن بها لمركز أن يُغلق، والشيء الوحيد الذي يفعله الإكسبرت لإدارة التعرض هو عدّ المراكز المفتوحة عبر CountTrades() ورفض فتح رابع إذا كانت ثلاثة مراكز بالفعل حيّة تحت الرقم السحري 22214020.
المتوسط الأسي 200 هو المرشح البنيوي الذي يمنح النظام انحيازه الاتجاهي. فرع الشراء لا يمكن الوصول إليه حسابياً إلا عندما يكون bid > ema200[0]، وفرع البيع فقط عندما يكون bid < ema200[0]. هذا الشرط الواحد يُجبر كل دخول على أن يكون في نفس اتجاه الاتجاه طويل المدى، وهو الشيء الوحيد الذي يمنع الرصيد من إطلاق إشارتي شراء وبيع على نفس الشمعة بشكل روتيني. من الناحية العملية، لا يزال الفرعان يُقيَّمان بشكل مستقل — لا يوجد نقض صريح يُلغي أمر شراء عندما يتجاوز sellScore أيضاً حد العتبة — لذلك خلال الشمعة التي يعبر فيها السعر المتوسط 200، يمكن لكلا الفرعين أن يتحققا. منطق OnTick لا يحرس من ذلك؛ قد يرفض الوسيط ببساطة الأمر الثاني، أو قد يلتقطه بوابة السبريد في التيك التالي.
مقبض ATR (hATR، فترة 14) يُنشأ في OnInit ويُحرَّر في OnDeinit، لكن قيمته تُجلب داخل OnTick ولا تُستخدم. المؤشر موجود في الكود فقط كعنصر نائب في كومة 'خمسة مقابض مؤشرات' التي يدّعيها رأس الملف؛ في مسار الكود الحي، يتم نسخ مخزن ATR إلى متغير محلي ثم يُلقى. ادعاء بنية الـ12 طبقة في تعليق الرأس ('REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester') هو سقالة تسويقية — التطبيق في وقت التشغيل هو نتيجة تمريرة واحدة، وزوج حارس واحد (السبريد وعدد الصفقات)، وكمية ثابتة، ووقف ثابت، وأعمال OnInit/OnDeinit. لا توجد روتين OnTester، ولا كاشف نظام سوقي، ولا فلتر أخبار، ولا بوابة جلسة، ولا حارس يوم من الأسبوع، ولا سقف سحب.
المساعدات الثلاث TryClose_EX14020 و TryClosePartial_EX14020 و TryModify_EX14020 معرَّفة في الكود لكنها لا تُستدعى من OnTick. تتبع نمط المحاولات الثلاث القياسي مع توقف 200ms للإغلاق / 100ms للتعديل وتعامل TRADE_RETCODE_REQUOTE و TRADE_RETCODE_TIMEOUT و TRADE_RETCODE_PRICE_OFF و TRADE_RETCODE_PRICE_CHANGED كشروط قابلة لإعادة المحاولة، لكن مسار الدخول الحي يستخدم أساليب Buy() و Sell() لكائن m_trade مباشرة، فأخطاء المحاولة الواحدة فقط هي التي يراها المستخدم. يحتوي OnInit على هيكل OnInit_20260007_placeholder() الموجود فقط لإرضاء تحذير الدالة غير المستخدمة — يُرجع 0 ولا يُستدعى أبداً.
عتبات RSI عند 40 و 60 — أقرب إلى خط الوسط من مستويات التشبع البيعي/الشرائي الكلاسيكية 30/70. هذا الاختيار يتيح للنظام التصرف بناءً على تحولات الزخم الطفيفة بدلاً من الانعكاسات القصوى، لكنه أيضاً يوسّع معدل وصول الرصيد إلى العتبة، وهي النقطة الكاملة لإدخال الثقة القابل للضبط: رفع InpAIConfidence إلى 100 يتطلب فعلياً اتفاق المرشحات الأربعة (عتبة أكثر صرامة بكثير)، وخفضه إلى 50 يجبر اثنين فقط من المرشحات على التوافق. مع الافتراضي 75، يحتاج النظام عادةً إلى 3 من 4 للموافقة، وهو ما يعني في بيانات XAUUSD M5 الفعلية أن الدخول يتجمع حول الشموع التي يتقاطع فيها انحياز EMA200، وقرب EMA50، واتجاه MACD، وموقع RSI كلها في نافذة خمس دقائق واحدة.
اقتصاديات 30/50 الثابتة بالنقاط (يعمل الإكسبرت بوحدات _Point الخام، لذلك يجب على المستخدم معايرة الكمية مع قيمة النقطة لدى وسيطه) تجعل هذا تصميم عالي التردد ومنخفض المخاطر لكل صفقة: لوت 0.01 على XAUUSD مع وقف 30 نقطة يكلّف تقريباً ثلاثة دولارات من المخاطرة لكل صفقة على تسعير ذهب من خمس خانات، وثلاثة مراكز متزامنة تُكلّف الذروة حوالي تسعة دولارات لكل دفعة شارت مغلقة. يتم فرض حد المراكز المتزامنة عبر CountTrades() في كل تيك، لذلك سيستمر الإكسبرت في تكديس المداخل شمعة بعد شمعة حتى الحد، لكن كل دخول جديد يُسجَّل بشكل مستقل — لا يوجد متوسّط، ولا شبكة، ولا مارتينجال، ولا مضاعف استرداد. إذا ضربت جميع المراكز الثلاثة نقاط الوقف، فإن الخسارة هي ثلاثة أضعاف وقف الصفقة الواحدة، نقطة.
لا توجد حماية ضد القطع المعاكس الكلاسيكي للمتوسط 200. عندما يتأرجح الذهب حول المتوسط 200 اليومي، سيستمر الرصيد في التقلب بين فرعي الشراء والبيع على شموع متتالية، مما يولد مداخل مزدوجة في اتجاهين متعاكسين كلاهما يتلقى الوقف. الإطار الزمني M5 وحد المراكز الثلاثة يجعلان هذا محدوداً نسبياً، لكنه خاصية بنيوية في التصميم: النظام يتبع الاتجاه الذي يراه في كل شمعة، بدون ذاكرة لما قالته الشمعة السابقة، ولا مفهوم لقوة الاتجاه beyond المؤشرات الأربعة، ولا آلية للابتعاد خلال نظام حيث إشارة الاتجاه غير موثوقة.
شغّله على حساب ECN أو RAW بسبريد منخفض حيث يكون سبريد XAUUSD النموذجي مريحاً تحت حد 30 نقطة (InpMaxSpread = 30 الافتراضي هو سقف سخي للذهب — معظم وسطاء التجزئة عند 20-30 نقطة طبيعياً ويتسع إلى 50+ حول الأخبار). اختبره في استراتيجية الاختبار على بيانات تيك حقيقية لمدة عامين على الأقل، ومرّره عبر فترة تقلب معروفة عالية (مارس 2020، أزمة مارس 2023 المصرفية، أغسطس 2024 فك ارتباط الفائدة) للتحقق من سلوك الرصيد تحت تغير النظام، واعلم أن إدخالات الكمية الثابتة والوقف الثابت لا تترك مجالاً لتكييف حجم المركز — إذا كان رأس مال الحساب صغيراً، فإن نفس تعرض 0.01 / 30 نقطة هو الخيار الوحيد الذي يقدمه الإكسبرت.
تفاصيل الاستراتيجية
يقرأ Pipsgrowth EX14020 قيم الشمعة السابقة لأربعة مؤشرات هي RSI(14) و MACD(12,26,9) و EMA(50) و EMA(200) مرة واحدة لكل شمعة M5 مغلقة، ثم يمشي تصويتاً ثابتاً: كل مرشح يتفق صعودياً يضيف 25 إلى buyScore، وكل من يتفق هبوطياً يضيف 25 إلى sellScore. أي رصيد يصل أولاً إلى InpAIConfidence (الافتراضي 75) يُطلق أمر شراء أو بيع واحد عند التيك التالي — يُقيَّم فرع الشراء وفرع البيع بشكل مستقل، لذلك في شمعة تعبر المتوسط 200 يمكن لكليهما أن يتحققا. يُخصَّص مقبض ATR(14) ويُجلب لكنه لا يُستخدم؛ مساعدات TryClose/TryClosePartial/TryModify الثلاث معرَّفة لكنها لا تُستدعى من OnTick. بمجرد فتح المركز، لا تعمل أي دالة إدارة عليه — المسار الوحيد للخروج هو ضرب وقف الخسارة الثابت 30 نقطة أو الهدف 50 نقطة لدى الوسيط، ويفرض CountTrades() حداً أقصى قدره ثلاثة مراكز متزامنة تحت الرقم السحري 22214020.
كل شمعة M5 مغلقة تُسجَّل على أربعة شروط مستقلة (RSI < 40 مقابل > 60، خط MACD مقابل إشارته، bid مقابل EMA50، bid مقابل EMA200)، كل منها يساهم بـ 25 نقطة؛ عندما يصل buyScore*25 أو sellScore*25 إلى عتبة InpAIConfidence (الافتراضي 75 = اتفاق ثلاثة من أربعة)، يُطلق أمر فوري في ذلك الاتجاه عند التيك التالي.
لا يوجد منطق خروج نشط — المراكز تُغلق فقط عندما يضرب وقف الخسارة الثابت 30 نقطة أو الهدف 50 نقطة لدى الوسيط. لا إغلاق عند إشارة عكسية، لا خروج مبني على الوقت، لا تتبع وقف، لا ترحيل لنقطة التعادل، لا إغلاق جزئي. مساعدات TryClose_EX14020 / TryClosePartial_EX14020 موجودة في الكود لكنها لا تُستدعى من مسار OnTick الحي.
وقف خسارة ثابت 30 نقطة يُلحَق عند فتح الأمر (ask - 30_Point للشراء، bid + 30_Point للبيع) ولا يُعدَّل بعد ذلك أبداً — لا تتبع وقف، لا ترحيل لنقطة التعادل، لا تكييف مبني على ATR رغم وجود hATR في كومة المقابض.
هدف ربح ثابت 50 نقطة يُلحَق عند فتح الأمر (ask + 50_Point للشراء، bid - 50_Point للبيع)، مما يعطي نسبة مخاطرة/مكافأة 1:1.67 مبرمجة. لا هدف ديناميكي، لا إغلاق جزئي، لا ترحيل لنقطة التعادل.
XAUUSD على M5 (ومختبر حتى H1)، حد أدنى 100 دولار مع افتراضي اللوت 0.01، تصنيف المخاطر عالٍ. الأنسب على حساب ECN أو RAW بسبريد منخفض حيث يكون سبريد الذهب النموذجي مريحاً تحت سقف InpMaxSpread عند 30 نقطة، والأكثر طبيعية حول تداخل لندن-نيويورك حيث يصل تقلب الذهب لخمس دقائق بشكل موثوق إلى وقف 30 نقطة. تصميم حد الرصيد يكافئ الأيام المتجهة عالية التقلب ويكافح خلال القطع المعاكس للمتوسط 200، لذلك اجمعه مع تقليل المخاطر يدوياً حول الأخبار عالية التأثير.
منطق الاستراتيجية
Pipsgrowth EX14020 Scalper — تحليل منطق الاستراتيجية (من كود .mq5)
العائلة: Scalper
الماجيك: 22214020
الإصدار: 2.00
الوصف:
AI-assisted XAUUSD scalper using a multi-filter signal scoring system combining RSI, MACD, EMA50/200 and ATR. Entry triggers when composite score exceeds configurable confidence
المؤشرات:
- مؤشرات قياسية
الدوال الرئيسية:
CountTrades()OnInit_20260007_placeholder()TryClose_EX14020()TryClosePartial_EX14020()TryModify_EX14020()
// Pipsgrowth EX14020 Scalper — Execution Flow (from source analysis)
// Family: Scalper
// AI-assisted XAUUSD scalper using a multi-filter signal scoring system combining RSI, MACD, EMA50/200 and ATR. Entry triggers when composite score exceeds configurable confidence
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اسحب الإكسبرت من Navigator وأفلته على أي رسم بياني (يُنصح بـ M1 أو M5)
- 7في نافذة الإعدادات، فعّل Allow Algo Trading وحدد حجم اللوت
- 8اضغط OK — سيبدأ الإكسبرت بالتداول تلقائياً
#property copyright "Pipsgrowth.com"
#property link "https://pipsgrowth.com"
#property version "2.00"
#property strict
#property description "Pipsgrowth.com EX14020 AIXAUUSDScalper — AI-assisted XAUUSD scalper, full 12-layer stack."
#include <Trade\Trade.mqh>
input group "=== Identity ==="
input int InpMagicNumber = 22214020;
input string InpTradeComment = "Psgrowth.com Expert_14020";
input group "=== Trading ==="
input double InpLotSize = 0.01;
input int InpMaxTrades = 3;
input group "=== Signal ==="
input int InpAIConfidence = 75;
input group "=== Risk ==="
input int InpStopLoss = 30;
input int InpTakeProfit = 50;
input group "=== Filter ==="
input int InpMaxSpread = 30;
CTrade trade;
int hRSI, hMACD, hATR, hEMA50, hEMA200;
datetime lastBar=0;
int OnInit() {
trade.SetExpertMagicNumber(InpMagicNumber);
hRSI = iRSI(_Symbol,PERIOD_CURRENT,14,PRICE_CLOSE);
hMACD = iMACD(_Symbol,PERIOD_CURRENT,12,26,9,PRICE_CLOSE);
hATR = iATR(_Symbol,PERIOD_CURRENT,14);
hEMA50 = iMA(_Symbol,PERIOD_CURRENT,50,0,MODE_EMA,PRICE_CLOSE);
hEMA200= iMA(_Symbol,PERIOD_CURRENT,200,0,MODE_EMA,PRICE_CLOSE);
return INIT_SUCCEEDED;
}
void OnDeinit(const int r) { IndicatorRelease(hRSI);IndicatorRelease(hMACD);IndicatorRelease(hATR);IndicatorRelease(hEMA50);IndicatorRelease(hEMA200); }
void OnTick() {
datetime cb=iTime(_Symbol,PERIOD_CURRENT,0);
if(cb==lastBar) return; lastBar=cb;
if(SymbolInfoInteger(_Symbol,SYMBOL_SPREAD)>InpMaxSpread) return;
if(CountTrades()>=InpMaxTrades) return;
double rsi[1],macd[1],macdSig[1],atr[1],ema50[1],ema200[1];
if(CopyBuffer(hRSI,0,1,1,rsi)<1||CopyBuffer(hMACD,0,1,1,macd)<1||CopyBuffer(hMACD,1,1,1,macdSig)<1||CopyBuffer(hATR,0,1,1,atr)<1||CopyBuffer(hEMA50,0,1,1,ema50)<1||CopyBuffer(hEMA200,0,1,1,ema200)<1) return;
double bid=SymbolInfoDouble(_Symbol,SYMBOL_BID),ask=SymbolInfoDouble(_Symbol,SYMBOL_ASK);
double sl=InpStopLoss*_Point, tp=InpTakeProfit*_Point;
int buyScore=0, sellScore=0;
if(rsi[0]<40) buyScore++; if(rsi[0]>60) sellScore++;
if(macd[0]>macdSig[0]) buyScore++; if(macd[0]<macdSig[0]) sellScore++;
if(bid>ema50[0]) buyScore++; if(bid<ema50[0]) sellScore++;
if(bid>ema200[0]) buyScore++; if(bid<ema200[0]) sellScore++;
if(buyScore*25>=InpAIConfidence) trade.Buy(InpLotSize,_Symbol,ask,ask-sl,ask+tp,InpTradeComment);
if(sellScore*25>=InpAIConfidence) trade.Sell(InpLotSize,_Symbol,bid,bid+sl,bid-tp,InpTradeComment);
}
int CountTrades() { int c=0; for(int i=PositionsTotal()-1;i>=0;i--) if(PositionGetTicket(i)>0&&PositionGetInteger(POSITION_MAGIC)==InpMagicNumber&&PositionGetString(POSITION_SYMBOL)==_Symbol) c++; return c; }
int OnInit_20260007_placeholder() { return 0; } // placeholder to avoid unused warning
//+------------------------------------------------------------------+
bool TryClose_EX14020(ulong ticket)
{
for(int a=0; a<3; a++)
{
if(trade.PositionClose(ticket) &&
(trade.ResultRetcode()==TRADE_RETCODE_DONE || trade.ResultRetcode()==TRADE_RETCODE_DONE_PARTIAL))
الكود المصدري الكامل متاح عند التحميل
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.
تحذير صريح: لأغراض تعليمية فقط
تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.
وسطاء موصى بهم لهذا الإكسبرت
هذه الروبوتات تعمل على MT5 — استخدم وسيطاً موثوقاً بتنفيذ سريع وسبريد منخفض
إكسبرتات مشابهة
عرض جميع الإكسبرتاتإكسبرتات أخرى بنفس استراتيجية سكالبينج
Pipsgrowth EX10006 Momentum-Scalper — إكسبرت أدفايزر إكسبرت أدفايزر
Pipsgrowth EX10006 Momentum-Scalper — USDJPY M1 pullback scalp — fast EMA above slow EMA (uptrend), then a micro dip toward the pullback EMA, with bar-1 close. إكسبرت أدفايزر MT5 مفتوح المصدر.
Pipsgrowth EX10004 Momentum-Scalper — إكسبرت أدفايزر إكسبرت أدفايزر
Pipsgrowth EX10004 Momentum-Scalper — TSI (True Strength Index) is a double-smoothed momentum oscillator. Long/short trigger = TSI main crosses its EMA signal. إكسبرت أدفايزر MT5 مفتوح المصدر.
Pipsgrowth EX14021 Scalper — إكسبرت أدفايزر إكسبرت أدفايزر
Pipsgrowth EX14021 Scalper — EURUSD scalper using Bollinger Bands + MACD divergence. Entry triggers on BB band touch confirmed by MACD crossover. إكسبرت أدفايزر MT5 مفتوح المصدر.
مجتمع المستخدمين
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.