2026. június 19., péntek

Automatizált kriptokereskedési bot pythonban

A tudományos Python számításokhoz a nyelv egy rendkívül hatékony ökoszisztémát kínál, amely főként nyílt forráskódú könyvtárakon alapul. Ezekkel a matematikai modellezés, a nagy adathalmazok elemzése és a vizualizáció is könnyedén elvégezhető.Alapvető könyvtárakNumPy: A tudományos számítások alapköve. Hatékony, többdimenziós tömböket (array) és lineáris algebrai, valamint Fourier-transzformációs műveleteket biztosít.SciPy: A NumPy-ra épül, és fejlett matematikai algoritmusokat kínál, mint például integrálás, differenciálegyenletek megoldása, optimalizálás és jelfeldolgozás.Pandas: Nélkülözhetetlen eszköz az adatok manipulálásához és elemzéséhez. Különösen erős táblázatos és idősoros adatok kezelésében.Matplotlib & Seaborn: Hatékony könyvtárak adatok vizualizációjára. Segítségükkel grafikonok, diagramok és hőtérképek rajzolhatók közvetlenül a számítási eredményekből.SymPy: Szimbolikus matematikához használható könyvtár, amellyel algebrai kifejezések egyszerűsíthetők, deriválhatók és integrálhatók pontos formában.Népszerű fejlesztői környezetekA tudományos kódok írásához és teszteléséhez a kutatók leggyakrabban az alábbi környezeteket használják:Jupyter Notebook: Egy interaktív webes felület, amely lehetővé teszi, hogy a kódokat, azok kimeneteit (szöveges és grafikus formában), valamint a magyarázatokat egyetlen dokumentumban egyesítsük.Google Colab: Egy felhőalapú Jupyter környezet, amely ingyenes hozzáférést biztosít nagy számítási kapacitáshoz (GPU/TPU) és előre telepített tudományos csomagokhoz.
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