---------------------------------------------------------------------------------------------------------------------
Buenas.
Para practicar con la programacion
mql4 he estado estudiando el codigo del Expert o indicador de
Renko para MT4.
He acabado entendiendo todo el codigo (me ha costado lo mio)... menos una cosa.
A ver si podeis ayudarme a entender esta "cosa".
Veamos la parte del codigo que aunque entiendo su funcionamiento no entiendo el porque esta puesto de tal forma y no de otra.
El codigo se repite en varias partes del programa:
FileWriteInteger(HstHandle, PrevTime, LONG_VALUE);
FileWriteDouble(HstHandle, PrevOpen, DOUBLE_VALUE);
FileWriteDouble(HstHandle, PrevLow, DOUBLE_VALUE);
if(ShowWicks && UpWick > PrevHigh) FileWriteDouble(HstHandle, UpWick, DOUBLE_VALUE);
else FileWriteDouble(HstHandle, PrevHigh, DOUBLE_VALUE);
FileWriteDouble(HstHandle, PrevClose, DOUBLE_VALUE);
FileWriteDouble(HstHandle, CurVolume, DOUBLE_VALUE);
UpWick = 0;
DnWick = EMPTY_VALUE;
-----------------------------------------------------------------------------------------------------------------------------------
Las primeras 7
lineas escritas las entiendo perfectamente. Con estas lineas se dibujaría en el grafico offline una barra limpia Renko o si tenemos el ShowWicks en verdadero nos dibujaría también la cola de la barra en caso de que el alto más alto (UpWick) fuese más alto que el previo alto de la ultima barra formada (PrevHigh).
Lo que no entiendo es lo que viene a continuacion ....
UpWick = 0;
DnWick = EMPTY_VALUE;
Aqui entiendo que una vez dibujada la barra, los valores UpWick y DnWick deben ponerse a 0 o vaciarse para volver a coger valor en la siguiente itineracion del historico o al actual
precio en real, según corresponda.
UpWick busca el alto más alto y DnWick el bajo más bajo ... ¿ entonces no deberían tener ambos el mismo valor ?.... o ambos EMPTY_VALUE o ambos 0.
He probado de poner los 2 valores a 0 o a EMPTY_VALUE o incluso cambiar los valores entre si:
UpWick = EMPTY_VALUE;
DnWick = 0;
Y nada , tienen que estar tal cual estan en el codigo por que sinó no dibuja bién las barras.
En fin que no entiendo por que ambos valores no pueden estar igual si lo que miden es casi lo mismo , solo que uno busca el alto y el otro el bajo. Y además el codigo viene después de haberse dibujado la barra.
Alguién puede aclararmelo pués no lo entiendo.
Saludos.
-------------------------------------------------------------------------------------------------------------