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

 
lilita bogachkova:

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

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

В МТ5 магик имеет тип ulong, в МТ4 был int (потом, может, изменили на long, не знаю).

Максимальные значения каждого типа можно найти в документации. 

 
Andrey Khatimlianskii:

В МТ5 магик имеет тип ulong, в МТ4 был int (потом, может, изменили на long, не знаю).

Максимальные значения каждого типа можно найти в документации. 

MT4 при магике 9999999999 сервер возвращает: 2147483647, тогда из этой суммы можно отнимать номер тикета из истории и будет уникальный магик.
 
Да! Можно вычесть. Можно прибавить. Но зачем?
 
Dmitry Fedoseev:
Да! Можно вычесть. Можно прибавить. Но зачем?

Я к вопросу подошла как к заданию. 

Польза от такого подхода неизвестна или известна - польза подпитана страхом что ДЦ отслеживает магик и портит жизнь трейдеру :)

 
lilita bogachkova:

Я к вопросу подошла как к заданию. 

Польза от такого подхода неизвестна или известна - польза подпитана страхом что ДЦ отслеживает магик и портит жизнь трейдеру :)

В чем смысл задания было здесь в соседней ветке. Надо было два ордера последовательно открыть, один закрывается, второй открывается.

---

Если в общем, то можно так поступить:

Максимальное значение 2147483647.  8-9-ый знак справа это собственно магик задаваемый в окне свойств - от 100000000 до 990000000. И так далее по паре знаков уже под нужды советника. Пара знаком под идентификатор группы, пара знаков под индекс ордера в группе. В таком стиле примерно. 

 
lilita bogachkova:
MT4 при магике 9999999999 сервер возвращает: 2147483647, тогда из этой суммы можно отнимать номер тикета из истории и будет уникальный магик.

Магик имеет тип int (знаковое целое), а тип int имеет размер 4 байта поэтому у него минимальное значение -2 147 483 648, а максимальное значение 2 147 483 647. Но так как магик не бывает отрицательный то его значение может быть от 0 до 2 147 483 647.

Если бы он имел тип uint то  от 0 до 4 294 967 295 (2 в степени 32)при тех же 4-х байтах. Но этот тип появился сравнительно недавно.

 
Vitalii Ananev:

Магик имеет тип int (знаковое целое), а тип int имеет размер 4 байта поэтому у него минимальное значение -2 147 483 648, а максимальное значение 2 147 483 647. Но так как магик не бывает отрицательный то его значение может быть от 0 до 2 147 483 647.

Если бы он имел тип uint то  от 0 до 4 294 967 295 (2 в степени 32)при тех же 4-х байтах. Но этот тип появился сравнительно недавно.

Можете и отрицательные использовать. Ничего страшного. Работают
Причина обращения: