Дошло, скрипт запускаю на одном чарте, а ордера перебираю все :((
Дошло, скрипт запускаю на одном чарте, а ордера перебираю все :((
напомню, что при закрытии ордеров в цикле, цикл надо организовывать задом-наперёд
напомню, что при закрытии ордеров в цикле, цикл надо организовывать задом-наперёд
Спасибо.
Забыл про это.
Но ошибка была другая ...
Вот работающий вариант:
#property copyright "Copyright © 2005, Yuri Makarov" #property link "http://mak.tradersmind.com" #include <stdlib.mqh> int start() { int count=OrdersTotal(); for(int i = count-1; i >= 0; i--) { if (OrderSelect(i, SELECT_BY_POS) == false) continue; if (OrderMagicNumber( ) == 0) { Print(OrderSymbol()," #",OrderTicket()," m",OrderMagicNumber(), " t",OrderType()); double p; if (OrderType()==0) p = MarketInfo(OrderSymbol(),MODE_BID); if (OrderType()==1) p = MarketInfo(OrderSymbol(),MODE_ASK); OrderClose(OrderTicket(),OrderLots(),p,10); int err=GetLastError(); Print("error(",err,"): ",ErrorDescription(err)); } } }
Но ошибка была другая ...
А где обработка(пропуск) отложенных ордеров?
OrderType() принимает значения не только 0 или 1.
А где обработка(пропуск) отложенных ордеров?
OrderType() принимает значения не только 0 или 1.
OrderType() принимает значения не только 0 или 1.
Все верно говорите.
Просто у меня нет отложенных ордеров.
Это скрипт на 1 раз.
Модифицировал эксперта и нужно было закрыть все ордера открытые предыдущей версией с нулевым маджиком.
Если бы маджик можно было отобразить в закладке,
скрипт бы не понадобился .. :)
Просто у меня нет отложенных ордеров.
А если все-таки в списке окажутся отложенные ордеры, то будет попытка совершить неверную операцию. Лучше писать так, чтобы корректно сработало в любой ситуации.
Если бы маджик можно было отобразить в закладке, скрипт бы не понадобился .. :)
Давно обещали показать детали ордера вместе с magic number в тултипе.
В релизе это уже будет.
Давно обещали показать детали ордера вместе с magic number в тултипе.
В релизе это уже будет.
В релизе это уже будет.
Это хорошо.
А если все-таки в списке окажутся отложенные ордеры, то будет попытка совершить неверную операцию. Лучше писать так, чтобы корректно сработало в любой ситуации.
Согласен.
Но этот скрипт все равно на выброс, одноразовый.
Я просто поначалу сильно удивлен был что неработает.
Потом нашел свою ошибку.
Можно эту ветку убить,
чтобы форум не засорять.
Только что обнаружил что маджик и в текущей версии отображается вместе с тикером
если мышку на ордер навести.
Только обозначен он как id.
если мышку на ордер навести.
Только обозначен он как id.
Только глючит эта фича.
При наведении мышки на ордер часто вместо нужного ордера показувает первый в списке,
и иногда показывает сразу по 2 ордера.
При наведении мышки на ордер часто вместо нужного ордера показувает первый в списке,
и иногда показывает сразу по 2 ордера.
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
всегда выдает
?
Попытался просто закрыть все ордера с маджик = 0.
Написал маленький скриптик, но он работать не хочет.