Mover:
Как перебрать закрытые позиции в MQL5? Пробую через HistoryDealsTotal. И там какие-то не те позиции попадаются. Как перебрать именно те позиции, которые в МТ5 в истории?
Я пытался так?
Сначала разберитесь в терминологии, что такое позиция, что такое сделка… Сделки бывают вход в рынок, выход из рынка, переворот можно пока не осваивать…
А вообще направление правильное… Только профит состоит не только из профита как такового, но ещё надо учитывать комиссию и свопы…
Решил так:
double ProfitToday() { double profitTodayAbs = 0; double profitTodayPercent = 0; datetime beginDay = iTime(_Symbol, PERIOD_D1, 0); if(!HistorySelect(beginDay, TimeCurrent())) printf("Не удалось получить историю сделок за сегодня."); for(int i = 0; i < HistoryDealsTotal(); i++) { //Выбирает сделку для дальнейшей обработки ulong deal_ticket = HistoryDealGetTicket(i); // Проверяем, что это закрытая позиция if(HistoryDealGetInteger(deal_ticket, DEAL_ENTRY) == DEAL_ENTRY_OUT) { profitTodayAbs += HistoryDealGetDouble(deal_ticket, DEAL_PROFIT) + HistoryDealGetDouble(deal_ticket, DEAL_SWAP) + HistoryDealGetDouble(deal_ticket, DEAL_COMMISSION); } } //считаем прибыль в % if(balance != 0) profitTodayPercent = profitTodayAbs / (balance - profitTodayAbs) * 100; return(profitTodayPercent); }
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Как перебрать закрытые позиции в MQL5? Пробую через HistoryDealsTotal. И там какие-то не те позиции попадаются. Как перебрать именно те позиции, которые в МТ5 в истории?
Я пытался так?