Можно ли снизить ресурсы потребления(проц, винт, озу) во время тестирования советника? - страница 4

 

Mike_Kharkov

Перед любым действием - ResetLastError, после выполнения куска кода - если _LastError > 0, то

выводите критические ошибки так, чтобы их было за километр видно

Print("---===!!!АШИПКА!!!===---");

Может, так попроще будет найти.

 

Mike_Kharkov:

Код мой.  Но комментировать мне нет смысла, потому как код находится в процессе постоянной модернизации и принты мне просто жизненно необходимы, что бы понимать природу тех или иных ошибок..

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

https://www.mql5.com/ru/docs/constants/environment_state/mql5_programm_info


Допустим, будете выводить в журнал только в тех случаях, когда тестируете в визуальном режиме:

if (MQL5InfoInteger(MQL_VISUAL_MODE)) Print ("чего-то там");
 
Mike_Kharkov:
   Точных данных у меня нет.
   Если бы знал в чем причина - соответственно не обращался бы за помощью на форум.
   При каждом запуске тестера на винте съедается в среднем 10 гектар.
   После окончания тестирования пространство заново освобождается.
   Но было что и 20 гектар съедало и потом возвращалось.
   Щас вот в логах удалил(по совету некоторых форумчан) текстовый файл на 6 гектар(как оказалось) ещё дополнительно.
   Вот по сути и все, что мне известно..
   P.S. У меня в коде много принтов, возможно из за этого пространства так много поглощается..
у меня есть некоторые предположения что это за советник если советник из маркета.... но там глюк кода однозначно

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

или код чисто ваш?

Код его, 100%

1)

2)

 
Renat:

Посмотрите на логи старта терминала:

и поведение в тестере стратегий:

Пример в codebase: OpenCL в MetaTrader 5

Документация: работа с OpenCL в MetaTrader 5

:-) ура, я знал я знал. что так должно быть :-)
просто моей компетенции явно оказалось маловато чтобы за фразами опенсл и сру распознать работу видеокарт
значит все таки я не зря мать с кроссфаером купил :-)))))


 

Топикстартер, ты же сам забиваешь диск логами (Print).

Организуй у себя глобальную переменную навроде DEBUG, ставь ей true или false когда надо тестить.

а принты перепиши в таком стиле 

if (DEBUG) Print(...);

 Для тестирования задавай DEBUG = false, если ошибки работы с ордерами будут появляться, тестер сам покажет.

А вообще это моветон выводить все подряд Print'ом... только критические ошибки и события обычно выводят...

Обычно делают свою панельку типа Dashboard прям на чарте или в подокне... и туда уж все чего душа пожелает выливай :)) но не print ))

 
i_logic:

Можно.

Инфа по ключу:

   Попробовал - но вроде ничего не получется.

  
 
   Или я что то упустил?
 
Mike_Kharkov:
  
 
   Или я что то упустил?

Пробел перед /portable.

См. внимательно мою картинку

 
Mike_Kharkov:
   Попробовал - но вроде ничего не получется.

  
 
   Или я что то упустил?
Хех, рабочий стол - не сильно загружен? :-)
Майкрософт отказался от гаджетов рабочего стола по причине их уязвимости...
 
IvanIvanov:
Хех, рабочий стол - не сильно загружен? :-)
Майкрософт отказался от гаджетов рабочего стола по причине их уязвимости...
   >> Хех, рабочий стол - не сильно загружен? :-)
   Самый раз. )
Причина обращения: