Pergunte! - página 74

 
WNW:
Quero realizar meus EAs a partir de um VPS.

Para fins de segurança, eu quero codificar meu número de conta de corretagem e carregar a versão compilada.

Alguém pode, por favor, descrever o código a ser adicionado?

Obrigado.

O código está aqui (na primeira página deste tópico https://www.mql5.com/en/forum/174194 ).

Além disso, existe a EA na seção elite com a proteção de conta codificada.

1. MA_ExpertProfit.mq4: é a mesma EA mas fechará as encomendas apenas em s/l ou t/p.

2. MA_ExpertProfit_all.mq4: fechará a ordem em s/l ou t/p, ou no outro sinal de cruzamento. Esta EA deve funcionar somente com base em uma conta específica. Basta alterar a linha "int Account = 111111;" para o número de sua conta dentro do código. Por exemplo, sua conta é 1235463. Portanto, esta linha deve ser assim:

int Account = 1235463;

3. MA_ExpertProfit_noacc.mq4: é o mesmo com o item # 2. Mas sem qualquer conta e pode funcionar em qualquer conta (ou seja, conta em Metatrader).

Se você não é membro da elite, posso postar os códigos aqui, mas é um assunto muito conhecido e descrito aqui em público: https://www.mql5.com/en/forum/174194

Mais difícil é criar o número da licença, definir o corretor,

UserVerification(Confirmed)

e assim por diante.

Como eu sei que alguns codificadores são muito profissionais com estas questões de prioteção, então você pode vê-los a partir deste tópico https://www.mql5.com/en/forum/174194

 

Número mágico

int j,totalbuy;

totalbuy=OrdersTotal();

for(j=0;j<totalbuy;j++)

OrderSelect(j, SELECT_BY_POS, MODE_TRADES);

if(OrderType()==OP_BUY && OrderSymbol()==Symbol())

OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet);

return(0);

}

Como se faz referência ao número mágico no fechamento acima. Da mesma forma, em uma ordem de compra?? Obrigado antecipadamente por responder!

Dave

<<<

 
int j,totalbuy;

totalbuy=OrdersTotal();

for(j=0;j<totalbuy;j++)

OrderSelect(j, SELECT_BY_POS, MODE_TRADES);

if(OrderType()==OP_BUY && OrderSymbol()==Symbol() && OrderMagicNumber() == Magic)

OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet);

return(0);

}
 

Obrigado por responder!!

Dave

 

Pergunta sobre fluxo lógico

Como faço para saltar entre as declarações lógicas, se me for necessário voltar a uma determinada declaração lógica anterior até que uma condição seja satisfeita, e se ela for satisfeita, então terei que ramificar para outra declaração lógica ainda anterior?

Eu sei que, de maneira simples e básica, eu usaria uma declaração de goto.

Dave<<<<
 

Mudança de cor em ObjectCreate Statement

Estou tentando mudar a cor de exibição de lucro de Lime para Vermelho com base no lucro dos bilhetes. Encontrei as palavras reservadas Lime e Red e não consigo descobrir como fazer com que estas cores sejam alteradas na declaração ObjectSetText.

string Lime;

string Red;

string PlusMinusColor = "";[/PHP]

if (BuyProfit+SellProfit>=0) PlusMinusColor=Lime;

if (BuyProfit+SellProfit<0) PlusMinusColor=Red;[/PHP]

[PHP]

Profit1=BuyProfit+SellProfit;
[PHP] ObjectSetText("Profit1", DoubleToStr(Profit1,2), 16, "Arial",PlusMinusColor );

Alguém pode me ajudar nisto?

Dave<<<

Obrigado por toda a ajuda - estou falando sério!

 

Mostrando lucro ou prejuízo em letras grandes no gráfico

Eu descobri!

 
double BP(j)=0,BP=0,SP=0;[/PHP]

[PHP]int j,TotalOrders;

TotalOrders=OrdersTotal();

for(j=0;j<TotalOrders;j++)

OrderSelect(j, SELECT_BY_POS, MODE_TRADES);

if(OrderType()==OP_BUY && OrderSymbol()==Symbol() && OrderMagicNumber() == OrderID && OrderCloseTime() == 0)

{

BP(j) = OrderProfit() + OrderSwap() + OrderCommission();//BuyProfit - GETTING ERRORS ABOUT BP(j)

}

else

if(OrderType()==OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber() == OrderID && OrderCloseTime() == 0)

{

SP(j)= OrderProfit() + OrderSwap() + OrderCommission();//SellProfit - GETTING ERRORS ABOUT SP(j).

}

BuyProfit=BuyProfit+BP(j); // GETTING ERRORS!

SellProfit=SellProfit+SP(j); // GETTING ERRORS!

return(0);

Eu tentei codificar isto, mas como se pode ver, não tenho muito bem.

Algum de vocês, codificadores finos, pode me ajudar a consertar esta????

Dave<<<
 
1Dave7:
double BP(j)=0,BP=0,SP=0;[/php][php]int j,TotalOrders;

TotalOrders=OrdersTotal();

for(j=0;j<TotalOrders;j++)

OrderSelect(j, SELECT_BY_POS, MODE_TRADES);

if(OrderType()==OP_BUY && OrderSymbol()==Symbol() && OrderMagicNumber() == OrderID && OrderCloseTime() == 0)

{

BP(j) = OrderProfit() + OrderSwap() + OrderCommission();//BuyProfit - GETTING ERRORS ABOUT BP(j)

}

else

if(OrderType()==OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber() == OrderID && OrderCloseTime() == 0)

{

SP(j)= OrderProfit() + OrderSwap() + OrderCommission();//SellProfit - GETTING ERRORS ABOUT SP(j).

}

BuyProfit=BuyProfit+BP(j); // GETTING ERRORS!

SellProfit=SellProfit+SP(j); // GETTING ERRORS!

return(0);

Eu tentei codificar isto, mas como se pode ver, não tenho muito bem.

Algum de vocês, codificadores finos, pode me ajudar a consertar esta????

Dave<<<

Se você queria que "BP" fosse uma matriz, então você tem que usar parênteses "[ ]" e não parênteses "( )" como em:

BP[j]

... não ...

BP(j)

... que se parece com uma chamada de função.

 

Problema de lucro.

Algo simples em que preciso de ajuda.

duplo ponto de entrada = 1.000;

int MiniLots = 1;

Moeda Fechada em .880

Eu tentei o seguinte para obter um valor de lucro sem sucesso:

Lucro=EntryPoint*MiniLots - ( Eu tentei menos Ask, Bid, Close[0]) *100;

Tudo o que recebo é Lucro=0,00 quando devo obter Lucro=12,00. Eu estou confuso?

Não ficaria surpreso se a resposta fosse porque o Mercado está Fechado??

O que você diz sobre qual é o meu problema com isto????

Dave<<<
Razão: