hqchart 1.1.12542 → 1.1.12549

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.
@@ -5011,6 +5011,9 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
5011
5011
 
5012
5012
  if (item.TopSpace>=0) chart.Frame.SubFrame[i].Frame.ChartBorder.TopSpace=item.TopSpace;
5013
5013
  if (item.BottomSpace>=0) chart.Frame.SubFrame[i].Frame.ChartBorder.BottomSpace=item.BottomSpace;
5014
+
5015
+ //是否显示关闭集合竞价按钮
5016
+ if (IFrameSplitOperator.IsNumber(item.CloseBeforeButton)) chart.Frame.SubFrame[i].Frame.IsShowCloseButton=item.CloseBeforeButton;
5014
5017
  }
5015
5018
 
5016
5019
  chart.UpdateXShowText();
@@ -24587,6 +24590,14 @@ ChartData.IsSecondPeriod=function(period)
24587
24590
  return false;
24588
24591
  }
24589
24592
 
24593
+ var CUSTOM_MILLISECOND_PERIOD_START=40000, CUSTOM_MILLISECOND_PERIOD_END=60000;
24594
+ ChartData.IsMilliSecondPeriod=function(period)
24595
+ {
24596
+ if (period>CUSTOM_MILLISECOND_PERIOD_START && period<=CUSTOM_MILLISECOND_PERIOD_END) return true;
24597
+ return false;
24598
+ }
24599
+
24600
+
24590
24601
 
24591
24602
  //是否是分笔图 10=分笔
24592
24603
  ChartData.IsTickPeriod=function(period)
@@ -51027,6 +51038,11 @@ function HQDateStringFormat()
51027
51038
  var time = IFrameSplitOperator.FormatTimeString(currentData.Time,'HH:MM:SS');
51028
51039
  this.Text = this.Text + " " + time;
51029
51040
  }
51041
+ else if (ChartData.IsMilliSecondPeriod(this.Data.Period))
51042
+ {
51043
+ var time = IFrameSplitOperator.FormatTimeString(currentData.Time,'HH:MM:SS.fff');
51044
+ this.Text = this.Text + " " + time;
51045
+ }
51030
51046
  else if (ChartData.IsTickPeriod(this.Data.Period)) //分笔
51031
51047
  {
51032
51048
  var time = IFrameSplitOperator.FormatTimeString(currentData.Time);
@@ -52129,6 +52145,11 @@ function DynamicKLineTitlePainting()
52129
52145
  var text=IFrameSplitOperator.FormatTimeString(item.Time, "HH:MM:SS");
52130
52146
  aryText.push({ Text:text, Color:this.DateTimeColor });
52131
52147
  }
52148
+ else if (ChartData.IsMilliSecondPeriod(self.Period) && IFrameSplitOperator.IsNumber(item.Time))
52149
+ {
52150
+ var text=IFrameSplitOperator.FormatTimeString(item.Time, "HH:MM:SS.fff");
52151
+ aryText.push({ Text:text, Color:this.DateTimeColor });
52152
+ }
52132
52153
  else if (isTickPeriod)
52133
52154
  {
52134
52155
  var text=IFrameSplitOperator.FormatTimeString(item.Time, "HH:MM:SS");
@@ -55404,6 +55425,32 @@ function IChartDrawPicture()
55404
55425
  this.Canvas.restore();
55405
55426
  }
55406
55427
 
55428
+ this.DrawArrow=function(ptStart,ptEnd)
55429
+ {
55430
+ //计算箭头
55431
+ var theta=35; //三角斜边一直线夹角
55432
+ var headlen=10; //三角斜边长度
55433
+ var angle = Math.atan2(ptStart.Y - ptEnd.Y, ptStart.X - ptEnd.X) * 180 / Math.PI,
55434
+ angle1 = (angle + theta) * Math.PI / 180,
55435
+ angle2 = (angle - theta) * Math.PI / 180,
55436
+ topX = headlen * Math.cos(angle1),
55437
+ topY = headlen * Math.sin(angle1),
55438
+ botX = headlen * Math.cos(angle2),
55439
+ botY = headlen * Math.sin(angle2);
55440
+
55441
+ this.Canvas.beginPath();
55442
+ var arrowX = ptEnd.X + topX;
55443
+ var arrowY = ptEnd.Y + topY;
55444
+ this.Canvas.moveTo(arrowX,arrowY);
55445
+
55446
+ this.Canvas.lineTo(ptEnd.X, ptEnd.Y);
55447
+
55448
+ arrowX = ptEnd.X + botX;
55449
+ arrowY = ptEnd.Y + botY;
55450
+ this.Canvas.lineTo(arrowX,arrowY);
55451
+ this.Canvas.stroke();
55452
+ }
55453
+
55407
55454
  //计算2个点线的,左右的延长线的点
55408
55455
  this.CalculateExtendLinePoint=function(ptStart,ptEnd)
55409
55456
  {
@@ -56118,7 +56165,9 @@ IChartDrawPicture.ArrayDrawPricture=
56118
56165
  { Name:"PriceNote", ClassName:"ChartDrawPriceNote", Create:function() { return new ChartDrawPriceNote();} },
56119
56166
  { Name:"FibWedge", ClassName:"ChartDrawFibWedge", Create:function(){ return new ChartDrawFibWedge(); }},
56120
56167
  { Name:"FibRetracement", ClassName:"ChartFibRetracement", Create:function() { return new ChartFibRetracement(); }}, //斐波那契回测
56121
- { Name:"FibSpeedResistanceFan", ClassName:"ChartFibSpeedResistanceFan", Create:function() { return new ChartFibSpeedResistanceFan(); }} //斐波那契扇形
56168
+ { Name:"FibSpeedResistanceFan", ClassName:"ChartFibSpeedResistanceFan", Create:function() { return new ChartFibSpeedResistanceFan(); }}, //斐波那契扇形
56169
+ { Name:"PriceRange", ClassName:"ChartPriceRange", Create:function() { return new ChartPriceRange(); }},
56170
+ { Name:"DateRange", ClassName:"ChartDateRange", Create:function() { return new ChartDateRange(); }}
56122
56171
  ];
56123
56172
 
56124
56173
  IChartDrawPicture.MapIonFont=new Map(
@@ -64127,6 +64176,239 @@ function ChartFibSpeedResistanceFan()
64127
64176
 
64128
64177
  }
64129
64178
 
64179
+
64180
+ function ChartPriceRange()
64181
+ {
64182
+ this.newMethod=IChartDrawPicture; //派生
64183
+ this.newMethod();
64184
+ delete this.newMethod;
64185
+
64186
+ this.ClassName='ChartPriceRange';
64187
+ this.PointCount=2;
64188
+ this.Font=12*GetDevicePixelRatio() +"px 微软雅黑";
64189
+ this.TextColor=this.LineColor;
64190
+ this.IsPointIn=this.IsPointIn_XYValue_Line;
64191
+ this.GetXYCoordinate=this.GetXYCoordinate_default;
64192
+ this.PointToValue_Default=this.PointToValue;
64193
+ this.OnlyMoveXIndex=true;
64194
+ this.IsSupportMagnet=true;
64195
+ this.LineWidth=1;
64196
+ this.EnableBGColor=true;
64197
+ this.BGColor=IChartDrawPicture.ColorToRGBA(this.LineColor,0.15);
64198
+ this.ExtendLine={ Left:false, Right: false }; //延长线
64199
+
64200
+ this.Label={ TextColor:"rgb(0,0,0)", BGColor:"rgb(211,211,211)", EnableBGColor:true, LeftMargin:5, RightMargin:5 };
64201
+
64202
+ this.Draw=function()
64203
+ {
64204
+ this.LinePoint=[];
64205
+ if (this.IsFrameMinSize()) return;
64206
+ var bCheckXY=true;
64207
+ if (this.ExtendLine.Left || this.ExtendLine.Right) bCheckXY=false;
64208
+ var drawPoint=this.CalculateDrawPoint( {IsCheckX:bCheckXY, IsCheckY:bCheckXY} );
64209
+ if (!drawPoint) return;
64210
+ if (drawPoint.length!=2) return;
64211
+
64212
+ this.ClipFrame();
64213
+
64214
+ var ptStart=drawPoint[0];
64215
+ var ptEnd=drawPoint[1];
64216
+
64217
+ this.SetLineWidth();
64218
+ this.DrawRange(ptStart,ptEnd);
64219
+ this.RestoreLineWidth();
64220
+
64221
+ this.DrawPoint(drawPoint); //画点
64222
+ this.Canvas.restore();
64223
+ }
64224
+
64225
+ this.DrawRange=function(ptStart, ptEnd)
64226
+ {
64227
+ var yTop=Math.min(ptStart.Y, ptEnd.Y);
64228
+ var yBottom=Math.max(ptStart.Y, ptEnd.Y);
64229
+ var xLeft=Math.min(ptStart.X, ptEnd.X);
64230
+ var xRight=Math.max(ptStart.X, ptEnd.X);
64231
+ var height=yBottom-yTop;
64232
+ var xCenter=ptStart.X+(ptEnd.X-ptStart.X)/2;
64233
+
64234
+ if (this.ExtendLine.Right) xRight=this.Frame.ChartBorder.GetRight();
64235
+ if (this.ExtendLine.Left) xLeft=this.Frame.ChartBorder.GetLeft();
64236
+
64237
+ if (this.EnableBGColor)
64238
+ {
64239
+ var rtBG={ Left:xLeft, Top:yTop, Right:xRight, Bottom:yBottom };
64240
+ rtBG.Width=rtBG.Right-rtBG.Left;
64241
+ rtBG.Height=rtBG.Bottom-rtBG.Top;
64242
+ this.Canvas.fillStyle=this.BGColor;
64243
+ this.Canvas.fillRect(rtBG.Left, rtBG.Top, rtBG.Width, rtBG.Height);
64244
+ }
64245
+
64246
+
64247
+ this.Canvas.strokeStyle=this.LineColor;
64248
+ this.Canvas.beginPath();
64249
+ this.Canvas.moveTo(xLeft,ToFixedPoint(yTop));
64250
+ this.Canvas.lineTo(xRight,ToFixedPoint(yTop));
64251
+
64252
+ this.Canvas.moveTo(xLeft,ToFixedPoint(yBottom));
64253
+ this.Canvas.lineTo(xRight,ToFixedPoint(yBottom));
64254
+
64255
+ this.Canvas.moveTo(ToFixedPoint(xCenter),ToFixedPoint(yTop));
64256
+ this.Canvas.lineTo(ToFixedPoint(xCenter),ToFixedPoint(yBottom));
64257
+ this.Canvas.stroke();
64258
+
64259
+ this.LinePoint.push({ Start:{X:xLeft, Y:yTop}, End:{X:xRight, Y:yTop} });
64260
+ this.LinePoint.push({ Start:{X:xLeft, Y:yBottom}, End:{X:xRight, Y:yBottom} });
64261
+ this.LinePoint.push({ Start:{X:xCenter, Y:yTop}, End:{X:xCenter, Y:yBottom} });
64262
+
64263
+ this.DrawArrow({X:ToFixedPoint(xCenter), Y:ptStart.Y}, {X:ToFixedPoint(xCenter), Y:ptEnd.Y});
64264
+
64265
+ //文字输出
64266
+ var startValue=this.Frame.GetYData(ptStart.Y,false);
64267
+ var endValue=this.Frame.GetYData(ptEnd.Y,false);
64268
+ var diffValue=endValue-startValue;
64269
+ var rate=(diffValue/startValue)*100;
64270
+ var text=`${diffValue.toFixed(2)} (${rate.toFixed(2)}%)`;
64271
+
64272
+ this.Canvas.font=this.Font;
64273
+ var textHeight=this.GetFontHeight();
64274
+ var textWidth=this.Canvas.measureText(text).width+4+(this.Label.LeftMargin+this.Label.RightMargin);
64275
+ var rtTextBG={ Left:xCenter-textWidth/2, Width:textWidth, Height:textHeight+2 };
64276
+ if (diffValue>0) rtTextBG.Top=ptEnd.Y-rtTextBG.Height-4;
64277
+ else rtTextBG.Top=ptEnd.Y+4;
64278
+ rtTextBG.Bottom=rtTextBG.Top+rtTextBG.Height;
64279
+
64280
+ if (this.Label.EnableBGColor)
64281
+ {
64282
+ var path=new Path2D();
64283
+ path.roundRect(ToFixedPoint(rtTextBG.Left), ToFixedPoint(rtTextBG.Top), ToFixedRect(rtTextBG.Width), ToFixedRect(rtTextBG.Height), [3]);
64284
+ this.Canvas.fillStyle=this.Label.BGColor;
64285
+ this.Canvas.fill(path);
64286
+ }
64287
+
64288
+ this.Canvas.fillStyle=this.Label.TextColor;
64289
+ this.Canvas.textAlign="left";
64290
+ this.Canvas.textBaseline="bottom";
64291
+ this.Canvas.fillText(text,rtTextBG.Left+2+this.Label.LeftMargin,rtTextBG.Bottom-2);
64292
+ }
64293
+
64294
+ }
64295
+
64296
+
64297
+ function ChartDateRange()
64298
+ {
64299
+ this.newMethod=IChartDrawPicture; //派生
64300
+ this.newMethod();
64301
+ delete this.newMethod;
64302
+
64303
+ this.ClassName='ChartDateRange';
64304
+ this.PointCount=2;
64305
+ this.Font=12*GetDevicePixelRatio() +"px 微软雅黑";
64306
+ this.TextColor=this.LineColor;
64307
+ this.IsPointIn=this.IsPointIn_XYValue_Line;
64308
+ this.GetXYCoordinate=this.GetXYCoordinate_default;
64309
+ this.PointToValue_Default=this.PointToValue;
64310
+ this.OnlyMoveXIndex=true;
64311
+ this.IsSupportMagnet=true;
64312
+ this.LineWidth=1;
64313
+ this.EnableBGColor=true;
64314
+ this.BGColor=IChartDrawPicture.ColorToRGBA(this.LineColor,0.15);
64315
+ this.ExtendLine={ Top:false, Bottom: false }; //延长线
64316
+
64317
+ this.Label={ TextColor:"rgb(0,0,0)", BGColor:"rgb(211,211,211)", EnableBGColor:true, LeftMargin:5, RightMargin:5 };
64318
+
64319
+ this.Draw=function()
64320
+ {
64321
+ this.LinePoint=[];
64322
+ if (this.IsFrameMinSize()) return;
64323
+ var bCheckXY=true;
64324
+ var drawPoint=this.CalculateDrawPoint( {IsCheckX:bCheckXY, IsCheckY:bCheckXY} );
64325
+ if (!drawPoint) return;
64326
+ if (drawPoint.length!=2) return;
64327
+
64328
+ this.ClipFrame();
64329
+
64330
+ var ptStart=drawPoint[0];
64331
+ var ptEnd=drawPoint[1];
64332
+
64333
+ this.SetLineWidth();
64334
+ this.DrawRange(ptStart,ptEnd);
64335
+ this.RestoreLineWidth();
64336
+
64337
+ this.DrawPoint(drawPoint); //画点
64338
+ this.Canvas.restore();
64339
+ }
64340
+
64341
+ this.DrawRange=function(ptStart, ptEnd)
64342
+ {
64343
+ var yTop=Math.min(ptStart.Y, ptEnd.Y);
64344
+ var yBottom=Math.max(ptStart.Y, ptEnd.Y);
64345
+ var xLeft=Math.min(ptStart.X, ptEnd.X);
64346
+ var xRight=Math.max(ptStart.X, ptEnd.X);
64347
+ var height=yBottom-yTop;
64348
+ var width=xRight-xLeft;
64349
+ var yCenter=ptStart.Y+(ptEnd.Y-ptStart.Y)/2;
64350
+ var xCenter=ptStart.X+(ptEnd.X-ptStart.X)/2;
64351
+
64352
+ if (this.ExtendLine.Top) yTop=this.Frame.ChartBorder.GetTopEx();
64353
+ if (this.ExtendLine.Bottom) yBottom=this.Frame.ChartBorder.GetBottomEx();
64354
+
64355
+ if (this.EnableBGColor)
64356
+ {
64357
+ var rtBG={ Left:xLeft, Top:yTop, Right:xRight, Bottom:yBottom };
64358
+ rtBG.Width=rtBG.Right-rtBG.Left;
64359
+ rtBG.Height=rtBG.Bottom-rtBG.Top;
64360
+ this.Canvas.fillStyle=this.BGColor;
64361
+ this.Canvas.fillRect(rtBG.Left, rtBG.Top, rtBG.Width, rtBG.Height);
64362
+ }
64363
+
64364
+ this.Canvas.strokeStyle=this.LineColor;
64365
+ this.Canvas.beginPath();
64366
+ this.Canvas.moveTo(ToFixedPoint(xLeft),yTop);
64367
+ this.Canvas.lineTo(ToFixedPoint(xLeft),yBottom);
64368
+
64369
+ this.Canvas.moveTo(ToFixedPoint(xRight),yTop);
64370
+ this.Canvas.lineTo(ToFixedPoint(xRight),yBottom);
64371
+
64372
+ this.Canvas.moveTo(ToFixedPoint(xLeft),ToFixedPoint(yCenter));
64373
+ this.Canvas.lineTo(ToFixedPoint(xRight),ToFixedPoint(yCenter));
64374
+ this.Canvas.stroke();
64375
+
64376
+ this.LinePoint.push({ Start:{X:xLeft, Y:yTop}, End:{X:xLeft, Y:yBottom} });
64377
+ this.LinePoint.push({ Start:{X:xRight, Y:yTop}, End:{X:xRight, Y:yBottom} });
64378
+ this.LinePoint.push({ Start:{X:xLeft, Y:yCenter}, End:{X:xRight, Y:yCenter} });
64379
+
64380
+ this.DrawArrow({X:ptStart.X, Y:ToFixedPoint(yCenter)}, {X:ptEnd.X, Y:ToFixedPoint(yCenter)});
64381
+
64382
+
64383
+ //文字输出
64384
+ var startIndex=this.Frame.GetXData(ptStart.X,false);
64385
+ var endIndex=this.Frame.GetXData(ptEnd.X,false);
64386
+ var barCount=endIndex-startIndex+1;
64387
+ var text=`${barCount} bars`;
64388
+
64389
+ this.Canvas.font=this.Font;
64390
+ var textHeight=this.GetFontHeight();
64391
+ var textWidth=this.Canvas.measureText(text).width+4+(this.Label.LeftMargin+this.Label.RightMargin);
64392
+ var rtTextBG={ Left:xCenter-textWidth/2, Top:ptEnd.Y+4, Width:textWidth, Height:textHeight+2 };
64393
+ rtTextBG.Bottom=rtTextBG.Top+rtTextBG.Height;
64394
+
64395
+ if (this.Label.EnableBGColor)
64396
+ {
64397
+ var path=new Path2D();
64398
+ path.roundRect(ToFixedPoint(rtTextBG.Left), ToFixedPoint(rtTextBG.Top), ToFixedRect(rtTextBG.Width), ToFixedRect(rtTextBG.Height), [3]);
64399
+ this.Canvas.fillStyle=this.Label.BGColor;
64400
+ this.Canvas.fill(path);
64401
+ }
64402
+
64403
+ this.Canvas.fillStyle=this.Label.TextColor;
64404
+ this.Canvas.textAlign="left";
64405
+ this.Canvas.textBaseline="bottom";
64406
+ this.Canvas.fillText(text,rtTextBG.Left+2+this.Label.LeftMargin,rtTextBG.Bottom-2);
64407
+
64408
+ }
64409
+ }
64410
+
64411
+
64130
64412
  function ChartDrawStorage()
64131
64413
  {
64132
64414
  this.DrawData=new Map(); //画图工具数据 key=symbol-Period, value=Map() Key:Guid, Value:{Guid, Symbol, Period, ClassName, Value}
@@ -69542,6 +69824,7 @@ function KLineChartContainer(uielement,OffscreenElement)
69542
69824
  if (ChartData.IsDayPeriod(self.Period,true)) self.RecvRealtimeData(data);
69543
69825
  else if (ChartData.IsMinutePeriod(self.Period,true)) self.RecvMinuteRealtimeData(data);
69544
69826
  else if (ChartData.IsSecondPeriod(self.Period)) self.RecvMinuteRealtimeData(data);
69827
+ else if (ChartData.IsMilliSecondPeriod(self.Period)) self.RecvMinuteRealtimeData(data);
69545
69828
  }
69546
69829
  }
69547
69830
  event.Callback(event,data,this);
@@ -71046,10 +71329,12 @@ function KLineChartContainer(uielement,OffscreenElement)
71046
71329
  if (this.SourceData.DataType!=0) isDataTypeChange=true;
71047
71330
  }
71048
71331
  else if ((period>CUSTOM_MINUTE_PERIOD_START && period<=CUSTOM_MINUTE_PERIOD_END) ||
71049
- (period>CUSTOM_SECOND_PERIOD_START && period<=CUSTOM_SECOND_PERIOD_END))
71332
+ (period>CUSTOM_SECOND_PERIOD_START && period<=CUSTOM_SECOND_PERIOD_END) ||
71333
+ (period>CUSTOM_MILLISECOND_PERIOD_START && period<=CUSTOM_MILLISECOND_PERIOD_END) )
71050
71334
  {
71051
71335
  if (this.SourceData.DataType!=1) isDataTypeChange=true;
71052
71336
  else if (ChartData.IsSecondPeriod(period)) isDataTypeChange=true;
71337
+ else if (ChartData.IsMilliSecondPeriod(period)) isDataTypeChange=true;
71053
71338
  }
71054
71339
  else
71055
71340
  {
@@ -71126,7 +71411,7 @@ function KLineChartContainer(uielement,OffscreenElement)
71126
71411
  this.RequestHistoryData(); //请求日线数据
71127
71412
  //this.ReqeustKLineInfoData();
71128
71413
  }
71129
- else if (ChartData.IsMinutePeriod(this.Period,true) || ChartData.IsSecondPeriod(this.Period))
71414
+ else if (ChartData.IsMinutePeriod(this.Period,true) || ChartData.IsSecondPeriod(this.Period) || ChartData.IsMilliSecondPeriod(this.Period))
71130
71415
  {
71131
71416
  this.CancelAutoUpdate(); //先停止定时器
71132
71417
  this.AutoUpdateEvent(false,'KLineChartContainer::ChangePeriod'); //切换周期先停止更新
@@ -71175,7 +71460,7 @@ function KLineChartContainer(uielement,OffscreenElement)
71175
71460
  this.ResetScrollBar();
71176
71461
  this.RequestHistoryData(); //请求日线数据
71177
71462
  }
71178
- else if (ChartData.IsMinutePeriod(this.Period,true) || ChartData.IsSecondPeriod(this.Period))
71463
+ else if (ChartData.IsMinutePeriod(this.Period,true) || ChartData.IsSecondPeriod(this.Period) || ChartData.IsMilliSecondPeriod(this.Period))
71179
71464
  {
71180
71465
  this.CancelAutoUpdate(); //先停止定时器
71181
71466
  this.AutoUpdateEvent(false,'KLineChartContainer::ChangeRight'); //切换复权先停止更新
@@ -71661,7 +71946,7 @@ function KLineChartContainer(uielement,OffscreenElement)
71661
71946
  this.ResetOverlaySymbolStatus();
71662
71947
  this.RequestHistoryData(); //请求日线数据
71663
71948
  }
71664
- else if (ChartData.IsMinutePeriod(this.Period,true) || ChartData.IsSecondPeriod(this.Period))
71949
+ else if (ChartData.IsMinutePeriod(this.Period,true) || ChartData.IsSecondPeriod(this.Period) || ChartData.IsMilliSecondPeriod(this.Period))
71665
71950
  {
71666
71951
  this.ResetOverlaySymbolStatus();
71667
71952
  this.ReqeustHistoryMinuteData(); //请求分钟数据
@@ -72508,7 +72793,7 @@ function KLineChartContainer(uielement,OffscreenElement)
72508
72793
  this.RequestHistoryData(); //请求日线数据
72509
72794
  //this.ReqeustKLineInfoData();
72510
72795
  }
72511
- else if (ChartData.IsMinutePeriod(this.Period,true) || ChartData.IsSecondPeriod(this.Period))
72796
+ else if (ChartData.IsMinutePeriod(this.Period,true) || ChartData.IsSecondPeriod(this.Period) || ChartData.IsMilliSecondPeriod(this.Period))
72512
72797
  {
72513
72798
  this.ReqeustHistoryMinuteData(); //请求分钟数据
72514
72799
  }
@@ -75165,6 +75450,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
75165
75450
 
75166
75451
  this.DayOffset={ Offset:0, ShowDayCount:-1, DataOffset:0, DayCount:1, }; //Offset 日期偏移 , DataOffset数据偏移
75167
75452
  this.PageInfo={ Enable:false, Offset:-8888, ShowDayCount:4 }; //分页配置
75453
+ this.DataStatus={ MultiDay:false, LatestDay:false }; //MultiDay=多日 LatestDay:当天
75168
75454
 
75169
75455
  this.ZoomStepPixel=50;
75170
75456
 
@@ -77532,6 +77818,12 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
77532
77818
  this.DayOffset.PageInfo=null;
77533
77819
  }
77534
77820
 
77821
+ this.ResetDataStatus=function()
77822
+ {
77823
+ this.DataStatus.MultiDay=false;
77824
+ this.DataStatus.LatestDay=false;
77825
+ }
77826
+
77535
77827
  //切换股票代码
77536
77828
  this.ChangeSymbol=function(symbol,option)
77537
77829
  {
@@ -77540,6 +77832,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
77540
77832
  this.AutoUpdateEvent(false, "MinuteChartContainer::ChangeSymbol");
77541
77833
  this.Symbol=symbol;
77542
77834
  this.ResetDayOffset();
77835
+ this.ResetDataStatus();
77543
77836
  this.ClearIndexPaint(); //清空指标
77544
77837
  this.ResetOverlaySymbolStatus();
77545
77838
  this.ReloadChartDrawPicture();
@@ -77641,6 +77934,8 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
77641
77934
  {
77642
77935
  this.ReloadChartDrawPicture();
77643
77936
  }
77937
+
77938
+ this.ResetDataStatus();
77644
77939
  this.ClearIndexPaint(); //清空指标
77645
77940
  this.ResetOverlaySymbolStatus();
77646
77941
  this.RequestData();
@@ -77921,6 +78216,9 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
77921
78216
  this.MultiDayBeforeOpenData=MinuteChartContainer.JosnDataToBeforeOpenDataArray(data);
77922
78217
  this.MultiDayAfterCloseData=MinuteChartContainer.JosnDataToAfterCloseDataArray(data);
77923
78218
  var updateTime=MinuteChartContainer.JsonDataToHistoryMinuteLastUpdateTime(data);
78219
+
78220
+ this.DataStatus.MultiDay=true;
78221
+
77924
78222
  this.CaclutateCallCationYRange();
77925
78223
  this.Symbol=data.symbol;
77926
78224
  this.Name=data.name;
@@ -78498,6 +78796,8 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
78498
78796
 
78499
78797
  if (this.IsBeforeData) this.BeforeOpenData=beforeOpenData;
78500
78798
  if (this.IsAfterData) this.AfterCloseData=afterCloseData;
78799
+
78800
+ this.DataStatus.LatestDay=true;
78501
78801
 
78502
78802
  if (this.DayCount>1) //多日走势图
78503
78803
  {