GCone
-
Posts
3 -
Joined
-
Last visited
Content Type
Profiles
Forums
Blogs
Events
Community Tutorials
Store
Posts posted by GCone
-
-
On 31/08/2023 at 10:17, bug-or-feature said:
Look at the REST API docs, you can see there is no endpoint with URL /workingorders/dma/equity. The endpoint for making OTC working orders is /workingorders/otc. That is why you are getting a 404 error
On 31/08/2023 at 10:17, bug-or-feature said:On 31/08/2023 at 10:17, bug-or-feature said: -
David Gibbs, who used to be a senior software engineer at IG, wrote some code, based on the original femtotrader code, to allow me to place DMA Equity orders. That was back in 2018. There have been no problems with it until recently.
Below, I have shown the output of two logfiles. The first one is when the DMA order placing software worked (as it did from 2018 until some point in 2023). It failed on the first try, but succeeded on the second.
The second file shows that I now receive a 404 error trying to place an order. (The GET function works properly as I am able to retrieve positions). .
I would like to know whether the URL has changed for the POST function. Thank you.
Here is the successful order placing:
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): api.ig.com:443
DEBUG:urllib3.connectionpool:https://api.ig.com:443 "POST /gateway/deal/session HTTP/1.1" 200 337
INFO:place_order_PY:Authenticated to IG session for EC.D.ATOFP.CASH.IP order
DEBUG:urllib3.connectionpool:https://api.ig.com:443 "POST /gateway/deal/workingorders/dma/equity HTTP/1.1" 200 53
DEBUG:urllib3.connectionpool:https://api.ig.com:443 "GET /gateway/deal/confirms/GG7UZEN2HZ3AX HTTP/1.1" 404 60
INFO:trading_ig.rest:Deal reference GG7UZEN2HZ3AX not found, retrying.
DEBUG:urllib3.connectionpool:https://api.ig.com:443 "GET /gateway/deal/confirms/GG7UZEN2HZ3AX HTTP/1.1" 200 266
INFO:place_order_PY:EC.D.ATOFP.CASH.IP Deal ID Create: DIAAAAKHA5NREBAHere is the unsuccessful order placing (showing, however, that I am able to retrieve positions):
DEBUG:urllib3.connectionpool:https://api.ig.com:443 "POST /gateway/deal/session HTTP/1.1" 200 337
DEBUG:urllib3.connectionpool:https://api.ig.com:443 "GET /gateway/deal/positions HTTP/1.1" 200 880
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): api.ig.com:443
DEBUG:urllib3.connectionpool:https://api.ig.com:443 "POST /gateway/deal/session HTTP/1.1" 200 337
INFO:__main__:Authenticated to IG session for EC.D.ATOFP.CASH.IP order
DEBUG:urllib3.connectionpool:https://api.ig.com:443 "POST /gateway/deal/workingorders/dma/equity HTTP/1.1" 404 123
Output from Python console:IGException: <html><head><title>Page Not Found</title><h3>Error 404</h3><h3>Sorry,
the requested page is not available.</h3></body></html>Thank you for your help.
Kevin Brau
"Soft 404" error placing orders starting a few months ago
in IG Technical Support - Platform and App Help
Posted
As you said, the official REST API only support OTC orders, not DMA orders. I cannot trade with OTC orders because I trade small cap equities, which can have enormous spreads.
Furthermore, as I pointed out, /workingorders/dma/equity was an endpoint that used to work from 2018 until around 2023, without any problem. Here is an example of it working:
INFO:place_order_PY:Authenticated to IG session for EC.D.ATOFP.CASH.IP order
DEBUG:urllib3.connectionpool:https://api.ig.com:443 "POST /gateway/deal/workingorders/dma/equity HTTP/1.1" 200 53. (Notice the 200, not 404 code.) I was also able to delete a working/dma/equity via the deal ID, and update it.
If I place a DMA equity order via L2, then deal ID is created, which shows that at least DMA equity orders have not been eliminated. I have read about similar situations where are URL for endpoints is not recognized and no explanation is given. You will never find a reference in the REST API for DMA equity orders enpoints because it is bespoke code, and because there is little demand for it, For me, it's probably a deal breaker.
Anyway, thanks for your response. I believe I have to go back to the REST API team, who have already said "this is not our responsibility". It is possible that a decision was taken to remove the workingordres/dma/equity endpoint. I rule nothing out.