romanzif
Местный
Команда форума
Администратор
- Монет
- 124,113
Данная функция может пригодиться, для вывода на график прибыли или убытка в инфо-панель советника.
Например как у меня сделано в советнике ТруФибо:
Например я вывожу прибыль за сегодня, за 7 дней и за всё время.
Функция выбирает историю ордеров по текущему графику и Magic номеру.
Пример вызова:
Например как у меня сделано в советнике ТруФибо:
Например я вывожу прибыль за сегодня, за 7 дней и за всё время.
Функция выбирает историю ордеров по текущему графику и Magic номеру.
Код:
//+------------------------------------------------------------------+
double Earn(datetime startDate = 0)
{
double result = 0;
for (int i = 0; i < OrdersHistoryTotal(); i++)
{
if (OrderSelect(i,SELECT_BY_POS, MODE_HISTORY))
{
if(OrderMagicNumber()==Magic && OrderSymbol()==Symbol())
{
if (startDate < OrderCloseTime())
result += OrderProfit() + OrderSwap() + OrderCommission();
}
}
}
return(NormalizeDouble(result, 2));
}
//+------------------------------------------------------------------+
Пример вызова:
Код:
datetime d0 = StrToTime(TimeToStr(TimeCurrent(),TIME_DATE)); // сегодня
while(TimeDayOfWeek(d0)<1 || TimeDayOfWeek(d0)>5) d0-=24*60*60;
datetime d7 = StrToTime(TimeToStr(TimeCurrent(),TIME_DATE)) - (24*60*60)*7; // 7 дней
ObjectSetString(chart, earntoday, OBJPROP_TEXT, "Прибыль сегодня: " + DoubleToString(Earn(d0),2) + "$");
ObjectSetString(chart, earnweek, OBJPROP_TEXT, "Прибыль за 7 дней: " + DoubleToString(Earn(d7),2) + "$");
ObjectSetString(chart, earntotal, OBJPROP_TEXT, "Прибыль общая: " + DoubleToString(Earn(),2) + "$");