Protection par mot de passe de l'EA

 

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

 
shwetha:
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

shwetha

Bonjour Shwetha,

Très facile mon ami !

extern string password = "000000";

....

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

 
Mohammed:
Salut Shwetha,

très facile mon ami !

extern string password = "000000";

....

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);

....

}
Alors compile l'EA et profite de

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

 
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

shwetha

shwetha,

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

Mohammed:
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

Raison: