Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 864

 
tara:
Aprende, aprende y aprende. En primer lugar - aprender a entender lo que hay que hacer, entonces - aprender a formular una pregunta, cómo hacerlo. Y luego aprender a hacer las cosas. Si realmente quieres, por supuesto...

Gracias... ¡Qué país de los soviéticos! Por desgracia, no me arden las ganas de estudiar MQL4 en profundidad. En este momento tiene un interés aplicado muy limitado, es decir, sólo para un Asesor Experto en particular. Sé que no necesito un manual, pero quiero que me ayuden profesionales, incluso hay tutores ausentes. Bueno, lo haremos nosotros mismos. Sólo es una pena la hora.

Bueno, una cosa más: en realidad me dirigí a esta rama, creyendo el título: "Cualquier pregunta de un principiante ..." Y si una respuesta normal es humillante para ti, entonces ¿por qué estás aquí? ¿Para mostrar tu profesionalidad? Creo que eso se consigue de una manera ligeramente diferente.

 
rapid_minus:
Gracias... ¡Qué país de los soviéticos! Desgraciadamente, no tengo muchas ganas de estudiar a fondo el MQL4. En este momento tiene un interés aplicado muy limitado, es decir, sólo para un Asesor Experto en particular. Sé que no necesito un manual, pero quiero que me ayuden profesionales, incluso hay tutores ausentes. Bueno, lo haremos nosotros mismos. Pero es una pena el tiempo.

Ayuda cualificada por una tarifa razonable: https://www.mql5.com/ru/job ¡No te descuides y ahorra tiempo! En este mundo también se paga por los consejos.

Todo está comercializado.

 
borilunad:

Ayuda cualificada por una tarifa razonable: https://www.mql5.com/ru/job ¡No te descuides y ahorra tiempo! En este mundo también se paga por los consejos.

Todo está comercializado.

El único dinosaurio que queda es Igor Kim. Y él, en mi opinión, se ha cansado de nosotros, los ignorantes. Es una pena...
 
rapid_minus:
El único dinosaurio que queda es probablemente Igor Kim. Y creo que se cansó de nosotros, los aficionados. Es una pena...
¿Por qué? Todavía hay algunos...
 
artmedia70:
Porque, hay un poco más...

Sí, gracias. También te conozco del hilo de Kim. En los últimos años, la rama se ha convertido en un lugar con mucha basura, desafortunadamente (IMHO).

No me atrevo a dirigirme directamente a los respetados e incluso venerados (todavía...), pero: "A" ya se ha dicho...

 

Hola,

Parece estar bien, pero no se muestra bajo[1] .


//+------------------------------------------------------------------+
#property copyright ""
#property link      ""
int high[7],low[7],timeh[7],timel[7];
//+------------------------------------------------------------------+
int init(){  
  return(0);
 }
int deinit(){
  Comment("");
  return(0);
 }  
//-------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
int start(){
    double   spred = MarketInfo(Symbol(),MODE_SPREAD);
    int      value0,value1,value2,limit,av_vol;
    int      i,Open_bar_per,Close_bar_per;
    datetime Time_period,Close_per;
//+------------------------------------------------------------------+
       Time_period   = iTime(Symbol(),PERIOD_D1,0);
       Open_bar_per  = iBarShift(Symbol(),0,Time_period,false);
       Close_per     = iTime(Symbol(),0,0)-Period()*60;
       Close_bar_per = iBarShift(Symbol(),0,Close_per,false);
       limit         = Open_bar_per - Close_bar_per;

   for(i=limit;i>0;i--){
       value0=0;value1=0;value2=0;

       value0   = iVolume(Symbol(),0,i);
       value1   = iVolume(Symbol(),0,i+1);
       value2   = iVolume(Symbol(),0,i+2);
       
    if(value0 > value1 && value1 < value2){
       low[0]   = value1;
       timel[0] = iTime(Symbol(),0,i+1);
     }
    if(value0 < value1 && value1 > value2){
       high[0]  = value1;
       timeh[0] = iTime(Symbol(),0,i+1);
     }
   for(int j=7;j>=0;j--){
       high[j]  = high[j-1];
       low[j]   = low[j-1];
       timeh[j] = timeh[j-1];
       timel[j] = timel[j-1];
     }
    if(high[1] < high[2]){
       high[1]  = high[2];
       timeh[1] = timeh[2];
     }
    if(low[1] > low[2]){
       low[1]   = low[2];
       timel[1] = timel[2];
     }
  } 
       av_vol = NormalizeDouble(high[1]/3,0);
//+------------------------------------------------------------------+
     Comment("\nВреме на брокера: ",TimeToStr(TimeCurrent(),TIME_SECONDS),", Локално време: "+TimeToStr(TimeLocal(),TIME_SECONDS),
             "\nТекущ спред: ",DoubleToStr(spred/10,1),
             "\n=====================",
             "\n High_per  :  ",high[1],
             "\n Low_per   :  ",low[1],   
             "\n time_high :  ",TimeToStr(timeh[1],TIME_SECONDS),
             "\n time_low  :  ",TimeToStr(timel[1],TIME_SECONDS),
             "\n Close_per :  ",TimeToStr(Close_per,TIME_SECONDS),
             "\n Open_per  :  ",limit, 
             "\n=====================",
             "\n av_vol    :  ",av_vol,
             "\n====================="
             ); 
  return(0);  
  }
 
mario065:

Hola,

Parece que está bien, pero no muestra la baja[1] .



¿No te confunde si está fuera de la matriz?

Está aquí:

for(int j=7;j>=0;j--){
       high[j]  = high[j-1];
       low[j]   = low[j-1];
       timeh[j] = timeh[j-1];
       timel[j] = timel[j-1];
     }

Además, "no quiere mostrar" allí todo, no sólo bajo[1].

 
evillive:

¿No se confunde al salir del conjunto?

Ahí mismo:

¿¡No lo entiendo!?

Este bucle es sólo para mover el resultado.

Entonces, si hay una condición, será la primera de nuevo.

 
mario065:

¿¡No lo entiendo!?

Este bucle es sólo para mover el resultado.

Entonces si la condición es de nuevo será la primera

El bucle accede a elementos del array inexistentes, no importa para qué se utilice. Eso no es bueno.
 
evillive:
Un bucle accede a elementos del array inexistentes, no importa para qué sea. Esto no es bueno.
¿Sugerencias para solucionarlo?