Fehler, Irrtümer, Fragen - Seite 1933

 
fxsaber:
Der Unterschied beträgt mehr als 1e-15. Außerdem gilt: num != Norm. Es handelt sich um unterschiedliche Zahlen, nicht um dieselben Zahlen.

Mein MT4 gibt true, true und Differenz 0 aus. ;-)

 
Stanislav Korotky:

Mein MT4 gibt true, true und Differenz 0 aus. ;-)

Es hat sich eine undokumentierte Art der Unterscheidung von MT4/5 gebildet. Und die MT5-Bitrate hat nichts damit zu tun.

 
fxsaber:

Es hat sich eine undokumentierte Art der Unterscheidung von MT4/5 gebildet. Und MT5-Bitness hat nichts damit zu tun.

Außerdem funktioniert in mql4 und in mql5 nicht einmal das dokumentierte Operationspräfix increment(++i) und decrement (--k)

Документация по MQL5: Основы языка / Операции и выражения / Арифметические операции
Документация по MQL5: Основы языка / Операции и выражения / Арифметические операции
  • www.mql5.com
Основы языка / Операции и выражения / Арифметические операции - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Alexey Viktorov:

Außer, dass es in mql4 funktioniert, aber in mql5 nicht einmal das dokumentierte Operationspräfix Inkrement(++i) und Dekrement (--k)

Ich habe kein Problem gesehen.

void OnStart()
{
  int i = 0;
  
  Print(i++ == 0); // true
  Print(++i == 2); // true
}
 
fxsaber:

Es hat sich eine undokumentierte Art der Unterscheidung von MT4/5 gebildet. Und MT5-Bitness hat damit nichts zu tun.

Es geht nicht einmal um den Unterschied zwischen MT4 und MT5, sondern darum, ob #property strict aktiviert ist.

Wenn sie aktiviert ist, sind sie anders, wenn nicht, sind sie es nicht.

Es gibt verschiedene Implementierungen von NormalizeDouble!
 

In welchen Fällen kann reason=0 an OnDeinit in Indikatoren übergeben werden?

 
fxsaber:
Der Unterschied beträgt mehr als 1e-15. Außerdem gilt: Num != Norm. Es handelt sich um unterschiedliche Zahlen, nicht um dieselben Zahlen.

Was ist mit dem Null-Grad? Die Gradzahlen von 0 bis -14 sind insgesamt 15 Stellen. Ein Grad von -15 ist der 16. Grad. Ich glaube schon.

 
Stanislav Korotky:

Was ist mit dem Null-Grad? Die Gradzahlen von 0 bis -14 sind insgesamt 15 Stellen. Ein Grad von -15 ist der 16. Grad. Ich glaube schon.

Stellen Sie fest, um wie viele Stellen dieDBL_MIN von Null abweicht.

 

Die Release-Version des Skripts ist fast 3 Mal langsamer als die Debug-Version.

string  PositionGetString2( const ENUM_POSITION_PROPERTY_STRING  Property_id )
{
  return(PositionGetString(Property_id));
}

#define  TOSTRING(A) #A + " = " + (string)(A)

void OnStart()
{
  if (PositionSelect(_Symbol))
  {
    const ulong StartTime = GetMicrosecondCount();
    
    for (int i = 0; i < 1 e7; i++)
    {
      PositionGetString2(POSITION_SYMBOL);
      PositionGetString2(POSITION_COMMENT);
    }
    
    Print(TOSTRING(GetMicrosecondCount() - StartTime));
  }
}

Schritte zum Spiel

  1. Wählen Sie EURUSD für die Fehlersuche aus und öffnen Sie den entsprechenden Chart im Terminal.
  2. Eröffnen Sie eine Position auf EURUSD.
  3. Starten Sie die Debug-Version in ME durch Drücken von F5 und sehen Sie sich das Ergebnis im Protokoll an.
  4. Rekompilieren Sie mit F7 nach ME - das ist sehr wichtig, sonst wird EX5 zum Debugger.
  5. Führen Sie das Freigabeskript im Terminal aus und sehen Sie sich die protokollierten Ergebnisse an.
Ergebnis der Debug-Version

GetMicrosecondCount()-StartTime = 638537


Ergebnis der Freigabeversion

GetMicrosecondCount()-StartTime = 1746492
 

Beim Importieren von Zecken in ein benutzerdefiniertes tkc-Symbol sind die tkc-Dateien nicht lesbar.