Folgen Sie dem MT4 Beispiel "STRINGS: ASCII CHARACTERS TABLE AND USE"
//+------------------------------------------------------------------+//| StringLowerCase |//+------------------------------------------------------------------+string StringLowerCase(string str)
{
string s = str;
int lenght = StringLen(str) - 1, symbol;
while(lenght >= 0)
{
symbol = StringGetChar(s, lenght);
if((symbol > 64 && symbol < 91) || (symbol > 191 && symbol < 224))
s = StringSetChar(s, lenght, symbol + 32);// тут possible loss of data due to type conversionelseif(symbol > -65 && symbol < -32)
s = StringSetChar(s, lenght, symbol + 288);// тут possible loss of data due to type conversion
lenght--;
}
return(s);
}
//+------------------------------------------------------------------+//| StringUpperCase |//+------------------------------------------------------------------+string StringUpperCase(string str)
{
string s = str;
int lenght = StringLen(str) - 1, symbol;
while(lenght >= 0)
{
symbol = StringGetChar(s, lenght);
if((symbol > 96 && symbol < 123) || (symbol > 223 && symbol < 256))
s = StringSetChar(s, lenght, symbol - 32);// тут possible loss of data due to type conversionelseif(symbol > -33 && symbol < 0)
s = StringSetChar(s, lenght, symbol + 224);// тут possible loss of data due to type conversion
lenght--;
}
return(s);
}
Wenn es Ihnen nichts ausmacht, helfen Sie mir bitte, es zu reparieren...
Ich habe getan, wie Sie gesagt haben, aber aus irgendeinem Grund nach dem Schließen der Expert Advisor schließt ein paar Trades, trotz der Tatsache, dass ich eine Stunde Schlupf nach der CloseAll() Funktion haben.
inputint Second = 10;
datetime LastTime = 0;
voidOnTick()
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Erlauben Sie die Verwendung von Cookies, um sich auf der Website MQL5.com anzumelden.
Bitte aktivieren Sie die notwendige Einstellung in Ihrem Browser, da Sie sich sonst nicht einloggen können.
Sie sind angemeldet. Die Zwei-Faktor-Authentifizierung wurde deaktiviert. Richten Sie sie erneut ein und scannen Sie einen neuen QR-Code oder fahren Sie mit deaktivierter Zwei-Faktor-Authentifizierung fort.
Danke, gibt es eine andere Lösung? Danach eröffnet und schließt der EA die Position sofort.
Sie müssen die Zeit auf die Bedingung festlegen
und aktualisieren Sie sie erst, wenn die Position geschlossen ist.
Ziehen Sie dann von der aktuellen Zeit die gespeicherte Zeit ab
. Wenn die angegebenen Sekunden abgelaufen sind, schließen Sie die Positionen.
Ich habe das getan
double op = CalculateProfit();
int time_waiting=0;
if (op >= Profit)
time_waiting = TimeLocal() + 10;
if (TimeLocal() < time_waiting)
{
CloseAll();
}
aber ich erhalte eine Fehlermeldung
möglicher Datenverlust aufgrund von Typumwandlung
ist kein Fehler, sondern eine Warnung: Bei der Konvertierung von einem Typ in einen anderen können Daten verloren gehen:
datetime time_waiting;Das heißt, ich möchte nicht, dass der EA geschlossen wird, sobald ich 2 Pfund sehe, sondern ein bisschen mehr.
Und was, immer nach 10 Sekunden ist der Gewinn größer?)
Wenn es Ihnen nichts ausmacht, helfen Sie mir bitte, es zu reparieren...
Übernahme der vollen Verantwortung für die Tatsache, dass
ushort
Der Typ unsigned short ist der Typ ushort, der ebenfalls eine Größe von 2 Byte hat. Der Mindestwert ist 0, der Höchstwert 65.535.
int
Der Ganzzahltyp int hat eine Größe von 4 Byte (32 Bit). Der Mindestwert beträgt -2 147 483 648, der Höchstwert 2 147 483 647.
Ich habe getan, wie Sie gesagt haben, aber aus irgendeinem Grund nach dem Schließen der Expert Advisor schließt ein paar Trades, trotz der Tatsache, dass ich eine Stunde Schlupf nach der CloseAll() Funktion haben.
double op = CalculateProfit();
if (op >= Profit && LastTime == 0)
LastTime = TimeCurrent ();
if(LastTime > 0 && TimeCurrent () - LastTime >= Second)
{
CloseAll();
LastTime = 0;
SendNotification("Trade is over");
Sleep(60*60000);// 60.000 = 1 min
}