les aventures d'un débutant - page 8

 
niko:

Hey CB,


Je pense que Tim est en vacances maintenant car je n'ai pas eu de nouvelles de lui depuis quelques jours. Je continue donc avec votre code, car il va m'aider à trader (car je trafique manuellement la stratégie maintenant, et cela signifie se lever tôt, etc). J'ai modifié tout le code comme vous l'avez demandé, mais pour une raison quelconque, il renvoie toujours une erreur (à propos de "==" cette fois, très étrange).


Une autre chose est que j'ai remarqué que la fonction de démarrage n'était pas fermée. J'ai donc ajouté "}" après la première fonction dans le début (), si nous ne faisons pas cela, le code génère une erreur avec la chaîne de fonctions suivante fnGenerateSignal() (en disant que la définition de la fonction pour cela est inattendue).


Merci, comme toujours. J'attends avec impatience vos commentaires/amendements !

Nick

Bonjour Nick.

Vous avez toute une série de boucles qui ne sont pas nécessaires dans le bloc start(). Vous pouvez donc supprimer le premier { et le dernier }.

Il manque une instruction conditionnelle if dans le bloc fnGenerateSignal(), donc tel qu'il est écrit, il retournera toujours "OP_BUY".

Je ne vois pas de problème avec ==. Quelle est l'erreur précise que vous obtenez ?

CB.

 
cloudbreaker:

Bonjour Nick.

Vous avez toute une série de boucles qui ne sont pas nécessaires dans le bloc start(). Vous pouvez donc supprimer le premier { et le dernier }.

Il manque une instruction conditionnelle if dans le bloc fnGenerateSignal(), donc tel qu'il est écrit, il retournera toujours "OP_BUY".

Je ne vois pas de problème avec ==. Quelle est l'erreur précise que vous obtenez ?

CB.

Hey CB, merci d'être venu à la rescousse.

J'ai ajouté l'instruction conditionnelle if que vous avez soulignée.

L'erreur == indique : "=="-différents types en comparaison, et elle met en évidence la ligne suivante

if ((OrderSymbol() == Symbol()) && (OrderType() == sSignal))


Je pense que l'erreur == est due au fait que nous comparons OrderType qui est int à sSignal qui est string, donc ils ne peuvent pas être égaux. Je vais voir si je peux le changer, et poster ce que j'ai fait.

 

J'ai changé 'OP_BUY' en 1, OP_SELL en -1, pour résoudre l'erreur d'incompatibilité de types (ce qui implique de changer aussi fnGenerateSignal). Il ne produit aucune erreur lorsqu'il est compilé.


Cependant, lorsque je l'exécute sur le testeur de stratégie, il exécute toujours plusieurs ordres d'achat et de vente les uns après les autres (alors qu'il ne devrait y avoir qu'un seul ordre dans une seule direction). Avez-vous une idée ?

Dossiers :
 

Faites un essai et voyez comment vous vous en sortez.

- Vérifiez d'abord vos déclarations conditionnelles dans fnGenerateSignal() pour vous assurer que toutes les valeurs inférieures et supérieures sont correctes, car j'ai dû réajuster la première.

- Si cela ne fonctionne toujours pas, commencez à insérer des instructions Print() pour que nous puissions voir ce que font les différentes variables à des moments clés.


CB

Dossiers :
 
niko wrote >>

J'ai changé 'OP_BUY' en 1, OP_SELL en -1, pour résoudre l'erreur d'incompatibilité de types (ce qui implique de changer fnGenerateSignal aussi). Il ne produit aucune erreur lorsqu'il est compilé.

Cependant, lorsque je l'exécute sur le testeur de stratégie, il exécute toujours plusieurs ordres d'achat et de vente les uns après les autres (alors qu'il ne devrait y avoir qu'un seul ordre dans une seule direction). Avez-vous une idée ?

Hé Niko,

Bon retour de Turquie.

Comment vont les choses ?

Salutations

Huckleberry

 

Bonjour Nick


Désolé, je n'avais pas réalisé que tu étais de retour de vacances.


Je suis content que tu aies passé un bon moment en Turquie.

Ci-joint le code mis à jour avec les notes, etc.


La prochaine tâche est de compiler et de déboguer. Ensuite, vous pourrez commencer à tester. Un peu plus de mise en ordre des commentaires dans le code ne serait pas une mauvaise idée non plus.


Salutations

Tim
Dossiers :
 
TSWilson:

En fait, j'ai supprimé certains des commentaires dans la version que je viens de poster ci-dessus. :-)


CB

 
Hé les gars, on dirait que toute l'équipe est de retour en action ! Merci Tim, je vais continuer avec ton code, et dès que j'en aurai l'occasion, je continuerai avec les CB.
 
niko:
Hé les gars, on dirait que toute l'équipe est de retour en action ! Merci Tim, je vais continuer avec ton code, et dès que j'en aurai l'occasion, je continuerai avec celui de CB.

Puis-je simplement vous demander de confirmer quelque chose à propos de votre stratégie ?

Si je me souviens bien, vous avez dit auparavant que vous vouliez avoir un seul EA qui pourrait être déposé sur n'importe quelle paire et qui traderait uniquement sur la paire du graphique sur lequel il a été déposé - et il prendrait toutes ses décisions de trading en se basant uniquement sur la paire du graphique sur lequel il a été déposé. Ainsi, vous n'auriez qu'une seule base de code à maintenir. Est-ce toujours le cas ?


CB

 
cloudbreaker wrote >>

Puis-je simplement vous demander de confirmer quelque chose à propos de votre stratégie ?

Si je me souviens bien, vous avez dit auparavant que vous vouliez avoir un seul EA qui pourrait être déposé sur n'importe quelle paire et qui traderait uniquement sur la paire du graphique sur lequel il a été déposé - et il prendrait toutes ses décisions de trading en se basant uniquement sur la paire du graphique sur lequel il a été déposé. Ainsi, vous n'auriez qu'une seule base de code à maintenir. Est-ce toujours le cas ?

CB

Hé CB, l'idéal est d'avoir un EA multi-paires - c'est ce que Tim et moi essayons de construire. Cependant, un EA à paire unique est également très souhaitable car il m'apprend à coder. Vos styles de codage diffèrent et c'est un excellent exercice pour moi de voir comment une idée identique/similaire peut être codée différemment. De plus, je pensais que si nous terminions l'EA simple en premier, je l'utiliserais pour m'aider à faire du trading manuel, mais il semble que les deux codes seront terminés en même temps.