Errores, fallos, preguntas - página 1090

 

La pregunta es más bien por curiosidad: "¿Por qué los miembros de la enumeración ENUM_TIMEFRAMES tienen asignados estos valores concretos? ¿De dónde salió el número16385 al pasar de M30 a H1?"

enum ENUM_TIMEFRAMES       
{                          
PERIOD_CURRENT = 0,        
PERIOD_M1 = 1,             
PERIOD_M2 = 2,             
PERIOD_M3 = 3,             
PERIOD_M4 = 4,             
PERIOD_M5 = 5,             
PERIOD_M6 = 6,             
PERIOD_M10 = 10,           
PERIOD_M12 = 12,           
PERIOD_M15 = 15,           
PERIOD_M20 = 20,           
PERIOD_M30 = 30,           
PERIOD_H1 = 16385,  //???       
PERIOD_H2 = 16386,         
PERIOD_H3 = 16387,         
PERIOD_H4 = 16388,         
PERIOD_H6 = 16390,         
PERIOD_H8 = 16392,         
PERIOD_H12 = 16396,        
PERIOD_D1 = 16408,         
PERIOD_W1 = 32769,         
PERIOD_MN1 = 49153         
}; 

¡¡¡Gracias de antemano por la(s) respuesta(s)!!!

 
MigVRN:

La pregunta es más bien por curiosidad: "¿Por qué los miembros de la enumeración ENUM_TIMEFRAMES tienen asignados estos valores concretos? ¿De dónde salió el número16385 al pasar de M30 a H1?"

¡¡¡Gracias de antemano por la(s) respuesta(s)!!!


PERIOD_H1 = 16385,  // = (1 << 14) + 1
PERIOD_H2 = 16386,  // = (1 << 14) + 2         
PERIOD_H3 = 16387,  // = (1 << 14) + 3
PERIOD_H4 = 16388,  // = (1 << 14) + 4
PERIOD_H6 = 16390,  // = (1 << 14) + 6
PERIOD_H8 = 16392,  // = (1 << 14) + 8
PERIOD_H12 = 16396, // = (1 << 14) + 12
 
MetaDriver:

Gracias. Pero he entendido mal la pregunta, ya que ahora estoy más confundido... Si no le importa, un par de preguntas más aclaratorias:

1) ¿Por qué?

2) ¿Y por qué 14?

:)

 
MigVRN:

Gracias. Pero he entendido mal la pregunta, ya que ahora estoy más confundido... Si no le importa, un par de preguntas más aclaratorias:

1) ¿Por qué?

2) ¿Y por qué 14?

:)

:) Y esto depende de los desarrolladores .... porque sus caminos son inescrutables.... ;)
 

creo que hay un error en la búsqueda de bar por tiempo Lo encontré en la funciónCopyClose (y en otras también).

al copiar una barra del símbolo "alien" con esta función, se produce un error de copia, aunque esta barra esté presente en la ventana abierta al lado.

2014.01.05 14:52:00.556 tmp (,D1) USDCAD ooo 2012.12.12 00:00:00
2014.01.05 14:51:57.214 tmp (,D1) 80.55313933496228
2014.01.05 14:51:50.947 tmp (,D1) USDCAD ooo 2013.03.04 00:00:00
2014.01.05 14:51:44.828 tmp (,D1) USDCHF ooo 2011.12.26 11:00:00
2014.01.05 14:51:37.896 tmp (,D1) USDCAD ooo 2011.03.02 12:00:00
2014.01.05 14:51:30.112 tmp (,D1) USDSEK ooo 2013.09.20 22:00:00

En el script, es comprensible, se puede pedir hasta que "milagrosamente" lo encuentre, pero no es aceptable para el indicador.

Por cierto, he recordado que he tenido que escribir la función yo mismo ya que la función incorporada no podía utilizarla para el indicador

//--------------------------------------------------------------------------+
//=   Ищет  индекс массива MqlRates по времени
//=   Протестировано 28,12,2011
//=   для прохода по 4 000 800      баров Скопировано USDJPY
//=   ошибок = 0 GetTickCount 2 200 мс.
//=   ВОЗВРАТИТ -1 в случае ошибки + сообщение Алерт
//--------------------------------------------------------------------------+
int save_indexs=0;
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int FindIndex(datetime find,MqlRates &xxxxxx[])
  {
   int size_mql=ArraySize(xxxxxx);
//проверим находится ли время в массиве, и есть ли где искать
   if(size_mql<=0){Alert("ggg");return(-1);}
   if(find>xxxxxx[0].time)return(0);
   if(find<=xxxxxx[size_mql-1].time)return(size_mql-1);
//а может лежит рядом?
//проверим по скорости с глоб. перем.
   for(int i=save_indexs+1;i>=save_indexs-1 && i>=0;i--)
      if(i<size_mql)
         if(find==xxxxxx[i].time)
            return(i);
//результат с применением  ошибок = 0 GetTickCount   843 мс.
//результат без применения ошибок = 0 GetTickCount 3 744 мс.
//начнемс
   int kolvo=size_mql,
   start_save=size_mql-1,
   end_save=0;
   while(!IsStopped())
     {
      //градация поиска +1 для плавающей запятой, учесть все не ошибиться, дойдет до - минусов
      int grad=kolvo/StringLen(IntegerToString(kolvo))+1;
      if(grad<10)grad=1;
      //
      for(int start=start_save,karetka=start-grad;          start>=end_save;          start=karetka,karetka=start-grad)
        {
         //karetka может выходить за размер масс
         if(karetka<0)karetka=0;
         if(find>=xxxxxx[start].time && find<=xxxxxx[karetka].time)
           {
            kolvo=start-karetka+1;
            start_save=start;
            end_save=karetka;
            if(start==karetka+1){save_indexs=karetka;return(karetka);}
            break;//for
           }
        }
     }
   return(-1);
  }
//+------------------------------------------------------------------+

han pasado dos años y sigue ahí, es raro.

Archivos adjuntos:
tmp.mq5  3 kb
myusdx.mq5  5 kb
 
Las comillas en los enlaces incrustados en el foro matan todo el enlace
 
costy_:

parece que hay un error en la búsqueda del bar en el tiempo en la función CopyClose (y en otras también).

....

han pasado dos años y sigue ahí, es extraño.

no es un error, es un error (c)

CopyXXX-i toma los datos de los búferes correspondientes y si no hay datos en el búfer (el carácter ajeno y / o el marco de tiempo es diferente al actual), entonces habrá un error. No obstante, en este caso se inicia el proceso de formación de los búferes y si después de un tiempo (¡sic!) se llama de nuevo a CopyXXX se puede obtener el resultado. No se puede usar el Sleep en los indicadores, por eso hay que usar el timer, porque no se puede contar con el siguiente tick (la salida y los instrumentos no líquidos tienen la culpa)

 

No puedo acceder a la cámara acorazada a través de la página web, cuando introduzco mi nombre de usuario y contraseña, vuelve a aparecer el cuadro de inicio de sesión y contraseña.

Tampoco puedo recuperar nada a través del MetaEditor:

El nombre de usuario y la contraseña son correctos

¿Podría decirme la razón?

 
sanyooooook:

No puedo entrar en la cámara acorazada a través de la página web, cuando introduzco mi nombre de usuario y contraseña, aparece de nuevo el cuadro de inicio de sesión y contraseña.

Tampoco puedo recuperar nada a través del MetaEditor:

El nombre de usuario y la contraseña son correctos

¿Podría decirme la razón?

Tal vez cambiaste la contraseña, había un error de este tipo.
 
zfs:
Tal vez cambiaste tu contraseña, hubo un error.
Sí, lo hice, pero estoy introduciendo una contraseña válida.