[Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas votre chemin. Je ne peux aller nulle part sans toi. - page 1025

 
Eh bien, je sais comment les cycles fonctionnent.
 
eddy:
Je sais comment les boucles fonctionnent.

Quel est l'intérêt de ce hors-sujet alors ?

eddy 11.12.2010 15:59

Par exemple, si le terminal se bloque lors du collage de l'indicateur, c'est-à-dire si la boucle est sans fin ?

Je ne sais pas comment faire - cela va jusqu'au bout de la logique !

 
une boucle infinie, par définition, n'a pas de fin. la question était de savoir pourquoi le terminal a raccroché)
 
eddy:
"Par définition, une boucle infinie n'a pas de fin. La question était de savoir pourquoi le terminal a raccroché.")

C'est pourquoi il est dit "Exemple de boucle infinie avec interruption".

Et personne n'a entendu la réponse. "Oui. Lisez ce script au début, mettez-le sur le tableau, ce sera beaucoup plus clair. Exemple d'une boucle infinie avec interruption."

 
    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; }  }

et celui-là est mal parti :

 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;

pourquoi le cycle n'est-il pas interrompu ?

 
Comment puis-je me référer à l'indicateur VininI_HMA (et à d'autres qui tracent une ligne de différentes couleurs) pour obtenir la couleur de la ligne ?
 
eddy:

pourquoi le cycle n'est-il pas interrompu ?

quelqu'un sait-il ? le terminal se bloque lorsqu'un indicateur est inséré, si ce cycle s'y trouve.
 
eddy:
personne ne sait ? le terminal se bloque lorsqu'un indicateur est inséré, si ce cycle s'y trouve.

Vous savez comment fonctionnent les boucles ;))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:
Comment puis-je me référer à l'indicateur VininI_HMA (et à d'autres qui tracent une ligne de différentes couleurs) pour obtenir la couleur de la ligne ?

C'est ça, dépêche-toi.

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
 

pourquoi ai-je besoin d'une pause dans l'interrupteur ?

C'est écrit, c'est nécessaire pour augmenter le tenf. Quand la barre basse du tenf actuel coïncide avec la barre basse du tenf actuel, il faut interrompre le cycle.