Retrasa la alerta varios segundos - página 5

 
Hola chicos, tengo que pedir disculpas a Gum Rai. ¡¡¡¡ Esta mañana con calma y los mercados abiertos han introducido su código y funciona !!!!
No entendía que era lo que estaba mal, porque creo que entré como la última vez, pero seguramente soy yo el que se equivoca. Disculpa, GumRai. ¡¡¡ Eres un grande! !!

Saludos, Massimo.


int start()
{
  static datetime BarStart=0;
   static bool check=false;
    if(BarStart!=Time[0])
     {
      BarStart=Time[0];
      check=true;
     }
   if(check && TimeCurrent()>=Time[0]+3)
     {
      check=false;
      //Check Condition
    

//_________________________________

/*void OnTimer(){
{
if(Bars!=prev_bars) current_candle_alert_been=false;
prev_bars=Bars;

if(current_candle_alert_been) return;
if(TimeLocal()-time_dif<Time[0]+seconds) return;
current_candle_alert_been=true;
 */    
      //Indicator Buffer 1
      if(iRSI(NULL, PERIOD_CURRENT, Period1, PRICE_CLOSE, 0) < 30
      
      )
        {
         Buffer1[0] = Low[0] - iATR(NULL, PERIOD_CURRENT, 14, 0); //Set indicator value at Candlestick Low - Average True Range
         if(0 == 0 && Time[0] != time_alert) { myAlert("indicator", "Buy"); time_alert = Time[0]; } //Instant alert, only once per bar
        }
      else
        {
         Buffer1[0] = 0;
        }
      //Indicator Buffer 2
      if(iRSI(NULL, PERIOD_CURRENT, Period1, PRICE_CLOSE, 0) > 70
     
      )
        {
         Buffer2[0] = High[0] + iATR(NULL, PERIOD_CURRENT, 14, 0); //Set indicator value at Candlestick High + Average True Range
         if(0 == 0 && Time[0] != time_alert) { myAlert("indicator", "Sell"); time_alert = Time[0]; } //Instant alert, only once per bar
        }
      else
        {
         Buffer2[0] = 0;
        }
     }
      
return(0);
}
 //-----------------------------------------------------------------------------------------------------------------------------


 

No te preocupes,

Me alegro de que lo tengas resuelto

 
GumRai: Pero lo que dices es que las barras aumentan al añadir datos anteriores a un gráfico. Entonces eso significa que al añadir las barras más tempranas, el rendimiento de las barras aumentará, por lo que usar Bars en lugar de Time[] detectará una nueva barra incluso cuando no haya habido una nueva barra?

Exactamente.

Los indicadores no utilizan el código de barras nuevo. Utilizan rates_total y previous_calculated, o Bars e IndicatorCounted() para recalcular los datos anteriores recién añadidos.

Los EA's utilizan el código Time[ 0 ] new bar para detectar una nueva barra.

Ejemplo en el diario: Jueves=[1] Viernes=[0] Bares=2

Luego se añade el historial: martes=[3], miércoles=[2] jueves=[1] viernes=[0] Bares cambió a 4 pero el día sigue siendo viernes: no hay día nuevo.

Las barras no son fiables (un refresco/recuperación puede cambiar el número de barras en el gráfico) el volumen no es fiable (se pierden los ticks) Utiliza siempre el tiempo. Nueva vela - Foro MQL4
 
WHRoeder:

Exactamente.

Los indicadores no utilizan un nuevo código de barras. Utilizan rates_total y previous_calculated, o Bars e IndicatorCounted() para recalcular los datos anteriores recién añadidos.

Los EA utilizan el código de barra nueva Time[0 ] para detectar una barra nueva.

Ejemplo en el diario: Jueves=[1] Viernes=[0] Bares=2

Luego se añade la historia: martes=[3], miércoles=[2] jueves=[1] viernes=[0] Las barras cambian a 4 pero el día sigue siendo viernes: no hay día nuevo.


Sí, por supuesto. Te equivocas de nuevo. No hay día nuevo. Pero hay nuevas barras-datos-días y necesitas volver a contar todos los datos en el indicador o EA.

 

Sé que este hilo es viejo pero podríais ayudarme a revisar el indicador adjunto. Quiero que la flecha aparezca 90s antes de que ocurra el evento. he intentado numerosas soluciones pero no parece que lo consiga. habría pegado el código mismo pero está por encima de 64000

https://pastebin.com/XSHR9ZvH


gracias

Archivos adjuntos:
 
Ibiso Irumudomon: Quiero que la flecha aparezca 90s antes de que ocurra el evento.
Así lo hacemos todos. Aquí no hay lectores de la mente y nuestras bolas de cristal están agrietadas. Hasta que el mercado no se mueva lo suficiente como para crear su señal, no hay señal.