Indicadores de élite :) - página 157

 

Funcionará

Podrías usar algo como if (previousNumberOfBars != Bars) o if (volume[0]==1) pero el uso del volumen es delicado (deja mucho más espacio para el error, y casi seguro que en la primera ejecución no calculará todas las barras necesarias, puesto que el volumen ya va a ser > 1)

Lo que yo recomendaría en todo caso es invertir las dos primeras líneas del bucle, para que quede algo así :

if(lastbar != Time[0])

{

for(int i=limit; i>=0; i--)

{[/php]You need to check that condition only once

regards

mladen

Snowski:
Quick coding question:

If I want an indicator to start its calculation on the open of a new bar, how can I code this?

I now have this - just an example, but I doubt it's correct:

[php]

datetime lastbar;

double buffer_a[];

double buffer_b[];

//+------------------------------------------------------------------+

//| Custom indicator iteration function |

//+------------------------------------------------------------------+

int start()

{

int bars_counted = IndicatorCounted();

if(bars_counted < 0)

{

return(1);

}

bars_counted--;

int limit = Bars - bars_counted;

if(limit>BarsToLoad && BarsToLoad>0)

{

limit = BarsToLoad;

}

for(int i=limit; i>=0; i--)

{

if(lastbar != Time[0])

{

buffer_a = iMA(Symbol(), 0, FastEMA, 0, MODE_EMA, PRICE_CLOSE, i);

buffer_b = iMA(Symbol(), 0, FastEMA, 0, MODE_EMA, PRICE_CLOSE, i+1);

//LONG ARROW

if(buffer_a > buffer_b)

{

ExtMapBuffer1 = Open - distance;

}

//SHORT ARROW

if(buffer_a < buffer_b)

{

ExtMapBuffer2 = Open + distance;

}

lastbar = Time[0];

}

}

//----

return(0);

}

//+------------------------------------------------------------------+
 

Sí, por supuesto, cambiar los bucles ... mucho mejor.

¿Qué método crees que es más preciso, la opción if(previousNumberOfBars != Bars) o if(lastbar != Time[0])?

Personalmente no veo ninguna diferencia evidente a primera vista, pero puedo estar equivocado. Estoy de acuerdo con la opción de Volumen, no es buena para el indicador, podría funcionar bien en el EA.

Muchas gracias mladen, gran ayuda para mis pobres habilidades de codificación indie...

Saludos,

San.

 
chris1010:
Mladen o Mr Tools ¿sería posible añadir una alerta emergente y de correo electrónico a este, por favor? Me parece que cuando todas las líneas de la ventana del indicador están juntas al mismo tiempo en la parte superior de la ventana del indicador o en la parte inferior de la misma se identifica un buen punto de compra o venta. Gracias por cualquier ayuda. Chris

Aquí tienes Chris ya que el mercado ahora cerrado no es capaz de probar la alerta en vivo, pero tiene la alerta a aparecer en el gráfico de 1 minuto así que espero que debería estar bien, la alerta debe ir fuera cuando wso y wro son tanto en el usuario seleccionable comprar o vender niveles. Y estoy de acuerdo contigo en que este indicador, cuando ambas líneas están en el máximo o en el mínimo, parece ser una buena oportunidad de compra y venta.

Archivos adjuntos:
 

Sr. Herramientas. Gracias. Es genial tener grandes programadores que me ayuden.

 

San

Francamente, no sé cuál recomendar.

Barses una especie de variable interna de metatrader de un gráfico actual y Time[0] es un elemento de una estructura de array que describe cada una de las barras que tiene en su historial para el gráfico actual. Mi suposición es que primero se actualiza Bars para reflejar el nuevo tamaño del array, y que luego se actualiza la estructura recién añadida al array con los datos (tiempo, "volumen" y precios) Pero si lo hacen de forma "secuencial" (no permitiendo la ejecución de otros hilos hasta que la ejecución del código haya terminado - y estoy casi 100% seguro de que es la forma en que se hace - por lo que he averiguado siempre hay un hilo separado que está descargando datos y gestionando todo lo que estamos hablando, y todos notamos una "pausa" en la ejecución cuando abrimos un nuevo gráfico y se descargan más datos y se añaden a los arrays y variables y gráficos que luego utilizamos desde el código de metatrader) entonces ambas variables van a ser visibles para un usuario al mismo tiempo ... El tiempo de acceso debe ser el mismo ... Así que : todo lo mismo

saludos

mladen

Snowski:
Sí, por supuesto, cambiar los bucles ... mucho mejor.

¿Qué método consideras más preciso, la opción if(previousNumberOfBars != Bars) o if(lastbar != Time[0])?

Yo personalmente no veo ninguna diferencia evidente a primera vista, pero puedo estar equivocado. Estoy de acuerdo con la opción de Volumen, no es buena para el indicador, podría funcionar bien en el EA.

Muchas gracias mladen, una gran ayuda para mis pobres habilidades de codificación indie...

Saludos,

San.
 
mladen:

Fudo, todo está bien. Sólo tenía algunas cosas que había que hacer sin demora y mi publicación en TSD sufrió un poco por eso. Ahora está resuelto, así que mi tiempo estará menos dividido.

Deseo un buen fin de semana a todos

saludos

mladen

Hola mladen,

Me alegra saber que todo está bien.

cuando tengas la oportunidad, he publicado 2 indicadores, una MA de RSX y la MA Triangular abands.

¿se puede aplicar el Triangular MA abands al MA de RSX?

¡Gracias!

Fudo

Fudomyo:

mladen,

¿sería posible combinar el MA de RSX (o incluso un RSX simple si el MA de RSX no es posible) con MA abands triangulares?

Gracias
 

Gracias mladen, excelente explicación, nunca lo había visto así (hilos en MT4)...aprendí algo de nuevo.

Me quedo con la configuración actual (Time[0]).

Saludos, San.

 

...

Fudo

Aquí tienes

Hice algunos cambios (en realidad un nuevo indicador, pero es lo que he derivado como una idea) Compruebe si eso es lo que tenía en mente.

El primer cambio es que eliminé los bloques de color y añadí el color a la línea RSX por lo que ahora muestra cuando está por encima o por debajo de la línea de señal (por lo que el cambio de color no es la pendiente de RSX, pero su relación con la línea de señal). La segunda es que ahora es un indicador de un solo archivo (no hay necesidad de un indicador Rsx externo)

En cuanto a lo que se aplica: puedes elegir - si pones TmaApplyToto 0 se aplicará a RSX sino se aplicará a la línea de señal (MA de RSX)
saludos

mladen

Fudomyo:
hola mladen

Me alegra saber que todo va bien

cuando tenga la oportunidad, he publicado 2 indicadores, un MA de RSX y el Triangular MA abands.

¿se puede aplicar la MA triangular abands a la MA de RSX?

¡Gracias!

Fudo
Archivos adjuntos:
 

Interpolar añadiendo

hi mladen

mtf movingaverage

mtf estocástico

interpolar añadiendo

gracias

Archivos adjuntos:
 

casaliss,

Esos (y un par más ) los puedes encontrar en este hilo : https://www.mql5.com/en/forum/178741

No lo tienen como opción, pero esos indicadores sí que aplican la interpolación lineal

saludos

mladen

casaliss:
hola mladen

mtf movingaverage

mtf stohactic

interpolar añadiendo

gracias
Razón de la queja: