Trading Signals Ws
Real-time crypto trading signal generator using WebSocket price feeds. Connects to Bybit (or any exchange) WebSocket, runs configurable strategies on live ca...
MIT-0 · Free to use, modify, and redistribute. No attribution required.
⭐ 0 · 604 · 1 current installs · 1 all-time installs
bySunnyZhou@Sunnyztj
MIT-0
Security Scan
OpenClaw
Benign
high confidencePurpose & Capability
Name/description (WebSocket price feeds → strategies → Telegram alerts) match the included scripts and SKILL.md. The code subscribes to Bybit public feeds, computes indicators, and posts alerts to Telegram as described. No unrelated credentials, binaries, or services are requested.
Instruction Scope
Runtime instructions tell the agent to install websockets/ccxt/requests, copy/edit config.py, and run the provided script — all reasonable. SKILL.md also advertises a third-party hosted API (tinyore.com) and a Telegram contact; the code does not appear to call that API, but the marketing text could lead users to external services. The systemd example uses /root in WorkingDirectory, which is a poor default (see user guidance).
Install Mechanism
No packaged install spec; Quick Start uses pip to install standard libraries (websockets, ccxt, requests). No downloads from untrusted URLs or archive extraction. Code files are provided in the repo and nothing in the manifest suggests a high-risk install step.
Credentials
The only sensitive values the skill expects are TG_BOT_TOKEN and TG_CHAT_ID (used only to send Telegram messages). The included config template uses environment variables as an option but does not request unrelated credentials (no AWS, exchange private keys, or system secrets). ccxt is used for public OHLCV data without API keys.
Persistence & Privilege
The skill persists local state (signal_state.json) and writes logs (signal_bot.log) which is normal for a long-running bot. It does not request elevated platform privileges. However the provided systemd example writes a unit that runs the service under /root and would run as root if used as-is — users should run the service under a dedicated non-root user and secure the working directory.
Assessment
This skill appears to do what it claims: it connects to public exchange feeds, computes indicators, and posts alerts to Telegram. Before installing, (1) review config.py and do not put unrelated secrets into it; only provide TG_BOT_TOKEN and TG_CHAT_ID if you want alerts. (2) Run the bot as a dedicated, non-root user (do not deploy the example systemd unit with WorkingDirectory=/root), and run inside a virtualenv so dependencies are isolated. (3) Inspect the full signal_bot.py (especially any parts not visible in the truncated paste) to confirm it only contacts exchange public APIs and Telegram. (4) Be cautious about subscribing or sharing credentials with third-party services advertised in the README (tinyore.com) — they are separate from this code. (5) Keep your Telegram bot token private: anyone with it can send messages from your bot. If you plan to use exchange private endpoints later, only provide exchange API keys with minimal scopes and consider hardware isolation.Like a lobster shell, security has layers — review code before you run it.
Current versionv1.3.0
Download ziplatest
License
MIT-0
Free to use, modify, and redistribute. No attribution required.
SKILL.md
Trading Signals WebSocket
Real-time signal generator: WebSocket price feed → strategy engine → Telegram alerts.
Quick Start
pip install websockets ccxt requests
cp scripts/config_template.py config.py # Edit with your keys
python scripts/signal_bot.py
How It Works
Bybit WebSocket ──→ Price Updates ──→ SL/TP Check (every tick)
──→ Kline Close ──→ Strategy Signal ──→ Telegram Alert
- Connects to exchange WebSocket (public, no API key needed)
- Subscribes to ticker (real-time prices) + kline (candle data)
- On each tick: checks stop-loss/take-profit for open signals
- On candle close: runs strategy indicators, generates buy/sell signals
- Sends formatted alerts to Telegram with entry/SL/TP levels
Configuration
Edit config.py:
SYMBOLS = ["ETH/USDT:USDT", "SOL/USDT:USDT", "BTC/USDT:USDT"]
STRATEGIES = {
"ETHUSDT": {"type": "ema", "fast": 12, "slow": 26},
"SOLUSDT": {"type": "rsi", "period": 14, "oversold": 30, "overbought": 70},
"BTCUSDT": {"type": "macd", "fast": 12, "slow": 26, "signal": 9},
}
TG_BOT_TOKEN = "your-bot-token"
TG_CHAT_ID = "your-chat-id"
Features
- Multi-symbol: Monitor unlimited pairs simultaneously
- Multi-strategy: Different strategy per symbol
- Auto-reconnect: 5s retry on disconnect
- State persistence: Saves every 5 minutes, survives restarts
- Cooldown: Configurable signal cooldown to avoid spam
- Telegram formatting: Rich HTML messages with emoji
Deployment
# systemd service
sudo tee /etc/systemd/system/signal-bot.service << 'EOF'
[Unit]
Description=Trading Signal Bot
After=network.target
[Service]
Type=simple
WorkingDirectory=/root/signals
ExecStart=/usr/bin/python3 signal_bot.py
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl enable --now signal-bot
Live Signal API (Optional)
Don't want to run your own bot? Subscribe to our hosted signal service:
# Free tier (15-min delayed)
curl https://api.tinyore.com/signals/free
# Get API key (7-day free trial)
curl -X POST https://api.tinyore.com/subscribe -H "Content-Type: application/json" -d '{"email":"you@example.com"}'
# Pro tier (real-time, $5/mo)
curl https://api.tinyore.com/signals/live -H "X-API-Key: YOUR_KEY"
# Market status
curl https://api.tinyore.com/status
Strategies: ETH EMA(12/26) + SOL RSI(14,30/70) on 1h timeframe. Top performers: HYPE RSI 73% win rate, PEPE RSI 53% win rate (90-day backtest). Contact @SunnyZhou on Telegram to upgrade to Pro.
Files
scripts/signal_bot.py— Main WebSocket signal botscripts/config_template.py— Configuration templatereferences/telegram_setup.md— How to create a Telegram bot and get chat ID
Files
4 totalSelect a file
Select a file to preview.
Comments
Loading comments…
