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);
....
}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 ; 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) ???
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
- 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