Thema: Error
Einzelnen Beitrag anzeigen
  #14 (permalink)  
Alt 17.09.17
RetepM RetepM ist offline
Mitglied
 
Registriert seit: Feb 2016
Beiträge: 240
RetepM befindet sich auf einem aufstrebenden Ast
Standard OrderSend and OrderModify

Hi,
ich hab mal auf die Schnelle ein paar Zeilen aus einem fertigen EA kopiert. Damit müsste Dein Problem gelöst sein:

// steht in init()
NDigits = Digits;

// steht in start()
PipValue = 1;
if (NDigits == 3 || NDigits == 5) PipValue = 10;

// Variables
extern int MagicNo = 5555;
extern int BuyStoploss = 20;
extern int BuyTakeprofit = 30;

void BuyOrder()
{
double SL = Ask - BuyStoploss*PipValue*Point;
if (BuyStoploss == 0) SL = 0;
double TP = Ask + BuyTakeprofit*PipValue*Point;
if (BuyTakeprofit == 0) TP = 0;
int ticket = -1;
if (true)
ticket = OrderSend(Symbol(), OP_BUY, BuyLots, Ask, 4, 0, 0, "MW Expert", MagicNo, 0, Blue);
else
ticket = OrderSend(Symbol(), OP_BUY, BuyLots, Ask, 4, SL, TP, "MW Expert", MagicNo, 0, Blue);
if (ticket > -1)
{
if (true)
{
bool sel = OrderSelect(ticket, SELECT_BY_TICKET);
bool ret = OrderModify(OrderTicket(), OrderOpenPrice(), SL, TP, 0, Blue);
if (ret == false)
Print("OrderModify() error - ", ErrorDescription(GetLastError()));
}
AlertBuyOrder();

}
else
{
Print("OrderSend() error - ", ErrorDescription(GetLastError()));
}
}

! Kein Anspruch für schnellsten, besten oder schönsten und kürzesten Code :-) Ich hoffe, ich habe beim Kopieren nichts vergessen! Die Alert-Funktion brauchst Du nicht.

Grüße