hqchart 1.1.14943 → 1.1.14953
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 +58 -36
- package/package.json +1 -1
- package/src/jscommon/umychart.NetworkFilterTest.js +287 -33
- package/src/jscommon/umychart.js +252 -58
- package/src/jscommon/umychart.testdata.js +286 -32
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +253 -59
- 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 +253 -59
|
@@ -15912,9 +15912,24 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
15912
15912
|
{
|
|
15913
15913
|
if (!data.IsShowCorss) //十字光标隐藏
|
|
15914
15914
|
{
|
|
15915
|
+
//清空当前鼠标坐标
|
|
15916
|
+
this.LastPoint.X=null;
|
|
15917
|
+
this.LastPoint.Y=null;
|
|
15915
15918
|
this.HideTooltip();
|
|
15916
15919
|
this.CloseTooltipDialog();
|
|
15917
15920
|
}
|
|
15921
|
+
else
|
|
15922
|
+
{
|
|
15923
|
+
if (IFrameSplitOperator.IsNumber(data.X) && IFrameSplitOperator.IsNumber(data.Y))
|
|
15924
|
+
{
|
|
15925
|
+
//设置鼠标位置
|
|
15926
|
+
if (this.LastPoint && (!IFrameSplitOperator.IsNumber(this.LastPoint.X) || !IFrameSplitOperator.IsNumber(this.LastPoint.Y)))
|
|
15927
|
+
{
|
|
15928
|
+
this.LastPoint.X=data.X;
|
|
15929
|
+
this.LastPoint.Y=data.Y;
|
|
15930
|
+
}
|
|
15931
|
+
}
|
|
15932
|
+
}
|
|
15918
15933
|
}
|
|
15919
15934
|
}
|
|
15920
15935
|
|
|
@@ -39449,10 +39464,10 @@ function ChartMinuteVolumBar()
|
|
|
39449
39464
|
var unit=this.GetVolUnit();
|
|
39450
39465
|
if (callAutionData.Ver==1.0)
|
|
39451
39466
|
{
|
|
39452
|
-
for(var i
|
|
39467
|
+
for(var i=0;i<callAutionData.Data.length;++i)
|
|
39453
39468
|
{
|
|
39454
39469
|
var item=callAutionData.Data[i];
|
|
39455
|
-
if (!item || !IFrameSplitOperator.IsNumber(item.Vol[0])) continue;
|
|
39470
|
+
if (!item || !IFrameSplitOperator.IsNonEmptyArray(item.Vol) || !IFrameSplitOperator.IsNumber(item.Vol[0])) continue;
|
|
39456
39471
|
|
|
39457
39472
|
if (isBeforeOpen)
|
|
39458
39473
|
{
|
|
@@ -39486,11 +39501,11 @@ function ChartMinuteVolumBar()
|
|
|
39486
39501
|
{
|
|
39487
39502
|
var range={ Max: callAutionData.VolMax, Min:callAutionData.VolMin }
|
|
39488
39503
|
|
|
39489
|
-
for(var i
|
|
39504
|
+
for(var i=0; i<callAutionData.Data.length; ++i)
|
|
39490
39505
|
{
|
|
39491
39506
|
var item=callAutionData.Data[i];
|
|
39492
39507
|
if (!item) continue;
|
|
39493
|
-
if (IFrameSplitOperator.IsPlusNumber(item.Vol[0]))
|
|
39508
|
+
if (item.Vol && IFrameSplitOperator.IsPlusNumber(item.Vol[0]))
|
|
39494
39509
|
{
|
|
39495
39510
|
if (isBeforeOpen)
|
|
39496
39511
|
{
|
|
@@ -39520,7 +39535,7 @@ function ChartMinuteVolumBar()
|
|
|
39520
39535
|
this.Canvas.stroke();
|
|
39521
39536
|
}
|
|
39522
39537
|
|
|
39523
|
-
if (IFrameSplitOperator.IsPlusNumber(item.Vol[1]))
|
|
39538
|
+
if (item.Vol && IFrameSplitOperator.IsPlusNumber(item.Vol[1]))
|
|
39524
39539
|
{
|
|
39525
39540
|
if (isBeforeOpen)
|
|
39526
39541
|
{
|
|
@@ -44500,16 +44515,23 @@ function ChartMinutePriceLine()
|
|
|
44500
44515
|
var item=callAutionData.Data[i];
|
|
44501
44516
|
if (!item || !IFrameSplitOperator.IsNumber(item.Price))
|
|
44502
44517
|
{
|
|
44503
|
-
if (i==0 && isBeforeOpen
|
|
44518
|
+
if (i==0 && isBeforeOpen)
|
|
44504
44519
|
{
|
|
44505
|
-
|
|
44506
|
-
var
|
|
44520
|
+
//盘前集合竞价起始点为昨收或昨结算
|
|
44521
|
+
var price=callAutionData.YClose;
|
|
44522
|
+
if (IFrameSplitOperator.IsNumber(callAutionData.YClearing)) price=callAutionData.YClearing;
|
|
44507
44523
|
|
|
44508
|
-
|
|
44509
|
-
|
|
44510
|
-
|
|
44511
|
-
|
|
44512
|
-
|
|
44524
|
+
if (IFrameSplitOperator.IsNumber(price))
|
|
44525
|
+
{
|
|
44526
|
+
var x=this.ChartFrame.GetLeftExtendXFromIndex(i,callAutionData);
|
|
44527
|
+
var y=this.ChartFrame.GetLeftExtendYFromData(price);
|
|
44528
|
+
|
|
44529
|
+
this.Canvas.strokeStyle=this.BeforeLineColor;
|
|
44530
|
+
this.Canvas.beginPath();
|
|
44531
|
+
if (isHScreen) this.Canvas.moveTo(y,x);
|
|
44532
|
+
else this.Canvas.moveTo(x,y);
|
|
44533
|
+
bFirstPoint=false;
|
|
44534
|
+
}
|
|
44513
44535
|
}
|
|
44514
44536
|
|
|
44515
44537
|
continue;
|
|
@@ -61653,6 +61675,7 @@ function ChartCorssCursor()
|
|
|
61653
61675
|
this.LastValue=null;
|
|
61654
61676
|
|
|
61655
61677
|
if (!this.LastPoint) return;
|
|
61678
|
+
if (!this.IsShow) return;
|
|
61656
61679
|
|
|
61657
61680
|
this.Close=null;
|
|
61658
61681
|
var x=this.LastPoint.X;
|
|
@@ -62775,8 +62798,7 @@ function ChartCorssCursor()
|
|
|
62775
62798
|
{
|
|
62776
62799
|
this.IsShowCorss=!this.IsShowCorss
|
|
62777
62800
|
data.Draw=true;
|
|
62778
|
-
|
|
62779
|
-
if (this.OnChangeStatusCallback) this.OnChangeStatusCallback({ Type:1, IsShowCorss:this.IsShowCorss }, this);
|
|
62801
|
+
if (this.OnChangeStatusCallback) this.OnChangeStatusCallback({ Type:1, IsShowCorss:this.IsShowCorss, X:x, Y:y }, this);
|
|
62780
62802
|
}
|
|
62781
62803
|
}
|
|
62782
62804
|
|
|
@@ -64568,6 +64590,14 @@ function DynamicKLineTitlePainting()
|
|
|
64568
64590
|
this.OnMouseMoveEvent;
|
|
64569
64591
|
this.HQChart;
|
|
64570
64592
|
|
|
64593
|
+
//十字线是否显示
|
|
64594
|
+
this.IsShowCorssLine=function()
|
|
64595
|
+
{
|
|
64596
|
+
if (!this.HQChart || !this.HQChart.ChartCorssCursor) return false;
|
|
64597
|
+
|
|
64598
|
+
return this.HQChart.ChartCorssCursor.IsShowCorss;
|
|
64599
|
+
}
|
|
64600
|
+
|
|
64571
64601
|
this.ReloadResource=function()
|
|
64572
64602
|
{
|
|
64573
64603
|
this.Font=g_JSChartResource.TitleFont;
|
|
@@ -65059,6 +65089,8 @@ function DynamicKLineTitlePainting()
|
|
|
65059
65089
|
isShow=true;
|
|
65060
65090
|
else if (status.CorssCursorTouchEnd && status.IsOnTouch==false)
|
|
65061
65091
|
isShow=true;
|
|
65092
|
+
else if (!this.IsShowCorssLine())
|
|
65093
|
+
isShow=true;
|
|
65062
65094
|
}
|
|
65063
65095
|
|
|
65064
65096
|
return isShow;
|
|
@@ -65658,6 +65690,8 @@ function DynamicMinuteTitlePainting()
|
|
|
65658
65690
|
isShowLastData=true;
|
|
65659
65691
|
else if (status.CorssCursorTouchEnd && status.IsOnTouch==false)
|
|
65660
65692
|
isShowLastData=true;
|
|
65693
|
+
else if (!this.IsShowCorssLine())
|
|
65694
|
+
isShowLastData=true;
|
|
65661
65695
|
}
|
|
65662
65696
|
else if (this.GlobalOption && this.GlobalOption.IsDisplayLatest)
|
|
65663
65697
|
{
|
|
@@ -65870,6 +65904,14 @@ function DynamicChartTitlePainting()
|
|
|
65870
65904
|
this.IsShowMainIndexTitle=true; //是否显示主图指标标题
|
|
65871
65905
|
this.MainTitlePaint=null; //主标题
|
|
65872
65906
|
|
|
65907
|
+
//十字线是否显示
|
|
65908
|
+
this.IsShowCorssLine=function()
|
|
65909
|
+
{
|
|
65910
|
+
if (!this.HQChart || !this.HQChart.ChartCorssCursor) return false;
|
|
65911
|
+
|
|
65912
|
+
return this.HQChart.ChartCorssCursor.IsShowCorss;
|
|
65913
|
+
}
|
|
65914
|
+
|
|
65873
65915
|
this.ReloadResource=function()
|
|
65874
65916
|
{
|
|
65875
65917
|
this.Font=g_JSChartResource.TitleFont;
|
|
@@ -66461,6 +66503,8 @@ function DynamicChartTitlePainting()
|
|
|
66461
66503
|
isShowLastData=true;
|
|
66462
66504
|
else if (status.CorssCursorTouchEnd && status.IsOnTouch==false)
|
|
66463
66505
|
isShowLastData=true;
|
|
66506
|
+
else if (!this.IsShowCorssLine())
|
|
66507
|
+
isShowLastData=true;
|
|
66464
66508
|
}
|
|
66465
66509
|
else if (this.GlobalOption && this.GlobalOption.IsDisplayLatest)
|
|
66466
66510
|
{
|
|
@@ -96656,6 +96700,8 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
96656
96700
|
//更新最新的几条数据
|
|
96657
96701
|
this.UpdateLatestMinuteDataV2=function(minuteData)
|
|
96658
96702
|
{
|
|
96703
|
+
if (!minuteData || !IFrameSplitOperator.IsNonEmptyArray(minuteData.Data)) return;
|
|
96704
|
+
|
|
96659
96705
|
if (this.DayCount>1)
|
|
96660
96706
|
{
|
|
96661
96707
|
if (!this.DayData) return;
|
|
@@ -96664,7 +96710,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
96664
96710
|
for(var i=0; i<this.DayData.length; ++i)
|
|
96665
96711
|
{
|
|
96666
96712
|
var item=this.DayData[i];
|
|
96667
|
-
if (item.Date===
|
|
96713
|
+
if (item.Date===minuteData.Date)
|
|
96668
96714
|
{
|
|
96669
96715
|
findItem=item;
|
|
96670
96716
|
break;
|
|
@@ -96850,24 +96896,50 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
96850
96896
|
this.ColorLineData=aryColorLineData;
|
|
96851
96897
|
}
|
|
96852
96898
|
|
|
96853
|
-
this.UpdateCallCationData=function(beforeOpenData,afterCloseData)
|
|
96899
|
+
this.UpdateCallCationData=function(beforeOpenData,afterCloseData,option)
|
|
96854
96900
|
{
|
|
96855
|
-
|
|
96901
|
+
var dataType=0;
|
|
96902
|
+
if (option && IFrameSplitOperator.IsNumber(option.DataType)) dataType=option.DataType;
|
|
96903
|
+
|
|
96904
|
+
if (dataType==1)
|
|
96856
96905
|
{
|
|
96857
|
-
|
|
96858
|
-
|
|
96859
|
-
this.MultiDayBeforeOpenData[this.MultiDayBeforeOpenData.length-1]
|
|
96860
|
-
|
|
96861
|
-
|
|
96862
|
-
|
|
96906
|
+
if (beforeOpenData && IFrameSplitOperator.IsNonEmptyArray(this.MultiDayBeforeOpenData))
|
|
96907
|
+
{
|
|
96908
|
+
var lastItem=this.MultiDayBeforeOpenData[this.MultiDayBeforeOpenData.length-1];
|
|
96909
|
+
if (lastItem.Date==beforeOpenData.Date) //增量更新
|
|
96910
|
+
{
|
|
96911
|
+
this.UpdateLatestCallCationData(lastItem, beforeOpenData);
|
|
96912
|
+
}
|
|
96913
|
+
}
|
|
96863
96914
|
|
|
96864
|
-
|
|
96915
|
+
if (afterCloseData && IFrameSplitOperator.IsNonEmptyArray(this.MultiDayAfterCloseData))
|
|
96916
|
+
{
|
|
96917
|
+
var lastItem=this.MultiDayAfterCloseData[this.MultiDayAfterCloseData.length-1];
|
|
96918
|
+
if (lastItem.Date==afterCloseData.Date) //增量更新
|
|
96919
|
+
{
|
|
96920
|
+
this.UpdateLatestCallCationData(lastItem, afterCloseData);
|
|
96921
|
+
}
|
|
96922
|
+
}
|
|
96923
|
+
}
|
|
96924
|
+
else
|
|
96865
96925
|
{
|
|
96866
|
-
|
|
96867
|
-
|
|
96868
|
-
this.
|
|
96869
|
-
|
|
96870
|
-
|
|
96926
|
+
if (beforeOpenData && IFrameSplitOperator.IsNonEmptyArray(this.MultiDayBeforeOpenData))
|
|
96927
|
+
{
|
|
96928
|
+
var lastItem=this.MultiDayBeforeOpenData[this.MultiDayBeforeOpenData.length-1];
|
|
96929
|
+
if (lastItem.Date==beforeOpenData.Date) //存在更新
|
|
96930
|
+
this.MultiDayBeforeOpenData[this.MultiDayBeforeOpenData.length-1]=beforeOpenData;
|
|
96931
|
+
else if (lastItem.Date<beforeOpenData.Date) //新的一天插入
|
|
96932
|
+
this.MultiDayBeforeOpenData.push(beforeOpenData);
|
|
96933
|
+
}
|
|
96934
|
+
|
|
96935
|
+
if (afterCloseData && IFrameSplitOperator.IsNonEmptyArray(this.MultiDayAfterCloseData))
|
|
96936
|
+
{
|
|
96937
|
+
var lastItem=this.MultiDayAfterCloseData[this.MultiDayAfterCloseData.length-1];
|
|
96938
|
+
if (lastItem.Date==afterCloseData.Date)
|
|
96939
|
+
this.MultiDayAfterCloseData[this.MultiDayAfterCloseData.length-1]=afterCloseData;
|
|
96940
|
+
else if (lastItem.Date<afterCloseData.Date)
|
|
96941
|
+
this.MultiDayAfterCloseData.push(afterCloseData);
|
|
96942
|
+
}
|
|
96871
96943
|
}
|
|
96872
96944
|
|
|
96873
96945
|
this.CaclutateCallCationYRange();
|
|
@@ -96883,9 +96955,16 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
96883
96955
|
var afterCloseData=MinuteChartContainer.JsonDataToAfterCloseData(data);
|
|
96884
96956
|
var updateTime=MinuteChartContainer.JsonDataToMinuteLastUpdateTime(data); //数据最后的更新时间
|
|
96885
96957
|
|
|
96958
|
+
if (data.LatestPointFlash) //最新数据闪烁
|
|
96959
|
+
{
|
|
96960
|
+
var item=data.LatestPointFlash;
|
|
96961
|
+
if (IFrameSplitOperator.IsNumber(item.FlashCount))
|
|
96962
|
+
this.SetLatestPointFlash(item.FlashCount)
|
|
96963
|
+
}
|
|
96964
|
+
|
|
96886
96965
|
if (this.DayCount>1) //多日走势图
|
|
96887
96966
|
{
|
|
96888
|
-
this.UpdateCallCationData(beforeOpenData,afterCloseData);
|
|
96967
|
+
this.UpdateCallCationData(beforeOpenData,afterCloseData, { DataType:1});
|
|
96889
96968
|
this.UpdateLineColorData(aryColorData,minuteData.date);
|
|
96890
96969
|
this.UpdateLatestMinuteDataV2(minuteData);
|
|
96891
96970
|
this.UpdateHistoryMinuteUI(updateTime);
|
|
@@ -96897,10 +96976,13 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
96897
96976
|
return;
|
|
96898
96977
|
}
|
|
96899
96978
|
|
|
96900
|
-
if (this.IsBeforeData && beforeOpenData) this.BeforeOpenData=beforeOpenData;
|
|
96901
|
-
if (this.IsAfterData && afterCloseData) this.AfterCloseData=afterCloseData;
|
|
96979
|
+
//if (this.IsBeforeData && beforeOpenData) this.BeforeOpenData=beforeOpenData;
|
|
96980
|
+
//if (this.IsAfterData && afterCloseData) this.AfterCloseData=afterCloseData;
|
|
96981
|
+
|
|
96982
|
+
//盘前盘后数据更新
|
|
96983
|
+
if (this.IsBeforeData && beforeOpenData) this.UpdateLatestCallCationData(this.BeforeOpenData, beforeOpenData);
|
|
96984
|
+
if (this.IsAfterData && afterCloseData) this.UpdateLatestCallCationData(this.AfterCloseData, afterCloseData);
|
|
96902
96985
|
|
|
96903
|
-
//原始数据
|
|
96904
96986
|
this.UpdateLatestMinuteDataV2(minuteData);
|
|
96905
96987
|
this.UpdateMinuteUI(data.stock[0], {FunctionName:"RecvUpdateMinuteData"});
|
|
96906
96988
|
|
|
@@ -96915,6 +96997,45 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
96915
96997
|
}
|
|
96916
96998
|
}
|
|
96917
96999
|
|
|
97000
|
+
this.UpdateLatestCallCationData=function(destData, updateData)
|
|
97001
|
+
{
|
|
97002
|
+
if (!destData) return;
|
|
97003
|
+
if (!updateData || !IFrameSplitOperator.IsNonEmptyArray(updateData.Data)) return;
|
|
97004
|
+
|
|
97005
|
+
if (destData.Data.length==0)
|
|
97006
|
+
{
|
|
97007
|
+
destData.Data=updateData.Data;
|
|
97008
|
+
destData.VolMax=updateData.VolMax;
|
|
97009
|
+
destData.VolMin=updateData.VolMin;
|
|
97010
|
+
return;
|
|
97011
|
+
}
|
|
97012
|
+
|
|
97013
|
+
//覆盖历史数据
|
|
97014
|
+
var mapData=new Map(updateData.Data.map((obj) => [obj.Time, obj]));
|
|
97015
|
+
var lastTime=null; //最后的时间
|
|
97016
|
+
for(var i=0;i<destData.Data.length;++i)
|
|
97017
|
+
{
|
|
97018
|
+
var item=destData.Data[i];
|
|
97019
|
+
lastTime=item.Time;
|
|
97020
|
+
if (!mapData.has(item.Time)) continue;
|
|
97021
|
+
var newItem=mapData.get(item.Time);
|
|
97022
|
+
if (!newItem || !IFrameSplitOperator.IsNumber(newItem.Price)) continue; //只覆盖有效数据
|
|
97023
|
+
|
|
97024
|
+
destData.Data[i]=newItem;
|
|
97025
|
+
}
|
|
97026
|
+
|
|
97027
|
+
//新数据往后插
|
|
97028
|
+
for(var i=0;i<updateData.Data.length;++i)
|
|
97029
|
+
{
|
|
97030
|
+
var item=updateData.Data[i];
|
|
97031
|
+
if (item.Time<=lastTime) continue;
|
|
97032
|
+
destData.Data.push(item);
|
|
97033
|
+
}
|
|
97034
|
+
|
|
97035
|
+
if (destData.VolMax<updateData.VolMax) destData.VolMax=updateData.VolMax;
|
|
97036
|
+
if (IFrameSplitOperator.IsNumber(updateData.TotalCount) && updateData.TotalCount>destData.TotalCount) updateData.TotalCount=destData.TotalCount;
|
|
97037
|
+
}
|
|
97038
|
+
|
|
96918
97039
|
this.RecvBuySellData=function(data)
|
|
96919
97040
|
{
|
|
96920
97041
|
if (!data) return;
|
|
@@ -96981,7 +97102,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
96981
97102
|
|
|
96982
97103
|
if (this.DayCount>1) //多日走势图
|
|
96983
97104
|
{
|
|
96984
|
-
this.UpdateCallCationData(beforeOpenData,afterCloseData);
|
|
97105
|
+
this.UpdateCallCationData(beforeOpenData,afterCloseData, { DataType:0});
|
|
96985
97106
|
this.UpdateLineColorData(aryColorData,data.stock[0].date);
|
|
96986
97107
|
this.UpdateLatestMinuteData(aryMinuteData, data.stock[0].date, data.stock[0]);
|
|
96987
97108
|
this.UpdateTradeStatusData(data.TradeStatus);
|
|
@@ -98798,7 +98919,7 @@ MinuteChartContainer.JsonDataToBeforeOpenData=function(data)
|
|
|
98798
98919
|
var preClose=data.stock[0].yclose; //前一个数据价格
|
|
98799
98920
|
var stockData=data.stock[0];
|
|
98800
98921
|
var date=stockData.date; //日期
|
|
98801
|
-
var beforeOpenData={ Data:[], TotalCount:15, Ver:1.0, Date:date };
|
|
98922
|
+
var beforeOpenData={ Data:[], TotalCount:15, Ver:1.0, Date:date, YClose:stockData.yclose, YClearing:stockData.yclearing };
|
|
98802
98923
|
var extendDataIndex=JSCHART_DATA_FIELD_ID.MINUTE_BEFOREOPEN_EXTENDDATA; //扩展数据序号
|
|
98803
98924
|
if (stockData.beforeinfo)
|
|
98804
98925
|
{
|
|
@@ -98834,7 +98955,7 @@ MinuteChartContainer.JsonDataToBeforeOpenData=function(data)
|
|
|
98834
98955
|
else if (beforeOpenData.Ver==2.0)
|
|
98835
98956
|
{
|
|
98836
98957
|
var max=0;
|
|
98837
|
-
for(var i
|
|
98958
|
+
for(var i=0;i<stockData.before.length;++i)
|
|
98838
98959
|
{
|
|
98839
98960
|
var item=new BeforeOpenData();
|
|
98840
98961
|
var jsData=stockData.before[i];
|
|
@@ -98846,7 +98967,6 @@ MinuteChartContainer.JsonDataToBeforeOpenData=function(data)
|
|
|
98846
98967
|
item.Vol[1]=jsData[3]; //未匹配量
|
|
98847
98968
|
item.ColorID=jsData[4]; //柱子颜色ID
|
|
98848
98969
|
if (IFrameSplitOperator.IsNumber(jsData[6])) item.Date=jsData[6] //日期
|
|
98849
|
-
item.DateTime=`${item.Date} ${item.Time})`;
|
|
98850
98970
|
|
|
98851
98971
|
var totalVol=item.Vol[0]+item.Vol[1];
|
|
98852
98972
|
if (IFrameSplitOperator.IsNumber(jsData[5])) totalVol=jsData[5];
|
|
@@ -98858,12 +98978,14 @@ MinuteChartContainer.JsonDataToBeforeOpenData=function(data)
|
|
|
98858
98978
|
|
|
98859
98979
|
beforeOpenData.VolMax=max/unit;
|
|
98860
98980
|
beforeOpenData.VolMin=0;
|
|
98981
|
+
|
|
98982
|
+
if (stockData.beforeinfo && stockData.beforeinfo.TimeConfig) //固定时间
|
|
98983
|
+
MinuteChartContainer.CompleteCallAuctionData(stockData.beforeinfo.TimeConfig, beforeOpenData);
|
|
98861
98984
|
}
|
|
98862
98985
|
else if (beforeOpenData.Ver==3.0)
|
|
98863
98986
|
{
|
|
98864
98987
|
var max=0;
|
|
98865
|
-
|
|
98866
|
-
for(var i in stockData.before)
|
|
98988
|
+
for(var i=0; i<stockData.before.length; ++i)
|
|
98867
98989
|
{
|
|
98868
98990
|
var item=new BeforeOpenData();
|
|
98869
98991
|
var jsData=stockData.before[i];
|
|
@@ -98874,7 +98996,6 @@ MinuteChartContainer.JsonDataToBeforeOpenData=function(data)
|
|
|
98874
98996
|
item.AvPrice=jsData[2]; //均价
|
|
98875
98997
|
item.Vol[0]=jsData[3]; //匹配量
|
|
98876
98998
|
item.ColorID=jsData[4]; //柱子颜色ID
|
|
98877
|
-
item.DateTime=date.toString()+" "+item.Time.toString();
|
|
98878
98999
|
|
|
98879
99000
|
var totalVol=item.Vol[0];
|
|
98880
99001
|
if (IFrameSplitOperator.IsNumber(jsData[5])) totalVol=jsData[5];
|
|
@@ -98886,11 +99007,72 @@ MinuteChartContainer.JsonDataToBeforeOpenData=function(data)
|
|
|
98886
99007
|
|
|
98887
99008
|
beforeOpenData.VolMax=max/unit;
|
|
98888
99009
|
beforeOpenData.VolMin=0;
|
|
99010
|
+
|
|
99011
|
+
if (stockData.beforeinfo && stockData.beforeinfo.TimeConfig) //固定时间
|
|
99012
|
+
MinuteChartContainer.CompleteCallAuctionData(stockData.beforeinfo.TimeConfig, beforeOpenData);
|
|
98889
99013
|
}
|
|
98890
99014
|
|
|
98891
99015
|
return beforeOpenData;
|
|
98892
99016
|
}
|
|
98893
99017
|
|
|
99018
|
+
|
|
99019
|
+
MinuteChartContainer.CompleteCallAuctionData=function(timeConfig, callAuctionData)
|
|
99020
|
+
{
|
|
99021
|
+
var aryData=MinuteChartContainer.CreateCallAuctionTimeData(timeConfig);
|
|
99022
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(aryData)) return false;
|
|
99023
|
+
|
|
99024
|
+
var mapData=new Map(callAuctionData.Data.map((obj) => [obj.Time, obj]));
|
|
99025
|
+
for(var i=0;i<aryData.length;++i)
|
|
99026
|
+
{
|
|
99027
|
+
var time=aryData[i].Time;
|
|
99028
|
+
if (!mapData.has(time)) continue;
|
|
99029
|
+
|
|
99030
|
+
var item=mapData.get(time);
|
|
99031
|
+
aryData[i]=item;
|
|
99032
|
+
}
|
|
99033
|
+
|
|
99034
|
+
callAuctionData.Data=aryData;
|
|
99035
|
+
callAuctionData.TotalCount=aryData.length;
|
|
99036
|
+
|
|
99037
|
+
return true;
|
|
99038
|
+
}
|
|
99039
|
+
|
|
99040
|
+
//创建集合竞价秒级时间 { AryTime:[ { Start:92500, End:92459, Date:20250101 } ] } hhmmss
|
|
99041
|
+
MinuteChartContainer.CreateCallAuctionTimeData=function(config)
|
|
99042
|
+
{
|
|
99043
|
+
if (!config || !IFrameSplitOperator.IsNonEmptyArray(config.AryTime)) return null;
|
|
99044
|
+
|
|
99045
|
+
var step=1; //1s
|
|
99046
|
+
if (IFrameSplitOperator.IsPlusNumber(config.Step)) step=config.Step;
|
|
99047
|
+
var aryData=[];
|
|
99048
|
+
for(var i=0;i<config.AryTime.length;++i)
|
|
99049
|
+
{
|
|
99050
|
+
var item=config.AryTime[i];
|
|
99051
|
+
|
|
99052
|
+
var value=item.Start;
|
|
99053
|
+
var hour=parseInt(value/10000);
|
|
99054
|
+
var minute=parseInt((value%10000)/100);
|
|
99055
|
+
var second=value%100;
|
|
99056
|
+
var startTime=new Date(2021,5,2, hour,minute, second);
|
|
99057
|
+
|
|
99058
|
+
value=item.End;
|
|
99059
|
+
var hour=parseInt(value/10000);
|
|
99060
|
+
var minute=parseInt((value%10000)/100);
|
|
99061
|
+
var second=value%100;
|
|
99062
|
+
var endTime=new Date(2021,5,2, hour,minute, second);
|
|
99063
|
+
|
|
99064
|
+
for(var j=0; j<5000 && startTime<=endTime; ++j)
|
|
99065
|
+
{
|
|
99066
|
+
var time=startTime.getHours()*10000+startTime.getMinutes()*100+startTime.getSeconds();
|
|
99067
|
+
var secItem={ Time:time, Date:item.Date };
|
|
99068
|
+
aryData.push(secItem);
|
|
99069
|
+
startTime.setSeconds(startTime.getSeconds()+step);
|
|
99070
|
+
}
|
|
99071
|
+
}
|
|
99072
|
+
|
|
99073
|
+
return aryData;
|
|
99074
|
+
}
|
|
99075
|
+
|
|
98894
99076
|
//收盘集合竞价
|
|
98895
99077
|
MinuteChartContainer.JsonDataToAfterCloseData=function(data)
|
|
98896
99078
|
{
|
|
@@ -98901,7 +99083,7 @@ MinuteChartContainer.JsonDataToAfterCloseData=function(data)
|
|
|
98901
99083
|
if (!stockData.afterinfo) return null;
|
|
98902
99084
|
var symbol=data.stock[0].symbol;
|
|
98903
99085
|
var upperSymbol=symbol.toUpperCase();
|
|
98904
|
-
var afterCloseData={ Data:[], TotalCount:3*60, Ver:2.0, Date:date };
|
|
99086
|
+
var afterCloseData={ Data:[], TotalCount:3*60, Ver:2.0, Date:date, YClose:stockData.yclose, YClearing:stockData.yclearing };
|
|
98905
99087
|
var item=stockData.afterinfo;
|
|
98906
99088
|
if (IFrameSplitOperator.IsNumber(item.totalcount)) afterCloseData.TotalCount=item.totalcount;
|
|
98907
99089
|
if (IFrameSplitOperator.IsNumber(item.ver)) afterCloseData.Ver=item.ver;
|
|
@@ -98931,7 +99113,7 @@ MinuteChartContainer.JsonDataToAfterCloseData=function(data)
|
|
|
98931
99113
|
else if (afterCloseData.Ver==2.0)
|
|
98932
99114
|
{
|
|
98933
99115
|
var max=0;
|
|
98934
|
-
for(var i
|
|
99116
|
+
for(var i=0; i<stockData.after.length; ++i)
|
|
98935
99117
|
{
|
|
98936
99118
|
var item=new AfterCloseData();
|
|
98937
99119
|
var jsData=stockData.after[i];
|
|
@@ -98954,6 +99136,9 @@ MinuteChartContainer.JsonDataToAfterCloseData=function(data)
|
|
|
98954
99136
|
|
|
98955
99137
|
afterCloseData.VolMax=max/unit;
|
|
98956
99138
|
afterCloseData.VolMin=0;
|
|
99139
|
+
|
|
99140
|
+
if (stockData.afterinfo && stockData.afterinfo.TimeConfig) //固定时间
|
|
99141
|
+
MinuteChartContainer.CompleteCallAuctionData(stockData.afterinfo.TimeConfig, afterCloseData);
|
|
98957
99142
|
}
|
|
98958
99143
|
else if (afterCloseData.Ver==3.0)
|
|
98959
99144
|
{
|
|
@@ -98981,6 +99166,9 @@ MinuteChartContainer.JsonDataToAfterCloseData=function(data)
|
|
|
98981
99166
|
|
|
98982
99167
|
afterCloseData.VolMax=max/unit;
|
|
98983
99168
|
afterCloseData.VolMin=0;
|
|
99169
|
+
|
|
99170
|
+
if (stockData.afterinfo && stockData.afterinfo.TimeConfig) //固定时间
|
|
99171
|
+
MinuteChartContainer.CompleteCallAuctionData(stockData.afterinfo.TimeConfig, afterCloseData);
|
|
98984
99172
|
}
|
|
98985
99173
|
|
|
98986
99174
|
return afterCloseData;
|
|
@@ -99102,12 +99290,13 @@ MinuteChartContainer.JsonDataToUpdateMinuteData=function(data)
|
|
|
99102
99290
|
|
|
99103
99291
|
item.DateTime=`${item.Date} ${item.Time}`;
|
|
99104
99292
|
|
|
99105
|
-
if (IFrameSplitOperator.IsNumber(minuteData.YClose) && item.Close)
|
|
99106
|
-
|
|
99107
|
-
|
|
99108
|
-
|
|
99109
|
-
|
|
99110
|
-
|
|
99293
|
+
if (!IFrameSplitOperator.IsNumber(item.Increase) && IFrameSplitOperator.IsNumber(minuteData.YClose) && item.Close)
|
|
99294
|
+
{
|
|
99295
|
+
if (isFutures && minuteData.YClearing && item.Close)
|
|
99296
|
+
item.Increase=(item.Close-minuteData.YClearing)/minuteData.YClearing*100; //涨幅 (最新价格-昨结算价)/昨结算价*100;
|
|
99297
|
+
else
|
|
99298
|
+
item.Increase=(item.Close-minuteData.YClose)/minuteData.YClose*100; //涨幅 (最新价格-昨收)/昨收*100;
|
|
99299
|
+
}
|
|
99111
99300
|
|
|
99112
99301
|
minuteData.Data.push(item);
|
|
99113
99302
|
}
|
|
@@ -99271,8 +99460,9 @@ MinuteChartContainer.JsonDataToHistoryMinuteLineColorData=function(data)
|
|
|
99271
99460
|
}
|
|
99272
99461
|
|
|
99273
99462
|
|
|
99274
|
-
MinuteChartContainer.JsonDataToCallAuctionItem=function(data, callAuctionData, isBeforeOpen, symbol)
|
|
99463
|
+
MinuteChartContainer.JsonDataToCallAuctionItem=function(data, callAuctionData, isBeforeOpen, symbol, dataInfo)
|
|
99275
99464
|
{
|
|
99465
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(data)) return;
|
|
99276
99466
|
var upperSymbol=symbol?symbol.toUpperCase():null;
|
|
99277
99467
|
var unit=MARKET_SUFFIX_NAME.GetVolUnit(upperSymbol);
|
|
99278
99468
|
|
|
@@ -99283,7 +99473,7 @@ MinuteChartContainer.JsonDataToCallAuctionItem=function(data, callAuctionData, i
|
|
|
99283
99473
|
if (callAuctionData.Ver==1.0)
|
|
99284
99474
|
{
|
|
99285
99475
|
var preClose=null;
|
|
99286
|
-
for(var i
|
|
99476
|
+
for(var i=0; i<data.length; ++i)
|
|
99287
99477
|
{
|
|
99288
99478
|
var item=isBeforeOpen? new BeforeOpenData() : new AfterCloseData();
|
|
99289
99479
|
var jsData=data[i];
|
|
@@ -99307,7 +99497,7 @@ MinuteChartContainer.JsonDataToCallAuctionItem=function(data, callAuctionData, i
|
|
|
99307
99497
|
else if (callAuctionData.Ver==2.0)
|
|
99308
99498
|
{
|
|
99309
99499
|
var max=0;
|
|
99310
|
-
for(var i
|
|
99500
|
+
for(var i=0; i<data.length; ++i)
|
|
99311
99501
|
{
|
|
99312
99502
|
var item=isBeforeOpen? new BeforeOpenData() : new AfterCloseData();
|
|
99313
99503
|
var jsData=data[i];
|
|
@@ -99319,7 +99509,6 @@ MinuteChartContainer.JsonDataToCallAuctionItem=function(data, callAuctionData, i
|
|
|
99319
99509
|
item.Vol[0]=jsData[2]; //匹配量
|
|
99320
99510
|
item.Vol[1]=jsData[3]; //未匹配量
|
|
99321
99511
|
item.ColorID=jsData[4]; //柱子颜色ID
|
|
99322
|
-
item.DateTime=date.toString()+" "+item.Time.toString();
|
|
99323
99512
|
|
|
99324
99513
|
var totalVol=item.Vol[0]+item.Vol[1];
|
|
99325
99514
|
if (IFrameSplitOperator.IsNumber(jsData[5])) totalVol=jsData[5];
|
|
@@ -99331,6 +99520,9 @@ MinuteChartContainer.JsonDataToCallAuctionItem=function(data, callAuctionData, i
|
|
|
99331
99520
|
|
|
99332
99521
|
callAuctionData.VolMax=max/unit;
|
|
99333
99522
|
callAuctionData.VolMin=0;
|
|
99523
|
+
|
|
99524
|
+
if (dataInfo && dataInfo.TimeConfig) //固定时间
|
|
99525
|
+
MinuteChartContainer.CompleteCallAuctionData(dataInfo.TimeConfig, callAuctionData);
|
|
99334
99526
|
}
|
|
99335
99527
|
else if (beforeOpenData.Ver==3.0)
|
|
99336
99528
|
{
|
|
@@ -99347,7 +99539,6 @@ MinuteChartContainer.JsonDataToCallAuctionItem=function(data, callAuctionData, i
|
|
|
99347
99539
|
item.AvPrice=jsData[2]; //均价
|
|
99348
99540
|
item.Vol[0]=jsData[3]; //匹配量
|
|
99349
99541
|
item.ColorID=jsData[4]; //柱子颜色ID
|
|
99350
|
-
item.DateTime=date.toString()+" "+item.Time.toString();
|
|
99351
99542
|
|
|
99352
99543
|
var totalVol=item.Vol[0];
|
|
99353
99544
|
if (IFrameSplitOperator.IsNumber(jsData[5])) totalVol=jsData[5];
|
|
@@ -99359,6 +99550,9 @@ MinuteChartContainer.JsonDataToCallAuctionItem=function(data, callAuctionData, i
|
|
|
99359
99550
|
|
|
99360
99551
|
callAuctionData.VolMax=max/unit;
|
|
99361
99552
|
callAuctionData.VolMin=0;
|
|
99553
|
+
|
|
99554
|
+
if (dataInfo && dataInfo.TimeConfig) //固定时间
|
|
99555
|
+
MinuteChartContainer.CompleteCallAuctionData(dataInfo.TimeConfig, callAuctionData);
|
|
99362
99556
|
}
|
|
99363
99557
|
}
|
|
99364
99558
|
|
|
@@ -99367,7 +99561,7 @@ MinuteChartContainer.JosnDataToBeforeOpenDataArray=function(data)
|
|
|
99367
99561
|
if (!data || !data.data) return null;
|
|
99368
99562
|
|
|
99369
99563
|
var aryDay=[];
|
|
99370
|
-
for(var i
|
|
99564
|
+
for(var i=0; i<data.data.length; ++i)
|
|
99371
99565
|
{
|
|
99372
99566
|
var dayItem=data.data[i];
|
|
99373
99567
|
var beforeOpenData={ Data:[], TotalCount:15, Ver:1.0, Date:dayItem.date, YClose:dayItem.yclose, YClearing:dayItem.YClearing };
|
|
@@ -99377,7 +99571,7 @@ MinuteChartContainer.JosnDataToBeforeOpenDataArray=function(data)
|
|
|
99377
99571
|
if (IFrameSplitOperator.IsNumber(dayItem.beforeinfo.ver)) beforeOpenData.Ver=dayItem.beforeinfo.ver;
|
|
99378
99572
|
}
|
|
99379
99573
|
|
|
99380
|
-
MinuteChartContainer.JsonDataToCallAuctionItem(dayItem.before, beforeOpenData, true, data.symbol);
|
|
99574
|
+
MinuteChartContainer.JsonDataToCallAuctionItem(dayItem.before, beforeOpenData, true, data.symbol, dayItem.beforeinfo);
|
|
99381
99575
|
|
|
99382
99576
|
aryDay.push(beforeOpenData);
|
|
99383
99577
|
}
|
|
@@ -99392,7 +99586,7 @@ MinuteChartContainer.JosnDataToAfterCloseDataArray=function(data)
|
|
|
99392
99586
|
if (!data || !data.data) return null;
|
|
99393
99587
|
|
|
99394
99588
|
var aryDay=[];
|
|
99395
|
-
for(var i
|
|
99589
|
+
for(var i=0; i<data.data.length; ++i)
|
|
99396
99590
|
{
|
|
99397
99591
|
var dayItem=data.data[i];
|
|
99398
99592
|
var afterCloseData={ Data:[], TotalCount:15, Ver:1.0, Date:dayItem.date, YClose:dayItem.yclose, YClearing:dayItem.YClearing };
|
|
@@ -99403,7 +99597,7 @@ MinuteChartContainer.JosnDataToAfterCloseDataArray=function(data)
|
|
|
99403
99597
|
if (IFrameSplitOperator.IsNumber(dayItem.afterinfo.ver)) afterCloseData.Ver=dayItem.afterinfo.ver;
|
|
99404
99598
|
}
|
|
99405
99599
|
|
|
99406
|
-
MinuteChartContainer.JsonDataToCallAuctionItem(dayItem.after, afterCloseData, false, data.symbol);
|
|
99600
|
+
MinuteChartContainer.JsonDataToCallAuctionItem(dayItem.after, afterCloseData, false, data.symbol, dayItem.afterinfo);
|
|
99407
99601
|
|
|
99408
99602
|
aryDay.push(afterCloseData);
|
|
99409
99603
|
}
|
|
@@ -162577,7 +162771,7 @@ function HQChartScriptWorker()
|
|
|
162577
162771
|
|
|
162578
162772
|
|
|
162579
162773
|
|
|
162580
|
-
var HQCHART_VERSION="1.1.
|
|
162774
|
+
var HQCHART_VERSION="1.1.14952";
|
|
162581
162775
|
|
|
162582
162776
|
function PrintHQChartVersion()
|
|
162583
162777
|
{
|