Обычно брокер записывает в комментарий к ордеру причину закрытия. Использовать магик хорошее решение. Как то давно уже у разработчиков просили ещё одно поле добавить как раз для вот таких ситуаций, но что то не желают, а было бы так удобно.
Alexey Valeev: Обычно брокер записывает в комментарий к ордеру причину закрытия. Использовать магик хорошее решение. Как то давно уже у разработчиков просили ещё одно поле добавить как раз для вот таких ситуаций, но что то не желают, а было бы так удобно.
Мне, кстати, понравилось решение у одного известного брокера в его REST API. Поле Client Extensions называется. В него можно записать не просто число, а три различных строки. В итоге степеней свободы становится в разы больше. Причем после первой записи значения его можно изменять.
Во-первых, в предлагаемом решении MagicNumber не генерируется (в смысле не создание рандомно), а рассчитывается. В это поле включается:
ID ордеров эксперта
Индекс сетки.
Индекс ордера в сетке.
Таким образом, само значение поля может случайно совпасть с Magic Number другого советника, но ведь идентификация ордера будет происходить не по полному значению поля, а только по его части. То есть совпасть должна именно часть поля, что еще больше уменьшает вероятность случайного совпадения, т. к. для этого у другого советника должен быть аналогичный принцип расчета значения поля. А такой советник (по чистой случайности :))) ) будет разработан тем же разработчиком. Если не сможете сами себя проконтролировать, то да, не вариант. В этом случае вообще о программах говорить не приходится ))
Во-вторых, ID ордеров эксперта требуется только в том случае, если нужно запустить два и более экспертов на одном символе. Если же на одном символе работает только один эксперт, то проблема идентификации ордеров вообще не стоит.
В-третьих, сами для себя навсегда запоминаете (и своим клиентам постоянно напоминаете) о том, что при запуске двух и более экспертов на одном символе нужно обязательно указывать разные идентификаторы для экспертов. В своих экспертах иногда делаю даже специальный функционал, который автоматически проверяет используемые MagicNumber у работающих на этом же символе экспертов. Имеется в виду, что другие эксперты тоже так делают. Для сторонних разработок такую проверку, к сожалению, не сделать. Но со сторонними разработками вообще беда. Есть такие эксперты, которые все ордера считают своими. Здесь защита от дурака никак не сработает.
Благодарю развернутый ответ. Я понял :)
Под словом генерируется я именно расчет и подразумевал, просто неправильно выразился.
Мне, кстати, понравилось решение у одного известного брокера в его REST API. Поле Client Extensions называется. В него можно записать не просто число, а три различных строки. В итоге степеней свободы становится в разы больше. Причем после первой записи значения его можно изменять.
Это было бы вообще идеально. Я с апи одного двоичного брокера работал, так там если мне память не изменяет тоже нечто подобное было.
А вот просто интересно. Если комментарий не желательно использовать в торговых алгоритмах, он может быть затерт при первом-же частичном закрытии, например, то для чего нужна возможность задавать его в OrderSend? Какую информацию можно положить в комментарий с помощью OrderSend, что бы эта возможность считалась использованной по назначению?
Maks_Knyazev: А вот просто интересно. Если комментарий не желательно использовать в торговых алгоритмах, он может быть затерт при первом-же частичном закрытии, например, то для чего нужна возможность задавать его в OrderSend? Какую информацию можно положить в комментарий с помощью OrderSend, что бы эта возможность считалась использованной по назначению?
Да, по факту получается, что заполнять его программно бесполезно, т. к. нет гарантии сохранности информации. А вот анализировать его приходится. Особенно, когда имеешь дело с частичными и встречными закрытиями. В таких случаях это поле содержит информацию об ордерах, связанных с этим ордером.
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Обычно брокер записывает в комментарий к ордеру причину закрытия. Использовать магик хорошее решение. Как то давно уже у разработчиков просили ещё одно поле добавить как раз для вот таких ситуаций, но что то не желают, а было бы так удобно.
Мне, кстати, понравилось решение у одного известного брокера в его REST API. Поле Client Extensions называется. В него можно записать не просто число, а три различных строки. В итоге степеней свободы становится в разы больше. Причем после первой записи значения его можно изменять.
Очень даже вариант.
Во-первых, в предлагаемом решении MagicNumber не генерируется (в смысле не создание рандомно), а рассчитывается. В это поле включается:
Таким образом, само значение поля может случайно совпасть с Magic Number другого советника, но ведь идентификация ордера будет происходить не по полному значению поля, а только по его части. То есть совпасть должна именно часть поля, что еще больше уменьшает вероятность случайного совпадения, т. к. для этого у другого советника должен быть аналогичный принцип расчета значения поля. А такой советник (по чистой случайности :))) ) будет разработан тем же разработчиком. Если не сможете сами себя проконтролировать, то да, не вариант. В этом случае вообще о программах говорить не приходится ))
Во-вторых, ID ордеров эксперта требуется только в том случае, если нужно запустить два и более экспертов на одном символе. Если же на одном символе работает только один эксперт, то проблема идентификации ордеров вообще не стоит.
В-третьих, сами для себя навсегда запоминаете (и своим клиентам постоянно напоминаете) о том, что при запуске двух и более экспертов на одном символе нужно обязательно указывать разные идентификаторы для экспертов. В своих экспертах иногда делаю даже специальный функционал, который автоматически проверяет используемые MagicNumber у работающих на этом же символе экспертов. Имеется в виду, что другие эксперты тоже так делают. Для сторонних разработок такую проверку, к сожалению, не сделать. Но со сторонними разработками вообще беда. Есть такие эксперты, которые все ордера считают своими. Здесь защита от дурака никак не сработает.
Благодарю развернутый ответ. Я понял :)
Под словом генерируется я именно расчет и подразумевал, просто неправильно выразился.
Мне, кстати, понравилось решение у одного известного брокера в его REST API. Поле Client Extensions называется. В него можно записать не просто число, а три различных строки. В итоге степеней свободы становится в разы больше. Причем после первой записи значения его можно изменять.
А вот просто интересно. Если комментарий не желательно использовать в торговых алгоритмах, он может быть затерт при первом-же частичном закрытии, например, то для чего нужна возможность задавать его в OrderSend? Какую информацию можно положить в комментарий с помощью OrderSend, что бы эта возможность считалась использованной по назначению?
Да, по факту получается, что заполнять его программно бесполезно, т. к. нет гарантии сохранности информации. А вот анализировать его приходится. Особенно, когда имеешь дело с частичными и встречными закрытиями. В таких случаях это поле содержит информацию об ордерах, связанных с этим ордером.