Retro Bot is a fully automated cryptocurrency trading bot built for individual traders who want to run algorithmic strategies on real exchange accounts without relying on monthly SaaS fees. Everything runs locally on your machine — your API keys never leave your computer. Retro Bot supports nine distinct trading strategies, three major US-accessible exchanges, and a comprehensive dry run simulation mode so you can test any configuration before committing real funds.
Retro Bot is the classic edition of DennTech's trading bot lineup — featuring a clean, lightweight Tkinter-based interface designed for reliability and low system overhead. It runs comfortably on any Windows machine, including older hardware, without requiring heavy GPU resources or a large Python environment. The same core trading engine powers the newer PyQt6-based versions.
| Component | Minimum | Notes |
|---|---|---|
| OS | Windows 10 64-bit | Also runs on Windows 11 |
| Python | Python 3.10+ | Source version only |
| RAM | 2 GB | 4 GB for extended watchlists |
| Internet | Required | For exchange API connectivity |
Retro_final folder.python -m venv .venv && .venv\Scripts\Activate.ps1pip install -r requirements.txtpython main.pyRetro Bot requires API keys from your exchange to place and manage trades on your behalf.
Create API keys on your exchange with the following permissions:
Log in → Security → API → Create Key. Enable: Query, Query Closed Orders, Query Open Orders, Query Funds, Create & Modify Orders, Cancel & Close Orders. Copy the API Key and Private Key immediately — the private key is shown only once.
Log in → Profile → API Management → Create API. Set a label, complete 2FA, and copy the API Key and Secret Key. In permissions, enable Spot & Margin Trading only.
Log in → Account → API Settings → Create API Key. Scope: Fund Management. This allows trading but not withdrawals on Gemini's terminology.
In the main window, click Manage API Keys. Select the exchange tab. Enter your API Key and Secret Key in the respective fields. Click Save Keys. Keys are encrypted and stored locally in the bot's data folder. After saving, click Test Connection to verify the keys are valid and the exchange is reachable.
Retro Bot opens to a multi-tab interface. The left sidebar contains the primary controls: exchange selector, trading pair, strategy, timeframe, and trade amount settings. The center area shows the live bot status, current positions, and trade log. The top menu bar provides access to API key management, settings, and the about screen.
Use the Exchange dropdown in the main panel to select Kraken, Binance US, or Gemini. After selecting an exchange, the Trading Pair dropdown populates with all pairs available on that exchange. Select the trading pair you want to trade (e.g., BTC/USD, ETH/USD, SOL/USD). The exchange selection persists between sessions.
Each strategy uses a different technical indicator or market behavior pattern to generate buy and sell signals. All strategy parameters can be adjusted in the Strategy Settings panel that appears when a strategy is selected.
RSI measures the speed and magnitude of recent price changes on a scale from 0 to 100. The bot buys when RSI falls below the Oversold Threshold (default: 30) and sells when RSI rises above the Overbought Threshold (default: 70). Configurable parameters: RSI Period (default: 14), oversold/overbought thresholds.
Best for: Range-bound markets where price oscillates between support and resistance. Less effective in strong trending markets where RSI can stay overbought or oversold for extended periods.
MACD uses the relationship between a fast and slow exponential moving average to detect trend changes. The bot buys on MACD line crossovers (MACD crossing above the signal line) and sells on crossunders. Parameters: Fast Period (12), Slow Period (26), Signal Period (9).
Best for: Trending markets. Generates fewer but higher-confidence signals compared to RSI. The lag inherent in MACD can cause late entries and exits in fast-moving markets.
Uses a combination of moving averages and price action to identify and ride established trends. The bot enters long positions when price is above the trend line and exits when price crosses below. Parameters: Trend Period, MA Type (SMA/EMA).
Best for: Markets with clear, sustained directional movement. Will produce whipsaws in choppy sideways markets.
Based on the statistical tendency of prices to revert to their average after extreme deviations. The bot buys when price deviates significantly below its mean and sells when it reverts to or above the mean. Parameters: Lookback Period, Standard Deviation Multiplier.
Best for: Pairs that historically trade in ranges. Dangerous during fundamental trend changes (e.g., regulatory news causing prolonged sell-offs).
High-frequency strategy targeting small, quick profits on minor price fluctuations. Uses short timeframes (1m or 5m), tight entry/exit conditions, and relies on volume and spread analysis. Best results with low-spread pairs (BTC/USD, ETH/USD). Requires low latency exchange connectivity.
Best for: Highly liquid pairs during active market hours. Generates many trades and high exchange fees — factor fee costs into profitability assessment.
Places buy and sell orders at fixed price intervals above and below the current price, creating a "grid" of orders. Profits from price oscillation within the grid range. Parameters: Grid Spacing (% between levels), Number of Grid Levels (2–20), Total Capital Allocation.
Best for: Sideways, choppy markets. If price breaks out of the grid range sharply in one direction, the strategy can accumulate a losing position. Set the grid upper and lower limits based on the pair's recent volatility range.
Buys when the asset shows strong recent upward momentum (rate of change above threshold) and sells when momentum fades. Relies on the tendency of rising assets to continue rising in the short term. Parameters: Momentum Period, Signal Threshold.
Best for: Volatile crypto markets during breakout periods. Avoid using during consolidation — false signals are common when momentum scores are near zero.
Simulates market maker behavior by placing simultaneous buy and sell limit orders around the current spread. The bot profits when both orders fill, capturing the difference. This strategy requires a pair with sufficient liquidity and a stable spread. Parameters: Spread %, Order Size.
Best for: Experienced traders who understand order book dynamics. Carries inventory risk if market moves directionally and one side of the book dominates.
Detects price differences in the same pair across different market conditions or internal calculations and exploits the spread. Note: True cross-exchange arbitrage requires accounts on multiple exchanges and very low latency — the bot implements a simplified intra-exchange arbitrage based on order book imbalances.
Best for: High-liquidity environments with measurable spread inefficiencies.
Choose the candle timeframe used for strategy signal calculations. Available options: 1m, 5m, 15m, 30m, 1h, 4h, 1d. Shorter timeframes produce more signals but more noise. Longer timeframes produce fewer, higher-quality signals but slower reaction times.
Choose how trade sizes are determined:
Enter the numeric value for your trade amount — dollar amount in Cash Mode, percentage in Percentage Mode. Start conservatively (small dollar amounts or low percentages) until you are confident in the strategy's performance on your chosen pair.
Stop loss automatically closes an open position when losses reach a specified threshold, preventing a bad trade from becoming a catastrophic loss.
A common rule of thumb is to risk no more than 1–2% of total account capital on any single trade. In Percentage Mode with a 2% trade size and a 2.5% stop loss, maximum loss per trade equals 0.05% of account — very conservative. Adjust based on your own risk tolerance and strategy's historical win rate.
The Watchlist lets you monitor multiple trading pairs simultaneously without switching pair selections. Pairs in the watchlist display real-time price updates and can trigger alerts.
Click the + button in the Watchlist panel. Select an exchange and type a pair symbol (e.g., ETH/USD, SOL/USD, MATIC/USD). Click Add. The pair is added to the watchlist and begins displaying live price updates. Remove pairs by right-clicking and selecting Remove.
Right-click a pair in the watchlist and select Set Alert to configure a price alert. Enter a target price and select Above or Below. When the price crosses the threshold, a desktop notification appears and the pair is highlighted in the watchlist.
Watchlist monitoring is independent of the active trading pair — you can trade BTC/USD on Kraken while monitoring ETH/USD on Gemini in your watchlist simultaneously.
Dry Run Mode is the most important feature for new users. It simulates the full bot operation — fetching live market data, calculating strategy signals, generating buy/sell decisions, tracking virtual positions — without placing any real orders on the exchange. No real funds are at risk.
Toggle the Dry Run switch in the main panel before starting the bot. When Dry Run is active, a prominent orange "DRY RUN" indicator appears in the status bar. All trade events are logged exactly as they would be in live mode, but no exchange API calls for order placement are made.
Run Dry Run for at minimum 1–2 weeks on a strategy before switching to live trading. Review the dry run trade log to understand entry/exit frequency, win/loss ratio, and drawdown periods.
When the bot enters a trade, the position appears in the Active Positions table. Columns: Pair, Entry Price, Current Price, P&L %, P&L $, Stop Loss Level, Duration. Positions update in real time with live price feeds. Multiple simultaneous positions can appear if the strategy generates signals on multiple pairs.
Every completed trade (closed position) is recorded in the Trade History log. Columns: Pair, Direction (Buy/Sell), Entry Price, Exit Price, P&L, Entry Time, Exit Time, Strategy, Exit Reason (Signal, Stop Loss, Manual). The log is persistent — trade history is preserved across bot restarts. Export the trade log to CSV via the Export button for external analysis in Excel or a spreadsheet tool.
The Performance panel shows aggregate statistics: Total Trades, Win Rate %, Average Win $, Average Loss $, Profit Factor, Total P&L, and Longest Win/Loss Streaks. These are calculated from the complete trade history including historical sessions.
Retro Bot uses a machine-locked license system. On first launch, a trial period begins. The trial allows full use of all features during the trial window. After the trial expires, a license key is required to continue.
Open Help → License Status. The dialog shows remaining trial days, machine ID, and activation status.
Open Help → Activate License. Enter your license key in the activation dialog and click Activate. Activation is machine-locked — the key registers to your specific machine's hardware fingerprint. Contact support to transfer your license to a new machine if you change hardware.
authorized_machine.json file in the bot's data folder stores the machine authorization record. Do not manually edit or delete this file — it will invalidate your license and require re-activation.Verify your API key and secret are copied correctly — no leading/trailing spaces. Check that the key's IP whitelist (if you set one on the exchange) includes your current IP address. Ensure your exchange account is fully verified and trading-enabled.
Check that Dry Run is disabled if you intend live trading. Verify you have sufficient balance on the exchange for the configured trade amount. Some exchanges require a minimum order size — ensure your trade amount meets the minimum for the pair.
Strategy calculations run on closed candles, not tick-by-tick. On a 15m timeframe, a new signal can only fire after a 15-minute candle closes. This is by design — using live, unclosed candles for signals introduces look-ahead bias and false signals. Switch to a shorter timeframe if faster signals are needed.
A large watchlist with many pairs on short timeframes (1m) can cause elevated CPU usage due to frequent API polling. Reduce watchlist size or switch to longer timeframes (5m or 15m) if CPU usage is a concern.
Ensure no other instance of the bot is running. If moving to a new machine, contact support with your previous machine's ID and the new machine's ID for a transfer. Machine IDs are visible in Help → License Status.
Retro Bot User Manual — DennTech — v1.0 — May 2026