Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Если этого не сделать, то не получится виртуальной торговли -- только из-за этого макроса переопределяется OnTick.
Использование этого макроса нужно для того, чтобы никто не заморачивался в возможностях Virtual и сразу получал нужный результат. Макрос просто делает всю работу за пользователя, чтобы можно было ТС запустить в виртуалке. Вам же не нужно ее там запускать. А требуется сделать автооптимизацию.
Все равно дата "баланса" не должна из-за этого съезжать на конец истории, ИМХО.
Именно из-за этого и съезжает. Плюс еще возникает громоздкость, которую мне даже не хочется объяснять, т.к. текстом очень неудобно.
Могу через пару дней прислать на рецензию свой проект (целиком, без доков, может быть сложно разобраться).
Фактически, и Virtual без доков. Поэтому так сложно со стороны въехать.
с Virtual уже взлетал мой первый тестовый ЕА,
попробовал посерьезнее проект в Virtual подключить... не взлетел с первого раза,
проблема оказалась банальной, в моем ЕА тоже есть class ORDERS и соответственно 1000 и 1 ошибка компиляции получилась при совпадении имен
я уже попадал на такую ошибку в своих инклудниках, теперь если инклудник считаю отлаженным и завершенным, то стараюсь глобальные описания переменных (имена ) в инклудниках писать по принципу имен которые сомневаюсь, что буду использовать
в качестве пожелания к библиотеке: хотелось бы примерно как __ORDERS__
такой еще вопрос по использованию Virtual
код моего ЕА:
внутри класса не использую другого получения рыночной информации, только передачей переменной Tick в метод onTick
если напишу такой код:
откуда буду получать данные для Tick - из виртуального окружения?
откуда буду получать данные для Tick - из виртуального окружения?
Да, из виртуального.
SelectByHandle каждый раз, наверное, делать не нужно.
Что касается тика реального окружения, то есть удобный макрос.
_V(Handle, Function()); // Заходит в Handle-окружение, выполняет там Function() и возвращается обратно.Соответственно, пишите так.
ЗЫ Пример.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Библиотеки: MT4Orders
fxsaber, 2020.08.29 12:09
SelectByHandle каждый раз, наверное, делать не нужно.
проверил опять на предложенном в КБ коде (описание Virtual)
если использовать VIRTUAL::GetHandle() - ничего не работает
опять я не правильно использую Virtual ?
опять я не правильно использую Virtual ?
SelectByHandle сделали один раз - все, теперь постоянно находитесь в соответствующем торговом окружении. Пока не сделаете другой Select. Поэтому логично так.
SelectByHandle сделали один раз - все, теперь постоянно находитесь в соответствующем торговом окружении. Пока не сделаете другой Select. Поэтому логично так.
OK, немного начинаю представлять как это работает
тогда из КБ пример так работать будет:
тогда из КБ пример так работать будет:
VIRTUAL::NewTick() пробросил свежий тик в виртуалку. SymbolInfoTick подхватит его из виртуалки, т.к. виртуалка выбрана в качестве текущего торгового окружения.
VIRTUAL::NewTick() пробросил свежий тик в виртуалку. SymbolInfoTick подхватит его из виртуалки, т.к. виртуалка выбрана в качестве текущего торгового окружения.
ОК, тогда вообще для простого юзера ничего не нужно делать со своим исходным ЕА
достаточно так написать в OnInit()