Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 6. - página 593

 

Já que estou abaixo dos dummies em uso dll, vou me aventurar a perguntar aqui: Você poderia me dizer como formar corretamente WinExec("shutdown /r", 0) em construções atuais?

Não necessariamente desligada, até agora não consigo nada para correr.

Obrigado.

 
Tudo bem, eu encontrei.
 

Como opção, obrigado. Embora eu ainda não entenda por que isto está acontecendo, dada a normalização.

Outra solução possível - se alguém precisar - converti o dobro para int. Uma vez que tenho a precisão necessária conhecida antecipadamente.

 

Olá. A linha de declaração no EA não executa

Alerta("sell_stop_open= ", sell_stop_open, " Middle= ", Middle);

se (sell_stop_open != Médio)

{

Alerta ("sell_stop_open= Middle");

L=L2;

int ticket3=OrderSend(Symb, OP_SELLSTOP, L, Middle, 2, Maximum+4*Point,Minimum_30, Com, Magic);

}

Quando mensagem de alerta aparece antes se eu vejo valores sell_stop_open=1,3080, Middle =1,3080, mas se não for executada.

Você pode me dizer o que pode causar tal erro?

 
Garik27p:

Olá. A linha de declaração no EA não executa

Alerta("sell_stop_open= ", sell_stop_open, " Middle= ", Middle);

se (sell_stop_open != Médio)

{

Alerta ("sell_stop_open= Middle");

L=L2;

int ticket3=OrderSend(Symb, OP_SELLSTOP, L, Middle, 2, Maximum+4*Point,Minimum_30, Com, Magic);

}

Quando mensagem de alerta aparece antes se eu vejo valores sell_stop_open=1,3080, Middle =1,3080, mas se não for executada.

Você pode me dizer o que pode causar tal erro?


Caso contrário.
if (sell_stop_open == Middle)
 
r772ra:

Caso contrário.
Eu também já tentei dessa forma. Mas quando funciona no testador, às vezes funciona, às vezes não.
 
Desead:

Como opção, obrigado. Embora eu ainda não entenda por que isto está acontecendo, dada a normalização.

Outra solução possível - se alguém precisar - converti o dobro para int. Uma vez que tenho a precisão necessária conhecida antecipadamente.

Os números duplos têm suas próprias peculiaridades, portanto, ao convertê-los para um valor de texto, é utilizado DoubleToString (uma função da nova linguagem MQL4) ou DoubleToStr (uma função da linguagem antiga). Estas funções convertem um valor numérico em uma cadeia de texto contendo a representação dos caracteres do número no formato de precisão especificado.

Recomendo que você leia "Peculiaridades de trabalhar com números do tipo duplo em MQL4". Bem e em um fórum é possível buscar informações mais detalhadas.

P./S.: Eu não acho que essa variante de tradução dobrar em int, quando é necessário ver o dobro - é a decisão adequada.

 
Garik27p:
Eu também já tentei dessa forma. Mas quando funciona no testador, às vezes funciona, às vezes não.

Aqui, a resposta.
 
r772ra:
mesmo, a resposta.


Obrigado!!!
 
Desead:
P./S.: Por precaução, mencionarei que há uma resposta parcial à sua pergunta em "Nota" da ajuda "NormalizeDouble" também.

Eu mesmo costumava me esquecer de entrar no DoubleToS. ...e depois se perguntou pelos muitos números após o ponto. :)