Erros, bugs, perguntas - página 2940

 
Slava Botalov:

Que pena, teremos de mudar para outra. alguma sugestão?

Todas as sugestões estão no Google. Qualquer discussão sobre terceiros é aqui proibida.

 
Vladimir Karputov:

Todas as sugestões estão no Google. Qualquer discussão sobre terceiros é aqui proibida.

Já está. OBRIGADO por me ajudar com a minha pergunta

 
x572intraday:

Não é essa a questão. A questão é, onde pode ser útil, especialmente para os comerciantes, não para os programadores? Não vi tais números no terminal, nem na escala de preços, nem na janela de colocação de encomendas, tudo é igual em todo o lado (algures cinco dígitos, em qualquer outro lugar).

Não é uma questão de onde pode ser útil. É uma questão de saber como os números são representados nos computadores, sabendo que não existe um número 0,72352 para computadores, mas apenas 0,7235200000000001 que pode ser impresso a 5 dígitos e para isso, existe uma função DoubleToString.
 

Não é possível copiar dados:

MqlRates mql_rates[];
bar_kol = Bars("EURUSD", _Period);
copy_rates = CopyRates("EURUSD", _Period, bar_kol, 100, mql_rates);

bar_kol torna-se 6105 e copy_rates -1 (erro) ao tentar copiar dados de 6105 bar para +100 bar.

O registo mostra o seguinte:

EURUSD: história sincronizada de 2007.01.02 a 2020.06.30

EURUSD,H1: cache histórica atribuída para 74955 barras e contém 6105 barras de 2008.01.02 10:00 a 2008.12.31 17:00

EURUSD,H1: a história começa a partir de 2008.01.02 10:00

A história está armazenada em cache a 74955 barras, mas 2008 contém as mesmas 6105 barras. Isto é, o número máximo de exemplares em barras durante um ano. Não é possível copiar mais de 6105 barras. O número máximo de barras na janela é 100000, todo o histórico é visível no gráfico, é possível folheá-lo, todas as barras estão presentes e tudo está carregado. Literalmente, a matriz mql_rates não é copiada.

 

Depuração de dados não reais. Pendurar numa linha, premir repetidamente F11 ou F10 não causa a continuação da depuração. o ponteiro fica numa linha e pisca apenas o ecrã.

Construir 2715. Win10, 20H2 construir 19042.746.


este é o estado da memória

 
Ilyas:

Diga-me, qual é o perigo potencial da ZeroMemory, que ocorre um erro nesta situação?

struct A
{
private:
  int i;
};

void OnStart()
{
  A a[1];
  
  ZeroMemory(a); // not allowed for objects with protected members or inheritance
}
 
Aleksey Mavrin:

Depuração de dados não reais. Pendurar numa linha, premir repetidamente F11 ou F10 não causa a continuação da depuração. o ponteiro fica numa linha e pisca apenas o ecrã.

Construir 2715. Win10, 20H2 construir 19042.746.


este é o estado da memória

Actualização para a última versão beta 2747, por favor.

Estamos a mudar muitas coisas no depurador.

 
fxsaber:

Diga-me, qual é o perigo potencial da ZeroMemory, que ocorre um erro nesta situação?

privado/protegido e constante (na sua maioria) são apenas para programadores, o compilador só ajuda a aderir às restrições impostas ao código

Um exemplo clássico:
Utiliza-se a biblioteca de outra pessoa, sob o capô é um código pesado com ligações que alterações não autorizadas causariam uma falha, por isso o criador da biblioteca esconde parte do objecto em privado para proibir alterações não planeadas.

 
Ilyas:

privados/protegidos e constantes (na sua maioria) são apenas para programadores, o compilador apenas ajuda a aderir às restrições impostas ao código.

Um exemplo clássico:
Utiliza-se a biblioteca de outra pessoa, sob o capô é código pesado com ligações que alterações não autorizadas causariam uma falha, pelo que o criador da biblioteca esconde parte do objecto em privado para proibir alterações não planeadas.

Já está, obrigado pela explicação detalhada!

 

Parece que o campo de volume_real na estrutura MqlRates, embora tenha um tipo longo, não é capaz de armazenar valores no intervalo de todos os valores longos (de acordo com a documentação - 0x7FFFFFFFFFFFFFFFFF). Por exemplo, 0x4000000000000000A8 será escrito para o campo 0xA8. Estou a falar de caracteres personalizados.

A gama real de valores válidos está especificada em algum lugar? Basicamente, não há razão para que não funcione como um longo tempo normal - parece um insecto.

PS. para tick_volume provavelmente o mesmo problema