Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Да, теперь больше похоже на правду. Но, не мешало бы еще проверить результат выбора сделки. С выводом сообщений пользователю в случае неудачи. А также тикеты объявить вне цикла.
Ну типа так, а в случае неудачи профит будет нулевой
if(id!=0)
{
if(HistorySelectByPosition(id))
{
ulong deal_ticket=0;
ulong order_ticket=0;
int deals=HistoryDealsTotal();
for(int i=0;i<deals;i++)
{
deal_ticket=HistoryDealGetTicket(i);
if(deal_ticket>0)
{
order_ticket=(ulong)HistoryDealGetInteger(deal_ticket,DEAL_ORDER);
if(order_ticket>0)
{
if(HistoryDealGetInteger(deal_ticket,DEAL_ENTRY)==DEAL_ENTRY_OUT)
{
profit+=HistoryDealGetDouble(deal_ticket,DEAL_PROFIT);
}
}
}
}
}
}
Ну типа так, а в случае неудачи профит будет нулевой
В случае неудачи, Вы не узнаете в чем причина. Но решать Вам.
Алексей, большое Вам спасибо за помощь. На этом этапе мне было важно правильность самой функции.
Что касается ошибок в случаях неудач, то я естественно их пропишу.
Алексей, большое Вам спасибо за помощь. На этом этапе мне было важно правильность самой функции.
Что касается ошибок в случаях неудач, то я естественно их пропишу.
Не за что. Самое простое, что Вы можете сделать, это написать скрипт, который бы распарсил Вашу торговлю. И убедиться в правильности самостоятельно.