Прошу помочь с такой проблемой - как выбрать из истории например последние 30 ордеров по определенному инструменту?
Чего-то не могу сообразить. И как вообще отсортированы ордеры в истории? По дате закрытия, по тикету или еще как?
можно отсортировать по позиций то есть OrderSelect(i,SELECT_BY_POS,MODE_HISTORY) или можно по тикету так OrderSelect(i,SELECT_BY_TICKET,MODE_HISTORY). только вот с тикетом иногда не получается ( например иногда когда я сщитаю ордеры в историй один раз там они 3 а потом их 2...непонятка...)
Прошу помочь с такой проблемой - как выбрать из истории например последние 30 ордеров по определенному инструменту?
Чего-то не могу сообразить. И как вообще отсортированы ордеры в истории? По дате закрытия, по тикету или еще как?
for(int nTmp=0;nTmp<30;nTmp++) if(OrderSelect(nTmp,SELECT_BY_POS,MODE_HISTORY)){ //И делай с ним что хочешь. }
Если выбираешь их по позиции, они и так по дате отсортированы.
к счастью нет, но у других бывали
Спасибо буду знать. Ну тогда:
Открою страшную тайну, ордера в истории сортируются ни по времени открытия, ни по времени закрытия.
По тикету. Тикеты не всегда идут с увеличением. Один вопрос остается - сортируются ли они всегда по мере закрытия ордеров, или, во время работы, закрытые ордера добавляются в конец списка. Поэтому лучше всегда собирать в массив и сортировать как надо.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Прошу помочь с такой проблемой - как выбрать из истории например последние 30 ордеров по определенному инструменту?
Чего-то не могу сообразить. И как вообще отсортированы ордеры в истории? По дате закрытия, по тикету или еще как?