orderselect con una orden pendiente¿Alguien sabe esto?: estoy intentando seleccionar el precio de apertura de una operacion pendiente. Para ello estoy utilizando la función orderselect. Sin embargo, cuando aparece el mensaje por la función Alert (para hacer probar que esté saliendo bien), a parte de darme mal el precio, solo lo hace algunas veces, a veces no dice el precio sino solo el número "0".
Estos son los dos códigos que utilicé para las pruebas: if (OrdersTotal()==0) { int ticket=OrderSend("EURUSD",OP_BUYSTOP,0.01,Ask+0.0020,3,Ask-0.0005,Ask+0.0060, NULL,0,0,CLR_NONE); double price=OrderOpenPrice(); for (int i = 0; i < OrdersTotal(); i ++) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES); } } if (OrdersTotal()>=1) { Alert(price); } También probé con este: if (OrdersTotal()==0) { int ticket=OrderSend("EURUSD",OP_BUYSTOP,0.01,Ask+0.0020,3,Ask-0.0005,Ask+0.0060, NULL,0,0,CLR_NONE); double price=OrderOpenPrice(); OrderSelect(ticket, SELECT_BY_POS, MODE_TRADES); Alert (price); } if (OrdersTotal()>=1) { Alert(price); } En ambos casos ocurre que la orden está para ser ejecutada a un precio, y el mensaje dice otro (que tampoco es ni el precio al que estaba cuando fue emitida la orden--15 pips de diferencia-- ni tampoco son los precios 'stop loss' ni 'take profit'). A parte de que da un precio que no es, el precio solo lo dice a veces, otras solo aparece en número "0". Gracias de antemano. saludos trader201
Re: orderselect con una orden pendiente// primero abres la orden
int ticket=OrderSend("EURUSD",OP_BUYSTOP,0.01,Ask+0.0020,3,Ask-0.0005,Ask+0.0060, NULL,0,0,CLR_NONE); y despues preguntas por el valor de las ordens abiertas if (OrdersTotal()>=1) { OrderSelect( 1 , SELECT_BY_POS, MODE_TRADES); double price=OrderOpenPrice(); Alert ("Orden nº 1 esta a un precio = ",price); } Un saludo
2 mensajes
• Página 1 de 1
|
|
Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados