Hallo Berlin,
bezüglich deines Codes: Beim Öffnen des Trades, also bei OrderSend(...) ist die Rückgabe der Funktion die Ticketnummer. Diese speicherst du und überschreibst Sie erst wieder, sobald du die Order schließen solltest. Besser ist es aber die offenen Order in einer Schleife durchzugehen und abzufragen, ob es sich um eine Sell oder eine Buy Order handelt und ob diese zum EA und den Symbol passt.
Code:
int res;
for(int i=OrdersTotal()-1; i>=0; i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false)
break;
if(OrderMagicNumber()!=MagicNumber || OrderSymbol()!=Symbol())
continue;
//--- check order type
if(OrderType()==OP_BUY)
res=OrderClose(OrderTicket(),OrderLots(),Bid,3,White))
if(OrderType()==OP_SELL)
res=OrderClose(OrderTicket(),OrderLots(),Ask,3,White))
}