Уважаемые разработчики. Уточните пожалуйста, автоматическая переразметка буферов индикатора - это нормально? Под переразметкой я понимаю следующее: макс. баров в окне, например 5000. Размер буфера + rates_total сбрасываются на 5000 по достижении размера 6439. Аналогично происходит в случае, когда макс. баров в окне = 10000. Сброс происходит при 11439.
Из-за этого индикаторы могут крашиться и показывать некорректные данные.
Билд 2085. Подобное поведение заметил где-то с 2000-х билдов.
Уважаемые разработчики. Уточните пожалуйста, автоматическая переразметка буферов индикатора - это нормально? Под переразметкой я понимаю следующее: макс. баров в окне, например 5000. Размер буфера + rates_total сбрасываются на 5000 по достижении размера 6439. Аналогично происходит в случае, когда макс. баров в окне = 10000. Сброс происходит при 11439.
Из-за этого индикаторы могут крашиться и показывать некорректные данные.
Билд 2085. Подобное поведение заметил где-то с 2000-х билдов.
Такое поведение в пятёрке было изначально.
Приведите пример крэша индикатора из-за перераспределения буферов
Приведите пример крэша индикатора из-за перераспределения буферов
Т.е. Вы подтверждаете, что когда происходит накопление 1439 баров сверх нормы, терминал ПРИНУДИТЕЛЬНО сбрасывает размер буферов до значения макс. баров в окне? Если ДА, то об этом необходимо указать в документации. Т.к. это непредвиденное поведение.
По поводу примера. Имею ввиду кастомные разработки, которые работают с номерами баров. Т.е. запомнил номер бара 6438, а через 2 минуты (ТФ М1) буферы перераспределились и получился выход за пределы массива. Теперь понятно, что это "стандартное" поведение. Обновите документацию, пожалуйста.
class A { public:
virtualvoid f( int = 0 ) { Print( 1 ); }
};
class B : public A { public:
virtualvoid f( int ) { Print( 2 ); }
};
voidOnStart()
{
B b;
b.f();
}
Результат : 1
Ожидалось: 2 или (как в С++) - ошибка при компиляции
Для более экономичного расчета индикаторам может быть доступно больше баров, чем указано в параметре "Макс. баров в окне". С поступлением новых баров более старые бары не сразу удаляются из кэша данных. Это позволяет не пересчитывать индикатор полностью на каждом новом баре, а лишь досчитывать его значения для новых баров.
Торговая платформа обладает множеством настроек, что позволяет организовать работу в ней так, как это удобно именно вам. Выполните команду " Настройки" меню "Сервис" или нажмите "Ctrl+O". Графики — общая настройка отображения ценовых графиков, а также настройка параметров управления объектами: выделение объектов после их создания, немедленная...
rates_total всегда показывает количество баров, доступных на текущем графике.
я не понял смысла вашего высказывания
Извините, ответ в картинках.
Но в дебагере показывает
И для проверки значения индикатора приходится прокручивать 1268 баров. Только после этого можно проверить какие значения high и/или low равно как open/close бара использованы в расчётах индикатора.
Просто очень неудобно. Но человек быстро привыкает и подстраивается ко всему нехорошему.
Возможно ли из ME добавить текущий код в Избранное Терминала?
На самом деле хотелось бы иметь отдельную вкладку "Отладка", куда можно было бы добавлять коды, которые сейчас пишутся и тестируются.
Сейчас получается, что для удобной работы нужно заводить отдельный Терминал, где все, что не касается текущих проектов, отсутствует.
Тогда получается отладка гораздо быстрее, т.к. не рябит от остальных кодов в самом Терминале.
Уважаемые разработчики. Уточните пожалуйста, автоматическая переразметка буферов индикатора - это нормально? Под переразметкой я понимаю следующее: макс. баров в окне, например 5000. Размер буфера + rates_total сбрасываются на 5000 по достижении размера 6439. Аналогично происходит в случае, когда макс. баров в окне = 10000. Сброс происходит при 11439.
Из-за этого индикаторы могут крашиться и показывать некорректные данные.
Билд 2085. Подобное поведение заметил где-то с 2000-х билдов.
Уважаемые разработчики. Уточните пожалуйста, автоматическая переразметка буферов индикатора - это нормально? Под переразметкой я понимаю следующее: макс. баров в окне, например 5000. Размер буфера + rates_total сбрасываются на 5000 по достижении размера 6439. Аналогично происходит в случае, когда макс. баров в окне = 10000. Сброс происходит при 11439.
Из-за этого индикаторы могут крашиться и показывать некорректные данные.
Билд 2085. Подобное поведение заметил где-то с 2000-х билдов.
Такое поведение в пятёрке было изначально.
Приведите пример крэша индикатора из-за перераспределения буферов
Такое поведение в пятёрке было изначально.
Приведите пример крэша индикатора из-за перераспределения буферов
Т.е. Вы подтверждаете, что когда происходит накопление 1439 баров сверх нормы, терминал ПРИНУДИТЕЛЬНО сбрасывает размер буферов до значения макс. баров в окне? Если ДА, то об этом необходимо указать в документации. Т.к. это непредвиденное поведение.
По поводу примера. Имею ввиду кастомные разработки, которые работают с номерами баров. Т.е. запомнил номер бара 6438, а через 2 минуты (ТФ М1) буферы перераспределились и получился выход за пределы массива. Теперь понятно, что это "стандартное" поведение. Обновите документацию, пожалуйста.
Ошибка при выполнении:
Результат : 1
Ожидалось: 2 или (как в С++) - ошибка при компиляции
Обновите документацию, пожалуйста.
В каком месте нужно обновить документацию?
Однозначным идентификаторам бара всегда было время бара, а никак не его номер.
Если вашему графику кто-то вызвал ChartSetSymbolPeriod, то вы запросто словите изменение количества баров. Сюрприз?
Да, кстати, в OnCalculate есть такой параметр rates_total
Да, кстати, в OnCalculate есть такой параметр rates_total
В OnCalculate параметр rates_total тоже показывает больше, чем настроено в терминале.
В OnCalculate параметр rates_total тоже показывает больше, чем настроено в терминале.
rates_total всегда показывает количество баров, доступных на текущем графике.
я не понял смысла вашего высказывания
У меня сейчас нет под рукой клиентского терминала, чтобы процитировать справку. С мобильного устройства в два клика https://www.metatrader5.com/ru/terminal/help/startworking/settings#max_bars
Специально выделенный абзац
Для более экономичного расчета индикаторам может быть доступно больше баров, чем указано в параметре "Макс. баров в окне". С поступлением новых баров более старые бары не сразу удаляются из кэша данных. Это позволяет не пересчитывать индикатор полностью на каждом новом баре, а лишь досчитывать его значения для новых баров.
rates_total всегда показывает количество баров, доступных на текущем графике.
я не понял смысла вашего высказывания
Извините, ответ в картинках.
Но в дебагере показывает
И для проверки значения индикатора приходится прокручивать 1268 баров. Только после этого можно проверить какие значения high и/или low равно как open/close бара использованы в расчётах индикатора.
Просто очень неудобно. Но человек быстро привыкает и подстраивается ко всему нехорошему.