Abfrage ob AutoTrading im MT5 enabled/disabled ist

 

Ich steh leider wieder einmal an.

Vor nicht allzulanger Zeit habe ich Code zur Terminalabfrage gepostet.
Jetzt hat sich herausgestellt, das da die Abfrage ob AutoTrading enabled/disabled ist nicht funktioniert.

in MQL4 lautet die  Abfrage siehe http://www.expert-advisor.com/forum/metatrader-4/programmierung-mql4/5009-wie-kann-ich-den-autotrading-knopf-programmtechnisch-abfragen.html

IsExpertEnabled()

Auch laut https://www.mql5.com/en/articles/81 wird das so übersetzt:

IsExpertEnabled

Das stimmt aber nicht. Egal ob der Knopf rot oder grün ist wird immert true zurückgegeben.

Ich vermute, daß hier der Broker abgefragt wird, ob EAs erlaubt sind.

Eine Systemvariable wie TERMINAL_AUTOTRADING oder TERMINAL_EXPERT_ENABLED gibt es aber nicht. Diese Info ist ja nicht Account-, sondern Terminalbezogen.

Hat da Metaquotes wieder auf was vergessen?

Ein brutaler 'workaround' wäre eine pending Order im Nirvana zu eröffnen und den LastError abfragen oder so.

Hat da jemand Erfahrung wie ich AutoTrade abfragen kann ?

@Carl: Sorry falsche Rubrik, gehört eher in die Programmierabteilung.

Migrating from MQL4 to MQL5
Migrating from MQL4 to MQL5
  • 2010.05.17
  • Sergey Pavlov
  • www.mql5.com
This article is a quick guide to MQL4 language functions, it will help you to migrate your programs from MQL4 to MQL5. For each MQL4 function (except trading functions) the description and MQL5 implementation are presented, it allows you to reduce the conversion time significantly. For convenience, the MQL4 functions are divided into groups, similar to MQL4 Reference.
 

Also ich habe das gerade auf MT4 überprüft - der gleiche Fehler:

OnInit() {
...
   Comment("ExpertEnabled: ",IsExpertEnabled()," Mt5: ",(bool)AccountInfoInteger(ACCOUNT_TRADE_EXPERT)," oder ",(bool)AccountInfoInteger(ACCOUNT_TRADE_ALLOWED));
}

Das führt zu:

"ExpertEnabled: true/false  Mt5: true/true oder true/true"

(true/false => je nach dem, ob im Terminal (Ctrl-O => Experten) "Automatisches Handeln erlauben" aktiviert/deaktiviert ist. Nach der Umstellung habe den EA neu-kompiliert, so dass OnInit() aufgerufen wird.

Ich denke das ist ein Fehler in der Funktion!

Schreibst Du das dem ServiceDesk? (Ich glaube, Du kriegst dann 1€ für: Fehler gefunden, aber das ist nur mein ganz vager Verdacht!!)

 
Carl Schreiber:

Also ich habe das gerade auf MT4 überprüft - der gleiche Fehler:

Hi Carl, danke für überprüfen.

Ich werde halt wieder einmal den Service-Desk bemühen, obwohl ich mir immer weniger Hoffnungen mache, daß die mich ernst nehmen.

LG Otto

 

Anfrage durchgeführt, ich halte euch am laufenden.

MT5 current version

AccountInfoInteger(ACCOUNT_TRADE_EXPERT) in MQL5 always returns true.

MQL4: IsExpertEnabled()
MQL5: AccountInfoInteger(ACCOUNT_TRADE_EXPERT)

If AutoTrade is enabled or not has no relation with the account, but is related to the Terminal.
But a System inquiry like TERMINAL_EXPERT_ENABLED is not existing.

Please check my detailed post in the german forum.

https://www.mql5.com/de/forum/241147#comment_7267360

Please check these circumstances.
Abfrage ob AutoTrading im MT5 enabled/disabled ist
Abfrage ob AutoTrading im MT5 enabled/disabled ist
  • 2018.04.27
  • www.mql5.com
Ich steh leider wieder einmal an. Vor nicht allzulanger Zeit habe ich Code zur Terminalabfrage gepostet...
 

Also bei manchem Vorschlägen kriegte ich nach zwei/drei Tagen (Nachdenken?) ein: "We have no intention...". Manchmal aber nichts, ich glaube dann werden die das umsetzten.

So war das mit meinem Vorschlag die Liste der Funktionen und Variablen nach dem Tippen der ersten drei Buchstaben nicht lexikalisch zu sortieren sondern nach der Häufigkeit der Verwendung.

Da hörte ich bisher nichts außer: "... Your ticket has been escalated to our specialists. ...". Also "Keine Entscheidung ist eine gute Entscheidung"

;)

Good night and good luck,

Calli

 

Hallo, ich nutze im MT4:

if( !IsTradeAllowed() ) Print("AutoTrading ist aus.");
 
Otto Pauser:

Ich steh leider wieder einmal an.

Vor nicht allzulanger Zeit habe ich Code zur Terminalabfrage gepostet.
Jetzt hat sich herausgestellt, das da die Abfrage ob AutoTrading enabled/disabled ist nicht funktioniert.

in MQL4 lautet die  Abfrage siehe http://www.expert-advisor.com/forum/metatrader-4/programmierung-mql4/5009-wie-kann-ich-den-autotrading-knopf-programmtechnisch-abfragen.html

Auch laut https://www.mql5.com/en/articles/81 wird das so übersetzt:

Das stimmt aber nicht. Egal ob der Knopf rot oder grün ist wird immert true zurückgegeben.

Ich vermute, daß hier der Broker abgefragt wird, ob EAs erlaubt sind.

Eine Systemvariable wie TERMINAL_AUTOTRADING oder TERMINAL_EXPERT_ENABLED gibt es aber nicht. Diese Info ist ja nicht Account-, sondern Terminalbezogen.

Hat da Metaquotes wieder auf was vergessen?

Ein brutaler 'workaround' wäre eine pending Order im Nirvana zu eröffnen und den LastError abfragen oder so.

Hat da jemand Erfahrung wie ich AutoTrade abfragen kann ?

@Carl: Sorry falsche Rubrik, gehört eher in die Programmierabteilung.

if(!TerminalInfoInteger(TERMINAL_TRADE_ALLOWED))
   Alert("Check if automated trading is allowed in the terminal settings!");
Documentation on MQL5: MQL5 programs / Trade Permission
Documentation on MQL5: MQL5 programs / Trade Permission
  • www.mql5.com
MQL5 language provides a special group of trade functions designed for developing automated trading systems. Programs developed for automated trading with no human intervention are called Expert Advisors or trading robots. In order to create an Expert Advisor in MetaEditor, launch MQL5 Wizard and select one of the two options: Expert Advisor...
 

@Mani Heshmat

Danke, das war leider eine Wissenslücke bei mir.

Ist mir ja peinlich den Servisdesk mit meinem Unwissen gequält zu haben.

Hab mich dort entschuldigt, und die Anfrage geschlossen.