есть в природе а-ля CVirtualGrid ?

 

Сетка с "виртуальными" уровнями, в которой уровней может быть много-много 100500.

А на реальные они отображались по мере приближения цены.

Нужно в основном в целях тестирования.. потому как например нынешний тестер в 4-ке серьёзно оттормаживает при большом кол-ве лимиток.

Да и на серверах есть ограничения по числу ордеров, то есть всё равно такой вопрос (про виртуальные или клиент-сайд отложки) встанет

 

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

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

fxsaber, 2018.11.16 01:33

22 млн тиков в режиме по всем тикам. Терминалы запускались с RAMDrive. Только одно ядро задействовано. Выбран лучший результат из Оптимизации в 5 прогонов. Кросс-перерасчет выключен. Время указано в секундах. Hedge, Forex, MaxCustom. Исходный баланс 10 млн. В MT5 кастомный символ (свопы и комиссия отсутствуют).

Amount MT5-Tester MT4-Tester MT5-Virtual (x64)  MT4-Virtual (x32) (w/o strict)
0 02.886 03.432 03.869 06.209
1 08.237 11.247 04.087 06.677
2 14.367 13.089 04.197 08.159
3 17.581 17.036 04.493 10.998
4 20.905 22.215 04.696 10.296
5 23.119 25.616 04.945 13.558
20 61.215 68.858 07.597 35.568


С увеличением одновременно открытых позиций (Amount) заметно растет время выполнения. MT4 проигрывает MT5 по скорости в режиме Тестера и в режиме Virtual.

Virtual значительно быстрее MT5-тестера и слабо зависит от Amount.


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

Virtual не затачивался на большое количество одновременных ордеров, но переваривает их неплохо. Чего не скажешь про MT-тестеры. Там, похоже, отсутствует совсем оптимизация в этом месте.


До теста пришла в голову идея, как ускорить Virtual, чтобы количество ордеров почти не влияло на производительность. Но полученные результаты, честно говоря, удивили. Сложно сказать, стоит ли этим заниматься в Virtual. Но 100% это нужно делать в MT5-Тестере.


ЗЫ После замеров понял, что в MT4 не использовал strict-режим. Перезамерять не стал

 
fxsaber #:

для 4-ки которая версия работает ?

или несовместимой нет, а каталог MQL5/ просто дань традиции :-)

попробую разобраться, а то как-то нехорошо совсем - проверяю алгоритм, в "игре" постоянно 400 ордеров, тестирование(не оптимизация, __один__ прогон) занимает СУТКИ на год

---

и с очень далёким заделом (вовсе не насущное, но явно предвиженное) - в библиотеке как-нить можно будет эмулировать OCO группы и Iceberg ? и прочие алго-ордера. 

 
Maxim Kuznetsov #:

для 4-ки которая версия работает ?

или несовместимой нет, а каталог MQL5/ просто дань традиции :-)

Кроссплатформенная, MT4-Style.

попробую разобраться, а то как-то нехорошо совсем - проверяю алгоритм, в "игре" постоянно 400 ордеров, тестирование(не оптимизация, __один__ прогон) занимает СУТКИ на год

Будет гораздо быстрее штатного варианта, но для такого дикого количества ордеров можно было бы еще ускориться. Не практикую такую торговлю, поэтому не делал.

В библиотеке стоит такой макрос внутри.

#define MAX_ORDERS 100

Задает максимальное количество открытых ордеров. Сотни (по-умолчанию) не хватит, надо увеличить.

и с очень далёким заделом (вовсе не насущное, но явно предвиженное) - в библиотеке как-нить можно будет эмулировать OCO группы и Iceberg ? и прочие алго-ордера. 

MT4-Style - лучший API. "Улучшать" принципиально не стал.

 
fxsaber #:

Кроссплатформенная, MT4-Style.

Будет гораздо быстрее штатного варианта, но для такого дикого количества ордеров можно было бы еще ускориться. Не практикую такую торговлю, поэтому не делал.

В библиотеке стоит такой макрос внутри.

Задает максимальное количество открытых ордеров. Сотни (по-умолчанию) не хватит, надо увеличить.

MT4-Style - лучший API. "Улучшать" принципиально не стал.

если в 4-ке включить 

#define VIRTUAL_TESTER

то ошибка

Или это просто устаревшее в описании ? 

 
Maxim Kuznetsov #:

если в 4-ке включить 

#define VIRTUAL_TESTER

то ошибка

Или это просто устаревшее в описании ? 

#define VIRTUAL_TESTER // Запуск в виртуальном торговом окружении
#include <fxsaber\Virtual\Virtual.mqh>

void OnTick() {

Компилируется без ошибок.

 
fxsaber #:

Компилируется без ошибок.

может чего с билдами и версиями не так ?

потому как ошибка-то есть...

библиотеку брал тут https://www.mql5.com/ru/code/22577 вроде как последняя, обновлена  2021.05.18 00:08  

единственная правка - определение

#define MAX_ORDERS 100

обрамлено #ifndef MAX_ORDERS, #endif

Virtual
Virtual
  • www.mql5.com
Виртуальное торговое окружение
 
Maxim Kuznetsov #:

может чего с билдами и версиями не так ?

потому как ошибка-то есть...

библиотеку брал тут https://www.mql5.com/ru/code/22577 вроде как последняя, обновлена  2021.05.18 00:08 

На всякий случай обновил только что. Попробуйте.

 
fxsaber #:

На всякий случай обновил только что. Попробуйте.

какое-то шайтанство и колдунство..

оно не работает

отдельно поставил чистый mt4, в него положил свежескаченные файлы

создал пустой эксперт, добавил 2 строчки

те-же самые ошибки...

или в 4-ке это всё-же НЕ РАБОТАЕТ ? совместимость потерялась


 
Maxim Kuznetsov #:

или в 4-ке это всё-же НЕ РАБОТАЕТ ?

Возможно, из кривого zip-файла берете.

 
fxsaber #:

Возможно, из кривого zip-файла берете.

this , заработало.....!! ;-)

даже и в голову не приходило, что zip-архив может отличаться

Хотя-бы на каком другом ресурсе бывает что архив отличается от анонсированного содержания???

--------------

Как ??? Ну вот как такое делают...