Fehler, Irrtümer, Fragen - Seite 750

 
Bei Multi-Timeframe-Live-Chart-Indikatoren spielt der Tester natürlich verrückt... Alles wird enger und enger.
 
x100intraday:
Bei Multi-Timeframe-Live-Chart-Indikatoren spielt der Tester natürlich verrückt... Alles ist verjüngt.
Darf ich Ihnen ein Beispiel nennen? Ich frage mich, wie es aussieht, denn aus der Erklärung geht nichts hervor.
 
tol64:
Darf ich Ihnen ein Beispiel nennen? Ich frage mich, wie es aussieht, denn aus der Erklärung geht nichts hervor.

Natürlich können Sie das. Sobald ich es fertiggestellt habe, werde ich es frei verfügbar machen... aber in der Zwischenzeit...

Die Sache ist die, dass nach meinem Verdacht der Tester hat nie gedacht, um einwandfrei auf allen voreingestellten Zeitrahmen zu arbeiten, es angemessen verfolgt nur den ausgewählten Zeitrahmen für die Prüfung. Aber das ist nur ein Gefühl, ich habe keine Ahnung, wie es in der Realität funktioniert.

Übrigens werde ich viel Zeit damit verbringen müssen, das Problem zu beheben, ohne es im Tester laufen zu lassen, denn ich muss alles in Echtzeit testen, ohne dass es zu einer Beschleunigung kommt.

 

An die Entwickler

Ich verstehe die Logik von ChartIndicatorDelete nicht. Was ist der Trick bei der Arbeit mit kurzen Namen?

Nach Handle hinzufügen und nach Kurzname löschen, ist das logisch?

Ich denke, ich sollte entweder den Parameter von name in handle ändern oder ein Duplikat der Funktion mit handle hinzufügen.

 

An die Entwickler von

Kann jemand erklären, warum dieser Code im Terminal ohne Fehler funktioniert, aber im Testprogramm mit Fehlern?

  if((FirstStart)&&(Handle_JRSX==INVALID_HANDLE))
  {
  Handle_JRSX = iCustom(NULL,PERIOD_D1,"3c_JRSX_H",20,240);
  
    if(Handle_JRSX==INVALID_HANDLE)ChartIndicatorAdd(0,1,Handle_JRSX);
  
  }

Im TestergibtChartIndicatorAdd false zurück und der Fehler 4014 wird angezeigt.

Gleichzeitigzeigt der visuelle Modus im Tester an, dass der Indikator auf dem Chart ist und normal gerendert wird.

 
victorg:

Bitte helfen Sie mir zu verstehen!

Im Laufe meiner Berechnungen erhalte ich Zahlen, deren Bedeutung mir nicht klar ist.

Ich weise der Variablen a eine solche Zahl zu und drucke sie aus:

Ergebnis:

Laut der Dokumentation kann der Typ double jedoch keine Potenzen unter -308 haben. Wer weiß schon, was das für Zahlen sind?

Es ist ein dunkler Wald...

Ich versuche, es auf eine Leistung einzustellen

     double x,z;
     int y;
     x=-7.56414503782948460000;
     y=MathPow(
     10,         // основание 
     321      // показатель степени
     );
     z=x*y;
     Print("z = ",z);

Ich bekomme

2012.06.11 09:55:30     dbl (EURUSD,M4) z = 16243877779.83916

sondern

     double a=-7.56414503782948460000 e-321;
     int b=a;
     Print("b = ",b);

scheint richtig, Überlauf und

2012.06.11 09:55:30     dbl (EURUSD,M4) b = 0

die Frage zu beantworten.

 

Gibt es eine Funktion, mit der Sie die Höhe des Diagramms einstellen/ändern können?

Wenn es diese Funktion nicht gibt, würde ich sie gerne erhalten.

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Свойства графиков
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Свойства графиков
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы графиков / Свойства графиков - Документация по MQL5
 
Silent:

Dunkler Wald...

Soweit ich den IEEE 754-Standard verstanden habe, ist der kleinste Wert einer positiven Zahl für double etwa 2,3-10-308. Dieser Wert entspricht jedoch den normalisierten Zahlen, d.h. den Zahlen, deren Mantisse mindestens gleich eins ist. Es gibt jedoch auch nicht-normierte Zahlen, also Zahlen, deren Mantisse kleiner als eins ist. Für diese Zahlen ist die kleinste positive Zahl für das Doppelte ungefähr 5,0-10-324. Die Unterstützung von nicht normierten Zahlen wirft immer viele Fragen auf. Es scheint, dass MQL5 Operationen mitnicht-normalisierten Zahlen unterstützt, obwohl das Handbuch nichts darüber sagt. Es stellt sich also die Frage, wie MathIsValidNumber() auf solche Zahlen reagieren soll.

Wir können sicherstellen, dass MQL5 nicht-normierte Zahlen nicht als gleich Null betrachtet

double a=-7.56414503782948460000 e-321;
PrintFormat("a = %.18e",a);
if(a==0.0)Print("a == 0.0");
else Print("a != 0.0");

erhalten.

  a != 0.0
  a = -7.564145037829484600 e-321
WasIhr Beispiel betrifft

     double a=-7.56414503782948460000 e-321;
     int b=a;
     Print("b = ",b);

Die Zahl a ist in ihrem absoluten Wert viel kleiner als 1, so dass die ganze Zahl b ebenfalls gleich Null ist. Das ist wahrscheinlich richtig.

 
Interesting:

An die Entwickler

Ich verstehe die Logik von ChartIndicatorDelete nicht. Was ist der Trick bei der Arbeit mit kurzen Namen?

Nach Handle hinzufügen und nach Kurzname löschen, ist das logisch?

Ich denke, ich sollte entweder den Parameter von name in handle ändern oder ein Duplikat der Funktion mit handle hinzufügen.

Alle notwendigen Funktionen sind bereits vorhanden, siehe Beispiel für IndicatorParameters()
 
Interesting:

Gibt es eine Funktion, mit der Sie die Höhe des Diagramms einstellen/ändern können?

Wenn es diese Funktion nicht gibt, würde ich sie gerne erhalten.

Siehe EA_OBJPROP_CHART_ID