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
|
@@ -15868,9 +15868,24 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
15868
15868
|
{
|
|
15869
15869
|
if (!data.IsShowCorss) //十字光标隐藏
|
|
15870
15870
|
{
|
|
15871
|
+
//清空当前鼠标坐标
|
|
15872
|
+
this.LastPoint.X=null;
|
|
15873
|
+
this.LastPoint.Y=null;
|
|
15871
15874
|
this.HideTooltip();
|
|
15872
15875
|
this.CloseTooltipDialog();
|
|
15873
15876
|
}
|
|
15877
|
+
else
|
|
15878
|
+
{
|
|
15879
|
+
if (IFrameSplitOperator.IsNumber(data.X) && IFrameSplitOperator.IsNumber(data.Y))
|
|
15880
|
+
{
|
|
15881
|
+
//设置鼠标位置
|
|
15882
|
+
if (this.LastPoint && (!IFrameSplitOperator.IsNumber(this.LastPoint.X) || !IFrameSplitOperator.IsNumber(this.LastPoint.Y)))
|
|
15883
|
+
{
|
|
15884
|
+
this.LastPoint.X=data.X;
|
|
15885
|
+
this.LastPoint.Y=data.Y;
|
|
15886
|
+
}
|
|
15887
|
+
}
|
|
15888
|
+
}
|
|
15874
15889
|
}
|
|
15875
15890
|
}
|
|
15876
15891
|
|
|
@@ -39405,10 +39420,10 @@ function ChartMinuteVolumBar()
|
|
|
39405
39420
|
var unit=this.GetVolUnit();
|
|
39406
39421
|
if (callAutionData.Ver==1.0)
|
|
39407
39422
|
{
|
|
39408
|
-
for(var i
|
|
39423
|
+
for(var i=0;i<callAutionData.Data.length;++i)
|
|
39409
39424
|
{
|
|
39410
39425
|
var item=callAutionData.Data[i];
|
|
39411
|
-
if (!item || !IFrameSplitOperator.IsNumber(item.Vol[0])) continue;
|
|
39426
|
+
if (!item || !IFrameSplitOperator.IsNonEmptyArray(item.Vol) || !IFrameSplitOperator.IsNumber(item.Vol[0])) continue;
|
|
39412
39427
|
|
|
39413
39428
|
if (isBeforeOpen)
|
|
39414
39429
|
{
|
|
@@ -39442,11 +39457,11 @@ function ChartMinuteVolumBar()
|
|
|
39442
39457
|
{
|
|
39443
39458
|
var range={ Max: callAutionData.VolMax, Min:callAutionData.VolMin }
|
|
39444
39459
|
|
|
39445
|
-
for(var i
|
|
39460
|
+
for(var i=0; i<callAutionData.Data.length; ++i)
|
|
39446
39461
|
{
|
|
39447
39462
|
var item=callAutionData.Data[i];
|
|
39448
39463
|
if (!item) continue;
|
|
39449
|
-
if (IFrameSplitOperator.IsPlusNumber(item.Vol[0]))
|
|
39464
|
+
if (item.Vol && IFrameSplitOperator.IsPlusNumber(item.Vol[0]))
|
|
39450
39465
|
{
|
|
39451
39466
|
if (isBeforeOpen)
|
|
39452
39467
|
{
|
|
@@ -39476,7 +39491,7 @@ function ChartMinuteVolumBar()
|
|
|
39476
39491
|
this.Canvas.stroke();
|
|
39477
39492
|
}
|
|
39478
39493
|
|
|
39479
|
-
if (IFrameSplitOperator.IsPlusNumber(item.Vol[1]))
|
|
39494
|
+
if (item.Vol && IFrameSplitOperator.IsPlusNumber(item.Vol[1]))
|
|
39480
39495
|
{
|
|
39481
39496
|
if (isBeforeOpen)
|
|
39482
39497
|
{
|
|
@@ -44456,16 +44471,23 @@ function ChartMinutePriceLine()
|
|
|
44456
44471
|
var item=callAutionData.Data[i];
|
|
44457
44472
|
if (!item || !IFrameSplitOperator.IsNumber(item.Price))
|
|
44458
44473
|
{
|
|
44459
|
-
if (i==0 && isBeforeOpen
|
|
44474
|
+
if (i==0 && isBeforeOpen)
|
|
44460
44475
|
{
|
|
44461
|
-
|
|
44462
|
-
var
|
|
44476
|
+
//盘前集合竞价起始点为昨收或昨结算
|
|
44477
|
+
var price=callAutionData.YClose;
|
|
44478
|
+
if (IFrameSplitOperator.IsNumber(callAutionData.YClearing)) price=callAutionData.YClearing;
|
|
44463
44479
|
|
|
44464
|
-
|
|
44465
|
-
|
|
44466
|
-
|
|
44467
|
-
|
|
44468
|
-
|
|
44480
|
+
if (IFrameSplitOperator.IsNumber(price))
|
|
44481
|
+
{
|
|
44482
|
+
var x=this.ChartFrame.GetLeftExtendXFromIndex(i,callAutionData);
|
|
44483
|
+
var y=this.ChartFrame.GetLeftExtendYFromData(price);
|
|
44484
|
+
|
|
44485
|
+
this.Canvas.strokeStyle=this.BeforeLineColor;
|
|
44486
|
+
this.Canvas.beginPath();
|
|
44487
|
+
if (isHScreen) this.Canvas.moveTo(y,x);
|
|
44488
|
+
else this.Canvas.moveTo(x,y);
|
|
44489
|
+
bFirstPoint=false;
|
|
44490
|
+
}
|
|
44469
44491
|
}
|
|
44470
44492
|
|
|
44471
44493
|
continue;
|
|
@@ -61609,6 +61631,7 @@ function ChartCorssCursor()
|
|
|
61609
61631
|
this.LastValue=null;
|
|
61610
61632
|
|
|
61611
61633
|
if (!this.LastPoint) return;
|
|
61634
|
+
if (!this.IsShow) return;
|
|
61612
61635
|
|
|
61613
61636
|
this.Close=null;
|
|
61614
61637
|
var x=this.LastPoint.X;
|
|
@@ -62731,8 +62754,7 @@ function ChartCorssCursor()
|
|
|
62731
62754
|
{
|
|
62732
62755
|
this.IsShowCorss=!this.IsShowCorss
|
|
62733
62756
|
data.Draw=true;
|
|
62734
|
-
|
|
62735
|
-
if (this.OnChangeStatusCallback) this.OnChangeStatusCallback({ Type:1, IsShowCorss:this.IsShowCorss }, this);
|
|
62757
|
+
if (this.OnChangeStatusCallback) this.OnChangeStatusCallback({ Type:1, IsShowCorss:this.IsShowCorss, X:x, Y:y }, this);
|
|
62736
62758
|
}
|
|
62737
62759
|
}
|
|
62738
62760
|
|
|
@@ -64524,6 +64546,14 @@ function DynamicKLineTitlePainting()
|
|
|
64524
64546
|
this.OnMouseMoveEvent;
|
|
64525
64547
|
this.HQChart;
|
|
64526
64548
|
|
|
64549
|
+
//十字线是否显示
|
|
64550
|
+
this.IsShowCorssLine=function()
|
|
64551
|
+
{
|
|
64552
|
+
if (!this.HQChart || !this.HQChart.ChartCorssCursor) return false;
|
|
64553
|
+
|
|
64554
|
+
return this.HQChart.ChartCorssCursor.IsShowCorss;
|
|
64555
|
+
}
|
|
64556
|
+
|
|
64527
64557
|
this.ReloadResource=function()
|
|
64528
64558
|
{
|
|
64529
64559
|
this.Font=g_JSChartResource.TitleFont;
|
|
@@ -65015,6 +65045,8 @@ function DynamicKLineTitlePainting()
|
|
|
65015
65045
|
isShow=true;
|
|
65016
65046
|
else if (status.CorssCursorTouchEnd && status.IsOnTouch==false)
|
|
65017
65047
|
isShow=true;
|
|
65048
|
+
else if (!this.IsShowCorssLine())
|
|
65049
|
+
isShow=true;
|
|
65018
65050
|
}
|
|
65019
65051
|
|
|
65020
65052
|
return isShow;
|
|
@@ -65614,6 +65646,8 @@ function DynamicMinuteTitlePainting()
|
|
|
65614
65646
|
isShowLastData=true;
|
|
65615
65647
|
else if (status.CorssCursorTouchEnd && status.IsOnTouch==false)
|
|
65616
65648
|
isShowLastData=true;
|
|
65649
|
+
else if (!this.IsShowCorssLine())
|
|
65650
|
+
isShowLastData=true;
|
|
65617
65651
|
}
|
|
65618
65652
|
else if (this.GlobalOption && this.GlobalOption.IsDisplayLatest)
|
|
65619
65653
|
{
|
|
@@ -65826,6 +65860,14 @@ function DynamicChartTitlePainting()
|
|
|
65826
65860
|
this.IsShowMainIndexTitle=true; //是否显示主图指标标题
|
|
65827
65861
|
this.MainTitlePaint=null; //主标题
|
|
65828
65862
|
|
|
65863
|
+
//十字线是否显示
|
|
65864
|
+
this.IsShowCorssLine=function()
|
|
65865
|
+
{
|
|
65866
|
+
if (!this.HQChart || !this.HQChart.ChartCorssCursor) return false;
|
|
65867
|
+
|
|
65868
|
+
return this.HQChart.ChartCorssCursor.IsShowCorss;
|
|
65869
|
+
}
|
|
65870
|
+
|
|
65829
65871
|
this.ReloadResource=function()
|
|
65830
65872
|
{
|
|
65831
65873
|
this.Font=g_JSChartResource.TitleFont;
|
|
@@ -66417,6 +66459,8 @@ function DynamicChartTitlePainting()
|
|
|
66417
66459
|
isShowLastData=true;
|
|
66418
66460
|
else if (status.CorssCursorTouchEnd && status.IsOnTouch==false)
|
|
66419
66461
|
isShowLastData=true;
|
|
66462
|
+
else if (!this.IsShowCorssLine())
|
|
66463
|
+
isShowLastData=true;
|
|
66420
66464
|
}
|
|
66421
66465
|
else if (this.GlobalOption && this.GlobalOption.IsDisplayLatest)
|
|
66422
66466
|
{
|
|
@@ -96612,6 +96656,8 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
96612
96656
|
//更新最新的几条数据
|
|
96613
96657
|
this.UpdateLatestMinuteDataV2=function(minuteData)
|
|
96614
96658
|
{
|
|
96659
|
+
if (!minuteData || !IFrameSplitOperator.IsNonEmptyArray(minuteData.Data)) return;
|
|
96660
|
+
|
|
96615
96661
|
if (this.DayCount>1)
|
|
96616
96662
|
{
|
|
96617
96663
|
if (!this.DayData) return;
|
|
@@ -96620,7 +96666,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
96620
96666
|
for(var i=0; i<this.DayData.length; ++i)
|
|
96621
96667
|
{
|
|
96622
96668
|
var item=this.DayData[i];
|
|
96623
|
-
if (item.Date===
|
|
96669
|
+
if (item.Date===minuteData.Date)
|
|
96624
96670
|
{
|
|
96625
96671
|
findItem=item;
|
|
96626
96672
|
break;
|
|
@@ -96806,24 +96852,50 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
96806
96852
|
this.ColorLineData=aryColorLineData;
|
|
96807
96853
|
}
|
|
96808
96854
|
|
|
96809
|
-
this.UpdateCallCationData=function(beforeOpenData,afterCloseData)
|
|
96855
|
+
this.UpdateCallCationData=function(beforeOpenData,afterCloseData,option)
|
|
96810
96856
|
{
|
|
96811
|
-
|
|
96857
|
+
var dataType=0;
|
|
96858
|
+
if (option && IFrameSplitOperator.IsNumber(option.DataType)) dataType=option.DataType;
|
|
96859
|
+
|
|
96860
|
+
if (dataType==1)
|
|
96812
96861
|
{
|
|
96813
|
-
|
|
96814
|
-
|
|
96815
|
-
this.MultiDayBeforeOpenData[this.MultiDayBeforeOpenData.length-1]
|
|
96816
|
-
|
|
96817
|
-
|
|
96818
|
-
|
|
96862
|
+
if (beforeOpenData && IFrameSplitOperator.IsNonEmptyArray(this.MultiDayBeforeOpenData))
|
|
96863
|
+
{
|
|
96864
|
+
var lastItem=this.MultiDayBeforeOpenData[this.MultiDayBeforeOpenData.length-1];
|
|
96865
|
+
if (lastItem.Date==beforeOpenData.Date) //增量更新
|
|
96866
|
+
{
|
|
96867
|
+
this.UpdateLatestCallCationData(lastItem, beforeOpenData);
|
|
96868
|
+
}
|
|
96869
|
+
}
|
|
96819
96870
|
|
|
96820
|
-
|
|
96871
|
+
if (afterCloseData && IFrameSplitOperator.IsNonEmptyArray(this.MultiDayAfterCloseData))
|
|
96872
|
+
{
|
|
96873
|
+
var lastItem=this.MultiDayAfterCloseData[this.MultiDayAfterCloseData.length-1];
|
|
96874
|
+
if (lastItem.Date==afterCloseData.Date) //增量更新
|
|
96875
|
+
{
|
|
96876
|
+
this.UpdateLatestCallCationData(lastItem, afterCloseData);
|
|
96877
|
+
}
|
|
96878
|
+
}
|
|
96879
|
+
}
|
|
96880
|
+
else
|
|
96821
96881
|
{
|
|
96822
|
-
|
|
96823
|
-
|
|
96824
|
-
this.
|
|
96825
|
-
|
|
96826
|
-
|
|
96882
|
+
if (beforeOpenData && IFrameSplitOperator.IsNonEmptyArray(this.MultiDayBeforeOpenData))
|
|
96883
|
+
{
|
|
96884
|
+
var lastItem=this.MultiDayBeforeOpenData[this.MultiDayBeforeOpenData.length-1];
|
|
96885
|
+
if (lastItem.Date==beforeOpenData.Date) //存在更新
|
|
96886
|
+
this.MultiDayBeforeOpenData[this.MultiDayBeforeOpenData.length-1]=beforeOpenData;
|
|
96887
|
+
else if (lastItem.Date<beforeOpenData.Date) //新的一天插入
|
|
96888
|
+
this.MultiDayBeforeOpenData.push(beforeOpenData);
|
|
96889
|
+
}
|
|
96890
|
+
|
|
96891
|
+
if (afterCloseData && IFrameSplitOperator.IsNonEmptyArray(this.MultiDayAfterCloseData))
|
|
96892
|
+
{
|
|
96893
|
+
var lastItem=this.MultiDayAfterCloseData[this.MultiDayAfterCloseData.length-1];
|
|
96894
|
+
if (lastItem.Date==afterCloseData.Date)
|
|
96895
|
+
this.MultiDayAfterCloseData[this.MultiDayAfterCloseData.length-1]=afterCloseData;
|
|
96896
|
+
else if (lastItem.Date<afterCloseData.Date)
|
|
96897
|
+
this.MultiDayAfterCloseData.push(afterCloseData);
|
|
96898
|
+
}
|
|
96827
96899
|
}
|
|
96828
96900
|
|
|
96829
96901
|
this.CaclutateCallCationYRange();
|
|
@@ -96839,9 +96911,16 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
96839
96911
|
var afterCloseData=MinuteChartContainer.JsonDataToAfterCloseData(data);
|
|
96840
96912
|
var updateTime=MinuteChartContainer.JsonDataToMinuteLastUpdateTime(data); //数据最后的更新时间
|
|
96841
96913
|
|
|
96914
|
+
if (data.LatestPointFlash) //最新数据闪烁
|
|
96915
|
+
{
|
|
96916
|
+
var item=data.LatestPointFlash;
|
|
96917
|
+
if (IFrameSplitOperator.IsNumber(item.FlashCount))
|
|
96918
|
+
this.SetLatestPointFlash(item.FlashCount)
|
|
96919
|
+
}
|
|
96920
|
+
|
|
96842
96921
|
if (this.DayCount>1) //多日走势图
|
|
96843
96922
|
{
|
|
96844
|
-
this.UpdateCallCationData(beforeOpenData,afterCloseData);
|
|
96923
|
+
this.UpdateCallCationData(beforeOpenData,afterCloseData, { DataType:1});
|
|
96845
96924
|
this.UpdateLineColorData(aryColorData,minuteData.date);
|
|
96846
96925
|
this.UpdateLatestMinuteDataV2(minuteData);
|
|
96847
96926
|
this.UpdateHistoryMinuteUI(updateTime);
|
|
@@ -96853,10 +96932,13 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
96853
96932
|
return;
|
|
96854
96933
|
}
|
|
96855
96934
|
|
|
96856
|
-
if (this.IsBeforeData && beforeOpenData) this.BeforeOpenData=beforeOpenData;
|
|
96857
|
-
if (this.IsAfterData && afterCloseData) this.AfterCloseData=afterCloseData;
|
|
96935
|
+
//if (this.IsBeforeData && beforeOpenData) this.BeforeOpenData=beforeOpenData;
|
|
96936
|
+
//if (this.IsAfterData && afterCloseData) this.AfterCloseData=afterCloseData;
|
|
96937
|
+
|
|
96938
|
+
//盘前盘后数据更新
|
|
96939
|
+
if (this.IsBeforeData && beforeOpenData) this.UpdateLatestCallCationData(this.BeforeOpenData, beforeOpenData);
|
|
96940
|
+
if (this.IsAfterData && afterCloseData) this.UpdateLatestCallCationData(this.AfterCloseData, afterCloseData);
|
|
96858
96941
|
|
|
96859
|
-
//原始数据
|
|
96860
96942
|
this.UpdateLatestMinuteDataV2(minuteData);
|
|
96861
96943
|
this.UpdateMinuteUI(data.stock[0], {FunctionName:"RecvUpdateMinuteData"});
|
|
96862
96944
|
|
|
@@ -96871,6 +96953,45 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
96871
96953
|
}
|
|
96872
96954
|
}
|
|
96873
96955
|
|
|
96956
|
+
this.UpdateLatestCallCationData=function(destData, updateData)
|
|
96957
|
+
{
|
|
96958
|
+
if (!destData) return;
|
|
96959
|
+
if (!updateData || !IFrameSplitOperator.IsNonEmptyArray(updateData.Data)) return;
|
|
96960
|
+
|
|
96961
|
+
if (destData.Data.length==0)
|
|
96962
|
+
{
|
|
96963
|
+
destData.Data=updateData.Data;
|
|
96964
|
+
destData.VolMax=updateData.VolMax;
|
|
96965
|
+
destData.VolMin=updateData.VolMin;
|
|
96966
|
+
return;
|
|
96967
|
+
}
|
|
96968
|
+
|
|
96969
|
+
//覆盖历史数据
|
|
96970
|
+
var mapData=new Map(updateData.Data.map((obj) => [obj.Time, obj]));
|
|
96971
|
+
var lastTime=null; //最后的时间
|
|
96972
|
+
for(var i=0;i<destData.Data.length;++i)
|
|
96973
|
+
{
|
|
96974
|
+
var item=destData.Data[i];
|
|
96975
|
+
lastTime=item.Time;
|
|
96976
|
+
if (!mapData.has(item.Time)) continue;
|
|
96977
|
+
var newItem=mapData.get(item.Time);
|
|
96978
|
+
if (!newItem || !IFrameSplitOperator.IsNumber(newItem.Price)) continue; //只覆盖有效数据
|
|
96979
|
+
|
|
96980
|
+
destData.Data[i]=newItem;
|
|
96981
|
+
}
|
|
96982
|
+
|
|
96983
|
+
//新数据往后插
|
|
96984
|
+
for(var i=0;i<updateData.Data.length;++i)
|
|
96985
|
+
{
|
|
96986
|
+
var item=updateData.Data[i];
|
|
96987
|
+
if (item.Time<=lastTime) continue;
|
|
96988
|
+
destData.Data.push(item);
|
|
96989
|
+
}
|
|
96990
|
+
|
|
96991
|
+
if (destData.VolMax<updateData.VolMax) destData.VolMax=updateData.VolMax;
|
|
96992
|
+
if (IFrameSplitOperator.IsNumber(updateData.TotalCount) && updateData.TotalCount>destData.TotalCount) updateData.TotalCount=destData.TotalCount;
|
|
96993
|
+
}
|
|
96994
|
+
|
|
96874
96995
|
this.RecvBuySellData=function(data)
|
|
96875
96996
|
{
|
|
96876
96997
|
if (!data) return;
|
|
@@ -96937,7 +97058,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
96937
97058
|
|
|
96938
97059
|
if (this.DayCount>1) //多日走势图
|
|
96939
97060
|
{
|
|
96940
|
-
this.UpdateCallCationData(beforeOpenData,afterCloseData);
|
|
97061
|
+
this.UpdateCallCationData(beforeOpenData,afterCloseData, { DataType:0});
|
|
96941
97062
|
this.UpdateLineColorData(aryColorData,data.stock[0].date);
|
|
96942
97063
|
this.UpdateLatestMinuteData(aryMinuteData, data.stock[0].date, data.stock[0]);
|
|
96943
97064
|
this.UpdateTradeStatusData(data.TradeStatus);
|
|
@@ -98754,7 +98875,7 @@ MinuteChartContainer.JsonDataToBeforeOpenData=function(data)
|
|
|
98754
98875
|
var preClose=data.stock[0].yclose; //前一个数据价格
|
|
98755
98876
|
var stockData=data.stock[0];
|
|
98756
98877
|
var date=stockData.date; //日期
|
|
98757
|
-
var beforeOpenData={ Data:[], TotalCount:15, Ver:1.0, Date:date };
|
|
98878
|
+
var beforeOpenData={ Data:[], TotalCount:15, Ver:1.0, Date:date, YClose:stockData.yclose, YClearing:stockData.yclearing };
|
|
98758
98879
|
var extendDataIndex=JSCHART_DATA_FIELD_ID.MINUTE_BEFOREOPEN_EXTENDDATA; //扩展数据序号
|
|
98759
98880
|
if (stockData.beforeinfo)
|
|
98760
98881
|
{
|
|
@@ -98790,7 +98911,7 @@ MinuteChartContainer.JsonDataToBeforeOpenData=function(data)
|
|
|
98790
98911
|
else if (beforeOpenData.Ver==2.0)
|
|
98791
98912
|
{
|
|
98792
98913
|
var max=0;
|
|
98793
|
-
for(var i
|
|
98914
|
+
for(var i=0;i<stockData.before.length;++i)
|
|
98794
98915
|
{
|
|
98795
98916
|
var item=new BeforeOpenData();
|
|
98796
98917
|
var jsData=stockData.before[i];
|
|
@@ -98802,7 +98923,6 @@ MinuteChartContainer.JsonDataToBeforeOpenData=function(data)
|
|
|
98802
98923
|
item.Vol[1]=jsData[3]; //未匹配量
|
|
98803
98924
|
item.ColorID=jsData[4]; //柱子颜色ID
|
|
98804
98925
|
if (IFrameSplitOperator.IsNumber(jsData[6])) item.Date=jsData[6] //日期
|
|
98805
|
-
item.DateTime=`${item.Date} ${item.Time})`;
|
|
98806
98926
|
|
|
98807
98927
|
var totalVol=item.Vol[0]+item.Vol[1];
|
|
98808
98928
|
if (IFrameSplitOperator.IsNumber(jsData[5])) totalVol=jsData[5];
|
|
@@ -98814,12 +98934,14 @@ MinuteChartContainer.JsonDataToBeforeOpenData=function(data)
|
|
|
98814
98934
|
|
|
98815
98935
|
beforeOpenData.VolMax=max/unit;
|
|
98816
98936
|
beforeOpenData.VolMin=0;
|
|
98937
|
+
|
|
98938
|
+
if (stockData.beforeinfo && stockData.beforeinfo.TimeConfig) //固定时间
|
|
98939
|
+
MinuteChartContainer.CompleteCallAuctionData(stockData.beforeinfo.TimeConfig, beforeOpenData);
|
|
98817
98940
|
}
|
|
98818
98941
|
else if (beforeOpenData.Ver==3.0)
|
|
98819
98942
|
{
|
|
98820
98943
|
var max=0;
|
|
98821
|
-
|
|
98822
|
-
for(var i in stockData.before)
|
|
98944
|
+
for(var i=0; i<stockData.before.length; ++i)
|
|
98823
98945
|
{
|
|
98824
98946
|
var item=new BeforeOpenData();
|
|
98825
98947
|
var jsData=stockData.before[i];
|
|
@@ -98830,7 +98952,6 @@ MinuteChartContainer.JsonDataToBeforeOpenData=function(data)
|
|
|
98830
98952
|
item.AvPrice=jsData[2]; //均价
|
|
98831
98953
|
item.Vol[0]=jsData[3]; //匹配量
|
|
98832
98954
|
item.ColorID=jsData[4]; //柱子颜色ID
|
|
98833
|
-
item.DateTime=date.toString()+" "+item.Time.toString();
|
|
98834
98955
|
|
|
98835
98956
|
var totalVol=item.Vol[0];
|
|
98836
98957
|
if (IFrameSplitOperator.IsNumber(jsData[5])) totalVol=jsData[5];
|
|
@@ -98842,11 +98963,72 @@ MinuteChartContainer.JsonDataToBeforeOpenData=function(data)
|
|
|
98842
98963
|
|
|
98843
98964
|
beforeOpenData.VolMax=max/unit;
|
|
98844
98965
|
beforeOpenData.VolMin=0;
|
|
98966
|
+
|
|
98967
|
+
if (stockData.beforeinfo && stockData.beforeinfo.TimeConfig) //固定时间
|
|
98968
|
+
MinuteChartContainer.CompleteCallAuctionData(stockData.beforeinfo.TimeConfig, beforeOpenData);
|
|
98845
98969
|
}
|
|
98846
98970
|
|
|
98847
98971
|
return beforeOpenData;
|
|
98848
98972
|
}
|
|
98849
98973
|
|
|
98974
|
+
|
|
98975
|
+
MinuteChartContainer.CompleteCallAuctionData=function(timeConfig, callAuctionData)
|
|
98976
|
+
{
|
|
98977
|
+
var aryData=MinuteChartContainer.CreateCallAuctionTimeData(timeConfig);
|
|
98978
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(aryData)) return false;
|
|
98979
|
+
|
|
98980
|
+
var mapData=new Map(callAuctionData.Data.map((obj) => [obj.Time, obj]));
|
|
98981
|
+
for(var i=0;i<aryData.length;++i)
|
|
98982
|
+
{
|
|
98983
|
+
var time=aryData[i].Time;
|
|
98984
|
+
if (!mapData.has(time)) continue;
|
|
98985
|
+
|
|
98986
|
+
var item=mapData.get(time);
|
|
98987
|
+
aryData[i]=item;
|
|
98988
|
+
}
|
|
98989
|
+
|
|
98990
|
+
callAuctionData.Data=aryData;
|
|
98991
|
+
callAuctionData.TotalCount=aryData.length;
|
|
98992
|
+
|
|
98993
|
+
return true;
|
|
98994
|
+
}
|
|
98995
|
+
|
|
98996
|
+
//创建集合竞价秒级时间 { AryTime:[ { Start:92500, End:92459, Date:20250101 } ] } hhmmss
|
|
98997
|
+
MinuteChartContainer.CreateCallAuctionTimeData=function(config)
|
|
98998
|
+
{
|
|
98999
|
+
if (!config || !IFrameSplitOperator.IsNonEmptyArray(config.AryTime)) return null;
|
|
99000
|
+
|
|
99001
|
+
var step=1; //1s
|
|
99002
|
+
if (IFrameSplitOperator.IsPlusNumber(config.Step)) step=config.Step;
|
|
99003
|
+
var aryData=[];
|
|
99004
|
+
for(var i=0;i<config.AryTime.length;++i)
|
|
99005
|
+
{
|
|
99006
|
+
var item=config.AryTime[i];
|
|
99007
|
+
|
|
99008
|
+
var value=item.Start;
|
|
99009
|
+
var hour=parseInt(value/10000);
|
|
99010
|
+
var minute=parseInt((value%10000)/100);
|
|
99011
|
+
var second=value%100;
|
|
99012
|
+
var startTime=new Date(2021,5,2, hour,minute, second);
|
|
99013
|
+
|
|
99014
|
+
value=item.End;
|
|
99015
|
+
var hour=parseInt(value/10000);
|
|
99016
|
+
var minute=parseInt((value%10000)/100);
|
|
99017
|
+
var second=value%100;
|
|
99018
|
+
var endTime=new Date(2021,5,2, hour,minute, second);
|
|
99019
|
+
|
|
99020
|
+
for(var j=0; j<5000 && startTime<=endTime; ++j)
|
|
99021
|
+
{
|
|
99022
|
+
var time=startTime.getHours()*10000+startTime.getMinutes()*100+startTime.getSeconds();
|
|
99023
|
+
var secItem={ Time:time, Date:item.Date };
|
|
99024
|
+
aryData.push(secItem);
|
|
99025
|
+
startTime.setSeconds(startTime.getSeconds()+step);
|
|
99026
|
+
}
|
|
99027
|
+
}
|
|
99028
|
+
|
|
99029
|
+
return aryData;
|
|
99030
|
+
}
|
|
99031
|
+
|
|
98850
99032
|
//收盘集合竞价
|
|
98851
99033
|
MinuteChartContainer.JsonDataToAfterCloseData=function(data)
|
|
98852
99034
|
{
|
|
@@ -98857,7 +99039,7 @@ MinuteChartContainer.JsonDataToAfterCloseData=function(data)
|
|
|
98857
99039
|
if (!stockData.afterinfo) return null;
|
|
98858
99040
|
var symbol=data.stock[0].symbol;
|
|
98859
99041
|
var upperSymbol=symbol.toUpperCase();
|
|
98860
|
-
var afterCloseData={ Data:[], TotalCount:3*60, Ver:2.0, Date:date };
|
|
99042
|
+
var afterCloseData={ Data:[], TotalCount:3*60, Ver:2.0, Date:date, YClose:stockData.yclose, YClearing:stockData.yclearing };
|
|
98861
99043
|
var item=stockData.afterinfo;
|
|
98862
99044
|
if (IFrameSplitOperator.IsNumber(item.totalcount)) afterCloseData.TotalCount=item.totalcount;
|
|
98863
99045
|
if (IFrameSplitOperator.IsNumber(item.ver)) afterCloseData.Ver=item.ver;
|
|
@@ -98887,7 +99069,7 @@ MinuteChartContainer.JsonDataToAfterCloseData=function(data)
|
|
|
98887
99069
|
else if (afterCloseData.Ver==2.0)
|
|
98888
99070
|
{
|
|
98889
99071
|
var max=0;
|
|
98890
|
-
for(var i
|
|
99072
|
+
for(var i=0; i<stockData.after.length; ++i)
|
|
98891
99073
|
{
|
|
98892
99074
|
var item=new AfterCloseData();
|
|
98893
99075
|
var jsData=stockData.after[i];
|
|
@@ -98910,6 +99092,9 @@ MinuteChartContainer.JsonDataToAfterCloseData=function(data)
|
|
|
98910
99092
|
|
|
98911
99093
|
afterCloseData.VolMax=max/unit;
|
|
98912
99094
|
afterCloseData.VolMin=0;
|
|
99095
|
+
|
|
99096
|
+
if (stockData.afterinfo && stockData.afterinfo.TimeConfig) //固定时间
|
|
99097
|
+
MinuteChartContainer.CompleteCallAuctionData(stockData.afterinfo.TimeConfig, afterCloseData);
|
|
98913
99098
|
}
|
|
98914
99099
|
else if (afterCloseData.Ver==3.0)
|
|
98915
99100
|
{
|
|
@@ -98937,6 +99122,9 @@ MinuteChartContainer.JsonDataToAfterCloseData=function(data)
|
|
|
98937
99122
|
|
|
98938
99123
|
afterCloseData.VolMax=max/unit;
|
|
98939
99124
|
afterCloseData.VolMin=0;
|
|
99125
|
+
|
|
99126
|
+
if (stockData.afterinfo && stockData.afterinfo.TimeConfig) //固定时间
|
|
99127
|
+
MinuteChartContainer.CompleteCallAuctionData(stockData.afterinfo.TimeConfig, afterCloseData);
|
|
98940
99128
|
}
|
|
98941
99129
|
|
|
98942
99130
|
return afterCloseData;
|
|
@@ -99058,12 +99246,13 @@ MinuteChartContainer.JsonDataToUpdateMinuteData=function(data)
|
|
|
99058
99246
|
|
|
99059
99247
|
item.DateTime=`${item.Date} ${item.Time}`;
|
|
99060
99248
|
|
|
99061
|
-
if (IFrameSplitOperator.IsNumber(minuteData.YClose) && item.Close)
|
|
99062
|
-
|
|
99063
|
-
|
|
99064
|
-
|
|
99065
|
-
|
|
99066
|
-
|
|
99249
|
+
if (!IFrameSplitOperator.IsNumber(item.Increase) && IFrameSplitOperator.IsNumber(minuteData.YClose) && item.Close)
|
|
99250
|
+
{
|
|
99251
|
+
if (isFutures && minuteData.YClearing && item.Close)
|
|
99252
|
+
item.Increase=(item.Close-minuteData.YClearing)/minuteData.YClearing*100; //涨幅 (最新价格-昨结算价)/昨结算价*100;
|
|
99253
|
+
else
|
|
99254
|
+
item.Increase=(item.Close-minuteData.YClose)/minuteData.YClose*100; //涨幅 (最新价格-昨收)/昨收*100;
|
|
99255
|
+
}
|
|
99067
99256
|
|
|
99068
99257
|
minuteData.Data.push(item);
|
|
99069
99258
|
}
|
|
@@ -99227,8 +99416,9 @@ MinuteChartContainer.JsonDataToHistoryMinuteLineColorData=function(data)
|
|
|
99227
99416
|
}
|
|
99228
99417
|
|
|
99229
99418
|
|
|
99230
|
-
MinuteChartContainer.JsonDataToCallAuctionItem=function(data, callAuctionData, isBeforeOpen, symbol)
|
|
99419
|
+
MinuteChartContainer.JsonDataToCallAuctionItem=function(data, callAuctionData, isBeforeOpen, symbol, dataInfo)
|
|
99231
99420
|
{
|
|
99421
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(data)) return;
|
|
99232
99422
|
var upperSymbol=symbol?symbol.toUpperCase():null;
|
|
99233
99423
|
var unit=MARKET_SUFFIX_NAME.GetVolUnit(upperSymbol);
|
|
99234
99424
|
|
|
@@ -99239,7 +99429,7 @@ MinuteChartContainer.JsonDataToCallAuctionItem=function(data, callAuctionData, i
|
|
|
99239
99429
|
if (callAuctionData.Ver==1.0)
|
|
99240
99430
|
{
|
|
99241
99431
|
var preClose=null;
|
|
99242
|
-
for(var i
|
|
99432
|
+
for(var i=0; i<data.length; ++i)
|
|
99243
99433
|
{
|
|
99244
99434
|
var item=isBeforeOpen? new BeforeOpenData() : new AfterCloseData();
|
|
99245
99435
|
var jsData=data[i];
|
|
@@ -99263,7 +99453,7 @@ MinuteChartContainer.JsonDataToCallAuctionItem=function(data, callAuctionData, i
|
|
|
99263
99453
|
else if (callAuctionData.Ver==2.0)
|
|
99264
99454
|
{
|
|
99265
99455
|
var max=0;
|
|
99266
|
-
for(var i
|
|
99456
|
+
for(var i=0; i<data.length; ++i)
|
|
99267
99457
|
{
|
|
99268
99458
|
var item=isBeforeOpen? new BeforeOpenData() : new AfterCloseData();
|
|
99269
99459
|
var jsData=data[i];
|
|
@@ -99275,7 +99465,6 @@ MinuteChartContainer.JsonDataToCallAuctionItem=function(data, callAuctionData, i
|
|
|
99275
99465
|
item.Vol[0]=jsData[2]; //匹配量
|
|
99276
99466
|
item.Vol[1]=jsData[3]; //未匹配量
|
|
99277
99467
|
item.ColorID=jsData[4]; //柱子颜色ID
|
|
99278
|
-
item.DateTime=date.toString()+" "+item.Time.toString();
|
|
99279
99468
|
|
|
99280
99469
|
var totalVol=item.Vol[0]+item.Vol[1];
|
|
99281
99470
|
if (IFrameSplitOperator.IsNumber(jsData[5])) totalVol=jsData[5];
|
|
@@ -99287,6 +99476,9 @@ MinuteChartContainer.JsonDataToCallAuctionItem=function(data, callAuctionData, i
|
|
|
99287
99476
|
|
|
99288
99477
|
callAuctionData.VolMax=max/unit;
|
|
99289
99478
|
callAuctionData.VolMin=0;
|
|
99479
|
+
|
|
99480
|
+
if (dataInfo && dataInfo.TimeConfig) //固定时间
|
|
99481
|
+
MinuteChartContainer.CompleteCallAuctionData(dataInfo.TimeConfig, callAuctionData);
|
|
99290
99482
|
}
|
|
99291
99483
|
else if (beforeOpenData.Ver==3.0)
|
|
99292
99484
|
{
|
|
@@ -99303,7 +99495,6 @@ MinuteChartContainer.JsonDataToCallAuctionItem=function(data, callAuctionData, i
|
|
|
99303
99495
|
item.AvPrice=jsData[2]; //均价
|
|
99304
99496
|
item.Vol[0]=jsData[3]; //匹配量
|
|
99305
99497
|
item.ColorID=jsData[4]; //柱子颜色ID
|
|
99306
|
-
item.DateTime=date.toString()+" "+item.Time.toString();
|
|
99307
99498
|
|
|
99308
99499
|
var totalVol=item.Vol[0];
|
|
99309
99500
|
if (IFrameSplitOperator.IsNumber(jsData[5])) totalVol=jsData[5];
|
|
@@ -99315,6 +99506,9 @@ MinuteChartContainer.JsonDataToCallAuctionItem=function(data, callAuctionData, i
|
|
|
99315
99506
|
|
|
99316
99507
|
callAuctionData.VolMax=max/unit;
|
|
99317
99508
|
callAuctionData.VolMin=0;
|
|
99509
|
+
|
|
99510
|
+
if (dataInfo && dataInfo.TimeConfig) //固定时间
|
|
99511
|
+
MinuteChartContainer.CompleteCallAuctionData(dataInfo.TimeConfig, callAuctionData);
|
|
99318
99512
|
}
|
|
99319
99513
|
}
|
|
99320
99514
|
|
|
@@ -99323,7 +99517,7 @@ MinuteChartContainer.JosnDataToBeforeOpenDataArray=function(data)
|
|
|
99323
99517
|
if (!data || !data.data) return null;
|
|
99324
99518
|
|
|
99325
99519
|
var aryDay=[];
|
|
99326
|
-
for(var i
|
|
99520
|
+
for(var i=0; i<data.data.length; ++i)
|
|
99327
99521
|
{
|
|
99328
99522
|
var dayItem=data.data[i];
|
|
99329
99523
|
var beforeOpenData={ Data:[], TotalCount:15, Ver:1.0, Date:dayItem.date, YClose:dayItem.yclose, YClearing:dayItem.YClearing };
|
|
@@ -99333,7 +99527,7 @@ MinuteChartContainer.JosnDataToBeforeOpenDataArray=function(data)
|
|
|
99333
99527
|
if (IFrameSplitOperator.IsNumber(dayItem.beforeinfo.ver)) beforeOpenData.Ver=dayItem.beforeinfo.ver;
|
|
99334
99528
|
}
|
|
99335
99529
|
|
|
99336
|
-
MinuteChartContainer.JsonDataToCallAuctionItem(dayItem.before, beforeOpenData, true, data.symbol);
|
|
99530
|
+
MinuteChartContainer.JsonDataToCallAuctionItem(dayItem.before, beforeOpenData, true, data.symbol, dayItem.beforeinfo);
|
|
99337
99531
|
|
|
99338
99532
|
aryDay.push(beforeOpenData);
|
|
99339
99533
|
}
|
|
@@ -99348,7 +99542,7 @@ MinuteChartContainer.JosnDataToAfterCloseDataArray=function(data)
|
|
|
99348
99542
|
if (!data || !data.data) return null;
|
|
99349
99543
|
|
|
99350
99544
|
var aryDay=[];
|
|
99351
|
-
for(var i
|
|
99545
|
+
for(var i=0; i<data.data.length; ++i)
|
|
99352
99546
|
{
|
|
99353
99547
|
var dayItem=data.data[i];
|
|
99354
99548
|
var afterCloseData={ Data:[], TotalCount:15, Ver:1.0, Date:dayItem.date, YClose:dayItem.yclose, YClearing:dayItem.YClearing };
|
|
@@ -99359,7 +99553,7 @@ MinuteChartContainer.JosnDataToAfterCloseDataArray=function(data)
|
|
|
99359
99553
|
if (IFrameSplitOperator.IsNumber(dayItem.afterinfo.ver)) afterCloseData.Ver=dayItem.afterinfo.ver;
|
|
99360
99554
|
}
|
|
99361
99555
|
|
|
99362
|
-
MinuteChartContainer.JsonDataToCallAuctionItem(dayItem.after, afterCloseData, false, data.symbol);
|
|
99556
|
+
MinuteChartContainer.JsonDataToCallAuctionItem(dayItem.after, afterCloseData, false, data.symbol, dayItem.afterinfo);
|
|
99363
99557
|
|
|
99364
99558
|
aryDay.push(afterCloseData);
|
|
99365
99559
|
}
|
|
@@ -151202,7 +151396,7 @@ function ScrollBarBGChart()
|
|
|
151202
151396
|
|
|
151203
151397
|
|
|
151204
151398
|
|
|
151205
|
-
var HQCHART_VERSION="1.1.
|
|
151399
|
+
var HQCHART_VERSION="1.1.14952";
|
|
151206
151400
|
|
|
151207
151401
|
function PrintHQChartVersion()
|
|
151208
151402
|
{
|