![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
Generator repariert. Ersetzen Sie Ihre Exe durch diese.
Der Generator setzt manchmal Indikator Periode + Shift > Bar Count;
Ich bin bereits verwirrt. :)
Neue Version.
Nachdem die Anzahl der Takte auf 300 reduziert wurde, funktioniert der Generator und kann mit der Schaltfläche Stop gestoppt werden.
'
Alte Version (schnell von der Website heruntergeladen)
Aber wenn die Anzahl der Balken < 1000 ist, dann bleibt der Generator hängen.
'
IMHO ist es besser, sich an die 1000-bar-Grenzwertanforderung für das Prüfgerät zu gewöhnen, aber die Bequemlichkeit, das Intervall zu wählen.
'
Ich bin bereits verwirrt. :)
'
Alte Version (schnell von der Website heruntergeladen)
Aber wenn die Anzahl der Balken < 1000 ist, bleibt der Generator hängen.
'
Der glückliche Gedanke an die "alte Version" erwies sich als falsch.
D.h. das Bild ist dasselbe wie bei der neuen Version. (d.h. die Anzahl der Balken hat höhere Priorität als das Datum DO!!!!)
'
'
Hoppla
Ist es richtig, dass die Schleife bis iTempBars - MINIMUMBARS geht, d.h. bis zur maximalen Anzahl von Balken iTempBars = iMaxBars; vom Beginn der Historie an?
In meinen Verlaufsdateien sind weit über 50 000 Zeilen und in diesem Intervall von iTempStartBar = iBars - iMaxBars bis iMaxBars- MINIMUMBARS kann einfach kein Datum bestellt werden?!
Logischerweise sollten das Enddatum und das Startdatum bis zum Ende der gesamten Geschichte gesucht werden, d.h. bis zum iBars ??
Die Endleiste wird jedoch korrekt gefunden.
Zu Ihren Bildschirmfotos:
1. Die Option "Daten entfernen, die älter sind als der 1. September 2008" wird ignoriert, da es weniger als 300 Balken bis zum 1. Januar 2009 gibt.
2. "Daten vor dem 1. Januar 2009 entfernen" - es scheint, dass es keine Daten für den 1. Januar gibt FSB schneidet alle Balken ab dem 01.01.08 aus, einschließlich . Aus diesem Grund begrenzt FSB die Barren bis zum 31.12.08.
(D.h. die Anzahl der Balken hat höhere Priorität als das Datum BEFORE!!!!)
Ganz genau.
1. "Daten, die älter als der 1. September 2008 sind, werden ignoriert, da es bis zum 1. Januar 2009 weniger als 300 Balken gibt.
2. "Daten vor dem 1. Januar 2009 entfernen" - es scheint, dass es keine Daten für den 1. Januar gibt. Aus diesem Grund begrenzt FSB die Barren bis zum 31.12.08.
Jetzt nicht mehr.
Ich zeige jetzt die Uhr.
In Datei 63291(iBars) die Zeilen vom 1999-01-04 bis 2009-03-18
Datum 2008-09-01 ist Zeile 59 973
Das Datum 2009-01-02 steht in Zeile 62 021.
D.h. Wenn das Programm nach dem Startdatum sucht, "läuft" der Zyklus von Takt 63 291 - 50 000 = 13 291(iTempStartBar = iBars - iMaxBars; ) bis Takt 50 000 - 300 = 49 700(iTempBars - MINIMUMBARS) und findet mein "Vorher"-Datum (Takt 59 973) nicht, so dass(iTempStartBar = iBars - iMaxBars;) Starttakt = 63 290 - 50 000 = 13 290.
In meiner Datei ist es 2001-02-21 12:00 (+/- 300, was der Zahl entspricht)
Datei beigefügt.
iBars<= 50.000
FSB importiert die neuesten 50.000 Balken aus der Datendatei.
Also:
Datum 2008-09-01 ist Zeile 59 973
Datum 2009-01-02 ist Zeile 62 021
liegen außerhalb der geladenen Daten. Sie werden von Data Horizon nicht berücksichtigt.
Ops. Ich habe mich geirrt.
iBars <= 50.000
FSB importiert die neuesten 50.000 Balken aus der Datendatei.
Also:
Datum 2008-09-01 ist Zeile 59 973
2009-01-02 ist Zeile 62 021
liegen außerhalb der geladenen Daten. Sie werden von Data Horizont nicht berücksichtigt.
neueste !!!!, d.h. von 13.291 bis 63 291!!!!! und sucht jetzt von 0 bis 50.000 (gerundet ;) )
Keine Einigung. :( Schade :(
Allerdings scheint es mir korrekter zu sein, iTempStartBar ;iBar < iTempBars - MINIMUMBARS; iBar++) durch iTempEndBar anstellevon iTempBars - MINIMUMBARS zuersetzen .Und der ganze Block "// Die maximale Anzahl der Balken festlegen" ist überflüssig, wenn AND bUseStartDate=True AND bUseEndDate=True
'
Aber wie gesagt, ich bestehe nicht darauf. :( (Ich schneide die Datei, obwohl für Minutien kann es gut wollen, um die Strategie auf den letzten 50 000 Bars zu optimieren und überprüfen Sie es auf die nächsten 10 000 Bars.
:(
SZY: Es gibt immer noch einen Fehler im Code und er entspricht nicht dem Schema!!!!! (mein Intervall ist auf der rechten Seite und nicht auf der linken Seite) :(
Denken wir mal darüber nach.
Geben Sie mir den gewünschten Code. Ich werde es in das Programm einfügen und wir werden es testen.
Denken wir mal darüber nach.
Geben Sie mir den gewünschten Code. Ich werde es in das Programm einfügen und wir werden es testen.
Ein Ausschnitt Ihres Codes von den vorherigen Seiten.
hinzufügen
, aber für die Rücksetzung des Startdatums muss iTempStartBar!!!! seinwenn dtStartingDate vor iMaxBars liegt, sollten Sie dtStartingDate ignorieren und durch iMaxBars begrenzen
Und ich denke, es sollte iMaxBars von dtStartingDate "nach rechts", so dass Sie die Fenstergröße von iMaxBars in der gesamten Datei bewegen können!
Wenn jedoch die Balken von dtStartingDate kleiner sind als die von iMaxBars, dann sollte dtStartingDate Vorrang haben, da Datumsangaben intuitiver sind als Balken. IMHO.
Und in der Regel setzt ein Benutzer ein "tick" bewusst, und Bars - standardmäßig, desto mehr, so ist es in das System (iMaxBars) eingebettet
'
ZS: Das Lustige ist, dass ich das Programm wahrscheinlich nicht benutzen werde :)