Ошибки, баги, вопросы - страница 418

 

Пару дней как копаюсь с МТ5, заметил что стопы и профиты теперь можно редактировать мышью, это хорошо, однако с этим связан небольшой баг. при подведении мышки к стопу ее указатель изменяется чтоб показать что стоп активен для редактирования, но указатель меняется и при использовании инстумента "Перекрестие", а это приводит к тому что если я хочу замерить расстояние от стопа то делать это крайне не удобно потому как вторая точка находятся за самим указателем и не видно до чего я ее довожу. Хотел было сделать PrintScreen но на нем мышь не фоткается. 

Итого: мерить "Перекрестием" от стопа не удобно. 

 
mql5:
Ошибка исправлена.
"Фичу" проверки switch обсудили, реализовать правильный/корректный контроль невозможно.
Значение выражения switch может быть любым, например:

ОК, понятно. Компилятор не может вместо программиста контролировать значение выражения switch.

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

enum EV { v1, v2, };
...
   switch(EV(3))

Означает ли это, что допустимо обращаться к данным перечислимого типа не только с помощью именованных констант (v1, v2 и т.д.), но и путём указания их порядкового номера в перечислении ( EV(n) )?  

...А то я такие конструкции нагородил для решения подобного вопроса, - а тут  может всё оказаться гораздо проще.

 
Yedelkin:

Означает ли это, что допустимо обращаться к данным перечислимого типа не только с помощью именованных констант (v1, v2 и т.д.), но и путём указания их порядкового номера в перечислении ( EV(n) )?  

В данном случае применено просто стандартное приведение типа int к EV. В функциональной нотации.

Возможны две синтаксические формы приведения типов в mql5, равноценные по результату: (Имя_типа) Значение  и  Имя_типа(Значение).

Я к тому, что это не какая-то особая фича относящаяся к перечислениям, это просто обычное приведение типа.

 
Jhonny:

Пару дней как копаюсь с МТ5, заметил что стопы и профиты теперь можно редактировать мышью, это хорошо, однако с этим связан небольшой баг. при подведении мышки к стопу ее указатель изменяется чтоб показать что стоп активен для редактирования, но указатель меняется и при использовании инстумента "Перекрестие", а это приводит к тому что если я хочу замерить расстояние от стопа то делать это крайне не удобно потому как вторая точка находятся за самим указателем и не видно до чего я ее довожу. Хотел было сделать PrintScreen но на нем мышь не фоткается. 

Итого: мерить "Перекрестием" от стопа не удобно. 

Согласен, дельное замечание, но это не баг, его бы в тему пожелания.

Пожелания для МТ5

 
MetaDriver:

В данном случае применено просто стандартное приведение типа int к EV. В функциональной нотации.

Возможны две синтаксические формы приведения типов в mql5, равноценные по результату: (Имя_типа) Значение  и  Имя_типа(Значение).

Я к тому, что это не какая-то особая фича относящаяся к перечислениям, это просто обычное приведение типа.

Круто! Попробую переварить. Но из Ваших слов следует положительный ответ на мой вопрос. Уже хорошо! Спасибо!
 

Не получается запустить тест в режиме визуализации. Сам визуализатор стартует, но тестирование не начинается. Вот, что написано в логе:

2011.06.16 21:25:47 EURUSD: symbol synchronized, 2904 bytes of symbol info received
2011.06.16 21:25:47 symbol EURUSD synchronization error
2011.06.16 21:25:47 cannot get history EURUSD,M1
2011.06.16 21:25:47 log file "C:\Program Files\MetaTrader 5\Tester\Agent-127.0.0.1-3000\logs\20110616.log" written
2011.06.16 21:25:48 tester agent shutdown
  

 

Разработчикам.

Визуальный тестер и в правду такой медленный или мне просто показалось?

 
molotkovsm:

Не получается запустить тест в режиме визуализации. Сам визуализатор стартует, но тестирование не начинается. Вот, что написано в логе:

2011.06.16 21:25:47 EURUSD: symbol synchronized, 2904 bytes of symbol info received
2011.06.16 21:25:47 symbol EURUSD synchronization error
2011.06.16 21:25:47 cannot get history EURUSD,M1
2011.06.16 21:25:47 log file "C:\Program Files\MetaTrader 5\Tester\Agent-127.0.0.1-3000\logs\20110616.log" written
2011.06.16 21:25:48 tester agent shutdown
  

Такая же проблема. По указанному пути лог агента не открывается.

2011.06.16 22:40:52     tester agent shutdown
2011.06.16 22:40:52     log file "C:\Program Files\MetaTrader 5 - 64\Tester\Agent-127.0.0.1-3000\logs\20110616.log" written
2011.06.16 22:40:52     cannot get history EURUSD,M1
2011.06.16 22:40:52     symbol EURUSD synchronization error
2011.06.16 22:40:52     EURUSD: symbol synchronized, 2904 bytes of symbol info received
2011.06.16 22:40:51     Pentium Dual-Core  T4300 @ 2.10GHz, 3001 MB
2011.06.16 22:40:51     13 Kb of total initialization data received
2011.06.16 22:40:51     successfully initialized
2011.06.16 22:40:51     expert file added: Experts\Тест.ex5. 2958 bytes loaded
2011.06.16 22:40:51     346 bytes of selected symbols loaded
2011.06.16 22:40:51     196 bytes of input parameters loaded
2011.06.16 22:40:51     1490 bytes of tester parameters loaded
2011.06.16 22:40:51     3788 bytes of group info loaded
2011.06.16 22:40:51     login (build 468)
2011.06.16 22:40:51     initialization finished
2011.06.16 22:40:51     MetaTester 5 started on 127.0.0.1:3000
2011.06.16 22:40:51     MetaTester 5 x64 build 468 (16 Jun 2011)


 
Приведите код, пожалуйста.
 
Renat:
Приведите код, пожалуйста.

Доброй ночи, мне интересно допустим в этом коде

  if(B >= spred && IND == true && proverka()==true)

после проверки B>spred которая является "ЛОЖЬ" идет проверка остальных значений

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

   if(B >= bar)
    {
     if (IND == true) 
      {
       if (proverka)==true)
        {
         .......

Причем самый трудоемкий по расчетам ( proverka() - копирование значений буферов индюка )

я ставлю самым последним, только так, не идет проверка последнего. Вот интересно

а почему так ???

Или так не будет проверка последнего:

 if(B >= bar) if (IND == true) if (proverka()==true)
Причина обращения: