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

 

Тестер на кастомных символах перестал правильно работать. Воспроизведение.

Создаем символ.

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

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

fxsaber, 2020.02.11 01:58

sinput datetime inDateFrom = D'2020.01.01';

void OnStart()
{
  const string Name = "USDJPY_CUSTOM";                                                       // Имя кастомного символа
  const string SymbOrig = "USDJPY";                                                          // Имя оригинального символа

  MqlTick Ticks[];
  
  const int Size = CopyTicksRange(SymbOrig, Ticks, COPY_TICKS_ALL, (long)inDateFrom * 1000); // Считали USDJPY-тики.
    
  if ((Size > 0) && CustomSymbolCreate(Name, NULL, SymbOrig) && SymbolSelect(Name, true))    // Создали символ на основе USDJPY.
    CustomTicksReplace(Name, 0, LONG_MAX, Ticks);                                            // Поместили в него историю USDJPY.        
}


В Тестере на нем (обычный режим, не по пипсам) запускаем этот советник

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

#define Ask SymbolInfoDouble(_Symbol, SYMBOL_ASK)

void OnTick()
{
  static long Ticket = -1;
  
  if (Ticket == -1)
    Ticket = OrderSend(_Symbol, OP_BUY, 1, Ask, 0, 0, 0);
}

предварительно задав валюты, равными валюте счета.


После смотрим профит сделки.


Профит в 100 раз больше, чем должен. На более ранних билдах такого не было.

Строка для поиска: Oshibka 003.
 

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

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

fxsaber, 2020.01.28 14:07

Впервые столкнулся с ситуацией на своем советнике, когда результат ГА не совпадает с одиночным проходом. Все проходы различаются.

Результат полного перебора - совпадает. Билд 2305.


ЗЫ Такое ощущение, что в opt при генетике не совсем корректно пишутся входные параметры каждого прохода.

Повторилась ситуация. Сложно представить, как разобраться в причинах.

 
fxsaber:

Повторилась ситуация. Сложно представить, как разобраться в причинах.

В строке результатов оптимизации присутствуют значения параметров.

При одиночном тестировании значения параметров обязательно выводятся в лог тестера.

Значения в строке результатов оптимизации и в логе тестера совпадают?

 
Slava:

В строке результатов оптимизации присутствуют значения параметров.

При одиночном тестировании значения параметров обязательно выводятся в лог тестера.

Значения в строке результатов оптимизации и в логе тестера совпадают?

Совпадают. Это первое, что проверил. Попробую стейты ГА-проходов через фреймы вытащить. А потом сравнить с тем, что одиночный показывает.

Подозрение есть, что строка входных параметров не корректно формируется. Т.е. сделал проход для одного набора, а в opt по ошибке прописал другой набор.


ЗЫ На малом интервале истории воспроизвести не удалось.

 

Тестер стратегий при подготовке данных перед проходом по-разному проверяет оригинальные символы и кастомные символы на корректность (соответствие баров и тиков).


Создаем кастомный символ, там ни одной ошибки. Потом эти же данные делаем серверными. И Тестер говорит, что данные - это одна большая ошибка.

Еще одна причина Тестер запускать только на кастомных символах.

 
fxsaber:

Потом эти же данные делаем серверными. И Тестер говорит, что данные - это одна большая ошибка.

Может, все-таки с форматом проблема?

 
Andrey Khatimlianskii:

Может, все-таки с форматом проблема?

Проверил этот момент. Полное совпадение, включая тиковый объем, спред и т.д.

 
fxsaber:

Проверил этот момент. Полное совпадение, включая тиковый объем, спред и т.д.

Наверное, защита. Чтобы не подсовывали что попало.

 
Andrey Khatimlianskii:

Наверное, защита. Чтобы не подсовывали что попало.

Просто данные оригинального символа идеально совпадают с кастомным. Но кастомный проходит без ошибок, а оригинальный - нет.

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

И там лучше Тестером совсем не пользоваться на оригинальных символах. Иначе можно нарваться на сгенерированные тики, вместо реальных.

 
fxsaber:

Повторилась ситуация. Сложно представить, как разобраться в причинах.

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

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

fxsaber, 2020.01.28 14:07

Впервые столкнулся с ситуацией на своем советнике, когда результат ГА не совпадает с одиночным проходом. Все проходы различаются.

Результат полного перебора - совпадает. Билд 2305.


ЗЫ Такое ощущение, что в opt при генетике не совсем корректно пишутся входные параметры каждого прохода.

Slava:

В строке результатов оптимизации присутствуют значения параметров.

При одиночном тестировании значения параметров обязательно выводятся в лог тестера.

Значения в строке результатов оптимизации и в логе тестера совпадают?

Тоже попадал в похожую ситуацию, разбирался, получилось так,

в строке результатов оптимизации параметры правильные, совпадают с параметрами в логе тестера, а советник запускается на тест совсем с другими параметрами.

Перезагружал терминал, удалял все кеши, всё равно параметры оптимизации не подставлялись в советник. Возможно антивирус или фаервол что то заблокировал.

Потом как то само рассосалось и стал нормально работать. Проверьте, может у вас тоже фаервол что то блокирует.