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
|