Pipsgrowth EX01014 Adaptive — إكسبرت أدفايزر تكييفي
إكسبرت أدفايزر MT5 مفتوح المصدر · EURUSD · M1، M15
Pipsgrowth EX01014 Adaptive — Hurst-Delta adaptive microstructure scalper using Bollinger Band mean-reversion signals confirmed by RSI extremes. Multi. إكسبرت أدفايزر MT5 مفتوح المصدر.
نظرة عامة
Pipsgrowth EX01014 هو سكالبتر بنية تحتية للسوق مبني على فكرة واحدة: عندما يخرج السعر من غلاف بولينجر ويؤكد مؤشر RSI أن الحركة استنفدت، يتم المراهنة على الارتداد. مؤشراتان فقط يتوليان العمل بأكمله — iBands(20, 2.0) على أسعار الإغلاق وiRSI(14) — وبقية الكود هي بنية دعم حولهما: مؤشرات، إعادة محاولة الطلبات، نوافذ الجلسات، وطبقة أمان عميقة.
يُتخذ القرار على مستوى الشمعة، ليس على التيك. تسحب دالة GetSignals() الحد العلوي والسفلي لبولينجر للشمعة المغلقة السابقة وقيمة RSI للشمعة السابقة، ثم تطرح سؤالاً واحداً: هل طبعت الإغلاق عند أو خارج النطاق بينما كان المتذبذب في الطرف المقابل؟ تحديداً، يُفعَّل تفكير الشراء عندما يكون الإغلاق عند أو تحت الحد السفلي لبولينجر ويكون RSI(14) عند أو تحت 35. ويُفعَّل تفكير البيع عندما يكون الإغلاق عند أو فوق الحد العلوي ويكون RSI عند أو فوق 65. النطاق الافتراضي هو 20 فترة و2.0 انحراف معياري، فيجب على الشمعة أن تتجاوز النطاق قبل النظر في الإشارة. لا يدخل RSI أولاً — النطاق هو البوابة، والمتذبذب هو التأكيد. إذا انطلق كل من شراء وبيع في الشمعة نفسها (فتيل لمس الطرفين)، فإن TrySymbol() تتجاهل الإشارتين وتنتظر الشمعة التالية.
التنفيذ هو الجزء الذي تتدخل فيه بقية المحرك. افتراضياً، يعمل الـEA كرمز واحد وإطار زمني واحد على أي شارت تُلحقه به. تقلب المدخلات InpSymbolsCSV وInpEnableMultiSymbol الوضع إلى وضع المحفظة: يتم تحليل سلسلة CSV مثل "EURUSD,GBPUSD,USDJPY" بواسطة SplitCSV() إلى 16 رمزاً كحد أقصى، كل رمز يُتعقب في بنية SymState الخاصة به مع مقابض Bollinger وRSI الخاصة به، وعداد سلسلة خسائر خاص به، ووقت آخر صفقة، وعلامة إيقاف مؤقت خاصة به. عند تفعيل وضع الرموز المتعددة، يعمل المحرك عبر OnTimer() بفاصل InpTimerSeconds (ثانية واحدة افتراضياً) بدلاً من OnTick(). معالج التيك محفوظ لمسار الرمز الواحد. في كلتا الحالتين، يحدث العمل في TrySymbol(si)، التي تتأكد من إنشاء المقابض، وتتحقق من أن الرمز ليس في إيقاف مؤقت، وتتحقق من السبريد، وعندها فقط تسحب الإشارات.
طبقة الطلب مبنية للتعامل مع السيولة الرقيقة. تستدعي SendOrder() أولاً GetBestFillingMode() لقراءة ما يعرضه الوسيط — IOC أو FOK أو RETURN — وتُرسل الطلب بهذا الوضع. تتم ثلاث محاولات؛ في حالة requote أو timeout أو price-off أو price-changed، تنام الدالة 100 مللي ثانية وتعيد المحاولة. يتم فحص الهامش قبل الإرسال عبر OrderCalcMargin()؛ إذا كان الهامش الحر غير كافٍ، يُرفض الطلب دون إرساله. يتم تطبيع نقاط الوقف إلى حجم تكة الرمز عبر NormalizePriceToTick()، وأي وقف أو جني أرباح يقع داخل SYMBOL_TRADE_STOPS_LEVEL للوسيط يُدفع إلى الحد الأدنى المسموح.
إدارة المراكز متعمَّد الحد الأدنى. بمجرد فتح الصفقة، لا يسحب الـEA الوقف، لا يوسعها، لا يتحوط منها. وقف الـ250 نقطة وجني الأرباح الـ500 نقطة هي مسافات سعرية مطلقة من الدخول، وليست متحركة. حجم اللوت الثابت 0.10 يعني أن كل دخول يخاطر بنفس المبلغ، ونسبة المخاطرة إلى العائد 1:2 مُبرمجة في زوج SL/TP بدلاً من حسابها من البنية. تتيح لك أزرار BUY ON/OFF وSELL ON/OFF على الشارت تعطيل اتجاه في وقت التشغيل دون إعادة ترجمة — توجد ككائنات OBJ_BUTTON على الشارت ويتم تبديلها بالنقرات عبر OnChartEvent().
ما يفعله الـEA هو تكديس الحماية بشكل متعمد. تعمل ثمانية حراس منفصلين قبل أن تصل أي إشارة إلى طبقة الأمر. تتحقق IsSafeToTrade() من: سقف رأس المال (إذا تم تعيين InpCapAmount، ترفض فتح مراكز جديدة فوقه)، أرضية رأس المال (ترفض تحت InpCapFloor، الافتراضي 100 دولار)، حماية الأسهم (ترفض عندما تنخفض الأسهم تحت 80% من الرصيد الأولي)، حد الخسارة اليومية (ترفض عندما تصل الخسائر المحققة إلى 3% من الرصيد الأولي)، حد الخسارة الأسبوعية (8% من الأولي)، تبريد الخسائر المتتالية (بعد 3 خسائر، تحجب لمدة 30 دقيقة)، سقف الصفقات اليومية (50)، قاتل (يدوي أو تلقائي عند تراجع 20%)، فحص السوق مفتوح (لا السبت، لا الأحد قبل 22:00 GMT، لا الجمعة بعد 22:00 ناقص 5 دقائق)، فحص الجلسة (لندن 7-16 GMT ونيويورك 12-21 GMT فقط، جلسة آسيا 0-7 GMT محظورة)، وحظر الأخبار (نافذة 30 دقيقة حول افتتاح لندن ونيويورك). كل حارس سطر منفصل في الدالة وكل واحد يطبع سبب رفضه عند تفعيله.
نظام سلسلة الخسارة ذو المستويين يستحق الإشارة. تعمل OnClosedDeal() على كل TRADE_TRANSACTION_DEAL_ADD؛ إذا كانت الصفقة خروجاً لهذا السحر وكانت خسارة، فإنها تزيد كلاً من lossStreak للرمز وg_consecLosses العام. عندما يصل عداد الرمز إلى InpLossStreakCount (3 افتراضياً)، يتم تعيين pauseUntil للرمز إلى TimeCurrent() + InpLossStreakPauseMin*60 (60 دقيقة). تدفع نفس الصفقة أيضاً التبريد العام إلى 30 دقيقة إذا كان InpCooldownMin > 0. يتم تقييم مؤقتي الإيقاف في TrySymbol() وIsSafeToTrade() على التوالي، فيمكن للـEA تداول رمز آخر بينما يكون أحدها متوقفاً مؤقتاً، لكن لا يمكنه تداول أي رمز أثناء التبريد العام.
للاختبار، تطبق دالة OnTester() بوابة صلبة قبل التسجيل: إذا تجاوز التراجع 20%، أو كانت إجمالي الصفقات أقل من 20، أو كان صافي الربح غير إيجابي، تُرجع الدالة 0 وتُستبعد عملية التحسين. خلاف ذلك، تُرجع profit × profitFactor × ddPenalty حيث ddPenalty = 1 / (1 + maxDD/10). القصد هو تفضيل عوامل الربح في اختبارات العودة التي تحترم أيضاً التراجع — الربح الخام على حساب تآكل الأسهم لا يُكافأ. الـEA مُعد للتحسين على M1 مع افتراضات سبريد واقعية، وسقف سبريد 35 نقطة هو الرافعة المستخدمة لإجبار المحسن بعيداً عن فترات السبريد المرتفع.
في الاستخدام الحي، توقع عدد صفقات مرتفع (حتى 50 في اليوم على رمز واحد خلال جلسة نشطة) ومعظم الأسابيع تكون مسطحة أو إيجابية قليلاً. نسبة المخاطرة إلى العائد 1:2 وفترات الإيقاف المؤقت لسلسلة الخسائر مصممة لإبقاء التراجع داخل قاتل الـ20%. الاستراتيجية غير اتجاهية وتؤدي أفضل ما عند في أزواج العملات ذات النطاق اليومي المستمر — EURUSD هو الافتراضي. M1 هو الإطار الزمني المنشور لكن المصدر يسمح من 1 إلى 7 (M1, M5, M15, M30, H1, H4, D1)؛ الإشارة لا تتغير مع الإطار الزمني، فقط التكرار.
تفاصيل الاستراتيجية
يتسلح المحرك عند كل تكة من المؤقت (ثانية واحدة افتراضياً) في وضع الرموز المتعددة، أو عند كل تكة سعرية في وضع الرمز الواحد. تتأكد TrySymbol() من وجود مقابض Bollinger وRSI لكل رمز، ثم تستدعي GetSignals() لاختبار إغلاق الشمعة المغلقة السابقة مقابل النطاق والمتذبذب مقابل عتبة الطرف. إذا انطلق جانب واحد بالضبط، يُرسل الطلب عبر SendOrder() مع ثلاث محاولات في حالات requote/timeout/price-changed، وكشف تلقائي لوضع التعبئة، وفحص مسبق للهامش. تراقب OnClosedDeal() المخارج المملوءة وتغذي عدادات سلسلة الخسارة والخسائر المتتالية، التي تدفع بعد ذلك حالات التبريد لكل رمز والعامة. تشغل IsSafeToTrade() ثمانية بوابات منفصلة — سقف/أرضية رأس المال، الأسهم، الخسارة اليومية، الخسارة الأسبوعية، التبريد، السوق مفتوح، الجلسة، والأخبار — قبل أن تصل أي إشارة إلى التنفيذ.
دخول ارتداد: شراء عندما يطبع إغلاق الشمعة السابقة عند أو تحت الحد السفلي لبولينجر (20 فترة، انحراف 2.0) ويكون RSI(14) عند أو تحت 35؛ بيع عندما يكون الإغلاق عند أو فوق الحد العلوي ويكون RSI عند أو فوق 65. إذا انطلقت الإشارتان في الشمعة نفسها، تُستبعد كلتاهما. يتم تقييد الاتجاه بتبريد لكل رمز (20 ثانية افتراضياً) وعلامة دخول واحد لكل شمعة.
كل دخول له جني أرباح ثابت 500 نقطة ووقف خسارة 250 نقطة، مما يعطي نسبة مخاطرة/عائد 1:2 مبرمجة. لا يوجد وقف متحرك، لا نقل لنقطة التعادل، ولا إغلاق يدوي — تُحفظ الصفقة حتى يضرب SL أو TP، أو تُغلق خارجياً. زر تبديل الاتجاه (BUY ON/OFF / SELL ON/OFF) يمنع الدخول الجديد لكنه لا يغلق المراكز القائمة.
وقف خسارة ثابت 250 نقطة من الدخول، يتم تطبيعه إلى حجم تكة الرمز ويُدفع إلى مسافة الوقف الدنيا للوسيط عند الحاجة. لا يوجد سحب لكل صفقة، ولا نقل لنقطة التعادل، ولا وقف على مستوى السلة — لا يُعاد ضبط SL إلا عند فتح صفقة جديدة.
جني أرباح ثابت 500 نقطة، مقترن مع SL عند 250 نقطة بنسبة 1:2. لا توسيع، لا إغلاق جزئي، لا مستويات TP متعددة — تُغلق الصفقة دفعة واحدة عندما يصل السعر إلى سعر TP. تُفرض مسافة TP عند الدخول ولا تُعدَّل بعدها.
الأفضل على EURUSD M1 مع وسيط ECN بسبريد منخفض؛ يفترض سقف السبريد 35 نقطة فروقات دون البيب. الحد الأدنى الموصى به للرصيد 100 دولار لتجاوز أرضية رأس المال واستيعاب SL عند 250 نقطة على لوت 0.10. مصمم للمتداولين الذين يريدون روبوت ارتداد عالي التردد مع حواجز صارمة — سقف/حد أدنى لرأس المال، حماية أسهم 80%، حد خسارة يومية 3%، أسبوعية 8%، قاتل تراجع 20%، وإيقاف 60 دقيقة بعد 3 خسائر متتالية لكل رمز. الجلسة المثالية هي تداخل لندن-نيويورك (12:00-16:00 GMT) حيث تكون أطراف النطاق أكثر دلالة.
منطق الاستراتيجية
Pipsgrowth EX01014 Adaptive — تحليل منطق الاستراتيجية (من كود .mq5)
العائلة: Adaptive
الماجيك: 22201014
الإصدار: 2.00
الوصف:
Hurst-Delta adaptive microstructure scalper using Bollinger Band mean-reversion signals confirmed by RSI extremes. Multi- symbol capable, spread cap, loss-streak pause, one-entry-per-bar 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester
المؤشرات:
- مؤشرات قياسية
الدوال الرئيسية:
CreateOrUpdateButton()RefreshDirectionButtons()Trim()SplitCSV()FindSym()SymPoint()SymBid()SymAsk()NormalizeVol()NormalizePriceToTick()
// Pipsgrowth EX01014 Adaptive — Execution Flow (from source analysis)
// Family: Adaptive
// Hurst-Delta adaptive microstructure scalper using Bollinger Band mean-reversion signals confirmed by RSI extremes. Multi- symbol capable, spread cap, loss-streak pause, one-entry-per-bar 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اسحب الإكسبرت على رسم بياني يطابق الإطار الزمني الموصى به
- 7هيّء المعاملات وفقاً للجدول في هذه الصفحة
- 8فعّل Allow Algo Trading واضغط OK
معاملات الإكسبرت
| المعامل | الافتراضي | الوصف |
|---|---|---|
| InpSymbolsCSV | "EURUSD" | symbol list (CSV) or _Symbol if disabled |
| InpEnableMultiSymbol | false | enable multi-symbol loop |
| InpTF | 1 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // working timeframe |
| InpUseTimerEngine | true | use OnTimer instead of per-tick for multi-symbol |
| InpTimerSeconds | 1 | timer interval seconds |
| InpMagic | 22201014 | magic number |
| InpTradeComment | "Psgrowth.com Expert_01014" | order comment prefix |
| InpFixedLot | 0.10 | fixed lot size |
| InpSL_Points | 250 | stop-loss in points |
| InpTP_Points | 500 | take-profit in points |
| InpSlippagePoints | 5 | max slippage (points) |
| InpOneEntryPerBar | true | restrict to one entry per bar |
| InpCooldownSeconds | 20 | side-specific cooldown seconds |
| InpEnableBuy | true | allow long entries |
| InpEnableSell | true | allow short entries |
| InpBB_Period | 20 | Bollinger period |
| InpBB_Dev | 2 | Bollinger deviation (integer) |
| InpRSI_Period | 14 | RSI period |
| InpRSI_BuyLvl | 35 | RSI <= triggers buy consideration |
| InpRSI_SellLvl | 65 | RSI >= triggers sell consideration |
| InpUseSpreadCap | true | enable fixed spread cap |
| InpSpreadCapAbsPoints | 35 | max allowed spread (points) |
| InpPauseOnLossStreak | true | pause trading on consecutive losses |
| InpLossStreakCount | 3 | losses before pause |
| InpLossStreakPauseMin | 60 | pause minutes |
| MaxDailyLossPercent | 3.0 | Maximum daily loss percentage |
| MaxTradesPerDay | 50 | Maximum trades per day (global) |
| MinEquityPercent | 80.0 | Stop trading if equity falls below this % of initial balance |
| InpMaxConsecLosses | 3 | Max consecutive losses before cooldown (0=disabled) |
| InpCooldownMin | 30 | Cooldown minutes after consec losses (0=disabled) |
| InpMaxWeeklyLossPct | 8.0 | Max weekly loss % (0=disabled) |
| InpCapAmount | 0.0 | Capital cap amount (stop trading at this equity) |
| InpCapFloor | 100.0 | Capital floor (stop trading below this equity) |
| InpServerGMTOffset | 0 | Server GMT offset in hours (0=auto-detect via weekend gap) |
| InpLondonStartHour | 7 | London session start (GMT) |
| InpLondonEndHour | 16 | London session end (GMT) |
| InpNYStartHour | 12 | New York session start (GMT) |
| InpNYEndHour | 21 | New York session end (GMT) |
| InpAvoidAsia | true | Avoid Asian session |
| InpAsiaStartHour | 0 | Asian session start (GMT) |
| InpAsiaEndHour | 7 | Asian session end (GMT) |
| AvoidNews | true | Avoid trading during news |
| InpMaxDDPct | 20.0 | Max total drawdown % (0=disabled, triggers kill switch) |
| InpKillSwitch | false | Kill switch (stops all trading immediately) |
| InpDryRun | false | Dry-run mode: log signals without trading |
| InpMaxLot | 100.0 | Maximum lot size cap |
| InpVerbose | false | verbose logging |
#property copyright "Pipsgrowth.com"
#property link "https://pipsgrowth.com"
#property version "2.00"
#property strict
#property description "Pipsgrowth.com EX01014 EX10 Hurst-Delta Adaptive Microstructure Scalper — BB+RSI mean-reversion scalper, full 12-layer stack."
//------------------ GROUPED INPUTS ------------------//
ENUM_TIMEFRAMES MapTimeframeInt(int tf)
{
switch(tf)
{
case 1: return PERIOD_M1;
case 2: return PERIOD_M5;
case 3: return PERIOD_M15;
case 4: return PERIOD_M30;
case 5: return PERIOD_H1;
case 6: return PERIOD_H4;
case 7: return PERIOD_D1;
default: return PERIOD_H1;
}
}
ENUM_APPLIED_PRICE MapAppliedPriceInt(int ap)
{
switch(ap)
{
case 1: return PRICE_CLOSE;
case 2: return PRICE_OPEN;
case 3: return PRICE_HIGH;
case 4: return PRICE_LOW;
case 5: return PRICE_MEDIAN;
case 6: return PRICE_TYPICAL;
case 7: return PRICE_WEIGHTED;
default: return PRICE_CLOSE;
}
}
ENUM_TIMEFRAMES g_InpTF = PERIOD_H1;
input group "=== Engine ==="
input string InpSymbolsCSV = "EURUSD"; // symbol list (CSV) or _Symbol if disabled
input bool InpEnableMultiSymbol = false; // enable multi-symbol loop
input int InpTF = 1; // Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // working timeframe
input bool InpUseTimerEngine = true; // use OnTimer instead of per-tick for multi-symbol
input int InpTimerSeconds = 1; // timer interval seconds
input group "=== Identification ==="
input int InpMagic = 22201014; // magic number
input string InpTradeComment = "Psgrowth.com Expert_01014"; // order comment prefix
input group "=== Risk & Execution ==="
input double InpFixedLot = 0.10; // fixed lot size
input int InpSL_Points = 250; // stop-loss in points
input int InpTP_Points = 500; // take-profit in points
input int InpSlippagePoints = 5; // max slippage (points)
input bool InpOneEntryPerBar = true; // restrict to one entry per bar
input int InpCooldownSeconds = 20; // side-specific cooldown seconds
input group "=== Direction Enable ==="
input bool InpEnableBuy = true; // allow long entries
input bool InpEnableSell = true; // allow short entries
الكود المصدري الكامل متاح عند التحميل
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.
تحذير صريح: لأغراض تعليمية فقط
تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.
وسطاء موصى بهم لهذا الإكسبرت
هذه الروبوتات تعمل على MT5 — استخدم وسيطاً موثوقاً بتنفيذ سريع وسبريد منخفض
إكسبرتات مشابهة
عرض جميع الإكسبرتاتإكسبرتات أخرى بنفس استراتيجية أخرى
Pipsgrowth EX01007 Adaptive — إكسبرت أدفايزر تكييفي
Pipsgrowth EX01007 Adaptive — Adaptive signal scorer EA combining EMA crossover, RSI, Heiken Ashi, Bollinger Bands, ATR and volume spike detection int. إكسبرت أدفايزر MT5 مفتوح المصدر.
Pipsgrowth EX01019 Adaptive — إكسبرت أدفايزر تكييفي
Pipsgrowth EX01019 Adaptive — Self-adaptive market regime EA that auto-detects trending, ranging, volatile, quiet and breakout conditions. Switches be. إكسبرت أدفايزر MT5 مفتوح المصدر.
Pipsgrowth EX15029 SMC-OrderBlock — إكسبرت أدفايزر إكسبرت أدفايزر
Pipsgrowth EX15029 SMC-OrderBlock — Smart Money Concepts breakout EA — detects order blocks, CHOCH and liquidity sweeps using EMA cross + structure break, A. إكسبرت أدفايزر MT5 مفتوح المصدر.
مجتمع المستخدمين
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.