bool OrderSelect( | int index, int select, int pool=MODE_TRADES) |
Параметр pool игнорируется, если ордер выбирается по номеру тикета. Номер тикета является уникальным идентификатором ордера. Чтобы определить, из какого списка выбран ордер, необходимо проанализировать его время закрытия. Если время закрытия ордера равно 0, то ордер является открытым или отложенным и взят из списка открытых позиций терминала. Отличить открытую позицию от отложенного ордера можно по типу ордера. Если время закрытия ордера не равно 0, то ордер является закрытым или удаленным отложенным и был выбран из истории терминала. Отличить закрытый ордер от удаленного отложенного также можно по типу ордера.
To Vinin - спасибо, забыл я эту деталь...
Остался вопрос с разницей в скорости :)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Сегодня обнаружил 2 странные вещи
1. В режиме визуализации тестер под Windows 7 x64 работает в 7,5 раз быстрее, чем на Windows XP x86 !!
Проверял на советнике с секундомером в руке, чудеса
2. А это похоже глюк.. Открывается в тестере отложенник SellStop, номер тикета = 1
функции OrderSelect(ticket, SELECT_BY_TICKET, MODE_HISTORY) и OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES)
обе выдают true!! Тикет ордера при срабатывании не меняется и равен 1
Более того, ордер закрывается по ТП, все равно обе говорят true насчет тикета 1. При этом OrdersTotal() и OrdersHistoryTotal()
выдают правильные значения.
Вот функция выдачи инфы
Сборка последняя, 228. Попробовал на всякий случай по Win7 и Win XP, результат одинаковый.
вот картинки
Можете прояснить ситуацию?