[WARNUNG GESCHLOSSEN!] Alle Fragen von Neulingen, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen. - Seite 680
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
Wie kann ich mit Ihnen Kontakt aufnehmen? Ich habe eine Menge Fragen und würde gerne einen Ratschlag erhalten.
Ich würde einen Schalter durch ein vorgefertigtes Array ersetzen, warum jedes Mal vordefinierte Werte zuweisen?
Danke, aber könnten Sie etwas genauer sein? Weil die vordefinierten Werte hier Zeitrahmen sind, aber der Code nach den Fällen für verschiedene Indikatoren unterschiedlich sein wird... Wahrscheinlich ist es einfacher, ein wenig mehr Code zu schreiben... :) Im Allgemeinen bin ich heute sehr langsam - ich konnte letzte Nacht nicht schlafen und bin immer noch in der Schwebe...
Sehen Sie - es läuft ein absolut identischer Code ab, aber er prüft bereits die Handelskriterien anderer Indikatoren... Ich möchte nur alle Überprüfungen aller Indizes, die im EA verwendet werden, in einen analytischen Block packen, so dass es ihre Werte einmal pro Tick berechnen würde, sie in Variablen setzen und dann Werte der Variablen für Handelsentscheidungen verwenden. Ich weiß nicht, wie ich es mit einem Array vordefinierter Werte anordnen kann...Danke, aber könnten Sie etwas genauer sein? Weil die vordefinierten Werte hier Zeitrahmen sind, aber der Code nach den Fällen für verschiedene Indikatoren unterschiedlich sein wird... Wahrscheinlich ist es einfacher, ein wenig mehr Code zu schreiben... :) Ich kann heute nicht klar denken - ich konnte letzte Nacht nicht schlafen und bin immer noch in der Schwebe...
Sehen Sie - dort gibt es einen absolut identischen Code, aber er prüft bereits Handelskriterien anderer Indikatoren... Ich möchte einfach alle Prüfungen aller Indizes, die im EA verwendet werden, in einen analytischen Block packen, und dann wird er ihre Werte einmal pro Tick berechnen, sie in Variablen setzen und die Werte der Variablen für Handelsentscheidungen verwenden. Ich weiß nicht, wie ich es mit einem Array vordefinierter Werte anordnen kann...Vielleicht müssen Sie nur eine Berechnungspriorität auswählen, d.h. es sieht so aus, als hätten Sie
Wenn (BB_1<0 ) die erste obligatorische Bedingung ist, nach der es nicht notwendig ist, andere BB_ zu berechnen, dann machen Sie ein zusammengesetztes if und führen Sie die notwendigen BB_-Berechnungen im zweiten if durch, vorausgesetzt, das erste if wurde durchgeführt, und if ... else ist ziemlich effektiv, während Sie nur if haben
Ich stimme zu, der Code kann größer und weniger lesbar werden, aber die Leistung wird steigen
vielleicht müssen Sie nur die Priorität der Berechnung erhöhen, d.h.
Wenn (BB_1<0 ) die erste obligatorische Bedingung ist, nach der es nicht notwendig ist, andere BB_ zu berechnen, dann machen Sie eine zusammengesetzte if und führen Sie die notwendigen BB_ Berechnungen in der zweiten if durch, vorausgesetzt die erste if wurde erfüllt, und if . else ist ziemlich effektiv, während Sie nur if haben
Ich stimme zu, dass Ihr Code größer und weniger lesbar werden kann, aber die Leistung wird steigen.
Danke, Igor, ich werde sehen, was passiert. Das ist nicht das, was ich im Sinn hatte... Ich erinnere mich noch an die Anfänge der Computerisierung, 1991-94, ich weiß nicht mehr genau... Ich habe Assembler-Programmierung für den ZX Spectrum gemacht... der furchtbar langsam und auf 64Kb Speicher begrenzt war... Also gab es einen Befehl an den Prozessor, mit dem Bildschirmspeicherbereich zu arbeiten, um schnell 16386Kb in diesen Bereich auszugeben. Der dokumentierte CPU-Befehl war der schnellste von allen und arbeitete mit einem großen Datensatz. Es gibt nicht viel, was wir tun können, aber... Sie haben einen Weg gefunden, die Ausgangsgeschwindigkeit zu vervierfachen. Es gab Befehle für die Arbeit mit dem Stapel und sie wurden viel schneller ausgeführt. So haben sie es gemacht: Sie haben den Stack in einen unbenutzten Speicherbereich direkt nach dem Bildschirm verschoben, diesen Bereich mit grafischen Daten gefüllt und dann, nachdem sie den Stack auf den Bildschirm verschoben hatten, den im Speicher vorbereiteten Bildschirm mit einem Befehl, der den Stack füllte, schnell in den Bildschirmbereich gesprungen... Für die damalige Zeit einfach ein Wunder, aber für Spectrum war es Magie...
Auch hier bin ich an unkonventionellen Arbeitsweisen interessiert... Zum Beispiel, um zu sehen, welche Befehle in wie vielen Taktzyklen ausgeführt werden, und um etwas Ähnliches zu bauen... Was könnte die logischen Vergleichsbefehle ersetzen, vielleicht Subtraktion oder etwas anderes in der gleichen Vene....
Und hier interessiere ich mich für nicht standardisierte Arbeitsmethoden... Zum Beispiel nachsehen, welche Befehle in wie vielen Taktzyklen ausgeführt werden und etwas Ähnliches konstruieren... Was könnte die logischen Vergleichsbefehle ersetzen, vielleicht Subtraktion oder etwas Ähnliches....
Ich denke, Sie werden es nicht in Mql finden - die Prinzipien von Mql sind sehr ähnlich zu Java mit C-Syntax, versuchen Sie zu sehen, was schneller ist, um Fall oder wenn auszuführen, ich erinnere mich, wenn ich in Turbopascal sah, dass if schneller ist
Wissen Sie, ob Sie einen Befehl zum Deaktivieren des EA über das Skript senden können?
Sie können. Ich zum Beispiel steuere meinen EA mit Skripten, die globale Variablen in einen bestimmten Zustand versetzen. Die Zustände dieser Variablen
werden sie im Expert Advisor analysiert und die notwendigen Befehle werden ausgeführt.