Pregunta sobre la función OrderSelect - página 3

 

¿"OrderSelect()" devuelve un entero, cuando la documentación indica claramente que devuelve un booleano?

booleano es 0 o 1

Ni siquiera compruebas el resultado de "OrderClose()" o si se ha producido un error en tiempo de ejecución! escribiré el código después de entender order select FMIC

es importante entender la programación en c. ¿feliz?

 
boopa26:

¿"OrderSelect()" devuelve un entero, cuando la documentación indica claramente que devuelve un booleano?

booleano es 0 o 1

Ni siquiera compruebas el resultado de "OrderClose()" o si se ha producido un error en tiempo de ejecución! sí pero eso viene después de FMIC

Ya es un booleano, no necesitas compararlo con nada, ya sea otra constante booleana o un entero typecast. No debe codificar los valores booleanos representados internamente. Debería usar "true" o "false", pero idealmente sólo cuando se inicializa una variable, no en comparaciones.

if(  OrderSelect( ... ) )  // instead of "if( OrderSelect( ... ) == true )"
if(  OrderSelect( ... ) )  // instead of "if( OrderSelect( ... ) == 1 )"
if( !OrderSelect( ... ) )  // instead of "if( OrderSelect( ... ) == false )"
if( !OrderSelect( ... ) )  // instead of "if( OrderSelect( ... ) == 0 )"

¡Si te hubieras molestado en aprender "C", habrías sabido esto!

 

esta es mi pregunta

¿qué cambia la función de selección de orden de falso a verdadero?

entiendo que ! es igual a no

ejemplos

si no order select o si order select PERO

por defecto order select es 0 así que ¿qué cambia order select de 0 a 1?

la documentación dice

"Valor devuelto

Devuelve true si la función tiene éxito,"

eso no es suficiente información para que yo entienda


gracias FMIC

 
boopa26:

solo este foro

eddie ¿sabes algo sobre la función de selección de pedidos?

Por supuesto que sé.

He aprendido de otros codificadores y soy capaz de leer los libros y manuales de MQL.

Pero el punto más importante es: he aprendido a usar el depurador. Me ahorró mucho tiempo en la búsqueda de mis errores analíticos y de codificación.

 
bien hecho eddie
 
boopa26: entiendo que es igual a no

Si lo entiende, ¿por qué no lo hizo correctamente desde el principio?

boopa26 : esta es mi pregunta

¿qué cambia la función select de false a true?

ejemplos

si no selecciona la orden o si selecciona la orden PERO

por defecto order select es 0 ¿que cambia order select de 0 a 1?

la documentación dice

"Valor devuelto Devuelve true si la función tiene éxito,"

eso no es suficiente información para que yo entienda

No hay ningún "valor por defecto" ni cambia de un valor a otro. O bien tiene éxito en la selección de la orden y devuelve "true"; o bien falla, devolviendo "false" y hay que comprobar el código de error para saber por qué.

 
  1. boopa26: quiere escribir la función de selección de órdenes para cerrar las órdenes sin ciclos for o while.
    Luego publica el código con los ciclos
  2. boopa26: leyendo la documentación ahora https://docs.mql4.com/trading/orderselect
    Publica preguntas antes de leer.
  3. boopa26:

    1. no necesita conocimientos de c. mql4 es diferentes funciones

    3. leer la documentación ya

    4. código escrito ya

    Luego se contradice con la documentación y se vuelve argumentativo.
  4. Musngi es baneado y boopa26 aparece de repente. ¿Coincidencia? No lo creo.

Por favor, no alimentes al troll. Cuando respondes, le das poder al troll. Cuando ignoras al troll, se muere de hambre por la atención y finalmente muere.

 

hola, puedo hacer un ciclo de selección de órdenes para encontrar órdenes abiertas, pero no puedo hacer un ciclo de selección de órdenes para encontrar los beneficios de las órdenes cerradas, por ejemplo, quiero encontrar el beneficio de la última orden cerrada

este codigo cicla order select para encontrar ordenes abiertas

static int a;

//cycle order select

if(OrdersTotal()>0&&
   a<OrdersTotal()&&
   OrderSelect(a,SELECT_BY_POS,MODE_TRADES)==0)

   a++;

//close open order

if(OrdersTotal()>0&&
   OrderSelect(a,SELECT_BY_POS,MODE_TRADES)==1&&
   OrderMagicNumber()==magic_number&&
   OrderType()==OP_BUY&&
// close order signal)
  
   OrderClose(OrderTicket(),lots_2,Bid,3,Blue);

https://docs.mql4.com/trading/orderselect

https://docs.mql4.com/trading/orderprofit

tal vez esto

if(OrdersHistoryTotal()>0&&
   b<OrdersHistoryTotal()&&
   OrderSelect(b,SELECT_BY_POS,MODE_HISTORY)==0)

   b++;
 
static int a;

//cycle order select

if(OrdersTotal()>0&&
   a<OrdersTotal()&&
   OrderSelect(a,SELECT_BY_POS,MODE_TRADES)==0)

   a++;

//close open order

if(OrdersTotal()>0&&
   OrderSelect(a,SELECT_BY_POS,MODE_TRADES)==1&&
   OrderMagicNumber()==magic_number&&
   OrderType()==OP_BUY&&
// close order signal)
  

   OrderClose(OrderTicket(),lots_2,Bid,3,Blue);

static int a;

¿y no inicializas la variable a y por qué es estática?


OrderSelect(a,SELECT_BY_POS,MODE_TRADES)==0)

Ya te han dicho que debes usar true o false, no 1 o 0

OrderSelect(a,SELECT_BY_POS,MODE_TRADES)==false)
// OR
!OrderSelect(a,SELECT_BY_POS,MODE_TRADES))


No estás recorriendo los pedidos

 
Keith Watford:
static int a;

//cycle order select

if(OrdersTotal()>0&&
   a<OrdersTotal()&&
   OrderSelect(a,SELECT_BY_POS,MODE_TRADES)==0)

   a++;

//close open order

if(OrdersTotal()>0&&
   OrderSelect(a,SELECT_BY_POS,MODE_TRADES)==1&&
   OrderMagicNumber()==magic_number&&
   OrderType()==OP_BUY&&
// close order signal)
  

   OrderClose(OrderTicket(),lots_2,Bid,3,Blue);

static int a;

¿y no inicializas la variable a y por qué es estática?


OrderSelect(a,SELECT_BY_POS,MODE_TRADES)==0)

Ya te han dicho que debes usar true o false, no 1 o 0

OrderSelect(a,SELECT_BY_POS,MODE_TRADES)==false)
// OR
!OrderSelect(a,SELECT_BY_POS,MODE_TRADES))


No estás haciendo un ciclo a través de las órdenes

static int a; sits above start(){ VALOR GLOBAL

no hay diferencia 1 o 0. verdadero o falso

estoy incrementando el valor a después de que las condiciones tengan efecto