Olhando rapidamente, parece não ter erro, mas se vc faz reversão não funcionará.
Onde está:
if(dealEtry==DEAL_ENTRY_OUT && magic==magic_number)
Teria que ser :
if((dealEtry==DEAL_ENTRY_OUT || dealEtry == DEAL_ENTRY_INOUT) && magic==magic_number)
configurou o magic number lá no OnInit?
PequenoMinor:
Olhando rapidamente, parece não ter erro, mas se vc faz reversão não funcionará.
Onde está:
Teria que ser :
Não faço reversão...
Eduardo Oliveira:
configurou o magic number lá no OnInit?
configurou o magic number lá no OnInit?
Adicionei a linha:
m_trade.SetExpertMagicNumber(magic_number);
ao OnInit e aparentemente resolveu, obrigado...
Digo aparentemente por uma pequena diferença de 16,00 entre as operações diárias que somei 5 vezes na calculadora e o valor que a função está retornando...
. . .
Segue outro exemplo:
//+------------------------------------------------------------------+ //| Calcula o lucro / prejuízo do dia atual | //+------------------------------------------------------------------+ double CurrentDayProfit() { datetime time_start = (datetime) (86400*(((ulong)TimeCurrent())/86400)); double result = 0.0; ulong ticket; int cnt; if(HistorySelect(time_start, TimeCurrent())) { for(cnt = HistoryDealsTotal() - 1; cnt >= 0; cnt--) { ticket = HistoryDealGetTicket(cnt); if(HistoryDealGetInteger(ticket, DEAL_MAGIC) == magic_number) { result += HistoryDealGetDouble(ticket, DEAL_PROFIT); } } } else { Print("Erro ao recuperar o histórico de operações..."); } return(result); }
Vinicius de Oliveira:
. . .
Segue outro exemplo:
Obrigado, Vinícius, testei e funciona perfeitamente.
Francisco Carlos Sobral Ribeiro:
Obrigado, Vinícius, testei e funciona perfeitamente.
Beleza, Carlos!! 👍
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Boa tarde,
Caso tenha alguma alma boa por aí, alguém me ajude, por favor...
Já estou há dias tentando entender porque essa função funciona em um dos meus EA's e não funciona em outro...
Preciso que a função me retorne o valor do profit diário, porém só me retorna a soma dos profts negativos, tudo que é positivo ela pula.
A função desse link, dá o mesmo valor da minha função: https://www.mql5.com/pt/docs/trading/historyselect
Mas o caso é que estou com proft positivo e bem positivo, mas a função, seja qualquer função que eu coloco no EA para calcular o profit, ela só captura os profits negativos.
Segue a função: