Protezione con password per EA

 

ciao ragazzi

qual è il codice per avere una password di protezione per EA

ed è possibile avere il nostro EA che lavora nel server fx interbancario

qualsiasi aiuto reg questo è apprezzato

ciao

shwetha

 
shwetha:
Ciao ragazzi

qual è il codice per avere una password di protezione per EA

ed è possibile avere il nostro EA che lavora nel server fx interbancario

qualsiasi aiuto reg questo è apprezzato

ciao

shwetha

Ciao shwetha

molto facile amico!

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

....

}

Poi compila l'EA e GODITI

 
Mohammed:
Ciao shwetha,

molto facile amico!

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

....

}
Allora compila l'EA e goditi

A proposito, perché vuoi proteggere il tuo EA? Non condividiamo la conoscenza qui?

 

mostrando errori

ciao mohammed

grazie per la risposta, ma quando ho compilato, mostra i seguenti errori

'{' - espressione sull'ambito globale non consentita

'\fine_di_programma' - attesa la parentesi finale '}'.

aspettando la tua risposta

ciao

shwetha

 
shwetha:
ciao mohammed

grazie per la risposta, ma quando ho compilato, mostra i seguenti errori

'{' - espressione sull'ambito globale non consentita

'\fine_di_programma' - attesa la parentesi finale '}'.

aspettando la tua risposta

ciao

shwetha

shwetha,

Era solo un'idea di come il codice deve essere scritto.

Bene, il codice dovrebbe essere così (Applicato all'EA educativo di 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);

}

//+------------------------------------------------------------------+
 

Perché?

Non mi hai ancora risposto ; cosa vuoi per proteggere l'EA? Non siamo qui per condividere la conoscenza e aiutarci a vicenda? (Ricorda che ho usato un EA gratuito di Coders Guru per mostrarti il mio codice gratuito) ???

 

è anche possibile Trial EA con Metatrader Build Version:

EA funziona solo su MetaTrader Build Version 190!

se MT Build != 190 allora cancella EA !

--

 

O se sei un IB e dai un sistema per i nuovi conti, puoi legare il sistema al tuo conto IB. Il nuovo trader sarà in grado di utilizzare il sistema sul suo conto solo con te. Proteggendoti dal suo utilizzo su conti che non genereranno alcuna commissione per te.

Chiedo anche perché PassWord? Farà differenza come proteggere il codice.

Il CockeyedCowboy

 

la mia build 191

la mia versione di meta trader è 4 build191

 

Beh, ci sono centinaia di metodi per proteggere il tuo EA:

1- Puoi usare il codice che ho presentato (password hard coded).

2- Si può fare un algoritmo per raccogliere qualcosa e confrontarlo con la password. (Per esempio: il margine del conto x la data di acquisto / 100).

3- Puoi creare una dll e spedirla con l'EA e la dll gestirà la password (può connettersi al tuo sito web e ottenere la password).

4- Puoi legare l'EA con il numero di conto dell'utente. Gli chiedi via email di darti il numero di conto, poi lo inserisci nell'EA e lo compili, poi mandi la versione compilata all'utente.

5- Puoi far funzionare l'EA solo con una determinata versione di MT.

6- Puoi limitare i numeri di esecuzione dell'EA.

7- Puoi limitare i giorni di utilizzo dell'EA.

8- Puoi condividere l'EA gratuitamente e chiedere all'utente se gli piace di donarlo. RIMANDATO

 

ciao

Mohammed:
Non mi hai ancora risposto ; cosa vuoi per proteggere l'EA? Non siamo qui per condividere la conoscenza e aiutarci a vicenda? (Ricorda che ho usato un EA gratuito di Coders Guru per mostrarti il mio codice gratuito) ???

ciao mohammed

ho bisogno di protezione con password, nel caso in cui voglio caricare il mio EA con il server del broker. non che io non voglia condividere con il forum. spero che ora sia chiaro.

ciao

grazie

shwetha