Mt4 Fin de soporte. - página 31

 
Vladimir Pastushak:

4 ciclos ¿no es genial? a 600 caracteres en la visión general del mercado cada minuto el terminal morirá ....

¿De qué estás hablando? El temporizador realiza un ciclo de 1 vez por minuto. Eso no es nada.

Y el usuario accede a la función New_bar() cuando quiere.

 
Alexey Viktorov:
En cuanto al comentario del código: ¿Qué pasa si necesitamos definir la apertura de sólo el período actual y sólo un carácter a la vez en el programa? ¿Todo este entramado dará vueltas a todos los bucles? Sería irracional.

No entendí bien el código.

Los nuevos eventos de la barra de símbolos se capturan en un bucle una vez por minuto. Automáticamente. Si el número actual de compases no es igual al registrado en el array, ponemos la bandera de un nuevo evento de compás en el array Events_new_bar[][].

 

Alexey Viktorov:


ps; ¿Y por qué iniciar un temporizador de milisegundos? ¿No es suficiente un segundo temporizador?

También puedes programar un segundo temporizador. Entonces escriba "Frecuencia_del_temporizador = 1000".

 

Lo puse, lo probé y no funciona.

//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   if(Новый_бар(Symbol(), PERIOD_M1)) Print("M1 = ",Time[0]);
   if(Новый_бар("EURUSD", PERIOD_M5)) Print("M5 = ",Time[0]);
  }
Siempre da falsos
 
Vladimir Pastushak:

¿No son geniales los 4 ciclos? a 600 caracteres en el resumen del mercado cada minuto el terminal morirá ....

Me pregunto si alguien tiene realmente tantos?

Tengo 16 - y ya me estoy preguntando si la carga es demasiado ?

Cierto, tengo un plazo mínimo de 15 años... Pero aún así, me pregunto cuándo la carga del terminal empieza a ser crítica.

 
Реter Konow:

¿Qué quieres decir? El temporizador realiza un ciclo por minuto. Eso no es nada.

Y New_bar() se llama cuando el usuario quiere.


La función "nueva barra" suele ejecutarse en cada tick... Esta llamada en cada tic se hace para ahorrar recursos. Date cuenta de que tu función "ahorra" recursos, se los come.

 
George Merts:
... Pero aún así, me pregunto cuándo la carga del terminal empieza a ser crítica.

Cuando el procesador se pone de rodillas y no puede levantarse.

Respetuosamente.

 
Реter Konow:

No entendí bien el código.

Los nuevos eventos de la barra de símbolos se capturan en un bucle una vez por minuto. Automáticamente. Si el número actual de compases no es igual al registrado en el array, establecemos la bandera del evento de compás nuevo en el array Events_new_bar[][].

Vamos a hablar de otro ejemplo de uso de la POO.

Foro sobre comercio, sistemas de comercio automatizados y pruebas de estrategia

Mt4 Fin de soporte.

Alexey Viktorov, 2017.09.11 13:08

Creo que he encontrado un ejemplo primitivo de la utilidad de la POO. Esta es una función para llenar un array con un valor especificado. Hay ocho variedades según el tipo de matriz.

Imagina que tienes que escribir una función que necesita pasar un conjunto de parámetros, luego otro, luego un tercero... Usando el enfoque algorítmico obtendrás N nombres de funciones diferentes. Parece que no hay nada malo, puedes escribir 8 funciones como ArrayInitializeInt()ArrayInitializeDouble() y así sucesivamente. Pero es bueno no pensar en el tipo de array, sólo usar una función en cualquier caso, y lo seguro que es mezclar qué array pones ahí...


Документация по MQL5: Операции с массивами / ArrayInitialize
Документация по MQL5: Операции с массивами / ArrayInitialize
  • www.mql5.com
Операции с массивами / ArrayInitialize - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Vitaly Muzichenko:

Instalado, probado, no funciona

Siempre sale falso.

1. Ejecuta el EA en M1.

2. Hay que esperar a que el bar actual esté completamente terminado. En el primer bar, el evento no es fijo. Lo hice a propósito. A continuación, deberá esperar el tiempo que le indique la función.

Lo he probado en un minuto y ha funcionado.

 
Dmitry Fedoseev:

La función "nueva barra" se ejecuta normalmente en cada tick... Esta llamada en cada tic se hace para ahorrar recursos. Date cuenta de que tu función "ahorra" recursos, se los come.

Obviamente no sabes leer los códigos. )) ¿Dónde los engulle?