Fehler, Irrtümer, Fragen - Seite 968

 
sergeev:

Es hängt alles von der Größe der Bitmap ab.

eine Milliarde Mal Bitmap-Erstellung+Ausgabe und die gleiche Anzahl von Textbeschriftungen erstellen und ausgeben.

und überwachen Sie die Ausgabezeit.

Ich werde es ausprobieren, aber erst später. Ich dachte, vielleicht hat schon jemand diese Art von Forschung betrieben...
 
tol64:
Es ist nicht ganz klar, welche Art von Histogramm Sie dort nicht zeichnen können. Es ist durchaus möglich, dass Sie etwas falsch machen. Sie brauchen einen Code, um es wiederzugeben, sonst können Sie nicht sehen, was Sie meinen.

Das Histogramm kann gezeichnet werden, wenn das Terminal die Berechnungen durchführt. Das Histogramm wird gezeichnet, das Terminal wird geladen, die mühsame Berechnung des Indikators wird durchgeführt, das Histogramm verschwindet, während es auf die Berechnung wartet, und wenn es fertig ist, wird es angezeigt, so dass es im Kursverlauf nicht sichtbar ist. Beim Löschen macht das Terminal dort etwas und löscht dann das Diagramm. Ich habe nichts im Deinit-Block außer der Löschung, was ist die Pause beim Löschen. Es sollte eine Priorität und eine Abfolge von Aktionen geben, um kritische Systemzustände zu beenden, das Histogramm sollte nicht vor der Berechnung verschwinden, sondern bevor ein neues Histogramm angezeigt wird. Und es ist nicht der Code, natürlich lädt er das Terminal und der Algorithmus kann großzügiger gestaltet werden, aber die Tatsache, dass 4 es besser handhabt, ist offensichtlich.

Wird OnCalculate bei jedem Tick ausgeführt? Und wenn nicht, was passiert dann?

Документация по MQL5: Основы языка / Функции / Функции обработки событий
Документация по MQL5: Основы языка / Функции / Функции обработки событий
  • www.mql5.com
Основы языка / Функции / Функции обработки событий - Документация по MQL5
 
Ich habe einen Fehler im Tresor gefunden. Wenn Sie Ihr Passwort auf der Website ändern, wird es im Tresor offenbar nicht geändert. Und Sie müssen sich aus dem Repository abmelden und erneut anmelden.
 
zfs:

Das Histogramm kann gezeichnet werden, wenn das Terminal die Berechnung durchführen kann. Das Histogramm wird gezeichnet, das Terminal wird geladen, die mühsame Berechnung des Indikators findet statt, das Histogramm verschwindet, wartet auf die Berechnung, wenn es fertig ist, wird es angezeigt, es stellt sich heraus, dass es im Angebotsstrom nicht sichtbar ist. Beim Löschen macht das Terminal dort etwas und löscht dann das Diagramm. Ich habe nichts im Deinit-Block außer der Löschung, was ist die Pause beim Löschen. Es sollte eine Priorität und eine Abfolge von Aktionen geben, um kritische Systemzustände zu beenden, das Histogramm sollte nicht vor der Berechnung verschwinden, sondern bevor ein neues Histogramm angezeigt wird. Und es geht nicht um den Code, natürlich lädt er das Terminal und der Algorithmus kann großzügiger gestaltet werden, aber die Tatsache, dass 4 es besser kann, ist offensichtlich.

Wird OnCalculate bei jedem Tick ausgeführt? Und wenn nicht, was passiert dann?

Wenn der Reproduktionscode für Sie ein großes Geheimnis ist, das Sie nicht im Forum veröffentlichen können, dann schreiben Sie an den Service Desk. Beschreiben Sie diese ausführlich und fügen Sie den Code bei.
 
tol64:
Wenn der Code für die Reproduktion ein zu großes Geheimnis für Sie ist, um ihn im Forum zu veröffentlichen, dann schreiben Sie an den Service Desk. Sie werden gebeten, den Vorgang genau zu beschreiben und Ihnen den Code mitzuteilen.

Ich habe bereits darauf hingewiesen, dass dies nichts mit dem Code zu tun hat. Sie können einfach den Code mit Berechnungen und grafischen Elementen laden und die Nachteile verschwinden von selbst. Alles hängt mehr von der Hardware des Computers als vom Code ab: ein schneller Computer löscht den Indikator in 2 Sekunden, ein langsamer in 2 Minuten. Das Gleiche gilt für das Balkendiagramm, das bei einer guten Ressource und einem Minimum an Anführungszeichen immer sichtbar sein wird, und das nur beim Start sichtbar sein wird. Natürlich ist dies eher eine Frage für den Service Desk und eine Frage für das Terminal: Ist es möglich, die Möglichkeit des Einfrierens des Terminals zu minimieren? Dieses Problem bestand bereits in der Stufe 4, und die Situation hier ist noch schlimmer. Dies ist jedoch die Begründung dafür.

Wird OnCalculate bei jedem Tick ausgeführt? Und wenn nicht, was passiert dann?

 
Oder sogar eine Situation, in der das Terminal nicht als Anwendung geladen ist und nur als Prozess im Task-Manager angezeigt wird. Das Terminal muss in der Lage sein, sich aus kritischen Situationen zu befreien, wie z. B. ControlAltDelta in Windows mit der Option, die Anwendungen des Terminals bereits zu deaktivieren.
 

zfs:

...

Wird OnCalculate bei jedem Tick ausgeführt? Und wenn sie keine Zeit hat, was passiert dann?

Ich denke, die Häkchen, die bei einer langen Berechnung entstanden sind, werden übersprungen.

Ich habe bereits festgestellt, dass der Code nichts damit zu tun hat. Sie müssen nur den Code mit Berechnungen und grafischen Elementen laden und die Nachteile werden von selbst auftauchen. Alles hängt mehr von der Hardware des Computers als vom Code ab: Bei einem schnellen Computer wird ein Indikator in 2 Sekunden entfernt, während er bei einem langsamen Computer in 2 Minuten entfernt wird. Das Gleiche gilt für das Balkendiagramm, das bei einer guten Ressource und einem Minimum an Anführungszeichen immer sichtbar sein wird, und das nur beim Start sichtbar sein wird. Natürlich ist dies eher eine Frage für den Service Desk und eine Frage für das Terminal: Ist es möglich, die Möglichkeit des Einfrierens des Terminals zu minimieren? Dieses Problem bestand bereits in der Stufe 4, und die Situation hier ist noch schlimmer. Dies ist jedoch die Begründung für das Thema.

Dann legen Sie Ihren Code fest. Ich werde es selbst testen. Wir wollen die Ergebnisse vergleichen. Sonst haben wir alles umsonst beschrieben. Sie nehmen es hier nicht ernst. )))

 
zfs:
Oder sogar eine Situation, in der das Terminal nicht als Anwendung geladen und nur als Prozess im Task-Manager sichtbar ist. Was wir brauchen, ist eine Möglichkeit, das Terminal aus kritischen Situationen herauszuholen, ähnlich wie ControlAltDelete in Windows mit der Option, die Anwendungen des Terminals zu deaktivieren.
Ich kann es sowohl als Anwendung als auch als Prozess sehen. Geben Sie in Service Desk das Betriebssystem, die Größe und den Aufbau des Terminals an.
 
double iCloseMQL4(string symbol,int tf,int index){
   if(index < 0) return(-1);
   double Arr[];
   ENUM_TIMEFRAMES timeframe=TFMigrate(tf);
   if(CopyClose(symbol,timeframe, index, 1, Arr)>0)
        return(Arr[0]);
   else return(-1);

}

Ich habe also eine Funktion genommen, deren Ausgabe regelmäßig -1 ist. Die Frage ist, was sollte die Schleife noch anders als -1 eingestellt werden? Warum ist diese Situation möglich? Warum sollte ich das gesamte Array kopieren, wenn ich nur einen Wert benötige, ist irgendwie unvernünftig.

SetLabel("LPr",chart_ID,"%="+DoubleToString(close[0]/iCloseMQL4(_Symbol,1440,1)*100-100,2),4,34,clrBrown,14);
 
tol64:

Ich denke, die Zecken, die bei einer langen Berechnung auftauchten, werden vermisst werden.

Posten Sie also den Code. Ich werde es bei mir testen. Wir wollen die Ergebnisse vergleichen. Sonst haben wir alles vergeudet. Die Leute hier nehmen das nicht ernst. )))

Sie denken, aber es sollte überprüft werden oder sicher wissen).

Auf verschiedenen Computern sehe ich ein anderes Bild, so dass ich etwas zum Vergleich habe. Wir werden die Wahrheit sowieso nicht erfahren, wir können nur im Forum meckern).

Wenn ich ein Terminal mit umfangreichen Anwendungen ausführe, wird es nicht als Anwendung geladen und ist nur als Prozess sichtbar. Wenn ich die Anwendung auf einem offenen Terminal starte, bleibt sie nicht hängen. Aber beim Starten bleibt es hängen oder wird nicht als Anwendung geladen. Daher muss ich die Anwendung vor dem Beenden deinstallieren. Ich habe an servicedesk geschrieben und darum gebeten, die Anwendung schließen zu können, ohne das Terminal zu schließen oder die Ordner zu leeren.