Erros, bugs, perguntas - página 732

 

Aqui vai uma pergunta.
Na MQL4 o código é assim:

for (i=0;i<limit;i++) 
{
  t=Time[i];
}
Estaria correcto na MQL5:
datetime Time[];
ArraySetAsSeries(Time,true);
for (i=0;i<limit;i++) 
{
  CopyTime(_Symbol, _Period, 0, i+1, Time);   
  t=Time[i];
}

 
Vitya:

Aqui vai uma pergunta.
O código em MQL4 é assim:

Estaria correcto na MQL5:

não é totalmente correcto.

é desejável chamar o CopyTime uma vez antes do laço

Документация по MQL5: Доступ к таймсериям и индикаторам / CopyTime
Документация по MQL5: Доступ к таймсериям и индикаторам / CopyTime
  • www.mql5.com
Доступ к таймсериям и индикаторам / CopyTime - Документация по MQL5
 
sergeev:

não é totalmente correcto.

é desejável chamar o CopyTime uma vez antes do laço

Certo?

  datetime Time[];
  ArraySetAsSeries(Time,true);
  CopyTime(_Symbol, _Period, 0, limit, Time);   

  for (i=0;i<limit;i++) 
  {
    t=Time[i];
  }
 

Há um volume variável na janela Dados. Tanto quanto sei, significa volume de troca (real). Reparei hoje, no EUR/USD M1 (Alpari), se colocar o cursor do rato sobre qualquer barra, pode ver os valores de volume. Será que alguém sabe como são calculados estes valores? É este o volume comercial do par apenas para clientes Alpari, ou são apenas números aleatórios, ou o que... Na imagem de ecrã abaixo pode ver volume = 620m.

 
Alex5757000:

Há um volume variável na janela Dados. Tanto quanto sei, significa volume de troca (real). Reparei hoje, no EUR/USD M1 (Alpari), se colocar o cursor do rato sobre qualquer barra, pode ver os valores de volume. Será que alguém sabe como são calculados estes valores? É este o volume comercial do par apenas para clientes Alpari, ou são apenas números aleatórios, ou o que... Na imagem de ecrã abaixo pode ver volume = 620m.

Apenas clientes Alpari. Mas os volumes internos dos grandes escritórios estão altamente correlacionados.
 

Estranha falha enquanto o programa está em execução

int TimeToCycleIndex(datetime lTime, ENUM_TIMEFRAMES lTimeFrame, int lDays)

{

int Resx;

MqlDateTime Struc;

TimeToStruct(lTime,Struc);

Resx=(MarketDayCycle(lTime,lDays)*60*24+Struc.hour*60+Struc.min)/(PeriodSeconds(lTimeFrame)/60);

Print("Resx = ",Resx," ResCalc = ",(MarketDayCycle(lTime,lDays)*60*24+Struc.hour*60+Struc.min)/(PeriodSeconds(lTimeFrame)/60)));

return(Resx);

}

Conte a mesma coisa várias vezes para comparação, um fragmento do registo é mostrado abaixo. O erro é mostrado a vermelho porque não pode ser um número negativo. Parece como se uma variável estivesse a ser corrompida. A que se refere este problema e como resolvê-lo? Obrigado antecipadamente pela vossa ajuda.

matriz de gama -FreqTime03.mq5''.
Resx= -2 ResCalc= 286
Resx= 287 ResCalc= 287
Resx= 0 ResCalc= 0 0
Resx= 1 ResCalc= 1 1
Resx= 2 ResCalc= 2 2
Resx= 3 ResCalc= 3 3
Resx= 3 4 ResCalc= 4 4
Resx= 4 5 ResCalc= 5 5
Resx= 5 6 ResCalc= 6 6
Resx= 7 ResCalc= 7 7
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура даты
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура даты
  • www.mql5.com
Стандартные константы, перечисления и структуры / Структуры данных / Структура даты - Документация по MQL5
 
Urain:
Apenas clientes Alpari. Mas os volumes internos dos grandes escritórios estão muito correlacionados.
De onde vem a informação? Al-pari ducas parece ter um fornecedor - talvez mais parecido com os seus clientes?
 

Existem classes para a construção de interfaces gráficas na biblioteca padrão. Esta é uma boa notícia.

O que é decepcionante é que os diálogos estão com falhas. Pode ser observado no exemplo de teste. Se fizer duplo clique e com um segundo clique agarrar um elemento "móvel" (por exemplo, barra de rolagem ou barra de título da janela), pode arrastá-lo para qualquer lugar no ecrã. A segunda característica frustrante é que quando uma janela de diálogo é movida horizontalmente, a carta na carta rola juntamente com ela. Não é fatal, mas sim desagradável, especialmente tendo em conta que o objectivo de mover é muitas vezes olhar para a carta abaixo do diálogo. A terceira é a operação instável dos controlos (por exemplo, caixas de verificação) e, em geral, atrasos ligeiros (que provavelmente não podem ser eliminados na implementação actual do terminal).

Há também inconvenientes arquitectónicos (por exemplo, uma arquitectura sintonizada com a montagem de diálogos estáticos (ligação antecipada de elementos)), mas isto é para os gourmets. Em princípio, é suportável.

Há também vantagens e até belezas na implementação, mas sobre isto neste fio está fora de questão.

E os bugs são reparáveis.

--

Também gostaria de ter no conjunto padrão de ferramentas para implementar diálogos de várias páginas (CTabBox ou algo do género).

Документация по MQL5: Стандартная библиотека
Документация по MQL5: Стандартная библиотека
  • www.mql5.com
Стандартная библиотека - Документация по MQL5
 
gal:

Estranha falha enquanto o programa está em execução

int TimeToCycleIndex(datetime lTime, ENUM_TIMEFRAMES lTimeFrame, int lDays)

{

int Resx;

MqlDateTime Struc;

TimeToStruct(lTime,Struc);

Resx=(MarketDayCycle(lTime,lDays)*60*24+Struc.hour*60+Struc.min)/(PeriodSeconds(lTimeFrame)/60);

Print("Resx = ",Resx," ResCalc = ",(MarketDayCycle(lTime,lDays)*60*24+Struc.hour*60+Struc.min)/(PeriodSeconds(lTimeFrame)/60)));

return(Resx);

}

Conte a mesma coisa várias vezes para comparação, um fragmento do registo é mostrado abaixo. O erro é mostrado a vermelho porque não pode ser um número negativo. Parece como se uma variável estivesse a ser corrompida. A que se refere este problema e como resolvê-lo? Obrigado antecipadamente pela vossa ajuda.

1. Por favor, cole o código correctamente.

2. Pode dar-me o código fonte completo, exemplo de trabalho ou código de função MarketDayCycle.

Não há arrays neste pedaço de código e não há forma de trabalhar com arrays

 

ao instalar o novo build 642, o som de teste finalizado não funciona após a conclusão do teste EA,

é isto um insecto ou . e não um insecto ?