Eine Frage für MQL-Kenner

 
Guten Tag an alle!
Meine Frage ist folgende: Wie kann ich einen Indikator dazu bringen, sich nicht öfter als eine bestimmte Anzahl von Malen pro Sekunde neu zu berechnen, zum Beispiel nicht öfter als 2 Mal.
Die Schlaffunktion funktioniert nicht bei Indikatoren.
 
Debugger писал(а) >>
Guten Tag an alle!
Meine Frage ist: Wie kann ich einen Indikator dazu bringen, sich nicht öfter als eine bestimmte Anzahl von Malen pro Sekunde neu zu berechnen, zum Beispiel nicht öfter als 2 Mal.
Die Funktion "Ruhezustand" funktioniert nicht bei Indikatoren.


Und warum?
 
Der Algorithmus benötigt viel Zeit zur Berechnung.
 
Debugger писал(а) >>
Der Algorithmus benötigt viel Zeit zur Berechnung.


Vielleicht sollten Sie zuerst den Algorithmus optimieren. Allerdings kann die Berechnung auch einmal pro Sekunde oder alle 10 Sekunden durchgeführt werden.
Wir sparen die letzte Rechenzeit.
Bei den nächsten Ticks überprüfen wir die Anzahl der verstrichenen Sekunden.
Ist sie größer als die angegebene Zeit, wird sie berechnet, andernfalls wird sie ohne Berechnung beendet.
 
Damit können Sie zwischen den Ticks in Millisekunden messen:
int GetTickCount();
// Функция GetTickCount() возвращает количество миллисекунд, прошедших с момента старта системы.
// Счетчик ограничен разрешающей способностью системного таймера. Так как время хранится как беззнаковое целое, то он переполняется каждые 49.7 дней. 
 
Vadim, du hast mir wieder geholfen. Großer Respekt!!!!
 
Hallo, könnten Sie bitte überprüfen Sie den Code und erklären, warum dieser Indikator Lags für Brokerage-Unternehmen, die 5 Ziffern Quotes geben und funktioniert gut für Brokerage-Unternehmen, die 4 Ziffern Quotes geben. Ich frage mich, ob es in irgendeiner Weise korrigiert werden kann, damit es mit Maklerfirmen mit 5 Ziffern funktioniert. Sollten Sie Zweifel an der Richtigkeit haben, zögern Sie nicht, sich an Ihr Maklerunternehmen zu wenden.
Dateien:
 

Ja, in der Tat. Bei der 5-stelligen Marke verlangsamt sich der Truthahn.

Ich weiß nicht, warum. Im Code ist alles in Ordnung...

 
rid >>:

Да, действительно. На 5-ти знаке индюк тормозит.

А вот почему, не пойму. Вроде всё норм. в коде...

Wahrscheinlich ist die Häufigkeit der Zitate höher als bei 4.

Vergleichen Sie die Tickvolumina.

----- und eine Neuberechnung und Neubewertung sollte erfolgen, wenn eine "signifikante" Preisänderung vorliegt.

Die "Wesentlichkeit" sollte wahrscheinlich in die Parameter aufgenommen werden. 5-7 Pips auf einer 5er-Marke werden das Wetter nicht ändern.

;)

 
FreeLance >>:

Наверно частота котировок выше чем на 4-х.

Сравните тиковые объемы.

In diesem Fall kann die Berechnung bei jedem 3. oder 5. Tick mit 5 Ziffern erfolgen.

Oder allgemein durch die gebildeten Stäbe.

 

Guten Tag.

Es gibt einen Indikator im Abschnitt Code Base - https://www.mql5.com/ru/code/8752.

Laut Beschreibung zeigt es in der Historie in seinem Fenster das Eigenkapital einer Position oder die Summe mehrerer Positionen an. Zu einer bestimmten Epoche der Geschichte.

Ich kann es nicht einmal für eine Währung betreiben!

"Bevor Sie den Indikator installieren, erstellen Sie mindestens eine vertikale Linie auf dem Diagramm mit den folgenden Parametern:
Die Position der Linie openN (wobei N eine Seriennummer des Pakets ist) legt den Zeitpunkt der Paketöffnung fest
.

Ich habe eine vertikale Linie erstellt. Aber ich verstehe nicht - was ist der Parameter openN (er ist nicht in den Eigenschaften vorhanden) und wo wird N eingestellt ?

Weiter :

"Die Positionen im Indikator werden nur mit Trendlinien einer bestimmten Farbe auf dem Instrumentenchart gesetzt.
Die Position der Linie bestimmt den Öffnungs- und Schließungszeitpunkt des Pakets."

Ich weiß nicht, wie ich ein begrenztes Segment der Trendlinie zeichnen kann. Es scheint ein endloser Strahl zu sein, der immer nur in eine Richtung geht.

Bitte beraten Sie mich.