Форекс стратегии, торговые роботы, индикаторы

Входной параметр Magic Number - что это и как его настроить

Входной параметр Magic Number

Запуская советник на график, первым делом настраивают его входные параметры. Перебирая их, мы обязательно наткнемся на параметр Magic Number (Магический номер) - стандартный параметр для всех советников. В этой статье мы дадим определения Magic Number (мэджик), разберем для чего он нужен и какое значение задать этому параметру.

Что такое Magic Number?

Magic Number - это идентификатор ордера (позиции) в терминале, представляет собой целое число и является одним из параметров ордера. Магический номер есть у всех ордер, и предназначен этот номер для сортировки ордеров на свой / чужой. Если к примеру задать советнику Magic Number = 5, то советник будет открывать свои ордера с идентификатором 5. И если у советника есть трейлинг стоп или подобная функция сопровождения, то сопровождать он будет только свои ордера, а именно ордера с Magic Number = 5.

Magic Number при установке на торговый счет одного советника

Установка одного советника

Если на счете торгует только один советник, можно оставить предустановленное значение магического номера или задать любое другое число. Единственное, нельзя менять магический номер на «ходу», если на счете есть открытые ордера советника, то смена Magic Number приведет к тому, что советник перестанет сопровождать ордера со старым магиком.

Magic Number при установке нескольких советников на один инструмент

Установка советников на один символ

Если вы планируете запустить на одном инструменте (валютной паре) два и более советника, то их магические номера должны быть разные. И при этом не важно, на одном таймфрейме они запущенны или на разных. Если советникам задать одинаковые Magic Number, то они не смогут отличать свои ордера от чужих и это приведет к конфликту. Например первый советник откроет позицию, а второй примет его за свой, и если по стратегии второго советника ордеров не должно быть, то он тут же его закроет. При этом первый советник потеряет свой ордер и может открыть повторно, и если это произойдет, то два советника зациклится и сольют счет.

Magic Number при установке советников на разные инструменты

Установка советников на разные символы

При установке советников на разные инструменты, значение Magic Number можно оставить по умолчанию. В данном варианте каждый советник работает на отдельном инструменте, и тут сортировка ордеров в первую очередь происходит по инструменту. И даже если Магические номера у всех советников будут одинаковые, они все равно не перепутают ордера, потому что каждый робот будет работать только с ордерами своего инструмента.

Естественно это не касается мультивалютных советников, данный тип советника работает сразу с несколькими инструментами, и если их запущенно несколько, то Magic Number обязательно ставим разные.

Магический номер ордеров, открытых в ручную

Магический номер ордеров открытых в ручную

В МетаТрейдер Magic Number имеют все без исключения ордера, в том числе и открытые в ручную. Открытым в ручную ордерам, терминал задает мэджик = 0, без возможности менять это значение. По этому, если вы планируете на одном счете вести ручную торговлю параллельно с торговым роботом, то соответственно магик у советника не должен быть равен нулю.

Часто трейдеры предпочитают открывать ордера в ручную, а сопровождения ордеров передают различным утилитам, например Trade manager. В таком случае, чтоб утилита «видела» и сопровождала открытые в ручную ордера, ей необходимо задать Magic Number = 0.

Бывают случаи когда советнику нужно добавить ордер, и мы открываем ордер в ручную. Но тут возникает проблема, советник не примет этот ордер, потому что магик ордера будет равен нулю. Эту проблему может решить наш скрипт Open Orders By Magic, позволяющий открыть ордер с любым магическим номером.

Если в настройках советника нет параметра Magic Number

Нет параметра Магический номер

Некоторые разработчики торговых роботов не выводят Magic Number во входные параметры. Это не означает что его нет в советнике, он есть, и он вшит в код.

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

Так же некоторые разработчики сеточных советников используют Magic Number для сортировки своих ордеров. Магический номер такого советника динамический, и советник задает номер ордеру в зависимости от шага сетки или серии ордеров. В таком варианте советник определяет свои ордера по инструменту (валютной паре), и естественно на одном инструменте может работать только один советник.

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

Как узнать Magic Number открытого ордера?

Узнать Магический номер

Запуская на счете несколько советников, время от времени нужно анализировать их работу, перебирать их открытые и закрытые ордера. Определить какой ордер к какому советнику принадлежит можно так же по их магическому номеру. Наведите курсор на строку с открытым или закрытым ордером, и в подсказке увидите ID эксперта, это и есть Magic Number советника, который открыл данный ордер.

Брокер RoboForex


Смотреть так же:


Комментарии ()