|
From: Colin D. <co...@ma...> - 2019-10-01 13:54:21
|
TCP FIN is not a QFJ message, it's a socket-level message. It indicates the end of a particular transmission. Their logs are too detailed, at least from the point-of-view of QFJ. You need to know the contents of the whole TCP message, not a single packet. Ask if they can send you the FIX message that causes the disconnection, if there is one. On 10/1/19 1:45 AM, 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? > > Regards, > Pavel > > > _______________________________________________ > Quickfixj-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfixj-users -- Colin DuPlantis Chief Architect, Marketcetera Download, Run, Trade 888.868.4884 https://www.marketcetera.com |
|
From: Christoph J. <chr...@ma...> - 2019-10-01 20:39:14
|
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 01.10.19 15:54, Colin DuPlantis wrote: > QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ > QuickFIX/J Support: http://www.quickfixj.org/support/ > > > > TCP FIN is not a QFJ message, it's a socket-level message. It indicates the end of a particular > transmission. > > Their logs are too detailed, at least from the point-of-view of QFJ. You need to know the contents > of the whole TCP message, not a single packet. > > Ask if they can send you the FIX message that causes the disconnection, if there is one. > > On 10/1/19 1:45 AM, 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? >> >> Regards, >> Pavel >> >> >> _______________________________________________ >> Quickfixj-users mailing list >> Qui...@li... >> https://lists.sourceforge.net/lists/listinfo/quickfixj-users > -- > Colin DuPlantis > Chief Architect, Marketcetera > Download, Run, Trade > 888.868.4884 > https://www.marketcetera.com > > > _______________________________________________ > Quickfixj-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfixj-users -- Christoph John Software Engineering T +49 241 557080-28 chr...@ma... MACD GmbH Oppenhoffallee 103 52066 Aachen, Germany www.macd.com Amtsgericht Aachen: HRB 8151 Ust.-Id: DE 813021663 Geschäftsführer: George Macdonald |
|
From: Pavel T. <pav...@wh...> - 2019-10-02 07:03:28
|
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
|
|
From: Christoph J. <chr...@ma...> - 2019-10-02 10:21:15
|
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: > publicvoidsendNewOrderSingle(Stringp, charSideValue, charOrdTypeValue, doubleprice, > doubleOrderQty) throwsSessionNotFound { > System.out.println("\nNewOrderSingle"); > // Prepare > StringClOrdID=generateRandomString(20); > LocalDateTimenow=LocalDateTime.now(); > // Save data in Strategy > StrategySwitcher.setClOrdID(p, ClOrdID); > // Build and send request > quickfix.fix44.NewOrderSinglemessage=new quickfix.fix44.NewOrderSingle(); > message.setField(newClOrdID(ClOrdID)); //11 > message.setField(newSecurityID("4001")); //48 > message.setField(newSecurityIDSource("8")); //22 > message.setField(newSymbol(p)); //55 Ticker symbol > message.setField(newSide(SideValue)); //54 Side. 1 = Buy, 2 = Sell > message.setField(newExecInst("H")); > //18 H = Reinstate on System Failure (Do not cancel on disconnect); Q = Cancel on System Failure (Cancel on disconnect) > message.setField(newTransactTime(now)); > //60 Time this order request was initiated/released by the trader, trading system, or intermediary. Ignored by LMAX. > message.setField(newOrderQty(OrderQty)); //38 The number of contracts that an order is for. > message.setField(newOrdType(OrdTypeValue)); > //40 Order type. 1 = Market, 2 = Limit, 3 = Stop, 4 = Stop Limit > switch (String.valueOf(OrdTypeValue)) { > case"2":// LIMIT > message.setField(newPrice(price)); // 44 Price. Required for limit OrdTypes. > break; > case"3":// STOP > message.setField(newStopPx(price)); // 99 StopPx. Required for stop OrdTypes. > break; > } > message.setField(newTimeInForce(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 list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfixj-users -- Christoph John Software Engineering T +49 241 557080-28 chr...@ma... MACD GmbH Oppenhoffallee 103 52066 Aachen, Germany www.macd.com Amtsgericht Aachen: HRB 8151 Ust.-Id: DE 813021663 Geschäftsführer: George Macdonald |
|
From: Colin D. <co...@ma...> - 2019-10-02 14:11:02
|
FIN is a TCP-level message. You're looking at too low a level. There are 1 to several TCP messages that make up a single QFJ message. On 10/2/19 12:03 AM, 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: > publicvoidsendNewOrderSingle(Stringp, charSideValue, charOrdTypeValue, > doubleprice, doubleOrderQty) throwsSessionNotFound { > System.out.println("\nNewOrderSingle"); > // Prepare > StringClOrdID=generateRandomString(20); > LocalDateTimenow=LocalDateTime.now(); > // Save data in Strategy > StrategySwitcher.setClOrdID(p, ClOrdID); > // Build and send request > quickfix.fix44.NewOrderSinglemessage=new quickfix.fix44.NewOrderSingle(); > message.setField(newClOrdID(ClOrdID)); //11 > message.setField(newSecurityID("4001")); //48 > message.setField(newSecurityIDSource("8")); //22 > message.setField(newSymbol(p)); //55 Ticker symbol > message.setField(newSide(SideValue)); //54 Side. 1 = Buy, 2 = Sell > message.setField(newExecInst("H")); > //18 H = Reinstate on System Failure (Do not cancel on disconnect); Q = Cancel on System Failure (Cancel on disconnect) > message.setField(newTransactTime(now)); > //60 Time this order request was initiated/released by the trader, trading system, or intermediary. Ignored by LMAX. > message.setField(newOrderQty(OrderQty)); > //38 The number of contracts that an order is for. > message.setField(newOrdType(OrdTypeValue)); > //40 Order type. 1 = Market, 2 = Limit, 3 = Stop, 4 = Stop Limit > switch (String.valueOf(OrdTypeValue)) { > case"2":// LIMIT > message.setField(newPrice(price)); > // 44 Price. Required for limit OrdTypes. > break; > case"3":// STOP > message.setField(newStopPx(price)); > // 99 StopPx. Required for stop OrdTypes. > break; > } > message.setField(newTimeInForce(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 list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfixj-users -- Colin DuPlantis Chief Architect, Marketcetera Download, Run, Trade 888.868.4884 https://www.marketcetera.com |
|
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
>
>
|
|
From: Christoph J. <chr...@ma...> - 2019-10-02 21:23:49
|
Hi Pavel, maybe you were hitting "reply" instead of "reply to all". But nevermind, maybe our mails crossed. Now to your problem. I think Colin is right in saying that you probably send your orders with a different SessionID. Or you try to send it when the connection is down. Then they should be stored in the message store and sent on next Logon. But this will not work in your case since you send the ResetSeqNumFlag 141=Y on the Logon message. That means the message store will be reset and with it all messages that are contained. The log from LMAX and your events do not match. The LMAX log is from 2019-09-27, your log and events from today. So it is a little hard to put that in relation. Cheers, Chris. On 02.10.19 16:23, Pavel Tashev wrote: > QuickFIX/J Documentation:http://www.quickfixj.org/documentation/ > QuickFIX/J Support:http://www.quickfixj.org/support/ > > > > 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 > <http://fix-order.london-demo.lmax.com/91.215.166.65:443>] > 20191002-12:56:55: MINA session created: local=/167.71.142.68:41860 <http://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 > <http://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 > > -- Christoph John Software Engineering T +49 241 557080-28 chr...@ma... MACD GmbH Oppenhoffallee 103 52066 Aachen, Germany www.macd.com Amtsgericht Aachen: HRB 8151 Ust.-Id: DE 813021663 Geschäftsführer: George Macdonald |
|
From: Colin D. <co...@ma...> - 2019-10-02 15:24:25
|
Does Session.sendToTarget return true or false? You may be setting the wrong sender/target comp ids and the message is never sent. <snip> -- Colin DuPlantis Chief Architect, Marketcetera Download, Run, Trade 888.868.4884 https://www.marketcetera.com |