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.

Login
Benutzername:
Kennwort:


Statistik
Themen: 4973
Beiträge: 43249
Benutzer: 7.220
Aktive Benutzer: 81
Links: 84
Wir begrüßen unseren neuesten Benutzer: JosephTK
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor 12 Stunden
- JosephTK
vor 2 Tagen
- Hopfen&Mal...
vor 3 Tagen
- frankmicha...
vor einer Woche
- DFeck
vor einer Woche
- bb1107

Onlineuser
'Wer ist online' anzeigen Benutzer: 0
Gäste: 425
Gesamt: 425
Team: 0
Team:  
Benutzer:  
Freunde anzeigen

Empfehlungen

Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 23.10.16
Gesperrter Benutzer
 
Registriert seit: Feb 2016
Ort: 2100 Österreich
Beiträge: 313
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: 47
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
Gesperrter Benutzer
 
Registriert seit: Feb 2016
Ort: 2100 Österreich
Beiträge: 313
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 +1. Es ist jetzt 10:04 Uhr.





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