hqchart 1.1.14211 → 1.1.14215

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