Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 1159

 
Artyom Trishkin:
Lo conseguirá.
Si
Entonces
Pero tendrás que escribir una acción por condición.
Si debe haber muchas acciones en una condición, escriba la misma condición tantas veces como sea necesario para cada acción.
Pero sin paréntesis...

Bien. Para aclarar.

La pregunta es cómo "parchear" para escribir una expresión y múltiples operadores, con sangría, sin paréntesis, como en pyton.

 
Andrey Sokolov:

De acuerdo. Para aclarar.

La cuestión es cómo "parchear" para escribir una expresión y varios operadores, con sangría, sin paréntesis, como en pyton.

No se puede.
También puedes escribir tu propio editor que entienda y compile correctamente.
O escribirlo en python.
 
Artyom Trishkin:
No puedes.

¿Cómo puede estar seguro de que nadie lo ha implementado, por ejemplo, escribiendo un parche? Perdonen la criticidad del planteamiento.

 
Artyom Trishkin:
Lo entenderá.
Si
Entonces
Pero tendrás que escribir una acción por condición.
Si debe haber muchas acciones en una condición, escriba la misma condición tantas veces como sea necesario para cada acción.
Pero sin paréntesis...

todo es posible, incluso puedes hacerlo sin ;

#define  DO {
#define  END };
#define  DONE }
#define  IT(x) x;
#define  IF if (
#define  THEN ) {
#define  ENDIF };

IT(datetime time0)
IT(int ticket)

int OnInit()
DO
   IT(time0=iTime(_Symbol,_Period,0))
   IT(ticket=-1)
   IT(return(INIT_SUCCEEDED))
END

void OnDeinit(const int reason) DO IT(return) DONE

void OnTick()
DO
   IF time0!= iTime(_Symbol,_Period,0) THEN
      IT(time0 = iTime(_Symbol,_Period,0))
      IF ticket != -1 THEN 
         IT(CloseMyOrder())
      ENDIF   
      IT(ticket = OpenRandomOrder())
   ENDIF
END

En los años 90 conocí a un tipo que intentaba "escribir en C como en Modul" con macros y preprocesador. Por la misma razón - le gustaba Modula y sus proyectos eran C...

 
Maxim Kuznetsov:

todo es posible, incluso sin ;

En los años 90 conocí a un tipo que intentaba "escribir en C como en Modula" con macros y un preprocesador adicional. Por la misma razón - le gustaba Modula y sus proyectos eran C...

buen ejemplo, pero parece chino en eslavo antiguo

ZS: ¡sí! BASIC - ¡¡¡Parece BASIC!!!


y aquí hay una pregunta... los objetivos alcanzados y el uso de código ya hecho, no escribir todo desde cero? porque si se escribe desde cero, entonces ¿por qué MQL? - Hay que escribir en un lenguaje de terceros, y lo único que queda es hacer un conector para operar a través de MT

 
Maxim Kuznetsov:

todo es posible, incluso sin ;

En los años 90 conocí a un tipo que intentaba "escribir en C como en Modula" con macros y un preprocesador adicional. Por la misma razón - le gustaba el Modular y sus proyectos eran C...

gracias

La pregunta se refiere más bien a cómo quitar los soportes, no a cómo sustituirlos. Para que estén "sangrados" como en pyton.

 
Andrey Sokolov:

¿Cómo puede estar seguro de que nadie lo ha implementado, por ejemplo, escribiendo un parche? Perdón por el enfoque crítico.

Escribe.

 
Andrey Sokolov:

gracias

La pregunta se refiere más bien a cómo quitar los soportes, no a sustituirlos. Para que se "sangren" como en el caso de Pyton.

Probablemente sería mejor escribir en python. ¿Por qué necesita MQL un lenguaje similar a C? Tiene su propia sintaxis, en python estás acostumbrado.

 
Maxim Kuznetsov:

todo es posible, incluso puedes hacerlo sin ;

Así que está sustituyendo un carácter por otra palabra, lo que es aún peor. Y tiene que sustituirlo por espacios.

 
Artyom Trishkin:

Así que está sustituyendo un carácter por otra palabra, lo que es aún peor. Y tiene que sustituirlo por espacios.

Hay macroprocesadores. Me viene a la mente el m4.

Si realmente quieres rascarte la mano izquierda con el talón derecho por la espalda, puedes hacerlo. Añade macros, pasa las muestras por el preprocesador y alimenta el resultado al compilador.

No entiendo las ganas de hacerlo, como todo el mundo. Pero si una persona realmente lo desea, puede hacerlo. El editor no lo entenderá, y nosotros apreciaremos la persistencia y el vuelo de la fantasía.