Criar Licenças/ Senha no EA - página 2

 
Japa Trader Br:

Ola!


Desculpe não tinha visto sua mensagem e fui alertado pelo camarada João.


Fiz alguns testes, não estava conseguindo colocar no meu codigo, mas acho que funcionou, pelo menos quando eu deixo a verificação de conta real x demo.

Mas na DEMO roda igual sem restrição do login. É isso mesmo? 

A restrição em conta demo será atraves da contagem de dias cfe:

Acho que foi isso que entendi...


(Já juntei R$0,50 centsss).

kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk

é isso sim.

 
Acredito que este artigo pode ser útil neste tópico.
 

Boa noite.

Uma forma simples é utilizar o Bcrypt para criar a licença com qualquer tipo de limitação. Com a chave, o EA faz a leitura da mesma e verifica as limitações, o EA vai rodar caso não exista nenhum impedimento.

A lib é apenas para criptografar/descriptografar a chave

https://www.mql5.com/en/code/16378

Abs.

Bcrypt
Bcrypt
  • votos: 17
  • 2016.09.29
  • Romeu Bertho
  • www.mql5.com
The Advanced Encryption Standard or AES is a symmetric block cipher used by the U.S. government to protect classified information and is implemented in software and hardware throughout the world to encrypt sensitive data. This class makes use of the MQL5 built-in function CryptEncode() to encrypt/decrypt data. Also, it converts the generated...
 

Boa noite, coloquei o código npo meu EA e retorna erro,alguem pode me ajudar!

 
oi eu tenho um robo gostaria que vc ajudase eu colocar um trava com id de contas add eu no skype;   claudio.sena552 ou e-mail;  estevesclaudio2013@gmail.com
 
oi eu tenho um robo gostaria que vc ajudase eu colocar um trava com id de contas add eu no skype;   claudio.sena552 ou e-mail;  estevesclaudio2013@gmail.com
 
Joao Luiz Sa Marchioro:
Agora que vi a mensagem. Valeu por responder Rogério, está até mais completo que meu código.

bool prototipo = TRUE;               // true só roda em demo, false conta real

long account = 0;                 // Account login

long periodo_licenca = 730;           // Qtd dias licença

datetime dt_expiracao=__DATE__+PeriodSeconds(PERIOD_D1)*periodo_licenca;   // Data de expiração   



int OnInit() {


ENUM_ACCOUNT_TRADE_MODE tradeMode=(ENUM_ACCOUNT_TRADE_MODE)AccountInfoInteger(ACCOUNT_TRADE_MODE);


   if(prototipo)

     {

      if(tradeMode==ACCOUNT_TRADE_MODE_REAL)

        {

         Alert(__FUNCTION__,": Licença somente para conta DEMO");

         return(INIT_FAILED);

        }

      dt_expiracao=__DATE__+PeriodSeconds(PERIOD_D1)*5; // Expira 5 dias após a compilação

      if(TimeCurrent()>dt_expiracao)

        {

         Alert(__FUNCTION__,": licença DEMO expirada");

         return(INIT_FAILED);

        }

     }


   if(!prototipo)

     {

      if(AccountInfoInteger(ACCOUNT_LOGIN)!=account)

        {

         Alert(__FUNCTION__,": Login não autorizado");

         return(INIT_FAILED);

        }

      if(TimeCurrent()>dt_expiracao)

        {

         Alert(__FUNCTION__,": Licença expirada");

         return(INIT_FAILED);

        }

     }


Coloquei código recebo as mensagens tudo certo, mas de qualquer forma que eu coloco a EA  false, true, sem numero da conta a EA ainda continua abrindo ordens na conta Real.

 
long periodo_licenca=60;  // Qtd dias licença
datetime dt_expiracao=__DATE__+PeriodSeconds(PERIOD_D1)*periodo_licenca;
int liveAccountNumber = 1111111;  // Liberar conta um
int liveAccountNumber2 = 2222222; //  Liberar conta dois 

//=================================================================================
 int OnInit() {
 
  dt_expiracao=__DATE__+PeriodSeconds(PERIOD_D1)*60; // Expira 60 dias após a compilação

      if(TimeCurrent()>dt_expiracao)

        {
        Alert(__FUNCTION__,": Licença expirada");

         return(INIT_FAILED);

        }

if(( AccountNumber() == liveAccountNumber) || ( AccountNumber() == liveAccountNumber2))
{
   Print("Account Number recognized.thanks");
   Alert("Account Number recognized.");
   return(1);
}
   else
{
   Print("Account Number not recognized.");
   Alert("Account Number not recognized,Contact EA author to validate account");
   return(-1);

}

 Da para liberar ate duas contas e colocar data expiração 


 
Joao Luiz Sa Marchioro:

Eu coloco um reconhecimento de número de conta, assim o robô só pode operar na conta cadastrada no código. O inconveniente é ter que alterar para cada comprador pra cada conta especifica.

Olá João, poderias me ajudar a criar isso no meu EA?
 
Existe sim, ja vi sistemas que travam o arquivo ao numero do meta trader 4  e ja vi sistemas que usam login e senha por ligação web.
Razão: