while True: try: # ĐĐŸĐ»ŃŃĐ°Đ”ĐŒ Đ°ĐșŃŃĐ°Đ»ŃĐœŃĐ” ĐŽĐ°ĐœĐœŃĐ” ĐżĐŸ ŃĐ”ĐœĐ” closes = get_klines(symbol, interval, lookback=bollinger_period + rsi_period) signal = trade_signal(closes)
if signal == 'buy' and position is None: # ĐĐŸĐșŃĐżĐ°Đ”ĐŒ, Đ”ŃлО ĐœĐ”Ń ĐŸŃĐșŃŃŃĐŸĐč ĐżĐŸĐ·ĐžŃОО order = place_order(SIDE_BUY, quantity, symbol) if order: buy_price = float(order['fills'][0]['price']) # ĐŠĐ”ĐœĐ° ĐżĐŸĐșŃĐżĐșĐž position = {'side': 'buy', 'price': buy_price} print(f"Bought at {buy_price}")
elif signal == 'sell' and position is not None and position['side'] == 'buy': # ĐŃĐŸĐŽĐ°Đ”ĐŒ, Đ”ŃлО Đ”ŃŃŃ ĐŸŃĐșŃŃŃĐ°Ń ĐżĐŸĐ·ĐžŃĐžŃ sell_price = closes[-1] if sell_price >= position['price'] * take_profit or sell_price <= position['price'] * stop_loss: order = place_order(SIDE_SELL, quantity, symbol) if order: print(f"Sold at {sell_price}") position = None # ĐĐ°ĐșŃŃĐČĐ°Đ”ĐŒ ĐżĐŸĐ·ĐžŃĐžŃ
time.sleep(60) # ĐĐŽĐ”ĐŒ ŃлДЎŃŃŃĐ”Đč ĐŒĐžĐœŃŃŃ ĐŽĐ»Ń ĐœĐŸĐČĐŸĐč ĐżŃĐŸĐČĐ”ŃĐșĐž except Exception as e: print(f"Error in bot logic: {e}") time.sleep(60)