Как заставить индикатор вычислять только один раз при запуске, скрипты в этом случае не подходят у них нет входных параметров

 
У меня индикатор, который даже вычисляя значение для 1-го бара умудряется взвесить терминал :)

Он оптимизирован по всем правилам программирования... Но

Впрочем от него и не требуется слишком много, нужно получить значение для конкретного бара и всё, и чтобы это состояние зафиксировалось. ..
Индикаторы же пересчитываются постоянно, даже с появлением нового бара, если будет осуществляться пересчет, это ничего не решит, вычисление занимает минимум 10-20 секунд, а так как я торгую на минутках - это полный... огурцов

Что можно сделать, чтоб вычисление индикатора происходило только один раз при перезапуске индикатора
 
limit=Bars-counted_bars-2;
for (i=limit;i>=0;i--)
{
// код для ввычисления значения инддикатора
}
 

Читаем на: https://docs.mql4.com/ru/basis/preprosessor/compilation

show_inputs void выводить окно со свойствами перед запуском скрипта и запретить вывод окна подтверждения


#property show_inputs
 
Не понял вообще к чему это :)

Я же говорю, что индикатор оптимизирован по всем правилам :)

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

Так что все таки - подходят
 
S4kam:
Не понял вообще к чему это :)

Я же говорю, что индикатор оптимизирован по всем правилам :)

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

Не понятно, к кому обращаетесь. Если Вы хорошо представляете механизм оптимизации расчета индикатора, то что мешает на каждом новом баре
а) просчитать новое значение индикатора для нового нулевого бара на первом тике нового бара
б) взвести флаг запрета на запуск расчета для этого бара
в) на новом баре снять флаг запрета и опять пункт а)
 

это код для индикатора:
Можно вставить переменную в инидикатор вычислять один раз или каждый раз.

extern bool everytime;
bool firsttime;


Int Init()
{
firdsttime=true;
}

int Start()
{
if(firsttime||everytime)
{
calc();
firsttime=false;
}
return(0);
}

кстати никак не могу перенести код в сообщение. Окошко появляется а кнопки для переноса нет. это вопрос к руководителям форума.

 
irusoh1:

кстати никак не могу перенести код в сообщение. Окошко появляется а кнопки для переноса нет. это вопрос к руководителям форума.


У меня был такой же случай. Помогла очистка кеша браузера.
 
Rosh:
irusoh1 писал (а):

кстати никак не могу перенести код в сообщение. Окошко появляется а кнопки для переноса нет. это вопрос к руководителям форума.


У меня был такой же случай. Помогла очистка кеша браузера.

Нет не получилось.
По моему окошко маловато. Кнопки не видно. А раздвинуть невозможно.
 

А вот сейчас появилось. Может изменить чтобы можно было менять размер окна.

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