Всем привет! Вопрос такой, как объединить ордера в группы, для дальнейшей работы с ними. В группе ордера могут меняться например Sell Stop стать рыночным ордером у него может измениться ТП и так далее.
Может, как то можно, маркировать ордера при их открытии. Гуглин ничего не нашёл, может не там ищу, направьте на путь истеный)))
Может номер тикета заносить в массив и с массивом уже работать?
Для чего все это нужно?
Можно по магику выбирать или по комментарию, по символу, по типу. Далее заносите в массив. Массив это уже группировка целая.
Зависит от цели. Если могут быть несколько независимых групп, то можно менять магики. В каждой группе обязательно есть первый, стартовый ордер, его тикет можно использовать для всей группы ордеров связанных каким-то условием с этим стартовым. Можно цену разделить на _Point и получив число типа int его использовать в качестве магика.
В общем вариантов, далеко не один. Выбирай на вкус.
Для чего все это нужно?
Можно по магику выбирать или по комментарию, по символу, по типу. Далее заносите в массив. Массив это уже группировка целая.
Для работы с локирующими ордерами
Зависит от цели. Если могут быть несколько независимых групп, то можно менять магики. В каждой группе обязательно есть первый, стартовый ордер, его тикет можно использовать для всей группы ордеров связанных каким-то условием с этим стартовым. Можно цену разделить на _Point и получив число типа int его использовать в качестве магика.
В общем вариантов, далеко не один. Выбирай на вкус.
Да буду разбираться с массивами, других вариантов не вижу в моей ситуации))
Да буду разбираться с массивами, других вариантов не вижу в моей ситуации))
Так для локирующих как раз удобней использовать тикет того ордера который локируется.
А как их группировать по разным массивам? Хоть так хоть эдак, а придётся ставить условие чтобы сунуть тикет в "свой" массив, а так получается, что если ордер локирующий, тикет того ордера уже известен, остаётся только назначить магик локу и при переборе учитывать какой стартовый, а какой в группе от него...
Одна только проблема, совместно с таким советником сложно поставить другой советник и этим не цеплять ордера другого советника. Сам не очень понял такой каламбур... ладно, надеюсь сможешь и это понять.
Все способы не очень...
Массив теряется при перезапуске и других неприятных коллизиях,
комментарии ордеров могут меняться при частичных закрытиях.
Ну а тикет и магик... Тут тоже есть подводные камни - действие другого советника может вмешаться случайно например...
Запись пары в файл может быть?
Залокировали тикет 5 тикетом 10 - записали в файл "5-10;"
залокировали тикет 10, тикетом 11 - вписали в файл "10-11;".
Закрыли тикет 5 - удалили из файла "5-10" - осталось в файле "10-11;"
Или, если было в файле 5-10; 10-11; и был закрыт 10, то все пары разрушены, и необходимо удалить все записи из файла с вхождением 10 - т.е., удалить все записи - нет парных.
Ну и читаем из файла строки для определения парных.
Первое, что приходит в голову ...
Запись пары в файл может быть?
Залокировали тикет 5 тикетом 10 - записали в файл "5-10;"
залокировали тикет 10, тикетом 11 - вписали в файл "10-11;".
Закрыли тикет 5 - удалили из файла "5-10" - осталось в файле "10-11;"
Или, если было в файле 5-10; 10-11; и был закрыт 10, то все пары разрушены, и необходимо удалить все записи из файла с вхождением 10 - т.е., удалить все записи - нет парных.
Ну и читаем из файла строки для определения парных.
Первое, что приходит в голову ...
Все верно. Ведение таблиц соответствия в памяти плюс запись таблицы в случае изменения в файл (это для случаев нештатного завершения программы)
Да буду разбираться с массивами, других вариантов не вижу в моей ситуации))
А что массивы? Перазапустите эксперта или терминал и все накроется.
Самый простой способ - глобальные переменные. У ордера есть тикет, значит глобальная переменная должна включать тикет ордера, таким образом, имея тикет можно сразу обратиться к глобальной переменной. Этой глобальной переменной присваивается идентификатор группы, это может быть тикет начального ордера группы или время. Так можно к ордеру любое колиячество данных привязать - идентификатор группы, номер ордера в группе.
Так же в комментарий можно писать идентификатор группы и номер ордера в группе.
А что массивы? Перазапустите эксперта или терминал и все накроется.
Массивы, которые при каждом изменении (добавлении/удалении тикета) записываются в файл. То есть все сохранится.
Самый простой способ - глобальные переменные.
Простой, но и непонятный. Какое-то время не открывался терминал - вся информация утеряна, т. к. терминал почистил данные, к которым долго не обращались.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Всем привет! Вопрос такой, как объединить ордера в группы, для дальнейшей работы с ними. В группе ордера могут меняться например Sell Stop стать рыночным ордером у него может измениться ТП и так далее.
Может, как то можно, маркировать ордера при их открытии. Гуглин ничего не нашёл, может не там ищу, направьте на путь истеный)))
Может номер тикета заносить в массив и с массивом уже работать?