[ARCHIVO]Cualquier pregunta de novato, para no saturar el foro. Profesionales, no lo dejéis pasar. No puedo ir a ningún sitio sin ti - 5. - página 273

 
Dikii:

Explica cómo averiguar la oferta de hace 10 segundos, preferiblemente en código.

No lo necesito, así que no me interesa cómo hacerlo. Búscalo, ¡quizás encuentres algo! Buena suerte.
 
gince:

Hay una división. Y la función MMC (aunque está llena) dice que no hay suficientes datos en el array resultante en la función. No puedo entender por qué. Por eso me sale la división por cero.
Llevo días en el mismo sitio y no encuentro el error
 
gince:
Llevo días en el mismo sitio y no encuentro el error


¿en qué línea exactamente, dónde está la división por 0? y en qué valor del índice
 

esta función ArrayChLR(C, y, max) da un error ---ArrayChLR(): ¡No hay suficientes elementos de fila! 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);
}

Por lo tanto, la matriz s está vacía y sus elementos están vacíos.

2013.04.08 16:57:03 2013.03.29 20:45 naktinis fletas EURUSD,M15: zero divide
2013.04.08 16:57:03 2013.03.29 20:45 naktinis fletas EURUSD,M15: ArrayLR():¡no hay suficientes elementos en el array! n=0

 

Más preguntas

¿cuál es el mejor o correcto filtro de tiempo?

así

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

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

o

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

int start(){
if(TimeCurrent()>= StrToTime(startstartFlatMA) && TimeCurrent()<= StrToTime(endstartFlatMA)+24*60*60)
.
.
.
return
}
 
¿Podría decirme, entre las órdenes cerradas OrderSelect() empieza a comprobar desde dónde, desde el final o desde el principio? Bueno, o desde 0 o lo que sea...
 
CYBOPOB:
¿Podría decirme, entre las órdenes cerradas OrderSelect() empieza a comprobar desde dónde, desde el final o desde el principio? Bueno, o desde 0 o lo que sea...

Si se establece el bucle, ahí es donde comienza. Lea atentamente la descripción de esta función en F1 en el editor ME.
 

Buen día.

¿Podríais decirme si mql4 permite que el indicador dibuje una línea horizontal en el otro gráfico (no en el que está rondando)?

 
Roman.:

Si se establece el bucle, de ahí saldrá. Lee atentamente la descripción de este f-fi a través de F1 en MU editor.


Bueno, si estuviera escrito en lenguaje humano... Así que en cualquier empeño, primero parece que todo está claro, pero un poco más tarde te empiezas a volver loco...))

Un ejemplo concreto:


La orden se cierra al final del movimiento del TP, pero como la señal de VENTA no ha sido cancelada se abre una nueva orden, lo cual es inaceptable.

Mido 720 segundos, después de lo cual podemos abrir una nueva orden. Entonces, en este caso, ¿desde qué orden se medirán estos segundos, desde el primer orden de la historia o desde el último?

Y entonces: ¿Y si es así, qué? ¿Desde que sumo z, sale a contar desde el principio? Brrrr:))


¡Muchas gracias!

 

Encontré el error.

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

Estas páginas imprimen ceros. ¿POR QUÉ?

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 horas de la noche en el EURUSD,M15: avgPriceC[19]=0.00000000
2013.04.08 19:06:05 2013.03.28 20:00 horas de la noche en el 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