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

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

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

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

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

Файлы:
Rashid Umarov
Админ
16664
Rashid Umarov  
Используйте профилирование кода - 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...
Farkhat Guzairov
2083
Farkhat Guzairov  
jaffer wilson:

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

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

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

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

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

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

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

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

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

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

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

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