hqchart 1.1.13335 → 1.1.13339

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.
@@ -4041,7 +4041,11 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
4041
4041
  return item;
4042
4042
  }
4043
4043
 
4044
- this.OnSize=function(option) //{ Type:1 新版本OnSize Redraw:是否重绘, XYSplit:是否重新计算分割线 }
4044
+ /*
4045
+ { Type: 1=K线柱子宽度不变 2=K线全部显示
4046
+ Redraw:是否重绘, XYSplit:是否重新计算分割线 }
4047
+ */
4048
+ this.OnSize=function(option)
4045
4049
  {
4046
4050
  //画布大小通过div获取 如果有style里的大小 使用style里的
4047
4051
  if (this.DivElement.style.height && this.DivElement.style.width)
@@ -4102,10 +4106,14 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
4102
4106
  {
4103
4107
  if (option && option.XYSplit===true) this.JSChartContainer.ResetFrameXYSplit();
4104
4108
 
4105
- if (this.JSChartContainer.OnSize && option && option.Type==1)
4109
+ if (this.JSChartContainer.OnSize && option && option.Type==1) //K线宽度不变
4106
4110
  {
4107
4111
  this.JSChartContainer.OnSize();
4108
4112
  }
4113
+ else if (this.JSChartContainer.ShowAllKLine && option && option.Type==2)
4114
+ {
4115
+ this.JSChartContainer.ShowAllKLine();
4116
+ }
4109
4117
  else
4110
4118
  {
4111
4119
  if (this.JSChartContainer.Frame) this.JSChartContainer.Frame.SetSizeChage(true);
@@ -13687,6 +13695,16 @@ function IsRecvOverlap(rect1, rect2)
13687
13695
  return Math.max(rect1.Left,rect2.Left) < Math.min(rect1.Right,rect2.Right) && Math.max(rect1.Top,rect2.Top) < Math.min(rect1.Bottom,rect2.Bottom);
13688
13696
  }
13689
13697
 
13698
+ function CopyMerginConfig(dest,src)
13699
+ {
13700
+ if (!src || !dest) return;
13701
+
13702
+ if (IFrameSplitOperator.IsNumber(src.Left)) dest.Left=src.Left;
13703
+ if (IFrameSplitOperator.IsNumber(src.Top)) dest.Top=src.Top;
13704
+ if (IFrameSplitOperator.IsNumber(src.Right)) dest.Right=src.Right;
13705
+ if (IFrameSplitOperator.IsNumber(src.Bottom)) dest.Bottom=src.Bottom;
13706
+ }
13707
+
13690
13708
 
13691
13709
  function Point()
13692
13710
  {
@@ -59450,6 +59468,79 @@ function IChartDrawPicture()
59450
59468
  //复制
59451
59469
  //this.CopyData=function() { }
59452
59470
  //this.PtInButtons=function(x, y) { }
59471
+
59472
+
59473
+ //计算标签页大小
59474
+ this.CalculateLabelSize=function(labelInfo)
59475
+ {
59476
+ var config=labelInfo.Config;
59477
+ this.Canvas.font=config.Font;
59478
+ this.Canvas.textAlign="left";
59479
+ this.Canvas.textBaseline="top";
59480
+ var lineHeight=this.Canvas.measureText("擎").width+2;
59481
+
59482
+ var maxWidth=0, lineCount=0, labelHeight=config.Mergin.Top+config.Mergin.Bottom;
59483
+ for(var i=0;i<labelInfo.AryText.length;++i)
59484
+ {
59485
+ if (i>0) labelHeight+=config.LineSpace;
59486
+
59487
+ var item=labelInfo.AryText[i];
59488
+ item.NameWidth=0;
59489
+ item.TextWidth=0;
59490
+ if (item.Name) item.NameWidth=this.Canvas.measureText(item.Name).width+2;
59491
+ if (item.Text) item.TextWidth=this.Canvas.measureText(item.Text).width+2;
59492
+
59493
+ var itemWidth=item.NameWidth+item.TextWidth;
59494
+ if (maxWidth<itemWidth) maxWidth=itemWidth;
59495
+ ++lineCount;
59496
+
59497
+ labelHeight+=lineHeight;
59498
+ }
59499
+
59500
+ var labelWidth=maxWidth+config.Mergin.Left+config.Mergin.Right;
59501
+
59502
+ labelInfo.Width=labelWidth;
59503
+ labelInfo.Height=labelHeight;
59504
+ labelInfo.LineHeight=lineHeight;
59505
+ }
59506
+
59507
+ this.DrawDefaultLabel=function(labelInfo, rtBG)
59508
+ {
59509
+ var config=labelInfo.Config;
59510
+
59511
+ if (config.BGColor)
59512
+ {
59513
+ this.Canvas.fillStyle=config.BGColor
59514
+ this.Canvas.fillRect(ToFixedRect(rtBG.Left),ToFixedRect(rtBG.Top),ToFixedRect(rtBG.Width),ToFixedRect(rtBG.Height));
59515
+ }
59516
+
59517
+ var xText=rtBG.Left+config.Mergin.Left;
59518
+ var yText=rtBG.Top+config.Mergin.Top;
59519
+ for(var i=0;i<labelInfo.AryText.length;++i)
59520
+ {
59521
+ var item=labelInfo.AryText[i];
59522
+
59523
+ if (i>0) yText+=config.LineSpace;
59524
+
59525
+ if (item.Name)
59526
+ {
59527
+ this.Canvas.fillStyle=item.NameColor;
59528
+ this.Canvas.fillText(item.Name,xText,yText);
59529
+ }
59530
+
59531
+ if (item.Text)
59532
+ {
59533
+ var xOut=xText+item.NameWidth;
59534
+ if (config.TextAlign==1) //右对齐
59535
+ xOut=rtBG.Right-config.Mergin.Right-item.TextWidth;
59536
+
59537
+ this.Canvas.fillStyle=item.TextColor;
59538
+ this.Canvas.fillText(item.Text,xOut ,yText);
59539
+ }
59540
+
59541
+ yText+=labelInfo.LineHeight;
59542
+ }
59543
+ }
59453
59544
  }
59454
59545
 
59455
59546
  IChartDrawPicture.ColorToRGBA=function(color,opacity)
@@ -59588,7 +59679,8 @@ IChartDrawPicture.ArrayDrawPricture=
59588
59679
  { Name:"FibRetracement", ClassName:"ChartFibRetracement", Create:function() { return new ChartFibRetracement(); }}, //斐波那契回测
59589
59680
  { Name:"FibSpeedResistanceFan", ClassName:"ChartFibSpeedResistanceFan", Create:function() { return new ChartFibSpeedResistanceFan(); }}, //斐波那契扇形
59590
59681
  { Name:"PriceRange", ClassName:"ChartPriceRange", Create:function() { return new ChartPriceRange(); }},
59591
- { Name:"DateRange", ClassName:"ChartDateRange", Create:function() { return new ChartDateRange(); }}
59682
+ { Name:"DateRange", ClassName:"ChartDateRange", Create:function() { return new ChartDateRange(); }},
59683
+ { Name:"InfoLine", ClassName:"ChartInfoLine", Create:function() { return new ChartInfoLine(); }},
59592
59684
  ];
59593
59685
 
59594
59686
  IChartDrawPicture.MapIonFont=new Map(
@@ -64451,9 +64543,13 @@ function ChartDrawMonitorLine()
64451
64543
  this.LabelConfig=
64452
64544
  {
64453
64545
  Font:`${12*GetDevicePixelRatio()}px 微软雅黑`,
64454
- BGColor:"rgb(30,144,255)", YTextOffset:4,
64546
+ BGColor:"rgb(30,144,255)",
64455
64547
  LineColor:"rgba(255,215,0,0.8)",
64456
64548
  LineDash:[3,5],
64549
+
64550
+ Mergin:{ Left:5, Right:5, Top:5, Bottom:4 },
64551
+ LineSpace:5, //行间距
64552
+ TextAlign:1, //对齐方式 0=left 1=right
64457
64553
  }
64458
64554
 
64459
64555
  this.PointToValue_Backup=this.PointToValue;
@@ -64487,7 +64583,9 @@ function ChartDrawMonitorLine()
64487
64583
  if (item.BGColor) dest.BGColor=item.BGColor;
64488
64584
  if (item.LineColor) dest.LineColor=item.LineColor;
64489
64585
  if (item.LineDash) dest.LineDash=item.LineDash;
64490
- if (IFrameSplitOperator.IsNumber(item.YTextOffset)) dest.YTextOffset=item.YTextOffset;
64586
+ if (IFrameSplitOperator.IsNumber(item.LineSpace)) dest.LineSpace=item.LineSpace;
64587
+ if (IFrameSplitOperator.IsNumber(item.TextAlign)) dest.TextAlign=item.TextAlign;
64588
+ if (item.Mergin) CopyMerginConfig(dest.Mergin, item.Mergin);
64491
64589
  }
64492
64590
 
64493
64591
  if (option.FormatLabelTextCallback) this.FormatLabelTextCallback=option.FormatLabelTextCallback;
@@ -64601,6 +64699,7 @@ function ChartDrawMonitorLine()
64601
64699
  this.DrawLabel=function(labelInfo)
64602
64700
  {
64603
64701
  if (!this.FormatLabelTextCallback) return;
64702
+ labelInfo.Config=this.LabelConfig;
64604
64703
  this.FormatLabelTextCallback(labelInfo);
64605
64704
  if (!IFrameSplitOperator.IsNonEmptyArray(labelInfo.AryText)) return;
64606
64705
  if (!IFrameSplitOperator.IsNumber(labelInfo.YValue)) return;
@@ -64617,54 +64716,14 @@ function ChartDrawMonitorLine()
64617
64716
  ]
64618
64717
  */
64619
64718
 
64620
- var y=this.Frame.GetYFromData(labelInfo.YValue,false);
64621
- this.Canvas.font=this.LabelConfig.Font;
64622
- this.Canvas.textAlign="left";
64623
- this.Canvas.textBaseline="top";
64624
- var lineHeight=this.Canvas.measureText("擎").width+2;
64625
- var maxWidth=0, lineCount=0;
64626
- for(var i=0;i<labelInfo.AryText.length;++i)
64627
- {
64628
- var item=labelInfo.AryText[i];
64629
- item.NameWidth=0;
64630
- item.TextWidth=0;
64631
- if (item.Name) item.NameWidth=this.Canvas.measureText(item.Name).width+2;
64632
- if (item.Text) item.TextWidth=this.Canvas.measureText(item.Text).width+2;
64719
+ this.CalculateLabelSize(labelInfo);
64633
64720
 
64634
- var itemWidth=item.NameWidth+item.TextWidth;
64635
- if (maxWidth<itemWidth) maxWidth=itemWidth;
64636
- ++lineCount;
64637
- }
64638
-
64639
- var rtBG={ Left:labelInfo.Left+1, Top:y, Width:maxWidth+4, Height:lineHeight*lineCount+4 };
64721
+ var y=this.Frame.GetYFromData(labelInfo.YValue,false);
64722
+ var rtBG={ Left:labelInfo.Left+1, Top:y, Width:labelInfo.Width, Height:labelInfo.Height };
64640
64723
  rtBG.Right=rtBG.Left+rtBG.Width;
64641
64724
  rtBG.Bottom=rtBG.Top+rtBG.Height;
64642
- if (this.LabelConfig.BGColor)
64643
- {
64644
- this.Canvas.fillStyle=this.LabelConfig.BGColor
64645
- this.Canvas.fillRect(ToFixedRect(rtBG.Left),ToFixedRect(rtBG.Top),ToFixedRect(rtBG.Width),ToFixedRect(rtBG.Height));
64646
- }
64647
-
64648
- var xText=rtBG.Left+2;
64649
- var yText=rtBG.Top+this.LabelConfig.YTextOffset;
64650
- for(var i=0;i<labelInfo.AryText.length;++i)
64651
- {
64652
- var item=labelInfo.AryText[i];
64653
-
64654
- if (item.Name)
64655
- {
64656
- this.Canvas.fillStyle=item.NameColor;
64657
- this.Canvas.fillText(item.Name,xText,yText);
64658
- }
64659
-
64660
- if (item.Text)
64661
- {
64662
- this.Canvas.fillStyle=item.TextColor;
64663
- this.Canvas.fillText(item.Text,xText+item.NameWidth ,yText);
64664
- }
64665
-
64666
- yText+=lineHeight;
64667
- }
64725
+
64726
+ this.DrawDefaultLabel(labelInfo, rtBG);
64668
64727
  }
64669
64728
  }
64670
64729
 
@@ -68486,6 +68545,139 @@ function ChartDateRange()
68486
68545
  }
68487
68546
  }
68488
68547
 
68548
+ //线段信息统计
68549
+ function ChartInfoLine()
68550
+ {
68551
+ this.newMethod=IChartDrawPicture; //派生
68552
+ this.newMethod();
68553
+ delete this.newMethod;
68554
+
68555
+ this.ClassName='ChartInfoLine';
68556
+ this.PointCount=2;
68557
+ this.Font=12*GetDevicePixelRatio() +"px 微软雅黑";
68558
+
68559
+ this.IsPointIn=this.IsPointIn_XYValue_Line;
68560
+ this.GetXYCoordinate=this.GetXYCoordinate_default;
68561
+ this.IsShowYCoordinate=false;
68562
+ this.CopyData=this.CopyData_default;
68563
+ this.OnlyMoveXIndex=true;
68564
+ this.IsSupportMagnet=true;
68565
+
68566
+ this.LabelConfig=
68567
+ {
68568
+ Font:`${12*GetDevicePixelRatio()}px 微软雅黑`,
68569
+ BGColor:"rgba(135, 206 ,250,0.95)",
68570
+ Mergin:{ Left:10, Right:10, Top:10, Bottom:8 },
68571
+ LineSpace:5, //行间距
68572
+ TextAlign:1, //对齐方式 0=left 1=right
68573
+ }
68574
+
68575
+ this.FormatLabelTextCallback=null;
68576
+
68577
+ this.SetOption=function(option)
68578
+ {
68579
+ if (option.LineColor) this.LineColor=option.LineColor;
68580
+ if (option.Label)
68581
+ {
68582
+ var item=option.Label;
68583
+ var dest=this.LabelConfig
68584
+ if (item.Font) dest.Font=item.Font;
68585
+ if (item.BGColor) dest.BGColor=item.BGColor;
68586
+ if (IFrameSplitOperator.IsNumber(item.LineSpace)) dest.LineSpace=item.LineSpace;
68587
+ if (IFrameSplitOperator.IsNumber(item.TextAlign)) dest.TextAlign=item.TextAlign;
68588
+ if (item.Mergin) CopyMerginConfig(dest.Mergin, item.Mergin);
68589
+ }
68590
+
68591
+ if (option.FormatLabelTextCallback) this.FormatLabelTextCallback=option.FormatLabelTextCallback;
68592
+ }
68593
+
68594
+ this.Draw=function()
68595
+ {
68596
+ this.LinePoint=[];
68597
+ if (this.IsFrameMinSize()) return;
68598
+ if (!this.IsShow) return;
68599
+
68600
+ var drawPoint=this.CalculateDrawPoint( {IsCheckX:true, IsCheckY:false} );
68601
+ if (!drawPoint) return;
68602
+ if (drawPoint.length!=2) return;
68603
+
68604
+ this.ClipFrame();
68605
+
68606
+ var ptStart=drawPoint[0];
68607
+ var ptEnd=drawPoint[1];
68608
+
68609
+ this.SetLineWidth();
68610
+ this.Canvas.strokeStyle=this.LineColor;
68611
+ this.Canvas.beginPath();
68612
+ this.Canvas.moveTo(ptStart.X,ptStart.Y);
68613
+ this.Canvas.lineTo(ptEnd.X,ptEnd.Y);
68614
+ this.Canvas.stroke();
68615
+ this.RestoreLineWidth();
68616
+
68617
+ var line={Start:ptStart, End:ptEnd};
68618
+ this.LinePoint.push(line);
68619
+
68620
+ this.DrawPoint(drawPoint); //画点
68621
+
68622
+ var labelInfo={ };
68623
+ labelInfo.Config=this.LabelConfig;
68624
+ labelInfo.PtStart=ptStart;
68625
+ labelInfo.PtEnd=ptEnd;
68626
+
68627
+ this.DrawLabel(labelInfo);
68628
+
68629
+ this.Canvas.restore();
68630
+ }
68631
+
68632
+ this.DrawLabel=function(labelInfo)
68633
+ {
68634
+ if (!this.FormatLabelTextCallback) return;
68635
+
68636
+ labelInfo.AryPoint=this.Point;
68637
+ if (this.Status!=10)
68638
+ {
68639
+ labelInfo.AryValue=this.PointToKLine(this.Point);
68640
+ }
68641
+ else
68642
+ {
68643
+ labelInfo.AryValue=this.Value;
68644
+ }
68645
+
68646
+ labelInfo.Data=this.Frame.Data; //数据
68647
+
68648
+ this.FormatLabelTextCallback(labelInfo);
68649
+ if (!IFrameSplitOperator.IsNonEmptyArray(labelInfo.AryText)) return;
68650
+
68651
+ this.CalculateLabelSize(labelInfo);
68652
+
68653
+ var ptStart=labelInfo.PtStart;
68654
+ var ptEnd=labelInfo.PtEnd;
68655
+ if (ptStart.X>ptEnd.X)
68656
+ {
68657
+ ptStart=labelInfo.PtEnd;
68658
+ ptEnd=labelInfo.PtStart;
68659
+ }
68660
+
68661
+ var config=labelInfo.Config;
68662
+ var xCenter=labelInfo.PtStart.X+(labelInfo.PtEnd.X-labelInfo.PtStart.X)/2;
68663
+ var yCenter=labelInfo.PtStart.Y+(labelInfo.PtEnd.Y-labelInfo.PtStart.Y)/2;
68664
+ if (ptStart.Y<ptEnd.Y)
68665
+ {
68666
+ var rtBG={ Left:xCenter, Bottom:yCenter, Width:labelInfo.Width, Height:labelInfo.Height };
68667
+ rtBG.Right=rtBG.Left+rtBG.Width;
68668
+ rtBG.Top=rtBG.Bottom-rtBG.Height;
68669
+ }
68670
+ else
68671
+ {
68672
+ var rtBG={ Left:xCenter, Top:yCenter, Width:labelInfo.Width, Height:labelInfo.Height };
68673
+ rtBG.Right=rtBG.Left+rtBG.Width;
68674
+ rtBG.Bottom=rtBG.Top+rtBG.Height;
68675
+ }
68676
+
68677
+ this.DrawDefaultLabel(labelInfo, rtBG);
68678
+ }
68679
+ }
68680
+
68489
68681
 
68490
68682
  function ChartDrawStorage()
68491
68683
  {
@@ -73214,6 +73406,30 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
73214
73406
  }
73215
73407
  }
73216
73408
 
73409
+ this.ShowAllKLine=function()
73410
+ {
73411
+ var chart=this.ChartPaint[0];
73412
+ if (!chart) return false;
73413
+ var kData=chart.Data;
73414
+ if (!kData || !IFrameSplitOperator.IsNonEmptyArray(kData.Data)) return false;
73415
+
73416
+ var xCount=kData.Data.length+this.RightSpaceCount;
73417
+ for(var i=0;i<this.Frame.SubFrame.length;++i)
73418
+ {
73419
+ var item =this.Frame.SubFrame[i].Frame;
73420
+ item.XPointCount=xCount;
73421
+ }
73422
+
73423
+ kData.DataOffset=0;
73424
+ this.CursorIndex=0;
73425
+
73426
+ this.UpdataDataoffset(); //更新数据偏移
73427
+ this.UpdateFrameMaxMin(); //调整坐标最大 最小值
73428
+ this.Frame.SetSizeChage(true);
73429
+ this.UpdatePointByCursorIndex(2); //取消十字光标
73430
+ this.Draw();
73431
+ }
73432
+
73217
73433
  this.UpdateMainData=function(hisData, lastDataCount)
73218
73434
  {
73219
73435
  var frameHisdata=null;
@@ -135751,6 +135967,7 @@ function JSDialogDrawTool()
135751
135967
  AryChart:
135752
135968
  [
135753
135969
  { Title: '线段', ClassName: 'hqchart_drawtool icon-draw_line', Type:0, Data:{ ID:"线段" } },
135970
+ { Title: '线段信息', ClassName: 'hqchart_drawtool icon-infoline', Type:0, Data:{ ID:"InfoLine" } },
135754
135971
  { Title: '射线', ClassName: 'hqchart_drawtool icon-draw_rays', Type:0, Data:{ ID:"射线" } },
135755
135972
  { Title: '标价线', ClassName: 'hqchart_drawtool icon-price_line', Type:0, Data:{ ID:"标价线" } },
135756
135973
  { Title: '垂直线', ClassName: 'hqchart_drawtool icon-vertical_line', Type:0, Data:{ ID:"垂直线" } },
@@ -136177,6 +136394,9 @@ function JSDialogDrawTool()
136177
136394
 
136178
136395
  var name=data.Item.Data.ID;
136179
136396
  if (["icon-arrow_up","icon-arrow_down","icon-arrow_left", "icon-arrow_right"].includes(name)) option=null;
136397
+ else if (name=="InfoLine") option.FormatLabelTextCallback=(lableInfo)=>{ this.ChartInfoLine_FormatLabelText(lableInfo); }
136398
+ else if (name=="MonitorLine") option.FormatLabelTextCallback=(lableInfo)=>{ this.ChartDrawMonitorLine_FormatLabelText(lableInfo); }
136399
+
136180
136400
 
136181
136401
  this.HQChart.CreateChartDrawPicture(name, option, (chart)=>{ this.OnFinishDrawPicture(chart, data); });
136182
136402
  }
@@ -136254,6 +136474,60 @@ function JSDialogDrawTool()
136254
136474
  this.onmousemove = null;
136255
136475
  this.onmouseup = null;
136256
136476
  }
136477
+
136478
+ this.ChartInfoLine_FormatLabelText=function(labelInfo)
136479
+ {
136480
+ if (!IFrameSplitOperator.IsNonEmptyArray(labelInfo.AryValue)) return;
136481
+ if (!labelInfo.Data || !IFrameSplitOperator.IsNonEmptyArray(labelInfo.Data.Data)) return;
136482
+ for(var i=0;i<labelInfo.AryValue.length;++i)
136483
+ {
136484
+ var item=labelInfo.AryValue[i];
136485
+ if (!IFrameSplitOperator.IsNumber(item.XValue) || item.XValue<0) return;
136486
+ }
136487
+
136488
+ var startIndex=labelInfo.AryValue[0].XValue;
136489
+ var endIndex=labelInfo.AryValue[1].XValue;
136490
+ var startItem=labelInfo.Data.Data[startIndex];
136491
+ var endItem=labelInfo.Data.Data[endIndex];
136492
+ if (!startItem || !endItem) return;
136493
+
136494
+ var isMinutePeriod=ChartData.IsMinutePeriod(labelInfo.Data.Period, true);
136495
+ labelInfo.AryText=[];
136496
+ labelInfo.AryText.push({ Name:"起始日期: ", Text:IFrameSplitOperator.FormatDateString(startItem.Date), NameColor:"rgb(0,0,0)", TextColor:"rgb(30,10,30)" });
136497
+ if (isMinutePeriod) labelInfo.AryText.push({ Name:"起始时间: ", Text:IFrameSplitOperator.FormatTimeString(startItem.Time, "HH:MM"), NameColor:"rgb(0,0,0)", TextColor:"rgb(30,10,30)" });
136498
+
136499
+ labelInfo.AryText.push({ Name:"结束日期: ", Text:IFrameSplitOperator.FormatDateString(endItem.Date), NameColor:"rgb(0,0,0)", TextColor:"rgb(30,10,30)" });
136500
+ if (isMinutePeriod) labelInfo.AryText.push({ Name:"结束时间: ", Text:IFrameSplitOperator.FormatTimeString(endItem.Time, "HH:MM"), NameColor:"rgb(0,0,0)", TextColor:"rgb(30,10,30)" });
136501
+
136502
+ //示例:计算一个斜率数据
136503
+ var x=labelInfo.AryPoint[1].X-labelInfo.AryPoint[0].X;
136504
+ var y=labelInfo.AryPoint[1].Y-labelInfo.AryPoint[0].Y;
136505
+ var text="--";
136506
+ if (x!=0) text=`${(y/x).toFixed(4)}`;
136507
+ labelInfo.AryText.push({ Name:"斜率: ", Text:text, NameColor:"rgb(0,0,0)", TextColor:"rgb(238, 0, 238)"});
136508
+ labelInfo.AryText.push({ Name:"其他: ", Text:'......', NameColor:"rgb(0,0,0)", TextColor:"rgb(156, 156, 156)"});
136509
+ }
136510
+
136511
+ this.ChartDrawMonitorLine_FormatLabelText=function(labelInfo)
136512
+ {
136513
+ if (!labelInfo.Data || !IFrameSplitOperator.IsNonEmptyArray(labelInfo.Data.Data)) return;
136514
+ if (!IFrameSplitOperator.IsNumber(labelInfo.StartIndex) || labelInfo.StartIndex<0) return;
136515
+
136516
+ var startItem=labelInfo.Data.Data[labelInfo.StartIndex];
136517
+ var endItem=labelInfo.Data.Data[labelInfo.Data.Data.length-1];
136518
+ labelInfo.YValue=endItem.Close;
136519
+ var isMinutePeriod=ChartData.IsMinutePeriod(labelInfo.Data.Period, true);
136520
+
136521
+ labelInfo.AryText=[];
136522
+ labelInfo.AryText.push({ Name:"起始: ", Text:IFrameSplitOperator.FormatDateString(startItem.Date,"MM-DD"), NameColor:"rgb(0,0,0)", TextColor:"rgb(30,10,30)" });
136523
+ if (isMinutePeriod) labelInfo.AryText.push({ Name:"起始: ", Text:IFrameSplitOperator.FormatTimeString(startItem.Time, "HH:MM"), NameColor:"rgb(0,0,0)", TextColor:"rgb(30,10,30)" });
136524
+
136525
+ labelInfo.AryText.push({ Name:"最新: ", Text:IFrameSplitOperator.FormatDateString(endItem.Date,"MM-DD"), NameColor:"rgb(0,0,0)", TextColor:"rgb(30,10,30)" });
136526
+ if (isMinutePeriod) labelInfo.AryText.push({ Name:"最新: ", Text:IFrameSplitOperator.FormatTimeString(endItem.Time, "HH:MM"), NameColor:"rgb(0,0,0)", TextColor:"rgb(30,10,30)" });
136527
+
136528
+ labelInfo.AryText.push({ Name:"ɑ: ", Text:"--.--", NameColor:"rgb(0, 0 ,255)", TextColor:"rgb(255, 165, 0)"});
136529
+ labelInfo.AryText.push({ Name:"β: ", Text:"--.--", NameColor:"rgb(0 ,0 ,255)", TextColor:"rgb(238 ,121, 66)"});
136530
+ }
136257
136531
  }
136258
136532
 
136259
136533
 
@@ -136715,7 +136989,7 @@ function HQChartScriptWorker()
136715
136989
 
136716
136990
 
136717
136991
 
136718
- var HQCHART_VERSION="1.1.13334";
136992
+ var HQCHART_VERSION="1.1.13338";
136719
136993
 
136720
136994
  function PrintHQChartVersion()
136721
136995
  {