Bom dia!
Sim, é possível, veja um exemplo de uma função que pode te ajudar.
bool funcao_verifica_liberacao(string TmpBancoLiberado, long TmpContaLiberada, datetime TmpDataValidade) { //verifica se o banco liberado bate com o banco que esta sendo usado o robo if(AccountInfoString(ACCOUNT_SERVER)!=TmpBancoLiberado)return(false); //verificar se a conta liberada bate com a conta que esta sendo usado o robo if(AccountInfoInteger(ACCOUNT_LOGIN)!=TmpContaLiberada)return(false); //verificar se e data atual esta dentro da data de validade liberada para uso so robo if(TimeCurrent() > TmpDataValidade) return(false); return(true); } ;
At.
Daniel
Bom dia!
Sim, é possível, veja um exemplo de uma função que pode te ajudar.
At.
Daniel
Show Daniel.
Na hora que você respondeu eu achei esse código que também achei interessante:
//+------------------------------------------------------------------+ //| AccountProtectedEA.mq5 | //| Copyright 2012, Investeo.pl | //| http://www.investeo.pl | //+------------------------------------------------------------------+ #property copyright "Copyright 2012, Investeo.pl" #property link "http://www.investeo.pl" #property version "1.00" const string allowed_broker = "MetaQuotes Software Corp."; const long allowed_accounts[] = { 979890, 436290, 646490, 225690, 279260 }; int password_status = -1; //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- string broker = AccountInfoString(ACCOUNT_COMPANY); long account = AccountInfoInteger(ACCOUNT_LOGIN); printf("The name of the broker = %s", broker); printf("Account number = %d", account); if (broker == allowed_broker) for (int i=0; i<ArraySize(allowed_accounts); i++) if (account == allowed_accounts[i]) { password_status = 1; Print("EA account verified"); break; } if (password_status == -1) Print("EA is not allowed to run on this account."); //--- return(0); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { //--- } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { //--- if (password_status == 1) { // password correct } }
Me falta agora um entendimento de onde aplicar dentro do meu código.
Ao meu entender devo inserir a partir do "int OnInit()" certo?
Porém o meu código há a inicialização com void OnInit () .
É "a mesma" coisa?
Abs.
Opa,
Bacana, cada dia vamos aumentando o nosso repertório, tem muitas opções de códigos, vamos vendo gradativamente lapidando o sistema.
Sim, tem que ser no evento OnInit(), seu código estar com void não interfere!
Abraço!
Com a meta do dia batida sobra até tempo para programar eim!!!! heheheh
Bom dia, tudo bem?
Estou tentando proteger um código que fiz também, porem acho que não estou conseguindo!
Eu também havia encontrado esse código que o Japa Trader BR mostrou, adicionei ao meu código, compilei tudo certinho. Só que quando vou rodar o indicador, ele roda normal, troquei o número da minha conta no código, compilei e fui rodar o indicador e ele continuou funcionando normalmente. Era pra nao ter funcionado, correto?
Alguém pode por favor me ajudar?
Sou novo nesse negócio de MQL, ainda estou aprendendo e conhecendo como funciona!
Obrigado a todos!
Show Daniel.
Na hora que você respondeu eu achei esse código que também achei interessante:
Me falta agora um entendimento de onde aplicar dentro do meu código.
Ao meu entender devo inserir a partir do "int OnInit()" certo?
Porém o meu código há a inicialização com void OnInit () .
É "a mesma" coisa?
Abs.
Seria interessante fazer a verificação por usuário e senha em lugar de verificar a conta, para que não tenha que atualizar o programa sempre que liberar um novo acesso. Assim em lugar de atualizar o programa pode apenas verificar em uma lista os usuários disponíveis para novas ativações.
Bom dia ,
Neste mesmo tópico gostaria de fazer uma liberação via site, alguém sabe se tem como fazer isto, sempre que o robô abrir um novo dia ele verifica se está valido, para fazer um robô por aluguel.
Atenciosamente,
Rodrigo Monteiro
É possível sim, mas a pessoa vai ter que incluir a liberação do site nas opções dela e dai tu usar WebRequest() ou então tu joga isso numa dll já que pra ir pra loja aqui não pode ter nenhum controle adicional.
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
Olá,
Gostaria de proteger um código para ser utilizado apenas com uma conta (de números) específica.
É possível?
Grato