Répondre

Comment faire en sorte qu'il n'y ait d'échanges que lorsque le corail est d'une couleur particulière ?

10 réponses

stearno

Client, bbp_participant, communauté, 379 réponses.

Visiter le profil

il y a 11 ans #110903

J'ai des difficultés avec l'indicateur ci-joint. Je veux que l'EA ne passe un ordre d'achat que lorsque le corail est vert et un ordre de vente que lorsque le corail est rouge.

Mais il passe des ordres d'achat lorsque l'indy est rouge alors qu'il n'est pas censé le faire :

Lorsque j'ai chargé l'indy dans l'EA Wizard en tant qu'indicateur personnalisé, il avait 4 sorties. Je suis allé dans MT4, j'ai déplacé le curseur et j'ai compris que lorsque l'indicateur était vert, le prix se trouvait dans le champ de la valeur 2.

Lorsqu'il était rouge, il se trouvait dans le champ de la valeur 3.

J'ai donc nommé ces sorties de manière appropriée dans l'importation d'indicateurs personnalisés de l'EA Wizard.

Ensuite, j'ai mis en place une règle disant que lorsque le champ de sortie 2 (nommé "vert") est supérieur à 0 (parce que lorsqu'il n'est pas vert, il est à 0), seuls les ordres d'achat peuvent être exécutés. Lorsque le champ 3 est supérieur à 0 (parce que lorsqu'il est rouge, il remplit le champ 3), seuls les ordres de vente sont exécutés.

Fichier : 6 règle.jpg6 règle.jpg

Mais hélas. Comme vous pouvez le constater

Il passe un ordre d'achat lorsqu'il est rouge. Pouvez-vous m'aider à savoir comment résoudre ce problème ou ce que je fais de travers ?

Merci,
Stearno

Fichier : THV4 Coral.mq4

0

stearno

Client, bbp_participant, communauté, 379 réponses.

Visiter le profil

il y a 11 ans #120944

Je me suis dit que j'allais dépanner le corail... peut-être que je pourrais trouver le problème. La première élimination a été de déterminer si c'était le corail qui causait le problème. Je l'ai donc remplacé par une moyenne mobile normale. La règle disait que si le prix de clôture de l'AH était inférieur à la MA, seuls les ordres de vente étaient acceptés. Si le prix est supérieur, seuls les ordres d'achat sont acceptés.

. Il n'a pas fonctionné. Cela signifie donc que le problème ne vient pas du corail...

deuxième étape. Peut-être que mon code était erroné. La chose la plus simple est donc de créer un code simple. J'ai donc créé une nouvelle stratégie et je n'ai eu qu'un croisement de MACD pour acheter et un croisement inverse pour vendre.

. J'ai testé l'EA et il achetait et vendait comme il se doit.

J'ai ensuite ajouté à cet EA de travail que la clôture devait être inférieure à une MA exponentielle pour vendre.

et a dû clôturer au-dessus du MA pour l'achat (a également utilisé le prix régulier au lieu du HA, pour éliminer le HA des variables)

.

J'ai exécuté la stratégie et elle a toujours vendu au-dessus de la MA et acheté en dessous de la MA.

Conclusion : Il n'y a que deux choses constantes dans ce processus d'élimination des variables, à savoir moi-même et le logiciel. L'une d'entre elles doit donc être la cause du problème. Il est très probable que ce soit moi, car Mark est un meilleur codeur que moi. Je vous invite donc à regarder mon code ci-joint et à me dire ce que j'ai fait de mal pour qu'il ne fonctionne pas comme je l'aurais voulu. J'ai joint mon MA original. Je vous remercie d'avance pour vos commentaires.

Je vous remercie !

-Stearno

0

Mark Fric

Administrateur, sq-ultimate, 2 réponses.

Visiter le profil

il y a 11 ans #120964

Bonjour Stearno,

L'indicateur THV 4HA que vous utilisez dans votre stratégie est-il le même que THV4 Coral ?
THV 4HA a un paramètre Vrai/Faux supplémentaire, je suppose donc qu'il s'agit d'un autre indicateur. Pouvez-vous l'afficher pour que je puisse le tester avec lui ?

Lorsque j'ai testé votre version simple de l'EA avec seulement le MACD et la moyenne mobile, il n'a jamais ouvert la vente au-dessus de la MA ou l'achat en dessous de la MA.
Pourriez-vous m'envoyer la stratégie qui fait cela avec vos tests ?

Marque

Marque
StratégieArchitecte de Quantités

0

stearno

Client, bbp_participant, communauté, 379 réponses.

Visiter le profil

il y a 11 ans #120976

J'ai joint le THV HA. Je l'ai essayé avec l'indi HA qui est fourni avec EA Wizard, et je l'ai essayé avec des données de prix brutes (les fichiers EA Wizard sont joints pour chacun). J'ai également essayé sans corail et en utilisant un MA normal, qui est également joint. Ils ont tous abouti au même résultat.

Je suis également sur mon ordinateur de travail en ce moment, j'ai donc essayé sur ce PC pour éliminer la cause de l'application MT4 spécifique sur mon ordinateur personnel. J'ai obtenu le même résultat, ce n'est donc pas l'application MT4 que j'utilisais.

J'ai testé une stratégie d'achat/vente basée sur le croisement au-dessus/en dessous de 0 du MACD. Acheter si au-dessus du MA et vendre si en dessous du MA. Cela a fonctionné. Il semble donc qu'il y ait un problème dans la façon dont j'ai codé.

J'attends avec impatience vos commentaires sur ce qui n'est pas correct dans mon codage et qui est à l'origine de ce problème.

-stearno

Fichier : THV4 HA .mq4
Fichier : THV Trix-d3.sqw

0

Mark Fric

Administrateur, sq-ultimate, 2 réponses.

Visiter le profil

il y a 11 ans #120979

Bonjour,

J'ai trouvé l'erreur, le problème est dans l'indicateur Coral. Par exemple pour la règle short vous avez une condition iCustom(THV4 Coral, Red) > Close.
Le problème est que si l'indicateur Coral est en hausse (vert), il n'y a pas de valeur définie pour Red, et l'indicateur ne renvoie pas 0 (comme je m'y attendais) mais un nombre double maximum.
Cette comparaison est donc toujours vraie et n'empêche pas votre EA d'entrer dans des transactions à découvert.

Une solution consisterait à utiliser la valeur de Coral, et non celle de Red/Green, comme suit : iCustom(THV4 Coral, Coral)
une autre solution serait de vérifier si la valeur de retour de THV4 Coral n'est pas supérieure à 1000 - cela signifie qu'elle n'a pas de valeur.

Marque

Marque
StratégieArchitecte de Quantités

0

stearno

Client, bbp_participant, communauté, 379 réponses.

Visiter le profil

il y a 11 ans #120983

Ok, je suis allé dans le code de l'indicateur et d'après vos conseils sur la cause première, j'ai trouvé l'endroit où les tampons étaient réglés sur "= Empty_Value". J'ai remplacé la valeur vide par 0 et cela fonctionne maintenant.

Un effet secondaire amusant est que lorsque le corail passe du rouge au jaune, le rouge forme une ligne droite jusqu'à zéro et le vert forme une ligne droite de zéro jusqu'à la ligne du corail. C'est assez amusant.

Mais quoi qu'il en soit, c'est ce que j'utiliserai avec l'EA et ensuite j'utiliserai le bon indy sur le graphique.

Merci encore !

-Stearno

0

stearno

Client, bbp_participant, communauté, 379 réponses.

Visiter le profil

il y a 11 ans #120984

Ok, donc maintenant l'EA a fonctionné après avoir fait les changements que vous avez indiqués.

J'ai ensuite ajouté quelques règles pour continuer à développer cet EA. La dernière qui fonctionne est #5 (ci-joint) et elle se compile bien.

Mais lorsque je suis arrivé à #6 et #6b où j'ai ajouté un indicateur TRIX, j'ai essayé de le compiler et il y avait des erreurs dans le MetaEditor. Je suis retourné à l'EA Wizard et j'ai fait "Test Validity" et il a dit que c'était un EA valide. J'ai alors pensé qu'il pouvait s'agir du problème que j'avais eu précédemment avec le numéro de build de MT4 qui était une version inférieure au numéro de build du MetaEditor. J'ai donc essayé de le compiler avec les deux MedaEditor et cela n'a pas résolu le problème.

Que dois-je faire pour résoudre ce problème car l'EA Wizard indique qu'il s'agit d'un EA valide, mais MT4 émet un avertissement lors de la compilation. J'ai inclus les fichiers log ci-joints pour que vous puissiez voir les erreurs que j'ai reçues (dans les fichiers zippés).

Je viens d'essayer de tester et de n'ajouter que cet indicateur à #5. C'est cet indicateur qui cause les problèmes. J'ai regardé le fichier mq4 et il semble que ce sont les paramètres externes qui causent les problèmes. Est-ce exact ? Que dois-je faire pour le rendre utilisable ? Par ailleurs, pourquoi l'assistant EA indique-t-il qu'il est valide ?

**Mise à jour**
J'ai parcouru le code et supprimé les éléments qui provoquaient les erreurs. Cela fonctionne à présent. Peut-être que le contrôle de validité peut aussi vérifier cela ? La raison pour laquelle l'EA Wizard l'autorisait mais que MT4 le rejetait était un peu déroutante.

-Stearno

0

Mark Fric

Administrateur, sq-ultimate, 2 réponses.

Visiter le profil

il y a 11 ans #121000

Bonjour,

il n'y avait pas de pièce jointe dans votre message, pouvez-vous me dire quelle était l'erreur ?

L'EA Wizard ne peut pas vérifier les erreurs du compilateur MetaTrader, s'il y a des erreurs dans l'indicateur personnalisé.
Toutefois, je peux améliorer le contrôle de la validité, mais il suffit de me faire savoir où se situe le problème.

Marque

Marque
StratégieArchitecte de Quantités

0

stearno

Client, bbp_participant, communauté, 379 réponses.

Visiter le profil

il y a 11 ans #121016

Marquer,
Désolé, l'indicateur est joint.

Je comprends que Validity ne peut pas vérifier les erreurs de compilation de MT4. Je suggérais plutôt qu'il utilise la même logique dans son test que celle du MT4 qui produit les erreurs de compilation. Mais c'est peut-être trop difficile (trop d'erreurs possibles) ou vous n'avez pas accès au code du logiciel pour voir la logique. Quoi qu'il en soit, je voulais vous faire part de cette situation afin que vous puissiez décider de ce qu'il est préférable de faire (ou de ne pas faire) à l'avenir. J'ai résolu mon problème car j'ai un indicateur modifié qui fonctionne mieux dans un EA.

Remerciements

Stearno

0

Mark Fric

Administrateur, sq-ultimate, 2 réponses.

Visiter le profil

il y a 11 ans #121027

Bonjour,

le problème avec cet indicateur était probablement que l'EA Wizard ne le reconnaissait pas correctement, nous l'avons corrigé dans la dernière version.

Il n'est pas possible pour EA Wizard de valider le code pour MetaTader, mais le code généré par EAW ne devrait poser aucun problème.
Si vous avez une erreur de compilation sur un EA généré par EAW, envoyez-le moi (les fichiers sqw et mq4) et nous l'examinerons.

meilleures salutations,

Marque

Marque
StratégieArchitecte de Quantités

0

stearno

Client, bbp_participant, communauté, 379 réponses.

Visiter le profil

il y a 11 ans #121030

D'accord, je transmets cette information au cas où elle serait utile.

Oui, je reconnais que l'indicateur est compliqué. Des erreurs se produisent dans n'importe quel EA lorsqu'on utilise cet indicateur. J'ai donc joint un fichier sqw d'EA simple pour montrer les erreurs de compilation avec cet indicateur. Si vous exportez le fichier MQ4 depuis l'EA Wizard et que vous le compilez, vous verrez les erreurs.

J'ai également inclus le même indicateur que j'ai pu modifier pour qu'il fonctionne dans EA Wizard.

0

Affichage de 10 réponses de 1 à 10 (sur un total de 10)