Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 547

 
Boris:
Hay muchos ejemplos en la base de código. Y en primer lugar hay que ajustar la lógica en todo lo que se hace. ¿Por qué, por ejemplo, para representar a Magik en el exterior, va a optimizar el valor de Magik para aumentar la rentabilidad? ;)

¿De qué Magik estamos hablando?

Y en el código, ¿supongo que son los números con un menos los que causan el error?

 
edutak:

Y en el código, ¿supongo que son los números con un menos los que causan el error?

Sí.

Puedes escribirlo así: a_200 = b; Pero a-200 = b; - obtendrás un error.

 
Alexey Kozitsyn:

Sí.

Puedes escribir: a_200 = b; Pero a-200 = b; - obtendrás un error.

Gracias.
 
edutak:

¿De qué Magia estamos hablando?

¡Tuyo!
 
Alexey Kozitsyn:

Sí.

Puedes escribir: a_200 = b; Pero a-200 = b; - obtendrás un error.

Pero: b = a-200; no dará un error.
 
Boris:
Pero: b = a-200; no dará un error.
Aquí sólo hay que entender que el signo de igualdad no es un "igual" como en las matemáticas, sino una operación de asignación. Es decir, la parte izquierda (variable) se asigna al valor de la parte derecha (expresión o variable).
 
Por favor, dígame.

Si el compilador no da errores, pero las órdenes no se abren correctamente, todas a la vez. Podría ser debido a una lógica defectuosa del algoritmo.

Para ser más precisos, si desactivamos el bloqueo de cierre de órdenes, las órdenes se abren correctamente; si activamos el bloqueo de cierre de órdenes, las órdenes se abren a la vez en cada tick.

 
edutak:
Por favor, dígame.

Si el compilador no da errores, pero las órdenes no se abren correctamente, todas a la vez. Podría ser debido a una lógica defectuosa del algoritmo.

Para ser más precisos, si desactivamos el bloqueo de cierre de órdenes, las órdenes se abren correctamente; si activamos el bloqueo de cierre de órdenes, las órdenes se abren a la vez en cada tick.

Sin el código no se le ayudará.
 
edutak:
Por favor, dígame.

Si el compilador no da errores, pero las órdenes no se abren correctamente, todas a la vez. Podría ser debido a una lógica defectuosa del algoritmo.

Para ser más exactos, si desactiva el bloqueo de cierre de órdenes, las órdenes se abren correctamente; si activa el bloqueo de cierre de órdenes, las órdenes se abren a la vez en cada tick.

Los errores pueden ser de tres tipos.

Errores de sintaxis: se detectan en la fase de compilación.

Lógicos: se detectan durante la depuración y las pruebas.

Tiempo de ejecución: los errores en tiempo de ejecución suelen estar causados por datos incorrectos, por ejemplo, ladivisión por cero o el rebasamiento de la matriz.

 
Vladislav Andruschenko:
Sin el código no obtendrá ninguna ayuda.

No me gustaría mostrar el código, ya que la primera versión demostró ser muy resistente. Sobrevivió durante 10 años sin optimización. Ahora quiero hacerlo un poco más complejo y rentable.

El código es muy sencillo.

Aun así, las órdenes pueden abrirse en cada tick debido a errores en la lógica.

Razón de la queja: