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

 

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

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

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

Будете ли Вы добавлять это в самые ближайшие дни?

 
Edgar:

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

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

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

Будете ли Вы добавлять это в самые ближайшие дни?

Какие комментарии имеются в виду? Те, что в OrderSend или те, что брокер/тестер любит создавать - [tp]/[sl] и т.д.

Сразу скажите макс. длину комментария.
 
fxsaber:

Какие комментарии имеются в виду? Те, что в OrderSend или те, что брокер/тестер любит создавать - [tp]/[sl] и т.д.

Сразу скажите макс. длину комментария.

В OrderSend передаю код переменной длины. Навскидку в истории нашёл самый длинный - 20 символов. Может случится на несколько символов длиннее.

 
Кстати, ещё раньше выяснилось, что не поддерживается OnTradeTransaction, который я использую для работы с ордерами по событиям. Но это уже совсем другая история, труднее реализуемая. Я перенесу обработку в OnTick и посмотрю, компенсирует ли виртуализация эту потерю скорости.
 
Edgar:

В OrderSend передаю код переменной длины. Навскидку в истории нашёл самый длинный - 20 символов. Может случится на несколько символов длиннее.

Добавил (обновите) комментарий (max 64 symbols).


 
Edgar:
Кстати, ещё раньше выяснилось, что не поддерживается OnTradeTransaction, который я использую для работы с ордерами по событиям. Но это уже совсем другая история, труднее реализуемая. Я перенесу обработку в OnTick и посмотрю, компенсирует ли виртуализация эту потерю скорости.

Virtual не создает On-событий. Все же MT4-style. Как оказалось, понадобился таймер, поэтому что-то будет сделано в эту сторону.

 
Edgar:

Эксперт, над которым я сейчас работаю (для себя), приходится оптимизировать на тиках за несколько лет. Пытаюсь по-всякому ускорять.

Безусловно, Virtual ускорит. Другое дело, что версия советника для Тестера может не содержать огромного количества проверок. Например, проверки на символ, комментарий и мэджик. Сравнение строк на каждом тике - очень дорого.

Посмотрите исходник этого советника. Он только для Тестера, поэтому не содержит ненужных в Тестере проверок.

TesterEA
TesterEA
  • www.mql5.com
Некоторый выложенный в Кодобазу инструментарий требовал для различных тестов торговый советник в качестве полигона. Данный советник был тем самым подопытным. От идеи до полной реализации, с написанием всего кода с нуля, потребовалось два часа. Особенности Советник канальный - торгует вовнутрь канала, постоянно в рынке.Не используются...
 
fxsaber:

Добавил (обновите) комментарий (max 64 symbols).

Спасибо

fxsaber:

Virtual не создает On-событий. Все же MT4-style. Как оказалось, понадобился таймер, поэтому что-то будет сделано в эту сторону.

Всё же стоит использовать полезные плюшки MT5.

 
Edgar:

Всё же стоит использовать полезные плюшки MT5.

Можно добавить OnTrade. Как используете OnTradeTransaction для ускорения?

 
fxsaber:

Можно добавить OnTrade. Как используете OnTradeTransaction для ускорения?

Отлавливаю события срабатывания SL и TP для установки следующих ордеров. Это позволяет не проверять на каждом тике. Для сопровождения позиций (TS, BE) всё же приходится использовать OnTick, но более простым кодом. Пока не факт, что это ускоряет, надо проверять. В общем, это не приоритетно.

А вот что действительно важно - OnTester. Т.е. реализовать TesterStatistics() в виртуале. Без пользовательских критериев что мы оптимизируем? Баланс? Пусть даже в комбинации с дополнительным параметром. Я оптимизирую не по прибыли, а по качеству торговли.

Реализовать TesterStatistics() Вам будет несложно, все данные для них в движке есть.