Ошибки, баги, вопросы - страница 1801
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Не увидел в Справке упоминания, что если символ отсутствует в Обзоре рынка, то данные по нему не получить. Методом тыка пришлось.
Возвращаемое значение
Значение типа double. В случае неудачного выполнения информацию об ошибкe можно получить с помощью функции GetLastError():
Ну как же. Есть упоминание
Спасибо, косвенно упоминается.
Скажите, если через SymbolSelect добавляю символ в Обзор рынка, то как понять, что Bid/Ask по символу стали доступны - SymbolIsSynchronized?
SymbolIsSynchronized - вроде, дорого для этих целей, т.к. там поднимается еще вопрос синхронизированности M1-истории.
ЗЫ SymbolIsSynchronized на некоторых символах никогда не становится true.
Спасибо, косвенно упоминается.
Скажите, если через SymbolSelect добавляю символ в Обзор рынка, то как понять, что Bid/Ask по символу стали доступны - SymbolIsSynchronized?
SymbolIsSynchronized - вроде, дорого для этих целей, т.к. там поднимается еще вопрос синхронизированности M1-истории.
ЗЫ SymbolIsSynchronized на некоторых символах никогда не становится true.
Если это делается из индикатора, то будет отдано ровно то, что есть, но с запросом в исторический центр о подкачке. Тогда это может оказаться мучительным.
Если это делается из эксперта или скрипта, то внутри функции может быть сделано несколько циклов запросов с ожиданием ответа, и как правило после такого вызова история будет засинхронизирована
Скажите, если через SymbolSelect добавляю символ в Обзор рынка, то как понять, что Bid/Ask по символу стали доступны?
Сразу после SymbolSelect(true) запрашиваю цены, а они нулевые. При этом _LastError == 0, SymbolInfoTick == true.
Как понять, что цены по новому для Обзора рынка символу доставлены до Marketwatch?
Перед тем, как проверять флаг синхронизированности истории, надо сначала вызвать CopyRates(Symbol(),PERIOD_M1,0,1000,rates)
Если это делается из индикатора, то будет отдано ровно то, что есть, но с запросом в исторический центр о подкачке. Тогда это может оказаться мучительным.
Если это делается из эксперта или скрипта, то внутри функции может быть сделано несколько циклов запросов с ожиданием ответа, и как правило после такого вызова история будет засинхронизирована
Вы предлагаете это на каждом тике делать?
Я поддерживаю синхронизацию на каждом срабатывании OnBookEvent() :(
Тут без вопросов, вопрос в том, что помимо этого, предлагается еще и вызывать каждый раз функцию CopyRates().... это, как мне кажется, жесть какая-то...
:)
{
if(symbol == Symbol())
{
GetBars(Symbol(), time_frame);
}
}
Так меня научили в СД