Errores, fallos, preguntas - página 2489

 
Slava:

Por cierto, OnCalculate tiene el parámetro rates_total

En OnCalculate el parámetro rates_total también muestra más de lo que está configurado en el terminal.

 
Alexey Viktorov:

En OnCalculate el parámetro rates_total también muestra más de lo que se establece en el terminal.

rates_total siempre muestra el número de barras disponibles en el gráfico actual.

No entiendo el significado de su declaración.

 

No tengo un terminal de cliente a mano en este momento para citar la ayuda. Desde un dispositivo móvil en dos clicshttps://www.metatrader5.com/ru/terminal/help/startworking/settings#max_bars

Párrafo especialmente destacado

Para un cálculo más económico, los indicadores pueden tener más barras disponibles que las especificadas en el parámetro "Barras máximas en la ventana". A medida que llegan nuevas barras, las más antiguas no se eliminan inmediatamente de la caché de datos. Esto permite no recalcular el indicador completamente en cada nueva barra, sino sólo calcular adicionalmente sus valores para las nuevas barras.

Настройки платформы - Начало работы - MetaTrader 5
Настройки платформы - Начало работы - MetaTrader 5
  • www.metatrader5.com
Торговая платформа обладает множеством настроек, что позволяет организовать работу в ней так, как это удобно именно вам. Выполните команду " Настройки" меню "Сервис" или нажмите "Ctrl+O". Графики — общая настройка отображения ценовых графиков, а также настройка параметров управления объектами: выделение объектов после их создания, немедленная...
 
Slava:

rates_total siempre muestra el número de barras disponibles en el gráfico actual.

No entiendo el significado de su declaración

Lo siento, la respuesta está en las imágenes.

Pero en el depurador se muestra

Y tienes que desplazarte por 1268 barras para comprobar el valor del indicador. Sólo después de eso puede comprobar qué valores de alta y/o baja, así como de barra abierta/cerrada, se utilizan en los cálculos del indicador.

Es muy incómodo. Pero uno se acostumbra rápidamente y se adapta a todo lo que no es bueno.

 

Se esperan errores de compilación

class A { public:
        void operator[]( int = 1 ) {} //нормально ???
};
void OnStart()
{
        A a;
        a[]; //нормально ???
}
 
Alexey Viktorov:

Lo siento, la respuesta está en las imágenes.

Pero el depurador muestra

Y para comprobar el valor del indicador tenemos que desplazarnos por 1268 barras. Sólo después de eso puede comprobar qué valores de alta y/o baja, así como de barra abierta/cerrada, se utilizan en los cálculos del indicador.

Es simplemente muy incómodo. Pero uno se acostumbra rápidamente y se adapta a todo lo que no es bueno.

¿Has leído atentamente mi cita en el post de abajo?

Este comportamiento siempre ha existido desde la introducción de la configuración del " número máximo de barras en el gráfico", es decir, desde el inicio de MT4. Y hemos explicado muchas veces a lo largo de estos 15 años por qué no recortamos el número de barras según este ajuste cada vez. Y ahora no recortamos cada vez.

Nadie lee la documentación. Pero es una paradoja. Aún así, nos piden que escribamos algo más en la documentación, que no leen.

 
Slava:

1. ¿Dónde hay que actualizar la documentación?

2. El identificador de barra de un solo dígito siempre ha sido la hora de la barra, no el número de barra.

3. si su gráfico fuera llamado por alguien a ChartSetSymbolPeriod, fácilmente captaría un cambio en el número de barras. ¿Sorpresa?

4. Por cierto, existe el parámetro rates_total en OnCalculate.

1. exactamente en el lugar que señalas en el post posterior. Sólo hay que añadir que habrá un RESET, y este reset será exactamente a través de las barras máximas de la ventana + 1439.

2. Vale, lo tendré en cuenta. Aunque, te das cuenta de que no puede haber dos bares bajo el mismo tiempo, ¿verdad?

3. no es una sorpresa. Me refiero específicamente al hecho de que si no se cambia ni el marco temporal ni el símbolo, podría haber un reinicio de 6439 a 5000.

4. Si lees atentamente mi post anterior te habrás dado cuenta de ello:

Foro sobre comercio, sistemas de comercio automatizados y prueba de estrategias de comercio

Errores, fallos, preguntas

Alexey Kozitsyn, 2019.06.28 10:40

Estimados desarrolladores. Si quiero preguntarte, ¿es normal la repartición automática de los buffers de los indicadores? Por re-partición me refiero a lo siguiente: barras máximas en la ventana, por ejemplo 5000. El tamaño del buffer + rates_total se restablecen a 5000 cuando llegan a 6439. Lo mismo ocurre cuando las barras máximas en la ventana = 10000. El reinicio se produce en 11439.

Por ello, los indicadores pueden bloquearse y mostrar datos incorrectos.

Construye 2085. He notado este comportamiento desde aproximadamente 2000 builds.

También señalé rates_total. El problema es que rates_total y buffers no se ponen a 0 (no sería un problema entonces, sólo recalcular todo el indicador y listo). Y toma el valor de las barras máximas en la ventana. Eso es exactamente lo que deberías escribir.

Para facilitar su tarea, me gustaría ver dicho registro:

Para un cálculo más económico, los indicadores pueden tener más barras disponibles que las especificadas en el parámetro "Barras máximas en la ventana". A medida que llegan nuevas barras, las más antiguas no se eliminan inmediatamente de la caché de datos. Esto no permite recalcular completamente el indicador en cada nueva barra, sino sólo añadir sus valores a las nuevas barras. Los compases antiguos se borran cuando se alcanza el valor de compases máximos en la ventana de compases +1439.

Sí, por cierto, por favor, aclare, ¿el valor 1439 se guarda también para otros TFs? ¿O sólo para M1?

 
Slava:

¿Has leído atentamente mi cita en el post de abajo?

Este comportamiento siempre ha existido desde la introducción de la configuración del " número máximo de barras por gráfico", es decir, desde el inicio de MT4. Y hemos explicado muchas veces a lo largo de estos 15 años por qué no recortamos el número de barras según este ajuste cada vez. Y ahora no recortamos cada vez.

Nadie lee la documentación. Pero hay una paradoja. Todavía nos piden que escribamos algo más en la documentación, que no leen

Aquí se habla de "paradojas" con la lectura de la documentación. Y me he dado cuenta más de una vez de que tienes paradojas con la lectura de los posts. Sólo que a menudo no se leen hasta el final. Todos tenemos nuestros defectos. Sólo que es mejor no centrarse en los defectos de los demás, sino en los del producto que desarrollas y utilizamos.

Gracias.

 
Alexey Kozitsyn:

También señalé rates_total. El problema es que rates_total y buffers no se reinician a 0 cuando rates_total y buffers son re-particionados.

la referencia no es correcta, es engañosa, escribíhttps://www.mql5.com/ru/forum/304239/page57#comment_11519307

En MQL5 los buffers en general funcionan como arrays habituales, en MT4 el terminal trataba los buffers de alguna manera - los restablecía a EMPTY_VALUE, entonces ... No recuerdo dónde escribí sobre la diferencia entre los indicadores de MT5 y MT4

Tienes que borrar los buffers - los borras como un array normal, el terminal sólo establece el tamaño del array-buffer en sí.

Новая версия платформы MetaTrader 5 build 2007: Экономический календарь, MQL5-программы в виде сервисов
Новая версия платформы MetaTrader 5 build 2007: Экономический календарь, MQL5-программы в виде сервисов
  • 2019.04.30
  • www.mql5.com
21 февраля 2019 года будет выпущена обновленная версия платформы MetaTrader 5...
 
Igor Makanu:

La referencia no es correcta, es engañosa

Esa es la cuestión, es mejor cambiar la documentación una vez para que sea correcta, completa y actualizada, que explicar lo mismo durante 15 años a diferentes personas que no han encontrado algo en la documentación.

Razón de la queja: