Bot trading otomatis yang menggunakan machine learning dan analisis teknikal untuk menghasilkan sinyal trading di pasar cryptocurrency.
- 🤖 Machine Learning untuk prediksi harga
- 📊 Analisis teknikal multi-timeframe
- 🌊 Analisis Elliott Wave
- 📈 Analisis Volume Profile
- 📰 Analisis sentimen berita
- 🔄 Analisis korelasi pasar
- 📱 Notifikasi Telegram
- ⚡ Manajemen risiko otomatis
- 🔒 Sistem keamanan dan monitoring
- Python 3.8+
- MongoDB
- Redis
- TA-Lib
- Koneksi internet stabil
- API key Binance
- Bot Telegram
- Clone repository:
git clone <repository_url>
cd trading_system
- Jalankan script instalasi:
chmod +x setup.sh
./setup.sh
Script akan:
- Membuat virtual environment
- Menginstal semua dependencies
- Menginstal TA-Lib
- Membuat direktori yang diperlukan
- Menyiapkan file konfigurasi
- Copy
.env.example
ke.env
:
cp .env.example .env
- Edit
.env
dengan konfigurasi Anda:
# Database Configuration
MONGODB_URI=mongodb://localhost:27017/trading_bot
REDIS_URL=redis://localhost:6379/0
# Binance API - Untuk akses data pasar dan eksekusi trading
BINANCE_API_KEY=K4imTSPtLipPhOEQP1BXKCSmshiEldyMhZtHxxP4fGqEHsSeskglltZqE9DGE44g
BINANCE_SECRET_KEY=DFWScLQ83OpMCqmtj6pJrs2Z36OdMXzNWudwVimbRR9AJL46X3yHynG7t6traHrf
# News API - Untuk analisis sentimen berita crypto
NEWS_API_KEY=099fd00c9aac4333bdb55b7ea7fe5f31
# Twitter API - Untuk monitoring sentimen sosial media
TWITTER_API_KEY=1s0T1yz0CG7HHD5Fs3xPhMRXo
TWITTER_API_SECRET=tPVplQObYTJBNyioLIz8ezP1laVVUPYNZqCQ7Kkuq7Y2vKEUfY
TWITTER_ACCESS_TOKEN=AAAAAAAAAAAAAAAAAAAAAJxBzwEAAAAA4r%2BgCoS2fPrPN8WWLeimuIFBTIY%3DKdfVQO8B7zZAzpU2pV09yPtd1pBd7w9nJgSmIvxOESAvMMwPKR
TWITTER_ACCESS_SECRET=1560136888044109826-D8m1onBUxCTmj4aXfSCyOcz0RihzIm
TWITTER_BEARER_TOKEN=QezxmngBHxcg71eedQJCJoCXHQZ6oi2VH7HFunacExhce
# Whale Alert API - Untuk monitoring transaksi whale
WHALE_ALERT_API_KEY=your_whale_alert_api_key
# Coin API - Untuk data historis tambahan
COIN_API_KEY=0a012854-972b-4d0c-85e6-0b62709b586e
# CoinGecko API - Untuk data market dan metadata coin
COINGECKO_API_KEY=CG-NjqmzedcNFwYzQ8pxkb8bZKX
# Telegram - Untuk notifikasi dan kontrol bot
TELEGRAM_BOT_TOKEN=7747406899:AAGTcw4NK2oYRH27M-PHR1GIc7rpfGKe0EE
TELEGRAM_CHAT_ID=5125770095
# Trading Parameters
TRADING_PAIRS=["BTC/USDT","ETH/USDT","SOL/USDT","XRP/USDT","DOT/USDT"]
TIMEFRAMES=["5m","15m","1h","4h","1d"]
RISK_PER_TRADE=1.0
MAX_OPEN_POSITIONS=3
POSITION_SIZE_PERCENTAGE=2
STOP_LOSS_PERCENTAGE=2
TAKE_PROFIT_PERCENTAGE=6
# ML Model Parameters
ML_MODEL_PATH=models/random_forest_model.pkl
SCALER_PATH=models/feature_scaler.pkl
MODEL_RETRAIN_INTERVAL=86400 # 24 jam dalam detik
PREDICTION_THRESHOLD=0.75
# Feature Flags
ENABLE_ML_PREDICTIONS=true
ENABLE_SENTIMENT_ANALYSIS=true
ENABLE_ELLIOTT_WAVE=true
ENABLE_VOLUME_PROFILE=true
ENABLE_NEWS_ANALYSIS=true
ENABLE_MARKET_CORRELATION=true
ENABLE_WHALE_TRACKING=true
ENABLE_SOCIAL_SENTIMENT=true
# System Parameters
MAX_CPU_USAGE=80
MAX_MEMORY_USAGE=80
MAX_DISK_USAGE=80
LOG_LEVEL=INFO
DATA_FETCH_INTERVAL=60 # dalam detik
HEALTH_CHECK_INTERVAL=300 # dalam detik
MAX_RETRIES=3
TIMEOUT=30
# Notifikasi Parameters
NOTIFICATION_INTERVAL=900 # 15 menit dalam detik
ALERT_ON_SYSTEM_USAGE=true
ALERT_ON_ERROR=true
ALERT_ON_TRADE=true
ALERT_ON_SIGNAL=true
# Backtest Parameters
BACKTEST_START_DATE=2024-01-01
BACKTEST_END_DATE=2024-03-19
INITIAL_BALANCE=1000
TRADING_FEE=0.1
### Mendapatkan API Keys
1. **Binance API**
- Buat akun di [Binance](https://www.binance.com)
- Pergi ke API Management
- Buat API key baru dengan izin trading
- Simpan API key dan Secret key
2. **News API**
- Daftar di [News API](https://newsapi.org)
- Dapatkan API key dari dashboard
3. **Twitter API**
- Daftar di [Twitter Developer Portal](https://developer.twitter.com)
- Buat project baru
- Dapatkan API keys dan tokens
- Pastikan memiliki Elevated access
4. **Whale Alert API**
- Daftar di [Whale Alert](https://whale-alert.io)
- Dapatkan API key dari dashboard
5. **Coin API**
- Daftar di [Coin API](https://www.coinapi.io)
- Pilih paket yang sesuai
- Dapatkan API key
6. **CoinGecko API**
- Daftar di [CoinGecko](https://www.coingecko.com/api/pricing)
- Pilih paket yang sesuai
- Dapatkan API key
7. **Telegram Bot**
- Buat bot baru melalui [@BotFather](https://t.me/botfather)
- Dapatkan bot token
- Mulai chat dengan bot dan dapatkan Chat ID
### Keamanan API Keys
- JANGAN PERNAH membagikan API keys Anda
- Simpan backup `.env` di tempat yang aman
- Gunakan API keys dengan pembatasan IP jika memungkinkan
- Periksa penggunaan API secara berkala
- Perbarui API keys secara berkala
## Menjalankan Bot
1. Aktifkan virtual environment:
```bash
source venv/bin/activate
- Jalankan system check:
python system_check.py
- Jalankan bot:
python run_bot.py
- Log bot tersimpan di
logs/trading_bot_ml.log
- Log runner tersimpan di
bot_runner.log
- Notifikasi status dikirim melalui Telegram
- System check otomatis sebelum start
- Auto-restart pada crash (max 5x dalam 1 jam)
- Monitoring resource sistem
- Graceful shutdown
- Error logging komprehensif
trading_system/
├── ml_trading_bot.py # Bot trading utama
├── run_bot.py # Script runner
├── system_check.py # System checker
├── setup.sh # Script instalasi
├── requirements.txt # Dependencies
├── .env # Konfigurasi
├── models/ # Model ML
├── logs/ # Log files
├── data/ # Data historis
└── backtest_results/ # Hasil backtest
-
Bot crash berulang:
- Cek log di
logs/trading_bot_ml.log
- Pastikan API key valid
- Cek koneksi internet
- Cek log di
-
Error TA-Lib:
- Reinstall TA-Lib:
./setup.sh
- Reinstall TA-Lib:
-
Error koneksi database:
- Pastikan MongoDB dan Redis berjalan
- Cek kredensial di
.env
Silakan buat pull request untuk perbaikan atau penambahan fitur.
MIT License
Trading cryptocurrency memiliki risiko tinggi. Bot ini tidak menjamin keuntungan. Gunakan dengan risiko Anda sendiri.