|
Codeschnipsel Codeschnipsel für MQL5. |
|
Themen-Optionen | Thema durchsuchen | Ansicht |
|
|||
Code Snippets - AccountExpertAllowed
Vorerst herzlichen Dank an den Admin, der hier ein neues Kapitel aufgetan hat!
Die Abfrage ob auf einem Account maschinelles handeln erlaubt ist oder nicht, ist natürlich bei einem EA auch wichtig und informiert den Anwender. Ich denke, das ist auch ein gutes Beispiel mit wenig Code logische Werte umzudrehen, um dann das Programm leichter lesbar zu gestalten. Diesen Code zB. in die 'MyUtils.mqh' einfügen: Code:
string AccountString() { return(AccountInfoString (ACCOUNT_COMPANY)+" | "+ AccountInfoString (ACCOUNT_SERVER )+" | "+ AccountInfoString (ACCOUNT_NAME )+" | "+ (string)AccountInfoInteger(ACCOUNT_LOGIN )); } bool AccountExpertAllowed() { if(!TerminalInfoInteger(TERMINAL_TRADE_ALLOWED)) { Alert("Autotrading in the terminal is disabled, Expert Advisor will be removed."); return(false); } if(!AccountInfoInteger(ACCOUNT_TRADE_ALLOWED)) { Alert(AccountString()+" | Error: Trading not allowed."); return(false); } if(!AccountInfoInteger(ACCOUNT_TRADE_EXPERT)) { Alert(AccountString()+" | Error: Experts not allowed."); return(false); } return(true); } bool AccountExpertForbidden() { return(!AccountExpertAllowed()); } Und so wird's verwendet: Code:
int OnInit() { if(AccountExpertForbidden()) { ExpertRemove(); return(INIT_FAILED); } //....... return(INIT_SUCCEEDED); } Da können sich natürlich auch Fehler einschleichen. Jeder der hier Fehler findet oder Verbesserungsvorschläge hat, ist herzlich dazu eingeladen diese zu posten. Liebe Grüße und evtl. kann's jemand brauchen. |
|
|||
Bist Du Dir eigentlich sicher, dass nach dem Expertremove Dein return(INIT_FAILED) überhaupt noch ausgeführt wird ?
Und ich hab mir angewöhnt als bsp. nicht immer alles direkt als Alert auszugeben, sondern per Input vom Indi / EA eine Option einzubauen, ob das ganze als Alert oder Print ausgegeben werden soll. Bsp: Wenn Du Deine Routine nimmst, den Expert enabled hast (also trade allowed), dann 10 Währungspaare nutzt, die Abfrage im Init kommt, Du aber vorm beenden vom MT Dein allowed abschaltest. Danach den MT startest ohne dass dann allowed aktiv ist, hauen Dir alle 10 Assets einen Alarm um die Ohren ! |
|
|||
Ja das stimmt!
Alert ist halt die wirkungsvollste Art mich zu informieren, daß was nicht passt. Es sind ja Codebeispiele die jeder seinen Bedürfnissen anpasssen kann. Das wesentlich hier ist ja die Abfrage der Einstellungen. Ich trage hier so Schnipsel zusammen, nach denen ich oft lange gesucht habe, oder zufällig darauf gestoßen bin. Danke für das Feedback Liebe Grüße |
Lesezeichen |
Stichworte |
accountexpertallowed, codeschnipsel, codeschnipsel mql5, programmierung, programmierung metatrader |
|
|