Einzelnen Beitrag anzeigen
  #6 (permalink)  
Alt 13.08.12
Blu_Royal Blu_Royal ist offline
Neues Mitglied
 
Registriert seit: Jan 2010
Beiträge: 8
Blu_Royal befindet sich auf einem aufstrebenden Ast
Standard

hi,

also die Ordersend funktion sieht in den meisten fällen so aus:

if ("das was du siehst" == "das was du suchst"){
ticket = OrderSend(Symbol(),OP_SELL,lots,Bid,Slippage,0,0," Short",12345,0,Green);
if(ticket < 0){
Print("OrderSend failed with error #", GetLastError());}

Symbol() ist das aktuelle Symbol auf dem der EA läuft. Lots, Bid, und Slippage kennst du hoffentlich. Short ist die Bemerkung, 12345 ist die Magicnumber. Die null danach ist die Verfallszeit, die macht allerdings bei einem OP_SELL keinen sinn. Und Green ist für die Farbe des Pfeils im Chartfenster. Wenn du weitere fragen hast:
OrderSend - MQL4 Documentation

Einen TrailingStop kann man nicht einfach setzen, du musst mit einer Schleife die Stops nachziehen. Das sieht dann so aus:

if (OrdersTotal() > 0 ){
for(int pos = OrdersTotal()-1; pos >= 0 ; pos--){
OrderSelect(pos, SELECT_BY_POS);
if (OrderType() == OP_BUY){
if ((Trailing == true) && (OrderProfit() > 1)){
if ((Bid - ((TrailingStop*Point) + (TrailingStep*Point))) > OrderStopLoss()){
if ((Bid - ((TrailingStop*Point) + (TrailingStep*Point))) > OrderOpenPrice()){
OrderModify(OrderTicket(),OrderOpenPrice(),(Bid - (TrailingStop*Point)),OrderTakeProfit(),0,Green);} }}
if (OrderType() == OP_SELL){
if ((Trailing == true) && (OrderProfit() > 1)){
if ((Ask + ((TrailingStop*Point) + (TrailingStep*Point))) < OrderStopLoss()){
if ((Ask + ((TrailingStop*Point) + (TrailingStep*Point))) < OrderOpenPrice()){
OrderModify(OrderTicket(),OrderOpenPrice(),(Ask + (TrailingStop*Point)),OrderTakeProfit(),0,Green);} }}

Hoffe ich konnte ein bisschen helfen.