hi guys
whats the code to have a password protection to EA
and is it possible to have our EA working in interbank fx server
any help reg this is appreciated
bye
shwethaHi shwetha,
very easy friend!
....
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);
....
}Then compile the EA and ENJOY
Hi shwetha,
very easy friend!
....
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);
....
}By the way, Why do you want to protect your EA? Aren't we share the knowledge here?
showing errors
hi mohammed
thank you for the reply.but when i compiled its showing the following errors
'{' - expression on global scope not allowed
'\end_of_program' - ending bracket '}' expected
waiting for your response
bye
shwetha
hi mohammed
thank you for the reply.but when i compiled its showing the following errors
'{' - expression on global scope not allowed
'\end_of_program' - ending bracket '}' expected
waiting for your response
bye
shwethashwetha,
It was only an idea of how the code has to be written.
Well, the code should be like that (Applied to the educational EA of 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);
}
//+------------------------------------------------------------------+Why?
You didn't reply me yet ; what do you want to protect the EA? Aren't we here to share the knowledge and help each others? (Remember that I used a free EA of Coders Guru to show you my free code) ???
is also possible Trial EA with Metatrader Build Version :
EA run only on MetaTrader Build Version 190 !
if MT Build != 190 then erase EA !
--
Or if your an IB and giving a system for new accounts, you can tie the system to your IB account. The new trader will be abile to use the system on his account with you only. Protecting you from him using it on accounts that will not generate any commissions to you.
I ask too why PassWord? It will make difference how to protect the code.
The CockeyedCowboy
mine build 191
my meta trader version is 4 build191
Well, there are hundreds of methods to protect you EA:
1- You can use the code I submitted (hard coded password).
2- You can make an algorism to collect something and compare it to the password. (For example: the account margin x date of purchase / 100).
3- You can create a dll and ship it with the EA and the dll will handle the password (it can connect to your web site and get the password).
4- You can tie the EA with the account number of the user. You ask him by email to give you the account number then you but it in the EA and compile it then send the compiled version to the user.
5- You can the EA works with a specified MT version only.
6- You can limit the numbers of running of the EA.
7- You can limit the days of using the EA.
8- You can share the EA for free and ask the user if he like it to donate you. REOMMENDED
hi
You didn't reply me yet ; what do you want to protect the EA? Aren't we here to share the knowledge and help each others? (Remember that I used a free EA of Coders Guru to show you my free code) ???
hi mohammed
i require password protection, in case i want to load my EA with the broker's server. not that i dont want to share with the forum. i hope now it is clear.
bye
thanks
shwetha
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use
hi guys
whats the code to have a password protection to EA
and is it possible to have our EA working in interbank fx server
any help reg this is appreciated
bye
shwetha