hola chicos
¿cuál es el código para tener una contraseña de protección a la EA
y es posible tener nuestro EA trabajando en el servidor de interbank fx
cualquier ayuda reg esto es apreciado
bye
shwethaHola shwetha,
¡muy 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);
....
}Entonces compila el EA y DISFRUTA
Hola shwetha,
¡muy 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);
....
}Por cierto, ¿por qué quieres proteger tu EA? ¿No compartimos el conocimiento aquí?
mostrando errores
hola mohammed
Gracias por la respuesta, pero cuando compilé me dio los siguientes errores
{' - expresión en el ámbito global no se permite
\N-fin_de_programa' - se espera el corchete final '}
esperando su respuesta
bye
shwetha
hola mohammed
Gracias por la respuesta, pero cuando compilo me muestra los siguientes errores
{' - expresión en el ámbito global no se permite
\N - corchete final '}' esperado
esperando su respuesta
bye
shwethashwetha,
Era sólo una idea de cómo tiene que estar escrito el código.
Bueno, el código debe ser así (Aplicado a la EA educativa de Coders Guru "Mi primer 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é?
Todavía no me has contestado ; ¿para qué quieres proteger el EA? ¿No estamos aquí para compartir el conocimiento y ayudarnos unos a otros? (Recuerda que utilicé un EA gratuito de Coders Guru para mostrarte mi código gratuito) ?
también es posible EA de prueba con Metatrader Build Version :
El EA se ejecuta sólo en la versión 190 de MetaTrader.
si MT Build != 190 entonces borre el EA !
--
O si eres un IB y das un sistema para nuevas cuentas, puedes vincular el sistema a tu cuenta de IB. El nuevo comerciante será capaz de utilizar el sistema en su cuenta con usted solamente. Protegiéndolo a usted de que lo use en cuentas que no le generarán ninguna comisión.
Yo también pregunto por qué PassWord? Se hará la diferencia de cómo proteger el código.
El CockeyedCowboy
mi build 191
mi versión de meta trader es 4 build191
Bueno, hay cientos de métodos para proteger tu EA:
1- Puedes usar el código que presenté (contraseña dura).
2- Puedes hacer un algoritmo que recoja algo y lo compare con la contraseña. (Por ejemplo: el margen de la cuenta x la fecha de compra / 100).
3- Puedes crear una dll y enviarla con el EA y la dll se encargará de la contraseña (puede conectarse a tu web y obtener la contraseña).
4- Puedes vincular el EA con el número de cuenta del usuario. Le pides por correo electrónico que te dé el número de cuenta y luego lo metes en el EA y lo compilas y luego envías la versión compilada al usuario.
5- Usted puede el EA trabaja con una versión de MT especificada solamente.
6- Puede limitar el número de ejecuciones del EA.
7- Puede limitar los días de uso del EA.
8- Puede compartir el EA de forma gratuita y pedir al usuario si le gusta que le done. REOMENDADO
hola
Todavía no me has contestado ; ¿para qué quieres proteger el EA? ¿No estamos aquí para compartir el conocimiento y ayudarnos unos a otros? (Recuerda que usé un EA gratuito de Coders Guru para mostrarte mi código gratuito) ?
hola mohammed
necesito protección con contraseña, en caso de que quiera cargar mi EA con el servidor del broker. no es que no quiera compartir con el foro. espero que ahora esté claro.
adiós
gracias
shwetha
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Usted acepta la política del sitio web y las condiciones de uso
hola chicos
¿cuál es el código para tener una contraseña de protección a la EA
y es posible tener nuestro EA trabajando en el servidor de interbank fx
cualquier ayuda reg esto es apreciado
bye
shwetha