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.
@@ -931,6 +931,9 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
931
931
 
932
932
  if (item.TopSpace>=0) chart.Frame.SubFrame[i].Frame.ChartBorder.TopSpace=item.TopSpace;
933
933
  if (item.BottomSpace>=0) chart.Frame.SubFrame[i].Frame.ChartBorder.BottomSpace=item.BottomSpace;
934
+
935
+ //是否显示关闭集合竞价按钮
936
+ if (IFrameSplitOperator.IsNumber(item.CloseBeforeButton)) chart.Frame.SubFrame[i].Frame.IsShowCloseButton=item.CloseBeforeButton;
934
937
  }
935
938
 
936
939
  chart.UpdateXShowText();
@@ -20507,6 +20510,14 @@ ChartData.IsSecondPeriod=function(period)
20507
20510
  return false;
20508
20511
  }
20509
20512
 
20513
+ var CUSTOM_MILLISECOND_PERIOD_START=40000, CUSTOM_MILLISECOND_PERIOD_END=60000;
20514
+ ChartData.IsMilliSecondPeriod=function(period)
20515
+ {
20516
+ if (period>CUSTOM_MILLISECOND_PERIOD_START && period<=CUSTOM_MILLISECOND_PERIOD_END) return true;
20517
+ return false;
20518
+ }
20519
+
20520
+
20510
20521
 
20511
20522
  //是否是分笔图 10=分笔
20512
20523
  ChartData.IsTickPeriod=function(period)
@@ -46947,6 +46958,11 @@ function HQDateStringFormat()
46947
46958
  var time = IFrameSplitOperator.FormatTimeString(currentData.Time,'HH:MM:SS');
46948
46959
  this.Text = this.Text + " " + time;
46949
46960
  }
46961
+ else if (ChartData.IsMilliSecondPeriod(this.Data.Period))
46962
+ {
46963
+ var time = IFrameSplitOperator.FormatTimeString(currentData.Time,'HH:MM:SS.fff');
46964
+ this.Text = this.Text + " " + time;
46965
+ }
46950
46966
  else if (ChartData.IsTickPeriod(this.Data.Period)) //分笔
46951
46967
  {
46952
46968
  var time = IFrameSplitOperator.FormatTimeString(currentData.Time);
@@ -48049,6 +48065,11 @@ function DynamicKLineTitlePainting()
48049
48065
  var text=IFrameSplitOperator.FormatTimeString(item.Time, "HH:MM:SS");
48050
48066
  aryText.push({ Text:text, Color:this.DateTimeColor });
48051
48067
  }
48068
+ else if (ChartData.IsMilliSecondPeriod(self.Period) && IFrameSplitOperator.IsNumber(item.Time))
48069
+ {
48070
+ var text=IFrameSplitOperator.FormatTimeString(item.Time, "HH:MM:SS.fff");
48071
+ aryText.push({ Text:text, Color:this.DateTimeColor });
48072
+ }
48052
48073
  else if (isTickPeriod)
48053
48074
  {
48054
48075
  var text=IFrameSplitOperator.FormatTimeString(item.Time, "HH:MM:SS");
@@ -51324,6 +51345,32 @@ function IChartDrawPicture()
51324
51345
  this.Canvas.restore();
51325
51346
  }
51326
51347
 
51348
+ this.DrawArrow=function(ptStart,ptEnd)
51349
+ {
51350
+ //计算箭头
51351
+ var theta=35; //三角斜边一直线夹角
51352
+ var headlen=10; //三角斜边长度
51353
+ var angle = Math.atan2(ptStart.Y - ptEnd.Y, ptStart.X - ptEnd.X) * 180 / Math.PI,
51354
+ angle1 = (angle + theta) * Math.PI / 180,
51355
+ angle2 = (angle - theta) * Math.PI / 180,
51356
+ topX = headlen * Math.cos(angle1),
51357
+ topY = headlen * Math.sin(angle1),
51358
+ botX = headlen * Math.cos(angle2),
51359
+ botY = headlen * Math.sin(angle2);
51360
+
51361
+ this.Canvas.beginPath();
51362
+ var arrowX = ptEnd.X + topX;
51363
+ var arrowY = ptEnd.Y + topY;
51364
+ this.Canvas.moveTo(arrowX,arrowY);
51365
+
51366
+ this.Canvas.lineTo(ptEnd.X, ptEnd.Y);
51367
+
51368
+ arrowX = ptEnd.X + botX;
51369
+ arrowY = ptEnd.Y + botY;
51370
+ this.Canvas.lineTo(arrowX,arrowY);
51371
+ this.Canvas.stroke();
51372
+ }
51373
+
51327
51374
  //计算2个点线的,左右的延长线的点
51328
51375
  this.CalculateExtendLinePoint=function(ptStart,ptEnd)
51329
51376
  {
@@ -52038,7 +52085,9 @@ IChartDrawPicture.ArrayDrawPricture=
52038
52085
  { Name:"PriceNote", ClassName:"ChartDrawPriceNote", Create:function() { return new ChartDrawPriceNote();} },
52039
52086
  { Name:"FibWedge", ClassName:"ChartDrawFibWedge", Create:function(){ return new ChartDrawFibWedge(); }},
52040
52087
  { Name:"FibRetracement", ClassName:"ChartFibRetracement", Create:function() { return new ChartFibRetracement(); }}, //斐波那契回测
52041
- { Name:"FibSpeedResistanceFan", ClassName:"ChartFibSpeedResistanceFan", Create:function() { return new ChartFibSpeedResistanceFan(); }} //斐波那契扇形
52088
+ { Name:"FibSpeedResistanceFan", ClassName:"ChartFibSpeedResistanceFan", Create:function() { return new ChartFibSpeedResistanceFan(); }}, //斐波那契扇形
52089
+ { Name:"PriceRange", ClassName:"ChartPriceRange", Create:function() { return new ChartPriceRange(); }},
52090
+ { Name:"DateRange", ClassName:"ChartDateRange", Create:function() { return new ChartDateRange(); }}
52042
52091
  ];
52043
52092
 
52044
52093
  IChartDrawPicture.MapIonFont=new Map(
@@ -60047,6 +60096,239 @@ function ChartFibSpeedResistanceFan()
60047
60096
 
60048
60097
  }
60049
60098
 
60099
+
60100
+ function ChartPriceRange()
60101
+ {
60102
+ this.newMethod=IChartDrawPicture; //派生
60103
+ this.newMethod();
60104
+ delete this.newMethod;
60105
+
60106
+ this.ClassName='ChartPriceRange';
60107
+ this.PointCount=2;
60108
+ this.Font=12*GetDevicePixelRatio() +"px 微软雅黑";
60109
+ this.TextColor=this.LineColor;
60110
+ this.IsPointIn=this.IsPointIn_XYValue_Line;
60111
+ this.GetXYCoordinate=this.GetXYCoordinate_default;
60112
+ this.PointToValue_Default=this.PointToValue;
60113
+ this.OnlyMoveXIndex=true;
60114
+ this.IsSupportMagnet=true;
60115
+ this.LineWidth=1;
60116
+ this.EnableBGColor=true;
60117
+ this.BGColor=IChartDrawPicture.ColorToRGBA(this.LineColor,0.15);
60118
+ this.ExtendLine={ Left:false, Right: false }; //延长线
60119
+
60120
+ this.Label={ TextColor:"rgb(0,0,0)", BGColor:"rgb(211,211,211)", EnableBGColor:true, LeftMargin:5, RightMargin:5 };
60121
+
60122
+ this.Draw=function()
60123
+ {
60124
+ this.LinePoint=[];
60125
+ if (this.IsFrameMinSize()) return;
60126
+ var bCheckXY=true;
60127
+ if (this.ExtendLine.Left || this.ExtendLine.Right) bCheckXY=false;
60128
+ var drawPoint=this.CalculateDrawPoint( {IsCheckX:bCheckXY, IsCheckY:bCheckXY} );
60129
+ if (!drawPoint) return;
60130
+ if (drawPoint.length!=2) return;
60131
+
60132
+ this.ClipFrame();
60133
+
60134
+ var ptStart=drawPoint[0];
60135
+ var ptEnd=drawPoint[1];
60136
+
60137
+ this.SetLineWidth();
60138
+ this.DrawRange(ptStart,ptEnd);
60139
+ this.RestoreLineWidth();
60140
+
60141
+ this.DrawPoint(drawPoint); //画点
60142
+ this.Canvas.restore();
60143
+ }
60144
+
60145
+ this.DrawRange=function(ptStart, ptEnd)
60146
+ {
60147
+ var yTop=Math.min(ptStart.Y, ptEnd.Y);
60148
+ var yBottom=Math.max(ptStart.Y, ptEnd.Y);
60149
+ var xLeft=Math.min(ptStart.X, ptEnd.X);
60150
+ var xRight=Math.max(ptStart.X, ptEnd.X);
60151
+ var height=yBottom-yTop;
60152
+ var xCenter=ptStart.X+(ptEnd.X-ptStart.X)/2;
60153
+
60154
+ if (this.ExtendLine.Right) xRight=this.Frame.ChartBorder.GetRight();
60155
+ if (this.ExtendLine.Left) xLeft=this.Frame.ChartBorder.GetLeft();
60156
+
60157
+ if (this.EnableBGColor)
60158
+ {
60159
+ var rtBG={ Left:xLeft, Top:yTop, Right:xRight, Bottom:yBottom };
60160
+ rtBG.Width=rtBG.Right-rtBG.Left;
60161
+ rtBG.Height=rtBG.Bottom-rtBG.Top;
60162
+ this.Canvas.fillStyle=this.BGColor;
60163
+ this.Canvas.fillRect(rtBG.Left, rtBG.Top, rtBG.Width, rtBG.Height);
60164
+ }
60165
+
60166
+
60167
+ this.Canvas.strokeStyle=this.LineColor;
60168
+ this.Canvas.beginPath();
60169
+ this.Canvas.moveTo(xLeft,ToFixedPoint(yTop));
60170
+ this.Canvas.lineTo(xRight,ToFixedPoint(yTop));
60171
+
60172
+ this.Canvas.moveTo(xLeft,ToFixedPoint(yBottom));
60173
+ this.Canvas.lineTo(xRight,ToFixedPoint(yBottom));
60174
+
60175
+ this.Canvas.moveTo(ToFixedPoint(xCenter),ToFixedPoint(yTop));
60176
+ this.Canvas.lineTo(ToFixedPoint(xCenter),ToFixedPoint(yBottom));
60177
+ this.Canvas.stroke();
60178
+
60179
+ this.LinePoint.push({ Start:{X:xLeft, Y:yTop}, End:{X:xRight, Y:yTop} });
60180
+ this.LinePoint.push({ Start:{X:xLeft, Y:yBottom}, End:{X:xRight, Y:yBottom} });
60181
+ this.LinePoint.push({ Start:{X:xCenter, Y:yTop}, End:{X:xCenter, Y:yBottom} });
60182
+
60183
+ this.DrawArrow({X:ToFixedPoint(xCenter), Y:ptStart.Y}, {X:ToFixedPoint(xCenter), Y:ptEnd.Y});
60184
+
60185
+ //文字输出
60186
+ var startValue=this.Frame.GetYData(ptStart.Y,false);
60187
+ var endValue=this.Frame.GetYData(ptEnd.Y,false);
60188
+ var diffValue=endValue-startValue;
60189
+ var rate=(diffValue/startValue)*100;
60190
+ var text=`${diffValue.toFixed(2)} (${rate.toFixed(2)}%)`;
60191
+
60192
+ this.Canvas.font=this.Font;
60193
+ var textHeight=this.GetFontHeight();
60194
+ var textWidth=this.Canvas.measureText(text).width+4+(this.Label.LeftMargin+this.Label.RightMargin);
60195
+ var rtTextBG={ Left:xCenter-textWidth/2, Width:textWidth, Height:textHeight+2 };
60196
+ if (diffValue>0) rtTextBG.Top=ptEnd.Y-rtTextBG.Height-4;
60197
+ else rtTextBG.Top=ptEnd.Y+4;
60198
+ rtTextBG.Bottom=rtTextBG.Top+rtTextBG.Height;
60199
+
60200
+ if (this.Label.EnableBGColor)
60201
+ {
60202
+ var path=new Path2D();
60203
+ path.roundRect(ToFixedPoint(rtTextBG.Left), ToFixedPoint(rtTextBG.Top), ToFixedRect(rtTextBG.Width), ToFixedRect(rtTextBG.Height), [3]);
60204
+ this.Canvas.fillStyle=this.Label.BGColor;
60205
+ this.Canvas.fill(path);
60206
+ }
60207
+
60208
+ this.Canvas.fillStyle=this.Label.TextColor;
60209
+ this.Canvas.textAlign="left";
60210
+ this.Canvas.textBaseline="bottom";
60211
+ this.Canvas.fillText(text,rtTextBG.Left+2+this.Label.LeftMargin,rtTextBG.Bottom-2);
60212
+ }
60213
+
60214
+ }
60215
+
60216
+
60217
+ function ChartDateRange()
60218
+ {
60219
+ this.newMethod=IChartDrawPicture; //派生
60220
+ this.newMethod();
60221
+ delete this.newMethod;
60222
+
60223
+ this.ClassName='ChartDateRange';
60224
+ this.PointCount=2;
60225
+ this.Font=12*GetDevicePixelRatio() +"px 微软雅黑";
60226
+ this.TextColor=this.LineColor;
60227
+ this.IsPointIn=this.IsPointIn_XYValue_Line;
60228
+ this.GetXYCoordinate=this.GetXYCoordinate_default;
60229
+ this.PointToValue_Default=this.PointToValue;
60230
+ this.OnlyMoveXIndex=true;
60231
+ this.IsSupportMagnet=true;
60232
+ this.LineWidth=1;
60233
+ this.EnableBGColor=true;
60234
+ this.BGColor=IChartDrawPicture.ColorToRGBA(this.LineColor,0.15);
60235
+ this.ExtendLine={ Top:false, Bottom: false }; //延长线
60236
+
60237
+ this.Label={ TextColor:"rgb(0,0,0)", BGColor:"rgb(211,211,211)", EnableBGColor:true, LeftMargin:5, RightMargin:5 };
60238
+
60239
+ this.Draw=function()
60240
+ {
60241
+ this.LinePoint=[];
60242
+ if (this.IsFrameMinSize()) return;
60243
+ var bCheckXY=true;
60244
+ var drawPoint=this.CalculateDrawPoint( {IsCheckX:bCheckXY, IsCheckY:bCheckXY} );
60245
+ if (!drawPoint) return;
60246
+ if (drawPoint.length!=2) return;
60247
+
60248
+ this.ClipFrame();
60249
+
60250
+ var ptStart=drawPoint[0];
60251
+ var ptEnd=drawPoint[1];
60252
+
60253
+ this.SetLineWidth();
60254
+ this.DrawRange(ptStart,ptEnd);
60255
+ this.RestoreLineWidth();
60256
+
60257
+ this.DrawPoint(drawPoint); //画点
60258
+ this.Canvas.restore();
60259
+ }
60260
+
60261
+ this.DrawRange=function(ptStart, ptEnd)
60262
+ {
60263
+ var yTop=Math.min(ptStart.Y, ptEnd.Y);
60264
+ var yBottom=Math.max(ptStart.Y, ptEnd.Y);
60265
+ var xLeft=Math.min(ptStart.X, ptEnd.X);
60266
+ var xRight=Math.max(ptStart.X, ptEnd.X);
60267
+ var height=yBottom-yTop;
60268
+ var width=xRight-xLeft;
60269
+ var yCenter=ptStart.Y+(ptEnd.Y-ptStart.Y)/2;
60270
+ var xCenter=ptStart.X+(ptEnd.X-ptStart.X)/2;
60271
+
60272
+ if (this.ExtendLine.Top) yTop=this.Frame.ChartBorder.GetTopEx();
60273
+ if (this.ExtendLine.Bottom) yBottom=this.Frame.ChartBorder.GetBottomEx();
60274
+
60275
+ if (this.EnableBGColor)
60276
+ {
60277
+ var rtBG={ Left:xLeft, Top:yTop, Right:xRight, Bottom:yBottom };
60278
+ rtBG.Width=rtBG.Right-rtBG.Left;
60279
+ rtBG.Height=rtBG.Bottom-rtBG.Top;
60280
+ this.Canvas.fillStyle=this.BGColor;
60281
+ this.Canvas.fillRect(rtBG.Left, rtBG.Top, rtBG.Width, rtBG.Height);
60282
+ }
60283
+
60284
+ this.Canvas.strokeStyle=this.LineColor;
60285
+ this.Canvas.beginPath();
60286
+ this.Canvas.moveTo(ToFixedPoint(xLeft),yTop);
60287
+ this.Canvas.lineTo(ToFixedPoint(xLeft),yBottom);
60288
+
60289
+ this.Canvas.moveTo(ToFixedPoint(xRight),yTop);
60290
+ this.Canvas.lineTo(ToFixedPoint(xRight),yBottom);
60291
+
60292
+ this.Canvas.moveTo(ToFixedPoint(xLeft),ToFixedPoint(yCenter));
60293
+ this.Canvas.lineTo(ToFixedPoint(xRight),ToFixedPoint(yCenter));
60294
+ this.Canvas.stroke();
60295
+
60296
+ this.LinePoint.push({ Start:{X:xLeft, Y:yTop}, End:{X:xLeft, Y:yBottom} });
60297
+ this.LinePoint.push({ Start:{X:xRight, Y:yTop}, End:{X:xRight, Y:yBottom} });
60298
+ this.LinePoint.push({ Start:{X:xLeft, Y:yCenter}, End:{X:xRight, Y:yCenter} });
60299
+
60300
+ this.DrawArrow({X:ptStart.X, Y:ToFixedPoint(yCenter)}, {X:ptEnd.X, Y:ToFixedPoint(yCenter)});
60301
+
60302
+
60303
+ //文字输出
60304
+ var startIndex=this.Frame.GetXData(ptStart.X,false);
60305
+ var endIndex=this.Frame.GetXData(ptEnd.X,false);
60306
+ var barCount=endIndex-startIndex+1;
60307
+ var text=`${barCount} bars`;
60308
+
60309
+ this.Canvas.font=this.Font;
60310
+ var textHeight=this.GetFontHeight();
60311
+ var textWidth=this.Canvas.measureText(text).width+4+(this.Label.LeftMargin+this.Label.RightMargin);
60312
+ var rtTextBG={ Left:xCenter-textWidth/2, Top:ptEnd.Y+4, Width:textWidth, Height:textHeight+2 };
60313
+ rtTextBG.Bottom=rtTextBG.Top+rtTextBG.Height;
60314
+
60315
+ if (this.Label.EnableBGColor)
60316
+ {
60317
+ var path=new Path2D();
60318
+ path.roundRect(ToFixedPoint(rtTextBG.Left), ToFixedPoint(rtTextBG.Top), ToFixedRect(rtTextBG.Width), ToFixedRect(rtTextBG.Height), [3]);
60319
+ this.Canvas.fillStyle=this.Label.BGColor;
60320
+ this.Canvas.fill(path);
60321
+ }
60322
+
60323
+ this.Canvas.fillStyle=this.Label.TextColor;
60324
+ this.Canvas.textAlign="left";
60325
+ this.Canvas.textBaseline="bottom";
60326
+ this.Canvas.fillText(text,rtTextBG.Left+2+this.Label.LeftMargin,rtTextBG.Bottom-2);
60327
+
60328
+ }
60329
+ }
60330
+
60331
+
60050
60332
  function ChartDrawStorage()
60051
60333
  {
60052
60334
  this.DrawData=new Map(); //画图工具数据 key=symbol-Period, value=Map() Key:Guid, Value:{Guid, Symbol, Period, ClassName, Value}
@@ -65462,6 +65744,7 @@ function KLineChartContainer(uielement,OffscreenElement)
65462
65744
  if (ChartData.IsDayPeriod(self.Period,true)) self.RecvRealtimeData(data);
65463
65745
  else if (ChartData.IsMinutePeriod(self.Period,true)) self.RecvMinuteRealtimeData(data);
65464
65746
  else if (ChartData.IsSecondPeriod(self.Period)) self.RecvMinuteRealtimeData(data);
65747
+ else if (ChartData.IsMilliSecondPeriod(self.Period)) self.RecvMinuteRealtimeData(data);
65465
65748
  }
65466
65749
  }
65467
65750
  event.Callback(event,data,this);
@@ -66966,10 +67249,12 @@ function KLineChartContainer(uielement,OffscreenElement)
66966
67249
  if (this.SourceData.DataType!=0) isDataTypeChange=true;
66967
67250
  }
66968
67251
  else if ((period>CUSTOM_MINUTE_PERIOD_START && period<=CUSTOM_MINUTE_PERIOD_END) ||
66969
- (period>CUSTOM_SECOND_PERIOD_START && period<=CUSTOM_SECOND_PERIOD_END))
67252
+ (period>CUSTOM_SECOND_PERIOD_START && period<=CUSTOM_SECOND_PERIOD_END) ||
67253
+ (period>CUSTOM_MILLISECOND_PERIOD_START && period<=CUSTOM_MILLISECOND_PERIOD_END) )
66970
67254
  {
66971
67255
  if (this.SourceData.DataType!=1) isDataTypeChange=true;
66972
67256
  else if (ChartData.IsSecondPeriod(period)) isDataTypeChange=true;
67257
+ else if (ChartData.IsMilliSecondPeriod(period)) isDataTypeChange=true;
66973
67258
  }
66974
67259
  else
66975
67260
  {
@@ -67046,7 +67331,7 @@ function KLineChartContainer(uielement,OffscreenElement)
67046
67331
  this.RequestHistoryData(); //请求日线数据
67047
67332
  //this.ReqeustKLineInfoData();
67048
67333
  }
67049
- else if (ChartData.IsMinutePeriod(this.Period,true) || ChartData.IsSecondPeriod(this.Period))
67334
+ else if (ChartData.IsMinutePeriod(this.Period,true) || ChartData.IsSecondPeriod(this.Period) || ChartData.IsMilliSecondPeriod(this.Period))
67050
67335
  {
67051
67336
  this.CancelAutoUpdate(); //先停止定时器
67052
67337
  this.AutoUpdateEvent(false,'KLineChartContainer::ChangePeriod'); //切换周期先停止更新
@@ -67095,7 +67380,7 @@ function KLineChartContainer(uielement,OffscreenElement)
67095
67380
  this.ResetScrollBar();
67096
67381
  this.RequestHistoryData(); //请求日线数据
67097
67382
  }
67098
- else if (ChartData.IsMinutePeriod(this.Period,true) || ChartData.IsSecondPeriod(this.Period))
67383
+ else if (ChartData.IsMinutePeriod(this.Period,true) || ChartData.IsSecondPeriod(this.Period) || ChartData.IsMilliSecondPeriod(this.Period))
67099
67384
  {
67100
67385
  this.CancelAutoUpdate(); //先停止定时器
67101
67386
  this.AutoUpdateEvent(false,'KLineChartContainer::ChangeRight'); //切换复权先停止更新
@@ -67581,7 +67866,7 @@ function KLineChartContainer(uielement,OffscreenElement)
67581
67866
  this.ResetOverlaySymbolStatus();
67582
67867
  this.RequestHistoryData(); //请求日线数据
67583
67868
  }
67584
- else if (ChartData.IsMinutePeriod(this.Period,true) || ChartData.IsSecondPeriod(this.Period))
67869
+ else if (ChartData.IsMinutePeriod(this.Period,true) || ChartData.IsSecondPeriod(this.Period) || ChartData.IsMilliSecondPeriod(this.Period))
67585
67870
  {
67586
67871
  this.ResetOverlaySymbolStatus();
67587
67872
  this.ReqeustHistoryMinuteData(); //请求分钟数据
@@ -68428,7 +68713,7 @@ function KLineChartContainer(uielement,OffscreenElement)
68428
68713
  this.RequestHistoryData(); //请求日线数据
68429
68714
  //this.ReqeustKLineInfoData();
68430
68715
  }
68431
- else if (ChartData.IsMinutePeriod(this.Period,true) || ChartData.IsSecondPeriod(this.Period))
68716
+ else if (ChartData.IsMinutePeriod(this.Period,true) || ChartData.IsSecondPeriod(this.Period) || ChartData.IsMilliSecondPeriod(this.Period))
68432
68717
  {
68433
68718
  this.ReqeustHistoryMinuteData(); //请求分钟数据
68434
68719
  }
@@ -71085,6 +71370,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
71085
71370
 
71086
71371
  this.DayOffset={ Offset:0, ShowDayCount:-1, DataOffset:0, DayCount:1, }; //Offset 日期偏移 , DataOffset数据偏移
71087
71372
  this.PageInfo={ Enable:false, Offset:-8888, ShowDayCount:4 }; //分页配置
71373
+ this.DataStatus={ MultiDay:false, LatestDay:false }; //MultiDay=多日 LatestDay:当天
71088
71374
 
71089
71375
  this.ZoomStepPixel=50;
71090
71376
 
@@ -73452,6 +73738,12 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
73452
73738
  this.DayOffset.PageInfo=null;
73453
73739
  }
73454
73740
 
73741
+ this.ResetDataStatus=function()
73742
+ {
73743
+ this.DataStatus.MultiDay=false;
73744
+ this.DataStatus.LatestDay=false;
73745
+ }
73746
+
73455
73747
  //切换股票代码
73456
73748
  this.ChangeSymbol=function(symbol,option)
73457
73749
  {
@@ -73460,6 +73752,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
73460
73752
  this.AutoUpdateEvent(false, "MinuteChartContainer::ChangeSymbol");
73461
73753
  this.Symbol=symbol;
73462
73754
  this.ResetDayOffset();
73755
+ this.ResetDataStatus();
73463
73756
  this.ClearIndexPaint(); //清空指标
73464
73757
  this.ResetOverlaySymbolStatus();
73465
73758
  this.ReloadChartDrawPicture();
@@ -73561,6 +73854,8 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
73561
73854
  {
73562
73855
  this.ReloadChartDrawPicture();
73563
73856
  }
73857
+
73858
+ this.ResetDataStatus();
73564
73859
  this.ClearIndexPaint(); //清空指标
73565
73860
  this.ResetOverlaySymbolStatus();
73566
73861
  this.RequestData();
@@ -73841,6 +74136,9 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
73841
74136
  this.MultiDayBeforeOpenData=MinuteChartContainer.JosnDataToBeforeOpenDataArray(data);
73842
74137
  this.MultiDayAfterCloseData=MinuteChartContainer.JosnDataToAfterCloseDataArray(data);
73843
74138
  var updateTime=MinuteChartContainer.JsonDataToHistoryMinuteLastUpdateTime(data);
74139
+
74140
+ this.DataStatus.MultiDay=true;
74141
+
73844
74142
  this.CaclutateCallCationYRange();
73845
74143
  this.Symbol=data.symbol;
73846
74144
  this.Name=data.name;
@@ -74418,6 +74716,8 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
74418
74716
 
74419
74717
  if (this.IsBeforeData) this.BeforeOpenData=beforeOpenData;
74420
74718
  if (this.IsAfterData) this.AfterCloseData=afterCloseData;
74719
+
74720
+ this.DataStatus.LatestDay=true;
74421
74721
 
74422
74722
  if (this.DayCount>1) //多日走势图
74423
74723
  {