Saber si la ultima operacion cerrada es BUY o SELLHola de nuevo chicos. Soy un cansino de las preguntas jejeje. Me ayudasteis mucho con lo del BE, y ahora os pido de nuevo ayuda porque no termino de sacar una funcion.
Os explico. Mi intencion es que de todas las operaciones ya cerradas y que por consiguiente estan en la pestaña Historial, hacer una funcion que sepa si la ultima operacion (por orden de cierre) de ese historial es BUY o SELL. Os pongo el codigo que llevo hecho pero no me termina de funcionar. bool ultimaCerrada() { int total=OrdersHistoryTotal(); bool tipo= false; for(int pos=0;pos<total;pos++) { if(OrderSelect(pos,SELECT_BY_POS,MODE_HISTORY)) { if (OrderType()==OP_BUY) tipo= true; if (OrderType()==OP_SELL) tipo= false; } } return tipo; } Bueno, os agradeceria de nuevo vuestrra ayuda. Saludos
Re: Saber si la ultima operacion cerrada es BUY o SELLasi obtienes el tipo de orden que fue la ultima:
siendo los siguientes valores los correspondientes: buy=0 sell=1
Re: Saber si la ultima operacion cerrada es BUY o SELLHola cdtrader. Muchas gracias por el codigo. Aunque al compilar me aparece este error:
')' - not all control paths return a value BUYSELLProbe.mq4 118 1 Intentare trabajar sobre esto que me has pasado a ver si lo consigo. Gracias de nuevo.
Re: Saber si la ultima operacion cerrada es BUY o SELLLos tipos de órdenes aparte de 0 o 1 también pueden ser 2,3,4,5 porque también están las órdenes pendientes, es eso
Enviado desde mi Moto G (4) mediante Tapatalk
Re: Saber si la ultima operacion cerrada es BUY o SELLPrueba con este, yo aun no lo pruebo!
No puedes cometer/ dos veces el mismo error/ la segunda vez sera/ Por eleccion...
Re: Saber si la ultima operacion cerrada es BUY o SELLEn esencia
1) las ordenes mas recientes tienen numeros mas altos, por eso debe ir de manera descendente o mas directamente OrdersHistoryTotal()-1. 2) el compilador se pregunta cual seria el valor de la funcion para cada alternativa del if, (si se cumple se ejecuta un bloque que debe dar un valor, si no se cumple se ejecuta otro bloque que debe tener un valor), por eso te da el mensaje "not all control paths return a value" Es un error clasico ya que solo retorna un valor cuando la seleccion fue correcta. Solucion: asigna el OrderSelect a una variable y le aplicas un if para el caso correcto y en else con un codigo de error.
6 mensajes
• Página 1 de 1
|
|
Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados