Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
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.
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 ?
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
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
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 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
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.