I used your code: def signal_generator(df):
    if df is None or len(df) < 2:
        return ''

    # Retrieve depth data
    depth_data = client.depth(symbol=symbol)
    bid_depth = depth_data['bids']
    ask_depth = depth_data['asks']
    buy_price = float(bid_depth[0][0]) if bid_depth else 0.0
    sell_price = float(ask_depth[0][0]) if ask_depth else 0.0

    buy_qty = sum(float(bid[1]) for bid in bid_depth)
    sell_qty = sum(float(ask[1]) for ask in ask_depth)

    if buy_qty > sell_qty:
        return 'bullish'
    elif sell_qty > buy_qty:
        return 'bearish'

    if signals == 'bullish' and float(mark_price) < buy_price:
        return 'buy'

    elif signals == 'bearish' and float(mark_price) > sell_price:
        return 'sell'
    else:
        return ''
end_time = int(time.time() * 1000)
start_time = end_time - lookback * 60 * 1000
    
TradeType = "BUY" or "SELL"

secret_key = API_KEY_BINANCE  # Replace with your actual secret key obtained from MXC Exchange
access_key = API_SECRET_BINANCE # Replace with your actual access key obtained from MXC Exchange

import binance

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

    if df is not None:
        signals = signal_generator(df)
        print(f"The signal time is: {dt.datetime.now().strftime('%Y-%m-%d %H:%M:%S')} - Signals: {signals}")

        mark_price = client.ticker_price(symbol=symbol)
        
        if signals == 'buy':
            try:
                quantity = 0.1
                client.new_order(symbol=symbol, side='BUY', type='MARKET', quantity=quantity)
                print("Long order executed!")

                stop_loss_price = float(mark_price) - (float(mark_price) * 0.002)
                print(f"Stop loss set at: {stop_loss_price}")

                try:
                    client.new_order(
                        symbol=symbol,
                        side='SELL',
                        type='STOP_MARKET',
                        quantity=0.1,
                        stopPrice=stop_loss_price
                    )
                    print("Stop loss order placed!")
                except binance.error.ClientError as e:
                    print(f"Error placing stop loss order: {e}")

                time.sleep(1)

            except binance.error.ClientError as e:
                print(f"Error executing long order: {e}")
            
            time.sleep(1)

        if signals == 'sell':
            try:
                quantity = 0.1
                client.new_order(symbol=symbol, side='SELL', type='MARKET', quantity=quantity)
                print("Short order executed!")

                stop_loss_price = float(mark_price) + (float(mark_price) * 0.002)
                print(f"Stop loss set at: {stop_loss_price}")

                try:
                    client.new_order(
                        symbol=symbol,
                        side='BUY',
                        type='STOP_MARKET',
                        quantity=0.1,
                        stopPrice=stop_loss_price
                    )
                    print("Stop loss order placed!")
                except binance.error.ClientError as e:
                    print(f"Error placing stop loss order: {e}")

                time.sleep(1)

            except binance.error.ClientError as e:
                print(f"Error executing short order: {e}")
            
            time.sleep(1)
    
    time.sleep(1)
But it doesn't give me signal to buy or sell