Библиотеки: Virtual - страница 32

 

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

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

fxsaber, 2020.09.02 20:54

есть удобный макрос.

_V(Handle, Function()); // Заходит в Handle-окружение, выполняет там Function() и возвращается обратно.

Присутствовала ошибка в макросе.

#include <fxsaber\Virtual\Virtual.mqh>

bool f() { return(_V(0, true)); }

void OnStart()
{
  const int Handle = VIRTUAL::Create();
    
  _V(Handle, f());
  
  Print(VIRTUAL::GetHandle()); // 1
}

Кто этот макрос не использовал - не критично. Сам вовсю использую. Исправлено и ускорено.

 

@fxsaber с Новогодними праздниками! Всех благ, здоровья и удачи!


Есть ли изящный способ использования Virtual для прогона на истории как в тестере в режиме "OHLC M1" - иногда удобно в грубом режиме тестирования оценить ТС, а не по всем тикам

 
Присоединяюсь всех благ
 
Aleksei Beliakov:
Присоединяюсь всех благ
Igor Makanu:

@fxsaber с Новогодними праздниками! Всех благ, здоровья и удачи!


Есть ли изящный способ использования Virtual для прогона на истории как в тестере в режиме "OHLC M1" - иногда удобно в грубом режиме тестирования оценить ТС, а не по всем тикам

Спасибо, полностью взаимно!


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

 
fxsaber:

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

логично! спасибо!

кастомные символы стал редко использовать, совсем про них забыл - баги в новых билдах терминала с кастомными символами часто появлялись, поэкспериментирую на неделе

 
Igor Makanu:

кастомные символы стал редко использовать, совсем про них забыл - баги в новых билдах терминала с кастомными символами часто появлялись, поэкспериментирую на неделе

В Тестере с ними все в порядке. В Терминале - не в курсе.

 
fxsaber:

В Тестере с ними все в порядке. В Терминале - не в курсе.

месяц назад было в тестере не в порядке - сгенерировал кастомный символ, запустил тестер, запустил оптимизацию, затем остановил и пару одиночных проходов - все ОК

перегрузил терминал, сразу запустил тестер, оптимизация и тесты на кастомнгом символе не идут - все проходы пустые, удалил кастомный символ, сгенерировал еще раз символ, затем в тестере все ОК

не разбирался, но кажется опять свойства кастомного символа после перезагрузки терминала тестер портит, где то Ваш код-сервис был чтоб исправлять это, не помню на ноуте устанавливал или нет, на ноуте проблемы были



UPD: вопрос еще, чисто теоретический - а библиотека Virtual пропустит ненормализованные лоты и цены? - писали, что нормализация дорогая операция, для тестера готовлю "полигон"

 
Igor Makanu:

не разбирался, но кажется опять свойства кастомного символа после перезагрузки терминала тестер портит, где то Ваш код-сервис был чтоб исправлять это, не помню на ноуте устанавливал или нет, на ноуте проблемы были

Валюту маржи и валюту прибыли он стабильно портит, если название символа не начинается с названия валютной пары.

Иногда, но тоже не так редко, встречал, что слетают размер и/или цена тика. Как повторить хз, репортить смысла не вижу, такого плана репорты в чёрную дыру улетают.

Остальное, чем пользуюсь, работает нормально.

Igor Makanu:

UPD: вопрос еще, чисто теоретический - а библиотека Virtual пропустит ненормализованные лоты и цены? - писали, что нормализация дорогая операция, для тестера готовлю "полигон"

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

 
traveller00:

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

логично! еще раз спасибо! Вы кладезь знаний и идей!


... есть еще идея, но не до конца сформированная - запустить  Virtual в тестере и по окончании прохода тестера выполнить виртуальную торговлю не проблема, а вот время которое тратит агент на сам "пустой" проход (без сделок) все таки присутствует

насколько помню, в тестере переменные/структуры/классы, описанные с модификаторами const static в глобальной видимости программы - инициализируются один раз при запуске агента тестирования, туда бы подложить тики для  Virtual 

и хотелось бы  "обмануть" тестер, чтобы тестировать на периоде 1 год в  Virtual , а сам проход тестера ограничить, ну например 2-3 дня - это должно сократить время при оптимизации

 
Igor Makanu:

UPD: вопрос еще, чисто теоретический - а библиотека Virtual пропустит ненормализованные лоты и цены? - писали, что нормализация дорогая операция, для тестера готовлю "полигон"

Виртуалу все равно до нормализации, там цены сравниваются напрямую. Если нормализация цен кривая - будет соответствующий результат. Поэтому либо так для кривых штатных символов.

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

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

fxsaber, 2019.12.11 12:15

Сложно сказать, когда разработчики исправят ситуацию с нормализацией исходных цен символов и будут ли это делать вообще. Поэтому введен такой режим.
// https://www.mql5.com/ru/forum/321656/page34#comment_14192799
#define TICKS_FORCE_NORMALIZE // Принудительная нормализация цен входящего тика

Либо создавать адекватные кастомные символы.


На штатных символах тестить крайне не рекомендую. Там же кривые бары имеют больший приоритет перед тиками.