I used this code: 
while True:
    if df is not None:
        quantity = bch_amount_rounded / 2
        signals = signal_generator(df)
        mark_price_data = client.ticker_price(symbol=symbol)
        mark_price = float(mark_price_data['price']) if 'price' in mark_price_data else 0.0
        if signals == ['buy'] or signals == ['sell']:
            print(f"The signal time is: {dt.datetime.now().strftime('%Y-%m-%d %H:%M:%S')}, Price {mark_price} - Signals: {signals}")

            if 'buy' in signals and active_signal != 'buy':
                try:
                    active_signal = 'buy'
                    buy_entry_price = mark_price  # Record the Buy entry price
                    print(f"Buy Entry Price: {buy_entry_price}")
                    client.new_order(symbol=symbol, side='BUY', type='MARKET', quantity=quantity)
                    client.new_order(symbol=symbol, side='BUY', type='MARKET', quantity=quantity)
                    print("Long order executed!")
                except binance.error.ClientError as e:
                    print(f"Error executing long order: ")

                if sell_entry_price is not None and buy_entry_price is not None:
                    sell_exit_price = mark_price
                    difference_sell = calculate_percentage_difference_sell(sell_entry_price, sell_exit_price)
                    profit_sell = difference_sell 
                    total_profit_sell = profit_sell
                    profit_sell_percent = total_profit_sell - 4
                    print(f"sell entry price {sell_entry_price}, sell exit price {sell_exit_price} , Sell P&L: {round(total_profit_sell, 2)}%   with fee {round(profit_sell_percent, 2)}%")
                else:
                    print("Sell Entry price or Buy Entry price is not defined.")

                israel = []

                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 = float(bid_depth[0][1]) if bid_depth else 0.0
                sell_qty = float(ask_depth[0][1]) if ask_depth else 0.0
                executed_orders_qty = 0.0
                order_price = buy_price
                order = buy_price and buy_qty
                executed_orders = buy_price == mark_price
                
                for buy_price, buy_qty in bid_depth:
                    if buy_price == mark_price:
                        order = buy_qty
                        executed_orders_buy = order
                buy_qty = float(bid_depth[0][1]) if bid_depth else 0.0
                executed_orders_buy = float(executed_orders_buy) if executed_orders_buy else 0.0
                buy_result = buy_qty - executed_orders_buy

                # Subtract executed order quantity from buy_qty
                buy_qty = float(bid_depth[0][1]) if bid_depth else 0.0
                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

                
                if (buy_result < 0.01 + sell_qty) and (sell_price < mark_price - 0.02):
                        active_signal = None
                        israel.append("Long !!! EXIT !!!")
                        if buy_entry_price is not None and israel is not None:
                            buy_exit_price = mark_price
                            difference_buy = calculate_percentage_difference_buy(buy_entry_price, buy_exit_price)
                            profit_buy = difference_buy 
                            total_profit_buy = profit_buy
                            profit_buy_percent = total_profit_buy - 4
                            try:
                                client.new_order(symbol=symbol, side='SELL', type='MARKET', quantity=quantity)
                            except binance.error.ClientError as e:
                                print(f"Long position successfully exited! ")
                            print(" !!! EXIT !!! ")
                            print(f"Time was : {dt.datetime.now().strftime('%Y-%m-%d %H:%M:%S')}  buy entry price {buy_entry_price}, buy exit price: {mark_price}, Buy P&L: {round(total_profit_buy, 2)}%   with fee {round(profit_buy_percent, 2)}%")
                            buy_entry_price = None
                        else:
                            print("Buy Entry price or Sell Entry price is not defined.")  # Print israel when condition is met
                else: 
                    israel.append('')

            elif 'sell' in signals and active_signal != 'sell':
                try:
                    active_signal = 'sell'
                    sell_entry_price = mark_price  # Record the sell entry price
                    print(f"Sell Entry Price: {sell_entry_price}")
                    client.new_order(symbol=symbol, side='SELL', type='MARKET', quantity=quantity)
                    client.new_order(symbol=symbol, side='SELL', type='MARKET', quantity=quantity)
                    print("Short order executed!")
                except binance.error.ClientError as e:
                    print(f"Error executing short order: ")
                if buy_entry_price is not None and sell_entry_price is not None:
                    buy_exit_price = mark_price
                    difference_buy = calculate_percentage_difference_buy(buy_entry_price, buy_exit_price)
                    profit_buy = difference_buy 
                    total_profit_buy = profit_buy
                    profit_buy_percent = total_profit_buy - 4
                    print(f"buy entry price {buy_entry_price}, buy exit price: {sell_entry_price}, Buy P&L: {round(total_profit_buy, 2)}%   with fee {round(profit_buy_percent, 2)}%")
                else:
                    print("Buy Entry price or Sell Entry price is not defined.")

            
                jerusalem = []

                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 = float(bid_depth[0][1]) if bid_depth else 0.0
                sell_qty = float(ask_depth[0][1]) if ask_depth else 0.0
                executed_orders_qty = 0.0
                order_price = sell_price
                order = sell_price and sell_qty
                executed_orders = sell_price == mark_price
                
                for sell_price, sell_qty in ask_depth:
                    if sell_price == mark_price:
                        order = sell_qty
                        executed_orders_sell = order
                sell_qty = float(ask_depth[0][1]) if ask_depth else 0.0
                executed_orders_sell = float(executed_orders_sell) if executed_orders_sell else 0.0
                sell_result = sell_qty - executed_orders_sell

                # Subtract executed order quantity from sell_qty
                sell_qty = float(ask_depth[0][1]) if ask_depth else 0.0
                sell_price = float(ask_depth[0][0]) if ask_depth else 0.0
                buy_price = float(bid_depth[0][0]) if bid_depth else 0.0

                
                if (sell_result < buy_qty - 0.01) and (buy_price > mark_price + 0.02):
                        active_signal = None
                        jerusalem.append("Short !!! EXIT !!!")
                        if sell_entry_price is not None and jerusalem is not None:
                            sell_exit_price = mark_price
                            difference_sell = calculate_percentage_difference_buy(sell_entry_price, sell_exit_price)
                            profit_sell = difference_sell 
                            total_profit_sell = profit_sell
                            profit_sell_percent = total_profit_sell - 4
                            try:
                                client.new_order(symbol=symbol, side='BUY', type='MARKET', quantity=quantity)
                            except binance.error.ClientError as e:
                                print(f"Short position successfully exited!")
                            print(" !!! EXIT !!! ")
                            print(f"Time was : {dt.datetime.now().strftime('%Y-%m-%d %H:%M:%S')}  sell entry price {sell_entry_price}, sell exit price: {mark_price}, Sell P&L: {round(total_profit_sell, 2)}%   with fee {round(profit_sell_percent, 2)}%")
                            sell_entry_price = None
                        else:
                            print("Buy Entry price or Sell Entry price is not defined.")  # Print israel when condition is met
                else: 
                    jerusalem.append('')

    time.sleep(1)


But I getting ERROR: The signal time is: 2023-10-21 22:50:33, Price 242.98 - Signals: ['sell']
Sell Entry Price: 242.98
Error executing short order:
buy entry price 242.11, buy exit price: 242.98, Buy P&L: 14.37%   with fee 10.37%
Traceback (most recent call last):
  File "c:\Users\Alan\.vscode\jew_bot\jew_bot\jew_bot.py", line 308, in <module>
    executed_orders_sell = float(executed_orders_sell) if executed_orders_sell else 0.0
                                                          ^^^^^^^^^^^^^^^^^^^^
NameError: name 'executed_orders_sell' is not defined. Did you mean: 'executed_orders_buy'?