[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 1025

 
ну я знаю как циклы работают
 
eddy:
ну я знаю как циклы работают

К чему тогда этот оффтоп?

eddy 11.12.2010 15:59

если терминал завис при вставке индикатора знач цикл бесконечный?

Цикл по определению доходит до своего логического завершения!

 
у бесконечного цикла по определению нет завершения. вопрос был почему терминал завис)
 
eddy:
у бесконечного цикла по определению нет завершения. вопрос был почему терминал завис)

Поэтому и написано "Пример бесконечного цикла с прерыванием."

А ответа значит никто не услышал "Да.Прочитайте этот скрипт в старте, выкиньте на график станет все на много яснее.Пример бесконечного цикла с прерыванием."

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

а эта вне старта:

 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;

почему цикл не прерывается?

 
Как обратиться к индикатору VininI_HMA ( и другим рисующим линию разного цвета) чтобы получить цвет линии ?
 
eddy:

почему цикл не прерывается?

никто не знает? зависает терминал при вставке индикатора, если этот цикл в нём.
 
eddy:
никто не знает? зависает терминал при вставке индикатора, если этот цикл в нём.

Вы же знаете как работают циклы ;))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:
Как обратиться к индикатору VininI_HMA ( и другим рисующим линию разного цвета) чтобы получить цвет линии ?

Примерно так, спешу..

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
 

зачем мне break в свитче?

свитч нужен для увеличения тф, написано же. при совпадении лоу бара на тф с лоу бара на текущем тф цикл должен прерваться

Причина обращения: