Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Попрошу мне не ТЫкать, мы с вами не знакомы!
Не учи меня жить. Обращайся во фриланс.
Я ещё раз прошу, не нужно мне ТЫкать, Я с вами свиней не пас!
Концепция написания робота через аналоги OnTrade ошибочна. Тема немного затрагивалась здесь.
Очередной вызов On-функции никак не должен быть связан с предыдущим. Торговая логика не должна зависеть от запоминания чего угодно в конце On-функции.
Например, в MT5 большинство запоминают тикет OrderSendAsync, чтобы проверить его в OnTradeTransaction. Это принципиально неверный подход.
Торговая логика на каждом вызове On-функции должна полностью считывать торговое окружение. Это основной принцип написания торгового робота. При этом в тестере от этого принципа всегда целесообразно отказаться в пользу повышения скорости выполнения без каких-либо потерь, присущих реалу.
Поэтому в тестере OnCloseOrder может быть реализован, например, через запоминание Ticket и его OrderSelect(Ticket, SELECT_BY_TICKET) - обращения к истории нет.
Что же касается боевой торговой логики, то повторюсь, что никакого запоминания не должно быть. Не реклама, пример такого робота висит здесь - каждый раз считывается торговое окружение и по его результату принимаются Order-решения.
Спасибо )
на счету параленъльно работает несколько роботов и они могут тоже делать ордера и менять OrdersTotal()
и переменная total будет обнуляться при перезагрузке терминала, тогда не избежать потерь, можно конечно сделать через файл, но на каждом тике обращаться к файлу тоже не прибавит скорости.