Bei einem Indikator trat ein Fehler bei der Division durch Null auf - Seite 3

 
Aleksey Vyazmikin:
Im Allgemeinen zeigt das Profiling von historischen Daten keine Fehler.

Generell gilt, wenn limit=0 - print to log, in print - alle Komponenten, aus denen die Variable limit gebildet wird.

 
Alexey Kozitsyn:

Im Allgemeinen, wenn limit=0 - print to log, in print - alle Komponenten, aus denen die Variable limit gebildet wird.

Irgendetwas bringt mich heute durcheinander.

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);
         }


im Drucker.

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

Und wo ist der Ausdruck mitstart_index?

 
Aleksey Vyazmikin:

Ich habe heute eine kleine Panne.

Code


im Drucker.

Wo ist der Ausdruck mitstart_index?

Entweder steht es in den Protokollen, oder der Druck kommt überhaupt nicht aus diesem Teil des Codes.

 
Sergey Savinkin:

Entweder in den Protokollen, oder die Ausdrucke stammen gar nicht von diesem Teil des Codes.

Ich habe also die Protokolldatei geöffnet, und es gibt nur eine Zeile. Drucke von hier - ich habe das selbst geschrieben, und wenn man den ersten Druck kommentiert, wird er nicht mehr gedruckt.

 
Aleksey Vyazmikin:

Ich habe heute eine kleine Panne.

Code


im Drucker.

Wo ist der Ausdruck mit demstart_index?

 
Vladimir Karputov:

Was hat das mit Optimierung zu tun, das Log vom Terminal ...\MQL5\Logs

Ich habe das Protokoll für heute gelöscht - ich warte auf die neuen Daten. Vielleicht war der Druck wirklich mit dem falschen Code.
 
Aleksey Vyazmikin:

Ich habe heute eine kleine Panne.

Code


im Drucker.

Wo ist der Ausdruck mitstart_index?

Dann bleiben 2 Versionen übrig:

1. Poltergeist, schwarze Magie, Machenschaften von Zauberern.

2. Dies ist die falsche Version des Indikators. Vielleicht schreiben Sie in eine Kopie und auf dem Chart ist ein anderer Indikator zu sehen.

 
Aleksey Vyazmikin:

Was hat das mit Optimierung zu tun, das Log vom Terminal ...\MQL5\Logs

Wenn ich mich recht erinnere, werden auf der Registerkarte Terminal: Toolbox - Experten die Übereifrigen, die SEHR oft Ausdrucke in das Protokoll schießen, gewaltsam erstickt.

 
Sergey Savinkin:

Damit bleiben zwei Versionen übrig:

1. Poltergeist, schwarze Magie, Machenschaften von Hexendoktoren.

2. Dies ist die falsche Version des Indikators. Vielleicht schreiben Sie in eine Kopie, und es gibt einen anderen Indikator auf dem Chart.

Die erste Option erscheint wahrscheinlicher, vor allem wenn man bedenkt, dass sie die Ursache für die zweite sein könnte... :)

 

Totaler Quatsch - wieder ein Fehler bei der Division durch Null

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

Code von ME als Bild - vielleicht bin ich blind, aber ich verstehe nicht, was hier los ist

Der Fehler tritt immer noch in derselben Zeile auf.

double d1=(delta_price_high-center_line_point)/(limit/2);
Die Datei ist dieselbe, nur die Fehlerzeile hat sich durch das Hinzufügen von Code für den Druck verschoben.
Grund der Beschwerde: