I used this code : balance_info = client.balance()

usdt_balance = None

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
        quantity = round(float(usdt_balance) * margin / token_price, 2)
        return quantity
    except BinanceAPIException as e:
        if e.code == -2019:
            # Handle the “Margin is insufficient” error
            print("Insufficient margin to place the order.")
        else:
            # Handle other BinanceAPIException errors
            print("Error executing 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}")

    try:
        if signals == ['buy']:
            order = client.new_order(symbol=symbol, side='BUY', type='MARKET', quantity=order_quantity)
            print("Long order executed!")
        elif signals == ['sell']:
            order = client.new_order(symbol=symbol, side='SELL', type='MARKET', quantity=order_quantity)
            print("Short order executed!")

    except BinanceAPIException as e:
        if e.code == -2019:
            # Handle the “Margin is insufficient” error
            print("Insufficient margin to place the order.")
        else:
            # Handle other BinanceAPIException errors
            print("Error executing order:", "-")

    time.sleep(1)


But it giving me ERROR, why you told me that it will doesn't print ERROR, ERROR: The signal time is: 2023-08-22 19:07:56 Price: [185.42] - Signals: ['sell']
Traceback (most recent call last):
  File "c:\Users\Alan\.vscode\jew_bot\jew_bot\jew_bot.py", line 217, in <module>
    order = 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 16:07:56 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': '6ms', 'Access-Control-Allow-Origin': '*', 'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE, OPTIONS'})