Новая версия платформы MetaTrader 5 build 1930: Плавающие окна графиков и .Net библиотеки в MQL5 - страница 46

 
Alexey Volchanskiy:

хочется визуальный тиковый график в тестере, что ли? Так это будет наоборот неудобно и не нужно, будешь видеть на экране маленький кусочек в несколько минут, и заем это?

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Индикаторы: Тиковый индикатор Ticks

fxsaber, 2017.10.16 09:08

В визуализаторе теперь отключаю отображение баров за ненадобностью. Тогда еще лучше видны реальные тики и спред.

 

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Новая версия платформы MetaTrader 5 build 1930: Плавающие окна графиков и .Net библиотеки в MQL5

fxsaber, 2018.11.27 18:41

Обозначенная проблема не началась с 19xx билдов, а была и раньше. Переключаюсь между Терминалом и редактором через F4. Несколько раз в день обнаруживаю такое положение окон

Все подокна доведены до минимальных размеров. Правлю до нормальных, проходит какое-то время - повторяется. Не сильно напрягает, но все же.


Sergey Chalyshev:

Аналогично, давно наблюдаю такую проблему, иногда даже сильно напрягает.

Только от F4 это не зависит, переключаюсь только с помощью мыши.

 

Оптимизатор по завершении выводит такую статистику

optimization finished, total passes 200
optimization done in 2 minutes 57 seconds
shortest pass 0:00:00.764, longest pass 0:00:01.982, average pass 0:00:00.862


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

Первая пачка

pass 0 (batch of 128 tasks) started
common synchronization completed
EURUSD: ticks synchronized already [43 bytes]
pass 0 returned result 412.96 in 0:00:01.982
pass 1 returned result 909.11 in 0:00:00.873
pass 2 returned result 1231.45 in 0:00:00.827


Вторая пачка

pass 126 returned result 9220.59 in 0:00:00.998
pass 127 returned result 9254.93 in 0:00:00.826
pass 128 (batch of 72 tasks) started
pass 128 returned result 9289.36 in 0:00:01.233
pass 129 returned result 9323.05 in 0:00:00.889
pass 130 returned result 9356.73 in 0:00:00.874


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

 

Просьба добавить Recent-советники в Тестер - список последних выбранных в Тестере советников.


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

 

Ситуация с WebRequest и доступ к cftc.gov через MetaTrader 5 - причина отказа в доступе найдена.

Как и обещал делаю рапорт. Оказалось что в MetaTrader 4 и MetaTrader 5 по-разному обрабатываются поля 'Allow WebRequest to listed URL'.

Возможность доступа к сайту будет зависеть от комбинаций адреса в функции url

WebRequest("GET", url, cookie, 5000, post, result, headers);

и того, что указано в графе Allow WebRequest for listed URL:

При этом у разных платформ разное поведение!

У MetaTrader 4 поведение следующее:

Протокол указанный в 'Allow WebRequest for listed URL'Протокол, указанный в параметре url функции WebReuest Доступ к сайту
httphttp Разрешен
httphttps Запрещен 
httpshttpЗапрещен 
httpshttpsРазрешен 

У MetaTrader 5 до билда 1950:

Протокол указанный в 'Allow WebRequest for listed URL'Протокол, указанный в параметре url функции WebReuest Доступ к сайтуКомментарии сервера/MT5 
httphttpЗапрещен400 The plain HTTP request was sent to HTTPS port
httphttps Запрещен Ошибка 4014 - вызов функции запрещен 
httpshttpЗапрещен Ошибка 4014 - вызов функции запрещен
httpshttpsРазрешен  Код сервера 200 - все OK.

После билда 1950 протокол в WebRequest for listed URL в MetaTrader 5 можно не указывать вовсе, в связи с переходом на WebSocket он будет игнорироваться:

Renat Fatkhullin:
В новой версии в связи с добавлением SocketXXX функций мы вообще игнорируем имя протокола. http и https становятся незначащими.

Т.е. теперь можно писать без указания протокола, например так:


Это будет работать. Однако адрес в параметре url функции WebRequest должен содержать фактический протокол передачи данных. Для сайта cftc.gov это https.

Т.е.:

WebRequest("GET", "https://www.cftc.gov", cookie, 5000, post, result, headers);

Будет работать, а 

WebRequest("GET", "http://www.cftc.gov", cookie, 5000, post, result, headers);

работать не будет.

Хотя апдейт 1950 не сделал обе платформы полностью унифицированными, этого вполне достаточно для работы. Всем спасибо:)

 
Vasiliy Sokolov:

Ситуация с WebRequest и доступ к cftc.gov через MetaTrader 5 - причина отказа в доступе найдена.

Как и обещал делаю рапорт. Оказалось что в MetaTrader 4 и MetaTrader 5 по-разному обрабатываются поля 'Allow WebRequest to listed URL'.

Возможность доступа к сайту будет зависеть от комбинаций адреса в функции url

и того, что указано в графе Allow WebRequest for listed URL:

При этом у разных платформ разное поведение!

У MetaTrader 4 поведение следующее:

Протокол указанный в 'Allow WebRequest for listed URL'Протокол, указанный в параметре url функции WebReuest Доступ к сайту
httphttp Разрешен
httphttps Запрещен 
httpshttpЗапрещен 
httpshttpsРазрешен 

У MetaTrader 5 иное поведение:

Протокол указанный в 'Allow WebRequest for listed URL'Протокол, указанный в параметре url функции WebReuest Доступ к сайтуКомментарии сервера/MT5 
httphttpЗапрещен400 The plain HTTP request was sent to HTTPS port
httphttps Запрещен Ошибка 4014 - вызов функции запрещен 
httpshttpЗапрещен Ошибка 4014 - вызов функции запрещен
httpshttpsРазрешен  Код сервера 200 - все OK.

Из-за того что один и тот же код, компилировался под разные платформы, ошибка проявлялась только на МТ5. В связи с этим хотелось бы видеть:

  1. Унифицированного поведения для обоих платформ;
  2. Поведения, которое бы не зависело от того, какой префикс стоял бы как минимум в Allow WebRequest for listed URL - Пользователи не понимают что нужно туда ставить, путаются от http и https. Пишут мне в личку с просьбой настроить.
В новой версии в связи с добавлением SocketXXX функций мы вообще игнорируем имя протокола. http и https становятся незначащими.
 
Renat Fatkhullin:
В новой версии в связи с добавлением SocketXXX функций мы вообще игнорируем имя протокола. http и https становятся незначащими.

Перешел на 1950. Потестил. Обновил пост с учетом последней информации. Спасибо.

 

Терминал 1950. советник скомпилирован тоже на 1950. Вылетает в реальной торговле.

Access violation at 0x00007FF76380D5E2 read to 0x000000BF827C4A80

00007FF76380D580 4053              push       rbx

00007FF76380D582 56                push       rsi

00007FF76380D583 57                push       rdi

Безопасно ли откатиться на 1881 если у брокера сейчас стоит 1940. Терминалы для фондового и срочного рынка ММВБ.

И как правильно откатиться ? Одной замены terminal64.exe достаточно ?

Я думаю функция отката на предыдущую версию термина была бы всеми востребована.

Файлы:
 
pivomoe :

Терминал 1950. советник скомпилирован тоже на 1950. Вылетает в реальной торговле.

Access violation at 0x00007FF76380D5E2 read to 0x000000BF827C4A80

00007FF76380D580 4053              push       rbx

00007FF76380D582 56                push       rsi

00007FF76380D583 57                push       rdi

Безопасно ли откатиться на 1881 если у брокера сейчас стоит 1940. Терминалы для фондового и срочного рынка ММВБ.

И как правильно откатиться ? Одной замены terminal64.exe достаточно ?

Я думаю функция отката на предыдущую версию термина была бы всеми востребована.

Попробуйте последнюю версию бета-версии 1952 года.
 
Alain Verleyen:
Попробуйте последнюю версию бета-версии 1952 года.

При компиляции идут варнинги на все места где вместо заявленного в определении функции возвращаемого значения bool функция возвращает, что-то другое. Например в стандартном файле Curve.mqh варнинг в этой строчке.

  bool              TrendLineVisible(void)               const { return(m_trend_visible); }

Переменная m_trend_visible объявлена как double.

   //--- trend line property
   uint              m_trend_clr;
   double            m_trend_visible;

 Других варнингов стандартной библиотеке не нашел.Вообще сами эти изменения мне понравились. Благодаря им нашел ошибку в своем коде.