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