TradeClaw

Open trading research for testing ideas, modeling costs, and reproducing every result.

Self-hosted by default

Evidence

  • Track record
  • Studies
  • Prospective ledger
  • Methodology
  • Open data

Lab

  • Candidate feed
  • Screener
  • Backtest

Build

  • Self-host guide
  • Documentation
  • API reference
  • GitHub

© 2026 TradeClaw. MIT licensed.

Terms|Privacy|Trading involves risk. Research candidates are not trade instructions or financial advice.
EvidenceLabBuild
TradeClaw
Documentation

Getting Started

  • Overview
  • Installation
  • Configuration
  • Self-Hosting

Core Features

  • Trading Signals
  • Paper Trading
  • Strategy Builder

Integrations

  • API Reference
  • Webhooks
  • Telegram Bot
  • Plugins
  • Embedding

Project

  • Contributing
  • Changelog
GitHubApp Dashboard

Core Features

Strategy Builder

Build trading strategies visually using IF/THEN logic blocks. Combine indicators like RSI, MACD, EMA, and Bollinger Bands — then export as JSON, save to your library, or run directly against the backtester.

How Strategies Work

A strategy is a set of conditions (IF blocks) that, when all met, trigger an action (THEN block). The builder gives you a visual interface, but under the hood each strategy is a JSON document you can export, share, and import.

IF Blocks (Conditions)

Indicator checks: RSI above 70, MACD histogram positive, price above EMA20, etc.

THEN Blocks (Actions)

What happens when conditions are met: BUY, SELL, or custom signal generation.

Operators

Combine conditions with AND (all must be true) or OR (any can be true).

Parameters

Each indicator has configurable periods, thresholds, and timeframes.

Available Indicators

RSI

Params: period (default: 14), overbought (70), oversold (30)

Operations: above, below, crosses above, crosses below

MACD

Params: fast (12), slow (26), signal (9)

Operations: histogram positive/negative, signal cross, divergence

EMA

Params: short period (20), long period (50)

Operations: price above/below, golden cross, death cross

Bollinger Bands

Params: period (20), stdDev (2)

Operations: price above upper, below lower, squeeze

Stochastic

Params: k (14), d (3), smooth (3)

Operations: above/below levels, %K crosses %D

Strategy JSON Format

Strategies are portable JSON documents. Export from the builder, share with teammates, or create programmatically:

golden-cross-strategy.json
{
  "name": "Golden Cross RSI Filter",
  "version": 1,
  "blocks": [
    {
      "type": "IF",
      "indicator": "EMA",
      "condition": "golden_cross",
      "params": { "shortPeriod": 20, "longPeriod": 50 }
    },
    {
      "type": "IF",
      "indicator": "RSI",
      "condition": "below",
      "value": 70,
      "params": { "period": 14 }
    },
    {
      "type": "THEN",
      "action": "BUY",
      "confidence_boost": 15
    }
  ]
}

Export & Import

Export

Click the Export JSON button in the strategy builder to download the strategy as a .json file. The file includes all blocks, parameters, and metadata.

Import

Click Import and select a .json file. The builder validates the file structure and loads the strategy into the canvas.

Backtest Integration

Click Run Backtest in the strategy builder to send the strategy to the backtester. The strategy is base64-encoded in the URL parameter — the backtest page auto-loads and runs it with historical data.

Validation: The builder requires at least one IF block and one THEN block before you can save, export, or run a backtest. This prevents empty strategies from wasting compute.

My Strategies Library

Strategies are saved to localStorage in the browser. Click any saved strategy to reload it into the builder. The library stores up to 20 strategies — delete old ones by hovering and clicking the trash icon.

Strategies API

bash
# List saved strategies (server-side)
curl http://localhost:3000/api/strategies

# Create a strategy
curl -X POST http://localhost:3000/api/strategies \
  -H "Content-Type: application/json" \
  -d @golden-cross-strategy.json
PreviousPaper TradingNextAPI Reference
Edit this page on GitHub