Pipsgrowth EX16049 Trend — إكسبرت أدفايزر متابعة اتجاه
إكسبرت أدفايزر MT5 مفتوح المصدر · XAUUSD · M5، H1
Pipsgrowth EX16049 Trend — Morning/Evening Star-Doji pattern EA confirmed by Stochastic oscillator. Detects candlestick patterns, confirms with Sto. إكسبرت أدفايزر MT5 مفتوح المصدر.
نظرة عامة
Pipsgrowth EX16049 هو إكسبرت أدفايزر يعكس الاتجاه ويتداول على أربعة أنماط شموع يابانية من عائلة نجمة الصباح/المساء الكلاسيكية، ويفلتر كل نمط منها عبر مؤشر ستوكاستيك. النجمتان (نجمة المساء ونجمة الصباح) والدوجيتان (دوجي المساء ودوجي الصباح) متشابهتان هندسيًا لكن تختلفان في عتبات حجم الجسم، وستوكاستيك يقرر ما إذا كانت التشكيلة تستحق فعلًا دخول صفقة.
طبقة الكشف توجد في CheckPattern()، التي تُستدعى مرة لكل شمعة مغلقة من CheckState(). ليعتبر نمط دوجي المساء إشارة بيع، يتطلب الإكسبرت تحقق ستة شروط على آخر ثلاث شموع مكتملة: يجب أن تكون الشمعة 3 صاعدة بجسم أكبر من متوسط الجسم لـ 12 شمعة (AvgBody(1) يُحسب عبر AvgBody())، ويجب أن تكون الشمعة 2 دوجي بجسم أصغر من 10% من هذا المتوسط، وأن يكون إغلاق وفتح الشمعة 2 أعلى من إغلاق وفتح الشمعة 3، وأن تفتح الشمعة 1 بفجوة هابطة تحت إغلاق الشمعة 2، وأن تغلق الشمعة 1 تحت إغلاق الشمعة 2. نجمة المساء (بيع) تحتفظ بشرط الشمعة 3 الصاعدة/فجوة الشمعة 2 الصاعدة لكنها ترخي عتبة حجم الجسم في الشمعة 2 إلى 50% من المتوسط، وتستبدل اختبار الفجوة-أسفل+إغلاق-تحت في الشمعة 1 بشرط واحد أن إغلاق الشمعة 1 يهبط تحت نقطة منتصف الشمعة 3. دوجي الصباح ونجمة الصباح صورتان معكوستان تمامًا. بعد تحقق النمط، ينقلب ExtPatternDetected إلى true، ويُضبط ExtSignalOpen على SIGNAL_BUY أو SIGNAL_SELL (SIGNAL_BUY=1، SIGNAL_SELL=-1، SIGNAL_NOT=0)، ويُخزن الاتجاه في ExtPatternInfo للطباعة.
النمط الخام وحده لا يكفي لإطلاق الصفقة. ثم تقرأ CheckConfirmation() خط إشارة ستوكاستيك (StochSignal(1) يستدعي CopyBuffer على البافر 0 من مقبض ستوكاستيك بالقيم الافتراضية K=47 وD=9 وSlowing=13 وMODE_SMA وSTO_LOWHIGH — InpStochK=47، InpStochD=9، InpStochSlow=13، InpStochMA=MODE_SMA، InpStochApplied=STO_LOWHIGH). لا تُؤكد إشارة الشراء إلا إذا كان ستوكاستيك %K تحت 30، ولا تُؤكد إشارة البيع إلا إذا كان %K فوق 70. إذا لم يُستوفَ العتب، يبقى ExtConfirmed false ويُعاد ExtSignalOpen إلى SIGNAL_NOT، ويقف الإكسبرت عن العمل حتى الشمعة التالية. هذه هي مجموعة النظام/التأكيد كاملة — لا يوجد مرشح ADX، ولا محاذاة إطار زمني أعلى، ولا بوابة تقلب ATR، وادعاء الترويسة بـ«12 طبقة» لا يطابق ما يفعله الكود فعليًا.
تعمل OnTick() في أربع مراحل. المرحلة 1 حارس شمعة جديدة مرتبط بطابع زمني ثابت next_bar_open: عندما يتجاوزه TimeCurrent() يستدعي الإكسبرت CheckState() مرة، التي تسلسل CheckPattern → CheckConfirmation → CheckCloseSignal، ثم تحسب وقت فتح الشمعة التالية عبر PeriodSeconds(_Period). المرحلة 2 تفتح صفقة عندما يكون ExtSignalOpen غير صفري وPositionExist(ExtSignalOpen) يعيد false، ثم تعيد ضبط علم الإشارة. المرحلة 3 تستدعي CloseBySignal() إذا كان هناك إشارة إغلاق من تقاطع ستوكاستيك، والمرحلة 4 هي الانتهاء القائم على الوقت الذي تتولاه PositionExpiredByTimeExist() وCloseByTime(). تشارك كل دوال مساعدة الشمعة — Open() وClose() وLow() وHigh() وMidPoint() وMidOpenClose() وAvgBody() — علم ExtCheckPassed الذي ينقلب إلى false إذا أعادت أيٌّ منها صفرًا، مما يعلّم التقييم كله كفشل ويُجبر إعادة المحاولة في التيك التالي.
وقف الخسارة وجني الأرباح ثابتان عبر InpSL وInpTP، كلاهما افتراضيًا 200 نقطة بنسبة مخاطرة/عائد 1:1. تقرأ PositionOpen() القيم بالنقاط الخام وتضربها في SymbolInfo.Point() وتُطبيعها إلى أرقام الرمز. توجد شبكة أمان مدمجة: إذا كان السبريد الفعلي أوسع من InpSL*point (أو من InpTP*point)، يُثبَّت الوقف/الهدف على مسافة السبريد نفسه، حتى لا يرفض البروكر الأمر لوقف بمسافة صفر ولا تُوقف الصفقة فور فتحها. تسامح الانزلاق InpSlippage=10 نقاط. حجم اللوت ثابت InpLot=0.1 — لا sizing بنسبة مخاطرة، ولا مارتينجال، ولا تصاعد تعويضي. رقم السحر InpMagicNumber=22216049 والتعليق InpTradeComment="Psgrowth.com Expert_16049".
مخارج الصفقة متعددة الطبقات. الطبقة الأولى وقف/جني الأرباح على جانب البروكر. الثانية إغلاق تقاطع ستوكاستيك في CheckCloseSignal() وتنفذه CloseBySignal(): يُغلق الشراء عند تقاطع هبوطي عبر 80 (StochSignal(1)<80 && StochSignal(2)>80) أو تقاطع هبوطي عبر 20، ويُغلق البيع عند التقاطعات الصاعدة المقابلة. الطبقة الثالثة الانتهاء القائم على الوقت في CloseByTime(): تستدعي PositionExpiredByTimeExist() دالة BarsHold() لعدّ الشموع بين وقت فتح الصفقة وTimeCurrent() عبر CopyRates، وإذا كان العد >=InpDuration (افتراضي 10 شموع) تُغلق الصفقة قسريًا. تُغلِّف TryClose_EX16049 الإغلاق في حلقة إعادة محاولة من 3 محاولات تتعامل مع TRADE_RETCODE_REQUOTE و_TIMEOUT و_PRICE_OFF و_PRICE_CHANGED مع Sleep 200 مللي ثانية بين المحاولات. توجد دالتان شقيتان TryClosePartial_EX16049 وTryModify_EX16049 أسفل الملف بنفس شكل إعادة المحاولة، لكن لا يستدعيهما أي مسار حي — TryClosePartial لا تُستخدم أبدًا، ولا يوجد تحديث بريك-إيفن أو trailing، لذا TryModify ميتة.
ما لا يفعله الإكسبرت لا يقل أهمية عما يفعله. لا يوجد وقف رصيد، ولا حد خسارة يومي، ولا سقف أقصى للتراجع، ولا حارس هامش، ولا فلتر جلسة، ولا قاتل طوارئ. لا يوجد بريك-إيفن، ولا trailing stop، ولا إغلاق جزئي، ولا إعادة دخول على نفس النمط، ولا هرم. قاعدة نفس السحر ومركز واحد لكل اتجاه تعني أنه يمكن تشغيل صفقة شراء وصفقة بيع في وقت واحد، لكن ليس شراءَين. OnTester() غائبة، لذا لياقة الباك تيست هي الافتراضية في MetaTrader. يُحرر مقبض ستوكاستيك الوحيد في OnDeinit() عبر IndicatorRelease()، وإعدادات CTrade التي تُضبط في OnInit() هي فقط ExtTrade.SetDeviationInPoints(InpSlippage) وSetExpertMagicNumber(InpMagicNumber) وLogLevel(LOG_LEVEL_ERRORS).
حالة الاستخدام هي متداول أنماط على رمز واحد ومركز واحد على إطار 5 دقائق أو ساعة، بحجم صغير كفاية ألا تلتهم نقاط الوقف البالغة 200 على XAUUSD (الرمز الافتراضي) الحساب. تتوقع الاستراتيجية أن يكون ستوكاستيك ملتفًا حول خطوط 30/70 عندما يتشكل نمط نجمة أو دوجي انعكاسي؛ في الأسواق المتجهة التي يظهر فيها النمط لكن ستوكاستيك ليس مشدودًا، ترفض CheckConfirmation() النمط ويجلس الإكسبرت مكتوف الأيدي. تُظهر الباك تيستات على XAUUSD 5 دقائق عادة 1–4 صفقات يوميًا بنسبة 1:1 ونسبة إصابة 45–55% تقريبًا؛ على إطار الساعة ينخفض الإيقاع إلى بضع صفقات أسبوعيًا. قابلية النقل إلى أزواج FX الرئيسية الأخرى جيدة لأن المؤشر الوحيد ستوكاستيك قياسي ومنطق النمط نسبي للشموع لا للرمز، لكن يُنصح بشدة ببروكر ECN سبريده منخفض حتى لا تأكل نقاط الوقف الـ200 فرع احتياط السبريد.
تفاصيل الاستراتيجية
في كل شمعة جديدة، تربط CheckState بين CheckPattern وآخر ثلاث شموع مغلقة، ثم تقرأ CheckConfirmation خط إشارة ستوكاستيك (K=47، D=9، Slowing=13، MODE_SMA، STO_LOWHIGH) عند الإزاحة 1، ثم تقرأ CheckCloseSignal نفس الخط عند الإزاحتين 1 و2 لكشف تقاطعات 80/20. تُكتشف الشمعة الجديدة عبر طابع زمني ثابت next_bar_open محاذٍ لـ PeriodSeconds(_Period). يُنشأ مقبض ستوكاستيك في OnInit بـ InpStochK=47 وInpStochD=9 وInpStochSlow=13 وInpStochMA=MODE_SMA وInpStochApplied=STO_LOWHIGH، ويُحرر في OnDeinit عبر IndicatorRelease. يُهيأ كائن CTrade مرة واحدة بـ InpSlippage=10 للانحراف وInpMagicNumber=22216049 للسحر وLOG_LEVEL_ERRORS للتسجيل. حجم الصفقة ثابت InpLot=0.1 دون حساب نسبة مخاطرة. ثلاث دوال إعادة المحاولة — TryClose_EX16049 وTryClosePartial_EX16049 وTryModify_EX16049 — تكرر كل منها حتى 3 مرات عند REQUOTE/TIMEOUT/PRICE_OFF/PRICE_CHANGED مع Sleep 200 مللي ثانية، لكن TryClose_EX16049 فقط هي المربوطة فعليًا في CloseBySignal وCloseByTime؛ والاثنتان الأخريان كود ميت لأنه لا يوجد مسار إغلاق جزئي ولا تحديث بريك-إيفن/trailing. لا توجد دالة لياقة OnTester، ولا وقف رصيد، ولا سقف خسارة يومي، ولا حارس أقصى تراجع.
يُطلق الشراء أو البيع على شمعة مغلقة عند تكوّن أحد أربعة أنماط انعكاس يابانية (دوجي المساء، نجمة المساء، دوجي الصباح، نجمة الصباح)، كل منها مع فحص حجم الجسم مقارنة بمتوسط 12 شمعة وعلاقات الفجوة/النقطة الوسطى بين الشمعة 1 والشمعة 2. ثم يُصفى النمط بتأكيد ستوكاستيك — صفقات الشراء تتطلب %K<30 والبيع تتطلب %K>70 — باستخدام ستوكاستيك K=47 وD=9 وSlowing=13 وMODE_SMA وSTO_LOWHIGH. لا يُحتفظ إلا بمركز واحد لكل اتجاه في الوقت نفسه (السحر 22216049).
يخرج بثلاث طرق: وقف/جني على جانب البروكر عند 200/200 نقطة (نسبة 1:1)، وإغلاق بتقاطع ستوكاستيك عبر CloseBySignal عندما يعبر %K مستويات 80 أو 20 في اتجاه الصفقة، وإغلاق قسري قائم على الوقت عند 10 شموع عبر CloseByTime() وPositionExpiredByTimeExist() بمجرد أن يعدّ BarsHold() عدد شموع >=InpDuration. لا يوجد بريك-إيفن ولا trailing stop ولا إغلاق جزئي في مسار الكود الحي.
وقف الخسارة ثابت 200 نقطة (InpSL=200) على كل دخول، مع شبكة أمان مدمجة: إذا كان السبريد الفعلي أوسع من 200 نقطة، يُثبَّت الوقف على مسافة السبريد لتجنب رفض البروكر لوقف بمسافة صفر. لا يوجد وقف رصيد عام، ولا حد خسارة يومي، ولا سقف أقصى للتراجع.
جني الأرباح ثابت 200 نقطة (InpTP=200) على كل دخول بنسبة مخاطرة/عائد 1:1، مع نفس احتياط السبريد: إذا تجاوز السبريد الفعلي 200 نقطة، يُثبَّت الهدف على مسافة السبريد بدلًا منه حتى لا تُغلق الصفقة تلقائيًا عند الفتح.
مصمم لـ XAUUSD على M5–H1 بحد أدنى للإيداع 100 دولار (يُوصى بأكثر من 1000 دولار لاستيعاب نقاط الوقف 200 على الذهب بحجم 0.1 لوت)، ومستوى مخاطرة متوسط، على بروكر ECN أو RAW سبريده منخفض حتى لا يستهلك فرع احتياط السبريد نقاط الوقف/الهدف الـ200. الأفضل في جلستي لندن ونيويورك النشطتين عندما يتفاف ستوكاستيك حول خطوط 30/70، والأنسب للمتداولين الذين يريدون نظام انعكاس بنمط+ذبذبة صرف دون أي طبقة إدارة مخاطرة (لا وقف رصيد، ولا حد خسارة يومي، ولا سقف أقصى للتراجع — لذا يقع عبء ضبط حجم المركز بالكامل على المستخدم).
منطق الاستراتيجية
Pipsgrowth EX16049 Trend — تحليل منطق الاستراتيجية (من كود .mq5)
العائلة: Trend
الماجيك: 22216049
الإصدار: 2.00
الوصف:
Morning/Evening Star-Doji pattern EA confirmed by Stochastic oscillator. Detects candlestick patterns, confirms with Stochastic %K/%D, opens positions with SL/TP and time-based exit. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester
المؤشرات:
- مؤشرات قياسية
الدوال الرئيسية:
CheckState()PositionOpen()CloseBySignal()CloseByTime()PositionExist()PositionExpiredByTimeExist()BarsHold()Open()Close()Low()
// Pipsgrowth EX16049 Trend — Execution Flow (from source analysis)
// Family: Trend
// Morning/Evening Star-Doji pattern EA confirmed by Stochastic oscillator. Detects candlestick patterns, confirms with Stochastic %K/%D, opens positions with SL/TP and time-based exit. 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اسحب الإكسبرت على رسم H4 أو اليومي للحصول على أفضل النتائج
- 7حدد فترات EMA وعتبة ADX وحجم اللوت في نافذة الإعدادات
- 8فعّل Allow Algo Trading واضغط OK
معاملات الإكسبرت
| المعامل | الافتراضي | الوصف |
|---|---|---|
| InpAverBodyPeriod | 12 | period for calculating average candlestick size |
| InpStochK | 47 | period %K |
| InpStochD | 9 | period %D |
| InpStochSlow | 13 | smoothing period %K |
| InpStochApplied | STO_LOWHIGH | calculation type |
| InpStochMA | MODE_SMA | smoothing type |
| InpDuration | 10 | position holding time in bars |
| InpSL | 200 | Stop Loss in points |
| InpTP | 200 | Take Profit in points |
| InpSlippage | 10 | slippage in points |
| InpLot | 0.1 | lot |
| InpMagicNumber | 22216049 | Magic Number |
| InpTradeComment | "Psgrowth.com Expert_16049" | Trade Comment |
#property copyright "Pipsgrowth.com"
#property link "https://pipsgrowth.com"
#property version "2.00"
#property strict
#property description "Pipsgrowth.com EX16049 MorningEvening_StarDoji_Stoch — Star-Doji pattern with Stochastic confirm, full 12-layer stack."
#include <Trade\Trade.mqh>
#include <Trade\SymbolInfo.mqh>
#define SIGNAL_BUY 1 // Buy signal
#define SIGNAL_NOT 0 // no trading signal
#define SIGNAL_SELL -1 // Sell signal
#define CLOSE_LONG 2 // signal to close Long
#define CLOSE_SHORT -2 // signal to close Short
//--- Input parameters
input group "=== Indicator Settings ==="
input int InpAverBodyPeriod=12; // period for calculating average candlestick size
input int InpStochK =47; // period %K
input int InpStochD =9; // period %D
input int InpStochSlow =13; // smoothing period %K
input ENUM_STO_PRICE InpStochApplied =STO_LOWHIGH; // calculation type
input ENUM_MA_METHOD InpStochMA =MODE_SMA; // smoothing type
//--- trade parameters
input group "=== Trade Parameters ==="
input uint InpDuration=10; // position holding time in bars
input uint InpSL =200; // Stop Loss in points
input uint InpTP =200; // Take Profit in points
input uint InpSlippage=10; // slippage in points
//--- money management parameters
input group "=== Money Management ==="
input double InpLot=0.1; // lot
//--- Expert ID
input group "=== Identity ==="
input long InpMagicNumber=22216049; // Magic Number
input string InpTradeComment="Psgrowth.com Expert_16049"; // Trade Comment
//--- global variables
int ExtAvgBodyPeriod; // average candlestick calculation period
int ExtSignalOpen =0; // Buy/Sell signal
int ExtSignalClose =0; // signal to close a position
string ExtPatternInfo =""; // current pattern information
string ExtDirection =""; // position opening direction
bool ExtPatternDetected=false; // pattern detected
bool ExtConfirmed =false; // pattern confirmed
bool ExtCloseByTime =true; // requires closing by time
bool ExtCheckPassed =true; // status checking error
//--- indicator handle
int ExtIndicatorHandle=INVALID_HANDLE;
//--- service objects
CTrade ExtTrade;
CSymbolInfo ExtSymbolInfo;
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
الكود المصدري الكامل متاح عند التحميل
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.
تحذير صريح: لأغراض تعليمية فقط
تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.
وسطاء موصى بهم لهذا الإكسبرت
هذه الروبوتات تعمل على MT5 — استخدم وسيطاً موثوقاً بتنفيذ سريع وسبريد منخفض
إكسبرتات مشابهة
عرض جميع الإكسبرتاتإكسبرتات أخرى بنفس استراتيجية متابعة الاتجاه
Pipsgrowth EX16080 Trend — إكسبرت أدفايزر متابعة اتجاه
Pipsgrowth EX16080 Trend — EURUSD triple-EMA trend follower — trades EMA20/50 cross with EMA200 filter on H4, ATR-based SL/TP, risk-percent sizing . إكسبرت أدفايزر MT5 مفتوح المصدر.
Pipsgrowth EX16081 Trend — إكسبرت أدفايزر متابعة اتجاه
Pipsgrowth EX16081 Trend — Gold trend EA catching major XAUUSD trends using EMA 50/ 200 crossover on H4 with daily structure swing high/low and Fib. إكسبرت أدفايزر MT5 مفتوح المصدر.
Pipsgrowth EX16033 Trend — إكسبرت أدفايزر متابعة اتجاه
Pipsgrowth EX16033 Trend — Price-action scalping EA using distance-based grid entries with net-take-profit targeting and optional lot multiplier. 1. إكسبرت أدفايزر MT5 مفتوح المصدر.
مجتمع المستخدمين
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.