Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 990

 
Alexandr Sokolov:

***

Hier habe ich gerade aleriert, und die einfache Multiplikation mit EMPTY_VALUE ergibt inf

***

О! Sehr gutes Beispiel! Sie müssen sparen ...

   double a=EMPTY_VALUE;
   Print("- - -");
   Print("EMPTY_VALUE / 2 = ",a/2.0);
   Print("EMPTY_VALUE * 2 = ",a*2.0);
   Print("EMPTY_VALUE - 2 = ",a-2.0);
   Print("EMPTY_VALUE + 2 = ",a+2.0);
   Print("EMPTY_VALUE = ",a);

und das Ergebnis:

2019.11.02 07:50:48.131 INF (ATD.B.XTSE,H1)     - - -
2019.11.02 07:50:48.142 INF (ATD.B.XTSE,H1)     EMPTY_VALUE / 2 = 8.988465674311579 e+307
2019.11.02 07:50:48.142 INF (ATD.B.XTSE,H1)     EMPTY_VALUE * 2 = inf
2019.11.02 07:50:48.142 INF (ATD.B.XTSE,H1)     EMPTY_VALUE - 2 = 1.797693134862316 e+308
2019.11.02 07:50:48.142 INF (ATD.B.XTSE,H1)     EMPTY_VALUE + 2 = 1.797693134862316 e+308
2019.11.02 07:50:48.142 INF (ATD.B.XTSE,H1)     EMPTY_VALUE = 1.797693134862316 e+308
 

https://www.mql5.com/ru/docs/constants/namedconstants/otherconstants

EMPTY_VALUE  Пустое значение в индикаторном буфере DBL_MAX


inf ist ein Überlauf
 
werter:

Sehr witzig.

Dies ist BuySellVolume. Das Gesamtvolumen ist nicht gleich der Summe aus Kauf und Verkauf, sondern nur geringfügig höher.

Sie beschreiben das Problem im Detail, entfernen unnötige Dinge aus dem Code...

Ich möchte nicht in so einem beschissenen Code wühlen, selbst wenn er klein ist...

 
Vladimir Pastushak:

Sie beschreiben das Problem im Detail, entfernen unnötige Dinge aus dem Code...

Ich will mich nicht durch so einen beschissenen Code wühlen, selbst wenn er klein ist...

Ich brauche nicht mehr, danke, ich habe den Fehler gefunden.
 
LuckyTrader:

Array außerhalb des Bereichs

Der Fehler trat nach dem Hinzufügen von strict

Der Compiler teilt Ihnen die Zeile und die Cursorposition mit, in der der Fehler auftritt. Wenn Sie nicht lernen, wie man ME benutzt, ist es sinnlos, dies weiter zu tun.

 
LuckyTrader:
Ich habe Ihnen die Linie gezeigt:

bedeutet dies, dass die Variable i in der Schleife

for(int i=0; i<62; i++)

größer geworden ist als array numberFibo[]

suchen Sie nach der Stelle, an der Sie das Feld beschreiben oder die Größe dieses Feldes ändern

können Sie der Schleife vorangestellt werden mit

Print("Размер массива numberFibo = " , ArraySize(numberFibo));
 

Wie kann man diese Nachricht lesbar machen?

Alert("Тестовое \r\nсообщение №1");
Alert("Тестовое \r\nсообщение №2");


Der Punkt ist, dass die letzte Meldung im Alarmfenster neben der großen Glocke vollständig gelesen werden kann, die vorherigen jedoch nur im Expertenprotokoll (aber dann müssen Sie Ihre Aufmerksamkeit darauf richten, sie voneinander zu trennen)


Was kann getan werden, um es für einen regelmäßigen Nutzer bequemer zu machen? Stellen Sie sich vor, was passiert, wenn ich zum Beispiel ein Symbol, einen Zeitrahmen, eine Handelsrichtung, einen Eröffnungskurs, einen Stopp und einen Gewinn anzeige?

 
LuckyTrader:

Array außerhalb des Bereichs

Der Fehler trat nach dem Hinzufügen von strict

Diese

   for(int i=0; i<62; i++)
     {
      numberFibo            [i]=0;
      numberPesavento       [i]=0;
      numberGartley         [i]=0;
      numberGilmorQuality   [i]=0;
      numberGilmorGeometric [i]=0;
      numberGilmorHarmonic  [i]=0;
      numberGilmorArithmetic[i]=0;
      numberGilmorGoldenMean[i]=0;
      numberSquare          [i]=0;
      numberCube            [i]=0;
      numberRectangle       [i]=0;
      numberExt             [i]=0;
     }

kann ersetzt werden durch

ZeroMemory(numberFibo);
ZeroMemory(numberPesavento);
ZeroMemory(numberGartley);
ZeroMemory(numberGilmorQuality);
ZeroMemory(numberGilmorGeometric);
ZeroMemory(numberGilmorHarmonic);
ZeroMemory(numberGilmorArithmetic);
ZeroMemory(numberGilmorGoldenMean);
ZeroMemory(numberSquare);
ZeroMemory(numberCube);
ZeroMemory(numberRectangle);
ZeroMemory(numberExt);

Und dann sehe ich aus irgendeinem Grund nicht, dass die Größe des Arrays geändert wird. Welche Größe wird dem Array vor dem Befüllen zugewiesen?

 
Alexandr Sokolov:

Wie kann man diese Nachricht lesbar machen?


Der Punkt ist, dass die letzte Meldung im Alarmfenster neben der großen Glocke vollständig gelesen werden kann, die vorherigen jedoch nur im Expertenprotokoll (aber dann müssen Sie Ihre Aufmerksamkeit darauf richten, sie voneinander zu trennen)


Was kann getan werden, um es für einen regelmäßigen Nutzer bequemer zu machen? Stellen Sie sich vor, was passiert, wenn ich zum Beispiel ein Symbol, einen Zeitrahmen, die Handelsrichtung, den Eröffnungskurs, den Stop und den Gewinn anzeige.

Ich möchte, dass die Entwickler in der nächsten Aktualisierung eine Meldung in der Nähe der großen Glocke anzeigen, die der Benutzer unten im Warnfenster angeklickt hat

 
LuckyTrader:

Sie hatten einen Fehler, als Sie in einer Schleife arbeiteten

Forum für Handel, automatisierte Handelssysteme und Strategietests

Alle Fragen von Neulingen zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes

LuckyTrader, 2019.11.04 09:08

String angezeigt (Compiler zeigt nichts an, Fehler erscheint im Indikator beim Testen, gefunden im Log):

      numberFibo            [i]=0;

und Sie zeigen ein ganz anderes Beispiel. Das Gekritzel auf der vorigen Seite darf keinen Fehler enthalten.
Grund der Beschwerde: