در جلسه بیست و یکم از آموزش دوره اسکریپت نویسی، با نحوه delete کردن پوزیشن های pending در زبان برنامه نویسی MQL آشنا خواهید شد.
تابع ()OrderDelete : برای delete کردن پوزیشن های pending از این تابع استفاده می کنیم . در ادامه با آرگمان های این تابع آشنا خواهید شد .
bool OrderDelete( int ticket, // ticket color arrow_color // color );
ticket : این پارامتر مربوط به ticket number پوزیشن می باشد.
arrow_color : رنگ فلشی که پس از delete کردن روی چارت قرار می گیرد (این پارامتر اختیاری است).
خروجی تابع ()OrderDelete : خروجی این تابع از نوع bool می باشد و اگر این تابع موفق شود که order مورد نظر را delete کند خروجی تابع true و در غیر این صورت خروجی false را بر می گرداند .
به عنوان مثال برای اینکه اولین پوزیشنی که در پول ترید قرار دارد و از نوع pending هست را delete کنیم، مطابق کد زیر عمل می کنیم :
If (OrderSelect(0,SELECT_BY_POS,MODE_TRADES)) { int ticket = OrderTicket(); if(!OrderDelete(ticket)) Print(GetLastError()); }
تابع ()OrderTicket : این تابع ticket number آن order ای که ما select کردیم را بر می گرداند و خروجی تابع از نوع int می باشد.
تابع ()OrdersTotal : این تابع تعداد کل order ها را بر می گرداند .
نکته : اگر بخواهیم اسکریپت از جدید ترین پوزیشن order ها را delete کند ، از تابع ()OrdersTotal استفاده می کنیم و تعداد کل order ها را دریافت می کنیم. اگر از تعداد کل order ها یکی کم شود اندیس آخرین Order بدست می آید. به عنوان مثال :
if( OrderSelect(OrdersTotal()-1 ,SELECT_BY_POS,MODE_TRADES) ) { int ticket = OrderTicket(); if(!OrderDelete(ticket)) Print(GetLastError()); }
تابع () OrderClose : برای close کردن پوزیشن ها از نوع market مورد استفاده قرار می گیرد .