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
Sehr originell)
und ein paar weitere Ergänzungen.
Wenn Sie einen Indikator im Hauptdiagramm erstellen, wird das Timer-Ereignis erfolgreich verarbeitet.
Wenn Sie einen Indikator auf einem Chart-Objekt oder von einem EA erstellen, der auf diesem Objekt platziert ist, wird der Timer nicht aktiviert.
Anton erklärte mir in SD, dass die Eigenschaft der Timer-Verfügbarkeit aus dem Chart-Thread kopiert wird, in dem der Indikator platziert ist. In den Diagrammobjekten gibt es keine Zeitgeber. Sie sind nur in der Hauptkarte vorhanden.
Der Timer-Indikator wird also nur im Hauptdiagramm und nicht im Diagrammobjekt verfügbar sein.
Sie müssen ChartIndicatorAdd in jedem Fall ausführen. Damit der Timer in Betrieb geht.
Zeitgeberereignisse werden für den Graphen und von dort aus für die Programme, die darauf laufen, generiert (auf den Graphen geworfen). Das ist die Ideologie - Programmdurchführung:
Aus diesem Grund akzeptiert der vom Expert Advisor aufgerufene Indikator keine Timer-Ereignisse. Versuchen Sie, den Indikator mit der Funktion ChartIndicatorAdd auf das Diagramm anzuwenden, wird sich dadurch etwas ändern?
Ich denke, der Timer würde genauso gut funktionieren, wie wenn Sie einfach einen Indikator auf das Diagramm setzen würden. Wenn es nur eine Karte gäbe, wäre das kein Problem.
Wir müssen viele Diagramme mit verschiedenen Währungen in einem einzigen zusammenfassen.
Wir müssen das Öffnen vieler kleiner Fenster und das Laden mit "Indikatoren" (vorerst) automatisieren.
Vielen Dank für die klugen Antworten, liebe Leute.
Dima_S:
Wir müssen das Öffnen einer Reihe von kleinen Fenstern automatisieren und einen "Induktor" auf sie werfen (vorläufig).
Warum? Sie fangen per Zeitschaltuhr, also brauchen Sie nicht viele Fenster. Ein Fenster mit einem Indikator reicht aus. In diesem Indikator können Sie die Behandlung von allem mit jedem Symbol vorschreiben. Es geht immer noch um den Timer, nicht um die Ticks.
Der Punkt ist, dass Ticks auch von vielen Paaren gefangen werden, aus denen zweite Zählungen gebildet werden und dann werden sie über Mapping an Expert Advisor für weitere Perversion der Verarbeitung gesendet)
Es werden Timer-Ereignisse für den Graphen und von dort aus für die Programme, die auf ihm laufen, erzeugt (auf ihn geworfen). Das ist die Ideologie - Programmdurchführung:
Daher akzeptiert der Indikator, der vom Expert Advisor aufgerufen wird, keine Timer-Ereignisse. Versuchen Sie, den Indikator mit der Funktion ChartIndicatorAdd auf einen Chart im Expert Advisor anzuwenden - wird sich etwas ändern?
Dima_S:
Ich denke, der Timer funktioniert genauso, wie wenn Sie den Indikator einfach auf das Diagramm werfen. Wenn ich nur eine Karte hätte, gäbe es kein Problem.
Ich sollte viele Charts mit verschiedenen Währungen in einem sammeln.
Wir müssen das Öffnen vieler kleiner Fenster und das Laden mit "Indikatoren" (vorerst) automatisieren.
Vielen Dank an alle für die kompetenten Antworten.
Taki, der Timer hat sich mit dieser Abfolge von Aufrufen des Expert Advisors nicht von selbst erledigt:
ChartOpen -> iCustom -> ChartIndicatorAdd
Es sind Diagramme erschienen und Indikatoren hinzugefügt worden. Der Timer funktionierte erst, nachdem ich die Eigenschaften jedes neuen Diagramms manuell aufgerufen und ohne Änderungen auf OK geklickt hatte.
Ist es ein Fehler? Ein Fehler?
Dann ist es einfacher, Ticks in Expert Advisor von den Induktoren zu erhalten und zu speichern, bis die nächste Sekunde zählt von einem einzigen Timer (in Expert Advisor), dann bilden Sie eine zweite Charge und löschen Sie die "Hoarder.
Taki, der Timer funktionierte nicht von selbst mit dieser Folge von Aufrufen des Expert Advisors:
ChartOpen -> iCustom -> ChartIndicatorAdd
Es sind Diagramme erschienen und Indikatoren hinzugefügt worden. Der Timer funktionierte erst, nachdem ich die Eigenschaften jedes neuen Diagramms manuell aufgerufen und ohne Änderungen auf OK geklickt hatte.
Ein Fehler? Ein Fehler?
OnTimer() in Inite aufrufen.
Es ist nicht einfacher, sondern komplizierter. Ich habe es bereits so gemacht).
Dann müssen wir es härter machen. :)
Das ist sowieso der einzig richtige Weg.
Urteilen Sie selbst. Selbst wenn es Ihnen gelingt, alle Zeitgeber zu starten (was nicht der Fall ist), und selbst wenn es Ihnen gelingt, sie streng synchron zu betreiben (was nicht der Fall ist), werden Sie dennoch Informationen von ihnen erhalten, entweder nacheinander und in einer unbekannten Reihenfolge (wenn es sich um einen Kern handelt) oder nahe daran (wenn es mehrere Kerne gibt). Und dann muss man auch noch die Reihenfolge und all den anderen Mist im Auge behalten.
Ich schlage einen Kompromiss vor: Sie fangen Ticks durch Spione ab und senden sie sofort an den Head Expert Advisor mit einer Millisekunden-Markierung(GetTickCount()). Expert Advisor ordnet sie entsprechend ihrer Beschriftung und unterteilt sie in zweite Blöcke.
Es ist nicht ganz einfach, aber es wird genau sein.
OnTimer() in der Init aufrufen.