Новая версия платформы MetaTrader 5 build 1595: доступ к ценовой истории - страница 13

 
Alexey Navoykov:

Так это всегда так было.

Не было так. Указатель не считался объектом. Например, можно было применять ArrayCopy к массиву указателей. Сейчас из-за нововведения этого сделать нельзя.


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

 
fxsaber:

Не было так. Указатель не считался объектом. Например, можно было применять ArrayCopy к массиву указателей. Сейчас из-за нововведения этого сделать нельзя.


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

Я ответил на конкретно приведённый вами случай, когда указатель в составе структуры.  Такая структура всегда считалась сложной (содержащей объекты), потому не копировалась.

А то что теперь и массив указателей не копируется - я даже и не знал.  И это ещё более удручает.

Ну а причины конечно всегда есть, куда же без них. Ничего просто так не делается.  Только нам-то что с того?  Годы идут, а ничего не меняется. Всё тот же пофигизм: чё-то внезапно поменяли в языке, никого не поставили в известность и документацию не исправили.

Мне вот безумно жаль своего времени и нервов, потраченного на этот MQL.  Каждый раз, изобретая очередной костыль, надеялся: вот скоро всё устаканится, стабилизируется.  Но нет же.  Очередной новый билд - и в очередной раз надо переделывать коды.

 
Alexey Navoykov:

Ну а причины конечно всегда есть, куда же без них. Ничего просто так не делается.  Только нам-то что с того?  Годы идут, а ничего не меняется. Всё тот же пофигизм: чё-то внезапно поменяли в языке, никого не поставили в известность и документацию не исправили. 

Если бы Вы зашли несколько позже на MQL5, то обнаружили бы соответствие документации реальности. Просто зашли "удачно" - почти в момент изменений.

По работе СД не сложилось впечатление пофигизма.

 
Alexey Navoykov:

За долгие годы было написано много кода по этим правилам.  А теперь в сервис-деске вдруг заявляют, мол теперь копирование структур запрещено, а справку забыли поправить.

1. Вам же сразу дали ссылку на union, сказали о запрете копирования.

2. В справке просто не успели удалить, вместо текущего примера нужен новый текст.

 
fxsaber:
Если бы Вы зашли несколько позже на MQL5, то обнаружили бы соответствие документации реальности. Просто зашли "удачно" - почти в момент изменений.

Куда я зашёл?  Я ещё вчера заявку в сервис-деск отправлял с выдержками из документации.  

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

 
Alexey Navoykov:

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

Затронутая Вами тема обсуждалась здесь со всем смаком несколько недель назад. Был даже момент, когда кастинг запретили, а union еще не дали.

И были заявки в СД и паблик-возмущения и подковерные разговоры о причинах.

А по документации, так в ней полно недоговорок. Вот, например

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

Особенности языка mql5, тонкости и приёмы работы

fxsaber, 2017.05.10 14:28

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

Вызов функций торгового окружения для инициализации статических переменных категорически не приветствуется

Мне от разработчиков не нужен анти-пофигизм. Ровно, как они относятся к пользователям. Лишь бы код работал и на ошибки реагировали. А это есть.

 
Rashid Umarov:

1. Вам же сразу дали ссылку на union, сказали о запрете копирования.

Я вообще-то нигде не спрашивал, как обойти запрет копирования.  Речь идёт совсем о другом.  Вы постоянно на ходу меняете собственные правила, и прежние коды перестают компилироваться практически с каждым новым билдом.  В прошлом билде вон появился запрет приведения  string->bool.  Что нас ждёт в следующем билде - думай гадай.  И как можно писать код в таких условиях.

 
Alexey Navoykov:

В прошлом билде вон появился запрет приведения  string->bool.  Что нас ждёт в следующем билде - думай гадай.  И как можно писать код в таких условиях.

Было
(bool)Str
Стало
Str != NULL

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

 
fxsaber:
Было ... Стало

Если бы. Там сложнее.  И поправить далеко не всегда быстрее. То же касается и прецедентов - это далеко не первый случай, вы видимо недавно тут.

Тем, кто кодит просто для развлечения, может и в кайф этот постоянный мазохизм.  А другим - нет.

 
Alexey Navoykov:

Тем, кто кодит просто для развлечения, может и в кайф этот постоянный мазохизм.  А другим - нет.

На полном серьезе, для чего кодите?
Причина обращения: