Replies

ctid692448
02 Nov 2021, 11:56 ( Updated at: 21 Dec 2023, 09:22 )

RE:

PanagiotisCharalampous said:

Hi ctid692448,

We consider our implementation correct. Business Message Reject is sent because the order validation fails. You will receive the same message if for example you pass a non existent symbol. We do not event attempt to execute the order, hence you cannot receive an Execution Report. The order cannot be rejected because it is not a valid order, the message is nonsensical.

Best Regards,

Panagiotis 

Join us on Telegram and Facebook

Thanks for answering. It is bad practice because it is not according to FIX standards.

Good practice would be:
Not attempting to execute an order = not executing an order -> sending an order execution with a rejection of the order containing the reason for the rejection.

Please have a look at the link I posted above and scroll a bit down:


There it is extra stated that a business rejection message is not the right answer to a new order single. Please consider making the developers life easier by sticking to broad spread FIX rules being applied by (almost) everyone. You would also do a favor to yourself as a easier to implement cTrader FIX protocol will cause more people using it.


@ctid692448

ctid692448
21 May 2020, 12:44

RE:

PanagiotisCharalampous said:

Hi Jan,

The example you posted does not show the order message, just the cancel message. Tag 41 needs to be tag 11 of your order message.

I also tried to send tag11 as tag41 but it is not working either.

Please provide the sequence of messages where you tried this.

Best Regards,

Panagiotis 

Join us on Telegram

Yes thanks, figured that out finally too. It´s mostly a bit tricky with FIX and it's documentations.


@ctid692448

ctid692448
21 May 2020, 12:43 ( Updated at: 21 Dec 2023, 09:22 )

I figured it out by trial and error. Here is an example that is working:

Cancel request tag 41 must have the value from tag 11 of the previously sent order message.

 


@ctid692448

ctid692448
21 May 2020, 12:21 ( Updated at: 21 Dec 2023, 09:22 )

RE:

PanagiotisCharalampous said:

Hi Jan,

You are passing a wrong ID in tag 47. In Tag 47 you should assign the client order ID (from your order FIX message seems to be 0048402), not the order ID.

Best Regards,

Panagiotis 

Join us on Telegram

I also tried to send tag11 as tag41 but it is not working either.
The example above is from the fix doc and it shows that tag41 is different to tag11 in the cancel request.

Tag41 you get from the server within the execution report. And tag41 matches the order ID shown in cTrader.


@ctid692448

ctid692448
21 May 2020, 11:53

RE:

PanagiotisCharalampous said:

Hi Jan,

The order id in cTrader is different to the one you you are trying to cancel via FIX. In cTrader the order ID is 74625817 but you are trying to cancel an order with an ID 74469463

Best Regards,

Panagiotis 

Join us on Telegram

Hi Panagiotis,

You compared the orderID from yesterday´s log with the one I posted today.

Please compare the orderIDs from the post above.

Order ID cTrader: 74625817

Order ID FIX message: 74625817


@ctid692448

ctid692448
21 May 2020, 11:10 ( Updated at: 21 Dec 2023, 09:22 )

RE:

PanagiotisCharalampous said:

Hi Jan,

Can you please post a screenshot showing the account, the order and the order id in cTrader?

Best Regards,

Panagiotis 

Join us on Telegram

 

Order message:

8=FIX.4.4|9=155|35=D|34=0000002|49=pepperstone.3377170|52=20200521-08:06:44.015|56=cServer|11=0048402|38=0001000|40=2|44=001.09671|59=1|54=1|55=1|60=20200521-08:06:44.015|10=242|

Execution report:

8=FIX.4.4|9=203|35=8|34=2|49=cServer|50=TRADE|52=20200521-08:06:44.076|56=pepperstone.3377170|11=0048402|14=0|37=74625817|38=1000|39=0|40=2|44=1.09671|54=1|55=1|59=1|60=20200521-08:06:44.062|150=0|151=1000|721=40966287|10=005|

Order cancel request:

8=FIX.4.4|9=098|35=F|34=0000003|49=pepperstone.3377170|52=20200521-08:06:44.283|56=cServer|11=1234567|41=74625817|10=196|

Rejection:

8=FIX.4.4|9=160|35=j|34=3|49=cServer|50=TRADE|52=20200521-08:06:44.344|56=pepperstone.3377170|58=ORDER_NOT_FOUND:Order with clientOrderId=74625817 not found.|379=1234567|380=0|10=058|

 


@ctid692448