|
|
vasyalСтаж: 5 лет 4 месяцаСообщений: 3 | | | | Добрый день, коллеги.
Пытаюсь имплементировать Replace order request (35=G) на валютном рынке по FIX протоколу:
Sending Single Order:
8=FIX.4.4|9=195|35=D|49=COMP_ID1|56=COMP_ID2|34=2|52=20180730-15:51:50.168|60=20180730-15:51:50.168|11=155150168|40=2|55=USD000UTSTOM |59=3|54=1|38=100|44=58.99|453=2|448=PARTY_1|447=C|452=7|448=PARTY_2|447=D|452=11|10=155|
Биржа присылает ACK: Single Order Reply:
8=FIX.4.4|9=354|35=8|49=COMP_ID2|56=COMP_ID1|34=2|52=20180730-15:51:50.170|8=FIX.4.4|9=313|52=20180730-12:53:49.901|97=Y |1=PARTY_1|6=0|11=155150168|14=0|17=155150168|0|371054087|31=0|32=0|37=371054087|38=100|39=0|40=2|44=58.99|54=1|55=USD000UTSTOM |59=4|60=20180730-12:51:50|150=0|151=100|336=CETS|423=2|453=1|448=PARTY_2|447=D|452=1|526=!ca746b;|625=NORM|9412=160852|10=017|
Отправляем Replace order request, подставив в поле 37 значение из сообщения выше: Sending Replace Order:
8=FIX.4.4|9=203|35=G|49=COMP_ID1|56=COMP_ID2|34=3|52=20180730-15:51:50.186|60=20180730-15:51:50.186 |11=155150186|40=2|37=371054087|55=USD000UTSTOM|54=1|38=100|44=58.99|453=2|448=PARTY_1 |447=C|452=7|448=PARTY_2|447=D|452=11|10=049|
Биржа сразу присылает Canceled: Replace Order Reply:
8=FIX.4.4|9=360|35=8|49=COMP_ID2|56=COMP_ID1|34=3|52=20180730-15:51:50.188|8=FIX.4.4|9=319|52=20180730-12:53:49.901|97=Y |1=PARTY_1|6=0|11=155150168|14=0|17=155150168|4|371054087|31=0|32=0|37=371054087|38=100|39=4|40=2|44=58.99|54=1 |55=USD000UTSTOM|59=4|150=4|151=0|336=CETS|378=97|423=2|453=1|448=PARTY_2|447=D|452=1|526=!ca746b; |625=NORM|768=1|769=20180730-12:51:50|770=2|10=055|
- почему 150=4 (Canceled), а не 150=5 (Replace)?
и дальше получаем Reject: Replace Reply: 8=FIX.4.4|9=277|35=9|49=COMP_ID2|56=COMP_ID1|34=4|52=20180730-15:51:50.194|8=FIX.4.4|9=236|52=20180730-12:53:49.918|11=155150186 |37=371054087|39=4|58=ERROR: (916) Can't withdraw order. The specified order is not active. Current status is 'R'|60=20180730-12:51:50|102=1|434=2|526=!ca746b;|9412=178976|10=087|
| |
|
vasyalСтаж: 5 лет 4 месяцаСообщений: 3 | | | | Вопрос снимается. Причина была в неправильном поле TimeInForce. Я отправлял заявку как 59=3 (Immediate or Cancel), а надо было 59=0 (Day)
| |
|
Zeddeadbabyzedde adСтаж: 6 лет 8 месяцевСообщений: 347 | | | | Ещё причина может быть в частичном, либо полном исполнении перемещаемой заявки.
| |
|
|