Erreurs, bugs, questions - page 1359

 
A100:

Dans le cas de operator=(...), il n'y a pas de solution plus simple que d'utiliser directement a.operator=( b ).

S'ils font que *A = *B - super !

Vous avez suggéré d'interdire toutes les opérations arithmétiques avec des pointeurs, en les remplaçant par des fonctions, de sorte que l'opérateur d'affectation de pointeur devrait également passer par une fonction.
 

Bonsoir !

J'ai posé la question au support dans différentes variantes, mais malheureusement je n'ai pas reçu de réponse.

Je veux remplacer mon EA sur le marché par la nouvelle génération, et je veux garder le même nom, mais remplacer non seulement le fichier lui-même, mais aussi les captures d'écran avec une description. Je ne peux pas ajouter un nouveau produit parce que le nom est occupé et je ne peux pas remplacer les captures d'écran par des descriptions lors de l'ajout d'une version.

Est-il possible de retirer une version existante du marché ?

 
Andrey Kotrin:

Bonsoir !

J'ai posé la question au support dans différentes variantes, mais malheureusement je n'ai pas reçu de réponse.

Je veux remplacer mon EA sur le marché par la nouvelle génération, et je veux garder le même nom, mais remplacer non seulement le fichier lui-même, mais aussi les captures d'écran avec une description. Je ne peux pas ajouter un nouveau produit parce que le nom est occupé et je ne peux pas remplacer les captures d'écran par des descriptions lors de l'ajout d'une version.

Est-il possible de retirer une version existante du marché ?

Comment faire : allez sur votre produit -> modifier -> commentaires du modérateur -> ajouter une demande indiquant les captures d'écran à supprimer et celles à ajouter (en même temps, n'oubliez pas de joindre de nouvelles captures d'écran, formatées selon les règles).

La version du produit est également élémentaire : allez dans votre produit -> modifier -> versions -> nouvelle version.
 

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

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

Merci - je vais essayer !
 
Alexey Navoykov:
Je parlais là de l'assignation des pointeurs ; vous venez de suggérer que toutes les opérations arithmétiques avec les pointeurs devraient être interdites et remplacées par des fonctions, ce qui signifie que l'opérateur d'assignation des pointeurs doit également passer par une fonction.
C'est ce que j'ai suggéré :

Forum sur le trading, les systèmes de trading automatisés et les tests de stratégies de trading

Bugs, bugs, questions

A100, 2015.08.25 14:11

Ensuite, si l'opérateur==(!=) est défini, il sera appelé. S'il n'est pas défini, alors les pointeurs seront comparés à l'égalité. Et si l'opérateur==(!=) est défini et que les pointeurs doivent être comparés pour vérifier leur égalité, cela peut être fait en utilisant le modèle spécifié.

Les changements dans le système existant sont minimes et l'essentiel est qu'ils n'affecteront pas ceux qui comparent simplement des pointeurs sur l'égalité sans surcharge de l'opérateur==(!=).

Seules les opérations == et != sont concernées par ces modifications.

Tout le reste, y compris l'opérateur =, doit être laissé tel quel (inchangé).

Mais voici comment cela pourrait fonctionner https://www.mql5.com/ru/forum/1111/page1376#comment_1853578.

Mais on ne peut pas modifier d'autres opérations au profit de == et !=, car alors leur syntaxe d'appel de pointeur serait perdue, comme elle l'est pour == et !== maintenant. De plus, il est irrémédiablement perdu (et cela ne peut être évité) s'il y a plusieurs opérations dans une expression, c'est-à-dire qu'elles ne peuvent pas être remplacées par de simples fonctions comme dans le cas de == et !=.

 
Pourquoi n'y a-t-il pas d'option pour mettre à jour la version MT5 sur des ordinateurs individuels, principalement sur des serveurs dédiés? Le logiciel ne voit pas s'il y a une mise à jour lorsqu'il se connecte au compte de démonstration Metacquotes. Comment peut-on y remédier ?
 
Gennadiy Stanilevych:
Pourquoi sur certains ordinateurs, principalement sur les serveurs dédiés, il n'y a pas de possibilité de mettre à jour la version МТ5 ? Le programme ne voit pas la présence de la mise à jour lors de la connexion au compte de démonstration de MetaQuotes. Comment le réparer ?
Quelle est la mise à jour la plus récente dont vous disposez ?

Forum sur le trading, les systèmes de trading automatisé et les tests de stratégies de trading

Bugs, bugs, questions

A100, 2015.08.25 00:21

Je n'ai pas reçu de mise à jour depuis un moment : MetaTrader5 build 1159 (connecté à MetaQuotes-Demo). Le compilateur de commande charge le build 1162

 
A100:
Quelle est la dernière mise à jour que vous avez eue ?

Je n'ai pas inclus les 5 depuis un moment, maintenant mis à jour - 1150 aussi loin que le 22 mai !!! Robo****x.
 
Alexey Volchanskiy:
Je n'ai pas allumé un billet de cinq depuis un moment, maintenant mis à jour - 1150 jusqu'au 22 mai ! !! Robo****x.
MetaQuotes-Demo est intéressant car auparavant il était mis à jour 2 à 3 fois par mois. Il est clair que les courtiers ont des mises à jour beaucoup moins fréquentes.
 
A100:
C'est ce que j'ai suggéré :
...
Seules les opérations == et != sont concernées par ces modifications.
Tout le reste, y compris l'opérateur =, doit être laissé tel quel (inchangé).

Comment l'opérateur= peut-il rester inchangé s'il crée maintenant une confusion entre les pointeurs et les objets eux-mêmes ? Si vous utilisez * pour lui, alors il devrait être utilisé pour tous les autres opérateurs également. Il doit y avoir une norme unique. Ce que vous suggérez, c'est que le compilateur choisisse lui-même la bonne norme - c'est faux. Il y aura beaucoup d'erreurs difficiles à trouver. Tout devrait être sans ambiguïté : les actions soit avec un objet, soit avec un pointeur.

Eh bien, tous ces astérisques sont, bien sûr, des béquilles forcées. Nous devons changer l'ensemble du concept que les développeurs ont mal choisi dès le début, je pense.

Nous aurions dû abandonner la liaison au C++, et respectivement abandonner l'utilisation des pointeurs comme type de variable séparé, en les remplaçant par des références. Les références sont essentiellement les mêmes que les pointeurs, seulement interprétées par le compilateur comme des objets eux-mêmes.Par conséquent, toutes les actions avec ces variables, y compris les opérateurs, sont traitées comme des actions avec un objet. Si vous devez comparer ou assigner exactement les références, utilisez l'opérateur de référence. Il n'y aura donc pas de contradictions :

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

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

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

Dans l'ensemble, si les développeurs conçoivent un jour MQL6, nous devrions aller dans cette direction. Le lien avec C++ n'a plus de sens, car il ne correspond pas au concept du langage.