Fehler, Irrtümer, Fragen - Seite 2744
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Fehler:
Vielen Dank für Ihre Nachricht.
Korrigiert.
Frage der Optimierung. Im Prüfgerät muss ich bei jedem Häkchen ein Häkchen für die weitere Arbeit bekommen. Ich mache es so.
Es ist klar, dass diese Variante langsamer sein wird:
Aber SymbolInfoTick ist auch langsamer, weil sein String-Parameter nicht per Referenz übergeben wird.
Ist es möglich, reguläre SymbolInfo* Überladungen zu haben, wo String durch Referenz übergeben wird?
Es ist besser, eine
In Optimizer werden diese Funktionen zig-Milliarden Mal aufgerufen.
Schlagen Sie vor, die Funktion GetNextEvent hinzuzufügen?
Nicht wirklich, ich würde eher diese Funktion als HandleNextEvent, eine mögliche Signatur aufrufen:
bool HandleNextEvent (ENUM_EVENT_TYPE);
Beim Aufruf wird, ähnlich wie bei GetNextEvent, geprüft, ob der angegebene ENUM_EVENT_TYPE in der Warteschlange vorhanden ist,
, und wenn dieses Ereignis vorhanden ist, wird die Kontrolle automatisch an den Benutzercode des entsprechenden Handlers (OnChartEvent, OnTrade, OnTradeTransaction, ...) übergeben. (Dankan fxsaber für die Ergänzung)).
Gibt true zurück, wenn sich ein Ereignis in der Warteschlange befand, andernfalls false.
Möglicher Anwendungsfall:
Frage der Optimierung. Im Prüfgerät muss ich bei jedem Häkchen ein Häkchen für die weitere Arbeit bekommen. Ich mache es so.
Es ist klar, dass diese Variante langsamer sein wird.
Haben Sie diese Aussage in der Praxis überprüft? Es mag den Anschein haben, dass es genau das Gegenteil ist.
MqlTick besteht aus primitiven Datentypen, die nicht initialisiert sind.
Dementsprechend wird keine Zeit für die Auswahl verschwendet, da es sich um denselben "sub esp"-Vorgang handelt, nur in einem anderen Umfang.
Daher kann der Engpass beim Lesen eines Wertes aus dem Speicher auf der Seite des Cache des Prozessors liegen.
Wie auch immer, wir sollten es testen )).
wenn dieses Ereignis eintritt, wird die Kontrolle automatisch an den Benutzercode des entsprechenden Handlers übergeben
Möglicher Anwendungsfall:
Eine sehr schöne und nützliche Lösung!
Haben Sie diese Aussage in der Praxis getestet? Es könnte aber auch das Gegenteil der Fall sein.
Hier wird theoretisiert. Ich habe es nicht überprüft. Aber die Übertragung auf den String Link scheint angemessen.
Ein möglicher Anwendungsfall:
Das ergibt keinen Sinn.
Gemäß der Signatur und Ihrer Beschreibung sollte das Terminal eine Funktion aufrufen, um das nächste Ereignis zu verarbeiten und dann die Kontrolle an das Programm an der Stelle zurückzugeben, an der das handlenextevent aufgerufen wird?
Was passiert, wenn das handlenextevent während der Verarbeitung erneut aufgerufen wird?
Was geschieht mit Ereignissen, die den Filter in den Parametern nicht passieren? Werden sie übersprungen?
Skripte haben überhaupt keine Ereignis-Warteschlange, warum sie auf Krücken hinzufügen, wenn es Expert Advisors und Indikatoren gibt?
1) Sie suggerieren irgendeinen Unsinn.
2) Nach der Signatur und Ihrer Beschreibung sollte das Terminal die nächste Ereignisverarbeitung per Funktion aufrufen und dann die Kontrolle an das Programm an den Punkt des Handlenextevent-Aufrufs zurückgeben?
3) Was geschieht, wenn das Handlenextevent während der Verarbeitung erneut aufgerufen wird?
4) Und was passiert mit Ereignissen, die nicht unter den Filter in den Parametern fallen? Werden sie übersprungen? ändern sie die Reihenfolge?
1) Meine Aufgabe ist es, Angebote zu machen, aber ob es etwas Verrücktes ist oder nicht - das liegt bei den Entwicklern, nicht bei Ihnen, die wissen es besser...
2) In Ordnung. Wenn ich an der Verarbeitung eines bestimmten Ereignisses interessiert bin und nicht an allen Ereignissen im System, wäre es schön, wenn ich nur diese Art von Ereignis verarbeiten könnte, während die Verarbeitung der anderen Ereignisse normal weiterläuft.
3) Wenn HandleNextEvent während der Verarbeitung erneut aufgerufen wird - aufrufen und verarbeiten. Das einzige, was passieren kann, ist ein Stapelüberlauf, aber das ist das Problem des Benutzers und des Codes, nicht das des Entwicklers.
4) Ereignisse, die nicht unter den Filter fallen, bleiben in der gleichen Reihenfolge und werden aufgerufen, wenn der Benutzer die Kontrolle über das System wie üblich zurückgibt.
Skripte haben überhaupt keine Ereignis-Warteschlange, warum sie auf Krücken hinzufügen, wenn es EAs und Indikatoren gibt?
Hier ist ein Beispiel für ein Skript, das seine Positionen/Order asynchron öffnet und schließt.
1) Es ist meine Aufgabe, Vorschläge zu machen, und ob es ein Dilemma ist oder nicht, haben nicht Sie zu entscheiden, sondern die Entwickler, sie wissen es besser...
Wenn Sie etwas vorschlagen, das leichter umzusetzen ist, ist die Chance größer, dass es auch umgesetzt wird. Ihre Option wurde gestrichen, weil sie fast nichts bringt.