Problème avec MT4 ouvrant une transaction, puis la refermant immédiatement - page 2

 

Vous devriez le vérifier en mode test, pour voir s'il répète ou non.

 

Un EA peut prétendre utiliser des nombres magiques (et même les utiliser la plupart du temps) mais, en raison d'une erreur de codage (ce qui est la norme dans le milieu de la duplication du code spaghetti [copier-coller] du mql4), il arrive qu'il n'utilise pas sa magie mais plutôt un code intrinsèquement erroné comme par exemple :

for(...){
   OrderSelect(...);
   if (OrderSymbol() == Symbol()){
      OrderClose(...);
   }
}

qui est enterré et oublié entre des tonnes de blocs de code similaires dupliqués (et copiés-collés) et qui, pour une raison quelconque, n'est exécuté que parfois pendant la pleine lune (il y a un autre bloc de code identique de 500 lignes (avec 4 autres occurrences de la même boucle) pour la nouvelle lune et deux autres blocs de ce type pour les autres périodes dans certaines des autres branches de l'unique grand monstre-if/else de l'enfer mais ceux-ci ont déjà été "corrigés").


Voilà votre erreur et voilà votre argent envolé : Un jeune inconnu de 15 ans, aspirant duplicateur de code (ou devrais-je dire C0d3r) avec ZERO indice, a créé (sic !) un EA (son tout premier et complètement non testé) parce qu'il s'ennuyait avec php et l'a posté sur un forum (ou a laissé son cousin de 21 ans le vendre pour de l'argent) et vous a causé une perte de plusieurs x-mille dollars. Demandez-moi en privé à qui vous devez envoyer 20% de l'argent économisé pour les 3 prochains mois pendant lesquels vous n' utiliserez PAS ce genre d'EA.


Ce fil de discussion devrait maintenant être fermé à ce point précis et ensuite affiché en haut du forum avec des lettres rouges en gras jusqu'à la fin des temps.

 
Sainte mère de ..... une limonade de plus et personne ne demanderait de l'aide sur ce forum... lol.
 
ubzen:
Sainte mère de ..... une limonade de plus et personne ne demanderait de l'aide sur ce forum... lol.

Mon coup de gueule était double.

La partie entre les lignes était principalement dirigée contre ceux qui écrivent et vendent ce genre d'EAs mais je doute qu'ils puissent même le comprendre. L'autre partie qui est écrite en anglais simple ne fait que résumer l'événement et la situation des victimes et OP est une victime (victime de fausses déclarations mais aussi victime de sa propre naïveté). Les dommages ne peuvent plus être réparés, l'argent a disparu. On ne peut qu'en tirer des leçons et il faut en tirer des leçons. Et enfin la dernière phrase de mon post (3 mois, 20%) avait pour but d'amplifier la douleur perçue pour maximiser l'effet d'apprentissage.


Cela peut paraître dur mais c'est l'amère vérité.


La raison de l'erreur se trouve dans l'un de ses EA qui ferme les commandes d'autres EA, bien qu'il prétende utiliser un nombre magique, il ne parvient pas toujours à utiliser ce nombre. Et cela se produit parce que des dilettantes écrivent et vendent des EA dysfonctionnels à des personnes innocentes. La seule solution à ce problème est de NE PAS utiliser d'EA qui n'ont pas fait l'objet d'un audit approfondi, ce qui inclut automatiquement tous les EA commerciaux pour lesquels aucun code source n'est disponible. Il n'y a pas d'autre solution que d'apprendre à coder ou d'engager un codeur compétent et d'examiner et de tester minutieusement le code de tout EA tiers et de ne pas utiliser du tout d'EA à source fermée.

 
Je suis entièrement d'accord avec vous et mon message précédent reflétait un sentiment similaire. J'ai appris que c'était un peu dur, mais c'est la vérité. Fournir un EA sans soutien est un crime. Oui, je l'ai dit (peut-être que maintenant les modérateurs vont vraiment verrouiller le message en rouge). Je pense que l'OP a gagné un peu d'argent avant les bugs.... sinon Ouch !
 

P

> Je commence à penser que MT4 peut avoir des problèmes lorsqu'il gère plusieurs EAs en même temps.

Ce n'est normalement pas un problème, j'ai empilé beaucoup plus d'EA que cela par instance et plusieurs instances par VPS.

> Je pense que les indicateurs sont peut-être en train de se dérégler, générant des signaux pour trader et ensuite pour fermer.

Cela pourrait être une idée, surtout s'il s'agit d'un EA de trading en "heures calmes" et que le courtier est récemment passé au STP/ECN... ?

Les énormes variations de spread et/ou de gapping qui en résultent sur les échelles de temps plus courtes peuvent perturber les signaux d'entrée/sortie de diverses sortes

FWIW

-BB-

 

C'est un bug, en quelque sorte. La définition d'un bug étant le logiciel se comportant d'une manière que vous auriez préféré qu'il ne le fasse pas.

Il peut s'agir soit du programme de l'application, soit du langage de programmation dans lequel l'application a été écrite.

Quoi qu'il en soit, sans accès au(x) code(s) source(s), ou à un cas de test reproductible, tout le reste n'est que supposition.

 

Placez chacun des EA sur son propre compte de démonstration séparé et ouvrez en plus une transaction ouverte manuellement avec un stop et un takeprofit éloignés et des ordres limites et stop saisis manuellement dans la même paire de devises sur chaque compte, puis laissez-les simplement fonctionner pendant quelques jours/semaines. Si l'un de ces EA décide soudainement de fermer votre transaction ouverte manuellement, de déplacer son stop ou d'annuler l'un des ordres d'entrée, vous avez sans aucun doute identifié l'EA coupable. Essayez de les poursuivre en justice pour récupérer votre argent car un EA NE DOIT EN AUCUN CAS saboter une autre activité de trading.

C'est la loi n°1 de la robotique de trading : "Un robot ne doit pas nuire aux transactions d'un être humain" (ce qui inclut naturellement les transactions de ses autres EAs).

 

Intéressant. Essayez d'établir une sorte de preuve de la façon dont une relation sexuelle est censée ou non fonctionner.

Ensuite, faites le grand saut, poursuivez en justice et convainquez le tribunal de la manière dont une union libre est censée ou non fonctionner.

Bien entendu, vous devez commencer par expliquer au tribunal ce qu'est une union libre. À ce moment-là, vos frais d'avocat risquent d'être plus élevés que les indemnités potentielles que le tribunal pourrait vous accorder, en supposant, encore une fois, que cela se produise. Sinon, vos pertes seront simplement aggravées.

PS : J'ai lu une autre fois que quelqu'un avait décompilé la source, ce qui facilite la défense de l'affaire au tribunal. Mais alors, la décompilation et donc le vol du code sont-ils légaux ?

 

Décompiler le code et le voler sont deux choses différentes. Décompiler, c'est juste le traduire en un langage lisible. Un tribunal devrait permettre qu'un document écrit dans une langue étrangère soit traduit dans une langue que le juge peut lire. Personne ne considérerait cela comme du "vol".

Ou bien le code machine est-il une sorte de langage sacré qui ne doit en aucun cas être traduit ou lu par le commun des mortels ? Pas même par les juges ? Seulement par les programmeurs inaugurés et leurs machines ?


Et même si ce n'est pas le cas, les mêmes choses concernant le comportement de l'EA pourraient également être prouvées en désassemblant le code d'octet ou le code machine lui-même. (le désassemblage consiste simplement à l'imprimer dans un format agréable et à écrire une petite explication à côté de chaque instruction machine) ou en démontrant simplement le comportement dans un test répétable.