Fehler, Irrtümer, Fragen - Seite 2240

 
A100:
Außerdem sind Sie kein gewöhnlicher Nutzer, sondern Ihre Werke werden von vielen, vielen Menschen genutzt.

Ich würde es so formulieren:

Beim Lesen einer Datei kann dieser Fehler 1 Mal in 100 Lesevorgängen auftreten (z. B. beim Lesen einer Datei mit 10 Mal pro Sekunde)

Außerdem tritt ein solcher Fehler auf, verschwindet dann und der Expert Advisor arbeitet weiter.

 
Vladislav Andruschenko:

Ich würde es so formulieren:

Beim Lesen einer Datei kann dieser Fehler 1 Mal in 100 Lesevorgängen auftreten (z. B. beim Lesen einer Datei mit 10 Mal pro Sekunde)

Und dieser Fehler tritt auf, verschwindet dann und der Expert Advisor funktioniert weiter.

In diesem Zusammenhang gibt es einen einfachen und ehrlichen Vorschlag für Entwickler: Nehmen Sie einen Computer in der Konfiguration(*), die als Mindestsystemanforderungen für MetaTrader angegeben ist, und verwenden Sie ihn für Tests (einschließlich ServiceDesk)

(*) Verglichen mit dieser Konfiguration ist mein Tablet ein Meteor und es ist nichts geladen außer MetaTrader

 
A100:

In diesem Zusammenhang gibt es einen einfachen und ehrlichen Vorschlag an die Entwickler: Nehmen Sie einen Computer in der Konfiguration(*), die als Mindestanforderung für MetaTrader angegeben ist, und führen Sie darauf Tests durch (auch in ServiceDesk)

(*) mein Tablet ist ein Meteor im Vergleich zu dieser Konfiguration


vielleicht kommt es zu Bremsen (auch meine nicht schwache ist schon zu 90% geladen) und dann tritt dieser Fehler auf? wie Sie in der Erklärung oben gezeigt haben?

Danke für den Hinweis, ich werde versuchen, das herauszufinden.

 
A100:

Also auf Anfrage #1530548 kann ServiceDesk den Fehler https://www.mql5.com/ru/forum/1111/page1628#comment_2702870 nicht reproduzieren, obwohl ich sogar jetzt (in Build 1881) eine konstante Wiedergabe habe. Nach einigem Nachdenken habe ich herausgefunden, warum! Die Antwort lautet: weil ich einen langsamen Computer (Tablet) habe.

Eine ähnliche Situation gab es in Antrag Nr. 1952509 auf diesem Problem https://www.mql5.com/ru/forum/1111/page2124#comment_6518537

Auch ServiceDesk meldete zunächst, dass es den Fehler nicht reproduzieren konnte. Es hat mich viel Mühe gekostet, mich davon zu überzeugen, dass es sich doch um einen Fehler handelt... am Ende:

Support-Team 2018.02.10 22:35
Es scheint, dass ich Ihr Problem bereits am Freitag auf einem schwachen Rechner mit 39 Karten reproduzieren konnte.
Ich werde sie im Auge behalten. Wird bei Bedarf zusätzliche Daten anfordern. Danke.

Das wirft die Frage auf: Ist es überhaupt notwendig, sich mit solchen Fehlern zu beschäftigen? Oder lassen Sie sie einfach in Ruhe ihr Leben leben ... vielleicht tauchen sie nicht wieder auf - ein schneller Computer reicht doch, oder?

Diese Fragen stellen sich vor dem Hintergrund, dass ein Dutzend anderer Charts mit mehreren EAs/Indikatoren einen schnellen Computer in einen langsamen verwandeln können (und ein durchschnittlicher Trader verwendet genau eine Menge EAs - zum Beispiel https://www.mql5.com/ru/forum/267154/page5#comment_8164924 - 82 EAs laufen)... Oder auch ein langsamer Computer kann aufgrund anderer Umstände (Antivirus...) kurzzeitig langsam werden. andere Programme... oder das System selbst hat vorübergehend fast alle Ressourcen übernommen).

Und dann wird genau dieses unerklärliche 1:100 Scheitern eintreten (und nach den Gesetzen der Natur geschieht es natürlich zum ungünstigsten Zeitpunkt).

Was ist das Problem mit der Übertragung der Arbeitsstrategie außerhalb von MT5 verlassen MT5 als das Verbindungsstück? Ich denke, um Zeit auf solche Tänze zu verbringen ist ok, wenn die Strategie lohnt, und nicht wie üblich ))

 
Konstantin:

Was ist das Problem mit dem Verschieben der Arbeitsstrategie aus MT5 verlassen MT5 als das Verbindungsstück? Ich denke, es ist ok, Zeit auf diese Art von Tanzen zu verbringen, wenn die Strategie lohnt sich und nicht wie üblich ))

Das Problem ist die Organisation eines vollwertigen Feedbacks ... und sogar die Konnektoren müssen die Dateien manchmal selbst öffnen
 

Kann jemand erklären, warum in MQL5 die Zeitreihe time[] nicht mit der Serverzeit übereinstimmt?

ist der Indikator, der die Verschiebung der Schlusskurse gegenüber dem Tagesbeginn berechnet:

#property indicator_separate_window
#property indicator_buffers 1
#property indicator_plots   1
//--- plot Label1
#property indicator_label1  "Label1"
#property indicator_type1   DRAW_LINE
#property indicator_color1  clrRed
#property indicator_style1  STYLE_SOLID
#property indicator_width1  2
//--- indicator buffers
double         DB[];

static int lastdayclose=-1;
static double F0=1.0;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
   SetIndexBuffer(0,DB,INDICATOR_DATA);
   lastdayclose=-1;
   F0=1;
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
   int i,limit;
   MqlDateTime tmpdate;
   if(prev_calculated==0)
     {
      limit=rates_total-1;
      lastdayclose=-1;
      F0=1;
     }
   else limit=rates_total-prev_calculated;
   ArraySetAsSeries(time,true);
   ArraySetAsSeries(close,true);
   for(i=limit;i>=0;i--)
     {
      TimeToStruct(time[i],tmpdate);
      if(tmpdate.day!=lastdayclose)
        {
         F0=close[i];
         lastdayclose=tmpdate.day;
        }
      DB[i]=F0-close[i];
     }
   return(rates_total);
  }
//+------------------------------------------------------------------+

wird der Indikator gezeichnet:

https://www.mql5.com/ru/charts/8940511/eurusd-m5-alpari-international-limited

Sie können sehen, dass die Uhrzeit des Tagesbeginns um 2 Stunden nach links verschoben ist.

 
Igor Makanu:

Sie können sehen, dass der Tagesbeginn um 2 Stunden nach links verschoben ist.

Können Sie sehen, wo?

Screenshots der MetaTrader-Handelsplattform

EURUSD, M5, 2018.07.25

Alpari International Limited, MetaTrader 5, Demo

EURUSD, M5, 2018.07.25, Alpari International Limited, MetaTrader 5, Demo


 
Alexey Viktorov:

Wo sehen Sie das?

sehen Sie die Trennlinien zwischen den Punkten? - es ist der Beginn des Tages, er entspricht der Serverzeit 0:00

ist die Logik des Indikators klar? - die vertikalen Spritzer der roten Linie sind der Schlusskurs des ersten Balkens zu Beginn des Tages, wir merken ihn uns und zeichnen dann das Inkrement der Schlusskurse relativ zum Schlusskurs des ersten Balkens bei der Tageseröffnung - dieser "rote Spike" sollte auf der Perioden-Trennlinie liegen, d.h. zu Beginn des Tages

 
A100:
Das Problem ist, ein umfassendes Feedback zu organisieren... und selbst Konnektoren müssen manchmal die Dateien selbst öffnen

Warum müssen die Konnektoren die Dateien selbst öffnen, wenn die gesamte Logik außerhalb liegt? Rufen Sie die erforderliche Funktionalität von OnInit in einem externen Programm auf, um die Dateien zu initialisieren.

 
Igor Makanu:

sehen Sie die Trennlinien zwischen den Punkten? - es ist der Beginn des Tages, er entspricht der Serverzeit 0:00

ist die Logik des Indikators klar? - vertikale Spritzer der roten Linie ist der Schlusskurs des ersten Balkens zu Beginn des Tages, wir merken ihn uns und zeichnen dann die Inkremente der Schlusskurse im Verhältnis zum Schlusskurs des ersten Balkens bei der Eröffnung des Tages - dieser "rote Spike" muss auf der Trennlinie sein, d.h. zu Beginn des Tages

Glauben Sie, dass wir auf dieser Grundlage über etwas urteilen können? Ja...