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
Springt die Geschichte zufällig auf?
Gilt das immer nur für ein Symbol oder auch für GBPUSD?
Welches Gebäude? Welcher Server?
Das Prellen der Geschichte gehört der Vergangenheit an,
Nein für alle Währungspaare sowohl auf simbol1 als auch auf simbol2,
Bild 370, Demokonto (alpari-demo)
Ich möchte anmerken, dass ich nur einen Händler habe (aus dem Screenshot oben), der Überschwinger ist
Ich möchte bemerken, dass, wenn ich einen Indikator (auf dem obigen Screenshot) zu verlassen, geht die Re-Draw nicht so bemerkbar,
kann es mehrmals neu gezeichnet werden.
Ich dachte, der Computer könnte langsam sein, aber auf einem 2-Kern-Computer ist es dasselbe, und das Diagramm scrollt nicht
Wahrscheinlich wartet er auf die Leerlaufzeit oder etwas anderes?
Am Abend werden die sechs Kerne getestet!
Ich möchte auch darauf hinweisen, dass bei anderen ähnlichen Truthähnen nichts passiert ist.
Das kann nicht an komplizierten Berechnungen liegen! Und die Drehscheibe ist einfach
und es funktioniert zu offenen Preisen.
Hilfe! Der Indikator funktioniert gut, zeigt und berechnet alles, aber
Wenn ein neuer Tick kommt, wird er zurückgesetzt und die Linien werden neu kalkuliert.
Ich bekomme sie regelmäßig bei Kommunikationsverlusten. Nach der Wiederherstellung der Verbindung berechnet das Terminal die Indikatorwerte neu, die Neuberechnung nimmt Zeit in Anspruch. Von der Referenz:
Die Beziehung zwischen dem von OnCalculate() zurückgegebenen Wert und dem zweiten Eingabeparameter prev_calculated sollte beachtet werden. Der Parameter prev_calculated beim Aufruf der Funktion enthält den von OnCalculate() beim vorherigen Aufruf zurückgegebenenWert . Dies ermöglicht sparsame Algorithmen für die Berechnung des benutzerdefinierten Indikators, um wiederholte Berechnungen für die Balken zu vermeiden, die sich seit dem letzten Aufruf dieser Funktion nicht verändert haben.
Dazu reicht es in der Regel aus, den Wert des Parameters rates_total zurückzugeben, der die Anzahl der Takte im aktuellen Funktionsaufruf enthält. Wenn sich seit dem letzten Aufruf von OnCalculate() die Preisdaten geändert haben (es wurde eine tiefere Historie geladen oder es wurden Lücken in der Historie gefüllt), dann wird der Wert des Eingabeparameters prev_calculated vom Terminal auf Null gesetzt.
Ich weiß nicht, wie Ihre Situation genau aussieht, aber für mich selbst erkläre ich ein solches Verhalten als "Auffüllen von Geschichtslücken". Oder vielleicht arbeitet Ihr Indikator ineffizient, indem er den gesamten Wertebereich bei jeder Ankunft eines Ticks neu berechnet?
Es gab keinen Kommunikationsverlust, kein Überziehen von Zecken, und je größer die TF, desto seltener.
Und die Berechnungsmethode vom Startdatum bis zum Enddatum (ich habe herausgefunden, dass es 3 davon gibt) ohne
Wahrscheinlich passiert es (es werden alle Balken neu berechnet), aber es ist noch nicht genau und ich weiß nicht, wie ich es überprüfen kann.
aber das ist nur ein Gedanke - prüfen wir es...
Vielleicht gibt es einen anderen Ansatz, um sie loszuwerden...
Es gab keinen Kommunikationsverlust, kein Überziehen von Zecken, und je größer die TF, desto seltener.
Und die Berechnungsmethode vom Startdatum bis zum Enddatum (ich habe herausgefunden, dass es 3 davon gibt) ohne
Wahrscheinlich passiert es (es werden alle Balken neu berechnet), aber es ist noch nicht genau und ich weiß nicht, wie ich es überprüfen kann.
aber das ist nur ein Gedanke - prüfen wir es...
Vielleicht gibt es einen anderen Ansatz, um sie loszuwerden...
Natürlich gibt es einen Ansatz. Wenn(prev_calculated==0), wird die erste Berechnung für alle Balken durchgeführt. Später, für jeden neuen Tick (wenn 0 < prev_calculated < rates_total) führen wir Berechnungen des Typs for(int i=prev_calculated-1;i<rates_total;i++) nur für die zuletzt erschienenen Bars durch.
Ich möchte den Zeitrahmenwert des aktuellen Diagramms als String abrufen. Ich schreibe es so:
Der Compiler sagt mir, dass die Funktion 'PeriodStr' nicht definiert ist...
Was soll das bringen? Kolleginnen und Kollegen, bitte helfen Sie mit :-)
In der Hilfe gibt es eine solche Funktion:
ZeitraumStr
Konvertiert den Wert der Aufzählung ENUM_TIMEFRAMES in einen String.
stringPeriodStr(
int val// Wert
)
Liebe Entwickler, bitte erklären Sie mir, was ein zweideutiger Aufruf einer überladenen Funktion ist (das ist es, worüber der Compiler flucht):
'set' - zweideutiger Aufruf einer überladenen Funktion
HH Ich habe herausgefunden, dass, wenn man die Konstanten im ersten und zweiten Parameter durch den Variablentyp int ersetzt, das Fluchen aufhört.
Aber ich verstehe die Logik des Compilers nicht, die ersten beiden Parameter sind in allen Überladungen gleich, keine Standardparameter.
Warum also flucht der Compiler, was ist die Zweideutigkeit des Aufrufs?
Ich möchte den Zeitrahmenwert des aktuellen Diagramms als String abrufen. Ich schreibe es so:
Der Compiler sagt mir, dass die Funktion 'PeriodStr' nicht definiert ist...
Was ist mit Ihnen los? Kolleginnen und Kollegen, bitte helfen Sie mir :-)
Sie sehen, die Hilfedatei hat diese Funktion:
ZeitraumStr
Konvertiert den Aufzählungswert von ENUM_TIMEFRAMES in einen String.
stringPeriodStr(
int val// Wert
)
Ich möchte den Zeitrahmenwert des aktuellen Diagramms als String abrufen. Ich schreibe es so:
Der Compiler sagt mir, dass die Funktion 'PeriodStr' nicht definiert ist...
Wo liegt das Problem? Kolleginnen und Kollegen, bitte helfen Sie mir :-)
In der Hilfe gibt es eine solche Funktion:
ZeitraumStr
Konvertiert den Wert der Aufzählung ENUM_TIMEFRAMES in einen String.
stringPeriodStr(
int val// Wert
)
Dies ist eine Klassenmethode
https://www.mql5.com/ru/docs/standardlibrary/technicalindicators/cindicator
#include<Anzeiger}Anzeiger.mqh>