Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 189
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
En qué se diferencia Metatrader 5 de los anteriores 4 es más difícil de trabajar o no. Todos los corredores ofrecen estos programas, ¿por qué no hay un programa para todos los corredores para no tener que instalar un montón de ellos.
Estoy tratando de hacer una función que devuelva el resultado de la última posición cerrada (más o menos). Esta función está diseñada para un Asesor Experto multidivisa y debe seleccionar la última posición cerrada de todos los pares de divisas, y estoy teniendo algunos problemas con ella. ¿Puede corregir la función?
OBJ_ALL_PERIODS=2097151
¿Qué quiere decir: métodos no utilizados en sus clases? Esta no es la práctica en OOP. Un programador normal de POO, a diferencia de la programación algorítmica, crea clases con todos los campos y métodos necesarios, como se dice, para todas las ocasiones, ya que la misma clase puede ser utilizada posteriormente en otras aplicaciones o pasar a formar parte de la biblioteca de clases. Por no mencionar el hecho de que incluso dentro de un proyecto es mejor crear clases completas, no despojadas, para no tener que buscar en el código fuente y añadir los campos y métodos necesarios más tarde.
En OOP cualquier economía, a la que mucha gente se acostumbra en la programación algorítmica, puede resultar perjudicial más adelante. Todo lo que no se utiliza debe ser excluido del código por el compilador y no por el programador.
Por supuesto, la programación orientada a objetos da lugar a un código fuente más grande en comparación con la programación algorítmica. Pero esto no es un inconveniente, sino una ventaja, porque gran parte del código "innecesario" de un determinado proyecto puede reutilizarse en otros.
No es necesario tratar de hacer un acertijo, es decir, todo en una sola clase. Es necesario crear bibliotecas de clases, es decir, dividir la funcionalidad en clases separadas y no olvidar añadir comentarios a este feudo, y entonces todo estará en orden. Al principio, cuando empecé a aprender Java después de Pascal, yo también intenté hacerlo todo de una sola vez, es decir, en lugar de utilizar la POO, creé una clase con todo lo que necesitaba para una determinada tarea, al igual que en la programación algorítmica. El resultado era un lío no universal que era imposible de aplicar en cualquier lugar después, por no mencionar que era difícil de entender dicho código.Entiendo todo eso muy bien. Pero, ¿podemos al menos mostrar las variables privadas que no se utilizarán como se hace en VisualStudio?
La cuestión es que las clases se diseñan durante el proceso de desarrollo. Simplemente no se puede tener en cuenta todo lo anterior a la creación. Por eso se crean clases de marcos con la menor funcionalidad posible. Al interactuar con estas clases del marco, se empieza a elaborar la arquitectura general. Algunos métodos simplemente se eliminan, otros se trasladan a la sección privada y otros se migran de una clase a otra. En el proceso, inevitablemente aparecen variables, métodos e incluso clases enteras olvidadas. Esto es normal porque es algo parecido al principio de Okama en acción: primero escribimos código malo y redundante. Entonces formalizamos la tarea más claramente y algunas de las entidades simplemente desaparecen. La redundancia no sirve para nada. Y es en este proceso, la ayuda del compilador sería muy útil - para ver las variables no utilizadas y al menos los métodos privados sería muy útil.
Hola.
Entiendo que la funciónOnCalculate() que se utiliza en los indicadores se genera por sí misma, es decir, sin el evento de cambio de precio ,
¿Qué función se puede aplicar en el indicador que genera sólo cuando se produce un evento de cambio de precio? Gracias
Hola.
Entiendo que la funciónOnCalculate() que se utiliza en los indicadores se genera por sí misma, es decir, sin el evento de cambio de precio ,
¿Qué función se puede aplicar en el indicador que genera sólo cuando se produce un evento de cambio de precio? Gracias
El eventoCalcular se genera para los indicadores inmediatamente después del evento Init y en cualquier cambio de datos de precios. Es manejado por la funciónOnCalculate. Cuando se cambia el historial (cuando el historial está paginado) este evento también generaráOnCalculate.
La funciónOnCalculate es la más importante para el indicador, en la que se realizan todos los cálculos del indicador en caso de que cambien los datos del precio.
El eventoCalculate se genera sólo para los indicadores inmediatamente después de que se envíe el evento Init y ante cualquier cambio en los datos del precio. Este evento es manejado por la funciónOnCalculate. El mismoOnCalculate se genera cuando se cambia el historial (cuando el historial está paginado).
La funciónOnCalculate es la más importante para el indicador, en la que se realizan todos los cálculos del indicador en caso de cambios en los datos del precio.
Aquí tiene algo de bucle, es decir, siempre genera y cuando el periodo cambia, las lecturas cambian. ¿Cuál es el error?
#property copyright "Copyright 2014, MetaQuotes Software Corp.ArraySetAsSeries(alto_nachalo,true);
shift_nachalo=ArrayMaximum(high_nachalo,barUP-1,barDown-(barUP-1));Aquí es donde se produce el bucle, es decir, genera constantemente y cuando cambia el periodo, cambian las lecturas. ¿Cuál es el error?
Cómo insertar el código correctamente en el foro.
Fíjate en el error:
Utilizar: