Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Создавать дубликат всей истории в каждом экземпляре бота нет необходимости, раз уж вам так дороги ресурсы. Достаточно запомнить тикет родителя при его открытии и каждого наследника находить через OrderSelect + OrderComment, без прочёсывания OrdersHistoryTotal. Хранить инфо всей цепочки, или только заменять тикет более актуальным - по вкусу
Запомнить где? А перезапуск? А 20 частично закрытых позиций? А 200 ?
Это всё о чём?
Пункт 5 - это работа со своим списком, который один раз на каждом изменении сохраняется.
Где будет сохраняться этот 'свой список'? А перезапуск? А итд?
Это всё о чём?
Где будет сохраняться этот 'свой список'? А перезапуск? А итд?
У меня при перезапуске считывается в список объектов нужная история
При перезапуске вы прочёсываете всю историю, при изменении в истории - опять прочёсываете. Да?
Если при открытии ордера-'папы' записать, напр в глобальные переменные, его тикет, прочёсывать всю историю при перезапуске или при изменении будет не нужно. При запуске нужно будет прочесть тикет из переменной и выбрать ордер по тикету (не прочесать историю циклом, а выбрать конкретный тикет одним оператором), из коммента извлечь тикет следующего, выбрать его (не прочесать историю циклом, а выбрать конкретный тикет одним оператором) итд
При изменении истории тоже не нужно прочёсывать её всю, достаточно выбрать уже известный последний тикет, проверить закрыт/открыт. Итд
Так понятнее? Суть в том чтобы не обслуживать действующую модель вселенной в каждом экземпляре бота методом перебора истории по индексу, а отслеживать конкретный тикет
PS У модераторов здесь повышенная чувствительность к ООП, дак на всякий случай - хранить информацию в структурах очень очень очень удобно :)
---
Достаточно запомнить тикет родителя при его открытии и каждого наследника находить через OrderSelect + OrderComment, без прочёсывания OrdersHistoryTotal.
При перезапуске вы прочёсываете всю историю, при изменении в истории - опять прочёсываете. Да?
Если при открытии ордера-'папы' записать, напр в глобальные переменные, его тикет, прочёсывать всю историю при перезапуске или при изменении будет не нужно. При запуске нужно будет прочесть тикет из переменной и выбрать ордер по тикету (не прочесать историю циклом, а выбрать конкретный тикет одним оператором), из коммента извлечь тикет следующего, выбрать его (не прочесать историю циклом, а выбрать конкретный тикет одним оператором) итд
При изменении истории тоже не нужно прочёсывать её всю, достаточно выбрать уже известный последний тикет, проверить закрыт/открыт. Итд
Так понятнее? Суть в том чтобы не обслуживать действующую модель вселенной в каждом экземпляре бота методом перебора истории по индексу, а отслеживать конкретный тикет
PS У модераторов здесь повышенная чувствительность к ООП, дак на всякий случай - хранить информацию в структурах очень очень очень удобно :)
---
Только при перезапуске цикл.
Если тикет начального ордера сохранён в глобальных, цикл не нужен и при перезапуске
---
Можно обойтись без разбора комментов - присваивать каждому начальному ордеру цепочки персональный MagicNumber, он передаётся наследникам без изменений. Отпадёт необходимость ходить по цепочке родителей/потомков
---
Обычно закрываемая доля лота задаётся настройками - почему не рассчитать кол-во закрытий исходя из незакрытого лота и настроек? История в этом разе не нужна
---
При изменении истории вносится в список объектов только новый. Нет цикла вообще.
Если ТС интересует только кол-во ордеров в цепочке, ему и объекты не нужны, собсно. А если есть необходимость отслеживать свойства открытых позиций (напр изменения TP/SL), как вы будете обходиться без циклов на каждом тике, поделитесь плз
---
Создавать дубликат всей истории в каждом экземпляре бота нет необходимости, раз уж вам так дороги ресурсы. Достаточно запомнить тикет родителя при его открытии и каждого наследника находить через OrderSelect + OrderComment, без прочёсывания OrdersHistoryTotal. Хранить инфо всей цепочки или только заменять тикет более актуальным - по вкусу
OrderSelect() поднимает всё торговое окружение. Это затратная операция. Выбирать ордер нужно тогда, когда без этого не обойтись - при перезапуске и при изменении в истории. При изменении истории цикла нет - вписываются только изменения. И никакого прочёсывания.
В общем, холивар разводить нет желания.