Resposta

Referência conjunta de negociações fechadas longas e curtas

6 respostas

glennc

Assinante, bbp_participante, comunidade, 3 respostas.

Perfil da visita

6 anos atrás #203095

Olá, obrigado por esse excelente programa.

 

Quero obter o lucro total do último número x de negociações, combinadas longas e curtas.

Se eu separar as posições compradas e vendidas com números mágicos, isso não me dará os totais das últimas x negociações compradas e das últimas x negociações vendidas, o que não é o mesmo que as últimas x negociações combinadas?

Se eu usar zero como número mágico, isso não incluirá as negociações de outros EAs do mesmo par de moedas em execução na plataforma?

Como faço para resolver isso? Tenho outros problemas relacionados a esse tipo de questão, este é um exemplo do problema.

0

tomas262

Administrador, sq-ultimate, 2 respostas.

Perfil da visita

6 anos atrás #203217

Olá,

No EA Wizard, você pode usar Sum Of Closed PL (Soma de PL fechadas) para verificar se há apenas posições compradas ou vendidas com a mesma mágica para todas as posições compradas ou vendidas. Se você usar magic = 0, as ordens serão contadas em todos os pares negociados, e não apenas naquele em que você colocou o EA

0

glennc

Assinante, bbp_participante, comunidade, 3 respostas.

Perfil da visita

6 anos atrás #203230

Olá, Thomas,

Obrigado por sua resposta.

Então, para confirmar: Eu simplesmente não consigo obter lucros/perdas em um determinado número de negociações, independentemente da direção da negociação?

Essa parece ser uma limitação infeliz. Como mencionei acima, essa pergunta é um exemplo de um problema maior. Se magic = 0 não pode se restringir apenas ao EA em questão, então certamente precisamos de uma função que permita

magicLong AND magicShort ou magicLong OR magicShort?

0

tomas262

Administrador, sq-ultimate, 2 respostas.

Perfil da visita

6 anos atrás #203403

Para obter lucros totais de # de negociações históricas, você pode executar esta função (coloque no final do EAWizard \ code \ CustomFunction.mq4)

int sqGetTotalPL(int numberOfLastOrders) {
double pl = 0;
int count = 0;
int lucros = 0;

for(int i=OrdersHistoryTotal(); i>=0; i-) {
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==verdadeiro && OrderSymbol() == Symbol()) {

contar++;

if(OrderType() == OP_BUY) {
pl = (OrderClosePrice() - OrderOpenPrice());
{} else {
pl = (OrderOpenPrice() - OrderClosePrice());
}

se (pl > 0) {
lucros++;
}

Se (count >= numberOfLastOrders) break;
}
}

retorno(lucros);
}

Em seguida, você pode fazer referência a ele usando a funcionalidade Função personalizada no Assistente de EA usando a chamada "sqGetTotalPL(3)" para obter o P/L das últimas 3 negociações em um símbolo selecionado

0

glennc

Assinante, bbp_participante, comunidade, 3 respostas.

Perfil da visita

6 anos atrás #203693

Oi, Tomás,

 

Muito obrigado por isso - agradeço o tempo que deve levar. Ao ler o código (tendo em mente que não consigo ler código), isso me dará um resultado apenas para o EA no qual ele está incluído, e não todos os resultados para o par (OrderSymbol) no histórico do MT4? Estou tentando isolar o lucro/perda de várias negociações em um EA específico, mesmo que outros EAs estejam sendo executados no mesmo par na mesma plataforma.

 

Mais uma vez, obrigado por sua ajuda.

 

0

tomas262

Administrador, sq-ultimate, 2 respostas.

Perfil da visita

6 anos atrás #203816

Olá,

esta declaração no código OrderSymbol() == Symbol() garante que ele fornecerá resultados apenas para o símbolo no qual você executa seu EA, por exemplo, EURUSD

0

glennc

Assinante, bbp_participante, comunidade, 3 respostas.

Perfil da visita

6 anos atrás #217747

Obrigado, Tomas!

0

Visualizando 6 respostas - 1 até 6 (de um total de 6)