TEST 1.0

0.01

Prompt

//+------------------------------------------------------------------+ //| CandleContextTriggerEA_v0_36.mq5 | //| Candle-context EA with signal outcome diagnostics | //+------------------------------------------------------------------+ #property strict #property version "0.036" #property description "Multi-symbol candle context EA with diagnostic prediction stability engine" #include <Trade/Trade.mqh> CTrade trade; enum ENUM_TRIGGER_MODE { TRIGGER_CLOSED=0, TRIGGER_INTRABAR=1 }; enum ENUM_LOT_MODE { LOT_FIXED=0, LOT_FREE_MARGIN_PERCENT=1 }; enum ENUM_BASKET_TARGET_MODE { BASKET_MONEY=0, BASKET_BALANCE_PERCENT=1 }; enum ENUM_SIGNAL { SIG_SELL=-1, SIG_WAIT=0, SIG_BUY=1 }; input group "الإعدادات العامة" input string InpSymbols="EURUSD,GBPUSD,USDJPY,XAUUSD,BTCUSD"; // الأزواج/الأصول المستهدفة input ENUM_TIMEFRAMES InpTimeframe=PERIOD_M1; // إطار التحليل input ENUM_TRIGGER_MODE InpTriggerMode=TRIGGER_CLOSED; // توقيت المحفز input ulong InpMagic=26102420; // الرقم السحري input int InpDeviationPoints=20; // الانزلاق المسموح للتنفيذ input bool InpEnableBuy=true; // تفعيل الشراء input bool InpEnableSell=true; // تفعيل البيع input bool InpAllowOppositeBasket=false; // السماح بسلة شراء وبيع معاً للرمز نفسه input int InpMaxPositionsPerSymbol=12; // الحد الأقصى لصفقات الرمز input group "التحليل التاريخي للمحفز" input int InpHistoryBars=1200; // عدد الشموع التاريخية input int InpContextBars=8; // عمق السياق السابق input int InpOutcomeHorizon=5; // أفق قياس النتائج التاريخية input int InpMinSimilarCases=12; // أقل عدد حالات مشابهة input double InpSimilarityThreshold=0.68; // أقل تشابه للحالة (0-1) input double InpDifferentPatternWeight=0.85; // وزن الحالة التاريخية عند اختلاف نوع المحفز (0-1؛ 1 يعني بلا تخفيض) input double InpMinConfidence=0.56; // أقل ثقة اتجاهية بين الشراء والبيع (0-1) input double InpMinDirectionalEdge=0.08; // أقل فارق بين احتمال الشراء والبيع (0-1) input double InpMinExpectedMoveScore=0.04; // أقل قوة للحركة المستقبلية المعيارية (0 إلى 1) input double InpNeutralPoints=20; // حد مرجعي بالنقاط للتشخيص والمقارنة فقط input double InpNeutralVolatilityMultiplier=0.15; // حد الحياد الديناميكي = متوسط مدى الشموع السابقة × هذه النسبة input double InpNeutralMinRangeFraction=0.05; // الحد الأدنى كنسبة من متوسط المدى السابق input double InpNeutralMaxRangeFraction=0.50; // الحد الأقصى كنسبة من متوسط المدى السابق input int InpPreviousTriggers=2; // ربط المحفزات السابقة: 0-2 (تأثير مرن لا استبعاد قطعي) input bool InpUseHammer=true; // المطرقة input bool InpUseHangingMan=true; // الرجل المشنوق input bool InpUseInvertedHammer=true; // المطرقة المقلوبة input bool InpUseShootingStar=true; // الشهاب input bool InpUseDoji=true; // دوجي input bool InpUseDragonflyDoji=true; // دوجي اليعسوب input bool InpUseGravestoneDoji=true; // دوجي شاهد القبر input bool InpUseLongLeggedDoji=true; // دوجي طويل الأرجل input bool InpUseFourPriceDoji=true; // دوجي رباعي الأسعار input bool InpUseSpinningTop=true; // القمة الدوارة input bool InpUseHighWave=true; // الموجة العالية input bool InpUseLongLowerWick=true; // الذيل السفلي الطويل input bool InpUseLongUpperWick=true; // الذيل العلوي الطويل input group "اللوت الديناميكي" input ENUM_LOT_MODE InpLotMode=LOT_FREE_MARGIN_PERCENT; // طريقة حساب اللوت input double InpFixedLot=0.01; // اللوت الثابت عند اختياره input double InpFreeMarginPercent=2.0; // نسبة الهامش الحر المستخدمة لحساب اللوت input double InpMinLot=0.01; // أقل لوت input double InpMaxLot=1.0; // أعلى لوت input double InpLotMultiplier=2.0; // مضاعف لوت التعزيز input group "التعزيز بالمضاعفة" input bool InpEnableAveraging=true; // تفعيل التعزيز input int InpAddDistancePoints=300; // المسافة المعاكسة قبل التعزيز بالنقاط input int InpMinSecondsBetweenAdds=10; // الفاصل الزمني بين عمليات التعزيز input group "جني الأرباح الجماعي المحلي" input ENUM_BASKET_TARGET_MODE InpBasketTargetMode=BASKET_BALANCE_PERCENT; // نوع هدف السلة input double InpBasketTargetMoney=5.0; // هدف الربح النقدي لكل رمز input double InpBasketTargetBalancePercent=0.5; // هدف الربح كنسبة من الرصيد لكل رمز input bool InpIncludeSwapCommission=true; // إضافة السواب وعمولات الصفقات إلى ربح السلة enum ENUM_PANEL_VISIBILITY { PANEL_HIDDEN=0, PANEL_VISIBLE=1 }; enum ENUM_PANEL_POSITION { PANEL_RIGHT=0, PANEL_LEFT=1, PANEL_TOP=2 }; enum ENUM_PANEL_DENSITY { PANEL_COMPACT=0, PANEL_BALANCED=1, PANEL_DETAILED=2 }; enum ENUM_PANEL_SYMBOLS { PANEL_SELECTED_SYMBOL=0, PANEL_ALL_SYMBOLS=1 }; enum ENUM_PANEL_SIGNAL_STYLE { PANEL_NUMBERS=0, PANEL_BARS=1 }; enum ENUM_PANEL_SIZE { PANEL_SMALL=0, PANEL_MEDIUM=1, PANEL_LARGE=2 }; enum ENUM_PANEL_DETAILS { PANEL_DETAILS_HIDDEN=0, PANEL_DETAILS_SHORT=1, PANEL_DETAILS_FULL=2 }; enum ENUM_PANEL_FEATURE { PANEL_FEATURE_OFF=0, PANEL_FEATURE_ON=1 }; input group "واجهة الشارت — العرض والتخطيط" input ENUM_PANEL_VISIBILITY InpPanelVisibility=PANEL_VISIBLE; // تشغيل/إيقاف عرض اللوحة input ENUM_PANEL_POSITION InpPanelPosition=PANEL_RIGHT; // موضع اللوحة input ENUM_PANEL_DENSITY InpPanelDensity=PANEL_BALANCED; // كثافة المعلومات input ENUM_PANEL_SYMBOLS InpPanelSymbols=PANEL_ALL_SYMBOLS; // الرموز المعروضة input ENUM_PANEL_SIGNAL_STYLE InpPanelSignalStyle=PANEL_BARS; // تمثيل احتمالات الإشارة input ENUM_PANEL_SIZE InpPanelSize=PANEL_MEDIUM; // حجم اللوحة input ENUM_PANEL_DETAILS InpPanelDiagnostics=PANEL_DETAILS_SHORT; // مستوى تفاصيل التشخيص input ENUM_PANEL_FEATURE InpPanelBasketSummary=PANEL_FEATURE_ON; // عرض عدد الصفقات وربح السلة input ENUM_PANEL_FEATURE InpPanelTargetLine=PANEL_FEATURE_ON; // عرض خط هدف السلة للرمز الحالي input group "السجل" input bool InpEnableCSVLog=true; // حفظ سجل CSV input string InpCSVFile="CandleContextTriggerEA_v0_36.csv"; // ملف السجل input bool InpJournalLog=true; // التسجيل في Experts input bool InpLogSignalOutcomes=true; // تسجيل نتائج الإشارات بعد اكتمال الأفق enum ENUM_ADAPTIVE_FEEDBACK { FEEDBACK_OFF=0, FEEDBACK_ON=1 }; input group "التعلم من نتائج الحركة" input ENUM_ADAPTIVE_FEEDBACK InpAdaptiveFeedback=FEEDBACK_ON; // تفعيل/إيقاف تأثير النتائج على الإشارة input int InpLearningMinSamples=5; // أقل عدد نتائج قبل التأثير على الإشارة input double InpLearningInfluence=0.25; // أقصى تأثير للتعلم على وزن الاتجاه (0-0.5) input string InpLearningFile="CandleContextTriggerEA_v0_36_learning.csv"; // ملف ذاكرة التعلم المستمرة

Drag to resize
Drag to resize