Magic Number - страница 4

 
noloxe:

случайный магик точно тому же служит, если нет необходимости хранить в нём информацию

Ну чему - "тому же"? Связывает 2 сделки? Ну так он не случайный, значит.

А если действительно случайный (сгенерированный при старте), то я врагу не пожелаю таким советником 2 сделки вести. Он же при первом нештатном перезапуске перестанет работать!

 

noloxe:

а по вашим советам (использовать тикет) скорее скажешь, что вы не понимаете для чего нужен одноразывый магик...

Помнить тикет - это упрощенный вариант для скрипта "поставили 2 ордера и удалили второй при срабатывании первого". И он не многим хуже варианта с генерацией случайного магика.

Да, не учитывает ролловеры с переоткрытием (есть еще такие?), частичное срабатывание (хотя, почему? второй ордер все равно надо удалить), и еще что-то.

Ну так я его и не советую использовать!

 

Сгенерировать случайный магик для некоего набора оредров/сделок, чтоб потом идентифицировать их общность - это вариант. И даже перезапуск не помешает найти эту группу среди других ордеров (хотя, алгоритм поиска усложнится).

Но ЗАЧЕМ ГЕНЕРИРОВАТЬ ЕГО СЛУЧАЙНО??? Ну объясните мне, ну пожалуйста! 

 

Ну чему - "тому же"? Связывает 2 сделки? Ну так он не случайный, значит.
А если действительно случайный (сгенерированный при старте), то я врагу не пожелаю таким советником 2 сделки вести. Он же при первом нештатном перезапуске перестанет работать!

Связывает не две сделки, а неограниченное число ордеров которые нужно объеденить в одну рыночную сделку. И таких "сделок" может быть неограниченное количество.

При перезапуске советнику безразлично какой у кого магик (осмысленный или случайный) , он просто сортирует ордера по найденым магикам — по каждому (любому) магику идет (любой) набор ордеров это и есть одна сделка, а уже потом, если нужно, можно извлечь закодированную в магик информацию.

Как вы осмысливаете тикеты? Вам безразлично какой номер у какого ордера, главное чтобы они отличались.

Помнить тикет - это упрощенный вариант для скрипта "поставили 2 ордера и удалили второй при срабатывании первого". И он не многим хуже варианта с генерацией случайного магика.

Помнить тикет одного ордера — это вариант для торговли одним ордером на одном инструменте.  Удивлён, что вы не понимаете что такое  арбитраж/портфель/синтетик. 

Да, не учитывает ролловеры с переоткрытием (есть еще такие?), частичное срабатывание (хотя, почему? второй ордер все равно надо удалить), и еще что-то.

Во-первых, ролловеры не редкость, даже появились разновидности памм-ролловеров, которые приходится учитывать и/или исполнять. Во-вторых с чего вы решили что нужно второй ордер удалять? 

Но ЗАЧЕМ ГЕНЕРИРОВАТЬ ЕГО СЛУЧАЙНО??? Ну объясните мне, ну пожалуйста!

Каждая ваша "сделка" (в один момент времени) может состоять из неограниченного числа ордеров, по неограниченному числу инструментов, более того, это количество может изменяться во времени (увеличиваться/уменьшаться), вам нужно вести каждую такую "сделку" по рынку. Тикеты всех сделок могут меняться (и меняются), комментарии всех сделок могут меняться  (и меняются), время открытия/цена могут меняться (и меняются). 

Для сортировки "сделок" остается магик. Каким он будет, абсолютно всё равно — это просто маркер принадлежности ордера к определенному набору сделок. Как его генерировать, тоже, абсолютно всё равно — важна только его неповторимость на определенном участке времени.

Советнику главное отсортировать всю эту кучу "сделок", какой там будет магик или какие тикеты у всех этих ордеров не имеет никакого значения.

Что изменится у вас в советниках если номер тикета будет генерироваться, брокером, случайно? — Ничего.  

 
Есть ещё торговля сериями ордеров в бинарных опционах, где несколько ботов могут вести собственные партии по собственным сигналам. С уникальным мэджиком


noloxe:
И не лень вам развлекать кому нечем заняться по вечерам? Или это ваше развлечение. Тут уже не решается никакая проблема
 
Магик вообще должен быть один на эксперта. Постоянным и неизменным. Только для отделения работы одного эксперта от работы других экспертов.
 
noloxe:

Каждая ваша "сделка" (в один момент времени) может состоять из неограниченного числа ордеров, по неограниченному числу инструментов, более того, это количество может изменяться во времени (увеличиваться/уменьшаться), вам нужно вести каждую такую "сделку" по рынку. Тикеты всех сделок могут меняться (и меняются), комментарии всех сделок могут меняться  (и меняются), время открытия/цена могут меняться (и меняются). 

Для сортировки "сделок" остается магик. Каким он будет, абсолютно всё равно — это просто маркер принадлежности ордера к определенному набору сделок. Как его генерировать, тоже, абсолютно всё равно — важна только его неповторимость на определенном участке времени.

Вы так и не ответили на мой вопрос - зачем его генерировать случайно? Почему не указать в настройках стартовый магик (или лучше - диапазон), и для каждой серии связанных ордеров использовать первый незанятый магик из диапазона?

У этого варианта как минимум два преимущества: всегда понятно, какой советник открыл именно эту серию сделок, и не надо изобретать генерацию.

Какие преимущества у вашего варианта? Зачем перебирать и сортировать все ордера, просто чтоб понять, что это - нужная группа? Зачем допускать возможность непреднамеренного управления одной группой ордеров несколькими советниками? Что вы получаете взамен, кроме отсутствия одного дополнительного параметра?

 
Alexander Puzanov:
Есть ещё торговля сериями ордеров в бинарных опционах, где несколько ботов могут вести собственные партии по собственным сигналам. С уникальным мэджиком


И не лень вам развлекать кому нечем заняться по вечерам? Или это ваше развлечение. Тут уже не решается никакая проблема

Он, по крайней мере, не бросает диалог. Вы так и не ответили на мой вопрос (можете просто сказать, что устали объяснять прописные истины тупице, сойдет),

Проблемы не было изначально. Кто-то придумал, что магик нужно сгенерировать, и все бросились решать задачу, не задумавшись о ее корректности.

 

Вам жеж по-всякому рассказывают, что мэджиком метят не тока экземпляры ботов, это бывает ID процесса или набора сущностей и главное требование здесь - гарантированная уникальность. Если взять узкое применение - уникальный мэджик - задача сформулирована вполне однозначно

Alexander Puzanov:
как двум одинаковым советникам сгенерить себе уникальные мэджики при одновременном запуске?
Ваш вариант
Andrey Khatimlianskii:

Свой алгоритм генерации + GlobalVariableSetOnCondition для устранения конфликтов. 

другой ваш: список номеров + глобальные. Надо ли спрашивать зачем оно всё, если есть готовое гарантированно уникальное число?

Да и в обычных условиях при наличии стада ботов сгенерированный уникальный номер должен быть полезен - не надо доверять следить за мэджиками юзеру, бо сам виноват, если что - это валидная отмазка, но тока до определённой суммы

 

Как потом, в случае перезапуска, узнать какому эксперту какой магик принадлежит? Никак.

Задачи получить уникальный магик вообще в принципе не стоит. Стоит задача отделить работу одного эксперта от другого, ну и естественно исполнить заданный алгоритм. 

 
traderEvgen:
кто-то писал функцию для случайной генерация MagicNumber ?

Тут есть сервисдеск(ом) неотвеченный вопрос:  Какой максимальной длины в цифрах и максимального математического значения может быть 'MagicNumber'?

Если принять что максимальная длина 9 цифр и максимальное значение 999999999, тогда можно использовать Тикет закрытого ордера из истории, или сумму или умножение на некое число и так далее. Главное что всегда можно найти начальную величину для повторного вычисления магика.

 
Alexander Puzanov:

Вам жеж по-всякому рассказывают, что мэджиком метят не тока экземпляры ботов, это бывает ID процесса или набора сущностей и главное требование здесь - гарантированная уникальность.

Вы так и не ответили на мой вопрос - зачем его генерировать случайно? Почему не указать в настройках стартовый магик (или лучше - диапазон), и для каждой серии связанных ордеров использовать первый незанятый магик из диапазона?

У этого варианта как минимум два преимущества: всегда понятно, какой советник открыл именно эту серию сделок, и не надо изобретать генерацию.

Какие преимущества у вашего варианта? Зачем перебирать и сортировать все ордера, просто чтоб понять, что это - нужная группа? Зачем допускать возможность непреднамеренного управления одной группой ордеров несколькими советниками? Что вы получаете взамен, кроме отсутствия одного дополнительного параметра?

 

Alexander Puzanov:

Да и в обычных условиях при наличии стада ботов сгенерированный уникальный номер должен быть полезен - не надо доверять следить за мэджиками юзеру, бо сам виноват, если что - это валидная отмазка, но тока до определённой суммы

Не надо доверять. Надо проверять, не запущен ли другой советник с таким магиком (если работа не подразумевает сопровождение одних ордеров).

А генерировать случайный, опять таки, смысла нет. 

Причина обращения: