Тестер стратегий MetaTrader 5: ошибки, баги, предложения по улучшению работы - страница 49

 
fxsaber:

Отсортируйте столбец "Результат".

Сортировал по результату, прибыли, проходам и т.д. Результат на картинке.
 
Grozir:
Сортировал по результату, прибыли, проходам и т.д. Результат на картинке.

Нужен opt-файл этой Оптимизации, чтобы разобраться.

 
fxsaber:

Нужен opt-файл этой Оптимизации, чтобы разобраться.

Такое зависание результатов произошло через 30 мин после запуска оптимизации. После завершения процесса, таблица дернулась и показала все результаты.
 
Grozir:
Такое зависание результатов произошло через 30 мин после запуска оптимизации. После завершения процесса, таблица дернулась и показала все результаты.

Таблица не обновляется, когда открыта (в целях производительности). Для обновления нужно переключиться вкладками.

 

HTML-отчет одиночного прохода неправильно формируется. Воспроизведение.

#include <MT4Orders.mqh> // https://www.mql5.com/ru/code/16006

#define Bid SymbolInfoDouble(_Symbol, SYMBOL_BID)
#define Ask SymbolInfoDouble(_Symbol, SYMBOL_ASK)

void OnTick()
{  
  static bool FirstRun = true;
  
  if (FirstRun)
  {        
    const double TP = Bid - 100 * _Point;
    
    OrderSend(_Symbol, OP_SELL, 0.1, Bid, 0, 0, TP);
    OrderSend(_Symbol, OP_BUYLIMIT, 0.2, TP, 0, 0, 0);
    
    FirstRun = false;
  }
}

Кратко, у открытой позиции тэйк на том же уровне, где стоит лимитный ордер. Результат выполнения.

Тестер исполняет сначала TP, а потом лимитник. Это правильно. Иначе бы могли столкнуться с ситуацией, что не хватает маржи на срабатывание лимитника.

В Терминале последостельность (см. первый скрин) сделок правильная (включая tst-файл). А вот в HTML-отчете - нет. Более того, в Терминале последовательность срабатывания соответствующих ордеров так же нарушена (включая tst-файл).

 

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Библиотеки: SingleTesterCache

fxsaber, 2020.01.15 22:46

В tst неправильно пишется объем сделок/ордеров. Он всегда вычисляется так, будто SYMBOL_TRADE_CONTRACT_SIZE = 100 000.

Если выставлено другое значение, то это никак не влияет на значение объема в tst.

 

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

Также есть подозрение, что если бота перекомпилировать во время оптимизации так, что он не будет работать, то и оптимизация начнет завершаться.

PS. Проверю как освободится проц.
 

Уже 150 результатов есть, а он показывает 9. Почему?

В агентах такая картина:


 
Andrey Pogoreltsev:

Уже 150 результатов есть, а он показывает 9. Почему?

В агентах такая картина:


150 заданий в работе, а 9 выполнено. Верхняя строчка второго скрина.
 
Grozir:
150 заданий в работе, а 9 выполнено. Верхняя строчка второго скрина.

На первом скрине видно, что есть выполненные задания. Их 150.

Если посчитать задания в работе на втором скрине, их будет 103, из которых выполнено 9.

Причина обращения: