درستی حجم ترید را قبل از ارسال سفارش چک کن!!

قبل از ارسال سفارشات تجاری لازم است صحت حجم‌های مشخص شده در سفارش ها بررسی شود. یعنی یک حداقل و حداکثر حجم معاملات مجاز برای نمادها وجود دارد که ما باید رعایت کنیم.

چک کردن خطای حجم نامعتبر [Invalid volume]

اگر بخواهید به صورت دستی ترید کنید خود بروکر، جایی که می‌خواهید حجم را تعیین کنید اجازه نمی‌دهد حجم نامعتبری را انتخاب کنید. ولی زمانی که می‌خواهید از اکسپرت استفاده کنید مخصوصا زمان‌هایی که با استفاده از فرمول(مثلا درصد ریسک) می‌خواهید حجم تعیین شود باید اعتبار یا مجاز بودن حجم چک شود. خطای حجم نامعتبر را در عکس زیر مشاهده می‌کنید.

برای اینکه این موضوع را تست کنید توصیه می‌کنم با اکسپرت یک ترید با حجم مثلا 0.001 بگیرد و مثل عکس زیر خطای [Invalid volume] را مشاهده کنید.

چک کردن حجم نامعتبر

چک کردن حجم ترید قبل از ارسال

شما قبل از اینکه سفارشی را ارسال کنید از تابع زیر برای چک کردن حجم ترید استفاده کنید

MQL5 – MQL4

				
					//+------------------------------------------------------------------+
//| Check the correctness of the order volume                        |
//+------------------------------------------------------------------+
bool CheckVolumeValue(double volume,string &description)
  {
//--- minimal allowed volume for trade operations
   double min_volume=SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_MIN);
   if(volume<min_volume)
     {
      description=StringFormat("Volume is less than the minimal allowed SYMBOL_VOLUME_MIN=%.2f",min_volume);
      return(false);
     }

//--- maximal allowed volume of trade operations
   double max_volume=SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_MAX);
   if(volume>max_volume)
     {
      description=StringFormat("Volume is greater than the maximal allowed SYMBOL_VOLUME_MAX=%.2f",max_volume);
      return(false);
     }

//--- get minimal step of volume changing
   double volume_step=SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_STEP);

   int ratio=(int)MathRound(volume/volume_step);
   if(MathAbs(ratio*volume_step-volume)>0.0000001)
     {
      description=StringFormat("Volume is not a multiple of the minimal step SYMBOL_VOLUME_STEP=%.2f, the closest correct volume is %.2f",
                               volume_step,ratio*volume_step);
      return(false);
     }
   description="Correct volume value";
   return(true);
  }
				
			

نتیجه گیری

توابع بالا را می‌توانید کپی کنید و قبل از اینکه سفارش را ارسال کنید درستی حجم را چک کنید. البته تغییراتی می‌توانید در این تابع ایجاد کنید مثلا خروجی تابع را از جنس double در نظر بگیرید و  مثلا زمانی که حجم کمتر از حداقل حجم بود به خروجی حداقل حجم را برگرداند. این کار باعث می‌شود اگر سیگنال خوبی دریافت کردید به دلیل حجم نامعتبر موقیعت را از دست ندهید.

Picture of احمد هندیان‌ پور

احمد هندیان‌ پور

نویسنده و مدرس اکسپرت‌نویسی فارکس

دوره‌های اکسپرت‌نویسی رایگان

اگر می‌خواهید اکسپرت نویسی را به صورت کاربردی یاد بگیرد پیشنهاد می‌کنم شروع به دیدن دوره‌های زیر کنید.

گپ و گفت کاربران در مورد این محصول

لطفا با نظرات خوبتون، ما را در بالا بردن کیفیت یاری کنید. نظرتون را بگید حتی اگر منفی باشه.❤️😊

بدون دیدگاه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

bourse90

وب‌سایت بورس۹۰ با تجربه‌ای چندساله در حوزه‌ی اکسپرت‌نویسی و فارکس، به تریدرها کمک می‌کند تا مهارت‌های خود را بهبود بخشند و سریع‌تر به نتایج مورد نظر دست یابند.

ما در بورس۹۰ آموزش‌های تخصصی در زمینه‌ی اکسپرت‌نویسی و ابزارهای معاملاتی ارائه می‌دهیم و به کاربران کمک می‌کنیم تا با استفاده از استراتژی‌های خودکار، عملکرد بهتری در معاملاتشان داشته باشند.

پرفروش‌ترین محصولات