2026. június 19., péntek

Automatizált kriptokereskedési bot pythonban

Automatizált kriptokereskedési bot
------------------
import pandas as pd
import time
import random

SYMBOL = "BTCUSDT"
AMOUNT = "0.001"
RSI_PERIOD = 14
RSI_OVERBOUGHT = 70
RSI_OVERSOLD = 30

def get_historical_data(symbol, interval='1h', limit=100):
    prices = [50000 + random.uniform(-1500, 1500) for _ in range(limit)]
    df = pd.DataFrame({"close": prices})
    return df

def calculate_rsi(data, period=14):
    delta = data['close'].diff()
    gain = delta.where(delta > 0, 0).rolling(window=period).mean()
    loss = (-delta.where(delta < 0, 0)).rolling(window=period).mean()
    rs = gain / loss
    rsi = 100 - (100 / (1 + rs))
    return rsi

def execute_trade(symbol, side):
    print(f"{side} megbízás szimulálva: {symbol}, mennyiség: {AMOUNT}")

def run_bot():
    print("Bot elindítva. Szimulált piac figyelése...")
    
    for _ in range(5):
        df = get_historical_data(SYMBOL)

        if df is not None and len(df) >= RSI_PERIOD:
            df['rsi'] = calculate_rsi(df, RSI_PERIOD)
            current_rsi = df['rsi'].iloc[-1]
            current_price = df['close'].iloc[-1]

            print(f"Aktuális ár: {current_price:.2f} USDT | RSI: {current_rsi:.2f}")

            if current_rsi < RSI_OVERSOLD:
                print("Túladott jelzés (Oversold)! Vásárlás indítása.")
                execute_trade(SYMBOL, 'BUY')
            elif current_rsi > RSI_OVERBOUGHT:
                print("Túlvett jelzés (Overbought)! Eladás indítása.")
                execute_trade(SYMBOL, 'SELL')

        time.sleep(1)

if __name__ == "__main__":
    run_bot()
------------------
Bot elindítva. Szimulált piac figyelése...
Aktuális ár: 50005.43 USDT | RSI: 50.68
Aktuális ár: 48799.39 USDT | RSI: 50.64
Aktuális ár: 50946.77 USDT | RSI: 57.57
Aktuális ár: 50651.00 USDT | RSI: 47.77
Aktuális ár: 51060.46 USDT | RSI: 58.72
-----------------

Nincsenek megjegyzések:

Megjegyzés küldése