dwlf
dwlf skill for OpenClaw agents
Installation
npx clawhub@latest install dwlfView the full skill documentation and source below.
Documentation
DWLF — Market Analysis Platform
API base:
## Auth
Use API key auth. Check TOOLS.md for the key. Header:
__CODE_BLOCK_0__
Helper script: scripts/dwlf-api.sh
## Quick Start
__CODE_BLOCK_1__
## Symbol Format
- Crypto: BTC-USD, ETH-USD, SOL-USD (always with -USD suffix)
- Stocks/ETFs: TSLA, NVDA, META, MARA, RIOT
- Forex: GBP-USD, EUR-USD
If user says "BTC" → use BTC-USD. If "TSLA" → use TSLA.
## Core Endpoints
### Market Data
| Method | Path | Description |
|--------|------|-------------|
| GET | /market-data/{symbol}?interval=1d&limit=50 | OHLCV candles |
| GET | /market-data/symbols | List all tracked symbols |
| GET | /support-resistance/{symbol} | S/R levels with scores |
| GET | /chart-indicators/{symbol}?interval=1d | All indicators (RSI, EMA, MACD, etc.) |
| GET | /trendlines/{symbol} | Auto-detected trendlines |
| GET | /events?symbol={symbol}&limit=20 | System events (breakouts) |
| GET | /events?type=custom_event&scope=user&symbol={symbol}&days=30 | User's custom events (wcl, dss, reversals etc.) |
### Strategies & Signals
| Method | Path | Description |
|--------|------|-------------|
| GET | /visual-strategies | List user's strategies |
| GET | /visual-strategies/{id} | Strategy details |
| POST | /visual-strategies | Create strategy |
| PUT | /visual-strategies/{id} | Update strategy |
| GET | /user/trade-signals/active | Active trade signals |
| GET | /user/trade-signals/recent?limit=20 | Recent signals |
| GET | /user/trade-signals/stats | Signal performance stats |
| GET | /user/trade-signals/symbol/{symbol} | Signals for a symbol |
### Backtesting
| Method | Path | Description |
|--------|------|-------------|
| POST | /visual-backtests | Trigger backtest (async) |
| GET | /visual-backtests/{id} | Get backtest results |
Backtests are async — POST triggers, then poll GET until complete.
### Portfolio & Trades
| Method | Path | Description |
|--------|------|-------------|
| GET | /portfolios | List portfolios |
| GET | /portfolios/{id} | Portfolio details + holdings |
| GET | /trades?status=open | List trades |
| POST | /trades | Log a new trade |
| PUT | /trades/{id} | Update trade |
| GET | /trade-plans | List trade plans |
### Watchlist
| Method | Path | Description |
|--------|------|-------------|
| GET | /watchlist | Get watchlist |
| POST | /watchlist | Add symbol ({"symbol":"BTC-USD"}) |
| DELETE | /watchlist/{symbol} | Remove symbol |
### Custom Events
| Method | Path | Description |
|--------|------|-------------|
| GET | /custom-events | List custom events |
| POST | /custom-events | Create custom event |
| GET | /custom-events/{id} | Event details |
### Custom Event Symbol Activation
| Method | Path | Description |
|--------|------|-------------|
| POST | /custom-event-symbols/:eventId/enable-all | Bulk activate symbols for an event |
| POST | /custom-event-symbols/:eventId/disable-all | Bulk deactivate symbols for an event |
| GET | /custom-event-symbols/event/:eventId | Get active symbols for an event |
| GET | /custom-event-symbols | List all event-symbol associations |
### Strategy Symbol Activation
| Method | Path | Description |
|--------|------|-------------|
| POST | /strategy-symbols/:strategyId/enable-all | Bulk activate symbols for a strategy |
| POST | /strategy-symbols/:strategyId/disable-all | Bulk deactivate symbols for a strategy |
| GET | /strategy-symbols/strategy/:strategyId | Get active symbols for a strategy |
| GET | /strategy-symbols | List all strategy-symbol associations |
### Evaluations
| Method | Path | Description |
|--------|------|-------------|
| POST | /evaluations | Trigger evaluation run |
| GET | /evaluations/{id} | Get evaluation results |
## Symbol Activation (Required After Creation)
> ⚠️ **IMPORTANT:** Creating a custom event or strategy does **NOT** automatically activate it for any symbols. After creation, you **MUST** ask the user which symbols to activate it for, then call the enable endpoint. Without this step, the event/strategy will **not fire or generate signals**.
### Workflow: Custom Events
1. Create the event → POST /custom-events
2. Compile the event → POST /custom-events/{id}/compile
3. **Ask the user** which symbols to activate for
4. **Activate symbols** → POST /custom-event-symbols/{eventId}/enable-all with { "symbols": ["BTC-USD", "ETH-USD"] }
### Workflow: Strategies
1. Create the strategy → POST /visual-strategies
2. Compile the strategy → POST /visual-strategies/{id}/compile
3. **Ask the user** which symbols to activate for
4. **Activate symbols** → POST /strategy-symbols/{strategyId}/enable-all with { "symbols": ["BTC-USD", "ETH-USD"] }
### Checking Active Symbols
- Event symbols: GET /custom-event-symbols/event/{eventId}
- Strategy symbols: GET /strategy-symbols/strategy/{strategyId}
- All activations: GET /custom-event-symbols and GET /strategy-symbols (query: ?activeOnly=true)
### Deactivating Symbols
- Event: POST /custom-event-symbols/{eventId}/disable-all with { "symbols": [...] }
- Strategy: POST /strategy-symbols/{strategyId}/disable-all with { "symbols": [...] }
## Response Formatting
When presenting data to users:
**Market overview:** Show price, % change, key S/R levels, and any recent events.
**Signals:** Show symbol, direction, entry, stop loss, confidence score, strategy name.
**S/R levels:** Sort by score (strongest first), show level and touch count.
**Backtests:** Show trade count, win rate, total return, Sharpe ratio, best/worst trades.
## Available Indicators
EMA (multiple periods), SMA, RSI, MACD, Bollinger Bands, DSS (Double Smoothed Stochastic),
Stochastic RSI, ATR, ADX, OBV, Volume Profile, Ichimoku Cloud, Fibonacci Retracement,
Support/Resistance, Trendlines, Candlestick Patterns, SMC (Order Blocks, FVGs, BOS/ChoCH).
## Academy
DWLF Academy is a CDN-hosted collection of educational content (15 tracks, 60+ lessons) covering indicators, events, strategies, charting, and more. No auth required.
Use academy tools to read lesson content and understand DWLF concepts:
- dwlf_list_academy_tracks — browse all tracks and lessons
- dwlf_search_academy — search by keyword
- dwlf_get_academy_lesson — read a specific lesson (markdown)
When a user asks "how does X work in DWLF?" or "what is DSS?", check the academy first — it likely has a lesson explaining it.
## Detailed Reference
- **API endpoints** (params, response shapes): read references/api-endpoints.md
- **Strategy builder** (node types, edge wiring, examples): read references/strategy-builder.md`