Выпущен MetaTrader 4 Client Terminal build 600 с обновленным языком MQL4 и Маркетом приложений - страница 58

 
vgerman:

Уважаемые разработчики!

Решена или нет в новом релизе проблема реконнекта при длительном (более 30 сек) отсутствии активности терминала? Вроде обещали избавиться от такого рода реконнектов.

Протестировал скорость исполнения ордеров, особой разницы с релизом 509 не заметил(((


Я такого не заметил. Неактивность приходится обходить разными способами - следить из индикатора за советником и менять тайм-фреймы в случае отсутствия его активности в течение определенного времени. Все моменты перезапуска фиксируются в файлы, потому при сравнении показывает, что в 604 чаще перезапуск надо осуществлять.
 

Ренат.

Еще раз о режиме работы терминала /portable

Файлы данных в юзерской и локальной папках рассогласованы. Открываешь редактор из терминала, работаешь с локальными файлами. Запускаешь просто из каталога - файли читаются из папки юзера

Либо сделайте синхронизацию папок, либо хоть редактор пусть запоминает с какими файлами работал. Ну ведь все перепуталось.

 

Я недавно обращался по поводу проблемы

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

что обновление оказалось корректным. Не знаю в чем дело. ДЦ другой, но билд тот же - 600. Скрипт продолжает

читать внешние файлы из директории вне папки метатрейдера. Это очень хорошо. Живём! )

Говорю так, для очистки совести) Очень надеюсь что всё в конце концов будет путЁм.

 

Писал о проблеме неправильной синхронизации сделок от торговых сигналов (55 страница), вот свежий пример

19:08:32.887 '869734': Signal - connecting to signal server
....
19:08:33.186 '869734': Signal - percentage for volume conversion selected according to the ratio of balances and leverages, new value 100% (old value 0%)

19:08:33.186 '869734': Signal - signal provider has position [#43136347 buy 0.13 GBPUSD at 1.64875 tp: 1.64719]
19:08:33.186 '869734': Signal - signal provider has position [#43136702 buy 0.13 GBPUSD at 1.64785 tp: 1.64719]
19:08:33.186 '869734': Signal - signal provider has position [#43137308 buy 0.22 GBPUSD at 1.64716 tp: 1.64719]
19:08:33.186 '869734': Signal - signal provider has position [#43140720 buy 0.36 GBPUSD at 1.64654 tp: 1.64719]
19:08:33.186 '869734': Signal - signal provider has position [#43141513 sell 0.13 GBPUSD at 1.64574 tp: 1.64524]
19:08:33.186 '869734': Signal - signal provider has position [#43141515 buy 0.60 GBPUSD at 1.64591 tp: 1.64719]

19:08:33.186 '869734': Signal - local position [#64071394 buy 0.30 GBPUSD.e at 1.64649 tp: 1.64719] is equal to the signal one [#43141515 buy 0.60 GBPUSD at 1.64591 tp: 1.64719], no changes are made

19:08:33.186 '869734': Signal - local position [#64066414 buy 0.18 GBPUSD.e at 1.64709 tp: 1.64719] is equal to the signal one [#43140720 buy 0.36 GBPUSD at 1.64654 tp: 1.64719], no changes are made

19:08:33.186 '869734': Signal - local position [#64065088 buy 0.11 GBPUSD.e at 1.64869 tp: 1.64719] is equal to the signal one [#43137308 buy 0.22 GBPUSD at 1.64716 tp: 1.64719], no changes are made

19:08:33.186 '869734': Signal - local position [#64065483 buy 0.11 GBPUSD.e at 1.64782 tp: 1.64719] is equal to the signal one [#43136347 buy 0.13 GBPUSD at 1.64875 tp: 1.64719], no changes are made

19:08:33.186 '869734': Signal - local position [#64072871 buy 0.11 GBPUSD.e at 1.64579 tp: 1.64719] is equal to the signal one [#43136702 buy 0.13 GBPUSD at 1.64785 tp: 1.64719], no changes are made

19:08:33.186 '869734': Signal - local position [#64072876 sell 0.11 GBPUSD.e at 1.64566 tp: 1.64524] is equal to the signal one [#43141513 sell 0.13 GBPUSD at 1.64574 tp: 1.64524], no changes are made

19:08:33.187 '869734': Signal - synchronization finished successfully
19:08:33.251 '869734': Signal - ping to signal server 62 ms, to trade server 81 ms

----------------------------------------------------------------------------------

Как так ? Сравнение сделок по объемам врет безбожно. Неужели трудно в памяти держать таблицу тикетов - от поставщика и локальных? Вопрос то решается на коленке, за 20 минут писанины.

В логах сигнал творит полный бардак.

18:17:04.236 '869734': Signal - subscription is not synchronized, trade #43136347 buy 0.13 GBPUSD at 1.64875 tp: 1.64719 ignored
18:17:40.714
'869734': Signal - connecting to signal server

36 секунд он чем занят был?

---------------------------------------------------------------------------------

Заранее спасибо за скорейшее исправление.

 
nen:

Коды индикаторов, про которые в предыдущем посту, необходимо править под новую версию.

Этого делать никто не будет.

Это различные версии индикатора ZUP. Сейчас в последних версиях примерно 18 000 строк кода.

У serg_23456, похоже, скомпилированные коды в 509 версии не работают в 604 версии.
==============

В дополнение.

В связи с изменением размера данных времени в индикаторах, даже если исправить выдаваемые компилятором 604 версии ошибки, могут неправильно отрабатываться различные графическме объекты. То есть придется проводить достаточно глубокую правку кода. Индикаторов различных версий используется огромное количество. Если будет отключена возможность работы индикаторов, скомпилированных в 509 версии, как вчера заявил Ренат ( https://www.mql5.com/ru/forum/149399/page13#906715 ), то огромное количество индикаторов просто перестанет работать. Самостоятельно мало кто сможет исправить даже те версии, код которых находится в свободном доступе. По крайней мере были попытки сторонними разработчиками перевести на mql5. Не получилось. Разобраться со сложной геометрией (геометрия - раздел математики) не каждый программист сможет. Для новых версий (сейчас 145 версия) открытого кода нет, в частности, из-за того, что было объявлено, что программы, скомпилированные в 509 версии будут работоспособными.

Тут были сообщения о том, что ранее было напрограммировано много мусора, то есть много программ, в которых что-то неправильно спрограммировано. И с этим необходимо бороться. С такими утверждениями можно поспорить. Все допустили разработчики метатрейдера. Сколько было нареканий, ну например, про неправильную отработку логических операций в МТ4. Сначала в сложных выражениях отрабатывались операции логического сложения, а потом умножения. И такого можно наковырять множество. Раз уж разработчики допустили множество неверных ходов при разработке программ с помощью mql4, то нечего ругать тех программистов, которые использовали эти допуски в своих разработках. Сторонние разработчики не виноваты. Тем более, что зачастую много "тонких" моментов в документации на языки mql* просто не найдешь. Необходимо "шарить" по форумам, чтобы добиться знаний тонкостей языка. А также тонкостей работы терминала. А это не есть гуд. Все должно быть описано в документации.

Не понимаю, почему может не получиться переход с 4 на 5 для индикатора у профессионального программиста, каким бы ни был код; уважаемая и любимая мною геометрия ни при чем, как бы ни была она сложна.

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

На правах имхенько.

 

Build 604. В тестере, на 4-digits выскакивает значение с 5-digits.

Какая-то ошибка в тестере.

 
tara:

Не понимаю, почему может не получиться переход с 4 на 5 для индикатора у профессионального программиста, каким бы ни был код; уважаемая и любимая мною геометрия ни при чем, как бы ни была она сложна.

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

На правах имхенько.

Да у него очень много объектов в коде и имена типа txt+5, а новый компилятор требует, чтобы было txt+string(5). А в старом если так написать, то выдаст ошибку. И если у человека в индикаторе сотни таких объектов. То переделывать все это конечно рутина. Я сам уже который день переделываю все и плююсь уже, так надоело. Вместо торговли занимаешься, фигней. Если по разумному, то конечно нужно было выпустить новый билд с отдельной инсталяцией. Да и у всех приличных компиляторов, есть и режим С, и С++. И хочешь ставь Анси стринги дефаулт, а хочешь Юникодные, несмотря на то что дефаулт Юникодные. Да и многое другое. Конечно переход сделан диковато прямо скажем.
 
Для разработчиков.
Я уже писал, что неработает отрисовка кастомных индикаторов в тестере. Один раз отрисует, после открытия терминала и больше не отрисовывает. Я не профессиональный программист, но просто такие эффекты я заметил стали наблюдаться, если в функциях стоят непроинициализированные static int или другие переменные. Старый билд этого не требовал, а в новом без инициализации начинаются проблеммы. Вот именно так, что один раз срабатывает при первом запуске, а потом не работает. Так что проверьте в своих кодах, нету ли у Вас таких вещей.
 
ANG3110:
Для разработчиков.
Я уже писал, что неработает отрисовка кастомных индикаторов в тестере. Один раз отрисует, после открытия терминала и больше не отрисовывает. Я не профессиональный программист, но просто такие эффекты я заметил стали наблюдаться, если в функциях стоят непроинициализированные static int или другие переменные. Старый билд этого не требовал, а в новом без инициализации начинаются проблеммы. Вот именно так, что один раз срабатывает при первом запуске, а потом не работает. Так что проверьте в своих кодах, нету ли у Вас таких вещей.
И это - очень хорошо. Я тоже не программист, но кривым статиком не пользуюсь и все фактически статическое всегда инициализирую. В прицепе.
Файлы:
 

Понятно все, кроме того, какое отношение имеют к ситуации модераторы.

Добрый модератор что-то сделал.

Я этот индикатор выкладываю в третий раз и не собираюсь его отзывать.

Причина обращения: