Ohne Informationen darüber, wie Ihr EA entscheidet, zu kaufen/verkaufen, ist dies schwer zu beantworten.
Wir sehen auf dem Markt viele Situationen, in denen ein Balken eine sehr große Größe hat (z.B. bei wichtigen Nachrichten).
Der Tester generiert dann bis zu 11 Ticks für einen solchen Balken. Je nach Ihrer Logik verhält er sich sehr unterschiedlich (nur im Test).
Wenn Sie Ihren EA mit echtem Geld verwenden würden, bin ich mir ziemlich sicher, dass es viel schlimmer sein wird, weil solche großen Balken bis zu 200 Ticks in einer Minute haben können.
Ich gehe davon aus, dass Ihre Logik auf den aktuellen Balken wirkt, Sie sollten Ihre Logik mit den Werten des vorherigen Balkens ausprobieren.
Beste Wünsche
Uwe
Ohne Informationen darüber, wie Ihr EA über den Kauf/Verkauf entscheidet, ist dies schwer zu beantworten.
Wir sehen auf dem Markt viele Situationen, in denen ein Balken eine sehr große Größe hat (z.B. bei wichtigen Nachrichten).
Der Tester generiert dann bis zu 11 Ticks für einen solchen Balken. Je nach Ihrer Logik verhält er sich sehr unterschiedlich (nur im Test).
Wenn Sie Ihren EA mit echtem Geld verwenden würden, bin ich mir ziemlich sicher, dass es viel schlimmer sein wird, weil solche großen Balken bis zu 200 Ticks in einer Minute haben können.
Ich gehe davon aus, dass Ihre Logik auf den aktuellen Balken wirkt, Sie sollten Ihre Logik mit den Werten des vorherigen Balkens ausprobieren.
Beste Wünsche
Uwe
Ich sende jetzt einen Trick, um nur in einem Balken zu "ticken". Sie müssen diese Logik nur an den Anfang des Ticks setzen. Wenn der Balken nicht neu ist, wird er verlassen...
In welchen Situationen denkst du, dass dieser Trick gut funktionieren könnte?
//--- Let's first check if a new bar has come! if(CopyTime(_Symbol, _Period, 0, 1, m_currentBarTime) > 0) { if(m_previousBarTime != m_currentBarTime[0]) { m_isNewBar = true; m_previousBarTime = m_currentBarTime[0]; } } else { Alert("Error copying historical data, error: ", GetLastError()); return; } if(!m_isNewBar) return;
Was würden Sie auch empfehlen, um diese zusätzlichen Ticks zu lösen? Gibt es einen Artikel oder so, der dies erklärt? Vielen Dank!
Ich sende jetzt einen Trick, um nur in einem Takt zu "ticken". Man muss nur diese Logik an den Anfang des Ticks setzen. Wenn der Balken nicht neu ist, wird er verlassen...
In welchen Situationen denken Sie, dass dieser Trick gut funktionieren könnte?
Was würden Sie auch empfehlen , um diese zusätzlichen Ticks zu lösen? Gibt es einen Artikel oder so, der dies erklärt? Ich danke Ihnen.
Ohne Informationen darüber, wie Ihr EA entscheidet, zu kaufen/verkaufen, ist dies schwer zu beantworten.
Wir sehen auf dem Markt viele Situationen, in denen ein Balken eine sehr große Größe hat (z.B. bei wichtigen Nachrichten).
Der Tester generiert dann bis zu 11 Ticks für einen solchen Balken. Je nach Ihrer Logik verhält er sich sehr unterschiedlich (nur im Test).
Wenn Sie Ihren EA mit echtem Geld verwenden würden, bin ich mir ziemlich sicher, dass es viel schlimmer sein wird, weil solche großen Balken bis zu 200 Ticks in einer Minute haben können.
Ich gehe davon aus, dass Ihre Logik auf den aktuellen Balken wirkt, Sie sollten Ihre Logik mit den Werten des vorherigen Balkens ausprobieren.
Beste Wünsche
Uwe
Hallo,
was meinst du mit den Werten des vorherigen Balkens? maVal[1] (wobei maVal gleitende Durchschnittswerte enthält und das Array als Serie eingestellt ist) anstelle von maVal[0] verwenden?
oder überprüfen Sie, ob die Bedingung während des letzten Balkens verifiziert wurde und geben Sie sie bei der Eröffnung dieses Balkens ein?
unten ein Teil des Codes meines sehr einfachen EA
triggerLong=maVal[1]-diff; triggerShort=maVal[1]+diff; ...... ....... Buy_Condition_1=(now_ask<triggerLong); Sell_Condition_1=(now_bid>triggerShort); Exit_long_Condition=(closeAtCross? now_ask>=maVal[1]:false) || Sell_Condition_1; Exit_short_Condition=(closeAtCross? now_bid<=maVal[1]:false) || Buy_Condition_1;
ob ich maVal[1] oder maVal[0] verwende, die Situation ändert sich nicht so sehr, die ohcl ist immer noch profitabel, während jeder Tick nicht ist.
danke
Ohne Informationen darüber, wie Ihr EA entscheidet, zu kaufen/verkaufen, ist dies schwer zu beantworten.
Wir sehen auf dem Markt viele Situationen, in denen ein Balken eine sehr große Größe hat (z.B. bei wichtigen Nachrichten).
Der Tester generiert dann bis zu 11 Ticks für einen solchen Balken. Je nach Ihrer Logik verhält er sich sehr unterschiedlich (nur im Test).
Wenn Sie Ihren EA mit echtem Geld verwenden würden, bin ich mir ziemlich sicher, dass es viel schlimmer sein wird, weil solche großen Balken bis zu 200 Ticks in einer Minute haben können.
Ich gehe davon aus, dass Ihre Logik auf den aktuellen Balken wirkt, Sie sollten Ihre Logik mit den Werten des vorherigen Balkens ausprobieren.
Beste Wünsche
Uwe
Was meinen Sie mit "um diese zusätzlichen Ticks zu lösen"?
Ich stimme mit ugo58 absolut überein. Große Balken können das Ereignis OnTick viele Male auslösen, während kleine Balken es viel seltener auslösen werden.
Dies kann sich auf Ihre automatisierte Handelsstrategie auswirken, weshalb wir Entwickler nach Lösungen suchen müssen, die die Tatsache abmildern, dass Ihr Ereignis OnTick viele Male pro Balken ausgeführt werden kann.
Ich denke, dass das, was ich vorhin geschickt habe, nur eine Lösung ist. ugo50 hat eine andere Lösung vorgeschlagen: die Ausführung Ihrer OnTick-Logik im letzten vergangenen Takt. Wie auch immer, wenn Sie Ihre OnTick-Logik auf dem aktuellen Balken ausführen möchten, können Sie vielleicht etwas Ähnliches wie das, was ich zuvor geschickt habe, verwenden.
Wir versuchen, so etwas wie ein OnBar-Ereignis zu implementieren.
Was denken Sie darüber?
Hallo,
was meinen Sie mit den Werten des vorherigen Balkens? Verwenden Sie maVal[1] (wobei maVal gleitende Durchschnittswerte enthält und das Array als Serie eingestellt ist) anstelle von maVal[0]?
oder überprüfen Sie, ob die Bedingung während des letzten Balkens verifiziert wurde und geben Sie sie bei der Eröffnung dieses Balkens ein?
unten ein Teil des Codes meines sehr einfachen EA
ob ich maVal[1] oder maVal[0] verwende, die Situation ändert sich nicht so sehr, die ohcl ist immer noch profitabel, während jeder Tick nicht ist.
Danke
Es ist natürlich ein großer Unterschied, ob Ihr Code maVal[1] oder maVal[0] verwendet, oder ob Sie generell nur auf Closed bar oder auf Open bar oder innerhalb eines bar arbeiten.
Im letzten Fall müssen Sie den Modus Every tick verwenden, alle anderen Modi sind nicht geeignet.
Das ist nicht wahr, Tester kann viel mehr als 11 Ticks erzeugen. Siehe diesen Beitrag.
Vielen Dank. Oh, nun ja. Eines der Dinge, die ich einfach neu lernen musste ;)
Wie ich schon sagte, hängt es von Ihrer Logik ab.
Es gibt viele Möglichkeiten, diese Probleme zu lösen, maVal[1]ist eine der einfacheren Lösungen, da sich gleitende Durchschnitte nicht so schnell pro Bar ändern (abhängig von der Periodenlänge und der Glättungsmethode).
Das könnte anders sein, wenn Sie zum Beispiel von einem Hoch und Tief einer Reihe von Bars abhängen.
- 2010.10.11
- Konstantin Gruzdev
- www.mql5.com
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Ich bin immer völlig entgegengesetzte Ergebnis beim Testen auf jeden Tick oder 1min OHLC. die EA und Eingabeparameter sind genau das gleiche, aber im Falle von 1min ohlc ich 50000 Gewinn erhalten, während in jedem Tick ich -7000 Verluste erhalten.
Dies geschieht auf viele Paare testen auf einen Zeitraum von 2 Jahren 0811-0813
hat jemand das gleiche Problem gehabt? Ich verstehe nicht, was ist das Problem hier und was soll ich tun, wenn der Handel mit echtem Geld.
beide Diagramme unten
1Minute OHLC
jeder Tick