Salut les gars
Quel est le code pour protéger l'EA par un mot de passe ?
et est-il possible de faire fonctionner notre EA sur le serveur interbank fx ?
toute aide à ce sujet est appréciée
au revoir
shwethaBonjour Shwetha,
Très facile mon ami !
....
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);
....
}Puis compiler l'EA et ENJOY
Salut Shwetha,
très facile mon ami !
....
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);
....
}Au fait, pourquoi voulez-vous protéger votre EA ? Ne sommes-nous pas en train de partager nos connaissances ici ?
montrant des erreurs
salut mohammed
Merci pour votre réponse, mais lorsque j'ai compilé, les erreurs suivantes se sont produites
'{' - expression sur la portée globale non autorisée
'\end_of_program' - parenthèse finale '}' attendue
J'attends votre réponse
bye
shwetha
salut mohammed
Merci pour votre réponse, mais lorsque j'ai compilé, les erreurs suivantes se sont produites
'{' - expression sur la portée globale non autorisée
'\end_of_program' - parenthèse finale '}' attendue
J'attends votre réponse
au revoir
shwethashwetha,
C'était seulement une idée de la façon dont le code doit être écrit.
Eh bien, le code devrait être comme ça (Appliqué à l'EA éducatif 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);
}
//+------------------------------------------------------------------+Pourquoi ?
Vous ne m'avez pas encore répondu ; pourquoi voulez-vous protéger l'EA ? Ne sommes-nous pas ici pour partager les connaissances et nous aider les uns les autres ? (Rappelez-vous que j'ai utilisé une EA gratuite de Coders Guru pour vous montrer mon code gratuit) ? ??
est aussi possible de tester l'EA avec Metatrader Build Version :
EA fonctionne uniquement sur MetaTrader Build Version 190 !
si MT Build != 190 alors effacez EA !
--
Ou si vous êtes un IB et que vous offrez un système pour les nouveaux comptes, vous pouvez lier le système à votre compte IB. Le nouveau trader sera en mesure d'utiliser le système sur son compte avec vous uniquement. Cela vous protège de son utilisation sur des comptes qui ne vous rapporteront aucune commission.
Je demande aussi pourquoi PassWord ? Cela fera une différence dans la façon de protéger le code.
Le CockeyedCowboy
le mien build 191
ma version de meta trader est 4 build191
Eh bien, il y a des centaines de méthodes pour protéger votre EA :
1- Vous pouvez utiliser le code que j'ai soumis (mot de passe codé en dur).
2- Vous pouvez faire un algorithme pour collecter quelque chose et le comparer au mot de passe. (Par exemple : la marge du compte x la date d'achat / 100).
3- Vous pouvez créer une dll et l'envoyer avec l'EA et la dll gérera le mot de passe (elle peut se connecter à votre site web et obtenir le mot de passe).
4- Vous pouvez lier l'EA avec le numéro de compte de l'utilisateur. Vous lui demandez par email de vous donner le numéro de compte puis vous le mettez dans l'EA et le compilez puis envoyez la version compilée à l'utilisateur.
5- Vous pouvez faire en sorte que l'EA ne fonctionne qu'avec une version spécifique de MT.
6- Vous pouvez limiter le nombre d'exécution de l'EA.
7- Vous pouvez limiter le nombre de jours d'utilisation de l'EA.
8- Vous pouvez partager l'EA gratuitement et demander à l'utilisateur s'il l'aime de vous faire un don. REOMMENDED
Bonjour
Vous ne m'avez pas encore répondu ; pourquoi voulez-vous protéger votre EA ? Ne sommes-nous pas ici pour partager nos connaissances et nous aider les uns les autres ? (Rappelez-vous que j'ai utilisé un EA gratuit de Coders Guru pour vous montrer mon code gratuit) ? ???
salut mohammed
j'ai besoin d'une protection par mot de passe, au cas où je voudrais charger mon EA avec le serveur du courtier. ce n'est pas que je ne veuille pas partager avec le forum. j'espère maintenant que c'est clair.
bye
merci
shwetha
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Vous acceptez la politique du site Web et les conditions d'utilisation
Salut les gars
Quel est le code pour protéger l'EA par un mot de passe?
et est-il possible de faire fonctionner notre EA sur le serveur interbank fx ?
toute aide à ce sujet est appréciée
bye
shwetha