Caractéristiques du langage mql4, subtilités et techniques - page 10
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
Je ne comprends pas quelle est la surprise. Il existe une valeur int du type d'ordre dans la documentation.
OP_BUY
0
Acheter
OP_SELL
1
Vendez
OP_BUYLIMIT
2
Ordre en attente BUY LIMIT
OP_SELLLIMIT
3
Ordre SELL LIMIT en attente
OP_BUYSTOP
4
Ordre BUY STOP en attente
OP_SELLSTOP
5
Ordre SELL STOP en attente
#define OP_BALANCE 6
#define OP_CREDIT 7
Ainsi, avec un réseau de 6 cellules, vous pouvez parfois aller trop loin.
Forum sur le trading, les systèmes de trading automatisé et les tests de stratégies de trading
Je veux déplacer le commentaire de l'EA du coin gauche au coin droit ?
fxsaber, 2018.07.10 15:13
Application
Forum sur le trading, les systèmes de trading automatisés et les tests de stratégies de trading
Comment sélectionner correctement la dernière commande dans l'historique ?
fxsaber, 2018.07.17 03:27
L'historique des transactions de MT4 est trié par heure de clôture et cette règle ne changera pas.
Avez-vous une réponse officielle des développeurs ? Jusqu'à présent, je ne peux que constater que vous avez cherché, réfléchi et décidé.
Avez-vous une réponse officielle des développeurs ? Jusqu'à présent, je ne peux que constater que vous avez cherché, réfléchi et décidé par vous-même.
Ma conclusion sur le niveau d'"autosuffisance" n'est pas meilleure que celle du début de ce fil de discussion.
Forum sur le trading, les systèmes de trading automatisés et les tests de stratégies de trading
Particularités de mql4, trucs et astuces
le type d'ordre et le prix qui lui correspond. Il suffit d'écrire OrderClosePrice()
Pas besoin de souffrir d'absurdité/paranoïa.
Ma conclusion sur le niveau d'"autonomie" n'est pas plus grande que celle du début de ce fil de discussion.
Il n'est pas nécessaire de souffrir d'absurdité/paranoïa.
Vous avez dû manquer le moment où la plupart de ceux qui ne souffraient pas de "paranoïa" ont réécrit d'urgence leurs codes alors que les EA s'effondraient du jour au lendemain. A cause de la dépendance au triage. C'était il y a longtemps, mais les gens ont encore des souvenirs. Ceux qui ont eu des problèmes ont commencé à écrire des codes indépendants du tri. Je n'ai pas eu de problème - je l'ai simplement lu sur le forum et l'ai pris à cœur.
Vous avez dû manquer l'époque où la plupart de ceux qui ne souffraient pas de "paranoïa" réécrivaient d'urgence leurs codes alors que les EA s'effondraient du jour au lendemain. A cause de la dépendance au triage. C'était il y a longtemps, mais les gens ont encore des souvenirs. Ceux qui ont eu des problèmes ont commencé à écrire des codes indépendants du tri. Je n'ai pas eu de problème - je l'ai simplement lu sur le forum et l'ai pris à cœur.
Malheureusement, ce mythe ne trouve aucun appui dans l'histoire du forum. De plus, les développeurs ont toujours clairement indiqué leur position selon laquelle de tels changements ne peuvent pas être effectués par principe.
Par exemple, vous pouvez vous sentir libre d'écrire
au lieu de
Vous pouvez vous sentir libre d'écrire
Forum sur le trading, les systèmes de trading automatisés et les tests de stratégies de trading
Particularités du langage mql4, trucs et astuces
fxsaber, 2018.04.03 16:15
etc.
Malheureusement, ce mythe ne trouve aucun appui dans l'histoire du forum. De plus, les développeurs ont toujours clairement indiqué leur position selon laquelle de tels changements ne peuvent pas être effectués par principe.
Par exemple, vous pouvez vous sentir libre d'écrire comme suit
Pourquoi toutes ces pseudo-optimisations, dont il faut constamment garder les nuances à l'esprit ? Est-il vraiment si difficile d'écrire un code qui ne dépend pas de telles hypothèses (signification d'une constante nommée) ? Quel est l'intérêt de telles constructions, à part montrer une certaine connaissance des nuances du compilateur, mais pas du tout qu'elles sont plus faciles à comprendre ?
Pourquoi toutes ces pseudo-optimisations, dont les nuances doivent être constamment gardées à l'esprit ? Est-il vraiment si difficile d'écrire un code qui ne dépend pas de telles hypothèses (quelle est la signification de telle ou telle constante nommée) ? Quel est d'ailleurs l'intérêt de telles constructions, si ce n'est de montrer une certaine connaissance des nuances du compilateur, mais pas du tout qu'elles sont plus faciles à comprendre ?
C'est étrange, je n'ai aucun problème à lire un tel code. De plus, sa lecture et sa compréhension sont plus rapides que celles du code "canonique".
Eh bien, l'exemple ci-dessus avec Lots[] est un trésor qui montre comment le code peut être super-laconique et clair en même temps. Et attention, ce n'est pas du tout "canonique".
Il est probable que si vous examinez le code source de nombreux emplois de Market/Freelance, vous ne rencontrerez pas seulement des lambeaux de code "canonique", mais aussi une terrible inefficacité des performances et un facteur non négligeable - la compréhension du code pendant la lecture.
Le même amour inextinguible de la poursuite est un manque total de respect pour les possibilités de la langue. Un code de 100 lignes est bien mieux perçu qu'un code de 200 lignes faisant la même chose. C'est la raison pour laquelle les gens se sont initialement plaints de MQL5. Regardez la refonte du code de MT4 dans QB pour MT5 - il est très difficile de comprendre la logique de TC (le code est beaucoup plus grand). Il est plus facile d'aller sur le MT4 original et de regarder le code.
Étrangement, je n'ai aucun problème à lire un tel code. De plus, sa lecture et sa compréhension sont plus rapides que celles du code "canonique".
Dans de nombreuses entreprises de logiciels, ce type de code se ferait frapper les doigts. La première chose à faire, toujours et partout, est d'éviter les "lectures inutiles". Par exemple, si vous utilisez une condition lors de la saisie d'une fonction :
if (<условие>) { }
il est recommandé d'écrire :
Cette approche permet vraiment d'éviter la fixation de conditions.
L'exemple ci-dessus avec Lots[] est un véritable trésor, qui montre comment le code peut être à la fois super-laconique et totalement compréhensible. Et attention, ce n'est pas du tout "canonique".
Encore une fois, c'est un casse-tête. Parce que personne n'a vérifié ce que la fonction OrderType() a retourné. Ou peut-être que ça a donné -1 ou 6 ? Il s'agit d'un exemple d'utilisation des propriétés du compilateur dont il faut toujours se méfier. Vous citez vous-même de nombreux exemples de code multiplateforme. Alors pourquoi vous en écarter dans ce cas ? Un nouveau compilateur MQ sortira et ce code ne fonctionnera plus correctement.
Le même amour inextinguible de la poursuite est un mépris total pour les possibilités de la langue. Un code de 100 lignes est beaucoup mieux compris qu'un code de 200 lignes faisant la même chose. C'est la raison pour laquelle les gens se sont initialement plaints de MQL5. Regardez la refonte du code de MT4 dans QB pour MT5 - il est très difficile de comprendre la logique de TC (le code est plusieurs fois plus grand). Il est plus facile d'aller sur le MT4 original et de regarder le code.
Avec la poursuite, c'est la même situation. Code comme :
est plus difficile à lire que :
Et pourtant, l'efficacité de l'exécution est la même dans les deux cas.