Изменить тип MagicNumber с int на string.

 
Часто в стратегии не хватает одного MagicNumber.
Необходимо хранить более одного пользовательского значения.
Тип string позволяет хранить много данных через разделитель.
Например MN = "1, 2, 3, 4, 5"
 
MaginNumber имеет тип int и состоит всего из 4х байт.
К сожалению, изменить тип абсолютно невозможно.
 
Ну там поле Tag типа string тоже добавить не получится? ;)
 
Это можно обойти.

Создаем массив или несколько массивов, по 1 строке на ордер.
В массиве храним любые дополнительные характеристики ордера.
Индексом к массиву выступает Маджик (ассоциативный индекс).

Массив можно хранить на диске.

Другой вариант - используем глобальные переменные имя которых состоит из имени переменной + Маджик или номер ордера.

Тут правда вопрос возникает.
Так может накопиться много глобальных переменных,
Каково время их жизни?
Когда и как они уничтожаются?
Можно ли както получить список существующих глобальных переменных?
И т.д.
 
К сожалению я на этом обжегся. Пытался сначала писать номер последнего тикета в глобальную переменную. Тикет брал из SendOrder и проверял, чтобы он был больше 0.
После обрыва и восстановления связи в моих глобальных переменных оказались номера ордеров, которых ни в окне ордеров, ни в окне хистори не наблюдалось.
 
К тому же иногда возникает необходимость отката некоторых сложных действий, если произошла ошибка при выставлении ордера. Это сделать не всегда просто.
 
Ну там поле Tag типа string тоже добавить не получится? ;)

Ну если Вы сможете его уместить и хранить в 4х байтах что есть в ордере.