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

1.تابع شمارش پوزیشن

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

				
					//+------------------------------------------------------------------+
//|                           شمارش پوزیشنها                               |
//+------------------------------------------------------------------+
int posnum(long Magic)
  {

   int pos=PositionsTotal();
   int num=0;
   for(int i=pos-1; i>=0; i--)
     {

      ulong tiket=PositionGetTicket(i);
      string symbol=PositionGetString(POSITION_SYMBOL);
      long Macik=PositionGetInteger(POSITION_MAGIC);
      double volume=PositionGetDouble(POSITION_VOLUME);

      if(symbol==_Symbol)
        {
         if(Macik==Magic)
            num++;
        }
     }
   return(num);
  }
				
			

2. فراخوانی تابع شمارش پوزیشن

معمولا از این تابع در شرط‌ها استفاده میکنند. مثلا میتوانیم بگوییم که اگر تعداد پوزیشن‌ها کمتر از 4 بود برای ما ترید انجام بده.(یعنی اگر تعداد پوزیشن‌ها بیشتر از ۴ بود تریدی انجام نمیشود.)

				
					if(posnum(0) < 4 )
  {
   Comment("trade");
  }
				
			

نکته: در کد بالا شماره مجیک را صفر گذاشتیم شما میتوانید شماره مجیک خودتان را بگذارید.
و دستور شرط را ما فقط کامنت کردیم که نشان بدهیم شرط اجرا می‌شود. و شما میتوانید دستورات مخصوص خودتان را بگذارید.

بدون دیدگاه

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

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