[ARCHIVO] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 3. - página 157

 
wolf05632:
Hola a todos! Intentado a través de la búsqueda - no encontró! ¿Cómo dividir una línea de código larga en varias más cortas?

Dame un ejemplo.

Si estamos hablando de comparación (if), entonces puedes escribir en variables de tipo bool - cada condición en una línea separada, y en el if final sustituir sólo las variables.

 

Estimados profesionales, el probador da un error:

ERR_INVALID_FUNCTION_PARAMVALUE4051Valor del parámetro de la función no válido


Aquí está el registro en el archivo de registro:

2011.09.08 20:40:02 2010.12.28 10:00 Robot 2 EURUSD,H1: open #277 buy 0.50 EURUSD at 1.32316 ok

2011.09.08 20:40:02 2010.12.28 09:00 Robot 2 EURUSD,H1: OrderClose error 4051

2011.09.08 20:40:02 2010.12.28 09:00 Robot 2 EURUSD,H1: Entrada no válida para la función OrderClose

2011.09.08 20:40:02 2010.12.28 09:00 Robot 2 EURUSD,H1: cierre #276 compra 0.50 EURUSD a 1.32347 al precio 1.32114


Es decir, se negocia bien antes y después. Por favor, dígame qué significa y cómo corregirlo.

 
TheXpert:
¿Así que los MC tienen que pasar por todo el terminal porque no se pueden contar los ceros?

¿Molesto? Es un error y debería arreglarse como cualquier otro.

En Avto-VAZ, probablemente razonan lo mismo que tú: el conductor se aburre al tener que correr detrás del coche para recoger los trozos de hierro que se caen, y tienen que rebuscar en todo el coche por ello...

 
Xaoss1990:

Estimados profesionales, el probador da un error:

¿Pueden decirme qué significa este error?
dice

2011.09.08 20:40:02 2010.12.28 09:00 Robot 2 EURUSD,H1: Entrada no válida para la función OrderClose
 
sergeev:
dice



¿Qué significa? ¿Número de pedido erróneo para la función de cierre del pedido? Es decir, ¿intenta cerrar una orden que no existe?
 
Xaoss1990:
¿Qué significa esto? ¿El número de pedido equivocado para la función de cierre del pedido? Es decir, ¿intenta cerrar una orden que no existe?

Añade algunas Alertas temporales al módulo OrderClose(), y pon en ellas variables (número de ticket, etc.) - luego comprueba sus valores en el registro.

 
chief2000:

Dame un ejemplo.

Si se trata de una comparación (if), puedes escribir en variables bool - cada condición en una línea separada, y poner sólo variables en el if final.




¡Estamos hablando de "WOW"! Supongamos una expresión matemática larga. En VBA, digamos, para dividir una cadena larga en dos, en cualquier lugar válido de esta cadena necesitamos poner _

y la expresión restante se puede añadir en una nueva línea.

 
chief2000:

Añade algunas Alertas temporales al módulo OrderClose(), y pon en ellas variables (número de ticket, etc.) - luego comprueba sus valores en el registro.



Añadido, esto es lo que tengo:

2011.09.08 21:26:15 2010.01.13 11:00 Robot 2 EURUSD,H1: abrir #12 comprar 0.10 EURUSD a 1.45027 ok

2011.09.08 21:26:15 2010.01.13 17:00 Robot 2 EURUSD,H1: cerrar #12 comprar 0.10 EURUSD a 1.45027 a 1.45083

2011.09.08 21:26:15 2010.01.13 17:00 Robot 2 EURUSD,H1: Alert: OrderTicket() = 12, lotes = 0.1, Bid = 1.4508

2011.09.08 21:26:15 2010 01.13 17:00 Robot 2 EURUSD,H1: Entrada no válida para la función OrderClose

2011.09.08 21:26:15 2010 01.13 17:00 Robot 2 EURUSD,H1: OrderClose error 4051

2011.09.08 21:26:15 2010.01.14 01:00 Robot 2 EURUSD,H1: abrir #13 comprar 0.10 EURUSD a 1.45243 ok

Y así sucesivamente....

No entiendo cuál es el motivo de este error ((

 
Xaoss1990:

Lo he añadido, esto es lo que tengo:

2011.09.08 21:26:15 2010.01.13 11:00 Robot 2 EURUSD,H1: abrir #12 comprar 0.10 EURUSD a 1.45027 ok

2011.09.08 21:26:15 2010.01.13 17:00 Robot 2 EURUSD,H1: cierre #12 compra 0.10 EURUSD a 1.45027 al precio 1.45083

2011.09.08 21:26:15 2010.01.13 17:00 Robot 2 EURUSD,H1: Alert: OrderTicket() = 12, lotes = 0.1, Bid = 1.4508

2011.09.08 21:26:15 2010 01.13 17:00 Robot 2 EURUSD,H1: Entrada no válida para la función OrderClose

2011.09.08 21:26:15 2010 01.13 17:00 Robot 2 EURUSD,H1: OrderClose error 4051

2011.09.08 21:26:15 2010.01.14 01:00 Robot 2 EURUSD,H1: abrir #13 comprar 0.10 EURUSD a 1.45243 ok

Y así sucesivamente....

No entiendo qué causa este error ((

He dado un ejemplo de cómo depurar el problema, y luego tienes que ordenar el código.

He aquí un ejemplo de solución en un caso: "Entrada no válida para la función OrderClose" - https://www.mql5.com/ru/forum/100874

Si eso no ayuda, está Google.

 
chief2000:

He dado un ejemplo de cómo depurar el problema, y luego tienes que averiguar el código.

He aquí un ejemplo de solución en un caso: "Entrada no válida para la función OrderClose" - https://www.mql5.com/ru/forum/100874

Si no ayuda, está Google.

No puedo entender qué significa este error #=4051

ERR_INVALID_FUNCTION_PARAMVALUE4051Valor del parámetro de la función no válido


¿Qué significa? ¿Número de pedido incorrecto para la función de cierre del pedido? Es decir, ¿intenta cerrar una orden que no existe?

Sale en cuanto la orden se cierra con un stop. Y los disparos de parada...

Ayuda, por favor... He estado luchando durante días....