Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
I think this method can also solve the problem of power outages on the computer. What do you think?
Мои боевые советник только так и написаны. Поэтому могу перезагрузить компьютер, и после запуска советника все его внутренние переменные будут в состоянии, будто никакой перезагрузки не было.
Понимаю, что CurrentTick может отсутствовать. Мне нужно видеть ваш код, чтобы понять сценарий использования.
Мои боевые советник только так и написаны. Поэтому могу перезагрузить компьютер, и после запуска советника все его внутренние переменные будут в состоянии, будто никакой перезагрузки не было.
Should I use
or
?
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Библиотеки: MT4Orders
fxsaber, 2023.11.14 17:49
Печали не будет, если делать так.
AddToArray(OrderTickets, (OrderType() <= OP_SELL) ? OrderTicket() : -OrderTicket());Это фича MT4Orders. Однако, SELECT_BY_TICKET - это небыстрый механизм в MT4/5 и виртуалке. Одна из причин - если не найдет среди живых, полезет в историю (MODE_TRADES-флаг - только указание приоритета, где сначала искать).
Здесь уже речь о дополнении от Virtual.mqh. Безусловно, снепшоты очень круто ускорят работу, если торгуется много символов/мэджиков.
Снепшот сводит работу с внешним для советника окружением (торговый API) к минимуму. Т.е. самые тормозные функции вызываются единожды для изначального считывания, а далее вся работа с торговым окружением идет внутри советника незаметно для программиста, т.к. все тот же MT4-style.
Имеет смысл использовать один из этих вариантов снепшота.
Можно тысячу раз подряд вызвать VIRTUAL::Snapshot(), но он не будет взаимодействать с внешним торговым API чаще, чем задано в VIRTUAL_SNAPSHOT_REFRESHTIME (в примере это одна миллисекунда - мне хватает). Поэтому ничего не требуется запоминать, код, грубо говоря, становится таким.
Вот мой код синхронизации (вызывается для каждой подТС) с виртуальными окружениями.
Из выделенного видно создание снепшота. Его следует вызывать после тормозных функций. Например, OrderSend. Если лишний раз вызвать - ничего страшного, как показал в коде выше.
Однако, исходник привел по другой причине. Все потенциально тормозные функции при синхронизации облачаю в макрос, который полностью останавливает синхронизацию, если во время нее пришел новый тик (SymbolInfoTick или CopyTicks), т.к. требуется сначала новые тики пробросить через все виртуалки, а только потом синхронизировать с реалом. Все точно также, как должно работать у торговых копиров и на внешних крипто-биржах.
For multi-currency trading, should I take a snapshot of all symbols simultaneously, or should I record snapshots for each symbol separately? It seems taking a snapshot of all symbols at once would be better?
Если советник торгует одновременно несколько символов, то, конечно, снепшот мультивалютный.
Should I use
or
?
В советнике использую первый вариант.
В советнике использую первый вариант.
Добрый день, автор. Столкнулся с проблемой. При бэктесте с включенной визуализацией баланс счета виртуального и MQ Tester довольно схож.
Но когда я отключаю визуализацию, баланс счета виртуальной стратегии сильно отличается.
Почему это происходит и как это решить?
Good afternoon, author. I encountered a problem. When I backtest with visualization enabled, the account balance of the virtual and MQ Tester is quite similar.
But when I turn off the visualization, the account balance of the virtual strategy is very different.
Why is this happening and how to solve it ?
.