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
Pour ne pas être infondé, j'ai simulé la situation que j'ai évoquée plus haut (je ne peux pas la citer car je ne peux pas sortir de la citation :) ).
J'ai exécuté le code suivant sur M15 :
Pendant l'exécution du script, je me suis connecté et déconnecté d'Internet. Les photos montrent le résultat.
Est-ce dans servicedesk ou un bug dans le code ?
L'indicateur devrait construire des niveaux de 5 points à partir du prix de clôture vers le bas en rouge.
Mais seuls deux tampons sont affichés (bien qu'il les compte tous) et non pas rouges, mais verts (après la compilation noire).
Veuillez vérifier si c'est juste moi ou si c'est juste moi en général... ?
Est-ce dans servicedesk ou un bug dans le code ?
L'indicateur devrait construire des niveaux de 5 points à partir du prix de clôture vers le bas en rouge.
Mais seuls deux tampons sont affichés (bien qu'il les compte tous) et non pas rouges, mais verts (après la compilation noire).
Veuillez vérifier si c'est juste moi ou si c'est juste moi en général... ?
#property indicator_type2 DRAW_ARROW
#property indicator_type3 DRAW_ARROW
#property indicator_type4 DRAW_ARROW
#property indicator_type5 DRAW_ARROW
...Je pense que les bibliothèques standard sont un code idéal qui devrait servir de modèle aux autres.
Je peux seulement dire qu'il serait souhaitable de se débarrasser de telles notions le plus tôt possible.
Je n'ai rien contre les bibliothèques standard, mais faire confiance au code de quelqu'un d'autre "pour faciliter l'écriture de programmes" sans le vérifier ? - Sauf au stade de la rédaction initiale d'un conseiller expert. Pour accélérer les processus de routine, pour ainsi dire.
Je reçois le message : Abnormal termination assez souvent dans mon journal de bord. Quelqu'un a-t-il remarqué qu'il pourrait y avoir un tel conflit ?
Je ne peux pas encore trouver la cause. La seule chose que je peux dire, c'est que si je laisse le terminal inactif pendant un certain temps ou si j'utilise un autre programme à ce moment-là (par exemple, Excel), le conseiller expert que je teste commence à fonctionner incorrectement après mon retour au terminal. C'est-à-dire que les opérations commerciales sont effectuées sans aucun problème. Le seul problème réside dans l'interaction avec les panneaux de négociation et d'information. Il semble que la fonction OnChartEvent() soit défectueuse. Le passage d'un panneau à l'autre commence à ralentir considérablement, comme si le processus était très occupé par autre chose. Je n'utilise pas de boucles éternelles. De même, la charge du processeur à ce moment-là n'indique pas que quelque chose est activement utilisé. La recompilation du conseiller expert est utile. Au moment de la recompilation, avant que l'EA ne soit désinitialisée, le messageAbnormal termination apparaît dans le journal. Ensuite, le programme est initialisé avec succès et tout commence à fonctionner comme sur des roulettes.
Je reçois le message : Abnormal termination assez souvent dans mon journal de bord. Quelqu'un a-t-il remarqué qu'il pourrait y avoir un tel conflit ?
Je ne peux pas encore trouver la cause. La seule chose que je peux dire, c'est que si je laisse le terminal inactif pendant un certain temps ou si j'utilise un autre programme à ce moment-là (par exemple, Excel), le conseiller expert que je teste commence à fonctionner incorrectement après mon retour au terminal. C'est-à-dire que les opérations commerciales sont effectuées sans aucun problème. Le seul problème réside dans l'interaction avec les panneaux de négociation et d'information. Il semble que la fonction OnChartEvent() soit défectueuse. Le passage d'un panneau à l'autre commence à ralentir considérablement, comme si le processus était très occupé par autre chose. Je n'utilise pas de boucles éternelles. De même, la charge du processeur à ce moment-là n'indique pas que quelque chose est activement utilisé. La recompilation du conseiller expert est utile. Au moment de la recompilation, avant que l'EA ne soit désinitialisée, le messageAbnormal termination apparaît dans le journal. Ensuite, le programme est initialisé avec succès et tout commence à fonctionner comme sur des roulettes.
Doit-on utiliser IsStopped() dans les boucles ?
Vous pouvez lire des informations sur ces problèmes ici, ici et ici. Vous devriez également réfléchir aux endroits du code où il y a des "goulots d'étranglement"...
D'après ce que j'ai compris, cette erreur se produit en cas d'arrêt "précoce" du programme (lorsque le graphique/terminal est fermé ou que le conseiller expert est recompilé), et pendant cette opération, le conseiller expert effectue un certain travail.
Doit-on utiliser IsStopped() dans les boucles ?
Vous trouverez des informations sur des problèmes similaires ici, ici et ici. Pensez aussi aux goulots d'étranglement dans le code...
D'après ce que j'ai compris, cette erreur se produit en cas d'arrêt "précoce" d'un programme (lorsque le graphique/terminal est fermé ou que l'Expert Advisor est recompilé), alors que l'Expert Advisor effectue un travail.
Merci. Les liens montrent la même situation. Je n'utilise jamais IsStopped() dans les boucles, seulement break, continue et return.
Jusqu'à présent, je n'ai pas vu de lien entreIsStopped() et le ralentissement du programme. Après tout, si le programme se figeait, aucune autre opération ne pourrait être effectuée. Ou est-ce que je me trompe ?
Une dernière chose.IsStopped() est utile lorsque vous devez arrêter l'exécution d'un programme de force, par exemple, pour fermer le terminal ou supprimer Expert Advisor du graphique. Et j'ai besoin de continuer à utiliser le conseiller expert.
Merci. Les liens montrent la même situation. Je n'utilise nulle part IsStopped() dans les boucles, seulement break, continue et return.
Jusqu'à présent, je n'ai pas vu de lien entreIsStopped() et le ralentissement du programme. Si le programme se figeait, aucune autre opération ne serait effectuée. Ou est-ce que je me trompe ?
Une dernière chose.IsStopped() est utile lorsque vous devez arrêter l'exécution d'un programme de force, par exemple, pour fermer le terminal ou supprimer l'Expert Advisor du graphique. Et je dois continuer à utiliser le conseiller expert.
Je reçois le message : Abnormal termination assez souvent dans mon journal de bord. Quelqu'un a-t-il remarqué qu'il pourrait y avoir un tel conflit ?
Je ne peux pas encore trouver la cause. La seule chose que je peux dire, c'est que si je laisse le terminal inactif pendant un certain temps ou si j'utilise un autre programme à ce moment-là (par exemple, Excel), le conseiller expert que je teste commence à fonctionner incorrectement après mon retour au terminal. C'est-à-dire que les opérations commerciales sont effectuées sans aucun problème. Le seul problème réside dans l'interaction avec les panneaux de négociation et d'information. Il semble que la fonction OnChartEvent() soit défectueuse. Le passage d'un panneau à l'autre commence à ralentir considérablement, comme si le processus était très occupé par autre chose. Je n'utilise pas de boucles éternelles. De même, la charge du processeur à ce moment-là n'indique pas que quelque chose est activement utilisé. La recompilation du conseiller expert est utile. Au moment de la recompilation, avant que l'EA ne soit désinitialisée, le messageAbnormal termination apparaît dans le journal. Ensuite, le programme est initialisé avec succès et tout commence à fonctionner comme sur des roulettes.
Une terminaison anormale signifie que vous avez interféré avec le programme de manière non naturelle, à savoir en le recompilant au moment de l'exécution, ce qui entraîne une interruption du programme et une réinitialisation.
Il en va de même si vous effectuez une division par zéro ou si vous interrompez le programme en cours d'exécution, mais si le programme est relancé, vous n'obtiendrez pas une telle entrée. C'est pourquoi il est conseillé de vérifier IsStopped afin que le programme puisse se terminer sur son propre retour au lieu d'être forcé de le faire.
Est-il prévu d'ajouter les éléments suivants ?
Double-cliquez sur une position du graphique pour faire apparaître le menu de gestion des positions.
Mise en évidence de plusieurs positions à fermer en même temps
? ???
Merci.