hqchart 1.1.14836 → 1.1.14846

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.
@@ -55736,8 +55736,11 @@ HQData.Minute_RequestMinuteData=function(data, callback)
55736
55736
  var fullData=HQData.GetDayMinuteDataBySymbol(symbol);
55737
55737
  var srcStock=fullData[0];
55738
55738
  var stockItem={ date:srcStock.date, minute:srcStock.minute, yclose:srcStock.yclose, symbol:symbol, name:symbol };
55739
+
55740
+ //盘前
55739
55741
  if (callcation.Before)
55740
55742
  {
55743
+ /*
55741
55744
  var before=
55742
55745
  [
55743
55746
  //[交易时间, 价格,成交量, 成交金额, 日期(可选,YYYYMMDD)],
@@ -55756,14 +55759,74 @@ HQData.Minute_RequestMinuteData=function(data, callback)
55756
55759
 
55757
55760
  var beforeinfo={ totalcount:11, ver:1.0 };
55758
55761
 
55762
+ stockItem.before=before;
55763
+ stockItem.beforeinfo=beforeinfo;
55764
+ */
55765
+
55766
+ var before=[];
55767
+ var beforeinfo={ totalcount:60*10, ver:2.0 }; //9:15-9:25 集合竞价15分钟 1s一个数据
55768
+ var price=srcStock.yclose+0.01;
55769
+
55770
+ var date=new Date(2021,5,2, 9,15, 0);
55771
+ var mapTest=new Map(
55772
+ [
55773
+ [91505, [91505,price+0.01, 400, 300, 1, 800]],
55774
+ [91550, [91550,price+0.02, 550, 600, 0, 1500]],
55775
+ [91603, [91603,price+0.03, 300, 600, 1, 3600]],
55776
+ [91613, [91613,price+0.03, 150, 320, 1, 3600]],
55777
+ [91623, [91623,price+0.04, 200, 400, 1, 3600]],
55778
+ [91635, [91635,price+0.05, 100, 100, 1, 3600]],
55779
+ [91640, [91640,price+0.03, 350, 210, 2, 1600]],
55780
+ [91711, [91711,price+0.02, 3210, 350, 2, 3700]],
55781
+ [91731, [91731,price+0.04, 110, 450, 1, 3700]],
55782
+ [91825, [91825,price-0.01, 210, 650, 2, 3700]],
55783
+ [91855, [91855,price-0.02, 330, 440, 1, 1000]],
55784
+ [91915, [91915,price-0.03, 630, 640, 1, 1200]],
55785
+ [92022, [92022,price+0.01, 260, 550, 2, 1000]],
55786
+ [92304, [92304,price-0.02, 300, 100, 2, 1000]],
55787
+ [92314, [92314,price-0.03, 550, 150, 2, 1000]],
55788
+ [92344, [92344,price-0.04, 550, 150, 1, 1000]],
55789
+ [92357, [92357,price-0.05, 250, 750, 1, 1500]],
55790
+ [92405, [92405,price-0.07, 450, 50, 2, 1000]],
55791
+ [92435, [92435,price-0.08, 650, 250, 1, 1000]],
55792
+ [92458, [92458,price-0.12, 350, 350, 2, 1000]],
55793
+ ])
55794
+
55795
+ for(var i=0;i<beforeinfo.totalcount; ++i) //1s一个数据
55796
+ {
55797
+ var time=date.getHours()*10000+date.getMinutes()*100+date.getSeconds();
55798
+
55799
+ var item=[ time, null, null, null, null, null ];
55800
+ if (mapTest.has(time))
55801
+ {
55802
+ item=mapTest.get(time);
55803
+ }
55804
+
55805
+ date.setSeconds(date.getSeconds()+1);
55806
+ before.push(item);
55807
+ }
55808
+
55759
55809
  stockItem.before=before;
55760
55810
  stockItem.beforeinfo=beforeinfo;
55761
55811
  }
55762
55812
 
55763
- var lastPrice=stockItem.minute[stockItem.minute.length-1].price;
55813
+ //盘中
55814
+ //stockItem.minute.length=2;
55815
+ //测试用 这里可以修改数据
55816
+ //var lastItem=srcStock.minute[srcStock.minute.length-1];
55817
+ //lastItem.price+=Math.ceil(Math.random()*10)/1000*lastItem.price;
55818
+ /*
55819
+ for(var i=0;i<srcStock.minute.length;++i)
55820
+ {
55821
+ var item=srcStock.minute[i];
55822
+ if (item.amount<1000000) item.amount*=100000;
55823
+ }
55824
+ */
55764
55825
 
55765
55826
  if (bBuySellBar) //盘口分析
55766
55827
  {
55828
+ var lastPrice=srcStock.yclose;
55829
+ if (stockItem.minute.length>0) lastPrice=stockItem.minute[stockItem.minute.length-1].price;
55767
55830
  var aryBuy=[];
55768
55831
  var value=lastPrice+0.01;
55769
55832
  for(var i=0;i<10;++i)
@@ -55782,20 +55845,54 @@ HQData.Minute_RequestMinuteData=function(data, callback)
55782
55845
  stockItem.BuySellData={ AryBuy:aryBuy, ArySell:arySell };
55783
55846
  }
55784
55847
 
55785
- //测试用 这里可以修改数据
55786
- //var lastItem=srcStock.minute[srcStock.minute.length-1];
55787
- //lastItem.price+=Math.ceil(Math.random()*10)/1000*lastItem.price;
55788
- /*
55789
- for(var i=0;i<srcStock.minute.length;++i)
55848
+ //盘后
55849
+ if (callcation.After && stockItem.minute.length>=240)
55790
55850
  {
55791
- var item=srcStock.minute[i];
55792
- if (item.amount<1000000) item.amount*=100000;
55793
- }
55794
- */
55851
+ var price=stockItem.minute[stockItem.minute.length-1].price;
55852
+ var afterData=[]
55853
+ var afterInfo={ ver:2.0, totalcount:60*3 } //14:57-15:00
55854
+ var date=new Date(2021,5,2, 14,57, 0);
55855
+ var mapTest=new Map(
55856
+ [
55857
+ [145708, [145708,price+0.01, 400, 300, 1, 800]],
55858
+ [145718, [145718,price+0.02, 550, 600, 0, 1500]],
55859
+ [145738, [145738,price+0.02, 150, 800, 0, 1500]],
55860
+ [145748, [145748,price+0.02, 150, 800, 0, 1500]],
55861
+ [145803, [145803,price+0.03, 300, 600, 1, 3600]],
55862
+ [145815, [145815,price+0.03, 350, 210, 2, 1600]],
55863
+ [145826, [145826,price+0.02, 1210, 350, 2, 2700]],
55864
+ [145833, [145833,price+0.01, 260, 550, 2, 1000]],
55865
+ [145845, [145845,price+0.02, 160, 750, 2, 1000]],
55866
+ [145858, [145858,price-0.01, 460, 650, 2, 1500]],
55867
+ [145905, [145905,price-0.02, 160, 450, 1, 1500]],
55868
+ [145928, [145928,price-0.02, 260, 250, 1, 1500]],
55869
+ [145948, [145948,price-0.02, 860, 150, 1, 1500]],
55870
+ ])
55871
+
55872
+ for(var i=0;i<afterInfo.totalcount; ++i) //1s一个数据
55873
+ {
55874
+ var time=date.getHours()*10000+date.getMinutes()*100+date.getSeconds();
55875
+
55876
+ var item=[ time, null, null, null, null, null ];
55877
+
55878
+ if (mapTest.has(time))
55879
+ {
55880
+ item=mapTest.get(time);
55881
+ }
55882
+
55883
+ date.setSeconds(date.getSeconds()+1);
55884
+ afterData.push(item);
55885
+ }
55795
55886
 
55796
- stockItem.minute.length=50;
55887
+ stockItem.after=afterData;
55888
+ stockItem.afterinfo=afterInfo;
55889
+ }
55797
55890
 
55798
55891
  var hqchartData={code:0, stock:[stockItem] };
55892
+
55893
+ var time=new Date();
55894
+ if (time.getSeconds()%3==1)
55895
+ hqchartData.LatestPointFlash={ FlashCount:2 };
55799
55896
 
55800
55897
 
55801
55898
  callback(hqchartData);
@@ -55831,15 +55928,16 @@ HQData.Minute_RequestMinuteDataV2=function(data, callback)
55831
55928
  var date=new Date(parseInt(stockItem.date/10000),(stockItem.date/100%100-1),stockItem.date%100, 9, 15, 0);
55832
55929
  var count=10*60; //9:15-9:25
55833
55930
  var before=[];
55834
- for(var i=0;i<count;++i)
55931
+ for(var i=0, j=0;i<count;++i)
55835
55932
  {
55836
55933
  var time=date.getHours()*10000+date.getMinutes()*100+date.getSeconds();
55837
- var testIndex=Math.floor(Math.random()*10)%TEST_BEFORE_DATA.length;
55934
+ var testIndex=j%TEST_BEFORE_DATA.length;
55838
55935
  var testData=TEST_BEFORE_DATA[testIndex];
55839
55936
  var item=[ time, null, null, null, null, null ];
55840
55937
  if (i%20==0 || i==count-1)
55841
55938
  {
55842
55939
  item=[ time, testData[0], testData[1], testData[2], testData[3], (testData[1]+testData[2])*1.5 ];
55940
+ ++j;
55843
55941
  }
55844
55942
  before.push(item);
55845
55943
  date.setSeconds(date.getSeconds()+1);
@@ -55865,15 +55963,16 @@ HQData.Minute_RequestMinuteDataV2=function(data, callback)
55865
55963
  var date=new Date(parseInt(stockItem.date/10000),(stockItem.date/100%100-1),stockItem.date%100, 14, 57, 0);
55866
55964
  var count=3*60; //14:57-15:00
55867
55965
  var after=[];
55868
- for(var i=0;i<count;++i)
55966
+ for(var i=0,j=0;i<count;++i)
55869
55967
  {
55870
55968
  var time=date.getHours()*10000+date.getMinutes()*100+date.getSeconds();
55871
- var testIndex=Math.floor(Math.random()*10)%TEST_AFTER_DATA.length;
55969
+ var testIndex=j%TEST_AFTER_DATA.length;
55872
55970
  var testData=TEST_AFTER_DATA[testIndex];
55873
55971
  var item=[ time, null, null, null, null, null ];
55874
55972
  if (i%10==0 || i==count-1)
55875
55973
  {
55876
55974
  item=[ time, testData[0], testData[1], testData[2], testData[3], (testData[1]+testData[2])*1.5 ];
55975
+ ++j;
55877
55976
  }
55878
55977
  after.push(item);
55879
55978
  date.setSeconds(date.getSeconds()+1);
@@ -56935,11 +57034,11 @@ HQData.Report_RequestStockData=function(data, callback)
56935
57034
  //名字字段
56936
57035
  var symbolEx={ Text:name };
56937
57036
  if (i%20==5)
56938
- symbolEx.Symbol={ Family:'iconfont', Size:16, Data:[ { Text:'\ue629', Color:'rgb(255,165,0)'}, { Text:'\ue627', Color:'#1c65db'} ] };
57037
+ symbolEx.Symbol={ Family:'iconfont', Size:14, Data:[ { Text:'\ue629', Color:'rgb(255,165,0)'}, { Text:'\ue627', Color:'#1c65db'} ] };
56939
57038
  else if (i%20==9)
56940
- symbolEx.Symbol={ Family:'iconfont', Size:16, Data:[ { Text:'\ue629', Color:'rgb(255,165,0)'}] } ;
57039
+ symbolEx.Symbol={ Family:'iconfont', Size:14, Data:[ { Text:'\ue629', Color:'rgb(255,165,0)'}] } ;
56941
57040
  else if (i%20==18)
56942
- symbolEx.Symbol={ Family:'iconfont', Size:16, Data:[ { Text:'\ue627', Color:'#1c65db'}] } ;
57041
+ symbolEx.Symbol={ Family:'iconfont', Size:14, Data:[ { Text:'\ue627', Color:'#1c65db'}] } ;
56943
57042
 
56944
57043
  newItem[27]=symbolEx;
56945
57044
 
@@ -57050,6 +57149,7 @@ HQData.Report_RequestStockSortData=function(data, callback)
57050
57149
  var column=data.Request.Data.column; //排序列信息
57051
57150
  var sortType=data.Request.Data.sort; //排序方向
57052
57151
  var pageSize=data.Request.Data.pageSize;
57152
+ var hqchart=data.Self;
57053
57153
  data.PreventDefault=true;
57054
57154
 
57055
57155
  var start=range.start;
@@ -57174,6 +57274,7 @@ HQData.Report_RequestVirtualStockData=function(data, callback)
57174
57274
  var column=data.Request.Data.column; //排序列信息
57175
57275
  var sortType=data.Request.Data.sort; //排序方向
57176
57276
  var pageSize=data.Request.Data.pageSize;
57277
+ var hqchart=data.Self;
57177
57278
  data.PreventDefault=true;
57178
57279
 
57179
57280
  var start=range.start;
@@ -57233,6 +57334,21 @@ HQData.Report_RequestVirtualStockData=function(data, callback)
57233
57334
  //换手率
57234
57335
  newItem[23]=(Math.round(Math.random()*60))/100;
57235
57336
 
57337
+ //行业
57338
+ newItem[201]="行业X";
57339
+ if (i%10==4) newItem[201]={ Text:"金融", TextColor:"rgb(0,206,209)"};
57340
+ else if (i%10==9) newItem[201]={ Text:"航天", TextColor:"rgb(0,0,0)", BGColor:"rgb(45,222,179)"};
57341
+ //地区
57342
+ newItem[202]="地区X";
57343
+
57344
+ newItem[101]=(Math.round(Math.random()*60))/100;
57345
+ newItem[102]=(Math.round(Math.random()*60))/100;
57346
+ newItem[103]=(Math.round(Math.random()*60))/100;
57347
+
57348
+ //日期
57349
+ newItem[401]={ DateTime:new Date() };
57350
+ newItem[402]={ DateTime:new Date() };
57351
+
57236
57352
  //名字字段
57237
57353
  var symbolEx={ Text:name };
57238
57354
  if (i%20==5)
@@ -57249,10 +57365,7 @@ HQData.Report_RequestVirtualStockData=function(data, callback)
57249
57365
  var extendData=[];
57250
57366
  newItem[30]=extendData;
57251
57367
 
57252
- //行业
57253
- extendData[0]="行业X";
57254
- //地区
57255
- extendData[1]="地区X";
57368
+
57256
57369
 
57257
57370
  //PE|PB
57258
57371
  extendData[2]=(Math.round(Math.random()*60))/100;
@@ -57270,9 +57383,18 @@ HQData.Report_RequestVirtualStockData=function(data, callback)
57270
57383
  newItem[351]={Title:"启动"};
57271
57384
  newItem[352]={Title:"加入"};
57272
57385
 
57386
+ if (i%20==3) newItem[80]='rgb(132,112,255)';
57387
+ else newItem[80]=null;
57388
+
57273
57389
 
57274
57390
  aryData.push(newItem);
57275
57391
  aryIndex.push(start+i);
57392
+
57393
+
57394
+ if (i==0)
57395
+ {
57396
+ hqchart.SetFlashBGItem(symbol, { ID:-1 , Color:"rgb(200,0,200)" });
57397
+ }
57276
57398
  }
57277
57399
  }
57278
57400
 
@@ -57687,6 +57809,8 @@ HQData.Report_APIIndex=function(data, callback)
57687
57809
  HQData.APIIndex_KLINE_TABLE(data, callback);
57688
57810
  else if (request.Data.indexname=="API_DRAWSVG")
57689
57811
  HQData.APIIndex_DRAWSVG(data, callback);
57812
+ else if (request.Data.indexname=="API_BASELINE_BAR")
57813
+ HQData.APIIndex_BASELINE_BAR(data, callback);
57690
57814
  }
57691
57815
 
57692
57816
 
@@ -59035,6 +59159,44 @@ HQData.RequestVolumeProfileData=function(data, callback)
59035
59159
  }
59036
59160
 
59037
59161
 
59162
+ HQData.APIIndex_BASELINE_BAR=function(data, callback)
59163
+ {
59164
+ data.PreventDefault=true;
59165
+ var hqchart=data.HQChart;
59166
+ var kData=hqchart.GetKData();
59167
+
59168
+ var pointData=
59169
+ {
59170
+ name:"BASELINE_BAR", type:1,
59171
+ Draw:
59172
+ {
59173
+ Name:"BASELINE_BAR",
59174
+ DrawType:"BASELINE_BAR",
59175
+ DrawData:[],
59176
+ Config:{ UpColor:"rgb(255,0,255)", DownColor:"rgb(255,165,0)"},
59177
+ },
59178
+ };
59179
+
59180
+ for(var i=0;i<kData.Data.length;++i)
59181
+ {
59182
+ var kItem=kData.Data[i];
59183
+
59184
+ var item={ Date:kItem.Date, Time:kItem.Time, Up:kItem.Vol*0.2, Down:(kItem.Vol*0.35)*-1 };
59185
+ pointData.Draw.DrawData.push(item);
59186
+ }
59187
+
59188
+ var apiData=
59189
+ {
59190
+ code:0,
59191
+ stock:{ name:hqchart.Name, symbol:hqchart.Symbol },
59192
+ outdata: { date:kData.GetDate(), time:kData.GetTime(), outvar:[ pointData] },
59193
+ };
59194
+
59195
+ console.log('[HQData.APIIndex_BASELINE_BAR] apiData ', apiData);
59196
+ callback(apiData);
59197
+ }
59198
+
59199
+
59038
59200
 
59039
59201
 
59040
59202
  /*暴露外部用的方法*/