|
From: Pavel T. <pav...@wh...> - 2019-10-02 14:23:58
|
I receive the messages in my mail box. To reply to your message I hit
"Reply".
Here is the log from LMAX server (they provided it to me):
2019-09-27 UTC 12:54:10.925655 MY_IP_ADDRESS:45007 > LMAX_IP_ADDRESS:20123
8=FIX.4.4|9=114|35=A|34=1|49=MY_USERNAME|52=20190927-12:54:10.837|56=LMXBL|98=0|108=5|141=Y|553=MY_USERNAME|554=###############|10=108|
2019-09-27 UTC 12:54:11.074854 LMAX_IP_ADDRESS:20123 > MY_IP_ADDRESS:45007
8=FIX.4.4|9=77|35=A|49=LMXBL|56=MY_USERNAME|34=1|52=20190927-12:54:11.074|98=0|108=5|141=Y|10=033|
2019-09-27 UTC 12:54:15.830025 MY_IP_ADDRESS:45007 > LMAX_IP_ADDRESS:20123
8=FIX.4.4|9=60|35=0|34=2|49=MY_USERNAME|52=20190927-12:54:15.828|56=LMXBL|10=252|
2019-09-27 UTC 12:54:16.075524 LMAX_IP_ADDRESS:20123 > MY_IP_ADDRESS:45007
8=FIX.4.4|9=60|35=0|49=LMXBL|56=MY_USERNAME|34=2|52=20190927-12:54:16.075|10=247|
2019-09-27 UTC 12:54:20.830474 MY_IP_ADDRESS:45007 > LMAX_IP_ADDRESS:20123
8=FIX.4.4|9=60|35=0|34=3|49=MY_USERNAME|52=20190927-12:54:20.828|56=LMXBL|10=249|
2019-09-27 UTC 12:54:21.075640 LMAX_IP_ADDRESS:20123 > MY_IP_ADDRESS:45007
8=FIX.4.4|9=60|35=0|49=LMXBL|56=MY_USERNAME|34=3|52=20190927-12:54:21.075|10=244|
2019-09-27 UTC 12:54:25.830495 MY_IP_ADDRESS:45007 > LMAX_IP_ADDRESS:20123
8=FIX.4.4|9=60|35=0|34=4|49=MY_USERNAME|52=20190927-12:54:25.828|56=LMXBL|10=255|
2019-09-27 UTC 12:54:26.076542 LMAX_IP_ADDRESS:20123 > MY_IP_ADDRESS:45007
8=FIX.4.4|9=60|35=0|49=LMXBL|56=MY_USERNAME|34=4|52=20190927-12:54:26.076|10=251|
2019-09-27 UTC 12:54:30.829822 MY_IP_ADDRESS:45007 > LMAX_IP_ADDRESS:20123
8=FIX.4.4|9=60|35=0|34=5|49=MY_USERNAME|52=20190927-12:54:30.828|56=LMXBL|10=252|
2019-09-27 UTC 12:54:31.076209 LMAX_IP_ADDRESS:20123 > MY_IP_ADDRESS:45007
8=FIX.4.4|9=60|35=0|49=LMXBL|56=MY_USERNAME|34=5|52=20190927-12:54:31.076|10=248|
2019-09-27 UTC 12:54:35.829791 MY_IP_ADDRESS:45007 > LMAX_IP_ADDRESS:20123
8=FIX.4.4|9=60|35=0|34=6|49=MY_USERNAME|52=20190927-12:54:35.828|56=LMXBL|10=002|
2019-09-27 UTC 12:54:36.076360 LMAX_IP_ADDRESS:20123 > MY_IP_ADDRESS:45007
8=FIX.4.4|9=60|35=0|49=LMXBL|56=MY_USERNAME|34=6|52=20190927-12:54:36.076|10=254|
2019-09-27 UTC 12:54:38.829332 MY_IP_ADDRESS:45007 > LMAX_IP_ADDRESS:20123
8=FIX.4.4|9=69|35=1|34=7|49=MY_USERNAME|52=20190927-12:54:38.828|56=LMXBL|112=TEST|10=034|
2019-09-27 UTC 12:54:38.829466 LMAX_IP_ADDRESS:20123 > MY_IP_ADDRESS:45007
8=FIX.4.4|9=69|35=0|49=LMXBL|56=MY_USERNAME|34=7|52=20190927-12:54:38.829|112=TEST|10=034|
2019-09-27 UTC 12:54:39.830189 MY_IP_ADDRESS:46788 > LMAX_IP_ADDRESS:20113
8=TCP|35=FIN
2019-09-27 UTC 12:54:39.830275 LMAX_IP_ADDRESS:20113 > MY_IP_ADDRESS:46788
8=TCP|35=FIN
On my side Quickfix generates the following events:
8=FIX.4.49=11435=A34=149=tomgranger1152=20191002-12:56:56.63956=LMXBL98=0108=5141=Y553=tomgranger11554=L7qxd6LhnEB9PRD10=105
8=FIX.4.49=7735=A49=LMXBL56=tomgranger1134=152=20191002-12:56:56.86498=0108=5141=Y10=036
8=FIX.4.49=6035=049=LMXBL56=tomgranger1134=252=20191002-12:57:01.86410=235
8=FIX.4.49=6035=034=249=tomgranger1152=20191002-12:57:01.87256=LMXBL10=234
8=FIX.4.49=6035=049=LMXBL56=tomgranger1134=352=20191002-12:57:06.86510=242
8=FIX.4.49=6035=034=349=tomgranger1152=20191002-12:57:06.86956=LMXBL10=246
8=FIX.4.49=6035=049=LMXBL56=tomgranger1134=452=20191002-12:57:11.86610=240
8=FIX.4.49=6035=034=449=tomgranger1152=20191002-12:57:12.62256=LMXBL10=231
8=FIX.4.49=6035=049=LMXBL56=tomgranger1134=552=20191002-12:57:16.86610=246
8=FIX.4.49=6035=034=549=tomgranger1152=20191002-12:57:17.62256=LMXBL10=237
8=FIX.4.49=6935=134=649=tomgranger1152=20191002-12:57:19.62256=LMXBL112=TEST10=012
8=FIX.4.49=6935=049=LMXBL56=tomgranger1134=652=20191002-12:57:19.625112=TEST10=014
and here are the events:
20191002-12:56:55: Session FIX.4.4:tomgranger11->LMXBL schedule is daily,
00:00:00-UTC - 21:30:00-UTC
20191002-12:56:55: Created session: FIX.4.4:tomgranger11->LMXBL
20191002-12:56:55: Configured socket addresses for session: [
fix-order.london-demo.lmax.com/91.215.166.65:443]
20191002-12:56:55: MINA session created: local=/167.71.142.68:41860, class
org.apache.mina.transport.socket.nio.NioSocketSession, remote=
fix-order.london-demo.lmax.com/91.215.166.65:443
20191002-12:56:56: Initiated logon request
20191002-12:56:56: Logon contains ResetSeqNumFlag=Y, resetting sequence
numbers to 1
20191002-12:56:56: Received logon
20191002-12:57:19: Sent test request TEST
The confusing thing is that I don't see log indicating that I send a
request for openning a new order.
Regards,
Pavel
On Wed, Oct 2, 2019 at 1:20 PM Christoph John <chr...@ma...>
wrote:
> Hi,
>
> did you see my other mail on the list? Here again:
>
> ------
> Hi Pavel,
>
> but I take it your session to LMAX could be established correctly and is
> exchanging heartbeats? Can you maybe post your message and event log of the
> relevant points in time? (please do not forget to remove passwords from FIX
> messages if there are any)
>
> Cheers,
> Chris.
>
> ----------
>
> On 02.10.19 09:03, Pavel Tashev wrote:
>
> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
> QuickFIX/J Support: http://www.quickfixj.org/support/
>
>
> Hi,
>
> I use Quickfix/J to send requests to LMAX. Right after openning a new
> order LMAX disconnects me. According to their support, my server sends TCP
> FIN. Here is a log from their server:
>
> 2019-09-27 UTC 12:54:39.830189 MY_IP ADDRESS > THEIR_IP_ADDRESS
> 8=TCP|35=FIN
>
> Why Quickfix/J (installed on my machine) sends a message of type FIN? Here
> is how I open a new order:
> public void sendNewOrderSingle(String p, char SideValue, char OrdTypeValue
> , double price, double OrderQty) throws SessionNotFound
> {
> System.out.println("\nNewOrderSingle");
> // Prepare
> String ClOrdID = generateRandomString(20);
> LocalDateTime now = LocalDateTime.now();
> // Save data in Strategy
> StrategySwitcher.setClOrdID(p, ClOrdID);
> // Build and send request
> quickfix.fix44.NewOrderSingle message = new quickfix.fix44.
> NewOrderSingle();
>
> message.setField(new ClOrdID(ClOrdID)); //11
> message.setField(new SecurityID("4001")); //48
> message.setField(new SecurityIDSource("8")); //22
> message.setField(new Symbol(p)); //55 Ticker symbol
> message.setField(new Side(SideValue));
> //54 Side. 1 = Buy, 2 = Sell
> message.setField(new ExecInst("H"));
> //18 H = Reinstate on System Failure (Do not cancel on disconnect); Q = Cancel on System Failure (Cancel on disconnect)
> message.setField(new TransactTime(now));
> //60 Time this order request was initiated/released by the trader, trading system, or intermediary. Ignored by LMAX.
> message.setField(new OrderQty(OrderQty));
> //38 The number of contracts that an order is for.
> message.setField(new OrdType(OrdTypeValue));
> //40 Order type. 1 = Market, 2 = Limit, 3 = Stop, 4 = Stop Limit
> switch (String.valueOf(OrdTypeValue)) {
> case "2": // LIMIT
> message.setField(new Price(price));
> // 44 Price. Required for limit OrdTypes.
> break;
> case "3": // STOP
> message.setField(new StopPx(price));
> // 99 StopPx. Required for stop OrdTypes.
> break;
> }
> message.setField(new TimeInForce(TimeInForceMap.get(
> "GOOD_TILL_CANCEL")));
> // 59 Specifies how long the order remains in effect. 0 = Day (trading session), 1 = Good Till Cancel (GTC), 3 = Immediate or Cancel (IOC), 4 = Fill or Kill (FOK)
> Session.sendToTarget(message, senderCompID, tradeTargetCompID);
> }
>
> In my case:
> SideValue => SELL which is 2
> OrdTypeValue => LIMIT which is 2
>
>
>
> _______________________________________________
> Quickfixj-users mailing lis...@li...://lists.sourceforge.net/lists/listinfo/quickfixj-users
>
>
> --
> Christoph John
> Software Engineering
> T +49 241 557...@ma...
>
> MACD GmbH
> Oppenhoffallee 103
> 52066 Aachen, Germanywww.macd.com
>
> Amtsgericht Aachen: HRB 8151
> Ust.-Id: DE 813021663
> Geschäftsführer: George Macdonald
>
>
|