Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 563

 
Roman Sharanov:

e obter dados dos indicadores, do gráfico?

Tudo é possível. Mas para fazer isso, você precisa ser proficiente em ambos os idiomas, pelo menos.

 
Artyom Trishkin:

Qualquer coisa é possível. Mas para fazer isso, você precisa ser proficiente em ambos os idiomas, pelo menos.

Eu possuo

 
Roman Sharanov:

Eu possuo

Bem, então você não deve ter nenhum problema para escrever código de plataforma cruzada.

 

Situação engraçada

Uma linha de código, às vezes causa o erro abaixo.

Sob que condições este erro poderia ocorrer?


   ChartTimePriceToXY(0,0,Time[0],price,x1,y_cord);


2018.06.08 13:41:39.021    program name XAUUSDcheck,H1: array out of range in 'DrawInterfaceLib.mqh' (47,31)


 
Sergey Likho:

Situação engraçada

Uma linha de código, às vezes causa o erro abaixo.

Sob que condições este erro poderia ocorrer?


Fora do alcance de uma série. O índice passado para a matriz é maior que o tamanho máximo da matriz (se a matriz for 10, então o índice máximo de tal matriz = 9, porque seu primeiro elemento tem um índice de 0), ou menor que zero. Ou a matriz tem um tamanho de zero.

 
Artyom Trishkin:

Fora do alcance da matriz. O índice passado para a matriz é maior que o tamanho máximo da matriz (se a matriz tiver tamanho 10, o índice máximo de tal matriz = 9, porque seu primeiro elemento tem índice 0), ou menor que zero. Ou a matriz tem um tamanho de zero.

Obrigado, é claro, eu sei disso.

Sob que condições este erro poderia ocorrer ao acessar a matrizTime[0]?

Então a matriz é zero? E como pode ser este o caso com as séries cronológicas?

 
Sergey Likho:

Situação engraçada

Uma linha de código, às vezes causa o erro abaixo.

Sob que condições este erro poderia ocorrer?

O antigo bug MT4 (Time array parece ter tamanho zero). Há cerca de dois anos, ela apareceu constantemente em um de meus clientes. Mas parecia ser irreal reproduzir este bug. O Service Desk reconhece o problema, mas é incapaz de resolvê-lo. Desde então, nunca utilizo o acesso direto às séries de tempo, somente através do iTime, iOpen, etc.

 
Ihor Herasko:

O antigo bug MT4 (Time array parece ter um tamanho zero). Há cerca de dois anos, ele continuou aparecendo para um de meus clientes. Mas revelou-se irreal reproduzir este bug. O Service Desk reconhece o problema, mas não consegue resolvê-lo. Desde então, nunca utilizo o acesso direto às séries de tempos, somente através de invólucros: iTime, iOpen etc.

Sim, foi o que eu acabei fazendo, substituído pelo iTime. Obrigado!

 

Olá. Fora dos limites, como consertá-lo?

 if(TimeFrame>Period()) 
     {
      ArrayCopySeries(santa1,5,Symbol(),TimeFrame);
      summ=CountBars+TimeFrame/Period();
      shift=0;
      for(int iy=0; shift<summ; shift++) 
        {
         if(Time[shift]<santa1[iy]) iy++;//вот эта строка "array out of range" 
         list[shift]=bufbuy[iy];
        }
     }
 
PolarSeaman:

Olá. Fora dos limites, como consertá-lo?

Os valores das variáveis de turno e iy no código acima não são verificados para ver se saem dos arrays de Tempo e Pai Natal1. Portanto, faz sentido. Verifique seus valores antes de usar, o erro desaparecerá.

E para ser mais específico, você precisa saber como as variáveis CountBars e TimeFrame são geradas.

Razão: