Pourquoi n'y a-t-il PAS d'évaluation complète de l'environnement dans la base de code ?

 

IMO, il semble qu'il n'y ait pas d'EA complète dans la base de code de mql4.com ou dans les articles pour cette question de fait. Il semble toujours y avoir quelque chose qui manque. Je vais utiliser la définition directement de la source que beaucoup de gens recommandent pour apprendre à programmer mql4 ; le livre. En plus de cela, je vais ajouter ce qui suit. Ceci ne considère pas si c'est rentable ou non.

- Reconnaissance des chiffres du courtier (5-points vs 4-points et Jpy vs Autres)

- Options de gestion de l'argent appropriées (Martingale seule ne compte pas).

- Identification correcte de Magic# (si orderTotals==0 ne compte pas)

- Différenciation correcte des symboles (peut-être parce que la plupart sont pour un seul symbole et une seule période ?)

- Il n'y a presque jamais de processus de comptabilité des commandes (ce qui est un peu compréhensible).

- Le suivi des événements est inexistant (je ne veux pas savoir quand ce SL a été atteint ?).

- Les pré-contrôles de TradeContexBusy ou de toute communication avec le serveur sont introuvables.

- La reprise après sinistre, (est-ce juste un mythe que l'on lit sur le forum ?)

- Ecn vs Dealing Desk Compatible OrderSend (ne pas envoyer Sl et Tp avec OrderSend)

Pour l'âge de ce forum et de mql4 lui-même, je supposerais que quelqu'un aurait posté un EA complet avec toutes les caractéristiques standard "que la plupart considèrent" d'un programme normal à cette époque. Est-ce une tâche trop difficile ? Tout d'abord, je blâme les méta-citations (je vous aime les méta-citations !!). Mais je pense qu'il est temps que vous postiez un EA complet tel que défini par le livre.

Ok ! Maintenant, avant que les gens ne commencent à m'attaquer avec les réponses "Pourquoi ne le faites-vous pas", ce qui serait compréhensible étant donné le ton de ce post. Le fait est que je travaille sur un tel EA pour le code-base. La vérité est que je le fais pour mon propre apprentissage. Mais comment se fait-il que personne ne l'ait fait avant ?

Encore une fois, peut-être que j'ai manqué une telle EA. Donc, si quelqu'un pouvait me mettre en relation avec un tel EA, je l'apprécierais. De plus, je cherche une liste complète des éléments standard à prendre en compte dans un programme complet prêt pour les comptes réels. Je ne me soucie pas beaucoup de la vérification de tous les courtiers et instruments, mais j'aimerais avoir un échange d'idées avec ce fil de discussion sur les éléments standard à prendre en compte, selon vous.

 

Il est vrai que tous ces éléments ne sont pas couverts par une seule base de code EA.

La nouvelle version récente de MACD Sample est mise à jour pour les comptes full/sub-pip plus les courtiers ECN/STP.

Concernant les autres points

- Options appropriées de gestion de l'argent - Les opinions varient et cela peut devenir très complexe.

- Identification correcte de Magic# (si orderTotals==0 ne compte pas) - voir cet exemple

- Vérifications préalables pour TradeContexBusy ou pour toute communication avec le serveur est introuvable - je crois qu'il y a des fils de discussion sur le traitement des erreurs de canal d'ordre.

Les autres éléments sont intéressants pour les codeurs qui ont réussi à faire fonctionner un système et qui, en général, définissent et codent leur propre système ?

La plupart des nouveaux venus et des codeurs d'EA de niveau intermédiaire seraient dépassés par l'ampleur d'un EA commercial complet...

Mais... n'hésitez pas à en poster un à tout moment :)

-BB-

 
ubzen:

Ok ! Maintenant, avant que les gens ne commencent à m'attaquer avec des réponses du type "Pourquoi ne le faites-vous pas", ce qui serait compréhensible étant donné le ton de ce message. Le fait est que je travaille sur un tel EA pour le code-base. La vérité est que je le fais pour mon propre apprentissage. Mais comment se fait-il que personne ne l'ait fait avant ?

Très soutenu (moralement :P) et apprécié.

Les compétences pour écrire un EA complètement stable, qui est capable de faire du trading en direct et qui inclut tout ce que vous avez souligné, sont à mon avis les compétences pour lesquelles il faut payer. Il semble donc que ce soit les petits secrets cachés des maîtres du codage :)

Lorsque vous posterez votre code, la qualité du codage mql4 par les masses devrait s'améliorer avec le temps, mais la qualité des messages du forum devrait généralement diminuer (nous utiliserons tous un lien vers votre code comme référence :P)

J'ai hâte d'y être.

 

Toutes ces choses devraient vraiment faire partie de l'API officielle. Par exemple, des choses comme le problème du contexte commercial ou, plus généralement, la manière incroyablement lourde de gérer les ordres, les nombres magiques, etc., l'absence de gestionnaires d'événements commerciaux ou au moins une API simple permettant d'interroger facilement une liste filtrée et triée d'événements historiques, etc. Des gens ont écrit des bibliothèques entières pour envelopper tout (ou partie) de l'API MT4 de bas niveau dans quelque chose de plus haut niveau, plus facilement utilisable et chacun d'entre eux maintient sa propre version/implémentation privée d'une telle chose.

Grâce à l'étrange politique d'entreprise de Metaquotes et à leur attitude hostile envers les utilisateurs finaux et les développeurs d'EA, il semble presque impossible (et personne ne sera motivé pour essayer) d'établir une sorte de processus communautaire constructif (ou d'avoir au moins une sorte de dialogue constructif avec MQ) pour discuter et se mettre d'accord sur une telle API et discuter collectivement et contribuer aux améliorations. Mais une telle API serait absolument nécessaire et devrait faire partie de chaque installation MT4 standard et devrait être le moyen officiellement recommandé pour accéder à la fonctionnalité.

 

> Grâce à l'étrange politique d'entreprise de Metaquotes...

A mon avis, c'est une question de temps, d'effort et de risque par rapport à la récompense.

En l'état actuel des choses, MT peut publier quelques codes et dire qu'il s'agit uniquement d'exemples, qu'il vous appartient de les utiliser ou non.

Si MT (ou un autre) publie une bibliothèque comme étant le code définitif de traitement des ordres & il se peut qu'il y ait un bogue, que les conditions du marché changent ou que le comportement du serveur soit modifié, il pourrait y avoir de sérieuses implications en termes de responsabilité.

Même une API de haut niveau présente un certain degré de risque, car le marché des changes est un marché difficile avec de très nombreuses variables.

Microsoft peut publier une version d'Office et émettre des mises à jour au fur et à mesure - mais vous n'avez pas de seconde chance avec un logiciel de trading.

> Des gens ont écrit des bibliothèques entières... chacun d'entre eux maintient sa propre version/implémentation privée d'une telle chose...

C'est un peu compréhensible étant donné le temps, les efforts, la détermination et l'argent (perdu) qu'il faut pour développer ces choses...

-BB-

 

Le même genre de situation se produit dans presque toutes les industries. Il y a des livres sur la gestion, les mathématiques, la psychologie, etc. mais il n'y a pas de manière définitive de faire quelque chose. Le professionnel dit "ça fait exactement ce que vous avez défini" et l'amateur dit "ça marche avec mon courtier, c'est tout ce dont j'ai besoin".

 

@forexCoder : ... Lorsque vous postez votre code, la qualité du codage mql4 par les masses devrait s'améliorer avec le temps, mais la qualité des messages du forum devrait généralement diminuer (nous utiliserons tous un lien vers votre code pour référence :P)...

Merci pour votre soutien ;). Cependant, ce ne sera pas aussi grandiose. Il y a de bien meilleurs exemples disséminés dans le forum pour des tâches individuelles. Ce dont je parle, ce sont des segments beaucoup plus petits qu'un fichier Include ou un fichier Library désigné qui gère OrderReliable par exemple. Ma conception originale est de garder l'EA comme un seul fichier (pas de fichier Include ou Library). Ne retenez pas votre souffle en attendant, car je suis déjà distrait par d'autres projets. Mais je vais garder cela comme un objectif valable.

@General> Des gens ont écrit des bibliothèques entières... chacun d'entre eux maintient sa propre version/implémentation privée d'une telle chose...

Ouaip, très vrai en effet. Tout bon programmeur a sa propre version de tout. Exemple : gestion des erreurs et gestion de l'argent. Pourquoi MT ne pourrait-il pas créer une fonction qui renvoie une taille de lot lorsque je lui passe un prix StopLoss et un pourcentage de risque. Ou renvoyer un prix StopLoss lorsque je lui ai fourni une taille de lot et un risque. Mais Noooo, chacun doit avoir son propre goût et faire sa propre vérification des erreurs s'il a suffisamment de marge libre.

Oui, je sais que MT ne peut pas tout couvrir. Mais ce serait bien qu'ils donnent de meilleurs exemples. Même les EA commerciaux ont reçu beaucoup de critiques de ce forum parce qu'ils étaient généralement incompatibles avec d'autres EA ... maintenant cependant la plupart d'entre eux changent leurs manières. Je parie que la plupart de ces développeurs ont regardé l'ancien MACD Simple et se sont dit "pas de panique, il répond aux normes de MT". Je peux à peine exécuter n'importe quel code de la base de code sans voir une erreur 130, 131, ou modifier l'erreur # 1.

 
ubzen:
Pour l'âge de ce forum et de mql4 lui-même, je suppose que quelqu'un aurait posté un EA complet avec toutes les caractéristiques standards d'un programme normal.
Voici le mien, sans la logique de trading proprement dite.
Dossiers :
whrea.mq4  65 kb
 

Qu'en est-il de l'EA décrit dans le livre mql4 ? Il possède la plupart des fonctions dont vous auriez besoin, la fonction de comptabilité des ordres, la fonction de gestion des événements, la fonction de gestion des erreurs, etc. Je n'ai jamais compilé cette EA pour voir si elle fonctionne correctement ou non, je le ferai peut-être plus tard.

 
WHRoeder:
Voici le mien sans la logique commerciale actuelle.


Mec, c'est génial ! !! C'est une mine d'or de code utile. ! !!!

 
WHRoeder:
Voici le mien, sans la logique commerciale réelle.
Merci WHRoeder. C'est exactement ce dont je parle. Je vais l'utiliser comme un bon modèle de programme normal.
Raison: