در دنیای معاملات فارکس و بازارهای مالی، ابزارهای خودکارسازی معاملات (Expert Advisors یا EAs) نقش بسیار مهمی دارند. یکی از سادهترین و در عین حال قدرتمندترین اکسپرتها، Exp_WeightOscillator است که بر پایه WeightOscillator طراحی شده است. در این مقاله، به بررسی کامل این اکسپرت، نحوه نصب، عملکرد و نکات کاربردی آن میپردازیم.
۱. معرفی اکسپرت Exp_WeightOscillator 🖥️
Exp_WeightOscillator یک اکسپرت ساده و کاربردی برای MetaTrader 5 است که از نوسانگر وزنی WeightOscillator استفاده میکند.
ویژگیهای اصلی اکسپرت:
| ویژگی | توضیح |
|---|---|
| نام اکسپرت | Exp_WeightOscillator |
| نویسنده | ولادیمیر خلیستوف |
| پلتفرم | MetaTrader 5 |
| نوع معامله | خودکار بر اساس سیگنال نوسانگر وزنی |
| روش ورود به معامله | خرید در عبور صعودی نوسانگر از سطح اشباع فروش، فروش در عبور نزولی نوسانگر از سطح اشباع خرید |
| نیاز به اندیکاتور | WeightOscillator و WeightOscillator_HTF (پس از کامپایل اکسپرت، به صورت داخلی درج شدهاند) |
| سطح دشواری | مناسب برای معاملهگران مبتدی و حرفهای |
⚡ نکته مهم: سیگنالهای ورود زمانی تولید میشوند که کندل بسته شود و عبور از سطح اشباع رخ داده باشد. این باعث کاهش نویز و سیگنالهای غلط میشود.
۲. WeightOscillator و نقش آن در اکسپرت
اندیکاتور WeightOscillator یک نوسانگر ترکیبی است که چندین شاخص تکنیکال را وزندهی میکند:
- RSI
- MFI
- WPR (Williams %R)
- DeMarker
هر یک از این شاخصها وزن خاصی دارند و با ترکیب آنها، سیگنال دقیقتر و قابل اعتمادتر تولید میشود.
نحوه عملکرد:
- سیگنال خرید: زمانی تولید میشود که نوسانگر از سطح اشباع فروش عبور کند.
- سیگنال فروش: زمانی تولید میشود که نوسانگر از سطح اشباع خرید عبور کند.
🎯 نکته: به دلیل وزندهی ترکیبی، سیگنالهای تولید شده دقت بالاتری نسبت به نوسانگرهای معمولی دارند.
۳. WeightOscillator_HTF – برای نمایش در Strategy Tester
اندیکاتور WeightOscillator_HTF تنها برای نمایش بهتر روندها در Strategy Tester کاربرد دارد و در معاملات واقعی فعال نیست.
این ویژگی باعث میشود که شما بتوانید در محیط تست، روندها و سیگنالها را واضحتر مشاهده کنید و تصمیمات بهتری بگیرید.
۴. نصب و راهاندازی اکسپرت 💾
برای استفاده از اکسپرت، مراحل زیر را دنبال کنید:
مرحله ۱: قرار دادن فایلها
-
فایلهای کامپایل شده اندیکاتورها:
WeightOscillator.ex5WeightOscillator_HTF.ex5را در مسیر زیر قرار دهید:
<terminal_data_folder>\MQL5\Indicators
مرحله ۲: کامپایل اکسپرت
- پس از کامپایل فایل
Exp_WeightOscillator.ex5، اندیکاتورها به صورت داخلی در اکسپرت درج میشوند. - بنابراین، نیازی به وجود اندیکاتورها در پوشه ترمینال برای اجرای اکسپرت وجود ندارد.
مرحله ۳: اضافه کردن اندیکاتورها به کد (برای علاقهمندان به برنامهنویسی)
#resource "\\Indicators\\WeightOscillator.ex5"
#resource "\\Indicators\\WeightOscillator_HTF.ex5"
✅ این بخش باعث میشود که فایل اجرایی اکسپرت بتواند بدون نیاز به فایلهای اندیکاتور، روی هر ترمینالی اجرا شود.
۵. تنظیمات اکسپرت و اندیکاتور

در اکسپرت Exp_WeightOscillator، میتوانید تنظیمات مختلفی داشته باشید. برخی از مهمترین آنها شامل:
| پارامتر | توضیح |
|---|---|
| RSIWeight | وزن RSI در محاسبه نوسانگر |
| RSIPeriod | دوره زمانی RSI |
| RSIPrice | نوع قیمت برای RSI |
| MFIWeight | وزن MFI |
| MFIPeriod | دوره زمانی MFI |
| MFIVolumeType | نوع حجم در MFI |
| WPRWeight | وزن Williams %R |
| WPRPeriod | دوره زمانی WPR |
| DeMarkerWeight | وزن اندیکاتور DeMarker |
| DeMarkerPeriod | دوره زمانی DeMarker |
| bMA_Method | روش میانگین متحرک |
| bLength | طول میانگین متحرک |
| bPhase | فاز میانگین متحرک |
| HighLevel | سطح اشباع خرید |
| LowLevel | سطح اشباع فروش |
⚡ نکته مهم: در تستهای اولیه، Stop Loss و Take Profit استفاده نشدهاند تا عملکرد اصلی اکسپرت بررسی شود.
۶. نحوه گرفتن هندل اندیکاتور در اکسپرت
در کد اکسپرت، هندل اندیکاتور با دستور زیر گرفته میشود:
InpInd_Handle=iCustom(Symbol(),InpInd_Timeframe,"::Indicators\\WeightOscillator",RSIWeight,RSIPeriod,RSIPrice,MFIWeight,MFIPeriod,MFIVolumeType,
WPRWeight,WPRPeriod,DeMarkerWeight,DeMarkerPeriod,bMA_Method,bLength,bPhase,HighLevel,LowLevel);
if(InpInd_Handle==INVALID_HANDLE)
{
Print("دریافت هندل اندیکاتور WeightOscillator ناموفق بود");
return(INIT_FAILED);
}
برای نمایش در Strategy Tester، هندل اندیکاتور HTF به شکل زیر گرفته میشود:
if(MQLInfoInteger(MQL_VISUAL_MODE))
{
int Ind_Handle=iCustom(Symbol(),Period(),"::Indicators\\WeightOscillator_HTF",InpInd_Timeframe,
RSIWeight,RSIPeriod,RSIPrice,MFIWeight,MFIPeriod,MFIVolumeType,
WPRWeight,WPRPeriod,DeMarkerWeight,DeMarkerPeriod,bMA_Method,bLength,bPhase,HighLevel,LowLevel);
if(Ind_Handle==INVALID_HANDLE)
{
Print("دریافت هندل اندیکاتور WeightOscillator_HTF ناموفق بود");
return(INIT_FAILED);
}
}
🔹 این کدها اطمینان میدهند که اندیکاتور به درستی در اکسپرت بارگذاری شود.
۷. استفاده از اکسپرت در بروکرهای مختلف
اکسپرت Exp_WeightOscillator با کتابخانه TradeAlgorithms.mqh سازگار است.
ویژگیهای این کتابخانه:
- امکان استفاده در بروکرهایی با اسپرد غیرصفر
- امکان تنظیم Stop Loss و Take Profit هنگام باز کردن پوزیشن
📌 لینک دانلود نسخههای مختلف کتابخانه: Trade Algorithms
۸. مزایای استفاده از Exp_WeightOscillator ✅
- سادگی و راحتی استفاده – مناسب معاملهگران مبتدی
- دقت بالا – ترکیب چند شاخص در WeightOscillator باعث کاهش سیگنالهای اشتباه میشود
- امکان تست سریع – با WeightOscillator_HTF میتوانید روندها را در Strategy Tester بررسی کنید
- خودکفا بودن فایل اجرایی – بدون نیاز به اندیکاتورهای جداگانه
- قابلیت شخصیسازی – امکان تغییر وزنها و دورههای اندیکاتورها
۹. نکات مهم برای معاملهگران 📌
- همیشه قبل از استفاده در حساب واقعی، تست استراتژی در Strategy Tester انجام دهید.
- اگر میخواهید از Stop Loss و Take Profit استفاده کنید، کتابخانه TradeAlgorithms.mqh را اضافه کنید.
- بهتر است تنظیمات وزن اندیکاتورها و دورهها را با جفت ارز یا تایمفریم خود هماهنگ کنید.
- سیگنالها پس از بسته شدن کندل معتبر هستند؛ بنابراین از باز کردن پوزیشن قبل از بسته شدن کندل خودداری کنید.
اکسپرت Exp_WeightOscillator یک ابزار ساده، سبک و در عین حال کاربردی برای معاملهگران خودکار در MetaTrader 5 است. ویژگیهای برجسته آن شامل:
- استفاده از WeightOscillator برای تولید سیگنال دقیق
- امکان نمایش روندها با WeightOscillator_HTF در Strategy Tester
- فایل اجرایی مستقل بدون نیاز به اندیکاتورهای جداگانه
- امکان تنظیم وزن و دوره اندیکاتورها
- سازگاری با بروکرهای دارای اسپرد غیرصفر و قابلیت Stop Loss/Take Profit
💡 اگر به دنبال یک اکسپرت ساده، دقیق و قابل اعتماد برای معاملات خودکار هستید، Exp_WeightOscillator میتواند گزینهای ایدهآل باشد.
📌 توجه: این مقاله برای معاملهگران مبتدی و حرفهای نوشته شده و همه مفاهیم به صورت ساده و روان توضیح داده شده است.






