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

 
FAQ:

Ordenar por selección y nada más.

El selector de órdenes no sabe en absoluto si una orden está seleccionada en ese momento, y qué orden está seleccionada en ese momento si está seleccionada, por lo que estás completamente equivocado.

 
Ant_TL:

El selector de órdenes no sabe si una orden está seleccionada en absoluto, por lo que estás muy equivocado.

¡Mira cualquier EA! ¡Usted es el primero que intenta seleccionar por su cuenta! ¡Aprende! ¿Por qué estás tan avergonzado de todo el foro?
 

Para los que están en el tanque :

1) Hace mucho tiempo, en una función lejana, seleccionaste una orden y realizaste un trabajo sobre ella.

2) Después de mucho tiempo, quieres volver a acceder a él y saber más sobre su destino.

3) te pones en contacto con el pedido y el terminal te dice: no hay pedido (es decir, el pedido no ha sido ya seleccionado, lo has realizado, y has olvidado con éxito su nombre (ticket)). == error

¿Qué le impide seleccionar la orden, en el momento en que la ha elegido, almacenar su nombre (ticket) en una variable global, y luego, en lugar de volver a ella utilizando un nombre olvidado hace tiempo (ticket), seleccionarla utilizando el valor de esta variable global.

Si contiene el nombre de la orden, obtendrá una respuesta positiva de que no la ha olvidado, y podrá conocer su destino o realizar cualquier acción al respecto.

Pero si ha olvidado su nombre, sólo obtendrá una respuesta negativa de la función de selección de pedidos, y se dará cuenta de que el pedido debe buscarse de nuevo en la lista.

Uf... eso es mucho texto...

 
borilunad:
¡Mira cualquier EA! ¡Usted es el primero en intentar seleccionarla a su criterio! ¡Aprende! ¿Por qué te avergüenzas de ti mismo en todo el foro?

No soy yo el que se avergüenza, son los que no entienden las cosas básicas sobre las que escribo (y sin embargo tratan de "sentar cátedra" de forma bastante agresiva).

¿Qué significa "comprobar si se ha seleccionado un pedido"?

Significa que en cualquier momento de la ejecución de un programa en mql4, existe una construcción interna de este tipo, como la orden actualmente seleccionada. Simplemente usando OrderSelect, podemos hacer seleccionar cualquier orden abierta/cerrada por ticket o número en la lista.

Sin embargo, no podemos comprobar si un pedido está actualmente seleccionado y cuál es su número a través de OrderSelect, sino que sólo podemos seleccionar un pedido utilizando los datos que ya conocemos, como su ticket o su número en la lista.

 
FAQ:

para los que están en el tanque :

Para los que están en el tanque, por supuesto que puedo escribir mi propia función OrderSelect, que además de seleccionar una orden escribirá su ticket en el global y luego determinará este ticket si necesito saber si la orden está seleccionada, pero esto se llama una simple resolución de problemas a través de la ...

 
FAQ:

Para los que están en el tanque :

1) Hace mucho tiempo, en una función lejana, seleccionaste una orden y realizaste un trabajo sobre ella.

2) Después de mucho tiempo, quieres volver a acceder a él y saber más sobre su destino.

3) te pones en contacto con el pedido y el terminal te dice: no hay pedido (es decir, el pedido no ha sido ya elegido, lo has realizado, y has olvidado con éxito su nombre (ticket)). == error

Si este mensaje le impide seleccionar la orden, su nombre (ticket) se almacenará en una variable global, y luego en lugar de volver a ella (búsqueda) utilizando un nombre olvidado hace tiempo (ticket),

Si tiene el nombre de la orden, recibirás una respuesta positiva de que no la has olvidado, y podrás averiguar qué pasó con ella o hacer algo con ella.

Pero si ha olvidado su nombre, sólo obtiene una respuesta negativa de la función de selección de orden, y descubre que la orden tiene que buscarse de nuevo en la lista.

Uf... eso es mucho texto...

Probablemente piense que debemos buscar el billete por el número que nos da el DC y que vemos en el gráfico?
 
Ant_TL:

El error es "aterrador" porque no debería haber ningún error

La orden puede ejecutarse, y puede devolver un error, y usted no puede evitar este error.

 
Figar0:

La orden puede ejecutarse, pero puede devolver un error, y usted no puede evitar este error.

Así es. Pero no estoy de acuerdo en que no podamos ir a ninguna parte sin esos errores. Dejar esos errores en el código es simplemente un mal código. Es una situación en la que no se puede prescindir de la generación de errores: un defecto de la herramienta. Los errores de ejecución son una cosa muy diferente, no son realmente errores del Asesor Experto, sino que es una indicación al Asesor Experto de las acciones posteriores que debe tomar.

 

De hecho, ha habido mucha demagogia.

bool OrderSelect( int index, int select, int pool=MODE_TRADES)
La función selecciona una orden para trabajar con ella. Devuelve TRUE si la función se completa con éxito. Devuelve FALSE si la función falla. Llame a GetLastError() para obtener información sobre el error.

Todo lo que necesita para saber si un pedido es elegido o no.

Ant_TL:

Si lo dices, justifica tu punto de vista

void SomeFunс()

{

int tick=OrderTicket(); // Поразумевает ордер выбраный посредством OrderSelect  (ну или ошибку)

// ..... 

if(tick>0) OrderSelect(tick,SELECT_BY_TICKET);  // Так зачем его еще раз выбирать??? 
} 
 
borilunad:
Probablemente piense que debemos buscar el billete por el número que nos da el DC y que vemos en el gráfico?

No, él está realmente en el tanque.
Razón de la queja: