Почему переменная обязательно должна передаваться в функцию is_custom? Я даже не могу напрямую передать SymbolExist(sym, false). Пожалуйста, исправьте это поведение.
Эта переменная используется только в функции SymbolExist , и в других местах нет необходимости её использовать. Создавать переменную только ради этой функции — явно излишне.
hini #: Почему переменная обязательно должна передаваться в функцию is_custom? Я даже не могу напрямую передать SymbolExist(sym, false). Пожалуйста, исправьте это поведение.
Дело в том, что через эту переменную, вы не передаёте значение, а получаете.
voidOnStart()
{
matrix prev;
ResetLastError();
// run on a symbol with a history, unavailable for the requested date, for example US500// D'2000.01.01' - no history, result is empty but returns true, prints lasterror 5701// D'2026.01.01' - history is available, result is filled, returns true as expectedif(prev.CopyRates(_Symbol, _Period, COPY_RATES_CLOSE, D'2000.01.01', 1))
{
Print(prev);
}
if(prev.Row(0).Size() == 0)
{
Print(_LastError);
}
}
Вызов CopyRates для матрицы всегда возвращает true, даже если получить данные не удалось.
У вас на скрине котировки премаркета (вероятнее всего).
Финам ставит торговые сессии не корректно.
Котировочные с 6:45, торговые с 00:00, а реальная торговля идёт с 10:00. Получается, что всё что 6:45 до 10:00 это премаркет, а там могут быть любые цены.
Я в таких случаях чётко прописывал в советнике торговые периоды, чтоб он не отвлекался на премаркет и клиринг.
Почему переменная обязательно должна передаваться в функцию is_custom? Я даже не могу напрямую передать SymbolExist(sym, false). Пожалуйста, исправьте это поведение.
Эта переменная используется только в функции SymbolExist , и в других местах нет необходимости её использовать. Создавать переменную только ради этой функции — явно излишне.Создавать переменную только ради этой функции — явно излишне.
Почему переменная обязательно должна передаваться в функцию is_custom? Я даже не могу напрямую передать SymbolExist(sym, false). Пожалуйста, исправьте это поведение.
Попробуйте свойство SYMBOL_EXIST.
Дело в том, что через эту переменную, вы не передаёте значение, а получаете.
Баг.
Вызов CopyRates для матрицы всегда возвращает true, даже если получить данные не удалось.
Баг.
Вызов CopyRates для матрицы всегда возвращает true, даже если получить данные не удалось.
Не воспроизводится.
2026.03.28 12:01:54.744 Script (USDCOP,H1) Build: 5715 USDCOP 2000.01.01 00:00:00 Error: 5701
Как такое возможно? Билд 5715
Как такое возможно? Билд 5715
На клиринге такое часто видел.
У вас на скрине котировки премаркета (вероятнее всего).
Финам ставит торговые сессии не корректно.
Котировочные с 6:45, торговые с 00:00, а реальная торговля идёт с 10:00. Получается, что всё что 6:45 до 10:00 это премаркет, а там могут быть любые цены.
Я в таких случаях чётко прописывал в советнике торговые периоды, чтоб он не отвлекался на премаркет и клиринг.
b5699, не знаю, ошибка это или нет.
F7.
F5.