Fehler, Irrtümer, Fragen - Seite 568

 
x100intraday:

https://www.mql5.com/ru/docs/basis/function/events sagt am Ende:"Zum besseren Verständnis ist es sinnvoll, den Indikator auszuführen, dessen Code unten beigefügt ist. "

Führen Sie den Code aus. Über das Wochenende. Es kam zu keinem besseren Verständnis - es war gut so, wie es war, denke ich, aber die schlimmsten Eindrücke wurden hinzugefügt. Am Wochenende gibt es keine Ticks, so dass prev_calculated zu diesem Zeitpunkt immer 0 ist, wenn man von Zeitrahmen zu Zeitrahmen geht:

An einer Stelle erscheint jedoch dieser Wert (keine erneute Verbindung, ehrlich gesagt, sehr edel!):


Sollte ich erwarten, dass das unregelmäßige Verhalten des Terminals beseitigt wird? Oder soll ich Mathe lernen?


Studieren Sie, denn es steht in der Dokumentation - Technische Indikatoren:

Alle Funktionen wie iMA, iAC, iMACD, iIchimoku, etc. erstellen eine Kopie des entsprechenden technischen Indikators im globalen Cache des Client-Terminals. Wenn bereits eine Kopie des Indikators mit diesen Parametern existiert, wird keine neue Kopie erstellt, sondern der Zähler der Verweise auf diese Kopie erhöht.

...

Hinweis: Die wiederholte Verwendung einer Indikatorfunktion mit denselben Parametern innerhalb eines mql5-Programms erhöht den Referenzzähler nicht mehrfach, sondern nur einmal um 1.

Das bedeutet, dass beim ersten Start des Indikators (wenn Sie zum ersten Mal zu einem neuen Zeitrahmen wechseln ) die Indikatorwerte noch nicht berechnet wurden, also prev_calculated=0. Wenn Sie zu diesem Zeitrahmen zurückkehren , wird der Indikator nicht neu erstellt, da sein Handle noch aktiv ist. Daher ist prev_calculated!=0
 
x100intraday:

An einer Stelle erscheint jedoch dieser Wert (keine erneute Verbindung, ehrlich gesagt, sehr edel!):

und lustige Linien im Diagramm:

oder nur halb so fröhlich, wie das hier:

Am Anfang der Geschichte gab es sogar Linien in Form eines Zickzacks(leider habe ich vergessen, einen Screenshot zu machen, und konnte ihn nicht reproduzieren).

Auch auf anderen TFs sind Linien zu finden, allerdings in geringerem Umfang. Sie können sich leicht selbst davon überzeugen.

War es genau das, was die Autoren sagen wollten?

Es gibt einen Abschnitt namens Variableninitialisierung:

Jede Variable kann bei ihrer Definition initialisiert werden. Wenn eine Variable nicht explizit initialisiert wird, kann der Wert, der in dieser Variable gespeichert wird, beliebig sein. Eine implizite Initialisierung findet nicht statt.

Sie haben einen Indikatorpuffer deklariert, aber die Werte in diesem Puffer sind nicht definiert. Daher weist das Ausführungssystem des Terminals einen beliebigen verfügbaren Teil des Speichers zu, in dem der Indikatorpuffer mit den Werten von Zigzag auftreten kann.
 
x100intraday:

Vor kurzem gab es eine Situation, in der das Design:

Das Programm druckte nur den Wert aus dem ersten Print, aber es war sinnlos, zu warten, bis die Werte der Array-Elemente gedruckt wurden. Nach dem Entfernen des ersten Print und der Neukompilierung begann die zyklische Ausgabe von Array-Elementen sofort. Ist es eine geheime Verschwörung von Prints gegen die MQL5-Community oder bin ich der einzige, der Pech hat?

Außerdem möchte ich anmerken, dass diese seltsamen Fälle von Terminal-Verhalten nicht auf einer MT5-Instanz beobachtet wurden, die mit Chart-Fenstern, grafischen Objekten und MQL-Programmen überladen war, sondern nur in einem einzigen sauberen Chart-Fenster (ohne den Umriss eines laufenden Indikators).

Wenden Sie sich an das Service Desk, sie werden das Problem lösen.

PS Und lesen Sie den Abschnitt Programmablauf

 
Karlson:

Ja... im Prinzip ist das alles dasselbe...

Von 5 Funktionen , die OrderSend() verwenden, geben zwei von ihnen immer den Fehler Ungültige Anfrage aus.

Ich sehe keine Fehler oder grundlegende Unterschiede zu den Arbeitsvarianten.

Das Problem liegt in der Terminal-Version (Build 540 von 11.11.11). Die Prophezeiung wurde wahr!!!

 
MoneyJinn:

Von 5 Funktionen , die OrderSend() verwenden, geben zwei ständig den Fehler Invalid Request aus.

Ich finde keine Fehler oder grundlegende Unterschiede zu den Arbeitsvarianten.

Das Problem liegt in der Terminal-Version (Build 540 von 11.11.11). Die Prophezeiung wurde wahr!!!

Ich habe alles mit CTrade sehr schnell neu geschrieben, es funktioniert gut, einfach und effizient.
 

lustiges Wochenende mit dem 540er Bau:


Nach der Installation erscheint die Meldung ==>

Rückgabecode 10013 und ungültige Anfrage beim Einstellen einer Bestellung.

 
blef:

lustiges Wochenende mit dem 540er Bau:


Nach der Installation erscheint die Meldung ==>

Rückgabecode 10013 und ungültige Anfrage beim Einstellen einer Bestellung.

Können Sie den Quellcode zur Reproduktion zur Verfügung stellen? Schreiben Sie bitte an den Service Desk.
Общайтесь с разработчиками через Сервисдеск!
Общайтесь с разработчиками через Сервисдеск!
  • www.mql5.com
Ваше сообщение сразу станет доступно нашим отделам тестирования, технической поддержки и разработчикам торговой платформы.
 
Rosh:

Es gibt sogar einen Abschnitt mit dem Titel Initialisierung von Variablen:

Sie haben einen Indikatorpuffer deklariert, aber die Werte in diesem Puffer sind nicht definiert. Daher weist das Exekutivsystem des Client-Terminals ihm jeden verfügbaren Speicherplatz zu, zu dem auch der Indikatorpuffer mit den Zickzack-Werten gehören kann, der versehentlich übrig geblieben ist.

Rosh, die Ironie meiner Situation besteht darin, dass ich den ZigZag-Indikator oder seine Gegenstücke seit Ewigkeiten nicht mehr ausgeführt habe und der Rechner täglich einen Hardwarereboot erfährt. Ich habe keine Erinnerungen an ZigZags oder irgendetwas anderes in meinem Gedächtnis.

Das Erlernen der Grundlagen - das ist sicher, ohne das geht es nicht. Die Frage ist nur, ob sie mich enttäuschen wird...

 
x100intraday:

Rosh, die Ironie meiner Situation besteht darin, dass ich den ZigZag-Indikator oder seine Gegenstücke seit Ewigkeiten nicht mehr ausgeführt habe und der Rechner täglich einen Hardwarereboot erfährt. Ich habe weder ZigZags noch irgendetwas anderes in meinem Gedächtnis verankert.

Das Erlernen der Grundlagen - das ist sicher, ohne das geht es nicht. Es ist nur die Frage, ob sie mich enttäuschen wird...

Es spielt keine Rolle, Müll in Puffern kann alles zeichnen, wenn Sie nicht initialisieren sie.

Du bittest mich so kokett, dich von der Vergeblichkeit der Mühe zu überzeugen, wir können keine Garantien geben, da ich von euch beiden - dem Lehrling und MQL5 - mehr weiß als MQL5.

 
Rosh:

Sie fragen so kokett, um Sie von der Vergeblichkeit Ihrer Bemühungen zu überzeugen, kann keine Garantien gegeben werden,

Solche Anfragen sind nicht so wertvoll, weil sie nicht der Punkt sind; ich persönlich erinnere mich an eine große explizite Anfrage, um das Problem mit dem primären Undrawing zu finden, sogar drei Quellcodes mit Erklärungen gepostet. Die Anfrage blieb unbemerkt - ich musste mich auf mich selbst verlassen. Dann wurde mir vorgeschlagen, mir einen komplizierteren Code anzuschauen, den ich immer noch nicht selbst lösen konnte. Das ist alles, was ich im Moment vermisse.

Und für wertvolle Erklärungen und Links zur Dokumentation - danke wie immer, ich werde mir das auf jeden Fall anschauen.

Rosh:

...Da ich mehr über MQL5 weiß als Sie beide - den Expert Advisor und MQL5.


Einen Vogel erkennt man an seinem Flug, einen Programmierer an seinem Code. Das Angebot, es sich anzuschauen, gilt nach wie vor, Facepalm garantiert.