hqchart 1.1.15343 → 1.1.15347

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.
@@ -111971,6 +111971,7 @@ var Syntax = {
111971
111971
  function Node(ErrorHandler)
111972
111972
  {
111973
111973
  this.IsNeedIndexData=false; //是否需要大盘数据
111974
+ this.IsNeedIndustryData=false; //行业数据下载
111974
111975
  this.IsNeedLatestIndexData=false; //是否需要下载最新大盘数据
111975
111976
  this.IsNeedSymbolData=false; //是否需要下载股票数据
111976
111977
  this.IsNeedMarginData=new Set();
@@ -111998,6 +111999,7 @@ function Node(ErrorHandler)
111998
111999
  if (this.IsNeedSymbolData) jobs.push({ID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SYMBOL_DATA});
111999
112000
  if (this.IsNeedIndexData) jobs.push({ID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_INDEX_DATA});
112000
112001
  if (this.IsNeedLatestIndexData) jobs.push({ID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_LATEST_INDEX_DATA});
112002
+ if (this.IsNeedIndustryData) jobs.push({ID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_INDUSTRY_DATA});
112001
112003
 
112002
112004
  //最新的个股行情数据
112003
112005
  for(var i=0;i<this.Dynainfo.length;++i)
@@ -112084,6 +112086,13 @@ function Node(ErrorHandler)
112084
112086
  return;
112085
112087
  }
112086
112088
 
112089
+ let setIndustryName=new Set(['HY_INDEXA','HY_INDEXC','HY_INDEXH','HY_INDEXL',"HY_INDEXO","HY_INDEXV",'HY_INDEXADV','HY_INDEXDEC']);
112090
+ if (setIndustryName.has(varName))
112091
+ {
112092
+ this.IsNeedIndustryData=true;
112093
+ return;
112094
+ }
112095
+
112087
112096
  let setSymbolDataName=new Set(['CLOSE','C','VOL','V','OPEN','O','HIGH','H','LOW','L','AMOUNT','AMO','VOLINSTK']);
112088
112097
  if (setSymbolDataName.has(varName))
112089
112098
  {
@@ -122892,6 +122901,7 @@ function JSSymbolData(ast,option,jsExecute)
122892
122901
 
122893
122902
  this.LatestData=new Map(); //最新行情 key=id value=数据
122894
122903
  this.IndexData; //大盘指数
122904
+ this.IndustryData; //行业数据
122895
122905
  this.LatestIndexData; //最新大盘数据
122896
122906
  this.MarginData=new Map(); //融资融券
122897
122907
  this.HKToSHSZData=new Map(); //北上资金
@@ -123284,168 +123294,130 @@ function JSSymbolData(ast,option,jsExecute)
123284
123294
  this.GetIndexData=function()
123285
123295
  {
123286
123296
  if (this.IndexData) return this.Execute.RunNextJob();
123297
+ if (!this.NetworkFilter) return this.Execute.RunNextJob();
123287
123298
 
123288
- var self=this;
123289
- if (ChartData.IsDayPeriod(this.Period,true)) //请求日线数据 9=季线
123299
+ var dateRange=this.Data.GetDateRange();
123300
+ var period=this.Period;
123301
+ var obj=
123290
123302
  {
123291
- if (this.NetworkFilter)
123292
- {
123293
- var dateRange=this.Data.GetDateRange();
123294
- var obj=
123295
- {
123296
- Name:'JSSymbolData::GetIndexData', //类名::
123297
- Explain:'大盘数据',
123298
- Period:self.Period,
123299
- Request:
123300
- {
123301
- Url:self.KLineApiUrl, Type:'POST' ,
123302
- Data:
123303
- {
123304
- field:[ "name", "symbol","yclose","open","price","high","low","vol",'up','down','stop','unchanged'],
123305
- indexSymbol:"000001.sh", symbol: this.Symbol, period:this.Period,
123306
- dateRange:dateRange
123307
- }
123308
- },
123309
- Self:this,
123310
- PreventDefault:false
123311
- };
123312
- this.NetworkFilter(obj, function(data)
123303
+ Name:'JSSymbolData::GetIndexData', //类名::
123304
+ Explain:'大盘数据',
123305
+ Period:period,
123306
+ Request:
123307
+ {
123308
+ Type:'POST' ,
123309
+ Data:
123313
123310
  {
123314
- self.RecvIndexHistroyData(data);
123315
- self.Execute.RunNextJob();
123316
- });
123311
+ field:[ "name", "symbol","yclose","open","price","high","low","vol",'up','down','stop','unchanged'],
123312
+ indexSymbol:"000001.sh", symbol: this.Symbol, period:period,
123313
+ dateRange:dateRange
123314
+ }
123315
+ },
123316
+ Self:this,
123317
+ PreventDefault:false
123318
+ };
123317
123319
 
123318
- if (obj.PreventDefault==true) return; //已被上层替换,不调用默认的网络请求
123319
- }
123320
+ this.NetworkFilter(obj, (data)=>
123321
+ {
123322
+ JSConsole.Complier.Log('[JSSymbolData::GetIndexData] recv data' , data);
123320
123323
 
123321
- JSNetwork.HttpRequest({
123322
- url: self.KLineApiUrl,
123323
- data:
123324
- {
123325
- "field": [ "name", "symbol","yclose","open","price","high","low","vol",'up','down','stop','unchanged'],
123326
- "symbol": '000001.sh',
123327
- "start": -1,
123328
- "count": self.MaxRequestDataCount+500 //多请求2年的数据 确保股票剔除停牌日期以后可以对上
123329
- },
123330
- type:"post",
123331
- dataType: "json",
123332
- async:true,
123333
- success: function (recvData)
123334
- {
123335
- self.RecvIndexHistroyData(recvData);
123336
- self.Execute.RunNextJob();
123337
- },
123338
- error: function(request)
123324
+ this.IndexData=this.APIKDataToChartData(data, period);
123325
+ this.Execute.RunNextJob();
123326
+ });
123327
+
123328
+ }
123329
+
123330
+
123331
+ this.APIKDataToChartData=function(data, period)
123332
+ {
123333
+ var result=null;
123334
+ if (ChartData.IsDayPeriod(period,true)) //请求日线数据
123335
+ {
123336
+ var hisData=this.JsonDataToHistoryData(data);
123337
+ result=new ChartData();
123338
+ result.DataType=0; /*日线数据 */
123339
+ result.Data=hisData;
123340
+
123341
+ if (this.IsApiPeriod==true)
123342
+ {
123343
+ result.Period=period;
123344
+ result.Data=this.Data.FixKData(hisData,period);
123345
+ }
123346
+ else
123347
+ {
123348
+ var aryOverlayData=this.SourceData.GetOverlayData(result.Data); //和主图数据拟合以后的数据
123349
+ result.Data=aryOverlayData;
123350
+
123351
+ if (ChartData.IsDayPeriod(period,false)) //周期数据
123339
123352
  {
123340
- self.RecvError(request);
123353
+ var periodData=result.GetPeriodData(period);
123354
+ result.Data=periodData;
123341
123355
  }
123342
- });
123356
+ }
123343
123357
  }
123344
- else if (ChartData.IsMinutePeriod(this.Period, true)) //请求分钟数据
123358
+ else if (ChartData.IsMinutePeriod(period, true))
123345
123359
  {
123346
- if (this.NetworkFilter)
123347
- {
123348
- var dateRange=this.Data.GetDateRange();
123349
- var obj=
123350
- {
123351
- Name:'JSSymbolData::GetIndexData', //类名::
123352
- Explain:'大盘数据',
123353
- Period:self.Period,
123354
- Request:{ Url:self.MinuteKLineApiUrl, Type:'POST' ,
123355
- Data:
123356
- {
123357
- field:["name","symbol","yclose","open","price","high","low","vol"],
123358
- indexSymbol:"000001.sh", symbol: this.Symbol, period:this.Period,
123359
- dateRange:dateRange
123360
- }
123361
- },
123362
- Self:this,
123363
- PreventDefault:false
123364
- };
123365
- this.NetworkFilter(obj, function(data)
123366
- {
123367
- self.RecvIndexMinuteHistroyData(data);
123368
- self.Execute.RunNextJob();
123369
- });
123360
+ var hisData=this.JsonDataToMinuteHistoryData(data);
123361
+ result=new ChartData();
123362
+ result.DataType=1; /*分钟线数据 */
123363
+ result.Data=hisData;
123370
123364
 
123371
- if (obj.PreventDefault==true) return; //已被上层替换,不调用默认的网络请求
123365
+ if (this.IsApiPeriod==true)
123366
+ {
123367
+ result.Period=this.Period;
123368
+ result.Data=this.Data.FixKData(hisData,period);
123372
123369
  }
123370
+ else
123371
+ {
123372
+ var aryOverlayData=this.SourceData.GetOverlayMinuteData(result.Data); //和主图数据拟合以后的数据
123373
+ result.Data=aryOverlayData;
123373
123374
 
123374
- JSNetwork.HttpRequest({
123375
- url: self.MinuteKLineApiUrl,
123376
- data:
123375
+ if (ChartData.IsMinutePeriod(period,false)) //周期数据
123377
123376
  {
123378
- "field": ["name","symbol","yclose","open","price","high","low","vol"],
123379
- "symbol": '000001.sh',
123380
- "start": -1,
123381
- "count": self.MaxRequestMinuteDayCount+5
123382
- },
123383
- type:"post",
123384
- dataType: "json",
123385
- async:true,
123386
- success: function (data)
123387
- {
123388
- self.RecvIndexMinuteHistroyData(data);
123389
- self.Execute.RunNextJob();
123390
- },
123391
- error: function(request)
123392
- {
123393
- self.RecvError(request);
123377
+ var periodData=result.GetPeriodData(period);
123378
+ result.Data=periodData;
123394
123379
  }
123395
- });
123380
+ }
123396
123381
  }
123397
123382
 
123383
+ return result;
123398
123384
  }
123399
123385
 
123400
- this.RecvIndexHistroyData=function(data)
123386
+ //获取行业数据
123387
+ this.GetIndustryData=function()
123401
123388
  {
123402
- JSConsole.Complier.Log('[JSSymbolData::RecvIndexHistroyData] recv data' , data);
123403
-
123404
- let hisData=this.JsonDataToHistoryData(data);
123405
- this.IndexData=new ChartData();
123406
- this.IndexData.DataType=0; /*日线数据 */
123407
- this.IndexData.Data=hisData;
123389
+ if (this.IndustryData) return this.Execute.RunNextJob();
123390
+ if (!this.NetworkFilter) return this.Execute.RunNextJob();
123408
123391
 
123409
- if (this.IsApiPeriod==true)
123410
- {
123411
- this.IndexData.Period=this.Period;
123412
- this.IndexData.Data=this.Data.FixKData(hisData,this.Period);
123413
- }
123414
- else
123392
+ var dateRange=this.Data.GetDateRange();
123393
+ var period=this.Period;
123394
+ var obj=
123415
123395
  {
123416
- var aryOverlayData=this.SourceData.GetOverlayData(this.IndexData.Data); //和主图数据拟合以后的数据
123417
- this.IndexData.Data=aryOverlayData;
123418
-
123419
- if (ChartData.IsDayPeriod(this.Period,false)) //周期数据
123420
- {
123421
- let periodData=this.IndexData.GetPeriodData(this.Period);
123422
- this.IndexData.Data=periodData;
123423
- }
123424
- }
123425
- }
123426
-
123427
- this.RecvIndexMinuteHistroyData=function(data)
123428
- {
123429
- JSConsole.Complier.Log('[JSSymbolData::RecvIndexMinuteHistroyData] recv data' , data);
123396
+ Name:'JSSymbolData::GetIndustryData', //类名::
123397
+ Explain:'行业数据',
123398
+ Period:period,
123399
+ Request:
123400
+ {
123401
+ Url:self.KLineApiUrl, Type:'POST' ,
123402
+ Data:
123403
+ {
123404
+ field:[ "name", "symbol","yclose","open","price","high","low","vol",'up','down','stop','unchanged'],
123405
+ symbol: this.Symbol, period:period,
123406
+ dateRange:dateRange
123407
+ }
123408
+ },
123409
+ Self:this,
123410
+ PreventDefault:false
123411
+ };
123430
123412
 
123431
- let hisData=this.JsonDataToMinuteHistoryData(data);
123432
- this.IndexData=new ChartData();
123433
- this.IndexData.DataType=1; /*分钟线数据 */
123434
- this.IndexData.Data=hisData;
123413
+
123414
+ this.NetworkFilter(obj, (data)=>
123415
+ {
123416
+ JSConsole.Complier.Log('[JSSymbolData::GetIndustryData] recv data' , data);
123435
123417
 
123436
- if (this.IsApiPeriod==true)
123437
- {
123438
- this.IndexData.Period=this.Period;
123439
- this.IndexData.Data=this.Data.FixKData(hisData,this.Period);
123440
- }
123441
- else
123442
- {
123443
- if (ChartData.IsMinutePeriod(this.Period,false)) //周期数据
123444
- {
123445
- let periodData=this.IndexData.GetPeriodData(this.Period);
123446
- this.IndexData.Data=periodData;
123447
- }
123448
- }
123418
+ this.IndustryData=this.APIKDataToChartData(data, period);
123419
+ this.Execute.RunNextJob();
123420
+ });
123449
123421
  }
123450
123422
 
123451
123423
  this.GetOtherSymbolParam=function(name)
@@ -123789,6 +123761,32 @@ function JSSymbolData(ast,option,jsExecute)
123789
123761
  }
123790
123762
  }
123791
123763
 
123764
+ //获取大盘指数缓存数据
123765
+ this.GetIndustryCacheData=function(dataName)
123766
+ {
123767
+ if (!this.IndustryData) return [];
123768
+
123769
+ switch(dataName)
123770
+ {
123771
+ case 'HY_INDEXA':
123772
+ return this.IndustryData.GetAmount();
123773
+ case 'HY_INDEXC':
123774
+ return this.IndustryData.GetClose();
123775
+ case 'HY_INDEXH':
123776
+ return this.IndustryData.GetHigh();
123777
+ case 'HY_INDEXL':
123778
+ return this.IndustryData.GetLow();
123779
+ case 'HY_INDEXO':
123780
+ return this.IndustryData.GetOpen();
123781
+ case 'HY_INDEXV':
123782
+ return this.IndustryData.GetVol();
123783
+ case 'HY_INDEXADV':
123784
+ return this.IndustryData.GetUp();
123785
+ case 'HY_INDEXDEC':
123786
+ return this.IndustryData.GetDown();
123787
+ }
123788
+ }
123789
+
123792
123790
  //指数转成对应的板块
123793
123791
  this.GetBlockSymbol=function(symbol)
123794
123792
  {
@@ -127731,6 +127729,7 @@ var JS_EXECUTE_JOB_ID=
127731
127729
  JOB_DOWNLOAD_LATEST_INDEX_DATA:8, //下载最新大盘数据
127732
127730
  JOB_DOWNLOAD_OTHER_SYMBOL_DATA:9, //下载其他股票的K线数据
127733
127731
  JOB_DOWNLOAD_SYMBOL_PERIOD_DATA:10, //下载周期数据
127732
+ JOB_DOWNLOAD_INDUSTRY_DATA:11, //行业数据
127734
127733
 
127735
127734
  JOB_DOWNLOAD_FINVALUE:301, //引用专业财务数据 FINVALUE(ID),ID为数据编号
127736
127735
  JOB_DOWNLOAD_FINONE:302, //引用指定年和月日的某类型的财务数据 FINONE(ID,Y,MMDD),ID为数据编号,Y和MMDD表示年和月日.
@@ -128017,6 +128016,10 @@ function JSExecute(ast,option)
128017
128016
  ['INDEXA',null],['INDEXC',null],['INDEXH',null],['INDEXL',null],['INDEXO',null],['INDEXV',null],
128018
128017
  ['INDEXADV',null],['INDEXDEC',null],
128019
128018
 
128019
+ //行业数据
128020
+ ["HY_INDEXA",null],["HY_INDEXC",null],["HY_INDEXH",null],["HY_INDEXL",null],["HY_INDEXO",null],["HY_INDEXV",null],
128021
+ ["HY_INDEXADV",null],["HY_INDEXDEC",null],
128022
+
128020
128023
  ["ADVANCE",null],['DECLINE', null],
128021
128024
 
128022
128025
  ['FROMOPEN',null], //已开盘有多长分钟
@@ -128141,6 +128144,8 @@ function JSExecute(ast,option)
128141
128144
  return this.SymbolData.GetSymbolPeriodData(jobItem);
128142
128145
  case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_INDEX_DATA:
128143
128146
  return this.SymbolData.GetIndexData();
128147
+ case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_INDUSTRY_DATA:
128148
+ return this.SymbolData.GetIndustryData();
128144
128149
  case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_LATEST_INDEX_DATA:
128145
128150
  return this.SymbolData.GetLatestIndexData();
128146
128151
  case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_INDEX_INCREASE_DATA:
@@ -128265,6 +128270,16 @@ function JSExecute(ast,option)
128265
128270
  case 'INDEXADV':
128266
128271
  case 'INDEXDEC':
128267
128272
  return this.SymbolData.GetIndexCacheData(name);
128273
+ //行业数据
128274
+ case 'HY_INDEXA':
128275
+ case 'HY_INDEXC':
128276
+ case 'HY_INDEXH':
128277
+ case 'HY_INDEXL':
128278
+ case 'HY_INDEXO':
128279
+ case 'HY_INDEXV':
128280
+ case 'HY_INDEXADV':
128281
+ case 'HY_INDEXDEC':
128282
+ return this.SymbolData.GetIndustryCacheData(name);
128268
128283
  case 'CURRBARSCOUNT':
128269
128284
  return this.SymbolData.GetCurrBarsCount();
128270
128285
  case "BARPOS":
@@ -155354,7 +155369,7 @@ function ScrollBarBGChart()
155354
155369
 
155355
155370
 
155356
155371
 
155357
- var HQCHART_VERSION="1.1.15342";
155372
+ var HQCHART_VERSION="1.1.15346";
155358
155373
 
155359
155374
  function PrintHQChartVersion()
155360
155375
  {
@@ -5,7 +5,7 @@
5
5
 
6
6
 
7
7
 
8
- var HQCHART_VERSION="1.1.15342";
8
+ var HQCHART_VERSION="1.1.15346";
9
9
 
10
10
  function PrintHQChartVersion()
11
11
  {