![MQL5 - Langage des stratégies de trading intégré au terminal client MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
J'ai déjà répondu à cette question une fois. Ça donne quelque chose comme ça : "oui, il se trouve que la priorité des opérations dans MQL4 est différente de celle adoptée en C. Pour certaines raisons historiques. Ça vient de MQL II. Mais comme cela n'a pas été remarqué immédiatement et que beaucoup de programmes ont déjà été écrits, nous ne changerons pas la priorité des opérations, car un tel changement entraînerait une modification inattendue du fonctionnement d'un certain nombre de programmes.
Dans MQL5, les priorités des opérations correspondent exactement aux priorités adoptées dans C++.
Dans MQL5, les priorités des opérations correspondent exactement aux priorités adoptées en C++.
Merci. Je pense qu'on en a fini ici. Nous en attendons cinq.
De la symétrie des opérations. Et la symétrie des opérations découle directement des formules attribuées.
L'une des opérations symétriques ne peut avoir la priorité sur l'autre.
Andrew, je ne conteste pas que les opérations soient symétriques. Mais comment l'égalité des priorités découle-t-elle de leur symétrie ? Je vous ai déjà donné une expression dont le résultat est indéfini. Cela change en fonction de la façon dont on ouvre les parenthèses.
Qu'est-ce qu'une priorité ? C'est une façon d'interpréter une expression indéfinie a ou b et c, c'est-à-dire une instruction sur la partie de l'expression qui doit être évaluée en premier. Cette façon de faire établit en fait la priorité relative des opérations de conjonction et de disjonction. En C, s'il n'y a pas d'informations supplémentaires, les parenthèses implicites qui déterminent l'ordre des calculs doivent être placées comme suit : a ou (b et c), et dans MQL4 - (a ou b) et c. Les résultats seront différents.
Je soupçonne que, contrairement à l'arithmétique avec les opérations habituelles d'addition et de multiplication, dans l'algèbre booléenne pure, il n'y a tout simplement pas d'interprétation univoque de l'expression ci-dessus - et donc pas de priorité des opérations par défaut. La priorité n'apparaît que dans les langages de programmation. Mais je peux me tromper.
P.S. Voilà, vous avez déjà répondu à votre question.
Je soupçonne que, contrairement à l'arithmétique avec les opérations habituelles d'addition et de multiplication, dans l'algèbre booléenne pure, il n'y a tout simplement pas d'interprétation univoque de l'expression ci-dessus - et donc pas de priorité des opérations par défaut. La priorité n'apparaît que dans les langages de programmation. Mais je peux me tromper.
C'est ce que je voulais dire. Donc, à mon avis, vous pouvez spécifier n'importe quel ordre dans la langue, et ce n'est en aucun cas une erreur. Le seul problème est la banalité de la solution.
....
La priorité n'apparaît que dans les langages de programmation. Mais je peux me tromper.
Non seulement, dans la plupart des manuels sur l'algèbre de la logique, la priorité est également définie, c'est-à-dire que la multiplication logique a une priorité plus élevée que l'addition logique, cela a été définitivement enseigné par moi-même, il est intensivement exploité lors de la dérivation de la FFT (DNF) sans table de vérité, de manière analytique.
J'ai déjà répondu à cette question une fois. Ça donne quelque chose comme ça : "oui, il se trouve que la priorité des opérations dans MQL4 est différente de celle adoptée en C. Pour certaines raisons historiques. Ça vient de MQL II. Mais comme cela n'a pas été remarqué immédiatement et que beaucoup de programmes ont déjà été écrits, nous ne changerons pas la priorité des opérations, car un tel changement entraînerait une modification inattendue du fonctionnement d'un certain nombre de programmes.
Dans MQL5, les priorités des opérations correspondent exactement aux priorités adoptées dans C++.
C'est cool. Comment la prise en charge d'autres langues est-elle disponible dans la version 5 ? Entièrement supporté, pas par DLL.
J'ai déjà répondu à cette question une fois. Ça donne quelque chose comme ça : "oui, il se trouve que la priorité des opérations dans MQL4 est différente de celle adoptée en C. Pour certaines raisons historiques. Ça vient de MQL II. Mais comme cela n'a pas été remarqué immédiatement et que beaucoup de programmes ont déjà été écrits, nous ne changerons pas la priorité des opérations, car un tel changement entraînerait une modification inattendue du fonctionnement d'un certain nombre de programmes.
Dans MQL5, les priorités des opérations correspondent exactement aux priorités adoptées en C++.
Bonne réponse. Je suis tout à fait d'accord avec cette question. Il s'agit d'une décision responsable.
Non seulement, dans la plupart des manuels sur l'algèbre de la logique la priorité est également définie, c'est-à-dire que la multiplication logique a une priorité plus élevée que l'addition logique, c'est exactement ce que j'ai enseigné moi-même, il est exploité intensivement lors de la dérivation de DNF (DNF) sans table de vérité, analytiquement
Oui, en effet. Mes excuses. Mais ce n'est pas juste.
Я готов согласиться, Galaxy, что умножение в учебниках неявно (по умолчанию) имеет высший приоритет по отношению к сложению. Но никакого отражения в синтаксисе для такого факта нет. Это просто соглашение, принятое для интерпретации сокращенных выражений, в которых нет скобок.
Treillis booléens, filtres, idéaux, anneaux... Cependant, le nom de conjonction n'est pas appelé multiplication logique à la lumière du jour : il existe plusieurs interprétations directes
1. Si nous prenons un anneau de déductions modulo deux c'est-à-dire (0,1 +,*), alors la table de multiplication correspond exactement à la table de vérité pour la conjonction et par conséquent, la table d'addition de cet anneau - à la table de différence symétrique booléenne ou excluant "ou " (je me suis trompé et j'ai corrigé).c'est-à-dire que nous avons une arithmétique binaire, un cas particulier de l'arithmétique usuelle, où la multiplication est supérieure à l'addition, c'est-à-dire que la conjonction est supérieure à la différence symétrique et donc, évidemment, à la disjonction.
2) Dans l'algèbre de Boole, 1 est un élément neutre pour la conjonction, a 0 pour la disjonction : 1 && a = a, 0 && a = 0; 1 || a = 1, 0 || a = a ;
3. Les filtres (construits par intersection) contiennent toujours 1, les idéaux (construits par union) contiennent 0, bien que filtre et idéal soient doubles.