Ayuda a la codificación - página 562

 

¡Привет ! Помогите с индикатором ,не показывает peleng и выдает ошибки . Спасибо .

Archivos adjuntos:
 
CaptureBeta:
Hola, Pls, compruebe si el archivo adjunto funciona bien para usted. He modificado el código del indicador y lo he comprobado en la plataforma de trading de mi broker (Alpari). No muestra ningún error después de la compilación. He cambiado el nombre del indicador (añadiendo una palabra "nueva" entre paréntesis) para evitar confusiones.

Hola,

en primer lugar gracias por su ayuda....

por favor, ¿puede adjuntar la pantalla de impresión de su entrada para ver el pentágono en ,por ejemplo, 1H gráfico de eurusd?

No sé qué configuración debo poner en la ventana del indicador para ver el pentágono... Sólo veo un montón de líneas de tendencia.....

Carbono

 
mladen:

Gran Ser

Lo comprobaré para ver qué pasa en mi terminal

mladen,

¿Cómo va esto?

Es realmente importante para nosotros. (Yo y los que necesitan mi HeatMap).

Big Be

 

Hola,

Soy nuevo con mql4 y la codificación en su conjunto así que puede cualquiera de los expertos por favor me ayude con los siguientes dos dilemas.

Necesito añadir una flecha y una alerta cuando el precio rompe una MA desde arriba, pero debería repintar como cuando el precio no cierra por debajo de la MA para que desaparezca de nuevo.

Se dibuja la flecha y la alerta para la vela 0 cuando se rompe, pero la alerta se mantiene durante todo el tiempo que la barra está abierta.

Como puedo hacer para que solo alerte cuando se dibuje la flecha, y no con cada tick.

He probado lo siguiente.

if(i==1 && SoundAlert)Alert(_Symbol, _Period," Sell Alert"); o if(i==0 && SoundAlert)Alert(_Symbol, _Period," Sell Alert"); .... i = 0 en el bucle for Pero sigue alertando con cada tick. Entonces mi segunda consulta: También me gustaría saber como en el ejemplo anterior, si el precio cierra por encima de una MA y se queda ahí, pero después de x barras vuelve a cerrar por debajo para darme una alerta. Lo que me gustaría que me ayudaran es cómo especificar las x barras de vuelta cuando el precio cerró de nuevo por debajo de la MA. Sólo quiero mirar entre 1-4 barras atrás que el precio estaba por encima de la MA y luego cuando la barra actual cerró por debajo de la MA debe dar ma una alerta. ¿Por dónde empiezo, qué tendría que mirar? Estoy pensando que la lógica es algo como lo siguiente: if((Close[i+1] && Close[i+2]&&Close[i+3]) > MA && Close <MA) pero en lugar de esta línea con el ROJO, tengo que ser capaz de seleccionar en la entrada cuántas barras atrás para mirar y debe ajustar esta lógica en consecuencia. es decir: if(Close[range selected]>MA && Close<A) Cualquier ayuda y la dirección es apreciada.

 
bokFX:
Hola,

Soy nuevo con mql4 y la codificación en su conjunto por lo que puede cualquiera de los expertos por favor me ayude con los siguientes dos dilemas.

Necesito añadir una flecha y una alerta cuando el precio rompe una MA desde arriba, pero debería repintar como cuando el precio no cierra por debajo de la MA para desaparecer de nuevo.

Se dibuja la flecha y la alerta para la vela 0 cuando se rompe, pero la alerta se mantiene durante todo el tiempo que la barra está abierta.

Como puedo hacer para que solo alerte cuando se dibuje la flecha, y no con cada tick.

He probado lo siguiente.

if(i==1 && SoundAlert)Alert(_Symbol, _Period," Sell Alert"); o if(i==0 && SoundAlert)Alert(_Symbol, _Period," Sell Alert"); .... i = 0 en el bucle for Pero sigue alertando con cada tick. Entonces mi segunda consulta: También me gustaría saber como en el ejemplo anterior, si el precio cierra por encima de una MA y se queda ahí, pero después de x barras vuelve a cerrar por debajo para darme una alerta. Lo que me gustaría que me ayudaran es cómo especificar las x barras de vuelta cuando el precio cerró de nuevo por debajo de la MA. Sólo quiero mirar entre 1-4 barras atrás que el precio estaba por encima de la MA y luego cuando la barra actual cerró por debajo de la MA debe dar ma una alerta. ¿Por dónde empiezo, qué tendría que mirar? Estoy pensando que la lógica es algo como lo siguiente: if((Close[i+1] && Close[i+2]&&Close[i+3]) > MA && Close <MA) pero en lugar de esta línea con el ROJO, tengo que ser capaz de seleccionar en la entrada cuántas barras atrás para mirar y debe ajustar esta lógica en consecuencia. es decir: if(Close[range selected]>MA && Close<A) Cualquier ayuda y la dirección es apreciada.

Usar algo como esto :

static datetime lastAlertedAt = 0;

if (Time[0]!=lastAlertedAt)

{

lastAlertedAt = Time[0];

...

el resto del código de alerta

}

 

15-11-2015, 22:01

¡Привет! Помогите с индикатором, не показывает Пеленг и выдает ошибки. Спасибо. Вложения

 

Originalmente publicado por mladen View Post

Big Be

Lo comprobaré para ver qué pasa en mi terminal

Big Be:

mladen

¿Cómo va esto?

Es realmente importante para nosotros. (Yo y los que necesitan mi HeatMap).

Big Be

No podía dejarlo solo. Con un montón de sentencias Comment, de una en una, y jugando a ser detective durante horas, descubrí el origen del problema.

Parece que no hay nada malo con los arrays multidimensionales. Había establecido la dimensión del array al número de pares que estaba utilizando. Tenía que ser el número de pares y elementos que el corredor tenía disponible. La primera configuración que utilicé (servidor Metaquotes) sólo tenía los 26 pares. Así que funcionó. Pero otros tienen más. Uno tiene 285. La matriz debe acomodar eso.

NUEVO PROBLEMA: ¿cuál es el formato correcto para redimensionar un array multidimensional? Sé que sólo se puede redimensionar la primera dimensión. Pero cuando uso esto el programa simplemente se para, tanto si lo pongo en start() como en init() aunque ArraySize da el tamaño correcto después del redimensionamiento :

ArrayResize(AlertsFoundII, size);

o

ArrayResize(AlertsFoundII, 285);

Ser grande

 

He probado algo, por una corazonada. Si inicializo el array sin el primer valor así: bool AlertsFoundII[][4][4]; y luego redimensiono el array más tarde usando el valor calculado (variable), funciona bien.

Big Be

 
Big Be:
Originalmente publicado por mladen View Post

Big Be

Lo comprobaré para ver qué pasa en mi terminal

No podía dejarlo solo. Con un montón de sentencias Comment, una a una, y jugando a ser detective durante horas, descubrí el origen del problema.

Parece que no hay nada malo con las matrices multidimensionales. Había establecido la dimensión del array al número de pares que estaba utilizando. Tenía que ser el número de pares y elementos que el corredor tenía disponible. La primera configuración que utilicé (servidor Metaquotes) sólo tenía los 26 pares. Así que funcionó. Pero otros tienen más. Uno tiene 285. La matriz debe acomodar eso.

NUEVO PROBLEMA: ¿cuál es el formato correcto para redimensionar un array multidimensional? Sé que sólo se puede redimensionar la primera dimensión. Pero cuando uso esto el programa simplemente se para, tanto si lo pongo en start() como en init() aunque ArraySize da el tamaño correcto después del redimensionamiento :

ArrayResize(AlertsFoundII, size);

o

ArrayResize(AlertsFoundII, 285);

Big Be

Debe funcionar de las dos maneras (estoy usando arrays de 2 dimensiones que se redimensionan dinámicamente todo el tiempo, y funciona bien)

 
bokFX:
Hola,

Soy nuevo con mql4 y la codificación en su conjunto por lo que puede cualquiera de los expertos por favor me ayude con los siguientes dos dilemas.

Necesito añadir una flecha y una alerta cuando el precio rompe una MA desde arriba, pero debería repintar como cuando el precio no cierra por debajo de la MA para desaparecer de nuevo.

Se dibuja la flecha y la alerta para la vela 0 cuando se rompe, pero la alerta se mantiene durante todo el tiempo que la barra está abierta.

Como puedo hacer para que solo alerte cuando se dibuje la flecha y no con cada tick.

He probado lo siguiente.

if(i==1 && SoundAlert)Alert(_Symbol, _Period," Sell Alert"); o if(i==0 && SoundAlert)Alert(_Symbol, _Period," Sell Alert"); .... i = 0 en el bucle for Pero sigue alertando con cada tick. Entonces mi segunda consulta: También me gustaría saber como en el ejemplo anterior, si el precio cierra por encima de una MA y se queda ahí, pero después de x barras vuelve a cerrar por debajo para darme una alerta. Lo que me gustaría que me ayudaran es cómo especificar las x barras de vuelta cuando el precio cerró de nuevo por debajo de la MA. Sólo quiero mirar entre 1-4 barras atrás que el precio estaba por encima de la MA y luego cuando la barra actual cerró por debajo de la MA debe dar ma una alerta. ¿Por dónde empiezo, qué tendría que mirar? Estoy pensando que la lógica es algo como lo siguiente: if((Close[i+1] && Close[i+2]&&Close[i+3]) > MA && Close <MA) pero en lugar de esta línea con el ROJO, tengo que ser capaz de seleccionar en la entrada cuántas barras atrás para mirar y debe ajustar esta lógica en consecuencia. es decir: if(Close[range selected]>MA && Close<A) Cualquier ayuda y la dirección es apreciada.

Gracias por la información Mladen, lo intentaré con la alerta.

También me gustaría saber como con el ejemplo anterior, si el precio cierra por encima de una MA y se queda allí, pero después de x barras cierra de nuevo por debajo para darme una alerta. Lo que me gustaría que me ayudaran es cómo especificar las x barras de vuelta cuando el precio cerró de nuevo por debajo de la MA. Sólo quiero mirar entre 1-4 barras atrás que el precio estaba por encima de la MA y luego cuando la barra actual cerró por debajo de la MA debe dar ma una alerta. ¿Por dónde empiezo, qué tendría que mirar? Estoy pensando que la lógica es algo como lo siguiente: if((Close[i+1] && Close[i+2]&&Close[i+3]) > MA && Close <MA) pero en lugar de esta línea con el ROJO, tengo que ser capaz de seleccionar en la entrada cuántas barras atrás para mirar y debe ajustar esta lógica en consecuencia. es decir: if(Close[range selected]>MA && Close<A) Cualquier ayuda y dirección es apreciada.