[¡AVISO CERRADO!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen. No puedo ir a ningún sitio sin ti. - página 1025

 
Bueno, sé cómo funcionan los ciclos.
 
eddy:
bueno, sé cómo funcionan los bucles

¿Qué sentido tiene entonces este offtopic?

eddy 11.12.2010 15:59

es decir, si el terminal se cuelga al pegar el indicador, es decir, el bucle es interminable?

No sé cómo hacerlo: ¡llega a su fin lógico!

 
un bucle infinito, por definición, no tiene fin. la pregunta era por qué se colgaba el terminal)
 
eddy:
"Por definición, un bucle infinito no tiene fin. La pregunta era por qué se colgaba el terminal).

Por eso dice "Ejemplo de bucle infinito con interrupción".

Y nadie ha escuchado la respuesta. "Sí. Lee este guión al principio, ponlo en el gráfico, será mucho más claro. Ejemplo de un bucle infinito con interrupción".

 
    int per=1;   // узнать минимальный тф на баре i1st. per это period какбэ
 while(true)                    {
              //iLowest( на мин_тф, свеч внутри, iBarShift(                     )+1)
     int lowest=iLowest(NULL,per,1,Period()/per, iBarShift(NULL,per,Time[i1st-1])+1);
   if(pr(iLow(NULL,per,lowest))==pr(Low[i1st]))   // если (лоу лоуест бара == лоу кур_ТФ бара)
    { i1tf=per; break; }
// иначе - увеличивать тф:
      switch (per)           {
      case 1:  per=5;
      case 5:  per=15;
      case 15: per=30;
      case 30: per=60;
      case 60: per=240;
      case 240:   per=1440;
      case 1440:  per=10080;
      case 10080: per=43200; }  }

y este está fuera de juego:

 int pr(double n)       {    //  p=MathRound(1.0/Point);
 int p=MathRound(1.0/Point); //  1/0.01 = 100;
 return(MathRound(n*p));}    //  95.00*100=9500;

¿por qué no se interrumpe el ciclo?

 
¿Cómo puedo referirme al indicador VininI_HMA (y a otros que dibujan una línea en diferentes colores) para obtener el color de la línea?
 
eddy:

¿por qué no se interrumpe el ciclo?

¿alguien sabe? el terminal se cuelga cuando se inserta un indicador, si este ciclo está en él.
 
eddy:
¿nadie sabe? el terminal se cuelga al insertar un indicador, si este ciclo está en él.

Ya sabes cómo funcionan los bucles ;))https://book.mql4.com/ru/operators/while

   while(true)  а здесь условия                  {
              //iLowest( на мин_тф, свеч внутри, iBarShift(                     )+1)
     int lowest=iLowest(NULL,per,1,Period()/per, iBarShift(NULL,per,Time[i1st-1])+1);
   if(pr(iLow(NULL,per,lowest))==pr(Low[i1st]))   // если (лоу лоуест бара == лоу кур_ТФ бара)
    { i1tf=per; break; }
// иначе - увеличивать тф:
      switch (per)           {
      case 1:  per=5;  тут должны быть break;
      case 5:  per=15;тут должны быть break;
      case 15: per=30;
      case 30: per=60;тут должны быть break;
      case 60: per=240;
      case 240:   per=1440;тут должны быть break;
      case 1440:  per=10080;
      case 10080: per=43200; }  
тут должны быть break; который прервет цикл но зачем тогда цикл?
}
 
lagriv:
¿Cómo puedo referirme al indicador VininI_HMA (y a otros que dibujan una línea en diferentes colores) para obtener el color de la línea?

Más o menos, date prisa.

if(iCustom(0,0,"VininI_HMA",period,method,price,sdvig,1,0)==EMPTY_VALUE)
color Green
if(iCustom(0,0,"VininI_HMA",period,method,price,sdvig,2,0)==EMPTY_VALUE)
color Red
if(iCustom(0,0,"VininI_HMA",period,method,price,sdvig,1,0)==EMPTY_VALUE&&
   iCustom(0,0,"VininI_HMA",period,method,price,sdvig,2,0)==EMPTY_VALUE)
color Yellow
 

¿por qué necesito una pausa en el interruptor?

Está escrito, es necesario para aumentar la tenf. Cuando la barra baja de la tenf actual coincide con la barra baja de la tenf actual, el ciclo debe interrumpirse.