hqchart 1.1.12687 → 1.1.12706

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 (228) hide show
  1. package/lib/umychart.vue.js +94 -50
  2. package/package.json +15 -47
  3. package/src/jscommon/umychart.resource/js/codemirror/javascript.js +1 -1
  4. package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +409 -115
  5. package/src/jscommon/umychart.vue/umychart.vue.js +409 -115
  6. package/.babelrc +0 -6
  7. package/.vscode/settings.json +0 -4
  8. package/Makefile +0 -9
  9. package/README.md +0 -452
  10. package/index.js +0 -17
  11. package/postcss.config.js +0 -5
  12. package/src/index.html +0 -18
  13. package/src/jscommon/backup/announcement.png +0 -0
  14. package/src/jscommon/backup/announcement2.png +0 -0
  15. package/src/jscommon/backup/blocktrading.png +0 -0
  16. package/src/jscommon/backup/investor.png +0 -0
  17. package/src/jscommon/backup/pforecast.png +0 -0
  18. package/src/jscommon/backup/research.png +0 -0
  19. package/src/jscommon/backup/tradedetail.png +0 -0
  20. package/src/jscommon/backup/umychart - backup.js +0 -17631
  21. package/src/jscommon/backup/umychart.macro.js +0 -4
  22. package/src/jscommon/backup/umychart.macro.vue.js +0 -3
  23. package/src/jscommon/commonindextree.json +0 -92
  24. package/src/jscommon/index.html +0 -13
  25. package/src/jscommon/jschinamapdata.js +0 -3
  26. package/src/jscommon/umychart.NetworkFilterTest.js +0 -48803
  27. package/src/jscommon/umychart.aliYunnetwork.js +0 -47
  28. package/src/jscommon/umychart.cninfo.components/readme.txt +0 -1
  29. package/src/jscommon/umychart.complier.js +0 -25291
  30. package/src/jscommon/umychart.complier.node/umychart.complier.controller.js +0 -559
  31. package/src/jscommon/umychart.complier.node/umychart.complier.node.js +0 -7043
  32. package/src/jscommon/umychart.complier.node/umychart.data.node.js +0 -816
  33. package/src/jscommon/umychart.console.js +0 -12
  34. package/src/jscommon/umychart.deal.js +0 -1452
  35. package/src/jscommon/umychart.dragdiv.js +0 -48
  36. package/src/jscommon/umychart.index.data.js +0 -4132
  37. package/src/jscommon/umychart.js +0 -90257
  38. package/src/jscommon/umychart.keyboard.js +0 -1659
  39. package/src/jscommon/umychart.listctrl.js +0 -690
  40. package/src/jscommon/umychart.mind.js +0 -2203
  41. package/src/jscommon/umychart.network.js +0 -44
  42. package/src/jscommon/umychart.news.js +0 -823
  43. package/src/jscommon/umychart.node.build/buildall.bat +0 -1
  44. package/src/jscommon/umychart.node.build/umychart.node.bat +0 -1
  45. package/src/jscommon/umychart.node.build/umychart.node.export.js +0 -40
  46. package/src/jscommon/umychart.regressiontest.js +0 -400
  47. package/src/jscommon/umychart.report.js +0 -5803
  48. package/src/jscommon/umychart.scrollbar.js +0 -1345
  49. package/src/jscommon/umychart.stock.js +0 -4218
  50. package/src/jscommon/umychart.style.js +0 -618
  51. package/src/jscommon/umychart.testdata.js +0 -150
  52. package/src/jscommon/umychart.uniapp.build/buildall.bat +0 -1
  53. package/src/jscommon/umychart.uniapp.build/umychart.bat +0 -1
  54. package/src/jscommon/umychart.uniapp.build/umychart.export.js +0 -70
  55. package/src/jscommon/umychart.user.js +0 -137
  56. package/src/jscommon/umychart.version.js +0 -30
  57. package/src/jscommon/umychart.vue/umychart.aliYunnetwork.vue.js +0 -56
  58. package/src/jscommon/umychart.vue.build/buildall.bat +0 -4
  59. package/src/jscommon/umychart.vue.build/copy_codemirror.bat +0 -2
  60. package/src/jscommon/umychart.vue.build/umychart.aliYunnetwork.vue.export.js +0 -9
  61. package/src/jscommon/umychart.vue.build/umychart.dragdiv.bat +0 -1
  62. package/src/jscommon/umychart.vue.build/umychart.dragdiv.export.js +0 -6
  63. package/src/jscommon/umychart.vue.build/umychart.index.data.bat +0 -1
  64. package/src/jscommon/umychart.vue.build/umychart.index.data.export.js +0 -4
  65. package/src/jscommon/umychart.vue.build/umychart.listctrl.vue.export.js +0 -15
  66. package/src/jscommon/umychart.vue.build/umychart.regressiontest.vue.export.js +0 -7
  67. package/src/jscommon/umychart.vue.build/umychart.regressiontest.wechat.export.js +0 -12
  68. package/src/jscommon/umychart.vue.build/umychart.stock.bat +0 -1
  69. package/src/jscommon/umychart.vue.build/umychart.stock.vue.export.js +0 -16
  70. package/src/jscommon/umychart.vue.build/umychart.testdata.bat +0 -3
  71. package/src/jscommon/umychart.vue.build/umychart.testdata.vue.export.js +0 -7
  72. package/src/jscommon/umychart.vue.build/umychart.vue.bat +0 -8
  73. package/src/jscommon/umychart.vue.build/umychart.vue.export.js +0 -112
  74. package/src/jscommon/umychart.vue.components/empyt.vue +0 -51
  75. package/src/jscommon/umychart.vue.components/historydayline.vue +0 -240
  76. package/src/jscommon/umychart.vue.components/jsloader.adddialog.vue +0 -315
  77. package/src/jscommon/umychart.vue.components/jsloader.vue +0 -93
  78. package/src/jscommon/umychart.vue.components/jsvuecontainer.vue +0 -160
  79. package/src/jscommon/umychart.vue.components/jsvuecontainer2.0.vue +0 -391
  80. package/src/jscommon/umychart.vue.components/login.vue +0 -178
  81. package/src/jscommon/umychart.vue.components/queryContent.vue +0 -750
  82. package/src/jscommon/umychart.vue.components/readme.txt +0 -8
  83. package/src/jscommon/umychart.vue.components/searchsymbol.vue +0 -299
  84. package/src/jscommon/umychart.vue.components/simulatetrade.vue +0 -1471
  85. package/src/jscommon/umychart.vue.components/stockchart.vue +0 -343
  86. package/src/jscommon/umychart.vue.components/stockchartV2.vue +0 -195
  87. package/src/jscommon/umychart.vue.components/stockdeal.vue +0 -358
  88. package/src/jscommon/umychart.vue.components/stockdealcount.vue +0 -262
  89. package/src/jscommon/umychart.vue.components/stockdeallastest.vue +0 -316
  90. package/src/jscommon/umychart.vue.components/stockdrawtool.vue +0 -343
  91. package/src/jscommon/umychart.vue.components/stockfull.vue +0 -355
  92. package/src/jscommon/umychart.vue.components/stockinfo.demo.vue +0 -153
  93. package/src/jscommon/umychart.vue.components/stockinfo.vue +0 -685
  94. package/src/jscommon/umychart.vue.components/stockkline.demo.vue +0 -1904
  95. package/src/jscommon/umychart.vue.components/stockmultiorder.vue +0 -174
  96. package/src/jscommon/umychart.vue.components/stockmultiperiod.vue +0 -222
  97. package/src/jscommon/umychart.vue.components/stockorder.vue +0 -320
  98. package/src/jscommon/umychart.vue.components/stocktradeinfo.demo.vue +0 -250
  99. package/src/jscommon/umychart.vue.components/stocktradeinfo.vue +0 -1907
  100. package/src/jscommon/umychart.vue.components/test.vue +0 -0
  101. package/src/jscommon/umychart.wechat/getDate.wechat.js +0 -91
  102. package/src/jscommon/umychart.wechat/lighter.news.wechat.js +0 -262
  103. package/src/jscommon/umychart.wechat/readme.txt +0 -3
  104. package/src/jscommon/umychart.wechat/umychart.analyze.wechat.js +0 -551
  105. package/src/jscommon/umychart.wechat/umychart.apidraw.wechat.js +0 -126
  106. package/src/jscommon/umychart.wechat/umychart.bigV.wechat.js +0 -2510
  107. package/src/jscommon/umychart.wechat/umychart.chartframe.wechat.js +0 -2931
  108. package/src/jscommon/umychart.wechat/umychart.chartpaint.wechat.js +0 -9752
  109. package/src/jscommon/umychart.wechat/umychart.charttitle.wechat.js +0 -2023
  110. package/src/jscommon/umychart.wechat/umychart.complier.wechat.js +0 -14726
  111. package/src/jscommon/umychart.wechat/umychart.console.wechat.js +0 -8
  112. package/src/jscommon/umychart.wechat/umychart.coordinatedata.wechat.js +0 -3654
  113. package/src/jscommon/umychart.wechat/umychart.data.wechat.js +0 -2243
  114. package/src/jscommon/umychart.wechat/umychart.element.wechart.js +0 -132
  115. package/src/jscommon/umychart.wechat/umychart.explainer.wechat.js +0 -1077
  116. package/src/jscommon/umychart.wechat/umychart.extendchart.wechat.js +0 -1140
  117. package/src/jscommon/umychart.wechat/umychart.framesplit.wechat.js +0 -2247
  118. package/src/jscommon/umychart.wechat/umychart.hqIndexformula.wechat.js +0 -941
  119. package/src/jscommon/umychart.wechat/umychart.index.data.wechat.js +0 -3628
  120. package/src/jscommon/umychart.wechat/umychart.index.wechat.js +0 -4074
  121. package/src/jscommon/umychart.wechat/umychart.klineinfo.wechat.js +0 -836
  122. package/src/jscommon/umychart.wechat/umychart.markethot.js +0 -50
  123. package/src/jscommon/umychart.wechat/umychart.network.wechart.js +0 -62
  124. package/src/jscommon/umychart.wechat/umychart.news.wechat.js +0 -3568
  125. package/src/jscommon/umychart.wechat/umychart.regressiontest.wechat.js +0 -412
  126. package/src/jscommon/umychart.wechat/umychart.report.wechat.js +0 -3983
  127. package/src/jscommon/umychart.wechat/umychart.resource.wechat.js +0 -919
  128. package/src/jscommon/umychart.wechat/umychart.shareimage.wechat.js +0 -681
  129. package/src/jscommon/umychart.wechat/umychart.simulatetrade.wechat.js +0 -238
  130. package/src/jscommon/umychart.wechat/umychart.stock.wechat.js +0 -4035
  131. package/src/jscommon/umychart.wechat/umychart.style.wechat.js +0 -419
  132. package/src/jscommon/umychart.wechat/umychart.uniapp.canvas.helper.js +0 -99
  133. package/src/jscommon/umychart.wechat/umychart.user.wechat.js +0 -588
  134. package/src/jscommon/umychart.wechat/umychart.userlog.wechat.js +0 -240
  135. package/src/jscommon/umychart.wechat/umychart.vedio.wechat.js +0 -112
  136. package/src/jscommon/umychart.wechat/umychart.version.wechat.js +0 -36
  137. package/src/jscommon/umychart.wechat/umychart.wechat.3.0.js +0 -12051
  138. package/src/jscommon/umychart.wechat/umychart.wechat.js +0 -15460
  139. package/src/jscommon/umychart.worker.js +0 -114
  140. package/src/jscommon/umychart.ws.stock.js +0 -110
  141. package/src/jscommon/umychart_python/.vscode/launch.json +0 -15
  142. package/src/jscommon/umychart_python/__init__.py +0 -4
  143. package/src/jscommon/umychart_python/build.cmd +0 -2
  144. package/src/jscommon/umychart_python/setup.py +0 -25
  145. package/src/jscommon/umychart_python/umychart_cache_testcase.py +0 -165
  146. package/src/jscommon/umychart_python/umychart_complier_data.py +0 -781
  147. package/src/jscommon/umychart_python/umychart_complier_help.py +0 -175
  148. package/src/jscommon/umychart_python/umychart_complier_job.py +0 -193
  149. package/src/jscommon/umychart_python/umychart_complier_jsalgorithm.py +0 -4144
  150. package/src/jscommon/umychart_python/umychart_complier_jscomplier.py +0 -177
  151. package/src/jscommon/umychart_python/umychart_complier_jsexecute.py +0 -517
  152. package/src/jscommon/umychart_python/umychart_complier_jsparser.py +0 -864
  153. package/src/jscommon/umychart_python/umychart_complier_jssymboldata.py +0 -1238
  154. package/src/jscommon/umychart_python/umychart_complier_jssymboldata_cache.py +0 -146
  155. package/src/jscommon/umychart_python/umychart_complier_jssymboldata_json.py +0 -106
  156. package/src/jscommon/umychart_python/umychart_complier_pandas_help.py +0 -80
  157. package/src/jscommon/umychart_python/umychart_complier_scanner.py +0 -554
  158. package/src/jscommon/umychart_python/umychart_complier_testcase.py +0 -362
  159. package/src/jscommon/umychart_python/umychart_complier_util.py +0 -30
  160. package/src/jscommon/umychart_python/umychart_webtemplate.py +0 -131
  161. package/src/jscommon/umychart_python/updatehqchartweb.bat +0 -5
  162. package/src/jscommon/vendor.js +0 -2
  163. package/src/pages/block.list.demo.page/App.vue +0 -117
  164. package/src/pages/block.list.demo.page/index.js +0 -12
  165. package/src/pages/brushTool.demo.page/App.vue +0 -19
  166. package/src/pages/brushTool.demo.page/index.js +0 -12
  167. package/src/pages/container.demo.page/App.vue +0 -118
  168. package/src/pages/container.demo.page/index.js +0 -18
  169. package/src/pages/dataZoom.demo.page/App.vue +0 -265
  170. package/src/pages/dataZoom.demo.page/components/dataZoom.vue +0 -303
  171. package/src/pages/dataZoom.demo.page/index.js +0 -12
  172. package/src/pages/historydayline.demo.page/App.vue +0 -57
  173. package/src/pages/historydayline.demo.page/index.js +0 -12
  174. package/src/pages/hq.demo.page/App.vue +0 -163
  175. package/src/pages/hq.demo.page/index.js +0 -12
  176. package/src/pages/hqchart.black/App.vue +0 -90
  177. package/src/pages/hqchart.black/components/searchsymbol.vue +0 -299
  178. package/src/pages/hqchart.black/components/stockdrawtool.vue +0 -300
  179. package/src/pages/hqchart.black/components/stockfull.vue +0 -313
  180. package/src/pages/hqchart.black/components/stockinfo.vue +0 -428
  181. package/src/pages/hqchart.black/components/stockkline.demo.vue +0 -1652
  182. package/src/pages/hqchart.black/components/stocktradeinfo.vue +0 -1337
  183. package/src/pages/hqchart.black/index.js +0 -30
  184. package/src/pages/hqchart.black/router/candlestickChart.vue +0 -108
  185. package/src/pages/hqchart.black/router/pricePointsTable.vue +0 -294
  186. package/src/pages/hqchart.black/router/stockDeallas.vue +0 -417
  187. package/src/pages/hqchart.black/router/timeShareChart.vue +0 -108
  188. package/src/pages/hqchart.page/App.vue +0 -101
  189. package/src/pages/hqchart.page/index.js +0 -18
  190. package/src/pages/index/App.vue +0 -1408
  191. package/src/pages/index/index.js +0 -7
  192. package/src/pages/indexHq/App.vue +0 -110
  193. package/src/pages/indexHq/index.js +0 -18
  194. package/src/pages/login.demo.page/App.vue +0 -22
  195. package/src/pages/login.demo.page/index.js +0 -12
  196. package/src/pages/queryContent.demo.page/App.vue +0 -29
  197. package/src/pages/queryContent.demo.page/index.js +0 -18
  198. package/src/pages/ranking.black/App.vue +0 -199
  199. package/src/pages/ranking.black/index.js +0 -18
  200. package/src/pages/search.demo.page/App.vue +0 -28
  201. package/src/pages/search.demo.page/index.js +0 -12
  202. package/src/pages/simulatetrade.demo.page/app.vue +0 -121
  203. package/src/pages/simulatetrade.demo.page/index.js +0 -17
  204. package/src/pages/stockdeal.demo.page/App.vue +0 -63
  205. package/src/pages/stockdeal.demo.page/index.js +0 -19
  206. package/src/pages/stockdealcount.demo.page/App.vue +0 -37
  207. package/src/pages/stockdealcount.demo.page/index.js +0 -12
  208. package/src/pages/stockdeallastest.demo.page/App.vue +0 -74
  209. package/src/pages/stockdeallastest.demo.page/index.js +0 -18
  210. package/src/pages/stockinfo.demo.page/App.vue +0 -92
  211. package/src/pages/stockinfo.demo.page/index.html +0 -13
  212. package/src/pages/stockinfo.demo.page/index.js +0 -19
  213. package/src/pages/stockkline.demo.page/App.vue +0 -55
  214. package/src/pages/stockkline.demo.page/index.js +0 -18
  215. package/src/pages/stockmultiorder.demo.page/App.vue +0 -149
  216. package/src/pages/stockmultiorder.demo.page/index.js +0 -18
  217. package/src/pages/stockmultiperiod.demo.page/App.vue +0 -87
  218. package/src/pages/stockmultiperiod.demo.page/index.js +0 -18
  219. package/src/pages/stockorder.demo.page/App.vue +0 -69
  220. package/src/pages/stockorder.demo.page/index.js +0 -18
  221. package/src/pages/test/App.vue +0 -22
  222. package/src/pages/test/index.js +0 -7
  223. package/src/pages/tradeinfopage/app.vue +0 -40
  224. package/src/pages/tradeinfopage/index.js +0 -7
  225. package/src/pages/tradeinfopage/tradeinfo.html +0 -12
  226. package/src/utils/urlObj.js +0 -81
  227. package/src/vendor.js +0 -2
  228. 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
- })