if(prev_calculated>rates_total || prev_calculated<0) to_copy=rates_total; - страница 2

 
Dmitry Fedoseev:

Не ну вы сподобитесь написать в каком индикаторы вы такое увидели, или не царское дело?


 
Vladimir Karputov:

Ищутся эти совпадения элементарно: в строку поиска MetaEditor'a вставляется строка "if(prev_calculated>rates_total || prev_calculated<0) to_copy=rates_total" и выбирается режим "Поиск в файлах". Первый подопытный - "Accelerator".

Вероятно конструкция

была введена для защиты вот от таких случаев ("+1" я дописал сам - для тестирования):

- то есть вероятно раньше была возможность в конце OnCalculate() вернуть количество баров больше, чем "rates_total". А так как в коде применяется копирование ("CopyBuffer"), то можно было бы получить ошибку выхода за пределы массива.


Сейчас я попробовал 

- но обмануть не удалось - при таком методе при последующем заходе в OnCalculate() "prev_calculated" сбрасывается в "0".


Dmitry Fedoseev:

Не ну вы сподобитесь написать в каком индикаторы вы такое увидели, или не царское дело? Где увидели, что ситуация имеет место быть?


Владимир об этом уже писал

 

В индикаторе - Copyright 2009-2017...

Индикаторы написаны в 2009 году, когда терминал только только создавался, сейчас, возможно, многие из этих проверок не имеют смысла.

 
Dmitry Fedoseev:

В индикаторе - Copyright 2009-2017...

Индикаторы написаны в 2009 году, когда терминал только только создавался, сейчас, возможно, многие из этих проверок не имеют смысла.


Спасибо! вопросов больше нет

Причина обращения: