hqchart 1.1.12693 → 1.1.12708

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 (229) hide show
  1. package/package.json +15 -47
  2. package/src/jscommon/readmo.txt +2 -2
  3. package/src/jscommon/umychart.resource/js/codemirror/javascript.js +1 -1
  4. package/.babelrc +0 -6
  5. package/.vscode/settings.json +0 -4
  6. package/Makefile +0 -9
  7. package/README.md +0 -452
  8. package/index.js +0 -17
  9. package/postcss.config.js +0 -5
  10. package/src/index.html +0 -18
  11. package/src/jscommon/backup/announcement.png +0 -0
  12. package/src/jscommon/backup/announcement2.png +0 -0
  13. package/src/jscommon/backup/blocktrading.png +0 -0
  14. package/src/jscommon/backup/investor.png +0 -0
  15. package/src/jscommon/backup/pforecast.png +0 -0
  16. package/src/jscommon/backup/research.png +0 -0
  17. package/src/jscommon/backup/tradedetail.png +0 -0
  18. package/src/jscommon/backup/umychart - backup.js +0 -17631
  19. package/src/jscommon/backup/umychart.macro.js +0 -4
  20. package/src/jscommon/backup/umychart.macro.vue.js +0 -3
  21. package/src/jscommon/commonindextree.json +0 -92
  22. package/src/jscommon/index.html +0 -13
  23. package/src/jscommon/jschinamapdata.js +0 -3
  24. package/src/jscommon/phoneHorizontal/hengping.css +0 -283
  25. package/src/jscommon/phoneHorizontal/phone.html +0 -448
  26. package/src/jscommon/phoneHorizontal/rem.js +0 -28
  27. package/src/jscommon/umychart.NetworkFilterTest.js +0 -48803
  28. package/src/jscommon/umychart.aliYunnetwork.js +0 -47
  29. package/src/jscommon/umychart.cninfo.components/readme.txt +0 -1
  30. package/src/jscommon/umychart.complier.js +0 -25293
  31. package/src/jscommon/umychart.complier.node/umychart.complier.controller.js +0 -559
  32. package/src/jscommon/umychart.complier.node/umychart.complier.node.js +0 -7043
  33. package/src/jscommon/umychart.complier.node/umychart.data.node.js +0 -816
  34. package/src/jscommon/umychart.console.js +0 -12
  35. package/src/jscommon/umychart.deal.js +0 -1452
  36. package/src/jscommon/umychart.dragdiv.js +0 -48
  37. package/src/jscommon/umychart.index.data.js +0 -4132
  38. package/src/jscommon/umychart.js +0 -90542
  39. package/src/jscommon/umychart.keyboard.js +0 -1659
  40. package/src/jscommon/umychart.listctrl.js +0 -690
  41. package/src/jscommon/umychart.mind.js +0 -2203
  42. package/src/jscommon/umychart.network.js +0 -44
  43. package/src/jscommon/umychart.news.js +0 -823
  44. package/src/jscommon/umychart.node.build/buildall.bat +0 -1
  45. package/src/jscommon/umychart.node.build/umychart.node.bat +0 -1
  46. package/src/jscommon/umychart.node.build/umychart.node.export.js +0 -40
  47. package/src/jscommon/umychart.regressiontest.js +0 -400
  48. package/src/jscommon/umychart.report.js +0 -5803
  49. package/src/jscommon/umychart.scrollbar.js +0 -1345
  50. package/src/jscommon/umychart.stock.js +0 -4218
  51. package/src/jscommon/umychart.style.js +0 -625
  52. package/src/jscommon/umychart.testdata.js +0 -150
  53. package/src/jscommon/umychart.uniapp.build/buildall.bat +0 -1
  54. package/src/jscommon/umychart.uniapp.build/umychart.bat +0 -1
  55. package/src/jscommon/umychart.uniapp.build/umychart.export.js +0 -70
  56. package/src/jscommon/umychart.user.js +0 -137
  57. package/src/jscommon/umychart.version.js +0 -30
  58. package/src/jscommon/umychart.vue/umychart.aliYunnetwork.vue.js +0 -56
  59. package/src/jscommon/umychart.vue.build/buildall.bat +0 -4
  60. package/src/jscommon/umychart.vue.build/copy_codemirror.bat +0 -2
  61. package/src/jscommon/umychart.vue.build/umychart.aliYunnetwork.vue.export.js +0 -9
  62. package/src/jscommon/umychart.vue.build/umychart.dragdiv.bat +0 -1
  63. package/src/jscommon/umychart.vue.build/umychart.dragdiv.export.js +0 -6
  64. package/src/jscommon/umychart.vue.build/umychart.index.data.bat +0 -1
  65. package/src/jscommon/umychart.vue.build/umychart.index.data.export.js +0 -4
  66. package/src/jscommon/umychart.vue.build/umychart.listctrl.vue.export.js +0 -15
  67. package/src/jscommon/umychart.vue.build/umychart.regressiontest.vue.export.js +0 -7
  68. package/src/jscommon/umychart.vue.build/umychart.regressiontest.wechat.export.js +0 -12
  69. package/src/jscommon/umychart.vue.build/umychart.stock.bat +0 -1
  70. package/src/jscommon/umychart.vue.build/umychart.stock.vue.export.js +0 -16
  71. package/src/jscommon/umychart.vue.build/umychart.testdata.bat +0 -3
  72. package/src/jscommon/umychart.vue.build/umychart.testdata.vue.export.js +0 -7
  73. package/src/jscommon/umychart.vue.build/umychart.vue.bat +0 -8
  74. package/src/jscommon/umychart.vue.build/umychart.vue.export.js +0 -112
  75. package/src/jscommon/umychart.vue.components/empyt.vue +0 -51
  76. package/src/jscommon/umychart.vue.components/historydayline.vue +0 -240
  77. package/src/jscommon/umychart.vue.components/jsloader.adddialog.vue +0 -315
  78. package/src/jscommon/umychart.vue.components/jsloader.vue +0 -93
  79. package/src/jscommon/umychart.vue.components/jsvuecontainer.vue +0 -160
  80. package/src/jscommon/umychart.vue.components/jsvuecontainer2.0.vue +0 -391
  81. package/src/jscommon/umychart.vue.components/login.vue +0 -178
  82. package/src/jscommon/umychart.vue.components/queryContent.vue +0 -750
  83. package/src/jscommon/umychart.vue.components/readme.txt +0 -8
  84. package/src/jscommon/umychart.vue.components/searchsymbol.vue +0 -299
  85. package/src/jscommon/umychart.vue.components/simulatetrade.vue +0 -1471
  86. package/src/jscommon/umychart.vue.components/stockchart.vue +0 -343
  87. package/src/jscommon/umychart.vue.components/stockchartV2.vue +0 -195
  88. package/src/jscommon/umychart.vue.components/stockdeal.vue +0 -358
  89. package/src/jscommon/umychart.vue.components/stockdealcount.vue +0 -262
  90. package/src/jscommon/umychart.vue.components/stockdeallastest.vue +0 -316
  91. package/src/jscommon/umychart.vue.components/stockdrawtool.vue +0 -343
  92. package/src/jscommon/umychart.vue.components/stockfull.vue +0 -355
  93. package/src/jscommon/umychart.vue.components/stockinfo.demo.vue +0 -153
  94. package/src/jscommon/umychart.vue.components/stockinfo.vue +0 -685
  95. package/src/jscommon/umychart.vue.components/stockkline.demo.vue +0 -1904
  96. package/src/jscommon/umychart.vue.components/stockmultiorder.vue +0 -174
  97. package/src/jscommon/umychart.vue.components/stockmultiperiod.vue +0 -222
  98. package/src/jscommon/umychart.vue.components/stockorder.vue +0 -320
  99. package/src/jscommon/umychart.vue.components/stocktradeinfo.demo.vue +0 -250
  100. package/src/jscommon/umychart.vue.components/stocktradeinfo.vue +0 -1907
  101. package/src/jscommon/umychart.vue.components/test.vue +0 -0
  102. package/src/jscommon/umychart.wechat/getDate.wechat.js +0 -91
  103. package/src/jscommon/umychart.wechat/lighter.news.wechat.js +0 -262
  104. package/src/jscommon/umychart.wechat/readme.txt +0 -3
  105. package/src/jscommon/umychart.wechat/umychart.analyze.wechat.js +0 -551
  106. package/src/jscommon/umychart.wechat/umychart.apidraw.wechat.js +0 -126
  107. package/src/jscommon/umychart.wechat/umychart.bigV.wechat.js +0 -2510
  108. package/src/jscommon/umychart.wechat/umychart.chartframe.wechat.js +0 -2942
  109. package/src/jscommon/umychart.wechat/umychart.chartpaint.wechat.js +0 -9752
  110. package/src/jscommon/umychart.wechat/umychart.charttitle.wechat.js +0 -2023
  111. package/src/jscommon/umychart.wechat/umychart.complier.wechat.js +0 -14726
  112. package/src/jscommon/umychart.wechat/umychart.console.wechat.js +0 -8
  113. package/src/jscommon/umychart.wechat/umychart.coordinatedata.wechat.js +0 -3654
  114. package/src/jscommon/umychart.wechat/umychart.data.wechat.js +0 -2243
  115. package/src/jscommon/umychart.wechat/umychart.element.wechart.js +0 -132
  116. package/src/jscommon/umychart.wechat/umychart.explainer.wechat.js +0 -1077
  117. package/src/jscommon/umychart.wechat/umychart.extendchart.wechat.js +0 -1140
  118. package/src/jscommon/umychart.wechat/umychart.framesplit.wechat.js +0 -2247
  119. package/src/jscommon/umychart.wechat/umychart.hqIndexformula.wechat.js +0 -941
  120. package/src/jscommon/umychart.wechat/umychart.index.data.wechat.js +0 -3628
  121. package/src/jscommon/umychart.wechat/umychart.index.wechat.js +0 -4074
  122. package/src/jscommon/umychart.wechat/umychart.klineinfo.wechat.js +0 -836
  123. package/src/jscommon/umychart.wechat/umychart.markethot.js +0 -50
  124. package/src/jscommon/umychart.wechat/umychart.network.wechart.js +0 -62
  125. package/src/jscommon/umychart.wechat/umychart.news.wechat.js +0 -3568
  126. package/src/jscommon/umychart.wechat/umychart.regressiontest.wechat.js +0 -412
  127. package/src/jscommon/umychart.wechat/umychart.report.wechat.js +0 -3983
  128. package/src/jscommon/umychart.wechat/umychart.resource.wechat.js +0 -919
  129. package/src/jscommon/umychart.wechat/umychart.shareimage.wechat.js +0 -681
  130. package/src/jscommon/umychart.wechat/umychart.simulatetrade.wechat.js +0 -238
  131. package/src/jscommon/umychart.wechat/umychart.stock.wechat.js +0 -4035
  132. package/src/jscommon/umychart.wechat/umychart.style.wechat.js +0 -419
  133. package/src/jscommon/umychart.wechat/umychart.uniapp.canvas.helper.js +0 -99
  134. package/src/jscommon/umychart.wechat/umychart.user.wechat.js +0 -588
  135. package/src/jscommon/umychart.wechat/umychart.userlog.wechat.js +0 -240
  136. package/src/jscommon/umychart.wechat/umychart.vedio.wechat.js +0 -112
  137. package/src/jscommon/umychart.wechat/umychart.version.wechat.js +0 -36
  138. package/src/jscommon/umychart.wechat/umychart.wechat.3.0.js +0 -12055
  139. package/src/jscommon/umychart.wechat/umychart.wechat.js +0 -15460
  140. package/src/jscommon/umychart.worker.js +0 -114
  141. package/src/jscommon/umychart.ws.stock.js +0 -110
  142. package/src/jscommon/umychart_python/.vscode/launch.json +0 -15
  143. package/src/jscommon/umychart_python/__init__.py +0 -4
  144. package/src/jscommon/umychart_python/build.cmd +0 -2
  145. package/src/jscommon/umychart_python/setup.py +0 -25
  146. package/src/jscommon/umychart_python/umychart_cache_testcase.py +0 -165
  147. package/src/jscommon/umychart_python/umychart_complier_data.py +0 -781
  148. package/src/jscommon/umychart_python/umychart_complier_help.py +0 -175
  149. package/src/jscommon/umychart_python/umychart_complier_job.py +0 -193
  150. package/src/jscommon/umychart_python/umychart_complier_jsalgorithm.py +0 -4144
  151. package/src/jscommon/umychart_python/umychart_complier_jscomplier.py +0 -177
  152. package/src/jscommon/umychart_python/umychart_complier_jsexecute.py +0 -517
  153. package/src/jscommon/umychart_python/umychart_complier_jsparser.py +0 -864
  154. package/src/jscommon/umychart_python/umychart_complier_jssymboldata.py +0 -1238
  155. package/src/jscommon/umychart_python/umychart_complier_jssymboldata_cache.py +0 -146
  156. package/src/jscommon/umychart_python/umychart_complier_jssymboldata_json.py +0 -106
  157. package/src/jscommon/umychart_python/umychart_complier_pandas_help.py +0 -80
  158. package/src/jscommon/umychart_python/umychart_complier_scanner.py +0 -554
  159. package/src/jscommon/umychart_python/umychart_complier_testcase.py +0 -362
  160. package/src/jscommon/umychart_python/umychart_complier_util.py +0 -30
  161. package/src/jscommon/umychart_python/umychart_webtemplate.py +0 -131
  162. package/src/jscommon/umychart_python/updatehqchartweb.bat +0 -5
  163. package/src/jscommon/vendor.js +0 -2
  164. package/src/pages/block.list.demo.page/App.vue +0 -117
  165. package/src/pages/block.list.demo.page/index.js +0 -12
  166. package/src/pages/brushTool.demo.page/App.vue +0 -19
  167. package/src/pages/brushTool.demo.page/index.js +0 -12
  168. package/src/pages/container.demo.page/App.vue +0 -118
  169. package/src/pages/container.demo.page/index.js +0 -18
  170. package/src/pages/dataZoom.demo.page/App.vue +0 -265
  171. package/src/pages/dataZoom.demo.page/components/dataZoom.vue +0 -303
  172. package/src/pages/dataZoom.demo.page/index.js +0 -12
  173. package/src/pages/historydayline.demo.page/App.vue +0 -57
  174. package/src/pages/historydayline.demo.page/index.js +0 -12
  175. package/src/pages/hq.demo.page/App.vue +0 -163
  176. package/src/pages/hq.demo.page/index.js +0 -12
  177. package/src/pages/hqchart.black/App.vue +0 -90
  178. package/src/pages/hqchart.black/components/searchsymbol.vue +0 -299
  179. package/src/pages/hqchart.black/components/stockdrawtool.vue +0 -300
  180. package/src/pages/hqchart.black/components/stockfull.vue +0 -313
  181. package/src/pages/hqchart.black/components/stockinfo.vue +0 -428
  182. package/src/pages/hqchart.black/components/stockkline.demo.vue +0 -1652
  183. package/src/pages/hqchart.black/components/stocktradeinfo.vue +0 -1337
  184. package/src/pages/hqchart.black/index.js +0 -30
  185. package/src/pages/hqchart.black/router/candlestickChart.vue +0 -108
  186. package/src/pages/hqchart.black/router/pricePointsTable.vue +0 -294
  187. package/src/pages/hqchart.black/router/stockDeallas.vue +0 -417
  188. package/src/pages/hqchart.black/router/timeShareChart.vue +0 -108
  189. package/src/pages/hqchart.page/App.vue +0 -101
  190. package/src/pages/hqchart.page/index.js +0 -18
  191. package/src/pages/index/App.vue +0 -1408
  192. package/src/pages/index/index.js +0 -7
  193. package/src/pages/indexHq/App.vue +0 -110
  194. package/src/pages/indexHq/index.js +0 -18
  195. package/src/pages/login.demo.page/App.vue +0 -22
  196. package/src/pages/login.demo.page/index.js +0 -12
  197. package/src/pages/queryContent.demo.page/App.vue +0 -29
  198. package/src/pages/queryContent.demo.page/index.js +0 -18
  199. package/src/pages/ranking.black/App.vue +0 -199
  200. package/src/pages/ranking.black/index.js +0 -18
  201. package/src/pages/search.demo.page/App.vue +0 -28
  202. package/src/pages/search.demo.page/index.js +0 -12
  203. package/src/pages/simulatetrade.demo.page/app.vue +0 -121
  204. package/src/pages/simulatetrade.demo.page/index.js +0 -17
  205. package/src/pages/stockdeal.demo.page/App.vue +0 -63
  206. package/src/pages/stockdeal.demo.page/index.js +0 -19
  207. package/src/pages/stockdealcount.demo.page/App.vue +0 -37
  208. package/src/pages/stockdealcount.demo.page/index.js +0 -12
  209. package/src/pages/stockdeallastest.demo.page/App.vue +0 -74
  210. package/src/pages/stockdeallastest.demo.page/index.js +0 -18
  211. package/src/pages/stockinfo.demo.page/App.vue +0 -92
  212. package/src/pages/stockinfo.demo.page/index.html +0 -13
  213. package/src/pages/stockinfo.demo.page/index.js +0 -19
  214. package/src/pages/stockkline.demo.page/App.vue +0 -55
  215. package/src/pages/stockkline.demo.page/index.js +0 -18
  216. package/src/pages/stockmultiorder.demo.page/App.vue +0 -149
  217. package/src/pages/stockmultiorder.demo.page/index.js +0 -18
  218. package/src/pages/stockmultiperiod.demo.page/App.vue +0 -87
  219. package/src/pages/stockmultiperiod.demo.page/index.js +0 -18
  220. package/src/pages/stockorder.demo.page/App.vue +0 -69
  221. package/src/pages/stockorder.demo.page/index.js +0 -18
  222. package/src/pages/test/App.vue +0 -22
  223. package/src/pages/test/index.js +0 -7
  224. package/src/pages/tradeinfopage/app.vue +0 -40
  225. package/src/pages/tradeinfopage/index.js +0 -7
  226. package/src/pages/tradeinfopage/tradeinfo.html +0 -12
  227. package/src/utils/urlObj.js +0 -81
  228. package/src/vendor.js +0 -2
  229. package/webpack.config.js +0 -104
@@ -1,362 +0,0 @@
1
- # Copyright (c) 2018 jones
2
- #
3
- # http://www.apache.org/licenses/LICENSE-2.0
4
- #
5
- # 开源项目 https://github.com/jones2000/HQChart
6
- #
7
- # jones_2000@163.com
8
-
9
-
10
- import sys
11
- import codecs
12
- import webbrowser
13
- from umychart_complier_jscomplier import JSComplier, SymbolOption, HQ_DATA_TYPE
14
- from umychart_complier_jscomplier import ScriptIndexConsole, ScriptIndexItem, SymbolOption, RequestOption, HQ_DATA_TYPE, ArgumentItem
15
- from umychart_webtemplate import *
16
- from umychart_complier_pandas_help import JSComplierPandasHelper
17
- from umychart_complier_jssymboldata import JSSymbolData
18
-
19
- class TestCase :
20
- def __init__(self, code, option=SymbolOption()) :
21
- self.Code=code
22
- self.Option=option
23
- def Run(self):
24
- testCode=''
25
- for item in self.Code:
26
- testCode+=item
27
- testCode+='\n'
28
-
29
- result=JSComplier.Execute(testCode,self.Option)
30
- return True if result else False
31
-
32
-
33
- def Test_Tokenize():
34
- code1='VARHIGH:=IF(VAR1<=REF(HH,-1),REF(H,BARSLAST(VAR1>=REF(HH,1))),DRAWNULL),COLORYELLOW;'
35
- code2='VAR1=((SMA(MAX((CLOSE - LC),0),3,1) / SMA(ABS((CLOSE - LC)),3,1)) * 100);'
36
- tokens=JSComplier.Tokenize(code1+code2)
37
- return True if tokens else False
38
-
39
- def Test_Parse():
40
- code1='VARHIGH:=IF(VAR1<=REF(HH,-1),REF(H,BARSLAST(VAR1>=REF(HH,1))),DRAWNULL),COLORYELLOW;'
41
- code2='VAR1=((SMA(MAX((CLOSE - LC),0),3,1) / SMA(ABS((CLOSE - LC)),3,1)) * 100);'
42
- ast=JSComplier.Parse(code1+code2)
43
- return True if ast else False
44
-
45
- def Test_REF():
46
- result=JSComplier.Execute('VAR2:C-REF(O,1)')
47
- return True if result else False
48
-
49
- def Test_Add() :
50
- result=JSComplier.Execute('VAR2:C+100')
51
- return True if result else False
52
-
53
- def Test_Multiply():
54
- code=[
55
- 'VAR2:C*O;',
56
- "VAR3:100*100;"
57
- ]
58
- result=JSComplier.Execute(code[0]+code[1])
59
- return True if result else False
60
-
61
-
62
- def Test_MAX_MIN():
63
- code=[
64
- 'VAR2:MAX(C,O);',
65
- "VAR3:MAX(C,100);",
66
- "VAR4:MAX(100,C);",
67
- 'VAR5:MIN(C,O);',
68
- 'VAR5:MIN(C,4);'
69
- ]
70
- result=JSComplier.Execute(code[0]+code[1]+code[2]+code[4]+code[3])
71
- return True if result else False
72
-
73
- def Test_MA() :
74
- code=[
75
- 'VAR2:MA(C,5);',
76
- 'VAR3:MA(C,10);',
77
- 'VAR4:MA(C,15);',
78
- 'VAR4:MA(C,30);',
79
- 'VAR4:MA(C,33);',
80
- ]
81
-
82
- result=JSComplier.Execute(code[0]+code[1]+code[2]+code[3])
83
- return True if result else False
84
-
85
- def Test_EMA():
86
- code=[
87
- 'VAR2:EMA(C,5);',
88
- 'VAR3:EMA(C,10);',
89
- 'VAR4:EMA(C,15);',
90
- 'VAR4:EMA(C,30);',
91
- ]
92
- result=JSComplier.Execute(code[0]+code[1]+code[2]+code[3])
93
- return True if result else False
94
-
95
- def Test_SMA():
96
- code=[
97
- 'VAR2:SMA(C,5,10);',
98
- 'VAR3:SMA(C,10,10);',
99
- 'VAR4:SMA(C,15,10);',
100
- 'VAR4:SMA(C,30,10);',
101
- ]
102
- result=JSComplier.Execute(code[0]+code[1]+code[2]+code[3])
103
- return True if result else False
104
-
105
- def Test_DMA():
106
- code=[
107
- 'VAR3:C;',
108
- 'VAR2:DMA(C,O/C);',
109
- ]
110
- result=JSComplier.Execute(code[0]+code[1])
111
- return True if result else False
112
-
113
- def Test_WMA() :
114
- code=[
115
- 'VAR3:C;',
116
- 'VAR2:WMA(C,20);',
117
- ]
118
- result=JSComplier.Execute(code[0]+code[1])
119
- return True if result else False
120
-
121
- def Test_SUMBARS() :
122
- code=[
123
- 'VAR3:SUMBARS(C,O)',
124
- 'VAR2:C;',
125
- ]
126
-
127
- option=SymbolOption()
128
- option.Symbol='000001.sz'
129
- option.HQDataType=HQ_DATA_TYPE.MINUTE_ID
130
- result=JSComplier.Execute(code[0]+code[1],option)
131
- return True if result else False
132
-
133
- def Test_INDEX():
134
- code=[
135
- 'VAR3:INDEXA;',
136
- 'VAR2:INDEXC;',
137
- 'VAR2:INDEXO;',
138
- ]
139
-
140
- option=SymbolOption()
141
- option.Period=5
142
-
143
- result=JSComplier.Execute(code[0]+code[1]+code[2],option)
144
- return True if result else False
145
-
146
- def Test_COUNT():
147
- code=[
148
- 'VAR3:COUNT(C,5);',
149
- 'VAR2:COUNT(O,10);',
150
- 'VAR2:COUNT(H,20);',
151
- ]
152
-
153
- option=SymbolOption()
154
-
155
- result=JSComplier.Execute(code[0]+code[1]+code[2],option)
156
- return True if result else False
157
-
158
- def Test_HHV_HHL() :
159
- case =TestCase(
160
- code=[
161
- 'VAR3:HHV(C,5);',
162
- 'VAR2:HHV(O,10);',
163
- 'VAR2:HHV(H,20);',
164
- 'VAR3:LLV(H,5);',
165
- 'VAR4:LLV(H,10);',
166
- ])
167
-
168
- result=case.Run()
169
- return result
170
-
171
- def Test_STD():
172
- case =TestCase(
173
- code=[
174
- 'VAR3:STD(C,5);',
175
- 'VAR2:STD(O,10);',
176
- 'VAR2:STD(H,20);',
177
- 'VAR3:STD(H,15);',
178
- 'VAR4:STD(H,0);',
179
- ])
180
-
181
- result=case.Run()
182
- return result
183
-
184
- def Test_AVEDEV():
185
- case =TestCase(
186
- code=[
187
- 'VAR3:AVEDEV(C,5);',
188
- 'VAR2:AVEDEV(O,10);',
189
- 'VAR2:AVEDEV(H,20);',
190
- 'VAR3:AVEDEV(H,15);',
191
- 'VAR4:AVEDEV(H,0);',
192
- ])
193
-
194
- result=case.Run()
195
- return result
196
-
197
- def Test_CROSS() :
198
- case =TestCase(
199
- code=[
200
- 'VAR3:CROSS(C,O);',
201
- 'VAR2:CROSS(O,10);',
202
- 'VAR2:CROSS(O,C);',
203
- ])
204
-
205
- result=case.Run()
206
- return result
207
-
208
- def Test_MULAR() :
209
- case =TestCase(
210
- code=[
211
- 'VAR3:MULAR(C,5);',
212
- 'VAR2:MULAR(O,10);',
213
- 'VAR2:MULAR(O,30);',
214
- ])
215
-
216
- result=case.Run()
217
- return result
218
-
219
-
220
- def Test_SUM() :
221
- case =TestCase(
222
- code=[
223
- 'VAR3:SUM(C,5);',
224
- 'VAR2:SUM(O,0);',
225
- 'VAR2:BARSCOUNT(O);',
226
- ])
227
-
228
- result=case.Run()
229
- return result
230
-
231
-
232
- def Test_DEVSQ():
233
- case =TestCase(
234
- code=[
235
- 'VAR3:DEVSQ(C,5);',
236
- 'VAR2:DEVSQ(O,0);',
237
- 'VAR2:DEVSQ(O,5);',
238
- ])
239
-
240
- result=case.Run()
241
- return result
242
-
243
- def Test_FINANCE(): # 财务数据测试
244
- case =TestCase(
245
- code=[
246
- 'DRAWLINE(HIGH>=HHV(HIGH,20),HIGH,LOW<=LLV(LOW,20),LOW,1);'
247
- 'VAR4:CAPITAL;',
248
- 'VAR3:FINANCE(32);',
249
- 'VAR2:FINANCE(1);',
250
- 'VAR2:MA(FINANCE(33),5);',
251
- "DRAWTEXT(C<=O,O,'xxxx');",
252
- 'STICKLINE(CLOSE>OPEN, CLOSE, OPEN, 0.8, 1);',
253
- 'DRAWNUMBER(CLOSE/OPEN>1.0001,LOW,C);',
254
- 'DRAWNUMBER(CLOSE/OPEN>1.0001,LOW,33);',
255
- 'DRAWICON(CLOSE>OPEN,LOW,1);',
256
- 'PLOYLINE(HIGH>=HHV(HIGH,20),HIGH);',
257
- 'CYW: SUM(VAR4,10)/10000, COLORSTICK;',
258
- "DRAWCHANNEL(C>O,C,O,'rgb(20,20,20)',1,'3,4','rgb(40,40,40)');",
259
- 'SAR(10,2,20);',
260
- 'BACKSET(CLOSE>OPEN,2);',
261
- 'TT:DYNAINFO(13);',
262
- 'T2:MARGIN(1);',
263
- 'T5:MARGIN(6);',
264
- "上涨家数:UPCOUNT('CNA.CI'),COLORRED;",
265
- "下跌家数:DOWNCOUNT('CNA.CI'),COLORGREEN;",
266
- "TTTT:NEWS(2)+NEWS(4);",
267
- "TTT2:NEWS(1);",
268
- 'TT4:WINNER(CLOSE);',
269
- 'TT5:COST(10);',
270
- ])
271
-
272
- result=case.Run()
273
- return result
274
-
275
- # 派生数据类 重写的自己需要数据
276
- class MySymbolData(JSSymbolData):
277
- pass
278
-
279
- # 创建自己的数据类
280
- def CreateMySymbolData(ast, option=None, procThrow=None):
281
- obj=MySymbolData(ast,option,procThrow)
282
- return obj
283
-
284
-
285
- def Test_ScriptIndexConsole():
286
-
287
- # 创建脚本, 及参数
288
- scpritInfo=ScriptIndexItem(name='我的MA指标', id=888888,
289
- script= # 指标脚本代码
290
- 'V9:TROUGHBARS(3,15,1)<10;\n'
291
- 'T1:PEAKBARS(3,15,1)<10;\n',
292
- args=[ ArgumentItem(name='M1', value=5), ArgumentItem(name='M2', value=10), ArgumentItem(name='M3', value=20) ] # 参数
293
- )
294
-
295
- indexConsole = ScriptIndexConsole(scpritInfo)
296
-
297
- option = SymbolOption(
298
- symbol='000001.sz',
299
- right=1, # 复权 0 不复权 1 前复权 2 后复权
300
- period=0, # 周期 0=日线 1=周线 2=月线 3=年线 4=1分钟 5=5分钟 6=15分钟 7=30分钟 8=60分钟
301
- request=RequestOption(maxDataCount=500,maxMinuteDayCount=3)
302
- )
303
- option.ProcCreateSymbolData=CreateMySymbolData
304
- result=indexConsole.ExecuteScript(option)
305
-
306
- if result.Error :
307
- print(result.Error)
308
- return
309
-
310
- print('run successfully.')
311
- JSComplierPandasHelper.ToDateTimeSeries(result) # 转化为pandas Series 数据格式
312
- JSComplierPandasHelper.ToDataFrame(result) # 转化为pandas DataFrame 数据格式
313
-
314
- jsonData=result.ToJson()
315
- varName='jsonData' # 数据变量名字
316
-
317
- HQChartOption= """g_KLineOption={
318
- Symbol:'%(symbol)s', //股票代码
319
- Right:%(right)d, //复权
320
- Period:%(period)d, //周期
321
-
322
- Windows:
323
- [
324
- { Modify:false,Change:false,
325
- Local:
326
- {
327
- Data:%(varName)s, //py执行以后的json数据
328
- Type:'LocalJsonDataIndex' ,
329
- Name:'%(name)s', //指标名字
330
- Args:[ //指标参数
331
- { Name: '%(arg1)s', Value: %(argvalue1)d },
332
- { Name: '%(arg2)s', Value: %(argvalue2)d },
333
- { Name: '%(arg3)s', Value: %(argvalue3)d }]
334
- }
335
- },
336
- //{Index:"VOL", Modify:false,Change:false},
337
- ]
338
- }
339
- """ %{"symbol":option.Symbol,'right':option.Right, 'period':option.Period, 'varName':varName, 'name':scpritInfo.Name,
340
- 'arg1':scpritInfo.Arguments[0].Name, 'argvalue1': scpritInfo.Arguments[0].Value,
341
- 'arg2':scpritInfo.Arguments[1].Name, 'argvalue2': scpritInfo.Arguments[1].Value,
342
- 'arg3':scpritInfo.Arguments[2].Name, 'argvalue3': scpritInfo.Arguments[2].Value }
343
-
344
- localJsonData= varName + '=' + jsonData + '\n'
345
- filePath='data.html'
346
- # 生成图形化页面
347
- with codecs.open(filePath,'w',"utf-8") as file:
348
- file.write(HTML_PART1)
349
- file.write(localJsonData)
350
- file.write(HQChartOption)
351
- file.write(HTML_PART_END)
352
- file.close()
353
-
354
- webbrowser.open(filePath,new = 1)
355
-
356
-
357
- #Test_Add()
358
- #Test_Multiply()
359
- #Test_MAX_MIN()
360
- #Test_FINANCE()
361
-
362
- Test_ScriptIndexConsole()
@@ -1,30 +0,0 @@
1
- # Copyright (c) 2018 jones
2
- #
3
- # http://www.apache.org/licenses/LICENSE-2.0
4
- #
5
- # 开源项目 https://github.com/jones2000/HQChart
6
- #
7
- # jones_2000@163.com
8
-
9
-
10
- ###########################################################################
11
- #
12
- #
13
- #
14
- ##########################################################################
15
-
16
- import sys
17
-
18
- #不同版本字符串操作函数
19
- PY3 = sys.version_info >= (3, 0)
20
- print ('[UMyChart.Complier] only support pythone 3. current version is ', sys.version_info)
21
-
22
- if PY3: # Python 3:
23
- basestring = str
24
- long = int
25
- xrange = range
26
- unicode = str
27
- uchr = chr
28
-
29
- def uord(ch):
30
- return ord(ch[0])
@@ -1,131 +0,0 @@
1
-
2
- HTML_PART1="""<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
3
- <html xmlns='http://www.w3.org/1999/xhtml'>
4
- <head>
5
- <meta http-equiv='Content-Type' content='text/html; charset=utf-8' />
6
- <meta name='viewport' content='width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no' />
7
- <title>HQChart-Py可视化</title>
8
- <!-- 加载资源 -->
9
- <link rel='stylesheet' href='hqchart/umychart.resource/css/tools.css' />
10
- <link rel='stylesheet' href='hqchart/umychart.resource/font/iconfont.css' />
11
- <link rel="stylesheet" href="hqchart/umychart.resource/css/python_demo.css" />
12
- </head>
13
- <body>
14
-
15
- <script src='hqchart/umychart.resource/js/jquery.min.js'></script>
16
- <script src='hqchart/umychart.resource/js/webfont.js'></script>
17
- <script src="hqchart/umychart.resource/js/python_demo.js"></script>
18
- <script src="hqchart/umychart.network.js"></script>
19
- <script src='hqchart/umychart.js'></script> <!-- K线图形 -->
20
- <script src='hqchart/umychart.complier.js'></script> <!-- 麦语言解析执行器 -->
21
- <script src='hqchart/umychart.index.data.js'></script> <!-- 基础指标库 -->
22
- <script src='hqchart/umychart.style.js'></script> <!-- 白色风格和黑色风格配置信息 -->
23
-
24
- <div class="tabNav" id='demoTabNav'>
25
- <p class='active' data-index='0'>k线图</p>
26
- <p data-index='1'>数据</p>
27
- </div>
28
- <div id="kline" style="width: 900px;height:400px;position: relative;"></div>
29
- <div id='divDataWrap'>
30
- <div class='headerWrap'>
31
- <table>
32
- <thead></thead>
33
- </table>
34
- </div>
35
- <div class="bodyWrap">
36
- <table>
37
- <tbody></tbody>
38
- </table>
39
- </div>
40
- </div>
41
-
42
- <script>
43
-
44
- //简单的把K线控件封装下
45
- function KLineChart(divKLine)
46
- {
47
- this.DivKLine=divKLine;
48
- this.Chart=JSChart.Init(divKLine); //把K线图绑定到一个Div上
49
- this.Barrage; //弹幕输出控制器
50
-
51
- //K线配置信息
52
- this.Option= {
53
- Type:'历史K线图', //创建图形类型
54
-
55
- //窗口指标
56
- Windows:g_KLineOption.Windows,
57
- Symbol:g_KLineOption.Symbol,
58
- IsAutoUpdate:false, //是自动更新数据
59
-
60
- IsShowRightMenu:false, //右键菜单
61
- IsShowCorssCursorInfo:true, //是否显示十字光标的刻度信息
62
- CorssCursorTouchEnd:false,
63
-
64
- KLine: //K线设置
65
- {
66
- DragMode:1, //拖拽模式 0 禁止拖拽 1 数据拖拽 2 区间选择
67
- Right:g_KLineOption.Right, //复权 0 不复权 1 前复权 2 后复权
68
- Period:g_KLineOption.Period, //周期 0 日线 1 周线 2 月线 3 年线
69
- MaxReqeustDataCount:1000, //数据个数
70
- MaxRequestMinuteDayCount:10, //分钟数据取5天
71
- PageSize:50, //一屏显示多少数据
72
- //Info:["互动易","大宗交易",'龙虎榜',"调研","业绩预告","公告"], //信息地雷
73
- IsShowTooltip:true, //是否显示K线提示信息
74
- },
75
-
76
- KLineTitle: //标题设置
77
- {
78
- IsShowName:true, //不显示股票名称
79
- IsShowSettingInfo:true //不显示周期/复权
80
- },
81
-
82
- Border: //边框
83
- {
84
- Left:80, //左边间距
85
- Right:80, //右边间距
86
- Bottom:25, //底部间距
87
- Top:25 //顶部间距
88
- },
89
-
90
- Frame: //子框架设置
91
- [
92
- {SplitCount:3,StringFormat:0, IsShowLeftText:true},
93
- {SplitCount:2,StringFormat:0, IsShowLeftText:true},
94
- {SplitCount:2,StringFormat:0, IsShowLeftText:true}
95
- ]
96
- };
97
-
98
- this.Create=function() //创建图形
99
- {
100
- var self=this;
101
- $(window).resize(function() { self.OnSize(); }); //绑定窗口大小变化事件
102
-
103
- this.OnSize(); //让K线全屏
104
- this.Chart.SetOption(this.Option); //设置K线配置
105
- }
106
-
107
- this.OnSize=function() //自适应大小调整
108
- {
109
- var height = $(window).height();
110
- var width = $(window).width();
111
- var klineHeight = height - $('#demoTabNav').outerHeight(true);
112
- this.DivKLine.style.top = 'px';
113
- this.DivKLine.style.left = 'px';
114
- this.DivKLine.style.width = width + 'px';
115
- this.DivKLine.style.height = klineHeight + 'px';
116
- this.Chart.OnSize();
117
- }
118
- }
119
-
120
- $(function ()
121
- {
122
- WebFont.load({ custom: { families: ['iconfont'] } }); //预加载下iconfont资源
123
- var klineControl=new KLineChart(document.getElementById('kline'));
124
- klineControl.Create();
125
- })
126
- """
127
-
128
-
129
- HTML_PART_END="""</script>
130
- </body>
131
- </html>"""
@@ -1,5 +0,0 @@
1
- copy ..\umychart.complier.js hqchart\umychart.complier.js /y
2
- copy ..\umychart.index.data.js hqchart\umychart.index.data.js /y
3
- copy ..\umychart.js hqchart\umychart.js /y
4
- copy ..\umychart.style.js hqchart\umychart.style.js /y
5
- xcopy ..\umychart.resource hqchart\umychart.resource /s /y
@@ -1,2 +0,0 @@
1
- import Vue from 'vue'
2
- import ElementUI from 'element-ui'
@@ -1,117 +0,0 @@
1
- <template>
2
- <div class='blockWrap'>
3
- <div class="block">
4
- <ul>
5
- <li v-for='(item,index) in data1' :key='index' data-dataindex='1' @click='DeleteDOM' v-if='Data1Show'>{{item}}</li>
6
- </ul>
7
- </div>
8
- <div class="block">
9
- <ul>
10
- <li v-for='(item,index) in data2' :key='index' data-dataindex='2' v-if='Data2Show'>{{item}}</li>
11
- </ul>
12
- </div>
13
- <div class="block">
14
- <ul>
15
- <li v-for='(item,index) in data3' :key='index' data-dataindex='3' v-if='Data3Show'>{{item}}</li>
16
- </ul>
17
- </div>
18
- <div class="block">
19
- <ul>
20
- <li v-for='(item,index) in data4' :key='index' data-dataindex='4' v-if='Data4Show'>{{item}}</li>
21
- </ul>
22
- </div>
23
- <button type="button" @click='AddDOM'>添加一块</button>
24
- </div>
25
- </template>
26
-
27
-
28
-
29
-
30
-
31
- <script>
32
- export default {
33
- data() {
34
- return {
35
- data1: ['aa', 'bb', 'cc', 'dd'],
36
- data2: ['11', 'bb', 'cc', 'dd'],
37
- data3: ['!!', 'bb', 'cc', 'dd'],
38
- data4: ['**', 'bb', 'cc', 'dd'],
39
- AddBlockData:null,
40
- Data1Show:true,
41
- Data2Show:true,
42
- Data3Show:true,
43
- Data4Show:true,
44
- CurrentShow:null
45
- }
46
- },
47
-
48
- props: [],
49
-
50
- //创建
51
- created: function () {
52
- var data1 = ['aa', 'bb', 'cc', 'dd'];
53
- var data2 = ['11', 'bb', 'cc', 'dd'];
54
- var data3 = ['!!', 'bb', 'cc', 'dd'];
55
- var data4 = ['**', 'bb', 'cc', 'dd'];
56
- },
57
-
58
- mounted: function () {
59
-
60
- },
61
-
62
- methods: {
63
- DeleteDOM(event){
64
- var blockIndex = event.target.dataset.dataindex;
65
- var showName = `Data${blockIndex}Show`;
66
-
67
- },
68
- }
69
- }
70
- </script>
71
-
72
- <style scoped lang='less'>
73
- * {
74
- margin: 0;
75
- padding: 0;
76
- }
77
-
78
- .blockWrap {
79
- font: 14px 'Simsun';
80
-
81
- .block {
82
- float: left;
83
- width: 200px;
84
- height: 200px;
85
- border: 1px solid #ccc;
86
- margin: 10px;
87
- }
88
-
89
- .block:nth-child(1) {
90
- background-color: red;
91
- opacity: 0.5;
92
- }
93
-
94
- .block:nth-child(2) {
95
- background-color: green;
96
- opacity: 0.5;
97
- }
98
-
99
- .block:nth-child(3) {
100
- background-color: yellow;
101
- opacity: 0.5;
102
- }
103
-
104
- .block:nth-child(4) {
105
- background-color: blue;
106
- opacity: 0.5;
107
- }
108
- }
109
-
110
- .blockWrap::after {
111
- content: '';
112
- width: 0;
113
- height: 0;
114
- display: block;
115
- clear: both;
116
- }
117
- </style>
@@ -1,12 +0,0 @@
1
- import Promise from 'promise-polyfill'
2
- import Vue from 'vue'
3
- import App from './App.vue'
4
-
5
- if (!window.Promise) {
6
- window.Promise = Promise;
7
- }
8
-
9
- new Vue({
10
- el: '#app',
11
- render: h => h(App)
12
- })
@@ -1,19 +0,0 @@
1
- <template>
2
- <div id="drawTool">
3
- <Stockdrawtool></Stockdrawtool>
4
- </div>
5
- </template>
6
-
7
- <script>
8
- import Stockdrawtool from "../../jscommon/umychart.vue.components/stockdrawtool.vue";
9
- export default {
10
- components: {
11
- Stockdrawtool
12
- },
13
- data() {
14
- return {};
15
- },
16
- mounted: function() {},
17
- methods: {}
18
- };
19
- </script>
@@ -1,12 +0,0 @@
1
- import Promise from 'promise-polyfill'
2
- import Vue from 'vue'
3
- import App from './App.vue'
4
-
5
- if (!window.Promise) {
6
- window.Promise = Promise;
7
- }
8
-
9
- new Vue({
10
- el: '#app',
11
- render: h => h(App)
12
- })