binance_grid_trader icon indicating copy to clipboard operation
binance_grid_trader copied to clipboard

Adding Leverage to Futures Strategies

Open konradgthecoder opened this issue 1 year ago • 3 comments

Hi All,

First off, amazing work here! It's amazing what the open source community can come up with :)

I'm wondering if anyone figured out how to extend this API to add the option to adjust leverage on positions?

It would be awesome if someone already figured this out as I'm still learning the codebase and am having trouble adjusting this parameter.

For now, I am adding these functions to the gateways. I call them right before adding the request from send_order:

    def change_leverage(self, symbol: str, leverage: int):
        """
        Change leverage for a specific symbol.
        """
        data = {
            "security": Security.SIGNED
        }

        params = {
            "symbol": symbol,
            "leverage": leverage
        }

        self.add_request(
            method="POST",
            path="/fapi/v1/leverage",
            callback=self.on_change_leverage,
            data=data,
            params=params
        )

    def on_change_leverage(self, data, request):
        """
        Callback for leverage change.
        """
        self.gateway.write_log(request.params)

Unfortunately I see my orders are created without leverage. Does anyone have any ideas how to implement this?

konradgthecoder avatar Jun 28 '24 11:06 konradgthecoder

Some logs from my debugger:

Attempting to change leverage with params: {symbol: "NOTUSDT", leverage: 10}

these are the params I'm passing to add_request.

konradgthecoder avatar Jun 28 '24 11:06 konradgthecoder

excellent.

51bitquant avatar Mar 06 '25 12:03 51bitquant

May I ask where the change_leverage function should be called? Thank you very much!

XliOK avatar Apr 10 '25 07:04 XliOK