pinets 0.2.1 → 0.3.0

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.
Files changed (141) hide show
  1. package/README.md +35 -18
  2. package/dist/pinets.dev.browser.js +3189 -2524
  3. package/dist/pinets.dev.cjs +3389 -2556
  4. package/dist/pinets.dev.cjs.map +1 -1
  5. package/dist/pinets.dev.es.js +2937 -2117
  6. package/dist/pinets.dev.es.js.map +1 -1
  7. package/dist/pinets.min.browser.js +11 -12
  8. package/dist/pinets.min.cjs +11 -12
  9. package/dist/pinets.min.es.js +1 -2
  10. package/dist/types/Context.class.d.ts +17 -6
  11. package/dist/types/PineTS.class.d.ts +78 -4
  12. package/dist/types/Series.d.ts +10 -0
  13. package/dist/types/TimeSeries.class.d.ts +49 -0
  14. package/dist/types/TimeSeries.d.ts +15 -0
  15. package/dist/types/marketData/Mock/MockProvider.class.d.ts +77 -0
  16. package/dist/types/marketData/Provider.class.d.ts +6 -3
  17. package/dist/types/namespaces/array/PineArrayObject.d.ts +5 -0
  18. package/dist/types/namespaces/array/array.index.d.ts +135 -0
  19. package/dist/types/namespaces/array/methods/abs.d.ts +2 -0
  20. package/dist/types/namespaces/array/methods/avg.d.ts +2 -0
  21. package/dist/types/namespaces/array/methods/clear.d.ts +2 -0
  22. package/dist/types/namespaces/array/methods/concat.d.ts +2 -0
  23. package/dist/types/namespaces/array/methods/copy.d.ts +2 -0
  24. package/dist/types/namespaces/array/methods/covariance.d.ts +2 -0
  25. package/dist/types/namespaces/array/methods/every.d.ts +2 -0
  26. package/dist/types/namespaces/array/methods/fill.d.ts +2 -0
  27. package/dist/types/namespaces/array/methods/first.d.ts +2 -0
  28. package/dist/types/namespaces/array/methods/from.d.ts +2 -0
  29. package/dist/types/namespaces/array/methods/get.d.ts +2 -0
  30. package/dist/types/namespaces/array/methods/includes.d.ts +2 -0
  31. package/dist/types/namespaces/array/methods/indexof.d.ts +2 -0
  32. package/dist/types/namespaces/array/methods/insert.d.ts +2 -0
  33. package/dist/types/namespaces/array/methods/join.d.ts +2 -0
  34. package/dist/types/namespaces/array/methods/last.d.ts +2 -0
  35. package/dist/types/namespaces/array/methods/lastindexof.d.ts +2 -0
  36. package/dist/types/namespaces/array/methods/max.d.ts +2 -0
  37. package/dist/types/namespaces/array/methods/min.d.ts +2 -0
  38. package/dist/types/namespaces/array/methods/new.d.ts +2 -0
  39. package/dist/types/namespaces/array/methods/new_bool.d.ts +2 -0
  40. package/dist/types/namespaces/array/methods/new_float.d.ts +2 -0
  41. package/dist/types/namespaces/array/methods/new_int.d.ts +2 -0
  42. package/dist/types/namespaces/array/methods/new_string.d.ts +2 -0
  43. package/dist/types/namespaces/array/methods/param.d.ts +1 -0
  44. package/dist/types/namespaces/array/methods/pop.d.ts +2 -0
  45. package/dist/types/namespaces/array/methods/push.d.ts +2 -0
  46. package/dist/types/namespaces/array/methods/range.d.ts +2 -0
  47. package/dist/types/namespaces/array/methods/remove.d.ts +2 -0
  48. package/dist/types/namespaces/array/methods/reverse.d.ts +2 -0
  49. package/dist/types/namespaces/array/methods/set.d.ts +2 -0
  50. package/dist/types/namespaces/array/methods/shift.d.ts +2 -0
  51. package/dist/types/namespaces/array/methods/size.d.ts +2 -0
  52. package/dist/types/namespaces/array/methods/slice.d.ts +2 -0
  53. package/dist/types/namespaces/array/methods/some.d.ts +2 -0
  54. package/dist/types/namespaces/array/methods/sort.d.ts +2 -0
  55. package/dist/types/namespaces/array/methods/sort_indices.d.ts +2 -0
  56. package/dist/types/namespaces/array/methods/standardize.d.ts +2 -0
  57. package/dist/types/namespaces/array/methods/stdev.d.ts +2 -0
  58. package/dist/types/namespaces/array/methods/sum.d.ts +2 -0
  59. package/dist/types/namespaces/array/methods/unshift.d.ts +2 -0
  60. package/dist/types/namespaces/array/methods/variance.d.ts +2 -0
  61. package/dist/types/namespaces/input/input.index.d.ts +53 -0
  62. package/dist/types/namespaces/input/methods/any.d.ts +2 -0
  63. package/dist/types/namespaces/input/methods/bool.d.ts +2 -0
  64. package/dist/types/namespaces/input/methods/color.d.ts +2 -0
  65. package/dist/types/namespaces/input/methods/enum.d.ts +2 -0
  66. package/dist/types/namespaces/input/methods/float.d.ts +2 -0
  67. package/dist/types/namespaces/input/methods/int.d.ts +2 -0
  68. package/dist/types/namespaces/input/methods/param.d.ts +1 -0
  69. package/dist/types/namespaces/input/methods/price.d.ts +2 -0
  70. package/dist/types/namespaces/input/methods/session.d.ts +2 -0
  71. package/dist/types/namespaces/input/methods/source.d.ts +2 -0
  72. package/dist/types/namespaces/input/methods/string.d.ts +2 -0
  73. package/dist/types/namespaces/input/methods/symbol.d.ts +2 -0
  74. package/dist/types/namespaces/input/methods/text_area.d.ts +2 -0
  75. package/dist/types/namespaces/input/methods/time.d.ts +2 -0
  76. package/dist/types/namespaces/input/methods/timeframe.d.ts +2 -0
  77. package/dist/types/namespaces/input/types.d.ts +4 -0
  78. package/dist/types/namespaces/math/math.index.d.ts +77 -0
  79. package/dist/types/namespaces/math/methods/__eq.d.ts +1 -0
  80. package/dist/types/namespaces/math/methods/abs.d.ts +1 -0
  81. package/dist/types/namespaces/math/methods/acos.d.ts +1 -0
  82. package/dist/types/namespaces/math/methods/asin.d.ts +1 -0
  83. package/dist/types/namespaces/math/methods/atan.d.ts +1 -0
  84. package/dist/types/namespaces/math/methods/avg.d.ts +1 -0
  85. package/dist/types/namespaces/math/methods/ceil.d.ts +1 -0
  86. package/dist/types/namespaces/math/methods/cos.d.ts +1 -0
  87. package/dist/types/namespaces/math/methods/exp.d.ts +1 -0
  88. package/dist/types/namespaces/math/methods/floor.d.ts +1 -0
  89. package/dist/types/namespaces/math/methods/ln.d.ts +1 -0
  90. package/dist/types/namespaces/math/methods/log.d.ts +1 -0
  91. package/dist/types/namespaces/math/methods/log10.d.ts +1 -0
  92. package/dist/types/namespaces/math/methods/max.d.ts +1 -0
  93. package/dist/types/namespaces/math/methods/min.d.ts +1 -0
  94. package/dist/types/namespaces/math/methods/param.d.ts +1 -0
  95. package/dist/types/namespaces/math/methods/pow.d.ts +1 -0
  96. package/dist/types/namespaces/math/methods/random.d.ts +1 -0
  97. package/dist/types/namespaces/math/methods/round.d.ts +1 -0
  98. package/dist/types/namespaces/math/methods/sin.d.ts +1 -0
  99. package/dist/types/namespaces/math/methods/sqrt.d.ts +1 -0
  100. package/dist/types/namespaces/math/methods/sum.d.ts +1 -0
  101. package/dist/types/namespaces/math/methods/tan.d.ts +1 -0
  102. package/dist/types/namespaces/request/methods/param.d.ts +1 -0
  103. package/dist/types/namespaces/request/methods/security.d.ts +1 -0
  104. package/dist/types/namespaces/request/request.index.d.ts +14 -0
  105. package/dist/types/namespaces/request/utils/TIMEFRAMES.d.ts +1 -0
  106. package/dist/types/namespaces/request/utils/findSecContextIdx.d.ts +1 -0
  107. package/dist/types/namespaces/ta/getters/tr.d.ts +1 -0
  108. package/dist/types/namespaces/ta/methods/atr.d.ts +1 -0
  109. package/dist/types/namespaces/ta/methods/change.d.ts +1 -0
  110. package/dist/types/namespaces/ta/methods/crossover.d.ts +1 -0
  111. package/dist/types/namespaces/ta/methods/crossunder.d.ts +1 -0
  112. package/dist/types/namespaces/ta/methods/dev.d.ts +1 -0
  113. package/dist/types/namespaces/ta/methods/ema.d.ts +1 -0
  114. package/dist/types/namespaces/ta/methods/highest.d.ts +1 -0
  115. package/dist/types/namespaces/ta/methods/hma.d.ts +1 -0
  116. package/dist/types/namespaces/ta/methods/linreg.d.ts +1 -0
  117. package/dist/types/namespaces/ta/methods/lowest.d.ts +1 -0
  118. package/dist/types/namespaces/ta/methods/median.d.ts +1 -0
  119. package/dist/types/namespaces/ta/methods/mom.d.ts +1 -0
  120. package/dist/types/namespaces/ta/methods/param.d.ts +2 -0
  121. package/dist/types/namespaces/ta/methods/pivothigh.d.ts +1 -0
  122. package/dist/types/namespaces/ta/methods/pivotlow.d.ts +1 -0
  123. package/dist/types/namespaces/ta/methods/rma.d.ts +1 -0
  124. package/dist/types/namespaces/ta/methods/roc.d.ts +1 -0
  125. package/dist/types/namespaces/ta/methods/rsi.d.ts +1 -0
  126. package/dist/types/namespaces/ta/methods/sma.d.ts +1 -0
  127. package/dist/types/namespaces/ta/methods/stdev.d.ts +1 -0
  128. package/dist/types/namespaces/ta/methods/supertrend.d.ts +1 -0
  129. package/dist/types/namespaces/ta/methods/variance.d.ts +1 -0
  130. package/dist/types/namespaces/ta/methods/vwma.d.ts +1 -0
  131. package/dist/types/namespaces/ta/methods/wma.d.ts +1 -0
  132. package/dist/types/namespaces/ta/ta.index.d.ts +84 -0
  133. package/dist/types/namespaces/ta/utils/pivothigh.d.ts +1 -0
  134. package/dist/types/namespaces/ta/utils/pivotlow.d.ts +1 -0
  135. package/dist/types/transpiler/analysis/AnalysisPass.d.ts +5 -0
  136. package/dist/types/transpiler/analysis/ScopeManager.d.ts +36 -0
  137. package/dist/types/transpiler/transformers/ExpressionTransformer.d.ts +7 -0
  138. package/dist/types/transpiler/transformers/MainTransformer.d.ts +3 -0
  139. package/dist/types/transpiler/transformers/StatementTransformer.d.ts +9 -0
  140. package/dist/types/transpiler/utils/ASTFactory.d.ts +18 -0
  141. package/package.json +12 -3
package/README.md CHANGED
@@ -1,7 +1,8 @@
1
1
  [![npm version](https://img.shields.io/npm/v/pinets.svg?style=flat-square)](https://www.npmjs.com/package/pinets)
2
2
  [![License: AGPL-3.0](https://img.shields.io/badge/License-AGPL--3.0-blue.svg?style=flat-square)](https://opensource.org/licenses/AGPL-3.0)
3
- [![Documentation](https://img.shields.io/badge/docs-github--pages-blue?style=flat-square)](https://alaa-eddine.github.io/PineTS/)
4
- [![Reddit](https://img.shields.io/reddit/subreddit-subscribers/PineTS?style=flat-square&logo=reddit)](https://www.reddit.com/r/PineTS/)
3
+ [![Coverage](./.github/badges/coverage.svg)](./.github/badges/coverage.svg)
4
+ [![Documentation](https://img.shields.io/badge/docs-github--pages-blue?style=flat-square)](https://quantforgeorg.github.io/PineTS/)
5
+ [![Reddit](https://img.shields.io/reddit/subreddit-subscribers/QuantForge?style=flat-square&logo=reddit)](https://www.reddit.com/r/QuantForge/)
5
6
 
6
7
  This project aims to provide a Javascript/Typescript port for Tradingview's Pine Script.
7
8
  The current version does not run Pine Script directly, instead it runs a close Javascript equivalent called PineTS.
@@ -21,8 +22,8 @@ PineTS enables seamless conversion of Pine Script indicators to JavaScript/TypeS
21
22
  Bellow are two ports of Pine Script indicators running in the browser.
22
23
  PineTS is used to generate plot data, and tradingview light weight chart is used to display the plot.
23
24
 
24
- - [Williams Vix Fix](https://alaa-eddine.github.io/PineTS/indicators/willvixfix/)
25
- - [Squeeze Momentum](https://alaa-eddine.github.io/PineTS/indicators/sqzmom/)
25
+ - [Williams Vix Fix](https://quantforgeorg.github.io/PineTS/indicators/willvixfix/)
26
+ - [Squeeze Momentum](https://quantforgeorg.github.io/PineTS/indicators/sqzmom/)
26
27
 
27
28
  ## Key Features
28
29
 
@@ -65,7 +66,13 @@ npm install pinets
65
66
 
66
67
  Original Pine Script:
67
68
 
69
+ <table>
70
+ <tr>
71
+ <td>
72
+
68
73
  ```javascript
74
+ /*==[ Original Pine Script ]==*/
75
+
69
76
  //@version=5
70
77
  indicator('My EMA Cross Strategy');
71
78
 
@@ -82,22 +89,32 @@ _oo = open;
82
89
  _oo = math.abs(open[1] - close[2]);
83
90
  ```
84
91
 
85
- Equivalent PineTS code:
92
+ </td>
93
+ <td>
86
94
 
87
95
  ```javascript
88
- const ema9 = ta.ema(close, 9);
89
- const ema18 = ta.ema(close, 18);
96
+ /*==[ Equivalent PineTS ]==*/
97
+
98
+ //
99
+ //'My EMA Cross Strategy';
90
100
 
91
- const bull_bias = ema9 > ema18;
92
- const bear_bias = ema9 < ema18;
101
+ let ema9 = ta.ema(close, 9);
102
+ let ema18 = ta.ema(close, 18);
93
103
 
94
- const prev_close = close[1];
95
- const diff_close = close - prev_close;
104
+ let bull_bias = ema9 > ema18;
105
+ let bear_bias = ema9 < ema18;
106
+
107
+ let prev_close = close[1];
108
+ let diff_close = close - prev_close;
96
109
 
97
110
  let _oo = open;
98
111
  _oo = math.abs(open[1] - close[2]);
99
112
  ```
100
113
 
114
+ </td>
115
+ </tr>
116
+ </table>
117
+
101
118
  ### Running PineTS Code
102
119
 
103
120
  ```javascript
@@ -111,14 +128,14 @@ const { result } = await pineTS.run((context) => {
111
128
  const { ta, math } = context;
112
129
  const { close, open } = context.data;
113
130
 
114
- const ema9 = ta.ema(close, 9);
115
- const ema18 = ta.ema(close, 18);
131
+ let ema9 = ta.ema(close, 9);
132
+ let ema18 = ta.ema(close, 18);
116
133
 
117
- const bull_bias = ema9 > ema18;
118
- const bear_bias = ema9 < ema18;
134
+ let bull_bias = ema9 > ema18;
135
+ let bear_bias = ema9 < ema18;
119
136
 
120
- const prev_close = close[1];
121
- const diff_close = close - prev_close;
137
+ let prev_close = close[1];
138
+ let diff_close = close - prev_close;
122
139
 
123
140
  let _oo = open;
124
141
  _oo = math.abs(open[1] - close[2]);
@@ -127,7 +144,7 @@ const { result } = await pineTS.run((context) => {
127
144
  });
128
145
  ```
129
146
 
130
- > **📖 For detailed documentation on initialization options, parameters, and advanced usage, see the [Initialization and Usage Guide](https://alaa-eddine.github.io/PineTS/initialization-and-usage/)**
147
+ > **📖 For detailed documentation on initialization options, parameters, and advanced usage, see the [Initialization and Usage Guide](https://quantforgeorg.github.io/PineTS/initialization-and-usage/)**
131
148
 
132
149
  ## Key Differences from Pine Script
133
150