@oanda/labs-crowd-view-widget 1.0.42 → 1.0.44

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 (174) hide show
  1. package/CHANGELOG.md +356 -0
  2. package/dist/main/CrowdViewWidget/CrowdViewWidget.js +3 -3
  3. package/dist/main/CrowdViewWidget/CrowdViewWidget.js.map +1 -1
  4. package/dist/main/CrowdViewWidget/Main.js +8 -9
  5. package/dist/main/CrowdViewWidget/Main.js.map +1 -1
  6. package/dist/main/CrowdViewWidget/components/Chart/Chart.js +11 -8
  7. package/dist/main/CrowdViewWidget/components/Chart/Chart.js.map +1 -1
  8. package/dist/main/CrowdViewWidget/components/Chart/ChartWithData.js +16 -13
  9. package/dist/main/CrowdViewWidget/components/Chart/ChartWithData.js.map +1 -1
  10. package/dist/main/CrowdViewWidget/components/Chart/{getOption.js → chartOptions.js} +53 -51
  11. package/dist/main/CrowdViewWidget/components/Chart/chartOptions.js.map +1 -0
  12. package/dist/main/CrowdViewWidget/components/Chart/index.js +44 -0
  13. package/dist/main/CrowdViewWidget/components/Chart/index.js.map +1 -1
  14. package/dist/main/CrowdViewWidget/components/Chart/types.js.map +1 -1
  15. package/dist/main/CrowdViewWidget/components/Chart/useCrowdViewData.js +170 -0
  16. package/dist/main/CrowdViewWidget/components/Chart/useCrowdViewData.js.map +1 -0
  17. package/dist/main/CrowdViewWidget/components/Chart/utils/chartUtils.js +70 -0
  18. package/dist/main/CrowdViewWidget/components/Chart/utils/chartUtils.js.map +1 -0
  19. package/dist/main/CrowdViewWidget/components/Legend/Legend.js +3 -2
  20. package/dist/main/CrowdViewWidget/components/Legend/Legend.js.map +1 -1
  21. package/dist/main/CrowdViewWidget/components/Legend/LegendBar.js +9 -11
  22. package/dist/main/CrowdViewWidget/components/Legend/LegendBar.js.map +1 -1
  23. package/dist/main/CrowdViewWidget/constants.js +30 -0
  24. package/dist/main/CrowdViewWidget/constants.js.map +1 -0
  25. package/dist/main/CrowdViewWidget/render.js +1 -0
  26. package/dist/main/CrowdViewWidget/render.js.map +1 -1
  27. package/dist/main/CrowdViewWidget/selectConfig.js +121 -0
  28. package/dist/main/CrowdViewWidget/selectConfig.js.map +1 -0
  29. package/dist/main/CrowdViewWidget/types/index.js +17 -0
  30. package/dist/main/CrowdViewWidget/types/index.js.map +1 -0
  31. package/dist/main/CrowdViewWidget/types/instruments.js +45 -0
  32. package/dist/main/CrowdViewWidget/types/instruments.js.map +1 -0
  33. package/dist/main/CrowdViewWidget/types.js +0 -44
  34. package/dist/main/CrowdViewWidget/types.js.map +1 -1
  35. package/dist/main/CrowdViewWidget/utils/instrumentUtils.js +13 -0
  36. package/dist/main/CrowdViewWidget/utils/instrumentUtils.js.map +1 -0
  37. package/dist/main/gql/getOrderPositionBooks.js +1 -1
  38. package/dist/main/gql/getOrderPositionBooks.js.map +1 -1
  39. package/dist/main/gql/getPriceCandles.js +11 -0
  40. package/dist/main/gql/getPriceCandles.js.map +1 -0
  41. package/dist/main/gql/types/gql.js +2 -3
  42. package/dist/main/gql/types/gql.js.map +1 -1
  43. package/dist/main/gql/types/graphql.js +161 -160
  44. package/dist/main/gql/types/graphql.js.map +1 -1
  45. package/dist/module/CrowdViewWidget/CrowdViewWidget.js +3 -3
  46. package/dist/module/CrowdViewWidget/CrowdViewWidget.js.map +1 -1
  47. package/dist/module/CrowdViewWidget/Main.js +6 -7
  48. package/dist/module/CrowdViewWidget/Main.js.map +1 -1
  49. package/dist/module/CrowdViewWidget/components/Chart/Chart.js +9 -6
  50. package/dist/module/CrowdViewWidget/components/Chart/Chart.js.map +1 -1
  51. package/dist/module/CrowdViewWidget/components/Chart/ChartWithData.js +16 -12
  52. package/dist/module/CrowdViewWidget/components/Chart/ChartWithData.js.map +1 -1
  53. package/dist/module/CrowdViewWidget/components/Chart/{getOption.js → chartOptions.js} +51 -48
  54. package/dist/module/CrowdViewWidget/components/Chart/chartOptions.js.map +1 -0
  55. package/dist/module/CrowdViewWidget/components/Chart/index.js +4 -0
  56. package/dist/module/CrowdViewWidget/components/Chart/index.js.map +1 -1
  57. package/dist/module/CrowdViewWidget/components/Chart/types.js.map +1 -1
  58. package/dist/module/CrowdViewWidget/components/Chart/useCrowdViewData.js +163 -0
  59. package/dist/module/CrowdViewWidget/components/Chart/useCrowdViewData.js.map +1 -0
  60. package/dist/module/CrowdViewWidget/components/Chart/utils/chartUtils.js +59 -0
  61. package/dist/module/CrowdViewWidget/components/Chart/utils/chartUtils.js.map +1 -0
  62. package/dist/module/CrowdViewWidget/components/Legend/Legend.js +3 -2
  63. package/dist/module/CrowdViewWidget/components/Legend/Legend.js.map +1 -1
  64. package/dist/module/CrowdViewWidget/components/Legend/LegendBar.js +9 -11
  65. package/dist/module/CrowdViewWidget/components/Legend/LegendBar.js.map +1 -1
  66. package/dist/module/CrowdViewWidget/constants.js +24 -0
  67. package/dist/module/CrowdViewWidget/constants.js.map +1 -0
  68. package/dist/module/CrowdViewWidget/render.js +1 -0
  69. package/dist/module/CrowdViewWidget/render.js.map +1 -1
  70. package/dist/module/CrowdViewWidget/selectConfig.js +116 -0
  71. package/dist/module/CrowdViewWidget/selectConfig.js.map +1 -0
  72. package/dist/module/CrowdViewWidget/types/index.js +2 -0
  73. package/dist/module/CrowdViewWidget/types/index.js.map +1 -0
  74. package/dist/module/CrowdViewWidget/types/instruments.js +39 -0
  75. package/dist/module/CrowdViewWidget/types/instruments.js.map +1 -0
  76. package/dist/module/CrowdViewWidget/types.js +1 -43
  77. package/dist/module/CrowdViewWidget/types.js.map +1 -1
  78. package/dist/module/CrowdViewWidget/utils/instrumentUtils.js +6 -0
  79. package/dist/module/CrowdViewWidget/utils/instrumentUtils.js.map +1 -0
  80. package/dist/module/gql/getOrderPositionBooks.js +1 -1
  81. package/dist/module/gql/getOrderPositionBooks.js.map +1 -1
  82. package/dist/module/gql/getPriceCandles.js +6 -0
  83. package/dist/module/gql/getPriceCandles.js.map +1 -0
  84. package/dist/module/gql/types/gql.js +2 -3
  85. package/dist/module/gql/types/gql.js.map +1 -1
  86. package/dist/module/gql/types/graphql.js +160 -159
  87. package/dist/module/gql/types/graphql.js.map +1 -1
  88. package/dist/types/CrowdViewWidget/CrowdViewWidget.d.ts +1 -1
  89. package/dist/types/CrowdViewWidget/components/Chart/ChartWithData.d.ts +1 -1
  90. package/dist/types/CrowdViewWidget/components/Chart/index.d.ts +4 -0
  91. package/dist/types/CrowdViewWidget/components/Chart/types.d.ts +19 -16
  92. package/dist/types/CrowdViewWidget/components/Chart/useCrowdViewData.d.ts +2 -0
  93. package/dist/types/CrowdViewWidget/components/Chart/{utils.d.ts → utils/chartUtils.d.ts} +4 -11
  94. package/dist/types/CrowdViewWidget/components/Legend/Legend.d.ts +3 -3
  95. package/dist/types/CrowdViewWidget/constants.d.ts +23 -0
  96. package/dist/types/CrowdViewWidget/selectConfig.d.ts +19 -0
  97. package/dist/types/CrowdViewWidget/types/index.d.ts +1 -0
  98. package/dist/types/CrowdViewWidget/types/instruments.d.ts +36 -0
  99. package/dist/types/CrowdViewWidget/types.d.ts +2 -50
  100. package/dist/types/CrowdViewWidget/utils/instrumentUtils.d.ts +8 -0
  101. package/dist/types/gql/types/gql.d.ts +10 -14
  102. package/dist/types/gql/types/graphql.d.ts +71 -63
  103. package/package.json +6 -4
  104. package/src/CrowdViewWidget/CrowdViewWidget.tsx +2 -2
  105. package/src/CrowdViewWidget/Main.tsx +10 -16
  106. package/src/CrowdViewWidget/components/Chart/Chart.tsx +15 -5
  107. package/src/CrowdViewWidget/components/Chart/ChartWithData.tsx +12 -12
  108. package/src/CrowdViewWidget/components/Chart/{getOption.ts → chartOptions.ts} +51 -70
  109. package/src/CrowdViewWidget/components/Chart/index.ts +4 -0
  110. package/src/CrowdViewWidget/components/Chart/types.ts +25 -23
  111. package/src/CrowdViewWidget/components/Chart/useCrowdViewData.ts +263 -0
  112. package/src/CrowdViewWidget/components/Chart/utils/chartUtils.ts +93 -0
  113. package/src/CrowdViewWidget/components/Legend/Legend.tsx +7 -3
  114. package/src/CrowdViewWidget/components/Legend/LegendBar.tsx +16 -20
  115. package/src/CrowdViewWidget/constants.ts +27 -0
  116. package/src/CrowdViewWidget/render.tsx +1 -0
  117. package/src/CrowdViewWidget/{config.ts → selectConfig.ts} +65 -43
  118. package/src/CrowdViewWidget/types/index.ts +1 -0
  119. package/src/CrowdViewWidget/types/instruments.ts +37 -0
  120. package/src/CrowdViewWidget/types.ts +4 -55
  121. package/src/CrowdViewWidget/utils/instrumentUtils.ts +11 -0
  122. package/src/gql/getOrderPositionBooks.ts +9 -4
  123. package/src/gql/{mock/getPriceCandles.ts → getPriceCandles.ts} +5 -5
  124. package/src/gql/types/gql.ts +6 -14
  125. package/src/gql/types/graphql.ts +170 -160
  126. package/test/Main.test.tsx +1 -1
  127. package/test/components/Legend.test.tsx +3 -6
  128. package/test/components/LegendBar.test.tsx +7 -8
  129. package/test/utils/instrumentUtils.test.ts +52 -0
  130. package/dist/main/CrowdViewWidget/components/Chart/constants.js +0 -14
  131. package/dist/main/CrowdViewWidget/components/Chart/constants.js.map +0 -1
  132. package/dist/main/CrowdViewWidget/components/Chart/getOption.js.map +0 -1
  133. package/dist/main/CrowdViewWidget/components/Chart/getOrderPositionDataMock.js +0 -47
  134. package/dist/main/CrowdViewWidget/components/Chart/getOrderPositionDataMock.js.map +0 -1
  135. package/dist/main/CrowdViewWidget/components/Chart/getPriceCandlesMock.js +0 -36
  136. package/dist/main/CrowdViewWidget/components/Chart/getPriceCandlesMock.js.map +0 -1
  137. package/dist/main/CrowdViewWidget/components/Chart/utils.js +0 -166
  138. package/dist/main/CrowdViewWidget/components/Chart/utils.js.map +0 -1
  139. package/dist/main/CrowdViewWidget/config.js +0 -107
  140. package/dist/main/CrowdViewWidget/config.js.map +0 -1
  141. package/dist/main/gql/mock/getPriceCandles.js +0 -11
  142. package/dist/main/gql/mock/getPriceCandles.js.map +0 -1
  143. package/dist/main/gql/mock/schema.graphqls +0 -62
  144. package/dist/main/gql/validateInstruments.js +0 -11
  145. package/dist/main/gql/validateInstruments.js.map +0 -1
  146. package/dist/module/CrowdViewWidget/components/Chart/constants.js +0 -8
  147. package/dist/module/CrowdViewWidget/components/Chart/constants.js.map +0 -1
  148. package/dist/module/CrowdViewWidget/components/Chart/getOption.js.map +0 -1
  149. package/dist/module/CrowdViewWidget/components/Chart/getOrderPositionDataMock.js +0 -40
  150. package/dist/module/CrowdViewWidget/components/Chart/getOrderPositionDataMock.js.map +0 -1
  151. package/dist/module/CrowdViewWidget/components/Chart/getPriceCandlesMock.js +0 -29
  152. package/dist/module/CrowdViewWidget/components/Chart/getPriceCandlesMock.js.map +0 -1
  153. package/dist/module/CrowdViewWidget/components/Chart/utils.js +0 -156
  154. package/dist/module/CrowdViewWidget/components/Chart/utils.js.map +0 -1
  155. package/dist/module/CrowdViewWidget/config.js +0 -102
  156. package/dist/module/CrowdViewWidget/config.js.map +0 -1
  157. package/dist/module/gql/mock/getPriceCandles.js +0 -6
  158. package/dist/module/gql/mock/getPriceCandles.js.map +0 -1
  159. package/dist/module/gql/mock/schema.graphqls +0 -62
  160. package/dist/module/gql/validateInstruments.js +0 -5
  161. package/dist/module/gql/validateInstruments.js.map +0 -1
  162. package/dist/types/CrowdViewWidget/components/Chart/constants.d.ts +0 -7
  163. package/dist/types/CrowdViewWidget/components/Chart/getOrderPositionDataMock.d.ts +0 -14
  164. package/dist/types/CrowdViewWidget/components/Chart/getPriceCandlesMock.d.ts +0 -2
  165. package/dist/types/CrowdViewWidget/config.d.ts +0 -22
  166. package/dist/types/gql/validateInstruments.d.ts +0 -1
  167. package/src/CrowdViewWidget/components/Chart/constants.tsx +0 -8
  168. package/src/CrowdViewWidget/components/Chart/getOrderPositionDataMock.ts +0 -66
  169. package/src/CrowdViewWidget/components/Chart/getPriceCandlesMock.ts +0 -43
  170. package/src/CrowdViewWidget/components/Chart/utils.ts +0 -191
  171. package/src/gql/mock/schema.graphqls +0 -62
  172. package/src/gql/validateInstruments.ts +0 -10
  173. /package/dist/types/CrowdViewWidget/components/Chart/{getOption.d.ts → chartOptions.d.ts} +0 -0
  174. /package/dist/types/gql/{mock/getPriceCandles.d.ts → getPriceCandles.d.ts} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"getOrderPositionDataMock.js","names":["getOrderPositionDataMock","_ref","min","max","bucketWidth","baseValue","crossoverValue","results","maxDistance","Math","currentPrice","distance","abs","proximityFactor","strongProximityFactor","pow","shortCountPercent","longCountPercent","random","maxDifference","targetDifference","baseRandom","push","round","price"],"sources":["../../../../../src/CrowdViewWidget/components/Chart/getOrderPositionDataMock.ts"],"sourcesContent":["export interface OrderPositionData {\n shortCountPercent: number;\n longCountPercent: number;\n price: number;\n}\n\ninterface GetOrderPositionDataMockParams {\n min?: number;\n max?: number;\n bucketWidth?: number;\n baseValue: number;\n crossoverValue?: number;\n}\n\nexport const getOrderPositionDataMock = ({\n min = 1.3,\n max = 2.1,\n bucketWidth = 0.005,\n baseValue,\n crossoverValue = baseValue,\n}: GetOrderPositionDataMockParams): OrderPositionData[] => {\n const results: OrderPositionData[] = [];\n\n const maxDistance = Math.max(baseValue - min, max - baseValue);\n\n for (\n let currentPrice = min;\n currentPrice < max;\n currentPrice += bucketWidth\n ) {\n const distance = Math.abs(currentPrice - baseValue);\n\n const proximityFactor = 1 - distance / maxDistance;\n const strongProximityFactor = Math.pow(proximityFactor, 2);\n\n let shortCountPercent: number;\n let longCountPercent: number;\n\n if (currentPrice === baseValue) {\n shortCountPercent = Math.random() * 0.5;\n longCountPercent = Math.random() * 0.5;\n } else {\n const maxDifference = 0.5;\n const targetDifference =\n Math.random() * maxDifference * strongProximityFactor;\n\n const baseRandom = Math.random() * (0.5 - targetDifference);\n\n if (currentPrice < crossoverValue) {\n shortCountPercent = baseRandom;\n longCountPercent = baseRandom + targetDifference;\n } else {\n longCountPercent = baseRandom;\n shortCountPercent = baseRandom + targetDifference;\n }\n }\n\n results.push({\n shortCountPercent: Math.round(shortCountPercent * 10000) / 10000,\n longCountPercent: Math.round(longCountPercent * 10000) / 10000,\n price: currentPrice,\n });\n }\n\n return results;\n};\n"],"mappings":"AAcA,OAAO,MAAMA,wBAAwB,GAAGC,IAAA,IAMmB;EAAA,IANlB;IACvCC,GAAG,GAAG,GAAG;IACTC,GAAG,GAAG,GAAG;IACTC,WAAW,GAAG,KAAK;IACnBC,SAAS;IACTC,cAAc,GAAGD;EACa,CAAC,GAAAJ,IAAA;EAC/B,MAAMM,OAA4B,GAAG,EAAE;EAEvC,MAAMC,WAAW,GAAGC,IAAI,CAACN,GAAG,CAACE,SAAS,GAAGH,GAAG,EAAEC,GAAG,GAAGE,SAAS,CAAC;EAE9D,KACE,IAAIK,YAAY,GAAGR,GAAG,EACtBQ,YAAY,GAAGP,GAAG,EAClBO,YAAY,IAAIN,WAAW,EAC3B;IACA,MAAMO,QAAQ,GAAGF,IAAI,CAACG,GAAG,CAACF,YAAY,GAAGL,SAAS,CAAC;IAEnD,MAAMQ,eAAe,GAAG,CAAC,GAAGF,QAAQ,GAAGH,WAAW;IAClD,MAAMM,qBAAqB,GAAGL,IAAI,CAACM,GAAG,CAACF,eAAe,EAAE,CAAC,CAAC;IAE1D,IAAIG,iBAAyB;IAC7B,IAAIC,gBAAwB;IAE5B,IAAIP,YAAY,KAAKL,SAAS,EAAE;MAC9BW,iBAAiB,GAAGP,IAAI,CAACS,MAAM,CAAC,CAAC,GAAG,GAAG;MACvCD,gBAAgB,GAAGR,IAAI,CAACS,MAAM,CAAC,CAAC,GAAG,GAAG;IACxC,CAAC,MAAM;MACL,MAAMC,aAAa,GAAG,GAAG;MACzB,MAAMC,gBAAgB,GACpBX,IAAI,CAACS,MAAM,CAAC,CAAC,GAAGC,aAAa,GAAGL,qBAAqB;MAEvD,MAAMO,UAAU,GAAGZ,IAAI,CAACS,MAAM,CAAC,CAAC,IAAI,GAAG,GAAGE,gBAAgB,CAAC;MAE3D,IAAIV,YAAY,GAAGJ,cAAc,EAAE;QACjCU,iBAAiB,GAAGK,UAAU;QAC9BJ,gBAAgB,GAAGI,UAAU,GAAGD,gBAAgB;MAClD,CAAC,MAAM;QACLH,gBAAgB,GAAGI,UAAU;QAC7BL,iBAAiB,GAAGK,UAAU,GAAGD,gBAAgB;MACnD;IACF;IAEAb,OAAO,CAACe,IAAI,CAAC;MACXN,iBAAiB,EAAEP,IAAI,CAACc,KAAK,CAACP,iBAAiB,GAAG,KAAK,CAAC,GAAG,KAAK;MAChEC,gBAAgB,EAAER,IAAI,CAACc,KAAK,CAACN,gBAAgB,GAAG,KAAK,CAAC,GAAG,KAAK;MAC9DO,KAAK,EAAEd;IACT,CAAC,CAAC;EACJ;EAEA,OAAOH,OAAO;AAChB,CAAC","ignoreList":[]}
@@ -1,29 +0,0 @@
1
- export const getPriceCandlesMock = function (count) {
2
- let min = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1.3;
3
- let max = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 2.1;
4
- const buffer = 0.02;
5
- const safeMin = min + buffer;
6
- const safeMax = max - buffer;
7
- const initialClose = +(Math.random() * (safeMax - safeMin) + safeMin).toFixed(5);
8
- return Array.from({
9
- length: count
10
- }).reduce(acc => {
11
- const prevClose = acc.length === 0 ? initialClose : acc[acc.length - 1].close;
12
- const isBullish = Math.random() > 0.5;
13
- const bodySize = +(Math.random() * 0.05 + 0.015).toFixed(5);
14
- const wickSize = +(Math.random() * 0.015 + 0.005).toFixed(5);
15
- const open = prevClose;
16
- let close = isBullish ? open + bodySize : open - bodySize;
17
- close = Math.max(safeMin, Math.min(safeMax, Number(close)));
18
- const high = Math.min(max, Math.max(Number(open), Number(close)) + wickSize);
19
- const low = Math.max(min, Math.min(Number(open), Number(close)) - wickSize);
20
- acc.push({
21
- open: +open.toFixed(5),
22
- close: +close.toFixed(5),
23
- low: +low.toFixed(5),
24
- high: +high.toFixed(5)
25
- });
26
- return acc;
27
- }, []);
28
- };
29
- //# sourceMappingURL=getPriceCandlesMock.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getPriceCandlesMock.js","names":["getPriceCandlesMock","count","min","arguments","length","undefined","max","buffer","safeMin","safeMax","initialClose","Math","random","toFixed","Array","from","reduce","acc","prevClose","close","isBullish","bodySize","wickSize","open","Number","high","low","push"],"sources":["../../../../../src/CrowdViewWidget/components/Chart/getPriceCandlesMock.ts"],"sourcesContent":["import type { Candle } from '../../../gql/types/graphql';\n\nexport const getPriceCandlesMock = (\n count: number,\n min: number = 1.3,\n max: number = 2.1\n): Candle[] => {\n const buffer = 0.02;\n const safeMin = min + buffer;\n const safeMax = max - buffer;\n\n const initialClose = +(Math.random() * (safeMax - safeMin) + safeMin).toFixed(\n 5\n );\n\n return Array.from({ length: count }).reduce<Candle[]>((acc) => {\n const prevClose =\n acc.length === 0 ? initialClose : acc[acc.length - 1].close;\n const isBullish = Math.random() > 0.5;\n\n const bodySize = +(Math.random() * 0.05 + 0.015).toFixed(5);\n const wickSize = +(Math.random() * 0.015 + 0.005).toFixed(5);\n\n const open = prevClose;\n let close = isBullish ? open + bodySize : open - bodySize;\n close = Math.max(safeMin, Math.min(safeMax, Number(close)));\n\n const high = Math.min(\n max,\n Math.max(Number(open), Number(close)) + wickSize\n );\n const low = Math.max(min, Math.min(Number(open), Number(close)) - wickSize);\n\n acc.push({\n open: +open.toFixed(5),\n close: +close.toFixed(5),\n low: +low.toFixed(5),\n high: +high.toFixed(5),\n });\n\n return acc;\n }, []);\n};\n"],"mappings":"AAEA,OAAO,MAAMA,mBAAmB,GAAG,SAAAA,CACjCC,KAAa,EAGA;EAAA,IAFbC,GAAW,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,GAAG;EAAA,IACjBG,GAAW,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,GAAG;EAEjB,MAAMI,MAAM,GAAG,IAAI;EACnB,MAAMC,OAAO,GAAGN,GAAG,GAAGK,MAAM;EAC5B,MAAME,OAAO,GAAGH,GAAG,GAAGC,MAAM;EAE5B,MAAMG,YAAY,GAAG,CAAC,CAACC,IAAI,CAACC,MAAM,CAAC,CAAC,IAAIH,OAAO,GAAGD,OAAO,CAAC,GAAGA,OAAO,EAAEK,OAAO,CAC3E,CACF,CAAC;EAED,OAAOC,KAAK,CAACC,IAAI,CAAC;IAAEX,MAAM,EAAEH;EAAM,CAAC,CAAC,CAACe,MAAM,CAAYC,GAAG,IAAK;IAC7D,MAAMC,SAAS,GACbD,GAAG,CAACb,MAAM,KAAK,CAAC,GAAGM,YAAY,GAAGO,GAAG,CAACA,GAAG,CAACb,MAAM,GAAG,CAAC,CAAC,CAACe,KAAK;IAC7D,MAAMC,SAAS,GAAGT,IAAI,CAACC,MAAM,CAAC,CAAC,GAAG,GAAG;IAErC,MAAMS,QAAQ,GAAG,CAAC,CAACV,IAAI,CAACC,MAAM,CAAC,CAAC,GAAG,IAAI,GAAG,KAAK,EAAEC,OAAO,CAAC,CAAC,CAAC;IAC3D,MAAMS,QAAQ,GAAG,CAAC,CAACX,IAAI,CAACC,MAAM,CAAC,CAAC,GAAG,KAAK,GAAG,KAAK,EAAEC,OAAO,CAAC,CAAC,CAAC;IAE5D,MAAMU,IAAI,GAAGL,SAAS;IACtB,IAAIC,KAAK,GAAGC,SAAS,GAAGG,IAAI,GAAGF,QAAQ,GAAGE,IAAI,GAAGF,QAAQ;IACzDF,KAAK,GAAGR,IAAI,CAACL,GAAG,CAACE,OAAO,EAAEG,IAAI,CAACT,GAAG,CAACO,OAAO,EAAEe,MAAM,CAACL,KAAK,CAAC,CAAC,CAAC;IAE3D,MAAMM,IAAI,GAAGd,IAAI,CAACT,GAAG,CACnBI,GAAG,EACHK,IAAI,CAACL,GAAG,CAACkB,MAAM,CAACD,IAAI,CAAC,EAAEC,MAAM,CAACL,KAAK,CAAC,CAAC,GAAGG,QAC1C,CAAC;IACD,MAAMI,GAAG,GAAGf,IAAI,CAACL,GAAG,CAACJ,GAAG,EAAES,IAAI,CAACT,GAAG,CAACsB,MAAM,CAACD,IAAI,CAAC,EAAEC,MAAM,CAACL,KAAK,CAAC,CAAC,GAAGG,QAAQ,CAAC;IAE3EL,GAAG,CAACU,IAAI,CAAC;MACPJ,IAAI,EAAE,CAACA,IAAI,CAACV,OAAO,CAAC,CAAC,CAAC;MACtBM,KAAK,EAAE,CAACA,KAAK,CAACN,OAAO,CAAC,CAAC,CAAC;MACxBa,GAAG,EAAE,CAACA,GAAG,CAACb,OAAO,CAAC,CAAC,CAAC;MACpBY,IAAI,EAAE,CAACA,IAAI,CAACZ,OAAO,CAAC,CAAC;IACvB,CAAC,CAAC;IAEF,OAAOI,GAAG;EACZ,CAAC,EAAE,EAAE,CAAC;AACR,CAAC","ignoreList":[]}
@@ -1,156 +0,0 @@
1
- import { colorMap } from '../../config';
2
- import { TimeSpanId } from '../../types';
3
- import { CHART_HEIGHT } from './constants';
4
- import { getOrderPositionDataMock } from './getOrderPositionDataMock';
5
- import { getPriceCandlesMock } from './getPriceCandlesMock';
6
- export const getRectColor = sentiment => {
7
- const colors = sentiment < 0 ? colorMap.short : colorMap.long;
8
- const absSentiment = Math.abs(sentiment);
9
- if (absSentiment < 0.15) {
10
- return colors[3];
11
- }
12
- if (absSentiment < 0.25) {
13
- return colors[2];
14
- }
15
- if (absSentiment < 0.4) {
16
- return colors[1];
17
- }
18
- if (absSentiment >= 0.4) {
19
- return colors[0];
20
- }
21
- return 'transparent';
22
- };
23
- export let GranularityId = function (GranularityId) {
24
- GranularityId["MINUTE_5"] = "MINUTE_5";
25
- GranularityId["MINUTE_15"] = "MINUTE_15";
26
- GranularityId["MINUTE_30"] = "MINUTE_30";
27
- GranularityId["HOUR_1"] = "HOUR_1";
28
- GranularityId["HOUR_4"] = "HOUR_4";
29
- GranularityId["DAY_1"] = "DAY_1";
30
- return GranularityId;
31
- }({});
32
- const timeSpansInMilliseconds = {
33
- [TimeSpanId.HOUR_1]: 60 * 60 * 1000,
34
- [TimeSpanId.HOUR_12]: 12 * 60 * 60 * 1000,
35
- [TimeSpanId.DAY_1]: 24 * 60 * 60 * 1000,
36
- [TimeSpanId.DAY_2]: 2 * 24 * 60 * 60 * 1000,
37
- [TimeSpanId.WEEK_1]: 7 * 24 * 60 * 60 * 1000,
38
- [TimeSpanId.WEEK_2]: 14 * 24 * 60 * 60 * 1000,
39
- [TimeSpanId.WEEK_3]: 21 * 24 * 60 * 60 * 1000,
40
- [TimeSpanId.MONTH_1]: 30 * 24 * 60 * 60 * 1000,
41
- [TimeSpanId.MONTH_3]: 3 * 30 * 24 * 60 * 60 * 1000,
42
- [TimeSpanId.MONTH_6]: 6 * 30 * 24 * 60 * 60 * 1000,
43
- [TimeSpanId.YEAR_1]: 365 * 24 * 60 * 60 * 1000,
44
- [TimeSpanId.YEAR_5]: 5 * 365 * 24 * 60 * 60 * 1000
45
- };
46
- const granularityInMilliseconds = {
47
- [GranularityId.MINUTE_5]: 5 * 60 * 1000,
48
- [GranularityId.MINUTE_15]: 15 * 60 * 1000,
49
- [GranularityId.MINUTE_30]: 30 * 60 * 1000,
50
- [GranularityId.HOUR_1]: 60 * 60 * 1000,
51
- [GranularityId.HOUR_4]: 4 * 60 * 60 * 1000,
52
- [GranularityId.DAY_1]: 24 * 60 * 60 * 1000
53
- };
54
- const temporaryGranularityTimeSpanMap = {
55
- [GranularityId.MINUTE_5]: TimeSpanId.DAY_2,
56
- [GranularityId.MINUTE_15]: TimeSpanId.WEEK_1,
57
- [GranularityId.MINUTE_30]: TimeSpanId.WEEK_2,
58
- [GranularityId.HOUR_1]: TimeSpanId.MONTH_1,
59
- [GranularityId.HOUR_4]: TimeSpanId.MONTH_3,
60
- [GranularityId.DAY_1]: TimeSpanId.MONTH_6
61
- };
62
- const mockXAxisData = granularityId => {
63
- const granularity = granularityInMilliseconds[granularityId];
64
- const timeSpan = timeSpansInMilliseconds[temporaryGranularityTimeSpanMap[granularityId]];
65
- const currentTime = new Date();
66
- const startDate = currentTime;
67
- const totalSteps = timeSpan / granularity;
68
- const orderPositionDataForHistorical = new Array(totalSteps).fill(null).map((_, index) => {
69
- const newDate = new Date(startDate.getTime() - index * granularity);
70
- return "".concat(newDate.toISOString().slice(0, 19), "Z");
71
- }).reverse();
72
- return orderPositionDataForHistorical;
73
- };
74
- export const getLabelData = _ref => {
75
- let {
76
- xAxisData,
77
- isGreaterThanTwoWeeks
78
- } = _ref;
79
- return xAxisData.filter((record, index, arr) => {
80
- if (index === 0) {
81
- return false;
82
- }
83
- const previousTimestamp = arr[index - 1];
84
- const currentDate = new Date(record);
85
- const previousDate = new Date(previousTimestamp);
86
- return isGreaterThanTwoWeeks ? currentDate.getDate() !== previousDate.getDate() : currentDate.getMonth() !== previousDate.getMonth();
87
- }).map(item => ({
88
- name: new Date(item).toLocaleDateString(undefined, {
89
- month: 'short',
90
- day: isGreaterThanTwoWeeks ? 'numeric' : undefined
91
- }),
92
- xAxis: item,
93
- y: CHART_HEIGHT - 22,
94
- silent: true,
95
- emphasis: {
96
- disabled: true
97
- },
98
- label: {
99
- fontFamily: 'Sofia W03',
100
- fontSize: 10,
101
- position: 'bottom',
102
- align: 'center',
103
- formatter: '{b}'
104
- }
105
- }));
106
- };
107
- export const isDifferenceGreaterThanTwoWeeks = (startDate, endDate) => {
108
- const date1 = new Date(startDate);
109
- const date2 = new Date(endDate);
110
- const TWO_WEEKS_IN_MS = 14 * 24 * 60 * 60 * 1000;
111
- const differenceInMs = Math.abs(date2.getTime() - date1.getTime());
112
- return differenceInMs < TWO_WEEKS_IN_MS;
113
- };
114
- export const transformDataForChart = _ref2 => {
115
- let {
116
- granularity
117
- } = _ref2;
118
- const bucketWidth = 0.005;
119
- const mockedXAxisData = mockXAxisData(granularity);
120
- const mockedCandles = getPriceCandlesMock(mockedXAxisData.length);
121
- const orderPositionData = mockedCandles.map((item, index) => {
122
- return {
123
- time: mockedXAxisData[index],
124
- buckets: getOrderPositionDataMock({
125
- baseValue: item.high,
126
- bucketWidth,
127
- crossoverValue: item.high + (Math.random() - 0.5) * 0.3
128
- }),
129
- bucketWidth: 0.005
130
- };
131
- });
132
- const ordersPositionsChartData = orderPositionData.flatMap(_ref3 => {
133
- let {
134
- buckets,
135
- time
136
- } = _ref3;
137
- return buckets.map(bucket => [time, bucket.price, bucket.longCountPercent - bucket.shortCountPercent]);
138
- }).filter(item => Math.abs(item[2]) > 0.15);
139
- const candlesSeriesData = mockedCandles.map(_ref4 => {
140
- let {
141
- close,
142
- open,
143
- low,
144
- high
145
- } = _ref4;
146
- return [+close.toFixed(5), +open.toFixed(5), +low.toFixed(5), +high.toFixed(5)];
147
- });
148
- return {
149
- xAxisData: mockedXAxisData,
150
- ordersPositionsChartData,
151
- ordersPositionsBucketWidth: bucketWidth,
152
- candlesSeriesData,
153
- granularity
154
- };
155
- };
156
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","names":["colorMap","TimeSpanId","CHART_HEIGHT","getOrderPositionDataMock","getPriceCandlesMock","getRectColor","sentiment","colors","short","long","absSentiment","Math","abs","GranularityId","timeSpansInMilliseconds","HOUR_1","HOUR_12","DAY_1","DAY_2","WEEK_1","WEEK_2","WEEK_3","MONTH_1","MONTH_3","MONTH_6","YEAR_1","YEAR_5","granularityInMilliseconds","MINUTE_5","MINUTE_15","MINUTE_30","HOUR_4","temporaryGranularityTimeSpanMap","mockXAxisData","granularityId","granularity","timeSpan","currentTime","Date","startDate","totalSteps","orderPositionDataForHistorical","Array","fill","map","_","index","newDate","getTime","concat","toISOString","slice","reverse","getLabelData","_ref","xAxisData","isGreaterThanTwoWeeks","filter","record","arr","previousTimestamp","currentDate","previousDate","getDate","getMonth","item","name","toLocaleDateString","undefined","month","day","xAxis","y","silent","emphasis","disabled","label","fontFamily","fontSize","position","align","formatter","isDifferenceGreaterThanTwoWeeks","endDate","date1","date2","TWO_WEEKS_IN_MS","differenceInMs","transformDataForChart","_ref2","bucketWidth","mockedXAxisData","mockedCandles","length","orderPositionData","time","buckets","baseValue","high","crossoverValue","random","ordersPositionsChartData","flatMap","_ref3","bucket","price","longCountPercent","shortCountPercent","candlesSeriesData","_ref4","close","open","low","toFixed","ordersPositionsBucketWidth"],"sources":["../../../../../src/CrowdViewWidget/components/Chart/utils.ts"],"sourcesContent":["import { colorMap } from '../../config';\nimport { TimeSpanId } from '../../types';\nimport { CHART_HEIGHT } from './constants';\nimport { getOrderPositionDataMock } from './getOrderPositionDataMock';\nimport { getPriceCandlesMock } from './getPriceCandlesMock';\nimport type { GetLabelsDataProps, TransformDataForChartType } from './types';\n\nexport const getRectColor = (sentiment: number) => {\n const colors = sentiment < 0 ? colorMap.short : colorMap.long;\n const absSentiment = Math.abs(sentiment);\n\n if (absSentiment < 0.15) {\n return colors[3];\n }\n\n if (absSentiment < 0.25) {\n return colors[2];\n }\n\n if (absSentiment < 0.4) {\n return colors[1];\n }\n\n if (absSentiment >= 0.4) {\n return colors[0];\n }\n\n return 'transparent';\n};\n\nexport enum GranularityId {\n MINUTE_5 = 'MINUTE_5',\n MINUTE_15 = 'MINUTE_15',\n MINUTE_30 = 'MINUTE_30',\n HOUR_1 = 'HOUR_1',\n HOUR_4 = 'HOUR_4',\n DAY_1 = 'DAY_1',\n}\n\nconst timeSpansInMilliseconds: Record<TimeSpanId, number> = {\n [TimeSpanId.HOUR_1]: 60 * 60 * 1000,\n [TimeSpanId.HOUR_12]: 12 * 60 * 60 * 1000,\n [TimeSpanId.DAY_1]: 24 * 60 * 60 * 1000,\n [TimeSpanId.DAY_2]: 2 * 24 * 60 * 60 * 1000,\n [TimeSpanId.WEEK_1]: 7 * 24 * 60 * 60 * 1000,\n [TimeSpanId.WEEK_2]: 14 * 24 * 60 * 60 * 1000,\n [TimeSpanId.WEEK_3]: 21 * 24 * 60 * 60 * 1000,\n [TimeSpanId.MONTH_1]: 30 * 24 * 60 * 60 * 1000, // Approximation\n [TimeSpanId.MONTH_3]: 3 * 30 * 24 * 60 * 60 * 1000, // Approximation\n [TimeSpanId.MONTH_6]: 6 * 30 * 24 * 60 * 60 * 1000, // Approximation\n [TimeSpanId.YEAR_1]: 365 * 24 * 60 * 60 * 1000, // Approximation\n [TimeSpanId.YEAR_5]: 5 * 365 * 24 * 60 * 60 * 1000, // Approximation\n};\n\nconst granularityInMilliseconds: Record<GranularityId, number> = {\n [GranularityId.MINUTE_5]: 5 * 60 * 1000,\n [GranularityId.MINUTE_15]: 15 * 60 * 1000,\n [GranularityId.MINUTE_30]: 30 * 60 * 1000,\n [GranularityId.HOUR_1]: 60 * 60 * 1000,\n [GranularityId.HOUR_4]: 4 * 60 * 60 * 1000,\n [GranularityId.DAY_1]: 24 * 60 * 60 * 1000,\n};\n\nconst temporaryGranularityTimeSpanMap: Record<GranularityId, TimeSpanId> = {\n [GranularityId.MINUTE_5]: TimeSpanId.DAY_2,\n [GranularityId.MINUTE_15]: TimeSpanId.WEEK_1,\n [GranularityId.MINUTE_30]: TimeSpanId.WEEK_2,\n [GranularityId.HOUR_1]: TimeSpanId.MONTH_1,\n [GranularityId.HOUR_4]: TimeSpanId.MONTH_3,\n [GranularityId.DAY_1]: TimeSpanId.MONTH_6,\n};\n\nconst mockXAxisData = (granularityId: GranularityId) => {\n const granularity = granularityInMilliseconds[granularityId];\n const timeSpan =\n timeSpansInMilliseconds[temporaryGranularityTimeSpanMap[granularityId]];\n\n const currentTime = new Date();\n\n const startDate = currentTime;\n const totalSteps = timeSpan / granularity;\n\n const orderPositionDataForHistorical = new Array(totalSteps)\n .fill(null)\n .map((_, index) => {\n const newDate = new Date(startDate.getTime() - index * granularity);\n\n return `${newDate.toISOString().slice(0, 19)}Z`;\n })\n .reverse();\n\n return orderPositionDataForHistorical;\n};\n\nexport const getLabelData = ({\n xAxisData,\n isGreaterThanTwoWeeks,\n}: GetLabelsDataProps) =>\n xAxisData\n .filter((record, index, arr) => {\n if (index === 0) {\n return false;\n }\n const previousTimestamp = arr[index - 1];\n const currentDate = new Date(record);\n const previousDate = new Date(previousTimestamp);\n\n return isGreaterThanTwoWeeks\n ? currentDate.getDate() !== previousDate.getDate()\n : currentDate.getMonth() !== previousDate.getMonth();\n })\n .map((item) => ({\n name: new Date(item).toLocaleDateString(undefined, {\n month: 'short',\n day: isGreaterThanTwoWeeks ? 'numeric' : undefined,\n }),\n xAxis: item,\n y: CHART_HEIGHT - 22,\n silent: true,\n emphasis: {\n disabled: true,\n },\n label: {\n fontFamily: 'Sofia W03',\n fontSize: 10,\n position: 'bottom',\n align: 'center',\n formatter: '{b}',\n },\n }));\n\nexport const isDifferenceGreaterThanTwoWeeks = (\n startDate: string,\n endDate: string\n) => {\n const date1 = new Date(startDate);\n const date2 = new Date(endDate);\n\n const TWO_WEEKS_IN_MS = 14 * 24 * 60 * 60 * 1000;\n\n const differenceInMs = Math.abs(date2.getTime() - date1.getTime());\n\n return differenceInMs < TWO_WEEKS_IN_MS;\n};\n\nexport const transformDataForChart: TransformDataForChartType = ({\n granularity,\n}) => {\n const bucketWidth = 0.005;\n const mockedXAxisData = mockXAxisData(granularity);\n const mockedCandles = getPriceCandlesMock(mockedXAxisData.length);\n\n const orderPositionData = mockedCandles.map((item, index) => {\n return {\n time: mockedXAxisData[index],\n buckets: getOrderPositionDataMock({\n baseValue: item.high,\n bucketWidth,\n crossoverValue: item.high + (Math.random() - 0.5) * 0.3,\n }),\n bucketWidth: 0.005,\n };\n });\n\n const ordersPositionsChartData = orderPositionData\n .flatMap(\n ({ buckets, time }) =>\n buckets.map((bucket) => [\n time,\n bucket!.price,\n bucket!.longCountPercent - bucket!.shortCountPercent,\n ]) as [string, number, number][]\n )\n .filter((item) => Math.abs(item[2]) > 0.15);\n\n const candlesSeriesData: [number, number, number, number][] =\n mockedCandles.map(({ close, open, low, high }) => [\n +close.toFixed(5),\n +open.toFixed(5),\n +low.toFixed(5),\n +high.toFixed(5),\n ]);\n\n return {\n xAxisData: mockedXAxisData,\n ordersPositionsChartData,\n ordersPositionsBucketWidth: bucketWidth,\n candlesSeriesData,\n granularity,\n };\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,102 +0,0 @@
1
- import { BookType } from '../gql/types/graphql';
2
- import { GranularityId, InstrumentId } from './types';
3
- const navigationConfig = [{
4
- id: BookType.Order,
5
- label: 'order_book'
6
- }, {
7
- id: BookType.Position,
8
- label: 'position_book'
9
- }];
10
- const instrumentSelectConfigOC = [{
11
- id: InstrumentId.EUR_AUD,
12
- label: 'EUR/AUD'
13
- }, {
14
- id: InstrumentId.EUR_GBP,
15
- label: 'EUR/GBP'
16
- }, {
17
- id: InstrumentId.EUR_JPY,
18
- label: 'EUR/JPY'
19
- }, {
20
- id: InstrumentId.EUR_USD,
21
- label: 'EUR/USD'
22
- }, {
23
- id: InstrumentId.EUR_CHF,
24
- label: 'EUR/CHF'
25
- }, {
26
- id: InstrumentId.USD_CHF,
27
- label: 'USD/CHF'
28
- }, {
29
- id: InstrumentId.USD_JPY,
30
- label: 'USD/JPY'
31
- }, {
32
- id: InstrumentId.USD_CAD,
33
- label: 'USD/CAD'
34
- }, {
35
- id: InstrumentId.GBP_USD,
36
- label: 'GBP/USD'
37
- }, {
38
- id: InstrumentId.GBP_JPY,
39
- label: 'GBP/JPY'
40
- }, {
41
- id: InstrumentId.GBP_CHF,
42
- label: 'GBP/CHF'
43
- }, {
44
- id: InstrumentId.AUD_JPY,
45
- label: 'AUD/JPY'
46
- }, {
47
- id: InstrumentId.AUD_USD,
48
- label: 'AUD/USD'
49
- }, {
50
- id: InstrumentId.NZD_USD,
51
- label: 'NZD/USD'
52
- }];
53
- const instrumentSelectConfig = [...instrumentSelectConfigOC, {
54
- id: InstrumentId.XAU_USD,
55
- label: 'XAU/USD'
56
- }, {
57
- id: InstrumentId.XAG_USD,
58
- label: 'XAG/USD'
59
- }];
60
- const instrumentPrecisionConfig = {
61
- [InstrumentId.EUR_AUD]: 5,
62
- [InstrumentId.EUR_GBP]: 5,
63
- [InstrumentId.EUR_JPY]: 3,
64
- [InstrumentId.EUR_USD]: 5,
65
- [InstrumentId.EUR_CHF]: 5,
66
- [InstrumentId.USD_CHF]: 5,
67
- [InstrumentId.USD_JPY]: 3,
68
- [InstrumentId.USD_CAD]: 5,
69
- [InstrumentId.GBP_USD]: 5,
70
- [InstrumentId.GBP_JPY]: 3,
71
- [InstrumentId.GBP_CHF]: 5,
72
- [InstrumentId.AUD_JPY]: 3,
73
- [InstrumentId.AUD_USD]: 5,
74
- [InstrumentId.NZD_USD]: 5,
75
- [InstrumentId.XAU_USD]: 3,
76
- [InstrumentId.XAG_USD]: 5
77
- };
78
- const granularitySelectConfig = [{
79
- id: GranularityId.MINUTE_5,
80
- label: '5_minutes'
81
- }, {
82
- id: GranularityId.MINUTE_15,
83
- label: '15_minutes'
84
- }, {
85
- id: GranularityId.MINUTE_30,
86
- label: '30_minutes'
87
- }, {
88
- id: GranularityId.HOUR_1,
89
- label: '1_hour'
90
- }, {
91
- id: GranularityId.HOUR_4,
92
- label: '4_hours'
93
- }, {
94
- id: GranularityId.DAY_1,
95
- label: '1_day'
96
- }];
97
- export { granularitySelectConfig, instrumentPrecisionConfig, instrumentSelectConfig, instrumentSelectConfigOC, navigationConfig };
98
- export const colorMap = {
99
- long: ['#00857333', '#00715F99', '#00857399', '#008573CC'],
100
- short: ['#DA632566', '#DA632599', '#DA6325CC', '#DA6325']
101
- };
102
- //# sourceMappingURL=config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","names":["BookType","GranularityId","InstrumentId","navigationConfig","id","Order","label","Position","instrumentSelectConfigOC","EUR_AUD","EUR_GBP","EUR_JPY","EUR_USD","EUR_CHF","USD_CHF","USD_JPY","USD_CAD","GBP_USD","GBP_JPY","GBP_CHF","AUD_JPY","AUD_USD","NZD_USD","instrumentSelectConfig","XAU_USD","XAG_USD","instrumentPrecisionConfig","granularitySelectConfig","MINUTE_5","MINUTE_15","MINUTE_30","HOUR_1","HOUR_4","DAY_1","colorMap","long","short"],"sources":["../../../src/CrowdViewWidget/config.ts"],"sourcesContent":["import { BookType } from '../gql/types/graphql';\nimport type { LegendType } from './components/Legend/LegendBar';\nimport { GranularityId, InstrumentId } from './types';\n\nconst navigationConfig = [\n {\n id: BookType.Order,\n label: 'order_book',\n },\n {\n id: BookType.Position,\n label: 'position_book',\n },\n];\n\nconst instrumentSelectConfigOC = [\n {\n id: InstrumentId.EUR_AUD,\n label: 'EUR/AUD',\n },\n {\n id: InstrumentId.EUR_GBP,\n label: 'EUR/GBP',\n },\n {\n id: InstrumentId.EUR_JPY,\n label: 'EUR/JPY',\n },\n {\n id: InstrumentId.EUR_USD,\n label: 'EUR/USD',\n },\n {\n id: InstrumentId.EUR_CHF,\n label: 'EUR/CHF',\n },\n {\n id: InstrumentId.USD_CHF,\n label: 'USD/CHF',\n },\n {\n id: InstrumentId.USD_JPY,\n label: 'USD/JPY',\n },\n {\n id: InstrumentId.USD_CAD,\n label: 'USD/CAD',\n },\n {\n id: InstrumentId.GBP_USD,\n label: 'GBP/USD',\n },\n {\n id: InstrumentId.GBP_JPY,\n label: 'GBP/JPY',\n },\n {\n id: InstrumentId.GBP_CHF,\n label: 'GBP/CHF',\n },\n {\n id: InstrumentId.AUD_JPY,\n label: 'AUD/JPY',\n },\n {\n id: InstrumentId.AUD_USD,\n label: 'AUD/USD',\n },\n {\n id: InstrumentId.NZD_USD,\n label: 'NZD/USD',\n },\n];\n\nconst instrumentSelectConfig = [\n ...instrumentSelectConfigOC,\n {\n id: InstrumentId.XAU_USD,\n label: 'XAU/USD',\n },\n {\n id: InstrumentId.XAG_USD,\n label: 'XAG/USD',\n },\n];\n\nconst instrumentPrecisionConfig: Record<InstrumentId, number> = {\n [InstrumentId.EUR_AUD]: 5,\n [InstrumentId.EUR_GBP]: 5,\n [InstrumentId.EUR_JPY]: 3,\n [InstrumentId.EUR_USD]: 5,\n [InstrumentId.EUR_CHF]: 5,\n [InstrumentId.USD_CHF]: 5,\n [InstrumentId.USD_JPY]: 3,\n [InstrumentId.USD_CAD]: 5,\n [InstrumentId.GBP_USD]: 5,\n [InstrumentId.GBP_JPY]: 3,\n [InstrumentId.GBP_CHF]: 5,\n [InstrumentId.AUD_JPY]: 3,\n [InstrumentId.AUD_USD]: 5,\n [InstrumentId.NZD_USD]: 5,\n [InstrumentId.XAU_USD]: 3,\n [InstrumentId.XAG_USD]: 5,\n};\n\nconst granularitySelectConfig = [\n {\n id: GranularityId.MINUTE_5,\n label: '5_minutes',\n },\n {\n id: GranularityId.MINUTE_15,\n label: '15_minutes',\n },\n {\n id: GranularityId.MINUTE_30,\n label: '30_minutes',\n },\n {\n id: GranularityId.HOUR_1,\n label: '1_hour',\n },\n {\n id: GranularityId.HOUR_4,\n label: '4_hours',\n },\n {\n id: GranularityId.DAY_1,\n label: '1_day',\n },\n];\n\nexport {\n granularitySelectConfig,\n instrumentPrecisionConfig,\n instrumentSelectConfig,\n instrumentSelectConfigOC,\n navigationConfig,\n};\nexport const colorMap: Record<LegendType, string[]> = {\n long: ['#00857333', '#00715F99', '#00857399', '#008573CC'],\n short: ['#DA632566', '#DA632599', '#DA6325CC', '#DA6325'],\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,6 +0,0 @@
1
- var _templateObject;
2
- function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); }
3
- import { gql } from '@apollo/client';
4
- const getPriceCandles = gql(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n query GetPriceCandles(\n $division: Division\n $instrument: String!\n $granularity: Granularity!\n $timeSpan: TimeSpan!\n ) {\n getPriceCandles(\n division: $division\n instrument: $instrument\n granularity: $granularity\n timeSpan: $timeSpan\n ) {\n time\n unixTime\n candle {\n high\n low\n open\n close\n }\n timeSpan\n }\n }\n"])));
5
- export { getPriceCandles };
6
- //# sourceMappingURL=getPriceCandles.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getPriceCandles.js","names":["gql","getPriceCandles","_templateObject","_taggedTemplateLiteral"],"sources":["../../../../src/gql/mock/getPriceCandles.ts"],"sourcesContent":["import { gql } from '@apollo/client';\n\nconst getPriceCandles = gql`\n query GetPriceCandles(\n $division: Division\n $instrument: String!\n $granularity: Granularity!\n $timeSpan: TimeSpan!\n ) {\n getPriceCandles(\n division: $division\n instrument: $instrument\n granularity: $granularity\n timeSpan: $timeSpan\n ) {\n time\n unixTime\n candle {\n high\n low\n open\n close\n }\n timeSpan\n }\n }\n`;\n\nexport { getPriceCandles };\n"],"mappings":";;AAAA,SAASA,GAAG,QAAQ,gBAAgB;AAEpC,MAAMC,eAAe,GAAGD,GAAG,CAAAE,eAAA,KAAAA,eAAA,GAAAC,sBAAA,sbAwB1B;AAED,SAASF,eAAe","ignoreList":[]}
@@ -1,62 +0,0 @@
1
- enum TimeSpan {
2
- HOUR_1
3
- HOUR_12
4
- DAY_1
5
- DAY_2
6
- WEEK_1
7
- WEEK_2
8
- WEEK_3
9
- MONTH_1
10
- MONTH_3
11
- MONTH_6
12
- YEAR_1
13
- }
14
-
15
- enum Granularity {
16
- MINUTE_5
17
- MINUTE_15
18
- MINUTE_30
19
- HOUR_1
20
- HOUR_4
21
- DAY_1
22
- }
23
-
24
- enum Division {
25
- OAP
26
- OAU
27
- OC
28
- OCAN
29
- OEL
30
- OGM
31
- OJ
32
- OPT
33
- OTMS
34
- }
35
-
36
- type Candle {
37
- high: Float!
38
- low: Float!
39
- open: Float!
40
- close: Float!
41
- }
42
-
43
- type Instrument {
44
- name: String!
45
- displayName: String!
46
- }
47
-
48
- type CandlesData {
49
- time: String!
50
- unixTime: Int!
51
- candle: Candle!
52
- timeSpan: TimeSpan!
53
- }
54
-
55
- type Query {
56
- getPriceCandles(
57
- division: Division
58
- instrument: String!
59
- granularity: Granularity!
60
- timeSpan: TimeSpan!
61
- ): [CandlesData!]!
62
- }
@@ -1,5 +0,0 @@
1
- var _templateObject;
2
- function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); }
3
- import { gql } from '@apollo/client';
4
- export const validateInstruments = gql(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n query validateInstruments($instruments: [String]!, $division: Division) {\n mapInstrumentNames(instruments: $instruments, division: $division) {\n name\n displayName\n }\n }\n"])));
5
- //# sourceMappingURL=validateInstruments.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validateInstruments.js","names":["gql","validateInstruments","_templateObject","_taggedTemplateLiteral"],"sources":["../../../src/gql/validateInstruments.ts"],"sourcesContent":["import { gql } from '@apollo/client';\n\nexport const validateInstruments = gql`\n query validateInstruments($instruments: [String]!, $division: Division) {\n mapInstrumentNames(instruments: $instruments, division: $division) {\n name\n displayName\n }\n }\n`;\n"],"mappings":";;AAAA,SAASA,GAAG,QAAQ,gBAAgB;AAEpC,OAAO,MAAMC,mBAAmB,GAAGD,GAAG,CAAAE,eAAA,KAAAA,eAAA,GAAAC,sBAAA,4MAOrC","ignoreList":[]}
@@ -1,7 +0,0 @@
1
- export declare const X_LABEL_SIZE = 40;
2
- export declare const Y_LABEL_SIZE_DESKTOP = 60;
3
- export declare const CHART_WIDTH = 9999;
4
- export declare const CHART_HEIGHT = 425;
5
- export declare const INITIAL_START_ZOOM = 80;
6
- export declare const INITIAL_END_ZOOM = 100;
7
- export declare const MAX_LABELS_COUNT = 14;
@@ -1,14 +0,0 @@
1
- export interface OrderPositionData {
2
- shortCountPercent: number;
3
- longCountPercent: number;
4
- price: number;
5
- }
6
- interface GetOrderPositionDataMockParams {
7
- min?: number;
8
- max?: number;
9
- bucketWidth?: number;
10
- baseValue: number;
11
- crossoverValue?: number;
12
- }
13
- export declare const getOrderPositionDataMock: ({ min, max, bucketWidth, baseValue, crossoverValue, }: GetOrderPositionDataMockParams) => OrderPositionData[];
14
- export {};
@@ -1,2 +0,0 @@
1
- import type { Candle } from '../../../gql/types/graphql';
2
- export declare const getPriceCandlesMock: (count: number, min?: number, max?: number) => Candle[];
@@ -1,22 +0,0 @@
1
- import { BookType } from '../gql/types/graphql';
2
- import type { LegendType } from './components/Legend/LegendBar';
3
- import { GranularityId, InstrumentId } from './types';
4
- declare const navigationConfig: {
5
- id: BookType;
6
- label: string;
7
- }[];
8
- declare const instrumentSelectConfigOC: {
9
- id: InstrumentId;
10
- label: string;
11
- }[];
12
- declare const instrumentSelectConfig: {
13
- id: InstrumentId;
14
- label: string;
15
- }[];
16
- declare const instrumentPrecisionConfig: Record<InstrumentId, number>;
17
- declare const granularitySelectConfig: {
18
- id: GranularityId;
19
- label: string;
20
- }[];
21
- export { granularitySelectConfig, instrumentPrecisionConfig, instrumentSelectConfig, instrumentSelectConfigOC, navigationConfig, };
22
- export declare const colorMap: Record<LegendType, string[]>;
@@ -1 +0,0 @@
1
- export declare const validateInstruments: import("@apollo/client").DocumentNode;
@@ -1,8 +0,0 @@
1
- export const X_LABEL_SIZE = 40;
2
- export const Y_LABEL_SIZE_DESKTOP = 60;
3
- export const CHART_WIDTH = 9999;
4
- export const CHART_HEIGHT = 425;
5
-
6
- export const INITIAL_START_ZOOM = 80;
7
- export const INITIAL_END_ZOOM = 100;
8
- export const MAX_LABELS_COUNT = 14;
@@ -1,66 +0,0 @@
1
- export interface OrderPositionData {
2
- shortCountPercent: number;
3
- longCountPercent: number;
4
- price: number;
5
- }
6
-
7
- interface GetOrderPositionDataMockParams {
8
- min?: number;
9
- max?: number;
10
- bucketWidth?: number;
11
- baseValue: number;
12
- crossoverValue?: number;
13
- }
14
-
15
- export const getOrderPositionDataMock = ({
16
- min = 1.3,
17
- max = 2.1,
18
- bucketWidth = 0.005,
19
- baseValue,
20
- crossoverValue = baseValue,
21
- }: GetOrderPositionDataMockParams): OrderPositionData[] => {
22
- const results: OrderPositionData[] = [];
23
-
24
- const maxDistance = Math.max(baseValue - min, max - baseValue);
25
-
26
- for (
27
- let currentPrice = min;
28
- currentPrice < max;
29
- currentPrice += bucketWidth
30
- ) {
31
- const distance = Math.abs(currentPrice - baseValue);
32
-
33
- const proximityFactor = 1 - distance / maxDistance;
34
- const strongProximityFactor = Math.pow(proximityFactor, 2);
35
-
36
- let shortCountPercent: number;
37
- let longCountPercent: number;
38
-
39
- if (currentPrice === baseValue) {
40
- shortCountPercent = Math.random() * 0.5;
41
- longCountPercent = Math.random() * 0.5;
42
- } else {
43
- const maxDifference = 0.5;
44
- const targetDifference =
45
- Math.random() * maxDifference * strongProximityFactor;
46
-
47
- const baseRandom = Math.random() * (0.5 - targetDifference);
48
-
49
- if (currentPrice < crossoverValue) {
50
- shortCountPercent = baseRandom;
51
- longCountPercent = baseRandom + targetDifference;
52
- } else {
53
- longCountPercent = baseRandom;
54
- shortCountPercent = baseRandom + targetDifference;
55
- }
56
- }
57
-
58
- results.push({
59
- shortCountPercent: Math.round(shortCountPercent * 10000) / 10000,
60
- longCountPercent: Math.round(longCountPercent * 10000) / 10000,
61
- price: currentPrice,
62
- });
63
- }
64
-
65
- return results;
66
- };
@@ -1,43 +0,0 @@
1
- import type { Candle } from '../../../gql/types/graphql';
2
-
3
- export const getPriceCandlesMock = (
4
- count: number,
5
- min: number = 1.3,
6
- max: number = 2.1
7
- ): Candle[] => {
8
- const buffer = 0.02;
9
- const safeMin = min + buffer;
10
- const safeMax = max - buffer;
11
-
12
- const initialClose = +(Math.random() * (safeMax - safeMin) + safeMin).toFixed(
13
- 5
14
- );
15
-
16
- return Array.from({ length: count }).reduce<Candle[]>((acc) => {
17
- const prevClose =
18
- acc.length === 0 ? initialClose : acc[acc.length - 1].close;
19
- const isBullish = Math.random() > 0.5;
20
-
21
- const bodySize = +(Math.random() * 0.05 + 0.015).toFixed(5);
22
- const wickSize = +(Math.random() * 0.015 + 0.005).toFixed(5);
23
-
24
- const open = prevClose;
25
- let close = isBullish ? open + bodySize : open - bodySize;
26
- close = Math.max(safeMin, Math.min(safeMax, Number(close)));
27
-
28
- const high = Math.min(
29
- max,
30
- Math.max(Number(open), Number(close)) + wickSize
31
- );
32
- const low = Math.max(min, Math.min(Number(open), Number(close)) - wickSize);
33
-
34
- acc.push({
35
- open: +open.toFixed(5),
36
- close: +close.toFixed(5),
37
- low: +low.toFixed(5),
38
- high: +high.toFixed(5),
39
- });
40
-
41
- return acc;
42
- }, []);
43
- };