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

 
Maxim Kuznetsov:

incluso el compilador destacará "el resultado de OrderSelect debe ser comprobado" en el primer caso ;-)

Si cambia por la primera si (!OrderSelect(...)) continúa; entonces las opciones son idénticas.

En el primero el código es visualmente lineal, en el segundo parece una escalera. Prefiero la primera, es más fácil de leer y en general la aparición de pestañas profundas y lógicas {{{{ }}}} da a entender que es hora de cambiar algo :-)

Gracias. ¿Afecta la escritura en escalera a la velocidad del código? Para mí es más fácil entender la escritura escalonada.

 
novichok2018:

Gracias. ¿Afecta el registro escalonado a la velocidad de ejecución del código? Para mí es más fácil entender la escritura en escalera.

Es el algoritmo el que influye en la velocidad de ejecución en primer lugar. Y la forma de representarlo en el código no importa realmente.

Eso no es lo que piensas.

Se escribe el código para poder trabajar con él después. Así que escríbelo como quieras y no molestes a tu mente con problemas que no encuentras en la realidad.

Pues no tiene problemas de velocidad que hay que evitar con trucos y peculiaridades de codificación. Simplemente, garantizado, no lo haces.

Cuando (que es poco probable) aparezcan, entonces optimizarás el rendimiento.

 
Maxim Kuznetsov:

La velocidad de ejecución se ve afectada principalmente por el algoritmo. Y la forma de representarlo en el código no es tan importante.

Eso no es lo que estás pensando.

Escribes el código para poder trabajar con él después. Así que escríbelo como quieras y no molestes a tu mente con problemas que no encuentras en la realidad.

Pues no tiene problemas de velocidad que hay que evitar con trucos y peculiaridades de codificación. Sólo garantizado, no lo haces.

Cuando (lo que es poco probable que ocurra) optimices tu código.

¡Muchas gracias! Muy comprensible.

 
¿Es posible en las viejas carpetas del programa mt4 para trabajar todavía en XP vindos allí e instalado, si es así cómo.
 
Любые вопросы новичков по MQL4, помощь и обсуждение по алгоритмам и кодам
Любые вопросы новичков по MQL4, помощь и обсуждение по алгоритмам и кодам
  • 2019.05.06
  • www.mql5.com
В этой ветке я хочу начать свою помощь тем, кто действительно хочет разобраться и научиться программированию на новом MQL4 и желает легко перейти н...
 
Alexander Layzerevich:
Por favor, ayúdenme con esta pregunta :https://www.mql5.com/ru/forum/160683/page833#comment_11585085

Dudo que te ayude, pero eso es todo:

- Tomaste parte del código de MT5 y estás tratando de "atornillarlo" a MT4, así no es como se llaman los indicadores en MT4

- No ha declarado correctamente la cabecera de la función

- MT4 no tiene la función CopyBuffer() incorporada

Esto no funcionará en general, busque otras opciones para añadir algunas partes de código más - la sintaxis de MQL4 y MQL5 es 95% similar, pero no se puede copiar imprudentemente partes de código entre plataformas

 
Igor Makanu:

Dudo que te ayude, pero eso es todo:

- Tomaste parte del código de MT5 y estás tratando de "atornillarlo" a MT4, así no es como se llaman los indicadores en MT4

- No ha declarado correctamente la cabecera de la función

- MT4 no tiene la función CopyBuffer() incorporada

la sintaxis de MQL4 y MQL5 es similar en un 95%, pero no se puede copiar imprudentemente secciones de código entre plataformas

Lo siento, me olvidé de especificar el código para MT5

Simplemente no llama a la función Desviación(int kanal).

Quería preguntar cómo hacerlo correctamente?

 
Igor Makanu:

realizar un ejemplo de uno a uno del artículohttps://www.mql5.com/ru/articles/18

Como opción, ha compilado un proyecto para dll de 64 bits, el terminal MT4 es de 32 bits, necesita configurar y compilar el proyecto para .dll de 32 bits

Yo también estoy preguntando allí, he probado los ejemplos propuestos allí, de hecho he puesto fotos con experimentos. Pues sí algo hay con estas versiones, normalmente todo esto debería estar en la ayuda, cómo conectar qué matices. Me dieron unos enlaces con códigos, abrí estas clases y las cerré, en general burla de la información, no lo que quieres y haces. Bueno, disculpen, volveré a este tema después de 20 años de experiencia en programación. ¿Cómo sé que la compilación es para 64, cómo lo averiguo?

 
Seric29:

¿Cómo sé que la dll está compilada para 64?

Mira las propiedades del proyecto en Visual Studio, debe haber una opción para qué plataforma compilar dll - MT4 necesita código de 32 bits

P.D.: busca en Google la configuración de VS

 
Igor Makanu:

Dudo que te ayude, pero eso es todo:

- Tomaste parte del código de MT5 y estás tratando de "atornillarlo" a MT4, así no es como se llaman los indicadores en MT4

- No ha declarado correctamente la cabecera de la función

- MT4 no tiene la función CopyBuffer() incorporada

la sintaxis de MQL4 y MQL5 es similar en un 95%, pero no se puede copiar imprudentemente secciones de código entre plataformas

¿Tiene los siguientes fragmentos de código?

Foro sobre trading, sistemas de trading automatizados y pruebas de estrategias.

Cualquier pregunta para principiantes de MQL4, ayuda y discusión sobre algoritmos y códigos

Alexander Layzerevich, 2019.05.06 17:21

Estoy tratando de recibir los datos del indicador en MT5 utilizando esta función:

//************************************************************************************************/
double Envelopes(string symb, ENUM_TIMEFRAMES TF_1, int period, int method, int shift, int price,double Deviation(ENUM_TIMEFRAMES TF_2, int kanal), int buff, int index)
{
  double buf[1];
  int handle=iEnvelopes(Symbol(), TF_1, period, method, shift, price, Deviation(TF_2, kanal), buff);
   if(handle<0)
   {
    Print("Failed to create handle ATR, Error: ",GetLastError());
    return(WRONG_VALUE);
   } else
   {
    if(CopyBuffer(handle,0,index,1,buf)<0)
    {
     Print("Failed to copy data from the indicator ATR, Error: ",GetLastError());
     return(WRONG_VALUE);
    }
   }
   return(buf[0]);
}
//************************************************************************************************/

Recibo el error :


Por favor, aconsejar cómo corregir el código para MT5

Lo resaltado no difiere de una declaración de función. Resulta que una función se declara en los parámetros de entrada de la función.
Razón de la queja: