جلسه بیست و سوم – close کردن پوزیشن های Market

در جلسه بیست و سوم از آموزش دوره اسکریپت نویسی،  با نحوه close کردن پوزیشن های Market در زبان برنامه نویسی MQL آشنا خواهید شد.

تابع ()OrderClose : برای close کردن پوزیشن های Market از این تابع استفاده می کنیم . در ادامه با آرگمان های این تابع آشنا خواهید شد .

bool  OrderClose(
int        ticket,      // ticket
double     lots,        // volume
double     price,       // close price
int        slippage,    // slippage
color      arrow_color  // color
);

ticket : این پارامتر ticket number پوزیشنی است که قرار است close شود

Lots : این پارامتر شامل مقدار Lot  می باشد

Price : این پارامتر شامل قیمت close  شدن پوزیشن می باشد . این قیمت بستگی به نوع پوزیشن دارد ، اگر پوزیشن از نوع خرید یا Buy باشد قیمت close همان قیمت bid می باشد ولی اگر نوع پوزیشن از نوع sell باشد قیمت  close شدن پوزیشن، همان قیمت Ask می باشد .

Slippage : این پارامتر شامل مقدار slippage می باشد.

arrow_color : رنگ فلشی است که پس از close  کردن پوزیشن روی چارت قرار می گیرد.

خروجی تابع ()OrderClose : خروجی این تابع از نوع bool  می باشد.  اگر این تابع موفق شود پوزیشن مورد نظر را close کند مقدار true  و در غیر این صورت مقدار false  بر می گرداند . به عنوان مثال :

for(int i=0;  i < OrdersTotal() ;i++)
{
if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
  if (OrderType()  < 2 && OrderSymbol() == _Symbol)
  int ticket = OrderTicket();
  double price = Ask;
  if(OrderType() == OP_BUY)  price = Bid;
  if( OrderClose(ticket, OrderLots(), price , 30,clrNONE))   i--;
  else Print(GetLastError());
}
}

تابع ()OrderLots : مقدار Lot پوزیشنی که انتخاب کردیم را بر می گرداند. پیش از اینکه از این تابع استفاده کنیم باید با تابع OrderSelect  پوزیشن مورد نظر را انتخاب کنیم .

 

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

You have to agree to the comment policy.