Fehler, Irrtümer, Fragen - Seite 858

 
Übrigens, haben Schaltsekunden irgendeinen Einfluss auf die Zeit in den Daten?
 

Hier ist die Situation: Wir haben eine Datumsstruktur und irgendwann fügen wir entweder Tage oder Stunden oder Minuten oder Monate hinzu und erhalten negative Werte wie -335.05.2012 00:-615:00 (oder im Falle von Januar 650, 360 Stunden und 250 Minuten). Sie müssen in ein normales Datum umgewandelt werden. Bis jetzt habe ich folgendes gefunden.

void ReconstructTimeStruct(MqlDateTime &sTime)
  {
   while(sTime.min<0)
     {
      sTime.min=59-fabs(sTime.min);
      sTime.hour--;
     }
   while(sTime.min>=60)
     {
      sTime.min=sTime.min-60;
      sTime.hour++;
     }

   while(sTime.hour<0)
     {
      sTime.hour=23-fabs(sTime.hour);
      sTime.day--;
     }
   while(sTime.hour>=24)
     {
      sTime.hour=sTime.hour-24;
      sTime.day++;
     }

   while(sTime.day<1)
     {
      if(sTime.mon>1)
        {
         sTime.mon--;
         sTime.day=GetDaysInMonthByMonthAndYear(sTime.mon,sTime.year)-fabs(sTime.day); //GetDaysInMonthByMonthAndYear получает количество дней в месяце с учетом  месяца и високосный ли год
        }
      else
        {
         sTime.mon=12;
         sTime.year--;
         sTime.day=GetDaysInMonthByMonthAndYear(sTime.mon,sTime.year)-fabs(sTime.day);
        }
     }
   while(sTime.day>GetDaysInMonthByMonthAndYear(sTime.mon,sTime.year))
     {
      if(sTime.mon<12)
        {
         sTime.mon++;
         sTime.day=sTime.day-GetDaysInMonthByMonthAndYear(sTime.mon,sTime.year);
        }
      else
        {
         sTime.mon=1;
         sTime.year++;
         sTime.day=sTime.day-GetDaysInMonthByMonthAndYear(sTime.mon,sTime.year);
        }
     }
   while(sTime.mon<1)
     {
      sTime.year--;
      sTime.mon=12-fabs(sTime.mon);
     }
   while(sTime.mon>12)
     {
      sTime.year++;
      sTime.mon=sTime.mon-12;
     }
  }

Ich weiß nicht, entweder ich bin ein Narr oder die Skier nicht fliegen. manchmal stecken bleibt und auf den Monat nicht richtig funktioniert.

Kann mir jemand sagen, was das Problem ist?

Oder wer kann mir den Algorithmus zur Ermittlung der Eröffnungszeit einer Kerze nach Datum, einschließlich ungeformter Kerzen, mit der Möglichkeit der Verschiebung (0 - aktuelle Kerze, -1 - Kerze auf der linken Seite, 1 - Kerze auf der rechten Seite) nennen?

 
leksiq: Ich weiß nicht, wie ich die Entwickler über den Fehler informieren kann, ich werde es hier versuchen...
Sie haben einen ServiceDesk-Bereich in Ihrem Profil.
 
Urain:

Genau, aber ich würde es anders machen... Wenn also die Bedingung erfüllt ist, ist eine weitere Prüfung nicht erforderlich.

Die meisten Jahre werden bei der ersten Prüfung als falsch eingestuft,

Ein normaler Compiler wird den Rest des && nicht überprüfen, wenn die erste Bedingung falsch ist.

Ich weiß nicht, wie es in ME5 ist.

 
papaklass:

Ist die Einrichtung eines Warehouse-Service für den Vierer geplant?

Ich schließe mich der Frage an - es ist möglich, dass 4 auch 5 überleben wird - es ist wie XP und VISTA
 
A100:

Im Allgemeinen prüft der normale Compiler, ob die erste Bedingung falsch ist - der Rest von && wird nicht geprüft

aber ich weiß nicht, wie es in ME5 ist.

Gleiches gilt für kurze Zustandskontrollen.

// In vier langen (vollen)

 
MetaDriver:

// In einem Vierer lang (voll)

Dann ist es klar, woher die Beine kommen
 

MetaTrader 5 Kunden-Terminal Build 712

[...]

8. Terminal: Signale. Die Anzeige von Signalinformationen und die hängende Navigation zwischen Signalen bei der Arbeit unter Wein wurde korrigiert.

[...]

In der neuesten Version ist ein Fehler im Terminal aufgetreten. Jetzt hängt er sich nach einigen Sekunden nach dem Start selbständig auf ( pipe wait ) und wird nur über den Systemmonitor beendet. Die 695er und 705er Builds funktionierten einwandfrei, aber insgesamt waren sie in Ordnung. Ich habe Linux mint 12 ( lisa ), wine-1.4. Hier ist das OS-Terminalprotokoll angehängt. Kann helfen. Das Terminal MT selbst hinterlässt keine Protokolle - nach dem Löschen über den Monitor sind die Protokollordner leer.

Ich würde mir wünschen, dass die Aktualisierung mit einer Abschaltmöglichkeit versehen wird, z. B. über einen Befehlszeilenschalter wie '/noupdate'. Dann wäre es wenigstens möglich, vor dem nächsten Absturz irgendwie zu arbeiten.

Dateien:
crash9log.zip  2 kb
 

OnTesterInit

Die Funktion OnTesterInit() ist der Handler des TesterInit-Ereignisses, das automatisch vor dem Start der Expert Advisor-Optimierung im Strategietester erzeugt wird.

Diese Funktion wird also nur aufgerufen, wenn Optimization=CustomMax ?

Zuerst dachte ich aufgrund der Beschreibung, dass es immer vom Strategy Tester aufgerufen wird... Schade, dass es nicht so ist...

 
Roffild:

OnTesterInit

Die Funktion OnTesterInit() ist der Handler des TesterInit-Ereignisses, das automatisch vor dem Start der Expert Advisor-Optimierung im Strategietester erzeugt wird.

Diese Funktion wird also nur aufgerufen, wenn Optimization=CustomMax ?

Nach der Beschreibung dachte ich zunächst, dass es immer vom Tester aufgerufen wird... Schade, dass das nicht der Fall ist...

Was bedeutet Optimize=CustomMax?

Beschreiben Sie, was Sie vermissen. Was würden Sie gerne bekommen?