hqchart 1.1.14211 → 1.1.14216

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 (70) hide show
  1. package/package.json +1 -1
  2. package/src/jscommon/umychart.testdata/60000.sh.NewsInteract.export.js +6 -0
  3. package/src/jscommon/umychart.testdata/60000.sh.TradeDetal.export.js +6 -0
  4. package/src/jscommon/umychart.testdata/60000.sh.capital.kline.export.js +6 -0
  5. package/src/jscommon/umychart.testdata/60000.sh.finance_7.export.js +6 -0
  6. package/src/jscommon/umychart.testdata/Day5Minute/000001.sz.5day.minute.export.js +6 -0
  7. package/src/jscommon/umychart.testdata/Day5Minute/000151.sz.5day.minute.export.js +6 -0
  8. package/src/jscommon/umychart.testdata/Day5Minute/600000.sh.5day.minute.export.js +6 -0
  9. package/src/jscommon/umychart.testdata/DayKLine/000001.sh.day.kline.export.js +6 -0
  10. package/src/jscommon/umychart.testdata/DayKLine/000001.sz.day.kline.export.js +6 -0
  11. package/src/jscommon/umychart.testdata/DayKLine/000151.sz.day.kline.export.js +6 -0
  12. package/src/jscommon/umychart.testdata/DayKLine/000300.sh.day.kline.export.js +6 -0
  13. package/src/jscommon/umychart.testdata/DayKLine/399001.sz.day.kline.export.js +6 -0
  14. package/src/jscommon/umychart.testdata/DayKLine/399005.sz.day.kline.export.js +6 -0
  15. package/src/jscommon/umychart.testdata/DayKLine/399006.sz.day.kline.export.js +6 -0
  16. package/src/jscommon/umychart.testdata/DayKLine/600000.sh.day.kline.export.js +6 -0
  17. package/src/jscommon/umychart.testdata/DayKLine/ICL8.cfe.day.kline.export.js +6 -0
  18. package/src/jscommon/umychart.testdata/DayKLine/IFL8.cfe.day.kline.export.js +6 -0
  19. package/src/jscommon/umychart.testdata/DayKLine/IML8.cfe.day.kline.export.js +6 -0
  20. package/src/jscommon/umychart.testdata/DayMinute/000001.sz.1day.minute.export.js +6 -0
  21. package/src/jscommon/umychart.testdata/DayMinute/000151.sz.1day.minute.export.js +6 -0
  22. package/src/jscommon/umychart.testdata/DayMinute/600000.sh.1day.minute.export.js +6 -0
  23. package/src/jscommon/umychart.testdata/M1KLine/000001.sh.minute.kline.export.js +6 -0
  24. package/src/jscommon/umychart.testdata/M1KLine/000001.sz.minute.kline.export.js +6 -0
  25. package/src/jscommon/umychart.testdata/M1KLine/000151.sz.minute.kline.export.js +6 -0
  26. package/src/jscommon/umychart.testdata/M1KLine/000300.sh.minute.kline.export.js +6 -0
  27. package/src/jscommon/umychart.testdata/M1KLine/399001.sz.minute.kline.export.js +6 -0
  28. package/src/jscommon/umychart.testdata/M1KLine/399005.sz.minute.kline.export.js +6 -0
  29. package/src/jscommon/umychart.testdata/M1KLine/399006.sz.minute.kline.export.js +6 -0
  30. package/src/jscommon/umychart.testdata/M1KLine/600000.sh.minute.kline.export.js +6 -0
  31. package/src/jscommon/umychart.testdata/M1KLine/ICL8.cfe.minute.kline.export.js +6 -0
  32. package/src/jscommon/umychart.testdata/M1KLine/IFL8.cfe.minute.kline.export.js +6 -0
  33. package/src/jscommon/umychart.testdata/M1KLine/IML8.cfe.minute.kline.export.js +6 -0
  34. package/src/jscommon/umychart.testdata/shsz_stock_data.export.js +6 -0
  35. package/src/jscommon/umychart.testdata/symbollist_shsz.export.js +6 -0
  36. package/src/jscommon/umychart.vue.testdataV2/60000.sh.NewsInteract.js +6964 -0
  37. package/src/jscommon/umychart.vue.testdataV2/60000.sh.TradeDetal.js +63 -0
  38. package/src/jscommon/umychart.vue.testdataV2/60000.sh.capital.kline.js +228 -0
  39. package/src/jscommon/umychart.vue.testdataV2/60000.sh.finance_7.js +169 -0
  40. package/src/jscommon/umychart.vue.testdataV2/Day5Minute/000001.sz.5day.minute.js +38 -0
  41. package/src/jscommon/umychart.vue.testdataV2/Day5Minute/000151.sz.5day.minute.js +38 -0
  42. package/src/jscommon/umychart.vue.testdataV2/Day5Minute/600000.sh.5day.minute.js +38 -0
  43. package/src/jscommon/umychart.vue.testdataV2/DayKLine/000001.sh.day.kline.js +1 -0
  44. package/src/jscommon/umychart.vue.testdataV2/DayKLine/000001.sz.day.kline.js +1 -0
  45. package/src/jscommon/umychart.vue.testdataV2/DayKLine/000151.sz.day.kline.js +11 -0
  46. package/src/jscommon/umychart.vue.testdataV2/DayKLine/000300.sh.day.kline.js +11 -0
  47. package/src/jscommon/umychart.vue.testdataV2/DayKLine/399001.sz.day.kline.js +1 -0
  48. package/src/jscommon/umychart.vue.testdataV2/DayKLine/399005.sz.day.kline.js +11 -0
  49. package/src/jscommon/umychart.vue.testdataV2/DayKLine/399006.sz.day.kline.js +11 -0
  50. package/src/jscommon/umychart.vue.testdataV2/DayKLine/600000.sh.day.kline.js +11 -0
  51. package/src/jscommon/umychart.vue.testdataV2/DayKLine/ICL8.cfe.day.kline.js +11 -0
  52. package/src/jscommon/umychart.vue.testdataV2/DayKLine/IFL8.cfe.day.kline.js +11 -0
  53. package/src/jscommon/umychart.vue.testdataV2/DayKLine/IML8.cfe.day.kline.js +11 -0
  54. package/src/jscommon/umychart.vue.testdataV2/DayMinute/000001.sz.1day.minute.js +1966 -0
  55. package/src/jscommon/umychart.vue.testdataV2/DayMinute/000151.sz.1day.minute.js +1966 -0
  56. package/src/jscommon/umychart.vue.testdataV2/DayMinute/600000.sh.1day.minute.js +1966 -0
  57. package/src/jscommon/umychart.vue.testdataV2/M1KLine/000001.sh.minute.kline.js +1 -0
  58. package/src/jscommon/umychart.vue.testdataV2/M1KLine/000001.sz.minute.kline.js +1 -0
  59. package/src/jscommon/umychart.vue.testdataV2/M1KLine/000151.sz.minute.kline.js +1 -0
  60. package/src/jscommon/umychart.vue.testdataV2/M1KLine/000300.sh.minute.kline.js +1 -0
  61. package/src/jscommon/umychart.vue.testdataV2/M1KLine/399001.sz.minute.kline.js +1 -0
  62. package/src/jscommon/umychart.vue.testdataV2/M1KLine/399005.sz.minute.kline.js +1 -0
  63. package/src/jscommon/umychart.vue.testdataV2/M1KLine/399006.sz.minute.kline.js +1 -0
  64. package/src/jscommon/umychart.vue.testdataV2/M1KLine/600000.sh.minute.kline.js +1 -0
  65. package/src/jscommon/umychart.vue.testdataV2/M1KLine/ICL8.cfe.minute.kline.js +1 -0
  66. package/src/jscommon/umychart.vue.testdataV2/M1KLine/IFL8.cfe.minute.kline.js +1 -0
  67. package/src/jscommon/umychart.vue.testdataV2/M1KLine/IML8.cfe.minute.kline.js +1 -0
  68. package/src/jscommon/umychart.vue.testdataV2/shsz_stock_data.js +1 -0
  69. package/src/jscommon/umychart.vue.testdataV2/symbollist_shsz.js +8 -0
  70. package/src/jscommon/umychart.vue.testdataV2/umychart.NetworkFilterTest.vue.js +1657 -0
@@ -0,0 +1,1657 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ var _getIterator2 = require("babel-runtime/core-js/get-iterator");
8
+
9
+ var _getIterator3 = _interopRequireDefault(_getIterator2);
10
+
11
+ var _map = require("babel-runtime/core-js/map");
12
+
13
+ var _map2 = _interopRequireDefault(_map);
14
+
15
+ var _defineProperty2 = require("babel-runtime/helpers/defineProperty");
16
+
17
+ var _defineProperty3 = _interopRequireDefault(_defineProperty2);
18
+
19
+ var _stringify = require("babel-runtime/core-js/json/stringify");
20
+
21
+ var _stringify2 = _interopRequireDefault(_stringify);
22
+
23
+ var _hqchart = require("hqchart");
24
+
25
+ var _hqchart2 = _interopRequireDefault(_hqchart);
26
+
27
+ var _shDayKline = require("./DayKLine/000001.sh.day.kline.js");
28
+
29
+ var _szDayKline = require("./DayKLine/000001.sz.day.kline.js");
30
+
31
+ var _szDayKline2 = require("./DayKLine/000151.sz.day.kline.js");
32
+
33
+ var _shDayKline2 = require("./DayKLine/000300.sh.day.kline.js");
34
+
35
+ var _szDayKline3 = require("./DayKLine/399001.sz.day.kline.js");
36
+
37
+ var _szDayKline4 = require("./DayKLine/399005.sz.day.kline.js");
38
+
39
+ var _szDayKline5 = require("./DayKLine/399006.sz.day.kline.js");
40
+
41
+ var _shDayKline3 = require("./DayKLine/600000.sh.day.kline.js");
42
+
43
+ var _shMinuteKline = require("./M1KLine/000001.sh.minute.kline.js");
44
+
45
+ var _szMinuteKline = require("./M1KLine/000001.sz.minute.kline.js");
46
+
47
+ var _szMinuteKline2 = require("./M1KLine/000151.sz.minute.kline.js");
48
+
49
+ var _shMinuteKline2 = require("./M1KLine/000300.sh.minute.kline.js");
50
+
51
+ var _szMinuteKline3 = require("./M1KLine/399001.sz.minute.kline.js");
52
+
53
+ var _szMinuteKline4 = require("./M1KLine/399005.sz.minute.kline.js");
54
+
55
+ var _szMinuteKline5 = require("./M1KLine/399006.sz.minute.kline.js");
56
+
57
+ var _shMinuteKline3 = require("./M1KLine/600000.sh.minute.kline.js");
58
+
59
+ var _sz1dayMinute = require("./DayMinute/000001.sz.1day.minute.js");
60
+
61
+ var _sz1dayMinute2 = require("./DayMinute/000151.sz.1day.minute.js");
62
+
63
+ var _sh1dayMinute = require("./DayMinute/600000.sh.1day.minute.js");
64
+
65
+ var _sz5dayMinute = require("./Day5Minute/000001.sz.5day.minute.js");
66
+
67
+ var _sz5dayMinute2 = require("./Day5Minute/000151.sz.5day.minute.js");
68
+
69
+ var _sh5dayMinute = require("./Day5Minute/600000.sh.5day.minute.js");
70
+
71
+ var _shFinance_ = require("./60000.sh.finance_7.js");
72
+
73
+ var _shNewsInteract = require("./60000.sh.NewsInteract.js");
74
+
75
+ var _shTradeDetal = require("./60000.sh.TradeDetal.js");
76
+
77
+ var _shsz_stock_data = require("./shsz_stock_data.js");
78
+
79
+ var _symbollist_shsz = require("./symbollist_shsz.js");
80
+
81
+ var _shCapitalKline = require("./60000.sh.capital.kline.js");
82
+
83
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
84
+
85
+ var JSChart = _hqchart2.default.Chart.JSChart;
86
+ var IFrameSplitOperator = _hqchart2.default.Chart.IFrameSplitOperator;
87
+ var IExtendChartPainting = _hqchart2.default.Chart.IExtendChartPainting;
88
+ var GetDevicePixelRatio = _hqchart2.default.Chart.JSChart.GetDevicePixelRatio;
89
+ var ToFixedRect = _hqchart2.default.Chart.JSChart.ToFixedRect;
90
+ var ToFixedPoint = _hqchart2.default.Chart.JSChart.ToFixedPoint;
91
+
92
+ /////////////////////////////////////////////////////////////////////////////////////////////////////
93
+ // 测试数据
94
+ //
95
+ //
96
+
97
+ /////////////////////////////////////////////////////////////////////
98
+ // 模拟测试数据
99
+ //
100
+ //
101
+ /////////////////////////////////////////////////////////////////////
102
+
103
+
104
+ function HQData() {}
105
+
106
+ HQData.Explain = "本地测试数据";
107
+
108
+ HQData.NetworkFilter = function (data, callback) {
109
+ console.log("[HQData::NetworkFilter] " + HQData.Explain, data);
110
+
111
+ switch (data.Name) {
112
+ //HQChart使用教程29-走势图如何对接第3方数据1
113
+ case 'MinuteChartContainer::RequestMinuteData':
114
+ //分时图数据对接
115
+ //HQChart使用教程29-走势图如何对接第3方数据2-最新分时数据
116
+ HQData.Minute_RequestMinuteData(data, callback);
117
+ break;
118
+
119
+ case "MinuteChartContainer::RequestHistoryMinuteData":
120
+ //多日分时图
121
+ //HQChart使用教程29-走势图如何对接第3方数据3-多日分时数据
122
+ HQData.Minute_RequestHistoryMinuteData(data, callback);
123
+ break;
124
+
125
+ case "MinuteChartContainer::RequestOverlayMinuteData":
126
+ //单日叠加
127
+ HQData.Minute_RequestOverlayMinuteData(data, callback);
128
+ break;
129
+
130
+ case "MinuteChartContainer::RequestOverlayHistoryMinuteData":
131
+ //叠加多日
132
+ HQData.Minute_RequestOverlayHistoryMinuteData(data, callback);
133
+ break;
134
+
135
+ case "MinuteChartContainer::RequestPopMinuteData":
136
+ //弹出分时图数据
137
+ //HQChart使用教程29-走势图如何对接第3方数据2-最新分时数据 格式跟这个一样
138
+ HQData.Minute_RequestPopMinuteData(data, callback);
139
+ break;
140
+
141
+ //HQChart使用教程30-K线图如何对接第3方数据1
142
+ case 'KLineChartContainer::RequestHistoryData':
143
+ //日线全量数据下载
144
+ //HQChart使用教程30-K线图如何对接第3方数据2-日K数据
145
+ HQData.RequestHistoryData(data, callback);
146
+ break;
147
+ case 'KLineChartContainer::RequestRealtimeData':
148
+ //日线实时数据更新
149
+ //HQChart使用教程30-K线图如何对接第3方数据14-轮询增量更新日K数据
150
+ HQData.RequestRealtimeData(data, callback);
151
+ break;
152
+ case 'KLineChartContainer::RequestFlowCapitalData':
153
+ //流通股本
154
+ //HQChart使用教程30-K线图如何对接第3方数据4-流通股本数据
155
+ HQData.RequestFlowCapitalData(data, callback);
156
+ break;
157
+
158
+ case 'KLineChartContainer::ReqeustHistoryMinuteData':
159
+ //分钟全量数据下载
160
+ //HQChart使用教程30-K线图如何对接第3方数据3-1分钟K数据
161
+ HQData.RequestHistoryMinuteData(data, callback);
162
+ break;
163
+ case 'KLineChartContainer::RequestMinuteRealtimeData':
164
+ //分钟增量数据更新
165
+ //HQChart使用教程30-K线图如何对接第3方数据15-轮询增量更新1分钟K线数据
166
+ HQData.RequestMinuteRealtimeData(data, callback);
167
+ break;
168
+
169
+ case "JSSymbolData::GetVariantData":
170
+ //额外的变量数据
171
+ //HQChart使用教程30-K线图如何对接第3方数据29-板块字符串函数数据[GNBLOCK,GNBLOCKNUM......]
172
+ HQData.RequestIndexVariantData(data, callback);
173
+ break;
174
+
175
+ case "JSSymbolData::GetCustomFunctionData":
176
+ //自定义函数数据下载
177
+ HQData.CustomFunction_RequestData(data, callback);
178
+ break;
179
+
180
+ case "JSSymbolData::GetCustomVariantData":
181
+ //自定义函数数据下载
182
+ HQData.CustomVarData_RequestData(data, callback);
183
+ break;
184
+
185
+ case "JSSymbolData::GetOtherSymbolData":
186
+ //HQChart使用教程30-K线图如何对接第3方数据31-获取指定品种的K线数据
187
+ HQData.RequestOtherSymbolData(data, callback);
188
+ break;
189
+
190
+ case "AnnouncementInfo::RequestData":
191
+ //HQChart使用教程30-K线图如何对接第3方数据20-信息地雷公告数据
192
+ HQData.AnnouncementInfo_RequestData(data, callback);
193
+ break;
194
+
195
+ case "JSSymbolData::GetLatestData":
196
+ //HQChart使用教程30-K线图如何对接第3方数据30-即时行情数据DYNAINFO
197
+ HQData.RequestLatestData(data, callback);
198
+ break;
199
+
200
+ case "KLineChartContainer::RequestOverlayHistoryData":
201
+ //叠加股票
202
+ //HQChart使用教程30-K线图如何对接第3方数据16-日K叠加股票
203
+ HQData.RequestOverlayHistoryData(data, callback);
204
+ break;
205
+
206
+ case "KLineChartContainer::RequestOverlayHistoryMinuteData":
207
+ //HQChart使用教程30-K线图如何对接第3方数据17- 分钟K叠加股票
208
+ HQData.RequestOverlayHistoryMinuteData(data, callback);
209
+ break;
210
+
211
+ case "PforecastInfo::RequestData":
212
+ HQData.PforecastInfo_RequestData(data, callback);
213
+ break;
214
+
215
+ case "InvestorInfo::RequestData":
216
+ HQData.InvestorInfo_RequestData(data, callback);
217
+ break;
218
+
219
+ case "ResearchInfo::RequestData":
220
+ HQData.ResearchInfo_RequestData(data, callback);
221
+ break;
222
+
223
+ case "BlockTrading::RequestData":
224
+ HQData.BlockTrading_RequestData(data, callback);
225
+ break;
226
+
227
+ case "TradeDetail::RequestData":
228
+ HQData.TradeDetail_RequestData(data, callback);
229
+ break;
230
+
231
+ case "JSSymbolData::GetFinance":
232
+ //财务数据
233
+ HQData.Finance_RequestData(data, callback);
234
+ break;
235
+
236
+ case "JSSymbolData::GetGPJYValue":
237
+ HQData.GPJYValue_RequestData(data, callback);
238
+ break;
239
+ case "JSSymbolData::GetSCJYValue":
240
+ HQData.SCJYValue_RequestData(data, callback);
241
+ break;
242
+ case "JSSymbolData::GetBKJYValue":
243
+ HQData.BKJYValue_RequestData(data, callback);
244
+ break;
245
+
246
+ case "JSSymbolData::GetGPJYOne":
247
+ HQData.GPJYOne_RequestData(data, callback);
248
+ break;
249
+ case "JSSymbolData::GetSCJYOne":
250
+ HQData.SCJYOne_RequestData(data, callback);
251
+ break;
252
+ case "JSSymbolData::GetBKJYOne":
253
+ HQData.BKJYOne_RequestData(data, callback);
254
+ break;
255
+ case "JSSymbolData::GetFinValue":
256
+ HQData.FinValue_RequestData(data, callback);
257
+ break;
258
+ case "JSSymbolData::GetFinOne":
259
+ HQData.FinOne_RequestData(data, callback);
260
+ break;
261
+
262
+ //////////////////////////////////////////////////////
263
+ //报价列表数据
264
+ case "JSReportChartContainer::RequestStockListData":
265
+ //HQChart使用教程95-报价列表对接第3方数据1-码表数据
266
+ HQData.Report_RequestStockListData(data, callback); //码表
267
+ break;
268
+
269
+ case "JSReportChartContainer::RequestMemberListData":
270
+ //板块成分
271
+ //HQChart使用教程95-报价列表对接第3方数据2-板块成分数据
272
+ HQData.Report_RequestMemberListDat(data, callback);
273
+ break;
274
+ case "JSDealChartContainer::RequestStockData":
275
+ //股票数据更新
276
+ //HQChart使用教程95-报价列表对接第3方数据3-股票数据
277
+ HQData.Report_RequestStockData(data, callback);
278
+ break;
279
+ case "JSDealChartContainer::RequestStockSortData":
280
+ //股票排序数据
281
+ //HQChart使用教程95-报价列表对接第3方数据4-股票排序数据
282
+ HQData.Report_RequestStockSortData(data, callback);
283
+ break;
284
+ case "JSDealChartContainer::RequestVirtualStockData":
285
+ HQData.Report_RequestVirtualStockData(data, callback); //股票数据 虚拟表格
286
+ break;
287
+
288
+ }
289
+ };
290
+
291
+ HQData.Minute_RequestMinuteData = function (data, callback) {
292
+ data.PreventDefault = true;
293
+ var symbol = data.Request.Data.symbol[0]; //请求的股票代码
294
+ var callcation = data.Request.Data.callcation; //集合竞价
295
+ console.log("[HQData::RequestMinuteData] Symbol=" + symbol);
296
+
297
+ setTimeout(function () {
298
+ var fullData = HQData.GetDayMinuteDataBySymbol(symbol);
299
+ var srcStock = fullData[0];
300
+ var stockItem = { date: srcStock.date, minute: srcStock.minute, yclose: srcStock.yclose, symbol: symbol, name: symbol };
301
+ if (callcation.Before) {
302
+ var before = [
303
+ //[交易时间, 价格,成交量, 成交金额, 日期(可选,YYYYMMDD)],
304
+ [915, srcStock.yclose, 0, 0], [916, srcStock.yclose + 0.01, 0, 0], [917, srcStock.yclose + 0.03, 0, 0], [918, srcStock.yclose + 0.02, 0, 0], [919, srcStock.yclose + 0.02, 0, 0], [920, srcStock.yclose + 0.01, 0, 0], [921, srcStock.yclose, 0, 0], [922, srcStock.yclose - 0.02, 0, 0], [923, srcStock.yclose - 0.03, 0, 0], [924, srcStock.yclose, 0, 0], [925, srcStock.yclose, 0, 0]];
305
+
306
+ var beforeinfo = { totalcount: 11, ver: 1.0 };
307
+
308
+ stockItem.before = before;
309
+ stockItem.beforeinfo = beforeinfo;
310
+ }
311
+
312
+ //测试用 这里可以修改数据
313
+ //var lastItem=srcStock.minute[srcStock.minute.length-1];
314
+ //lastItem.price+=Math.ceil(Math.random()*10)/1000*lastItem.price;
315
+ /*
316
+ for(var i=0;i<srcStock.minute.length;++i)
317
+ {
318
+ var item=srcStock.minute[i];
319
+ if (item.amount<1000000) item.amount*=100000;
320
+ }
321
+ */
322
+
323
+ var hqchartData = { code: 0, stock: [stockItem] };
324
+
325
+ callback(hqchartData);
326
+ }, 50);
327
+ };
328
+
329
+ HQData.Minute_RequestPopMinuteData = function (data, callback) {
330
+ data.PreventDefault = true;
331
+ var symbol = data.Request.Data.symbol[0]; //请求的股票代码
332
+ var date = data.Request.Data.date;
333
+ var callcation = data.Request.Data.callcation; //集合竞价
334
+ console.log("[HQData::RequestPopMinuteData] Symbol=" + symbol + " Date=" + date);
335
+
336
+ setTimeout(function () {
337
+ var fullData = HQData.GetDayMinuteDataBySymbol(symbol);
338
+ var srcStock = fullData[0];
339
+ var stockItem = { date: date, minute: [], yclose: srcStock.yclose, symbol: srcStock.symbol, name: srcStock.symbol, IsHistoryMinute: true };
340
+ if (callcation.Before) {
341
+ var before = [
342
+ //[交易时间, 价格,成交量, 成交金额, 日期(可选,YYYYMMDD)],
343
+ [915, srcStock.yclose, 0, 0], [916, srcStock.yclose + 0.01, 0, 0], [917, srcStock.yclose + 0.03, 0, 0], [918, srcStock.yclose + 0.02, 0, 0], [919, srcStock.yclose + 0.02, 0, 0], [920, srcStock.yclose + 0.01, 0, 0], [921, srcStock.yclose, 0, 0], [922, srcStock.yclose - 0.02, 0, 0], [923, srcStock.yclose - 0.03, 0, 0], [924, srcStock.yclose, 0, 0], [925, srcStock.yclose, 0, 0]];
344
+
345
+ var beforeinfo = { totalcount: 11, ver: 1.0 };
346
+
347
+ stockItem.before = before;
348
+ stockItem.beforeinfo = beforeinfo;
349
+ }
350
+
351
+ for (var i = 0; i < srcStock.minute.length; ++i) {
352
+ var item = srcStock.minute[i];
353
+ var newItem = CloneData(item);
354
+ newItem.date = date;
355
+
356
+ stockItem.minute.push(newItem);
357
+ }
358
+
359
+ var hqchartData = { code: 0, stock: [stockItem] };
360
+
361
+ callback(hqchartData);
362
+ }, 50);
363
+ };
364
+
365
+ HQData.Minute_RequestHistoryMinuteData = function (data, callback) {
366
+ data.PreventDefault = true;
367
+ var symbol = data.Request.Data.symbol; //请求的股票代码
368
+ var dayCount = data.Request.Data.daycount;
369
+ var callcation = data.Request.Data.callcation; //集合竞价
370
+
371
+ console.log("[HQData::Minute_RequestHistoryMinuteData] Symbol=" + symbol);
372
+
373
+ var fullData = HQData.GetMulitDayMinuteDataBySymbol(symbol);
374
+
375
+ var aryDay = [];
376
+ if (dayCount > fullData.length) dayCount = fullData.length;
377
+ aryDay = fullData.slice(0, dayCount);
378
+ for (var i = 0; i < aryDay.length; ++i) {
379
+ var item = aryDay[i];
380
+
381
+ if (callcation.Before) {
382
+ var before = [
383
+ //[交易时间, 价格,成交量, 成交金额, 日期(可选,YYYYMMDD)],
384
+ [915, item.yclose, 0, 0], [916, item.yclose + 0.01, 0, 0], [917, item.yclose + 0.03, 0, 0], [918, item.yclose + 0.02, 0, 0], [919, item.yclose + 0.02, 0, 0], [920, item.yclose + 0.01, 0, 0], [921, item.yclose, 0, 0], [922, item.yclose - 0.02, 0, 0], [923, item.yclose - 0.03, 0, 0], [924, item.yclose, 0, 0], [925, item.yclose, 0, 0]];
385
+
386
+ var beforeinfo = { totalcount: 11, ver: 1.0 };
387
+
388
+ item.before = before;
389
+ item.beforeinfo = beforeinfo;
390
+ }
391
+ }
392
+
393
+ var hqchartData = { code: 0, data: aryDay, name: symbol, symbol: symbol };
394
+
395
+ callback(hqchartData);
396
+ };
397
+
398
+ HQData.Minute_RequestOverlayMinuteData = function (data, callback) {
399
+ data.PreventDefault = true;
400
+ var symbol = data.Request.Data.symbol;
401
+ var date = data.Request.Data.days[0];
402
+
403
+ var fullData = HQData.GetMulitDayMinuteDataBySymbol(symbol);
404
+ var aryDay = HQData.GetMulitDayMinuteDataByDate(fullData, [date]);
405
+
406
+ var hqchartData = { code: 0, data: aryDay, name: symbol, symbol: symbol };
407
+ callback(hqchartData);
408
+ };
409
+
410
+ HQData.Minute_RequestOverlayHistoryMinuteData = function (data, callback) {
411
+ data.PreventDefault = true;
412
+ var symbol = data.Request.Data.symbol;
413
+ var aryDate = data.Request.Data.days;
414
+ var fullData = HQData.GetMulitDayMinuteDataBySymbol(symbol);
415
+ var aryDay = HQData.GetMulitDayMinuteDataByDate(fullData, aryDate);
416
+
417
+ var hqchartData = { code: 0, data: aryDay, name: symbol, symbol: symbol };
418
+ callback(hqchartData);
419
+ };
420
+
421
+ HQData.RequestHistoryData = function (data, callback) {
422
+ data.PreventDefault = true;
423
+ var symbol = data.Request.Data.symbol; //请求的股票代码
424
+ var count = data.Request.Data.count;
425
+ console.log("[HQData::RequestMinuteDaysData] Symbol=" + symbol);
426
+
427
+ var fullData = HQData.GetDayKLineDataBySymbol(symbol);
428
+ var aryData = [];
429
+ if (IFrameSplitOperator.IsNonEmptyArray(fullData)) {
430
+ var dataCount = fullData.length;
431
+ var start = dataCount - count;
432
+ if (start < 0) start = 0;
433
+ aryData = fullData.slice(start);
434
+ }
435
+
436
+ var hqchartData = { name: symbol, symbol: symbol, data: aryData, ver: 2.0 };
437
+
438
+ callback(hqchartData);
439
+ };
440
+
441
+ HQData.RequestFlowCapitalData = function (data, callback) {
442
+ data.PreventDefault = true;
443
+ var symbol = data.Request.Data.symbol; //请求的股票代码
444
+
445
+ console.log("[HQData::RequestFlowCapitalData] Symbol=" + symbol);
446
+
447
+ var hqchartData = _shCapitalKline.KLINE_CAPITAL_DATA;
448
+ callback(hqchartData);
449
+ };
450
+
451
+ HQData.RequestRealtimeData = function (data, callback) {
452
+ data.PreventDefault = true;
453
+ var symbol = data.Request.Data.symbol[0]; //请求的股票代码
454
+ var end = data.Request.Data.dateRange.End;
455
+ var endDate = end.Date;
456
+ var aryStock = [];
457
+
458
+ for (var i = 0; i < data.Request.Data.symbol.length; ++i) {
459
+ var item = data.Request.Data.symbol[i];
460
+ var fullData = HQData.GetDayKLineDataBySymbol(item);
461
+ if (!IFrameSplitOperator.IsNonEmptyArray(fullData)) continue;
462
+
463
+ var aryData = HQData.GetKLineDataByDate(fullData, endDate, 20999999);
464
+ if (!IFrameSplitOperator.IsNonEmptyArray(aryData)) continue;
465
+
466
+ var kItem = aryData[0];
467
+ var price = kItem[5];
468
+ var value = Math.ceil(Math.random() * 10) / 1000 * price;
469
+ var bUp = Math.ceil(Math.random() * 10) >= 5;
470
+ if (bUp) price += value;else price -= value;
471
+
472
+ var stockItem = { symbol: item, name: item };
473
+ stockItem.date = kItem[0];
474
+ stockItem.yclose = kItem[1];
475
+ stockItem.open = kItem[2];
476
+ stockItem.high = Math.max(kItem[3], price);
477
+ stockItem.low = Math.min(kItem[4], price);
478
+ stockItem.price = price;
479
+ stockItem.vol = kItem[6];
480
+ stockItem.amount = kItem[7];
481
+
482
+ aryStock.push(stockItem);
483
+ }
484
+
485
+ var hqchartData = { code: 0, stock: aryStock };
486
+
487
+ callback(hqchartData);
488
+ };
489
+
490
+ HQData.RequestHistoryMinuteData = function (data, callback) {
491
+ data.PreventDefault = true;
492
+ var symbol = data.Request.Data.symbol; //请求的股票代码
493
+ var count = data.Request.Data.count * 200; //请求的数据长度
494
+ console.log("[HQData::RequestHistoryMinuteData] Symbol=" + symbol);
495
+
496
+ var fullData = HQData.GetM1KLineDataBySymbol(symbol);
497
+ var aryData = [];
498
+ if (IFrameSplitOperator.IsNonEmptyArray(fullData)) {
499
+ var dataCount = fullData.length;
500
+ var start = dataCount - count;
501
+ if (start < 0) start = 0;
502
+ aryData = fullData.slice(start);
503
+ }
504
+
505
+ var hqchartData = { name: symbol, symbol: symbol, data: aryData, ver: 2.0 };
506
+ callback(hqchartData);
507
+ };
508
+
509
+ HQData.RequestMinuteRealtimeData = function (data, callback) {
510
+ data.PreventDefault = true;
511
+ var symbol = data.Request.Data.symbol[0]; //请求的股票代码
512
+ var end = data.Request.Data.dateRange.End;
513
+ var endDate = end.Date;
514
+ var endTime = end.Time;
515
+
516
+ var aryOverlay = []; //叠加
517
+ var aryMainData = []; //主图
518
+ for (var i = 0; i < data.Request.Data.symbol.length; ++i) {
519
+ var symbol = data.Request.Data.symbol[i];
520
+ var fullData = HQData.GetM1KLineDataBySymbol(symbol);
521
+ if (!IFrameSplitOperator.IsNonEmptyArray(fullData)) continue;
522
+
523
+ var aryData = HQData.GetKLineDataByDateTime(fullData, endDate, endTime, 20999999, 9999);
524
+ if (!IFrameSplitOperator.IsNonEmptyArray(aryData)) continue;
525
+
526
+ var kItem = JSON.parse((0, _stringify2.default)(aryData[0]));
527
+
528
+ //生成随机测试数据
529
+ var price = kItem[5];
530
+ var value = Math.ceil(Math.random() * 10) / 5000 * price;
531
+ var bUp = Math.ceil(Math.random() * 10) >= 5;
532
+
533
+ if (bUp) price += value;else price -= value;
534
+ kItem[5] = price;
535
+ kItem[3] = Math.max(price, kItem[3]);
536
+ kItem[4] = Math.min(price, kItem[4]);
537
+
538
+ if (i == 0) {
539
+ aryMainData.push(kItem);
540
+ } else {
541
+ var stock = { data: [kItem], symbol: symbol, name: symbol };
542
+ aryOverlay.push(stock);
543
+ }
544
+ }
545
+
546
+ var symbol = data.Request.Data.symbol[0]; //请求的股票代码
547
+ var hqchartData = { name: symbol, symbol: symbol, ver: 2.0, data: aryMainData };
548
+ if (IFrameSplitOperator.IsNonEmptyArray(aryOverlay)) hqchartData.overlay = aryOverlay;
549
+
550
+ callback(hqchartData);
551
+ };
552
+
553
+ HQData.RequestIndexVariantData = function (data, callback) {
554
+ data.PreventDefault = true;
555
+ var varName = data.Request.Data.VariantName; //变量名称
556
+ if (varName == "FROMOPEN") {
557
+ var hqchartData = {};
558
+ //单数据
559
+ hqchartData.Data = { Date: 20230707, Value: 240 };
560
+ hqchartData.DataType = 1;
561
+ callback(hqchartData);
562
+ } else if (varName == "FGBLOCK") {
563
+ var hqchartData = { DataType: 1, Data: { Value: "融资融券 大盘股 MSCI成份 周期股 沪股通标的" } }; //返回所属风格板块.
564
+ callback(hqchartData);
565
+ } else if (varName == "GNBLOCK") {
566
+ var hqchartData = { DataType: 1, Data: { Value: "含可转债 跨境支付CIPS" } }; //返回所属概念板块.
567
+ callback(hqchartData);
568
+ } else if (varName == "HYBLOCK") {
569
+ var hqchartData = { DataType: 1, Data: { Value: "全国性银行" } }; //返回品种所属行业.
570
+ callback(hqchartData);
571
+ } else if (varName == "DYBLOCK") {
572
+ var hqchartData = { DataType: 1, Data: { Value: "上海板块" } }; //返回品种所属地域..
573
+ callback(hqchartData);
574
+ } else if (varName == "CAPITAL") {
575
+ var hqchartData = { DataType: 1, Data: { Value: 29352177375 } }; // 当前流通股本,单位为手,债券1手为10张,其它为100
576
+ callback(hqchartData);
577
+ } else if (varName == "LARGEINTRDVOL") {
578
+ //测试数据
579
+ var kData = data.Self.Data;
580
+ var hqchartData = { DataType: 2, Data: [] };
581
+ var testValue = 0.15;
582
+ for (var i = 0; i < kData.Data.length; ++i) {
583
+ var kItem = kData.Data[i];
584
+ hqchartData.Data.push({ Date: kItem.Date, Time: kItem.Time, Value: kItem.Vol * testValue });
585
+ testValue += 0.01;
586
+ if (testValue > 0.23) testValue = 0.15;
587
+ }
588
+ callback(hqchartData);
589
+ } else if (varName == "LARGEOUTTRDVOL") {
590
+ //测试数据
591
+ var kData = data.Self.Data;
592
+ var hqchartData = { DataType: 2, Data: [] };
593
+ for (var i = 0; i < kData.Data.length; ++i) {
594
+ var kItem = kData.Data[i];
595
+ hqchartData.Data.push({ Date: kItem.Date, Time: kItem.Time, Value: kItem.Vol * 0.17 });
596
+ }
597
+ callback(hqchartData);
598
+ } else {
599
+ var error = "\u53D8\u91CF'" + varName + "' \u6CA1\u6709\u5BF9\u63A5\u6570\u636E. [HQData.RequestIndexVariantData]";
600
+ var hqchartData = { Error: error };
601
+ callback(hqchartData);
602
+ }
603
+ };
604
+
605
+ HQData.CustomFunction_RequestData = function (data, callback) {
606
+ data.PreventDefault = true;
607
+ var funcName = data.Request.Data.FunctionName;
608
+ var hqchartData = null;
609
+
610
+ if (funcName == 'L2_VOL') {
611
+ var args = data.Request.Data.JobItem.Args;
612
+ var param = [args[0].Value, args[1].Value];
613
+
614
+ var hqchartData = { DataType: 2, Data: [] };
615
+ var kData = data.Self.Data;
616
+ for (var i = 0; i < kData.Data.length; ++i) {
617
+ var kItem = kData.Data[i];
618
+ hqchartData.Data.push({ Date: kItem.Date, Time: kItem.Time, Value: kItem.Vol / 3 });
619
+ }
620
+ } else {
621
+ var error = "\u51FD\u6570'" + funcName + "' \u6CA1\u6709\u5BF9\u63A5\u6570\u636E. [HQData.CustomFunction_RequestData]";
622
+ var hqchartData = { Error: error };
623
+ }
624
+
625
+ callback(hqchartData);
626
+ };
627
+
628
+ HQData.CustomVarData_RequestData = function (data, callback) {
629
+ data.PreventDefault = true;
630
+ var varName = data.Request.Data.VariantName;
631
+ if (varName == "DCLOSE") {
632
+ var hqchartData = { DataType: 2, Data: [] };
633
+ var kData = data.Self.Data;
634
+ for (var i = 0; i < kData.Data.length; ++i) {
635
+ var kItem = kData.Data[i];
636
+ hqchartData.Data.push({ Date: kItem.Date, Time: kItem.Time, Value: kItem.Close });
637
+ }
638
+
639
+ callback(hqchartData);
640
+ } else {
641
+ var error = "\u53D8\u91CF'" + varName + "' \u6CA1\u6709\u5BF9\u63A5\u6570\u636E. [HQData.CustomVarData_RequestData]";
642
+ var hqchartData = { Error: error };
643
+ callback(hqchartData);
644
+ }
645
+ };
646
+
647
+ HQData.RequestOtherSymbolData = function (data, callback) {
648
+ var _hqchartData;
649
+
650
+ data.PreventDefault = true;
651
+ var symbol = data.Request.Data.symbol;
652
+ var period = data.Request.Data.period;
653
+ var right = data.Request.Data.right;
654
+ var start = data.Request.Data.dateRange.Start;
655
+ var end = data.Request.Data.dateRange.End;
656
+
657
+ var aryData = [];
658
+ if (ChartData.IsDayPeriod(period, true)) {
659
+ var fullData = HQData.GetDayKLineDataBySymbol(symbol);
660
+ if (IFrameSplitOperator.IsNonEmptyArray(fullData)) aryData = HQData.GetKLineDataByDate(fullData, start.Date, end.Date);
661
+ } else if (ChartData.IsMinutePeriod(period, true)) {
662
+ var fullData = this.GetM1KLineDataBySymbol(symbol);
663
+ if (IFrameSplitOperator.IsNonEmptyArray(fullData)) aryData = HQData.GetKLineDataByDateTime(fullData, start.Date, start.Time, end.Date, end.Time);
664
+ }
665
+
666
+ var hqchartData = (_hqchartData = { name: symbol }, (0, _defineProperty3.default)(_hqchartData, "name", symbol), (0, _defineProperty3.default)(_hqchartData, "data", aryData), _hqchartData);
667
+ callback(hqchartData);
668
+ };
669
+
670
+ HQData.AnnouncementInfo_RequestData = function (data, callback) {
671
+ data.PreventDefault = true;
672
+ var symbol = data.Request.Symbol;
673
+
674
+ var hqchartData = { symbol: symbol, report: [] };
675
+
676
+ var kData = data.HQChart.ChartPaint[0].Data;
677
+ for (var i = 0, j = 1; i < kData.Data.length; ++i) {
678
+ var kItem = kData.Data[i];
679
+ if (i % 10 != 4) continue;
680
+
681
+ var itemReport = { releasedate: kItem.Date, time: kItem.Time, title: "\u516C\u544A(" + j + ") xxxx" };
682
+
683
+ hqchartData.report.push(itemReport);
684
+
685
+ ++j;
686
+ }
687
+
688
+ callback(hqchartData);
689
+ };
690
+
691
+ HQData.PforecastInfo_RequestData = function (data, callback) {
692
+ data.PreventDefault = true;
693
+ var symbol = data.Request.Symbol;
694
+
695
+ var hqchartData = { symbol: symbol, report: [] };
696
+
697
+ var kData = data.HQChart.ChartPaint[0].Data;
698
+ for (var i = 0, j = 1; i < kData.Data.length; ++i) {
699
+ var kItem = kData.Data[i];
700
+ if (i % 10 != 4) continue;
701
+
702
+ var year = parseInt(kItem.Date / 10000); //年份
703
+ var month = parseInt(kItem.Date / 100) % 100;
704
+ var reprotDate = 0;
705
+ if (month > 10) reprotDate = year * 10000 + 1231;else if (month > 6) reprotDate = year * 10000 + 930;else if (month > 3) reprotDate = year * 10000 + 630;else reprotDate = year * 10000 + 331;
706
+
707
+ var itemReport = { date: kItem.Date, time: kItem.Time, title: "\u4E1A\u7EE9\u9884\u589E", reportdate: reprotDate, fweek: { week1: 0.04, week4: 0.02 } };
708
+
709
+ hqchartData.report.push(itemReport);
710
+
711
+ ++j;
712
+ }
713
+
714
+ callback(hqchartData);
715
+ };
716
+
717
+ HQData.InvestorInfo_RequestData = function (data, callback) {
718
+ data.PreventDefault = true;
719
+ var symbol = data.Request.Symbol;
720
+
721
+ callback(_shNewsInteract.TEST_NEWSINTERACT_DATA);
722
+ };
723
+
724
+ HQData.ResearchInfo_RequestData = function (data, callback) {
725
+ data.PreventDefault = true;
726
+ var symbol = data.Request.Symbol;
727
+
728
+ var hqchartData = { symbol: symbol, list: [] };
729
+
730
+ var kData = data.HQChart.ChartPaint[0].Data;
731
+ for (var i = 0, j = 1; i < kData.Data.length; ++i) {
732
+ var kItem = kData.Data[i];
733
+ if (i % 20 != 4) continue;
734
+
735
+ var itemReport = { researchdate: kItem.Date, id: i, level: [j % 4], type: "xxx调研。" };
736
+
737
+ hqchartData.list.push(itemReport);
738
+
739
+ ++j;
740
+ }
741
+
742
+ callback(hqchartData);
743
+ };
744
+
745
+ HQData.BlockTrading_RequestData = function (data, callback) {
746
+ data.PreventDefault = true;
747
+ var symbol = data.Request.Symbol;
748
+
749
+ callback(TEST_BLOCK_TRADING_DATA);
750
+ };
751
+
752
+ HQData.TradeDetail_RequestData = function (data, callback) {
753
+ data.PreventDefault = true;
754
+ var symbol = data.Request.Symbol;
755
+
756
+ callback(_shTradeDetal.TEST_TRADE_DETAL_DATA);
757
+ };
758
+
759
+ HQData.RequestLatestData = function (data, callback) {
760
+ data.PreventDefault = true;
761
+ var symbol = data.Request.Data.symbol[0];
762
+ var id = data.Args[0];
763
+ var value = 1;
764
+ var fullData = HQData.GetDayKLineDataBySymbol(symbol);
765
+ if (IFrameSplitOperator.IsNonEmptyArray(fullData)) {
766
+ var item = fullData[fullData.length - 1]; //取最后一条数据
767
+ switch (id) {
768
+ case 3:
769
+ value = item[1];
770
+ break;
771
+ case 4:
772
+ value = item[2];
773
+ break;
774
+ case 5:
775
+ value = item[3];
776
+ break;
777
+ case 6:
778
+ value = item[4];
779
+ break;
780
+ case 7:
781
+ value = item[5];
782
+ break;
783
+ case 8:
784
+ value = item[6];
785
+ break;
786
+ }
787
+ }
788
+
789
+ var hqchartData = { symbol: symbol, ver: 2.0, data: [{ id: id, value: value }] };
790
+
791
+ callback(hqchartData);
792
+ };
793
+
794
+ HQData.RequestOverlayHistoryData = function (data, callback) {
795
+ data.PreventDefault = true;
796
+ var symbol = data.Request.Data.symbol;
797
+ var first = data.Request.Data.first;
798
+ var fullData = HQData.GetDayKLineDataBySymbol(symbol);
799
+ var aryData = [];
800
+
801
+ if (IFrameSplitOperator.IsNonEmptyArray(fullData)) {
802
+ aryData = HQData.GetKLineDataByDate(fullData, first.date, 20999999);
803
+ }
804
+
805
+ //aryData=aryData.slice(aryData.length-20);
806
+
807
+ var hqchartData = { code: 0, symbol: symbol, name: symbol, ver: 2.0, data: aryData };
808
+
809
+ callback(hqchartData);
810
+ };
811
+
812
+ HQData.RequestOverlayHistoryMinuteData = function (data, callback) {
813
+ data.PreventDefault = true;
814
+ var symbol = data.Request.Data.symbol;
815
+ var first = data.Request.Data.first;
816
+ var aryData = [];
817
+
818
+ var fullData = HQData.GetM1KLineDataBySymbol(symbol);
819
+ if (fullData) {
820
+ aryData = HQData.GetKLineDataByDateTime(fullData, first.date, first.time, 20999999, 9999);
821
+ }
822
+
823
+ var hqchartData = { symbol: symbol, name: symbol, ver: 2.0, data: aryData };
824
+
825
+ callback(hqchartData);
826
+ };
827
+
828
+ HQData.GetKLineDataByDateTime = function (fullData, startDate, startTime, endDate, endTime) {
829
+ var start = startDate * 10000 + startTime;
830
+ var end = endDate * 10000 + endTime;
831
+
832
+ var aryData = [];
833
+ for (var i = 0; i < fullData.length; ++i) {
834
+ var kItem = fullData[i];
835
+ var date = kItem[0];
836
+ var time = kItem[8];
837
+ var dateTime = date * 10000 + time;
838
+ if (dateTime >= start && dateTime <= end) aryData.push(kItem);
839
+ }
840
+
841
+ return aryData;
842
+ };
843
+
844
+ HQData.Finance_RequestData = function (data, callback) {
845
+ data.PreventDefault = true;
846
+ var id = data.Request.Data.id;
847
+ var hqchartData = null;
848
+ if (id == 7) // 流通股本(随时间可能有变化)
849
+ {
850
+ hqchartData = _shFinance_.TEST_FINANCE_7.data;
851
+ } else {
852
+ var error = "Finance(" + id + ") \u6CA1\u6709\u5BF9\u63A5\u6570\u636E. [HQData.Finance_RequestData]";
853
+ hqchartData = { Error: error };
854
+ }
855
+
856
+ if (hqchartData) callback(hqchartData);
857
+ };
858
+
859
+ //GPJYVALUE(ID,N,TYPE),ID为数据编号,N表示第几个数据(取1或2),TYPE:为1表示做平滑处理,没有数据的周期返回上一周期的值;为0表示不做平滑处理;2表示没有数据则为0.
860
+ HQData.GPJYValue_RequestData = function (data, callback) {
861
+ data.PreventDefault = true;
862
+ var symbol = data.Request.Data.symbol;
863
+ var id = data.Request.Data.Args[0];
864
+ var n = data.Request.Data.Args[1];
865
+ var type = data.Request.Data.Args[2];
866
+
867
+ var aryData = [];
868
+ var kData = data.Self.Data;
869
+ for (var i = 0; i < kData.Data.length; ++i) {
870
+ var kItem = kData.Data[i];
871
+ if (i % 50 == 15) {
872
+ var value = HQData.GetRandomTestData(10, 100);
873
+ aryData.push({ Date: kItem.Date, Time: kItem.Time, Value: value });
874
+ }
875
+ }
876
+
877
+ callback(aryData);
878
+ };
879
+
880
+ HQData.SCJYValue_RequestData = function (data, callback) {
881
+ data.PreventDefault = true;
882
+ var symbol = data.Request.Data.symbol;
883
+ var id = data.Request.Data.Args[0];
884
+ var n = data.Request.Data.Args[1];
885
+ var type = data.Request.Data.Args[2];
886
+
887
+ var aryData = [];
888
+ var kData = data.Self.Data;
889
+ for (var i = 0; i < kData.Data.length; ++i) {
890
+ var kItem = kData.Data[i];
891
+ if (i % 50 == 20) {
892
+ var value = HQData.GetRandomTestData(1000, 2000);
893
+ aryData.push({ Date: kItem.Date, Time: kItem.Time, Value: value });
894
+ }
895
+ }
896
+
897
+ callback(aryData);
898
+ };
899
+
900
+ HQData.BKJYValue_RequestData = function (data, callback) {
901
+ data.PreventDefault = true;
902
+ var symbol = data.Request.Data.symbol;
903
+ var id = data.Request.Data.Args[0];
904
+ var n = data.Request.Data.Args[1];
905
+ var type = data.Request.Data.Args[2];
906
+
907
+ var aryData = [];
908
+ var kData = data.Self.Data;
909
+ for (var i = 0; i < kData.Data.length; ++i) {
910
+ var kItem = kData.Data[i];
911
+ if (i % 60 == 33) {
912
+ var value = HQData.GetRandomTestData(500, 1000);
913
+ aryData.push({ Date: kItem.Date, Time: kItem.Time, Value: value });
914
+ }
915
+ }
916
+
917
+ callback(aryData);
918
+ };
919
+
920
+ HQData.GPJYOne_RequestData = function (data, callback) {
921
+ data.PreventDefault = true;
922
+ var symbol = data.Request.Data.symbol;
923
+ var id = data.Request.Data.Args[0];
924
+ var n = data.Request.Data.Args[1];
925
+ var year = data.Request.Data.Args[2];
926
+ var day = data.Request.Data.Args[3];
927
+
928
+ var value = HQData.GetRandomTestData(800, 1200);
929
+ callback({ Date: 20230509, Value: value });
930
+ };
931
+
932
+ HQData.SCJYOne_RequestData = function (data, callback) {
933
+ data.PreventDefault = true;
934
+ var symbol = data.Request.Data.symbol;
935
+ var id = data.Request.Data.Args[0];
936
+ var n = data.Request.Data.Args[1];
937
+ var year = data.Request.Data.Args[2];
938
+ var day = data.Request.Data.Args[3];
939
+
940
+ var value = HQData.GetRandomTestData(400, 500);
941
+ callback({ Date: 20230509, Value: value });
942
+ };
943
+
944
+ HQData.BKJYOne_RequestData = function (data, callback) {
945
+ data.PreventDefault = true;
946
+ var symbol = data.Request.Data.symbol;
947
+ var id = data.Request.Data.Args[0];
948
+ var n = data.Request.Data.Args[1];
949
+ var year = data.Request.Data.Args[2];
950
+ var day = data.Request.Data.Args[3];
951
+
952
+ var value = HQData.GetRandomTestData(900, 2000);
953
+ callback({ Date: 20230509, Value: value });
954
+ };
955
+
956
+ HQData.FinValue_RequestData = function (data, callback) {
957
+ data.PreventDefault = true;
958
+ var symbol = data.Request.Data.symbol;
959
+ var id = data.Request.Data.Args[0];
960
+
961
+ var aryData = [];
962
+ var kData = data.Self.Data;
963
+ for (var i = 0; i < kData.Data.length; ++i) {
964
+ var kItem = kData.Data[i];
965
+ if (i % 60 == 21) {
966
+ var value = HQData.GetRandomTestData(10, 20);
967
+ aryData.push({ Date: kItem.Date, Time: kItem.Time, Value: value });
968
+ }
969
+ }
970
+
971
+ callback(aryData);
972
+ };
973
+
974
+ HQData.FinOne_RequestData = function (data, callback) {
975
+ data.PreventDefault = true;
976
+ var symbol = data.Request.Data.symbol;
977
+ var id = data.Request.Data.Args[0];
978
+ var year = data.Request.Data.Args[1];
979
+ var day = data.Request.Data.Args[2];
980
+
981
+ var value = HQData.GetRandomTestData(80, 90);
982
+ callback({ Date: 20230509, Value: value });
983
+ };
984
+
985
+ //////////////////////////////////////////////////////////////////////////////////////
986
+ // 报价列表
987
+ //
988
+ //
989
+ /////////////////////////////////////////////////////////////////////////////////////
990
+
991
+ //码表
992
+ HQData.Report_RequestStockListData = function (data, callback) {
993
+ data.PreventDefault = true;
994
+
995
+ var hqchartData = { data: [] };
996
+
997
+ if (IFrameSplitOperator.IsNonEmptyArray(_shsz_stock_data.SHSZ_STOCK_LIST_TEST_DATA.symbol)) {
998
+ //0=证券代码 1=股票名称
999
+ for (var i = 0; i < _shsz_stock_data.SHSZ_STOCK_LIST_TEST_DATA.symbol.length; ++i) {
1000
+ var symbol = _shsz_stock_data.SHSZ_STOCK_LIST_TEST_DATA.symbol[i];
1001
+ var name = _shsz_stock_data.SHSZ_STOCK_LIST_TEST_DATA.name[i];
1002
+ var item = [symbol, name];
1003
+ //item[88]=1;
1004
+ hqchartData.data.push(item);
1005
+ }
1006
+ }
1007
+
1008
+ console.log("[HQData.Report_RequestStockListData] hqchartData", hqchartData);
1009
+ callback(hqchartData);
1010
+ };
1011
+
1012
+ //空码表
1013
+ HQData.Report_RequestStockListData_Empty = function (data, callback) {
1014
+ data.PreventDefault = true;
1015
+ var hqchartData = { data: [] };
1016
+ console.log("[HQData.Report_RequestStockListData_EMPTY] hqchartData", hqchartData);
1017
+ callback(hqchartData);
1018
+ };
1019
+
1020
+ HQData.Report_RequestMemberVirtualListData = function (data, callback, option) {
1021
+ var symbol = data.Request.Data.symbol; //板块代码
1022
+ data.PreventDefault = true;
1023
+
1024
+ var hqchartData = { symbol: symbol, name: symbol, data: [], code: 0, Virtual: { Count: option.Virtual.Count } };
1025
+
1026
+ for (var i = 0; i < _shsz_stock_data.SHSZ_STOCK_LIST_TEST_DATA.symbol.length && i < 50; ++i) {
1027
+ hqchartData.data.push(_shsz_stock_data.SHSZ_STOCK_LIST_TEST_DATA.symbol[i]);
1028
+ }
1029
+
1030
+ callback(hqchartData);
1031
+ };
1032
+
1033
+ //板块|行业等成分列表
1034
+ HQData.Report_RequestMemberListDat = function (data, callback) {
1035
+ var symbol = data.Request.Data.symbol; //板块代码
1036
+ data.PreventDefault = true;
1037
+
1038
+ var hqchartData = { symbol: symbol, name: symbol, data: [], code: 0 };
1039
+ var testDataCount = _shsz_stock_data.SHSZ_STOCK_LIST_TEST_DATA.symbol.length;
1040
+ var testIndex = Math.round(Math.random() * (testDataCount - 100));
1041
+ var count = parseInt(Math.random() * 200 + 100);;
1042
+
1043
+ for (var i = testIndex, j = 0; i < _shsz_stock_data.SHSZ_STOCK_LIST_TEST_DATA.symbol.length && j < count; ++i, ++j) {
1044
+ hqchartData.data.push(_shsz_stock_data.SHSZ_STOCK_LIST_TEST_DATA.symbol[i]);
1045
+ }
1046
+
1047
+ callback(hqchartData);
1048
+ };
1049
+
1050
+ HQData.Report_RequestStockData = function (data, callback) {
1051
+ var stocks = data.Request.Data.stocks; //股票列表
1052
+ data.PreventDefault = true;
1053
+
1054
+ setTimeout(function () {
1055
+ var mapStock = new _map2.default();
1056
+ for (var i = 0; i < stocks.length; ++i) {
1057
+ var item = stocks[i];
1058
+ mapStock.set(item.Symbol, { Symbol: item.Symbol, Data: null });
1059
+ }
1060
+
1061
+ if (IFrameSplitOperator.IsNonEmptyArray(_shsz_stock_data.SHSZ_STOCK_LIST_TEST_DATA.symbol)) {
1062
+ for (var i = 0; i < _shsz_stock_data.SHSZ_STOCK_LIST_TEST_DATA.symbol.length; ++i) {
1063
+ var symbol = _shsz_stock_data.SHSZ_STOCK_LIST_TEST_DATA.symbol[i];
1064
+ if (!mapStock.has(symbol)) continue;
1065
+ var item = mapStock.get(symbol);
1066
+ var name = _shsz_stock_data.SHSZ_STOCK_LIST_TEST_DATA.name[i];
1067
+ var price = _shsz_stock_data.SHSZ_STOCK_LIST_TEST_DATA.close[i];
1068
+ var vol = _shsz_stock_data.SHSZ_STOCK_LIST_TEST_DATA.vol[i];
1069
+ var newItem = [symbol, name, _shsz_stock_data.SHSZ_STOCK_LIST_TEST_DATA.yclose[i], _shsz_stock_data.SHSZ_STOCK_LIST_TEST_DATA.open[i], _shsz_stock_data.SHSZ_STOCK_LIST_TEST_DATA.high[i], _shsz_stock_data.SHSZ_STOCK_LIST_TEST_DATA.low[i], price, vol, _shsz_stock_data.SHSZ_STOCK_LIST_TEST_DATA.amount[i]];
1070
+
1071
+ //买价 量
1072
+ newItem[9] = price + 0.05;
1073
+ newItem[10] = 10;
1074
+
1075
+ //卖价 量
1076
+ newItem[11] = price - 0.06;
1077
+ newItem[12] = 5;
1078
+
1079
+ //均价
1080
+ newItem[13] = price - 0.03;
1081
+
1082
+ //内盘
1083
+ newItem[18] = vol / 4;
1084
+ //外盘
1085
+ newItem[19] = vol / 5;
1086
+
1087
+ newItem[14] = vol * 1.5; //流通股本
1088
+ newItem[15] = vol * 1.8; //总股本
1089
+
1090
+ //换手率
1091
+ newItem[23] = Math.round(Math.random() * 60) / 100;
1092
+
1093
+ //名字字段
1094
+ var symbolEx = { Text: name };
1095
+ if (i % 20 == 5) symbolEx.Symbol = { Family: 'iconfont', Size: 16, Data: [{ Text: "\uE629", Color: 'rgb(255,165,0)' }, { Text: "\uE627", Color: '#1c65db' }] };else if (i % 20 == 9) symbolEx.Symbol = { Family: 'iconfont', Size: 16, Data: [{ Text: "\uE629", Color: 'rgb(255,165,0)' }] };else if (i % 20 == 18) symbolEx.Symbol = { Family: 'iconfont', Size: 16, Data: [{ Text: "\uE627", Color: '#1c65db' }] };
1096
+
1097
+ newItem[27] = symbolEx;
1098
+
1099
+ newItem[38] = HQData.GetRandomTestData(10, 20000); //持仓量
1100
+ newItem[39] = HQData.GetRandomTestData(10, 100); //结算价
1101
+ newItem[40] = HQData.GetRandomTestData(10, 100); //昨结算价
1102
+ newItem[41] = HQData.GetRandomTestData(10, 20000); //开仓量
1103
+ newItem[42] = HQData.GetRandomTestData(10, 20000); //平仓量
1104
+
1105
+ //1,3,5,10,15 涨速%
1106
+ newItem[43] = HQData.GetRandomTestData(-90, 90);
1107
+ newItem[44] = HQData.GetRandomTestData(-90, 90);
1108
+ newItem[45] = HQData.GetRandomTestData(-90, 90);
1109
+ newItem[46] = HQData.GetRandomTestData(-90, 90);
1110
+ newItem[47] = HQData.GetRandomTestData(-90, 90);
1111
+
1112
+ //扩展数据 (定制数据)
1113
+ var extendData = [];
1114
+ newItem[30] = extendData;
1115
+
1116
+ //行业
1117
+ extendData[0] = "行业X";
1118
+ //地区
1119
+ extendData[1] = "地区X";
1120
+
1121
+ //PE|PB
1122
+ extendData[2] = Math.round(Math.random() * 60) / 100;
1123
+ extendData[3] = Math.round(Math.random() * 60) / 100;
1124
+ extendData[4] = Math.round(Math.random() * 60) / 100;
1125
+ extendData[5] = Math.round(Math.random() * 60) / 100;
1126
+
1127
+ //周涨幅
1128
+ extendData[6] = Math.round(Math.random() * 60) / 100;
1129
+ extendData[7] = Math.round(Math.random() * 60) / 100;
1130
+ extendData[8] = Math.round(Math.random() * 60) / 100;
1131
+
1132
+ newItem[101] = 105.0;
1133
+ newItem[201] = "A-[" + HQData.GetRandomTestData(-90, 90) + "]-B";
1134
+
1135
+ newItem[301] = HQData.GetRandomTestData(0, 100) / 100;
1136
+ newItem[302] = HQData.GetRandomTestData(0, 100) / 100;
1137
+
1138
+ item.Data = newItem;
1139
+ }
1140
+ }
1141
+
1142
+ var hqchartData = { data: [], code: 0 };
1143
+
1144
+ var _iteratorNormalCompletion = true;
1145
+ var _didIteratorError = false;
1146
+ var _iteratorError = undefined;
1147
+
1148
+ try {
1149
+ for (var _iterator = (0, _getIterator3.default)(mapStock), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
1150
+ var mapItem = _step.value;
1151
+
1152
+ var item = mapItem[1];
1153
+ if (!item.Data) continue;
1154
+
1155
+ hqchartData.data.push(item.Data);
1156
+ }
1157
+ } catch (err) {
1158
+ _didIteratorError = true;
1159
+ _iteratorError = err;
1160
+ } finally {
1161
+ try {
1162
+ if (!_iteratorNormalCompletion && _iterator.return) {
1163
+ _iterator.return();
1164
+ }
1165
+ } finally {
1166
+ if (_didIteratorError) {
1167
+ throw _iteratorError;
1168
+ }
1169
+ }
1170
+ }
1171
+
1172
+ callback(hqchartData);
1173
+ }, 500);
1174
+ };
1175
+
1176
+ HQData.Report_RequestStockSortData = function (data, callback) {
1177
+ var blockID = data.Request.Data.symbol; //板块代码
1178
+ var range = data.Request.Data.range; //排序范围
1179
+ var column = data.Request.Data.column; //排序列信息
1180
+ var sortType = data.Request.Data.sort; //排序方向
1181
+ var pageSize = data.Request.Data.pageSize;
1182
+ data.PreventDefault = true;
1183
+
1184
+ var start = range.start;
1185
+ var end = range.end;
1186
+ if (start > 0) start -= pageSize;
1187
+ if (start < 0) start = 0;
1188
+ end += pageSize;
1189
+
1190
+ var aryData = data.Self.Data.Data.slice(); //所有的股票
1191
+ var mapStock = new _map2.default();
1192
+ var count = end - start + 1;
1193
+ for (var i = 0; i < count; i++) {
1194
+ var index = Math.floor(Math.random() * (aryData.length - 1));
1195
+ var symbol = aryData[index];
1196
+ mapStock.set(symbol, { Symbol: symbol, Index: i + start, Data: null });
1197
+ aryData.splice(index, 1);
1198
+ }
1199
+
1200
+ if (IFrameSplitOperator.IsNonEmptyArray(_shsz_stock_data.SHSZ_STOCK_LIST_TEST_DATA.symbol)) {
1201
+ for (var i = 0; i < _shsz_stock_data.SHSZ_STOCK_LIST_TEST_DATA.symbol.length; ++i) {
1202
+ var symbol = _shsz_stock_data.SHSZ_STOCK_LIST_TEST_DATA.symbol[i];
1203
+ if (!mapStock.has(symbol)) continue;
1204
+ var item = mapStock.get(symbol);
1205
+ var name = _shsz_stock_data.SHSZ_STOCK_LIST_TEST_DATA.name[i];
1206
+ var price = _shsz_stock_data.SHSZ_STOCK_LIST_TEST_DATA.close[i];
1207
+ var vol = _shsz_stock_data.SHSZ_STOCK_LIST_TEST_DATA.vol[i];
1208
+ var newItem = [symbol, name, _shsz_stock_data.SHSZ_STOCK_LIST_TEST_DATA.yclose[i], _shsz_stock_data.SHSZ_STOCK_LIST_TEST_DATA.open[i], _shsz_stock_data.SHSZ_STOCK_LIST_TEST_DATA.high[i], _shsz_stock_data.SHSZ_STOCK_LIST_TEST_DATA.low[i], price, vol, _shsz_stock_data.SHSZ_STOCK_LIST_TEST_DATA.amount[i]];
1209
+
1210
+ //买价 量
1211
+ newItem[9] = price + 0.05;
1212
+ newItem[10] = 10;
1213
+
1214
+ //卖价 量
1215
+ newItem[11] = price - 0.06;
1216
+ newItem[12] = 5;
1217
+
1218
+ //均价
1219
+ newItem[13] = price - 0.03;
1220
+
1221
+ //内盘
1222
+ newItem[18] = vol / 4;
1223
+ //外盘
1224
+ newItem[19] = vol / 5;
1225
+
1226
+ newItem[14] = vol * 1.5; //流通股本
1227
+ newItem[15] = vol * 1.8; //总股本
1228
+
1229
+ //换手率
1230
+ newItem[23] = Math.round(Math.random() * 60) / 100;
1231
+
1232
+ //名字字段
1233
+ var symbolEx = { Text: name };
1234
+ if (i % 20 == 5) symbolEx.Symbol = { Family: 'iconfont', Size: 16, Data: [{ Text: "\uE629", Color: 'rgb(255,165,0)' }, { Text: "\uE627", Color: '#1c65db' }] };else if (i % 20 == 9) symbolEx.Symbol = { Family: 'iconfont', Size: 16, Data: [{ Text: "\uE629", Color: 'rgb(255,165,0)' }] };else if (i % 20 == 18) symbolEx.Symbol = { Family: 'iconfont', Size: 16, Data: [{ Text: "\uE627", Color: '#1c65db' }] };
1235
+
1236
+ newItem[27] = symbolEx;
1237
+
1238
+ //扩展数据 (定制数据)
1239
+ var extendData = [];
1240
+ newItem[30] = extendData;
1241
+
1242
+ //行业
1243
+ extendData[0] = "行业X";
1244
+ //地区
1245
+ extendData[1] = "地区X";
1246
+
1247
+ //PE|PB
1248
+ extendData[2] = Math.round(Math.random() * 60) / 100;
1249
+ extendData[3] = Math.round(Math.random() * 60) / 100;
1250
+ extendData[4] = Math.round(Math.random() * 60) / 100;
1251
+ extendData[5] = Math.round(Math.random() * 60) / 100;
1252
+
1253
+ //周涨幅
1254
+ extendData[6] = Math.round(Math.random() * 60) / 100;
1255
+ extendData[7] = Math.round(Math.random() * 60) / 100;
1256
+ extendData[8] = Math.round(Math.random() * 60) / 100;
1257
+
1258
+ item.Data = newItem;
1259
+ }
1260
+ }
1261
+
1262
+ var hqchartData = { data: [], index: [], filedindex: column.index, sort: sortType, symbol: blockID };
1263
+
1264
+ var _iteratorNormalCompletion2 = true;
1265
+ var _didIteratorError2 = false;
1266
+ var _iteratorError2 = undefined;
1267
+
1268
+ try {
1269
+ for (var _iterator2 = (0, _getIterator3.default)(mapStock), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
1270
+ var mapItem = _step2.value;
1271
+
1272
+ var item = mapItem[1];
1273
+ if (!item.Data) continue;
1274
+
1275
+ hqchartData.data.push(item.Data);
1276
+ hqchartData.index.push(item.Index);
1277
+ }
1278
+ } catch (err) {
1279
+ _didIteratorError2 = true;
1280
+ _iteratorError2 = err;
1281
+ } finally {
1282
+ try {
1283
+ if (!_iteratorNormalCompletion2 && _iterator2.return) {
1284
+ _iterator2.return();
1285
+ }
1286
+ } finally {
1287
+ if (_didIteratorError2) {
1288
+ throw _iteratorError2;
1289
+ }
1290
+ }
1291
+ }
1292
+
1293
+ callback(hqchartData);
1294
+ };
1295
+
1296
+ HQData.Report_RequestVirtualStockData = function (data, callback) {
1297
+ var blockID = data.Request.Data.symbol; //板块代码
1298
+ var range = data.Request.Data.range; //排序范围
1299
+ var column = data.Request.Data.column; //排序列信息
1300
+ var sortType = data.Request.Data.sort; //排序方向
1301
+ var pageSize = data.Request.Data.pageSize;
1302
+ data.PreventDefault = true;
1303
+
1304
+ var start = range.start;
1305
+ var end = range.end;
1306
+ if (start > 0) start -= pageSize;
1307
+ if (start < 0) start = 0;
1308
+ end += pageSize;
1309
+
1310
+ var count = end - start + 1;
1311
+
1312
+ var aryData = [];
1313
+ var aryIndex = [];
1314
+
1315
+ if (IFrameSplitOperator.IsNonEmptyArray(_shsz_stock_data.SHSZ_STOCK_LIST_TEST_DATA.symbol)) {
1316
+ var randomStart = Math.floor(Math.random() * (_shsz_stock_data.SHSZ_STOCK_LIST_TEST_DATA.symbol.length - 1));
1317
+ var symbolCount = _shsz_stock_data.SHSZ_STOCK_LIST_TEST_DATA.symbol.length;
1318
+ for (var i = 0; i < count; ++i) {
1319
+ var dataIndex = (randomStart + i) % symbolCount;
1320
+ var symbol = _shsz_stock_data.SHSZ_STOCK_LIST_TEST_DATA.symbol[dataIndex];
1321
+ var name = _shsz_stock_data.SHSZ_STOCK_LIST_TEST_DATA.name[dataIndex];
1322
+ var price = _shsz_stock_data.SHSZ_STOCK_LIST_TEST_DATA.close[dataIndex];
1323
+ var vol = _shsz_stock_data.SHSZ_STOCK_LIST_TEST_DATA.vol[dataIndex];
1324
+ var newItem = [symbol, name, _shsz_stock_data.SHSZ_STOCK_LIST_TEST_DATA.yclose[dataIndex], _shsz_stock_data.SHSZ_STOCK_LIST_TEST_DATA.open[dataIndex], _shsz_stock_data.SHSZ_STOCK_LIST_TEST_DATA.high[dataIndex], _shsz_stock_data.SHSZ_STOCK_LIST_TEST_DATA.low[dataIndex], price, vol, _shsz_stock_data.SHSZ_STOCK_LIST_TEST_DATA.amount[dataIndex]];
1325
+
1326
+ //买价 量
1327
+ newItem[9] = price + 0.05;
1328
+ newItem[10] = 10;
1329
+
1330
+ //卖价 量
1331
+ newItem[11] = price - 0.06;
1332
+ newItem[12] = 5;
1333
+
1334
+ //均价
1335
+ newItem[13] = price - 0.03;
1336
+
1337
+ //内盘
1338
+ newItem[18] = vol / 4;
1339
+ //外盘
1340
+ newItem[19] = vol / 5;
1341
+
1342
+ newItem[14] = vol * 1.5; //流通股本
1343
+ newItem[15] = vol * 1.8; //总股本
1344
+
1345
+ //换手率
1346
+ newItem[23] = Math.round(Math.random() * 60) / 100;
1347
+
1348
+ //名字字段
1349
+ var symbolEx = { Text: name };
1350
+ if (i % 20 == 5) symbolEx.Symbol = { Family: 'iconfont', Size: 16, Data: [{ Text: "\uE629", Color: 'rgb(255,165,0)' }, { Text: "\uE627", Color: '#1c65db' }] };else if (i % 20 == 9) symbolEx.Symbol = { Family: 'iconfont', Size: 16, Data: [{ Text: "\uE629", Color: 'rgb(255,165,0)' }] };else if (i % 20 == 18) symbolEx.Symbol = { Family: 'iconfont', Size: 16, Data: [{ Text: "\uE627", Color: '#1c65db' }] };
1351
+
1352
+ newItem[27] = symbolEx;
1353
+
1354
+ //扩展数据 (定制数据)
1355
+ var extendData = [];
1356
+ newItem[30] = extendData;
1357
+
1358
+ //行业
1359
+ extendData[0] = "行业X";
1360
+ //地区
1361
+ extendData[1] = "地区X";
1362
+
1363
+ //PE|PB
1364
+ extendData[2] = Math.round(Math.random() * 60) / 100;
1365
+ extendData[3] = Math.round(Math.random() * 60) / 100;
1366
+ extendData[4] = Math.round(Math.random() * 60) / 100;
1367
+ extendData[5] = Math.round(Math.random() * 60) / 100;
1368
+
1369
+ //周涨幅
1370
+ extendData[6] = Math.round(Math.random() * 60) / 100;
1371
+ extendData[7] = Math.round(Math.random() * 60) / 100;
1372
+ extendData[8] = Math.round(Math.random() * 60) / 100;
1373
+
1374
+ newItem[351] = { Title: "启动" };
1375
+ newItem[352] = { Title: "加入" };
1376
+
1377
+ aryData.push(newItem);
1378
+ aryIndex.push(start + i);
1379
+ }
1380
+ }
1381
+
1382
+ var hqchartData = { data: aryData, index: aryIndex, filedindex: -1, sort: sortType, symbol: blockID };
1383
+
1384
+ if (column) hqchartData.filedindex = column.index;
1385
+
1386
+ callback(hqchartData);
1387
+ };
1388
+
1389
+ HQData.Keyboard_RequestSymbolList = function (data, callback) {
1390
+ //加载数据
1391
+ var recv = { symbollist: _symbollist_shsz.SYMBOL_LIST };
1392
+ var arySymbol = [];
1393
+ for (var i = 0; i < recv.symbollist.length; ++i) {
1394
+ var item = recv.symbollist[i];
1395
+ var shortSymbol = item[0];
1396
+ shortSymbol = shortSymbol.replace(".sh", "");
1397
+ shortSymbol = shortSymbol.replace(".sz", "");
1398
+ var symbolItem = { Symbol: item[0], Name: item[1], ShortSymbol: shortSymbol, Spell: item[3], Type: item[2], Data: { Symbol: item[0], Type: 0 } };
1399
+ if (symbolItem.Type == "EQA") {
1400
+ symbolItem.TypeName = "股票";
1401
+ } else if (symbolItem.Type == "IDX") {
1402
+ symbolItem.TypeName = "指数";
1403
+ symbolItem.Color = "rgb(30,144,255)";
1404
+ }
1405
+
1406
+ arySymbol.push(symbolItem);
1407
+ }
1408
+
1409
+ arySymbol.push({ Symbol: "ICL8.cfe", Name: "中证主连", ShortSymbol: "ICL8", Spell: "ICL8", Type: "期货", TypeName: "期货", Data: { Symbol: "ICL8.cfe", Type: 0 } });
1410
+ arySymbol.push({ Symbol: "IML8.cfe", Name: "中千主连", ShortSymbol: "IML8", Spell: "IML8", Type: "期货", TypeName: "期货", Data: { Symbol: "IML8.cfe", Type: 0 } });
1411
+ arySymbol.push({ Symbol: "IFL8.cfe", Name: "沪深主连", ShortSymbol: "IFL8", Spell: "IFL8", Type: "期货", TypeName: "期货", Data: { Symbol: "IFL8.cfe", Type: 0 } });
1412
+
1413
+ arySymbol.push({ Symbol: "01", Name: "分时成交明细", TypeName: "功能键", Priority: 1, Color: "rgb(220,20,60)", Data: { PageName: "分时成交明细", Type: 2 } });
1414
+ arySymbol.push({ Symbol: "02", Name: "分价表", TypeName: "功能键", Priority: 1, Color: "rgb(220,20,60)", Data: { PageName: "分价表", Type: 2 } });
1415
+ arySymbol.push({ Symbol: "06", Name: "自选股", TypeName: "功能键", Priority: 1, Color: "rgb(220,20,60)", Data: { PageName: "自选股", Type: 2 } });
1416
+
1417
+ arySymbol.push({ Symbol: "MACD", Name: "平滑异同平均线", TypeName: "指标", Priority: 2, Color: "rgb(0,144,255)", Data: { Index: "MACD", Type: 1 } });
1418
+ arySymbol.push({ Symbol: "RSI", Name: "相对强弱指标", TypeName: "指标", Priority: 2, Color: "rgb(0,144,255)", Data: { Index: "RSI", Type: 1 } });
1419
+ arySymbol.push({ Symbol: "MA", Name: "均线", TypeName: "指标", Priority: 2, Color: "rgb(0,144,255)", Data: { Index: "MA", Type: 1 } });
1420
+ arySymbol.push({ Symbol: "BOLL", Name: "布林线", TypeName: "指标", Priority: 2, Color: "rgb(0,144,255)", Data: { Index: "BOLL", Type: 1 } });
1421
+ arySymbol.push({ Symbol: "KDJ", Name: "随机指标", TypeName: "指标", Priority: 2, Color: "rgb(0,144,255)", Data: { Index: "KDJ", Type: 1 } });
1422
+ arySymbol.push({ Symbol: "SKDJ", Name: "慢速随机指标", TypeName: "指标", Priority: 2, Color: "rgb(0,144,255)", Data: { Index: "SKDJ", Type: 1 } });
1423
+ arySymbol.push({ Symbol: "KD", Name: "随机指标KD", TypeName: "指标", Priority: 2, Color: "rgb(0,144,255)", Data: { Index: "KD", Type: 1 } });
1424
+ arySymbol.push({ Symbol: "MARSI", Name: "相对强弱平均线", TypeName: "指标", Priority: 2, Color: "rgb(0,144,255)", Data: { Index: "MARSI", Type: 1 } });
1425
+ arySymbol.push({ Symbol: "VMACD", Name: "量平滑异同平均", TypeName: "指标", Priority: 2, Color: "rgb(0,144,255)", Data: { Index: "VMACD", Type: 1 } });
1426
+ arySymbol.push({ Symbol: "AMO", Name: "成交金额", TypeName: "指标", Priority: 2, Color: "rgb(0,144,255)", Data: { Index: "AMO", Type: 1 } });
1427
+ arySymbol.push({ Symbol: "SQJZ", Name: "神奇九转", TypeName: "指标", Priority: 2, Color: "rgb(0,144,255)", Data: { Index: "SQJZ", Type: 1 } });
1428
+
1429
+ callback(arySymbol);
1430
+ };
1431
+
1432
+ HQData.GetRandomTestData = function (min, max) //测试数据
1433
+ {
1434
+ min = Math.ceil(min);
1435
+ max = Math.floor(max);
1436
+ return Math.floor(Math.random() * (max - min + 1)) + min; //含最大值,含最小值
1437
+ };
1438
+
1439
+ HQData.GetM1KLineDataBySymbol = function (symbol) {
1440
+ var data = null;
1441
+ switch (symbol) {
1442
+ case "000001.sh":
1443
+ data = _shMinuteKline.SH_000001_M1_KLINE;
1444
+ break;
1445
+ case "000300.sh":
1446
+ data = _shMinuteKline2.SH_000300_M1_KLINE;
1447
+ break;
1448
+ case "399001.sz":
1449
+ data = _szMinuteKline3.SZ_399001_M1_KLINE;
1450
+ break;
1451
+ case "000001.sz":
1452
+ data = _szMinuteKline.SZ_000001_M1_KLINE;
1453
+ break;
1454
+ case "600000.sh":
1455
+ data = _shMinuteKline3.SH_600000_M1_KLINE;
1456
+ break;
1457
+ case "000151.sz":
1458
+ data = _szMinuteKline2.SZ_000151_M1_KLINE;
1459
+ break;
1460
+ case "399005.sz":
1461
+ data = _szMinuteKline4.SZ_399005_M1_KLINE;
1462
+ break;
1463
+ case "399006.sz":
1464
+ data = _szMinuteKline5.SZ_399006_M1_KLINE;
1465
+ break;
1466
+ case "ICL8.cfe":
1467
+ data = CFE_ICL8_M1_KLINE;
1468
+ break;
1469
+ case "IML8.cfe":
1470
+ data = CFE_IML8_M1_KLINE;
1471
+ break;
1472
+ case "IFL8.cfe":
1473
+ data = CFE_IFL8_M1_KLINE;
1474
+ break;
1475
+ default:
1476
+ data = _szMinuteKline.SZ_000001_M1_KLINE;
1477
+ break;
1478
+ }
1479
+
1480
+ if (!data) return null;
1481
+
1482
+ return data.data;
1483
+ };
1484
+
1485
+ HQData.GetDayKLineDataBySymbol = function (symbol) {
1486
+ var data = null;
1487
+ switch (symbol) {
1488
+ case "000001.sh":
1489
+ data = _shDayKline.SH_000001_DAY_KLINE;
1490
+ break;
1491
+ case "000300.sh":
1492
+ data = _shDayKline2.SH_000300_DAY_KLINE;
1493
+ break;
1494
+
1495
+ case "399001.sz":
1496
+ data = _szDayKline3.SZ_399001_DAY_KLINE;
1497
+ break;
1498
+ case "000001.sz":
1499
+ data = _szDayKline.SZ_000001_DAY_KLINE;
1500
+ break;
1501
+ case "600000.sh":
1502
+ data = _shDayKline3.SH_600000_DAY_KLINE;
1503
+ break;
1504
+ case "000151.sz":
1505
+ data = _szDayKline2.SZ_000151_DAY_KLINE;
1506
+ break;
1507
+ case "399005.sz":
1508
+ data = _szDayKline4.SZ_399005_DAY_KLINE;
1509
+ break;
1510
+ case "399006.sz":
1511
+ data = _szDayKline5.SZ_399006_DAY_KLINE;
1512
+ break;
1513
+ case "ICL8.cfe":
1514
+ data = CFE_ICL8_DAY_KLINE;
1515
+ break;
1516
+ case "IML8.cfe":
1517
+ data = CFE_IML8_DAY_KLINE;
1518
+ break;
1519
+ case "IFL8.cfe":
1520
+ data = CFE_IFL8_DAY_KLINE;
1521
+ break;
1522
+ default:
1523
+ data = _szDayKline.SZ_000001_DAY_KLINE;
1524
+ break;
1525
+ }
1526
+
1527
+ if (!data) return null;
1528
+
1529
+ return data.data;
1530
+ };
1531
+
1532
+ HQData.GetKLineDataByDateTime = function (fullData, startDate, startTime, endDate, endTime) {
1533
+ var start = startDate * 10000 + startTime;
1534
+ var end = endDate * 10000 + endTime;
1535
+
1536
+ var aryData = [];
1537
+ for (var i = 0; i < fullData.length; ++i) {
1538
+ var kItem = fullData[i];
1539
+ var date = kItem[0];
1540
+ var time = kItem[8];
1541
+ var dateTime = date * 10000 + time;
1542
+ if (dateTime >= start && dateTime <= end) aryData.push(kItem);
1543
+ }
1544
+
1545
+ return aryData;
1546
+ };
1547
+
1548
+ HQData.GetKLineDataByDate = function (fullData, startDate, endDate) {
1549
+ var aryData = [];
1550
+ for (var i = 0; i < fullData.length; ++i) {
1551
+ var kItem = fullData[i];
1552
+ var date = kItem[0];
1553
+ if (date >= startDate && date <= endDate) aryData.push(kItem);
1554
+ }
1555
+
1556
+ return aryData;
1557
+ };
1558
+
1559
+ HQData.GetDayMinuteDataBySymbol = function (symbol) {
1560
+ var data = null;
1561
+ switch (symbol) {
1562
+ case "000001.sz":
1563
+ data = _sz1dayMinute.SZ_000001_1DAY_MINUTE;
1564
+ break;
1565
+ case "600000.sh":
1566
+ data = _sh1dayMinute.SH_600000_1DAY_MINUTE;
1567
+ break;
1568
+ case "000151.sz":
1569
+ data = _sz1dayMinute2.SZ_000151_1DAY_MINUTE;
1570
+ break;
1571
+ default:
1572
+ data = _sz1dayMinute2.SZ_000151_1DAY_MINUTE;
1573
+ break;
1574
+ }
1575
+
1576
+ if (!data) return null;
1577
+
1578
+ /*
1579
+ var aryMinute=[];
1580
+ for(var i=0;i<data.stock[0].minute.length;++i)
1581
+ {
1582
+ var item=data.stock[0].minute[i];
1583
+ var newItem=
1584
+ {
1585
+ price:item.price,
1586
+ open:item.open,
1587
+ low:item.low,
1588
+ high:item.high,
1589
+ vol:item.vol,
1590
+ amount:item.amount,
1591
+ time:item.time,
1592
+ }
1593
+ aryMinute.push(newItem);
1594
+ }
1595
+ data.stock[0].minute=aryMinute;
1596
+ */
1597
+
1598
+ return data.stock;
1599
+ };
1600
+
1601
+ HQData.GetMulitDayMinuteDataBySymbol = function (symbol) {
1602
+ var data = null;
1603
+ switch (symbol) {
1604
+ case "000001.sz":
1605
+ data = _sz5dayMinute.SZ_000001_5DAY_MINUTE;
1606
+ break;
1607
+ case "600000.sh":
1608
+ data = _sh5dayMinute.SH_600000_5DAY_MINUTE;
1609
+ break;
1610
+ case "000151.sz":
1611
+ data = _sz5dayMinute2.SZ_000151_5DAY_MINUTE;
1612
+ break;
1613
+ default:
1614
+ data = _sz5dayMinute2.SZ_000151_5DAY_MINUTE;
1615
+ break;
1616
+ }
1617
+
1618
+ if (!data) return null;
1619
+
1620
+ /*
1621
+ var aryDay=[];
1622
+ for(var i=0;i<data.data.length;++i)
1623
+ {
1624
+ var dayItem=data.data[i];
1625
+
1626
+ var newDayItem={ minute:[], date:dayItem.date, close:dayItem.close, yclose:dayItem.yclose };
1627
+ for(var j=0;j<dayItem.minute.length;++j)
1628
+ {
1629
+ var item=dayItem.minute[j];
1630
+ newDayItem.minute[j]=item.slice(0,7);
1631
+ }
1632
+ aryDay.push(newDayItem);
1633
+ }
1634
+ data.data=aryDay;
1635
+ */
1636
+
1637
+ return data.data;
1638
+ };
1639
+
1640
+ HQData.GetMulitDayMinuteDataByDate = function (aryDay, aryDate) {
1641
+ var aryData = [];
1642
+ if (!IFrameSplitOperator.IsNonEmptyArray(aryDay)) return aryData;
1643
+
1644
+ for (var i = 0; i < aryDay.length; ++i) {
1645
+ var item = aryDay[i];
1646
+ if (aryDate.includes(item.date)) {
1647
+ aryData.push(item);
1648
+ }
1649
+ }
1650
+
1651
+ return aryData;
1652
+ };
1653
+
1654
+ /*暴露外部用的方法*/
1655
+ exports.default = {
1656
+ HQData: HQData
1657
+ };