Erros, bugs, perguntas - página 1090

 

Olá a todos! A pergunta é mais por curiosidade, "Porque é que aos membros da enumeração ENUM_TIMEFRAMES são atribuídos estes valores particulares? De onde veio o número16385 ao passar de M30 para 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         
}; 

Obrigado antecipadamente pela(s) resposta(s)!!!

 
MigVRN:

Olá a todos! A pergunta é mais por curiosidade, "Porque é que aos membros da enumeração ENUM_TIMEFRAMES são atribuídos estes valores particulares? De onde veio o número16385 ao passar de M30 para H1"?

Obrigado antecipadamente pela(s) resposta(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:

Obrigado! Mas enganei-me na pergunta, pois agora estou ainda mais confuso... Se não se importar, mais algumas perguntas esclarecedoras:

1) Porquê?

2) E porquê 14?

:)

 
MigVRN:

Obrigado! Mas enganei-me na pergunta, pois agora estou ainda mais confuso... Se não se importar, mais algumas perguntas esclarecedoras:

1) Porquê?

2) E porquê 14?

:)

:) E isto cabe aos criadores .... porque os seus caminhos são inescrutáveis.... ;)
 

penso que há um erro na procura de barra por tempo Encontrei-o na funçãoCopyClose (e em outras também).

ao copiar uma barra de um símbolo "estrangeiro" com esta função, ocorre um erro de cópia, mesmo que esta barra esteja presente na janela aberta ao lado da mesma.

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

No guião, é compreensível, pode consultar até que o encontre "miraculosamente", mas não é aceitável para o indicador.

A propósito, lembrei-me que tinha de ser eu a escrever a função, uma vez que a função integrada não a podia utilizar para o 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);
  }
//+------------------------------------------------------------------+

passaram dois anos e ainda lá está, é estranho.

Arquivos anexados:
tmp.mq5  3 kb
myusdx.mq5  5 kb
 
As vírgulas invertidas nas ligações incorporadas no fórum matam a ligação inteira
 
costy_:

parece haver um erro na procura do bar a tempo na função CopyClose (e em outras, também).

....

já passaram dois anos e ainda lá está, é estranho.

não é um insecto, é um insecto (c)

CopiarXXX-i retirar dados dos buffers correspondentes e se não houver dados no buffer (o carácter alienígena e/ou o prazo é diferente do actual), então haverá um erro. No entanto, neste caso, o processo de formação de amortecedores é iniciado e se após algum (sic!) tempo CopyXXX for novamente chamado, o resultado pode ser obtido. Não pode usar Sleep em indicadores, é por isso que tem de usar temporizador, porque não pode contar com o próximo tick (os instrumentos de saída e não líquidos são os culpados)

 

Não consigo aceder ao cofre através do website, quando introduzo o meu nome de utilizador e palavra-passe, a caixa de login e palavra-passe volta a aparecer.

Também não consigo recuperar nada através do MetaEditor:

Login e palavra-chave estão correctos

Pode dizer-me a razão?

 
sanyooooook:

Não consigo aceder ao cofre através do website, quando introduzo o meu nome de utilizador e palavra-passe, a caixa de login e palavra-passe volta a aparecer.

Também não consigo recuperar nada através do MetaEditor:

Login e palavra-chave estão correctos

Pode dizer-me a razão?

Talvez tenha mudado a palavra-passe, havia um tal erro.
 
zfs:
Talvez tenha alterado a sua palavra-passe, houve um erro.
Sim, introduzi, mas estou a introduzir uma palavra-passe válida.