cómo mql4 hace referencia a una orden según su tipoSaludos.
¿Alguien sabe cómo hago referencia a un tipo de orden en ml4? Intenté colocando en un EA que me indicara el tipo de orden, lo hice con el siguiente código: Alert("OT=", OrdersTotal()); Alert ("type=",OrderType()); if (OrderType()==OP_BUY ) { Alert ("OB=", OP_BUY); } if (OrderType()==OP_SELL) { Alert ("OS=", OP_SELL); } if (OrderType()==OP_BUYSTOP) { Alert ("BS=", OP_BUYSTOP); } if (OrderType()==OP_BUYSTOP) { Alert ("SS=", OP_SELLSTOP); } La función alert trabajó bien en orderstotal. Sea una orden buy o sell, pendiente o ya ejecutada, la toma en cuenta. El problema surge en las otras. Las que siguen estando en "0", haga lo que haga, menos la de ordertype, que sin embargo hace algo que no entendí: coloqué una orden pendente buystop, y me dice: ordertype=4. La cerré y abrí una sellstop, y cambio a 5. luego la cerré. el problema es que cuando no tengo ninguna abierta, sigue diciendo 5. Mi interés es poder identificar cuando hay una orden pendiente activada, y poderlo hacer según sea de compra o de venta. En principio pensé: if (OrderType()==OP_BUYSTOP) // para identificar una orden pendiente buy stop. if (OrderType()==OP_BUYSTOP) // para identificar una orden pendiente sell stop. Pero como los resultados no fueron claros (me decia ordertype()==5, así no estubieses abierta. Agradezco de antemano su ayuda. Éxitos trader201
Re: cómo mql4 hace referencia a una orden según su tipoHola majo, el problema es que OrderType() funciona sobre OrderSelect
Lo que quiere decir que debes elegir primero la orden sobre la que vas a "preguntarle" que tipo de orden es, por eso el programa se vuelve loco, y no sabe de que orden estas hablando, y te da valores erróneos. Por ejemplo: OrderSelect(0,SELECT_BY_POS,MODE_TRADES)string tipodeorden=OrderType(); Este algoritmo selecciona la orden numero 0 en tu bandeja y extrae de ella que tipo de orden es, archivándola en la variable tipodeorden. Si necesitamos que busque en todas nuestras operaciones tenemos que recurrir a un proceso cíclico, lo que incluiría un for. Sería algo como: string orden [100]; for (a=0;OrderSelect(a,SELECT_BY_POS,MODE_TRADES!=false;a++) { orden [a]=OrderType();} Este algoritmo, buscaría cuantas ordenes hay disponibles, para después guardar en una matriz (array) el tipo de orden que son. Estando entonces disponibles para buscarlas cuando haga falta. dime si necestias aclaración,saludos.
2 mensajes
• Página 1 de 1
|
|
Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado