Fehler, Irrtümer, Fragen - Seite 3031
![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
mein Code wird "bei jedem Tick hämmern" nur Ihr Indikator #1, wo Sie geschrieben haben:
wird es dem Terminal ermöglicht, selbständig den "höheren Zeitrahmen" zu erstellen.
Für mich ist das "billiger" als eine komplette Neuberechnung von Indikator 1, die in Ihrem Code bei der Synchronisierung der Historie auf der "höheren TF" stattfindet.
Ja, aber warum ist die Rückstellung vor dem Fehler bei der unteren TF?
Ja, aber warum wird der vorherige Kalk auf die untere TF zurückgesetzt?
Ja, aber warum wird der vorherige Kalkwert auf die niedrige TF zurückgesetzt?
Viele Varianten, wir kennen die Umsetzung nicht
es gab letztes Jahr eine ähnliche Diskussion über MT4, einer der Entwickler (ich glaube Slava) sagte, dass jeder Zugriff auf die "ältere TF" eine Datensynchronisation auslöst, wenn diese erforderlich ist....
Ich denke, dass das Terminal im MT5 auch selbst TF aufbaut, wenn es nötig ist, aber ob es Netzwerkverzögerungen oder eine ..... Implementierung gab, ist unbekannt... dann synchronisiert das Terminal, bevor es die Daten an den Indikator für eine ältere TF weitergibt, die historischen Daten mit dem Server, wenn dies sofort geschieht, und wenn es vielleicht lange dauert, dann wird es wahrscheinlich pre_calculated = 0 sein
es gibt viele Optionen, wir kennen die Umsetzung nicht
Wenn das Herunterladen die historischen Daten der niedrigen TF ändert, wird der Zähler der niedrigen TF vom Terminal auf Null gesetzt, machen Sie keine Probleme aus heiterem Himmel
Du beweist, dass ich Recht habe, Genosse.
Ich bin kein... Genosse des Coders. Das ist keine Bestätigung, sondern ein Hinweis: Geben Sie nicht 0 zurück. Das ist Ihr einziges Problem. Sie selbst verursachen eine vollständige Neuberechnung des Indikators.
Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien
Wanzen, Wanzen, Fragen
Andrey Dik, 2021.05.28 17:26
Pre_calculated wird beim nächsten Takt nicht um 1 erhöht.
prev_calculated erhöht sich nicht; es wird immer derselbe Wert wie am Ende der Berechnung sein
return(rates_total);
d.h., was wir beim Verlassen von OnCalculated() zurückbekommen, wird beim nächsten Tick in prev_calculated zurückgegeben (außer prev_calculated == 0, das Terminal tut dies beim Starten des Indikators oder beim Synchronisieren von TF......)
wenn das Herunterladen die Verlaufsdaten der niedrigen TF ändert, wird der Zähler der niedrigen TF vom Terminal zwangsweise auf Null gesetzt, machen Sie nicht aus heiterem Himmel Ärger
Ich habe ihm schon den zweiten Tag geschrieben - nehmen Sie die Indikatoren von Mladen und studieren Sie sie - sie funktionieren, und ohne komplizierte Synchronisation zwischen TFs, und hier ... wir sparen Ressourcen und lassen das Terminal nicht die aufgerufenen TFs bilden
ersetzen.
zu
und testen Sie es.
Nicht auffordern... Er wird es sowieso nicht glauben.
Ich ... bin kein Freund des Codierers. Dies ist keine Bestätigung, sondern ein Hinweis: Geben Sie nicht 0 zurück, denn das ist die Ursache für alle Ihre Probleme. Sie selbst verursachen eine vollständige Neuberechnung des Indikators.
Sie sind vielleicht ein Idiot, wenn Sie einen Hinweis geben, aber nicht jeder kann Ihnen helfen, etwas zu verstehen und zu erklären.
ersetzen.
zu
und testen Sie es.
Vielen Dank, Andrej. Sie sind der Einzige, der sich mit dieser Frage eingehend beschäftigt hat.
2021.05.28 21:22:54.394 LitTF (EURUSD,M2) Der Indikator für Periode 3 ist noch nicht berechnet
2021.05.28 21:22:54.396 LitTF (EURUSD,M2) Der Indikator für Periode 3 wurde noch nicht berechnet
2021.05.28 21:22:54.397 OldTF (EURUSD,M3) 0.000262 sec, 50046 Bars berechnet, insgesamt 50046 Bars
2021.05.28 21:22:55.796 LitTF (EURUSD,M2) 0.007693 sec, 50000 Balken berechnet, 50000 Balken insgesamt
2021.05.28 21:24:02.286 LitTF (EURUSD,M2) Indikator für Zeitraum 3 noch nicht berechnet
2021.05.28 21:24:02.286 OldTF (EURUSD,M3) 0.000000 sec, 1 bar berechnet, 50047 bars total
2021.05.28 21:24:03.017 LitTF (EURUSD,M2) 0.000015 sec, berechnet 1 Balken, Gesamtbalken 50001
2021.05.28 21:26:03.898 LitTF (EURUSD,M2) 0.000007 sec, berechnet 1 Balken, Balken gesamt 50002
Jetzt funktioniert alles wie geplant, die Indikatoren werden nur einmal beim ersten Durchlauf und danach nur noch einmal für jeden neuen Balken vollständig berechnet.
Der endgültige Code des zweiten Indikators, ich hoffe, es wird jemandem nützlich sein:
Jeder Narr kann dir einen Tipp geben, aber nicht jeder kann dir helfen, zu verstehen und dir im Detail zu helfen.
Zähle, wie viele Dummköpfe dich beraten... Nur ein kluger Kerl kann niemandem zuhören und ist stur...............
Sie haben Ihr eigenes Problem geschaffen und versuchen, Ihren ...code als mql-Fehler darzustellen.