Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
А подкачка истории случаем не присходит?
Всегда только на одном символе или по GBPUSD тоже наблюдается?
Какой билд? Какой сервер?
Подкачка истории существет такой моментик,
Нет на всех валютных парах как по simbol1 так и по simbol2,
билд 370, демо счет (alpari-demo)
Хочу заметить что оставив 1 индюк (по скрину выше), перерисовка идет
не так заметно, а если еще и ТФ поставить на Н1, то раз в 5 мин,
а может и несколько раз перерисоваться.
Думали может комп виснит, но на 2-х ядерном тож самое, да еще и график не прокручивается
секунду другую, (ждет наверное пока проработает индюк) иль еще чегось?
Вечером на ШЕСТИ ЯДЕРНИКЕ протестим!
Также хочу заметить что с другими подобными индюками ничегось не было
подобного, не может же быть что дело в сложных расчетах! А индюк просто
и работает по ценам Open
Помогите! Индикатор работает нормально, все отображает и расчитывает, но
когда приходит новый тик, идет обнуление и линии строятся заново
У меня такое присходит регулярно, на фоне потери связи. После возобновления связи терминал заново пересчитывает значения индикатора, на пересчёт требуется время. Из Справочника:
Необходимо отметить связь между значением, возвращаемым функцией OnCalculate() и вторым входным параметром prev_calculated. Параметр prev_calculated при вызове функции содержит значение, которое вернула функция OnCalculate() на предыдущем вызове. Это позволяет реализовать экономные алгоритмы расчета пользовательского индикатора с тем, чтобы избежать повторных расчетов для тех баров, которые не изменились с предыдущего запуска этой функции.
Для этого обычно достаточно вернуть значение параметра rates_total, которое содержит количество баров при текущем вызове функции. Если с момента последнего вызова функции OnCalculate() ценовые данные были изменены (подкачана более глубокая история или были заполнены пропуски истории), то значение входного параметра prev_calculated будет установлено в нулевое значение самим терминалом.
Не знаю, какая именно ситуация у Вас, но для себя я объясняю такое поведение "заполнением пропусков в истории". А может, у Вас индикатор работает неэкономно, пересчитывая весь спектр значений при каждом приходе тика?
Потеря связи не было, перерисовка на тиках, и чем больше ТФ тем реже.
А в методе расчета от начальной даты ло конечной (узнал что их 3) без
определения кол-ва баров, наверное такое и возникает (пересчитывает
все бары) но это пока размышления - будем проверять...
Может другой подход есть чтоб от этого изавиться...
Потеря связи не было, перерисовка на тиках, и чем больше ТФ тем реже.
А в методе расчета от начальной даты ло конечной (узнал что их 3) без
определения кол-ва баров, наверное такое и возникает (пересчитывает
все бары) но это пока размышления - будем проверять...
Может другой подход есть чтоб от этого изавиться...
Конечно, подход есть. Если if(prev_calculated==0), то проводим первоначальный расчёт для всех баров. Впоследствии, для каждого нового тика (если 0 < prev_calculated < rates_total) делаем расчёты типа for(int i=prev_calculated-1;i<rates_total;i++) только для последних появившихся баров.
Хочу получить значение тайм-фрейма текущего графика в виде string. Пишу так:
А мне компилятор говорит, что 'PeriodStr' - function is not defined...
В чём собственно дело? Коллеги, будьте любезны, помогите :-)
Ведь в хэлпе есть такая функиця:
PeriodStr
Преобразует в строку значение перечисления ENUM_TIMEFRAMES.
string PeriodStr(
int val // значение
)
Уважаемые разработчики, ответьте в чём неоднозначность вызова перегруженной функции(именно на это ругается компилятор):
'set' - ambiguous call to overloaded function
ЗЫ опытным путём выяснил что если заменить постоянные в первом и втором параметре на переменные типа int то ругань прекращается.
Но непонятна логика компилятора, первые два параметра одинаковые во всех перегрузках, никаких умолчательных параметров нет.
Так почему же компилятор ругается, в чём неоднозначность вызова?
Хочу получить значение тайм-фрейма текущего графика в виде string. Пишу так:
А мне компилятор говорит, что 'PeriodStr' - function is not defined...
В чём собственно дело? Коллеги, будьте любезны, помогите :-)
Ведь в хэлпе есть такая функиця:
PeriodStr
Преобразует в строку значение перечисления ENUM_TIMEFRAMES.
string PeriodStr(
int val // значение
)
Хочу получить значение тайм-фрейма текущего графика в виде string. Пишу так:
А мне компилятор говорит, что 'PeriodStr' - function is not defined...
В чём собственно дело? Коллеги, будьте любезны, помогите :-)
Ведь в хэлпе есть такая функиця:
PeriodStr
Преобразует в строку значение перечисления ENUM_TIMEFRAMES.
string PeriodStr(
int val // значение
)
Это метод Класса
https://www.mql5.com/ru/docs/standardlibrary/technicalindicators/cindicator
#include <Indicators\Indicator.mqh>