pinets 0.9.11 → 0.9.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +28 -51
- package/dist/pinets.min.browser.es.js +15 -15
- package/dist/pinets.min.browser.es.js.map +1 -1
- package/dist/pinets.min.browser.js +15 -15
- package/dist/pinets.min.browser.js.map +1 -1
- package/dist/pinets.min.cjs +14 -14
- package/dist/pinets.min.cjs.map +1 -1
- package/dist/pinets.min.es.js +18 -18
- package/dist/pinets.min.es.js.map +1 -1
- package/dist/types/marketData/FMP/FMPProvider.class.d.ts +12 -3
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -3,24 +3,23 @@
|
|
|
3
3
|
</p>
|
|
4
4
|
|
|
5
5
|
<p align="center">
|
|
6
|
-
<strong>Run Pine Script Anywhere</strong><br>
|
|
7
|
-
Execute TradingView indicators in Node.js, browsers, and any JavaScript runtime<br />
|
|
8
|
-
PineTS enables algorithmic traders, quant developers and platforms to integrate Pine Script logic directly into their infrastructure.
|
|
6
|
+
<strong>Run Pine Script® Anywhere</strong><br>
|
|
7
|
+
Execute TradingView® indicators in Node.js, browsers, and any JavaScript runtime<br />
|
|
8
|
+
PineTS enables algorithmic traders, quant developers, and platforms to integrate Pine Script® logic directly into their infrastructure.
|
|
9
9
|
|
|
10
10
|
</p>
|
|
11
11
|
|
|
12
12
|
<p align="center">
|
|
13
|
+
<a href="https://www.luxalgo.com"><img src="https://img.shields.io/badge/Backed_by-LuxAlgo-4185DD.svg?style=flat-square" alt="Backed by LuxAlgo"></a>
|
|
13
14
|
<a href="https://www.npmjs.com/package/pinets"><img src="https://img.shields.io/npm/v/pinets.svg?style=flat-square" alt="npm version"></a>
|
|
14
15
|
<a href="#license"><img src="https://img.shields.io/badge/License-AGPL--3.0%20%2F%20Commercial-blue.svg?style=flat-square" alt="License"></a>
|
|
15
16
|
<a href="./.github/badges/coverage.svg"><img src="./.github/badges/coverage.svg" alt="Coverage"></a>
|
|
16
17
|
<a href="https://quantforgeorg.github.io/PineTS/"><img src="https://img.shields.io/badge/docs-github--pages-blue?style=flat-square" alt="Documentation"></a>
|
|
17
|
-
<a href="https://www.reddit.com/r/QuantForge/"><img src="https://img.shields.io/reddit/subreddit-subscribers/QuantForge?style=flat-square&logo=reddit" alt="Reddit"></a>
|
|
18
18
|
</p>
|
|
19
19
|
|
|
20
20
|
<p align="center">
|
|
21
21
|
<a href="#quick-start">Quick Start</a> •
|
|
22
22
|
<a href="#features">Features</a> •
|
|
23
|
-
<a href="#live-demos">Live Demos</a> •
|
|
24
23
|
<a href="#usage">Usage</a> •
|
|
25
24
|
<a href="#api-coverage">API Coverage</a> •
|
|
26
25
|
<a href="#documentation">Docs</a>
|
|
@@ -28,22 +27,16 @@ PineTS enables algorithmic traders, quant developers and platforms to integrate
|
|
|
28
27
|
|
|
29
28
|
---
|
|
30
29
|
|
|
31
|
-
<p align="center">
|
|
32
|
-
<b>Sponsors</b><br />
|
|
33
|
-
<a href="https://luxalgo.com" target="_blank" rel="noopener noreferrer"><img src="./.github/images/luxalgo.png" alt="LuxAlgo" height="80px" /></a>
|
|
34
|
-
<a href="https://github.com/sponsors/QuantForgeOrg" target="_blank" rel="noopener noreferrer"><img src="./.github/images/sponsor.png" alt="Sponsor" height="80px" /></a>
|
|
35
|
-
</p>
|
|
36
|
-
|
|
37
30
|
## What is PineTS?
|
|
38
31
|
|
|
39
|
-
**PineTS** is an open-source transpiler and runtime that seamlessly bridges Pine Script and the JavaScript ecosystem. Develop your indicators once and deploy them everywhere
|
|
32
|
+
**PineTS** is an open-source transpiler and runtime that seamlessly bridges Pine Script® and the JavaScript ecosystem. Develop your indicators once and deploy them everywhere: on your servers, in the browser, or fully integrated into your trading platforms.
|
|
40
33
|
|
|
41
34
|
```javascript
|
|
42
35
|
import { PineTS, Provider } from 'pinets';
|
|
43
36
|
|
|
44
37
|
const pineTS = new PineTS(Provider.Binance, 'BTCUSDT', '1h', 100);
|
|
45
38
|
|
|
46
|
-
// Run native Pine Script directly
|
|
39
|
+
// Run native Pine Script® directly
|
|
47
40
|
const { plots } = await pineTS.run(`
|
|
48
41
|
//@version=5
|
|
49
42
|
indicator("EMA Cross")
|
|
@@ -52,10 +45,12 @@ plot(ta.ema(close, 21), "Slow", color.red)
|
|
|
52
45
|
`);
|
|
53
46
|
```
|
|
54
47
|
|
|
55
|
-
> **
|
|
56
|
-
> [Pine Script
|
|
48
|
+
> **What is Pine Script®?**
|
|
49
|
+
> [Pine Script®](https://www.TradingView.com/pine-script-docs/welcome/) is a domain-specific programming language created by TradingView® for writing custom technical analysis indicators and strategies.
|
|
50
|
+
|
|
51
|
+
> _**Disclaimer**: PineTS is an independently developed open-source compiler and runtime engine. LuxAlgo Global, LLC and the PineTS project are NOT affiliated with, sponsored by, endorsed by, or in any way officially associated with TradingView, Inc. "Pine Script®" and "TradingView®" are registered trademarks of TradingView, Inc._
|
|
57
52
|
|
|
58
|
-
>
|
|
53
|
+
> ⭐ **If you find PineTS useful, please consider starring the repository to support the project!**
|
|
59
54
|
|
|
60
55
|
---
|
|
61
56
|
|
|
@@ -63,9 +58,9 @@ plot(ta.ema(close, 21), "Slow", color.red)
|
|
|
63
58
|
|
|
64
59
|
| Challenge | PineTS Solution |
|
|
65
60
|
| ------------------------------------------- | ---------------------------------------------------- |
|
|
66
|
-
| Pine Script only runs on TradingView | Run indicators on your own infrastructure |
|
|
61
|
+
| Pine Script® only runs on TradingView® | Run indicators on your own infrastructure |
|
|
67
62
|
| Can't integrate indicators with custom apps | Full JavaScript/TypeScript integration |
|
|
68
|
-
| Limited to TradingView's data sources | Use any data source (Binance, custom APIs, CSV) |
|
|
63
|
+
| Limited to TradingView®'s data sources | Use any data source (Binance, custom APIs, CSV) |
|
|
69
64
|
| No programmatic access to indicator values | Get raw values for backtesting, alerts, ML pipelines |
|
|
70
65
|
| Can't run indicators server-side | Works in Node.js, Deno, Bun, browsers |
|
|
71
66
|
|
|
@@ -98,7 +93,7 @@ plot(sma20, "SMA 20")
|
|
|
98
93
|
console.log('SMA values:', plots['SMA 20'].data);
|
|
99
94
|
```
|
|
100
95
|
|
|
101
|
-
**That's it!** You're running Pine Script in JavaScript.
|
|
96
|
+
**That's it!** You're running Pine Script® in JavaScript.
|
|
102
97
|
|
|
103
98
|
---
|
|
104
99
|
|
|
@@ -106,18 +101,18 @@ console.log('SMA values:', plots['SMA 20'].data);
|
|
|
106
101
|
|
|
107
102
|
### Core Capabilities
|
|
108
103
|
|
|
109
|
-
- **Native Pine Script v5/v6** : Run original TradingView code directly _(experimental)_
|
|
104
|
+
- **Native Pine Script® v5/v6** : Run original TradingView® code directly _(experimental)_
|
|
110
105
|
- **60+ Technical Indicators** : SMA, EMA, RSI, MACD, Bollinger Bands, and more
|
|
111
|
-
- **Time-Series Processing** : Full Pine Script semantics with lookback support
|
|
106
|
+
- **Time-Series Processing** : Full Pine Script® semantics with lookback support
|
|
112
107
|
- **Real-time Streaming** : Live data processing with event-based updates
|
|
113
108
|
- **Multi-Timeframe Analysis** : `request.security()` for MTF indicators
|
|
114
|
-
- **High Precision** : Matches TradingView's calculation precision
|
|
109
|
+
- **High Precision** : Matches TradingView®'s calculation precision
|
|
115
110
|
|
|
116
111
|
### Two Ways to Write Indicators
|
|
117
112
|
|
|
118
113
|
<table width="100%">
|
|
119
114
|
<tr>
|
|
120
|
-
<th>Native Pine Script
|
|
115
|
+
<th>Native Pine Script®</th>
|
|
121
116
|
<th>PineTS Syntax (JavaScript)</th>
|
|
122
117
|
</tr>
|
|
123
118
|
<tr>
|
|
@@ -154,21 +149,9 @@ plot(sma, 'Signal');
|
|
|
154
149
|
|
|
155
150
|
---
|
|
156
151
|
|
|
157
|
-
## Live Demos
|
|
158
|
-
|
|
159
|
-
See PineTS in action with these browser-based examples:
|
|
160
|
-
|
|
161
|
-
- **[Williams Vix Fix](https://quantforgeorg.github.io/PineTS/indicators/willvixfix/)** : Volatility-based indicator
|
|
162
|
-
- **[Squeeze Momentum](https://quantforgeorg.github.io/PineTS/indicators/sqzmom/)** : Momentum oscillator
|
|
163
|
-
- **[Playground](https://quantforge.org/playground/)** : Test your own Pine Script code
|
|
164
|
-
|
|
165
|
-
_Demos are Built with PineTS + [QFChart](https://github.com/QuantForgeOrg/QFChart)_
|
|
166
|
-
|
|
167
|
-
---
|
|
168
|
-
|
|
169
152
|
## Usage
|
|
170
153
|
|
|
171
|
-
### Running Native Pine Script
|
|
154
|
+
### Running Native Pine Script®
|
|
172
155
|
|
|
173
156
|
```javascript
|
|
174
157
|
import { PineTS, Provider } from 'pinets';
|
|
@@ -273,7 +256,7 @@ plot(ta.sma(close, 10))
|
|
|
273
256
|
|
|
274
257
|
## API Coverage
|
|
275
258
|
|
|
276
|
-
PineTS aims for complete Pine Script API compatibility. Current status:
|
|
259
|
+
PineTS aims for complete Pine Script® API compatibility. Current status:
|
|
277
260
|
|
|
278
261
|
### Data & Context
|
|
279
262
|
|
|
@@ -333,12 +316,12 @@ PineTS aims for complete Pine Script API compatibility. Current status:
|
|
|
333
316
|
|
|
334
317
|
**Algorithmic Trading**
|
|
335
318
|
|
|
336
|
-
- Build custom trading bots using Pine Script strategies
|
|
319
|
+
- Build custom trading bots using Pine Script® strategies
|
|
337
320
|
- Integrate indicators with your execution systems
|
|
338
321
|
|
|
339
322
|
**Backtesting**
|
|
340
323
|
|
|
341
|
-
- Test Pine Script strategies against historical data
|
|
324
|
+
- Test Pine Script® strategies against historical data
|
|
342
325
|
- Export indicator values for analysis in Python/R
|
|
343
326
|
|
|
344
327
|
**Alert Systems**
|
|
@@ -348,7 +331,7 @@ PineTS aims for complete Pine Script API compatibility. Current status:
|
|
|
348
331
|
|
|
349
332
|
**Research & Analysis**
|
|
350
333
|
|
|
351
|
-
- Process large datasets with Pine Script indicators
|
|
334
|
+
- Process large datasets with Pine Script® indicators
|
|
352
335
|
- Feed indicator outputs into machine learning models
|
|
353
336
|
|
|
354
337
|
**Custom Dashboards**
|
|
@@ -362,30 +345,24 @@ PineTS aims for complete Pine Script API compatibility. Current status:
|
|
|
362
345
|
|
|
363
346
|
| Status | Feature |
|
|
364
347
|
| ------ | ----------------------------------------- |
|
|
365
|
-
| ✅ | Native Pine Script v5/v6 support |
|
|
348
|
+
| ✅ | Native Pine Script® v5/v6 support |
|
|
366
349
|
| ✅ | 60+ technical analysis functions |
|
|
367
350
|
| ✅ | Arrays, matrices, and maps |
|
|
368
351
|
| ✅ | Real-time streaming |
|
|
369
352
|
| ✅ | Multi-timeframe with `request.security()` |
|
|
370
353
|
| 🚧 | Strategy backtesting engine |
|
|
371
354
|
| 🚧 | Additional data providers |
|
|
372
|
-
| 🎯 | Pine Script v6 full compatibility |
|
|
355
|
+
| 🎯 | Pine Script® v6 full compatibility |
|
|
373
356
|
| 🎯 | Market data Providers |
|
|
374
357
|
| 🎯 | Trading Connectors |
|
|
375
358
|
|
|
376
359
|
---
|
|
377
360
|
|
|
378
|
-
## Related Projects
|
|
379
|
-
|
|
380
|
-
- **[QFChart](https://github.com/QuantForgeOrg/QFChart)** : Charting library optimized for PineTS visualization
|
|
381
|
-
|
|
382
|
-
---
|
|
383
|
-
|
|
384
361
|
## Contributing
|
|
385
362
|
|
|
386
363
|
Contributions are welcome! Whether it's:
|
|
387
364
|
|
|
388
|
-
- Adding missing Pine Script functions
|
|
365
|
+
- Adding missing Pine Script® functions
|
|
389
366
|
- Improving documentation
|
|
390
367
|
- Fixing bugs
|
|
391
368
|
- Suggesting features
|
|
@@ -416,10 +393,10 @@ PineTS is dual-licensed:
|
|
|
416
393
|
|
|
417
394
|
- **[AGPL-3.0](./LICENSE)** — Free for everyone. You can use PineTS for personal projects, research, and internal tools without any obligation. The copyleft terms only apply if you **distribute** your application to others or **provide it as a network service** (e.g., SaaS, public API) — in that case, your full source code must also be released under AGPL-3.0.
|
|
418
395
|
|
|
419
|
-
- **[Commercial License](./LICENSE-COMMERCIAL.md)** — For companies and individuals who want to use PineTS in proprietary or closed-source software without AGPL-3.0 obligations. [Contact us for licensing](
|
|
396
|
+
- **[Commercial License](./LICENSE-COMMERCIAL.md)** — For companies and individuals who want to use PineTS in proprietary or closed-source software without AGPL-3.0 obligations. [Contact us for licensing](mailto:business@luxalgo.com).
|
|
420
397
|
|
|
421
398
|
---
|
|
422
399
|
|
|
423
400
|
<p align="center">
|
|
424
|
-
<sub>Built with passion by <a href="https://
|
|
401
|
+
<sub>Built with passion by <a href="https://www.luxalgo.com">LuxAlgo</a></sub>
|
|
425
402
|
</p>
|