Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools
Zurück   Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools > Metatrader 5 > Programmierung MQL5 > Codeschnipsel

Codeschnipsel Codeschnipsel für MQL5.


Portalsuche


Werbung

Login
Benutzername:
Kennwort:


Statistik
Themen: 3697
Beiträge: 36263
Benutzer: 5.847
Aktive Benutzer: 534
Links: 80
Wir begrüßen unseren neuesten Benutzer: qaseem
Mit 483 Benutzern waren die meisten Benutzer gleichzeitig online (21.04.16 um 17:12).
Neue Benutzer:
vor 59 Minuten
- qaseem
vor 9 Stunden
- water86
vor 23 Stunden
- Max
vor einem Tag
- Kern
vor einem Tag
- mr080368

Onlineuser
'Wer ist online' anzeigen Benutzer: 5
Gäste: 45
Gesamt: 50
Team: 0
Team:  
Benutzer:  Elfenstein, Kern, Leopold, lion, volkers
Freunde anzeigen

Empfehlungen

Werbung

Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 23.10.16
Benutzerbild von Kronenchakra
Mitglied
 
Registriert seit: Feb 2016
Ort: 2100 Österreich
Beiträge: 275
Kronenchakra befindet sich auf einem aufstrebenden Ast
Standard 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());
}
AccountString() kann man natürlich auch einfacher gestalten.

Und so wird's verwendet:
Code:
int OnInit()
  {
   if(AccountExpertForbidden())
      {
         ExpertRemove();
         return(INIT_FAILED);
      }   
//.......
    return(INIT_SUCCEEDED);
   }
Anmerkung: Sämtliche Bibliotheksfunktionen die ich hier poste sind relativ jung.
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.
  #2 (permalink)  
Alt 27.10.16
Mitglied
 
Registriert seit: Aug 2014
Beiträge: 46
marquez befindet sich auf einem aufstrebenden Ast
Standard

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 !
  #3 (permalink)  
Alt 27.10.16
Benutzerbild von Kronenchakra
Mitglied
 
Registriert seit: Feb 2016
Ort: 2100 Österreich
Beiträge: 275
Kronenchakra befindet sich auf einem aufstrebenden Ast
Standard

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
Thema geschlossen

Lesezeichen

Stichworte
accountexpertallowed, codeschnipsel, codeschnipsel mql5, programmierung, programmierung metatrader


Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus




Alle Zeitangaben in WEZ +2. Es ist jetzt 16:26 Uhr.



-----------------------------------------------------------------------------------------------------------------------------
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Powered by vBCMS® 2.7.0 ©2002 - 2017 vbdesigns.de
SEO by vBSEO 3.6.1
Copyright ©2009 - 2017 by Expert-Advisor.com - Das Metatrader Forum
MetaTrader bzw. MetaTrader 4 und MetaTrader 5 sind eingetragene Marken der MetaQuotes Software Corp.
-----------------------------------------------------------------------------------------------------------------------------