Pipsgrowth EX03027 Grid — إكسبرت أدفايزر شبكة
إكسبرت أدفايزر MT5 مفتوح المصدر · XAUUSD · M5
Pipsgrowth EX03027 Grid — Equal-lot pyramid scalper using EMA crossover + SuperTrend confirmation. Pyramiding with fixed or auto lot capped by Max. إكسبرت أدفايزر MT5 مفتوح المصدر.
نظرة عامة
Pipsgrowth EX03027 مضاعف سلمي يعمل كسكالبير يبني الصفقة لما يصل إلى خمس طبقات، لكن فقط عندما يتفق تقاطع المتوسطين EMA(9/21) مع آلة حالة SuperTrend(10, 3.0) المحسوبة يدوياً. صُمّم Expert Advisor خصيصاً لزوج XAUUSD على الإطار الزمني M5، ويستخدم داخلياً مكدس iMA + iATR، ومبني بحيث يمكن تعزيز الصفقة في نفس الاتجاه دون مضاعفة مارتينجال: كل طبقة تُحجم بنفس معادلة نسبة المخاطرة، مع سقف MaxLotSize فقط.
مسار الإشارة واضح. في كل تيك ينجو من بوابة المخاطرة، تنسخ دالة OnTick أحدث ثلاث قيم من بافر المتوسط السريع وبافر المتوسط البطيء، مع ضبط البافرز كسلسلة ليكون آخر شمعة مغلقة عند الفهرس 1. تُعتبر إشارة شراء عندما يكون fastMA[1] فوق slowMA[1] في حين أن fastMA[2] كان لا يزال عند أو تحت slowMA[2]، والبيع هو النسخة المعكوسة. يُصفَّى هذا التقاطع بعد ذلك بواسطة superTrendDirection: لا تُرسل إشارة الشراء إلا عندما تكون حالة SuperTrend هي +1 (صاعد)، ولا تُرسل إشارة البيع إلا عندما تكون -1 (هابط). أي حالة مسطحة أو قيمة SuperTrend مفقودة لا تنتج دخولاً، حتى لو كان تقاطع EMA مثالياً.
يُحسب SuperTrend داخلياً بدلاً من استدعاء iCustom. تعيد دالة InitSuperTrendHistory تشغيل 200 شمعة عند التهيئة لبذر متغيرات الحالة (الحد العلوي النهائي، الحد السفلي النهائي، والاتجاه) حتى لا يبدأ Expert Advisor بحالة مكسورة. بعد التهيئة، تعمل CalculateSuperTrend مرة لكل شمعة جديدة داخل OnTick، محمية بثابت lastCalcTime يقارن iTime(_Symbol, _Period, 0). الحد العلوي الأساسي هو (High + Low) / 2 + multiplier * ATR، والحد السفلي الأساسي هو المرآة؛ والحد النهائي هو الحد الأساسي ما لم يخترق إغلاق الشمعة السابقة الحد النهائي السابق، وفي هذه الحالة يُحكم الحد النهائي. ينقلب الاتجاه عندما يخترق إغلاق الشمعة الحد النهائي النشط على الجانب الآخر.
المضاعمة الهرمية تُبنى فوق الصفقة الأولى. عندما تكون هناك صفقة مفتوحة و UsePyramiding = true، تمشي ManagePyramid في PositionsTotal بالعكس، تختار آخر صفقة مفتوحة تنتمي لماجيك هذا Expert Advisor، وتقيس المسافة من ذلك الدخول إلى الـ bid الحالي (للشراء) أو الـ ask (للبيع). إذا تحرك السعر بمقدار PyramidStep_Pips = 30 نقطة على الأقل في الاتجاه المواتي وانقضت MinSecondsBetweenAdds = 60 ثانية منذ lastTradeTime، تُضاف طبقة جديدة — لكن فقط إذا ظل SuperTrend متفقاً مع الاتجاه القائم. الحد الافتراضي لـ MaxLayers هو 5، فالهرم المكتمل هو الدخول الأول زائد أربع إضافات. لا تُضرب اللوتات: كل طبقة تمر بنفس مسار CalcLot، والسقف الوحيد هو MaxLotSize = 10.0.
إدارة الصفقة جزئية في الإصدار الحالي. مفتاح الأمان UseBEAfterLayer2 يستدعي ApplySLToAll(GetAveragePrice()) بمجرد أن يصل عدد المراكز إلى 2، مما يضبط وقف الخسارة لكل طبقة عند متوسط الدخول المرجح بالحجم، أي ينقل السلة فعلياً إلى نقطة التعادل. مفتاح UseTrailAfterLayer3 مُوصَّل لكن كتلة التريلينغ في ManageExitLogic غير مكتملة في المصدر: تحسب trailDist والسعر الحالي لكن لا تعدّل فعلياً وقف الخسارة، فبمجرد أن يصل الهرم إلى ثلاث طبقات لا يقوم Expert Advisor بتعديل وقف الخسارة للأمام خلف السعر. تقاطع EMA العكسي هو إشارة الخروج الفعلية — تستدعي IsReverseSignal دالة CloseAllPositions عند تقاطع ضد الاتجاه الحالي، وهو المسار الذي تعتمد عليه الاستراتيجية لجني الأرباح.
ضوابط المخاطرة في طبقتين. الأولى هي البوابة الحية في بداية OnTick: تتحقق IsRiskStopHit من خسارة اليوم الجارية مقابل DailyMaxLossPct = 5.0% من initialEquityOfDay، وهذا المفتاح الواحد يوقف Expert Advisor لبقية اليوم في حالة الانطلاق. MaxEquityDDPct = 10.0% مكشوف في المدخلات لكنه لا يُستخدم لبوابة OnTick في الكود الحالي. الثانية هي IsSafeToTrade_EX03027، التي ترفض الدخول (لكن ليس الخروج) عندما يقع الوقت المحلي خارج نوافذ لندن 7-16 ونيويورك 12-21 بتوقيت GMT المكتشف، أو عندما يكون الرصيد تحت InpEquityFloor، أو عندما تتجاوز الخسائر المحققة InpDailyLossLimit أو InpWeeklyLossLimit، أو عندما يصل رصيد الحساب إلى InpCapitalCap أو يتجاوزه، أو عندما يصل g_dailyTrades إلى InpMaxTradesPerDay = 50، أو عندما يصل عداد الخسائر المتتالية إلى InpMaxConsecLosses. كما يفرض معالج OnTradeTransaction فترة تهدئة 30 دقيقة بعد ثالث خسارة متتالية في الجلسة الحالية، حتى عندما يكون مدخل InpMaxConsecLosses مضبوطاً على 0.
التحجيم تلقائي افتراضياً. مع UseAutoLot = true، تضرب CalcLot رصيد الحساب في RiskPerTradePct = 0.5% / 100، وتقسم على stopPts * tickVal للحصول على لوت اسمي، وتقصه إلى MaxLotSize، وتقرّبه إلى أسفل إلى خطوة الحجم للرمز. مع UseAutoLot = false، تستخدم كل طبقة ببساطة InitialLot = 0.01. تحمّل الانزلاق هو SlippagePts = 5 نقاط، وتعيد TryOpen_EX03027 محاولة التنفيذ لما يصل إلى ثلاث مرات مع سكون 200 مللي ثانية عند أكواد REQUOTE أو TIMEOUT أو PRICE_OFF أو PRICE_CHANGED قبل أن تتخلى عن التيك. نوع التعبئة مضبوط على ORDER_FILLING_FOK.
طبقة الجلسة مزدوجة التكديس. مدخل TradingSessionHours الظاهر يُحلَّل بواسطة IsTradingTime إلى نافذة زمنية بالتوقيت المحلي للخادم (الافتراضي "08:00-20:00")، والتي تحجب معالجة التيك الخام. فوق ذلك، تعيد InActiveSession_EX03027 بناء الوقت بتوقيت GMT باستخدام DetectGMTOffset_EX03027 (heuristic يمشي بالإزاحات من -12 إلى +12 ويُقيّم المرشح الذي يقع على يوم عمل بين 07:00 و 21:00 GMT) ولا تقبل الصفقة إلا داخل نوافذ لندن أو نيويورك. النتيجة هي أن سكالبير الذهب هذا يعمل فعلياً فقط خلال جلستي لندن ونيويورك بتوقيت GMT، بصرف النظر عن مكان ساعة خادم الوسيط.
تقرير لوحة صغيرة في الزاوية العلوية اليسرى بالحالة الحالية عندما يكون ShowDashboard مفعّلاً. تعرض الحالة (Running أو RISK STOP HIT)، واتجاه SuperTrend (UP / DOWN / FLAT)، وعدد المراكز المفتوحة مقارنة بـ MaxLayers، ونسبة خسارة اليوم الجارية، ورصيد الحساب الحالي، وتُحدَّث في كل تيك. تُنشأ التسمية بواسطة ObjectCreate كنوع OBJ_LABEL وتُزال في OnDeinit.
ما يمكن توقعه في الاختبار العكسي. تُسجّل OnTester Expert Advisor على أنه (profit / maxDD) * (profitFactor عندما PF > 1) مع أرضية صفر قاسية عندما يكون maxDD صفراً أو عدد الصفقات أقل من 10، لذا يُكافأ المحسّن على العائد لكل وحدة من الانخفاض في الرصيد بدلاً من الربح الخام. عملياً، ينتج EX03027 سلسلة من تقاطعات EMA التي تتماشى مع انقلابات SuperTrend، ويفتح هرماً من خمس طبقات في أقوى الاتجاهات، ويجلس على نقطة التعادل في الطبقة الثانية، ويخرج عند التقاطع العكسي التالي أو جني الأرباح لكل صفقة عند 80 نقطة. على المتداولين الذين يريدون وقف خسارة متحرك حقيقي خلف هرم عميق أن يوسعوا ManageExitLogic — تلك هي النقطة الواضحة لإضافة التريلينغ المُعلن عنه في المدخلات لكنه غير منفّذ في الكود.
تفاصيل الاستراتيجية
في كل تيك ينجو من بوابات المخاطرة والجلسة، تنسخ OnTick آخر ثلاث قيم من بافرز المتوسط السريع والبطيء مع ArraySetAsSeries، وتستخرج تقاطع شراء أو بيع من الفهرس 1 مقابل الفهرس 2، ثم تقرأ اتجاه SuperTrend (آلة حالة يدوية تُحدَّث فقط على شموع جديدة) لتأكيد التقاطع. الدخول الأول هو الأكثر تحفظاً: يتطلب تقاطع EMA واتفاق SuperTrend مع ذلك الاتجاه، مع كون السلة فارغة. تراقب ManagePyramid بعد ذلك آخر صفقة مفتوحة، وتنتظر PyramidStep_Pips = 30 نقطة في الاتجاه المواتي، وتفتح طبقة أخرى — بنفس حجم اللوت، بدون ضرب — بشرط انقضاء تهدئة 60 ثانية وعدم انقلاب SuperTrend. SL 50 نقطة و TP 80 نقطة على كل طبقة، ثم بمجرد أن يصل عدد المراكز إلى 2، تنقل ApplySLToAll(GetAveragePrice()) كل وقف إلى متوسط دخول السلة. تُفرض طبقة المخاطرة اليومية في مكانين: تحجب IsRiskStopHit كل المعالجة بمجرد أن تخترق خسارة اليوم DailyMaxLossPct = 5.0%، وترفض IsSafeToTrade_EX03027 دخولاً جديداً خارج قناع جلسة GMT لندن/نيويورك، أو تحت أرضية الرصيد، أو بعد حد الخسارة اليومية/الأسبوعية، أو فوق حد الرصيد. يتابع OnTradeTransaction الربح/الخسارة المحقق ويفرض تهدئة 30 دقيقة بعد ثالث خسارة متتالية حتى عندما يُترك مدخل InpMaxConsecLosses عند 0.
يُفعَّل الدخول عند تقاطع مؤكد للمتوسط EMA(9) فوق EMA(21) (أو المرآة للبيع)، ببوابة من آلة حالة SuperTrend(10, 3.0) الداخلية التي يجب أن تقرأ +1 للشراء و -1 للبيع. يُكتشف التقاطع على آخر شمعة مغلقة (الفهرس 1 مقابل الفهرس 2)، لذا لا يتصرف Expert Advisor أبداً على شمعة لا تزال تتشكل. تُفتح الصفقة الأولى عندما تكون السلة فارغة؛ وتضاف الطبقات الهرمية عند كل خطوة 30 نقطة في الاتجاه المواتي لما يصل إلى MaxLayers = 5، مع تهدئة 60 ثانية بين الإضافات واتفاق SuperTrend مطلوب لكل طبقة.
تُدار الخروج بواسطة تقاطع EMA عكسي: عندما يرى هرم الشراء المتوسط السريع ينخفض تحت المتوسط البطيء (أو العكس للبيع)، تستدعي IsReverseSignal دالة CloseAllPositions لتسوية كل الطبقات في تمريرة واحدة. جني الأرباح لكل صفقة عند 80 نقطة مُرفق بكل دخول، لذا يمكن لطبقة واحدة أيضاً أن تخرج على جني الأرباح الخاص بها قبل وصول إشارة عكسية. تُنقل السلة إلى نقطة التعادل عبر ApplySLToAll(GetAveragePrice()) بمجرد أن تكون الصفقة الثانية حية، مما يبذر مسار الخروج بوقف خالي من المخاطرة عند متوسط الدخول.
تُفتح كل صفقة بوقف خسارة 50 نقطة محسوب بواسطة PipsToPoints(StopLossPips) في OpenTrade. بعد فتح الطبقة الثانية، تعيد ApplySLToAll كتابة وقف الخسارة لكل طبقة إلى متوسط الدخول المرجح بالحجم، مما يضع السلة عند نقطة التعادل. وقف الخسارة المتدرج المُعلن عنه في المدخلات (UseTrailAfterLayer3 + TrailOffsetPips = 20) غير منفَّذ فعلياً في ManageExitLogic — لا يقوم Expert Advisor بتحريك وقف الخسارة للأمام خلف السعر بمجرد أن يصل الهرم إلى ثلاث طبقات.
يرفق كل دخول بجني أرباح ثابت 80 نقطة (TakeProfitPips) محسوب كـ PipsToPoints(80) * _Point، لذا تخرج الطبقات الفردية على جني الأرباح الخاص بها دون انتظار إشارة السلة. لا يوجد جني أرباح على مستوى السلة — الخروج الجماعي الوحيد هو تقاطع EMA العكسي عبر CloseAllPositions. مع SL الافتراضي 50 نقطة و TP 80 نقطة، نسبة المخاطرة إلى العائد لكل طبقة هي 1:1.6.
مُصمم لزوج XAUUSD على M5، يحتاج EX03027 إلى وسيط Gold من نوع ECN أو فروقات أسعار منخفضة حتى لا تحجب بوابة الفروقات (MaxSpread_Pips = 20) الدخول أثناء الفتحات المتقلبة. الرصيد الموصى به: 100$ كحد أدنى، لكن واقعياً 300$+ لاجتياز هرم من 5 طبقات عند 0.5% لكل طبقة عبر تقلبات الذهب العادية. الأفضل تشغيله خلال نوافذ GMT لندن 7-16 ونيويورك 12-21 التي تفرضها InActiveSession_EX03027 — سيرفض Expert Advisor الفتح خارج تلك الساعات بصرف النظر عن TradingSessionHours. تعكس تسمية المخاطرة VERY_HIGH عمق الهرم وتنفيذ التريلينغ غير المكتمل، لذا يناسب هذا Expert Advisor المتداولين المرتاحين مع تعرض السلة والمستعدين لتوسيع ManageExitLogic بأنفسهم إذا أرادوا ترس حقيقي خلف الأهرامات العميقة.
منطق الاستراتيجية
Pipsgrowth EX03027 Grid — تحليل منطق الاستراتيجية (من كود .mq5)
العائلة: Grid
الماجيك: 22203027
الإصدار: 2.00
الوصف:
Equal-lot pyramid scalper using EMA crossover + SuperTrend confirmation. Pyramiding with fixed or auto lot capped by MaxLotSize (no martingale). Breakeven after layer 2, trailing after layer 3. Session filter and daily/equity drawdown stops. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester
المؤشرات:
- مؤشرات قياسية
الدوال الرئيسية:
OpenTrade()ManagePyramid()ManageExitLogic()IsRiskStopHit()UpdateDailyStats()GetAveragePrice()ApplySLToAll()CloseAllPositions()CountPositions()IsReverseSignal()
// Pipsgrowth EX03027 Grid — Execution Flow (from source analysis)
// Family: Grid
// Equal-lot pyramid scalper using EMA crossover + SuperTrend confirmation. Pyramiding with fixed or auto lot capped by MaxLotSize (no martingale). Breakeven after layer 2, trailing after layer 3. Session filter and daily/equity drawdown stops. 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اسحب الإكسبرت على رسم بياني — يُنصح بـ H1 أو H4 لروبوتات الشبكة
- 7حدد خطوة الشبكة (نقاط)، الحد الأقصى للأوامر، وحجم اللوت في نافذة الإعدادات
- 8فعّل Allow Algo Trading واضغط OK
معاملات الإكسبرت
| المعامل | الافتراضي | الوصف |
|---|---|---|
| InitialLot | 0.01 | Fixed Lot (if AutoLot=false) |
| UseAutoLot | true | Use Dynamic Lot Sizing |
| RiskPerTradePct | 0.5 | Risk % per trade (e.g. 0.5%) |
| MaxLotSize | 10.0 | Hard cap for Lot Size |
| MaxEquityDDPct | 10.0 | Hard Stop if Equity drops > X% |
| DailyMaxLossPct | 5.0 | Stop trading for day if Loss > X% |
| UsePipsInputs | true | Inputs below in Pips (true) or Points (false) |
| StopLossPips | 50 | Initial Stop Loss |
| TakeProfitPips | 80 | Initial Take Profit (per trade) |
| SlippagePts | 5 | Max Slippage in Points |
| MaxLayers | 5 | Max open positions |
| PyramidStep_Pips | 30 | Min distance for next layer |
| MinSecondsBetweenAdds | 60 | Cooldown between entries |
| UseBEAfterLayer2 | true | Move SL to BE after 2 trades |
| UseTrailAfterLayer3 | true | Trail SL after 3 trades |
| TrailOffsetPips | 20 | Distance to trail behind price (if enabled) |
| MaxSpread_Pips | 20.0 | Max allowed spread |
| MinFreeMarginPct | 300.0 | Min Free Margin % to open new trade |
| TradingSessionHours | "08:00-20:00" | "HH:MM-HH:MM" (Server Time) |
| InpMaxConsecLosses | 0 | --- Global Variables --- |
#property copyright "Pipsgrowth.com"
#property link "https://pipsgrowth.com"
#property version "2.00"
#property strict
#property description "Pipsgrowth.com EX03027 Gold_EMA_SuperTrend — EMA crossover + SuperTrend pyramid scalper, full 12-layer stack."
#include <Trade\Trade.mqh>
// --- Input Groups ---
input group "=== Risk Management ==="
input double InitialLot = 0.01; // Fixed Lot (if AutoLot=false)
input bool UseAutoLot = true; // Use Dynamic Lot Sizing
input double RiskPerTradePct = 0.5; // Risk % per trade (e.g. 0.5%)
input double MaxLotSize = 10.0; // Hard cap for Lot Size
input double MaxEquityDDPct = 10.0; // Hard Stop if Equity drops > X%
input double DailyMaxLossPct = 5.0; // Stop trading for day if Loss > X%
input group "=== Strategy Settings ==="
input int FastEMAPeriod = 9;
input int SlowEMAPeriod = 21;
input ENUM_MA_METHOD MAMethod = MODE_EMA;
input int SuperTrendPeriod = 10;
input double SuperTrendMultiplier = 3.0;
input group "=== Trade Settings ==="
input bool UsePipsInputs = true; // Inputs below in Pips (true) or Points (false)
input int StopLossPips = 50; // Initial Stop Loss
input int TakeProfitPips = 80; // Initial Take Profit (per trade)
input int SlippagePts = 5; // Max Slippage in Points
input int MagicNumber = 22203027;
input string InpTradeComment = "Psgrowth.com Expert_03027";
input group "=== Pyramiding ==="
input bool UsePyramiding = true;
input int MaxLayers = 5; // Max open positions
input int PyramidStep_Pips = 30; // Min distance for next layer
input int MinSecondsBetweenAdds = 60; // Cooldown between entries
input group "=== Management ==="
input bool UseBEAfterLayer2 = true; // Move SL to BE after 2 trades
input bool UseTrailAfterLayer3 = true; // Trail SL after 3 trades
input int TrailOffsetPips = 20; // Distance to trail behind price (if enabled)
input group "=== Filters ==="
input double MaxSpread_Pips = 20.0; // Max allowed spread
input double MinFreeMarginPct = 300.0; // Min Free Margin % to open new trade
input string TradingSessionHours = "08:00-20:00"; // "HH:MM-HH:MM" (Server Time)
input group "=== Visuals ==="
input bool ShowDashboard = true;
input group "=== Hardening GMT Sessions ==="
input bool InpUseGMTSessions = true;
input int InpLondonStartGMT = 7;
input int InpLondonEndGMT = 16;
input int InpNewYorkStartGMT = 12;
input int InpNewYorkEndGMT = 21;
input group "=== Hardening Capital Protection ==="
الكود المصدري الكامل متاح عند التحميل
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.
تحذير صريح: لأغراض تعليمية فقط
تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.
وسطاء موصى بهم لهذا الإكسبرت
هذه الروبوتات تعمل على MT5 — استخدم وسيطاً موثوقاً بتنفيذ سريع وسبريد منخفض
إكسبرتات مشابهة
عرض جميع الإكسبرتاتإكسبرتات أخرى بنفس استراتيجية شبكة
Pipsgrowth EX03022 Grid — إكسبرت أدفايزر شبكة
Pipsgrowth EX03022 Grid — Hedging + grid recovery EA that opens opposing positions at configurable distance. Uses a hedge-and-recover approach wit. إكسبرت أدفايزر MT5 مفتوح المصدر.
Pipsgrowth EX03020 Grid — إكسبرت أدفايزر شبكة
Pipsgrowth EX03020 Grid — Dynamic grid scalper with MA trend filter. Places a grid of limit orders in the trend direction based on MA signal. Opti. إكسبرت أدفايزر MT5 مفتوح المصدر.
Pipsgrowth EX03021 Grid — إكسبرت أدفايزر شبكة
Pipsgrowth EX03021 Grid — Grid system with optional martingale lot progression for major pairs. Places initial buy and a ladder of BuyLimit orders. إكسبرت أدفايزر MT5 مفتوح المصدر.
مجتمع المستخدمين
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.