در دنیای معاملهگری فارکس، ترکیب سادهگی و هوشمندی همیشه موفقیتآمیز بوده است. یکی از رباتهای معاملاتی (اکسپرتها) که دقیقاً بر این اصل طراحی شده، اکسپرت Vitaly است. این ربات توسط دو فرد با تجربه در دنیای MQL5 ساخته شده است:
| بخش | نام |
|---|---|
| 💡 ایدهپرداز | Vitaly |
| 💻 نویسنده کد MQL5 | barabashkakvn |
این اکسپرت با استفاده از شاخص ADX (Average Directional Movement Index) و خطوط جهتدار DI+ و DI- تصمیم میگیرد که آیا بازار در حالت رونددار (Trend) یا خنثی (Flat) قرار دارد، و بر اساس آن، دستورات معاملاتی مناسب را اجرا میکند.
⚙️ ساختار کلی عملکرد اکسپرت Proffessor v3
اکسپرت Vitaly با استفاده از منطق ساده اما کاربردی زیر عمل میکند:
- ابتدا یک موقعیت اصلی خرید (BUY) یا فروش (SELL) باز میکند.
- سپس در فاصلهای مشخص با پارامتر Delta 1، یک دستور معلق Stop برای محافظت از معامله قرار میدهد.
- در مرحله بعد، یک شبکه (Grid) از دستورات معلق Limit یا Stop را با فاصلهای به اندازه Delta 2 میسازد.
- تعداد این دستورات در هر جهت (خرید یا فروش) توسط پارامتر Max Lines تعیین میشود.
به زبان ساده، این اکسپرت ترکیبی از استراتژیهای Grid Trading و Trend Detection است، که با استفاده از اندیکاتور ADX تصمیم میگیرد از چه نوع سفارشاتی استفاده کند.
📊 جدول پارامترهای مهم در اکسپرت Vitaly

| پارامتر | توضیح | عملکرد |
|---|---|---|
| Delta 1 | فاصله اولین دستور محافظتی | تنظیم فاصله Stop اصلی از پوزیشن باز |
| Delta 2 | فاصله بین دستورات شبکهای | فاصله بین سفارشات جدید |
| Max Lines | تعداد خطوط در هر جهت | تعیین تعداد کل سفارشات Limit/Stop |
| Profit Close | هدف سود کلی | بستن تمام معاملات در صورت دستیابی به سود مشخص |
| Loss Close | حد ضرر کلی | بستن تمام معاملات در صورت رسیدن به زیان کلی (در صورت فعال بودن) |
| Start hour / End hour | ساعت کاری اکسپرت | مشخص کردن بازه زمانی مجاز برای باز کردن معاملات |
🧩 جزئیات عملکرد تابع PendingOrder
در قلب این اکسپرت تابعی به نام PendingOrder وجود دارد که وظیفهی باز کردن دستورات معلق را بر عهده دارد.
در این تابع، اکسپرت با استفاده از پارامترهای زیر، سفارشات را تنظیم و ثبت میکند:
- نوع سفارش (order_type)
- حجم (volume)
- قیمت ورود (price)
- حد ضرر (SL)
- حد سود (TP)
در صورتی که سفارش به درستی ثبت شود، در لاگ متاتریدر پیام موفقیت چاپ میشود. در غیر این صورت، خطای مربوطه همراه با توضیحات آن نمایش داده خواهد شد تا کاربر بتواند علت را بررسی کند.
نمونه بخشی از کد تابع در زیر آمده است 👇
void PendingOrder(ENUM_ORDER_TYPE order_type,double volume,double price,double sl,double tp)
{
sl=m_symbol.NormalizePrice(sl);
tp=m_symbol.NormalizePrice(tp);
if(m_trade.OrderOpen(m_symbol.Name(),order_type,volume,0.0,
m_symbol.NormalizePrice(price),m_symbol.NormalizePrice(sl),m_symbol.NormalizePrice(tp)))
{
Print("#2 ",EnumToString(order_type)," -> true. Result Retcode: ",m_trade.ResultRetcode(),
", description: ",m_trade.ResultRetcodeDescription());
}
else
{
Print("#3 ",EnumToString(order_type)," -> false. Result Retcode: ",m_trade.ResultRetcode(),
", description: ",m_trade.ResultRetcodeDescription());
}
}
⏱️ زمانبندی اجرای معاملات
این اکسپرت فقط در بازهی زمانی تعیینشده توسط کاربر فعال میشود. یعنی شما میتوانید مشخص کنید که ربات از چه ساعتی تا چه ساعتی اجازه معامله داشته باشد.
🔸 Start hour: زمان آغاز فعالیت
🔸 End hour: زمان پایان فعالیت
نکته جالب این است که حتی اگر زمان شروع کمتر از زمان پایان باشد (مثلاً از 22 تا 3 بامداد)، اکسپرت باز هم درست عمل میکند و این بازه را به عنوان یک چرخه شبانه در نظر میگیرد.
💰 مدیریت سود و زیان
مدیریت سرمایه در این اکسپرت بسیار حرفهای طراحی شده است.
- هنگامی که مجموع سود معاملات به مقدار تعیینشده در Profit Close برسد، اکسپرت تمام معاملات را بسته و تمام سفارشات معلق را حذف میکند.
- اگر زیان معاملات از مقدار Loss Close عبور کند، اکسپرت نیز به همان شکل همه معاملات را میبندد تا از ضرر بیشتر جلوگیری شود.
🟢 اگر مقدار Loss Close برابر با 0.0 تنظیم شود، این ویژگی غیرفعال میشود و ربات تا زمانی که به هدف سود برسد به کار خود ادامه میدهد.
📈 منطق اصلی تصمیمگیری اکسپرت
این بخش، مهمترین قسمت از عملکرد اکسپرت Vitaly است. منطق تصمیمگیری آن بر اساس مقدار ADX و خطوط جهتدار DI+ و DI- بنا شده است:
| شاخص | شرط | نتیجه |
|---|---|---|
| ADX < 40 | بازار خنثی است (Flat) | استفاده از سفارشات Limit |
| ADX ≥ 40 | بازار رونددار است (Trend) | استفاده از سفارشات Stop |
| DI+ > DI- | تمایل بازار صعودی است | باز کردن موقعیت Buy |
| DI- > DI+ | تمایل بازار نزولی است | باز کردن موقعیت Sell |
🔍 به این ترتیب، اکسپرت با یک منطق ساده اما قدرتمند، تشخیص میدهد که در هر شرایطی از چه نوع استراتژی ورود استفاده کند — خرید یا فروش، با Limit یا Stop.
🧪 نتایج بهینهسازی (Optimization Results)
برای دستیابی به بهترین عملکرد، دو پارامتر کلیدی مورد آزمایش و بهینهسازی قرار گرفتهاند:
- Current Bar ADX در بازه 0 تا 2 با گام 1
- Work TimeFrame از تایمفریم M1 تا H1
نتایج بهینه برای دو جفتارز اصلی به شرح زیر است:
| جفتارز | Current bar ADX | Work TimeFrame | Loss Close |
|---|---|---|---|
| EURUSD | 0 | H1 | 0.0 |
| USDJPY | 2 | M1 | 0.0 |
🔹 در هر دو مورد، مقدار Loss Close = 0.0 بوده است، به این معنا که مدیریت ضرر کلی غیرفعال بوده و تمرکز روی سود تجمعی قرار داشته است.
🧠 مزایای استفاده از این اکسپرت
✅ سادگی و انعطافپذیری: بدون نیاز به تنظیمات پیچیده، تنها با چند پارامتر کلیدی قابل کنترل است.
✅ تطبیق با بازارهای مختلف: با توجه به مقدار ADX، نوع سفارشات بهصورت هوشمند تغییر میکند.
✅ مدیریت خودکار سود و ضرر: نیازی به نظارت مداوم نیست، همه چیز اتوماتیک انجام میشود.
✅ پشتیبانی از تایمفریمهای مختلف: از M1 تا H1 بهینهسازی و تست شده است.
✅ امنیت در معاملات: با قرار دادن سفارشات محافظتی Stop، از ضرر ناگهانی جلوگیری میشود.
⚠️ نکات مهم برای معاملهگران
- قبل از اجرای اکسپرت در حساب واقعی، حتماً آن را در حساب دمو تست کنید.
- مقادیر Delta 1 و Delta 2 را متناسب با نوسانات جفتارز مورد نظر خود تنظیم کنید.
- اگر در تایمفریمهای پایین مانند M1 کار میکنید، بهتر است از بروکرهایی با اسپرد پایین استفاده کنید.
- برای عملکرد بهینه، اتصال اینترنت و سرور متاتریدر باید پایدار باشد.
اکسپرت Vitaly یک ابزار قدرتمند و ساده برای معاملهگرانی است که به دنبال سیستمهای هوشمند و اتوماتیک هستند. این ربات با تکیه بر اندیکاتور ADX و منطق سادهی تشخیص روند، به شکل هوشمند بین بازارهای رنج و رونددار تمایز قائل میشود و بر اساس آن معاملات را انجام میدهد.اگر به دنبال روشی هستید که بتواند بدون نیاز به تحلیل لحظهبهلحظه، بازار را برای شما مدیریت کند، این اکسپرت گزینهای ایدهآل است.
✨ مشخصات خلاصه
| ویژگی | توضیح |
|---|---|
| 📊 اندیکاتور اصلی | ADX، DI+، DI- |
| ⚙️ سبک معامله | Grid Trading + Trend Detection |
| 💵 نوع سفارشات | Limit و Stop |
| ⏱️ بازه زمانی کاری | قابل تنظیم با Start و End hour |
| 💡 مناسب برای | معاملهگران میانمدت و کوتاهمدت |
| 📍 نسخه پلتفرم | MetaTrader 5 (MQL5) |
✅ نتیجهگیری: اکسپرت Vitaly با ترکیب تحلیل جهتدار ADX، مدیریت هوشمند معاملات و ساختار شبکهای، یک ابزار حرفهای برای معاملهگران هوشمند است که میخواهند بدون استرس، به سود مستمر در بازار فارکس برسند.



