Подскажите в чем ошибка. Нашел в истории номер тикета, и хочу посчитать прибыль от этого номера. Но он пишет профит 0. Вывел в принт тикеты, по которым он проходит. А этого номера там нет. Как так, если в истории сделок он есть.
double CalculateProfitHistory1()
{
double Res = 0;
int ototal = HistoryDealsTotal();
ulong Losttick = 3072553716;
{
if ( HistorySelect(0, INT_MAX ))
for(int i = 0; i < HistoryDealsTotal(); i++)
{
ulong deal_ticket = HistoryDealGetTicket(i);
if(HistoryDealGetInteger(deal_ticket, DEAL_ENTRY) == DEAL_ENTRY_OUT)
{
if (HistoryDealGetString(deal_ticket, DEAL_SYMBOL) == Symbol())
{
if(( HistoryDealGetInteger(deal_ticket, DEAL_MAGIC) == Magic))
{
if (Losttick <= deal_ticket)
{
Res += HistoryDealGetDouble(deal_ticket, DEAL_PROFIT) + HistoryDealGetDouble(deal_ticket, DEAL_COMMISSION) + HistoryDealGetDouble(deal_ticket, DEAL_SWAP);
Print(deal_ticket);
}
}
}
}
}
}
return(Res);
}
Подскажите в чем ошибка. Нашел в истории номер тикета, и хочу посчитать прибыль от этого номера. Но он пишет профит 0. Вывел в принт тикеты, по которым он проходит. А этого номера там нет. Как так, если в истории сделок он есть.
А вы уверены, что эта сделка закрытие позиции?
Когда выбрали сделку по тикету, надо выбрать все сделки которые участвовали в открытии, изменении и закрытии позиции
boolHistorySelectByPosition(
long position_id // идентификатор позиции - POSITION_IDENTIFIER
);
И потом из полученного списка перебрать все сделки и просуммировать комиссии, своп и прибыль.
Подскажите в чем ошибка. Нашел в истории номер тикета, и хочу посчитать прибыль от этого номера. Но он пишет профит 0. Вывел в принт тикеты, по которым он проходит. А этого номера там нет. Как так, если в истории сделок он есть.
Цикл запустите от большего к меньшему - в другую сторону
Подскажите в чем ошибка. Нашел в истории номер тикета, и хочу посчитать прибыль от этого номера. Но он пишет профит 0. Вывел в принт тикеты, по которым он проходит. А этого номера там нет. Как так, если в истории сделок он есть.
Зачем вам в коде магик и символ, если вы ищите сделку по тиккету?
Вот скрипт, на скорую руку, но работает. Думаю его достаточно, чтоб понять принцип.
#property script_show_inputsinputulong inpTicket = 51811815818;
//+------------------------------------------------------------------+voidOnStart()
{
Print("Profit = ", GetProfitTicket(inpTicket));
}
//+------------------------------------------------------------------+double GetProfitTicket(ulong ticket)
{
double result = 0;
if(HistorySelect(0, TimeCurrent()))
{
int total = HistoryDealsTotal();
for(int i = total - 1; i >= 0; i--)
if(ticket == HistoryDealGetTicket(i))
{
result += HistoryDealGetDouble(ticket, DEAL_PROFIT);
result += HistoryDealGetDouble(ticket, DEAL_SWAP);
result += HistoryDealGetDouble(ticket, DEAL_COMMISSION);
long position_id = HistoryDealGetInteger(ticket, DEAL_POSITION_ID);
ulong ticket2 = -1;
for(int j = total - 1; j >= 0; j--)
{
ticket2 = HistoryDealGetTicket(j);
if(ticket2 != ticket && position_id == HistoryDealGetInteger(ticket2, DEAL_POSITION_ID))
{
result += HistoryDealGetDouble(ticket2, DEAL_PROFIT);
result += HistoryDealGetDouble(ticket2, DEAL_SWAP);
result += HistoryDealGetDouble(ticket2, DEAL_COMMISSION);
return result;
}
}
return result;
}
}
return result;
}
//+------------------------------------------------------------------+
по известному тикету сделки, взять все сделки относящиеся к позиции. Ведь достаточно и дальше уже взять ID позиции и выбрать список ордеров и сделок по этому ID
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Это не случайно, как я писал выше Фишер рисует, поэтому сигналы только в моменте.
А, это один из способов красивой рисовки?.. Оригинально
Всем добрый день.
Подскажите в чем ошибка. Нашел в истории номер тикета, и хочу посчитать прибыль от этого номера. Но он пишет профит 0. Вывел в принт тикеты, по которым он проходит. А этого номера там нет. Как так, если в истории сделок он есть.
Всем добрый день.
Подскажите в чем ошибка. Нашел в истории номер тикета, и хочу посчитать прибыль от этого номера. Но он пишет профит 0. Вывел в принт тикеты, по которым он проходит. А этого номера там нет. Как так, если в истории сделок он есть.
А вы уверены, что эта сделка закрытие позиции?
Когда выбрали сделку по тикету, надо выбрать все сделки которые участвовали в открытии, изменении и закрытии позиции
И потом из полученного списка перебрать все сделки и просуммировать комиссии, своп и прибыль.
Всем добрый день.
Подскажите в чем ошибка. Нашел в истории номер тикета, и хочу посчитать прибыль от этого номера. Но он пишет профит 0. Вывел в принт тикеты, по которым он проходит. А этого номера там нет. Как так, если в истории сделок он есть.
И как это поможет?
И как это поможет?
Всем добрый день.
Подскажите в чем ошибка. Нашел в истории номер тикета, и хочу посчитать прибыль от этого номера. Но он пишет профит 0. Вывел в принт тикеты, по которым он проходит. А этого номера там нет. Как так, если в истории сделок он есть.
Зачем вам в коде магик и символ, если вы ищите сделку по тиккету?
Вот скрипт, на скорую руку, но работает. Думаю его достаточно, чтоб понять принцип.
Зачем вам в коде магик и символ, если вы ищите сделку по тиккету?
Вот скрипт, на скорую руку, но работает. Думаю его достаточно, чтоб понять принцип.
Зачем же такой огород городить, если надо по известному тикету сделки, взять все сделки относящиеся к позиции. Ведь достаточно
и дальше уже взять ID позиции и выбрать список ордеров и сделок по этому ID
Зачем же такой огород городить
Ну бывает)))
по известному тикету сделки, взять все сделки относящиеся к позиции. Ведь достаточно и дальше уже взять ID позиции и выбрать список ордеров и сделок по этому ID
Логично !
Зачем же такой огород городить, если надо по известному тикету сделки, взять все сделки относящиеся к позиции. Ведь достаточно
и дальше уже взять ID позиции и выбрать список ордеров и сделок по этому ID
Огород получился не намного короче, но этот огород мне нравится больше предыдущего.
Или можно её короче сделать?