![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Ich habe es jetzt zum Laufen gebracht.
Diese Zeile while(!IsAllClosed) {CloseAllTrades(); return;}
im Hauptstart werden alle offenen Positionen geschlossen, wenn MT ausfällt
und ich ihn wieder starte. Gibt es eine Möglichkeit, diese Zeile
in die Funktion closealltrades einzufügen, damit nicht alle offenen Positionen geschlossen werden
nach dem Neustart von MT4?
danke.Ja, leider können Sie das bool zum Startzeitpunkt so definieren:
Then it becomes even better to define a extern variable, so you can keep the control :[PHP]extern bool CloseAll = false ; //Global variable
void CloseAllTrades()
{
int cnt;
CloseAll = false;
for(cnt=OrdersTotal()-1;cnt>=0;cnt--)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if (OrderMagicNumber()==GetMagicNumber())
CloseAll = CloseAll || !OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), MarketInfo(OrderSymbol(), MODE_SPREAD), Yellow);
}
}
void start()
{
while(CloseAll) {CloseAllTrades(); return;}
...
Der Hauptvorteil dieser Methode ist, dass der EA versucht, jede Position bei jedem Tick zu schließen, bis alle geschlossen sind.
Hilfe bei meinem ersten semiprofessionellen EA benötigt
Hallo alle...
Ich habe ein EA von der großen Expertenberater Bulder Website und ich testen Sie es und fand es profitble für das letzte Jahr, aber ich denke, dass kann verbessert werden ...
so, wenn jemand kann helfen, dass EA zu verbessern?
detaled über EA..
der EA basiert auf zwei Indikatoren, einer davon ist meiner und der andere ist auf bublic fourms zu finden " zero lag macd "
jetzt ist der Experte arbeitet die ganze Zeit eingeben kaufen dann schließen und umgekehrt zu verkaufen und so weiter ...
Ich brauche, um es zu machen, arbeiten nur in spesfic Zeiten, fügen Sie ein Geld managemint und das letzte, was ich brauche, um die excute von kaufen oder verkaufen mit der nächsten "1 Minute" Kerze zu verzögern, aber die EA Arbeit auf die 1H Kerze in der Tat ...
so Hoffnung zu finden, wie kann in diesem helfen
Vielen Dank an alle
Beste Grüße
Tamer
Wie kann ich auf den Dateinamen verweisen, den ich ausführe?
Hallo,
Ich möchte wissen, wie ich auf einen Dateinamen verweisen kann, den ich gerade ausführe.
Wenn ich zum Beispiel ein Skript namens supertrader.mq4 ausführe und eine Logdatei namens supertrader_logfile aus dem Skript supertrader öffnen möchte.
Gibt es eine Variable, die den Namen der Datei enthält, die ich ausführe?
Vielen Dank!
Hallo!
Ich möchte wissen, wie ich auf einen Dateinamen verweisen kann, den ich gerade ausführe.
Wenn ich zum Beispiel ein Skript namens supertrader.mq4 ausführe und eine Logdatei namens supertrader_logfile aus dem Skript supertrader öffnen möchte.
Gibt es eine Variable, die den Namen der Datei enthält, die ich ausführe?
danke!Vielleicht, indem ich void Print( ...) in das Skript einfüge.
void Print( ...) Druckt eine Meldung in das Experten-Log.
An adria
Hast du meine PM gesehen?
Großes Be
Wolfswelle. Ich brauche Ihre Hilfe
Lieber Codersguru,
Ich bin kein Programmierer und in meinem Trial-and-Error-Stil gibt die Wolfswelle, die ich versucht habe zu verbessern, das Signal " der zweite Parameter, ObjectTextSetFunction muss ein String sein.
Bitte helfen Sie mir zu korrigieren.
Vielen Dank in Erwartung.
Hallo Leute, ich brauche eine bool-Funktion, die true zurückgibt, wenn 5 Minuten vergangen sind, oder 10 Minuten oder was auch immer. Ich weiß, wie man für eine neue Bar bereits zu überprüfen, aber seine nicht oft genug.
Hallo Leute, ich brauche eine bool-Funktion, die true zurückgibt, wenn 5 Minuten vergangen sind, oder 10 Minuten oder was auch immer. Ich weiß schon, wie man auf einen neuen Balken prüft, aber nicht oft genug.
Vielleicht
double LastRedraw = 0;
if(TimeLocal() - LastRedraw > 300)
{
Print();
ObjectsRedraw();
Print("ObjectsRedraw Done");
LastRedraw = TimeLocal();
}
Vielleicht
double LastRedraw = 0;
if(TimeLocal() - LastRedraw > 300)
{
Print();
ObjectsRedraw();
Print("ObjectsRedraw Done");
LastRedraw = TimeLocal();
}
[/code]Oder dies:
[CODE]
bool ElapsedTimeCheck(int MeineMinuten)
{
static datetime OldTime;
if (OldTime == 0)
OldTime = TimeCurrent() + MyMinutes * 60; // einmal initialisiert...
if (TimeCurrent() >= OldTime)
{
OldTime = TimeCurrent() + MeineMinuten * 60;
bool cond = true;
}
sonst cond = false;
return(cond);
}