[ARŞİV] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 5. - sayfa 273

 
Dikii :

Teklifi 10 saniye önce, tercihen bir kodla nasıl öğreneceğinizi açıklayın.

Buna ihtiyacım yok çünkü nasıl yapacağımla ilgilenmiyordum. Bir araştır, belki bir şeyler bulursun! İyi şanlar!
 
gince :

Bir bölme var. Ve KIM işlevine göre (eklenmiş de olsa), işlevde ortaya çıkan dizide yeterli veri olmadığını yazıyor. Neden anlayamıyorum. Bu sıfıra bölen şeydir.
Birkaç gündür aynı yerde oturuyorum ve hatayı bulamıyorum
 
gince :
Birkaç gündür aynı yerde oturuyorum ve hatayı bulamıyorum


özellikle hangi satır, 0'a bölme nerede? ve endeksin hangi değerinde
 

bu işlev ArrayChLR(C, y, max) bir hata veriyor --- ArrayChLR (): Yeterli satır öğesi yok! 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);
}

Böylece dizi boştur ve elemanları boştur.

2013.04.08 16:57:03 2013.03.29 20:45 naktinis fletas EURUSD,M15: sıfır bölme
2013.04.08 16:57:03 2013.03.29 20:45 naktinis fletas EURUSD,M15: ArrayLR(): yetersiz sayıda satır öğesi ! n=0

 

Daha çok soru

daha iyi veya daha doğru zaman filtresi nedir?

çok

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

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

veya

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

int start(){
if ( TimeCurrent ()>= StrToTime(startstartFlatMA) && TimeCurrent ()<= StrToTime(endstartFlatMA)+ 24 * 60 * 60 )
.
.
.
return
}
 
Lütfen söyle bana, kapalı emirler arasında OrderSelect() , kontrol nereden başlıyor, sondan mı yoksa baştan mı? Peki, ya da 0'dan mı yoksa başka bir şeyden mi?..
 
CYBOPOB :
Lütfen söyle bana, kapalı emirler arasında OrderSelect(), kontrol nereden başlıyor, sondan mı yoksa baştan mı? Peki, ya da 0'dan mı yoksa başka bir şeyden mi?..

Yineleme döngüsünü oradan ayarladığınız yerden ve olacak. ME düzenleyicide F1 aracılığıyla bu işlevin açıklamasını dikkatlice okuyun.
 

Güzel gün.

lütfen söyle bana, mql4'te göstergenin n.p çizmesi mümkündür. başka bir grafikte yatay bir çizgi (asıldığı Cator'da değil)? 5 var.

 
Roman. :

Oradan arama döngüsünü ayarladığınız yerden ve olacak. ME düzenleyicide F1 aracılığıyla bu işlevin açıklamasını dikkatlice okuyun.


Yani, orada insanca yazılmış olsaydı ... Yani herhangi bir girişimde, ilk başta her şey açık görünüyor ve biraz sonra çıldırmaya başlıyorsunuz ..))

TAMAM. Özel örnek:


TR hareketinin sonunda sipariş kapandı, ancak o zamandan beri SATIŞ sinyali iptal edilmedi, yeni bir emir açıldı, bu kabul edilemez.

720 saniye ölçüyorum, bundan sonra yeni bir sipariş açabilirsiniz. Peki bu durumda, bu saniyeler hangi sırayla ölçülecek, tarihte ilkten mi yoksa sondan mı?

Ve sonra: Ve eğer öyleyse, o zaman ne? Ben artı z olduğuna göre, baştan sayılacak mı? brrr :))


Çok teşekkürler!

 

?Hatanın yerini buldu

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

Sıfırlar bu satırlara yazdırılır. NİYE YA ?

2013.04.08 19:06:05 2013.03.28 20:00 testavimas naktini filosu EURUSD,M15: avgPriceC[21]=0.00000000
2013.04.08 19:06:05 2013.03.28 20:00 testavimas naktini filosu EURUSD,M15: avgPriceC[20]=0.00000000
2013.04.08 19:06:05 2013.03.28 20:00 testavimas naktini filosu EURUSD,M15: avgPriceC[19]=0.00000000
2013.04.08 19:06:05 2013.03.28 20:00 testavimas naktini filosu 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 filosu 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