Fehler, Irrtümer, Fragen - Seite 2622

 
Ich habe diesen Fehler auf der Website in privaten Nachrichten auf meinem Telefon bemerkt.
Es funktioniert nicht, die Seite auf die übliche Weise zu aktualisieren, indem man nach unten wischt.

. Erschien vielleicht 1 oder 2 Monate. Ich habe einfach nicht aufgepasst.

Das Telefon läuft unter Android 10, falls das wichtig ist.
Wenn ich in private Nachrichten gehe und eine neue Nachricht erhalten habe, wird sie nicht immer automatisch aktualisiert.

Und wenn ich die Seite mit dem Finger aktualisiere (von oben nach unten), wird sie auch nicht mehr aktualisiert.

Ich muss erneut auf das Symbol für die private Nachricht drücken.

Fehler nur in privaten Nachrichten.
Update: Dieses Problem tritt nur bei Samsung Internet auf.
Eher ein Problem damit nach dem Update.

In Chrome ist alles in Ordnung.
 

Warum in Zeile 3:

  datetime dt = 0;
  ulong x = 0;
  if(dt < x) x++;

Warnung "Zeichen nicht übereinstimmend"?

Datetime soll eine vorzeichenlose Zahl sein (8 Bytes wie ulong). Nennen Sie mir ein Beispiel für ein negatives Datum.

 

Wie kann ich ex5-Bibliotheken debuggen?

Es gibt eine Bibliothek, die mehrere Jahre lang ohne Probleme funktioniert hat. Nach einigen Compiler-Änderungen in den letzten Builds endet ein Zeigerfunktionsaufruf aus der Bibliothek jedoch mit einem Fehler "Ungültiger Funktionszeigeraufruf ". Wenn die Quelle der Bibliothek direkt über den Link in den Expert Advisor eingebunden wird, tritt kein Fehler auf.

Im Allgemeinen benötigen Sie eine Möglichkeit, die Typen von Zeigern(Funktionsprototypen) zu vergleichen, die in der Bibliothek und im Expert Advisor, der die Bibliothek lädt, erzeugt werden.

Die Unterstützung ist abgeschlossen. Ich werde den Quellcode des Marktplatzes hier nicht zeigen.

Mit demselben Quellcode funktionierte der Bibliotheksaufruf in Build 2190 problemlos.
 
Stanislav Korotky:

Zum Vergleich: Mit demselben Quellcode funktionierte ein Aufruf aus der Bibliothek in Build 2190 problemlos.

In 2170 habe ich nicht mehr Zeiger auf Funktionen, hier ist ein Beispiel, das noch in MQL4 funktioniert, aber nicht mehr in MQL5 funktioniert

https://www.mql5.com/ru/forum/323539/page3#comment_13444791

 
Igor Makanu:

Ich habe in 2170 aufgehört, mit Funktionszeigern zu arbeiten. Hier ist ein Beispiel, das in MQL4 noch funktioniert, aber in MQL5 nicht mehr

https://www.mql5.com/ru/forum/323539/page3#comment_13444791

Ich habe es gelesen. Ich habe einen anderen Fall. Aber das ist wahrscheinlich die Folge des gleichen "Anziehens der Schrauben". Bewährte Praktiken implizieren in diesem Fall jedoch menschliche Anweisungen für die Migration bestehender Entwicklungen mit Beispielen oder der Verfügbarkeit eines Messschiebers.

 

Recht unterhaltsame Matheaufgaben

//+------------------------------------------------------------------+
double volume_step = 0.01;
void OnStart()
  {
   int total = 10;
   double aVolume = 0.01;
   
   for(int i=0; i<total; i++)
     {
      aVolume = volume_step * MathFloor(aVolume / volume_step);
      Print(DoubleToString(aVolume,8)+"   "+ DoubleToString(volume_step,2)+"   "+DoubleToString(MathFloor(aVolume / volume_step),2)+"  Next lot = "+(aVolume+0.01));
      aVolume+=0.01;
     }
  }
//+------------------------------------------------------------------+

Ergebnis

2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.06000000 0.01 6.00 Nächstes Lot = 0.069999999999999
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.06000000 0.01 6.00 Nächstes Lot = 0.0699999999999
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.06000000 0.01 6.00 Nächstes Lot = 0.0699999999999
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.06000000 0.01 6.00 Nächstes Lot = 0.0699999999999
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.06000000 0.01 6.00 Nächstes Lot = 0.06999999999999999Aus 0.06000000 + 0.01 wird 0.0699999999999
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.05000000 0.01 5.00 Nächstes Lot = 0.06
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.04000000 0.01 4.00 Nächstes Lot = 0.05
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.03000000 0.01 3.00 Nächstes Lot = 0.04
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.02000000 0.01 2.00 Nächstes Lot = 0.03
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.01000000 0.01 1.00 Nächstes Lot = 0.02


 
Vladimir Pastushak:

Beachtliche Mathematik

Wie wird 0,06000000 + 0,01 zu 0,069999999999999999999

weil 0,0699999999999999999 die nächstgelegene Zahl zu 0,07 ist, die durch den Typ double dargestellt werden kann

 
Vladimir Pastushak:

Recht unterhaltsame Matheaufgaben

Ergebnis

2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.06000000 0.01 6.00
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.06000000 0.01 6.00 Nächstes Lot = 0.0699999999999
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.06000000 0.01 6.00 Nächstes Lot = 0.0699999999999
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.06000000 0.01 6.00 Nächstes Lot = 0.0699999999999
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.06000000 0.01 6.00 Nächstes Lot = 0.06999999999999999 Aus 0.06000000 + 0.01 wird 0.0699999999999
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.05000000 0.01 5.00 Nächstes Lot = 0.06
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.04000000 0.01 4.00 Nächstes Lot = 0.05
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.03000000 0.01 3.00 Nächstes Lot = 0.04
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.02000000 0.01 2.00 Nächstes Lot = 0.03
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.01000000 0.01 1.00 Nächstes Lot = 0.02


Bitte lesen Sie die Docks und Sie werden zufrieden sein.

Und zum Thema: IEEE 754, - studieren Sie es.

 
Igor Makanu:

weil 0,0699999999999999999 die Zahl ist, die 0,07 am nächsten kommt und durch den Typ double dargestellt werden kann

Wladimir Simakow:

Lesen Sie die Unterlagen und Sie werden zufrieden sein.

Zum Thema: IEEE 754, - Studie.

Was bringen Sie ihm bei... hat er 49 Produkte auf dem Marktplatz veröffentlicht. Er weiß bereits alles selbst....
 
Alexey Viktorov:
Was bringen Sie ihm bei... hat er 49 Produkte auf dem Marktplatz veröffentlicht. Er weiß bereits alles selbst....

Sie schlagen also vor, dass diejenigen, die auf dem Markt posten, ignoriert werden sollten? Ich bin nicht sicher, ob ich das tun möchte. Es gab eine Frage, es gab eine Diskussion, ich denke, das ist eine normale Situation.

PS:

Darüber hinaus .... versuchen, double per printf() auszudrucken, habe ich den Verdacht, dass es eine Menge "wie viele wundersame Entdeckungen der Geist der Erleuchtung für uns vorbereitet..." geben wird.

;)