در جلسه بیست و سوم از آموزش دوره اسکریپت نویسی، با نحوه 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 پوزیشن مورد نظر را انتخاب کنیم .