ProOrder – Division par zéro
Forums › ProRealTime forum Français › Support ProOrder › ProOrder – Division par zéro
- This topic has 3 replies, 3 voices, and was last updated 4 months ago by PROPRO.
-
-
08/02/2024 at 1:42 PM #236067
Bonjour,
En passant pour le 1ere fois en automatique, mon code a été suspendu avec le message d’erreur “division par zéro”. J’ai lu les posts sur le sujet dans le forum et j’ai vérifié toutes les divisions présentes dans mon code. Avant de relancer j’ai quelques questions :
- effectivement proBacktest n’est pas dérangé par les divisions par zéro ce qui est dommage car, s’il l’était, on pourrait débugger beaucoup plus facilement. Pourrait-on soumettre cette demande d’amélioration à ProRealTime ?
- la seule division de mon code qui peut être égale à zéro ne s’exécute pas dans le proOrder que j’ai lancé car j’utilise une variable qui bloque l’exécution d’une partie du code. Est-il possible que ProOrder suspende l’exécution de mon programme avec le message d’erreur ‘division par zéro’ bien que le cas ou cela peut se produire ne s’exécute pas ? Autrement dit est-ce que le compilateur de PRT repère les divisions par zéro même sur une portion de code qui n’est pas censée s’exécuter ?
- Je lis dans le forum que la présence de barres illégitimes et non valorisées (weekend ou hors horaires) peuvent déstabiliser le code. Est-il recommandé de mettre des conditions de dates dans l’exécution du code (lundi au vendredi par exemple) ? Ceci étant il restera toujours les problèmes des jours fériés pour lesquels il peut y avoir des barres illégitimes ..
Un grand Merci par avance
08/08/2024 at 7:42 AM #236251Bonjour, je pense que c'est une bonne idée d'envoyer cette demande d'amélioration à ProRealTime. Je vais faire une requête. Dans tous les cas, j'apprécierais que vous envoyiez également la suggestion via le support ProRealTime. Pour éviter cela, vous pouvez ajouter une vérification explicite avant toute division pour vous assurer que le diviseur n'est pas nul. Comme vous le dites, c'est une bonne idée d'ajouter des filtres pour des jours et des heures spécifiques. Je le fais comme ça.
08/08/2024 at 6:02 PM #236274J’ai eu quelques semaines où 5 ou 6 systèmes distincts étaient arrêtés pour « div par zéro » encore et encore pendant plusieurs jours, soit environ 20 arrêts en 1 semaine !
Je dis juste pour mémoire que cela peut prendre beaucoup de temps d’essayer de trouver la source de l’erreur « div par zéro » (essayez ceci, essayez cela, etc.) et puis, la semaine prochaine, les arrêts cessent et l’erreur « div par zéro » a disparu!
Ensuite, ces mêmes systèmes fonctionneront sans aucun arrêt pendant 3, 4 semaines et plus.
08/18/2024 at 5:36 PM #236478Merci beaucoup Grahal et Ivan.
Je vais faire la demande de correction à PRT en direct et j’entends ce que dit Grahal : il faut débugger et ca finira par marcher. Je comprends aussi qu’il y a d’autres effets de bord dans la comparaison des exécutions proorder / probuilder et qu’il faut mettre un maximum de condition en dur (IF) dans le code proorder pour les éliminer ces différences d’exécution.
Je viens notamment de soumettre une question sur le Forum en ce qui concerne le timing d’exécution de proOrder.
Cordialement
1 user thanked author for this post.
-
AuthorPosts