Petr Zharuk:
А как происходит закрытие убыточной позиции?
Доброго времени суток, коллеги!
Код ниже не считает мне убыточные сделки. Хотя они есть. Только профит. Прошу поделится мыслями.
Petr Zharuk #:
Вы правы. Проверил, магик пустой в закрытых руками сделках.
Есть мысли как такие сделки мониторить?
Ну… если открытие с магиком, то сначала проверить магик на DEAL_ENTRY_IN и потом выбрав сделки по ID позиции читать профит в сделке DEAL_ENTRY_OUT.
Или наоборот, получив магик ==0 выбрать сделки по ID позиции и прочесть магик в сделке DEAL_ENTRY_IN
Или вообще отключить проверку магика.

Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Доброго времени суток, коллеги!
Код ниже не считает мне убыточные сделки. Хотя они есть. Только профит. Прошу поделится мыслями.
void closePart()
{
double profit = 0;
double losses = 0;
int loss = 0;
int wins = 0;
int deals = 0;
datetime end = TimeCurrent();
datetime start = end - 3 * PeriodSeconds(PERIOD_D1);
HistorySelect(start, end);
int totalDeals = HistoryDealsTotal();
if(totalDeals > 0)
{
for(int i = 0; i < totalDeals; i++)
{
ulong ticket = HistoryDealGetTicket(i);
if(ticket > 0)
{
if(HistoryDealGetInteger(ticket, DEAL_MAGIC) == magicn)
{
if(HistoryDealGetInteger(ticket, DEAL_ENTRY) == DEAL_ENTRY_OUT)
{
deals++;
double result = HistoryDealGetDouble(ticket, DEAL_PROFIT);
if(result > 0)
profit += result;
if(result > 0)
wins++;
if(result < 0)
losses += result;
if(result < 0)
loss++;
}
}
}
}
Comment("Deals ",deals,"\n","Profit ",profit,"\n","Losses ",losses,"\n","Wins ",wins,"\n","Loss ",loss);
}
}
Получаю вот такое: