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
Dieser Fehler tritt nicht während der Kompilierung auf, sondern wenn ich den Indikator an das Diagramm anhänge oder wenn ich den Zeitrahmen ändere.
Wird diese Fehlermeldung immer wieder angezeigt oder verschwindet sie mit der Zeit?
Leute! Kann MT5 mit jedem Maklerunternehmen verbunden werden?
Nein. Der Handel über MT5 ist über den Broker möglich, der die Möglichkeit bietet, über diese Plattform zu handeln, wie VTB24 und Alfa forex.
Wird diese Fehlermeldung ständig angezeigt, oder verschwindet sie mit der Zeit?
Wird diese Fehlermeldung immer wieder angezeigt oder verschwindet sie mit der Zeit?
Wird diese Fehlermeldung ständig angezeigt, oder verschwindet sie mit der Zeit?
FinEngineer:
Einmal, wenn ich den Indikator an das Diagramm anhänge...
Dann geht es Ihnen gut. Wenn Sie das Programm einfach an ein Diagramm anhängen oder den Zeitrahmen ändern, werden keine neuen Daten für den RSI-Indikator oder andere Indikatoren im Terminal berechnet. Und das Terminal braucht einige Zeit, um die notwendigen Indikatorpuffer zu berechnen. Schauen Sie sich Ihren Code genau an (ich verstehe, dass er nach dem Muster eines anderen geschrieben ist, aber trotzdem): Wenn die berechneten Daten für den RSI nicht ausreichen, hört die Funktion OnCalculate() auf zu arbeiten ('return(0);') und wartet auf einen neuen Tick. Sobald beim nächsten Tick die Indikatorpuffer für den RSI berechnet werden, beginnt Ihr Indikator im normalen Modus zu arbeiten. Nach dem zu urteilen, was Sie sagen, ist das der Fall.
Sie können die Prüfung auch mit BarsCalculated() in den OnInit()-Befehl einfügen - dann tritt der Fehler sehr selten (wenn überhaupt) auf. Ein Beispiel findet sich in der Beschreibung der Funktion BarsCalculated().
Über diesen Fehler habe ich Ihnen bereits gestern geschrieben. (Vergessen Sie nicht, den Code korrekt einzufügen :) )
Der für unzureichende Daten verantwortliche Teil des Codes wurde entfernt (siehe unten).
int calculated=BarsCalculated(RSI1_Handle);
if(berechnet<Raten_Gesamt)
{
Print("Nicht alle Daten von RSI1_Handle sind berechnet (",calculated, "bars ). Fehler",GetLastError());
zurück(0);
}
berechnet=BarsCalculated(RSI2_Handle);
if(berechnet<Raten_Gesamt)
{
Print("Nicht alle Daten von RSI2_Handle sind berechnet (",calculated, "bars ). Fehler",GetLastError());
zurück(0);
Können Sie mir sagen, wie ich Codefragmente in der Nachricht markieren kann?
Jetzt wird ein Fehler angezeigt:
2012.12.22 15:14:00 Pair_delta_RSI (EURGBP,M1) Abrufen des RSI1 ist fehlgeschlagen! Fehler4806Code korrekteinfügen.
Dort hat es gut funktioniert, dieses "Stück Code, das für unzureichende Daten verantwortlich ist". Und richtig berichtet, dass auf den ersten Tick Daten für RSI ist noch nicht durch das Terminal berechnet. Wenn Sie keine Fehlermeldungen erhalten möchten, versuchen Sie, wie oben beschrieben zu verfahren, d. h. nicht nur in OnCalculate(), sondern auch in OnInit() auf berechnete Daten zu prüfen. Mit anderen Worten: Versuchen Sie, die Datenberechnung für ausgewählte technische Indikatoren in OnInit() abzuwarten und dann zur Tick-Verarbeitung in OnCalculate() überzugehen, wenn die Daten für die Indikatoren garantiert berechnet werden.
Hinzufügen. Letztendlich erhöht das Entfernen eines Teils des Prüfcodes nicht die Anzahl der berechneten Indikatordaten :)