Erros, bugs, perguntas - página 250

 

A construção 373 de 27.12.2010 determina incorrectamente a hora de início de uma barra quando se muda para outro período do gráfico. Por exemplo, se o meu Expert Advisor foi atirado para o gráfico em M1, então ao mudar para M5 ou qualquer outro período, a hora de início da barra ainda é devolvida para M1. Não era este o caso na versão anterior...

void OnTick()
  {
if(CopyTime(Symbol(), NULL, 0, 3, Time)<0) {Print("Не удалось скопировать Time!"); return;};
ArraySetAsSeries(Time,true);
Print("Time[0] = ",Time[0], "   Time[1] = ",Time[1] ) ;  
  }


 
Yedelkin:

Alguém já trabalhou com a segunda versão da função ChartGetInteger:

? Parece que o valor do imóvel não é passado para a variável receptora. Pelo menos este comportamento é notado quando se utiliza a construção

A função retorna verdadeiro, mas a janela da variável receptora contém o valor obtido durante a inicialização desta variável. Neste caso, a primeira versão da função produz um valor correcto. (E uma pequena coisa: se a variável receptora for declarada com o tipo longo, o compilador irá gerar um aviso).

Não está a lidar correctamente com a função. Vamos ler a ajuda:

1. Devolve directamente o valor do imóvel.

longoChartGetInteger(
longchart_id,// identificador do gráfico
intprop_id,// identificador de propriedade
intsub_janela=0// número da subjanela, se necessário
);

2. Devolve verdadeiro ou falso, dependendo do sucesso da função. Se bem sucedido, o valor do bem é colocado na variável alvo, passado por referência como último parâmetro.

boolChartGetInteger(
longchart_id,// identificador do gráfico
intprop_id,// identificador de propriedade
intsub_janela,// número de subjanela
long&long_var// valor de aquisição do imóvel
);


A função devolverá um booleano e atribuirá um valor à variável se a função tiver 4 argumentos, sem quaisquer opções

 
MIK:

Na construção 373 datada de 27.12.2010, a hora de início da barra está incorrectamente definida ao mudar para outro período gráfico. Por exemplo, se a EA foi lançada em М1, então ao mudar para М5 ou qualquer outro período de tempo, a hora de início da barra ainda é devolvida para М1. Este não era o caso nas versões anteriores...

void OnTick()
  {
if(CopyTime(Symbol(), NULL, 0, 3, Time)<0) {Print("Не удалось скопировать Time!"); return;};
ArraySetAsSeries(Time,true);
Print("Time[0] = ",Time[0], "   Time[1] = ",Time[1] ) ;  
  }



Tem razão, há um erro.

Quando o prazo é alterado, o Conselheiro Especialista não é reinicializado correctamente... Iremos analisar o assunto.

 

A última construção 373 (mt5) deixou-me atordoado. Não há forma de a actualização das citações alcançar o intervalo entre

1 e 12 meses e ponto final. Suprimi cotações de moeda (2010.hcc e em cache)

mas regista apenas os que chegam. Talvez eu tenha feito algo de errado.


Descarreguei hoje de um link do vosso fórum com o ticket 373 (a escolha de outro servidor

não afecta)

 
alexluek:

A última construção 373 (mt5) deixou-me atordoado. Não há forma de a actualização das citações alcançar o intervalo entre

1 e 12 meses e ponto final. Suprimi cotações de moeda (2010.hcc e em cache)

mas regista apenas os que chegam. Talvez eu tenha feito algo de errado.


Descarregado hoje através de um link do seu fórum com o ticket 373 (a escolha de outro servidor.

não afecta)

E, no entanto, digam-me com mais precisão.

Que servidor, que símbolo?

 

Sim, na imagem, e pode escolher qualquer servidor (de entre os de série).

Deixei o terminal durante 3 horas M5, voltei e só havia o preço a saltar sem

Deixei o terminal às 3 horas na M5 e voltei e só houve o salto de preços mas sem barras. Reiniciei o terminal e só há barras para estas 3 horas.

Instalei hoje o terminal com o bilhete 373 mt5 (do fórum).

https://download.mql5.com/cdn/web/metaquotes.software.corp/mt5/mt5setup.exe


E outra coisa - talvez seja eu a cometer uma falha, mas quando se selecciona um novo gráfico,

não há actualização e as barras aparecem depois de reiniciar o terminal. Fig. 3

E assim a linha de preços funciona assim até que a reinicie. As únicas barras que aparecem são as seguintes

que apareceram desde que o terminal foi lançado. Talvez eu esteja a fazer algo de errado,

mas eu reinstalei 3 vezes e tentei apagar ficheiros com citações

Ainda não se actualiza.


Em cenários "escala de tempo fina" e 100000 barras de história - eu escolhi

Arquivos anexados:
1.JPG  65 kb
2.JPG  98 kb
3.JPG  146 kb
 
alexluek:

Sim, na imagem, e pode escolher qualquer servidor (de entre os de série).

Deixei o terminal durante 3 horas M5, voltei e só havia o preço a saltar sem

Deixei o terminal às 3 horas na M5 e voltei e só houve o salto de preços mas sem barras. Reiniciei o terminal e só há barras para estas 3 horas.

Instalei hoje o terminal com o bilhete mt5 373 (do fórum - "Como actualizar citações")...

https://download.mql5.com/cdn/web/metaquotes.software.corp/mt5/mt5setup.exe


E outra coisa - talvez seja eu a cometer uma falha, mas quando se selecciona um novo gráfico,

não há actualização e as barras aparecem depois de reiniciar o terminal. Fig. 3

E assim a linha de preços funciona assim até que a reinicie. As únicas barras que aparecem são as seguintes

que apareceram desde que o terminal foi lançado. Talvez eu esteja a fazer algo de errado,

mas eu reinstalei 3 vezes e tentei apagar ficheiros com citações

Ainda não é actualizado.


Tenho "escala de tempo exacta" e 100000 barras de história nas minhas definições...

Já escrevi 8 vezes sobre este problema flutuante... está sempre a repetir-se...

ninguém o quer resolver... pelo menos sem comentários abertos

 
AlexSTAL:

Já escrevi oito vezes sobre este problema flutuante... está sempre a repetir-se...

ninguém o quer resolver... pelo menos não há comentários públicos

Não fico frustrado, mas os programadores têm de se aborrecer

para ler sobre insectos que não consideraram ou verificaram.

De qualquer modo, quando os rapazes descobrirem, avisar-nos-ão. Boa sorte...

 

Rapazes, vamos viver juntos! Descarreguei o

Descarreguei o instalador do mt5 e tudo se actualiza na perfeição!

Acho que é o servidor.


Aqui está o instalador de alpari:

Arquivos anexados:
mt5setup.rar  265 kb
 

Valmars,Interessante,AlexSTAL

Surpreendido com as suas observações. Na minha mensagem de 2010.12.28 03:06 descrevi em pormenor a lógica do meu trabalho anterior com a segunda versão da função, a lógica de como surgiu uma versão errada, descobri a causa desta versão errada e sugeri aos programadores como corrigi-la. Por outras palavras, o problema foi efectivamente resolvido e explicado a eles, inclusive para mim.

No ponto 4, afirmei uma conclusão muito específica e fiz uma pergunta muito específica: "Certo?". No entanto, nenhum de vós respondeu directamente a essa pergunta. Ao mesmo tempo, não fiz perguntas como "porque é que isto aconteceu?" (porque eu próprio, com a ajuda de um exemplo do tio Vic, encontrei respostas a elas).

Posso assumir que, de um ponto de vista profissional, o problema não vale nada. Mas não se esqueça que a linguagem está a ser iniciada e será utilizada por novatos, que estão longe da programação profissional, e que não estão familiarizados com as subtilezas dos valores por defeito, sobrecarga de funções, problemas de compilação, a indicação obrigatória dos quatro parâmetros em certos casos, etc. Os novatos (incluindo eu próprio) trabalham com o texto de ajuda que está disponível, e tentam não especular sobre o que não sabem. Por exemplo, se todas as suas linhas estivessem reflectidas na Referência, nemLizar nem eu teríamos tido um problema em primeiro lugar.

Se sentiu a necessidade de comentar uma questão já resolvida, não está claro para mim se apoia ou se se opõe à minha sugestão no parágrafo 5. Essa foi basicamente a linha de fundo da minha mensagem. Apenas concordei com a redacção imprecisa.

Obrigado por alargar a mente.