I used this code: for balance in balance_info:
    if balance['asset'] == 'USDT':
        usdt_balance = balance['balance']

def get_quantity(symbol, usdt_balance):
    try:
        mark_price_data = client.ticker_price(symbol=symbol)
        mark_price = float(mark_price_data['price']) if 'price' in mark_price_data else 0.0

        token_price = mark_price
        margin = 50  # Update this value as per your risk tolerance
        quantity = round(float(usdt_balance) * margin / token_price, 2)
        return quantity
    except BinanceAPIException as e:
        print("Error executing long order:")
print(get_quantity(symbol, usdt_balance))

while True:
    lookback = 10080
    interval = '1m'
    df = get_klines(symbol, interval, lookback)

    if df is not None:
        signals = signal_generator(df)
        order_quantity = get_quantity(symbol, usdt_balance)
        mark_price_data = client.ticker_price(symbol=symbol)
        mark_price = float(mark_price_data['price']) if 'price' in mark_price_data else 0.0
        print(f"The signal time is: {dt.datetime.now().strftime('%Y-%m-%d %H:%M:%S')} Price: [{mark_price}] - Signals: {signals}")

        # Check if signals are ‘buy’ or ‘sell’
        if signals == ['buy'] and order_quantity > 0:
            try:
                client.new_order(symbol=symbol, side='BUY', type='MARKET', quantity=order_quantity)
                print("Long order executed!")
            except BinanceAPIException as e:
                print("Error executing long order:")

        elif signals == ['sell'] and order_quantity > 0:
            try:
                client.new_order(symbol=symbol, side='SELL', type='MARKET', quantity=order_quantity)
                print("Short order executed!")
            except BinanceAPIException as e:
                print("Error executing short order:")
        elif order_quantity <= 0:
            print("Insufficient margin to execute the order.")

    time.sleep(1)

But I getting ERROR:The signal time is: 2023-08-23 00:14:35 Price: [183.1] - Signals: ['sell']
Traceback (most recent call last):
  File "c:\Users\Alan\.vscode\jew_bot\jew_bot\jew_bot.py", line 213, in <module>
    client.new_order(symbol=symbol, side='SELL', type='MARKET', quantity=order_quantity)
  File "C:\Users\Alan\AppData\Roaming\Python\Python311\site-packages\binance\um_futures\account.py", line 113, in new_order
    return self.sign_request("POST", url_path, params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Alan\AppData\Roaming\Python\Python311\site-packages\binance\api.py", line 83, in sign_request  
    return self.send_request(http_method, url_path, payload, special)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Alan\AppData\Roaming\Python\Python311\site-packages\binance\api.py", line 118, in send_request 
    self._handle_exception(response)
  File "C:\Users\Alan\AppData\Roaming\Python\Python311\site-packages\binance\api.py", line 172, in _handle_exception
    raise ClientError(status_code, err["code"], err["msg"], response.headers)
binance.error.ClientError: (400, -2019, 'Margin is insufficient.', {'Date': 'Tue, 22 Aug 2023 21:14:36 GMT', 'Content-Type': 'application/json', 'Content-Length': '46', 'Connection': 'keep-alive', 'Server': 'Tengine', 'x-mbx-used-weight-1m': '-1', 'x-mbx-order-count-10s': '1', 'x-mbx-order-count-1m': '1', 'x-response-time': '5ms', 'Access-Control-Allow-Origin': '*', 'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE, OPTIONS'})