Библиотеки: Report - страница 8

 
Can be used to add MagicNumber or Comment column on the Report generated by MT4 backtest?
 
link76:
Can be used to add MagicNumber or Comment column on the Report generated by MT4 backtest?

Эти столбцы присутствуют в отчете.

 

Может кому будет интересно.

В отчёте есть в верху интерактивный график. Если его увеличить, появится кнопка Reset Zoom. Если рассматривать красивый график прямой из левого нижнего угла в верхний правый, то кнопка как раз загородит самое интересное место, как себя ведёт график в последнее время. Поэтому для себя унёс кнопку влево. Меняется выравнивание в шаблоне с right на left.

 
traveller00:

Может кому будет интересно.

В отчёте есть в верху интерактивный график. Если его увеличить, появится кнопка Reset Zoom. Если рассматривать красивый график прямой из левого нижнего угла в верхний правый, то кнопка как раз загородит самое интересное место, как себя ведёт график в последнее время. Поэтому для себя унёс кнопку влево. Меняется выравнивание в шаблоне с right на left.

Совсем не разбираюсь в HTML и скриптах там. Все эти вещи заимствовал из других кодов.

Наверное, можно было бы сделать очень удобный HTML-отчет со всеми подробностями и графиками. Но это не в моей компетенции. Заинтересованных в этом не встречал.

Маркет-продукты, что выводят отчеты в сам MT4/5 - есть, конечно.

 
Обновлен.
 

На всякий случай обращу внимание, что инклуды должны идти именно в том порядке, что указано в примере.

#include <MT4Orders.mqh> // https://www.mql5.com/ru/code/16006
// #include <fxsaber\Virtual\Virtual.mqh> // https://www.mql5.com/ru/code/22577
#include <Report.mqh>

Иначе местами может успешно собраться, но работать не так, как ожидается, ввиду того, что дефайны накладываются не в том порядке.

 
#define REPORT_REJECTS            // Анализ качества исполнения торговых ордеров.

Теперь виден уровень FillRate.


На кухнях он, конечно, равен 100%.

 
fxsaber:

Теперь виден уровень FillRate.

На кухнях он, конечно, равен 100%.

Похоже, везде, где 100% - кухни. Например, скальперы на Сигналах почти все в таких работают.

 

В процессе использования обнаружилось 2 особенности.

1. График Gain всегда нулевой. Потому что он пока не сделан. Так и должно быть.

2. Использование REPORT_REJECTS подразумевает закрытие через take profit. И статистику может брать только оттуда. Если закрываетесь лимитниками и CloseBy, он всегда покажет 100% заливки. График показывает именно реджекты сервера, если лимитник был выставлен, в итоге не залился, и был ботом отменён, на график заливки это не влияет.

 

Запросы на изменения.

1. Убрать график Gain, коль он всё равно пустой, чтобы места не занимал.

2. Добавить интервал по времени внутри дня. Я у себя использую, может кому пригодится. И мне не придётся каждый раз мержить свои изменения при обновлении.

  datetime EndTime;
+  datetime StartInterval;
+  datetime EndInterval;
  bool Anonym;
  REPORT_FILTER( void ) : Symb(ALL_SYMBOLS), Magic(ALL_MAGICS), Pending(true), Balance(true), StartTime(0), EndTime(INT_MAX),
                          StartInterval(0), EndInterval(INT_MAX), Anonym(false), MinLot(0), NegativeSlip(false), MinPositionLength(0), Swap(false)
  bool IsSingle( void ) const
  {
+    datetime OrderTimeOnly=OrderOpenTime() % (60*60*24);
    return((OrderCloseTime() >= this.StartTime) && (OrderCloseTime() < this.EndTime) &&
+           (OrderTimeOnly >= this.StartInterval) && (OrderTimeOnly < this.EndInterval) &&
           (!this.NegativeSlip || this.IsNegative()) &&
           ((this.Balance && (OrderType() > OP_SELLSTOP)) || (((this.Pending && (OrderType() > OP_SELL) && (OrderType() < OP_BALANCE)) ||
Причина обращения: