Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Результат запуска Primitive2.ex5 на ICMarkets.
А цена тика в спецификации какая?
Я привел неправильный скрин - был включен режим по пипсам.
Спецификации RannForex.
сравнить прибыль по золоту в тестере MQ и в виртуальном.
В мат режиме решил добавить лот в %, а не статичный. В Virtual используется штатный OrderCalcMargin() в Order_Base.mqh
В мат. режиме он вернет 0. И вызов AccountInfoDouble(ACCOUNT_MARGIN) из \Orders.mqh
тоже вернет 0.Дополнительно и AccountInfoDouble(ACCOUNT_MARGIN_FREE)
вернет просто эквити.
Себе сделал так в MathTicker
Насколько это правильно - не знаю. Подобрал формулу под золото и EURUSD другие инструменты не проверял.
Может быть это лучше|тоже в Virtual добавить? Чтобы не перехватывать AccountInfoDouble(ACCOUNT_MARGIN_FREE) и AccountInfoDouble(ACCOUNT_MARGIN) из Virtual-а, который перехватил их из тестера))
Хотя видимо придется все равно перехватывать, т.к. нужно еще и
получать из файла для мат режима. Ну это для простоты применения только нужно. Сейчас использую прямые вызовы MathTick.FreeMargin() и MathTick.OrderCalcMargin(ORDER_TYPE_BUY,_Symbol,1.0,price,margin) вместо перехвата.Так что возможно Виртуал и нет смысла править, он же не для мат. режима изначально.
В мат режиме решил добавить лот в %, а не статичный. В Virtual используется штатный OrderCalcMargin() в Order_Base.mqh
В мат. режиме он вернет 0. И вызов AccountInfoDouble(ACCOUNT_MARGIN) из \Orders.mqh тоже вернет 0.
В ME через CTRL+SHIFT+F поискал упоминание этого. Нашел только в одном месте - для реала. Больше нигде.
Не понимаю, зачем использовать Margin вообще для реализации % лота на бэктестах, т.к. лот прямо-пропорционален Equity/Balance.
Тем более, когда идет запуск через Virtual.
В мат. режиме полно свойств Account/Symbol должно возвращать нули. Чтобы этого не происходило - нужно тянуть в мат. режим весь этот скарб из Symbol.json и Account.json (еще и создавать нужно).
Все же мат. режим (обе публичные реализации) - это решение для осознающих ограничения авторов.
Просьба показать функцию расчета лота, чтобы понять, что на самом деле нужно.
Вот есть две истории торговли: постоянным лотом и процентом. Они должны однозначно преобразовываться одна в другую в обе стороны.
Если это не так, тогда вопрос.
Все же мат. режим (обе публичные реализации) - это решение для осознающих ограничения авторов.
Возможно, узко вижу. Вроде, мат. режим нужен только для ускорения поиска рыночных закономерностей. А плюшки - это уже другая история.
Primitive2.mq4 ровно так написан - отсутствие лишних/повторных расчетов.
Не понимаю, зачем использовать Margin вообще для реализации % лота на бэктестах, т.к. лот прямо-пропорционален Equity/Balance.
Кстати, да.
Тоже не очень понимаю, хотел даже где-нибудь на форуме спросить/обсудить преимущества перед просто Эквити. Может можно и тут обсудить, раз тема поднята. Или перенести в отдельную ветку с помощью модераторов.
Видимо это основные аргументы за такой алгоритм.
Ну вообще мне не принципиально - могу и просто % от эквити брать. От баланса наверное не стоит.
Просьба показать функцию расчета лота, чтобы понять, что на самом деле нужно.
Взял из примеров Moving Average
Выкинул из нее блок
//--- calculate number of losses orders without a break
if(DecreaseFactor>0)...
Который только усложняет код, а преимущества не ясны.
Для мат вычислений сделал так
Возможно, узко вижу. Вроде, мат. режим нужен только для ускорения поиска рыночных закономерностей. А плюшки - это уже другая история.
Тем более, что я обычно в валюте делаю тестирование с комиссиями и текущими свопами.
При этом могу сразу проверить в тестере MQ. Отличие в результатах - обычно центы или единицы долларов. Наверное из за округлений и из за свопов которые в конце рассчитываются, а не каждый день.