Olá, pessoal
o que é o código para ter uma senha de proteção para a EA
e é possível ter nossa EA trabalhando em um servidor fx interbancário
qualquer ajuda regida por isto é apreciada
tchau
shwethaOlá shwetha,
muito fácil amigo!
....
int start()
{
if (password != 123456) //change the 123456 to the password you will give to the user!
{
Alert ("Wrong password! Do you want to cheat my system which I spent my life developing!");
return (0);
....
}Em seguida, compilar a EA e ENJOY
Olá, shwetha,
muito fácil amigo!
....
int start()
{
if (password != 123456) //change the 123456 to the password you will give to the user!
{
Alert ("Wrong password! Do you want to cheat my system which I spent my life developing!");
return (0);
....
}![](https://c.mql5.com/forextsd/smiles/wink.png)
A propósito, por que você quer proteger sua EA? Não estamos compartilhando o conhecimento aqui?
oi mohammed
Obrigado pela resposta, mas quando eu compilei a resposta, ela mostrou os seguintes erros
{' - expressão em âmbito global não permitida
Fim_do_programa' - parêntese final '} esperado
à espera de sua resposta
tchau
shwethashwetha,
Era apenas uma idéia de como o código tem que ser escrito.
Bem, o código deveria ser assim (Aplicado à EA educacional de Coders Guru "My First EA" :
//| My_First_EA.mq4 |
//| Coders Guru |
//| https://www.forex-tsd.com |
//+------------------------------------------------------------------+
#property copyright "Coders Guru"
#property link "https://www.forex-tsd.com"
//---- input parameters
extern double TakeProfit=250.0;
extern double Lots=0.1;
extern double TrailingStop=35.0;
extern string password = "000000";
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
int Crossed (double line1 , double line2)
{
static int last_direction = 0;
static int current_dirction = 0;
if(line1>line2)current_dirction = 1; //up
if(line1<line2)current_dirction = 2; //down
if(current_dirction != last_direction) //changed
{
last_direction = current_dirction;
return (last_direction);
}
else
{
return (0);
}
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//----
if(StringFind(password, "123456", 0) == -1) //change the 123456 to the password you will give to the user!
{
Alert ("Wrong password! Do you want to cheat my system which I spent my life developing!");
return (0);
}
int cnt, ticket, total;
double shortEma, longEma;
if(Bars<100)
{
Print("bars less than 100");
return(0);
}
if(TakeProfit<10)
{
Print("TakeProfit less than 10");
return(0); // check TakeProfit
}
shortEma = iMA(NULL,0,8,0,MODE_EMA,PRICE_CLOSE,0);
longEma = iMA(NULL,0,13,0,MODE_EMA,PRICE_CLOSE,0);
int isCrossed = Crossed (shortEma,longEma);
total = OrdersTotal();
if(total < 1)
{
if(isCrossed == 1)
{
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Point,"My EA",12345,0,Green);
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY order opened : ",OrderOpenPrice());
}
else Print("Error opening BUY order : ",GetLastError());
return(0);
}
if(isCrossed == 2)
{
ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,Bid-TakeProfit*Point,"My EA",12345,0,Red);
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("SELL order opened : ",OrderOpenPrice());
}
else Print("Error opening SELL order : ",GetLastError());
return(0);
}
return(0);
}
for(cnt=0;cnt<total;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderType()<=OP_SELL && OrderSymbol()==Symbol())
{
if(OrderType()==OP_BUY) // long position is opened
{
// should it be closed?
if(isCrossed == 2)
{
OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); // close position
return(0); // exit
}
// check for trailing stop
if(TrailingStop>0){
if(Bid-OrderOpenPrice()>Point*TrailingStop)
{
if(OrderStopLoss()<Bid-Point*TrailingStop)
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Green);
return(0);
}
}
}
}
else // go to short position
{
// should it be closed?
if(isCrossed == 1)
{
OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); // close position
return(0); // exit
}
// check for trailing stop
if(TrailingStop>0){
if((OrderOpenPrice()-Ask)>(Point*TrailingStop))
{
if((OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderTakeProfit(),0,Red);
return(0);
}
}
}
}
}
}
return(0);
}
//+------------------------------------------------------------------+Por quê?
Você ainda não me respondeu ; o que você quer para proteger a EA? Não estamos aqui para compartilhar o conhecimento e ajudar uns aos outros? (Lembre-se que eu usei um EA livre de Coders Guru para lhe mostrar meu código livre)
???
também é possível fazer o teste EA com Metatrader Build Version :
EA rodar somente na versão 190 do MetaTrader Build !
se MT Build != 190 então apague a EA !
--
Ou se você tiver um IB e der um sistema para novas contas, você pode vincular o sistema à sua conta de IB. O novo negociador será responsável por utilizar o sistema em sua conta somente com você. Protegendo-o contra o uso dele em contas que não gerarão nenhuma comissão para você.
Eu também pergunto por que PassWord? Fará diferença como proteger o código.
O CockeyedCowboy
construção de mina 191
minha versão meta trader é 4 build191
Bem, há centenas de métodos para protegê-lo EA:
1- Você pode usar o código que eu enviei (senha codificada).
2- Você pode fazer um algoritmo para coletar algo e compará-lo com a senha. (Por exemplo: a margem da conta x data de compra / 100).
3- Você pode criar uma dll e enviá-la com a EA e a dll irá lidar com a senha (ela pode se conectar ao seu site e obter a senha).
4- Você pode amarrar a EA com o número de conta do usuário. Você pede a ele por e-mail para lhe dar o número da conta e depois você, mas ele na EA e compilá-lo e depois enviar a versão compilada para o usuário.
5- Você pode trabalhar somente com uma versão MT especificada.
6- Você pode limitar os números de execução da EA.
7- Você pode limitar os dias de uso do EA.
8- Você pode compartilhar o EA gratuitamente e perguntar ao usuário se ele gosta que ele faça uma doação. REOMENDADADO
oi
Você ainda não me respondeu
![](https://c.mql5.com/forextsd/smiles/face.png)
![](https://c.mql5.com/forextsd/smiles/face.png)
oi mohammed
eu preciso de proteção por senha, caso eu queira carregar minha EA com o servidor do corretor. não que eu não queira compartilhar com o fórum. espero que agora esteja claro.
tchau
obrigado
shwetha
![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- 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á, pessoal
o que é o código para ter uma senha de proteção para a EA
e é possível ter nossa EA trabalhando em um servidor fx interbancário
qualquer ajuda regida por isto é apreciada
tchau
shwetha