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.
package/package.json
CHANGED
|
@@ -1212,6 +1212,7 @@ var Syntax = {
|
|
|
1212
1212
|
function Node(ErrorHandler)
|
|
1213
1213
|
{
|
|
1214
1214
|
this.IsNeedIndexData=false; //是否需要大盘数据
|
|
1215
|
+
this.IsNeedIndustryData=false; //行业数据下载
|
|
1215
1216
|
this.IsNeedLatestIndexData=false; //是否需要下载最新大盘数据
|
|
1216
1217
|
this.IsNeedSymbolData=false; //是否需要下载股票数据
|
|
1217
1218
|
this.IsNeedMarginData=new Set();
|
|
@@ -1239,6 +1240,7 @@ function Node(ErrorHandler)
|
|
|
1239
1240
|
if (this.IsNeedSymbolData) jobs.push({ID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SYMBOL_DATA});
|
|
1240
1241
|
if (this.IsNeedIndexData) jobs.push({ID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_INDEX_DATA});
|
|
1241
1242
|
if (this.IsNeedLatestIndexData) jobs.push({ID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_LATEST_INDEX_DATA});
|
|
1243
|
+
if (this.IsNeedIndustryData) jobs.push({ID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_INDUSTRY_DATA});
|
|
1242
1244
|
|
|
1243
1245
|
//最新的个股行情数据
|
|
1244
1246
|
for(var i=0;i<this.Dynainfo.length;++i)
|
|
@@ -1325,6 +1327,13 @@ function Node(ErrorHandler)
|
|
|
1325
1327
|
return;
|
|
1326
1328
|
}
|
|
1327
1329
|
|
|
1330
|
+
let setIndustryName=new Set(['HY_INDEXA','HY_INDEXC','HY_INDEXH','HY_INDEXL',"HY_INDEXO","HY_INDEXV",'HY_INDEXADV','HY_INDEXDEC']);
|
|
1331
|
+
if (setIndustryName.has(varName))
|
|
1332
|
+
{
|
|
1333
|
+
this.IsNeedIndustryData=true;
|
|
1334
|
+
return;
|
|
1335
|
+
}
|
|
1336
|
+
|
|
1328
1337
|
let setSymbolDataName=new Set(['CLOSE','C','VOL','V','OPEN','O','HIGH','H','LOW','L','AMOUNT','AMO','VOLINSTK']);
|
|
1329
1338
|
if (setSymbolDataName.has(varName))
|
|
1330
1339
|
{
|
|
@@ -12133,6 +12142,7 @@ function JSSymbolData(ast,option,jsExecute)
|
|
|
12133
12142
|
|
|
12134
12143
|
this.LatestData=new Map(); //最新行情 key=id value=数据
|
|
12135
12144
|
this.IndexData; //大盘指数
|
|
12145
|
+
this.IndustryData; //行业数据
|
|
12136
12146
|
this.LatestIndexData; //最新大盘数据
|
|
12137
12147
|
this.MarginData=new Map(); //融资融券
|
|
12138
12148
|
this.HKToSHSZData=new Map(); //北上资金
|
|
@@ -12525,168 +12535,130 @@ function JSSymbolData(ast,option,jsExecute)
|
|
|
12525
12535
|
this.GetIndexData=function()
|
|
12526
12536
|
{
|
|
12527
12537
|
if (this.IndexData) return this.Execute.RunNextJob();
|
|
12538
|
+
if (!this.NetworkFilter) return this.Execute.RunNextJob();
|
|
12528
12539
|
|
|
12529
|
-
var
|
|
12530
|
-
|
|
12540
|
+
var dateRange=this.Data.GetDateRange();
|
|
12541
|
+
var period=this.Period;
|
|
12542
|
+
var obj=
|
|
12531
12543
|
{
|
|
12532
|
-
|
|
12533
|
-
|
|
12534
|
-
|
|
12535
|
-
|
|
12536
|
-
|
|
12537
|
-
|
|
12538
|
-
|
|
12539
|
-
Period:self.Period,
|
|
12540
|
-
Request:
|
|
12541
|
-
{
|
|
12542
|
-
Url:self.KLineApiUrl, Type:'POST' ,
|
|
12543
|
-
Data:
|
|
12544
|
-
{
|
|
12545
|
-
field:[ "name", "symbol","yclose","open","price","high","low","vol",'up','down','stop','unchanged'],
|
|
12546
|
-
indexSymbol:"000001.sh", symbol: this.Symbol, period:this.Period,
|
|
12547
|
-
dateRange:dateRange
|
|
12548
|
-
}
|
|
12549
|
-
},
|
|
12550
|
-
Self:this,
|
|
12551
|
-
PreventDefault:false
|
|
12552
|
-
};
|
|
12553
|
-
this.NetworkFilter(obj, function(data)
|
|
12544
|
+
Name:'JSSymbolData::GetIndexData', //类名::
|
|
12545
|
+
Explain:'大盘数据',
|
|
12546
|
+
Period:period,
|
|
12547
|
+
Request:
|
|
12548
|
+
{
|
|
12549
|
+
Type:'POST' ,
|
|
12550
|
+
Data:
|
|
12554
12551
|
{
|
|
12555
|
-
|
|
12556
|
-
|
|
12557
|
-
|
|
12552
|
+
field:[ "name", "symbol","yclose","open","price","high","low","vol",'up','down','stop','unchanged'],
|
|
12553
|
+
indexSymbol:"000001.sh", symbol: this.Symbol, period:period,
|
|
12554
|
+
dateRange:dateRange
|
|
12555
|
+
}
|
|
12556
|
+
},
|
|
12557
|
+
Self:this,
|
|
12558
|
+
PreventDefault:false
|
|
12559
|
+
};
|
|
12558
12560
|
|
|
12559
|
-
|
|
12560
|
-
|
|
12561
|
+
this.NetworkFilter(obj, (data)=>
|
|
12562
|
+
{
|
|
12563
|
+
JSConsole.Complier.Log('[JSSymbolData::GetIndexData] recv data' , data);
|
|
12561
12564
|
|
|
12562
|
-
|
|
12563
|
-
|
|
12564
|
-
|
|
12565
|
-
|
|
12566
|
-
|
|
12567
|
-
|
|
12568
|
-
|
|
12569
|
-
|
|
12570
|
-
|
|
12571
|
-
|
|
12572
|
-
|
|
12573
|
-
|
|
12574
|
-
|
|
12575
|
-
|
|
12576
|
-
|
|
12577
|
-
|
|
12578
|
-
|
|
12579
|
-
|
|
12565
|
+
this.IndexData=this.APIKDataToChartData(data, period);
|
|
12566
|
+
this.Execute.RunNextJob();
|
|
12567
|
+
});
|
|
12568
|
+
|
|
12569
|
+
}
|
|
12570
|
+
|
|
12571
|
+
|
|
12572
|
+
this.APIKDataToChartData=function(data, period)
|
|
12573
|
+
{
|
|
12574
|
+
var result=null;
|
|
12575
|
+
if (ChartData.IsDayPeriod(period,true)) //请求日线数据
|
|
12576
|
+
{
|
|
12577
|
+
var hisData=this.JsonDataToHistoryData(data);
|
|
12578
|
+
result=new ChartData();
|
|
12579
|
+
result.DataType=0; /*日线数据 */
|
|
12580
|
+
result.Data=hisData;
|
|
12581
|
+
|
|
12582
|
+
if (this.IsApiPeriod==true)
|
|
12583
|
+
{
|
|
12584
|
+
result.Period=period;
|
|
12585
|
+
result.Data=this.Data.FixKData(hisData,period);
|
|
12586
|
+
}
|
|
12587
|
+
else
|
|
12588
|
+
{
|
|
12589
|
+
var aryOverlayData=this.SourceData.GetOverlayData(result.Data); //和主图数据拟合以后的数据
|
|
12590
|
+
result.Data=aryOverlayData;
|
|
12591
|
+
|
|
12592
|
+
if (ChartData.IsDayPeriod(period,false)) //周期数据
|
|
12580
12593
|
{
|
|
12581
|
-
|
|
12594
|
+
var periodData=result.GetPeriodData(period);
|
|
12595
|
+
result.Data=periodData;
|
|
12582
12596
|
}
|
|
12583
|
-
}
|
|
12597
|
+
}
|
|
12584
12598
|
}
|
|
12585
|
-
else
|
|
12599
|
+
else if (ChartData.IsMinutePeriod(period, true))
|
|
12586
12600
|
{
|
|
12587
|
-
|
|
12588
|
-
|
|
12589
|
-
|
|
12590
|
-
|
|
12591
|
-
{
|
|
12592
|
-
Name:'JSSymbolData::GetIndexData', //类名::
|
|
12593
|
-
Explain:'大盘数据',
|
|
12594
|
-
Period:self.Period,
|
|
12595
|
-
Request:{ Url:self.MinuteKLineApiUrl, Type:'POST' ,
|
|
12596
|
-
Data:
|
|
12597
|
-
{
|
|
12598
|
-
field:["name","symbol","yclose","open","price","high","low","vol"],
|
|
12599
|
-
indexSymbol:"000001.sh", symbol: this.Symbol, period:this.Period,
|
|
12600
|
-
dateRange:dateRange
|
|
12601
|
-
}
|
|
12602
|
-
},
|
|
12603
|
-
Self:this,
|
|
12604
|
-
PreventDefault:false
|
|
12605
|
-
};
|
|
12606
|
-
this.NetworkFilter(obj, function(data)
|
|
12607
|
-
{
|
|
12608
|
-
self.RecvIndexMinuteHistroyData(data);
|
|
12609
|
-
self.Execute.RunNextJob();
|
|
12610
|
-
});
|
|
12601
|
+
var hisData=this.JsonDataToMinuteHistoryData(data);
|
|
12602
|
+
result=new ChartData();
|
|
12603
|
+
result.DataType=1; /*分钟线数据 */
|
|
12604
|
+
result.Data=hisData;
|
|
12611
12605
|
|
|
12612
|
-
|
|
12606
|
+
if (this.IsApiPeriod==true)
|
|
12607
|
+
{
|
|
12608
|
+
result.Period=this.Period;
|
|
12609
|
+
result.Data=this.Data.FixKData(hisData,period);
|
|
12613
12610
|
}
|
|
12611
|
+
else
|
|
12612
|
+
{
|
|
12613
|
+
var aryOverlayData=this.SourceData.GetOverlayMinuteData(result.Data); //和主图数据拟合以后的数据
|
|
12614
|
+
result.Data=aryOverlayData;
|
|
12614
12615
|
|
|
12615
|
-
|
|
12616
|
-
url: self.MinuteKLineApiUrl,
|
|
12617
|
-
data:
|
|
12616
|
+
if (ChartData.IsMinutePeriod(period,false)) //周期数据
|
|
12618
12617
|
{
|
|
12619
|
-
|
|
12620
|
-
|
|
12621
|
-
"start": -1,
|
|
12622
|
-
"count": self.MaxRequestMinuteDayCount+5
|
|
12623
|
-
},
|
|
12624
|
-
type:"post",
|
|
12625
|
-
dataType: "json",
|
|
12626
|
-
async:true,
|
|
12627
|
-
success: function (data)
|
|
12628
|
-
{
|
|
12629
|
-
self.RecvIndexMinuteHistroyData(data);
|
|
12630
|
-
self.Execute.RunNextJob();
|
|
12631
|
-
},
|
|
12632
|
-
error: function(request)
|
|
12633
|
-
{
|
|
12634
|
-
self.RecvError(request);
|
|
12618
|
+
var periodData=result.GetPeriodData(period);
|
|
12619
|
+
result.Data=periodData;
|
|
12635
12620
|
}
|
|
12636
|
-
}
|
|
12621
|
+
}
|
|
12637
12622
|
}
|
|
12638
12623
|
|
|
12624
|
+
return result;
|
|
12639
12625
|
}
|
|
12640
12626
|
|
|
12641
|
-
|
|
12627
|
+
//获取行业数据
|
|
12628
|
+
this.GetIndustryData=function()
|
|
12642
12629
|
{
|
|
12643
|
-
|
|
12644
|
-
|
|
12645
|
-
let hisData=this.JsonDataToHistoryData(data);
|
|
12646
|
-
this.IndexData=new ChartData();
|
|
12647
|
-
this.IndexData.DataType=0; /*日线数据 */
|
|
12648
|
-
this.IndexData.Data=hisData;
|
|
12630
|
+
if (this.IndustryData) return this.Execute.RunNextJob();
|
|
12631
|
+
if (!this.NetworkFilter) return this.Execute.RunNextJob();
|
|
12649
12632
|
|
|
12650
|
-
|
|
12651
|
-
|
|
12652
|
-
|
|
12653
|
-
this.IndexData.Data=this.Data.FixKData(hisData,this.Period);
|
|
12654
|
-
}
|
|
12655
|
-
else
|
|
12633
|
+
var dateRange=this.Data.GetDateRange();
|
|
12634
|
+
var period=this.Period;
|
|
12635
|
+
var obj=
|
|
12656
12636
|
{
|
|
12657
|
-
|
|
12658
|
-
|
|
12659
|
-
|
|
12660
|
-
|
|
12661
|
-
{
|
|
12662
|
-
|
|
12663
|
-
|
|
12664
|
-
|
|
12665
|
-
|
|
12666
|
-
|
|
12667
|
-
|
|
12668
|
-
|
|
12669
|
-
|
|
12670
|
-
|
|
12637
|
+
Name:'JSSymbolData::GetIndustryData', //类名::
|
|
12638
|
+
Explain:'行业数据',
|
|
12639
|
+
Period:period,
|
|
12640
|
+
Request:
|
|
12641
|
+
{
|
|
12642
|
+
Url:self.KLineApiUrl, Type:'POST' ,
|
|
12643
|
+
Data:
|
|
12644
|
+
{
|
|
12645
|
+
field:[ "name", "symbol","yclose","open","price","high","low","vol",'up','down','stop','unchanged'],
|
|
12646
|
+
symbol: this.Symbol, period:period,
|
|
12647
|
+
dateRange:dateRange
|
|
12648
|
+
}
|
|
12649
|
+
},
|
|
12650
|
+
Self:this,
|
|
12651
|
+
PreventDefault:false
|
|
12652
|
+
};
|
|
12671
12653
|
|
|
12672
|
-
|
|
12673
|
-
this.
|
|
12674
|
-
|
|
12675
|
-
|
|
12654
|
+
|
|
12655
|
+
this.NetworkFilter(obj, (data)=>
|
|
12656
|
+
{
|
|
12657
|
+
JSConsole.Complier.Log('[JSSymbolData::GetIndustryData] recv data' , data);
|
|
12676
12658
|
|
|
12677
|
-
|
|
12678
|
-
|
|
12679
|
-
|
|
12680
|
-
this.IndexData.Data=this.Data.FixKData(hisData,this.Period);
|
|
12681
|
-
}
|
|
12682
|
-
else
|
|
12683
|
-
{
|
|
12684
|
-
if (ChartData.IsMinutePeriod(this.Period,false)) //周期数据
|
|
12685
|
-
{
|
|
12686
|
-
let periodData=this.IndexData.GetPeriodData(this.Period);
|
|
12687
|
-
this.IndexData.Data=periodData;
|
|
12688
|
-
}
|
|
12689
|
-
}
|
|
12659
|
+
this.IndustryData=this.APIKDataToChartData(data, period);
|
|
12660
|
+
this.Execute.RunNextJob();
|
|
12661
|
+
});
|
|
12690
12662
|
}
|
|
12691
12663
|
|
|
12692
12664
|
this.GetOtherSymbolParam=function(name)
|
|
@@ -13030,6 +13002,32 @@ function JSSymbolData(ast,option,jsExecute)
|
|
|
13030
13002
|
}
|
|
13031
13003
|
}
|
|
13032
13004
|
|
|
13005
|
+
//获取大盘指数缓存数据
|
|
13006
|
+
this.GetIndustryCacheData=function(dataName)
|
|
13007
|
+
{
|
|
13008
|
+
if (!this.IndustryData) return [];
|
|
13009
|
+
|
|
13010
|
+
switch(dataName)
|
|
13011
|
+
{
|
|
13012
|
+
case 'HY_INDEXA':
|
|
13013
|
+
return this.IndustryData.GetAmount();
|
|
13014
|
+
case 'HY_INDEXC':
|
|
13015
|
+
return this.IndustryData.GetClose();
|
|
13016
|
+
case 'HY_INDEXH':
|
|
13017
|
+
return this.IndustryData.GetHigh();
|
|
13018
|
+
case 'HY_INDEXL':
|
|
13019
|
+
return this.IndustryData.GetLow();
|
|
13020
|
+
case 'HY_INDEXO':
|
|
13021
|
+
return this.IndustryData.GetOpen();
|
|
13022
|
+
case 'HY_INDEXV':
|
|
13023
|
+
return this.IndustryData.GetVol();
|
|
13024
|
+
case 'HY_INDEXADV':
|
|
13025
|
+
return this.IndustryData.GetUp();
|
|
13026
|
+
case 'HY_INDEXDEC':
|
|
13027
|
+
return this.IndustryData.GetDown();
|
|
13028
|
+
}
|
|
13029
|
+
}
|
|
13030
|
+
|
|
13033
13031
|
//指数转成对应的板块
|
|
13034
13032
|
this.GetBlockSymbol=function(symbol)
|
|
13035
13033
|
{
|
|
@@ -16972,6 +16970,7 @@ var JS_EXECUTE_JOB_ID=
|
|
|
16972
16970
|
JOB_DOWNLOAD_LATEST_INDEX_DATA:8, //下载最新大盘数据
|
|
16973
16971
|
JOB_DOWNLOAD_OTHER_SYMBOL_DATA:9, //下载其他股票的K线数据
|
|
16974
16972
|
JOB_DOWNLOAD_SYMBOL_PERIOD_DATA:10, //下载周期数据
|
|
16973
|
+
JOB_DOWNLOAD_INDUSTRY_DATA:11, //行业数据
|
|
16975
16974
|
|
|
16976
16975
|
JOB_DOWNLOAD_FINVALUE:301, //引用专业财务数据 FINVALUE(ID),ID为数据编号
|
|
16977
16976
|
JOB_DOWNLOAD_FINONE:302, //引用指定年和月日的某类型的财务数据 FINONE(ID,Y,MMDD),ID为数据编号,Y和MMDD表示年和月日.
|
|
@@ -17258,6 +17257,10 @@ function JSExecute(ast,option)
|
|
|
17258
17257
|
['INDEXA',null],['INDEXC',null],['INDEXH',null],['INDEXL',null],['INDEXO',null],['INDEXV',null],
|
|
17259
17258
|
['INDEXADV',null],['INDEXDEC',null],
|
|
17260
17259
|
|
|
17260
|
+
//行业数据
|
|
17261
|
+
["HY_INDEXA",null],["HY_INDEXC",null],["HY_INDEXH",null],["HY_INDEXL",null],["HY_INDEXO",null],["HY_INDEXV",null],
|
|
17262
|
+
["HY_INDEXADV",null],["HY_INDEXDEC",null],
|
|
17263
|
+
|
|
17261
17264
|
["ADVANCE",null],['DECLINE', null],
|
|
17262
17265
|
|
|
17263
17266
|
['FROMOPEN',null], //已开盘有多长分钟
|
|
@@ -17382,6 +17385,8 @@ function JSExecute(ast,option)
|
|
|
17382
17385
|
return this.SymbolData.GetSymbolPeriodData(jobItem);
|
|
17383
17386
|
case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_INDEX_DATA:
|
|
17384
17387
|
return this.SymbolData.GetIndexData();
|
|
17388
|
+
case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_INDUSTRY_DATA:
|
|
17389
|
+
return this.SymbolData.GetIndustryData();
|
|
17385
17390
|
case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_LATEST_INDEX_DATA:
|
|
17386
17391
|
return this.SymbolData.GetLatestIndexData();
|
|
17387
17392
|
case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_INDEX_INCREASE_DATA:
|
|
@@ -17506,6 +17511,16 @@ function JSExecute(ast,option)
|
|
|
17506
17511
|
case 'INDEXADV':
|
|
17507
17512
|
case 'INDEXDEC':
|
|
17508
17513
|
return this.SymbolData.GetIndexCacheData(name);
|
|
17514
|
+
//行业数据
|
|
17515
|
+
case 'HY_INDEXA':
|
|
17516
|
+
case 'HY_INDEXC':
|
|
17517
|
+
case 'HY_INDEXH':
|
|
17518
|
+
case 'HY_INDEXL':
|
|
17519
|
+
case 'HY_INDEXO':
|
|
17520
|
+
case 'HY_INDEXV':
|
|
17521
|
+
case 'HY_INDEXADV':
|
|
17522
|
+
case 'HY_INDEXDEC':
|
|
17523
|
+
return this.SymbolData.GetIndustryCacheData(name);
|
|
17509
17524
|
case 'CURRBARSCOUNT':
|
|
17510
17525
|
return this.SymbolData.GetCurrBarsCount();
|
|
17511
17526
|
case "BARPOS":
|