Binance Signal Engine
by @eplt
Multi-timeframe crypto technical analysis with scored trading signals, structured trade plans, and position sizing via Binance public API. Use when user asks...
clawhub install binance-signal-engineπ About This Skill
name: binance-signal-engine description: Multi-timeframe crypto technical analysis with scored trading signals, structured trade plans, and position sizing via Binance public API. Use when user asks to "analyze BTC", "what's the signal on ETH/USDT", "crypto analysis", "trade setup for SOL", "scan crypto pairs", "check the trend on BTC", "multi-timeframe analysis", "generate a trading signal", "what's the bias on ETH", "TA on BTC/USDT", "is it a good time to buy BTC", or "position size for a crypto trade". version: 1.0.2 homepage: https://github.com/eplt/binance-signal-engine metadata: openclaw: emoji: "π" requires: bins: - python3 install: - kind: uv package: ccxt pandas numpy ta label: "Install Python dependencies (ccxt, pandas, numpy, ta)" files: - "scripts/*"
Binance Signal Engine
Multi-timeframe technical analysis signal generator for cryptocurrency markets. Layers three timeframes into a single weighted score and outputs a structured trade plan with position sizing.
When to Use
Use this skill when the user wants to:
How It Works
The engine scores three independent timeframe layers and combines them:
1D β Trend Regime EMA structure (9/21/50), ADX with directional indicators (DI+/DIβ). Determines whether the macro environment is bullish, bearish, or neutral. This is the directional anchor β momentum and trigger signals are interpreted relative to this regime.
4H β Momentum MACD line vs signal crossovers, histogram direction, and Stochastic Oscillator crosses. Stochastic signals are weighted asymmetrically depending on the regime (e.g. a bullish stoch cross from oversold in a bullish regime scores higher than in a bearish one).
15m β Entry Trigger RSI oversold/overbought reclaims, Bollinger Band re-entries, volume spikes relative to the 20-period moving average, and RSI divergence detection over a 20-bar lookback. This layer determines whether *right now* is a valid entry moment.
Each component contributes a configurable weighted score. The composite maps to a five-tier bias scale: STRONG BULLISH β BULLISH β NEUTRAL β BEARISH β STRONG BEARISH, with corresponding action recommendations (BUY, WATCH LONG, WAIT, WATCH SHORT, SELL/SHORT).
When conditions align, the trade planner generates a full plan using rolling support/resistance levels, ATR-based stops, and configurable risk-reward targets. The position sizer respects account balance, risk percentage, exchange lot size rules, and minimum notional constraints.
Usage
# Single pair β human-readable summary
python3 {baseDir}/scripts/binance_signal_engine.py BTC/USDTMultiple pairs
python3 {baseDir}/scripts/binance_signal_engine.py BTC/USDT ETH/USDT SOL/USDTJSON output for programmatic consumption
python3 {baseDir}/scripts/binance_signal_engine.py BTC/USDT --output jsonFutures mode with custom risk parameters
python3 {baseDir}/scripts/binance_signal_engine.py BTC/USDT \
--market futures --leverage 3 --balance 5000 --risk 2Use a JSON config file to override all indicator/scoring parameters
python3 {baseDir}/scripts/binance_signal_engine.py ETH/USDT --config my_config.jsonDebug mode for verbose logging
python3 {baseDir}/scripts/binance_signal_engine.py BTC/USDT --debug
CLI Flags
| Flag | Short | Default | Description |
|------|-------|---------|-------------|
| symbols | | *(required)* | One or more trading pairs, e.g. BTC/USDT ETH/USDT |
| --market | -m | spot | Market type: spot or futures |
| --exchange | -e | binance | Exchange ID (ccxt-compatible) |
| --balance | -b | 10000 | Account balance in USD |
| --risk | -r | 1.0 | Risk per trade as a percentage |
| --leverage | -l | 1.0 | Leverage multiplier (futures only) |
| --config | -c | None | Path to a JSON config file for full parameter override |
| --output | -o | summary | Output format: summary (human) or json (machine) |
| --debug | | off | Enable debug-level logging |
Output Structure
The JSON output contains four sections:
signal β composite score, per-layer breakdown (trend/momentum/trigger), bias, regime, action recommendation, and an array of human-readable reasoning strings explaining every scoring decision.
trade_plan β side (long/short), entry type (market/limit), entry price, stop-loss, take-profit, support, resistance, effective risk-reward ratio, tradeable flag, and plan status (ready/waiting/reject/invalid).
position_size β units, notional value, risk budget, actual dollar risk, potential dollar reward, position as a percentage of account, and whether the position was capped by the notional limit.
backtest_row β flat key-value record with timestamp, symbol, 15m close, total score, bias, plan side, tradeable flag, effective RR, and sized units. Suitable for appending to a CSV or DataFrame for historical analysis.
Configuration
All parameters are configurable via a JSON file passed with --config. Key areas include:
Defaults are tuned for swing/intraday crypto trading on Binance.
Dependencies
Requires Python 3.8+ with the following packages:
pip install ccxt pandas numpy ta
No API key is required. The skill uses only Binance's public OHLCV endpoints.
Limitations
futures mode.External Endpoints
| Endpoint | Data Sent | Purpose |
|----------|-----------|---------|
| https://api.binance.com (via ccxt) | Symbol name, timeframe, candle limit | Fetch public OHLCV price data |
No authenticated endpoints are called. No orders are placed. No private data leaves your machine.
Security & Privacy
Model Invocation Note
This skill may be invoked automatically by the agent when your request matches the trigger phrases in the description. This is standard OpenClaw behavior. You can disable automatic invocation by setting disable-model-invocation: true in the frontmatter if you prefer explicit /binance-signal-engine invocation only.
Trust Statement
By installing this skill, you trust that: (1) the ccxt library will make HTTPS requests to Binance's public REST API to fetch candle data, and (2) all analysis runs locally on your machine. No credentials are required or sent. Only install if you are comfortable with public market data requests to api.binance.com.
β‘ When to Use
π‘ Examples
# Single pair β human-readable summary
python3 {baseDir}/scripts/binance_signal_engine.py BTC/USDTMultiple pairs
python3 {baseDir}/scripts/binance_signal_engine.py BTC/USDT ETH/USDT SOL/USDTJSON output for programmatic consumption
python3 {baseDir}/scripts/binance_signal_engine.py BTC/USDT --output jsonFutures mode with custom risk parameters
python3 {baseDir}/scripts/binance_signal_engine.py BTC/USDT \
--market futures --leverage 3 --balance 5000 --risk 2Use a JSON config file to override all indicator/scoring parameters
python3 {baseDir}/scripts/binance_signal_engine.py ETH/USDT --config my_config.jsonDebug mode for verbose logging
python3 {baseDir}/scripts/binance_signal_engine.py BTC/USDT --debug
CLI Flags
| Flag | Short | Default | Description |
|------|-------|---------|-------------|
| symbols | | *(required)* | One or more trading pairs, e.g. BTC/USDT ETH/USDT |
| --market | -m | spot | Market type: spot or futures |
| --exchange | -e | binance | Exchange ID (ccxt-compatible) |
| --balance | -b | 10000 | Account balance in USD |
| --risk | -r | 1.0 | Risk per trade as a percentage |
| --leverage | -l | 1.0 | Leverage multiplier (futures only) |
| --config | -c | None | Path to a JSON config file for full parameter override |
| --output | -o | summary | Output format: summary (human) or json (machine) |
| --debug | | off | Enable debug-level logging |
βοΈ Configuration
All parameters are configurable via a JSON file passed with --config. Key areas include:
Defaults are tuned for swing/intraday crypto trading on Binance.