MetaTrader 4 Client Terminal build 610 - страница 10

 

Я не пойму, то-ли у меня мой русский язык стал не совсем русским, то-ли в справке ошибка

rates_total - это размер таймсерий или количество баров?

 
Ctmcn:
По 604 билду спрашивал - так и не помогли. Решил все сам. Все мое заработало без ошибок. Вроде и привык даже. Сегодня обновили МТ4 до 610 - в нем МЕ не компилирует ничего - ни встроенные индикаторы, ни мои. Не могу установить в OsMA параметры 3,10,0. При обновлении опять ругнулся Avira на dll.mql. Мои действия ? P.S. Когда ожидать стабильного билда - зачем задалбывать постоянными обновлениями ?

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

mql.dll,цифровкю подпись и это поддленная, то это не вирус.

В авире заходите в ностройках.Real-Time Protection=>поиск=>исключения, и в System Scaner=>поиск=>исключения. То есть исключение из проверке

авиры этих файлов, в исключениях указывайте свой путь к этим файлам mql.dll. А путь посмотрите в карантин до этих файлов.

Это чтобы антивирус не блокировал обновление.

Чтобы МЕ сработал,ручного обновления в мт4 нету,скачаите с дц мт4 свежый, установите еще один терминал,скопируйте mql.dll из нового мт4 в старый,

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

Дыма без огня не бывает, но ктото химичит........

 

И ещё в справке ошибка


 
Renat:

У вас дерьмовый(а он именно такой) антивирус стирает файлы компилятора, вы это видите и знаете, но продолжаете считать, что виноват терминал и его апдейт?

Поразительно.

Я Avira 8 (восемь) лет пользуюсь - не было вопросов, как и МТ4. При инсталяции, если ругается - пропускаем и усе. Так что не надо ля-ля. Подстановка mql.dll из необновленных 604 - ничего не дала. На 604 все работает без вопросов и ничего не стерто, хоть и ругнулся Avira при инсталяции 604. Что не так ?
 
stringo:

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

В случае со стандартным MACD Sample убыстрение составило всего 30% (вместо старых 60 секунд тестирование нового EX4 отрабатывает за 40 секунд, получая те же самые результаты). Но мы ведь должны рассматривать более сложные случаи, чем MACD Sample?


Да, конечно, мой код намного сложнее MACD Sample.
Вообще то что происходит (в МТ4-509 это проявляется наиболее ярко) очень напоминает анекдот про маляра:
http://pda.anekdot.ru/id/73452

Тестирую на М5 по ценам открытия (на всех тиках результат практически такой же, погрешность незначительна).
- 01.01.2001 - 01.01.2003 - в обоих тестерах тестирование занимает 1 секунду.
- 01.01.2001 - 01.01.2005 - в 610 ~3 секунды, в 509 ~5 секунд.
- 01.01.2001 - 01.01.2007 - в 610 ~6 секунд, в 509 ~14 секунд.
- 01.01.2001 - 01.01.2014 - в 610 ~33 секунды, в 509 ~88 секунд.

Повторюсь - в 509 и 610 результаты абсолютно идентичны.
 
chief2000:

Да, конечно, мой код намного сложнее MACD Sample.
Вообще то что происходит (в МТ4-509 это проявляется наиболее ярко) очень напоминает анекдот про маляра:
http://pda.anekdot.ru/id/73452

Тестирую на М5 по ценам открытия (на всех тиках результат практически такой же, погрешность незначительна).
- 01.01.2001 - 01.01.2003 - в обоих тестерах тестирование занимает 1 секунду.
- 01.01.2001 - 01.01.2005 - в 610 ~3 секунды, в 509 ~5 секунд.
- 01.01.2001 - 01.01.2007 - в 610 ~6 секунд, в 509 ~14 секунд.
- 01.01.2001 - 01.01.2014 - в 610 ~33 секунды, в 509 ~88 секунд.


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

В старой четвёрке, если массив ресайзился каждый раз на один и тот же размер, то реального перераспределения памяти не происходило, и потерь на этом не было. Мы сейчас думаем над тем, чтобы и в новой четвёрке можно было избежать этих же потерь

 
Vladon:
В индикаторах в тестер не работает Print

Проверим.

А Вы пока посмотрите, может индикаторный принт попадает не во вкладку тестера, а во вкладку экспертов?

 
stringo:


проверьте неисправленный момент
 
stringo:

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

В старой четвёрке, если массив ресайзился каждый раз на один и тот же размер, то реального перераспределения памяти не происходило, и потерь на этом не было. Мы сейчас думаем над тем, чтобы и в новой четвёрке можно было избежать этих же потерь


Вы мне сейчас напомнили, есть в коде один модуль (наверное самый древний в этом Советнике, в нем действительно используются ArrayResize в цикле), который не задействован во время оптимизации, сейчас отключил его и время тестирования значительно сократилось: 01.01.2001 - 01.01.2014 - в 610 ~7 секунд, в 509 ~10 секунд (возможно дело не в ArrayResize). Разница во времени теперь больше похожа на Ваши проверки с MACD Sample, новый МТ4 по прежнему работает быстрее. Через несколько дней поставлю оптимизацию в одном достаточно загруженном режиме, проверю в обеих версиях (насколько это будет возможно) и тогда появится больше информации.
 

Всем привет!

После апдейта до 610 билда началась беда с экспертами, которые используют dll: они валятся с ошикой "invalid license". Код эксперта и dll прилагаю. Кто знает как решить проблему?

//+------------------------------------------------------------------+
//|                                                      TestDll.mq4 |
//|                        Copyright 2014, MetaQuotes Software Corp. |
//|                                              https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2014, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict

#import "TestDll.dll"
 int CreateFile();
#import
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
Print("nit");
         CreateFile();
   //---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   CreateFile();
  }
//+------------------------------------------------------------------+
Файлы:
testdll.zip  129 kb
Причина обращения: