hqchart 1.1.12831 → 1.1.12840

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.
@@ -0,0 +1,70 @@
1
+ var TEST_TRADE_DETAL_DATA={
2
+ "stock": [
3
+ {
4
+ "count": 4,
5
+ "stockday": [
6
+ {
7
+ "date": 20160311,
8
+ "tradedetail": [
9
+ {
10
+ "type": 3,
11
+ "typeexplain": "跌幅偏离值达7%的证券"
12
+ }
13
+ ],
14
+ "fweek": {
15
+ "week1": 4.3017088980553915,
16
+ "week4": 3.7124337065409545
17
+ }
18
+ },
19
+ {
20
+ "date": 20170908,
21
+ "tradedetail": [
22
+ {
23
+ "type": 6,
24
+ "typeexplain": "单只标的证券的当日融资买入数量达到当日该证券总交易量的50%以上"
25
+ }
26
+ ],
27
+ "fweek": {
28
+ "week1": -1.3814274750575595,
29
+ "week4": 0.15349194167306215
30
+ }
31
+ },
32
+ {
33
+ "date": 20170927,
34
+ "tradedetail": [
35
+ {
36
+ "type": 6,
37
+ "typeexplain": "单只标的证券的当日融资买入数量达到当日该证券总交易量的50%以上"
38
+ }
39
+ ],
40
+ "fweek": {
41
+ "week1": 1.9455252918287937,
42
+ "week4": -1.867704280155642
43
+ }
44
+ },
45
+ {
46
+ "date": 20171110,
47
+ "tradedetail": [
48
+ {
49
+ "type": 6,
50
+ "typeexplain": "单只标的证券的当日融资买入数量达到当日该证券总交易量的50%以上"
51
+ }
52
+ ],
53
+ "fweek": {
54
+ "week1": -1.9002375296912115,
55
+ "week4": 2.6128266033254155
56
+ }
57
+ }
58
+ ],
59
+ "symbol": "600000.sh",
60
+ "name": "浦发银行"
61
+ }
62
+ ],
63
+ "start": 0,
64
+ "end": 0,
65
+ "count": 1,
66
+ "ticket": 0,
67
+
68
+ "message": null,
69
+ "code": 0,
70
+ }
@@ -42,6 +42,29 @@ HQData.NetworkFilter=function(data, callback)
42
42
  case "JSSymbolData::GetVariantData": //额外的变量数据
43
43
  HQData.RequestIndexVariantData(data,callback);
44
44
  break;
45
+
46
+ case "AnnouncementInfo::RequestData":
47
+ HQData.AnnouncementInfo_RequestData(data,callback);
48
+ break;
49
+
50
+ case "PforecastInfo::RequestData":
51
+ HQData.PforecastInfo_RequestData(data,callback);
52
+ break;
53
+
54
+ case "InvestorInfo::RequestData":
55
+ HQData.InvestorInfo_RequestData(data,callback);
56
+ break;
57
+
58
+ case "ResearchInfo::RequestData":
59
+ break;
60
+
61
+ case "BlockTrading::RequestData":
62
+ HQData.BlockTrading_RequestData(data,callback);
63
+ break;
64
+
65
+ case "TradeDetail::RequestData":
66
+ HQData.TradeDetail_RequestData(data,callback);
67
+ break;
45
68
  }
46
69
  }
47
70
 
@@ -167,3 +190,74 @@ HQData.RequestIndexVariantData=function(data,callback)
167
190
  }
168
191
 
169
192
  }
193
+
194
+ HQData.AnnouncementInfo_RequestData=function(data,callback)
195
+ {
196
+ data.PreventDefault=true;
197
+ var symbol=data.Request.Symbol;
198
+
199
+ var hqchartData={ symbol:symbol, report:[] };
200
+
201
+ var kData=data.HQChart.ChartPaint[0].Data;
202
+ for(var i=0, j=1;i<kData.Data.length;++i)
203
+ {
204
+ var kItem=kData.Data[i];
205
+ if (i%10!=4) continue;
206
+
207
+ var itemReport={ releasedate:kItem.Date, time:kItem.Time, title:`公告(${j}) xxxx`, }
208
+
209
+ hqchartData.report.push(itemReport);
210
+
211
+ ++j;
212
+ }
213
+
214
+ callback(hqchartData);
215
+ }
216
+
217
+
218
+ HQData.PforecastInfo_RequestData=function(data,callback)
219
+ {
220
+ data.PreventDefault=true;
221
+ var symbol=data.Request.Symbol;
222
+
223
+ var hqchartData={ symbol:symbol, report:[] };
224
+
225
+ var kData=data.HQChart.ChartPaint[0].Data;
226
+ for(var i=0, j=1;i<kData.Data.length;++i)
227
+ {
228
+ var kItem=kData.Data[i];
229
+ if (i%10!=4) continue;
230
+
231
+ var itemReport={ date:kItem.Date, time:kItem.Time, title:`公告(${j}) xxxx`, }
232
+
233
+ hqchartData.report.push(itemReport);
234
+
235
+ ++j;
236
+ }
237
+
238
+ callback(hqchartData);
239
+ }
240
+
241
+ HQData.InvestorInfo_RequestData=function(data,callback)
242
+ {
243
+ data.PreventDefault=true;
244
+ var symbol=data.Request.Symbol;
245
+
246
+ callback(TEST_NEWSINTERACT_DATA);
247
+ }
248
+
249
+ HQData.BlockTrading_RequestData=function(data,callback)
250
+ {
251
+ data.PreventDefault=true;
252
+ var symbol=data.Request.Symbol;
253
+
254
+ callback(TEST_BLOCK_TRADING_DATA);
255
+ }
256
+
257
+ HQData.TradeDetail_RequestData=function(data,callback)
258
+ {
259
+ data.PreventDefault=true;
260
+ var symbol=data.Request.Symbol;
261
+
262
+ callback(TEST_TRADE_DETAL_DATA);
263
+ }
@@ -37722,49 +37722,37 @@ function ChartMACD()
37722
37722
  return this.PtInBar(x, y, { BarWidth:barWidth })
37723
37723
  }
37724
37724
 
37725
- this.Draw=function()
37725
+ this.DrawBars=function(lineWidth, bUpBar)
37726
37726
  {
37727
- if (!this.IsShow || this.ChartFrame.IsMinSize || !this.IsVisible) return;
37728
- if (this.IsShowIndexTitleOnly()) return;
37729
- if (this.IsHideScriptIndex()) return;
37730
-
37731
- if (this.NotSupportMessage)
37732
- {
37733
- this.DrawNotSupportmessage();
37734
- return;
37735
- }
37736
-
37737
- if (this.ChartFrame.IsHScreen===true)
37738
- {
37739
- this.HScreenDraw();
37740
- return;
37741
- }
37742
-
37743
37727
  var isMinute=this.IsMinuteFrame();
37728
+ var border=this.ChartBorder.GetBorder();
37744
37729
  var dataWidth=this.ChartFrame.DataWidth;
37745
37730
  var distanceWidth=this.ChartFrame.DistanceWidth;
37746
- var border=this.ChartBorder.GetBorder();
37731
+ var xPointCount=this.ChartFrame.XPointCount;
37747
37732
  var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;
37733
+
37748
37734
  var chartright=border.RightEx;
37749
- var xPointCount=this.ChartFrame.XPointCount;
37750
37735
  var lockRect=this.GetLockRect();
37751
37736
  if (lockRect) chartright=lockRect.Left;
37752
37737
 
37753
- var bFirstPoint=true;
37754
- var drawCount=0;
37738
+ if (bUpBar) this.Canvas.strokeStyle=this.UpColor;
37739
+ else this.Canvas.strokeStyle=this.DownColor;
37740
+
37755
37741
  var yBottom=this.ChartFrame.GetYFromData(0);
37756
-
37757
- var lineWidth=this.LineWidth*GetDevicePixelRatio();
37758
- if (this.LineWidth==50) lineWidth=dataWidth;
37759
- else if (lineWidth>dataWidth) lineWidth=dataWidth;
37760
-
37761
- var backupLineWidth=this.Canvas.lineWidth;
37762
- this.Canvas.lineWidth=lineWidth;
37742
+ this.Canvas.beginPath();
37743
+ var drawCount=0;
37763
37744
  for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j,xOffset+=(dataWidth+distanceWidth))
37764
- //for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j)
37765
37745
  {
37766
37746
  var value=this.Data.Data[i];
37767
37747
  if (value==null) continue;
37748
+ if (bUpBar)
37749
+ {
37750
+ if (value<0) continue;
37751
+ }
37752
+ else
37753
+ {
37754
+ if (value>=0) continue;
37755
+ }
37768
37756
 
37769
37757
  if (isMinute)
37770
37758
  {
@@ -37777,21 +37765,49 @@ function ChartMACD()
37777
37765
  if (right>chartright) break;
37778
37766
  var x=left+(right-left)/2;
37779
37767
  }
37780
- var y=this.ChartFrame.GetYFromData(value);
37781
37768
 
37782
37769
  if (x>chartright) break;
37783
37770
 
37771
+ var y=this.ChartFrame.GetYFromData(value);
37784
37772
  var xFix=ToFixedPoint2(lineWidth, x); //毛边修正
37785
- this.Canvas.beginPath();
37786
37773
  this.Canvas.moveTo(xFix,yBottom);
37787
37774
  this.Canvas.lineTo(xFix,y);
37775
+ ++drawCount;
37776
+ }
37788
37777
 
37789
- if (value>=0) this.Canvas.strokeStyle=this.UpColor;
37790
- else this.Canvas.strokeStyle=this.DownColor;
37791
- this.Canvas.stroke();
37792
- this.Canvas.closePath();
37778
+ if (drawCount>0) this.Canvas.stroke();
37779
+ }
37780
+
37781
+ this.Draw=function()
37782
+ {
37783
+ if (!this.IsShow || this.ChartFrame.IsMinSize || !this.IsVisible) return;
37784
+ if (this.IsShowIndexTitleOnly()) return;
37785
+ if (this.IsHideScriptIndex()) return;
37786
+
37787
+ if (this.NotSupportMessage)
37788
+ {
37789
+ this.DrawNotSupportmessage();
37790
+ return;
37791
+ }
37792
+
37793
+ if (this.ChartFrame.IsHScreen===true)
37794
+ {
37795
+ this.HScreenDraw();
37796
+ return;
37793
37797
  }
37794
37798
 
37799
+ var dataWidth=this.ChartFrame.DataWidth;
37800
+ var lineWidth=this.LineWidth*GetDevicePixelRatio();
37801
+ if (this.LineWidth==50) lineWidth=dataWidth;
37802
+ else if (lineWidth>dataWidth) lineWidth=dataWidth;
37803
+
37804
+ var backupLineWidth=this.Canvas.lineWidth;
37805
+ this.Canvas.lineWidth=lineWidth;
37806
+
37807
+ //上下分开画
37808
+ this.DrawBars(lineWidth, true);
37809
+ this.DrawBars(lineWidth, false);
37810
+
37795
37811
  this.Canvas.lineWidth=backupLineWidth;
37796
37812
  }
37797
37813
 
@@ -40117,38 +40133,95 @@ function ChartMultiText()
40117
40133
  this.Color=g_JSChartResource.DefaultTextColor;
40118
40134
  this.IsHScreen=false; //是否横屏
40119
40135
 
40120
- this.Draw=function()
40136
+ this.BuildKey=function(item)
40121
40137
  {
40122
- if (!this.IsShow || this.ChartFrame.IsMinSize) return;
40123
- if (!this.Data || this.Data.length<=0) return;
40124
- if (!this.Texts) return;
40138
+ if (IFrameSplitOperator.IsNumber(item.Time))
40139
+ {
40140
+ var key=`${kItem.Date}-${item.Time}`;
40141
+ }
40142
+ else
40143
+ {
40144
+ var key=`${item.Date}`;
40145
+ }
40146
+
40147
+ return key;
40148
+ }
40125
40149
 
40126
- this.IsHScreen=(this.ChartFrame.IsHScreen===true);
40150
+ this.GetShowTextData=function()
40151
+ {
40127
40152
  var xPointCount=this.ChartFrame.XPointCount;
40128
40153
  var offset=this.Data.DataOffset;
40129
- var left=this.ChartBorder.GetLeft();
40130
- var right=this.ChartBorder.GetRight();
40131
- var top=this.ChartBorder.GetTopEx();
40132
- var bottom=this.ChartBorder.GetBottomEx();
40133
-
40134
- if (this.IsHScreen)
40135
- {
40136
- left=this.ChartBorder.GetTop();
40137
- right=this.ChartBorder.GetBottom();
40138
- }
40139
40154
 
40140
- var y=0;
40155
+ var mapText=new Map(); //key='date-time' value={ Data:[] }
40141
40156
  for(var i=0; i<this.Texts.length; ++i)
40142
40157
  {
40143
40158
  var item=this.Texts[i];
40144
-
40145
40159
  if (!item.Text) continue;
40146
40160
  if (!IFrameSplitOperator.IsNumber(item.Index)) continue;
40147
40161
 
40148
40162
  var index=item.Index-offset;
40149
40163
  if (index>=0 && index<xPointCount)
40150
40164
  {
40151
- var x=this.ChartFrame.GetXFromIndex(index);
40165
+ var key=this.BuildKey(item);
40166
+ if (mapText.has(key))
40167
+ {
40168
+ var textItem=mapText.get(key);
40169
+ textItem.Data.push(item);
40170
+ }
40171
+ else
40172
+ {
40173
+ var textItem={ Data:[item] };
40174
+ mapText.set(key, textItem);
40175
+ }
40176
+ }
40177
+ }
40178
+
40179
+ return mapText;
40180
+ }
40181
+
40182
+ this.DrawAllText=function(mapText)
40183
+ {
40184
+ var bHScreen=(this.ChartFrame.IsHScreen===true);
40185
+ var isMinute=this.IsMinuteFrame();
40186
+ var dataWidth=this.ChartFrame.DataWidth;
40187
+ var distanceWidth=this.ChartFrame.DistanceWidth;
40188
+ var xPointCount=this.ChartFrame.XPointCount;
40189
+
40190
+ if (bHScreen)
40191
+ {
40192
+ var border=this.ChartBorder.GetHScreenBorder();
40193
+ var chartright=border.BottomEx;
40194
+ var xOffset=border.TopEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;
40195
+ var left=this.ChartBorder.GetTop();
40196
+ var right=this.ChartBorder.GetBottom();
40197
+ }
40198
+ else
40199
+ {
40200
+ var border=this.ChartBorder.GetBorder();
40201
+ var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;
40202
+ var chartright=border.RightEx;
40203
+ var left=this.ChartBorder.GetLeft();
40204
+ var right=this.ChartBorder.GetRight();
40205
+ }
40206
+
40207
+ for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j,xOffset+=(dataWidth+distanceWidth))
40208
+ {
40209
+ var kItem=this.Data.Data[i];
40210
+ if (!kItem) continue;
40211
+
40212
+ var key=this.BuildKey(kItem);
40213
+ if (!mapText.has(key)) continue;
40214
+
40215
+ var left=xOffset;
40216
+ var right=xOffset+dataWidth;
40217
+ if (right>chartright) break;
40218
+ var x=left+(right-left)/2;
40219
+
40220
+ var textItem=mapText.get(key);
40221
+ for(var k=0;k<textItem.Data.length;++k)
40222
+ {
40223
+ var item=textItem.Data[k];
40224
+
40152
40225
  if (item.Value=="TOP") y=top;
40153
40226
  else if (item.Value=="BOTTOM") y=bottom;
40154
40227
  else y=this.ChartFrame.GetYFromData(item.Value);
@@ -40230,6 +40303,20 @@ function ChartMultiText()
40230
40303
  }
40231
40304
  }
40232
40305
 
40306
+ this.Draw=function()
40307
+ {
40308
+ if (!this.IsShow || this.ChartFrame.IsMinSize) return;
40309
+ if (!this.Data || this.Data.length<=0) return;
40310
+ if (!this.Texts) return;
40311
+
40312
+ this.IsHScreen=(this.ChartFrame.IsHScreen===true);
40313
+
40314
+ var mapText=this.GetShowTextData();
40315
+ if (mapText.size<=0) return;
40316
+
40317
+ this.DrawAllText(mapText);
40318
+ }
40319
+
40233
40320
  this.GetMaxMin=function()
40234
40321
  {
40235
40322
  var range={ Min:null, Max:null };
@@ -92658,7 +92745,7 @@ function MinuteCoordinateData()
92658
92745
  {
92659
92746
  Full: //完整模式
92660
92747
  [
92661
- [0, 0, "rgb(200,200,200)", "09:30"], //[0]=索引 [1]=线段类型 [2]=文字颜色(弃用) [3]=刻度文字 [4]=线段颜色 [5]=背景色
92748
+ [0, 0, "rgb(200,200,200)", "09:30"], //[0]=索引 [1]=线段类型(预留) [2]=文字颜色(弃用) [3]=刻度文字 [4]=线段颜色 [5]=背景色
92662
92749
  [31, 0, "RGB(200,200,200)", "10:00"],
92663
92750
  [61, 0, "RGB(200,200,200)", "10:30"],
92664
92751
  [91, 0, "RGB(200,200,200)", "11:00"],
@@ -131793,7 +131880,7 @@ function ScrollBarBGChart()
131793
131880
 
131794
131881
 
131795
131882
 
131796
- var HQCHART_VERSION="1.1.12830";
131883
+ var HQCHART_VERSION="1.1.12839";
131797
131884
 
131798
131885
  function PrintHQChartVersion()
131799
131886
  {
@@ -5,7 +5,7 @@
5
5
 
6
6
 
7
7
 
8
- var HQCHART_VERSION="1.1.12830";
8
+ var HQCHART_VERSION="1.1.12839";
9
9
 
10
10
  function PrintHQChartVersion()
11
11
  {
@@ -48717,6 +48717,29 @@ HQData.NetworkFilter=function(data, callback)
48717
48717
  case "JSSymbolData::GetVariantData": //额外的变量数据
48718
48718
  HQData.RequestIndexVariantData(data,callback);
48719
48719
  break;
48720
+
48721
+ case "AnnouncementInfo::RequestData":
48722
+ HQData.AnnouncementInfo_RequestData(data,callback);
48723
+ break;
48724
+
48725
+ case "PforecastInfo::RequestData":
48726
+ HQData.PforecastInfo_RequestData(data,callback);
48727
+ break;
48728
+
48729
+ case "InvestorInfo::RequestData":
48730
+ HQData.InvestorInfo_RequestData(data,callback);
48731
+ break;
48732
+
48733
+ case "ResearchInfo::RequestData":
48734
+ break;
48735
+
48736
+ case "BlockTrading::RequestData":
48737
+ HQData.BlockTrading_RequestData(data,callback);
48738
+ break;
48739
+
48740
+ case "TradeDetail::RequestData":
48741
+ HQData.TradeDetail_RequestData(data,callback);
48742
+ break;
48720
48743
  }
48721
48744
  }
48722
48745
 
@@ -48843,6 +48866,77 @@ HQData.RequestIndexVariantData=function(data,callback)
48843
48866
 
48844
48867
  }
48845
48868
 
48869
+ HQData.AnnouncementInfo_RequestData=function(data,callback)
48870
+ {
48871
+ data.PreventDefault=true;
48872
+ var symbol=data.Request.Symbol;
48873
+
48874
+ var hqchartData={ symbol:symbol, report:[] };
48875
+
48876
+ var kData=data.HQChart.ChartPaint[0].Data;
48877
+ for(var i=0, j=1;i<kData.Data.length;++i)
48878
+ {
48879
+ var kItem=kData.Data[i];
48880
+ if (i%10!=4) continue;
48881
+
48882
+ var itemReport={ releasedate:kItem.Date, time:kItem.Time, title:`公告(${j}) xxxx`, }
48883
+
48884
+ hqchartData.report.push(itemReport);
48885
+
48886
+ ++j;
48887
+ }
48888
+
48889
+ callback(hqchartData);
48890
+ }
48891
+
48892
+
48893
+ HQData.PforecastInfo_RequestData=function(data,callback)
48894
+ {
48895
+ data.PreventDefault=true;
48896
+ var symbol=data.Request.Symbol;
48897
+
48898
+ var hqchartData={ symbol:symbol, report:[] };
48899
+
48900
+ var kData=data.HQChart.ChartPaint[0].Data;
48901
+ for(var i=0, j=1;i<kData.Data.length;++i)
48902
+ {
48903
+ var kItem=kData.Data[i];
48904
+ if (i%10!=4) continue;
48905
+
48906
+ var itemReport={ date:kItem.Date, time:kItem.Time, title:`公告(${j}) xxxx`, }
48907
+
48908
+ hqchartData.report.push(itemReport);
48909
+
48910
+ ++j;
48911
+ }
48912
+
48913
+ callback(hqchartData);
48914
+ }
48915
+
48916
+ HQData.InvestorInfo_RequestData=function(data,callback)
48917
+ {
48918
+ data.PreventDefault=true;
48919
+ var symbol=data.Request.Symbol;
48920
+
48921
+ callback(TEST_NEWSINTERACT_DATA);
48922
+ }
48923
+
48924
+ HQData.BlockTrading_RequestData=function(data,callback)
48925
+ {
48926
+ data.PreventDefault=true;
48927
+ var symbol=data.Request.Symbol;
48928
+
48929
+ callback(TEST_BLOCK_TRADING_DATA);
48930
+ }
48931
+
48932
+ HQData.TradeDetail_RequestData=function(data,callback)
48933
+ {
48934
+ data.PreventDefault=true;
48935
+ var symbol=data.Request.Symbol;
48936
+
48937
+ callback(TEST_TRADE_DETAL_DATA);
48938
+ }
48939
+
48846
48940
 
48847
48941
  /*暴露外部用的方法*/
48848
48942
  export default