Смена ТФ - проблема - страница 4

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
eevviill7
20119
eevviill7  

Последняя конструкция меня полностью устраивает. 

Всем спасибо. 

Sergei Vladimirov
8961
Sergei Vladimirov  
Vasyl Nosal:
Нет. Без обнуления будет то что на скринах.

Значит, у вас внутри самого цикла есть пропуски, его последовательность нарушается. В том коде, фрагмент которого я вам привёл, ВСЕ бары пересчитываются при обнулени prev_calculated. А это значит, предварительно обнулять их бессмысленно - пустая трата процессорного времени.

 PS. Кстати, важный нюанс-то забыли. Вы, случайно, не про МТ5 говорите, где ценовые массивы не перевернуты в таймсерию? В этом случае вот так будет:

int OnCalculate(...)
{
   // индекс последнего посчитанного на прошлом вызове бара
   // с которого начинаем расчёт
   int nStartBar = MathMax(prev_calculated - 1, 0);

   for(int i = nStartBar; i < rates_total; i++)
   {
       // рассчитываем индикатор на всех непосчитанных барах
   }
}
eevviill7
20119
eevviill7  
Sergei Vladimirov:

Значит, у вас внутри самого цикла есть пропуски, его последовательность нарушается. В том коде, фрагмент которого я вам привёл, ВСЕ бары пересчитываются при обнулени prev_calculated. А это значит, предварительно обнулять их бессмысленно - пустая трата процессорного времени.

 PS. Кстати, важный нюанс-то забыли. Вы, случайно, не про МТ5 говорите, где ценовые массивы не перевернуты в таймсерию? В этом случае вот так будет:

mql4

 

Неа. Вот с вашей конструкцией на паре где небыло истории.

 

Файлы:
eevviill7
20119
eevviill7  

Ну что. Проблемка то оказалась не такой и простой.

От разработчиков прошу новую бул переменную где хранится обновился ли график и автоматическое обнуление буферов если больше 1 бара подгрузилось. 

Vladimir Karputov
Модератор
201806
Vladimir Karputov  
Vasyl Nosal:

Ну что. Проблемка то оказалась не такой и простой.

От разработчиков прошу новую бул переменную где хранится обновился ли график и автоматическое обнуление буферов если больше 1 бара подгрузилось. 

У Вас в распоряжении две переменные: prev_calculated и rates_total. Контролируя подгрузку истории (при этом prev_calculated==0) Вы сами должны думать, что делать с индикаторными буферами - обычное поведение в таких случаях, это приравнять подгрузку истории к событию первой загрузки индикатора.
eevviill7
20119
eevviill7  
Karputov Vladimir:
У Вас в распоряжении две переменные: prev_calculated и rates_total. Контролируя подгрузку истории (при этом prev_calculated==0) Вы сами должны думать, что делать с индикаторными буферами - обычное поведение в таких случаях, это приравнять подгрузку истории к событию первой загрузки индикатора.
При чём тут распоряжение? Тут уже 4 варианта разсмотрели и ни один не работает.
Dina Paches
5468
Dina Paches  
Vasyl Nosal:

Ну что. Проблемка то оказалась не такой и простой.

От разработчиков прошу новую бул переменную где хранится обновился ли график и автоматическое обнуление буферов если больше 1 бара подгрузилось. 

Вы не торопитесь, пожалуйста.

А пока будете ждать ответа разработчиков, послушайте то, что сказал модератор выше. Порекомендую и перечитать ещё раз вдумчиво эту свою тему с самого начала.

Обратите внимание на этот пост модератора, к примеру: https://www.mql5.com/ru/forum/68180#comment_2089395, где он привёл:

if(prev_calculated==0)  // значит история изменилась или это первый проход

Ведь и я, в том числе, как и другие, намекала вам об этом, как и о некотором другом, в своих двух постах: https://www.mql5.com/ru/forum/68180/page3#comment_2095342

Посмотрите Документацию, что там привела (не только в части выделенной там фразы, но и по тексту в целом).

Не торопитесь, пожалуйста, и тогда всё у вас получится в плане решения этой своей проблемы. Успехов!

eevviill7
20119
eevviill7  
Dina Paches:

Вы не торопитесь, пожалуйста.

А пока будете ждать ответа разработчиков, послушайте то, что сказал модератор выше. Порекомендую и перечитать ещё раз эту свою тему.

Обратите внимание на этот пост модератора, к примеру: https://www.mql5.com/ru/forum/68180#comment_2089395, где он привёл:

Ведь и я, в том числе, как и другие, намекала вам об этом, как и о некотором другом, в своих двух постах: https://www.mql5.com/ru/forum/68180/page3#comment_2095342

Посмотрите Документацию, что там привела.

Не торопитесь, пожалуйста, и тогда всё у вас получится в плане решения этой своей проблемы. Успехов!

У вас есть решение код?

Или вы боитесь что я посмениваю ТФ и ваша конструкция тоже не будет работать? Ничего страшного, мы здесь ОБЩЮЮ проблему решаем. 

Dina Paches
5468
Dina Paches  
Vasyl Nosal:

У вас есть решение код?

Или вы боитесь что я посмениваю ТФ и ваша конструкция тоже не будет работать? Ничего страшного, мы здесь ОБЩЮЮ проблему решаем. 

Всё же рекомендую воспользоваться советами, что привела в этом посте: https://www.mql5.com/ru/forum/68180/page4#comment_2097011

А для меня у меня есть решения.

К своим же собственным - будьте любезны далее идти уже без меня. Намёк общего направления (см. prev_calculated и rates_total) вам разные люди сделали здесь много раз.

Из вашего же предположения в мой адрес полагаю, что вы не заметили и следующего, что вам говорила:

Реализация может быть различной в зависимости от задач. Нюансы могут быть различны. Может вам посмотреть, как что реализовано у других в зависимости от различных условий? В т.ч., и с помощью распринтовки разобраться, определиться, сформировать приемлемые для себя в зависимости от задач варианты?

Как и не заметили, наверное, пост Victora Nikolaevа: https://www.mql5.com/ru/forum/68180/page2#comment_2091839

Голова ведь у вас есть? Есть.

Со своей проблемой желаете разобраться? Похоже, на то, вроде.

Значит, при желании и необходимости, свои решения для разных программ можете вывести и выводить самостоятельно.

Я или кто-либо другой в этой теме обязаны вам что-либо более подробно предоставлять? Нет.


eevviill7
20119
eevviill7  
Dina Paches:

...


У вас есть решение код?
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий