Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 673
![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
Wie lassen sich die Ausschreibungen über iCustom erkennen?
Vielleicht kennen Sie bereits bestehende Indikatoren/Berater dafür?
Ich schreibe einen EA, der auf einer Martingal-Basis arbeitet.
Wie kann ich ihn dazu bringen, alle offenen Aufträge zu schließen, wenn der maximal zulässige Verlust in Pips bei einem Währungspaar erreicht ist?
Wenn Sie es wirklich in Pips und nicht in Geld brauchen, ist hier eine Funktion, die genau wie die letzte anzuwenden ist
//------------------ Возвращает суммарный профит открытых позиций в пунктах --------------------+
//===============================================================================================
double GetProfitOpenPosInPoint(string symb="0", int type=-1, int mg=-1) {
double p=0, prb=0, prs=0, pr=0;
if(symb=="0") { symb=Symbol();}
for(int i=0; i<OrdersTotal(); i++) {
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if((OrderSymbol()==symb||symb=="")&&(type<0||OrderType()==type)&&(mg<0||OrderMagicNumber()==mg)) {
p=MarketInfo(OrderSymbol(), MODE_POINT)*Sign;
if(OrderType()==OP_BUY) {
prb+=((MarketInfo(OrderSymbol(), MODE_BID)-OrderOpenPrice())/p);
}
if(OrderType()==OP_SELL) {
prs+=((OrderOpenPrice()-MarketInfo(OrderSymbol(), MODE_ASK))/p);
}
pr=prb+prs;
}
}}
return(pr);
}
Hallo,Welchen Code sollte ich hinzufügen, um die Warnungen von jedem Indikator in der EA erscheinen zu lassen?
Wie lassen sich die Ausschreibungen über iCustom erkennen?
Vielleicht kennen Sie bereits bestehende Indikatoren/Berater dafür?
Hallo. Ich wollte eine . ex4-Datei mit mt4.exe öffnen und sie für alle Dateien verwenden. Wie kann ich die "Windows General Shell Library" rückgängig machen? Aus irgendeinem Grund sieht mt4 diesen EA (Roboter) jetzt nicht.
Sie werden es nicht glauben, aber jeder!!! will eine .ex4-Datei öffnen, das Problem ist, dass sie nie zur Bearbeitung geöffnet wurde und sich nicht öffnen lässt.
Bearbeitbare Dateien sind nur .mq4, ausführbare Dateien sind .ex4
Ereignisse auf dem Client-Terminal
Init
Unmittelbar nachdem das Client-Terminal ein Programm (Expert Advisor oder benutzerdefinierter Indikator) geladen und mit der Initialisierung der globalen Variablen begonnen hat, wird ein Init-Ereignis gesendet, das mit OnInit() behandelt wird, sofern verfügbar. Dieses Ereignis wird auch nach einem Wechsel des Wertpapiers und/oder der Chartperiode, nach einer Neukompilierung des Programms in MetaEditor, nach einer Änderung der Eingabeparameter eines Expert Advisors oder eines benutzerdefinierten Indikatoreinstellungsfensters erzeugt. Der Expert Advisor wird auch initialisiert, nachdem das Konto geändert wurde. Das Ereignis Init wird nicht für Skripte erzeugt.
Und wenn sie nicht "weg vom Fenster" ist? Zum Beispiel während des Optimierungsmodus im Strategy Tester ? Wo kann man darüber lesen?
Ereignisse auf dem Client-Terminal
Init
Unmittelbar nachdem das Client-Terminal ein Programm (Expert Advisor oder benutzerdefinierter Indikator) geladen und mit der Initialisierung der globalen Variablen begonnen hat, wird ein Init-Ereignis gesendet, das mit OnInit() behandelt wird, sofern verfügbar. Dieses Ereignis wird auch nach einem Wechsel des Wertpapiers und/oder der Chartperiode, nach einer Neukompilierung des Programms in MetaEditor, nach einer Änderung der Eingabeparameter eines Expert Advisors oder eines benutzerdefinierten Indikatoreinstellungsfensters erzeugt. Der Expert Advisor wird auch initialisiert, nachdem das Konto geändert wurde. Das Ereignis Init wird nicht für Skripte erzeugt.
Und wenn sie nicht "weg vom Fenster" ist? Zum Beispiel während des Optimierungsmodus im Strategy Tester ? Wo kann man darüber lesen?
Im Optimierungsmodus ist jeder Durchlauf mit neuen Parametern nichts anderes als ein neuer Programmdurchlauf. Entsprechend wird nach dem Start das Ereignis OnInit() durchlaufen.
Danke, Vladimir! Ich verstehe es)). Aber wo steht das in der Dokumentation? Wenn ich Print, Alert, Comment in init() einfüge, wird nichts in das Journal oder auf den Bildschirm geschrieben. Wie können wir sicher sein, worüber wir Bescheid wissen?
Bei einigen Funktionen des Strategietesters des Client-Terminals gibt es Einschränkungen.
Funktionen Print() und PrintFormat()
Um die Leistung bei der Optimierung der EA-Parameter zu verbessern, werden die FunktionenPrint() undPrintFormat() nicht ausgeführt. Die Ausnahme ist die Verwendung dieser Funktionen innerhalb desOnInit()-Handlers. Dies erleichtert uns die Suche nach Fehlerursachen, wenn Fehler auftreten.
Die Funktionen Alert(), MessageBox(), PlaySound(), SendFTP, SendMail(), SendNotification() und WebRequest()
Die FunktionenAlert(),MessageBox(),PlaySound(),SendFTP(),SendMail(),SendNotification() undWebRequest(), die mit der "Außenwelt" interagieren, werden im Strategie-Tester nicht ausgeführt.
Und um sicherzugehen - starten Sie das Debugging in der Historie und setzen Sie einen Haltepunkt in OnInit().
Ich schaffe es nicht, etwas in das Protokoll des Testers zu drucken(). Wie machen Sie das?