Есть еще момент, после того как ордеры перестали модифицироваться и пропали из стакана, они остаются во вкладке торговля, и их от туда невозможно удалить, причем даже после перезапуска терминала и компа. Такая вот чертовщина. Может, кто сталкивался с подобным или разработчики чего скажут.
Подскажите, пожалуйста, в чем может быть проблема?
Видимо у вас демо сервер, у меня тоже непонятно что творится на демо.
Цена уже несколько раз сходила туда сюда, а ордера зависли и не срабатывают и не удаляются.
Видимо у вас демо сервер, у меня тоже непонятно что творится на демо.
Цена уже несколько раз сходила туда сюда, а ордера зависли и не срабатывают и не удаляются.
Да, Сергей, на демо. Похоже тут какая-то проблема с ордерами. Не модифицируются (хотя функция модификации возвращает "тру"), из стакана исчезают не пойми куда, а во вкладке торговля остаются как вкопанные - ни чем не удалить. Причем весной тестировал подобный алгоритм с модификацией ордеров (тоже на демке) такого не возникало. Ну разве что один раз за полмесяца тестирования ордер тоже куда-то пропал, только я не обратил тогда внимания и не стал разбираться - зря видать. А теперь подобные выпады случаются по несколько раз за сессию, может дело в новом билде? Интересно у разработчиков терминала есть мысли по этому поводу?
Михаил, я это не отрицаю. Модификации работают как надо, всё четко, но до поры до времени. В течении дня пару раз наступает какой-то момент (хорошо бы понять какой, всё не могу отследить) и модификация не происходит, ордер зависает на одном месте в стакане, а потом и во все исчезает из стакана. А в это время журнал терминала рапортует о том, что отдаются запросы на модификацию, сообщает, что ордер якобы размещен и изредка выдает сообщение, что модификация не удалась (см. ниже).
HP022:01:02.604Trades'1007836': modify order #20484688 sell limit 1.00 LKOH-9.15 at 23916 sl: 0 tp: 0 -> 23691, sl: 0 tp: 0
PO022:01:02.667Trades'1007836': modify order #20484688 sell limit 1.00 LKOH-9.15 at 23916 sl: 0 tp: 0 -> 23691, sl: 0 tp: 0 placed for execution in 59 ms
IL022:01:02.968Trades'1007836': modify order #20484688 sell limit 1.00 LKOH-9.15 at 23916 sl: 0 tp: 0 -> 23697, sl: 0 tp: 0
JK022:01:03.028Trades'1007836': modify order #20484688 sell limit 1.00 LKOH-9.15 at 23916 sl: 0 tp: 0 -> 23697, sl: 0 tp: 0 placed for execution in 59 ms
Видите, у Вас в логе он модифицируется как надо: был 65657, модифицировался на 65659, при следующей модификации он уже с 65659 модифицируется на 66620. Всё четко идет, так в целом и меня работает большую часть дня, но вот когда начинаются глюки...
то начинает происходить то, что описано в моём логе: ордер на 23916, отдает запрос на модификацию на 23691, пишет вроде что запрос принят к исполнению (как у Вас), но при следующей модификации он модифицируется опять со старой цены 23916, а не с новой 23691. И так продолжается до того пока не перезапустишь робота.
Я вчера привел код в соответствии с Вашими рекомендациями. Единственное, что исполнение оставил ORDER_TIME_SPECIFIED_DAY.
Вы же рекомендуете ORDER_TIME_DAY. В таком случае, подскажите, а как быть при типе истечения "ORDER_TIME_DAY", если ордер не успел исполнится сегодня и должен соответственно еще пожить и "помодифицироваться" завтра. По идее же ордер в конце дня будет снят, и на следующий день уже не чему будет модифицироваться. Как Вы это обходите?
Я вчера привел код в соответствии с Вашими рекомендациями. Единственное, что исполнение оставил ORDER_TIME_SPECIFIED_DAY.
Вы же рекомендуете ORDER_TIME_DAY. В таком случае, подскажите, а как быть при типе истечения "ORDER_TIME_DAY", если ордер не успел исполнится сегодня и должен соответственно еще пожить и "помодифицироваться" завтра. По идее же ордер в конце дня будет снят, и на следующий день уже не чему будет модифицироваться. Как Вы это обходите?
Я ничего не обхожу, потому что считаю, что ордер должен "жить" только во время работы биржи.
Не рабочее время - ордер снимается, рабочее - ордер выставляется.
Видимо у вас демо сервер, у меня тоже непонятно что творится на демо.
Цена уже несколько раз сходила туда сюда, а ордера зависли и не срабатывают и не удаляются.
Видимо у вас демо сервер, у меня тоже непонятно что творится на демо.
Цена уже несколько раз сходила туда сюда, а ордера зависли и не срабатывают и не удаляются.
Ребята, щас проверил демо - всё работает.
Ребята, щас проверил демо - всё работает.
Михаил, я это не отрицаю. Модификации работают как надо, всё четко, но до поры до времени. В течении дня пару раз наступает какой-то момент (хорошо бы понять какой, всё не могу отследить) и модификация не происходит, ордер зависает на одном месте в стакане, а потом и во все исчезает из стакана. А в это время журнал терминала рапортует о том, что отдаются запросы на модификацию, сообщает, что ордер якобы размещен и изредка выдает сообщение, что модификация не удалась (см. ниже).
HP 0 22:01:02.604 Trades '1007836': modify order #20484688 sell limit 1.00 LKOH-9.15 at 23916 sl: 0 tp: 0 -> 23691, sl: 0 tp: 0
PO 0 22:01:02.667 Trades '1007836': modify order #20484688 sell limit 1.00 LKOH-9.15 at 23916 sl: 0 tp: 0 -> 23691, sl: 0 tp: 0 placed for execution in 59 ms
IL 0 22:01:02.968 Trades '1007836': modify order #20484688 sell limit 1.00 LKOH-9.15 at 23916 sl: 0 tp: 0 -> 23697, sl: 0 tp: 0
JK 0 22:01:03.028 Trades '1007836': modify order #20484688 sell limit 1.00 LKOH-9.15 at 23916 sl: 0 tp: 0 -> 23697, sl: 0 tp: 0 placed for execution in 59 ms
GK 2 22:01:03.029 Trades '1007836': failed modify order #20484688 sell limit 1.00 at 23916.00000 sl: 0.00000 tp: 0.00000 -> 23691.00000, sl: 0.00000 tp: 0.00000 [Invalid request]
CQ 0 22:01:03.132 Trades '1007836': modify order #20484688 sell limit 1.00 LKOH-9.15 at 23916 sl: 0 tp: 0 -> 23691, sl: 0 tp: 0
QQ 0 22:01:03.179 Trades '1007836': modify order #20484688 sell limit 1.00 LKOH-9.15 at 23916 sl: 0 tp: 0 -> 23691, sl: 0 tp: 0 placed for execution in 59 ms
EM 0 22:01:03.602 Trades '1007836': modify order #20484688 sell limit 1.00 LKOH-9.15 at 23916 sl: 0 tp: 0 -> 23697, sl: 0 tp: 0
EM 0 22:01:03.665 Trades '1007836': modify order #20484688 sell limit 1.00 LKOH-9.15 at 23916 sl: 0 tp: 0 -> 23697, sl: 0 tp: 0 placed for execution in 59 ms
Вы исправьте на код, который я Вам дал и проверьте.
Сделайте исправления по истечению ордера, при установке.
И будет всё работать.
У меня ни на демо, ни на реале нет ошибок.
Ребята, щас проверил демо - всё работает.
Видите, у Вас в логе он модифицируется как надо: был 65657, модифицировался на 65659, при следующей модификации он уже с 65659 модифицируется на 66620. Всё четко идет, так в целом и меня работает большую часть дня, но вот когда начинаются глюки...
то начинает происходить то, что описано в моём логе: ордер на 23916, отдает запрос на модификацию на 23691, пишет вроде что запрос принят к исполнению (как у Вас), но при следующей модификации он модифицируется опять со старой цены 23916, а не с новой 23691. И так продолжается до того пока не перезапустишь робота.
Вы исправьте на код, который я Вам дал и проверьте.
Сделайте исправления по истечению ордера, при установке.
И будет всё работать.
У меня ни на демо, ни на реале нет ошибок.
Я вчера привел код в соответствии с Вашими рекомендациями. Единственное, что исполнение оставил ORDER_TIME_SPECIFIED_DAY.
Вы же рекомендуете ORDER_TIME_DAY. В таком случае, подскажите, а как быть при типе истечения "ORDER_TIME_DAY", если ордер не успел исполнится сегодня и должен соответственно еще пожить и "помодифицироваться" завтра. По идее же ордер в конце дня будет снят, и на следующий день уже не чему будет модифицироваться. Как Вы это обходите?
Я вчера привел код в соответствии с Вашими рекомендациями. Единственное, что исполнение оставил ORDER_TIME_SPECIFIED_DAY.
Вы же рекомендуете ORDER_TIME_DAY. В таком случае, подскажите, а как быть при типе истечения "ORDER_TIME_DAY", если ордер не успел исполнится сегодня и должен соответственно еще пожить и "помодифицироваться" завтра. По идее же ордер в конце дня будет снят, и на следующий день уже не чему будет модифицироваться. Как Вы это обходите?
Я ничего не обхожу, потому что считаю, что ордер должен "жить" только во время работы биржи.
Не рабочее время - ордер снимается, рабочее - ордер выставляется.
Опция ORDER_TIME_SPECIFIED_DAY не очень хороша тем, что установив ордер в пределах лимитов, на
следующий день Вы можете выйти за эти лимиты и он просто будет "висеть" неприкаянным.
И всегда, при инициализации нужно проверять, какие параметры поддерживает сервер:
И всегда, при инициализации нужно проверять, какие параметры поддерживает сервер: