oakscriptjs 0.8.1 → 0.9.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 (544) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +31 -9
  3. package/dist/cjs/array/index.d.ts +701 -0
  4. package/dist/cjs/array/index.d.ts.map +1 -0
  5. package/dist/cjs/array/index.js +392 -0
  6. package/dist/cjs/array/index.js.map +7 -0
  7. package/dist/cjs/box/index.d.ts +444 -0
  8. package/dist/cjs/box/index.d.ts.map +1 -0
  9. package/dist/cjs/box/index.js +246 -0
  10. package/dist/cjs/box/index.js.map +7 -0
  11. package/dist/cjs/callsite/index.d.ts +61 -0
  12. package/dist/cjs/callsite/index.d.ts.map +1 -0
  13. package/dist/cjs/callsite/index.js +65 -0
  14. package/dist/cjs/callsite/index.js.map +7 -0
  15. package/dist/cjs/chartpoint/index.d.ts +90 -0
  16. package/dist/cjs/chartpoint/index.d.ts.map +1 -0
  17. package/dist/cjs/chartpoint/index.js +56 -0
  18. package/dist/cjs/chartpoint/index.js.map +7 -0
  19. package/dist/cjs/color/index.d.ts +285 -0
  20. package/dist/cjs/color/index.d.ts.map +1 -0
  21. package/dist/cjs/color/index.js +143 -0
  22. package/dist/cjs/color/index.js.map +7 -0
  23. package/dist/cjs/compare/index.d.ts +26 -0
  24. package/dist/cjs/compare/index.d.ts.map +1 -0
  25. package/dist/cjs/compare/index.js +50 -0
  26. package/dist/cjs/compare/index.js.map +7 -0
  27. package/dist/cjs/drawing/registry.d.ts +42 -0
  28. package/dist/cjs/drawing/registry.d.ts.map +1 -0
  29. package/dist/cjs/drawing/registry.js +87 -0
  30. package/dist/cjs/drawing/registry.js.map +7 -0
  31. package/dist/cjs/index.d.ts +85 -0
  32. package/dist/cjs/index.d.ts.map +1 -0
  33. package/dist/cjs/index.js +184 -0
  34. package/dist/cjs/index.js.map +7 -0
  35. package/dist/cjs/indicator.d.ts +117 -0
  36. package/dist/cjs/indicator.d.ts.map +1 -0
  37. package/dist/cjs/indicator.js +74 -0
  38. package/dist/cjs/indicator.js.map +7 -0
  39. package/dist/cjs/input.d.ts +196 -0
  40. package/dist/cjs/input.d.ts.map +1 -0
  41. package/dist/cjs/input.js +197 -0
  42. package/dist/cjs/input.js.map +7 -0
  43. package/dist/cjs/label/index.d.ts +303 -0
  44. package/dist/cjs/label/index.d.ts.map +1 -0
  45. package/dist/cjs/label/index.js +190 -0
  46. package/dist/cjs/label/index.js.map +7 -0
  47. package/dist/cjs/lib/index.d.ts +8 -0
  48. package/dist/cjs/lib/index.d.ts.map +1 -0
  49. package/dist/cjs/lib/index.js +19 -0
  50. package/dist/cjs/lib/index.js.map +7 -0
  51. package/dist/{lib → cjs/lib}/zigzag/index.d.ts +4 -1
  52. package/dist/cjs/lib/zigzag/index.d.ts.map +1 -0
  53. package/dist/cjs/lib/zigzag/index.js +27 -0
  54. package/dist/cjs/lib/zigzag/index.js.map +7 -0
  55. package/dist/cjs/lib/zigzag/zigzag.d.ts +100 -0
  56. package/dist/cjs/lib/zigzag/zigzag.d.ts.map +1 -0
  57. package/dist/cjs/lib/zigzag/zigzag.js +207 -0
  58. package/dist/cjs/lib/zigzag/zigzag.js.map +7 -0
  59. package/dist/cjs/line/index.d.ts +342 -0
  60. package/dist/cjs/line/index.d.ts.map +1 -0
  61. package/dist/cjs/line/index.js +193 -0
  62. package/dist/cjs/line/index.js.map +7 -0
  63. package/dist/cjs/linefill/index.d.ts +124 -0
  64. package/dist/cjs/linefill/index.d.ts.map +1 -0
  65. package/dist/cjs/linefill/index.js +56 -0
  66. package/dist/cjs/linefill/index.js.map +7 -0
  67. package/dist/cjs/map/index.d.ts +69 -0
  68. package/dist/cjs/map/index.d.ts.map +1 -0
  69. package/dist/cjs/map/index.js +80 -0
  70. package/dist/cjs/map/index.js.map +7 -0
  71. package/dist/cjs/math/index.d.ts +560 -0
  72. package/dist/cjs/math/index.d.ts.map +1 -0
  73. package/dist/cjs/math/index.js +441 -0
  74. package/dist/cjs/math/index.js.map +7 -0
  75. package/dist/cjs/matrix/index.d.ts +1231 -0
  76. package/dist/cjs/matrix/index.d.ts.map +1 -0
  77. package/dist/cjs/matrix/index.js +1200 -0
  78. package/dist/cjs/matrix/index.js.map +7 -0
  79. package/dist/cjs/package.json +1 -0
  80. package/dist/cjs/plot.d.ts +76 -0
  81. package/dist/cjs/plot.d.ts.map +1 -0
  82. package/dist/cjs/plot.js +51 -0
  83. package/dist/cjs/plot.js.map +7 -0
  84. package/dist/cjs/polyline/index.d.ts +115 -0
  85. package/dist/cjs/polyline/index.d.ts.map +1 -0
  86. package/dist/cjs/polyline/index.js +76 -0
  87. package/dist/cjs/polyline/index.js.map +7 -0
  88. package/dist/cjs/runtime/adapters/LightweightChartsAdapter.d.ts +86 -0
  89. package/dist/cjs/runtime/adapters/LightweightChartsAdapter.d.ts.map +1 -0
  90. package/dist/cjs/runtime/adapters/LightweightChartsAdapter.js +141 -0
  91. package/dist/cjs/runtime/adapters/LightweightChartsAdapter.js.map +7 -0
  92. package/dist/cjs/runtime/adapters/SimpleInputAdapter.d.ts +59 -0
  93. package/dist/cjs/runtime/adapters/SimpleInputAdapter.d.ts.map +1 -0
  94. package/dist/cjs/runtime/adapters/SimpleInputAdapter.js +117 -0
  95. package/dist/cjs/runtime/adapters/SimpleInputAdapter.js.map +7 -0
  96. package/dist/{runtime → cjs/runtime}/index.d.ts +12 -5
  97. package/dist/cjs/runtime/index.d.ts.map +1 -0
  98. package/dist/cjs/runtime/index.js +49 -0
  99. package/dist/cjs/runtime/index.js.map +7 -0
  100. package/dist/cjs/runtime/inputs.d.ts +91 -0
  101. package/dist/cjs/runtime/inputs.d.ts.map +1 -0
  102. package/dist/cjs/runtime/inputs.js +262 -0
  103. package/dist/cjs/runtime/inputs.js.map +7 -0
  104. package/dist/cjs/runtime/runtime.d.ts +70 -0
  105. package/dist/cjs/runtime/runtime.d.ts.map +1 -0
  106. package/dist/cjs/runtime/runtime.js +148 -0
  107. package/dist/cjs/runtime/runtime.js.map +7 -0
  108. package/dist/cjs/runtime/series.d.ts +362 -0
  109. package/dist/cjs/runtime/series.d.ts.map +1 -0
  110. package/dist/cjs/runtime/series.js +560 -0
  111. package/dist/cjs/runtime/series.js.map +7 -0
  112. package/dist/cjs/runtime/types.d.ts +282 -0
  113. package/dist/cjs/runtime/types.d.ts.map +1 -0
  114. package/dist/cjs/runtime/types.js +17 -0
  115. package/dist/cjs/runtime/types.js.map +7 -0
  116. package/dist/cjs/script/index.d.ts +987 -0
  117. package/dist/cjs/script/index.d.ts.map +1 -0
  118. package/dist/cjs/script/index.js +1169 -0
  119. package/dist/cjs/script/index.js.map +7 -0
  120. package/dist/cjs/security/resample.d.ts +63 -0
  121. package/dist/cjs/security/resample.d.ts.map +1 -0
  122. package/dist/cjs/security/resample.js +84 -0
  123. package/dist/cjs/security/resample.js.map +7 -0
  124. package/dist/cjs/session/bars.d.ts +80 -0
  125. package/dist/cjs/session/bars.d.ts.map +1 -0
  126. package/dist/cjs/session/bars.js +219 -0
  127. package/dist/cjs/session/bars.js.map +7 -0
  128. package/dist/cjs/session/calendar.d.ts +70 -0
  129. package/dist/cjs/session/calendar.d.ts.map +1 -0
  130. package/dist/cjs/session/calendar.js +164 -0
  131. package/dist/cjs/session/calendar.js.map +7 -0
  132. package/dist/cjs/str/dateformat.d.ts +15 -0
  133. package/dist/cjs/str/dateformat.d.ts.map +1 -0
  134. package/dist/cjs/str/dateformat.js +149 -0
  135. package/dist/cjs/str/dateformat.js.map +7 -0
  136. package/dist/cjs/str/index.d.ts +459 -0
  137. package/dist/cjs/str/index.d.ts.map +1 -0
  138. package/dist/cjs/str/index.js +143 -0
  139. package/dist/cjs/str/index.js.map +7 -0
  140. package/dist/cjs/str/messageformat.d.ts +14 -0
  141. package/dist/cjs/str/messageformat.d.ts.map +1 -0
  142. package/dist/cjs/str/messageformat.js +114 -0
  143. package/dist/cjs/str/messageformat.js.map +7 -0
  144. package/dist/cjs/str/numberformat.d.ts +19 -0
  145. package/dist/cjs/str/numberformat.d.ts.map +1 -0
  146. package/dist/cjs/str/numberformat.js +170 -0
  147. package/dist/cjs/str/numberformat.js.map +7 -0
  148. package/dist/{strategy → cjs/strategy}/index.d.ts +50 -0
  149. package/dist/cjs/strategy/index.d.ts.map +1 -0
  150. package/dist/cjs/strategy/index.js +92 -0
  151. package/dist/cjs/strategy/index.js.map +7 -0
  152. package/dist/cjs/ta/index.d.ts +1397 -0
  153. package/dist/cjs/ta/index.d.ts.map +1 -0
  154. package/dist/cjs/ta/index.js +1715 -0
  155. package/dist/cjs/ta/index.js.map +7 -0
  156. package/dist/cjs/ta/running-sum.d.ts +30 -0
  157. package/dist/cjs/ta/running-sum.d.ts.map +1 -0
  158. package/dist/cjs/ta/running-sum.js +99 -0
  159. package/dist/cjs/ta/running-sum.js.map +7 -0
  160. package/dist/cjs/ta-series.d.ts +558 -0
  161. package/dist/cjs/ta-series.d.ts.map +1 -0
  162. package/dist/cjs/ta-series.js +606 -0
  163. package/dist/cjs/ta-series.js.map +7 -0
  164. package/dist/cjs/text/index.d.ts +14 -0
  165. package/dist/cjs/text/index.d.ts.map +1 -0
  166. package/dist/cjs/text/index.js +29 -0
  167. package/dist/cjs/text/index.js.map +7 -0
  168. package/dist/cjs/time/datestring.d.ts +23 -0
  169. package/dist/cjs/time/datestring.d.ts.map +1 -0
  170. package/dist/cjs/time/datestring.js +106 -0
  171. package/dist/cjs/time/datestring.js.map +7 -0
  172. package/dist/cjs/time/index.d.ts +89 -0
  173. package/dist/cjs/time/index.d.ts.map +1 -0
  174. package/dist/cjs/time/index.js +85 -0
  175. package/dist/cjs/time/index.js.map +7 -0
  176. package/dist/cjs/time/session.d.ts +17 -0
  177. package/dist/cjs/time/session.d.ts.map +1 -0
  178. package/dist/cjs/time/session.js +65 -0
  179. package/dist/cjs/time/session.js.map +7 -0
  180. package/dist/cjs/time/timezone.d.ts +40 -0
  181. package/dist/cjs/time/timezone.d.ts.map +1 -0
  182. package/dist/cjs/time/timezone.js +125 -0
  183. package/dist/cjs/time/timezone.js.map +7 -0
  184. package/dist/cjs/timeframe/index.d.ts +73 -0
  185. package/dist/cjs/timeframe/index.d.ts.map +1 -0
  186. package/dist/cjs/timeframe/index.js +85 -0
  187. package/dist/cjs/timeframe/index.js.map +7 -0
  188. package/dist/cjs/types/index.d.ts +343 -0
  189. package/dist/cjs/types/index.d.ts.map +1 -0
  190. package/dist/cjs/types/index.js +32 -0
  191. package/dist/cjs/types/index.js.map +7 -0
  192. package/dist/cjs/types/metadata.d.ts +300 -0
  193. package/dist/cjs/types/metadata.d.ts.map +1 -0
  194. package/dist/cjs/types/metadata.js +17 -0
  195. package/dist/cjs/types/metadata.js.map +7 -0
  196. package/dist/cjs/utils/index.d.ts +167 -0
  197. package/dist/cjs/utils/index.d.ts.map +1 -0
  198. package/dist/cjs/utils/index.js +209 -0
  199. package/dist/cjs/utils/index.js.map +7 -0
  200. package/dist/esm/array/index.d.ts +701 -0
  201. package/dist/esm/array/index.d.ts.map +1 -0
  202. package/dist/esm/array/index.js +983 -0
  203. package/dist/esm/array/index.js.map +1 -0
  204. package/dist/esm/box/index.d.ts +444 -0
  205. package/dist/esm/box/index.d.ts.map +1 -0
  206. package/dist/esm/box/index.js +602 -0
  207. package/dist/esm/box/index.js.map +1 -0
  208. package/dist/esm/callsite/index.d.ts +61 -0
  209. package/dist/esm/callsite/index.d.ts.map +1 -0
  210. package/dist/esm/callsite/index.js +97 -0
  211. package/dist/esm/callsite/index.js.map +1 -0
  212. package/dist/esm/chartpoint/index.d.ts +90 -0
  213. package/dist/esm/chartpoint/index.d.ts.map +1 -0
  214. package/dist/esm/chartpoint/index.js +113 -0
  215. package/dist/esm/chartpoint/index.js.map +1 -0
  216. package/dist/esm/color/index.d.ts +285 -0
  217. package/dist/esm/color/index.d.ts.map +1 -0
  218. package/dist/esm/color/index.js +373 -0
  219. package/dist/esm/color/index.js.map +1 -0
  220. package/dist/esm/compare/index.d.ts +26 -0
  221. package/dist/esm/compare/index.d.ts.map +1 -0
  222. package/dist/esm/compare/index.js +39 -0
  223. package/dist/esm/compare/index.js.map +1 -0
  224. package/dist/esm/drawing/registry.d.ts +42 -0
  225. package/dist/esm/drawing/registry.d.ts.map +1 -0
  226. package/dist/esm/drawing/registry.js +89 -0
  227. package/dist/esm/drawing/registry.js.map +1 -0
  228. package/dist/esm/index.d.ts +85 -0
  229. package/dist/esm/index.d.ts.map +1 -0
  230. package/dist/esm/index.js +96 -0
  231. package/dist/esm/index.js.map +1 -0
  232. package/dist/esm/indicator.d.ts +117 -0
  233. package/dist/esm/indicator.d.ts.map +1 -0
  234. package/dist/esm/indicator.js +84 -0
  235. package/dist/esm/indicator.js.map +1 -0
  236. package/dist/esm/input.d.ts +196 -0
  237. package/dist/esm/input.d.ts.map +1 -0
  238. package/dist/esm/input.js +183 -0
  239. package/dist/esm/input.js.map +1 -0
  240. package/dist/esm/label/index.d.ts +303 -0
  241. package/dist/esm/label/index.d.ts.map +1 -0
  242. package/dist/esm/label/index.js +417 -0
  243. package/dist/esm/label/index.js.map +1 -0
  244. package/dist/esm/lib/index.d.ts +8 -0
  245. package/dist/esm/lib/index.d.ts.map +1 -0
  246. package/dist/esm/lib/index.js +8 -0
  247. package/dist/esm/lib/index.js.map +1 -0
  248. package/dist/esm/lib/zigzag/index.d.ts +5 -0
  249. package/dist/esm/lib/zigzag/index.d.ts.map +1 -0
  250. package/dist/esm/lib/zigzag/index.js +5 -0
  251. package/dist/esm/lib/zigzag/index.js.map +1 -0
  252. package/dist/esm/lib/zigzag/zigzag.d.ts +100 -0
  253. package/dist/esm/lib/zigzag/zigzag.d.ts.map +1 -0
  254. package/dist/esm/lib/zigzag/zigzag.js +229 -0
  255. package/dist/esm/lib/zigzag/zigzag.js.map +1 -0
  256. package/dist/esm/line/index.d.ts +342 -0
  257. package/dist/esm/line/index.d.ts.map +1 -0
  258. package/dist/esm/line/index.js +470 -0
  259. package/dist/esm/line/index.js.map +1 -0
  260. package/dist/esm/linefill/index.d.ts +124 -0
  261. package/dist/esm/linefill/index.d.ts.map +1 -0
  262. package/dist/esm/linefill/index.js +144 -0
  263. package/dist/esm/linefill/index.js.map +1 -0
  264. package/dist/esm/map/index.d.ts +69 -0
  265. package/dist/esm/map/index.d.ts.map +1 -0
  266. package/dist/esm/map/index.js +106 -0
  267. package/dist/esm/map/index.js.map +1 -0
  268. package/dist/esm/math/index.d.ts +560 -0
  269. package/dist/esm/math/index.d.ts.map +1 -0
  270. package/dist/esm/math/index.js +495 -0
  271. package/dist/esm/math/index.js.map +1 -0
  272. package/dist/esm/matrix/index.d.ts +1231 -0
  273. package/dist/esm/matrix/index.d.ts.map +1 -0
  274. package/dist/esm/matrix/index.js +2450 -0
  275. package/dist/esm/matrix/index.js.map +1 -0
  276. package/dist/esm/plot.d.ts +76 -0
  277. package/dist/esm/plot.d.ts.map +1 -0
  278. package/dist/esm/plot.js +63 -0
  279. package/dist/esm/plot.js.map +1 -0
  280. package/dist/esm/polyline/index.d.ts +115 -0
  281. package/dist/esm/polyline/index.d.ts.map +1 -0
  282. package/dist/esm/polyline/index.js +157 -0
  283. package/dist/esm/polyline/index.js.map +1 -0
  284. package/dist/esm/runtime/adapters/LightweightChartsAdapter.d.ts +86 -0
  285. package/dist/esm/runtime/adapters/LightweightChartsAdapter.d.ts.map +1 -0
  286. package/dist/esm/runtime/adapters/LightweightChartsAdapter.js +140 -0
  287. package/dist/esm/runtime/adapters/LightweightChartsAdapter.js.map +1 -0
  288. package/dist/esm/runtime/adapters/SimpleInputAdapter.d.ts +59 -0
  289. package/dist/esm/runtime/adapters/SimpleInputAdapter.d.ts.map +1 -0
  290. package/dist/esm/runtime/adapters/SimpleInputAdapter.js +115 -0
  291. package/dist/esm/runtime/adapters/SimpleInputAdapter.js.map +1 -0
  292. package/dist/esm/runtime/index.d.ts +13 -0
  293. package/dist/esm/runtime/index.d.ts.map +1 -0
  294. package/dist/esm/runtime/index.js +14 -0
  295. package/dist/esm/runtime/index.js.map +1 -0
  296. package/dist/esm/runtime/inputs.d.ts +91 -0
  297. package/dist/esm/runtime/inputs.d.ts.map +1 -0
  298. package/dist/esm/runtime/inputs.js +334 -0
  299. package/dist/esm/runtime/inputs.js.map +1 -0
  300. package/dist/esm/runtime/runtime.d.ts +70 -0
  301. package/dist/esm/runtime/runtime.d.ts.map +1 -0
  302. package/dist/esm/runtime/runtime.js +193 -0
  303. package/dist/esm/runtime/runtime.js.map +1 -0
  304. package/dist/esm/runtime/series.d.ts +362 -0
  305. package/dist/esm/runtime/series.d.ts.map +1 -0
  306. package/dist/esm/runtime/series.js +583 -0
  307. package/dist/esm/runtime/series.js.map +1 -0
  308. package/dist/esm/runtime/types.d.ts +282 -0
  309. package/dist/esm/runtime/types.d.ts.map +1 -0
  310. package/dist/esm/runtime/types.js +7 -0
  311. package/dist/esm/runtime/types.js.map +1 -0
  312. package/dist/esm/script/index.d.ts +987 -0
  313. package/dist/esm/script/index.d.ts.map +1 -0
  314. package/dist/esm/script/index.js +1289 -0
  315. package/dist/esm/script/index.js.map +1 -0
  316. package/dist/esm/security/resample.d.ts +63 -0
  317. package/dist/esm/security/resample.d.ts.map +1 -0
  318. package/dist/esm/security/resample.js +110 -0
  319. package/dist/esm/security/resample.js.map +1 -0
  320. package/dist/esm/session/bars.d.ts +80 -0
  321. package/dist/esm/session/bars.d.ts.map +1 -0
  322. package/dist/esm/session/bars.js +232 -0
  323. package/dist/esm/session/bars.js.map +1 -0
  324. package/dist/esm/session/calendar.d.ts +70 -0
  325. package/dist/esm/session/calendar.d.ts.map +1 -0
  326. package/dist/esm/session/calendar.js +172 -0
  327. package/dist/esm/session/calendar.js.map +1 -0
  328. package/dist/esm/str/dateformat.d.ts +15 -0
  329. package/dist/esm/str/dateformat.d.ts.map +1 -0
  330. package/dist/esm/str/dateformat.js +136 -0
  331. package/dist/esm/str/dateformat.js.map +1 -0
  332. package/dist/esm/str/index.d.ts +459 -0
  333. package/dist/esm/str/index.d.ts.map +1 -0
  334. package/dist/esm/str/index.js +540 -0
  335. package/dist/esm/str/index.js.map +1 -0
  336. package/dist/esm/str/messageformat.d.ts +14 -0
  337. package/dist/esm/str/messageformat.d.ts.map +1 -0
  338. package/dist/esm/str/messageformat.js +111 -0
  339. package/dist/esm/str/messageformat.js.map +1 -0
  340. package/dist/esm/str/numberformat.d.ts +19 -0
  341. package/dist/esm/str/numberformat.d.ts.map +1 -0
  342. package/dist/esm/str/numberformat.js +189 -0
  343. package/dist/esm/str/numberformat.js.map +1 -0
  344. package/dist/esm/strategy/index.d.ts +245 -0
  345. package/dist/esm/strategy/index.d.ts.map +1 -0
  346. package/dist/esm/strategy/index.js +84 -0
  347. package/dist/esm/strategy/index.js.map +1 -0
  348. package/dist/esm/ta/index.d.ts +1397 -0
  349. package/dist/esm/ta/index.d.ts.map +1 -0
  350. package/dist/esm/ta/index.js +3227 -0
  351. package/dist/esm/ta/index.js.map +1 -0
  352. package/dist/esm/ta/running-sum.d.ts +30 -0
  353. package/dist/esm/ta/running-sum.d.ts.map +1 -0
  354. package/dist/esm/ta/running-sum.js +113 -0
  355. package/dist/esm/ta/running-sum.js.map +1 -0
  356. package/dist/esm/ta-series.d.ts +558 -0
  357. package/dist/esm/ta-series.d.ts.map +1 -0
  358. package/dist/esm/ta-series.js +910 -0
  359. package/dist/esm/ta-series.js.map +1 -0
  360. package/dist/esm/text/index.d.ts +14 -0
  361. package/dist/esm/text/index.d.ts.map +1 -0
  362. package/dist/esm/text/index.js +14 -0
  363. package/dist/esm/text/index.js.map +1 -0
  364. package/dist/esm/time/datestring.d.ts +23 -0
  365. package/dist/esm/time/datestring.d.ts.map +1 -0
  366. package/dist/esm/time/datestring.js +94 -0
  367. package/dist/esm/time/datestring.js.map +1 -0
  368. package/dist/esm/time/index.d.ts +89 -0
  369. package/dist/esm/time/index.d.ts.map +1 -0
  370. package/dist/esm/time/index.js +108 -0
  371. package/dist/esm/time/index.js.map +1 -0
  372. package/dist/esm/time/session.d.ts +17 -0
  373. package/dist/esm/time/session.d.ts.map +1 -0
  374. package/dist/esm/time/session.js +69 -0
  375. package/dist/esm/time/session.js.map +1 -0
  376. package/dist/esm/time/timezone.d.ts +40 -0
  377. package/dist/esm/time/timezone.d.ts.map +1 -0
  378. package/dist/esm/time/timezone.js +144 -0
  379. package/dist/esm/time/timezone.js.map +1 -0
  380. package/dist/esm/timeframe/index.d.ts +73 -0
  381. package/dist/esm/timeframe/index.d.ts.map +1 -0
  382. package/dist/esm/timeframe/index.js +131 -0
  383. package/dist/esm/timeframe/index.js.map +1 -0
  384. package/dist/esm/types/index.d.ts +343 -0
  385. package/dist/esm/types/index.d.ts.map +1 -0
  386. package/dist/esm/types/index.js +17 -0
  387. package/dist/esm/types/index.js.map +1 -0
  388. package/dist/esm/types/metadata.d.ts +300 -0
  389. package/dist/esm/types/metadata.d.ts.map +1 -0
  390. package/dist/esm/types/metadata.js +7 -0
  391. package/dist/esm/types/metadata.js.map +1 -0
  392. package/dist/esm/utils/index.d.ts +167 -0
  393. package/dist/esm/utils/index.d.ts.map +1 -0
  394. package/dist/esm/utils/index.js +295 -0
  395. package/dist/esm/utils/index.js.map +1 -0
  396. package/package.json +53 -23
  397. package/src/array/index.ts +1056 -0
  398. package/src/box/index.ts +680 -0
  399. package/src/callsite/index.ts +104 -0
  400. package/src/chartpoint/index.ts +126 -0
  401. package/src/color/index.ts +411 -0
  402. package/src/compare/index.ts +46 -0
  403. package/src/drawing/registry.ts +106 -0
  404. package/src/index.ts +201 -0
  405. package/src/indicator.ts +185 -0
  406. package/src/input.ts +280 -0
  407. package/src/label/index.ts +490 -0
  408. package/src/lib/index.ts +8 -0
  409. package/src/lib/zigzag/index.ts +13 -0
  410. package/src/lib/zigzag/zigzag.ts +318 -0
  411. package/src/line/index.ts +530 -0
  412. package/src/linefill/index.ts +152 -0
  413. package/src/map/index.ts +115 -0
  414. package/src/math/index.ts +1071 -0
  415. package/src/matrix/index.ts +2697 -0
  416. package/src/plot.ts +121 -0
  417. package/src/polyline/index.ts +184 -0
  418. package/src/runtime/adapters/LightweightChartsAdapter.ts +201 -0
  419. package/src/runtime/adapters/SimpleInputAdapter.ts +132 -0
  420. package/src/runtime/index.ts +52 -0
  421. package/src/runtime/inputs.ts +377 -0
  422. package/src/runtime/runtime.ts +241 -0
  423. package/src/runtime/series.ts +644 -0
  424. package/src/runtime/types.ts +292 -0
  425. package/src/script/index.ts +1865 -0
  426. package/src/security/resample.ts +119 -0
  427. package/src/session/bars.ts +262 -0
  428. package/src/session/calendar.ts +199 -0
  429. package/src/str/dateformat.ts +104 -0
  430. package/src/str/index.ts +557 -0
  431. package/src/str/messageformat.ts +109 -0
  432. package/src/str/numberformat.ts +197 -0
  433. package/src/strategy/index.ts +281 -0
  434. package/src/ta/index.ts +3580 -0
  435. package/src/ta/running-sum.ts +117 -0
  436. package/src/ta-series.ts +1036 -0
  437. package/src/text/index.ts +14 -0
  438. package/src/time/datestring.ts +96 -0
  439. package/src/time/index.ts +161 -0
  440. package/src/time/session.ts +79 -0
  441. package/src/time/timezone.ts +180 -0
  442. package/src/timeframe/index.ts +144 -0
  443. package/src/types/index.ts +398 -0
  444. package/src/types/metadata.ts +334 -0
  445. package/src/utils/index.ts +334 -0
  446. package/dist/array/index.d.ts +0 -57
  447. package/dist/array/index.d.ts.map +0 -1
  448. package/dist/box/index.d.ts +0 -37
  449. package/dist/box/index.d.ts.map +0 -1
  450. package/dist/callsite/index.d.ts +0 -7
  451. package/dist/callsite/index.d.ts.map +0 -1
  452. package/dist/chartpoint/index.d.ts +0 -8
  453. package/dist/chartpoint/index.d.ts.map +0 -1
  454. package/dist/color/index.d.ts +0 -28
  455. package/dist/color/index.d.ts.map +0 -1
  456. package/dist/compare/index.d.ts +0 -8
  457. package/dist/compare/index.d.ts.map +0 -1
  458. package/dist/drawing/registry.d.ts +0 -19
  459. package/dist/drawing/registry.d.ts.map +0 -1
  460. package/dist/index.cjs +0 -7979
  461. package/dist/index.d.ts +0 -64
  462. package/dist/index.d.ts.map +0 -1
  463. package/dist/index.mjs +0 -7962
  464. package/dist/indicator.d.ts +0 -42
  465. package/dist/indicator.d.ts.map +0 -1
  466. package/dist/input.d.ts +0 -47
  467. package/dist/input.d.ts.map +0 -1
  468. package/dist/label/index.d.ts +0 -30
  469. package/dist/label/index.d.ts.map +0 -1
  470. package/dist/lib/index.d.ts +0 -2
  471. package/dist/lib/index.d.ts.map +0 -1
  472. package/dist/lib/zigzag/index.d.ts.map +0 -1
  473. package/dist/lib/zigzag/zigzag.d.ts +0 -47
  474. package/dist/lib/zigzag/zigzag.d.ts.map +0 -1
  475. package/dist/line/index.d.ts +0 -30
  476. package/dist/line/index.d.ts.map +0 -1
  477. package/dist/linefill/index.d.ts +0 -10
  478. package/dist/linefill/index.d.ts.map +0 -1
  479. package/dist/map/index.d.ts +0 -14
  480. package/dist/map/index.d.ts.map +0 -1
  481. package/dist/math/index.d.ts +0 -53
  482. package/dist/math/index.d.ts.map +0 -1
  483. package/dist/matrix/index.d.ts +0 -52
  484. package/dist/matrix/index.d.ts.map +0 -1
  485. package/dist/plot.d.ts +0 -20
  486. package/dist/plot.d.ts.map +0 -1
  487. package/dist/polyline/index.d.ts +0 -11
  488. package/dist/polyline/index.d.ts.map +0 -1
  489. package/dist/runtime/adapters/LightweightChartsAdapter.d.ts +0 -15
  490. package/dist/runtime/adapters/LightweightChartsAdapter.d.ts.map +0 -1
  491. package/dist/runtime/adapters/SimpleInputAdapter.d.ts +0 -16
  492. package/dist/runtime/adapters/SimpleInputAdapter.d.ts.map +0 -1
  493. package/dist/runtime/index.cjs +0 -600
  494. package/dist/runtime/index.d.ts.map +0 -1
  495. package/dist/runtime/index.mjs +0 -577
  496. package/dist/runtime/inputs.d.ts +0 -13
  497. package/dist/runtime/inputs.d.ts.map +0 -1
  498. package/dist/runtime/runtime.d.ts +0 -16
  499. package/dist/runtime/runtime.d.ts.map +0 -1
  500. package/dist/runtime/series.d.ts +0 -60
  501. package/dist/runtime/series.d.ts.map +0 -1
  502. package/dist/runtime/types.d.ts +0 -122
  503. package/dist/runtime/types.d.ts.map +0 -1
  504. package/dist/script/index.cjs +0 -6372
  505. package/dist/script/index.d.ts +0 -709
  506. package/dist/script/index.d.ts.map +0 -1
  507. package/dist/script/index.mjs +0 -6355
  508. package/dist/security/resample.d.ts +0 -13
  509. package/dist/security/resample.d.ts.map +0 -1
  510. package/dist/session/bars.d.ts +0 -34
  511. package/dist/session/bars.d.ts.map +0 -1
  512. package/dist/session/calendar.d.ts +0 -31
  513. package/dist/session/calendar.d.ts.map +0 -1
  514. package/dist/str/dateformat.d.ts +0 -2
  515. package/dist/str/dateformat.d.ts.map +0 -1
  516. package/dist/str/index.d.ts +0 -24
  517. package/dist/str/index.d.ts.map +0 -1
  518. package/dist/str/messageformat.d.ts +0 -2
  519. package/dist/str/messageformat.d.ts.map +0 -1
  520. package/dist/str/numberformat.d.ts +0 -3
  521. package/dist/str/numberformat.d.ts.map +0 -1
  522. package/dist/strategy/index.d.ts.map +0 -1
  523. package/dist/ta/index.d.ts +0 -72
  524. package/dist/ta/index.d.ts.map +0 -1
  525. package/dist/ta-series.d.ts +0 -143
  526. package/dist/ta-series.d.ts.map +0 -1
  527. package/dist/text/index.d.ts +0 -4
  528. package/dist/text/index.d.ts.map +0 -1
  529. package/dist/time/datestring.d.ts +0 -2
  530. package/dist/time/datestring.d.ts.map +0 -1
  531. package/dist/time/index.d.ts +0 -15
  532. package/dist/time/index.d.ts.map +0 -1
  533. package/dist/time/session.d.ts +0 -2
  534. package/dist/time/session.d.ts.map +0 -1
  535. package/dist/time/timezone.d.ts +0 -13
  536. package/dist/time/timezone.d.ts.map +0 -1
  537. package/dist/timeframe/index.d.ts +0 -17
  538. package/dist/timeframe/index.d.ts.map +0 -1
  539. package/dist/types/index.d.ts +0 -181
  540. package/dist/types/index.d.ts.map +0 -1
  541. package/dist/types/metadata.d.ts +0 -131
  542. package/dist/types/metadata.d.ts.map +0 -1
  543. package/dist/utils/index.d.ts +0 -26
  544. package/dist/utils/index.d.ts.map +0 -1
@@ -1,9 +1,25 @@
1
+ /**
2
+ * @fileoverview Types and constants of the PineScript `strategy.*` API.
3
+ *
4
+ * OakScriptJS does not simulate orders. The script API (`oakscriptjs/script`) declares the strategy,
5
+ * forwards every `strategy.*` call to a {@link StrategyEngine} that the host supplies, and reads the
6
+ * `strategy.*` variables from it. The engine fills the orders, keeps the trades and computes the
7
+ * results.
8
+ *
9
+ * Names follow PineScript v6: option objects use the PineScript argument names, and the engine
10
+ * receives them unchanged. An `na` (NaN) numeric argument is removed before the call, since in
11
+ * PineScript it means "not given". The deprecated `when` argument does not exist: use `if`.
12
+ *
13
+ * @module strategy
14
+ */
1
15
  export type StrategyDirection = 'long' | 'short';
2
16
  export type StrategyQtyType = 'fixed' | 'cash' | 'percent_of_equity';
3
17
  export type StrategyCommissionType = 'percent' | 'cash_per_contract' | 'cash_per_order';
4
18
  export type StrategyOcaType = 'none' | 'cancel' | 'reduce';
19
+ /** `strategy.direction.*`, for `strategy.risk.allow_entry_in`. */
5
20
  export type StrategyRiskDirection = 'all' | 'long' | 'short';
6
21
  export type StrategyRiskValueType = 'percent_of_equity' | 'cash';
22
+ /** PineScript `strategy.*` constants. */
7
23
  export declare const STRATEGY_CONSTANTS: {
8
24
  readonly long: "long";
9
25
  readonly short: "short";
@@ -26,6 +42,7 @@ export declare const STRATEGY_CONSTANTS: {
26
42
  readonly reduce: "reduce";
27
43
  };
28
44
  };
45
+ /** Arguments of the PineScript `strategy()` declaration, after `title`. */
29
46
  export interface StrategyOptions {
30
47
  shorttitle?: string;
31
48
  overlay?: boolean;
@@ -40,7 +57,9 @@ export interface StrategyOptions {
40
57
  default_qty_type?: StrategyQtyType;
41
58
  default_qty_value?: number;
42
59
  initial_capital?: number;
60
+ /** Account currency; default: the symbol currency. */
43
61
  currency?: string;
62
+ /** Ticks added to market and stop fills. */
44
63
  slippage?: number;
45
64
  commission_type?: StrategyCommissionType;
46
65
  commission_value?: number;
@@ -58,6 +77,7 @@ export interface StrategyOptions {
58
77
  fill_orders_on_standard_ohlc?: boolean;
59
78
  max_polylines_count?: number;
60
79
  }
80
+ /** Strategy properties passed to the engine: the declared values, else the PineScript defaults. */
61
81
  export interface StrategyProperties {
62
82
  pyramiding: number;
63
83
  calc_on_order_fills: boolean;
@@ -66,6 +86,7 @@ export interface StrategyProperties {
66
86
  default_qty_type: StrategyQtyType;
67
87
  default_qty_value: number;
68
88
  initial_capital: number;
89
+ /** undefined: the symbol currency. */
69
90
  currency?: string;
70
91
  slippage: number;
71
92
  commission_type: StrategyCommissionType;
@@ -79,7 +100,9 @@ export interface StrategyProperties {
79
100
  use_bar_magnifier: boolean;
80
101
  fill_orders_on_standard_ohlc: boolean;
81
102
  }
103
+ /** PineScript defaults of the `strategy()` arguments (v6 reference). */
82
104
  export declare const STRATEGY_DEFAULTS: StrategyProperties;
105
+ /** `strategy.entry()` / `strategy.order()` arguments after `id` and `direction`. */
83
106
  export interface StrategyEntryOptions {
84
107
  qty?: number;
85
108
  limit?: number;
@@ -90,6 +113,7 @@ export interface StrategyEntryOptions {
90
113
  alert_message?: string;
91
114
  disable_alert?: boolean;
92
115
  }
116
+ /** `strategy.exit()` arguments after `id`. `profit`, `loss`, `trail_points` and `trail_offset` are in ticks. */
93
117
  export interface StrategyExitOptions {
94
118
  from_entry?: string;
95
119
  qty?: number;
@@ -112,6 +136,7 @@ export interface StrategyExitOptions {
112
136
  alert_trailing?: string;
113
137
  disable_alert?: boolean;
114
138
  }
139
+ /** `strategy.close()` arguments after `id`. */
115
140
  export interface StrategyCloseOptions {
116
141
  comment?: string;
117
142
  qty?: number;
@@ -120,12 +145,14 @@ export interface StrategyCloseOptions {
120
145
  immediately?: boolean;
121
146
  disable_alert?: boolean;
122
147
  }
148
+ /** `strategy.close_all()` arguments. */
123
149
  export interface StrategyCloseAllOptions {
124
150
  comment?: string;
125
151
  alert_message?: string;
126
152
  immediately?: boolean;
127
153
  disable_alert?: boolean;
128
154
  }
155
+ /** A `strategy.risk.*` rule. */
129
156
  export type StrategyRiskRule = {
130
157
  rule: 'allow_entry_in';
131
158
  direction: StrategyRiskDirection;
@@ -151,12 +178,19 @@ export type StrategyRiskRule = {
151
178
  rule: 'max_position_size';
152
179
  contracts: number;
153
180
  };
181
+ /**
182
+ * One trade, as the PineScript `strategy.opentrades.*(i)` / `strategy.closedtrades.*(i)` functions
183
+ * return it. Times are UNIX milliseconds. The `exit_*` fields are for closed trades only; `exit_id` and the
184
+ * comments are undefined when the engine does not provide them.
185
+ */
154
186
  export interface StrategyTrade {
155
187
  entry_id: string;
156
188
  entry_price: number;
157
189
  entry_bar_index: number;
158
190
  entry_time: number;
191
+ /** undefined when the order had no comment, or when the engine does not keep it apart from the id. */
159
192
  entry_comment?: string;
193
+ /** Signed quantity: positive for a long trade, negative for a short trade. */
160
194
  size: number;
161
195
  profit: number;
162
196
  profit_percent: number;
@@ -171,11 +205,22 @@ export interface StrategyTrade {
171
205
  exit_time?: number;
172
206
  exit_comment?: string;
173
207
  }
208
+ /** Numeric `strategy.*` variables. */
174
209
  export declare const STRATEGY_NUMBER_VARIABLES: readonly ["position_size", "position_avg_price", "equity", "initial_capital", "netprofit", "netprofit_percent", "openprofit", "openprofit_percent", "grossprofit", "grossprofit_percent", "grossloss", "grossloss_percent", "opentrades", "closedtrades", "wintrades", "losstrades", "eventrades", "avg_trade", "avg_trade_percent", "avg_winning_trade", "avg_winning_trade_percent", "avg_losing_trade", "avg_losing_trade_percent", "max_drawdown", "max_drawdown_percent", "max_runup", "max_runup_percent", "max_contracts_held_all", "max_contracts_held_long", "max_contracts_held_short", "margin_liquidation_price"];
210
+ /** Text `strategy.*` variables. */
175
211
  export declare const STRATEGY_TEXT_VARIABLES: readonly ["position_entry_name", "account_currency"];
176
212
  export type StrategyNumberVariable = (typeof STRATEGY_NUMBER_VARIABLES)[number];
177
213
  export type StrategyTextVariable = (typeof STRATEGY_TEXT_VARIABLES)[number];
178
214
  export type StrategyVariable = StrategyNumberVariable | StrategyTextVariable;
215
+ /**
216
+ * The order engine the host supplies. OakScriptJS calls it in this order on each bar `i` of
217
+ * `strategy.eachBar()`:
218
+ *
219
+ * 1. `processBar(i)`: fill the orders placed before bar `i` (at the open and inside the bar);
220
+ * 2. the script runs at the close of bar `i`: order calls and variable reads;
221
+ * 3. `processClose(i)`: after the script; with `process_orders_on_close`, fill the new market orders
222
+ * at the close.
223
+ */
179
224
  export interface StrategyEngine {
180
225
  processBar(bar: number): void;
181
226
  processClose(bar: number): void;
@@ -186,10 +231,15 @@ export interface StrategyEngine {
186
231
  close_all(options: StrategyCloseAllOptions): void;
187
232
  cancel(id: string): void;
188
233
  cancel_all(): void;
234
+ /** Current value of a `strategy.*` variable; undefined when the engine does not provide it. */
189
235
  get(variable: StrategyVariable): number | string | undefined;
236
+ /** Open trade number `index` (0 = oldest); undefined when it does not exist. */
190
237
  openTrade(index: number): StrategyTrade | undefined;
238
+ /** Closed trade number `index` (0 = oldest); undefined when it does not exist. */
191
239
  closedTrade(index: number): StrategyTrade | undefined;
240
+ /** `strategy.risk.*` rules; optional. */
192
241
  risk?(rule: StrategyRiskRule): void;
242
+ /** `strategy.default_entry_qty(fill_price)`; optional. */
193
243
  defaultEntryQty?(fillPrice: number): number;
194
244
  }
195
245
  //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/strategy/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var strategy_exports = {};
20
+ __export(strategy_exports, {
21
+ STRATEGY_CONSTANTS: () => STRATEGY_CONSTANTS,
22
+ STRATEGY_DEFAULTS: () => STRATEGY_DEFAULTS,
23
+ STRATEGY_NUMBER_VARIABLES: () => STRATEGY_NUMBER_VARIABLES,
24
+ STRATEGY_TEXT_VARIABLES: () => STRATEGY_TEXT_VARIABLES
25
+ });
26
+ module.exports = __toCommonJS(strategy_exports);
27
+ const STRATEGY_CONSTANTS = {
28
+ long: "long",
29
+ short: "short",
30
+ fixed: "fixed",
31
+ cash: "cash",
32
+ percent_of_equity: "percent_of_equity",
33
+ commission: { percent: "percent", cash_per_contract: "cash_per_contract", cash_per_order: "cash_per_order" },
34
+ direction: { all: "all", long: "long", short: "short" },
35
+ oca: { none: "none", cancel: "cancel", reduce: "reduce" }
36
+ };
37
+ const STRATEGY_DEFAULTS = {
38
+ pyramiding: 0,
39
+ calc_on_order_fills: false,
40
+ calc_on_every_tick: false,
41
+ backtest_fill_limits_assumption: 0,
42
+ // v6 values; PineScript v5: fixed / 1 / 1000000 and margins 0
43
+ default_qty_type: "percent_of_equity",
44
+ default_qty_value: 100,
45
+ initial_capital: 1e5,
46
+ slippage: 0,
47
+ commission_type: "percent",
48
+ commission_value: 0,
49
+ process_orders_on_close: false,
50
+ close_entries_rule: "FIFO",
51
+ margin_long: 100,
52
+ margin_short: 100,
53
+ calc_bars_count: 0,
54
+ risk_free_rate: 2,
55
+ use_bar_magnifier: false,
56
+ fill_orders_on_standard_ohlc: false
57
+ };
58
+ const STRATEGY_NUMBER_VARIABLES = [
59
+ "position_size",
60
+ "position_avg_price",
61
+ "equity",
62
+ "initial_capital",
63
+ "netprofit",
64
+ "netprofit_percent",
65
+ "openprofit",
66
+ "openprofit_percent",
67
+ "grossprofit",
68
+ "grossprofit_percent",
69
+ "grossloss",
70
+ "grossloss_percent",
71
+ "opentrades",
72
+ "closedtrades",
73
+ "wintrades",
74
+ "losstrades",
75
+ "eventrades",
76
+ "avg_trade",
77
+ "avg_trade_percent",
78
+ "avg_winning_trade",
79
+ "avg_winning_trade_percent",
80
+ "avg_losing_trade",
81
+ "avg_losing_trade_percent",
82
+ "max_drawdown",
83
+ "max_drawdown_percent",
84
+ "max_runup",
85
+ "max_runup_percent",
86
+ "max_contracts_held_all",
87
+ "max_contracts_held_long",
88
+ "max_contracts_held_short",
89
+ "margin_liquidation_price"
90
+ ];
91
+ const STRATEGY_TEXT_VARIABLES = ["position_entry_name", "account_currency"];
92
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/strategy/index.ts"],
4
+ "sourcesContent": ["/**\n * @fileoverview Types and constants of the PineScript `strategy.*` API.\n *\n * OakScriptJS does not simulate orders. The script API (`oakscriptjs/script`) declares the strategy,\n * forwards every `strategy.*` call to a {@link StrategyEngine} that the host supplies, and reads the\n * `strategy.*` variables from it. The engine fills the orders, keeps the trades and computes the\n * results.\n *\n * Names follow PineScript v6: option objects use the PineScript argument names, and the engine\n * receives them unchanged. An `na` (NaN) numeric argument is removed before the call, since in\n * PineScript it means \"not given\". The deprecated `when` argument does not exist: use `if`.\n *\n * @module strategy\n */\n\nexport type StrategyDirection = 'long' | 'short';\nexport type StrategyQtyType = 'fixed' | 'cash' | 'percent_of_equity';\nexport type StrategyCommissionType = 'percent' | 'cash_per_contract' | 'cash_per_order';\nexport type StrategyOcaType = 'none' | 'cancel' | 'reduce';\n/** `strategy.direction.*`, for `strategy.risk.allow_entry_in`. */\nexport type StrategyRiskDirection = 'all' | 'long' | 'short';\nexport type StrategyRiskValueType = 'percent_of_equity' | 'cash';\n\n/** PineScript `strategy.*` constants. */\nexport const STRATEGY_CONSTANTS = {\n long: 'long',\n short: 'short',\n fixed: 'fixed',\n cash: 'cash',\n percent_of_equity: 'percent_of_equity',\n commission: { percent: 'percent', cash_per_contract: 'cash_per_contract', cash_per_order: 'cash_per_order' },\n direction: { all: 'all', long: 'long', short: 'short' },\n oca: { none: 'none', cancel: 'cancel', reduce: 'reduce' },\n} as const;\n\n/** Arguments of the PineScript `strategy()` declaration, after `title`. */\nexport interface StrategyOptions {\n shorttitle?: string;\n overlay?: boolean;\n format?: string;\n precision?: number;\n scale?: string;\n pyramiding?: number;\n calc_on_order_fills?: boolean;\n calc_on_every_tick?: boolean;\n max_bars_back?: number;\n backtest_fill_limits_assumption?: number;\n default_qty_type?: StrategyQtyType;\n default_qty_value?: number;\n initial_capital?: number;\n /** Account currency; default: the symbol currency. */\n currency?: string;\n /** Ticks added to market and stop fills. */\n slippage?: number;\n commission_type?: StrategyCommissionType;\n commission_value?: number;\n process_orders_on_close?: boolean;\n close_entries_rule?: 'FIFO' | 'ANY';\n margin_long?: number;\n margin_short?: number;\n explicit_plot_zorder?: boolean;\n max_lines_count?: number;\n max_labels_count?: number;\n max_boxes_count?: number;\n calc_bars_count?: number;\n risk_free_rate?: number;\n use_bar_magnifier?: boolean;\n fill_orders_on_standard_ohlc?: boolean;\n max_polylines_count?: number;\n}\n\n/** Strategy properties passed to the engine: the declared values, else the PineScript defaults. */\nexport interface StrategyProperties {\n pyramiding: number;\n calc_on_order_fills: boolean;\n calc_on_every_tick: boolean;\n backtest_fill_limits_assumption: number;\n default_qty_type: StrategyQtyType;\n default_qty_value: number;\n initial_capital: number;\n /** undefined: the symbol currency. */\n currency?: string;\n slippage: number;\n commission_type: StrategyCommissionType;\n commission_value: number;\n process_orders_on_close: boolean;\n close_entries_rule: 'FIFO' | 'ANY';\n margin_long: number;\n margin_short: number;\n calc_bars_count: number;\n risk_free_rate: number;\n use_bar_magnifier: boolean;\n fill_orders_on_standard_ohlc: boolean;\n}\n\n/** PineScript defaults of the `strategy()` arguments (v6 reference). */\nexport const STRATEGY_DEFAULTS: StrategyProperties = {\n pyramiding: 0,\n calc_on_order_fills: false,\n calc_on_every_tick: false,\n backtest_fill_limits_assumption: 0,\n // v6 values; PineScript v5: fixed / 1 / 1000000 and margins 0\n default_qty_type: 'percent_of_equity',\n default_qty_value: 100,\n initial_capital: 100000,\n slippage: 0,\n commission_type: 'percent',\n commission_value: 0,\n process_orders_on_close: false,\n close_entries_rule: 'FIFO',\n margin_long: 100,\n margin_short: 100,\n calc_bars_count: 0,\n risk_free_rate: 2,\n use_bar_magnifier: false,\n fill_orders_on_standard_ohlc: false,\n};\n\n/** `strategy.entry()` / `strategy.order()` arguments after `id` and `direction`. */\nexport interface StrategyEntryOptions {\n qty?: number;\n limit?: number;\n stop?: number;\n oca_name?: string;\n oca_type?: StrategyOcaType;\n comment?: string;\n alert_message?: string;\n disable_alert?: boolean;\n}\n\n/** `strategy.exit()` arguments after `id`. `profit`, `loss`, `trail_points` and `trail_offset` are in ticks. */\nexport interface StrategyExitOptions {\n from_entry?: string;\n qty?: number;\n qty_percent?: number;\n profit?: number;\n limit?: number;\n loss?: number;\n stop?: number;\n trail_price?: number;\n trail_points?: number;\n trail_offset?: number;\n oca_name?: string;\n comment?: string;\n comment_profit?: string;\n comment_loss?: string;\n comment_trailing?: string;\n alert_message?: string;\n alert_profit?: string;\n alert_loss?: string;\n alert_trailing?: string;\n disable_alert?: boolean;\n}\n\n/** `strategy.close()` arguments after `id`. */\nexport interface StrategyCloseOptions {\n comment?: string;\n qty?: number;\n qty_percent?: number;\n alert_message?: string;\n immediately?: boolean;\n disable_alert?: boolean;\n}\n\n/** `strategy.close_all()` arguments. */\nexport interface StrategyCloseAllOptions {\n comment?: string;\n alert_message?: string;\n immediately?: boolean;\n disable_alert?: boolean;\n}\n\n/** A `strategy.risk.*` rule. */\nexport type StrategyRiskRule =\n | { rule: 'allow_entry_in'; direction: StrategyRiskDirection }\n | { rule: 'max_cons_loss_days'; count: number; alert_message?: string }\n | { rule: 'max_drawdown'; value: number; type: StrategyRiskValueType; alert_message?: string }\n | { rule: 'max_intraday_filled_orders'; count: number; alert_message?: string }\n | { rule: 'max_intraday_loss'; value: number; type: StrategyRiskValueType; alert_message?: string }\n | { rule: 'max_position_size'; contracts: number };\n\n/**\n * One trade, as the PineScript `strategy.opentrades.*(i)` / `strategy.closedtrades.*(i)` functions\n * return it. Times are UNIX milliseconds. The `exit_*` fields are for closed trades only; `exit_id` and the\n * comments are undefined when the engine does not provide them.\n */\nexport interface StrategyTrade {\n entry_id: string;\n entry_price: number;\n entry_bar_index: number;\n entry_time: number;\n /** undefined when the order had no comment, or when the engine does not keep it apart from the id. */\n entry_comment?: string;\n /** Signed quantity: positive for a long trade, negative for a short trade. */\n size: number;\n profit: number;\n profit_percent: number;\n commission: number;\n max_runup: number;\n max_runup_percent: number;\n max_drawdown: number;\n max_drawdown_percent: number;\n exit_id?: string;\n exit_price?: number;\n exit_bar_index?: number;\n exit_time?: number;\n exit_comment?: string;\n}\n\n/** Numeric `strategy.*` variables. */\nexport const STRATEGY_NUMBER_VARIABLES = [\n 'position_size',\n 'position_avg_price',\n 'equity',\n 'initial_capital',\n 'netprofit',\n 'netprofit_percent',\n 'openprofit',\n 'openprofit_percent',\n 'grossprofit',\n 'grossprofit_percent',\n 'grossloss',\n 'grossloss_percent',\n 'opentrades',\n 'closedtrades',\n 'wintrades',\n 'losstrades',\n 'eventrades',\n 'avg_trade',\n 'avg_trade_percent',\n 'avg_winning_trade',\n 'avg_winning_trade_percent',\n 'avg_losing_trade',\n 'avg_losing_trade_percent',\n 'max_drawdown',\n 'max_drawdown_percent',\n 'max_runup',\n 'max_runup_percent',\n 'max_contracts_held_all',\n 'max_contracts_held_long',\n 'max_contracts_held_short',\n 'margin_liquidation_price',\n] as const;\n\n/** Text `strategy.*` variables. */\nexport const STRATEGY_TEXT_VARIABLES = ['position_entry_name', 'account_currency'] as const;\n\nexport type StrategyNumberVariable = (typeof STRATEGY_NUMBER_VARIABLES)[number];\nexport type StrategyTextVariable = (typeof STRATEGY_TEXT_VARIABLES)[number];\nexport type StrategyVariable = StrategyNumberVariable | StrategyTextVariable;\n\n/**\n * The order engine the host supplies. OakScriptJS calls it in this order on each bar `i` of\n * `strategy.eachBar()`:\n *\n * 1. `processBar(i)`: fill the orders placed before bar `i` (at the open and inside the bar);\n * 2. the script runs at the close of bar `i`: order calls and variable reads;\n * 3. `processClose(i)`: after the script; with `process_orders_on_close`, fill the new market orders\n * at the close.\n */\nexport interface StrategyEngine {\n processBar(bar: number): void;\n processClose(bar: number): void;\n entry(id: string, direction: StrategyDirection, options: StrategyEntryOptions): void;\n order(id: string, direction: StrategyDirection, options: StrategyEntryOptions): void;\n exit(id: string, options: StrategyExitOptions): void;\n close(id: string, options: StrategyCloseOptions): void;\n close_all(options: StrategyCloseAllOptions): void;\n cancel(id: string): void;\n cancel_all(): void;\n /** Current value of a `strategy.*` variable; undefined when the engine does not provide it. */\n get(variable: StrategyVariable): number | string | undefined;\n /** Open trade number `index` (0 = oldest); undefined when it does not exist. */\n openTrade(index: number): StrategyTrade | undefined;\n /** Closed trade number `index` (0 = oldest); undefined when it does not exist. */\n closedTrade(index: number): StrategyTrade | undefined;\n /** `strategy.risk.*` rules; optional. */\n risk?(rule: StrategyRiskRule): void;\n /** `strategy.default_entry_qty(fill_price)`; optional. */\n defaultEntryQty?(fillPrice: number): number;\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAwBO,MAAM,qBAAqB;AAAA,EAChC,MAAM;AAAA,EACN,OAAO;AAAA,EACP,OAAO;AAAA,EACP,MAAM;AAAA,EACN,mBAAmB;AAAA,EACnB,YAAY,EAAE,SAAS,WAAW,mBAAmB,qBAAqB,gBAAgB,iBAAiB;AAAA,EAC3G,WAAW,EAAE,KAAK,OAAO,MAAM,QAAQ,OAAO,QAAQ;AAAA,EACtD,KAAK,EAAE,MAAM,QAAQ,QAAQ,UAAU,QAAQ,SAAS;AAC1D;AA+DO,MAAM,oBAAwC;AAAA,EACnD,YAAY;AAAA,EACZ,qBAAqB;AAAA,EACrB,oBAAoB;AAAA,EACpB,iCAAiC;AAAA;AAAA,EAEjC,kBAAkB;AAAA,EAClB,mBAAmB;AAAA,EACnB,iBAAiB;AAAA,EACjB,UAAU;AAAA,EACV,iBAAiB;AAAA,EACjB,kBAAkB;AAAA,EAClB,yBAAyB;AAAA,EACzB,oBAAoB;AAAA,EACpB,aAAa;AAAA,EACb,cAAc;AAAA,EACd,iBAAiB;AAAA,EACjB,gBAAgB;AAAA,EAChB,mBAAmB;AAAA,EACnB,8BAA8B;AAChC;AA8FO,MAAM,4BAA4B;AAAA,EACvC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAGO,MAAM,0BAA0B,CAAC,uBAAuB,kBAAkB;",
6
+ "names": []
7
+ }