- La toile est cool !
- Erreurs, bugs, questions
- Modèles de prix (Gartley, Butterfly, Bat,...)
Bonjour.
Quelle quantité est trop importante ? Est-ce qu'il y a tellement de choses qu'on ne peut pas les décomposer en dossiers ?
- 2016.03.20
- www.mql5.com
Bonjour.
Deux principes de base :
1. Divisez le code en fonctions. Une fonction doit être plus ou moins logiquement complète et ne pas dépasser un écran à couvrir d'un seul coup d'œil.
2. Réduire le nombre de variables globales. A partir des variables globales, il est souhaitable de n'utiliser que des paramètres qui ne changent pas pendant l'exécution du programme.
...et plus encore :
3. la programmation orientée objet.
4. Placer le code dans plusieurs fichiers (cela complique un peu le débogage, mais cela a un sens).
C'est très simple : nous devons documenter précisément les différentes fonctions et les attribuer dans un fichier séparé. Le fichier principal deviendra immédiatement plus petit et plus lisible.
J'ai toujours un fichier mq4/mq5 et un tas de fichiers mqh avec des classes, pour chaque classe un fichier séparé. En général, c'est ainsi qu'on procède dans le développement industriel. Pas de fichiers de plusieurs kilomètres de long où tout est mélangé.
Parfois, vous pouvez voir un chef-d'œuvre où l'ensemble de l'EA est emballé dans OnTick avec les mêmes morceaux de code pour ouvrir les ordres 20 fois chacun dans cette horrible feuille. Je veux sortir le sac à vomi tout de suite !)
Bonjour.
N'écrivez pas de fonctions qui sont toujours constantes et ne changent jamais dans ce style.
void CloseOrders(int cmd) { for(int i=OrdersTotal()-1;i>=0;i--) { if(OrderSelect(i,SELECT_BY_POS)) { if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic) { if(OrderType()==OP_BUY && cmd==OP_BUY) { if(!OrderClose(OrderTicket(),OrderLots(),Bid,Slippage,Blue)) { Print("Order BUY not close! Error = ",GetLastError()); } } if(OrderType()==OP_SELL && cmd==OP_SELL) { if(!OrderClose(OrderTicket(),OrderLots(),Ask,Slippage,Red)) { Print("Order SELL not close! Error = ",GetLastError()); } } } } } }
Rédigez-les de manière concise, personne ne les regarde jamais de toute façon, et ils prennent deux fois moins de place.
void CloseOrders(int cmd) { for(int i=OrdersTotal()-1;i>=0;i--) { if(OrderSelect(i,SELECT_BY_POS)) { if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic) { if(OrderType()==OP_BUY && cmd==OP_BUY) { if(!OrderClose(OrderTicket(),OrderLots(),Bid,Slippage,Blue)) Print("Order BUY not close! Error = ",GetLastError()); } if(OrderType()==OP_SELL && cmd==OP_SELL) { if(!OrderClose(OrderTicket(),OrderLots(),Ask,Slippage,Red)) Print("Order SELL not close! Error = ",GetLastError()); } }}}}
Commentez le code tout le temps, ce dont ce morceau de code est responsable, ce n'est pas difficile, et maintenant vous saurez toujours ce qu'est le code, et réduire le temps pour l'étudier.
N'écrivez pas de fonctions qui sont toujours constantes et ne changent jamais dans ce style
Rédigez-les de manière concise, personne ne les regarde jamais de toute façon, et ils prennent deux fois moins de place.
Commentez le code tout le temps, ce dont ce morceau de code est responsable, ce n'est pas difficile, et maintenant vous saurez toujours ce qu'est le code, et réduire le temps pour l'étudier.
Le commentaire doit occuper la moitié du texte du programme.
N'écrivez pas de fonctions qui sont toujours constantes et ne changent jamais dans ce style
Rédigez-les de manière concise, personne ne les regarde jamais de toute façon, et ils prennent deux fois moins de place.
Commenter le code tout le temps, ce dont ce morceau de code est responsable, ce n'est pas difficile, et ici dans la révision saura toujours ce que le code, et de réduire le temps pour l'étudier
Réarranger les parenthèses ne rend pas le décalage moins important. Avant de donner des conseils, élevez au moins votre niveau à un niveau moyen.
Le commentaire doit occuper la moitié du texte du programme.
Non, eh bien, alors 90% du code est constitué de commentaires. Et vous avez besoin d'autant de code inutile et peu lisible que possible, afin de pouvoir mettre plus de commentaires !
Vos idées sont également dignes d'intérêt. Vous devriez en parler plus souvent
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Vous acceptez la politique du site Web et les conditions d'utilisation