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

 
MakarFX #:
¿Qué tiene de malo este?

sí a todos, no se ajusta al formato de pregunta-respuesta y es un formato estúpido, no se puede insertar una línea de código en el texto sin llevarlo a la siguiente línea, no se puede citar un trozo de código correctamente: todo el mensaje se pega fuera del bolsillo.

 
Nerd Trader #:

A partir de uno, OrdersTotal devolverá cero cuando no haya pedidos. Pero por alguna razón.

for ( int i = OrdersTotal() ; i > 0 ; i -- )

da un bucle infinito, por lo que >= no.

¿Existe otra plataforma más conveniente para comunicar sobre mql?

Este es el sitio web de los desarrolladores de la plataforma y del lenguaje MQL.

¿Dónde más se pueden obtener las respuestas más precisas?

Y tu pregunta es del ámbito de la incomprensión de cómo trabajar con arrays.

 
Aleksei Stepanenko #:

el bucle no está ajustado correctamente:

debería ser así:

¿Por qué? Todo el mundo escribe con iguales, pero ¿es eso correcto? ¿Por qué necesitamos una iteración del bucle si las posiciones son 0?
 
Nerd Trader #:

A partir de uno, OrdersTotal devolverá cero cuando no haya pedidos. Pero por alguna razón.

for ( int i = OrdersTotal() ; i > 0 ; i -- )

da un bucle infinito y por tanto >= no.

s.w. ¿hay otra plataforma más conveniente para la comunicación mql?
¿Por qué da un bucle infinito? no me da ninguno, sólo tengo mql5
 
No, está bien. Si no hay posiciones, entonces i=Total de órdenes()-1 será igual a -1. Y la condición del bucle i>=0 no se ejecutará inmediatamente. Y el programa no entrará en el bucle.
 
es mayor o igual que, porque el primer elemento de la matriz también debe ser contado, y su índice en la matriz es cero.
 
Aleksei Stepanenko #:
es mayor o igual que, porque también hay que tener en cuenta el primer elemento de la matriz, y su índice en la matriz es cero.
Ah, sí, gracias. Pero es una muleta, por supuesto. Al igual que todo el mql, por supuesto.
 

¡Hola!

Las variables se declaran de la siguiente manera

input  string startHour ="00:20";
input  string endHour ="23:40";
datetime startTime, endTime;

En el código de mql4, la línea es así

startTime=StringToTime(StringConcatenate(TimeToString(TimeCurrent(),TIME_DATE)," ",startHour));
endTime=StringToTime(StringConcatenate(TimeToString(TimeCurrent(),TIME_DATE)," ", endHour));

El compilador mql5 da el error'(TimeToString' - variable esperada),warning(conversión implícita de 'número' a 'cadena')

¿Podría decirme cómo corregirlo?

 
grimc124 #:

...

¿Pueden decirme, por favor, cómo solucionarlo?

No duplique el código (principio DRY = Don't Repeat Yourself) Utilice funciones. Por ejemplo:

datetime SetTime(datetime dtime, string stime) {
    return StringToTime(TimeToString(dtime, TIME_DATE) + " " + stime);
}

Cualquier cadena no válida se convierte en tiempo cero

 
Artyom Trishkin #:

Este es el sitio web de los desarrolladores de la plataforma y del lenguaje MQL.

¿Dónde más se pueden obtener las respuestas más precisas?

Tu pregunta representa una falta de comprensión de cómo trabajar con arrays.

OrdersTotal, a 1 pedido devuelve 1 y no 0. Cuando hay 0 pedidos, devuelve 0.

"Este es un sitio web de los desarrolladores de la plataforma y del lenguaje MQL. ¿Dónde más se pueden obtener las respuestas más precisas? "

- El hecho de que sea un recurso para desarrolladores no significa que sea el lugar adecuado para hacerlo, ya que hay recursos específicamente diseñados para el formato pregunta-respuesta.

Razón de la queja: