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
Tout d'abord, n'essayez pas de déclarer une fonction à l'intérieur d'une autre fonction.
Je suis incapable de comprendre ce que vous essayez de faire en regardant le code que vous avez posté. Je ne peux donc pas vous aider.
Merci GumRai pour votre réponse rapide. Mon programme a de nombreuses conditions comme les suivantes. J'ai vérifié jusqu'à P12. C'est comme un pivot. Si les conditions sont satisfaites, alors il ouvre des trades limités sur ces niveaux P1, P2, .... et son nombre est de 12. Je ne voulais pas écrire un code d'achat/vente pour chaque cas. C'est pourquoi j'ai créé des fonctions distinctes buycall/sellcall. Ci-dessous mon ancien code pour la vente.
Voici l'exemple. La même transaction est placée sur chaque tick. J'ai besoin de le placer sur chaque heure. Comme c'est un pivot horaire.
Lorsque vous ouvrez une limite de vente, vous définissez BuyTicket à 0.
Ensuite, vous vérifiez si BuyTicket==0, bien sûr que oui, vous venez de le définir.
Ensuite, vous fixez SellTicket à 0.
Au tick suivant, Sellticket==0, vous ouvrez donc une limite de vente et réglez à nouveau BuyTicket à 0.
et ainsi de suite............
Lorsque vous ouvrez une limite de vente, vous définissez BuyTicket à 0.
Ensuite, vous vérifiez si BuyTicket==0, bien sûr que oui, vous venez de le définir.
Ensuite, vous fixez SellTicket à 0.
Au tick suivant, Sellticket==0, vous ouvrez donc une limite de vente et réglez à nouveau BuyTicket à 0.
et ainsi de suite............
Ensuite, je dois supprimer les deux lignes que vous avez mises en évidence. C'est ce que j'ai fait. Maintenant, je n'affiche que le résultat d'une heure pour 2 mois de données de back testing.
Une autre chose que je remarque, dans mon sellcall, j'ai un reverse trade sur l'achat. Si la transaction de vente est arrêtée, la transaction d'achat s'ouvre. Maintenant, la fonction sellcall renvoie (Selltickets), est-ce que c'est correct ?
Je vous remercie.
Je comprends maintenant dans ce code, d'abord il vérifie sellticket == 0 oui évident, puis placé l'ordre de vente, le prochain buyticket == 0 oui, le prochain place l'ordre d'achat ... mais quand le retour ... de nouveau vérifier sellticket == 0 , non ce n'est pas maintenant ... donc c'est pourquoi Ea arrêté après avoir pris un ensemble. Mais comment supprimer ce problème. Dans mon EA, les ordres inactifs en attente sont supprimés toutes les 59 minutes à partir de l'heure de départ. Je l'ai configuré de cette façon.
Maintenant, j'ai modifié le code de la manière suivante, il lit tous les supports et résistances.
J'ai un maximum de 6 supports et 6 résistances pour une heure. Parmi les 6 qui remplissent les conditions, il ouvre des ordres limites sur ces 6. Si 1 remplit les conditions, il ouvre des ordres limites sur celui-ci. C'est l'algo.
J'ai donc configuré le code de la façon suivante pour l'appel de fonction.
Maintenant, il fonctionne pendant une heure et vérifie 6 niveaux pour chaque achat/vente. Mais il ne fonctionne que pendant une heure. Que faire ici pour qu'il fonctionne parfaitement pour l'ensemble des données.
Cela ne fonctionnera que dans le testeur de stratégie et ne fera plus rien une fois que les 6 premiers ordres seront ouverts.
Vous ne pouvez pas utiliser un numéro de ticket pour un test de cette manière.
Cela ne fonctionnera que dans le testeur de stratégie et ne fera plus rien une fois que les 6 premiers ordres seront ouverts.
Vous ne pouvez pas utiliser un numéro de ticket pour un test de cette manière.
Merci de votre réponse.
Alors que dois-je faire ? Si je supprime le BuyTicket =>0 ou toute autre condition BuyTicket. Alors l'EA prend de nombreuses positions identiques à chaque tick....., ce qui me donne une erreur d'ordre de 148.
Merci de votre réponse.
Alors que dois-je faire. Si je supprime la condition BuyTicket =>0 ou toute autre condition BuyTicket. Alors l'EA prend beaucoup de trades identiques à chaque tick....., ce qui me donne une erreur d'ordre de 148.
Nous ne savons pas ce que vous essayez de faire.
Si vous ne voulez qu'une seule transaction ouverte à la fois, vérifiez qu'il n'y a pas d'ordres ouverts avant d'en envoyer une nouvelle.
Si vous ne voulez qu'une seule transaction par barre, ne testez qu'une seule fois par barre.
Si vous voulez une combinaison de conditions, testez la combinaison.