[警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 - ページ 1025

 
まあ、サイクルの仕組みは知っているんですけどね。
 
eddy:
ループの仕組みは知っている

じゃあこのオフトピックは何なんだ?

eddy 2010年12月11日 15:59

i.e. インジケータを貼り付けるとターミナルがハングアップする、つまりループがエンドレスになる場合?

どうすればいいのかわからない......ただただ論理的な結末に到達しているのです

 
無限ループは、定義上、終わりがありません。問題は、なぜ端末がハングアップしたのかです)
 
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
 

なぜスイッチにブレイクが必要なのか?

書かれているのは、テンフを増やすために必要なことで、現在のテンフの安値バーと重なったら、そのサイクルを中断することです。