Einzelnen Beitrag anzeigen
  #3 (permalink)  
Alt 22.11.13
traderdoc traderdoc ist offline
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.735
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Hier sollte für einen Anfänger nicht unerwähnt bleiben, dass ohne vorheriges
OrderSelect() nichts geht.
Desweiteren würde der Code nur mit einem 4-Digit-Broker sauber funktionieren. In der Regel werden die Werte in den Variablen in F7 für SL, TP, TrailingStop, TrailingStep etc., immer so angegeben wie gewöhnlich, d.h. 20 Pips sollen dann auch 20 Pips sein. Unter Benutzung eines 5-Digit-Brokers wären das aber dann nur 2 Pips und das ist erstens sicher so nicht gewollt und zweitens kann es Probleme mit dem STOPLEVEL geben, welches in der Erromeldung "Invalid SL/TP" münden würde.

Deshalb muß unbedingt, am besten in der init()-Funktion, folgendes stehen:

multiplier = 1;
digit = MarketInfo(Symbol(), MODE_DIGITS);
if (digit == 3 || digit == 5) multiplier = 10;

//als Beispiel

TrailingStop *= multiplier;

Und dann kann der angepaßte Pipwert für z.B. TrailingStop weiter benutzt werden.

traderdoc