Isso é bem simples. Basta iterar sobre as posições do período selecionado pela função HistorySelect, verificando a data e somando o resultado. Consulte a documentação.
Documentação sobre MQL5: Funções de Negociação
- www.mql5.com
Funções de Negociação - Referência MQL5 - Referência sobre algorítimo/automatização de negociação na linguagem para MetaTrader 5
rafaelmendoncasantos:
Preciso de uma função que me devolva o resultado acumulado do dia, pode ser em pontos ou em dinheiro. A cada trade ele vá somando os resultados independentemente se teve lucro ou prejuízo. Estou escrevendo um robô para operar mini índice e usarei essa função para encerrar a sua operação em caso de alcançar um X lucro ou um Y prejuízo diário.
Alguém pode me ajudar?
//+------------------------------------------------------------------+ //| Calcula o lucro / prejuízo do dia atual por símbolo | //+------------------------------------------------------------------+ double CurrentDayProfit() { // datetime time_start = (datetime) (86400*(((ulong)TimeCurrent())/86400)); datetime time_start = iTime(_Symbol, PERIOD_D1, 0); double result = 0.0; ulong ticket; int cnt; if(HistorySelect(time_start, TimeCurrent())) { for(cnt = HistoryDealsTotal() - 1; cnt >= 0; cnt--) { ticket = HistoryDealGetTicket(cnt); if(HistoryDealGetString(ticket, DEAL_SYMBOL) == _Symbol && HistoryDealGetInteger(ticket, DEAL_MAGIC) == EA_MAGIC) { result += HistoryDealGetDouble(ticket, DEAL_PROFIT); } } } else { Print(_Symbol, " - Erro ao recuperar o histórico de operações..."); } return(result); }
Eu testei a formula, mas só retorna o lucro, quando tem prejuízo retorna 0.
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
Preciso de uma função que me devolva o resultado acumulado do dia, pode ser em pontos ou em dinheiro. A cada trade ele vá somando os resultados independentemente se teve lucro ou prejuízo. Estou escrevendo um robô para operar mini índice e usarei essa função para encerrar a sua operação em caso de alcançar um X lucro ou um Y prejuízo diário.
Alguém pode me ajudar?