Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 593

 

Da ich unter Dummies in dll Verwendung bin, werde ich es wagen, hier zu fragen: Könnten Sie mir bitte sagen, wie man korrekt WinExec("shutdown /r", 0) in aktuellen Builds bilden?

Nicht unbedingt heruntergefahren, ich kann bisher überhaupt nichts zum Laufen bringen.

Danke.

 
Ich hab's kapiert.
 

Als Option, vielen Dank. Obwohl ich immer noch nicht verstehe, warum dies angesichts der Normalisierung geschieht.

Eine andere mögliche Lösung - falls jemand sie braucht - ich habe den double in int umgewandelt. Da ich die erforderliche Genauigkeit im Voraus kenne.

 

Hallo. Die if-Anweisungszeile im EA wird nicht ausgeführt

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

if (verkaufsstopp_offen != Mitte)

{

Alert ("sell_stop_open= Middle");

L=L2;

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

}

Wenn Alert-Nachricht erscheint vor, wenn ich sehe, Werte sell_stop_open=1.3080, Middle =1.3080, aber wenn nicht ausgeführt wird.

Können Sie mir bitte sagen, was einen solchen Fehler verursachen kann?

 
Garik27p:

Hallo. Die if-Anweisungszeile im EA wird nicht ausgeführt

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

if (verkaufsstopp_offen != Mitte)

{

Alert ("sell_stop_open= Middle");

L=L2;

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

}

Wenn Alert-Nachricht erscheint vor, wenn ich sehe, Werte sell_stop_open=1.3080, Middle =1.3080, aber wenn nicht ausgeführt wird.

Können Sie mir bitte sagen, was einen solchen Fehler verursachen kann?


Ansonsten.
if (sell_stop_open == Middle)
 
r772ra:

Ansonsten.
Ich habe es auch so probiert. Aber wenn es auf dem Testgerät funktioniert, funktioniert es manchmal, manchmal nicht.
 
Desead:

Als Option, vielen Dank. Obwohl ich immer noch nicht verstehe, warum dies angesichts der Normalisierung geschieht.

Eine andere mögliche Lösung - falls jemand sie braucht - ich habe den double in int umgewandelt. Da ich die erforderliche Genauigkeit im Voraus kenne.

Doppelte Zahlen haben ihre eigenen Besonderheiten, daher wird bei der Umwandlung in einen Textwert DoubleToString (eine Funktion der neuen Sprache MQL4) oder DoubleToStr (eine Funktion der alten Sprache) verwendet. Diese Funktionen wandeln einen numerischen Wert in eine Zeichenkette um, die die Zeichendarstellung der Zahl im angegebenen Präzisionsformat enthält.

Ich empfehle Ihnen die Lektüre von "Besonderheiten bei der Arbeit mit Zahlen vom Typ Double in MQL4". Nun, und in einem Forum ist es möglich, ausführlichere Informationen zu suchen.

P./S.: Ich denke nicht, dass die Variante der Übersetzung double in int, wenn es notwendig ist, double zu sehen - die geeignete Entscheidung ist.

 
Garik27p:
Ich habe es auch so probiert. Aber wenn es auf dem Testgerät funktioniert, funktioniert es manchmal, manchmal nicht.

Hier ist die Antwort.
 
r772ra:
Genau das ist die Antwort.


Ich danke Ihnen!!!
 
Desead:
P./S.: Nur für den Fall, dass ich erwähne, dass es eine teilweise Antwort auf Ihre Frage in "Note" der NormalizeDouble Hilfe zu.

Ich selbst habe immer vergessen, DoubleToS einzugeben... ...und wunderte sich dann über die vielen Zahlen nach dem Punkt. :)