Список тикетов по времени закрытия:
Список тикетов по времени открытия:
Функции OrdHstByCloseTime() и OrdHstByOpenTime() вызываются в самом начале функции start(), если они возвращают false - завершаем работу start(). В результате - имеем списки тикетов отсортированные по времени закрытия и по времени открытия.
Дима что это было, крик души, достали однотипными вопросами?
Да. Глядя на эти постоянные вопросы и на их неправильные ответы.
Работа с историей не такая простая штука, и не так просто узнать как закрылся последний ордер. Во первых - неизвестно как же на самом деле отсортированы ордера в списке истории. Разработчики писали, что по времени открытия, фактически есть наблюдение, что по номеру тикета. Что интересно, тикета не всегда идут в порядке возрастания. На запуске терминала ордера отсортированы в одном порядке, по мере работы, закрытые ордера добавляются в конец списка истории. Если сортировать историю при каждой необходимости, советник будет очень медленно работать в тестере. Сразу после закрытия ордера, и попадания его в список истории его еще невозможно выделить и получить по нему данные, поэтому обязательно нужно проверять выделился ли ордер.
Функции. На запуске проходят во всей доступной истории, сортируют список, далее, в процессе работы, реагируют только на появление новых ордеров в списке истории (не просматривают всю историю) и добавляют новые ордера в подходящее место массива.
Сразу после закрытия ордера, и попадания его в список истории его еще невозможно выделить и получить по нему данные, поэтому обязательно нужно проверять выделился ли ордер.
уточни про его еще невозможно выделить и получить по нему данные
что значит еще невозможно выраженное во времени ? должно быть это ограниченно тиком, потому что не замечал проблем при отслеживании пар ордеров: рыночный - отложенный, рыночный отработал по стопу, тут же (при появлении нового тика скорее всего) оперируем отложенный..
может вообще стОит делать такие вещи и по другим темам... каждую ветку называть "ПРАВИЛЬНАЯ РАБОТА: ......... название темы.... " Если такая практика закрепится очень полезная вещь может получиться... как ни крути, а подобие FAQ - нужно... хотя бы и силами пользователей форума... всеравно ведь каждый раз приходится отвечать. а сделав РАЗ - можно ссылку давать...
уточни про его еще невозможно выделить и получить по нему данные
что значит еще невозможно выраженное во времени ? должно быть это ограниченно тиком, потому что не замечал проблем при отслеживании пар ордеров: рыночный - отложенный, рыночный отработал по стопу, тут же (при появлении нового тика скорее всего) оперируем отложенный..
По времени - меньше 0.1 секнды.
Если сделать так:
if(OrderClose(Ticket...)){ OrderSelect(Ticket...); }
то ордер не получится выделить. Sleep(100) - помогает. Совсем недавно поднималась эта тема.
Если сработка стоплосс/тейкпрофит, кто его знает, как совпадет с тиком по времени. Точнее, понятно, что совпадет, но не наблюдал есть ли в этом случае проблемы, всегда делаю проверу выделился ли ордер.
а смысл его выделять.. а ну если нужно..
обычно я создаю массив, в который помещаю инфу об удаляемых ордерах, после удаления ордеров, ее можно использовать при необходимости..
и побоку обновился журнал или нет, был тик или нет..
Список тикетов по времени закрытия:
Список тикетов по времени открытия:
Функции OrdHstByCloseTime() и OrdHstByOpenTime() вызываются в самом начале функции start(), если они возвращают false - завершаем работу start(). В результате - имеем списки тикетов отсортированные по времени закрытия и по времени открытия.
Не помешало бы ещё пояснить когда и как могут использоваться эти функции и дать примеры использования. Спасибо.
а смысл его выделять.. а ну если нужно..
обычно я создаю массив, в который помещаю инфу об удаляемых ордерах, после удаления ордеров, ее можно использовать при необходимости..
и побоку обновился журнал или нет, был тик или нет..
Молодец! Поздравляю!
Не перестаю удивляться, каким говнокодом люди самоудовлетворяются, когда сами для себя пишут, и как они говняются, когда им пишут советника на заказ за их 20-30 ср-ых баксов.
Молодец! Поздравляю!
Не перестаю удивляться, каким говнокодом люди самоудовлетворяются, когда сами для себя пишут, и как они говняются, когда им пишут советника на заказ за их 20-30 ср-ых баксов.
и что плохого в моем подходе, если нет потребности держать историю постоянно под рукой ?
я в общем-то говорил о частном случае удалении, другое дело когда история действительна нужна, но тогда ее отдельно в файл писать нужно,
а не хранить, а то мало ли чего и смысла от ваших функций тоже не будет, как и от обычных, когда лузер возьмет и историю выключит..
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Список тикетов по времени закрытия:
Список тикетов по времени открытия:
Функции OrdHstByCloseTime() и OrdHstByOpenTime() вызываются в самом начале функции start(), если они возвращают false - завершаем работу start(). В результате - имеем списки тикетов отсортированные по времени закрытия и по времени открытия.