Пример функции закрывающей все открытые позиции
int _OrderCloseAll(int _type = EMPTY, int Slippage = 5) { int count = 1; int limit = 5; while(count > 0 && limit > 0) { int n = OrdersTotal(); count = 0; limit--; for(int i = 0; i < n; i++) { if (OrderSelect(i, SELECT_BY_POS) == false) continue; if (OrderSymbol() != Symbol()) continue; if (OrderType() == OP_BUY && (_type == EMPTY || _type == OP_BUY)) { if (IsTradeAllowed()) OrderClose(OrderTicket(), OrderLots(), Bid, Slippage); count++; } else if (OrderType() == OP_SELL && (_type == EMPTY || _type == OP_SELL)) { if (IsTradeAllowed()) OrderClose(OrderTicket(), OrderLots(), Ask, Slippage); count++; } } } return (count); }
Делается максимум 5 попыток закрыть все ордера (int limit = 5;)
Примеры использования
_OrderCloseAll(OP_SELL); // закрыть все SELL ордера ..................... _OrderCloseAll(OP_BUY); // закрыть все BUY ордера ..................... _OrderCloseAll(); // закрыть все ордера
А есть возможность выключить комп после этого или закрыть программу?
А есть возможность выключить комп после этого или закрыть программу?
В смысле?
Вы это всегда сделать можете.
А есть возможность выключить комп после этого или закрыть программу?
В смысле?
Вы это всегда сделать можете.
спасибо за продление жизни :)
спасибо за продление жизни :)
??? :)
Я чего-то не понял?
Я наверное некоректно выразился.
Например оставляю советника на ночь, он закрывает все позиции и затем закрывает прогу или полностью гасит комп.
Например оставляю советника на ночь, он закрывает все позиции и затем закрывает прогу или полностью гасит комп.
А зачем закрывать прогу?
Если для того, чтобы не торговала, то это проще сделать можно.
Например завести глобальную переменную разрешающую торговли.
Для блокирования торговли можно установить ее в False.
Закрыть прогу и выключить комп думаю тоже можно через вызов dll из виндусового API. Только не могу подсказать какую конкретно функцию использовать.
Если для того, чтобы не торговала, то это проще сделать можно.
Например завести глобальную переменную разрешающую торговли.
Для блокирования торговли можно установить ее в False.
Закрыть прогу и выключить комп думаю тоже можно через вызов dll из виндусового API. Только не могу подсказать какую конкретно функцию использовать.
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
{
int cnt, ticket, total;
if (OrdersTotal()<0)
{
OrderClose(OrderTicket(), OrderLots(), Ask, 10, Red);
}
}
Смысл в следующем: должны закрываться все открытые позиции. НО НЕЗАКРЫВАЮТСЯ!
в чем я ошибся?