Опять MagicNumber ?!

 
Уважаемые разработчики МТ!

Я ставлю отложенные ордера и хочу знать, когда кто-нибудь из них сработал. Самый простой способ, на мой взгляд, для этого - писать в OrderSend в параметры MagicNumber или в коммент ордера, например, 13 :)

Затем эксперт на каждом новом баре смотрит открытые позиции и если видит там в MagicNumber или в комменте ордера 13, то посылает мне СМС и МЕНЯЕТ MagicNumber или коммент ордера на, допустим, 12. Тогда при последующих срабатываниях эксперта на новых барах он не будет мне постоянно слать СМСки.

В связи в этим вопрос: Вы точно не будете делать эти поля (MagicNumber или коммент) в ордере редактируемыми, потому что мне тогда придется искать другие решения. Они, конечно, есть, но все какие-то неоправданно громоздкие (глобальные переменные или массивы с индексами MagicNumber). А то, что я предлагаю, мне кажется простым и ясным.

Собственно, и сейчас можно делать так, как я говорю, только с SL или TP. Просто цены дергать не хочется. Лишняя нагрузка на брокера :)

С уважением, и т.д.
 
Изменение magic number тоже нагрузка на брокера :)
Если в глобальной переменной запоминать время последнего ордера, то вся функциональность по отправке уведомлений о новых ордерах займет 5 строк кода и никакой "неоправданной громоздкости".

int lastOrderOpenTime = GlobalVariableGet("LastOrderOpenTime")
while (...) {
if (OrderOpenTime() > lastOrderOpenTime)  {
   sendEmail(OrderTicket());
   GlobalVariableSet("LastOrderOpenTime", OrderOpenTime())   
}
}
 
Кстати, для моих целей можно было бы использовать arrow_color, т.к. можно модифицировать его, но нет функции, возвращающей его, что-то вроде OrderArrowColor().

Может быть, если уж нельзя по каким-то причинам сделать МагикНомер или коммент ордера редактируемыми, ввести функцию OrderArrowColor(), которая возвращает цвет стрелки предварительно выбранного ордера?
 
Уважаемый Дев!

У глобальных переменных есть один, существенный, на мой взгляд, недостаток - они теряются при перезапуске терминала. Т.е. их необходимо писать в файл, если не хочешь неожиданных артефактов и при каждом новом баре считывать из файла.
Да и вообще, глобальные переменные не соответствуют робастному программированию :) У меня отношение к ним, примерно как к оператору GoTo :)

В то же время решение, которое я предлагаю лишено этого недостатка, т.к. параметры ордера хранятся в ордере (уже открытом или отложенном) на сервере брокера.

Что касается нагрузки на брокера, то, возможно, что за параметры, не изменяющие цен ордера, отвечает компьютер, а не чел. Правда, я этого точно не знаю.
 
Уважаемый Дев!
У глобальных переменных есть один, существенный, на мой взгляд, недостаток - они теряются при перезапуске терминала.


Уважаемый Фалков!
Вы пользуетесь устаревшей информацией - глобальные переменные хранятся неделями после последнего использования.
 
да, действительно, Вы правы в этом!

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

Уважаемый Ренат/Слава, не могли бы вы вмешаться в наш разговор? :)
 
Отослал на "Ошибки и пожелания" просьбу ввести функцию OrderArrowColor()
 
еще можно локально хранить базу в которую добавляешь инфу по неотосланным и удаляешь по уже отосланным смс. появилась 13 - в базу, отправил смс - удалил из базы, база пустая - ничего не делаешь, появилась запись в базе - отправляешь смс
 
так 13 то надо как-то изменить на 12, иначе в следующий раз смотришь - появилась 13, а отсылал ты или нет, откуда узнаешь? Надо значит хранить еще тикет в базе. В общем, опять навороты лишние. А так, как я говорю, просто - появилась 13, послал СМС, изменил на 12 и в следующий раз уже по этому ордеру ничего не отсылаешь. Да и цвет бы ордера подошел бы для этой и других целей, если бы сделали функцию, про которую я говорил.
Причина обращения: