В каком диапазоне можно задавать magic number ордера?

 
В каком диапазоне можно задавать magic number ордера?
 
Присоединяюсь к вопросу. Из встроенного хелпа:

int OrderSend( string symbol, int cmd, double volume, double price, int slippage, 
double stoploss, double takeprofit, string comment=NULL, int magic=0,
datetime expiration=0, color arrow_color=CLR_NONE)
...
magic - Order magic number. May be used as user defined identifier.

Получается, что как минимум любое число типа int можно точно использовать. Может быть, можно еще и строки, но я не проверял: в MQL4 не всегда бывает строгая проверка типов.

Но вот что означает фраза "May be used as user defined identifier" в данном контексте - честно говоря, не знаю...
 
Mathemat:

Но вот что означает фраза "May be used as user defined identifier" в данном контексте - честно говоря, не знаю...
Может быть использован как пользовательский признак различия
 

Интересно, а отрицательный магик можно ставить?

Из справки.
Целые константы могут принимать значения от -2147483648 до 2147483647. Если константа превышает указанный диапазон, то результат не определен.

 
Reshetov:
Может быть использован как пользовательский признак различия
Юрий, правильный перевод-то мне известен: "Может использоваться как идентификатор (имя), определенный юзверем". Мой вопрос касается понимания этой фразы в контексте хелпа к MQL4. Опять смотрим хелп по поводу правил образования идентификаторов:

Identifiers are used as names of variables, functions, and data types. The length of an identifier cannot exceed 31 character.

Symbols you can use: numbers from 0 to 9, Latin capital and small letters a to z, A to Z (recognized as different symbols), the symbol of underlining (_). The first symbol cannot be a number. The identifier must not coincide with any reserved word.

Здесь все понятно и обычно. Не вижу способа, как можно использовать в качестве user defined identifier число, равное, скажем, 175423 (которое может быть magic number). Означает ли это, что magic number может быть просто именем _r2yhJ34 (и только в этом случае использоваться как идентификатор)?

Или это простая констатация возможности определения magic number через #define:

#define MAGIC_NR 66666
?
 
KimIV:

Интересно, а отрицательный магик можно ставить?

Из справки.
Целые константы могут принимать значения от -2147483648 до 2147483647. Если константа превышает указанный диапазон, то результат не определен.

Ну если положительных не хватит на всех экспертов установленных в терминале, то придется переходить на отрицательные. Что тут поделаешь. Такова, как говориться, судьба экспертописателя.
Если и отрицательных тоже не хватит, тогда следует обратиться к разработчикам, дабы они расширили диапазон с 32 битного до 64 или даже 1024 битных целых.
 
Reshetov:
KimIV:

Интересно, а отрицательный магик можно ставить?

Из справки.
Целые константы могут принимать значения от -2147483648 до 2147483647. Если константа превышает указанный диапазон, то результат не определен.

Ну если положительных не хватит на всех экспертов установленных в терминале, то придется переходить на отрицательные. Что тут поделаешь. Такова, как говориться, судьба экспертописателя.
Если и отрицательных тоже не хватит, тогда следует обратиться к разработчикам, дабы они расширили диапазон с 32 битного до 64 или даже 1024 битных целых.
После такой атаки торгового сёрвера с таким количеством экспертов, в лучшем случае закрываетсья ваш счёт,
ну а в худшем .... и другим не сладко придётся :)
придётся по телефону позиции закрывать да и брокера менять :)
 

Отрицательный магик ставится без проблем. Я только-что проверил скриптом на EURUSD.

void start() {
  OrderSend(Symbol(), OP_BUYSTOP, 0.1, 1.33, 3, 0, 0, "", -154578);
}
Причина обращения: