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

 
fxsaber #:
Используйте либо мультивалютный OnTick, либо OnTimer.

В советнике в которм эта проблема вылезла, используется OnTimer. OnTick в нём вообще нет.


Что такое  мультивалютный OnTick ?

 
Aleksandr Slavskii #:

В советнике в которм эта проблема вылезла, используется OnTimer. OnTick в нём вообще нет.

Скорее всего, без кода проблема не будет решена.

Что такое  мультивалютный OnTick ?

https://www.mql5.com/ru/forum/170952/page68#comment_6406566

 
fxsaber #:

Скорее всего, без кода проблема не будет решена.

https://www.mql5.com/ru/forum/170952/page68#comment_6406566

А кода нету.  Проблема есть, кода нет)))  Поэтому ваш совет использовать не могу.

Делаю програмку, которая рисует объединённый график разных одиночных проходов, на которых торгует мультивалютный советник.

Кода советника у меня допустим нет. 

Сделки беру из файла tst. Запрашиваю тики, нахожу эквити по каждой позиции с секундным интервалом, рисую графики, дальше расчёт разной статистики.

Проблема, найти тики которые открыли/закрыли позицию из за не верного времени открытия/закрытия позиции в   tst .

В результате должна получится такая картинка (gif):

Синяя линия это объединённый график всех трёх одиночных проходов.

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

А это увеличивает время расчётов. 

Думаю, что такая запись времени открытия/закрытия позиций, скорее баг чем фича. 

Хотелось бы, чтоб исправили.

 
Aleksandr Slavskii #:

Хотелось бы, чтоб исправили.

Выкладывал решение, которое объединяет несколько tst-проходов в один общий проход. Когда каждый tst был только по одному символу (tst1 - EURUSD, tst2 - EURUSD, tst3 - GBPUSD, tst4 - USDJPY, ...), проблем не замечал.

 
fxsaber #:

Выкладывал решение, которое объединяет несколько tst-проходов в один общий проход. Когда каждый tst был только по одному символу (tst1 - EURUSD, tst2 - EURUSD, tst3 - GBPUSD, tst4 - USDJPY, ...), проблем не замечал.

Ну так, когда по одному символу, проблем нет, всё в tst  сохраняется правильно, а вот когда  tst - EURUSD,

но позиции в этом прогоне открываются по  AUDUSD, EURUSD, GBPUSD, USDJPY и т.д.  вот в этом случае по евре время открытия/закрытия верное, а по остальным символам  встречается не верное.

Объединить tst не вопрос, вопрос объединить эквити которое в tst сохраняется только в виде максимум/минимум в позиции. Мне этого не достаточно, мне нужно максимум/минимум эквити в секунду.

 
Aleksandr Slavskii #:

Объединить tst не вопрос, вопрос объединить эквити которое в tst сохраняется только в виде максимум/минимум в позиции. Мне этого не достаточно, мне нужно максимум/минимум эквити в секунду.

Создаю полноценный мультивалютный одиночный проход, поэтому получается точная объединенная эквити без каких-либо CopyTicks.

 
fxsaber #:

Создаю полноценный мультивалютный одиночный проход, поэтому получается точная объединенная эквити без каких-либо CopyTicks.

Последнее время, заметил такую особенность за собой, не получается выразить мысль так, чтоб её поняли. Беда.

Ваш SingleTesterCache, рисует одиночный проход и даже объединённые проходы, но эквити в них не полноценные, а только mae и mfe.

Мне этого не достаточно, поэтому нужен  CopyTicks.

 
Aleksandr Slavskii #:

Последнее время, заметил такую особенность за собой, не получается выразить мысль так, чтоб её поняли. Беда.

Аналогично.

  1. Делаете много бэктестов разных советников по реальным тиками - получаете много tst-файлов.
  2. Запускаете бэктест своего советника по реальным тикам, который совершает идентичные абсолютно все (что содержатся во всех сгенерированных tst-файлах) сделки.
Итого полный портфель прогнан по реальным тиками на всех символах одновременно. Вам доступен эквити, визализатор и все остальное. Все это без CopyTicks.
 
fxsaber #:

Аналогично.

  1. Делаете много бэктестов разных советников по реальным тиками - получаете много tst-файлов.
  2. Запускаете бэктест своего советника по реальным тикам, который совершает идентичные абсолютно все (что содержатся во всех сгенерированных tst-файлах) сделки.
Итого полный портфель прогнан по реальным тиками на всех символах одновременно. Вам доступен эквити, визализатор и все остальное. Все это без CopyTicks.

Ага. Примерно понял. 

Но всё равно, хотелось бы, чтоб время открытия/закрытия позиций в тестере отображалось правильно, а не так как сейчас.

 
Aleksandr Slavskii #:

хотелось бы, чтоб время открытия/закрытия позиций в тестере отображалось правильно, а не так как сейчас.

Простейший код набросайте. Сам бы сделал, но занят иным.