Problème pro réal time – différence backtest et prise de position live chez IG
Forums › ProRealTime forum Français › Support ProOrder › Problème pro réal time – différence backtest et prise de position live chez IG
- This topic has 10 replies, 3 voices, and was last updated 4 years ago by Nicolas.
Tagged: zero divide
-
-
12/10/2019 at 3:55 PM #114567
Bonjour,
Je rencontre un problème récurrent sur prorealtime.
J’ai en effet un expert advisor qui fonctionnait très bien jusqu’à vendredi dernier. Depuis hier lundi il ne prend aucune position alors que tout est au vert pour qu’il en prenne. Sur le backtest on voit très clairement qu’il les prend au bon moment, mais en pro order aucun résultat….
Je suis chez IG, auriez vous une explication à cela ? Est-ce déjà arrivé à quelqu’un ?
Merci d’avance de votre retour.
12/10/2019 at 4:02 PM #114570Sujet déplacé dans le forum ProOrder, puisqu’il s’agit de trading automatique. Titre du topic modifié, “problème prorealtime” n’est pas un titre explicite, merci de faire attention la prochaine fois !
Sans aucun détails, difficile d’aider davantage: instrument et timeframe ? code du ProOrder en question ? Y-a-t’il des refus ou ordres rejetés dans la liste des ordres rejetés par le courtier ?
As-tu fait un ticket support chez IG ?
01/07/2020 at 10:59 AM #116110Bonjour,
Je fais suite à ce topic, je n’ai pu le faire avant, mais pour autant je n’ai toujours pas trouvé de réponse à cela.
Voici donc de plus amples informations :
Il a très bien fonctionné pendant 1 semaine et quelques et puis n’a plus pris aucune position très subitement.
Mon EA opère en TimeFrame 1sec sur le Dax, en utilisant l’update on close. Je précise que dans mon carnet d’ordres, aucun n’a été rejeté, annulé ou autre, il n’y a tout simplement aucune position de prises alors qu’en backtest ces dernières sont prises. J’ai bien vérifié s’il était en route et c’est bien le cas.
Je me suis permis de vous joindre quelques captures pour vous montrer le problème.
Le problème viendrait donc d’où ? Sachant que j’ai déjà appelé IG et qu’eux me disent qu’ils n’ont jamais été confronté à cela.
Merci,
01/07/2020 at 1:51 PM #11612401/07/2020 at 2:06 PM #116128Merci jonsson, en effet un système de trading automatique dans ProOrder est valable 30 jours à partir de son démarrage, il est indiqué qu’il a expiré dans la fenêtre des programmes de trading automatique, il faut appuyer sur le bouton “étendre”.
01/07/2020 at 4:01 PM #116146J’ai effectué cette capture d’écran le 16 décembre comme vous pouvez le voir en haut à gauche de l’écran sur la capture d’écran, j’en ai aussi pleins d’autres datant de décembre.
Le système n’était donc pas expiré, c’est simplement moi qui revient sur ce topic aujourd’hui car je n’ai pas pu le faire avant.
Il était effectivement bien valable jusqu’au 3 janvier, le 16 décembre ou les autres jours il aurait donc du fonctionné.
Il est précisé sur la fenêtre que je n’en ai aucun en attente mais bien un en cours d’exécution (celui qui ne fonctionne pas)
01/07/2020 at 4:12 PM #116148En effet, désolé ! 🙄
Si il n’y a en effet aucun ordre rejeté dans la liste spécifique (des ordres rejetés), alors il y a peut-être quelque-chose dans le code qui bloque (j’ai un doute cependant), il faudrait le poster si possible.
Sinon: as-tu essayé de l’arrêter et de le redémarrer ? Compte live trading ? C’est un problème isolé ? (pas d’autres codes qui ont le même comportement ?)
01/07/2020 at 5:03 PM #116155Aucun problème, ce n’était pas évident à voir.
Non, encore une fois aucun odre rejeté, j’aurai compris d’ou venait le problème sinon…
C’est impossible aussi que cela vienne du code j’aurai sinon un message d’erreur en backtest aussi, cela m’embête un peu de publier le code pour l’instant… c’est un peu égoïste mais j’ai passé des mois et des mois dessus…
je n’ai testé aucun autre code pour vous répondre
01/07/2020 at 5:22 PM #11615701/07/2020 at 5:25 PM #116158Pouvez vous m’en dire un peu plus sur cette division par 0 s’il vous plait ?
01/08/2020 at 9:11 AM #116181Une division par un diviseur qui vaut 0. C’est une erreur commune en langage informatique qui a pour effet de faire stopper un programme.
Wikipedia:
Ce qui arrive après une division par zéro dépend des choix faits par le programmeur, mais il est assez souvent préférable de prévoir que le programme interrompe son exécution dès qu’une variable vaut Inf, -Inf ou NaN, plutôt que de le laisser continuer à se dérouler en se basant sur de telles valeurs, qui sont relativement inutilisables pour prendre des décisions.
Par exemple, supposons que l’on souhaite comparer deux nombres x et y ; on obtient en fait les quantités z × x et z × y. On les redivise par z. Finalement, si z valait en fait 0, on obtient NaN pour les deux valeurs, ce qui ne permet pas de déterminer laquelle des deux est la plus grande. Même si les ordinateurs ont des réponses conventionnelles pour ces comparaisons, il est souvent préférable que le programme envoie un message d’alerte pour signaler qu’en raison d’une division par zéro, les résultats sont inutilisables.
D’autres calculateurs ont comme convention de renvoyer l’erreur spécifique « division par zéro ». C’est généralement le cas des calculatrices de poche. Exemple particulier, le logiciel de mathématiques Maple renvoie une erreur si la division est faite sous forme symbolique (par exemple 1/0 ou π/0), mais « l’infini des flottants » (ou moins l’infini) si un des nombres est à virgule flottante.
Certaines des plus grandes destructions de matériels causées par des plantages informatiques ont pour cause un comportement catastrophique en cas de division par zéro, parce que le programmeur pensait à tort que la variable utilisée comme diviseur ne vaudrait jamais 0
—
Il faut donc vérifier les diviseurs de tes divisions dans ton code, est-ce qu’à un certain moment (souvent au lancement du code car des variables utilisées comme diviseur pourraient ne pas avoir de valeurs, donc 0 ou NaN en langage informatique).
-
AuthorPosts
Find exclusive trading pro-tools on