Languages: English | δΈζ | Π£ΠΊΡΠ°ΡΠ½ΡΡΠΊΠ° | Π ΡΡΡΠΊΠΈΠΉ
An automated Binance futures trading system powered by DeepSeek/Qwen AI, supporting multi-AI model live trading competition, featuring comprehensive market analysis, AI decision-making, self-learning mechanism, and professional Web monitoring interface.
β οΈ Risk Warning: This system is experimental. AI auto-trading carries significant risks. Strongly recommended for learning/research purposes or testing with small amounts only!
Join our Telegram developer community to discuss, share ideas, and get support:
- Qwen vs DeepSeek live trading battle
- Independent account management and decision logs
- Real-time performance comparison charts
- ROI PK and win rate statistics
- Historical Feedback: Analyzes last 20 cycles of trading performance before each decision
- Smart Optimization:
- Identifies best/worst performing coins
- Calculates win rate, profit/loss ratio, average profit
- Avoids repeating mistakes (consecutive losing coins)
- Reinforces successful strategies (high win rate patterns)
- Dynamic Adjustment: AI autonomously adjusts trading style based on historical performance
- 3-minute K-line: Real-time price, EMA20, MACD, RSI(7)
- 4-hour K-line: Long-term trend, EMA20/50, ATR, RSI(14)
- Open Interest Analysis: Market sentiment, capital flow judgment
- OI Top Tracking: Top 20 coins with fastest growing open interest
- AI500 Coin Pool: Automatic high-score coin screening
- Liquidity Filter: Auto-filters low liquidity coins (<15M USD position value)
- Per-Coin Position Limit:
- Altcoins β€ 1.5x account equity
- BTC/ETH β€ 10x account equity
- Fixed Leverage: Altcoins 20x | BTC/ETH 50x
- Margin Management: Total usage β€90%, AI autonomous decision on usage rate
- Risk-Reward Ratio: Mandatory β₯1:2 (stop-loss:take-profit)
- Prevent Position Stacking: No duplicate opening of same coin/direction
- Professional Trading Interface: Binance-style visual design
- Dark Theme: Classic color scheme (Gold #F0B90B + dark background)
- Real-time Data: 5-second refresh for accounts, positions, charts
- Equity Curve: Historical account value trend (USD/percentage toggle)
- Performance Comparison Chart: Real-time multi-AI ROI comparison
- Smooth Animations: Fluid hover, transition, and loading effects
- Chain of Thought: AI's complete reasoning process (CoT)
- Historical Performance: Overall win rate, average profit, profit/loss ratio
- Recent Trades: Last 5 trade details (entry price β exit price β P/L%)
- Coin Statistics: Per-coin performance (win rate, average P/L)
- JSON Logs: Complete decision records for post-trade analysis
nofx/
βββ main.go # Program entry (multi-trader manager)
βββ config.json # Configuration file (API keys, multi-trader config)
β
βββ api/ # HTTP API service
β βββ server.go # Gin framework, RESTful API
β
βββ trader/ # Trading core
β βββ auto_trader.go # Auto trading main controller (single trader)
β βββ binance_futures.go # Binance futures API wrapper
β
βββ manager/ # Multi-trader management
β βββ trader_manager.go # Manages multiple trader instances
β
βββ mcp/ # Model Context Protocol - AI communication
β βββ client.go # AI API client (DeepSeek/Qwen integration)
β
βββ decision/ # AI decision engine
β βββ engine.go # Decision logic with historical feedback
β
βββ market/ # Market data fetching
β βββ data.go # Market data & technical indicators (K-line, RSI, MACD)
β
βββ pool/ # Coin pool management
β βββ coin_pool.go # AI500 + OI Top merged pool
β
βββ logger/ # Logging system
β βββ decision_logger.go # Decision recording + performance analysis
β
βββ decision_logs/ # Decision log storage
β βββ qwen_trader/ # Qwen trader logs
β βββ deepseek_trader/ # DeepSeek trader logs
β
βββ web/ # React frontend
βββ src/
β βββ components/ # React components
β β βββ EquityChart.tsx # Equity curve chart
β β βββ ComparisonChart.tsx # Multi-AI comparison chart
β β βββ CompetitionPage.tsx # Competition leaderboard
β βββ lib/api.ts # API call wrapper
β βββ types/index.ts # TypeScript types
β βββ index.css # Binance-style CSS
β βββ App.tsx # Main app
βββ package.json
Backend (Go)
github.com/adshao/go-binance/v2- Binance API clientgithub.com/markcheno/go-talib- Technical indicator calculation (TA-Lib)github.com/gin-gonic/gin- HTTP API framework
Frontend (React + TypeScript)
react+react-dom- UI frameworkrecharts- Chart library (equity curve, comparison charts)swr- Data fetching and cachingtailwindcss- CSS framework
Before using this system, you need a Binance Futures account. Use our referral link to save on trading fees:
π Register Binance - Get Fee Discount
- Click the link above to visit Binance registration page
- Complete registration with email/phone number
- Complete KYC verification (required for futures trading)
- Enable Futures account:
- Go to Binance homepage β Derivatives β USD-M Futures
- Click "Open Now" to activate futures trading
- Create API Key:
- Go to Account β API Management
- Create new API key, enable "Futures" permission
- Save API Key and Secret Key (needed for config.json)
- Important: Whitelist your IP address for security
- β Spot trading: Up to 30% fee discount
- β Futures trading: Up to 30% fee discount
- β Lifetime validity: Permanent discount on all trades
β‘ Start trading in 3 simple steps with Docker - No installation needed!
Docker automatically handles all dependencies (Go, Node.js, TA-Lib) and environment setup. Perfect for beginners!
# Copy configuration template
cp config.json.example config.json
# Edit and fill in your API keys
nano config.json # or use any editor# Option 1: Use convenience script (Recommended)
chmod +x start.sh
./start.sh start --build
# Option 2: Use docker-compose directly
docker-compose up -d --buildOpen your browser and visit: http://localhost:3000
That's it! π Your AI trading system is now running!
./start.sh logs # View logs
./start.sh status # Check status
./start.sh stop # Stop services
./start.sh restart # Restart servicesπ For detailed Docker deployment guide, troubleshooting, and advanced configuration:
- English: See DOCKER_DEPLOY.en.md
- δΈζ: ζ₯η DOCKER_DEPLOY.md
Note: If you used Docker deployment above, skip this section. Manual installation is only needed if you want to modify the code or run without Docker.
- Go 1.21+
- Node.js 18+
- TA-Lib library (technical indicator calculation)
macOS:
brew install ta-libUbuntu/Debian:
sudo apt-get install libta-lib0-devOther systems: Refer to TA-Lib Official Documentation
git clone https://github.com/tinkle-community/nofx.git
cd nofxBackend:
go mod downloadFrontend:
cd web
npm install
cd ..Before configuring the system, you need to obtain AI API keys. Choose one of the following AI providers:
Why DeepSeek?
- π° Cheaper than GPT-4 (about 1/10 the cost)
- π Fast response time
- π― Excellent trading decision quality
- π Works globally without VPN
How to get DeepSeek API Key:
- Visit: https://platform.deepseek.com
- Register: Sign up with email/phone number
- Verify: Complete email/phone verification
- Top-up: Add credits to your account
- Minimum: ~$5 USD
- Recommended: $20-50 USD for testing
- Create API Key:
- Go to API Keys section
- Click "Create New Key"
- Copy and save the key (starts with
sk-) β οΈ Important: Save it immediately - you can't see it again!
Pricing: ~$0.14 per 1M tokens (very cheap!)
How to get Qwen API Key:
- Visit: https://dashscope.aliyuncs.com
- Register: Sign up with Alibaba Cloud account
- Enable Service: Activate DashScope service
- Create API Key:
- Go to API Key Management
- Create new key
- Copy and save (starts with
sk-)
Note: May require Chinese phone number for registration
Two configuration modes available:
- π Beginner Mode: Single trader + default coins (recommended!)
- βοΈ Expert Mode: Multiple traders competition
Step 1: Copy and rename the example config file
cp config.json.example config.jsonStep 2: Edit config.json with your API keys
{
"traders": [
{
"id": "my_trader",
"name": "My AI Trader",
"ai_model": "deepseek",
"binance_api_key": "YOUR_BINANCE_API_KEY",
"binance_secret_key": "YOUR_BINANCE_SECRET_KEY",
"use_qwen": false,
"deepseek_key": "sk-xxxxxxxxxxxxx",
"qwen_key": "",
"initial_balance": 1000.0,
"scan_interval_minutes": 3
}
],
"use_default_coins": true,
"coin_pool_api_url": "",
"oi_top_api_url": "",
"api_server_port": 8080
}Step 3: Replace placeholders with your actual keys
| Placeholder | Replace With | Where to Get |
|---|---|---|
YOUR_BINANCE_API_KEY |
Your Binance API Key | Binance β Account β API Management |
YOUR_BINANCE_SECRET_KEY |
Your Binance Secret Key | Same as above |
sk-xxxxxxxxxxxxx |
Your DeepSeek API Key | platform.deepseek.com |
Step 4: Adjust initial balance (optional)
initial_balance: Set to your actual Binance futures account balance- Used to calculate profit/loss percentage
- Example: If you have 500 USDT, set
"initial_balance": 500.0
β Configuration Checklist:
- Binance API key filled in (no quotes issues)
- Binance Secret key filled in (no quotes issues)
- DeepSeek API key filled in (starts with
sk-) -
use_default_coinsset totrue(for beginners) -
initial_balancematches your account balance - File saved as
config.json(not.example)
For running multiple AI traders competing against each other:
{
"traders": [
{
"id": "qwen_trader",
"name": "Qwen AI Trader",
"ai_model": "qwen",
"binance_api_key": "YOUR_BINANCE_API_KEY_1",
"binance_secret_key": "YOUR_BINANCE_SECRET_KEY_1",
"use_qwen": true,
"qwen_key": "sk-xxxxx",
"deepseek_key": "",
"initial_balance": 1000.0,
"scan_interval_minutes": 3
},
{
"id": "deepseek_trader",
"name": "DeepSeek AI Trader",
"ai_model": "deepseek",
"binance_api_key": "YOUR_BINANCE_API_KEY_2",
"binance_secret_key": "YOUR_BINANCE_SECRET_KEY_2",
"use_qwen": false,
"qwen_key": "",
"deepseek_key": "sk-xxxxx",
"initial_balance": 1000.0,
"scan_interval_minutes": 3
}
],
"use_default_coins": true,
"coin_pool_api_url": "",
"oi_top_api_url": "",
"api_server_port": 8080
}Requirements for Competition Mode:
- 2 separate Binance futures accounts (different API keys)
- Both AI API keys (Qwen + DeepSeek)
- More capital for testing (recommended: 500+ USDT per account)
| Field | Description | Example Value | Required? |
|---|---|---|---|
id |
Unique identifier for this trader | "my_trader" |
β Yes |
name |
Display name | "My AI Trader" |
β Yes |
ai_model |
AI provider to use | "deepseek" or "qwen" |
β Yes |
binance_api_key |
Binance API key | "abc123..." |
β Yes |
binance_secret_key |
Binance Secret key | "xyz789..." |
β Yes |
use_qwen |
Whether to use Qwen | true or false |
β Yes |
deepseek_key |
DeepSeek API key | "sk-xxx" |
If using DeepSeek |
qwen_key |
Qwen API key | "sk-xxx" |
If using Qwen |
initial_balance |
Starting balance for P/L calculation | 1000.0 |
β Yes |
scan_interval_minutes |
How often to make decisions | 3 (3-5 recommended) |
β Yes |
use_default_coins |
Use built-in coin list β¨ Smart Default: true (v2.0.2+)Auto-enabled if no API URL provided |
true or omit |
β No (Optional, auto-defaults) |
coin_pool_api_url |
Custom coin pool API Only needed when use_default_coins: false |
"" (empty) |
β No |
oi_top_api_url |
Open interest API Optional supplement data |
"" (empty) |
β No |
api_server_port |
Web dashboard port | 8080 |
β Yes |
Default Trading Coins (when use_default_coins: true):
- BTC, ETH, SOL, BNB, XRP, DOGE, ADA, HYPE
Smart Default Behavior (v2.0.2+):
The system now automatically defaults to use_default_coins: true if:
- You don't include this field in config.json, OR
- You set it to
falsebut don't providecoin_pool_api_url
This makes it beginner-friendly! You can even omit this field entirely.
Configuration Examples:
β Option 1: Explicitly set (Recommended for clarity)
"use_default_coins": true,
"coin_pool_api_url": "",
"oi_top_api_url": ""β Option 2: Omit the field (uses default coins automatically)
// Just don't include "use_default_coins" at all
"coin_pool_api_url": "",
"oi_top_api_url": ""βοΈ Advanced: Use external API
"use_default_coins": false,
"coin_pool_api_url": "http://your-api.com/coins",
"oi_top_api_url": "http://your-api.com/oi"The system has 2 parts that run separately:
- Backend (AI trading brain + API)
- Frontend (Web dashboard for monitoring)
Open a terminal and run:
# Build the program (first time only, or after code changes)
go build -o nofx
# Start the backend
./nofxWhat you should see:
π ε―ε¨θͺε¨δΊ€ζη³»η»...
β Trader [my_trader] ε·²εε§ε
β APIζε‘ε¨ε―ε¨ε¨η«―ε£ 8080
π εΌε§δΊ€ζηζ§...
| Error Message | Solution |
|---|---|
invalid API key |
Check your Binance API key in config.json |
TA-Lib not found |
Run brew install ta-lib (macOS) |
port 8080 already in use |
Change api_server_port in config.json |
DeepSeek API error |
Verify your DeepSeek API key and balance |
β Backend is running correctly when you see:
- No error messages
- "εΌε§δΊ€ζηζ§..." appears
- System shows account balance
- Keep this terminal window open!
Open a NEW terminal window (keep the first one running!), then:
cd web
npm run devWhat you should see:
VITE v5.x.x ready in xxx ms
β Local: http://localhost:3000/
β Network: use --host to expose
β Frontend is running when you see:
- "Local: http://localhost:3000/" message
- No error messages
- Keep this terminal window open too!
Open your web browser and visit:
What you'll see:
- π Real-time account balance
- π Open positions (if any)
- π€ AI decision logs
- π Equity curve chart
First-time tips:
- It may take 3-5 minutes for the first AI decision
- Initial decisions might say "θ§ζ" (wait) - this is normal
- AI needs to analyze market conditions first
What to watch:
β Healthy System Signs:
- Backend terminal shows decision cycles every 3-5 minutes
- No continuous error messages
- Account balance updates
- Web dashboard refreshes automatically
- Repeated API errors
- No decisions for 10+ minutes
- Balance decreasing rapidly
Checking System Status:
# In a new terminal window
curl http://localhost:8080/healthShould return: {"status":"ok"}
Graceful Shutdown (Recommended):
- Go to the backend terminal (the first one)
- Press
Ctrl+C - Wait for "η³»η»ε·²εζ’" message
- Go to the frontend terminal (the second one)
- Press
Ctrl+C
- Always stop the backend first
- Wait for confirmation before closing terminals
- Don't force quit (don't close terminal directly)
Each decision cycle (default 3 minutes), the system executes the following intelligent process:
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 1. π Analyze Historical Performance (last 20 cycles) β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β Calculate overall win rate, avg profit, P/L ratio β
β β Per-coin statistics (win rate, avg P/L in USDT) β
β β Identify best/worst performing coins β
β β List last 5 trade details with accurate PnL β
β β Calculate Sharpe ratio for risk-adjusted performance β
β π NEW (v2.0.2): Accurate USDT PnL with leverage β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 2. π° Get Account Status β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β’ Total equity & available balance β
β β’ Number of open positions & unrealized P/L β
β β’ Margin usage rate (AI manages up to 90%) β
β β’ Daily P/L tracking & drawdown monitoring β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 3. π Analyze Existing Positions (if any) β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β’ For each position, fetch latest market data β
β β’ Calculate real-time technical indicators: β
β - 3min K-line: RSI(7), MACD, EMA20 β
β - 4hour K-line: RSI(14), EMA20/50, ATR β
β β’ Track position holding duration (e.g., "2h 15min") β
β π NEW (v2.0.2): Shows how long each position held β
β β’ Display: Entry price, current price, P/L%, duration β
β β’ AI evaluates: Should hold or close? β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 4. π― Evaluate New Opportunities (candidate coins) β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β’ Fetch coin pool (2 modes): β
β π Default Mode: BTC, ETH, SOL, BNB, XRP, etc. β
β βοΈ Advanced Mode: AI500 (top 20) + OI Top (top 20) β
β β’ Merge & deduplicate candidate coins β
β β’ Filter: Remove low liquidity (<15M USD OI value) β
β β’ Batch fetch market data + technical indicators β
β β’ Calculate volatility, trend strength, volume surge β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 5. π§ AI Comprehensive Decision (DeepSeek/Qwen) β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β’ Review historical feedback: β
β - Recent win rate & profit factor β
β - Best/worst coins performance β
β - Avoid repeating mistakes β
β β’ Analyze all raw sequence data: β
β - 3min priceεΊε, 4hour K-lineεΊε β
β - Complete indicator sequences (not just latest) β
β π NEW (v2.0.2): AI has full freedom to analyze β
β β’ Chain of Thought (CoT) reasoning process β
β β’ Output structured decisions: β
β - Action: close_long/close_short/open_long/open_shortβ
β - Coin symbol, quantity, leverage β
β - Stop-loss & take-profit levels (β₯1:2 ratio) β
β β’ Decision: Wait/Hold/Close/Open β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 6. β‘ Execute Trades β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β’ Priority order: Close existing β Then open new β
β β’ Risk checks before execution: β
β - Position size limits (1.5x for altcoins, 10x BTC) β
β - No duplicate positions (same coin + direction) β
β - Margin usage within 90% limit β
β β’ Auto-fetch & apply Binance LOT_SIZE precision β
β β’ Execute orders via Binance Futures API β
β β’ After closing: Auto-cancel all pending orders β
β β’ Record actual execution price & order ID β
β π Track position open time for duration calculation β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 7. π Record Complete Logs & Update Performance β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β’ Save decision log to decision_logs/{trader_id}/ β
β β’ Log includes: β
β - Complete Chain of Thought (CoT) β
β - Input prompt with all market data β
β - Structured decision JSON β
β - Account snapshot (balance, positions, margin) β
β - Execution results (success/failure, prices) β
β β’ Update performance database: β
β - Match open/close pairs by symbol_side key β
β π NEW: Prevents long/short conflicts β
β - Calculate accurate USDT PnL: β
β PnL = Position Value Γ Price Ξ% Γ Leverage β
β π NEW: Considers quantity + leverage β
β - Store: quantity, leverage, open time, close time β
β - Update win rate, profit factor, Sharpe ratio β
β β’ Performance data feeds back into next cycle β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
(Repeat every 3-5 min)
π Position Duration Tracking:
- System now tracks how long each position has been held
- Displayed in user prompt: "ζδ»ζΆιΏ2ε°ζΆ15ει"
- Helps AI make better decisions on when to exit
π Accurate PnL Calculation:
- Previously: Only percentage (100U@5% = 1000U@5% = both showed "5.0")
- Now: Real USDT profit = Position Value Γ Price Change Γ Leverage
- Example: 1000 USDT Γ 5% Γ 20x = 1000 USDT actual profit
π Enhanced AI Freedom:
- AI can freely analyze all raw sequence data
- No longer restricted to predefined indicator combinations
- Can perform own trend analysis, support/resistance calculation
π Improved Position Tracking:
- Uses
symbol_sidekey (e.g., "BTCUSDT_long") - Prevents conflicts when holding both long & short
- Stores complete data: quantity, leverage, open/close times
## π Historical Performance Feedback
### Overall Performance
- **Total Trades**: 15 (Profit: 8 | Loss: 7)
- **Win Rate**: 53.3%
- **Average Profit**: +3.2% | Average Loss: -2.1%
- **Profit/Loss Ratio**: 1.52:1
### Recent Trades
1. BTCUSDT LONG: 95000.0000 β 97500.0000 = +2.63% β
2. ETHUSDT SHORT: 3500.0000 β 3450.0000 = +1.43% β
3. SOLUSDT LONG: 185.0000 β 180.0000 = -2.70% β
4. BNBUSDT LONG: 610.0000 β 625.0000 = +2.46% β
5. ADAUSDT LONG: 0.8500 β 0.8300 = -2.35% β
### Coin Performance
- **Best**: BTCUSDT (Win rate 75%, avg +2.5%)
- **Worst**: SOLUSDT (Win rate 25%, avg -1.8%)- Avoid consecutive losers: Seeing SOLUSDT with 3 consecutive stop-losses, AI avoids or is more cautious
- Reinforce successful strategies: BTC breakout long with 75% win rate, AI continues this pattern
- Dynamic style adjustment: Win rate <40% β conservative; P/L ratio >2 β maintain aggressive
- Identify market conditions: Consecutive losses may indicate choppy market, reduce trading frequency
- π Leaderboard: Real-time ROI ranking, golden border highlights leader
- π Performance Comparison: Dual AI ROI curve comparison (purple vs blue)
- βοΈ Head-to-Head: Direct comparison showing lead margin
- Real-time Data: Total equity, P/L%, position count, margin usage
- Equity Curve: Historical trend chart (USD/percentage toggle)
- Statistics: Total cycles, success/fail, open/close stats
- Position Table: All position details (entry price, current price, P/L%, liquidation price)
- AI Decision Logs: Recent decision records (expandable CoT)
- System status, account info, position list: 5-second refresh
- Decision logs, statistics: 10-second refresh
- Equity charts: 10-second refresh
GET /api/competition # Competition leaderboard (all traders)
GET /api/traders # Trader listGET /api/status?trader_id=xxx # System status
GET /api/account?trader_id=xxx # Account info
GET /api/positions?trader_id=xxx # Position list
GET /api/equity-history?trader_id=xxx # Equity history (chart data)
GET /api/decisions/latest?trader_id=xxx # Latest 5 decisions
GET /api/statistics?trader_id=xxx # StatisticsGET /health # Health check
GET /api/config # System configuration- Cryptocurrency markets are extremely volatile, AI decisions don't guarantee profit
- Futures trading uses leverage, losses may exceed principal
- Extreme market conditions may lead to liquidation risk
- Funding rates may affect holding costs
- Liquidity risk: Some coins may experience slippage
- Network latency may cause price slippage
- API rate limits may affect trade execution
- AI API timeouts may cause decision failures
- System bugs may trigger unexpected behavior
β Recommended
- Use only funds you can afford to lose for testing
- Start with small amounts (recommended 100-500 USDT)
- Regularly check system operation status
- Monitor account balance changes
- Analyze AI decision logs to understand strategy
β Not Recommended
- Invest all funds or borrowed money
- Run unsupervised for long periods
- Blindly trust AI decisions
- Use without understanding the system
- Run during extreme market volatility
Solution: Install TA-Lib library
# macOS
brew install ta-lib
# Ubuntu
sudo apt-get install libta-lib0-devSolution: System auto-handles precision from Binance LOT_SIZE. If error persists, check network connection.
Solution:
- Check if API key is correct
- Check network connection (may need proxy)
- System timeout is set to 120 seconds
Solution:
- Ensure backend is running (http://localhost:8080)
- Check if port 8080 is occupied
- Check browser console for errors
Solution:
- Coin pool API is optional
- If API fails, system uses default mainstream coins (BTC, ETH, etc.)
- Check API URL and auth parameter in config.json
- Set reasonable decision cycle: Recommended 3-5 minutes, avoid over-trading
- Control candidate coin count: System defaults to AI500 top 20 + OI Top top 20
- Regularly clean logs: Avoid excessive disk usage
- Monitor API call count: Avoid triggering Binance rate limits
- Test with small capital: First test with 100-500 USDT for strategy validation
Critical Bug Fixes - Trade History & Performance Analysis:
This version fixes critical calculation errors in the historical trade record and performance analysis system that significantly affected profitability statistics.
1. PnL Calculation - Major Error Fixed (logger/decision_logger.go)
- Problem: Previously calculated PnL as percentage only, completely ignoring position size and leverage
- Example: 100 USDT position earning 5% and 1000 USDT position earning 5% both showed
5.0as profit - This made performance analysis completely inaccurate
- Example: 100 USDT position earning 5% and 1000 USDT position earning 5% both showed
- Solution: Now calculates actual USDT profit amount
PnL (USDT) = Position Value Γ Price Change % Γ Leverage Example: 1000 USDT Γ 5% Γ 20x = 1000 USDT actual profit - Impact: Win rate, profit factor, and Sharpe ratio now based on accurate USDT amounts
2. Position Tracking - Missing Critical Data
- Problem: Open position records only stored price and time, missing quantity and leverage
- Solution: Now stores complete trade data:
quantity: Position size (in coins)leverage: Leverage multiplier (e.g., 20x)- These are essential for accurate PnL calculations
3. Position Key Logic - Long/Short Conflict
- Problem: Used
symbolas position key, causing data conflicts when holding both long and short- Example: BTCUSDT long and BTCUSDT short would overwrite each other
- Solution: Changed to
symbol_sideformat (e.g.,BTCUSDT_long,BTCUSDT_short)- Now properly distinguishes between long and short positions
4. Sharpe Ratio Calculation - Code Optimization
- Problem: Used custom Newton's method for square root calculation
- Solution: Replaced with standard library
math.Sqrt- More reliable, maintainable, and efficient
Why This Update Matters:
- β Historical trade statistics now show real USDT profit/loss instead of meaningless percentages
- β Performance comparison between different leverage trades is now accurate
- β AI self-learning mechanism receives correct historical feedback
- β Profit factor and Sharpe ratio calculations are now meaningful
- β Multi-position tracking (long + short simultaneously) works correctly
Recommendation: If you were running the system before this update, your historical statistics were inaccurate. After updating to v2.0.2, new trades will be calculated correctly.
Bug Fixes:
- β Fixed ComparisonChart data processing logic - switched from cycle_number to timestamp grouping
- β Resolved chart freezing issue when backend restarts and cycle_number resets
- β Improved chart data display - now shows all historical data points chronologically
- β Enhanced debugging logs for better troubleshooting
Major Updates:
- β AI self-learning mechanism (historical feedback, performance analysis)
- β Multi-trader competition mode (Qwen vs DeepSeek)
- β Binance-style UI (complete Binance interface imitation)
- β Performance comparison charts (real-time ROI comparison)
- β Risk control optimization (per-coin position limit adjustment)
Bug Fixes:
- Fixed hardcoded initial balance issue
- Fixed multi-trader data sync issue
- Optimized chart data alignment (using cycle_number)
- Initial release
- Basic AI trading functionality
- Decision logging system
- Simple Web interface
MIT License - See LICENSE file for details
Issues and Pull Requests are welcome!
- Fork the project
- Create feature branch (
git checkout -b feature/AmazingFeature) - Commit changes (
git commit -m 'Add some AmazingFeature') - Push to branch (
git push origin feature/AmazingFeature) - Open Pull Request
- Twitter/X: @Web3Tinkle
- GitHub Issues: Submit an Issue
- Binance API - Binance Futures API
- DeepSeek - DeepSeek AI API
- Qwen - Alibaba Cloud Qwen
- TA-Lib - Technical indicator library
- Recharts - React chart library
Last Updated: 2025-10-29 (v2.0.2)
β‘ Explore the possibilities of quantitative trading with the power of AI!