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

 

Добрый вечер!

Задавал вопрос поддержке в разных вариантах, но, к сожалению, ответа не получил.

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

Можно ли удалить из маркета существующую версию?

 
Andrey Kotrin:

Добрый вечер!

Задавал вопрос поддержке в разных вариантах, но, к сожалению, ответа не получил.

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

Можно ли удалить из маркета существующую версию?

Обращаться нужно так: зайти в свой продукт -> правка -> комментарии модератора -> добавить просьбу какие скриншоты удалить, а какие - добавить (при этом нужно не забыть приложить новые скриншоты оформленные соответственно правилам).

Версия продукта меняется тоже элементарно: зайти в свой продукт -> правка -> версии -> Новая версия.
 

Karputov Vladimir:
Обращаться нужно так: зайти в свой продукт -> правка -> комментарии модератора -> добавить просьбу какие скриншоты удалить, а какие - добавить (при этом нужно не забыть приложить новые скриншоты оформленные соответственно правилам).

Версия продукта меняется тоже элементарно: зайти в свой продукт -> правка -> версии -> Новая версия.

Спасибо - попробую!
 
Alexey Navoykov:
Я там говорил про присваивание указателей.   Вы ж предложили запретить все арифметические операции с указателями, заменив их функциями, соответственно и оператор присваивания указателя придётся тоже делать через функцию.
Вот что я предложил:

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

Ошибки, баги, вопросы

A100, 2015.08.25 14:11

Тогда если operator==(!=) определен, то будет вызываться он. Если не определен, то будут сравниваться на равенство указатели. А если operator==(!=) определен и необходимо сравнить на равенство указатели, то это можно сделать при помощи указанного шаблона.

Изменения в существующую систему - минимальны и главное не затронут тех, кто просто сравнивает указатели на равенство не перегружая operator==(!=)

Изменения затрагивают только операции == и !=

Всё остальное, включая операцию = оставить как есть сейчас (без изменений)

а вот как это могло бы работать https://www.mql5.com/ru/forum/1111/page1376#comment_1853578 

Менять же остальные операции в угоду == и != нельзя, поскольку тогда утрачивается их синтаксис вызова через указатель как сейчас он утрачен для == и !==. Причем утрачивается он безвозвратно (и это нельзя обойти), если в выражении несколько операций, т.е. их нельзя уже заменить просто функциями как в случае с == и !=

 
Почему на отдельных компах, в основном на выделенных серверах нет возможности обновить версию МТ5? Программа не видит наличие обновления при подключению к демо-счету Метаквотов. Как это зафиксить?
 
Gennadiy Stanilevych:
Почему на отдельных компах, в основном на выделенных серверах нет возможности обновить версию МТ5? Программа не видит наличие обновления при подключению к демо-счету Метаквотов. Как это зафиксить?
У Вас какое самое последнее обновление было из того что есть?

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

Ошибки, баги, вопросы

A100, 2015.08.25 00:21

Давно не получал обновлений: MetaTrader5 build 1159 (подключен к MetaQuotes-Demo). Командный компилятор загружается build 1162

 
A100:
У Вас какое самое последнее обновление было из того что есть?

Давно пятерку не включал, сейчас обновилась - 1150 аж от 22 мая!! Робо****кс.
 
Alexey Volchanskiy:
Давно пятерку не включал, сейчас обновилась - 1150 аж от 22 мая!! Робо****кс.
Интерес представляет именно MetaQuotes-Demo потому как раньше обновления были 2-3 раза в месяц. Понятно что у брокеров обновления значительно реже.
 
A100:
Вот что я предложил:
...
Изменения затрагивают только операции == и !=
Всё остальное, включая операцию = оставить как есть сейчас (без изменений)

Как можно оператор= оставить без изменений, если это сейчас вызывает путаницу между указателями и самими объектами?  Если же использовать для этого *, то её следует использовать её и для всех остальных операторов. Должен быть единый стандарт.  А то что вы предлагаете, чтобы компилятор сам выбирал нужный вариант - это неправильно.  Будет куча трудноуловимых ошибок.  Всё должно быть однозначно:  действия либо с объектом, либо с указателем.

Впрочем все эти звёздочки - это конечно вынужденные костыли.  Нужно менять всю концепцию, которая изначально была выбрана разработчиками не очень удачно, я считаю.

Нужно было отойти от привязки к С++, и соответственно отказаться от указателей как самостоятельного типа переменной, заменив их ссылками. Ссылки - по сути те же указатели, только интерпретируются компилятором как непосредственно сами объекты. Поэтому все действия с такими переменными, включая и операторы, трактуются как действия с объектом.  Если же понадобится сравнить или присвоить именно ссылки, то использовать оператор взятия ссылки.  Поэтому никаких противоречий не будет.   Вот примерно так:

 A  a;                     // воздаём объект
 A& aref;                  // создаём неинициализированную ссылку

 &aref = &a;                // присваиваем ссылку на a
 bool equalref = &aref==&a; // сравниваем ссылки

 aref = a;                  //вызываем оператор=()
 bool equal = aref==a;      // вызываем оператор==()

В общем, если когда-нибудь разработчики задумают MQL6, то нужно идти в этом направлении.  Привязка к С++ уже бессмысленна, ибо не соответствует концепции языка.

 
A100:
У Вас какое самое последнее обновление было из того что есть?

И MetaTrader и MetaEditor build 1159 (Windows 10 32 bit). На большом ПК (64 bit) на счёт MetaEditor'a не уверен, а MetaTrader точно build 1159.