#property strict
int slipp;
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
void OnStart()
// Следующая задача.
// Напишите скрипт, который закрывает все открытые ордера на счете.
// (перед запуском скрипта, желательно открыть несколько ордеров Бай и Селл)
{
bool resalt;
int OT, Ticket, i;
for(i = OrdersTotal()-1; i >= 0; i--) // Переменной i присваиваем значение OrdersTotal()-1. После этого проверено условие что i>=0,
{ // если это так, то выполняется один раз все, что написано внутри тела цикла
if(OrderSelect(i, SELECT_BY_POS))
{
OT = OrderType(); //Переменной OT присваиваем значение OrderType()
Ticket = OrderTicket(); //Переменной Ticket присваиваем значение OrderTicket()
if(OT == OP_BUY) // Если тип операций для функции OrderType() выбран OP_BUY (покупка), то
{ // выбранный тип закрывается
resalt = OrderClose(Ticket,OrderLots(),NormalizeDouble(MarketInfo(OrderSymbol(),MODE_BID),(int)MarketInfo(OrderSymbol(),MODE_DIGITS)),slipp,clrNONE);
}
if(OT == OP_SELL) // Если тип операций для функции OrderType() выбран OP_SELL (продажа), то
{ // выбранный тип закрывается
resalt = OrderClose(Ticket,OrderLots(),NormalizeDouble(MarketInfo(OrderSymbol(),MODE_ASK),(int)MarketInfo(OrderSymbol(),MODE_DIGITS)),slipp,clrNONE);
}
if(OT == OP_BUYLIMIT) // Если тип операций для функции OrderType() выбран OP_BUYLIMIT , то
{ // выбранный тип закрывается
resalt = OrderClose(Ticket,OrderLots(),NormalizeDouble(MarketInfo(OrderSymbol(),MODE_ASK),(int)MarketInfo(OrderSymbol(),MODE_DIGITS)),slipp,clrNONE);
}
if(OT == OP_SELLLIMIT) // Если тип операций для функции OrderType() выбран SELLLIMIT, то
{ // выбранный тип закрывается
resalt = OrderClose(Ticket,OrderLots(),NormalizeDouble(MarketInfo(OrderSymbol(),MODE_ASK),(int)MarketInfo(OrderSymbol(),MODE_DIGITS)),slipp,clrNONE);
}
if(OT == OP_BUYSTOP) // Если тип операций для функции OrderType() выбран OP_OP_BUYSTOP, то
{ // выбранный тип закрывается
resalt = OrderClose(Ticket,OrderLots(),NormalizeDouble(MarketInfo(OrderSymbol(),MODE_ASK),(int)MarketInfo(OrderSymbol(),MODE_DIGITS)),slipp,clrNONE);
}
if(OT == OP_SELLSTOP) // Если тип операций для функции OrderType() выбран OP_SELLSTOP, то
{ // выбранный тип закрывается
resalt = OrderClose(Ticket,OrderLots(),NormalizeDouble(MarketInfo(OrderSymbol(),MODE_ASK),(int)MarketInfo(OrderSymbol(),MODE_DIGITS)),slipp,clrNONE);
}
}