Новая версия платформы MetaTrader 5 build 2815: Доступ к стакану цен из Python, улучшения в отладчике и профилировщике - страница 10

 

Индикаторы iStdDev  и болинджера, странно долгие. Циклы крутятся, хотя меняется, только последнее значение на последнем баре. Что то  стало страшно использовать стандартные индикаторы

iStdDev  

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

 

После выбора объекта как бы мышка в заряженном состоянии для построения объекта после клика. Было бы неплохо иметь программный доступ к уже имеющемуся арсеналу, графических объектов, без затрат по времени на создания аналогов.

 

 
BillionerClub:

После выбора объекта как бы мышка в заряженном состоянии для построения объекта после клика. Было бы неплохо иметь программный доступ к уже имеющемуся арсеналу, графических объектов, без затрат по времени на создания аналогов.

 

Чем не устраивает ObjectCreate() ?
Документация по MQL5: Графические объекты / ObjectCreate
Документация по MQL5: Графические объекты / ObjectCreate
  • www.mql5.com
ObjectCreate - Графические объекты - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 

В разделе "Управление сигналами" в справке написано, что есть возможность подписаться на сигнал средствами MQL.

На самом же деле, есть ли такая возможность?

Любой вызов функций SignalInfoSet*, SignalSubscribe() и SignalUnsubscribe() возвращает ошибку 4014 "Системная функция не разрешена для вызова"

При этом функция MQLInfoInteger(MQL_SIGNALS_ALLOWED) всегда возвращает false.

Документация по MQL5: Управление сигналами
Документация по MQL5: Управление сигналами
  • www.mql5.com
Управление сигналами - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 

Советнику выставлены права?


 
Rashid Umarov:

Советнику выставлены права?


Вот же ж :)

Спасибо, Рашид, в этом и была причина. "Слона-то я и не заметил"

 
Artyom Trishkin:
Чем не устраивает ObjectCreate() ?

Упростить в создании таких сценариев, не изобретая велосипедов

Неизвестно по каким критериям будет создание объектов, в будущем, чтобы решить это програмными методами. Легче дать это уже готовый внутренний метод МТ5 и кликом мыши создать, обычным ручным способом объект

 

Или возможность формировать меню из элементов меню 2-3 уровня. Это тоже бы упростило бы не загромождая рабочее место

NewMenu

 

Нечего не понимаю.

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

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

void OnStart()
  {
     string Result = "";  
     for(int k = 0; k < 5000; k++)
     {
         Result = Result + " Строка" + " Строка" + " Строка" + " Строка" + " Строка" + " Строка" +
                           " Строка" + " Строка" + " Строка" + " Строка" + " Строка" + " Строка" +
                           " Строка" + " Строка" + " Строка" + " Строка" + " Строка" + " Строка" +
                           " Строка" + " Строка" + " Строка" + " Строка" + " Строка" + " Строка" +
                           " Строка" + " Строка" + " Строка" + " Строка" + " Строка" + " Строка" +
                           " Строка" + " Строка" + " Строка" + " Строка" + " Строка" + " Строка" +
                           " Строка" + " Строка" + " Строка" + " Строка" + " Строка" + " Строка" +
                           " Строка" + " Строка" + " Строка" + " Строка" + " Строка" + " Строка" +
                           " Строка" + " Строка" + " Строка" + " Строка" + " Строка" + " Строка"; 
     }
  
  }


 MetaEditor Version 5.00 build 2715 26 Nov 2020
 Время выполнения скрипта: 3,5 сек.

 MetaEditor Version 5.00 build 2815 26 Feb 2021
 ВРЕМЯ ВЫПОЛНЕНИЯ СКРИПТА: 190 СЕКУНД !!!!!!!!!!!!!

Время выполнения на последней обновленной версии увеличилось, на вскидку, более чем в 50-60 раз !!!!!!

Что это ? Что вы сделали со строками ?  Зачем ?

Документация по MQL5: Строковые функции / StringAdd
Документация по MQL5: Строковые функции / StringAdd
  • www.mql5.com
StringAdd - Строковые функции - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
Файлы:
Example.mq5  4 kb
 
Zmeev:

Нечего не понимаю.

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

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

void OnStart()
  {
     string Result = "";  
     for(int k = 0; k < 5000; k++)
     {
         Result = Result + " Строка" + " Строка" + " Строка" + " Строка" + " Строка" + " Строка" +
                           " Строка" + " Строка" + " Строка" + " Строка" + " Строка" + " Строка" +
                           " Строка" + " Строка" + " Строка" + " Строка" + " Строка" + " Строка" +
                           " Строка" + " Строка" + " Строка" + " Строка" + " Строка" + " Строка" +
                           " Строка" + " Строка" + " Строка" + " Строка" + " Строка" + " Строка" +
                           " Строка" + " Строка" + " Строка" + " Строка" + " Строка" + " Строка" +
                           " Строка" + " Строка" + " Строка" + " Строка" + " Строка" + " Строка" +
                           " Строка" + " Строка" + " Строка" + " Строка" + " Строка" + " Строка" +
                           " Строка" + " Строка" + " Строка" + " Строка" + " Строка" + " Строка"; 
     }
  
  }


 MetaEditor Version 5.00 build 2715 26 Nov 2020
 Время выполнения скрипта: 3,5 сек.

 MetaEditor Version 5.00 build 2815 26 Feb 2021
 ВРЕМЯ ВЫПОЛНЕНИЯ СКРИПТА: 190 СЕКУНД !!!!!!!!!!!!!

Время выполнения на последней обновленной версии увеличилось, на вскидку, более чем в 50-60 раз !!!!!!

Что это ? Что вы сделали со строками ?  Зачем ?

Попробуйте этот код

void OnStart()
  {
   string Result = "";
   
   ulong t=GetMicrosecondCount();
   
   for(int k = 0; k < 5000; k++)
     {
      Result += " Строка" + " Строка" + " Строка" + " Строка" + " Строка" + " Строка" +
                " Строка" + " Строка" + " Строка" + " Строка" + " Строка" + " Строка" +
                " Строка" + " Строка" + " Строка" + " Строка" + " Строка" + " Строка" +
                " Строка" + " Строка" + " Строка" + " Строка" + " Строка" + " Строка" +
                " Строка" + " Строка" + " Строка" + " Строка" + " Строка" + " Строка" +
                " Строка" + " Строка" + " Строка" + " Строка" + " Строка" + " Строка" +
                " Строка" + " Строка" + " Строка" + " Строка" + " Строка" + " Строка" +
                " Строка" + " Строка" + " Строка" + " Строка" + " Строка" + " Строка" +
                " Строка" + " Строка" + " Строка" + " Строка" + " Строка" + " Строка";
     }
     
   Print((GetMicrosecondCount()-t)/1000000.0," sec");

  }