Einzelnen Beitrag anzeigen
  #9 (permalink)  
Alt 16.04.13
janbuk63 janbuk63 ist offline
Mitglied
 
Registriert seit: Mar 2013
Beiträge: 30
janbuk63 befindet sich auf einem aufstrebenden Ast
Standard

Hi!
uff, die EA laüft wieder, und das was kaputt war ist echt komisch. Eine Variable die nach eine Formel berechnet wird zeigte unverständlicherweise immer 0 Wert da obwohl alles korrekt geschrieben war. Da habe ich die Zeile gelöscht und nochmal geschrieben und siehe da, jetzt zeigt sie den normalen Wert an.

@traderdoc
Danke für die Erklärung zwischen continue und break! In MQL4 Book und noch eine in polnische Sprache wird es nur sehr formell angeganngen und in der Praxis macht man dann Fehler. Jetzt habe ich es so wie angezeigt geschrieben und es wäre bestimmt gut. Ich schreibe "wäre", weil es hat sich gezeigt,dass so wie ich es wollte klappt es nicht.

Ich wollte so vorgehen:
1. Überprüfen alle Offenen Positionen ob sie in Verlust sind.(mit eine for Schleife)
2. Wenn was gefunden wurde den OrderOpenPrice benutzen und fürs hedgen ein Punkt feststellen zB. 30 Pips in Verlustrichtung.
3. Überprüfen mit weiterer for Schleife alle Positionen auf OpenPrice ob sie nicht schon auf den zuvorermittelten Hedgepunkt "sitzen" und somit schon ein Hedge da ist, wenn Nichts gefunden wurde dann Hedgen (das ist das Teil wo ich diesen Schalter Hedgen=true oder false, dank Dir benutze! )

Leider das funktionirt nicht richtig! Ich habe die Order mit MarketOrder gesetzt und das ist keine genaue Methode. Wegen Slippage wird niemals der Hedgepunkt genau getroffen und dann bei späteren überprüfen Punkt.2 wird kein Hedge gefunden obwohl schon eine da ist und wird erneut gehedgt und das -zig mal hintereinander. Da sehe ich auf dem Chart eine schöne rote Wolke aus sell Pfeilen

Vielleicht könnte man diese Ungenauigkeit beim setzten mit Pendingorder lösen aber weil ich noch ein Zähler (Close_Hedge_Time) habe und der muss ja für alle Hedges einzeln geführt werden habe ich mir was anderes überlegt.

Neuer Ansatz:
1.Ich lege eine Tabelle an, ein Array mit 2 Zeilen. Die 0 Zeile mit sagen wir 50 Positionen und die 1 Zeile mit natürlich auch 50 Plätzen also HedgenPos[50,2]. In der 0 Zeile werden die MagicNumber von allen in Verlust gelaufenen Positionen abgespeichert und in 1 Zeile die Zählerstände für einzelne Hedgepositionen. Die Tabelle mus vor Init Teil stehen damit es beim nächsten Durchlauf die Werte noch da sind.
2.Überprüfen alle Positionen genau wie oben Punkt1. aber wenn was gefunden wird soll die OrderMagicNumber in die Tabelle rein!
3.Überprüfen alle Positionen wie oben Punkt.2 aber mit Hilfe von Tabelle. Wenn die MagicNumber gefunden wird das heißt: Hedge ist schon da Hedgen=true und break, wenn nicht Hedgen setzen und Zähler dekrementieren, runter um 1.
Die Order würde ich dann lieber mit Pendingorder setzen allerdings weiss ich nicht ob ein StopLoss = 5 Pips -als Beispiel- akzeptiert wird?

was denkt Ihr? Lege ich da richtig oder macher ich wieder Denkfehler?
Wie gesgt ich bin kein Programmierer und muss ich alles bei der "Arbeit" lernen. Ich weiss nicht mal wie man die Arrays initialisiert, versuche schon seit Stunden und immer kommeen Fehler: Klammer zu viel, keine Klammer, unexpected token ...
Gruß
janbuk