Olá! Como posso aprender MQL de forma eficiente? Não estou procurando maneiras fáceis, só quero entender! Estou estudando o tutorial de Kovalev, assistindo vídeos, tentando repetir os códigos que estão prescritos nele. Mas há tantos erros mesmo quando repito o código do tutorial..... . Entendo que fui atualizado. Foi-me dito que este site pode me ajudar, por isso estou aqui! O que eu devo fazer?
Alexey Kozitsyn: Dividir o fio pelo "." delimitador.
Não é uma má idéia...
Alexey Viktorov: Não há necessidade de desmontar nada. Mude-o para string apenas para ver o número certo. Você não precisa fazer nada para os cálculos.
Se você quiser causar problemas, converta a string de volta para um número StringToDouble() e multiplique por _Ponto normalizado para o número certo, provavelmente _Dígitos
A questão é que preciso decompor o fio em 3 números, e não posso convertê-lo em um número - acaba sendo um número muito grande para o idioma.
Aqui está um exemplo de tal número
long CalcY=StringToDouble("111111111111111111"); Print ("CalcY=",CalcY);
O problema é que você precisa decompor a cadeia em 3 números, mas não é possível convertê-la em um número - afinal, é um número muito grande para o idioma.
Aqui está um exemplo de tal número
long CalcY=StringToDouble("111111111111111111"); Print ("CalcY=",CalcY);
long CalcY=StringToDouble("111111111111111111"); Print ("CalcY=",CalcY);
long CalcZ=StringToInteger("111111111111111111"); Print ("CalcZ=",CalcZ);
double Test=CalcZ; Print ("Test=",Test);
Quero dizer "um número muito grande", mas o código também está incorreto, portanto, se você quiser converter de formato para formato, você deve fazê-lo desta forma:
long CalcY=(long)StringToInteger("111111111111111111"); Print ("CalcY=",IntegerToString(CalcY));
O que você está reclamando não é um grande número, mas uma falha na saída do texto.
Dividir o fio pelo "." delimitador.
Não é uma má idéia...
Não há necessidade de desmontar nada. Mude-o para string apenas para ver o número certo. Você não precisa fazer nada para os cálculos.
Se você quiser causar problemas, converta a string de volta para um número StringToDouble() e multiplique por _Ponto normalizado para o número certo, provavelmente _Dígitos
A questão é que preciso decompor o fio em 3 números, e não posso convertê-lo em um número - acaba sendo um número muito grande para o idioma.
Aqui está um exemplo de tal número
Print ("CalcY=",CalcY);
Imprime o número 11111111111111111104
Talvez eu esteja com pressa!
O problema é que você precisa decompor a cadeia em 3 números, mas não é possível convertê-la em um número - afinal, é um número muito grande para o idioma.
Aqui está um exemplo de tal número
Print ("CalcY=",CalcY);
Imprime o número 11111111111111111104
Contos...
Experimente você mesmo.
Print ("CalcY=",CalcY);
long CalcZ=StringToInteger("111111111111111111");
Print ("CalcZ=",CalcZ);
double Test=CalcZ;
Print ("Test=",Test);
Experimente você mesmo.
Print ("CalcY=",CalcY);
long CalcZ=StringToInteger("111111111111111111");
Print ("CalcZ=",CalcZ);
double Test=CalcZ;
Print ("Test=",Test);
Quero dizer "um número muito grande", mas o código também está incorreto, portanto, se você quiser converter de formato para formato, você deve fazê-lo desta forma:
Print ("CalcY=",IntegerToString(CalcY));
O que você está reclamando não é um grande número, mas uma falha na saída do texto.
Quero dizer "um número muito grande".
Um número muito grande para calcular com precisão - caso contrário, como você explica o erro no final do número?
acima adicionado.
Portanto, eu tenho esta probrazation - você pode colocar uma linha em longo prazo, mas eu preciso do dobro para cálculos por vírgula.