Wie programmiert man? - Seite 78

 

Ich habe es jetzt zum Laufen gebracht.

 
hedge4x:
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:

bool IsAllClosed = true ; //Global variable[/PHP]

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

Dateien:
 

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!

 
star90:
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.

Dateien:
wolfwave.rar  3 kb
 

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.

 
nittany1:
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();

}

 
Linuxser:
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);

}

Grund der Beschwerde: