Skill マーケットプレイスに戻る

Market Data

pinets

pinets is a command-line tool that executes TradingView Pine Script indicators using the PineTS runtime and emits structured JSON of plots, results, and market data. Installable via npm (global) or run with npx, it accepts .

45 日前に更新セットアップ 1 分未満

概要

pinets is a command-line tool that executes TradingView Pine Script indicators using the PineTS runtime and emits structured JSON of plots, results, and market data.

pinets is a command-line tool that executes TradingView Pine Script indicators using the PineTS runtime and emits structured JSON of plots, results, and market data. Installable via npm (global) or run with npx, it accepts .pine files or piped stdin and sources candles from Binance symbols or local JSON files. Configurable timeframes, output path, and output modes (default plots-only or full with result + marketData) plus flags for pretty-printing, cleaning nulls, and selecting plot names make it suitable for automation. Use it to validate and batch-run indicators, integrate technical calculations (RSI, SMA, EMA, MACD, etc.) into trading bots, CI tests, backtests, monitoring, or dashboards. Core advantages are headless reproducibility, easy pipeline integration, and structured machine-readable output without a TradingView GUI.

Skill.md

この Skill の仕組み

pinets is a command-line tool that executes TradingView Pine Script indicators using the PineTS runtime and emits structured JSON of plots, results, and market data. Installable via npm (global) or run with npx, it accepts .

SKILL.mdALPHIO / 検証済み

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

# 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):

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)

FlagDescription
-s, --symbol <ticker>Symbol from Binance (e.g., BTCUSDT, ETHUSDT, SOLUSDT.P for futures)
-t, --timeframe <tf>Candle timeframe: 1, 5, 15, 30, 60, 120, 240, 1D, 1W, 1M (default: 60)
-d, --data <path>JSON file with candle data (alternative to --symbol)

Output

FlagDescription
-o, --output <path>Write to file instead of stdout
-f, --format <type>default (plots only) or full (plots + result + marketData)
--prettyPretty-print JSON
--cleanFilter out null, false, and empty values from plot data
--plots <names>Comma-separated list of plot names to include (default: all)
-q, --quietSuppress info messages (essential when parsing stdout)

Candle control

FlagDescription
-n, --candles <N>Number of output candles (default: 500)
-w, --warmup <N>Extra warmup candles excluded from output (default: 0)

Debug

FlagDescription
--debugShow transpiled JavaScript code (to stderr)

Usage patterns

Run a .pine file with live Binance data

pinets run indicator.pine --symbol BTCUSDT --timeframe 60 --candles 100 -q

Run with warmup (important for long-period indicators)

# 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

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

pinets run indicator.pine --data candles.json --candles 50 -q

Save output to file

pinets run rsi.pine -s BTCUSDT -t 60 -o results.json -q

Get full execution context

pinets run indicator.pine -s BTCUSDT -f full -q --pretty

Filter signals with --clean (for signal-based indicators)

# 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

# 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

{
  "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)

[
  {
    "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+:

//@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

IndicatorMinimum 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.

こんな用途に最適

どんなときに使うか

pinets is a command-line tool that executes TradingView Pine Script indicators using the PineTS runtime and emits structured JSON of plots, results, and market data. Installable via npm (global) or run with npx, it accepts .

01 · 会議前

意思決定用のブリーフを準備

投資委員会の前に、散らばった材料を構造化した論拠にまとめます。

02 · チームのワークフロー

引き継ぎを標準化

アナリスト、ポートフォリオマネージャー、Agent の間で一貫したリサーチ成果物を作ります。

03 · リアルタイム更新

投資仮説をアップデート

新しいカタリスト、KPI の発表、決算結果を受けてシナリオを更新します。

コミュニティのメモ

使うほど良くなる設計。

この Skill が使われ、レビューされるにつれて、フィードバックがここに表示されます。

フィードバックを送る

さらに探す

関連する Skills

すべて見る
無料で始める