Добрый вечер!
Подскажите как доделать функцию ?
Дык, а в чем проблема?
Передали в функцию время, если после HistorySelect() при помощи HistoryDealsTotal() получен 0, значит в промежутке сделок не было.
Иначе смотрим какие сделки в этот период открывались, а какие закрывались: проверяем все атрибуты и DEAL_ENTRY обязательно.
согласен после
uint total=HistoryDealsTotal(); if(total==0) { return true; }
но как проверить открытая или закрытая сделка которая открывалась в этом баре не соображу ни как.....
согласен после
но как проверить открытая или закрытая сделка которая открывалась в этом баре не соображу ни как.....
Если открыта вообще (то есть именно сейчас), используйте PositionSelect().
Если позиции нет, но вам важно знать закрылась ли позиция именно в указанный промежуток, нужно из сделки типа "вход/in" (проверять DEAL_ENTRY) узнать ID позиции, затем выбрать позицию по ID - тут пригодится HistorySelectByPosition(), найти уже ее сделку "выход/out" и сравнить время выхода с параметром finish_time.
При этом, если цикл используете, не забывайте проверять правильность его работы, то есть проверять те ли сделки вы просматриваете в своем цикле и не сбилось ли чего при вызове других "выбирающих историю" функций. Может быть имеет смысл сначала скопировать некоторую инфу по сделкам в структуру, а только потом вызывать HistorySelectByPosition() для них.
В любом случае, желаю удачи.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Добрый вечер!
Подскажите как доделать функцию ?