Das Einzige - um Lücken und Abflüsse von Kursen zu bekämpfen, ist es besser, close[i]-open[i] anstelle vonclose[i]-close[i-1] als Inkremente zu nehmen.
Ich verstehe, aber wie hilft das bei den Lücken in den Anführungszeichen? Ist es nicht besser, sie für H1 zu berücksichtigen?
"Es ist besser, close[i]-open[i] als Inkrement zu nehmen" - vielleicht ist eine prozentuale Änderung besser?
Es ist nicht schwer, ich bin sicher, dass Sie es schaffen können, wenn Sie wollen. Das Einzige, was Sie tun sollten, ist, close[i]-open[i] anstelle vonclose[i]-close[i-1] als Inkremente zu verwenden, um Lücken und Abflüsse von Kursen zu kontrollieren.
close[i-1] und open[i] unterscheiden sich um 1 Tick. Welchen Sinn hat es, mit der 1. Zecke zu kämpfen?
Ich verstehe, was mit Lücken passiert, aber wie hilft es, mit Preisrückgängen umzugehen? Ist es nicht besser, für H1 zu rechnen?
Wenn ein Takt = ein Inkrement ist, ist es kein Problem, wenn einige Takte verloren gehen. Wenn die Schrittweite durch zwei Balken gezählt wird, gibt es viele Ausschläge.
Evgeniy Chumakov:
"Wenn wir close[i]-open[i] als Inkremente verwenden wollen" - wäre es vielleicht besser, die prozentuale Veränderung zu verwenden?
Ja, so ist es besser. Sie können auch Logarithmus-Schritte verwenden.
Es ist fast garantiert, dass Lücken und Lücken in der Geschichte beseitigt werden.
Eine Lücke kann bei jedem anderen Tick innerhalb einer Minute auftreten. Fehlende Balken sollten ab dem letzten bekannten Preis des letzten bekannten Balkens aufgefüllt werden.
elibrarius: Eine Lücke kann bei jedem anderen Tick innerhalb einer Minute auftreten. Fehlende Balken sollten ab dem letzten bekannten Preis des letzten bekannten Balkens aufgefüllt werden.
Gleichmäßig auf die Balken verteilte Lücken sind nicht sehr beängstigend. Die unangenehmen sind diejenigen, die zu einer bestimmten Zeit zusammengedrängt sind, was in der Regel Lücken zwischen den Takten sind.
Die "verpassten" Takte sind ein zweideutiger Begriff, es kann sich um einen Feiertag, eine kurze Sitzung usw. handeln oder einfach um aus völlig unklaren Gründen ausgelassene Takte. Ich habe beschlossen, dass es einfacher ist, die Inkremente für einen Balken zu berechnen, als Sherlock Holmes zu zeigen, wie er mit mehreren einminütigen Balken des Zehnjahreszeitraums umgeht.
1) Ich erstelle ein Array von String-Indizes mit einer Länge, die der Anzahl der Strings entspricht, und fülle es mit Werten von 0 bis N Strings
2) Ich mische diese Anordnung
Dabei ist RandomInteger() eine beliebige Variante der
3) dann nehme ich alle Werte dieser Indizes in einer Schleife und durch sie aus dem Haupt-Array die erforderliche Zeichenfolge, es stellt sich heraus, Pseudo-Zufall nach dem Mischen der Indizes zu sein
Ich habe diesen Algorithmus mit der Zufallsfunktion ausprobiert, die ich zuvor angegeben habe. Es stellt sich heraus, dass es eine Verschiebung zur ersten Hälfte des numerischen Arrays gibt, wenn man die ersten n Werte des resultierenden Arrays nimmt und dann das Array der Reihe nach filtert. Und die Gruppen in einer Reihe werden beobachtet, was auch nicht gut ist, aber besser als nichts.
Ich habe diesen Algorithmus mit der Zufallsfunktion ausprobiert, die ich zuvor angegeben habe. Es stellt sich heraus, dass es einen Versatz zur ersten Hälfte der Zahlenreihe gibt, wenn man die ersten n Werte aus dem resultierenden Array nimmt und dann das Array der Reihe nach filtert. Und die Gruppen in einer Reihe werden beobachtet, was auch nicht toll ist, aber besser als nichts.
Seltsam. Ich frage mich, wie sich das erklären lässt? Ich habe eine andere Version auskommentiert, die mir aber aus logischen Gründen nicht gefallen hat:
for (int r = 0; r<rows; r++) {//перебор train участка//j = r + RandomInteger(rows - r);//номер строки с которой поменять
j = RandomInteger(rows);//номер строки с которой поменять - так равномернее. Формулой выше меняются последние с последними. А тут с любыми.
c = idx[r]; idx[r] = idx[j]; idx[j] = c;
}
Welche RandomInteger() verwenden Sie? Ich verwende XOR.
close[i-1] und open[i] unterscheiden sich um 1 Tick. Was bringt es, mit 1 Zecke zu kämpfen?
Du liegst falsch), unterscheiden sie sich nicht um 1 Tick, diese Werte werden gleich sein. Nur im Falle einer Lücke wird es einen Unterschied geben. Ja, close[i-1] wird nicht funktionieren))) für einen neuen Takt
Ein neuer Minutenbalken öffnet sich nicht, wenn eine neue Minute beginnt (die Anzahl der Sekunden wird zu 0), sondern wenn ein Tick kommt - eine Preisänderung von mindestens einem Punkt.
Идея автоматической торговли привлекательна тем, что торговый робот может без устали работать 24 часа в сутки и семь дней в неделю. Робот не знает усталости, сомнений и страха, ему не ведомы психологические проблемы. Достаточно четко формализовать торговые правила и реализовать их в виде алгоритмов, и робот готов неустанно трудиться. Но прежде...
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Erlauben Sie die Verwendung von Cookies, um sich auf der Website MQL5.com anzumelden.
Bitte aktivieren Sie die notwendige Einstellung in Ihrem Browser, da Sie sich sonst nicht einloggen können.
Sie sind angemeldet. Die Zwei-Faktor-Authentifizierung wurde deaktiviert. Richten Sie sie erneut ein und scannen Sie einen neuen QR-Code oder fahren Sie mit deaktivierter Zwei-Faktor-Authentifizierung fort.
Das Einzige - um Lücken und Abflüsse von Kursen zu bekämpfen, ist es besser, close[i]-open[i] anstelle vonclose[i]-close[i-1] als Inkremente zu nehmen.
Ich verstehe, aber wie hilft das bei den Lücken in den Anführungszeichen? Ist es nicht besser, sie für H1 zu berücksichtigen?
"Es ist besser, close[i]-open[i] als Inkrement zu nehmen" - vielleicht ist eine prozentuale Änderung besser?Es ist nicht schwer, ich bin sicher, dass Sie es schaffen können, wenn Sie wollen. Das Einzige, was Sie tun sollten, ist, close[i]-open[i] anstelle vonclose[i]-close[i-1] als Inkremente zu verwenden, um Lücken und Abflüsse von Kursen zu kontrollieren.
close[i-1] und open[i] unterscheiden sich um 1 Tick. Welchen Sinn hat es, mit der 1. Zecke zu kämpfen?
Ich verstehe, was mit Lücken passiert, aber wie hilft es, mit Preisrückgängen umzugehen? Ist es nicht besser, für H1 zu rechnen?
Wenn ein Takt = ein Inkrement ist, ist es kein Problem, wenn einige Takte verloren gehen. Wenn die Schrittweite durch zwei Balken gezählt wird, gibt es viele Ausschläge.
"Wenn wir close[i]-open[i] als Inkremente verwenden wollen" - wäre es vielleicht besser, die prozentuale Veränderung zu verwenden?
Ja, so ist es besser. Sie können auch Logarithmus-Schritte verwenden.
close[i-1] und open[i] unterscheiden sich um 1 Tick. Welchen Sinn hat es, mit 1 Zecke zu kämpfen?
Praktisch eine Garantie dafür, dass Lücken und Aussetzer in der Geschichte beseitigt werden.
Es ist fast garantiert, dass Lücken und Lücken in der Geschichte beseitigt werden.
Eine Lücke kann bei jedem anderen Tick innerhalb einer Minute auftreten. Fehlende Balken sollten ab dem letzten bekannten Preis des letzten bekannten Balkens aufgefüllt werden.
Gleichmäßig auf die Balken verteilte Lücken sind nicht sehr beängstigend. Die unangenehmen sind diejenigen, die zu einer bestimmten Zeit zusammengedrängt sind, was in der Regel Lücken zwischen den Takten sind.
Die "verpassten" Takte sind ein zweideutiger Begriff, es kann sich um einen Feiertag, eine kurze Sitzung usw. handeln oder einfach um aus völlig unklaren Gründen ausgelassene Takte. Ich habe beschlossen, dass es einfacher ist, die Inkremente für einen Balken zu berechnen, als Sherlock Holmes zu zeigen, wie er mit mehreren einminütigen Balken des Zehnjahreszeitraums umgeht.
Ich tue dies:
1) Ich erstelle ein Array von String-Indizes mit einer Länge, die der Anzahl der Strings entspricht, und fülle es mit Werten von 0 bis N Strings
2) Ich mische diese Anordnung
Dabei ist RandomInteger() eine beliebige Variante der
3) dann nehme ich alle Werte dieser Indizes in einer Schleife und durch sie aus dem Haupt-Array die erforderliche Zeichenfolge, es stellt sich heraus, Pseudo-Zufall nach dem Mischen der Indizes zu seinIch habe diesen Algorithmus mit der Zufallsfunktion ausprobiert, die ich zuvor angegeben habe. Es stellt sich heraus, dass es eine Verschiebung zur ersten Hälfte des numerischen Arrays gibt, wenn man die ersten n Werte des resultierenden Arrays nimmt und dann das Array der Reihe nach filtert. Und die Gruppen in einer Reihe werden beobachtet, was auch nicht gut ist, aber besser als nichts.
Ich habe diesen Algorithmus mit der Zufallsfunktion ausprobiert, die ich zuvor angegeben habe. Es stellt sich heraus, dass es einen Versatz zur ersten Hälfte der Zahlenreihe gibt, wenn man die ersten n Werte aus dem resultierenden Array nimmt und dann das Array der Reihe nach filtert. Und die Gruppen in einer Reihe werden beobachtet, was auch nicht toll ist, aber besser als nichts.
Seltsam. Ich frage mich, wie sich das erklären lässt?
Ich habe eine andere Version auskommentiert, die mir aber aus logischen Gründen nicht gefallen hat:
Welche RandomInteger() verwenden Sie? Ich verwende XOR.
close[i-1] und open[i] unterscheiden sich um 1 Tick. Was bringt es, mit 1 Zecke zu kämpfen?
Sie sind falsch) sie unterscheiden sich nicht um 1 Tick, diese Werte werden gleich sein.
https://www.mql5.com/ru/docs/runtime/testing
Ein neuer Minutenbalken öffnet sich nicht, wenn eine neue Minute beginnt (die Anzahl der Sekunden wird zu 0), sondern wenn ein Tick kommt - eine Preisänderung von mindestens einem Punkt.