Ошибки, баги, вопросы - страница 3280
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Сначала вас должны переместить в "Выбранные" (а вы находитесь в "Кандидаты")
Спасибо, понял.
Верните назад дробные. Раньше не выдавало от такого целое число.
покажет 1.0
выдает всегда целые.
пробовал и с (double) и без всегда одно число.
билд 3571.
Верните назад дробные. Раньше не выдавало от такого целое число.
покажет 1.0
выдает всегда целые.
пробовал и с (double) и без всегда одно число.
билд 3571.
Так было всегда. В соответствии с правилами приведения типов ошибки нет. Там даже есть пример демонстрирующий это.
Обнаружил ошибку в данных Таймсерий в МТ5.
При установленном параметре TERMINAL_MAXBARS на значение 10000 (для примера), в окне графика отображается ровно 10000 баров. Причём, при появлении нового бара, старый пропадает. Так что на графике их всегда 10000.
Но, эти бары, которые ушли в историю, "видит" индикатор. Общее количество (вместе с ними) показывает rates_total, и все массивы-таймсерии индикатора (time[], open[], high[] и т.д.) показывают данные этих баров.
Функция iBars(...) тоже вернёт значение 10000+бары, которые ушли в историю. Но функции iTime(), iOpen(), iHigh() и др. этих баров не видят. При запросе выдают ошибку 4401 - Запрашиваемая история не найдена.
Проверить это можно прилагаемым индикатором. Он проверяет бары с начала истории по значению rates_total, и при нахождении первого не нулевого значения функции iTime(...), останавливается.
Сделайте следующим образом. Измените значение TERMINAL_MAXBARS в настройках терминала, и (важно!) перезагрузите его. Затем установите на график индикатор (прикрепил к посту). Дождитесь появления нового бара, и вы увидите, что старый, который ушел в историю, видят только таймсерии индикатора. iTime(...) его не видит. На скрине ниже график, крайний бар которого в 19:40. Но индикатор видит и предыдущие бары.
После перезагрузки терминала ничего не меняется. Индикатор и функция iBars(...) продолжает видеть ушедшие в историю бары. А iTime(...) и другие их не видят. Причём, если перед перезагрузкой изменить значение TERMINAL_MAXBARS, вся "память" индикатора на ушедшие в историю бары сбросится. Но если просто увеличить значение TERMINAL_MAXBARS, без перезагрузки терминала, то iTime() и другие функции начнут видеть все бары, которые и видит индикатор, считает rates_total и функция iBars(...) .
При значении TERMINAL_MAXBARS равным Unlimited, такой ошибки не возникает.
Возможно ли во время выполнения кода в отладке сделать DebugBreak?
Непонятно, в каком месте иногда код подвисает. Хотелось бы во время подвисания сделать DebugBreak и увидеть, соответственно, причины.
Возможно ли во время выполнения кода в отладке сделать DebugBreak?
Непонятно, в каком месте иногда код подвисает. Хотелось бы во время подвисания сделать DebugBreak и увидеть, соответственно, причины.
Конечно можно по условию сделать DebugBreak, но какое условие поставить? Вот в чём вопрос…
Конечно можно по условию сделать DebugBreak, но какое условие поставить? Вот в чём вопрос…
Предполагал так действовать:
под отладчиком код завис - захожу в ME и нажимаю "принудительно прервать и начать отладку с места прерывания".
Предполагал так действовать:
под отладчиком код завис - захожу в ME и нажимаю "принудительно прервать и начать отладку с места прерывания".
Наверное лучше нажать паузу, а не прерывание.
Наверное лучше нажать паузу, а не прерывание.
Главное, смысл понятен - DebugBreak в месте текущего выполнения кода.