Dukascopy
 
 
Wiki JStore Search Login

(!) java.lang.NullPointerException @ com.dukascopy.api.impl.connect.PlatformOrderImpl.c(L:1161)
 Post subject: (!) java.lang.NullPointerException @ com.dukascopy.api.impl.connect.PlatformOrderImpl.c(L:1161) Post rating: 0   New post Posted: Mon 13 Nov, 2017, 11:37 

User rating: 18
Joined: Thu 20 Apr, 2017, 22:42
Posts: 165
Location: Russian Federation,
Hello,

I did not use BID orders for rather long time (therefore have no idea when that problem started).
Today I tried creating BID order and noticed an error message logged into Message.

It looks like modification of BID order open price causes NullPointerException somewhere internally in PlatformOrderImpl.
It seems that order is being updated anyway, but NPE does not look like a good sign. Please check.

Below is an excerpt from log file.
Platform v3.2.19

2017-11-13 13:27:14.119 DEBUG com.dukascopy.api.impl.connect.PlatformOrderImpl - processing OrderGroupMessage [<OrderGroupMessage(orderGroupId=94726983,instrument=EUR/USD,orders=[<OrderMessageExt(hsexUser=false,executorBlackList=[],boCancelReplace=false,primeBroker=[],wlFilter=false,wlVirtual=false,reverse=false,locked=false,skipRepeat=false,bidOfferCancellReplace=false,properties=[],orderId=399518445,instrument=EUR/USD,amount=10000,side=BUY,priceClient=1.12410,orderGroupId=94726983,direction=OPEN,oco=false,state=EXECUTING,execTimeoutMillis=4666242434176,placeOffer=true,parentOrderId=399518445,mcOrder=false,externalSysId=EURUSD_71113_132325_M_old,rollover=false,fillOrKill=false,immediateOrCancel=false,sessionId=1cf4cd59-d993-4ad8-a232-3769bcd4bdfc,platfTime=Mon Nov 13 13:27:14 EAT 2017,platfBid=1.1642,platfAsk=1.16422,trailSLandTP=false,init=false,internalIp=192.168.0.52,externalIp=46.216.14.68,managerType=TRADER)>],ocoMerge=false,mc=false,externalSysId=EURUSD_71113_132325_M_old,real=false,init=false,managerType=TRADER,timestamp=1510568834115)>]
2017-11-13 13:27:14.119 WARN  com.dukascopy.api.impl.connect.PlatformOrderImpl - pending order update doesn't have timestamp set
2017-11-13 13:27:14.119 DEBUG com.dukascopy.api.impl.connect.PlatformOrderImpl - updating OPENED order with data from PENDING order update message
2017-11-13 13:27:14.119 DEBUG com.dukascopy.api.impl.connect.PlatformOrderImpl - updating order because of changes in sl/tp
2017-11-13 13:27:14.183 DEBUG com.dukascopy.api.impl.connect.PlatformOrderImpl - processing OrderGroupMessage [<OrderGroupMessage(orderGroupId=94726983,instrument=EUR/USD,orders=[<OrderMessageExt(hsexUser=false,executorBlackList=[],boCancelReplace=false,primeBroker=[],wlFilter=false,wlVirtual=false,reverse=false,locked=false,skipRepeat=false,bidOfferCancellReplace=false,properties=[],orderId=399517967,instrument=EUR/USD,amount=10000,side=SELL,priceTrailingLimit=0,priceStop=1.13859,orderGroupId=94726983,direction=CLOSE,stopDirection=GREATER_BID,oco=false,state=PENDING,trades=[],placeOffer=false,parentOrderId=399517967,createdDate=Mon Nov 13 13:23:25 EAT 2017,mcOrder=false,externalSysId=EURUSD_71113_132325_M_old,strategyId=MyJForexPlugin.java 66F948E85732BD15E1653F3A3F2AD263,ifdParentOrderId=399518445,rollover=false,fillOrKill=false,immediateOrCancel=false,sessionId=1cf4cd59-d993-4ad8-a232-3769bcd4bdfc,strategyType=0,trailSLandTP=false,parentAmount=10000,bestBid=1.16395,bestAsk=1.16398,checkTime=1510568630219,init=false,internalIp=192.168.0.52,externalIp=46.216.14.68,platform=DDS3_JFOREX,managerType=TRADER,ts=1510568630219,userId=57849,accountLoginId=46314,timestamp=1510568605509)>, <OrderMessageExt(hsexUser=false,executorBlackList=[],fundAccountId=11536,fundRatio=99,commonId=399518445,boCancelReplace=false,primeBroker=[],wlFilter=false,wlVirtual=false,reverse=false,allowSdex=1,wlPartnerId=63,equity=46556.39,locked=false,skipRepeat=false,bidOfferCancellReplace=false,properties=[],orderId=399518464,instrument=EUR/USD,amount=10000,side=BUY,priceClient=1.12410,orderGroupId=94726983,direction=OPEN,oco=false,state=PENDING,trades=[],execTimeoutMillis=4666242434176,placeOffer=true,parentOrderId=399518464,createdDate=Mon Nov 13 13:27:14 EAT 2017,mcOrder=false,externalSysId=EURUSD_71113_132325_M_old,strategyId=MyJForexPlugin.java 66F948E85732BD15E1653F3A3F2AD263,rollover=false,origAmount=10000,fillOrKill=false,immediateOrCancel=false,sessionId=1cf4cd59-d993-4ad8-a232-3769bcd4bdfc,strategyType=0,trailSLandTP=false,bestBid=1.16395,bestAsk=1.16399,checkTime=1510568834233,init=false,internalIp=192.168.0.52,externalIp=46.216.14.68,platform=DDS3_JFOREX,managerId=0,managerType=TRADER,ts=1510568605504,userId=57849,accountLoginId=46314,timestamp=1510568834233)>],amount=0,pricePosOpen=0,side=LONG,status=OPEN,ocoMerge=false,mc=false,externalSysId=EURUSD_71113_132325_M_old,real=false,accCcy=USD,pricePl=0,init=false,platform=DDS3_JFOREX,managerType=TRADER,ts=1510568605504,userId=57849,accountLoginId=46314,timestamp=1510568834228,counter=3348)>]
2017-11-13 13:27:14.184 ERROR com.dukascopy.api.impl.execution.o -
java.lang.NullPointerException
    at com.dukascopy.api.impl.connect.PlatformOrderImpl.c(L:1161)
    at com.dukascopy.api.impl.execution.o.call(L:108)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at com.dukascopy.api.impl.execution.f$a.f(L:904)
    at com.dukascopy.api.impl.execution.f$a.run(L:926)
    at java.lang.Thread.run(Unknown Source)
2017-11-13 13:27:14.185 ERROR com.dukascopy.dds2.greed.agent.h$b - Exception thrown while running onMessage method: null
java.lang.NullPointerException
    at com.dukascopy.api.impl.connect.PlatformOrderImpl.c(L:1161)
    at com.dukascopy.api.impl.execution.o.call(L:108)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at com.dukascopy.api.impl.execution.f$a.f(L:904)
    at com.dukascopy.api.impl.execution.f$a.run(L:926)
    at java.lang.Thread.run(Unknown Source)
2017-11-13 13:27:14.212 DEBUG com.dukascopy.api.impl.connect.PlatformOrderImpl - processing OrderGroupMessage [<OrderGroupMessage(orderGroupId=94726983,instrument=EUR/USD,orders=[<OrderMessageExt(hsexUser=false,executorBlackList=[],boCancelReplace=false,primeBroker=[],wlFilter=false,wlVirtual=false,reverse=false,locked=false,skipRepeat=false,bidOfferCancellReplace=false,properties=[],orderId=399517967,instrument=EUR/USD,amount=10000,side=SELL,priceTrailingLimit=0,priceStop=1.13859,orderGroupId=94726983,direction=CLOSE,stopDirection=GREATER_BID,oco=false,state=PENDING,trades=[],placeOffer=false,parentOrderId=399517967,createdDate=Mon Nov 13 13:23:25 EAT 2017,mcOrder=false,externalSysId=EURUSD_71113_132325_M_old,strategyId=MyJForexPlugin.java 66F948E85732BD15E1653F3A3F2AD263,ifdParentOrderId=399518464,rollover=false,fillOrKill=false,immediateOrCancel=false,sessionId=1cf4cd59-d993-4ad8-a232-3769bcd4bdfc,strategyType=0,trailSLandTP=false,parentAmount=10000,bestBid=1.16395,bestAsk=1.16398,checkTime=1510568630219,init=false,internalIp=192.168.0.52,externalIp=46.216.14.68,platform=DDS3_JFOREX,managerType=TRADER,ts=1510568630219,userId=57849,accountLoginId=46314,timestamp=1510568605509)>, <OrderMessageExt(hsexUser=false,executorBlackList=[],fundAccountId=11536,fundRatio=99,commonId=399518464,boCancelReplace=false,primeBroker=[],wlFilter=false,wlVirtual=false,reverse=false,allowSdex=1,wlPartnerId=63,equity=46556.39,locked=false,skipRepeat=false,bidOfferCancellReplace=false,properties=[],orderId=399518464,instrument=EUR/USD,amount=10000,side=BUY,priceClient=1.12410,orderGroupId=94726983,direction=OPEN,oco=false,state=EXECUTING,trades=[],execTimeoutMillis=4666242434176,placeOffer=true,parentOrderId=399518464,createdDate=Mon Nov 13 13:27:14 EAT 2017,mcOrder=false,externalSysId=EURUSD_71113_132325_M_old,strategyId=MyJForexPlugin.java 66F948E85732BD15E1653F3A3F2AD263,rollover=false,origAmount=10000,fillOrKill=false,immediateOrCancel=false,sessionId=1cf4cd59-d993-4ad8-a232-3769bcd4bdfc,strategyType=0,trailSLandTP=false,bestBid=1.16395,bestAsk=1.16399,checkTime=1510568834236,init=false,internalIp=192.168.0.52,externalIp=46.216.14.68,platform=DDS3_JFOREX,managerId=0,managerType=TRADER,ts=1510568605504,userId=57849,accountLoginId=46314,timestamp=1510568834236)>],amount=0,pricePosOpen=0,side=LONG,status=OPEN,ocoMerge=false,mc=false,externalSysId=EURUSD_71113_132325_M_old,real=false,accCcy=USD,pricePl=0,init=false,platform=DDS3_JFOREX,managerType=TRADER,ts=1510568605504,userId=57849,accountLoginId=46314,timestamp=1510568834231,counter=3349)>]
2017-11-13 13:27:14.213 DEBUG com.dukascopy.api.impl.connect.PlatformOrderImpl - updating order because of changes in sl/tp


 
 Post subject: Re: (!) java.lang.NullPointerException @ com.dukascopy.api.impl.connect.PlatformOrderImpl.c(L:1161) Post rating: 0   New post Posted: Fri 17 Nov, 2017, 07:54 

User rating: 0
Joined: Wed 05 Nov, 2014, 09:12
Posts: 3
This bug is the absolute BLOCKER. All automated strategies using BID/OFFER orders stopped working, because default exception handler is automatically STOPPING every strategy when this exception happen.

It started at 13-11-2017 and is not connected with newest client API version (tried with older one and it's the same) - this looks like server side bug.
Please correct this ASAP.

Thank you.


 
 Post subject: Re: (!) java.lang.NullPointerException @ com.dukascopy.api.impl.connect.PlatformOrderImpl.c(L:1161) Post rating: 0   New post Posted: Fri 17 Nov, 2017, 14:13 

User rating: 18
Joined: Thu 20 Apr, 2017, 22:42
Posts: 165
Location: Russian Federation,
I think going to "Preferences -> Advanced -> Advanced Settings" and unchecking "Stop strategy on exception" will help you.
It works for me without noticeable side effects.


 
 Post subject: Re: (!) java.lang.NullPointerException @ com.dukascopy.api.impl.connect.PlatformOrderImpl.c(L:1161) Post rating: 0   New post Posted: Tue 02 Jan, 2018, 23:03 

User rating: 0
Joined: Tue 02 Jan, 2018, 23:02
Posts: 4
i'm also having this same issue. is there any way to stop the exception handler from killing strategies when this exception occurs? i run everything from Java, not JForex.


 
 Post subject: Re: (!) java.lang.NullPointerException @ com.dukascopy.api.impl.connect.PlatformOrderImpl.c(L:1161) Post rating: 0   New post Posted: Tue 02 Jan, 2018, 23:05 

User rating: 0
Joined: Tue 02 Jan, 2018, 23:02
Posts: 4
i'm also having this same issue. is there any way to stop the exception handler from killing strategies through the JForex SDK? (i run the strategies as standalone jars, not through jforex)


 

Jump to:  

cron
  © 1998-2024 Dukascopy® Bank SA
On-line Currency forex trading with Swiss Forex Broker - ECN Forex Brokerage,
Managed Forex Accounts, introducing forex brokers, Currency Forex Data Feed and News
Currency Forex Trading Platform provided on-line by Dukascopy.com