Skip to content

squidKid-deluxe/QTradeX-Algo-Trading-SDK

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 QTradeX Core — Build, Backtest & Optimize AI-Powered Crypto Trading Bots

QTradeX Demo Screenshot

📸 See screenshots.md for more visuals
📚 Read the core docs on QTradeX SDK DeepWiki
🤖 Explore the bots at QTradeX AI Agents DeepWiki
💬 Join our Telegram Group for discussion & support


⚡️ TL;DR

QTradeX is a lightning-fast Python framework for designing, backtesting, and deploying algorithmic trading bots, built for crypto markets with support for 100+ exchanges, AI-driven optimization, and blazing-fast vectorized execution.


🎯 Why QTradeX?

Whether you're exploring a simple EMA crossover or engineering a strategy with 20+ indicators and genetic optimization, QTradeX gives you:

✅ Modular Architecture
✅ Tulip + CCXT Integration
✅ Custom Bot Classes
✅ Fast, Disk-Cached Market Data
✅ Near-Instant Backtests (even on Raspberry Pi!)


🔍 Features at a Glance

  • 🧠 Bot Development: Extend BaseBot to craft custom strategies
  • 🔁 Backtesting: Plug-and-play CLI & code-based testing
  • 🧬 Optimization: Use QPSO or LSGA to fine-tune parameters
  • 📊 Indicators: Wrapped Tulip indicators for blazing performance
  • 🌐 Data Sources: Pull candles from 100+ CEXs/DEXs with CCXT
  • 📈 Performance Metrics: Evaluate bots with ROI, Sortino, Win Rate
  • 🤖 Speed: Up to 50+ backtests/sec on low-end hardware

⚙️ Project Structure


qtradex/
├── core/             # Bot logic and backtesting
├── indicators/       # Technical indicators
├── optimizers/       # QPSO and LSGA
├── plot/             # Trade/metric visualization
├── private/          # Execution & paper wallets
├── public/           # Data feeds and utils
├── common/           # JSON RPC, BitShares nodes
└── setup.py          # Install script


🚀 Quickstart

Install

git clone https://github.com/squidKid-deluxe/QTradeX-Algo-Trading-SDK.git QTradeX
cd QTradeX
pip install -e .

🧪 Example Bot: EMA Crossover

import qtradex as qx
import numpy as np


class EMACrossBot(qx.BaseBot):
    def __init__(self):
        self.tune = {"fast_ema": 10, "slow_ema": 50}

    def indicators(self, data):
        return {
            "fast_ema": qx.ti.ema(data["close"], self.tune["fast_ema"]),
            "slow_ema": qx.ti.ema(data["close"], self.tune["slow_ema"]),
        }

    def strategy(self, tick_info, indicators):
        fast = indicators["fast_ema"]
        slow = indicators["slow_ema"]
        if fast > slow:
            return qx.Buy()
        elif fast < slow:
            return qx.Sell()
        return qx.Thresholds(buying=0.5 * fast, selling=2 * fast)

    def plot(self, *args):
        qx.plot(
            self.info,
            *args,
            (
                # key name    label    color   axis idx   axis name
                ("fast_ema", "EMA 1", "white", 0,        "EMA Cross"),
                ("slow_ema", "EMA 2", "cyan",  0,        "EMA Cross"),
            )
        )


# Load data and run
data = qx.Data(
    exchange="kucoin",
    asset="BTC",
    currency="USDT",
    begin="2020-01-01",
    end="2023-01-01"
)
bot = EMACrossBot()
qx.dispatch(bot, data)

🔗 See more bots in QTradeX AI Agents


🚦 Usage Guide

Step What to Do
1️⃣ Build a bot with custom logic by subclassing BaseBot
2️⃣ Backtest using qx.core.dispatch + historical data
3️⃣ Optimize with qpso.py or lsga.py (tunes stored in /tunes)
4️⃣ Deploy live

🧭 Roadmap

  • 📈 More indicators (non-Tulip sources)
  • 🏦 TradFi Connectors: Stocks, Forex, and Comex support

Want to help out? Check out the Issues list for forseeable improvements and bugs.


📚 Resources


📜 License

WTFPL — Do what you want. Just be awesome about it 😎


⭐ Star History

Star History Chart

✨ Ready to start? Clone the repo, run your first bot, and tune away. Once tuned - LET THE EXECUTIONS BEGIN!