[WARNUNG GESCHLOSSEN!] Alle Fragen von Neulingen, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen. - Seite 1025

 
Nun, ich weiß, wie Zyklen funktionieren.
 
eddy:
Nun, ich weiß, wie Schleifen funktionieren

Was soll dann dieses Offtopic?

eddy 11.12.2010 15:59

d.h. wenn das Terminal beim Einfügen des Indikators hängen bleibt, d.h. die Schleife endlos ist?

Ich weiß nicht, wie ich es anstellen soll - es kommt einfach zu seinem logischen Ende!

 
eine unendliche schleife hat per definitionem kein ende. die frage war, warum sich das terminal aufgehängt hat)
 
eddy:
"Per Definition hat eine Endlosschleife kein Ende. Die Frage war, warum sich das Terminal aufgehängt hat.)

Deshalb heißt es ja auch "Beispiel einer Endlosschleife mit Unterbrechung".

Und niemand hat die Antwort gehört: "Ja. Lesen Sie dieses Skript am Anfang, schreiben Sie es auf die Tafel, dann wird es viel klarer. Beispiel einer Endlosschleife mit Unterbrechung."

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

und dieser hier ist aus dem Ruder gelaufen:

 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;

warum wird der Kreislauf nicht unterbrochen?

 
Wie beziehe ich mich auf den Indikator VininI_HMA (und andere , die eine Linie in verschiedenen Farben zeichnen ), um die Farbe der Linie zu erhalten?
 
eddy:

warum wird der Kreislauf nicht unterbrochen?

weiß jemand? das Terminal hängt sich auf, wenn ein Indikator eingefügt wird, wenn dieser Zyklus darin ist.
 
eddy:
niemand weiß? das Terminal hängt sich auf, wenn ein Indikator eingefügt wird, wenn dieser Zyklus darin ist.

Sie wissen ja, wie Schleifen funktionieren ;))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:
Wie beziehe ich mich auf den Indikator VininI_HMA (und andere, die eine Linie in verschiedenen Farben zeichnen), um die Farbe der Linie zu erhalten?

Genau, beeilen Sie sich.

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
 

Warum brauche ich eine Unterbrechung des Schalters?

Wenn der untere Balken des aktuellen Tenfs mit dem unteren Balken des aktuellen Tenfs zusammenfällt, sollte der Zyklus unterbrochen werden.