Fehler, Irrtümer, Fragen - Seite 1985

 
Alexey Kozitsyn:
Ja, natürlich.
Nun, wenn ja und der Wert auf 0 gesetzt ist, dann ist natürlich etwas falsch... Wie Sie auf dem Bild sehen, hat jeder Balken einen Pfeil mit dem Wert 0.
 
Alexey Viktorov:
Wenn dies der Fall ist und der Wert 0 ist, dann ist sicherlich etwas falsch... Wie Sie auf dem Bild sehen, hat jeder Balken einen Pfeil mit dem Wert 0.
Der Trick ist, dass leer = EMPTY_VALUE.
 
Alexey Kozitsyn:
Der Trick ist, dass leer = EMPTY_VALUE.
Empty ist leer, aber PLOT_EMPTY_VALUE wird ein Wert zugewiesen, der im Diagramm und im Datenfenster nicht angezeigt wird. Versuchen Sie, EMPTY_VALUE auf 0 zu ändern.
PlotIndexSetDouble(plot_index, PLOT_EMPTY_VALUE, 0);
 

Forum zum Thema Handel, automatisierte Handelssysteme und Strategietests

EA geht nicht auf den Markt. Fehler 130.

fxsaber, 2017.09.04 17:19

void OnStart()
{
  Print(0.99872);
}

Ergebnis

0.9987200000000001
(string)NormalizeDouble(0.99872, 5) - sehr langes Ergebnis.
 
Alexey Viktorov:
Empty ist leer, aber PLOT_EMPTY_VALUE wird ein Wert zugewiesen, der im Diagramm- und Datenfenster nicht angezeigt wird. Versuchen Sie, EMPTY_VALUE auf 0 zu ändern.
Nein, es gibt immer noch einen Absturz. Jetzt habe ich EMPTY_VALUE durch die Konstante EMPTY = EMPTY_VALUE ersetzt. Jetzt ist es besser. Aber immer noch gibt es Müll auf dem Diagramm, wenn die TF geändert wird. Ich setze EMPTY = 0. Es ist sogar noch besser, aber auch hier gilt, wenn die TF häufig geändert wird, enthält das Diagramm Müll. Im Allgemeinen muss ich eine Anwendung auf die CD schreiben.
 
Alexey Kozitsyn:
Nein, es gibt immer noch einen Fehler. Jetzt habe ich im gesamten Code EMPTY_VALUE durch die Konstante EMPTY = EMPTY_VALUE ersetzt. Jetzt ist es besser. Aber immer noch gibt es Müll auf dem Diagramm, wenn die TF geändert wird. Ich setze EMPTY = 0. Es ist sogar noch besser, aber auch hier gilt, wenn die TF häufig geändert wird, enthält das Diagramm Müll. Im Allgemeinen muss ich eine Anwendung auf die CD schreiben.

Worum ging es da eigentlich? Ich habe von etwas ganz anderem gesprochen. Nun, in einer Notlage, anstatt den Puffer zurückzusetzen.

ArrayInitialize(массив, 0);

könnten Sie es auf...

ArrayInitialize(массив, EMPTY_VALUE);
 
Alexey Viktorov:

Worum ging es da eigentlich? Ich habe von etwas ganz anderem gesprochen. Nun, in einer Notlage, anstatt den Puffer zurückzusetzen.

könnten Sie

Es geht darum, alle Initialisierungen im Code auf einmal zu ändern. Der von Ihnen geschriebene Code wird dort initialisiert, wo Sie ihn benötigen. ArrayInitialize() wird in OnDeinit() ausgeführt, aber das Ergebnis habe ich bereits oben beschrieben.
 

Alexey Kozitsyn:
...

ArrayInitialize() läuft in OnDeinit(), aber das Ergebnis habe ich bereits oben beschrieben.

Versuchen Sie OnInit().
 
Anatoli Kazharski:
Versuchen Sie es in OnInit().

In OnCalculate() findet beim ersten Durchlauf eine Initialisierung statt (prev_calculated == 0). Glauben Sie, dass das Verschieben zu OnInit() etwas ändern wird? Nun, ich werde es natürlich versuchen, aber das ist etwas außerhalb des Bereichs der Fantasie...

Schnitt. Wie gesagt, in OnDeinit() werden Arrays initialisiert, die beim nächsten Start nicht mehr verwendet werden (Änderung der Eingabeparameter). Wenn dies (Initialisierung eines Arrays, das nicht als Puffer verwendet wird) hilft - es wäre auch ein MT-Fehler. Es wird sich herausstellen, dass nicht nur die Arrays nicht verwendet werden, aber sie (nicht markiert) noch initialisiert werden können und es wird die Anzeige beeinflussen...

 
fxsaber:
(string)NormalizeDouble(0.99872, 5) ist ein sehr langes Ergebnis.

Guten Tag!

Vielen Dank für Ihre Nachricht, wir werden das überprüfen.