hqchart 1.1.14947 → 1.1.14956
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/lib/umychart.vue.js +54 -33
- package/package.json +1 -1
- package/src/jscommon/umychart.NetworkFilterTest.js +287 -33
- package/src/jscommon/umychart.js +285 -60
- package/src/jscommon/umychart.testdata.js +286 -32
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +286 -61
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.NetworkFilterTest.vue.js +287 -33
- package/src/jscommon/umychart.vue/umychart.vue.js +286 -61
|
@@ -15294,7 +15294,16 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
15294
15294
|
var left=null,right=null;
|
|
15295
15295
|
if (IFrameSplitOperator.IsBool(srcParam.Left)) left=srcParam.Left;
|
|
15296
15296
|
if (IFrameSplitOperator.IsBool(srcParam.Right)) right=srcParam.Right;
|
|
15297
|
-
|
|
15297
|
+
|
|
15298
|
+
var multiDay=null;
|
|
15299
|
+
if (srcParam.MultiDay)
|
|
15300
|
+
{
|
|
15301
|
+
var item=srcParam.MultiDay;
|
|
15302
|
+
multiDay={ };
|
|
15303
|
+
if (IFrameSplitOperator.IsBool(item.Left)) multiDay.Left=item.Left;
|
|
15304
|
+
if (IFrameSplitOperator.IsBool(item.Right)) multiDay.Right=item.Right;
|
|
15305
|
+
}
|
|
15306
|
+
this.ShowCallAuctionData({ Left:left, Right:right, MultiDay:multiDay });
|
|
15298
15307
|
}
|
|
15299
15308
|
|
|
15300
15309
|
break;
|
|
@@ -15870,7 +15879,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
15870
15879
|
{
|
|
15871
15880
|
//清空当前鼠标坐标
|
|
15872
15881
|
this.LastPoint.X=null;
|
|
15873
|
-
this.LastPoint.Y=null
|
|
15882
|
+
this.LastPoint.Y=null;
|
|
15874
15883
|
this.HideTooltip();
|
|
15875
15884
|
this.CloseTooltipDialog();
|
|
15876
15885
|
}
|
|
@@ -15879,7 +15888,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
15879
15888
|
if (IFrameSplitOperator.IsNumber(data.X) && IFrameSplitOperator.IsNumber(data.Y))
|
|
15880
15889
|
{
|
|
15881
15890
|
//设置鼠标位置
|
|
15882
|
-
if (this.LastPoint && !IFrameSplitOperator.IsNumber(this.LastPoint.X)
|
|
15891
|
+
if (this.LastPoint && (!IFrameSplitOperator.IsNumber(this.LastPoint.X) || !IFrameSplitOperator.IsNumber(this.LastPoint.Y)))
|
|
15883
15892
|
{
|
|
15884
15893
|
this.LastPoint.X=data.X;
|
|
15885
15894
|
this.LastPoint.Y=data.Y;
|
|
@@ -39420,10 +39429,10 @@ function ChartMinuteVolumBar()
|
|
|
39420
39429
|
var unit=this.GetVolUnit();
|
|
39421
39430
|
if (callAutionData.Ver==1.0)
|
|
39422
39431
|
{
|
|
39423
|
-
for(var i
|
|
39432
|
+
for(var i=0;i<callAutionData.Data.length;++i)
|
|
39424
39433
|
{
|
|
39425
39434
|
var item=callAutionData.Data[i];
|
|
39426
|
-
if (!item || !IFrameSplitOperator.IsNumber(item.Vol[0])) continue;
|
|
39435
|
+
if (!item || !IFrameSplitOperator.IsNonEmptyArray(item.Vol) || !IFrameSplitOperator.IsNumber(item.Vol[0])) continue;
|
|
39427
39436
|
|
|
39428
39437
|
if (isBeforeOpen)
|
|
39429
39438
|
{
|
|
@@ -39457,11 +39466,11 @@ function ChartMinuteVolumBar()
|
|
|
39457
39466
|
{
|
|
39458
39467
|
var range={ Max: callAutionData.VolMax, Min:callAutionData.VolMin }
|
|
39459
39468
|
|
|
39460
|
-
for(var i
|
|
39469
|
+
for(var i=0; i<callAutionData.Data.length; ++i)
|
|
39461
39470
|
{
|
|
39462
39471
|
var item=callAutionData.Data[i];
|
|
39463
39472
|
if (!item) continue;
|
|
39464
|
-
if (IFrameSplitOperator.IsPlusNumber(item.Vol[0]))
|
|
39473
|
+
if (item.Vol && IFrameSplitOperator.IsPlusNumber(item.Vol[0]))
|
|
39465
39474
|
{
|
|
39466
39475
|
if (isBeforeOpen)
|
|
39467
39476
|
{
|
|
@@ -39491,7 +39500,7 @@ function ChartMinuteVolumBar()
|
|
|
39491
39500
|
this.Canvas.stroke();
|
|
39492
39501
|
}
|
|
39493
39502
|
|
|
39494
|
-
if (IFrameSplitOperator.IsPlusNumber(item.Vol[1]))
|
|
39503
|
+
if (item.Vol && IFrameSplitOperator.IsPlusNumber(item.Vol[1]))
|
|
39495
39504
|
{
|
|
39496
39505
|
if (isBeforeOpen)
|
|
39497
39506
|
{
|
|
@@ -44471,16 +44480,23 @@ function ChartMinutePriceLine()
|
|
|
44471
44480
|
var item=callAutionData.Data[i];
|
|
44472
44481
|
if (!item || !IFrameSplitOperator.IsNumber(item.Price))
|
|
44473
44482
|
{
|
|
44474
|
-
if (i==0 && isBeforeOpen
|
|
44483
|
+
if (i==0 && isBeforeOpen)
|
|
44475
44484
|
{
|
|
44476
|
-
|
|
44477
|
-
var
|
|
44485
|
+
//盘前集合竞价起始点为昨收或昨结算
|
|
44486
|
+
var price=callAutionData.YClose;
|
|
44487
|
+
if (IFrameSplitOperator.IsNumber(callAutionData.YClearing)) price=callAutionData.YClearing;
|
|
44478
44488
|
|
|
44479
|
-
|
|
44480
|
-
|
|
44481
|
-
|
|
44482
|
-
|
|
44483
|
-
|
|
44489
|
+
if (IFrameSplitOperator.IsNumber(price))
|
|
44490
|
+
{
|
|
44491
|
+
var x=this.ChartFrame.GetLeftExtendXFromIndex(i,callAutionData);
|
|
44492
|
+
var y=this.ChartFrame.GetLeftExtendYFromData(price);
|
|
44493
|
+
|
|
44494
|
+
this.Canvas.strokeStyle=this.BeforeLineColor;
|
|
44495
|
+
this.Canvas.beginPath();
|
|
44496
|
+
if (isHScreen) this.Canvas.moveTo(y,x);
|
|
44497
|
+
else this.Canvas.moveTo(x,y);
|
|
44498
|
+
bFirstPoint=false;
|
|
44499
|
+
}
|
|
44484
44500
|
}
|
|
44485
44501
|
|
|
44486
44502
|
continue;
|
|
@@ -94753,7 +94769,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
94753
94769
|
|
|
94754
94770
|
var bShow=(this.IsShowAfterData && this.IsShowBeforeData);
|
|
94755
94771
|
var subItem={ Name:"盘后盘前(单日)",Data:{ ID: JSCHART_MENU_ID.CMD_SHOW_CALLCATION_ID, Args:[{ Left:!bShow, Right:!bShow } ] }, Checked:bShow };
|
|
94756
|
-
|
|
94772
|
+
item.SubMenu.push(subItem);
|
|
94757
94773
|
|
|
94758
94774
|
var subItem={ Name:"盘前(单日)",Data:{ ID: JSCHART_MENU_ID.CMD_SHOW_CALLCATION_ID, Args:[{ Left:!this.IsShowBeforeData} ] }, Checked:this.IsShowBeforeData };
|
|
94759
94775
|
item.SubMenu.push(subItem);
|
|
@@ -94761,6 +94777,16 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
94761
94777
|
var subItem={ Name:"盘后(单日)",Data:{ ID: JSCHART_MENU_ID.CMD_SHOW_CALLCATION_ID, Args:[{ Right:!this.IsShowAfterData} ] }, Checked:this.IsShowAfterData };
|
|
94762
94778
|
item.SubMenu.push(subItem);
|
|
94763
94779
|
|
|
94780
|
+
var bShow=(this.IsShowMultiDayBeforeData && this.IsShowMultiDayAfterData);
|
|
94781
|
+
var subItem={ Name:"盘后盘前(多日)",Data:{ ID: JSCHART_MENU_ID.CMD_SHOW_CALLCATION_ID, Args:[{ MultiDay:{ Left:!bShow, Right:!bShow} } ] }, Checked:bShow };
|
|
94782
|
+
item.SubMenu.push(subItem);
|
|
94783
|
+
|
|
94784
|
+
var subItem={ Name:"盘前(多日)",Data:{ ID: JSCHART_MENU_ID.CMD_SHOW_CALLCATION_ID, Args:[{ MultiDay:{ Left:!this.IsShowMultiDayBeforeData } } ] }, Checked:this.IsShowMultiDayBeforeData };
|
|
94785
|
+
item.SubMenu.push(subItem);
|
|
94786
|
+
|
|
94787
|
+
var subItem={ Name:"盘后(多日)",Data:{ ID: JSCHART_MENU_ID.CMD_SHOW_CALLCATION_ID, Args:[{ MultiDay:{ Right:!this.IsShowMultiDayAfterData } } ] }, Checked:this.IsShowMultiDayAfterData };
|
|
94788
|
+
item.SubMenu.push(subItem);
|
|
94789
|
+
|
|
94764
94790
|
aryMenu.splice(4,0,item);
|
|
94765
94791
|
}
|
|
94766
94792
|
|
|
@@ -96649,6 +96675,8 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
96649
96675
|
//更新最新的几条数据
|
|
96650
96676
|
this.UpdateLatestMinuteDataV2=function(minuteData)
|
|
96651
96677
|
{
|
|
96678
|
+
if (!minuteData || !IFrameSplitOperator.IsNonEmptyArray(minuteData.Data)) return;
|
|
96679
|
+
|
|
96652
96680
|
if (this.DayCount>1)
|
|
96653
96681
|
{
|
|
96654
96682
|
if (!this.DayData) return;
|
|
@@ -96657,7 +96685,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
96657
96685
|
for(var i=0; i<this.DayData.length; ++i)
|
|
96658
96686
|
{
|
|
96659
96687
|
var item=this.DayData[i];
|
|
96660
|
-
if (item.Date===
|
|
96688
|
+
if (item.Date===minuteData.Date)
|
|
96661
96689
|
{
|
|
96662
96690
|
findItem=item;
|
|
96663
96691
|
break;
|
|
@@ -96768,6 +96796,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
96768
96796
|
|
|
96769
96797
|
var callCation={ Before:this.IsShowBeforeData, After:this.IsShowAfterData } //集合竞价
|
|
96770
96798
|
if (this.DayCount>1) callCation={ Before:this.IsShowMultiDayBeforeData, After:this.IsShowMultiDayAfterData } //多日集合竞价
|
|
96799
|
+
callCation.Latest={ Before:this.GetLatestBeforeOpenItem(), After:this.GetLatestAfterCloseItem() }; //最新一条的盘前盘后数据
|
|
96771
96800
|
|
|
96772
96801
|
var obj=
|
|
96773
96802
|
{
|
|
@@ -96843,24 +96872,50 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
96843
96872
|
this.ColorLineData=aryColorLineData;
|
|
96844
96873
|
}
|
|
96845
96874
|
|
|
96846
|
-
this.UpdateCallCationData=function(beforeOpenData,afterCloseData)
|
|
96875
|
+
this.UpdateCallCationData=function(beforeOpenData,afterCloseData,option)
|
|
96847
96876
|
{
|
|
96848
|
-
|
|
96877
|
+
var dataType=0;
|
|
96878
|
+
if (option && IFrameSplitOperator.IsNumber(option.DataType)) dataType=option.DataType;
|
|
96879
|
+
|
|
96880
|
+
if (dataType==1)
|
|
96849
96881
|
{
|
|
96850
|
-
|
|
96851
|
-
|
|
96852
|
-
this.MultiDayBeforeOpenData[this.MultiDayBeforeOpenData.length-1]
|
|
96853
|
-
|
|
96854
|
-
|
|
96855
|
-
|
|
96882
|
+
if (beforeOpenData && IFrameSplitOperator.IsNonEmptyArray(this.MultiDayBeforeOpenData))
|
|
96883
|
+
{
|
|
96884
|
+
var lastItem=this.MultiDayBeforeOpenData[this.MultiDayBeforeOpenData.length-1];
|
|
96885
|
+
if (lastItem.Date==beforeOpenData.Date) //增量更新
|
|
96886
|
+
{
|
|
96887
|
+
this.UpdateLatestCallCationData(lastItem, beforeOpenData);
|
|
96888
|
+
}
|
|
96889
|
+
}
|
|
96856
96890
|
|
|
96857
|
-
|
|
96891
|
+
if (afterCloseData && IFrameSplitOperator.IsNonEmptyArray(this.MultiDayAfterCloseData))
|
|
96892
|
+
{
|
|
96893
|
+
var lastItem=this.MultiDayAfterCloseData[this.MultiDayAfterCloseData.length-1];
|
|
96894
|
+
if (lastItem.Date==afterCloseData.Date) //增量更新
|
|
96895
|
+
{
|
|
96896
|
+
this.UpdateLatestCallCationData(lastItem, afterCloseData);
|
|
96897
|
+
}
|
|
96898
|
+
}
|
|
96899
|
+
}
|
|
96900
|
+
else
|
|
96858
96901
|
{
|
|
96859
|
-
|
|
96860
|
-
|
|
96861
|
-
this.
|
|
96862
|
-
|
|
96863
|
-
|
|
96902
|
+
if (beforeOpenData && IFrameSplitOperator.IsNonEmptyArray(this.MultiDayBeforeOpenData))
|
|
96903
|
+
{
|
|
96904
|
+
var lastItem=this.MultiDayBeforeOpenData[this.MultiDayBeforeOpenData.length-1];
|
|
96905
|
+
if (lastItem.Date==beforeOpenData.Date) //存在更新
|
|
96906
|
+
this.MultiDayBeforeOpenData[this.MultiDayBeforeOpenData.length-1]=beforeOpenData;
|
|
96907
|
+
else if (lastItem.Date<beforeOpenData.Date) //新的一天插入
|
|
96908
|
+
this.MultiDayBeforeOpenData.push(beforeOpenData);
|
|
96909
|
+
}
|
|
96910
|
+
|
|
96911
|
+
if (afterCloseData && IFrameSplitOperator.IsNonEmptyArray(this.MultiDayAfterCloseData))
|
|
96912
|
+
{
|
|
96913
|
+
var lastItem=this.MultiDayAfterCloseData[this.MultiDayAfterCloseData.length-1];
|
|
96914
|
+
if (lastItem.Date==afterCloseData.Date)
|
|
96915
|
+
this.MultiDayAfterCloseData[this.MultiDayAfterCloseData.length-1]=afterCloseData;
|
|
96916
|
+
else if (lastItem.Date<afterCloseData.Date)
|
|
96917
|
+
this.MultiDayAfterCloseData.push(afterCloseData);
|
|
96918
|
+
}
|
|
96864
96919
|
}
|
|
96865
96920
|
|
|
96866
96921
|
this.CaclutateCallCationYRange();
|
|
@@ -96876,9 +96931,16 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
96876
96931
|
var afterCloseData=MinuteChartContainer.JsonDataToAfterCloseData(data);
|
|
96877
96932
|
var updateTime=MinuteChartContainer.JsonDataToMinuteLastUpdateTime(data); //数据最后的更新时间
|
|
96878
96933
|
|
|
96934
|
+
if (data.LatestPointFlash) //最新数据闪烁
|
|
96935
|
+
{
|
|
96936
|
+
var item=data.LatestPointFlash;
|
|
96937
|
+
if (IFrameSplitOperator.IsNumber(item.FlashCount))
|
|
96938
|
+
this.SetLatestPointFlash(item.FlashCount)
|
|
96939
|
+
}
|
|
96940
|
+
|
|
96879
96941
|
if (this.DayCount>1) //多日走势图
|
|
96880
96942
|
{
|
|
96881
|
-
this.UpdateCallCationData(beforeOpenData,afterCloseData);
|
|
96943
|
+
this.UpdateCallCationData(beforeOpenData,afterCloseData, { DataType:1});
|
|
96882
96944
|
this.UpdateLineColorData(aryColorData,minuteData.date);
|
|
96883
96945
|
this.UpdateLatestMinuteDataV2(minuteData);
|
|
96884
96946
|
this.UpdateHistoryMinuteUI(updateTime);
|
|
@@ -96890,10 +96952,13 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
96890
96952
|
return;
|
|
96891
96953
|
}
|
|
96892
96954
|
|
|
96893
|
-
if (this.IsBeforeData && beforeOpenData) this.BeforeOpenData=beforeOpenData;
|
|
96894
|
-
if (this.IsAfterData && afterCloseData) this.AfterCloseData=afterCloseData;
|
|
96955
|
+
//if (this.IsBeforeData && beforeOpenData) this.BeforeOpenData=beforeOpenData;
|
|
96956
|
+
//if (this.IsAfterData && afterCloseData) this.AfterCloseData=afterCloseData;
|
|
96957
|
+
|
|
96958
|
+
//盘前盘后数据更新
|
|
96959
|
+
if (this.IsBeforeData && beforeOpenData) this.UpdateLatestCallCationData(this.BeforeOpenData, beforeOpenData);
|
|
96960
|
+
if (this.IsAfterData && afterCloseData) this.UpdateLatestCallCationData(this.AfterCloseData, afterCloseData);
|
|
96895
96961
|
|
|
96896
|
-
//原始数据
|
|
96897
96962
|
this.UpdateLatestMinuteDataV2(minuteData);
|
|
96898
96963
|
this.UpdateMinuteUI(data.stock[0], {FunctionName:"RecvUpdateMinuteData"});
|
|
96899
96964
|
|
|
@@ -96908,6 +96973,45 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
96908
96973
|
}
|
|
96909
96974
|
}
|
|
96910
96975
|
|
|
96976
|
+
this.UpdateLatestCallCationData=function(destData, updateData)
|
|
96977
|
+
{
|
|
96978
|
+
if (!destData) return;
|
|
96979
|
+
if (!updateData || !IFrameSplitOperator.IsNonEmptyArray(updateData.Data)) return;
|
|
96980
|
+
|
|
96981
|
+
if (destData.Data.length==0)
|
|
96982
|
+
{
|
|
96983
|
+
destData.Data=updateData.Data;
|
|
96984
|
+
destData.VolMax=updateData.VolMax;
|
|
96985
|
+
destData.VolMin=updateData.VolMin;
|
|
96986
|
+
return;
|
|
96987
|
+
}
|
|
96988
|
+
|
|
96989
|
+
//覆盖历史数据
|
|
96990
|
+
var mapData=new Map(updateData.Data.map((obj) => [obj.Time, obj]));
|
|
96991
|
+
var lastTime=null; //最后的时间
|
|
96992
|
+
for(var i=0;i<destData.Data.length;++i)
|
|
96993
|
+
{
|
|
96994
|
+
var item=destData.Data[i];
|
|
96995
|
+
lastTime=item.Time;
|
|
96996
|
+
if (!mapData.has(item.Time)) continue;
|
|
96997
|
+
var newItem=mapData.get(item.Time);
|
|
96998
|
+
if (!newItem || !IFrameSplitOperator.IsNumber(newItem.Price)) continue; //只覆盖有效数据
|
|
96999
|
+
|
|
97000
|
+
destData.Data[i]=newItem;
|
|
97001
|
+
}
|
|
97002
|
+
|
|
97003
|
+
//新数据往后插
|
|
97004
|
+
for(var i=0;i<updateData.Data.length;++i)
|
|
97005
|
+
{
|
|
97006
|
+
var item=updateData.Data[i];
|
|
97007
|
+
if (item.Time<=lastTime) continue;
|
|
97008
|
+
destData.Data.push(item);
|
|
97009
|
+
}
|
|
97010
|
+
|
|
97011
|
+
if (destData.VolMax<updateData.VolMax) destData.VolMax=updateData.VolMax;
|
|
97012
|
+
if (IFrameSplitOperator.IsNumber(updateData.TotalCount) && updateData.TotalCount>destData.TotalCount) updateData.TotalCount=destData.TotalCount;
|
|
97013
|
+
}
|
|
97014
|
+
|
|
96911
97015
|
this.RecvBuySellData=function(data)
|
|
96912
97016
|
{
|
|
96913
97017
|
if (!data) return;
|
|
@@ -96974,7 +97078,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
96974
97078
|
|
|
96975
97079
|
if (this.DayCount>1) //多日走势图
|
|
96976
97080
|
{
|
|
96977
|
-
this.UpdateCallCationData(beforeOpenData,afterCloseData);
|
|
97081
|
+
this.UpdateCallCationData(beforeOpenData,afterCloseData, { DataType:0});
|
|
96978
97082
|
this.UpdateLineColorData(aryColorData,data.stock[0].date);
|
|
96979
97083
|
this.UpdateLatestMinuteData(aryMinuteData, data.stock[0].date, data.stock[0]);
|
|
96980
97084
|
this.UpdateTradeStatusData(data.TradeStatus);
|
|
@@ -98760,6 +98864,54 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
98760
98864
|
return data;
|
|
98761
98865
|
}
|
|
98762
98866
|
|
|
98867
|
+
//获取最新的一条盘前数据
|
|
98868
|
+
this.GetLatestBeforeOpenItem=function()
|
|
98869
|
+
{
|
|
98870
|
+
var lastItem=null;
|
|
98871
|
+
if (this.DayCount>1)
|
|
98872
|
+
{
|
|
98873
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(this.MultiDayBeforeOpenData)) return null;
|
|
98874
|
+
var dayItem=this.MultiDayBeforeOpenData[this.MultiDayBeforeOpenData.length-1];
|
|
98875
|
+
if (!dayItem || !IFrameSplitOperator.IsNonEmptyArray(dayItem.Data)) return null;
|
|
98876
|
+
|
|
98877
|
+
var finder = dayItem.Data.findLast((element) => { return element && IFrameSplitOperator.IsNumber(element.Price); });
|
|
98878
|
+
if (finder) lastItem=finder;
|
|
98879
|
+
}
|
|
98880
|
+
else
|
|
98881
|
+
{
|
|
98882
|
+
if (!this.BeforeOpenData || !IFrameSplitOperator.IsNonEmptyArray(this.BeforeOpenData.Data)) return null;
|
|
98883
|
+
|
|
98884
|
+
var finder = this.BeforeOpenData.Data.findLast((element) => { return element && IFrameSplitOperator.IsNumber(element.Price); });
|
|
98885
|
+
if (finder) lastItem=finder;
|
|
98886
|
+
}
|
|
98887
|
+
|
|
98888
|
+
return lastItem;
|
|
98889
|
+
}
|
|
98890
|
+
|
|
98891
|
+
//获取最新的一条盘后数据
|
|
98892
|
+
this.GetLatestAfterCloseItem=function()
|
|
98893
|
+
{
|
|
98894
|
+
if (this.DayCount>1)
|
|
98895
|
+
{
|
|
98896
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(this.MultiDayAfterCloseData)) return null;
|
|
98897
|
+
var dayItem=this.MultiDayAfterCloseData[this.MultiDayAfterCloseData.length-1];
|
|
98898
|
+
if (!dayItem || !IFrameSplitOperator.IsNonEmptyArray(dayItem.Data)) return null;
|
|
98899
|
+
|
|
98900
|
+
var finder = dayItem.Data.findLast((element) => { return element && IFrameSplitOperator.IsNumber(element.Price); });
|
|
98901
|
+
if (finder) lastItem=finder;
|
|
98902
|
+
}
|
|
98903
|
+
else
|
|
98904
|
+
{
|
|
98905
|
+
if (!this.AfterCloseData || !IFrameSplitOperator.IsNonEmptyArray(this.AfterCloseData.Data)) return null;
|
|
98906
|
+
|
|
98907
|
+
var finder = this.AfterCloseData.Data.findLast((element) => { return element && IFrameSplitOperator.IsNumber(element.Price); });
|
|
98908
|
+
if (finder) lastItem=finder;
|
|
98909
|
+
}
|
|
98910
|
+
|
|
98911
|
+
return lastItem;
|
|
98912
|
+
}
|
|
98913
|
+
|
|
98914
|
+
|
|
98763
98915
|
this.IsCallAuctionFrame=function(frameID)
|
|
98764
98916
|
{
|
|
98765
98917
|
if (!IFrameSplitOperator.IsNonEmptyArray(this.ChartPaintEx)) return false;
|
|
@@ -98791,7 +98943,7 @@ MinuteChartContainer.JsonDataToBeforeOpenData=function(data)
|
|
|
98791
98943
|
var preClose=data.stock[0].yclose; //前一个数据价格
|
|
98792
98944
|
var stockData=data.stock[0];
|
|
98793
98945
|
var date=stockData.date; //日期
|
|
98794
|
-
var beforeOpenData={ Data:[], TotalCount:15, Ver:1.0, Date:date };
|
|
98946
|
+
var beforeOpenData={ Data:[], TotalCount:15, Ver:1.0, Date:date, YClose:stockData.yclose, YClearing:stockData.yclearing };
|
|
98795
98947
|
var extendDataIndex=JSCHART_DATA_FIELD_ID.MINUTE_BEFOREOPEN_EXTENDDATA; //扩展数据序号
|
|
98796
98948
|
if (stockData.beforeinfo)
|
|
98797
98949
|
{
|
|
@@ -98827,7 +98979,7 @@ MinuteChartContainer.JsonDataToBeforeOpenData=function(data)
|
|
|
98827
98979
|
else if (beforeOpenData.Ver==2.0)
|
|
98828
98980
|
{
|
|
98829
98981
|
var max=0;
|
|
98830
|
-
for(var i
|
|
98982
|
+
for(var i=0;i<stockData.before.length;++i)
|
|
98831
98983
|
{
|
|
98832
98984
|
var item=new BeforeOpenData();
|
|
98833
98985
|
var jsData=stockData.before[i];
|
|
@@ -98839,7 +98991,6 @@ MinuteChartContainer.JsonDataToBeforeOpenData=function(data)
|
|
|
98839
98991
|
item.Vol[1]=jsData[3]; //未匹配量
|
|
98840
98992
|
item.ColorID=jsData[4]; //柱子颜色ID
|
|
98841
98993
|
if (IFrameSplitOperator.IsNumber(jsData[6])) item.Date=jsData[6] //日期
|
|
98842
|
-
item.DateTime=`${item.Date} ${item.Time})`;
|
|
98843
98994
|
|
|
98844
98995
|
var totalVol=item.Vol[0]+item.Vol[1];
|
|
98845
98996
|
if (IFrameSplitOperator.IsNumber(jsData[5])) totalVol=jsData[5];
|
|
@@ -98851,12 +99002,14 @@ MinuteChartContainer.JsonDataToBeforeOpenData=function(data)
|
|
|
98851
99002
|
|
|
98852
99003
|
beforeOpenData.VolMax=max/unit;
|
|
98853
99004
|
beforeOpenData.VolMin=0;
|
|
99005
|
+
|
|
99006
|
+
if (stockData.beforeinfo && stockData.beforeinfo.TimeConfig) //固定时间
|
|
99007
|
+
MinuteChartContainer.CompleteCallAuctionData(stockData.beforeinfo.TimeConfig, beforeOpenData);
|
|
98854
99008
|
}
|
|
98855
99009
|
else if (beforeOpenData.Ver==3.0)
|
|
98856
99010
|
{
|
|
98857
99011
|
var max=0;
|
|
98858
|
-
|
|
98859
|
-
for(var i in stockData.before)
|
|
99012
|
+
for(var i=0; i<stockData.before.length; ++i)
|
|
98860
99013
|
{
|
|
98861
99014
|
var item=new BeforeOpenData();
|
|
98862
99015
|
var jsData=stockData.before[i];
|
|
@@ -98867,7 +99020,6 @@ MinuteChartContainer.JsonDataToBeforeOpenData=function(data)
|
|
|
98867
99020
|
item.AvPrice=jsData[2]; //均价
|
|
98868
99021
|
item.Vol[0]=jsData[3]; //匹配量
|
|
98869
99022
|
item.ColorID=jsData[4]; //柱子颜色ID
|
|
98870
|
-
item.DateTime=date.toString()+" "+item.Time.toString();
|
|
98871
99023
|
|
|
98872
99024
|
var totalVol=item.Vol[0];
|
|
98873
99025
|
if (IFrameSplitOperator.IsNumber(jsData[5])) totalVol=jsData[5];
|
|
@@ -98879,11 +99031,72 @@ MinuteChartContainer.JsonDataToBeforeOpenData=function(data)
|
|
|
98879
99031
|
|
|
98880
99032
|
beforeOpenData.VolMax=max/unit;
|
|
98881
99033
|
beforeOpenData.VolMin=0;
|
|
99034
|
+
|
|
99035
|
+
if (stockData.beforeinfo && stockData.beforeinfo.TimeConfig) //固定时间
|
|
99036
|
+
MinuteChartContainer.CompleteCallAuctionData(stockData.beforeinfo.TimeConfig, beforeOpenData);
|
|
98882
99037
|
}
|
|
98883
99038
|
|
|
98884
99039
|
return beforeOpenData;
|
|
98885
99040
|
}
|
|
98886
99041
|
|
|
99042
|
+
|
|
99043
|
+
MinuteChartContainer.CompleteCallAuctionData=function(timeConfig, callAuctionData)
|
|
99044
|
+
{
|
|
99045
|
+
var aryData=MinuteChartContainer.CreateCallAuctionTimeData(timeConfig);
|
|
99046
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(aryData)) return false;
|
|
99047
|
+
|
|
99048
|
+
var mapData=new Map(callAuctionData.Data.map((obj) => [obj.Time, obj]));
|
|
99049
|
+
for(var i=0;i<aryData.length;++i)
|
|
99050
|
+
{
|
|
99051
|
+
var time=aryData[i].Time;
|
|
99052
|
+
if (!mapData.has(time)) continue;
|
|
99053
|
+
|
|
99054
|
+
var item=mapData.get(time);
|
|
99055
|
+
aryData[i]=item;
|
|
99056
|
+
}
|
|
99057
|
+
|
|
99058
|
+
callAuctionData.Data=aryData;
|
|
99059
|
+
callAuctionData.TotalCount=aryData.length;
|
|
99060
|
+
|
|
99061
|
+
return true;
|
|
99062
|
+
}
|
|
99063
|
+
|
|
99064
|
+
//创建集合竞价秒级时间 { AryTime:[ { Start:92500, End:92459, Date:20250101 } ] } hhmmss
|
|
99065
|
+
MinuteChartContainer.CreateCallAuctionTimeData=function(config)
|
|
99066
|
+
{
|
|
99067
|
+
if (!config || !IFrameSplitOperator.IsNonEmptyArray(config.AryTime)) return null;
|
|
99068
|
+
|
|
99069
|
+
var step=1; //1s
|
|
99070
|
+
if (IFrameSplitOperator.IsPlusNumber(config.Step)) step=config.Step;
|
|
99071
|
+
var aryData=[];
|
|
99072
|
+
for(var i=0;i<config.AryTime.length;++i)
|
|
99073
|
+
{
|
|
99074
|
+
var item=config.AryTime[i];
|
|
99075
|
+
|
|
99076
|
+
var value=item.Start;
|
|
99077
|
+
var hour=parseInt(value/10000);
|
|
99078
|
+
var minute=parseInt((value%10000)/100);
|
|
99079
|
+
var second=value%100;
|
|
99080
|
+
var startTime=new Date(2021,5,2, hour,minute, second);
|
|
99081
|
+
|
|
99082
|
+
value=item.End;
|
|
99083
|
+
var hour=parseInt(value/10000);
|
|
99084
|
+
var minute=parseInt((value%10000)/100);
|
|
99085
|
+
var second=value%100;
|
|
99086
|
+
var endTime=new Date(2021,5,2, hour,minute, second);
|
|
99087
|
+
|
|
99088
|
+
for(var j=0; j<5000 && startTime<=endTime; ++j)
|
|
99089
|
+
{
|
|
99090
|
+
var time=startTime.getHours()*10000+startTime.getMinutes()*100+startTime.getSeconds();
|
|
99091
|
+
var secItem={ Time:time, Date:item.Date };
|
|
99092
|
+
aryData.push(secItem);
|
|
99093
|
+
startTime.setSeconds(startTime.getSeconds()+step);
|
|
99094
|
+
}
|
|
99095
|
+
}
|
|
99096
|
+
|
|
99097
|
+
return aryData;
|
|
99098
|
+
}
|
|
99099
|
+
|
|
98887
99100
|
//收盘集合竞价
|
|
98888
99101
|
MinuteChartContainer.JsonDataToAfterCloseData=function(data)
|
|
98889
99102
|
{
|
|
@@ -98894,7 +99107,7 @@ MinuteChartContainer.JsonDataToAfterCloseData=function(data)
|
|
|
98894
99107
|
if (!stockData.afterinfo) return null;
|
|
98895
99108
|
var symbol=data.stock[0].symbol;
|
|
98896
99109
|
var upperSymbol=symbol.toUpperCase();
|
|
98897
|
-
var afterCloseData={ Data:[], TotalCount:3*60, Ver:2.0, Date:date };
|
|
99110
|
+
var afterCloseData={ Data:[], TotalCount:3*60, Ver:2.0, Date:date, YClose:stockData.yclose, YClearing:stockData.yclearing };
|
|
98898
99111
|
var item=stockData.afterinfo;
|
|
98899
99112
|
if (IFrameSplitOperator.IsNumber(item.totalcount)) afterCloseData.TotalCount=item.totalcount;
|
|
98900
99113
|
if (IFrameSplitOperator.IsNumber(item.ver)) afterCloseData.Ver=item.ver;
|
|
@@ -98924,7 +99137,7 @@ MinuteChartContainer.JsonDataToAfterCloseData=function(data)
|
|
|
98924
99137
|
else if (afterCloseData.Ver==2.0)
|
|
98925
99138
|
{
|
|
98926
99139
|
var max=0;
|
|
98927
|
-
for(var i
|
|
99140
|
+
for(var i=0; i<stockData.after.length; ++i)
|
|
98928
99141
|
{
|
|
98929
99142
|
var item=new AfterCloseData();
|
|
98930
99143
|
var jsData=stockData.after[i];
|
|
@@ -98947,6 +99160,9 @@ MinuteChartContainer.JsonDataToAfterCloseData=function(data)
|
|
|
98947
99160
|
|
|
98948
99161
|
afterCloseData.VolMax=max/unit;
|
|
98949
99162
|
afterCloseData.VolMin=0;
|
|
99163
|
+
|
|
99164
|
+
if (stockData.afterinfo && stockData.afterinfo.TimeConfig) //固定时间
|
|
99165
|
+
MinuteChartContainer.CompleteCallAuctionData(stockData.afterinfo.TimeConfig, afterCloseData);
|
|
98950
99166
|
}
|
|
98951
99167
|
else if (afterCloseData.Ver==3.0)
|
|
98952
99168
|
{
|
|
@@ -98974,6 +99190,9 @@ MinuteChartContainer.JsonDataToAfterCloseData=function(data)
|
|
|
98974
99190
|
|
|
98975
99191
|
afterCloseData.VolMax=max/unit;
|
|
98976
99192
|
afterCloseData.VolMin=0;
|
|
99193
|
+
|
|
99194
|
+
if (stockData.afterinfo && stockData.afterinfo.TimeConfig) //固定时间
|
|
99195
|
+
MinuteChartContainer.CompleteCallAuctionData(stockData.afterinfo.TimeConfig, afterCloseData);
|
|
98977
99196
|
}
|
|
98978
99197
|
|
|
98979
99198
|
return afterCloseData;
|
|
@@ -99095,12 +99314,13 @@ MinuteChartContainer.JsonDataToUpdateMinuteData=function(data)
|
|
|
99095
99314
|
|
|
99096
99315
|
item.DateTime=`${item.Date} ${item.Time}`;
|
|
99097
99316
|
|
|
99098
|
-
if (IFrameSplitOperator.IsNumber(minuteData.YClose) && item.Close)
|
|
99099
|
-
|
|
99100
|
-
|
|
99101
|
-
|
|
99102
|
-
|
|
99103
|
-
|
|
99317
|
+
if (!IFrameSplitOperator.IsNumber(item.Increase) && IFrameSplitOperator.IsNumber(minuteData.YClose) && item.Close)
|
|
99318
|
+
{
|
|
99319
|
+
if (isFutures && minuteData.YClearing && item.Close)
|
|
99320
|
+
item.Increase=(item.Close-minuteData.YClearing)/minuteData.YClearing*100; //涨幅 (最新价格-昨结算价)/昨结算价*100;
|
|
99321
|
+
else
|
|
99322
|
+
item.Increase=(item.Close-minuteData.YClose)/minuteData.YClose*100; //涨幅 (最新价格-昨收)/昨收*100;
|
|
99323
|
+
}
|
|
99104
99324
|
|
|
99105
99325
|
minuteData.Data.push(item);
|
|
99106
99326
|
}
|
|
@@ -99264,8 +99484,9 @@ MinuteChartContainer.JsonDataToHistoryMinuteLineColorData=function(data)
|
|
|
99264
99484
|
}
|
|
99265
99485
|
|
|
99266
99486
|
|
|
99267
|
-
MinuteChartContainer.JsonDataToCallAuctionItem=function(data, callAuctionData, isBeforeOpen, symbol)
|
|
99487
|
+
MinuteChartContainer.JsonDataToCallAuctionItem=function(data, callAuctionData, isBeforeOpen, symbol, dataInfo)
|
|
99268
99488
|
{
|
|
99489
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(data)) return;
|
|
99269
99490
|
var upperSymbol=symbol?symbol.toUpperCase():null;
|
|
99270
99491
|
var unit=MARKET_SUFFIX_NAME.GetVolUnit(upperSymbol);
|
|
99271
99492
|
|
|
@@ -99276,7 +99497,7 @@ MinuteChartContainer.JsonDataToCallAuctionItem=function(data, callAuctionData, i
|
|
|
99276
99497
|
if (callAuctionData.Ver==1.0)
|
|
99277
99498
|
{
|
|
99278
99499
|
var preClose=null;
|
|
99279
|
-
for(var i
|
|
99500
|
+
for(var i=0; i<data.length; ++i)
|
|
99280
99501
|
{
|
|
99281
99502
|
var item=isBeforeOpen? new BeforeOpenData() : new AfterCloseData();
|
|
99282
99503
|
var jsData=data[i];
|
|
@@ -99300,7 +99521,7 @@ MinuteChartContainer.JsonDataToCallAuctionItem=function(data, callAuctionData, i
|
|
|
99300
99521
|
else if (callAuctionData.Ver==2.0)
|
|
99301
99522
|
{
|
|
99302
99523
|
var max=0;
|
|
99303
|
-
for(var i
|
|
99524
|
+
for(var i=0; i<data.length; ++i)
|
|
99304
99525
|
{
|
|
99305
99526
|
var item=isBeforeOpen? new BeforeOpenData() : new AfterCloseData();
|
|
99306
99527
|
var jsData=data[i];
|
|
@@ -99312,7 +99533,6 @@ MinuteChartContainer.JsonDataToCallAuctionItem=function(data, callAuctionData, i
|
|
|
99312
99533
|
item.Vol[0]=jsData[2]; //匹配量
|
|
99313
99534
|
item.Vol[1]=jsData[3]; //未匹配量
|
|
99314
99535
|
item.ColorID=jsData[4]; //柱子颜色ID
|
|
99315
|
-
item.DateTime=date.toString()+" "+item.Time.toString();
|
|
99316
99536
|
|
|
99317
99537
|
var totalVol=item.Vol[0]+item.Vol[1];
|
|
99318
99538
|
if (IFrameSplitOperator.IsNumber(jsData[5])) totalVol=jsData[5];
|
|
@@ -99324,6 +99544,9 @@ MinuteChartContainer.JsonDataToCallAuctionItem=function(data, callAuctionData, i
|
|
|
99324
99544
|
|
|
99325
99545
|
callAuctionData.VolMax=max/unit;
|
|
99326
99546
|
callAuctionData.VolMin=0;
|
|
99547
|
+
|
|
99548
|
+
if (dataInfo && dataInfo.TimeConfig) //固定时间
|
|
99549
|
+
MinuteChartContainer.CompleteCallAuctionData(dataInfo.TimeConfig, callAuctionData);
|
|
99327
99550
|
}
|
|
99328
99551
|
else if (beforeOpenData.Ver==3.0)
|
|
99329
99552
|
{
|
|
@@ -99340,7 +99563,6 @@ MinuteChartContainer.JsonDataToCallAuctionItem=function(data, callAuctionData, i
|
|
|
99340
99563
|
item.AvPrice=jsData[2]; //均价
|
|
99341
99564
|
item.Vol[0]=jsData[3]; //匹配量
|
|
99342
99565
|
item.ColorID=jsData[4]; //柱子颜色ID
|
|
99343
|
-
item.DateTime=date.toString()+" "+item.Time.toString();
|
|
99344
99566
|
|
|
99345
99567
|
var totalVol=item.Vol[0];
|
|
99346
99568
|
if (IFrameSplitOperator.IsNumber(jsData[5])) totalVol=jsData[5];
|
|
@@ -99352,6 +99574,9 @@ MinuteChartContainer.JsonDataToCallAuctionItem=function(data, callAuctionData, i
|
|
|
99352
99574
|
|
|
99353
99575
|
callAuctionData.VolMax=max/unit;
|
|
99354
99576
|
callAuctionData.VolMin=0;
|
|
99577
|
+
|
|
99578
|
+
if (dataInfo && dataInfo.TimeConfig) //固定时间
|
|
99579
|
+
MinuteChartContainer.CompleteCallAuctionData(dataInfo.TimeConfig, callAuctionData);
|
|
99355
99580
|
}
|
|
99356
99581
|
}
|
|
99357
99582
|
|
|
@@ -99360,7 +99585,7 @@ MinuteChartContainer.JosnDataToBeforeOpenDataArray=function(data)
|
|
|
99360
99585
|
if (!data || !data.data) return null;
|
|
99361
99586
|
|
|
99362
99587
|
var aryDay=[];
|
|
99363
|
-
for(var i
|
|
99588
|
+
for(var i=0; i<data.data.length; ++i)
|
|
99364
99589
|
{
|
|
99365
99590
|
var dayItem=data.data[i];
|
|
99366
99591
|
var beforeOpenData={ Data:[], TotalCount:15, Ver:1.0, Date:dayItem.date, YClose:dayItem.yclose, YClearing:dayItem.YClearing };
|
|
@@ -99370,7 +99595,7 @@ MinuteChartContainer.JosnDataToBeforeOpenDataArray=function(data)
|
|
|
99370
99595
|
if (IFrameSplitOperator.IsNumber(dayItem.beforeinfo.ver)) beforeOpenData.Ver=dayItem.beforeinfo.ver;
|
|
99371
99596
|
}
|
|
99372
99597
|
|
|
99373
|
-
MinuteChartContainer.JsonDataToCallAuctionItem(dayItem.before, beforeOpenData, true, data.symbol);
|
|
99598
|
+
MinuteChartContainer.JsonDataToCallAuctionItem(dayItem.before, beforeOpenData, true, data.symbol, dayItem.beforeinfo);
|
|
99374
99599
|
|
|
99375
99600
|
aryDay.push(beforeOpenData);
|
|
99376
99601
|
}
|
|
@@ -99385,7 +99610,7 @@ MinuteChartContainer.JosnDataToAfterCloseDataArray=function(data)
|
|
|
99385
99610
|
if (!data || !data.data) return null;
|
|
99386
99611
|
|
|
99387
99612
|
var aryDay=[];
|
|
99388
|
-
for(var i
|
|
99613
|
+
for(var i=0; i<data.data.length; ++i)
|
|
99389
99614
|
{
|
|
99390
99615
|
var dayItem=data.data[i];
|
|
99391
99616
|
var afterCloseData={ Data:[], TotalCount:15, Ver:1.0, Date:dayItem.date, YClose:dayItem.yclose, YClearing:dayItem.YClearing };
|
|
@@ -99396,7 +99621,7 @@ MinuteChartContainer.JosnDataToAfterCloseDataArray=function(data)
|
|
|
99396
99621
|
if (IFrameSplitOperator.IsNumber(dayItem.afterinfo.ver)) afterCloseData.Ver=dayItem.afterinfo.ver;
|
|
99397
99622
|
}
|
|
99398
99623
|
|
|
99399
|
-
MinuteChartContainer.JsonDataToCallAuctionItem(dayItem.after, afterCloseData, false, data.symbol);
|
|
99624
|
+
MinuteChartContainer.JsonDataToCallAuctionItem(dayItem.after, afterCloseData, false, data.symbol, dayItem.afterinfo);
|
|
99400
99625
|
|
|
99401
99626
|
aryDay.push(afterCloseData);
|
|
99402
99627
|
}
|
|
@@ -151239,7 +151464,7 @@ function ScrollBarBGChart()
|
|
|
151239
151464
|
|
|
151240
151465
|
|
|
151241
151466
|
|
|
151242
|
-
var HQCHART_VERSION="1.1.
|
|
151467
|
+
var HQCHART_VERSION="1.1.14955";
|
|
151243
151468
|
|
|
151244
151469
|
function PrintHQChartVersion()
|
|
151245
151470
|
{
|