Как оптимизировать поддержку и сопротивление?

 

Огромная вычислительная мощность. Мой процессор превышает 20%.

Я хочу оптимизировать код индикатора.

Как я могу это сделать?

Файлы:
 
Используйте профилирование кода - https://www.metatrader5.com/en/metaeditor/help/development/profiling
Code profiling - Developing programs - MetaTrader 5
Code profiling - Developing programs - MetaTrader 5
  • www.metatrader5.com
Profiling means collecting program parameters during its execution. During a profiling, the execution time and the number of calls of individual functions and program code lines are measured. With this tool, the programmer is able to find and optimize the slowest code sections. Profiling can be performed on the normal chart of the trading...
 
jaffer wilson:

Огромная вычислительная мощность. Мой процессор превышает 20%.

Я хочу оптимизировать код индикатора.

Как я могу это сделать?

Реализуйте блоковую обработку при первом старте индикатора (  if(prev_calculated>rates_total || prev_calculated<=0)), далее объем обрабатываемых данных не значительный. Размер блока делайте не более 2000, как собственно и рекомендуют MQ.

 
Обновляйте индикатор только на новом баре. Это фракталы, обновлять на каждом тике нет никакого смысла.
 
Всем спасибо. Я попробую ваши предложения. Я думаю, это будет работать.
 
9214DBDA :
Good afternoon, I ask for the script 

Привет, о каком сценарии ты говоришь. был ли индикатор загружен в виде вложения или у вас есть другой вопрос? Если вы говорите о моем, то вам просто нужно скомпилировать его с помощью Meta Editor 5 и запустить его как сам индикатор.

 
Комментарии, не относящиеся к этой теме, были перенесены в "Любые вопросы новичков по MQL4, помощь и обсуждение по алгоритмам и кодам".
 

Не так уж и много резервов в этом индикаторе. Вот в этом месте дело:

to_copy=rates_total-prev_calculated+3; // расчетное количество только новых баров
limit=rates_total-prev_calculated+2; // стартовый номер для расчета новых баров

Расчет на 2-3 лишних бара ,а их всех расчетов - копирование данных и пара if.

Что интересно, в инете фигурирует куча индикаторов в которых на каждом тике выполняется расчет баров на 300 - никого не беспокоит. А тут раз - на пару лишних баров расчет и проблемы.