Pergunte! - página 73

 

No código a seguir, é para apagar minhas 2 ordens pendentes:

OrderDelete(ticket1);

OrderDelete(ticket2);

Alguém pode simplesmente escrever como fechar posições abertas tão simples quanto isto?

Obrigado,

---Julia---

 

Olá comerciantes,

qual é a forma de código para escrever "acionado", ou seja, como,

se buy_stop "triggered", então sell_stop apagado... algo assim

---JULIA---

 

Ei, comerciantes,

Tenho este Ea, quase pronto, graças aos meus maravilhosos comerciantes forex-tsd, e quando eu o executo, ele só negocia 1 vez, existe um código que manterá o ea funcionando mais de 1 vez, de preferência como tempos ilimitados?

Obrigado,

---Julia---

 

parece que sua linha começa a cheirar a de um Dan.

 

Por que isso não está na Seção EA

Trata-se de EA's e deveria estar na seção EA.

Obrigado ND pela mudança

 

Detectar o último resultado

Olá,

Eu crio uma EA... eu quero detectar minha última ordem fechada lucrativa/perdida, isto é possível para realizar ?

Obrigado

Vic

 
veematics:
Olá,

Eu crio uma EA... eu quero detectar minha última ordem fechada lucrativa/perdida, isto é possível para realizar ?

Obrigado

Vic

Veja aqui: https://www.mql5.com/en/forum/177667

Edição: Desculpe, isto não responde à sua pergunta.

Sim, é possível, aqui está um exemplo de código:

datetime LastProfit=0, LastLoss=0;

for(int i = HistoryTotal() - 1; i >= 0 ; i --)

{

if(!OrderSelect(i, SELECT_BY_POS)) continue;

if(OrderSymbol() != Symbol()) continue;

if(OrderMagicNumber() != Magic) continue;

if(OrderCloseTime() > LastProfit && OrderProfit() >= 0)

{

LastProfit = OrderCloseTime();

LastProfitTicket = OrderTicket();

}

if(OrderCloseTime() > LastLoss && OrderProfit() < 0)

{

LastLoss = OrderCloseTime();

LastLossTicket = OrderTicket();

}

}

// Now do what you want with both tickets

 
Benjimang:
Olá a todos!

Eu usei o Expert Advisor Builder da sufx.com para criar uma EA. Ele tem duas limitações das quais estou tentando me livrar:

1. só abre 1 comércio de cada vez. Posso conseguir que ele tenha duas negociações abertas ao mesmo tempo, mas não consigo que ele abra uma ordem de compra e uma ordem de venda simultaneamente.

2. Parece ter preferência por ordens de venda em detrimento de ordens de compra. Isto não seria realmente um problema se o problema número 1 fosse resolvido.

Aqui está o pedaço de código que parece estar me atrasando:

//Check position

bool IsTrade = False;

for (int i = 0; i < Total; i ++) {

OrderSelect(i, SELECT_BY_POS, MODE_TRADES);

if (OrderType() <= OP_SELL && OrderSymbol() == Symbol()) {

IsTrade = True;

if (OrderType() == OP_BUY) {

//Close

Alguma sugestão? Gostaria de deixá-lo abrir o maior número possível de negociações e poder abrir ordens de compra e venda simultaneamente, se os indicadores assim o indicarem.

Um abraço pela ajuda,

Benjimang

POR FAVOR, ALGUÉM sabe o que fazer com o código acima? Eu identifiquei aqui o código correto? Certamente alguém deve saber alguma coisa...?

 
Benjimang:
POR FAVOR, ALGUÉM sabe o que fazer com o código acima? Eu identifiquei o código correto aqui? Certamente alguém deve saber alguma coisa...?

Isto é errado, tanto os pedidos de compra como os de venda são mistos:

if (OrderType() <= OP_SELL && OrderSymbol() == Symbol()) {

IsTrade = True;[/PHP]

You should have something like this :

[PHP]

bool IsSellTrade = false;

bool IsBuyTrade = false;

for(...

...

if (OrderType() == OP_SELL) IsSellTrade = true;

if (OrderType() == OP_Buy) IsBuyTrade = true;

É claro que quando você testa para abrir uma negociação, você deve testar separadamente IsSellTrade e IsBuyTrade.

 

Segurança - Número de conta codificado

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.