hqchart 1.1.14947 → 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 +47 -29
- package/package.json +1 -1
- package/src/jscommon/umychart.NetworkFilterTest.js +287 -33
- package/src/jscommon/umychart.js +215 -58
- package/src/jscommon/umychart.testdata.js +286 -32
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +216 -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 +216 -59
package/src/jscommon/umychart.js
CHANGED
|
@@ -11774,7 +11774,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
11774
11774
|
{
|
|
11775
11775
|
//清空当前鼠标坐标
|
|
11776
11776
|
this.LastPoint.X=null;
|
|
11777
|
-
this.LastPoint.Y=null
|
|
11777
|
+
this.LastPoint.Y=null;
|
|
11778
11778
|
this.HideTooltip();
|
|
11779
11779
|
this.CloseTooltipDialog();
|
|
11780
11780
|
}
|
|
@@ -11783,7 +11783,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
11783
11783
|
if (IFrameSplitOperator.IsNumber(data.X) && IFrameSplitOperator.IsNumber(data.Y))
|
|
11784
11784
|
{
|
|
11785
11785
|
//设置鼠标位置
|
|
11786
|
-
if (this.LastPoint && !IFrameSplitOperator.IsNumber(this.LastPoint.X)
|
|
11786
|
+
if (this.LastPoint && (!IFrameSplitOperator.IsNumber(this.LastPoint.X) || !IFrameSplitOperator.IsNumber(this.LastPoint.Y)))
|
|
11787
11787
|
{
|
|
11788
11788
|
this.LastPoint.X=data.X;
|
|
11789
11789
|
this.LastPoint.Y=data.Y;
|
|
@@ -35324,10 +35324,10 @@ function ChartMinuteVolumBar()
|
|
|
35324
35324
|
var unit=this.GetVolUnit();
|
|
35325
35325
|
if (callAutionData.Ver==1.0)
|
|
35326
35326
|
{
|
|
35327
|
-
for(var i
|
|
35327
|
+
for(var i=0;i<callAutionData.Data.length;++i)
|
|
35328
35328
|
{
|
|
35329
35329
|
var item=callAutionData.Data[i];
|
|
35330
|
-
if (!item || !IFrameSplitOperator.IsNumber(item.Vol[0])) continue;
|
|
35330
|
+
if (!item || !IFrameSplitOperator.IsNonEmptyArray(item.Vol) || !IFrameSplitOperator.IsNumber(item.Vol[0])) continue;
|
|
35331
35331
|
|
|
35332
35332
|
if (isBeforeOpen)
|
|
35333
35333
|
{
|
|
@@ -35361,11 +35361,11 @@ function ChartMinuteVolumBar()
|
|
|
35361
35361
|
{
|
|
35362
35362
|
var range={ Max: callAutionData.VolMax, Min:callAutionData.VolMin }
|
|
35363
35363
|
|
|
35364
|
-
for(var i
|
|
35364
|
+
for(var i=0; i<callAutionData.Data.length; ++i)
|
|
35365
35365
|
{
|
|
35366
35366
|
var item=callAutionData.Data[i];
|
|
35367
35367
|
if (!item) continue;
|
|
35368
|
-
if (IFrameSplitOperator.IsPlusNumber(item.Vol[0]))
|
|
35368
|
+
if (item.Vol && IFrameSplitOperator.IsPlusNumber(item.Vol[0]))
|
|
35369
35369
|
{
|
|
35370
35370
|
if (isBeforeOpen)
|
|
35371
35371
|
{
|
|
@@ -35395,7 +35395,7 @@ function ChartMinuteVolumBar()
|
|
|
35395
35395
|
this.Canvas.stroke();
|
|
35396
35396
|
}
|
|
35397
35397
|
|
|
35398
|
-
if (IFrameSplitOperator.IsPlusNumber(item.Vol[1]))
|
|
35398
|
+
if (item.Vol && IFrameSplitOperator.IsPlusNumber(item.Vol[1]))
|
|
35399
35399
|
{
|
|
35400
35400
|
if (isBeforeOpen)
|
|
35401
35401
|
{
|
|
@@ -40375,16 +40375,23 @@ function ChartMinutePriceLine()
|
|
|
40375
40375
|
var item=callAutionData.Data[i];
|
|
40376
40376
|
if (!item || !IFrameSplitOperator.IsNumber(item.Price))
|
|
40377
40377
|
{
|
|
40378
|
-
if (i==0 && isBeforeOpen
|
|
40378
|
+
if (i==0 && isBeforeOpen)
|
|
40379
40379
|
{
|
|
40380
|
-
|
|
40381
|
-
var
|
|
40380
|
+
//盘前集合竞价起始点为昨收或昨结算
|
|
40381
|
+
var price=callAutionData.YClose;
|
|
40382
|
+
if (IFrameSplitOperator.IsNumber(callAutionData.YClearing)) price=callAutionData.YClearing;
|
|
40382
40383
|
|
|
40383
|
-
|
|
40384
|
-
|
|
40385
|
-
|
|
40386
|
-
|
|
40387
|
-
|
|
40384
|
+
if (IFrameSplitOperator.IsNumber(price))
|
|
40385
|
+
{
|
|
40386
|
+
var x=this.ChartFrame.GetLeftExtendXFromIndex(i,callAutionData);
|
|
40387
|
+
var y=this.ChartFrame.GetLeftExtendYFromData(price);
|
|
40388
|
+
|
|
40389
|
+
this.Canvas.strokeStyle=this.BeforeLineColor;
|
|
40390
|
+
this.Canvas.beginPath();
|
|
40391
|
+
if (isHScreen) this.Canvas.moveTo(y,x);
|
|
40392
|
+
else this.Canvas.moveTo(x,y);
|
|
40393
|
+
bFirstPoint=false;
|
|
40394
|
+
}
|
|
40388
40395
|
}
|
|
40389
40396
|
|
|
40390
40397
|
continue;
|
|
@@ -92553,6 +92560,8 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
92553
92560
|
//更新最新的几条数据
|
|
92554
92561
|
this.UpdateLatestMinuteDataV2=function(minuteData)
|
|
92555
92562
|
{
|
|
92563
|
+
if (!minuteData || !IFrameSplitOperator.IsNonEmptyArray(minuteData.Data)) return;
|
|
92564
|
+
|
|
92556
92565
|
if (this.DayCount>1)
|
|
92557
92566
|
{
|
|
92558
92567
|
if (!this.DayData) return;
|
|
@@ -92561,7 +92570,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
92561
92570
|
for(var i=0; i<this.DayData.length; ++i)
|
|
92562
92571
|
{
|
|
92563
92572
|
var item=this.DayData[i];
|
|
92564
|
-
if (item.Date===
|
|
92573
|
+
if (item.Date===minuteData.Date)
|
|
92565
92574
|
{
|
|
92566
92575
|
findItem=item;
|
|
92567
92576
|
break;
|
|
@@ -92747,24 +92756,50 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
92747
92756
|
this.ColorLineData=aryColorLineData;
|
|
92748
92757
|
}
|
|
92749
92758
|
|
|
92750
|
-
this.UpdateCallCationData=function(beforeOpenData,afterCloseData)
|
|
92759
|
+
this.UpdateCallCationData=function(beforeOpenData,afterCloseData,option)
|
|
92751
92760
|
{
|
|
92752
|
-
|
|
92761
|
+
var dataType=0;
|
|
92762
|
+
if (option && IFrameSplitOperator.IsNumber(option.DataType)) dataType=option.DataType;
|
|
92763
|
+
|
|
92764
|
+
if (dataType==1)
|
|
92753
92765
|
{
|
|
92754
|
-
|
|
92755
|
-
|
|
92756
|
-
this.MultiDayBeforeOpenData[this.MultiDayBeforeOpenData.length-1]
|
|
92757
|
-
|
|
92758
|
-
|
|
92759
|
-
|
|
92766
|
+
if (beforeOpenData && IFrameSplitOperator.IsNonEmptyArray(this.MultiDayBeforeOpenData))
|
|
92767
|
+
{
|
|
92768
|
+
var lastItem=this.MultiDayBeforeOpenData[this.MultiDayBeforeOpenData.length-1];
|
|
92769
|
+
if (lastItem.Date==beforeOpenData.Date) //增量更新
|
|
92770
|
+
{
|
|
92771
|
+
this.UpdateLatestCallCationData(lastItem, beforeOpenData);
|
|
92772
|
+
}
|
|
92773
|
+
}
|
|
92760
92774
|
|
|
92761
|
-
|
|
92775
|
+
if (afterCloseData && IFrameSplitOperator.IsNonEmptyArray(this.MultiDayAfterCloseData))
|
|
92776
|
+
{
|
|
92777
|
+
var lastItem=this.MultiDayAfterCloseData[this.MultiDayAfterCloseData.length-1];
|
|
92778
|
+
if (lastItem.Date==afterCloseData.Date) //增量更新
|
|
92779
|
+
{
|
|
92780
|
+
this.UpdateLatestCallCationData(lastItem, afterCloseData);
|
|
92781
|
+
}
|
|
92782
|
+
}
|
|
92783
|
+
}
|
|
92784
|
+
else
|
|
92762
92785
|
{
|
|
92763
|
-
|
|
92764
|
-
|
|
92765
|
-
this.
|
|
92766
|
-
|
|
92767
|
-
|
|
92786
|
+
if (beforeOpenData && IFrameSplitOperator.IsNonEmptyArray(this.MultiDayBeforeOpenData))
|
|
92787
|
+
{
|
|
92788
|
+
var lastItem=this.MultiDayBeforeOpenData[this.MultiDayBeforeOpenData.length-1];
|
|
92789
|
+
if (lastItem.Date==beforeOpenData.Date) //存在更新
|
|
92790
|
+
this.MultiDayBeforeOpenData[this.MultiDayBeforeOpenData.length-1]=beforeOpenData;
|
|
92791
|
+
else if (lastItem.Date<beforeOpenData.Date) //新的一天插入
|
|
92792
|
+
this.MultiDayBeforeOpenData.push(beforeOpenData);
|
|
92793
|
+
}
|
|
92794
|
+
|
|
92795
|
+
if (afterCloseData && IFrameSplitOperator.IsNonEmptyArray(this.MultiDayAfterCloseData))
|
|
92796
|
+
{
|
|
92797
|
+
var lastItem=this.MultiDayAfterCloseData[this.MultiDayAfterCloseData.length-1];
|
|
92798
|
+
if (lastItem.Date==afterCloseData.Date)
|
|
92799
|
+
this.MultiDayAfterCloseData[this.MultiDayAfterCloseData.length-1]=afterCloseData;
|
|
92800
|
+
else if (lastItem.Date<afterCloseData.Date)
|
|
92801
|
+
this.MultiDayAfterCloseData.push(afterCloseData);
|
|
92802
|
+
}
|
|
92768
92803
|
}
|
|
92769
92804
|
|
|
92770
92805
|
this.CaclutateCallCationYRange();
|
|
@@ -92780,9 +92815,16 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
92780
92815
|
var afterCloseData=MinuteChartContainer.JsonDataToAfterCloseData(data);
|
|
92781
92816
|
var updateTime=MinuteChartContainer.JsonDataToMinuteLastUpdateTime(data); //数据最后的更新时间
|
|
92782
92817
|
|
|
92818
|
+
if (data.LatestPointFlash) //最新数据闪烁
|
|
92819
|
+
{
|
|
92820
|
+
var item=data.LatestPointFlash;
|
|
92821
|
+
if (IFrameSplitOperator.IsNumber(item.FlashCount))
|
|
92822
|
+
this.SetLatestPointFlash(item.FlashCount)
|
|
92823
|
+
}
|
|
92824
|
+
|
|
92783
92825
|
if (this.DayCount>1) //多日走势图
|
|
92784
92826
|
{
|
|
92785
|
-
this.UpdateCallCationData(beforeOpenData,afterCloseData);
|
|
92827
|
+
this.UpdateCallCationData(beforeOpenData,afterCloseData, { DataType:1});
|
|
92786
92828
|
this.UpdateLineColorData(aryColorData,minuteData.date);
|
|
92787
92829
|
this.UpdateLatestMinuteDataV2(minuteData);
|
|
92788
92830
|
this.UpdateHistoryMinuteUI(updateTime);
|
|
@@ -92794,10 +92836,13 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
92794
92836
|
return;
|
|
92795
92837
|
}
|
|
92796
92838
|
|
|
92797
|
-
if (this.IsBeforeData && beforeOpenData) this.BeforeOpenData=beforeOpenData;
|
|
92798
|
-
if (this.IsAfterData && afterCloseData) this.AfterCloseData=afterCloseData;
|
|
92839
|
+
//if (this.IsBeforeData && beforeOpenData) this.BeforeOpenData=beforeOpenData;
|
|
92840
|
+
//if (this.IsAfterData && afterCloseData) this.AfterCloseData=afterCloseData;
|
|
92841
|
+
|
|
92842
|
+
//盘前盘后数据更新
|
|
92843
|
+
if (this.IsBeforeData && beforeOpenData) this.UpdateLatestCallCationData(this.BeforeOpenData, beforeOpenData);
|
|
92844
|
+
if (this.IsAfterData && afterCloseData) this.UpdateLatestCallCationData(this.AfterCloseData, afterCloseData);
|
|
92799
92845
|
|
|
92800
|
-
//原始数据
|
|
92801
92846
|
this.UpdateLatestMinuteDataV2(minuteData);
|
|
92802
92847
|
this.UpdateMinuteUI(data.stock[0], {FunctionName:"RecvUpdateMinuteData"});
|
|
92803
92848
|
|
|
@@ -92812,6 +92857,45 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
92812
92857
|
}
|
|
92813
92858
|
}
|
|
92814
92859
|
|
|
92860
|
+
this.UpdateLatestCallCationData=function(destData, updateData)
|
|
92861
|
+
{
|
|
92862
|
+
if (!destData) return;
|
|
92863
|
+
if (!updateData || !IFrameSplitOperator.IsNonEmptyArray(updateData.Data)) return;
|
|
92864
|
+
|
|
92865
|
+
if (destData.Data.length==0)
|
|
92866
|
+
{
|
|
92867
|
+
destData.Data=updateData.Data;
|
|
92868
|
+
destData.VolMax=updateData.VolMax;
|
|
92869
|
+
destData.VolMin=updateData.VolMin;
|
|
92870
|
+
return;
|
|
92871
|
+
}
|
|
92872
|
+
|
|
92873
|
+
//覆盖历史数据
|
|
92874
|
+
var mapData=new Map(updateData.Data.map((obj) => [obj.Time, obj]));
|
|
92875
|
+
var lastTime=null; //最后的时间
|
|
92876
|
+
for(var i=0;i<destData.Data.length;++i)
|
|
92877
|
+
{
|
|
92878
|
+
var item=destData.Data[i];
|
|
92879
|
+
lastTime=item.Time;
|
|
92880
|
+
if (!mapData.has(item.Time)) continue;
|
|
92881
|
+
var newItem=mapData.get(item.Time);
|
|
92882
|
+
if (!newItem || !IFrameSplitOperator.IsNumber(newItem.Price)) continue; //只覆盖有效数据
|
|
92883
|
+
|
|
92884
|
+
destData.Data[i]=newItem;
|
|
92885
|
+
}
|
|
92886
|
+
|
|
92887
|
+
//新数据往后插
|
|
92888
|
+
for(var i=0;i<updateData.Data.length;++i)
|
|
92889
|
+
{
|
|
92890
|
+
var item=updateData.Data[i];
|
|
92891
|
+
if (item.Time<=lastTime) continue;
|
|
92892
|
+
destData.Data.push(item);
|
|
92893
|
+
}
|
|
92894
|
+
|
|
92895
|
+
if (destData.VolMax<updateData.VolMax) destData.VolMax=updateData.VolMax;
|
|
92896
|
+
if (IFrameSplitOperator.IsNumber(updateData.TotalCount) && updateData.TotalCount>destData.TotalCount) updateData.TotalCount=destData.TotalCount;
|
|
92897
|
+
}
|
|
92898
|
+
|
|
92815
92899
|
this.RecvBuySellData=function(data)
|
|
92816
92900
|
{
|
|
92817
92901
|
if (!data) return;
|
|
@@ -92878,7 +92962,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
92878
92962
|
|
|
92879
92963
|
if (this.DayCount>1) //多日走势图
|
|
92880
92964
|
{
|
|
92881
|
-
this.UpdateCallCationData(beforeOpenData,afterCloseData);
|
|
92965
|
+
this.UpdateCallCationData(beforeOpenData,afterCloseData, { DataType:0});
|
|
92882
92966
|
this.UpdateLineColorData(aryColorData,data.stock[0].date);
|
|
92883
92967
|
this.UpdateLatestMinuteData(aryMinuteData, data.stock[0].date, data.stock[0]);
|
|
92884
92968
|
this.UpdateTradeStatusData(data.TradeStatus);
|
|
@@ -94695,7 +94779,7 @@ MinuteChartContainer.JsonDataToBeforeOpenData=function(data)
|
|
|
94695
94779
|
var preClose=data.stock[0].yclose; //前一个数据价格
|
|
94696
94780
|
var stockData=data.stock[0];
|
|
94697
94781
|
var date=stockData.date; //日期
|
|
94698
|
-
var beforeOpenData={ Data:[], TotalCount:15, Ver:1.0, Date:date };
|
|
94782
|
+
var beforeOpenData={ Data:[], TotalCount:15, Ver:1.0, Date:date, YClose:stockData.yclose, YClearing:stockData.yclearing };
|
|
94699
94783
|
var extendDataIndex=JSCHART_DATA_FIELD_ID.MINUTE_BEFOREOPEN_EXTENDDATA; //扩展数据序号
|
|
94700
94784
|
if (stockData.beforeinfo)
|
|
94701
94785
|
{
|
|
@@ -94731,7 +94815,7 @@ MinuteChartContainer.JsonDataToBeforeOpenData=function(data)
|
|
|
94731
94815
|
else if (beforeOpenData.Ver==2.0)
|
|
94732
94816
|
{
|
|
94733
94817
|
var max=0;
|
|
94734
|
-
for(var i
|
|
94818
|
+
for(var i=0;i<stockData.before.length;++i)
|
|
94735
94819
|
{
|
|
94736
94820
|
var item=new BeforeOpenData();
|
|
94737
94821
|
var jsData=stockData.before[i];
|
|
@@ -94743,7 +94827,6 @@ MinuteChartContainer.JsonDataToBeforeOpenData=function(data)
|
|
|
94743
94827
|
item.Vol[1]=jsData[3]; //未匹配量
|
|
94744
94828
|
item.ColorID=jsData[4]; //柱子颜色ID
|
|
94745
94829
|
if (IFrameSplitOperator.IsNumber(jsData[6])) item.Date=jsData[6] //日期
|
|
94746
|
-
item.DateTime=`${item.Date} ${item.Time})`;
|
|
94747
94830
|
|
|
94748
94831
|
var totalVol=item.Vol[0]+item.Vol[1];
|
|
94749
94832
|
if (IFrameSplitOperator.IsNumber(jsData[5])) totalVol=jsData[5];
|
|
@@ -94755,12 +94838,14 @@ MinuteChartContainer.JsonDataToBeforeOpenData=function(data)
|
|
|
94755
94838
|
|
|
94756
94839
|
beforeOpenData.VolMax=max/unit;
|
|
94757
94840
|
beforeOpenData.VolMin=0;
|
|
94841
|
+
|
|
94842
|
+
if (stockData.beforeinfo && stockData.beforeinfo.TimeConfig) //固定时间
|
|
94843
|
+
MinuteChartContainer.CompleteCallAuctionData(stockData.beforeinfo.TimeConfig, beforeOpenData);
|
|
94758
94844
|
}
|
|
94759
94845
|
else if (beforeOpenData.Ver==3.0)
|
|
94760
94846
|
{
|
|
94761
94847
|
var max=0;
|
|
94762
|
-
|
|
94763
|
-
for(var i in stockData.before)
|
|
94848
|
+
for(var i=0; i<stockData.before.length; ++i)
|
|
94764
94849
|
{
|
|
94765
94850
|
var item=new BeforeOpenData();
|
|
94766
94851
|
var jsData=stockData.before[i];
|
|
@@ -94771,7 +94856,6 @@ MinuteChartContainer.JsonDataToBeforeOpenData=function(data)
|
|
|
94771
94856
|
item.AvPrice=jsData[2]; //均价
|
|
94772
94857
|
item.Vol[0]=jsData[3]; //匹配量
|
|
94773
94858
|
item.ColorID=jsData[4]; //柱子颜色ID
|
|
94774
|
-
item.DateTime=date.toString()+" "+item.Time.toString();
|
|
94775
94859
|
|
|
94776
94860
|
var totalVol=item.Vol[0];
|
|
94777
94861
|
if (IFrameSplitOperator.IsNumber(jsData[5])) totalVol=jsData[5];
|
|
@@ -94783,11 +94867,72 @@ MinuteChartContainer.JsonDataToBeforeOpenData=function(data)
|
|
|
94783
94867
|
|
|
94784
94868
|
beforeOpenData.VolMax=max/unit;
|
|
94785
94869
|
beforeOpenData.VolMin=0;
|
|
94870
|
+
|
|
94871
|
+
if (stockData.beforeinfo && stockData.beforeinfo.TimeConfig) //固定时间
|
|
94872
|
+
MinuteChartContainer.CompleteCallAuctionData(stockData.beforeinfo.TimeConfig, beforeOpenData);
|
|
94786
94873
|
}
|
|
94787
94874
|
|
|
94788
94875
|
return beforeOpenData;
|
|
94789
94876
|
}
|
|
94790
94877
|
|
|
94878
|
+
|
|
94879
|
+
MinuteChartContainer.CompleteCallAuctionData=function(timeConfig, callAuctionData)
|
|
94880
|
+
{
|
|
94881
|
+
var aryData=MinuteChartContainer.CreateCallAuctionTimeData(timeConfig);
|
|
94882
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(aryData)) return false;
|
|
94883
|
+
|
|
94884
|
+
var mapData=new Map(callAuctionData.Data.map((obj) => [obj.Time, obj]));
|
|
94885
|
+
for(var i=0;i<aryData.length;++i)
|
|
94886
|
+
{
|
|
94887
|
+
var time=aryData[i].Time;
|
|
94888
|
+
if (!mapData.has(time)) continue;
|
|
94889
|
+
|
|
94890
|
+
var item=mapData.get(time);
|
|
94891
|
+
aryData[i]=item;
|
|
94892
|
+
}
|
|
94893
|
+
|
|
94894
|
+
callAuctionData.Data=aryData;
|
|
94895
|
+
callAuctionData.TotalCount=aryData.length;
|
|
94896
|
+
|
|
94897
|
+
return true;
|
|
94898
|
+
}
|
|
94899
|
+
|
|
94900
|
+
//创建集合竞价秒级时间 { AryTime:[ { Start:92500, End:92459, Date:20250101 } ] } hhmmss
|
|
94901
|
+
MinuteChartContainer.CreateCallAuctionTimeData=function(config)
|
|
94902
|
+
{
|
|
94903
|
+
if (!config || !IFrameSplitOperator.IsNonEmptyArray(config.AryTime)) return null;
|
|
94904
|
+
|
|
94905
|
+
var step=1; //1s
|
|
94906
|
+
if (IFrameSplitOperator.IsPlusNumber(config.Step)) step=config.Step;
|
|
94907
|
+
var aryData=[];
|
|
94908
|
+
for(var i=0;i<config.AryTime.length;++i)
|
|
94909
|
+
{
|
|
94910
|
+
var item=config.AryTime[i];
|
|
94911
|
+
|
|
94912
|
+
var value=item.Start;
|
|
94913
|
+
var hour=parseInt(value/10000);
|
|
94914
|
+
var minute=parseInt((value%10000)/100);
|
|
94915
|
+
var second=value%100;
|
|
94916
|
+
var startTime=new Date(2021,5,2, hour,minute, second);
|
|
94917
|
+
|
|
94918
|
+
value=item.End;
|
|
94919
|
+
var hour=parseInt(value/10000);
|
|
94920
|
+
var minute=parseInt((value%10000)/100);
|
|
94921
|
+
var second=value%100;
|
|
94922
|
+
var endTime=new Date(2021,5,2, hour,minute, second);
|
|
94923
|
+
|
|
94924
|
+
for(var j=0; j<5000 && startTime<=endTime; ++j)
|
|
94925
|
+
{
|
|
94926
|
+
var time=startTime.getHours()*10000+startTime.getMinutes()*100+startTime.getSeconds();
|
|
94927
|
+
var secItem={ Time:time, Date:item.Date };
|
|
94928
|
+
aryData.push(secItem);
|
|
94929
|
+
startTime.setSeconds(startTime.getSeconds()+step);
|
|
94930
|
+
}
|
|
94931
|
+
}
|
|
94932
|
+
|
|
94933
|
+
return aryData;
|
|
94934
|
+
}
|
|
94935
|
+
|
|
94791
94936
|
//收盘集合竞价
|
|
94792
94937
|
MinuteChartContainer.JsonDataToAfterCloseData=function(data)
|
|
94793
94938
|
{
|
|
@@ -94798,7 +94943,7 @@ MinuteChartContainer.JsonDataToAfterCloseData=function(data)
|
|
|
94798
94943
|
if (!stockData.afterinfo) return null;
|
|
94799
94944
|
var symbol=data.stock[0].symbol;
|
|
94800
94945
|
var upperSymbol=symbol.toUpperCase();
|
|
94801
|
-
var afterCloseData={ Data:[], TotalCount:3*60, Ver:2.0, Date:date };
|
|
94946
|
+
var afterCloseData={ Data:[], TotalCount:3*60, Ver:2.0, Date:date, YClose:stockData.yclose, YClearing:stockData.yclearing };
|
|
94802
94947
|
var item=stockData.afterinfo;
|
|
94803
94948
|
if (IFrameSplitOperator.IsNumber(item.totalcount)) afterCloseData.TotalCount=item.totalcount;
|
|
94804
94949
|
if (IFrameSplitOperator.IsNumber(item.ver)) afterCloseData.Ver=item.ver;
|
|
@@ -94828,7 +94973,7 @@ MinuteChartContainer.JsonDataToAfterCloseData=function(data)
|
|
|
94828
94973
|
else if (afterCloseData.Ver==2.0)
|
|
94829
94974
|
{
|
|
94830
94975
|
var max=0;
|
|
94831
|
-
for(var i
|
|
94976
|
+
for(var i=0; i<stockData.after.length; ++i)
|
|
94832
94977
|
{
|
|
94833
94978
|
var item=new AfterCloseData();
|
|
94834
94979
|
var jsData=stockData.after[i];
|
|
@@ -94851,6 +94996,9 @@ MinuteChartContainer.JsonDataToAfterCloseData=function(data)
|
|
|
94851
94996
|
|
|
94852
94997
|
afterCloseData.VolMax=max/unit;
|
|
94853
94998
|
afterCloseData.VolMin=0;
|
|
94999
|
+
|
|
95000
|
+
if (stockData.afterinfo && stockData.afterinfo.TimeConfig) //固定时间
|
|
95001
|
+
MinuteChartContainer.CompleteCallAuctionData(stockData.afterinfo.TimeConfig, afterCloseData);
|
|
94854
95002
|
}
|
|
94855
95003
|
else if (afterCloseData.Ver==3.0)
|
|
94856
95004
|
{
|
|
@@ -94878,6 +95026,9 @@ MinuteChartContainer.JsonDataToAfterCloseData=function(data)
|
|
|
94878
95026
|
|
|
94879
95027
|
afterCloseData.VolMax=max/unit;
|
|
94880
95028
|
afterCloseData.VolMin=0;
|
|
95029
|
+
|
|
95030
|
+
if (stockData.afterinfo && stockData.afterinfo.TimeConfig) //固定时间
|
|
95031
|
+
MinuteChartContainer.CompleteCallAuctionData(stockData.afterinfo.TimeConfig, afterCloseData);
|
|
94881
95032
|
}
|
|
94882
95033
|
|
|
94883
95034
|
return afterCloseData;
|
|
@@ -94999,12 +95150,13 @@ MinuteChartContainer.JsonDataToUpdateMinuteData=function(data)
|
|
|
94999
95150
|
|
|
95000
95151
|
item.DateTime=`${item.Date} ${item.Time}`;
|
|
95001
95152
|
|
|
95002
|
-
if (IFrameSplitOperator.IsNumber(minuteData.YClose) && item.Close)
|
|
95003
|
-
|
|
95004
|
-
|
|
95005
|
-
|
|
95006
|
-
|
|
95007
|
-
|
|
95153
|
+
if (!IFrameSplitOperator.IsNumber(item.Increase) && IFrameSplitOperator.IsNumber(minuteData.YClose) && item.Close)
|
|
95154
|
+
{
|
|
95155
|
+
if (isFutures && minuteData.YClearing && item.Close)
|
|
95156
|
+
item.Increase=(item.Close-minuteData.YClearing)/minuteData.YClearing*100; //涨幅 (最新价格-昨结算价)/昨结算价*100;
|
|
95157
|
+
else
|
|
95158
|
+
item.Increase=(item.Close-minuteData.YClose)/minuteData.YClose*100; //涨幅 (最新价格-昨收)/昨收*100;
|
|
95159
|
+
}
|
|
95008
95160
|
|
|
95009
95161
|
minuteData.Data.push(item);
|
|
95010
95162
|
}
|
|
@@ -95168,8 +95320,9 @@ MinuteChartContainer.JsonDataToHistoryMinuteLineColorData=function(data)
|
|
|
95168
95320
|
}
|
|
95169
95321
|
|
|
95170
95322
|
|
|
95171
|
-
MinuteChartContainer.JsonDataToCallAuctionItem=function(data, callAuctionData, isBeforeOpen, symbol)
|
|
95323
|
+
MinuteChartContainer.JsonDataToCallAuctionItem=function(data, callAuctionData, isBeforeOpen, symbol, dataInfo)
|
|
95172
95324
|
{
|
|
95325
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(data)) return;
|
|
95173
95326
|
var upperSymbol=symbol?symbol.toUpperCase():null;
|
|
95174
95327
|
var unit=MARKET_SUFFIX_NAME.GetVolUnit(upperSymbol);
|
|
95175
95328
|
|
|
@@ -95180,7 +95333,7 @@ MinuteChartContainer.JsonDataToCallAuctionItem=function(data, callAuctionData, i
|
|
|
95180
95333
|
if (callAuctionData.Ver==1.0)
|
|
95181
95334
|
{
|
|
95182
95335
|
var preClose=null;
|
|
95183
|
-
for(var i
|
|
95336
|
+
for(var i=0; i<data.length; ++i)
|
|
95184
95337
|
{
|
|
95185
95338
|
var item=isBeforeOpen? new BeforeOpenData() : new AfterCloseData();
|
|
95186
95339
|
var jsData=data[i];
|
|
@@ -95204,7 +95357,7 @@ MinuteChartContainer.JsonDataToCallAuctionItem=function(data, callAuctionData, i
|
|
|
95204
95357
|
else if (callAuctionData.Ver==2.0)
|
|
95205
95358
|
{
|
|
95206
95359
|
var max=0;
|
|
95207
|
-
for(var i
|
|
95360
|
+
for(var i=0; i<data.length; ++i)
|
|
95208
95361
|
{
|
|
95209
95362
|
var item=isBeforeOpen? new BeforeOpenData() : new AfterCloseData();
|
|
95210
95363
|
var jsData=data[i];
|
|
@@ -95216,7 +95369,6 @@ MinuteChartContainer.JsonDataToCallAuctionItem=function(data, callAuctionData, i
|
|
|
95216
95369
|
item.Vol[0]=jsData[2]; //匹配量
|
|
95217
95370
|
item.Vol[1]=jsData[3]; //未匹配量
|
|
95218
95371
|
item.ColorID=jsData[4]; //柱子颜色ID
|
|
95219
|
-
item.DateTime=date.toString()+" "+item.Time.toString();
|
|
95220
95372
|
|
|
95221
95373
|
var totalVol=item.Vol[0]+item.Vol[1];
|
|
95222
95374
|
if (IFrameSplitOperator.IsNumber(jsData[5])) totalVol=jsData[5];
|
|
@@ -95228,6 +95380,9 @@ MinuteChartContainer.JsonDataToCallAuctionItem=function(data, callAuctionData, i
|
|
|
95228
95380
|
|
|
95229
95381
|
callAuctionData.VolMax=max/unit;
|
|
95230
95382
|
callAuctionData.VolMin=0;
|
|
95383
|
+
|
|
95384
|
+
if (dataInfo && dataInfo.TimeConfig) //固定时间
|
|
95385
|
+
MinuteChartContainer.CompleteCallAuctionData(dataInfo.TimeConfig, callAuctionData);
|
|
95231
95386
|
}
|
|
95232
95387
|
else if (beforeOpenData.Ver==3.0)
|
|
95233
95388
|
{
|
|
@@ -95244,7 +95399,6 @@ MinuteChartContainer.JsonDataToCallAuctionItem=function(data, callAuctionData, i
|
|
|
95244
95399
|
item.AvPrice=jsData[2]; //均价
|
|
95245
95400
|
item.Vol[0]=jsData[3]; //匹配量
|
|
95246
95401
|
item.ColorID=jsData[4]; //柱子颜色ID
|
|
95247
|
-
item.DateTime=date.toString()+" "+item.Time.toString();
|
|
95248
95402
|
|
|
95249
95403
|
var totalVol=item.Vol[0];
|
|
95250
95404
|
if (IFrameSplitOperator.IsNumber(jsData[5])) totalVol=jsData[5];
|
|
@@ -95256,6 +95410,9 @@ MinuteChartContainer.JsonDataToCallAuctionItem=function(data, callAuctionData, i
|
|
|
95256
95410
|
|
|
95257
95411
|
callAuctionData.VolMax=max/unit;
|
|
95258
95412
|
callAuctionData.VolMin=0;
|
|
95413
|
+
|
|
95414
|
+
if (dataInfo && dataInfo.TimeConfig) //固定时间
|
|
95415
|
+
MinuteChartContainer.CompleteCallAuctionData(dataInfo.TimeConfig, callAuctionData);
|
|
95259
95416
|
}
|
|
95260
95417
|
}
|
|
95261
95418
|
|
|
@@ -95264,7 +95421,7 @@ MinuteChartContainer.JosnDataToBeforeOpenDataArray=function(data)
|
|
|
95264
95421
|
if (!data || !data.data) return null;
|
|
95265
95422
|
|
|
95266
95423
|
var aryDay=[];
|
|
95267
|
-
for(var i
|
|
95424
|
+
for(var i=0; i<data.data.length; ++i)
|
|
95268
95425
|
{
|
|
95269
95426
|
var dayItem=data.data[i];
|
|
95270
95427
|
var beforeOpenData={ Data:[], TotalCount:15, Ver:1.0, Date:dayItem.date, YClose:dayItem.yclose, YClearing:dayItem.YClearing };
|
|
@@ -95274,7 +95431,7 @@ MinuteChartContainer.JosnDataToBeforeOpenDataArray=function(data)
|
|
|
95274
95431
|
if (IFrameSplitOperator.IsNumber(dayItem.beforeinfo.ver)) beforeOpenData.Ver=dayItem.beforeinfo.ver;
|
|
95275
95432
|
}
|
|
95276
95433
|
|
|
95277
|
-
MinuteChartContainer.JsonDataToCallAuctionItem(dayItem.before, beforeOpenData, true, data.symbol);
|
|
95434
|
+
MinuteChartContainer.JsonDataToCallAuctionItem(dayItem.before, beforeOpenData, true, data.symbol, dayItem.beforeinfo);
|
|
95278
95435
|
|
|
95279
95436
|
aryDay.push(beforeOpenData);
|
|
95280
95437
|
}
|
|
@@ -95289,7 +95446,7 @@ MinuteChartContainer.JosnDataToAfterCloseDataArray=function(data)
|
|
|
95289
95446
|
if (!data || !data.data) return null;
|
|
95290
95447
|
|
|
95291
95448
|
var aryDay=[];
|
|
95292
|
-
for(var i
|
|
95449
|
+
for(var i=0; i<data.data.length; ++i)
|
|
95293
95450
|
{
|
|
95294
95451
|
var dayItem=data.data[i];
|
|
95295
95452
|
var afterCloseData={ Data:[], TotalCount:15, Ver:1.0, Date:dayItem.date, YClose:dayItem.yclose, YClearing:dayItem.YClearing };
|
|
@@ -95300,7 +95457,7 @@ MinuteChartContainer.JosnDataToAfterCloseDataArray=function(data)
|
|
|
95300
95457
|
if (IFrameSplitOperator.IsNumber(dayItem.afterinfo.ver)) afterCloseData.Ver=dayItem.afterinfo.ver;
|
|
95301
95458
|
}
|
|
95302
95459
|
|
|
95303
|
-
MinuteChartContainer.JsonDataToCallAuctionItem(dayItem.after, afterCloseData, false, data.symbol);
|
|
95460
|
+
MinuteChartContainer.JsonDataToCallAuctionItem(dayItem.after, afterCloseData, false, data.symbol, dayItem.afterinfo);
|
|
95304
95461
|
|
|
95305
95462
|
aryDay.push(afterCloseData);
|
|
95306
95463
|
}
|