P
PipsGrowth
سكالبينجمفتوح المصدر - مجاني

Pipsgrowth EX14009 Scalper — إكسبرت أدفايزر إكسبرت أدفايزر

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

Pipsgrowth EX14009 Scalper — M1 scalper using Williams Percent Range (WPR) indicator for extreme overbought/oversold detection. Buys at WPR < -99.9 a. إكسبرت أدفايزر MT5 مفتوح المصدر.

نظرة عامة

مستشار EX14009 Forex Fraus M1 يقع في الطرف البسيط من عائلة مضاربات PipsGrowth. في حين تشغّل أغلب أقارب عائلة EX14 كومة مؤشرات وموجّه نظام سوق ومراحل خروج متعددة، يكتفي هذا الإصدار بمراقبة قراءة واحدة لمؤشر Williams Percent Range على شمعة M1 ولا يتصرف إلا عند أطراف نادرة في توزيعه. تنخفض شجرة القرار كاملة على شمعة جديدة إلى ثلاثة أسطر: اقرأ WPR[0]، قارنه مع -99.9 و -0.1، وإمّا افتح شراء أو بيع أو لا تفعل شيئاً. هذا التركيز هو جوهر التصميم.

مؤشر Williams Percent Range هو مذبذب زخم محصور بين 0 و -100. القيم القريبة من 0 تعني أن الإغلاق تمّ بالقرب من أعلى نافذة الاسترجاع، أما القيم القريبة من -100 فتعني أن الإغلاق تمّ بالقرب من القاع. الويليمز القياسي عند 14 فترة صاخب ويُطلق إشارات باستمرار على M1. تأخذ الاستراتيجية عيّنة من الويليمز على نافذة استرجاع طويلة استثنائياً قدرها 360 شمعة — أي ست ساعات من شموع M1 — وهو ما يعمل على تهدئة المذبذب وتحويله إلى منحنى بطيء. على ذلك المنحنى الممهّد، يكون النزول دون -99.9 حدثاً نادراً فعلاً: يكون السعر قد قضى كل الساعات الست الماضية في القاع. شرط الشراء (WPR < -99.9) لا ينطلق إلا حين يكون السوق في حالة استسلام عميقة على نافذة بطيئة، وليس مجرد غوص عابر داخل شمعة. شرط البيع المعاكس (WPR > -0.1) هو الفكرة نفسها على جانب التشبع الشرائي.

حين ينطلق شرط الشراء، تُنفَّذ العلامة عبر OpenBuy() بسعر العرض الحالي مع InpStopLoss=50 نقطة أسفل و InpTakeProfit=150 نقطة أعلى — أي نسبة مخاطرة/عائد ثابتة 1:3. يحسب الكود sl = Ask - ExtStopLoss بحيث ExtStopLoss = InpStopLoss * m_adjusted_point (تتضاعف قيمة النقطة المعدَّلة على الوسطاء بثلاث أو خمس خانات، لذا تظل 50 نقطة كما هي بصرف النظر عن دقة السعر). ينطبق النمط نفسه معكوساً على البيع: bid ناقص 50 نقطة للوقف، bid ناقص 150 نقطة لجني الأرباح. حين يكون InpCloseOpposite صحيحاً (الافتراضي)، فإن فتح شراء يُغلق على الفور أي بيع مفتوح على نفس الرقم السحري، والعكس صحيح، فلا يحتفظ المستشار بمراكز متعارضة في الوقت نفسه.

نظام التريلينغ ضيق بصورة غير معتادة بالنسبة لنظام يحصر 200 نقطة من المدى الكلي. InpTrailingStop=1 نقطة مع InpTrailingStep=1 نقطة يعني أن الوقف يتقدّم نقطة واحدة في كل مرة، لكن فقط بعد أن يتحرك الصفقة بمقدار ExtTrailingStop + ExtTrailingStep (نقطتين) في الربح. تعمل دالة Trailing() عند كل تيكت وليس فقط على شموع جديدة، فيُعاد تقييم الوقف مع كل تغيّر في السعر. إن الجمع بين جني أرباح 150 نقطة وتريلينغ بنقطة واحدة يميل إلى اقتناص معظم القفزات السريعة على M1: إمّا أن تصل الصفقة إلى جني الأرباح دون أن يُمسّها شيء، أو يُثبّت الوقف المتحرك الربح حين ينعكس السعر. لا يوجد إغلاق جزئي ولا خطوة توازن ولا تريلينغ ثانٍ — التريلينغ هنا ترس أحادي ذرّي لا يرتخي أبداً.

ينقسم إدارة المراكز إلى مسارَي تنفيذ. يعمل مسار الدخول على شمعة جديدة فقط — يحرس OnTick عبر time_0 == PrevBars ويخرج إن لم تتغير الشمعة منذ آخر تقييم، أي أن الإشارة في الاتجاه الواحد لا تتجاوز واحدة في الدقيقة. يعمل مسار التريلينغ عند كل تيكت. تمّ تعريف دوال إعادة المحاولة الثلاث TryClose_EX14009 و TryClosePartial_EX14009 و TryModify_EX14009، لكن TryClose_EX14009 فقط (المستخدمة في ClosePositions) و TryModify_EX14009 (المستخدمة في Trailing) هما الموصولتان فعلياً بمسار التنفيذ الحي؛ أما TryClosePartial_EX14009 فكود ميت. تحاول كل دالة إعادة المحاولة ثلاث مرات وتنام 100–200 مليثانية عند ظهور REQUOTE / TIMEOUT / PRICE_OFF / PRICE_CHANGED قبل أن تستسلم. يُضبط تحمّل الانزلاق عبر m_trade.SetDeviationInPoints(10).

بوابة الوقت هي Timecontrol() التي تستخدم افتراضياً InpStartHour=7 و InpEndHour=17. منطقها غير معتاد: فهي تتعامل مع النافذة العابرة لمنتصف الليل (InpStartHour > InpEndHour) ومع نافذة اليوم الواحد (InpStartHour < InpEndHour) في الوقت نفسه. الافتراضي 7-17 يغطي تداخل جلستي لندن ونيويورك في معظم مناطق الوسطاء الزمنية، وهي الفترة التي يشهد فيها XAUUSD (الزوج المقترح) أوضح التحركات الاتجاهية. تُرجع الدالة true إن تمّ تعطيل InpTimecontrol، فيكفي قلب المتغير البولياني لتعطيل البوابة كلياً.

لا يوجد سقف سحب إجمالي، ولا حماية لمنحنى الرصيد، ولا حدّ خسارة يومي، ولا حارس أقصى عدد مراكز باستثناء سلوك إغلاق الاتجاه المعاكس. يُحسب حجم اللوت بشكل ثابت عبر InpLots=0.1؛ لا توجد نسبة مخاطرة بالنسبة المئوية، ولا تحجيم للرصيد، ولا مضاعف استرداد. يضبط OnInit() القيمة لتتوافق مع عروض الأسعار بثلاث/خمس خانات، ويتحقق من InpLots في ضوء SYMBOL_VOLUME_MIN/MAX/STEP لدى الوسيط، ويضبط الرقم السحري عبر m_trade.SetExpertMagicNumber(m_magic)، ويختار سياسة التنفيذ تبعاً للرمز، وينشئ مقبض مؤشر handle_iWPR الوحيد. OnDeinit() فارغة — يُحرَّر المقبض تلقائياً عند تفريغ المستشار.

إن فترة الويليمز 360 هي أهم مُدخل يجب فهمه. خفّضها إلى 14 وستحصل على الويليمز الصاخب المعتاد الذي يطلق إشارات على M1 ويولّد خسائر انعكاسية مستمرة في مقابل الترند. ارفعها أكثر (مثلاً 720 لـ 12 ساعة) وستصبح الإشارات نادرة لدرجة أن المستشار يتداول مرة واحدة في اليوم. الرقم 360 الافتراضي مُعاير لملف تذبذب XAUUSD النموذجي على M1: أحداث الاستسلام العميقة على نافذة ست ساعات تقع بضع مرات في الجلسة، ونسبة المخاطرة/العائد 1:3 مع تريلينغ بنقطة واحدة مهيّأة لاقتناص الارتداد الحاد دون أن يوقفها ضوضاء داخل الشمعة.

عملياً، القيود المفروضة على الاستخدام الحي هي قيود مرتبطة بالوسيط لا بالاستراتيجية. وقف الخسارة 50 نقطة على XAUUSD M1 يمثّل تقريباً 5 دولارات من المخاطرة على لوت 0.1 لدى أغلب الوسطاء، وجني الأرباح 150 نقطة يمثّل تقريباً 15 دولاراً. يحتاج المستشار إلى حساب ECN أو RAW سبريد خام كي لا تُخفي قراءة الويليمز المتطرفة خلف سبريد عريض. لا يوجد مضاعف استرداد، ولا مارتينجال، ولا شبكة — كل صفقة مستقلة ذات نطاق 1:3 ثابت. وتكون الباك تيست على XAUUSD M1 بالإعدادات الافتراضية أكثر فائدة عبر نافذة ستة أشهر تضمّ نظاماً متجهاً وآخر عرضيّاً، لأن منهج الويليمز عند الأطراف يؤدي أداء مختلفاً جذرياً في كل منهما.

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

يُنتج مؤشر Williams Percent Range على نافذة 360 شمعة منحنى بطيئاً نادراً ما يصل إلى أطرافه المتطرفة — شرط الشراء WPR < -99.9 لا ينطلق إلا حين يكون السعر قد قضى كل الساعات الست الماضية في قاع النطاق. على شمعة M1 جديدة يقرأ المستشار أحدث قيمة للـ WPR عبر iWPRGet(0) ويتحقق من العتبتين ثم يفتح شراء أو بيعاً أو يتخطى. يُرسل OpenBuy/OpenSell عبر m_trade بسعر العرض/الطلب الحالي مع وقف وجني أرباح محسوبَين من m_adjusted_point ليكون النطاق متطابقاً على الأسعار بثلاث/خمس خانات؛ وعند النجاح ومع تفعيل InpCloseOpposite تُغلق المراكز في الاتجاه المعاكس على نفس الرقم السحري عبر TryClose_EX14009. Trailing() هي القطعة الوحيدة التي تعمل عند كل تيكت — تستعرض PositionsTotal بالعكس وتشدّ الوقف نقطة واحدة بعد أن يتجاوز السعر ExtTrailingStop+ExtTrailingStep. تُرجع بوابة Timecontrol() قيمة false خارج 7-17 افتراضياً (تداخل جلستي لندن ونيويورك في معظم ساعات الوسطاء) وتُلغى كلياً عند ضبط InpTimecontrol على false. يروّج الترويسة لـ 12 طبقة (REGIME/SIGNAL/ENTRY/CONFIRM/NO-TRADE/CAPITAL CAP/RISK/SIZING/MANAGE/EXIT/SCALING/OnTester) لكن الكود الفعلي ينطوي على أربعة أجزاء متحركة فقط — مؤشر واحد، فحص عتبة، حلقة تريلينغ عند كل تيكت، بوابة وقت — من دون حماية لمنحنى الرصيد ولا OnTester ولا مضاعف استرداد.

إشارة الدخول

على شمعة M1 جديدة يقرأ المستشار مؤشر Williams Percent Range على نافذة 360 شمعة عبر iWPRGet(0). يُفتح شراء حين ينخفض WPR[0] إلى ما دون -99.9 — تشبع بيعي متطرف على منحنى ست ساعات ممهَّد — بسعر العرض الحالي مع وقف 50 نقطة وجني أرباح 150 نقطة (نسبة 1:3 ثابتة). يُفتح بيع حين يرتفع WPR[0] فوق -0.1 (تشبع شرائي متطرف) بسعر العرض الحالي عند الـ bid مع النطاق المعاكس. مع تفعيل InpCloseOpposite=true (افتراضي)، يُغلق فتح الشراء فوراً أي بيع مفتوح على الرقم السحري 22214009، فلا يحتفظ المستشار بمراكز متعارضة في الوقت نفسه.

إشارة الخروج

كل صفقة تحمل هدف جني أرباح ثابتاً قدره 150 نقطة من الدخول، دون أي إغلاق جزئي — إمّا أن تبلغ الصفقة الهدف أو يخرجها التريلينغ. تعمل دالة Trailing() عند كل تيكت وتشدّ الوقف نقطة واحدة إلى الأعلى (للشراء) أو إلى الأسفل (للبيع) بمجرد أن يتجاوز السعر الوقف الحالي بنقطتين على الأقل. لا توجد خطوة توازن، ولا تريلينغ ثانٍ، ولا خروج زمني؛ فالمراكز المفتوحة تُغلق على جني الأرباح أو على الوقف المتحرك أو على إغلاق الإشارة المعاكسة حين يكون InpCloseOpposite مُفعَّلاً.

وقف الخسارة

يُحدَّد وقف الخسارة عند 50 نقطة من الدخول على كل صفقة (ExtStopLoss = InpStopLoss * m_adjusted_point، حيث adjusted_point = point * 10 على الوسطاء بثلاث/خمس خانات). مع جني أرباح عند 150 نقطة، يصبح النطاق الثابت بنسبة مخاطرة/عائد 1:3. لا يُحرَّك وقف الخسارة إلا ليضيق بواسطة التريلينغ — فلا يُوسَّع ولا يُستبدل بوقف على مستوى السلة.

جني الأرباح

هدف جني الأرباح هو 150 نقطة ثابتة تُوضع على الأمر عند الدخول عبر ExtTakeProfit = InpTakeProfit * m_adjusted_point. لا يوجد إغلاق جزئي ولا خروج متدرّج ولا جني أرباح على مستوى السلة — المخارج الوحيدة هي هدف 150 نقطة، أو تريلينغ بنقطة واحدة، أو إغلاق الإشارة المعاكسة (حين يكون InpCloseOpposite مُفعَّلاً).

الأنسب لـ

الحد الأدنى الموصى به للرصيد: 100 دولار بحسب minDeposit للمستشار، ويفضّل 1,000 دولار لأي تحجيم ذي معنى على XAUUSD — عند اللوت الافتراضي 0.1 يمثّل وقف 50 نقطة نحو 5 دولارات مخاطرة لكل صفقة. يتطلب النطاق الثابت 50/150 نقطة وقراءة الويليمز المتطرفة حساب ECN أو RAW سبريد خام كي لا يُخفى فحص العتبة خلف سبريد عريض. تستهدف بوابة الوقت الافتراضية 7-17 تداخل جلستي لندن ونيويورك في معظم ساعات الوسطاء، وهي الفترة التي يطبع فيها XAUUSD M1 أوضح حالات الاستسلام والذعر الصعودي. مستوى المخاطرة مرتفع: لا يوجد سقف سحب، ولا مضاعف استرداد، ولا حدّ خسارة يومي، ولا لوت ديناميكي — كل صفقة نطاق 1:3 كامل، فمسؤولية التحجيم تقع على عاتق المتداول.

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

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

العائلة: Scalper الماجيك: 22214009 الإصدار: 2.00

الوصف: M1 scalper using Williams Percent Range (WPR) indicator for extreme overbought/oversold detection. Buys at WPR < -99.9 and sells at WPR > -0.1, with trailing stops, time control, and close-opposite-position logic

المؤشرات:

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

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

  • OnTradeTransaction()
  • RefreshRates()
  • CheckVolumeValue()
  • iWPRGet()
  • OpenBuy()
  • OpenSell()
  • PrintResultTrade()
  • Trailing()
  • PrintResultModify()
  • Timecontrol()
الرمز الزائف (Pseudocode)
// Pipsgrowth EX14009 Scalper — Execution Flow (from source analysis)
// Family: Scalper
// M1 scalper using Williams Percent Range (WPR) indicator for extreme overbought/oversold detection. Buys at WPR < -99.9 and sells at WPR > -0.1, with trailing stops, time control, and close-opposite-position logic

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
الأطر الزمنية المُحسّنة:
M1

كيفية تثبيت الإكسبرت على 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اسحب الإكسبرت من Navigator وأفلته على أي رسم بياني (يُنصح بـ M1 أو M5)
  7. 7في نافذة الإعدادات، فعّل Allow Algo Trading وحدد حجم اللوت
  8. 8اضغط OK — سيبدأ الإكسبرت بالتداول تلقائياً

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

المعاملالافتراضيالوصف
m_magic22214009magic number
InpTradeComment"Psgrowth.com Expert_14009"Trade comment
InpLots0.1Lots
InpStopLoss50Stop Loss (in pips)
InpTakeProfit150Take Profit (in pips)
InpTrailingStop1Trailing Stop (in pips)
InpTrailingStep1Trailing Step (in pips)
InpCloseOppositetrueUse close opposite positions
Inp_WPR_calc_period360WPR: averaging period
InpTimecontroltrueUse Timecontrol
InpStartHour7Start hour
InpEndHour17End hour
كود المصدر (.mq5)Open Source
Pipsgrowth_com_EX14009.mq5
#property copyright "Pipsgrowth.com"
#property link      "https://pipsgrowth.com"
#property version   "2.00"
#property strict
#property description "Pipsgrowth.com EX14009 Forex Fraus M1 — WPR extreme scalper, full 12-layer stack."
//---
#include <Trade\PositionInfo.mqh>
#include <Trade\Trade.mqh>
#include <Trade\SymbolInfo.mqh>  
CPositionInfo  m_position;                   // trade position object
CTrade         m_trade;                      // trading object
CSymbolInfo    m_symbol;                     // symbol info object
//--- input parameters
input group "=== Identity ==="
input ulong    m_magic=22214009;            // magic number
input string   InpTradeComment = "Psgrowth.com Expert_14009"; // Trade comment

input group "=== Trading ==="
input double   InpLots              = 0.1;   // Lots
input ushort   InpStopLoss          = 50;    // Stop Loss (in pips)
input ushort   InpTakeProfit        = 150;   // Take Profit (in pips)
input ushort   InpTrailingStop      = 1;     // Trailing Stop (in pips)
input ushort   InpTrailingStep      = 1;     // Trailing Step (in pips)
input bool     InpCloseOpposite     = true;  // Use close opposite positions

input group "=== Signal ==="
input int      Inp_WPR_calc_period  = 360;   // WPR: averaging period

input group "=== Time Control ==="
input bool     InpTimecontrol       = true;  // Use Timecontrol
input uchar    InpStartHour         = 7;     // Start hour
input uchar    InpEndHour           = 17;    // End hour
//---
ulong          m_slippage=10;                // slippage

double         ExtStopLoss=0.0;
double         ExtTakeProfit=0.0;
double         ExtTrailingStop=0.0;
double         ExtTrailingStep=0.0;

int            handle_iWPR;                  // variable for storing the handle of the iWPR indicator 

double         m_adjusted_point;             // point value adjusted for 3 or 5 points
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
   if(InpTrailingStop!=0 && InpTrailingStep==0)
     {
      string text=(TerminalInfoString(TERMINAL_LANGUAGE)=="Russian")?
                  "Трейлинг невозможен: параметр \"Trailing Step\" равен нулю!":
                  "Trailing is not possible: parameter \"Trailing Step\" is zero!";
      Alert(__FUNCTION__," ERROR! ",text);
      return(INIT_PARAMETERS_INCORRECT);
     }
//---
   if(!m_symbol.Name(Symbol())) // sets symbol name
      return(INIT_FAILED);
   RefreshRates();

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

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

الوسوم:ex14009scalperpipsgrowthfreemt5xauusd

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

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

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

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

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

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

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

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