Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 1012

 

Подскажите имеет ли смысл это:

IndicatorSetInteger(INDICATOR_DIGITS,_Digits+1)
 
Сергей Таболин:

Подскажите имеет ли смысл это:

Это всё равно, что спорить о вкусах фломастеров.

 

Подскажите пожалуйста, если изменить размер динамического массива в меньшую сторону с помощью функции ArrayResize разве не должно сократиться количество памяти используемой советником ? ( смотрю с помощью функции MQLInfoInteger(MQL_MEMORY_USED) 

Вот код:

Print("Первый ArrayResize вернул ",ArrayResize( TickTemp, 1000000, 0 ));
Print("Размер массива после ПЕРВОГО ArrayResize ",ArraySize( TickTemp ),"  Используем памяти. ",MQLInfoInteger(MQL_MEMORY_USED));
    
Print("Второй ArrayResize вернул ",ArrayResize( TickTemp, 500000, 0 ));
Print("Размер массива после ВТОРОГО ArrayResize ",ArraySize( TickTemp ),"  Используем памяти. ",MQLInfoInteger(MQL_MEMORY_USED));

Вот результат:

Первый ArrayResize вернул 1000000
Размер массива после ПЕРВОГО ArrayResize 1000000  Используем памяти. 58

Второй ArrayResize вернул 500000
Размер массива после ВТОРОГО ArrayResize 500000  Используем памяти. 58

Честно говоря немного не неожиданный для меня результат. Ожидал что программа будет использовать памяти во втором случае в два раза меньше.

 
Есть ли возможность применить свой шаблон для визуализации в тестере? Не шаблон с именем эксперта, а по умолчанию.
 
Сергей Таболин:
Есть ли возможность применить свой шаблон для визуализации в тестере? Не шаблон с именем эксперта, а по умолчанию.

ОТкрыть новый график. Набросать туда чего-нибудь. Правый клик на полученном графике - Сохранить шаблон ... -> tester.tpl

Теперь визуальное тестирование будет запускаться с шаблоном который Вы создали.

 
Vladimir Karputov:

ОТкрыть новый график. Набросать туда чего-нибудь. Правый клик на полученном графике - Сохранить шаблон ... -> tester.tpl

Теперь визуальное тестирование будет запускаться с шаблоном который Вы создали.

Огромное спасибо.

 
Ещё вопрос. Как программно проверить наличие пользовательского индикатора без использования iCustom ? Типа FileIsExist.
 
Сергей Таболин:
Ещё вопрос. Как программно проверить наличие пользовательского индикатора без использования iCustom ? Типа FileIsExist.

Запросить общее количество индикаторов на графике и в цикле поискать по короткому имени индикатора.

 
Alexey Viktorov:

Запросить общее количество индикаторов на графике и в цикле поискать по короткому имени индикатора.

Уточнение. Не на графике, а вообще. Узнать есть ли индикатор в "наборе". В папке индикаторов.

Вот, к примеру, у меня есть мой индикатор А, который использует другой пользовательский индикатор Б. Если при запуске А не будет получен хендл Б, то А не запустится. 

А вот если запустить сову, использующую А, то А не запускается, а сова не закрывается, несмотря на:

   handle_A = iCustom(Symbol(),0,"my_used\\my_A7C");
   if(handle_A == INVALID_HANDLE)                                   // проверяем наличие хендла индикатора
   {
      Print("Не удалось получить хендл индикатора handle_A");       // если хендл не получен, то выводим сообщение в лог об ошибке
      return(INIT_FAILED);                                          // завершаем работу с ошибкой
   }
   else
   {
      Print("Получен хендл индикатора handle_A");
      ChartIndicatorAdd(ChartID(),0,handle_A);                      // подключаем индикатор к графику
   }
 
Сергей Таболин:

Уточнение. Не на графике, а вообще. Узнать есть ли индикатор в "наборе". В папке индикаторов.

А можно ещё уточнить для чего это надо?