![MQL5 - Lenguaje de estrategias comerciales para el terminal de cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
¿"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?
¿"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.
¡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
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.
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 entiendaNo 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. no necesita conocimientos de c. mql4 es diferentes funciones
3. leer la documentación ya4. código escrito ya
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
//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
b<OrdersHistoryTotal()&&
OrderSelect(b,SELECT_BY_POS,MODE_HISTORY)==0)
b++;
//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);
¿y no inicializas la variable a y por qué es estática?
Ya te han dicho que debes usar true o false, no 1 o 0
// OR
!OrderSelect(a,SELECT_BY_POS,MODE_TRADES))
No estás recorriendo los pedidos
//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);
¿y no inicializas la variable a y por qué es estática?
Ya te han dicho que debes usar true o false, no 1 o 0
// 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