Einzelnen Beitrag anzeigen
  #2 (permalink)  
Alt 04.12.17
mocwoc mocwoc ist offline
Neues Mitglied
 
Registriert seit: Dec 2017
Beiträge: 6
mocwoc befindet sich auf einem aufstrebenden Ast
Wink Ein Trade pro Richtung

Hallo Julia1994,

für Dein Problem gibt es mehrere Lösungen unterschiedlicher Qualität. Im Prinzip musst Du in Deinen Code eine Abfrage einbauen, ob eine neue Periode oder ein neuer Balken begonnen hat oder nicht. Dafür lassen sich folgende Kriterien nutzen:

a) Volumen: Abfrage, ob das Volumen kleiner 2 ist. Am Anfang jeder Periode ist das Volumen 0 und steigt dann mit jedem Tick meines Wissens nach um 1.

b) Neue Kerze / neuer Balken: Abfrage über "Bars"

c) Neue Startzeit: Abfrage über Time[0] = Startzeit der neuen Periode.

Die Varianten a) und b) lassen sich auch auf nicht zeitbasierte Charts, wie z.B. Renko Charts anwenden. Alle drei Varianten haben den Nachteil, dass das Signal exakt zu Beginn der neuen Periode oder des neuen Balkens gültig sein muss, sofern man das Abfrageergebnis nicht lediglich als Eingangskriterium für weitere if-Statements verwendet, was ich jetzt nicht weiter getestet habe.

Die in meinen Augen eleganteste, aber etwas komplexere Lösung d) ist es, die OrderCloseTime() der letzten Order zu erfassen, also, wenn Dein Take Profit oder Stop Loss greift und damit zu vergleichen ob Time[0] größer oder kleiner als die letzte OrderCloseTime() ist. Diese Lösung erlaubt es, dass ein Signal erst im weiteren Verlauf der neuen Periode gültig wird.

In allen Fällen wird in der laufenden Periode kein neuer Trade eröffnet.

Ich füge hier aus meiner Sandbox einen Beispiel-EA mit einer Dummy Buy-/Sell-Logik bei. Den kann man auch noch etwas vereinfachen, aber für Test- und Schulungszwecke ist er ganz gut.

Die Anzeigen links oben helfen dabei zu identifizieren, was gerade gültig ist. Wenn eine neue Periode eröffnet wird, werden die verschiedenen Varianten beim ersten Tick kurz grün um dann wieder auf neutral weiß zu wechseln. Mit Ausnahme der Variante d). Da bleibt der Bool-Wert auf 1 bis eine offene Order geschlossen wurde und wartet dann auf den Beginn einer neuen Periode.

Just my 2 cents. No warranty.

Cheers, mocwoc.