Proteção por senha à EA

 

Olá, pessoal

o que é o código para ter uma senha de proteção para a EA

e é possível ter nossa EA trabalhando em um servidor fx interbancário

qualquer ajuda regida por isto é apreciada

tchau

shwetha

 
shwetha:
Olá, pessoal

o que é o código para ter uma senha de proteção para a EA

e é possível ter nossa EA trabalhando em um servidor fx interbancário

qualquer ajuda regida por isto é apreciada

tchau

shwetha

Olá shwetha,

muito fácil amigo!

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

....

}

Em seguida, compilar a EA e ENJOY

 
Mohammed:
Olá, shwetha,

muito fácil amigo!

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

....

}
Em seguida, compilar a EA e ENJOY

A propósito, por que você quer proteger sua EA? Não estamos compartilhando o conhecimento aqui?

 

mostrando erros

oi mohammed

Obrigado pela resposta, mas quando eu compilei a resposta, ela mostrou os seguintes erros

{' - expressão em âmbito global não permitida

Fim_do_programa' - parêntese final '} esperado

à espera de sua resposta

tchau

shwetha

 
shwetha:
oi mohammed

Obrigado pela resposta, mas quando eu compilei a resposta, ela mostrou os seguintes erros

{' - expressão em âmbito global não permitida

Fim_do_programa' - parêntese final '} esperado

à espera de sua resposta

tchau

shwetha

shwetha,

Era apenas uma idéia de como o código tem que ser escrito.

Bem, o código deveria ser assim (Aplicado à EA educacional 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);

}

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

Por quê?

Você ainda não me respondeu ; o que você quer para proteger a EA? Não estamos aqui para compartilhar o conhecimento e ajudar uns aos outros? (Lembre-se que eu usei um EA livre de Coders Guru para lhe mostrar meu código livre) ???

 

também é possível fazer o teste EA com Metatrader Build Version :

EA rodar somente na versão 190 do MetaTrader Build !

se MT Build != 190 então apague a EA !

--

 

Ou se você tiver um IB e der um sistema para novas contas, você pode vincular o sistema à sua conta de IB. O novo negociador será responsável por utilizar o sistema em sua conta somente com você. Protegendo-o contra o uso dele em contas que não gerarão nenhuma comissão para você.

Eu também pergunto por que PassWord? Fará diferença como proteger o código.

O CockeyedCowboy

 

construção de mina 191

minha versão meta trader é 4 build191

 

Bem, há centenas de métodos para protegê-lo EA:

1- Você pode usar o código que eu enviei (senha codificada).

2- Você pode fazer um algoritmo para coletar algo e compará-lo com a senha. (Por exemplo: a margem da conta x data de compra / 100).

3- Você pode criar uma dll e enviá-la com a EA e a dll irá lidar com a senha (ela pode se conectar ao seu site e obter a senha).

4- Você pode amarrar a EA com o número de conta do usuário. Você pede a ele por e-mail para lhe dar o número da conta e depois você, mas ele na EA e compilá-lo e depois enviar a versão compilada para o usuário.

5- Você pode trabalhar somente com uma versão MT especificada.

6- Você pode limitar os números de execução da EA.

7- Você pode limitar os dias de uso do EA.

8- Você pode compartilhar o EA gratuitamente e perguntar ao usuário se ele gosta que ele faça uma doação. REOMENDADADO

 

oi

Mohammed:
Você ainda não me respondeu ; o que você quer para proteger a EA? Não estamos aqui para compartilhar o conhecimento e ajudar uns aos outros? (Lembre-se que eu usei um EA livre de Coders Guru para lhe mostrar meu código livre) ???

oi mohammed

eu preciso de proteção por senha, caso eu queira carregar minha EA com o servidor do corretor. não que eu não queira compartilhar com o fórum. espero que agora esteja claro.

tchau

obrigado

shwetha

Razão: