Einzelnen Beitrag anzeigen
  #2 (permalink)  
Alt 14.07.17
Kronenchakra Kronenchakra ist offline
Gesperrter Benutzer
 
Registriert seit: Feb 2016
Ort: 2100 Österreich
Beiträge: 313
Kronenchakra befindet sich auf einem aufstrebenden Ast
Standard

Hallo,

klappe im Navigator den Ordner 'Konten' auf und beobachte was geschieht wenn du das Konto wechselst. Sehr aufschlüssreich.

Verwende dazu diesen MiniEA:
Code:
void OnTick()
{
   Comment("Accountnumber: ",IntegerToString(AccountInfoInteger(ACCOUNT_LOGIN)));
}
Der EA ist offensichtlich mit dem Chart verbunden und nicht mit dem Account.
Er läuft also nur scheinbar auf beiden Konten, aber nicht wirklich, er läuft nur auf dem aktiven Account.

Diesen MiniEA könntest du dir leicht umbauen, damit er dir deutlich zeigt dass du am Realkonto bist.

Code:
void OnTick()
{
   string msg;
   
   ENUM_ACCOUNT_TRADE_MODE tradeMode=(ENUM_ACCOUNT_TRADE_MODE)AccountInfoInteger(ACCOUNT_TRADE_MODE); 

   switch(tradeMode) 
     { 
      case(ACCOUNT_TRADE_MODE_DEMO): 
         msg="Demo account"; 
         break; 
      case(ACCOUNT_TRADE_MODE_CONTEST): 
         msg="Competition account"; 
         break; 
      default:msg="*** REAL ACCOUNT! ***"; 
     } 
  
   //if(AccountInfoInteger(ACCOUNT_TRADE_MODE)==ACCOUNT_TRADE_MODE_DEMO)
   //   msg="DEMO ACCOUNT";
      
   Comment(msg," Accountnumber: ",IntegerToString(AccountInfoInteger(ACCOUNT_LOGIN)));
}
Ja, könntest du, wenn nicht schon wieder ein Bug in MQL5 wäre, das liefert nämlich immer 'real account' (auch im MT4).
Der Code ist aus der MQL5 Reference:

Code:
void OnStart() 
  { 
//--- show all the information available from the function AccountInfoInteger() 
   printf("ACCOUNT_LOGIN =  %d",AccountInfoInteger(ACCOUNT_LOGIN)); 
   printf("ACCOUNT_LEVERAGE =  %d",AccountInfoInteger(ACCOUNT_LEVERAGE)); 
   bool thisAccountTradeAllowed=AccountInfoInteger(ACCOUNT_TRADE_ALLOWED); 
   bool EATradeAllowed=AccountInfoInteger(ACCOUNT_TRADE_EXPERT); 
   ENUM_ACCOUNT_TRADE_MODE tradeMode=(ENUM_ACCOUNT_TRADE_MODE)AccountInfoInteger(ACCOUNT_TRADE_MODE); 
   ENUM_ACCOUNT_STOPOUT_MODE stopOutMode=(ENUM_ACCOUNT_STOPOUT_MODE)AccountInfoInteger(ACCOUNT_MARGIN_SO_MODE); 
  
//--- Inform about the possibility to perform a trade operation 
   if(thisAccountTradeAllowed) 
      Print("Trade for this account is permitted"); 
   else 
      Print("Trade for this account is prohibited!"); 
  
//--- Find out if it is possible to trade on this account by Expert Advisors 
   if(EATradeAllowed) 
      Print("Trade by Expert Advisors is permitted for this account"); 
   else 
      Print("Trade by Expert Advisors is prohibited for this account!"); 
  
//--- Find out the account type 
   switch(tradeMode) 
     { 
      case(ACCOUNT_TRADE_MODE_DEMO): 
         Print("This is a demo account"); 
         break; 
      case(ACCOUNT_TRADE_MODE_CONTEST): 
         Print("This is a competition account"); 
         break; 
      default:Print("This is a real account!"); 
     } 
  
//--- Find out the StopOut level setting mode 
   switch(stopOutMode) 
     { 
      case(ACCOUNT_STOPOUT_MODE_PERCENT): 
         Print("The StopOut level is specified percentage"); 
         break; 
      default:Print("The StopOut level is specified in monetary terms"); 
     } 
  }
Könnte bitte jemand diesen Fehler nachprüfen, bevor ich den ServiceDesk bemühe ?
Könnt ja auch an mir liegen.

Danke.