✓ Verified
🌐 Web Scrapers
✓ Enhanced Data
Pinets
Run Pine Script indicators from the command line using pinets-cli.
- Rating
- 4.9 (42 reviews)
- Downloads
- 1,924 downloads
- Version
- 1.0.0
Overview
Run Pine Script indicators from the command line using pinets-cli.
Complete Documentation
View Source →name: pinets description: Run Pine Script indicators from the command line using pinets-cli. Use when asked to execute, test, or analyze Pine Script indicators, calculate technical analysis values (RSI, SMA, EMA, MACD, etc.), or fetch market data for crypto trading pairs. This tool can run PineScript indicators from .pine files or stdin and output the resulting plots and variables data. version: 1.0.0 metadata: openclaw: requires: bins:
- pinets
pinets-cli — Run Pine Script Indicators from the Terminal
pinets is a CLI tool that executes TradingView Pine Script indicators via the PineTS runtime. It outputs structured JSON with calculated indicator values.
Installation
``bash
Global install
npm install -g pinets-cli
Or run directly with npx (no install needed)
npx pinets-cli run indicator.pine --symbol BTCUSDT -q
`
Verify (if installed globally):
`bash
pinets --version
`
When using npx, replace pinets with npx pinets-cli in all examples below.
Core command
`
pinets run [file] [options]
`
The indicator can be a file argument or piped from stdin.
Options
Data source (one required)
| Flag | Description |
| ----------------------- | -------------------------------------------------------------------------------------------- |
| -s, --symbol | Symbol from Binance (e.g., BTCUSDT, ETHUSDT, SOLUSDT.P for futures) |
| -t, --timeframe | Candle timeframe: 1, 5, 15, 30, 60, 120, 240, 1D, 1W, 1M (default: 60) |
| -d, --data | JSON file with candle data (alternative to --symbol) |
Output
| Flag | Description |
| --------------------- | -------------------------------------------------------------- |
| -o, --output | Write to file instead of stdout |
| -f, --format | default (plots only) or full (plots + result + marketData) |
| --pretty | Pretty-print JSON |
| --clean | Filter out null, false, and empty values from plot data |
| --plots | Comma-separated list of plot names to include (default: all) |
| -q, --quiet | Suppress info messages (essential when parsing stdout) |
Candle control
| Flag | Description |
| ------------------- | -------------------------------------------------------- |
| -n, --candles | Number of output candles (default: 500) |
| -w, --warmup | Extra warmup candles excluded from output (default: 0) |
Debug
| Flag | Description |
| --------- | ------------------------------------------- |
| --debug | Show transpiled JavaScript code (to stderr) |
Usage patterns
Run a .pine file with live Binance data
`bash
pinets run indicator.pine --symbol BTCUSDT --timeframe 60 --candles 100 -q
`
Run with warmup (important for long-period indicators)
`bash
EMA 200 needs at least 200 bars to initialize
pinets run ema200.pine -s BTCUSDT -t 1D -n 100 -w 200 -q
`
Pipe Pine Script from stdin
`bash
echo '//@version=5
indicator("RSI")
plot(ta.rsi(close, 14), "RSI")' | pinets run -s BTCUSDT -t 60 -n 20 -q
`
Run with custom JSON data
`bash
pinets run indicator.pine --data candles.json --candles 50 -q
`
Save output to file
`bash
pinets run rsi.pine -s BTCUSDT -t 60 -o results.json -q
`
Get full execution context
`bash
pinets run indicator.pine -s BTCUSDT -f full -q --pretty
`
Filter signals with --clean (for signal-based indicators)
`bash
Without --clean: 500 entries, mostly false
pinets run ma_cross.pine -s BTCUSDT -t 1D -n 500 -q
With --clean: Only actual signals
pinets run ma_cross.pine -s BTCUSDT -t 1D -n 500 --clean -q
`
Select specific plots with --plots
`bash
Get only RSI, ignore bands
pinets run rsi_bands.pine -s BTCUSDT --plots "RSI" -q
Get only Buy and Sell signals
pinets run signals.pine -s BTCUSDT --plots "Buy,Sell" -q
Combine both: only signals, only true values
pinets run signals.pine -s BTCUSDT --plots "Buy,Sell" --clean -q
`
Output structure
default format
`json
{
"indicator": {
"title": "RSI",
"overlay": false
},
"plots": {
"RSI": {
"title": "RSI",
"options": { "color": "#7E57C2" },
"data": [
{ "time": 1704067200000, "value": 58.23 },
{ "time": 1704070800000, "value": 61.45 }
]
}
}
}
`
full format
Adds result (raw return values per bar) and marketData (OHLCV candles) to the default output.
JSON data format (for --data)
`json
[
{
"openTime": 1704067200000,
"open": 42000.5,
"high": 42500.0,
"low": 41800.0,
"close": 42300.0,
"volume": 1234.56,
"closeTime": 1704070799999
}
]
`
Required fields: open, high, low, close, volume. Recommended: openTime, closeTime.
Pine Script quick reference
pinets-cli accepts standard TradingView Pine Script v5+:
`pinescript
//@version=5
indicator("My Indicator", overlay=false)
// Technical analysis functions
rsi = ta.rsi(close, 14)
[macdLine, signalLine, hist] = ta.macd(close, 12, 26, 9)
sma = ta.sma(close, 20)
ema = ta.ema(close, 9)
bb_upper = ta.sma(close, 20) + 2 * ta.stdev(close, 20)
// Output — each plot() creates a named entry in the JSON output
plot(rsi, "RSI", color=color.purple)
`
Important notes
- Always use
-q when parsing JSON output programmatically.
- Warmup matters: Indicators with long lookback periods (SMA 200, EMA 200) produce
NaN for the first N bars. Use --warmup to pre-feed the indicator.
time` values are Unix timestamps in milliseconds.
- Errors go to stderr with exit code 1.
- The tool bundles PineTS internally — no additional npm packages are needed at runtime.
Warmup recommendations
| Indicator | Minimum warmup | | ------------------- | -------------- | | SMA(N) / EMA(N) | N | | RSI(14) | 30 | | MACD(12,26,9) | 50 | | Bollinger Bands(20) | 30 | | SMA(200) | 200+ | Rule of thumb: set warmup to 1.5x-2x the longest lookback period.Installation
Terminal bash
openclaw install pinets
Copied!
Tags
#browser_and-automation
#cli
#script
Quick Info
Category Web Scrapers
Model Claude 3.5
Complexity One-Click
Author alaa-eddine
Last Updated 3/10/2026
🚀
Optimized for
Claude 3.5
Ready to Install?
Get started with this skill in seconds
openclaw install pinets
Related Skills
✓ Verified
💻 Development
4claw
4claw — a moderated imageboard for AI agents.
🧠 Claude-Ready
)}
★ 4.4 (118)
↓ 4,990
v1.0.0
✓ Verified
💻 Development
Aap Passport
Agent Attestation Protocol - The Reverse Turing Test.
🧠 Claude-Ready
)}
★ 4.3 (89)
↓ 4,621
v1.0.0
✓ Verified
💻 Development
Adaptive Suite
A continuously adaptive skill suite that empowers Clawdbot.
🧠 Claude-Ready
)}
★ 4.7 (88)
↓ 1,625
v1.0.0
✓ Verified
💻 Development
Adversarial Prompting
Adversarial analysis to critique, fix.
🧠 Claude-Ready
)}
★ 4.6 (372)
↓ 28,222
v1.0.0