MetaTrader 4 Build 529 beta liberado con nuevo compilador - página 42

 
zigan:


¡Eso es nuevo para mí! Estoy muy acostumbrado al doble de cinco por cinco:

Nunca se me ocurrió que podría haber un... hay un rango de 1 a 3. ¿Y qué sentido tiene la representación de enteros? ¿Sólo para que funcione más rápido?



No sé, creo que los desarrolladores tenían algún propósito o ningún propósito ...
 
St0nE:

Sí, así es como defino la nueva barra y ahora, en el 509 funciona estable.

Hoy he actualizado a 537 y me ha dado un error al trabajar con un array. He abierto el nuevo documento, y sí, hay dos maneras de utilizar las barras.

Por eso he preguntado aquí. Si no le importa, ¿podría sugerir otra forma viable de definir una nueva barra?

Gracias...


void Fun_New_Bar()                              // Ф-ия обнаружения ..
  {                                             // .. нового бара
   static datetime New_Time=0;                  // Время текущего бара
   New_Bar=false;                               // Нового бара нет
   if(New_Time!=Time[0])                        // Сравниваем время
     {
      New_Time=Time[0];                         // Теперь время такое
      New_Bar=true;                             // Поймался новый бар
     }
Pero hay que entender que si cambias el periodo de la gráfica, la función se colapsará... Ahora me voy corriendo, no hay tiempo para codificar, el fallo se corrige con iTime()
 
alexvd:

¿Puede describir la configuración establecida en el probador de estrategias, los parámetros de entrada, el modelo de generación de ticks...? + adjuntar el Asesor Experto que se va a probar.

Envíe todo esto al Service Desk.


Solicitud #882960
 

A los desarrolladores de

Por favor, implemente REASON_TEMPLATE como razón para la desinicialización de EA.

Por supuesto, también me gustaría tener una "lista completa" de todas las razones posibles, no diferentes de MT5.

 
VOLDEMAR:

Pero hay que entender que la función fallará cuando se cambie el periodo del gráfico... No tengo tiempo para codificar ahora. El fallo se corrige mediante iTime()

Gracias. Eso es todo...

Mi periodo no cambia sobre la marcha, así que no es relevante todavía... :-)

Entiendo que esta función trabajará en cada tick, ¿no será más lenta que mi variante?

 
St0nE:

Gracias. Eso es todo...

Mi periodo no cambia sobre la marcha, así que no es relevante todavía... :-)

Supongo que esta función funcionará en cada tick, ¿no será más lenta que mi variante?



Tu versión no se puede utilizar, pides el número de barras en el historial y lo comparas, tiene sentido lógicamente, pero con el tipo de historial que nos dan los brokers, este enfoque no se puede utilizar... Simplemente no funcionará correctamente...

A menudo hay agujeros en la historia, muchos corredores tienen diferente período de la historia, algunos de 1970 y algunos desde el comienzo de 2012, el número de barras será diferente, si se cambia el marco de tiempo a un menor o mayor el número de barras también cambiará, el terminal de bombeo de la historia o los agujeros serán cerrados, el número también cambiará ....

 

Lanzamiento de la compilación 538 con correcciones.

En particular, se ha corregido el error de iVolume

 
VOLDEMAR:


Tu versión no se puede utilizar, pides el número de barras en el historial y comparas, sí lógicamente tiene sentido, pero con el tipo de historial que nos dan los corredores, este enfoque no se puede utilizar ... Simplemente no funcionará correctamente...

A menudo hay agujeros en la historia, muchos corredores tienen diferente período de la historia, algunos de 1970 y algunos desde el comienzo de 2012, el número de barras será diferente, si se cambia el marco de tiempo a un menor o mayor el número de barras también cambiará, el terminal de bombeo de la historia o los agujeros serán cerrados, el número también cambiará ....


¿qué diferencia hay en el número de barras desde 1970 o desde 2012? lo que necesitamos es determinar si hay una nueva barra. cuando se cambia el marco temporal, el terminal se reinicia, ExpertBars=Bars; hay una nueva barra ExpertBars!=Bars así que código
bool isNewBar=false;

if (ExpertBars!=Bars) {
ExpertBars=Bars;
isNewBar=true;
}
working
 
Las descripciones de los problemas se han enviado al Servicio de Atención al Cliente, incluida la última versión, la 538. Se adjuntan los programas.
 
mr_Johns:

¿Qué diferencia hay en el número de barras desde 1970 o 2012? Lo que tenemos que hacer es detectar cuando hay una nueva barra. Cuando cambiamos de marco temporal, lo reiniciamos, ExpertBars=Bars; apareció una nueva barra ExpertBars!=Bars, por lo que el código
El bool isNewBar=false;

if (ExpertBars!=Bars) {
ExpertBars=Barras;
isNewBars=true;
}
trabajando

entonces buena suerte ))))
Razón de la queja: