Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 788

 
Igor Zakharov:

¿Cómo voy a saberlo? La persona que hizo la pregunta utilizó iLow(), por lo que lo necesita. Tal vez sea más simple, tal vez planea referirse a otro símbolo o marco de tiempo a través de una variable de entrada (no puedo recordar si hay copyrates en cuádruple?)

Lo hay.

 
psyman:

No publiqué el código aquí, pero escribí el más simple para simplificar el análisis.

Dime más sobre lo que está mal, no está claro sobre la velocidad máxima.

Vladimir Karputov:

El código es muy afortunado, ya que en cada tic se pasa por encima de TODAS las barras.


En cuarta eraIndicatorCounted(), nosé qué posibilidades hay en quinta, y no hay ni siquiera un sitio donde leerlo.

¿Es buena esta opción o se puede simplificar?

int OnCalculate(....)
{
   int i, Counted_bars;
   
      Counted_bars=IndicatorCounted(); // Количество просчитанных баров 
      i=Bars-Counted_bars-1;           // Индекс первого непосчитанного

      while(i>=0)                      // Цикл по непосчитанным барам
      { 
        .....
        
       i--;                          
      }
}

int IndicatorCounted()
  {
   if(prev_calculated>0) return(prev_calculated-1);
   if(prev_calculated==0) return(0);
   return(0);
  }
 
psyman:


En el 4 habíaIndicatorCounted(), nosé qué posibilidades hay en el 5 y no hay ningún sitio donde leerlo.

¿Es buena esta opción, o se puede simplificar?

Ayuda, foro, artículos: ¿es este el "lugar para leer" en su opinión? Si sólo tuvieras el deseo. De hecho, estás escribiendo en el tema del antiguo terminal, mientras que tu pregunta es sobre MQL5. Tienes una discrepancia.

He dejado el tema.

 
psyman:


En el 4 habíaIndicatorCounted(), nosé qué posibilidades hay en el 5 y no hay ningún sitio donde leerlo.

¿Es buena esta opción o se puede simplificar?

Ahora, tanto en mql4 como en mql5, la función principal del indicador tiene todo lo necesario

int OnCalculate (const int rates_total,      // размер входных таймсерий
                 const int prev_calculated,  // обработано баров на предыдущем вызове
                 const datetime& time[],     // Time
                 const double& open[],       // Open
                 const double& high[],       // High
                 const double& low[],        // Low
                 const double& close[],      // Close
                 const long& tick_volume[],  // Tick Volume
                 const long& volume[],       // Real Volume
                 const int& spread[]         // Spread
   );

prev_calculado es el número de barras calculadas.

 

Hola.

Si el precio ha cambiado 30 pips en 60 segundos, marcaré la barra

 for(int i=limit; i>=0; i--)
     {
      datetime t_=TimeCurrent();
      if(t_>t_b+60)
        {
         t_b = TimeCurrent();
         pr_b=close[0];
        }
      if(MathAbs(close[0]-pr_b)>=30*Point && t_<t_b+60)
        {
         BufferUP[i]=low[i]-10*Point;
        }

     }

¿Qué pasa?

 
lil_lil:

Hola.

Si el precio ha cambiado 30 pips en 60 segundos, marcaré la barra

¿Qué pasa?

¿Por qué es así?

int limit=rates_total-prev_calculated-1;

¿y no así?

int limit=rates_total-prev_calculated;

¿Dónde pongo el límite?

   if(limit>1)
     {
      ArrayInitialize(BufferUP,EMPTY_VALUE);
      ArrayInitialize(BufferDN,EMPTY_VALUE);
     }
   if(limit>1)
     {
      limit=rates_total-1;
      ArrayInitialize(BufferUP,EMPTY_VALUE);
      ArrayInitialize(BufferDN,EMPTY_VALUE);
     }

No busqué más

 
Artyom Trishkin:

¿Por qué es así?

¿y no así?

¿Dónde está el ajuste del límite?

No busqué más.

Gracias, pero así tampoco hay resultados. Mira más allá, por favor.

 
lil_lil:

Gracias, pero así tampoco hay resultados. Mira más allá, por favor.

¿Qué es eso?

datetime t_=TimeCurrent();

¿Qué tiempo se toma en el bucle? ¿Qué es TimeCurrent()?

 
¡Hola!
Hay una función en el Asesor Experto para obtener el texto de un enlace.... lo consigo con esta biblioteca:
https://github.com/sergeylukin/mql4-http
Todo está bien y no hay preguntas al respecto.
El problema es el siguiente:
En este enlace el texto se actualiza sistemáticamente y el terminal no lo percibe, ¡incluso cuando reinicias el búho de la carta y lo vuelves a poner! ¡ Sólo el cierre y la apertura del terminal en absoluto ayuda! ¿Quizás quién sabe cómo arreglarlo?
 
lil_lil:

Hola.

Si el precio ha cambiado 30 pips en 60 segundos, marcaré la barra

¿Qué pasa?

Hace poco me encontré con un encargo independiente con una tarea similar. ¿No es ese el trabajo que estás haciendo?

Razón de la queja: