Skills dwlf

install
source · Clone the upstream repo
git clone https://github.com/openclaw/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/andywilliams/dwlf" ~/.claude/skills/clawdbot-skills-dwlf && rm -rf "$T"
manifest: skills/andywilliams/dwlf/SKILL.md
source content

DWLF — Market Analysis Platform

API base:

https://api.dwlf.co.uk/v2

Auth

Use API key auth. Check

TOOLS.md
for the key. Header:

Authorization: ApiKey dwlf_sk_...

Helper script:

scripts/dwlf-api.sh

Quick Start

# Generic GET request
./scripts/dwlf-api.sh GET /market-data/BTC-USD

# With query params
./scripts/dwlf-api.sh GET "/events?symbol=BTC-USD&limit=10"

# POST request
./scripts/dwlf-api.sh POST /visual-backtests '{"strategyId":"...","symbol":"BTC-USD"}'

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

MethodPathDescription
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

MethodPathDescription
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

MethodPathDescription
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

MethodPathDescription
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

MethodPathDescription
GET
/watchlist
Get watchlist
POST
/watchlist
Add symbol (
{"symbol":"BTC-USD"}
)
DELETE
/watchlist/{symbol}
Remove symbol

Custom Events

MethodPathDescription
GET
/custom-events
List custom events
POST
/custom-events
Create custom event
GET
/custom-events/{id}
Event details

Custom Event Symbol Activation

MethodPathDescription
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

MethodPathDescription
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

MethodPathDescription
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