Elite Bot

Advanced Automated Cryptocurrency Trading Platform — Complete User Manual
v5.0 PyQt6 15+ Exchanges Windows / Linux
Digitally signed · DennTech Trading Solutions · Windows Authenticode

Table of Contents

  1. Overview & Key Features
  2. System Requirements & Installation
  3. First Launch & Trial Activation
  4. Interface Overview
  5. Exchange Configuration & API Keys
  6. Trading Pair Selection
  7. Strategies Reference
  8. Trade Settings & Order Sizing
  9. Stop Loss & Risk Management
  10. Position Management
  11. Watchlist Management
  12. Advanced Settings
  13. Chart Bridge & Visualization
  14. Theme Customization
  15. Dry Run / Paper Trading
  16. Data Storage & Logs
  17. Troubleshooting

1. Overview & Key Features

Elite Bot is a professional-grade automated cryptocurrency trading platform built for serious traders who demand reliability, flexibility, and depth of control. At its core, Elite Bot connects to live exchange WebSocket feeds, processes real-time market data, evaluates technical indicator signals, and executes buy and sell orders autonomously according to your configured strategy and risk parameters — all without requiring you to watch charts manually.

Unlike many trading bots that lock you into a single exchange or a handful of basic strategies, Elite Bot is engineered for the full spectrum of crypto trading. It supports over 15 major exchanges simultaneously, offers six distinct indicator-driven strategies, and provides a rich graphical interface that gives you complete visibility into every aspect of bot activity at a glance.

Core Features

2. System Requirements & Installation

Minimum Requirements

ComponentMinimumRecommended
Operating SystemWindows 10 (64-bit)Windows 11 / Ubuntu 22.04
RAM4 GB8 GB or more
CPUDual-core 2.0 GHzQuad-core 3.0 GHz+
Disk Space500 MB free2 GB free (for logs and data)
InternetBroadband (stable)Wired connection preferred
Python (source)Python 3.11+Python 3.14

Running from the Compiled EXE (Windows)

The compiled executable DennTechBot_v5.exe bundles all Python dependencies. No installation steps are required. Simply place the EXE and associated saved_data/ folder in the same directory and double-click to launch. Windows Defender may prompt a SmartScreen warning on first run — click "More info" then "Run anyway."

Running from Source

  1. Ensure Python 3.11 or newer is installed. Verify with python --version in a terminal.
  2. Navigate to the Elite_Bot folder in a terminal or PowerShell window.
  3. Create a virtual environment: python -m venv .venv
  4. Activate it: .venv\Scripts\Activate.ps1 (Windows) or source .venv/bin/activate (Linux).
  5. Install dependencies: pip install -r requirements.txt
  6. Launch: python main.py
The bot attempts to launch the PyQt6 dashboard by default. If PyQt6 is unavailable, it automatically falls back to the Tkinter (classic) UI. Set the environment variable DENNTECH_UI=tk to force the Tkinter interface.

3. First Launch & Trial Activation

On your very first launch, the bot checks for a valid license or trial token stored in saved_data/trial.json. If no token is found, an activation dialog appears automatically.

Trial Mode

Elite Bot ships with a built-in trial period. During trial mode, all features are fully functional with no restrictions. The trial token is machine-locked — it is cryptographically tied to your hardware fingerprint using an HMAC signature, which means it cannot be copied to another machine. The remaining trial days are shown in the title bar of the application.

Activating a Full License

  1. Obtain your license key from the DennTech sales portal or email.
  2. Launch the bot. If still in trial mode, go to Help → Activate License from the menu bar.
  3. Paste your license key into the activation field and click Activate.
  4. The bot validates the key against the license server and writes the activation record to saved_data/trial.json. No internet connection is required after initial activation.
  5. Restart the bot to complete activation.
Keep your license key private. Each license allows activation on one machine at a time. Contact support to transfer your license to a new machine.

4. Interface Overview

The Elite Bot interface is organized into a main window with two primary panels — a left control panel and a right monitoring panel — plus a menu bar at the top and a status bar at the bottom.

Menu Bar

Left Panel — Controls

The left panel hosts all trading controls in a vertical layout:

Right Panel — Monitoring

5. Exchange Configuration & API Keys

Before the bot can trade, you must provide API credentials for your chosen exchange. Each exchange requires an API key and a secret key, which you generate in the exchange's account security settings.

Generating Exchange API Keys

Every exchange's process differs slightly, but the general steps are:

  1. Log into your exchange account and navigate to Settings → API Keys (or Security → API Management).
  2. Create a new API key. Give it a descriptive name like "DennTech Bot."
  3. Enable the permissions: View and Trade. Do not enable Withdrawals.
  4. If the exchange supports IP whitelisting, add your machine's IP address for extra security.
  5. Copy the API key and secret key immediately — many exchanges show the secret only once.

Entering Keys in Elite Bot

  1. Select the exchange from the Exchange dropdown in the left panel.
  2. Click Manage API Key in the Actions section.
  3. Paste your API key into the API Key field and your secret into the Secret Key field.
  4. Click Save. Keys are stored encrypted in saved_data/{exchange}_api_keys.json.
Never share your saved_data/ folder or its contents. API keys stored there grant full trade access to your exchange account. Do not enable withdrawal permissions on bot API keys.

Per-Exchange Key Storage

Each exchange maintains its own separate key file. When you switch exchanges from the dropdown, the Manage API Key dialog automatically loads that exchange's previously saved credentials. You can configure and pre-save keys for all exchanges you intend to use before ever starting the bot — they are always available when you switch.

Supported Exchanges Table

ExchangeWebSocketREST FallbackPairs Format
KrakenYesYesBTC/USD
Binance USYesYesBTCUSDT
GeminiYesYesBTCUSD
CoinbaseYesYesBTC-USD
BybitYesYesBTCUSDT
KuCoinYesYesBTC-USDT
OKXYesYesBTC-USDT
BitstampYesYesbtcusd
BitfinexYesYestBTCUSD
Gate.ioYesYesBTC_USDT

6. Trading Pair Selection

The trading pair is the market the bot monitors and trades. For example, BTC/USD means the bot buys and sells Bitcoin using US Dollars as the quote currency. Every strategy calculation, balance display, and order is scoped to this pair.

Searching and Selecting a Pair

  1. Type any part of the pair name into the Trading Pair search field at the top of the left panel. As you type, a suggestion dropdown populates from the exchange's full pair list.
  2. Click any suggestion to select the pair. The bot immediately subscribes to that pair's WebSocket stream and fetches historical OHLCV data for indicator calculations.
  3. The Current Price and Available Balance displays update to reflect the newly selected pair.

Pair Data Loading

When the bot first connects to an exchange (after Enable API is checked), it fetches the full list of available trading pairs and caches them locally as saved_data/{exchange}_pairs.json. If the file already exists, it loads from cache instantly, then refreshes in the background. Pair data refreshes automatically every session.

Timeframe Selection

The timeframe dropdown (inside Trade Settings) controls the candlestick period used for all indicator calculations. Available options: 1m, 5m, 15m, 30m, 1h, 4h, 1d. Shorter timeframes generate more frequent signals — suitable for scalping strategies. Longer timeframes reduce noise — better for trend-following. When you change the timeframe, the bot re-subscribes to the WebSocket at the new interval and refetches historical data.

7. Strategies Reference

Elite Bot ships with six core indicator-based strategies. Each strategy has an independent configuration with per-exchange parameter tuning. Below is a detailed description of each.

RSI — Relative Strength Index

The RSI strategy monitors the RSI oscillator (default period: 14, candle count: 624) to identify overbought and oversold conditions. The bot generates a Buy signal when RSI falls below the oversold threshold (default: 30) and a Sell signal when RSI rises above the overbought threshold (default: 70). RSI ranges from 0 to 100. Values near 0 indicate extreme selling pressure; values near 100 indicate extreme buying pressure. The RSI strategy works best on ranging markets with defined support and resistance levels.

EMA — Exponential Moving Average

The EMA strategy uses a fast and slow EMA crossover. A Buy signal fires when the fast EMA crosses above the slow EMA (bullish crossover). A Sell signal fires when the fast EMA crosses below the slow EMA (bearish crossover). The default candle count is 260. EMA gives more weight to recent prices than SMA, making it more responsive to new trends. This strategy is best suited to trending markets.

MACD — Moving Average Convergence Divergence

MACD combines a fast EMA (12), slow EMA (26), and signal line (9) to detect trend changes and momentum shifts. A Buy signal occurs when the MACD line crosses above the signal line. A Sell signal occurs when the MACD line crosses below the signal line. The histogram (MACD minus signal line) visualizes momentum strength. This strategy captures medium-term trend reversals well and is one of the most widely used indicators in technical analysis.

SMA — Simple Moving Average

Similar to EMA but using an arithmetic mean over N periods. The SMA strategy uses a short and long SMA crossover. Buy when short SMA crosses above long SMA; sell when short SMA crosses below long SMA. SMA is smoother and less reactive than EMA, making it less prone to false signals in choppy conditions. Default candle count: 260.

ATR — Average True Range

ATR measures market volatility. The bot uses ATR to size positions and filter signals — it avoids opening positions when volatility is too high or too low relative to a threshold. Buy and sell conditions are combined with a primary trend indicator. ATR is often used alongside other strategies for risk-adjusted position sizing rather than as a standalone signal generator. Default candle count: 260.

ADX — Average Directional Index

ADX measures trend strength on a scale from 0 to 100. Values above 25 indicate a strong trend; below 20 indicates a weak or ranging market. The bot combines ADX with the +DI and -DI directional movement indicators. A Buy signal fires when ADX is above 25 and +DI crosses above -DI. A Sell signal fires when ADX is above 25 and -DI crosses above +DI. When ADX is below 20, the bot pauses trading to avoid choppy no-trend conditions. Default candle count: 260.

Configuring Strategy Parameters

Each strategy exposes its configurable inputs in the Strategy Parameters panel on the left side. Inputs vary by strategy but typically include period lengths, threshold values, and optional multipliers. After adjusting any value, click Apply to take effect immediately for the current session. Changes are saved to saved_data/strategy_config.json.

Advanced Candle Count Settings

In Advanced Settings → Indicator Candle Counts, you can override the number of historical candles fetched per indicator per exchange. The valid range is 100 to 1000 candles. More candles give indicators more price history to work with, producing more stable values but requiring slightly more initial load time.

8. Trade Settings & Order Sizing

Trade settings control how much the bot spends per order and how orders are sized relative to your available capital.

Trade Amount Mode

Cash Trade (default): You specify fixed dollar amounts for each trade and for the session budget. The bot will not exceed your session limit in cumulative buys.

Percentage Trade: Order sizes are calculated as a percentage of your available session balance, allowing dynamic scaling as your balance grows or shrinks.

Trade Interval

The trade interval (in seconds) controls the minimum time between strategy evaluations. Set to 10 seconds by default. Shorter intervals catch more signals but increase API call frequency. Longer intervals reduce noise. Minimum recommended: 10 seconds. For 1m timeframe trading, 10–30 seconds is appropriate. For 1h timeframe, 60–300 seconds is typical.

Trailing Sell Percentage

Located in Advanced Settings. When set below 100%, the bot uses a trailing sell mechanism — it waits for the price to pull back by the specified percentage from the peak before executing the sell. This lets profitable positions run longer before closing. Set to 100% to sell immediately on signal.

9. Stop Loss & Risk Management

The stop loss engine protects against runaway losses by automatically closing positions when they decline beyond a threshold you define.

Enabling Stop Loss

Check the Stop Loss checkbox in the Stop Loss frame on the left panel. Two sub-options appear:

Trailing Stop Loss

Enable Trailing Stop (in Advanced Settings) to have the stop loss level move upward as the position gains. The trailing stop tracks the highest price reached since entry and sets the stop at (highest price × (1 − stop_percent/100)). This locks in profits as the trade moves in your favor while still protecting the downside.

Stop loss functionality requires an active API connection. In dry run mode, stop losses are simulated without placing real orders. Always test your stop loss settings in dry run mode before live trading.

10. Position Management

The Positions table in the right panel displays all open positions managed by the bot. Each row shows:

Manually Closing a Position

Right-click any position in the table to access the context menu. Select Close Position to immediately place a market sell order for the full quantity. You will be prompted to confirm before the order is sent to the exchange.

Position Data Persistence

All open positions are saved to saved_data/positions.json after every change. If the bot closes unexpectedly, it reloads your positions on next launch and resumes monitoring them for stop loss and sell signals.

11. Watchlist Management

The watchlist lets you monitor live prices for multiple pairs simultaneously, even if only one is the active trading pair.

Adding Pairs to the Watchlist

  1. Type or select a pair in the Trading Pair search field.
  2. Click Add to Watchlist. The pair appears in the watchlist table immediately.
  3. Bid and Last price columns populate within seconds as WebSocket data arrives.

Switching the Active Pair

Click any row in the watchlist to instantly switch the bot's active pair to that selection. The strategy, price display, and chart all update to reflect the new pair.

Removing Pairs

Select the pair in the watchlist table and click Remove Selected. The pair is removed from both the display and the saved watchlist file.

The watchlist is saved to saved_data/watchlist.json and reloads automatically every time the bot starts, so your monitored pairs are always ready.

12. Advanced Settings

Click Advanced in the Actions section to open the Advanced Settings window. This window contains deeper configuration options not visible in the main interface.

GUI Update Interval

Controls how often the main window's display refreshes (in seconds). Default: 60 seconds. Lower values keep prices and P&L more current but increase CPU usage. For most trading setups, 30–60 seconds is ideal.

Reset on Trigger

When enabled, the bot resets the session loss counter and position state after a stop loss trigger, allowing trading to resume automatically after the cooldown period rather than requiring manual restart.

Indicator Candle Counts

Per-indicator, per-exchange override for how many historical candles are fetched. Adjust these if your strategy needs more data for stable indicator calculations or if you want to reduce initial load time by fetching fewer candles.

Session & Strategy Presets

Save the current configuration (strategy, parameters, trade settings, stop loss) as a named preset. Load presets to instantly switch between trading configurations. Presets are stored in saved_data/strategy_input_presets.json.

13. Chart Bridge & Visualization

Click Open Chart in the Actions section to launch the Live Chart Bridge window. This opens an embedded browser panel powered by TradingView Lightweight Charts — a fast, professional-grade charting library.

What the Chart Shows

Chart Bridge State

The chart state is persisted in saved_data/chart_bridge_state.json. When the chart window is closed and reopened, it resumes from the last known state with all previous candles and markers intact. The chart scrolls automatically to keep the latest candle in view.

14. Theme Customization

Elite Bot's UI is entirely styled through bot_theme.css, located in the application root folder. Every color, border, font size, and widget style is controlled by this file. Theme changes take effect on the next application launch.

Color Zones

Bundled Presets

Two named presets are included in theme_presets.json: Midnight Black Copy and Midnight Black Copy3. Both are pure-black variants with different panel chrome and button gradient settings. Add custom presets to theme_presets.json in the same JSON format to make them selectable from the Theme menu.

15. Dry Run / Paper Trading

Dry Run mode is the safest way to evaluate a strategy before committing real capital. When Dry Run is active, all signals, order calculations, position tracking, and P&L simulation run exactly as in live mode — but no actual orders are sent to the exchange.

Activating Dry Run

Click the Dry Run button in the Actions section. The title bar displays [DRY RUN] while active. All Activity Log entries are prefixed with [DRY] to distinguish simulated events from real ones.

You can run dry mode simultaneously with a live session on another exchange — they operate independently. Dry run positions appear in the Positions table with a DRY label.

16. Data Storage & Logs

All persistent data is stored in the saved_data/ folder in the application directory. Below is a summary of key files:

FileContents
api_keys.jsonEncrypted API credentials per exchange
positions.jsonCurrent open positions and entry prices
watchlist.jsonSaved watchlist pairs
strategy_config.jsonActive strategy settings and parameters
general_config.jsonGlobal bot configuration (intervals, modes)
app.logCurrent session activity log
app.YYYY-MM-DD_HHMMSS.logRotated log archives from previous sessions
trial.jsonLicense / trial activation record
chart_bridge_state.jsonChart window state and candle history
Log files accumulate over time. Periodically delete older rotated app.*.log files to reclaim disk space. The current app.log should never be deleted while the bot is running.

17. Troubleshooting

Bot won't start / crashes immediately

Check saved_data/pyqt_fatal.log and saved_data/main_errors.log for the error message. Most startup failures are caused by a corrupted config file — try deleting general_config.json and restarting. The bot recreates it with defaults.

API connection fails / "Fetching..." never resolves

Verify your API key and secret are correct. Check that the key has Trade and View permissions on the exchange. Ensure your machine's clock is synchronized (many exchanges reject requests with timestamps more than 5 seconds off). Try disabling then re-enabling the API checkbox.

No trading pairs load

Delete the cached pairs file (e.g., saved_data/kraken_pairs.json) and restart. The bot will re-fetch pairs from the exchange on next connection.

Strategy signals never fire

Confirm the trade interval is not set too high. Check that the candle count is sufficient for the indicator (minimum 100). Ensure the trading pair has enough historical data on the exchange for the selected timeframe.

Orders fail with "Invalid nonce" errors

This is an exchange-side issue (most common on Kraken) caused by timestamp desynchronization. The bot self-recovers from nonce errors automatically by incrementing the nonce. If errors persist, synchronize your system clock with an NTP server.

Chart window is blank

Delete saved_data/chart_bridge_state.json and reopen the chart. This resets the chart state and forces a fresh data load.


Elite Bot User Manual — DennTech Trading Solutions — v5.0 — May 2026