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.
@@ -112015,6 +112015,7 @@ var Syntax = {
112015
112015
  function Node(ErrorHandler)
112016
112016
  {
112017
112017
  this.IsNeedIndexData=false; //是否需要大盘数据
112018
+ this.IsNeedIndustryData=false; //行业数据下载
112018
112019
  this.IsNeedLatestIndexData=false; //是否需要下载最新大盘数据
112019
112020
  this.IsNeedSymbolData=false; //是否需要下载股票数据
112020
112021
  this.IsNeedMarginData=new Set();
@@ -112042,6 +112043,7 @@ function Node(ErrorHandler)
112042
112043
  if (this.IsNeedSymbolData) jobs.push({ID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SYMBOL_DATA});
112043
112044
  if (this.IsNeedIndexData) jobs.push({ID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_INDEX_DATA});
112044
112045
  if (this.IsNeedLatestIndexData) jobs.push({ID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_LATEST_INDEX_DATA});
112046
+ if (this.IsNeedIndustryData) jobs.push({ID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_INDUSTRY_DATA});
112045
112047
 
112046
112048
  //最新的个股行情数据
112047
112049
  for(var i=0;i<this.Dynainfo.length;++i)
@@ -112128,6 +112130,13 @@ function Node(ErrorHandler)
112128
112130
  return;
112129
112131
  }
112130
112132
 
112133
+ let setIndustryName=new Set(['HY_INDEXA','HY_INDEXC','HY_INDEXH','HY_INDEXL',"HY_INDEXO","HY_INDEXV",'HY_INDEXADV','HY_INDEXDEC']);
112134
+ if (setIndustryName.has(varName))
112135
+ {
112136
+ this.IsNeedIndustryData=true;
112137
+ return;
112138
+ }
112139
+
112131
112140
  let setSymbolDataName=new Set(['CLOSE','C','VOL','V','OPEN','O','HIGH','H','LOW','L','AMOUNT','AMO','VOLINSTK']);
112132
112141
  if (setSymbolDataName.has(varName))
112133
112142
  {
@@ -122936,6 +122945,7 @@ function JSSymbolData(ast,option,jsExecute)
122936
122945
 
122937
122946
  this.LatestData=new Map(); //最新行情 key=id value=数据
122938
122947
  this.IndexData; //大盘指数
122948
+ this.IndustryData; //行业数据
122939
122949
  this.LatestIndexData; //最新大盘数据
122940
122950
  this.MarginData=new Map(); //融资融券
122941
122951
  this.HKToSHSZData=new Map(); //北上资金
@@ -123328,168 +123338,130 @@ function JSSymbolData(ast,option,jsExecute)
123328
123338
  this.GetIndexData=function()
123329
123339
  {
123330
123340
  if (this.IndexData) return this.Execute.RunNextJob();
123341
+ if (!this.NetworkFilter) return this.Execute.RunNextJob();
123331
123342
 
123332
- var self=this;
123333
- if (ChartData.IsDayPeriod(this.Period,true)) //请求日线数据 9=季线
123343
+ var dateRange=this.Data.GetDateRange();
123344
+ var period=this.Period;
123345
+ var obj=
123334
123346
  {
123335
- if (this.NetworkFilter)
123336
- {
123337
- var dateRange=this.Data.GetDateRange();
123338
- var obj=
123339
- {
123340
- Name:'JSSymbolData::GetIndexData', //类名::
123341
- Explain:'大盘数据',
123342
- Period:self.Period,
123343
- Request:
123344
- {
123345
- Url:self.KLineApiUrl, Type:'POST' ,
123346
- Data:
123347
- {
123348
- field:[ "name", "symbol","yclose","open","price","high","low","vol",'up','down','stop','unchanged'],
123349
- indexSymbol:"000001.sh", symbol: this.Symbol, period:this.Period,
123350
- dateRange:dateRange
123351
- }
123352
- },
123353
- Self:this,
123354
- PreventDefault:false
123355
- };
123356
- this.NetworkFilter(obj, function(data)
123347
+ Name:'JSSymbolData::GetIndexData', //类名::
123348
+ Explain:'大盘数据',
123349
+ Period:period,
123350
+ Request:
123351
+ {
123352
+ Type:'POST' ,
123353
+ Data:
123357
123354
  {
123358
- self.RecvIndexHistroyData(data);
123359
- self.Execute.RunNextJob();
123360
- });
123355
+ field:[ "name", "symbol","yclose","open","price","high","low","vol",'up','down','stop','unchanged'],
123356
+ indexSymbol:"000001.sh", symbol: this.Symbol, period:period,
123357
+ dateRange:dateRange
123358
+ }
123359
+ },
123360
+ Self:this,
123361
+ PreventDefault:false
123362
+ };
123361
123363
 
123362
- if (obj.PreventDefault==true) return; //已被上层替换,不调用默认的网络请求
123363
- }
123364
+ this.NetworkFilter(obj, (data)=>
123365
+ {
123366
+ JSConsole.Complier.Log('[JSSymbolData::GetIndexData] recv data' , data);
123364
123367
 
123365
- JSNetwork.HttpRequest({
123366
- url: self.KLineApiUrl,
123367
- data:
123368
- {
123369
- "field": [ "name", "symbol","yclose","open","price","high","low","vol",'up','down','stop','unchanged'],
123370
- "symbol": '000001.sh',
123371
- "start": -1,
123372
- "count": self.MaxRequestDataCount+500 //多请求2年的数据 确保股票剔除停牌日期以后可以对上
123373
- },
123374
- type:"post",
123375
- dataType: "json",
123376
- async:true,
123377
- success: function (recvData)
123378
- {
123379
- self.RecvIndexHistroyData(recvData);
123380
- self.Execute.RunNextJob();
123381
- },
123382
- error: function(request)
123368
+ this.IndexData=this.APIKDataToChartData(data, period);
123369
+ this.Execute.RunNextJob();
123370
+ });
123371
+
123372
+ }
123373
+
123374
+
123375
+ this.APIKDataToChartData=function(data, period)
123376
+ {
123377
+ var result=null;
123378
+ if (ChartData.IsDayPeriod(period,true)) //请求日线数据
123379
+ {
123380
+ var hisData=this.JsonDataToHistoryData(data);
123381
+ result=new ChartData();
123382
+ result.DataType=0; /*日线数据 */
123383
+ result.Data=hisData;
123384
+
123385
+ if (this.IsApiPeriod==true)
123386
+ {
123387
+ result.Period=period;
123388
+ result.Data=this.Data.FixKData(hisData,period);
123389
+ }
123390
+ else
123391
+ {
123392
+ var aryOverlayData=this.SourceData.GetOverlayData(result.Data); //和主图数据拟合以后的数据
123393
+ result.Data=aryOverlayData;
123394
+
123395
+ if (ChartData.IsDayPeriod(period,false)) //周期数据
123383
123396
  {
123384
- self.RecvError(request);
123397
+ var periodData=result.GetPeriodData(period);
123398
+ result.Data=periodData;
123385
123399
  }
123386
- });
123400
+ }
123387
123401
  }
123388
- else if (ChartData.IsMinutePeriod(this.Period, true)) //请求分钟数据
123402
+ else if (ChartData.IsMinutePeriod(period, true))
123389
123403
  {
123390
- if (this.NetworkFilter)
123391
- {
123392
- var dateRange=this.Data.GetDateRange();
123393
- var obj=
123394
- {
123395
- Name:'JSSymbolData::GetIndexData', //类名::
123396
- Explain:'大盘数据',
123397
- Period:self.Period,
123398
- Request:{ Url:self.MinuteKLineApiUrl, Type:'POST' ,
123399
- Data:
123400
- {
123401
- field:["name","symbol","yclose","open","price","high","low","vol"],
123402
- indexSymbol:"000001.sh", symbol: this.Symbol, period:this.Period,
123403
- dateRange:dateRange
123404
- }
123405
- },
123406
- Self:this,
123407
- PreventDefault:false
123408
- };
123409
- this.NetworkFilter(obj, function(data)
123410
- {
123411
- self.RecvIndexMinuteHistroyData(data);
123412
- self.Execute.RunNextJob();
123413
- });
123404
+ var hisData=this.JsonDataToMinuteHistoryData(data);
123405
+ result=new ChartData();
123406
+ result.DataType=1; /*分钟线数据 */
123407
+ result.Data=hisData;
123414
123408
 
123415
- if (obj.PreventDefault==true) return; //已被上层替换,不调用默认的网络请求
123409
+ if (this.IsApiPeriod==true)
123410
+ {
123411
+ result.Period=this.Period;
123412
+ result.Data=this.Data.FixKData(hisData,period);
123416
123413
  }
123414
+ else
123415
+ {
123416
+ var aryOverlayData=this.SourceData.GetOverlayMinuteData(result.Data); //和主图数据拟合以后的数据
123417
+ result.Data=aryOverlayData;
123417
123418
 
123418
- JSNetwork.HttpRequest({
123419
- url: self.MinuteKLineApiUrl,
123420
- data:
123419
+ if (ChartData.IsMinutePeriod(period,false)) //周期数据
123421
123420
  {
123422
- "field": ["name","symbol","yclose","open","price","high","low","vol"],
123423
- "symbol": '000001.sh',
123424
- "start": -1,
123425
- "count": self.MaxRequestMinuteDayCount+5
123426
- },
123427
- type:"post",
123428
- dataType: "json",
123429
- async:true,
123430
- success: function (data)
123431
- {
123432
- self.RecvIndexMinuteHistroyData(data);
123433
- self.Execute.RunNextJob();
123434
- },
123435
- error: function(request)
123436
- {
123437
- self.RecvError(request);
123421
+ var periodData=result.GetPeriodData(period);
123422
+ result.Data=periodData;
123438
123423
  }
123439
- });
123424
+ }
123440
123425
  }
123441
123426
 
123427
+ return result;
123442
123428
  }
123443
123429
 
123444
- this.RecvIndexHistroyData=function(data)
123430
+ //获取行业数据
123431
+ this.GetIndustryData=function()
123445
123432
  {
123446
- JSConsole.Complier.Log('[JSSymbolData::RecvIndexHistroyData] recv data' , data);
123447
-
123448
- let hisData=this.JsonDataToHistoryData(data);
123449
- this.IndexData=new ChartData();
123450
- this.IndexData.DataType=0; /*日线数据 */
123451
- this.IndexData.Data=hisData;
123433
+ if (this.IndustryData) return this.Execute.RunNextJob();
123434
+ if (!this.NetworkFilter) return this.Execute.RunNextJob();
123452
123435
 
123453
- if (this.IsApiPeriod==true)
123454
- {
123455
- this.IndexData.Period=this.Period;
123456
- this.IndexData.Data=this.Data.FixKData(hisData,this.Period);
123457
- }
123458
- else
123436
+ var dateRange=this.Data.GetDateRange();
123437
+ var period=this.Period;
123438
+ var obj=
123459
123439
  {
123460
- var aryOverlayData=this.SourceData.GetOverlayData(this.IndexData.Data); //和主图数据拟合以后的数据
123461
- this.IndexData.Data=aryOverlayData;
123462
-
123463
- if (ChartData.IsDayPeriod(this.Period,false)) //周期数据
123464
- {
123465
- let periodData=this.IndexData.GetPeriodData(this.Period);
123466
- this.IndexData.Data=periodData;
123467
- }
123468
- }
123469
- }
123470
-
123471
- this.RecvIndexMinuteHistroyData=function(data)
123472
- {
123473
- JSConsole.Complier.Log('[JSSymbolData::RecvIndexMinuteHistroyData] recv data' , data);
123440
+ Name:'JSSymbolData::GetIndustryData', //类名::
123441
+ Explain:'行业数据',
123442
+ Period:period,
123443
+ Request:
123444
+ {
123445
+ Url:self.KLineApiUrl, Type:'POST' ,
123446
+ Data:
123447
+ {
123448
+ field:[ "name", "symbol","yclose","open","price","high","low","vol",'up','down','stop','unchanged'],
123449
+ symbol: this.Symbol, period:period,
123450
+ dateRange:dateRange
123451
+ }
123452
+ },
123453
+ Self:this,
123454
+ PreventDefault:false
123455
+ };
123474
123456
 
123475
- let hisData=this.JsonDataToMinuteHistoryData(data);
123476
- this.IndexData=new ChartData();
123477
- this.IndexData.DataType=1; /*分钟线数据 */
123478
- this.IndexData.Data=hisData;
123457
+
123458
+ this.NetworkFilter(obj, (data)=>
123459
+ {
123460
+ JSConsole.Complier.Log('[JSSymbolData::GetIndustryData] recv data' , data);
123479
123461
 
123480
- if (this.IsApiPeriod==true)
123481
- {
123482
- this.IndexData.Period=this.Period;
123483
- this.IndexData.Data=this.Data.FixKData(hisData,this.Period);
123484
- }
123485
- else
123486
- {
123487
- if (ChartData.IsMinutePeriod(this.Period,false)) //周期数据
123488
- {
123489
- let periodData=this.IndexData.GetPeriodData(this.Period);
123490
- this.IndexData.Data=periodData;
123491
- }
123492
- }
123462
+ this.IndustryData=this.APIKDataToChartData(data, period);
123463
+ this.Execute.RunNextJob();
123464
+ });
123493
123465
  }
123494
123466
 
123495
123467
  this.GetOtherSymbolParam=function(name)
@@ -123833,6 +123805,32 @@ function JSSymbolData(ast,option,jsExecute)
123833
123805
  }
123834
123806
  }
123835
123807
 
123808
+ //获取大盘指数缓存数据
123809
+ this.GetIndustryCacheData=function(dataName)
123810
+ {
123811
+ if (!this.IndustryData) return [];
123812
+
123813
+ switch(dataName)
123814
+ {
123815
+ case 'HY_INDEXA':
123816
+ return this.IndustryData.GetAmount();
123817
+ case 'HY_INDEXC':
123818
+ return this.IndustryData.GetClose();
123819
+ case 'HY_INDEXH':
123820
+ return this.IndustryData.GetHigh();
123821
+ case 'HY_INDEXL':
123822
+ return this.IndustryData.GetLow();
123823
+ case 'HY_INDEXO':
123824
+ return this.IndustryData.GetOpen();
123825
+ case 'HY_INDEXV':
123826
+ return this.IndustryData.GetVol();
123827
+ case 'HY_INDEXADV':
123828
+ return this.IndustryData.GetUp();
123829
+ case 'HY_INDEXDEC':
123830
+ return this.IndustryData.GetDown();
123831
+ }
123832
+ }
123833
+
123836
123834
  //指数转成对应的板块
123837
123835
  this.GetBlockSymbol=function(symbol)
123838
123836
  {
@@ -127775,6 +127773,7 @@ var JS_EXECUTE_JOB_ID=
127775
127773
  JOB_DOWNLOAD_LATEST_INDEX_DATA:8, //下载最新大盘数据
127776
127774
  JOB_DOWNLOAD_OTHER_SYMBOL_DATA:9, //下载其他股票的K线数据
127777
127775
  JOB_DOWNLOAD_SYMBOL_PERIOD_DATA:10, //下载周期数据
127776
+ JOB_DOWNLOAD_INDUSTRY_DATA:11, //行业数据
127778
127777
 
127779
127778
  JOB_DOWNLOAD_FINVALUE:301, //引用专业财务数据 FINVALUE(ID),ID为数据编号
127780
127779
  JOB_DOWNLOAD_FINONE:302, //引用指定年和月日的某类型的财务数据 FINONE(ID,Y,MMDD),ID为数据编号,Y和MMDD表示年和月日.
@@ -128061,6 +128060,10 @@ function JSExecute(ast,option)
128061
128060
  ['INDEXA',null],['INDEXC',null],['INDEXH',null],['INDEXL',null],['INDEXO',null],['INDEXV',null],
128062
128061
  ['INDEXADV',null],['INDEXDEC',null],
128063
128062
 
128063
+ //行业数据
128064
+ ["HY_INDEXA",null],["HY_INDEXC",null],["HY_INDEXH",null],["HY_INDEXL",null],["HY_INDEXO",null],["HY_INDEXV",null],
128065
+ ["HY_INDEXADV",null],["HY_INDEXDEC",null],
128066
+
128064
128067
  ["ADVANCE",null],['DECLINE', null],
128065
128068
 
128066
128069
  ['FROMOPEN',null], //已开盘有多长分钟
@@ -128185,6 +128188,8 @@ function JSExecute(ast,option)
128185
128188
  return this.SymbolData.GetSymbolPeriodData(jobItem);
128186
128189
  case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_INDEX_DATA:
128187
128190
  return this.SymbolData.GetIndexData();
128191
+ case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_INDUSTRY_DATA:
128192
+ return this.SymbolData.GetIndustryData();
128188
128193
  case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_LATEST_INDEX_DATA:
128189
128194
  return this.SymbolData.GetLatestIndexData();
128190
128195
  case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_INDEX_INCREASE_DATA:
@@ -128309,6 +128314,16 @@ function JSExecute(ast,option)
128309
128314
  case 'INDEXADV':
128310
128315
  case 'INDEXDEC':
128311
128316
  return this.SymbolData.GetIndexCacheData(name);
128317
+ //行业数据
128318
+ case 'HY_INDEXA':
128319
+ case 'HY_INDEXC':
128320
+ case 'HY_INDEXH':
128321
+ case 'HY_INDEXL':
128322
+ case 'HY_INDEXO':
128323
+ case 'HY_INDEXV':
128324
+ case 'HY_INDEXADV':
128325
+ case 'HY_INDEXDEC':
128326
+ return this.SymbolData.GetIndustryCacheData(name);
128312
128327
  case 'CURRBARSCOUNT':
128313
128328
  return this.SymbolData.GetCurrBarsCount();
128314
128329
  case "BARPOS":
@@ -167413,7 +167428,7 @@ function HQChartScriptWorker()
167413
167428
 
167414
167429
 
167415
167430
 
167416
- var HQCHART_VERSION="1.1.15342";
167431
+ var HQCHART_VERSION="1.1.15346";
167417
167432
 
167418
167433
  function PrintHQChartVersion()
167419
167434
  {