Removed support for X-HTTP-Method-Override causes my bots to stop working

Binance just stripped the support for override method, that helped bypassing
limitations of inability to send DELETE commands on my trading platform.

The method i was using for 2 years was to use POST method, but to add to
the HEADER:

“\r\nX-HTTP-Method-Override: DELETE”

This is widely accepted standard, but for at least 6 days it was stripped from the
Binance API. There is no DELETE method in MQL4/5 language so I cannot
change it on my end.

I had to hide my Tradecraft Free Bitcoin Trading Bots from MQL5 Market (you can still google it)
(5.0/5.0 rating) as they are no longer able to cancel orders and
I had to hold all my trading on my Tradecraft Bitcoin commercial version.

Proof that X-HTTP-Method-Override is widely accepted method:

HTTP PUT or DELETE not allowed? Use X-HTTP-Method-Override for your REST
Service with ASP NET Web API

“The REST Services API has built-in support the X-HTTP-Method-Override
header. Sometimes because of a browser or client limitation, sometimes
because of a really tense corporate firewall you can’t work with PUT or
DELETE methods in your REST Service.”

Your platform’s API stopped supporting “X-HTTP-Method-Override: DELETE”.
Now it treats those calls as normal POST calls
instead of DELETE - this is why it was asking me for additional
information, because it interpreted my actions, as I would want to open
an order, not cancel it.

I managed to stop and cancel the trades of my full version of the bot by transferring the calls by php script by my apache www server. The problem is that there are still free version users that are stuck with the orders that bot cannot cancel now. I have no way of contacting them or helping them. If we have an altcoin dump - they will be all under water.

Could you kindly restore support for the X-HTTP-Method-Override support
to your trading API? It is not like it lowers the security or anything
and it was working fine with Binance API for years. If you restore the support,
all the users of the free version of the bot will be instantly safe, bot will close all unnecessary orders.

Thank you for your feedback. We recommend client sending request with action by standard, deleting order has to be a DELETE action. With X-HTTP-Method-Override, it’s really hard to debug/inspecting and cause many confusions.

but mql4/mql5 languages dont support putting DELETE requests. The only way to deal with this is to either use override method or DLL solution. MQL5 market, where I placed my free bot doesn’t support DLL solutions. So either Override method is replaced or I will have to remove free version of my bot from MQL5 market. I was already forced to hide it not to trap other users in impossible positions.

Why use for 1 or 2 command the DELETE method? On all other exchanges order delete is just another POST method. Not only MQL is know to have problems with non-standard POST/GET methods. This is exactly why method override was invented.
Why suddenly remove the support for override, when it was working like that for 2+ years without any problems? There are some products that are already based on that method and it is unfair to your clients to just cancel it outright without giving us any notice. I would consider it a bad and unfair practice.

Do you know why mql4/mql5 not supporting DELETE method, which is a protocol standard.

We follow the RESTful software architectural style when designing the API interfaces. With seperate HTTP methods, we are able to define clean and easy to use endpoints:

// get order
GET /api/v3/order

// post a new order
POST /api/v3/order

// delete a order
DELETE /api/v3/order

I’m not sure how others implementing endpoint of deleting order, but we don’t receive complains or confusing from this DELETE method.

The facts are:

  1. You deleted method that was avaliable for devs and customers for 2 years.
  2. You deleted that method without a notice.
  3. You deleted that method without informing devs/clients who were using it (you could actually write a little script that would list all the people who use override and send them automated emails). Instead you caused their accounts to be filled with orders the automated system could not delete. Until now I though Binance staff is extremely competent.
  4. Metatrader doesnt have DELETE method and Metatrader platform is the biggest non-web trading platform in the world that is 15 years on the market. You are cutting off Binance from potential thousands of clients, especially when we will be in the in the bubble and bitcoin will be a hottopic, that would advertise Binance exchange on their MQL5 Market completely for free. Especially if someone were to create a free library on the MQL5 market website that would allowto use your API easily, which I could do, if you restorethe Override command.

Please tell me that these are good customer and business practices.
As a creator of first Binance bo ton the MQL5 market (rated 5/5) I was getting many requests from other devs to make my methods of accessing Binance available to them. If you really need more people complaining I will just write them to join me in this fight. Because I will not stop creating topics on your Twitter, CZ’s Twitter or this forum or service desk until this simple request is met or some other method is made available for environments that don’t support DELETE command.

I will not stop fighting for my clients and your potential clients.

we will look into it.

We have put this into the todo list, but no ETA. @angree

1 Like

Thank You VERY MUCH!
As a token of my gratitude, as soon as this is fixed, I will create a free libraries for Metatrader 4 and 5, so that everyone can start creating trading bots for Binance under Metatrader 4/5 platform.

Thank You, for reconsidering.

@angree
Hi Angree, this should now be fixed in production. Could you try using X-HTTP-Method-Override and let us know if it’s working like it was before?

@Ninj0r
Just made a test. It seems that is is working!!
Thank You guys so much.

When I make libraries for trading with Binance on Metatrader platform and publish it on MQL5.com and maybe GitHub, do I send link to Binance somehow? I remember there was some website that was congregating these solutions for different programming languages but i think it was just a post with programming competition results and links.

@angree
Thank you very much for this offer; let me sync on my side on how to move forward and I will get back to you 1:1.