hqchart 1.1.14313 → 1.1.14320

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hqchart",
3
- "version": "1.1.14313",
3
+ "version": "1.1.14320",
4
4
  "description": "HQChart - H5, 微信小程序 沪深/港股/数字货币/期货/美股 K线图(kline),走势图,缩放,拖拽,十字光标,画图工具,截图,筹码图. 分析家语法,通达信语法,(麦语法),第3方数据对接",
5
5
  "main": "lib/main.js",
6
6
  "scripts": {
@@ -11542,8 +11542,24 @@ function JSDraw(errorHandler,symbolData)
11542
11542
  }
11543
11543
 
11544
11544
  //饼图
11545
- this.PIE_CELL=function(value, color, text, textColor, lineColor)
11545
+ this.PIE_CELL=function(data, color, text, textColor, lineColor)
11546
11546
  {
11547
+ var value=null;
11548
+ if (IFrameSplitOperator.IsNumber(data))
11549
+ {
11550
+ value=data;
11551
+ }
11552
+ else if (IFrameSplitOperator.IsString(data))
11553
+ {
11554
+ value=parseFloat(data);
11555
+ }
11556
+ else if (IFrameSplitOperator.IsNonEmptyArray(data))
11557
+ {
11558
+ var lastValue=data[data.length-1];
11559
+ if (IFrameSplitOperator.IsNumber(lastValue)) value=lastValue;
11560
+ else if (IFrameSplitOperator.IsString(lastValue)) value=parseFloat(lastValue);
11561
+ }
11562
+
11547
11563
  var cellItem={ Value:value, Color:color };
11548
11564
  if (text) cellItem.Text=text;
11549
11565
  if (textColor) cellItem.TextColor=textColor;
@@ -31929,6 +31929,220 @@ function ChartSimplePie()
31929
31929
  }
31930
31930
  }
31931
31931
 
31932
+
31933
+ //雷达图
31934
+ function ChartSimpleRadar()
31935
+ {
31936
+ this.newMethod=IChartPainting; //派生
31937
+ this.newMethod();
31938
+ delete this.newMethod;
31939
+
31940
+ this.ClassName='ChartSimpleRadar'; //类名
31941
+ this.BorderPoint=[]; //边框点
31942
+ this.DataPoint=[]; //数据点
31943
+ this.CenterPoint={};
31944
+ this.StartAngle=0;
31945
+ this.Color='rgb(198,198,198)';
31946
+ this.AreaColor='rgba(242,154,118,0.4)'; //面积图颜色
31947
+ this.AreaLineColor='rgb(242,154,118)';
31948
+ this.TitleFont=24*GetDevicePixelRatio()+'px 微软雅黑';
31949
+ this.TitleColor='rgb(102,102,102)';
31950
+ this.BGColor = ['rgb(255,255,255)', 'rgb(224,224,224)']//背景色
31951
+
31952
+ this.DrawBorder=function() //画边框
31953
+ {
31954
+ if (this.BorderPoint.length<=0) return;
31955
+
31956
+ this.Canvas.font=this.TitleFont;
31957
+ this.Canvas.strokeStyle = this.Color;
31958
+ const aryBorder=[1,0.8,0.6,0.4,0.2];
31959
+ for (let j in aryBorder)
31960
+ {
31961
+ var rate = aryBorder[j];
31962
+ var isFirstDraw=true;
31963
+ for(let i in this.BorderPoint)
31964
+ {
31965
+ var item=this.BorderPoint[i];
31966
+ item.X = this.CenterPoint.X + item.Radius * Math.cos(item.Angle * Math.PI / 180) * rate;
31967
+ item.Y = this.CenterPoint.Y + item.Radius * Math.sin(item.Angle * Math.PI / 180) * rate;
31968
+ if (isFirstDraw)
31969
+ {
31970
+ this.Canvas.beginPath();
31971
+ this.Canvas.moveTo(item.X,item.Y);
31972
+ isFirstDraw=false;
31973
+ }
31974
+ else
31975
+ {
31976
+ this.Canvas.lineTo(item.X,item.Y);
31977
+ }
31978
+ }
31979
+
31980
+ this.Canvas.closePath();
31981
+ this.Canvas.stroke();
31982
+ this.Canvas.fillStyle = this.BGColor[j%2==0?0:1];
31983
+ this.Canvas.fill();
31984
+ }
31985
+
31986
+ this.Canvas.beginPath();
31987
+ for(let i in this.BorderPoint)
31988
+ {
31989
+ var item=this.BorderPoint[i];
31990
+ item.X = this.CenterPoint.X + item.Radius * Math.cos(item.Angle * Math.PI / 180);
31991
+ item.Y = this.CenterPoint.Y + item.Radius * Math.sin(item.Angle * Math.PI / 180);
31992
+ this.Canvas.moveTo(this.CenterPoint.X,this.CenterPoint.Y);
31993
+ this.Canvas.lineTo(item.X,item.Y);
31994
+ this.DrawText(item);
31995
+ }
31996
+ this.Canvas.stroke();
31997
+ }
31998
+
31999
+ this.DrawArea=function()
32000
+ {
32001
+ if (!this.DataPoint || this.DataPoint.length<=0) return;
32002
+
32003
+ this.Canvas.fillStyle = this.AreaColor;
32004
+ this.Canvas.strokeStyle = this.AreaLineColor;
32005
+ this.Canvas.beginPath();
32006
+ var isFirstDraw=true;
32007
+ for(let i in this.DataPoint)
32008
+ {
32009
+ var item=this.DataPoint[i];
32010
+ if (isFirstDraw)
32011
+ {
32012
+ this.Canvas.beginPath();
32013
+ this.Canvas.moveTo(item.X,item.Y);
32014
+ isFirstDraw=false;
32015
+ }
32016
+ else
32017
+ {
32018
+ this.Canvas.lineTo(item.X,item.Y);
32019
+ }
32020
+ }
32021
+
32022
+ this.Canvas.closePath();
32023
+ this.Canvas.fill();
32024
+ this.Canvas.stroke();
32025
+ }
32026
+
32027
+ this.DrawText=function(item)
32028
+ {
32029
+ if (!item.Text) return;
32030
+
32031
+ //JSConsole.Chart.Log(item.Text, item.Angle);
32032
+ this.Canvas.fillStyle = this.TitleColor;
32033
+ var xText = item.X, yText = item.Y;
32034
+
32035
+ //显示每个角度的位置
32036
+ if (item.Angle > 0 && item.Angle < 45) {
32037
+ this.Canvas.textAlign = 'left';
32038
+ this.Canvas.textBaseline = 'middle';
32039
+ xText += 2;
32040
+ }
32041
+ else if (item.Angle >= 0 && item.Angle < 90) {
32042
+ this.Canvas.textAlign = 'left';
32043
+ this.Canvas.textBaseline = 'top';
32044
+ xText += 2;
32045
+ }
32046
+ else if (item.Angle >= 90 && item.Angle < 135) {
32047
+ this.Canvas.textAlign = 'right';
32048
+ this.Canvas.textBaseline = 'top';
32049
+ xText -= 2;
32050
+ }
32051
+ else if (item.Angle >= 135 && item.Angle < 180) {
32052
+ this.Canvas.textAlign = 'right';
32053
+ this.Canvas.textBaseline = 'top';
32054
+ xText -= 2;
32055
+ }
32056
+ else if (item.Angle >= 180 && item.Angle < 225) {
32057
+ this.Canvas.textAlign = 'right';
32058
+ this.Canvas.textBaseline = 'middle';
32059
+ xText -= 2;
32060
+ }
32061
+ else if (item.Angle >= 225 && item.Angle <= 270) {
32062
+ this.Canvas.textAlign = 'center';
32063
+ this.Canvas.textBaseline = 'bottom';
32064
+ }
32065
+ else if (item.Angle > 270 && item.Angle < 315) {
32066
+ this.Canvas.textAlign = 'left';
32067
+ this.Canvas.textBaseline = 'bottom';
32068
+ xText += 2;
32069
+ }
32070
+ else {
32071
+ this.Canvas.textAlign = 'left';
32072
+ this.Canvas.textBaseline = 'middle';
32073
+ xText += 2;
32074
+ }
32075
+
32076
+ this.Canvas.fillText(item.Text, xText, yText);
32077
+ }
32078
+
32079
+ this.Draw=function()
32080
+ {
32081
+ this.BorderPoint=[];
32082
+ this.DataPoint=[];
32083
+ this.CenterPoint={};
32084
+ if (!this.Data || !this.Data.Data || !(this.Data.Data.length>0))
32085
+ this.CalculatePoints(null);
32086
+ else
32087
+ this.CalculatePoints(this.Data.Data);
32088
+
32089
+ this.DrawBorder();
32090
+ this.DrawArea();
32091
+ }
32092
+
32093
+ this.CalculatePoints=function(data)
32094
+ {
32095
+ let left=this.ChartBorder.GetLeft();
32096
+ let right=this.ChartBorder.GetRight();
32097
+ let top=this.ChartBorder.GetTop();
32098
+ let bottom=this.ChartBorder.GetBottom();
32099
+ let width=this.ChartBorder.GetWidth();
32100
+ let height=this.ChartBorder.GetHeight();
32101
+
32102
+ let ptCenter={X:left+width/2, Y:top+height/2}; //中心点
32103
+ let radius=Math.min(width/2,height/2)-2 //半径
32104
+ let count=Math.max(5,data?data.length:0);
32105
+ let averageAngle=360/count;
32106
+ for(let i=0;i<count;++i)
32107
+ {
32108
+ let ptBorder = { Index: i, Radius: radius, Angle: i * averageAngle + this.StartAngle };
32109
+ let angle = ptBorder.Angle;
32110
+
32111
+ if (data && i<data.length)
32112
+ {
32113
+ var item=data[i];
32114
+ let ptData={Index:i,Text:item.Text};
32115
+ ptBorder.Text=item.Name;
32116
+ if (!item.Value)
32117
+ {
32118
+ ptData.X=ptCenter.X;
32119
+ ptData.Y=ptCenter.Y;
32120
+ }
32121
+ else
32122
+ {
32123
+ var value=item.Value;
32124
+ if (value>=1) value=1;
32125
+ var dataRadius=radius*value;
32126
+ ptData.X=ptCenter.X+dataRadius*Math.cos(angle*Math.PI/180);
32127
+ ptData.Y=ptCenter.Y+dataRadius*Math.sin(angle*Math.PI/180);
32128
+ }
32129
+
32130
+ this.DataPoint.push(ptData);
32131
+ }
32132
+
32133
+ this.BorderPoint.push(ptBorder);
32134
+ }
32135
+
32136
+ this.CenterPoint=ptCenter;
32137
+ }
32138
+
32139
+ //空数据
32140
+ this.DrawEmptyData=function()
32141
+ {
32142
+ JSConsole.Chart.Log('[ChartPie::DrawEmptyData]')
32143
+ }
32144
+ }
32145
+
31932
32146
  //分钟成交量 支持横屏
31933
32147
  function ChartMinuteVolumBar()
31934
32148
  {
@@ -52556,6 +52770,7 @@ function ChartCorssCursor()
52556
52770
  this.TextBGColor=g_JSChartResource.CorssCursorBGColor; //文本背景色
52557
52771
  this.BorderColor=g_JSChartResource.CorssCursorBorderColor; //边框颜色
52558
52772
  this.XRangeBGColor=g_JSChartResource.CorssCursorXRangeBGColor;
52773
+ this.LineDash=g_JSChartResource.CorssCursorLineDash.slice(); //虚线
52559
52774
  this.TextHeight=20; //文本字体高度
52560
52775
  this.LastPoint;
52561
52776
  this.LastValue; //{ Y:{ Value:, Extend: } }
@@ -52611,6 +52826,7 @@ function ChartCorssCursor()
52611
52826
  this.TextBGColor=g_JSChartResource.CorssCursorBGColor; //文本背景色
52612
52827
  this.BorderColor=g_JSChartResource.CorssCursorBorderColor; //边框颜色
52613
52828
  this.XRangeBGColor=g_JSChartResource.CorssCursorXRangeBGColor;
52829
+ this.LineDash=g_JSChartResource.CorssCursorLineDash.slice(); //虚线
52614
52830
  }
52615
52831
 
52616
52832
  this.GetCloseYPoint=function(index)
@@ -52869,10 +53085,10 @@ function ChartCorssCursor()
52869
53085
  }
52870
53086
 
52871
53087
  var pixel=GetDevicePixelRatio();
52872
- if (this.HPenType==1 || this.HPenType==0) //0=实线 1=虚线
53088
+ if (this.HPenType==1 || this.HPenType==0) //0=虚线 1=实线
52873
53089
  {
52874
53090
  this.Canvas.strokeStyle=this.HPenColor;
52875
- if (this.HPenType==0) this.Canvas.setLineDash([3*pixel,2*pixel]); //虚线
53091
+ if (this.HPenType==0) this.Canvas.setLineDash(this.LineDash); //虚线
52876
53092
  //this.Canvas.lineWidth=0.5
52877
53093
  this.Canvas.beginPath();
52878
53094
  this.Canvas.moveTo(left,ToFixedPoint(y));
@@ -52885,7 +53101,7 @@ function ChartCorssCursor()
52885
53101
  this.Canvas.strokeStyle=this.VPenColor;
52886
53102
  if (this.VPenType==0)
52887
53103
  {
52888
- this.Canvas.setLineDash([3*pixel,2*pixel]); //虚线
53104
+ this.Canvas.setLineDash(this.LineDash); //虚线
52889
53105
  }
52890
53106
  else if (this.VPenType==2)
52891
53107
  {
@@ -53480,7 +53696,7 @@ function ChartCorssCursor()
53480
53696
  var pixel=GetDevicePixelRatio();
53481
53697
  this.Canvas.save();
53482
53698
  this.Canvas.strokeStyle=this.HPenColor;
53483
- if (this.HPenType==0) this.Canvas.setLineDash([3*pixel,2*pixel]); //虚线
53699
+ if (this.HPenType==0) this.Canvas.setLineDash(this.LineDash); //虚线
53484
53700
 
53485
53701
  //画竖线
53486
53702
  this.Canvas.beginPath();
@@ -53494,7 +53710,7 @@ function ChartCorssCursor()
53494
53710
  this.Canvas.strokeStyle=this.VPenColor;
53495
53711
  if (this.VPenType==0)
53496
53712
  {
53497
- this.Canvas.setLineDash([3*pixel,2*pixel]); //虚线
53713
+ this.Canvas.setLineDash(this.LineDash); //虚线
53498
53714
  }
53499
53715
  else if (this.VPenType==2)
53500
53716
  {
@@ -56770,7 +56986,12 @@ function DynamicChartTitlePainting()
56770
56986
  {
56771
56987
  this.Font=g_JSChartResource.TitleFont;
56772
56988
  this.TitleColor=g_JSChartResource.DefaultTextColor;
56989
+ this.SelectedColor=g_JSChartResource.IndexTitleSelectedColor;
56773
56990
  this.OverlayIndexType.BGColor=g_JSChartResource.OverlayIndexTitleBGColor;
56991
+
56992
+ this.BGColor=g_JSChartResource.IndexTitleBGColor;
56993
+ this.BGBorderColor=g_JSChartResource.IndexTitleBorderColor;
56994
+ this.BGBorderMoveOnColor=g_JSChartResource.IndexTitleBorderMoveOnColor;
56774
56995
  }
56775
56996
 
56776
56997
  this.SetDynamicTitleData=function(outName, args, data)
@@ -70444,6 +70665,7 @@ function JSChartResource()
70444
70665
  this.CorssCursorHPenColor="rgb(130,130,130)"; //十字光标线段颜色(水平)
70445
70666
  this.CorssCursorVPenColor="rgb(130,130,130)"; //十字光标线段颜色(垂直)
70446
70667
  this.CorssCursorXRangeBGColor="rgba(100,149,237,0.3)"; //十字光标X轴访问背景色
70668
+ this.CorssCursorLineDash=[3*GetDevicePixelRatio(),2*GetDevicePixelRatio()]; //十字光标虚线
70447
70669
 
70448
70670
  this.CorssCursor=
70449
70671
  {
@@ -71864,6 +72086,7 @@ function JSChartResource()
71864
72086
  if (style.CorssCursorHPenColor) this.CorssCursorHPenColor = style.CorssCursorHPenColor;
71865
72087
  if (style.CorssCursorBorderColor) this.CorssCursorBorderColor=style.CorssCursorBorderColor;
71866
72088
  if (style.CorssCursorXRangeBGColor) this.CorssCursorXRangeBGColor=style.CorssCursorXRangeBGColor;
72089
+ if (style.CorssCursorLineDash) this.CorssCursorLineDash=style.CorssCursorLineDash.slice();
71867
72090
  if (style.CorssCursor && style.CorssCursor.RightButton)
71868
72091
  {
71869
72092
  var item=style.CorssCursor.RightButton;
@@ -85903,12 +86126,12 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
85903
86126
  this.CaclutateCallCationYRange();
85904
86127
  }
85905
86128
 
86129
+ //增量更新
85906
86130
  this.RecvUpdateMinuteData=function(data)
85907
86131
  {
85908
86132
  var minuteData=MinuteChartContainer.JsonDataToUpdateMinuteData(data);
85909
86133
  var aryColorData=MinuteChartContainer.JsonDataToMinuteLineColorData(data);
85910
- this.BeforeOpenData=null;
85911
- this.AfterCloseData=null;
86134
+
85912
86135
  var beforeOpenData=MinuteChartContainer.JsonDataToBeforeOpenData(data);
85913
86136
  var afterCloseData=MinuteChartContainer.JsonDataToAfterCloseData(data);
85914
86137
  var updateTime=MinuteChartContainer.JsonDataToMinuteLastUpdateTime(data); //数据最后的更新时间
@@ -85927,92 +86150,22 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
85927
86150
  return;
85928
86151
  }
85929
86152
 
85930
- //原始数据
86153
+ if (this.IsBeforeData && beforeOpenData) this.BeforeOpenData=beforeOpenData;
86154
+ if (this.IsAfterData && afterCloseData) this.AfterCloseData=afterCloseData;
85931
86155
 
86156
+ //原始数据
85932
86157
  this.UpdateLatestMinuteDataV2(minuteData);
85933
- var sourceData=this.SourceData;
85934
- var aryMinuteData=this.SourceData.Data;
85935
- this.ColorLineData=aryColorData;
85936
- this.TradeDate=data.stock[0].date;
85937
- this.Frame.SetDayCount(1); //单日数据
85938
- this.SourceData.UpdateTime=updateTime;
85939
- this.Symbol=minuteData.Symbol;
85940
- this.Name=minuteData.Name;
85941
-
85942
- this.SetCallCationDataBorder( { Left:this.IsBeforeData, Right:this.IsAfterData , MultiDay:{ Left:false, Right:false }} );
86158
+ this.UpdateMinuteUI(data.stock[0], {FunctionName:"RecvUpdateMinuteData"});
85943
86159
 
85944
- if (this.ShareAfterVol==2) //盘前, 盘后成交量公用坐标
85945
- {
85946
- if (this.BeforeOpenData && this.AfterCloseData)
85947
- {
85948
- var max=Math.max(this.BeforeOpenData.VolMax, this.AfterCloseData.VolMax);
85949
- var min=Math.min(this.BeforeOpenData.VolMin, this.AfterCloseData.VolMin);
85950
- this.BeforeOpenData.VolMax=this.AfterCloseData.VolMax=max;
85951
- this.BeforeOpenData.VolMin=this.AfterCloseData.VolMin=min;
85952
- }
85953
- }
85954
-
85955
- var yClose=minuteData.YClose;
85956
- var upperSymbol=this.Symbol.toUpperCase();
85957
- var isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol);
85958
- if (minuteData.YClearing>0 && isFutures) yClose=minuteData.YClearing; //期货使用前结算价
85959
- this.CaclutateLimitPrice(yClose, minuteData.LimitPrice); //计算涨停价格
85960
- var extendData=null;
85961
- if (minuteData.High>0 && minuteData.Low>0) extendData={ High:minuteData.High, Low:minuteData.Low };
85962
- this.BindMainData(sourceData,yClose, extendData);
85963
-
85964
- if (this.Frame.SubFrame.length>2)
86160
+ if (data.AutoUpdate===false) //不执行自动更新
85965
86161
  {
85966
- var bindData=new ChartData();
85967
- bindData.Data=aryMinuteData;
85968
- for(var i=2; i<this.Frame.SubFrame.length; ++i)
85969
- {
85970
- this.BindIndexData(i,bindData);
85971
- }
85972
- }
85973
86162
 
85974
- for(let i=0; i<this.Frame.SubFrame.length; ++i)
86163
+ }
86164
+ else
85975
86165
  {
85976
- var item=this.Frame.SubFrame[i];
85977
- item.Frame.XSplitOperator.Symbol=this.Symbol;
85978
- item.Frame.XSplitOperator.DayCount=1;
85979
- item.Frame.XSplitOperator.Operator(); //调整X轴个数
85980
- item.Frame.YSplitOperator.Symbol=this.Symbol;
85981
-
85982
- if (IFrameSplitOperator.IsNonEmptyArray(item.OverlayIndex))
85983
- {
85984
- for(var j=0;j<item.OverlayIndex.length; ++j) //子坐标X轴个数同步
85985
- {
85986
- var overlayItem=item.OverlayIndex[j];
85987
- overlayItem.Frame.XPointCount=item.Frame.XPointCount;
85988
- overlayItem.Frame.MinuteCount=item.Frame.MinuteCount;
85989
- }
85990
- }
86166
+ this.AutoUpdateEvent(true, "MinuteChartContainer::RecvUpdateMinuteData");
86167
+ this.AutoUpdate();
85991
86168
  }
85992
-
85993
- this.ChartCorssCursor.StringFormatY.Symbol=this.Symbol;
85994
- this.ChartCorssCursor.StringFormatX.Symbol=this.Symbol;
85995
-
85996
- if (MARKET_SUFFIX_NAME.IsSHSZ(upperSymbol)) this.TitlePaint[0].IsShowDate=false;
85997
-
85998
- if (data.stock[0].IsHistoryMinute==true) this.TitlePaint[0].IsShowDate=true;
85999
-
86000
- var chartInfo=this.GetChartMinuteInfo();
86001
- if (chartInfo) chartInfo.SourceData=this.SourceData; //数据绑定到信息地雷上
86002
-
86003
- this.RecvMinuteDataEvent( {FunctionName:"RecvUpdateMinuteData"} );
86004
- this.RequestMinuteInfoData();
86005
- this.RequestOverlayMinuteData();//请求叠加数据 (主数据下载完再下载)
86006
- this.CreateChartDrawPictureByStorage(); //创建画图工具
86007
-
86008
- this.UpdateFrameMaxMin(); //调整坐标最大 最小值
86009
- this.Frame.SetSizeChage(true);
86010
- this.Draw();
86011
-
86012
- this.BindAllOverlayIndexData(this.SourceData);
86013
-
86014
- this.AutoUpdateEvent(true, "MinuteChartContainer::RecvUpdateMinuteData");
86015
- this.AutoUpdate();
86016
86169
  }
86017
86170
 
86018
86171
  this.RecvMinuteData=function(data)
@@ -86079,15 +86232,31 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
86079
86232
  var sourceData=new ChartData();
86080
86233
  sourceData.Data=aryMinuteData;
86081
86234
  sourceData.UpdateTime=updateTime;
86235
+ this.SourceData=sourceData;
86082
86236
 
86083
86237
  this.ColorLineData=aryColorData;
86084
86238
 
86085
- this.TradeDate=data.stock[0].date;
86239
+ this.UpdateMinuteUI(data.stock[0], {FunctionName:"RecvMinuteData", Day:{ IsFirstData:bFirstData} });
86240
+
86241
+ if (data.AutoUpdate===false) //不执行自动更新
86242
+ {
86243
+
86244
+ }
86245
+ else
86246
+ {
86247
+ this.AutoUpdateEvent(true, "MinuteChartContainer::RecvMinuteData");
86248
+ this.AutoUpdate();
86249
+ }
86250
+ }
86251
+
86252
+ //更新单日分时图
86253
+ this.UpdateMinuteUI=function(stockData, eventData)
86254
+ {
86255
+ this.TradeDate=stockData.date;
86086
86256
  this.Frame.SetDayCount(1); //单日数据
86087
86257
 
86088
- this.SourceData=sourceData;
86089
- this.Symbol=data.stock[0].symbol;
86090
- this.Name=data.stock[0].name;
86258
+ this.Symbol=stockData.symbol;
86259
+ this.Name=stockData.name;
86091
86260
 
86092
86261
  this.SetCallCationDataBorder( { Left:this.IsBeforeData, Right:this.IsAfterData , MultiDay:{ Left:false, Right:false }} );
86093
86262
 
@@ -86102,26 +86271,26 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
86102
86271
  }
86103
86272
  }
86104
86273
 
86105
- var yClose=data.stock[0].yclose;
86274
+ var yClose=stockData.yclose;
86106
86275
  var upperSymbol=this.Symbol.toUpperCase();
86107
86276
  var isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol);
86108
- if (data.stock[0].yclearing>0 && isFutures) yClose=data.stock[0].yclearing; //期货使用前结算价
86109
- this.CaclutateLimitPrice(yClose, data.stock[0].limitprice); //计算涨停价格
86277
+ if (stockData.yclearing>0 && isFutures) yClose=stockData.yclearing; //期货使用前结算价
86278
+ this.CaclutateLimitPrice(yClose, stockData.limitprice); //计算涨停价格
86110
86279
  var extendData=null;
86111
- if (data.stock[0].high>0 && data.stock[0].low>0) extendData={ High:data.stock[0].high, Low:data.stock[0].low };
86112
- this.BindMainData(sourceData,yClose, extendData);
86280
+ if (stockData.high>0 && stockData.low>0) extendData={ High:stockData.high, Low:stockData.low };
86281
+ this.BindMainData(this.SourceData,yClose, extendData);
86113
86282
 
86114
86283
  if (this.Frame.SubFrame.length>2)
86115
86284
  {
86116
86285
  var bindData=new ChartData();
86117
- bindData.Data=aryMinuteData;
86286
+ bindData.Data=this.SourceData.Data;
86118
86287
  for(var i=2; i<this.Frame.SubFrame.length; ++i)
86119
86288
  {
86120
86289
  this.BindIndexData(i,bindData);
86121
86290
  }
86122
86291
  }
86123
86292
 
86124
- for(let i in this.Frame.SubFrame)
86293
+ for(var i=0, j=0; i<this.Frame.SubFrame.length; ++i)
86125
86294
  {
86126
86295
  var item=this.Frame.SubFrame[i];
86127
86296
  item.Frame.XSplitOperator.Symbol=this.Symbol;
@@ -86129,7 +86298,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
86129
86298
  item.Frame.XSplitOperator.Operator(); //调整X轴个数
86130
86299
  item.Frame.YSplitOperator.Symbol=this.Symbol;
86131
86300
 
86132
- for(var j in item.OverlayIndex) //子坐标X轴个数同步
86301
+ for(j=0;j<item.OverlayIndex.length;++j) //子坐标X轴个数同步
86133
86302
  {
86134
86303
  var overlayItem=item.OverlayIndex[j];
86135
86304
  overlayItem.Frame.XPointCount=item.Frame.XPointCount;
@@ -86142,12 +86311,12 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
86142
86311
 
86143
86312
  if (MARKET_SUFFIX_NAME.IsSHSZ(upperSymbol)) this.TitlePaint[0].IsShowDate=false;
86144
86313
 
86145
- if (data.stock[0].IsHistoryMinute==true) this.TitlePaint[0].IsShowDate=true;
86314
+ if (stockData.IsHistoryMinute==true) this.TitlePaint[0].IsShowDate=true;
86146
86315
 
86147
86316
  var chartInfo=this.GetChartMinuteInfo();
86148
86317
  if (chartInfo) chartInfo.SourceData=this.SourceData; //数据绑定到信息地雷上
86149
86318
 
86150
- this.RecvMinuteDataEvent( {FunctionName:"RecvMinuteData", Day:{ IsFirstData:bFirstData} } );
86319
+ if (eventData) this.RecvMinuteDataEvent( eventData );
86151
86320
  this.RequestMinuteInfoData();
86152
86321
  this.RequestOverlayMinuteData();//请求叠加数据 (主数据下载完再下载)
86153
86322
  this.CreateChartDrawPictureByStorage(); //创建画图工具
@@ -86157,16 +86326,6 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
86157
86326
  this.Draw();
86158
86327
 
86159
86328
  this.BindAllOverlayIndexData(this.SourceData);
86160
-
86161
- if (data.AutoUpdate===false) //不执行自动更新
86162
- {
86163
-
86164
- }
86165
- else
86166
- {
86167
- this.AutoUpdateEvent(true, "MinuteChartContainer::RecvMinuteData");
86168
- this.AutoUpdate();
86169
- }
86170
86329
  }
86171
86330
 
86172
86331
  this.CaclutateLimitPrice=function(yClose, limitData)