Une erreur de division par zéro est apparue dans un indicateur - page 3

 
Aleksey Vyazmikin:
En général, le profilage sur les données historiques ne montre aucune erreur.

En général, lorsque limite=0 - impression au journal, dans l'impression - tous les composants à partir desquels la variable limite est formée.

 
Alexey Kozitsyn:

En général, lorsque la limite=0 - imprimer au journal, dans l'impression - tous les composants à partir desquels la variable limite est formée.

Quelque chose me perturbe aujourd'hui.

code

         if (limit==0)
         {
         limit=2;
         Print("start_time - ",TimeToString(start_time,TIME_DATE|TIME_MINUTES)," stop_time - ",TimeToString(stop_time,TIME_DATE|TIME_MINUTES));
         Print("start_index=",start_index, " stop_index=",stop_index);
         }


dans l'imprimante.

FO      0       12:14:11.719    IndDrafter (BR Splice,M15)      start_time - 2018.07.04 10:00 stop_time - 2018.07.05 00:00
KL      0       12:14:12.072    IndDrafter (BR Splice,M15)      start_time - 2018.07.04 10:00 stop_time - 2018.07.05 00:00
QQ      0       12:14:12.072    IndDrafter (BR Splice,M15)      start_time - 2018.07.04 10:00 stop_time - 2018.07.05 00:00
GF      0       12:14:12.872    IndDrafter (BR Splice,M15)      start_time - 2018.07.04 10:00 stop_time - 2018.07.05 00:00

Et où est l'impression avecstart_index ?

 
Aleksey Vyazmikin:

J'ai un petit problème aujourd'hui.

code


dans l'imprimante.

Où est l'impression avecstart_index ?

Soit c'est dans les journaux, soit l'impression ne sort pas du tout de cette partie du code.

 
Sergey Savinkin:

Soit dans les journaux, soit les impressions ne sont pas du tout dérivées de cette partie du code.

J'ai donc ouvert le fichier journal et il n'y a qu'une seule ligne. Imprimés d'ici - J'ai écrit ceci moi-même, et si vous commentez le premier imprimé, il ne s'imprime plus.

 
Aleksey Vyazmikin:

J'ai un petit problème aujourd'hui.

code


dans l'imprimante.

Où est l'empreinte avec lestart_index ?

 
Vladimir Karputov:

Qu'est-ce que cela a à voir avec l'optimisation, le journal du terminal ...\MQL5\Logs

J'ai effacé le journal d'aujourd'hui - j'attends les nouvelles données. Peut-être que cette empreinte était vraiment avec le mauvais code.
 
Aleksey Vyazmikin:

J'ai un petit problème aujourd'hui.

code


dans l'imprimante.

Où est l'imprimante avec lestart_index ?

Il reste donc 2 versions :

1. Poltergeist, magie noire, machinations d'ennemis sorciers.

2. Il s'agit de la mauvaise version de l'indicateur. Peut-être que vous écrivez dans une copie et qu'il y a un indicateur différent sur le graphique.

 
Aleksey Vyazmikin:

Qu'est-ce que cela a à voir avec l'optimisation, le journal du terminal ...\MQL5\Logs

Si ma mémoire est bonne, le Terminal : Boîte à outils - onglet Experts étouffe de force les trop zélés qui envoient TRÈS souvent des impressions dans le journal.

 
Sergey Savinkin:

Il reste donc deux versions :

1. Poltergeist, magie noire, machinations de sorciers.

2. il s'agit de la mauvaise version de l'indicateur. Peut-être êtes-vous en train d'écrire dans une copie, et il y a un autre indicateur sur le graphique.

La première option semble plus probable, surtout si l'on considère qu'elle peut être la cause de la seconde... :)

 

Total trash - j'ai encore eu une erreur de division par zéro

2018.07.04 13:29:05.377 IndDrafter (Si-9.18,M15)        zero divide in 'IndDrafter.mq5' (479,56)

Code de ME sous forme d'image - peut-être suis-je aveugle mais je ne comprends pas ce qui se passe

L'erreur est toujours sur la même ligne.

double d1=(delta_price_high-center_line_point)/(limit/2);
Le fichier est le même, la ligne d'erreur s'est déplacée en raison de l'ajout du code pour l'impression.