Если текущий TimeFrame = M5, то CopyTime / CopyClose для TF = D1 всегда возвращает -1, а Bars - всегда 0 - страница 2
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
К сожалению, кроме того, что это костыль, есть еще один побочный эффект - при программном открытии графика - на него ставится фокус, т.е. все что вы делаете в данный момент сбрасывается, например, добавили ордер и открываем диалоговое окно изменения ордера чтобы выставить стоп-лосс ... в этот момент порисходит подгрузка истории, открывается, програмно открывается график и наше диалоговое окно изменения ордера закрывается ... печаль ...
Поэтому, единственный железный способ инициировать загрузку истории - это программно быстро открыть и закрыть график нужной валюты, но побочный эффект в этом случае описан выше.
Это случается если вызывать функцию Load() на событии OnCalculate().
К сожалению, кроме того, что это костыль, есть еще один побочный эффект - при программном открытии графика - на него ставится фокус, т.е. все что вы делаете в данный момент сбрасывается, например, добавили ордер и открываем диалоговое окно изменения ордера чтобы выставить стоп-лосс ... в этот момент порисходит подгрузка истории, открывается, програмно открывается график и наше диалоговое окно изменения ордера закрывается ... печаль ...
Поэтому, единственный железный способ инициировать загрузку истории - это программно быстро открыть и закрыть график нужной валюты, но побочный эффект в этом случае описан выше.
Это случается если вызывать функцию Load() на событии OnCalculate().
Что-то Вы совсем запутались. И это неудивительно, вопрос не простой. ))
Есть все необходимые функции для запроса, проверок, загрузки, получения данных с любого таймфрейма/символа и их отображения на текущем графике. Не надо открывать график, чтобы "железно" всё получить, достаточно правильного запроса и подгрузиться столько, сколько нужно.
Пример из справки в принципе то, что нужно. Изучив его можно понять, как и что нужно делать. Нужно учитывать максимальное количество баров в настройках терминала. Анализируйте ошибки (см. их код) и сразу станет ясно почему возвращается -1 или 0.
По двадцать символов пробовал выводить на график без проблем. Есть один глюк правда, но он очень редкий и пока пылится в Сервисдеске. ))
Пример:
Что-то Вы совсем запутались. И это неудивительно, вопрос не простой. ))
Есть все необходимые функции для запроса, проверок, загрузки, получения данных с любого таймфрейма/символа и их отображения на текущем графике. Не надо открывать график, чтобы "железно" всё получить, достаточно правильного запроса и подгрузиться столько, сколько нужно.
Пример из справки в принципе то, что нужно. Изучив его можно понять, как и что нужно делать. Нужно учитывать максимальное количество баров в настройках терминала. Анализируйте ошибки (см. их код) и сразу станет ясно почему возвращается -1 или 0.
По двадцать символов пробовал выводить на график без проблем. Есть один глюк правда, но он очень редкий и пока пылится в Сервисдеске. ))
Пример:
Если я запутался, то обьясните мне, пожалуйста, как возможна такая ситуация - с функциями из справки я в течение часа ждал загрузки нужного символа, но не дождался, зато при открытии графика загрузка истории происходит за максимум 3 секунды?
Функции CopyX() НЕ инициируют запрос на сервер или инициирует его в необязательном порядке, в какой-то непонятной очереди запросов, увы ... по-другому я обьяснить это не могу.
Почему при открытии графика синхронизация происходит мнгновенно (это уже факт, на первом же тике между прочим)? Там у каждого запроса свой приоритет? Я серьезно, есть же разница - ждать час или 3 секунды ...
Так как мне, похоже, просто не верят я тоже попытаюсь вечером еще раз перепроверить и записать видео :)
Если я запутался, то обьясните мне, пожалуйста, как возможна такая ситуация - с функциями из справки я в течение часа ждал загрузки нужного символа, но не дождался, зато при открытии графика загрузка истории происходит за максимум 3 секунды?
Функции CopyX() НЕ инициируют запрос на сервер или инициирует его в необязательном порядке, в какой-то непонятной очереди запросов, увы ... по-другому я обьяснить это не могу.
Почему при открытии графика синхронизация происходит мнгновенно (это уже факт, на первом же тике между прочим)? Там у каждого запроса свой приоритет? Я серьезно, есть же разница - ждать час или 3 секунды ...
Так как мне, похоже, просто не верят я тоже попытаюсь вечером еще раз перепроверить и записать видео :)
Час ждать не нужно. Это значит что, что-то сделано неправильно. )) В справке всего лишь примеры, а дальше нужно с этим работать под свои задачи.
Делайте в цикле несколько запросов пока не получите то, что Вам нужно. Я не использую в чистом виде CheckLoadHistory(). Вместо этого разбил всё на отдельные функции, так намного проще решать проблемы, если они возникают. Вот так это примерно выглядит у меня:
//---
И после этого можно спокойно работать и лепить из данных всё, что захочешь. ))
Возможно из-за того, что сейчас рынок очень активный зарепродюсить ситуацию с йеной не смог, пока решил реализовать таким образом (эта функция дергается каждую секунду по таймеру + по OnCalculate) :