[AVISO FECHADO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Não posso ir a lugar algum sem você. - página 346
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
No início do roteiro você escreve
#property show_inputs
Lote duplo externo=0,1
Depois disso, quando o roteiro for anexado à janela do símbolo, aparecerá uma caixa de diálogo.
Eu entendo. Mas não é disso que eu preciso. Com estes comandos, aparecerá uma caixa de diálogo - com configurações gerais da EA e configurações atuais do script, e eu perguntei se havia uma função que pudesse ser usada para sair SOMENTE com as configurações do script de uma só vez.
Eu entendo. Mas não é disso que eu preciso. Com estes comandos aparecerá uma caixa de diálogo - com configurações gerais da EA e configurações de script atuais, e eu perguntei se não existe tal função, que poderia ser usada para sair SOMENTE com configurações de script de uma só vez.
Somente MetaEditor então.
Você poderia aconselhar como fechar todas as ordens abertas em um determinado momento?
se (HourTime[0]=12)_CloseAllOrder
Veja a função _CloseAllOrder na página anterior ou na página anterior
se (HourTime[0]=12)_CloseAllOrder
para a própria função _CloseAllOrder, ver última página ou a página anterior
Obrigado, a função é muito útil
Caros Especialistas,
Por favor, informe qual é a razão deste resultado:
resumo:
int start()
{
//----
double c;
int q;
c=0.3/0.1;
q=c;
Print("c=",c," q=",q);
//----
return(0);
}
imprime "c=3 q=2"
pergunta: como conseguir dois de três?
a coisa é, se eu substituir 0,3 por 0,4 ou qualquer outra fração, ele resolve o problema como pretendido
por exemplo
{
//----
double c,v;
int q,w;
c=0.3/0.1;
v=0.4/0.1;
q=c;
w=v;
Print("c=",c," q=",q," v=",v," w=",w);
//----
return(0);
}
"c=3 q=2 v=4 w=4"
Pergunta: como conseguir dois de três?
tentar compilar, talvez meu computador não possa contar (só bobagem...)
Caros Especialistas,
Por favor, informe qual é a razão deste resultado:
resumo:
int start()
{
//----
double c;
int q;
c=0.3/0.1;
q=c;
Print("c=",c," q=",q);
//----
return(0);
}
imprime "c=3 q=2"
pergunta: como conseguir dois de três?
a coisa é, se eu substituir 0,3 por 0,4 ou qualquer outra fração, ele resolve o problema como pretendido
por exemplo
{
//----
double c,v;
int q,w;
c=0.3/0.1;
v=0.4/0.1;
q=c;
w=v;
Print("c=",c," q=",q," v=",v," w=",w);
//----
return(0);
}
"c=3 q=2 v=4 w=4"
Pergunta: como conseguir dois de três?
Tente compilá-lo, talvez meu computador não saiba calcular (é bobagem...)
Não é bobagem, apenas um erro de arredondamento comum quando se trabalha com números reais.
No primeiro caso, por exemplo, c igual a 2,999999999, a saída é arredondada, ou seja, 3, mas ao atribuir a um tipo inteiro a parte fracionária é descartada.
Isto não é um disparate, erros de arredondamento comuns quando se trata de números reais.
No primeiro caso, por exemplo, c é igual a 2,9999999999999.
como 2.9999999999 pode ser 2.9999? 0,3/0,1=3 exatamente, não é como se eu estivesse dividindo 1 por 3 e deveria ser 0,33333...
mas quando se atribui a um tipo inteiro, a parte fracionária é descartada.
A um tipo inteiro é atribuído um valor c, c obviamente igual a três, sem nenhuma parte fracionada. Não há nada a descartar...
A resposta é 100% errada.
alguma outra opção?
Eu não vejo como 2.9999 pode ser 2.9999? 0,3/0,1=3 mesmo, não é como se eu estivesse dividindo 1 por 3 e deveria ser 0,33333...
Isto só parece ser exato, enquanto o último pedaço pode assumir valores diferentes. I.e. 2.9999, 3 ou 3.00000001
Para se livrar de tais mal-entendidos, a MQL tem a função NormalizeDouble()