Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Это видел, спасибо. Но нужно постоянно корректировать. И без ордеров депозитных в истории
Число корректировок может быть любым. Если без отражения в истории, то получим несовпадение истории с текущим торговым окружением. Не представляю сценария применения такого.
Число корректировок может быть любым. Если без отражения в истории, то получим несовпадение истории с текущим торговым окружением. Не представляю сценария применения такого.
Сценарий достаточно специфический ) Но да, с ордерами в истории правильнее ) Спасибо!
Несколько часов ломал голову, почему при Оптимизации Агенты стали потреблять в 5-10 раз больше памяти (до трех гигабайтов на агента), чем раньше. Из-за такого дикого потребления утыкался в нехватку памяти, пришлось отключать больше половины агентов.
Почти поверил, что дело в параллельности. А причина оказалась неожиданной.
Раньше торговал через Virtual, но случайно отключил его. И оказалось, что если в Тестере оптимизируете в реальном окружении (99.9% так делают), то история торговли MT5 выжирает огромное количество памяти! И получается, что каждый Агент генерирует столько MT5-истории, что вся память на машине забивается. Но стоит только переключить историю в Virtual, как все проходит без каких-либо затыков с этой стороны.
Отсюда неожиданный вывод. Что если хотите оптимизировать ТС на всех Агентах (включая Облако), то иногда просто необходимо отказываться от MT5-истории в пользу Virtual. Это даст не только скорость на каждого Агента, но и позволит включить всех Агентов, не упираясь в потолок по RAM.
Не только история торговли потребляет память. Ниже MT4-Style код проблемного для Тестера советника.
Бэктест через реальное окружение.
Виртуальное.
Выделил числа для сравнения. История торговли содержит только один ордер.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Библиотеки: Virtual
fxsaber, 2022.02.19 03:22
В Virtual входят только следующие файлы.
Только сущности из этих файлов являются частью Virtual. Для обывателя нужны только эти три метода.
Первый создает виртуальное окружение, второй отвечает за переключчение между окружениями, третий - отправляет тик в окружение.
И больше ничего не нужно знать для ответа на ваши вопросы, если хотите решать их через Virtual.
Сами вопросы носят общий характер, не зависящий от реализации. Вам непонятно, как с помощью виртуальных окружений (не обязательно Virtual, любых) наделить Netting возможностью торговли, как на хедже? Или как скрыть SL/TP? Но эти вопросы не относятся непосредственно к Virtual. Приводил какие-то примеры. Наверное, стоит сначала вообще понять, что такое виртуальное окружение. А потом самому дойти до понимания возможных сценариев применения.
Возможно, кто-то из пользователей выскажется на темы применения Virtual. Могу ошибаться, но если кому-то и приглянулась данная реализация виртуального окружения, то простотой: три метода.
Есть и другие методы, но это уже для специфических сценариев использования, список которых, как оказалось, значительно шире, чем озвучивался в данной ветке.
Поэтому рекомендую просто вникнуть в само понятие виртуального окружения, без оглядки на Virtual.
Как в общем виде решается задача, выделенная в тексте выше.
Это весь алгоритм, который можно делать даже руками.
Виртуальное окружение - это параллельно работающий Терминал, только к нему штатный доступ руками отсутствует - только через API. Выше написал, что нужны только три функции. Ниже напишу, как они вклиниваются в алгоритм, что только что привел.
Эта функция запустит TerminalHedge. Т.е. ее выполнить нужно только один раз для п.2.
Эта функция переключается между терминалами: TerminalHedge и TerminalNetting. Для реализации алгоритма п.3-4 нужно сначала переключиться на TerminalHedge и посчитать там нетто-позицию. Затем переключиться на TerminalNetting и подправить там нетто-позицию, чтобы все соответствовало.
Эта третья последняя функция, которая нужна для решения задачи. TerminalHedge должен получать тики. Если вы запустили настоящий терминал, то там автоматически идут тики. А вот если "запустили" через Virtual, то там тики автоматически не идут. Их нужно туда "пробрасывать". Грубо говоря, в самом начале OnTick нужно переключиться на TerminalHedge и выполнить эту функцию.
От Virtual нужны всего три функции и больше ничего! Все остальное делается так, как если бы были параллельно открыты несколько терминалов.
Генеральный вопрос: Virtual & MT4Orders вообще позволяет перенести советник на неттинговый счёт ? Есть истории успеха в виде нормальных примеров где подсмотреть ?? ;-)
(про хеджинг->неттинг и Virtual и Mt4Orders)
есть нюансы :-) Точнее неясности.
1) Как обращаться с историей ? используя MT4Orders и Virtual на неттинге совершенно гарантировано получаю ошибку при OrderSelect(ticket,SELECT_BY_TICKET) когда позиция закрыта.
Историю а-ля хеджинг, очевидно надо как-то получать, где-то хранить и каким-то образом передавать в "виртуализированный Mt4Orders"
2) До отдельного тест-кейса не доведено, поэтому не баг, а просто стойкое ощущение: Если использовать Sync из библиотеки Virtual то есть проблемы со StopLoss - они просто иногда "забываются".
3) как оно (подобная синхронизация) будет работать если на неттинге запущены его советники, которые тоже торгуют и соотв. меняют тоже совокупную позицию.
Генеральный вопрос: Virtual & MT4Orders вообще позволяет перенести советник на неттинговый счёт ? Есть истории успеха в виде нормальных примеров где подсмотреть ?? ;-)
(про хеджинг->неттинг и Virtual и Mt4Orders)
есть нюансы :-) Точнее неясности.
1) Как обращаться с историей ? используя MT4Orders и Virtual на неттинге совершенно гарантировано получаю ошибку при OrderSelect(ticket,SELECT_BY_TICKET) когда позиция закрыта.
Историю а-ля хеджинг, очевидно надо как-то получать, где-то хранить и каким-то образом передавать в "виртуализированный Mt4Orders"
Попробуйте сначала решить совсем простую задачу. Например, выставить разнонаправленные позиции в виртуальном окружении, а потом подогнать реальное окружение под реальную нетто-позицию. Все ровно так, как делали бы руками, глядя в два терминала. Только автоматом.
2) До отдельного тест-кейса не доведено, поэтому не баг, а просто стойкое ощущение: Если использовать Sync из библиотеки Virtual то есть проблемы со StopLoss - они просто иногда "забываются".
Это не библиотечный mqh. А просто часть примера в этой ветке. Не надо использовать в своем коде примеры.
3) как оно (подобная синхронизация) будет работать если на неттинге запущены его советники, которые тоже торгуют и соотв. меняют тоже совокупную позицию.
Расписал совсем на пальцах, что виртуальное окружение - это параллельно работающий терминал. Не знаю, что мешает понять алгоритм:
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Библиотеки: Virtual
fxsaber, 2022.10.10 09:09
Это весь алгоритм, который можно делать даже руками.
Попробуйте сначала решить совсем простую задачу. Например, выставить разнонаправленные позиции в виртуальном окружении, а потом подогнать реальное окружение под реальную нетто-позицию. Все ровно так, как делали бы руками, глядя в два терминала. Только автоматом.
Это не библиотечный mqh. А просто часть примера в этой ветке. Не надо использовать в своем коде примеры.
Расписал совсем на пальцах, что виртуальное окружение - это параллельно работающий терминал. Не знаю, что мешает понять алгоритм:
идея-то понятна..только 3 дня потеряно а попытке просто "взять и использовать" Virtual для переноса в неттинг. Идея к сожалению потерпела фиаско
Virtual не для этого.
идея-то понятна..только 3 дня потеряно а попытке просто "взять и использовать" Virtual для переноса в неттинг. Идея к сожалению потерпела фиаско
Virtual не для этого.
Значит, ничего не поняли. Не знаю причин, почему такое происходит.
нет смысла использовать библиотеку автор которой увиливает от прямо поставленных вопросов по её использованию.
к тому-же низкоуровневую. Для которой (в смысле портирования советника из хедж в неттинг) ещё и сверху гору всего надо делать.
для прогона к тестере/оптимизаторе наверное она пойдёт. Отчего нет - посмотрел там позицию, тут позицию, принял меры.
нет смысла использовать библиотеку автор которой увиливает от прямо поставленных вопросов по её использованию.
Вам предоставили возможность работать в нескольких параллельно работающих "терминалах".
к тому-же низкоуровневую. Для которой (в смысле портирования советника из хедж в неттинг) ещё и сверху гору всего надо делать.
Каждый сам решает, что будет делать с этими "терминалами".
для прогона к тестере/оптимизаторе наверное она пойдёт. Отчего нет - посмотрел там позицию, тут позицию, принял меры.
Сценариев использования Virtual очень много, как и их реализаций. Единственный минус на данный момент - отсутствие мультивалютности.
К сожалению, не смогли разобраться в инструменте. Бывает.
Из тех, кто вовсю использует Virtual, точно никто не будет расписывать другими словами, что это и как используется. Сам очень постарался, чтобы на простых аналогиях донести. Жаль своего времени.