Ayuda sobre consulta de nombre de flecha
Ayuda sobre consulta de nombre de flecha

 

Publi

Resultados 1 al 6 de 6

Tema: Ayuda sobre consulta de nombre de flecha

  1. #1
    1 Adjunto(s) Hola,
    Quiero encontrar el valor de texto de la flecha en mi gráfico.
    en este gráfico, hay muchas flechas entrantes y cada vez que veo una nueva flecha en mi gráfico, quiero recibir un mensaje de alerta
    y me modificaron alguna fuente.
    uno de los problemas es después de cada mensaje emergente de alerta de barra.
    ¿Cómo puedo hacer un mensaje de alerta solo una vez?
    ¡gracias de antemano!




    Código insertado #property indicador_chart_window extern bool alertsOn = true; booleano externo alertas en corriente = falso; mensaje de alerta booleano externo = verdadero; booleano externo alertasSound = false; booleano externo alertasEmail = false;/bool Alertado = falso; extern bool displayAlert = verdadero; fecha y hora estática lastAlertTime;///---------------------------------------------- -------------------- fecha y hora hora antigua = 0; bool NewBar() { bool new = Hora#91;0#93; != HoraAnterior; gHoraAnterior = Hora#91;0#93;; retorno (nuevo); } int init() { retorno(0); } int deinit() { return(0); } int start() {/fecha y hora estática Hora0;/si (Alerta) return(-1);/int sentarse; int counted_bars=IndiorCounted(); int i,desplazamiento; límite int; if(barras_contadas lt; 0) return(-1); if(barras_contadas gt; 0) barras_contadas--; límite = Barras - barras_contadas; for(i = shift;ilt;=limit;i ){ string name = ObjectName(i); if (StringFind(nombre, Prueba) == 0) { DisplayAlert(¡Encontrado!,Símbolo()); Imprimir (Símbolo ()); } } } void DisplayAlert(string message, int shift) { if(shift lt;= 2 Hora#91;shift#93; != lastAlertTime) { lastAlertTime = Hora#91;shift#93;; Alerta(mensaje, Símbolo(), , , Período(), tabla de minutos); } } void doAlert(int forBar, string doWhat) { static string previousAlert=nada; fecha y hora estática hora anterior; mensaje de cadena; if (previousAlert != doWhat || previousTime != Time#91;forBar#93;) { previousAlert = doWhat; horaAnterior = Hora#91;paraBar#93;;/////////mensaje = Símbolo() en TimeToStr(TimeLocal(),TIME_SECONDS) doWhat; if (mensaje de alerta) alerta (mensaje); if (alertsEmail) SendMail(Symbol() alerts,message); if (alertsSound) PlaySound(alert2.wav); } }

  2.                         
    Publicidad
  3. #2
    sí ... así que solo este código fuente es lo que quiero modificar. y la primera fuente publicada y esta fuente es diferente. Traté de editar la fuente de la primera publicación, pero no pude editar, así que volví a publicar aquí. lo siento de nuevo dar a confundir. por lo que la primera fuente puede ignorar totalmente. Me modificaron partes innecesarias. Código insertado #property indicador_chart_window extern bool alertsOn = true; booleano externo alertas en corriente = falso; mensaje de alerta booleano externo = verdadero; booleano externo alertasSound = false; booleano externo alertasEmail = false; bool Alertado = falso; datetime gOldTime=0; bool NewBar() { bool new = Hora#91;0#93; != HoraAnterior; gHoraAnterior = Hora#91;0#93;; retorno (nuevo); } int init() { retorno(0); } int deinit() { return(0); } int start() {/fecha y hora estática Hora0; if (Alertado) return(-1); int Siéntate; int counted_bars=IndiorCounted(); ent yo; límite int; if(barras_contadas lt; 0) return(-1); if(barras_contadas gt; 0) barras_contadas--; límite = Barras - barras_contadas; for(i=0;ilt;=limit;i ){ cadena nombre = ObjectName(i); if (StringFind(nombre, Prueba) == 0) Imprimir(encontrado); } if(NewBar()) { doAlert(0, aquí el texto va a doWhat); Sentarse= 1; Alertado = verdadero;/no más alerta } }/----------------------------------------- -------------------------///------------------------------------- ------------------------------------------------------------ void doAlert(int forBar , cadena doWhat) { cadena estática alerta anterior=nada; fecha y hora estática hora anterior; mensaje de cadena; if (previousAlert != doWhat || previousTime != Time#91;forBar#93 { previousAlert = doWhat; horaAnterior = Hora#91;paraBar#93;;/mensaje = Símbolo() en TimeToStr(TimeLocal(),TIME_SECONDS) doWhat; if (mensaje de alerta) alerta (mensaje); if (alertsSound) PlaySound(alert2.wav); } }

  4. #3
    Decida qué código desea publicar y luego alguien podrá ayudarlo. Su primera publicación tenía la función NewBar () a la que no se accedió, en su segunda publicación sí. Lo mismo ocurre con doAlert(). El código de su primera publicación accedió a una función DisplayAlert() que ahora ha desaparecido. Si va a realizar cambios, resáltelos.

  5. #4
    ¿Por qué tienes tanto código al que no se accede? Código insertado #property indicador_chart_window static datetime lastAlertTime;///---------------------------------------------- -------------------- int inicial () { retorno (0); } int deinit() { return(0); } int start() { int counted_bars=IndiorCounted(); int i,desplazamiento; límite int; if(barras_contadas lt; 0) return(-1); if(barras_contadas gt; 0) barras_contadas--; límite = Barras - barras_contadas; for(i = shift;ilt;=limit;i ) { string name = ObjectName(i); if (StringFind(nombre, Prueba) == 0) { DisplayAlert(¡Encontrado!,Símbolo()); Imprimir (Símbolo ()); } } } void DisplayAlert(string message, int shift) { if(shift lt;= 2 Hora#91;shift#93; != lastAlertTime) { lastAlertTime = Hora#91;shift#93;; Alerta(mensaje, Símbolo(), , , Período(), tabla de minutos); } } Elimina las cosas que no hacen nada y el código es mucho más corto. No sé qué sucede cuando envías Symbol() a una función cuando espera un número entero. Los codificadores con más conocimientos podrán decir si esto es un problema o no.

  6. #5
    lo siento, volví a subir la fuente... es más limpia, pero el problema solo se alerta una vez... y no alerta cuando entra una nueva flecha... ¡gracias por su ayuda! Código insertado #property indicador_chart_window extern bool alertsOn = true; booleano externo alertas en corriente = falso; mensaje de alerta booleano externo = verdadero; booleano externo alertasSound = false; booleano externo alertasEmail = false; bool Alertado = falso;///---------------------------------------------- -------------------- fecha y hora hora antigua = 0; bool NewBar() { bool new = Hora#91;0#93; != HoraAnterior; gHoraAnterior = Hora#91;0#93;; retorno (nuevo); } int init() { retorno(0); } int deinit() { return(0); } int start() {/fecha y hora estática Hora0; if (Alertado) return(-1); int Siéntate; int counted_bars=IndiorCounted(); ent yo; límite int; if(barras_contadas lt; 0) return(-1); if(barras_contadas gt; 0) barras_contadas--; límite = Barras - barras_contadas; for(i=0;ilt;=limit;i ){ cadena nombre = ObjectName(i); if (StringFind(nombre, Prueba) == 0) Imprimir(encontrado); } if(NewBar()) { doAlert(0, encontrado 2); Sentarse= 1; Alertado = verdadero;/no más alerta } }/----------------------------------------- -------------------------///------------------------------------- ------------------------------------------------------------ void doAlert(int forBar , cadena doWhat) { cadena estática alerta anterior=nada; fecha y hora estática hora anterior; mensaje de cadena; if (previousAlert != doWhat || previousTime != Time#91;forBar#93 { previousAlert = doWhat; horaAnterior = Hora#91;paraBar#93;;/mensaje = Símbolo() en TimeToStr(TimeLocal(),TIME_SECONDS) doWhat; if (mensaje de alerta) alerta (mensaje); if (alertsEmail) SendMail(Symbol() alerts,message); if (alertsSound) PlaySound(alert2.wav); } }

  7. #6

    Cita Iniciado por ;
    sí ... así que solo este código fuente es lo que quiero modificar.
    Prueba esto . . .
    http://forum.mql4.com/57713

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •  
Uso de cookies
Utilizamos cookies propias y de terceros para elaborar información estadística y mostrarle publicidad personalizada a través del análisis de su navegación. Si continúa navegando acepta su uso. Más información y política de cookies.
     

Aviso legal: Ni forosforex.com ni ninguna persona involucrada en forosforex.com aceptarán ninguna responsabilidad por cualquier pérdida o daño en el trading como resultado de la confianza en la información contenida en este sitio web, incluidos datos, cotizaciones, gráficos y señales de compra/venta. Por favor, infórmese plenamente de los riesgos y costes asociados a las operaciones en los mercados financieros, una de las formas de inversión que más riesgos entrañan.
forosforex.com le quiere recordar que los datos contenidos en este sitio web no son necesariamente en tiempo real ni exactos. forosforex.com no asume responsabilidad alguna por las pérdidas en que usted podría incurrir como resultado de la utilización de estos datos. Este acuerdo se rige por su versión en inglés, que prevalecerá siempre que haya alguna discrepancia entre la versión en inglés y la versión en español. Los CFD son un producto difícil de entender, varios organismos reguladores consideran que no es adecuado para inversores minoristas debido a su complejidad y riesgo.
Advertencia de riesgo: Los CFDs son un producto difícil de entender, y puede no ser adecuado para inversores minoristas debido a su complejidad y riesgo. Existe la posibilidad de sufrir una pérdida igual o superior a la inversión. Por lo tanto, no debe invertir o arriesgar dinero que no pueda permitirse perder. Debe asegurarse de que comprende todos los riesgos. Antes de abrir una cuenta en un broker por favor sea consciente e infórmese de los riesgos asociados con el trading. El contenido de este sitio web no debe interpretarse como asesoramiento personal. ForosForex recomienda que busque el consejo de un asesor financiero independiente.