Cómo comprobar si una orden está seleccionada - página 11

 
tara:
¿Sería más fácil si dijera que sí?)
No sé si se hace más fácil o no, pero a mí me cogieron desde mi primer año, ¡así era el tiempo, o nunca hubiera servido!
 
Ant_TL:

Sí. Justo ahí:

int li_LastTicket = OrderTicket();

Su código generará un error de ejecución 4105 si no hubo una llamada a OrderSelect antes de realizarla. Sólo tienes que poner una comprobación GetLastError al final de cada tic y encontrarás este error.

En mi código este error no se producirá, ya que esta función se llama DESPUÉS de OrderSelect(). Esta comprobación es heredada de la época en que los códigos se escribían sin una estructura común de todas las funciones ejecutables de EA.

Además, la mayoría de mis funciones contienen funciones de gestión de errores y tengo mucho cuidado de evitarlos. Y también hay una serie de funciones que generan un error, como la respuesta que buscabas:"¿Ordenada antes, o no?"

P.D. Por cierto, he recordado una peculiaridad (puede ser útil para alguien) del trabajo con las funciones OrderSelect() de las bibliotecas compiladas: hemos seleccionado un pedido (cómo - no principalmente), OrderTicket() - devuelve el número del pedido seleccionado. Pero si queremos obtener las propiedades de esta orden seleccionada desde la función que se encuentra en la biblioteca compilada, no obtendremos nada. Tenemos que volver a seleccionar esa orden (otra vez).

 
borilunad:
No sé si es más fácil o no, pero a mí me cogieron desde mi primer año, ¡fue una época, o nunca hubiera servido!
Me ha gustado:)
 
¿El billete y el magik ya no son identificadores? ¿O es un principio trabajar con dos o tres órdenes a la vez? Hay matrices, hay funciones que procesan y actualizan estas matrices. ¿O se trata de un principio para no caer en el error? Por lo tanto, no hay que cometer errores. Pero no se queje de que la excesiva selección de pedidos ralentiza las pruebas. Todo tiene su momento y su lugar. Al pasar de una función a otra, asegúrese a priori de que tendrá que seleccionar el orden una vez más y almacenar los datos de procesamiento de la función anterior en un array.
 
TarasBY: Si queremos recuperar las propiedades de esta orden seleccionada desde una función de la biblioteca compilada, no hará NADA. Tenemos que volver a seleccionar ese orden (todo de nuevo).
Esto se debe a que MQL4 no es un compilador, sino un intérprete. Las funciones de la biblioteca se adjuntan a medida que se avanza:)
 
grell:
¿El billete y el magik ya no son identificadores? ¿O es un principio trabajar con dos o tres órdenes a la vez? Hay matrices, hay funciones que procesan y actualizan estas matrices. ¿O se trata de un principio para no caer en el error? Por lo tanto, no hay que cometer errores. Pero no se queje de que la excesiva selección de pedidos ralentiza las pruebas. Todo tiene su tiempo y su lugar. Al pasar de una función a otra, asegúrese a priori de que tendrá que seleccionar el orden una vez más, mientras almacena los datos de procesamiento de la función anterior en un array.
Dmitry, incluso sin salir de los límites de una función, no puedes estar seguro de que el signo de selección de orden no cambiará.
 
tara:
Me ha gustado:)
Probablemente como "queso en mantequilla...". El ejército debería ser profesional, ya que requiere una formación especial, ¡y nos han alimentado con más política! El ejército debe servir a la patria, al pueblo, no al partido en el poder.
 
No, no como el queso en la mantequilla, pero hice mi parte justa de servicio como teniente coronel. Lo siento si te he ofendido :(
 
tara:
Dimitri, incluso sin salir de los confines de una función, no puedes estar seguro de que el signo de selección de orden no cambiará.


Eso es lo que quiero decir. Mis funciones no tienen universalidad, cada uno se dedica estrictamente a su propio negocio. Incluso la compra y la venta están separadas. Slosewall no abandona la función hasta que se ejecuta toda la orden. Que cambien los números de orden, que se desplacen las paradas, pero el billete y el mago permanecerán.
 
Ni siquiera espero que se guarden todos los datos del pedido cuando se llame a la función. Por lo tanto, no hay esperanza para esto en ninguna función.