Topics

Forum Topics not found

Replies

#EOL
16 Feb 2017, 13:15

RE: RE: RE: RE:

Don't think so.

There is nothing like this in the specification

Try to vote for it, maybe they will add this in the future http://vote.spotware.com/


@#EOL

#EOL
16 Feb 2017, 12:47

RE: RE: RE:

koobobae87 said:

ExecutionReport 에  <field name="PosMaintRptID" required="Y"/> 를 집어 넣으니 작동됨..!

 

Hi, if you use QuickFIX tag PosMaintRptID should be marked as optional (required="N") for NewOrderSingle and ExecutionReport messages


@#EOL

#EOL
13 Feb 2017, 17:00

RE: RE:

mindbreaker said:

Hmm. I will login and logout after send one message if 3) is not possible.

I beleive, some FIX messaging engine like QuickFIX can handle all the heartbits and session management for you


@#EOL

#EOL
13 Jan 2017, 18:40

Check the log. This request works for me

< 8=FIX.4.4|9=133|35=D|49=fxpro.9966948|56=CSERVER|34=5|52=20170113-16:36:07|11=213146745|55=1|54=1|60=20170113-16:36:07|40=3|38=50000|59=1|99=1.07148|10=221|
> 8=FIX.4.4|9=188|35=8|34=7|49=CSERVER|50=TRADE|52=20170113-16:36:07.372|56=fxpro.9966948|11=213146745|14=0|37=90045256|38=50000|39=0|40=3|54=1|55=1|59=1|60=20170113-16:36:07.353|99=1.07148|150=0|151=50000|10=069|

The same in FIX parser


@#EOL

#EOL
08 Jan 2017, 15:39

First of all, do you receive any response from the server?

Take a look on logs of the request that works for me. First, I created a new limit order with unique ClOrdID (tag 11), received an execution report, requested OrderStatusRequest by using the same ClOrdID and received the same execution report:

< 8=FIX.4.4|9=147|35=D|49=icmarkets.3254201|56=CSERVER|34=12|52=20170108-13:20:41|57=TRADE|11=1476626810|38=1000|40=2|44=1.06197|54=2|55=1|59=1|60=20170108-13:20:41|10=137|
> 8=FIX.4.4|9=192|35=8|34=12|49=CSERVER|50=TRADE|52=20170108-13:20:36.925|56=icmarkets.3254201|11=1476626810|14=0|37=36598412|38=1000|39=0|40=2|44=1.06197|54=2|55=1|59=1|60=20170108-13:20:36.913|150=0|151=1000|10=172|
< 8=FIX.4.4|9=87|35=H|49=icmarkets.3254201|56=CSERVER|34=17|52=20170108-13:22:40|57=TRADE|11=1476626810|10=138|
> 8=FIX.4.4|9=192|35=8|34=16|49=CSERVER|50=TRADE|52=20170108-13:22:35.727|56=icmarkets.3254201|11=1476626810|14=0|37=36598412|38=1000|39=0|40=2|44=1.06197|54=2|55=1|59=1|60=20170108-13:20:36.913|150=0|151=1000|10=177|

The same log in FIX parser

 

try to rearrange tag order in the request. some engines could be sensitive to this


@#EOL

#EOL
27 Dec 2016, 19:42

it would be very strange if Spotware has different implementation of FIX API on demo and live servers

regarding the reject message, you have 267(NoMDEntryTypes)=2 and only one record 269(MDEntryType). Scecify both MDEntryType: 269=0|269=1

8=FIX.4.4|9=113|35=V|34=2|49=fxpro.9999999|50=QUOTE|52=20161013-23:43:09.761|56=CSERVER|262=1|263=1|264=1|146=1|55=1|267=2|269=0|269=1|10=112|

Use FIX parser to make it prettier


@#EOL

#EOL
27 Dec 2016, 19:30

As far as I understand, FIX uses a set of SenderCompIDTargetCompIDTargetSubID and SenderSubID to identify FIX session, thus for each sessions this set should be unique, and according to cTrader FIX spec, SenderSubID could be any string.

Just generate any uniq string before logon and use it as SenderSubID


@#EOL

#EOL
27 Dec 2016, 19:16

if (msg.ToString().Contains("35=A")) //use Message Cracker instead of this
           {      
              msg.SetField(new QuickFix.Fields.TargetSubID("Quote"));
...
           }      

 

i'm not sure if it will work, since TargetSubID is a part of standard header and should be set in every message


@#EOL

#EOL
27 Dec 2016, 19:11

I beleive you can use TimeInForce = Good Till Date (GTD) with expiration time in a few seconds for limit orders if you want them not to be placed for pending execution


@#EOL

#EOL
27 Dec 2016, 19:04

according to the spec, section 4.1.Standard Header, 58=TargetSubID must be assigned to QUOTE for your market data connection (to port 5201 for plain-text and 5211 for SSL) and to TRADE for you trading connection (port 5202 for plain-text and 5212 for SSL)


@#EOL