[ARCHIV]Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht daran vorbei. Ohne dich kann ich nirgendwo hingehen - 5. - Seite 273

 
Dikii:

Erklären Sie, wie man das Gebot von vor 10 Sekunden herausfindet, vorzugsweise in Code.

Ich brauche es nicht, also bin ich auch nicht daran interessiert, wie man es macht. Suchen Sie danach, vielleicht werden Sie fündig! Viel Glück!
 
gince:

Es gibt nur eine Abteilung. Und die CMM-Funktion (obwohl sie voll ist) sagt, dass nicht genügend Daten im resultierenden Array in der Funktion vorhanden sind. Ich kann mir nicht erklären, warum. Deshalb bekomme ich eine Division durch Null.
Ich sitze schon seit Tagen an derselben Stelle und kann den Fehler nicht finden
 
gince:
Ich sitze nun schon seit Tagen an derselben Stelle und kann den Fehler nicht finden


welche Zeile genau, wo ist die Division durch 0? und bei welchem Wert des Indexes
 

diese Funktion ArrayChLR(C, y, max) gibt einen Fehler ---ArrayChLR(): Nicht genügend Zeilenelemente! n=0 ----.

void ArrayChLR(double& x[], double& y[], double& max) {
  double a, b, c, sx=0, sx2=0, sxy=0, sy=0;
  int    i, n=ArraySize(x);

  if (n>1) {
    for (i=0; i<n; i++) {
      sx+=i+1;
      sy+=x[i];
      sxy+=(i+1)*x[i];
      sx2+=(i+1)*(i+1);
    }
    a=sx*sy-n*sxy;
    c=sx*sx-n*sx2;
    if (c!=0) a=a/c; else a=0;
    b=(sy-a*sx)/n;
    ArrayResize(y, n);
    max = 0; 
    double dif[];
    ArrayResize(dif, n);
    for (i=0; i<n; i++) 
    {
      y[i]=a*(i+1)+b;
      dif[i] = MathAbs(Close[i] - y[i]);
      if(dif[i] > max) max = dif[i];      
    }
  } else Print("ArrayLR(): едостаточное количество элементов ряда n=", n);
}

Dann ist s array leer und seine Elemente sind leer.

2013.04.08 16:57:03 2013.03.29 20:45 naktinis fletas EURUSD,M15: Nullteilung
2013.04.08 16:57:03 2013.03.29 20:45 naktinis fletas EURUSD,M15: ArrayLR():nicht genügend Elemente im Array! n=0

 

Weitere Fragen

Was ist der beste oder richtige Zeitfilter?

wie diese

extern int     startHourFlatMA        =  16;    
extern int     startMinFlatMA        =  00;

int start(){
if(Hour() >= startHourFlatMA && Minute() >= startMinFlatMA)
.
.
.
retorn
}

oder

extern string  startstartFlatMA       = "16:00";
extern string  endstartFlatMA       = "00:00";

int start(){
if(TimeCurrent()>= StrToTime(startstartFlatMA) && TimeCurrent()<= StrToTime(endstartFlatMA)+24*60*60)
.
.
.
return
}
 
Können Sie mir bitte sagen, wo bei geschlossenen Aufträgen OrderSelect() mit der Prüfung beginnt, am Ende oder am Anfang? Nun, oder von 0 oder was auch immer...?
 
CYBOPOB:
Können Sie mir bitte sagen, wo bei geschlossenen Aufträgen OrderSelect() mit der Prüfung beginnt, am Ende oder am Anfang? Nun, oder von 0 oder was auch immer...?

Wenn Sie die Schleife einstellen, beginnt sie dort. Lesen Sie sorgfältig die Beschreibung dieser Funktion in F1 im ME-Editor.
 

Guten Tag.

Könnten Sie mir bitte sagen, ob mql4 dem Indikator erlaubt, eine horizontale Linie auf dem anderen Chart zu zeichnen (nicht auf dem, auf dem er schwebt)?

 
Roman.:

Wenn Sie die Schleife einstellen, wird sie von dort kommen. Lesen Sie sorgfältig die Beschreibung dieses f-fi über F1 im MU-Editor.


Nun, wenn es in der menschlichen Sprache geschrieben wurde ... Also in jedem Bemühen, zunächst scheint es, dass alles klar ist, aber ein wenig später beginnen Sie verrückt zu werden ...))

O.K. Ein konkretes Beispiel:


Der Auftrag wird am Ende der TP-Bewegung geschlossen, aber da das SELL-Signal nicht gelöscht wurde, wird ein neuer Auftrag eröffnet, was nicht akzeptabel ist.

Ich messe 720 Sekunden, danach können wir einen neuen Auftrag eröffnen. Von welcher Reihenfolge aus werden diese Sekunden dann gemessen, von der ersten Reihenfolge in der Geschichte oder von der letzten?

Und dann: Und wenn ja, was dann? Da ich plus z, dann kommt es darauf an, von Anfang an zu zählen? Brrrrr:))


Herzlichen Dank!

 

Ich habe den Fehler gefunden.

int start()
 {
   double volMA11, volMA12, volMA21, volMA22;  
   double x[], y[]; 
   
   Print("******************STARTAS*****************************************");
   
   if(!TF_F_NewBar())return(0);
 
   volMA11 = iCustom(NULL, 15, "volumeMA",  2, 1);         
   volMA12 = iCustom(NULL, 15, "volumeMA",  2, 2);
   volMA21 = iCustom(NULL, 15, "volumeMA",  3, 1);
   volMA22 = iCustom(NULL, 15, "volumeMA",  3, 2);
    
   if(DayOfWeek()==1 || DayOfWeek()==2 || DayOfWeek()==3 || DayOfWeek()==4)                             //jei pirmadienis antradienis ar treciadienis, ar ketvirtadienis
   {         
      if(TimeCurrent()>= StrToTime(startstartFlatMA) && TimeCurrent()<= StrToTime(endstartFlatMA)+24*60*60)
      {
         //Print("fleto starto ieskojimo laikas prasidejo  "+TimeToStr(TimeCurrent())+" >= "+TimeToStr(StrToTime(startstartFlatMA))+
               //"  &&  "+TimeToStr(TimeCurrent())+" <= "+TimeToStr(StrToTime(endstartFlatMA)+24*60*60));
         bool laikas = true;
         Print("laikas = "+laikas);         
         if(volMA21 - volMA11 > 0 && volMA12 - volMA22 > 0)
         {                                                                                   //jei buvo susikirtimas
            susikirtimas = true;           
         }
         if(susikirtimas == true) 
         {
            if(zvakes_pabaiga)
            {
               if(iTime(NULL, BarEnd, 1)!= LastTime)
               {            
                  LastTime = iTime(NULL, BarEnd, 1);
                  flat = true;           
                  LastTime = iTime(NULL, BarEnd, 1);
              }
              else return(0);            
           }
           else flat = true;
           if(flat == true)
           {
               i++; 
             //Zinodami indekso eiles numeri galim keisti masyvo ilgi
            
            ArrayResize(avgPriceH,i); 
            ArrayResize(avgPriceL,i);
            ArrayResize(avgPriceO,i); 
            ArrayResize(avgPriceC,i);        
           Print("ArraySize     "+ArraySize(avgPriceC));
            //jei fletas prasidejo renkam duomenis i masyva zvakiu HL ir OC skaiciavimui
            
            avgPriceH[i] = High[1];    
            avgPriceL[i] = Low[1];     
            avgPriceO[i] = Open[1];   
            avgPriceC[i] = Close[1];
         
            j++; 
            
            ArrayResize(chPriceC,j); 
            ArrayResize(chTime,j);    
           } 
         for(int a=0; a<=i; a++)Print("avgPriceC["+a+"]="+avgPriceC[a]);
         
        }        
     }
  }
    
  return(0);
}

Diese Seiten drucken Nullen. WARUM?

2013.04.08 19:06:05 2013.03.28 20:00 testavimas naktini fleta EURUSD,M15: avgPriceC[21]=0.00000000
2013.04.08 19:06:05 2013.03.28 20:00 testavimas naktini fleta EURUSD,M15: avgPriceC[20]=0.00000000
2013.04.08 19:06:05 2013.03.28 20:00 testavimas naktini fleta EURUSD,M15: avgPriceC[19]=0.00000000
2013.04.08 19:06:05 2013.03.28 20:00 testavimas naktini fleta EURUSD,M15: avgPriceC[18]=0.00000000
2013.04.08 19:06:05 2013.03.28 20:00 testavimas naktini fleta EURUSD,M15: avgPriceC[17]=0.00000000

.

.

.
2013.04.08 19:06:05 2013.03.28 20:00 testavimas naktini fleta EURUSD,M15: avgPriceC[2]=0.00000000
2013.04.08 19:06:05 2013.03.28 20:00 testavimas naktini fleta EURUSD,M15: avgPriceC[1]=0.00000000
2013.04.08 19:06:05 2013.03.28 20:00 testavimas naktini fleta EURUSD,M15: avgPriceC[0]=0.00000000
2013.04.08 19:06:05 2013.03.28 20:00 testavimas naktini fleta EURUSD,M15: ArraySize 21

Grund der Beschwerde: