[Arquivo!] Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por ela. Não poderia ir a lugar algum sem você - 2. - página 451
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Ou seja, você precisa desta função F(8.5464,00) = 85464,00
MathMod() é a divisão. O resto é pura matemática: se o resultado de TimeLocal() for dividido por 20 a cada segundo (ou mais frequentemente), então a cada 20 segundos o restante será zero.
Conclusão: a mesma idéia pode ser implementada de diferentes maneiras.
Por que eu tenho que fazer isso a cada 20 segundos? Por que não aos 19 ou 17 anos?
bool flag = true;
int i=0;
int w=0;
double sum;
int t=20;
int start()
{
sum=TimeLocal() / t;
if (flag)
{
while(i<20)
{
w=w+1;
Alert(+w,"-й, Результат TimeLocal-",+sum);
i++;
sum=sum/20;
Sleep(1000);
}
flag = false;
}
return(0);
}
Aqui é igual a zero a cada 11 segundos. Dividido por 20, 20 vezes.
Desculpe pelas perguntas núbias, é apenas algo que eu quero entender.
Por que você divide por 20 vezes exatamente?
Você tem que dividir até ganhar ;)
8.5464/0.0001=85464
Obrigado.
Mas não era isso que eu queria dizer, a vírgula é o separador de tríades e o ponto separa a parte fracionária.
Eu tenho um fio 8.5464,00 Preciso convertê-lo para um número. StrToDouble(8.5464,00) leva 8.
F(8,5464.00) = 85464.00
tente esta função
{
procure por uma vírgula via https://docs.mql4.com/ru/strings/StringFind
Montagem de um novo fio a partir de duas partes: um fio antes da vírgula e um fio após a vírgula https://docs.mql4.com/ru/strings/StringGetChar
Converter para o número StrToDouble()
}
Aqui está um excelente exemplo, exatamente como você disse.
Hmmm...
Como acontece que em 20 segundos ele se torna exatamente zero. Veja a hora local sob o número 8000000000... Qual é a parte complicada? Talvez eu só precise fazer uma pausa, eh....
int i=0;
int e;
int w=0;
int start()
{
while(true)
{
e=MathMod(TimeLocal(), 20);
w=w+1;
Alert(+w,"-й, Результат MathMod-",+e);
Sleep(1000); // Спим 1-ну секунду
return(0);
}
tente esta função
{
procure por uma vírgula via https://docs.mql4.com/ru/strings/StringFind
Montagem de um novo fio a partir de duas partes: um fio antes da vírgula e um fio após a vírgula https://docs.mql4.com/ru/strings/StringGetChar
Converter para o número StrToDouble()
}
Não há outra forma ou esta função levará muito tempo para ser executada.
Se MathMod(ALLYTHING, 20) = 0, significa (se a memória me serve corretamente)
que TODO O NÚMERO é dividido por 20 sem um resto.
20 40 40 60 80 100 120 120 140 160 etc.
Não há outra maneira ou esta função demorará muito tempo.
Não sei mais como tirar a vírgula da corda.
Obrigado.
Mas não era isso que eu queria dizer com uma vírgula separando as tríades, e um ponto separa as partes fracionárias.
Eu tenho um fio 8.5464,00 Preciso convertê-lo para um número. StrToDouble(8.5464,00) mudará para 8.
F(8,5464.00) = 85464.00
Por caracteres, através de funções de corda, remova a vírgula, depois StrToDouble().