prev_calculado - página 7

 
Alexander Puzanov:

Tienes un juicio erróneo en los tres puntos.

prev_calculate muestra el número de BARs contados (procesados) en la llamada anterior. Esto es un axioma.

Si la historia ha cambiado, se ha hinchado, o el indicador no se ha calculado todavía - valor de prev_calculate==0. Esto también es un axioma.

¿Qué parte de esto no está clara?

 
Karputov Vladimir:

Tienes un juicio erróneo en los tres puntos.

prev_calculate muestra el número de BARs contados (procesados) en la llamada anterior. Esto es un axioma.

Si la historia ha cambiado, se ha hinchado, o el indicador no se ha calculado todavía - valor de prev_calculate==0. Esto también es un axioma.

¿Qué parte de esto no está clara?

Sólo hay dos problemas que no están claros en ella:

1. ¿Dónde desaparece el historial si no se ha cerrado ni el terminal ni la carta?

2. ¿Es tan difícil hacer el array sin espacio basura al inicializar el buffer del indicador? O el array se inicializa con el valor establecido en PLOT_EMPTY_VALUE

 
Alexey Viktorov:

Sólo hay dos problemas que no están claros:

1. ¿Dónde desaparece el historial si no se ha cerrado ni el terminal ni la carta?

2. ¿Es tan difícil hacer un array sin basura de espacio durante la inicialización del buffer de indicadores? O el array debe ser inicializado con el valor establecido por PLOT_EMPTY_VALUE

1. @¿Dónde desaparece el historial si no se cerró el terminal ni el gráfico?

2. Se trata de una situación bastante real, que se encuentra a cada paso. Necesito declarar una variable. ¿Qué crees que es lo correcto, a) o b)?

a): int i;
б): int i=0;
 
Karputov Vladimir:

1. @¿Dónde desaparece el historial si no se cerró el terminal ni el gráfico?

2. Se trata de una situación bastante real, que se encuentra a cada paso. Necesito declarar una variable. Qué opción crees que es la correcta, a) o b):

a): int i;
б): int i=0;

1. No hay implicación, es una pregunta directa. El terminal funciona, se reciben las cotizaciones, a cada tick el indicador recalcula OnCalculate y cuenta prev_calculated que devuelve rates_total y de repente ¡¡¡pum!!! y se pierde una barra entera.... ¿A dónde?

2. No agrupe las variables, las matrices personalizadas y los búferes indicadores.


Parece que se ha encontrado una muleta. El indicador se lanza con esta muleta. Después de otra pérdida de la historia habrá un resultado.

 
Alexey Viktorov:

Sólo hay dos problemas que no están claros:

1. ¿Dónde desaparece el historial si no se ha cerrado ni el terminal ni la carta?

2. ¿Es tan difícil hacer el array sin espacio basura al inicializar el buffer del indicador? O el array se inicializa con el valor establecido en PLOT_EMPTY_VALUE

2. No es difícil, sino innecesario, incluso indeseable. Porque los búferes se llenan con los datos del indicador calculado. No es necesario hacer nada innecesario.
 
Karputov Vladimir:

Tienes un juicio erróneo en los tres puntos.

prev_calculate muestra el número de BARs contados (procesados) en la llamada anterior. Esto es un axioma.

Si la historia ha cambiado, se ha hinchado, o el indicador no se ha calculado todavía - valor de prev_calculate==0. Esto también es un axioma.

¿Qué parte no está clara?

Oh, querido, ¿cómo crees que el error es diferente del axioma? No es necesario poner palabras en la cabeza aquí - todos los formulados en 3 puntos se puede ver fácilmente en mi primer post. Si no es así - usted es un programador, no un carpintero, muestre en su código cómo resolver por separado las tareas simples enumeradas en 3 párrafos con bare prev_calculated sin muletas adicionales: muestre cuántas barras fueron contadas en el tick anterior, defina la primera llamada de OnCalculate y defina que la historia (checksum) ha sido cambiada. No hay necesidad de inventar nada para el usuario, para que se ajuste a sus axiomas - las tareas están formuladas, muy simples y sin ambigüedades como medio dedo

 

Alexey Viktorov:

¡¡¡Esto NO está en la documentación!!! Por lo tanto, se trata de un ensayo libre. Igual que mi afirmación sobre la inicialización automática, aún más genial. Al menos el mío tenía un descargo de responsabilidad...

¿Qué tonterías dices? Si esta inicialización se implementa en OnCalculate, se inicializará sin ningún bucle. Pero si prev_calculated se pone a cero, reinicia todos los datos que se han acumulado durante la operación...

A una pregunta sobre la inicialización de los buffers en la inicialización. Piénsalo lógicamente. No hay acceso a rates_total en OnInit(), ¿verdad? Si no hay acceso a rates_total en OnInit(), entonces los tamaños de los buffers de los indicadores no se conocen todavía ( =0 puede comprobarlo usted mismo ). Y como el tamaño del buffer del indicador = 0, ¿qué vas a restablecer?

 
Alexander Puzanov:

Oh, querido, ¿cómo crees que un error es diferente de un axioma? No hay necesidad de espolvorear tus cerebros con palabras aquí - todo lo formulado en 3 párrafos se puede ver fácilmente en mi primer post. Si no es así - usted es un programador, no un carpintero, muestre en su código cómo resolver por separado las tareas simples enumeradas en 3 párrafos con bare prev_calculated sin muletas adicionales: muestre cuántas barras fueron contadas en el tick anterior, defina la primera llamada de OnCalculate y defina que la historia (checksum) ha sido cambiada. No hay necesidad de inventar nada para el usuario, para que se ajuste a sus axiomas - las tareas están formuladas, muy simples y sin ambigüedades como medio dedo

No deberías dirigir esta pregunta a Vladimir (él sólo defiende la posición de los desarrolladores), sino a los propios desarrolladores, que (representados por Slawa) te dijeron que cuando prev_calculated = 0, todo debe recalcularse. No siempre pueden calcular todas las variantes del uso del indicador. Si hay un problema ahora, no sirve de nada torturar al moderador, hay que ir a servicedesk con una descripción detallada.
 
Alexey Viktorov:

¿Es tan difícil asegurarse de que no hay basura de espacio en el array cuando se inicializa el buffer del indicador? O el array se inicializa con el valor establecido como PLOT_EMPTY_VALUE

if (rates_total > prev_calculated)
  ArrayFill(Buffer, prev_calculated, rates_total - prev_calculated, EMPTY_VALUE);
 
Alexey Viktorov:

1. No hay subtexto, es una pregunta directa. El terminal funciona, se reciben las cotizaciones, a cada tick el indicador recalcula OnCalculate y cuenta prev_calculado devolviendo rates_total y de repente ¡pum!!! y se pierde una barra entera.... ¿A dónde?

2. No agrupe las variables, las matrices personalizadas y los búferes de los indicadores en una sola pila.


Parece que se ha encontrado una muleta. El indicador se lanza con esta muleta. Después de otra pérdida de la historia habrá un resultado.

1. De nuevo una línea de pensamiento, pero todavía no he visto el punto.

2. Todavía no has respondido a tu pregunta, lo que me dice que nunca has pensado en lo que se almacena en la variable después de declararla.

Razón de la queja: