EA an Konto-Nummer binden

Einloggen oder registrieren, um einen Kommentar zu schreiben
Steffen1234
79
Steffen1234  

Hallo ihr lieben Experten,

wie kann ich einen EA an die jeweilige Kontonummer binden? Also das er nur läuft, wenn die KontoNummer übereinstimmt.

Hab hier was gefunden, aber so richtig will es nicht funktionieren.

https://mql4tutorial.de/mql4-tutorial-deutsch/mql4-tutorial-deutsch-expert-advisor-an-kontonummer-binden

viele Grüße

Steffen

MQL4 Tutorial Deutsch – Expert Advisor an Kontonummer binden
MQL4 Tutorial Deutsch – Expert Advisor an Kontonummer binden
  • mql4tutorial.de
In diesem Video geht es um die Frage, wie man einen Expert Advisor so erstellen kann, dass er von einem Käufer nur für eine bestimmte Kontonummer genutzt werden kann. Wie man sieht, wird hier auf dem Chart und auch hier unten angezeigt, dass die Kontonummer richtig ist. Überprüft wird das mit einer externen Bibliothek, und wir wollen in diesem...
Carl Schreiber
Moderator
9901
Carl Schreiber  

Du hast MT4?

Dann schau mal hier: https://docs.mql4.com/function_indices

und suche AccountNumber().

Dann fehlt nur noch in OnInit()

if ( AccountNumber() != .... ) return(INIT_FAILED);
List of MQL4 Functions - MQL4 Reference
List of MQL4 Functions - MQL4 Reference
  • docs.mql4.com
Reads from the file of the CSV type a string of one of the formats: "YYYY.MM.DD HH:MM:SS", "YYYY.MM.DD" or "HH:MM:SS" - and converts it into a datetime value
Steffen1234
79
Steffen1234  
Carl Schreiber:

Du hast MT4?

Dann schau mal hier: https://docs.mql4.com/function_indices

und suche AccountNumber().

Dann fehlt nur noch in OnInit()

Hallo Carl,

danke für die schnelle Antwort. Habe es jetzt so gemacht:

//+------------------------------------------------------------------+
//|                                                      ABC1234.mq4 |
//|                                                        S. P |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+

#property library
#property copyright "S. "

#property version   "1.00"
#property strict

//+------------------------------------------------------------------+
//| My function                                                      |
//+------------------------------------------------------------------+
// int MyCalculator(int value,int value2) export
//   {
//    return(value+value2);
//   }
//+------------------------------------------------------------------+




bool IsCorrectAccountNumber(int myAccountNumber)export

{

      static bool accountNumberOK;
     
      if (AccountNumber()==23217917)
     
      {
     
      accountNumberOK=true;
      Print ("### Kontonummer ist richtig ###");
    }
   
      if (AccountNumber()!=23217917)
     
     {
    
       accountNumberOK=false;
       Print ("### Kontonummer ist falsch ###");
       ExpertRemove();
     
     }
        return accountNumberOK;
       
  }       
 

kommt kein error mehr.  Der Strategietester meckert auch nicht mehr rum, aber der EA handelt nicht. Weiß nicht mehr weiter.

Entdecken Sie neue Möglichkeiten des MetaTrader 5 mit MQL5 Gemeinschaft und Services
Entdecken Sie neue Möglichkeiten des MetaTrader 5 mit MQL5 Gemeinschaft und Services
  • www.mql5.com
Stellen Sie Fragen zur technischen Analyse, diskutieren Sie über Handelssysteme und verbessern Sie Ihre Kenntnisse im Programmieren von Handelsstrategien in der MQL5 Programmiersprache. Tauschen Sie sich mit anderen Händlern aus der ganzen Welt aus und helfen Sie den Anfängern — unsere Community entwickelt sich mit Ihrer Hilfe. EA an...
Carl Schreiber
Moderator
9901
Carl Schreiber  

Das liegt dann nicht am Konto sondern ...(?) ..

..aber ohne Code? (Meine Kristallkugeln haben derzeit alle einen Sprung und ich habe es noch nicht wieder in die Winkelgasse geschafft ;)

Steffen1234
79
Steffen1234  
Steffen1234:

Hallo Carl,

danke für die schnelle Antwort. Habe es jetzt so gemacht:

//+------------------------------------------------------------------+
//|                                                      ABC1234.mq4 |
//|                                                        S. P |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+

#property library
#property copyright "S. "

#property version   "1.00"
#property strict

//+------------------------------------------------------------------+
//| My function                                                      |
//+------------------------------------------------------------------+
// int MyCalculator(int value,int value2) export
//   {
//    return(value+value2);
//   }
//+------------------------------------------------------------------+




bool IsCorrectAccountNumber(int myAccountNumber)export

{

      static bool accountNumberOK;
     
      if (AccountNumber()==23217917)
     
      {
     
      accountNumberOK=true;
      Print ("### Kontonummer ist richtig ###");
    }
   
      if (AccountNumber()!=23217917)
     
     {
    
       accountNumberOK=false;
       Print ("### Kontonummer ist falsch ###");
       ExpertRemove();
     
     }
        return accountNumberOK;
       
  }       
 

kommt kein error mehr.  Der Strategietester meckert auch nicht mehr rum, aber der EA handelt nicht. Weiß nicht mehr weiter.

dann liegt es wahrscheinlich am EA. Ich schick mal die ersten Zeilen:

//+------------------------------------------------------------------+
//|                                                        ddddd.mq4 |
//|                                                        S.  |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+




#import "CheckAccountNumberTestLibrary.ex4"
bool IsCorrectAccountNumber(int AccountNumber);
#import

void OnTick()

   {
  
     Comment ("Die Kontonummer ist: ", IsCorrectAccountNumber(AccountNumber()));
         
}

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    
#define buy -2
#define sell 2


//---- input parameters
extern string    TradeComment="FP_v12.33";
extern double    Lizenz = 346315781;
extern string    Copyright

Es ist kurios: wenn ich den oberen Code rausnehme, handelt der EA und funktioniert auch. Wenn ich die Zeilen wieder einfüge macht er zwar den Strategie-Test, aber er handelt nicht. Ich bekomme aber beim Compilieren keinen error, sondern nur einige Warnungen.

Entdecken Sie neue Möglichkeiten des MetaTrader 5 mit MQL5 Gemeinschaft und Services
Entdecken Sie neue Möglichkeiten des MetaTrader 5 mit MQL5 Gemeinschaft und Services
  • www.mql5.com
Stellen Sie Fragen zur technischen Analyse, diskutieren Sie über Handelssysteme und verbessern Sie Ihre Kenntnisse im Programmieren von Handelsstrategien in der MQL5 Programmiersprache. Tauschen Sie sich mit anderen Händlern aus der ganzen Welt aus und helfen Sie den Anfängern — unsere Community entwickelt sich mit Ihrer Hilfe. die Monster_EA...
Otto Pauser
2166
Otto Pauser  

Eine simple Lösung:

bool CheckLicense(int accNumber)
{
   if(AccountInfoInteger(ACCOUNT_LOGIN)==accNumber)
      return(true);

   Alert("Invalid Accountnumber");
   ExpertRemove();
   return(false);
}

Verwendung im EA:

#include <CheckLicense.mqh>

int OnInit()
{
   if(!CheckLicense(4711))    // hier die Accountnummer einstellen
      return(INIT_FAILED);

   /*
   
   diverse Aktionen
   
   */

   return(INIT_SUCCEEDED);
}

Simpel aber wirkungsvoll.

Steffen1234
79
Steffen1234  
Otto Pauser:

Eine simple Lösung:

Verwendung im EA:

Simpel aber wirkungsvoll.

Guten Morgen Carl,

danke für deine bisherigen Bemühungen. Leider bringt mir der Code den du geschickt hast einige "errors".

Also es funktioniert nicht.

Wenn du Zeit und Lust hast, würde ich dir den EA mal zuschicken, damit du mal drüber schaust.

viele Grüße

Steffen

Carl Schreiber
Moderator
9901
Carl Schreiber  
Steffen1234:

Guten Morgen Carl,

danke für deine bisherigen Bemühungen. Leider bringt mir der Code den du geschickt hast einige "errors".

Dann hast Du ihn wahrscheinlich falsch eingesetzt!

  1. Steht 'mein' Vorschlag in OnInit() - da sollte er sein!
  2. Welche Fehler? Genaue Fehlermeldungen inkl worauf sie sich beziehen!
  3. Du meintest Otto!
Steffen1234
79
Steffen1234  
Carl Schreiber:

Dann hast Du ihn wahrscheinlich falsch eingesetzt!

  1. Steht 'mein' Vorschlag in OnInit() - da sollte er sein!
  2. Welche Fehler? Genaue Fehlermeldungen inkl worauf sie sich beziehen!
  3. Du meintest Otto!

folgender Fehler:

'OnInit' - declaration without type  

Eine "OnInit" gibt es nicht in meinem Script. Habe sie dazugefügt.

Steffen1234
79
Steffen1234  
Otto Pauser:

Eine simple Lösung:

Verwendung im EA:

Simpel aber wirkungsvoll.

Sorry Otto,

bei dir möchte ich mich natürlich auch bedanken für deine Bemühungen und den zugeschickten Code. Leider bringt mir der EA dann 3 "errors".

viele Grüße

Steffen

Carl Schreiber
Moderator
9901
Carl Schreiber  
Steffen1234:

folgender Fehler:

'OnInit' - declaration without type  

Eine "OnInit" gibt es nicht in meinem Script. Habe sie dazugefügt.

Nimm mal einen Beispiel EA und schau Dir an wie das da gemacht wird!!

Lies auch nach, was die wichtigen System-Funktionen machen: Kursor 'drauf und F1 drücken - spart viiiiiel Zeit und Ärger..!

Einloggen oder registrieren, um einen Kommentar zu schreiben