hqchart 1.1.14660 → 1.1.14667

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.
@@ -4728,6 +4728,7 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
4728
4728
  }
4729
4729
 
4730
4730
  if (IFrameSplitOperator.IsBool(item.EnablePrediction)) klineChart.PredictionConfig.Enable=item.EnablePrediction;
4731
+ if (IFrameSplitOperator.IsBool(item.EnableDaySummary)) klineChart.DaySummary.Enable=item.EnableDaySummary;
4731
4732
  }
4732
4733
 
4733
4734
  if(option.KLineTitle)
@@ -7065,6 +7066,7 @@ var JSCHART_MENU_ID=
7065
7066
 
7066
7067
  CMD_FULLSCREEN_SUMMARY_ID:56, //当前屏区间统计
7067
7068
  CMD_CORSS_DBCLICK_ID:57, //双击显示隐藏十字光标
7069
+ CMD_ENABLE_KLINE_DAY_SUMMARY_ID:58, //K线底部显示走完剩余时间
7068
7070
 
7069
7071
 
7070
7072
 
@@ -15038,6 +15040,13 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
15038
15040
  case JSCHART_MENU_ID.CMD_FULLSCREEN_SUMMARY_ID:
15039
15041
  this.FullScreenSummary();
15040
15042
  break;
15043
+ case JSCHART_MENU_ID.CMD_ENABLE_KLINE_DAY_SUMMARY_ID:
15044
+ if (IFrameSplitOperator.IsBool(srcParam))
15045
+ {
15046
+ this.ChartPaint[0].DaySummary.Enable=srcParam;
15047
+ this.Draw();
15048
+ }
15049
+ break;
15041
15050
  }
15042
15051
  }
15043
15052
 
@@ -15747,6 +15756,20 @@ function IsRectOverlap(rt, rt2)
15747
15756
  return false;
15748
15757
  }
15749
15758
 
15759
+ //获取文字高度和宽度
15760
+ function GetTextSize(canvas, text, option)
15761
+ {
15762
+ var data=canvas.measureText(text);
15763
+ var height=Math.abs(Math.abs(data.fontBoundingBoxAscent)+Math.abs(data.fontBoundingBoxDescent));
15764
+ var textBaseline=canvas.textBaseline;
15765
+
15766
+ if (textBaseline=="top") height=data.fontBoundingBoxDescent;
15767
+ else if (textBaseline=="bottom") height=data.fontBoundingBoxAscent;
15768
+
15769
+ var result={ Width:data.width, Height:height};
15770
+ return result;
15771
+ }
15772
+
15750
15773
  Number.prototype.toFixed2=Number.prototype.toFixed; //备份下老的
15751
15774
  Number.prototype.toFixed = function( precision )
15752
15775
  {
@@ -16273,7 +16296,7 @@ function IChartFramePainting()
16273
16296
 
16274
16297
  this.BorderLine=null; //1=上 2=下 4=左 8=右
16275
16298
  this.Buttons=[]; //按钮事件
16276
- this.LeftButtonWidth=0; //左侧按钮的宽度
16299
+ this.ToolbarCacheSize=null; //缓存工具条宽度{ RToolbar:{ Left:, Right }}
16277
16300
 
16278
16301
  this.IsMinSize=false; //窗口是否最小化
16279
16302
 
@@ -16336,6 +16359,7 @@ function IChartFramePainting()
16336
16359
  {
16337
16360
  this.Buttons=[];
16338
16361
  this.HorizontalLabel=[];
16362
+ this.ToolbarCacheSize=null;
16339
16363
  this.DrawClientBG();
16340
16364
  this.DrawFrame();
16341
16365
  this.DrawBorder();
@@ -16855,7 +16879,9 @@ function AverageWidthFrame()
16855
16879
  var right=border.Right-3;
16856
16880
  var left=border.Left;
16857
16881
  var yButton=border.Top+this.ChartBorder.TitleHeight/2;
16858
-
16882
+
16883
+ this.ToolbarCacheSize={ RToolbar:{ Right:right, Left:left }}
16884
+
16859
16885
  //右往左绘制
16860
16886
  for(var i=0;i<aryButton.length;++i)
16861
16887
  {
@@ -16881,8 +16907,12 @@ function AverageWidthFrame()
16881
16907
 
16882
16908
  this.Buttons.push({ ID:item.ID, Rect:rtButton });
16883
16909
 
16910
+ this.ToolbarCacheSize.RToolbar.Left=rtButton.Left;
16911
+
16884
16912
  right=xBotton;
16885
16913
  }
16914
+
16915
+
16886
16916
  }
16887
16917
  }
16888
16918
 
@@ -21887,7 +21917,6 @@ function KLineFrame()
21887
21917
  if (g_JSChartResource.IsDOMFrameToolbar===true) return;
21888
21918
 
21889
21919
  this.Buttons=[];
21890
- this.LeftButtonWidth=0;
21891
21920
  if (this.IsMinSize==true) return;
21892
21921
  if (this.ChartBorder.TitleHeight<5) return;
21893
21922
 
@@ -30705,6 +30734,31 @@ function ChartKLine()
30705
30734
  //面积图和收盘价线 断开点
30706
30735
  this.AryBreakPoint;
30707
30736
 
30737
+ //天数统计
30738
+ this.DaySummary={ MapDate:new Map(), Enable:false };
30739
+ this.DaySummaryConfig=
30740
+ {
30741
+ Font: g_JSChartResource.DaySummaryKLine.Font,
30742
+ TextColor: g_JSChartResource.DaySummaryKLine.TextColor
30743
+ }
30744
+
30745
+ this.AddToDaySummary=function(kItem)
30746
+ {
30747
+ if (!this.DaySummary.Enable) return false;
30748
+
30749
+ if (!kItem) return false;
30750
+ if (!IFrameSplitOperator.IsPlusNumber(kItem.Date)) return false;
30751
+
30752
+ if (this.DaySummary.MapDate.has(kItem.Date)) return false;
30753
+
30754
+ this.DaySummary.MapDate.set(kItem.Date, { Date:kItem.Date });
30755
+ }
30756
+
30757
+ this.ClearDaySummary=function()
30758
+ {
30759
+ this.DaySummary.MapDate.clear();
30760
+ }
30761
+
30708
30762
  this.BuildDateTimeKey=function(item)
30709
30763
  {
30710
30764
  if (!item) return null;
@@ -30762,6 +30816,13 @@ function ChartKLine()
30762
30816
  UnchangeColor:g_JSChartResource.PredictionKLine.Bar.UnchangeColor,
30763
30817
  DrawType:g_JSChartResource.PredictionKLine.Bar.DrawType
30764
30818
  };
30819
+
30820
+
30821
+ this.DaySummaryConfig=
30822
+ {
30823
+ Font: g_JSChartResource.DaySummaryKLine.Font,
30824
+ TextColor: g_JSChartResource.DaySummaryKLine.TextColor
30825
+ }
30765
30826
 
30766
30827
  }
30767
30828
 
@@ -31394,6 +31455,8 @@ function ChartKLine()
31394
31455
  this.ShowRange.End=i;
31395
31456
  if (!data || data.Open==null || data.High==null || data.Low==null || data.Close==null) continue;
31396
31457
 
31458
+ this.AddToDaySummary(data);
31459
+
31397
31460
  var left=xOffset;
31398
31461
  var right=xOffset+dataWidth;
31399
31462
  if (right>chartright) break;
@@ -33279,6 +33342,7 @@ function ChartKLine()
33279
33342
  if (this.IsShowIndexTitleOnly()) return;
33280
33343
  if (this.IsHideScriptIndex()) return;
33281
33344
 
33345
+ this.ClearDaySummary();
33282
33346
  this.IsShowOrderText=false;
33283
33347
  this.TooltipRect=[];
33284
33348
  this.InfoTooltipRect=[];
@@ -33417,6 +33481,8 @@ function ChartKLine()
33417
33481
  this.FFKChart.DrawMaxMinPrice();
33418
33482
  }
33419
33483
  }
33484
+
33485
+ this.DrawDaySummary();
33420
33486
  }
33421
33487
 
33422
33488
  this.OnFormatHighLowTitle=function(ptMax, ptMin)
@@ -33487,8 +33553,33 @@ function ChartKLine()
33487
33553
  else text=text+rightArrow;
33488
33554
  if (ptTop.Y>(top-2))
33489
33555
  {
33556
+ var textSize=GetTextSize(this.Canvas,text);
33557
+ var textWidth=textSize.Width;
33558
+ var textHeight=textSize.Height;
33559
+ if (this.ChartFrame.CoordinateType==1) //反转坐标
33560
+ {
33561
+ var rtText={ Width:textWidth, Height:textHeight, Top:ptTop.Y };
33562
+ rtText.Bottom=rtText.Top+rtText.Height;
33563
+ }
33564
+ else
33565
+ {
33566
+ var rtText={ Width:textWidth, Height:textHeight, Bottom:ptTop.Y };
33567
+ rtText.Top=rtText.Bottom-rtText.Height;
33568
+ }
33569
+
33570
+ if (ptTop.Align=="left")
33571
+ {
33572
+ rtText.Left=left;
33573
+ rtText.Right=rtText.Left+rtText.Width;
33574
+ }
33575
+ else
33576
+ {
33577
+ rtText.Right=left;
33578
+ rtText.Left=rtText.Right-rtText.Width;
33579
+ }
33580
+
33490
33581
  this.Canvas.fillText(text,left,ptTop.Y);
33491
- this.ChartFrame.ChartKLine.Max={X:left, Y:ptTop.Y, Text: { BaseLine:'bottom'}};
33582
+ this.ChartFrame.ChartKLine.Max={X:left, Y:ptTop.Y, Text: { BaseLine:'bottom'}, Rect:rtText };
33492
33583
  }
33493
33584
 
33494
33585
  var ptBottom=ptMin;
@@ -33517,8 +33608,33 @@ function ChartKLine()
33517
33608
  else text=text+rightArrow;
33518
33609
  if (ptBottom.Y<(bottom+1))
33519
33610
  {
33611
+ var textSize=GetTextSize(this.Canvas,text);
33612
+ var textWidth=textSize.Width;
33613
+ var textHeight=textSize.Height;
33614
+ if (this.ChartFrame.CoordinateType==1) //反转坐标
33615
+ {
33616
+ var rtText={ Width:textWidth, Height:textHeight, Bottom:ptBottom.Y };
33617
+ rtText.Top=rtText.Bottom-rtText.Height;
33618
+ }
33619
+ else
33620
+ {
33621
+ var rtText={ Width:textWidth, Height:textHeight, Top:ptBottom.Y };
33622
+ rtText.Bottom=rtText.Top+rtText.Height;
33623
+ }
33624
+
33625
+ if (ptBottom.Align=="left")
33626
+ {
33627
+ rtText.Left=left;
33628
+ rtText.Right=rtText.Left+rtText.Width;
33629
+ }
33630
+ else
33631
+ {
33632
+ rtText.Right=left;
33633
+ rtText.Left=rtText.Right-rtText.Width;
33634
+ }
33635
+
33520
33636
  this.Canvas.fillText(text,left,ptBottom.Y);
33521
- this.ChartFrame.ChartKLine.Min={X:left, Y:ptBottom.Y, Text:{ BaseLine:'top'}};
33637
+ this.ChartFrame.ChartKLine.Min={X:left, Y:ptBottom.Y, Text:{ BaseLine:'top'}, Rect:rtText };
33522
33638
  }
33523
33639
  }
33524
33640
 
@@ -35605,7 +35721,99 @@ function ChartKLine()
35605
35721
  }
35606
35722
  }
35607
35723
  }
35608
-
35724
+
35725
+ this.GetDaySummaryText=function()
35726
+ {
35727
+ var count=this.DaySummary.MapDate.size;
35728
+ if (count<=0) return null;
35729
+ if (!this.HQChart) return null;
35730
+
35731
+ var text;
35732
+ if (ChartData.IsMinutePeriod(this.Data.Period,true))
35733
+ {
35734
+ text=`${count}${g_JSChartLocalization.GetText('天',this.HQChart.LanguageID)}`;
35735
+ return text;
35736
+ }
35737
+
35738
+ if (ChartData.IsDayPeriod(this.Data.Period,true))
35739
+ {
35740
+ switch(this.Data.Period)
35741
+ {
35742
+ case 0:
35743
+ text=`${count}${g_JSChartLocalization.GetText('天',this.HQChart.LanguageID)}`;
35744
+ break;
35745
+ case 1:
35746
+ text=`${count}${g_JSChartLocalization.GetText('周',this.HQChart.LanguageID)}`;
35747
+ break;
35748
+ case 2:
35749
+ text=`${count}${g_JSChartLocalization.GetText('月',this.HQChart.LanguageID)}`;
35750
+ break;
35751
+ case 4:
35752
+ text=`${count}${g_JSChartLocalization.GetText('年',this.HQChart.LanguageID)}`;
35753
+ break;
35754
+ default:
35755
+ return null;
35756
+ }
35757
+
35758
+ return text;
35759
+ }
35760
+
35761
+ return null;
35762
+ }
35763
+
35764
+ this.DrawDaySummary=function()
35765
+ {
35766
+ if (!this.DaySummary.Enable) return;
35767
+ if (this.ChartFrame.IsHScreen===true) return;
35768
+
35769
+ var text=this.GetDaySummaryText();
35770
+ if (!text) return;
35771
+
35772
+ this.Canvas.font=this.DaySummaryConfig.Font;
35773
+
35774
+ this.Canvas.textAlign = 'left';
35775
+ this.Canvas.textBaseline = 'bottom';
35776
+
35777
+ var border=this.ChartBorder.GetBorder();
35778
+ var xText=border.Left+1;
35779
+ var yText=border.Bottom;
35780
+
35781
+ var textSize=GetTextSize(this.Canvas,text);
35782
+ var textWidth=textSize.Width;
35783
+ var textHeight=textSize.Height;
35784
+
35785
+ var rtText={ Left:xText, Bottom:yText, Width:textWidth, Height:textHeight };
35786
+ rtText.Right=rtText.Left+rtText.Width;
35787
+ rtText.Top=rtText.Bottom-rtText.Height;
35788
+
35789
+ if (this.ChartFrame.ChartKLine.Max && this.ChartFrame.ChartKLine.Max.Rect)
35790
+ {
35791
+ var rtMax=this.ChartFrame.ChartKLine.Max.Rect;
35792
+ if (IsRectOverlap(rtText,rtMax))
35793
+ {
35794
+ rtText.Left=rtMax.Right+2;
35795
+ rtText.Right=rtText.Left+rtText.Width;
35796
+ }
35797
+ }
35798
+
35799
+ if (this.ChartFrame.ChartKLine.Min && this.ChartFrame.ChartKLine.Min.Rect)
35800
+ {
35801
+ var rtMin=this.ChartFrame.ChartKLine.Min.Rect;
35802
+ if (IsRectOverlap(rtText,rtMin))
35803
+ {
35804
+ rtText.Left=rtMin.Right+2;
35805
+ rtText.Right=rtText.Left+rtText.Width;
35806
+ }
35807
+ }
35808
+
35809
+ //this.Canvas.fillStyle="rgb(100,0,100)";
35810
+ //this.Canvas.fillRect(rtText.Left,rtText.Top,rtText.Width,rtText.Height);
35811
+
35812
+ this.Canvas.fillStyle=this.DaySummaryConfig.TextColor;
35813
+ this.Canvas.fillText(text,rtText.Left,rtText.Bottom);
35814
+
35815
+ this.ClearDaySummary();
35816
+ }
35609
35817
  }
35610
35818
 
35611
35819
  function ChartColorKline()
@@ -64339,7 +64547,10 @@ function DynamicChartTitlePainting()
64339
64547
  }
64340
64548
  else
64341
64549
  {
64342
- this.DrawMainIndexTitle({ Left:left, Right:right, Bottom:bottom }, isShowLastData, rtText);
64550
+ var yRight=right;
64551
+ if (this.Frame.ToolbarCacheSize && this.Frame.ToolbarCacheSize.RToolbar) yRight=this.Frame.ToolbarCacheSize.RToolbar.Left-2; //右侧按钮宽度要去掉
64552
+ this.DrawMainIndexTitle({ Left:left, Right:yRight, Bottom:bottom }, isShowLastData, rtText);
64553
+ if (IFrameSplitOperator.IsNumber(rtText.Bottom)) bottom=rtText.Bottom;
64343
64554
  }
64344
64555
 
64345
64556
  left=rtText.Left;
@@ -64377,7 +64588,7 @@ function DynamicChartTitlePainting()
64377
64588
  if (this.OverlayIndexType.Position==1)
64378
64589
  {
64379
64590
  if (!this.Frame.ChartBorder.IsShowTitleOnly)
64380
- this.DrawOverlayIndexSingleLine(moveonPoint, mouseStatus);
64591
+ this.DrawOverlayIndexSingleLine(moveonPoint, mouseStatus, bottom+1);
64381
64592
  }
64382
64593
  else
64383
64594
  {
@@ -64569,9 +64780,11 @@ function DynamicChartTitlePainting()
64569
64780
  if (!this.IsShowMainIndexTitle) return;
64570
64781
 
64571
64782
  var left=positionInfo.Left;
64783
+ var newLineLeft=this.Frame.ChartBorder.GetLeft()+this.MerginLeft+5;
64572
64784
  var right=positionInfo.Right;
64573
64785
  var bottom=positionInfo.Bottom;
64574
64786
  var pixelRatio=GetDevicePixelRatio();
64787
+ var lineHeight=this.Canvas.measureText("擎").width+2;
64575
64788
  for(var i=0; i<this.Data.length; ++i)
64576
64789
  {
64577
64790
  var item=this.Data[i];
@@ -64611,7 +64824,12 @@ function DynamicChartTitlePainting()
64611
64824
  }
64612
64825
  }
64613
64826
 
64614
- if ((left+textWidth+space)>right) break;
64827
+ if ((left+textWidth+space)>right)
64828
+ {
64829
+ left=newLineLeft;
64830
+ bottom+=lineHeight;
64831
+ right=this.Frame.ChartBorder.GetRight(); //第2行以后 右侧边框
64832
+ }
64615
64833
 
64616
64834
  if (titleItem.BG) //背景
64617
64835
  {
@@ -64670,7 +64888,12 @@ function DynamicChartTitlePainting()
64670
64888
  }
64671
64889
  var space=this.ParamSpace*pixelRatio;
64672
64890
  var textWidth=this.Canvas.measureText(text).width+space;
64673
- if ((left+textWidth)>right) break;
64891
+ if ((left+textWidth)>right) //换行
64892
+ {
64893
+ left=newLineLeft;
64894
+ bottom+=lineHeight;
64895
+ right=this.Frame.ChartBorder.GetRight(); //第2行以后 右侧边框
64896
+ }
64674
64897
 
64675
64898
  this.Canvas.fillText(text,left,bottom,textWidth);
64676
64899
  left+=textWidth;
@@ -64678,6 +64901,7 @@ function DynamicChartTitlePainting()
64678
64901
  }
64679
64902
 
64680
64903
  rtText.Left=left;
64904
+ rtText.Bottom=bottom;
64681
64905
  }
64682
64906
 
64683
64907
  //集合竞价
@@ -64866,10 +65090,12 @@ function DynamicChartTitlePainting()
64866
65090
  return { Text:valueText, ArrayText:aryText };
64867
65091
  }
64868
65092
 
64869
- this.DrawOverlayIndexSingleLine=function(moveonPoint, mouseStatus) //叠加指标1个指标一行
65093
+ this.DrawOverlayIndexSingleLine=function(moveonPoint, mouseStatus, yTop) //叠加指标1个指标一行
64870
65094
  {
64871
65095
  var pixelRatio=GetDevicePixelRatio();
64872
65096
  var border=this.Frame.GetBorder();
65097
+ var fontHeight=GetFontHeight(this.Canvas,this.Font,"擎");
65098
+
64873
65099
  if (this.Frame.IsHScreen===true)
64874
65100
  {
64875
65101
  var left=1;
@@ -64880,6 +65106,7 @@ function DynamicChartTitlePainting()
64880
65106
  else
64881
65107
  {
64882
65108
  var top=border.TopTitle+2*pixelRatio;
65109
+ if (IFrameSplitOperator.IsNumber(yTop) && yTop>top) top=yTop+fontHeight/2+2*pixelRatio;
64883
65110
  if (!this.IsShowMainIndexTitle) top=this.Frame.ChartBorder.GetTop()+2*pixelRatio;
64884
65111
  var left=this.Frame.ChartBorder.GetLeft()+this.MerginLeft;
64885
65112
  var right=border.Right;
@@ -64889,7 +65116,6 @@ function DynamicChartTitlePainting()
64889
65116
 
64890
65117
  var lineSpace=this.OverlayIndexType.LineSpace*pixelRatio;
64891
65118
  var x=left, y=top;
64892
- var fontHeight=GetFontHeight(this.Canvas,this.Font,"擎");
64893
65119
  y=top+fontHeight/2;
64894
65120
  for(item of this.OverlayIndex)
64895
65121
  {
@@ -77689,6 +77915,12 @@ function JSChartResource()
77689
77915
  Text:{ Color:"rgb(105,105,105)", Font:`${12*GetDevicePixelRatio()}px 微软雅黑`}
77690
77916
  };
77691
77917
 
77918
+ this.DaySummaryKLine=
77919
+ {
77920
+ Font:`${12*GetDevicePixelRatio()}px 微软雅黑`,
77921
+ TextColor:"rgb(105,105,105)"
77922
+ }
77923
+
77692
77924
  //订单流配置
77693
77925
  this.OrderFlow=
77694
77926
  {
@@ -79140,6 +79372,14 @@ function JSChartResource()
79140
79372
  }
79141
79373
  }
79142
79374
 
79375
+ if (style.DaySummaryKLine)
79376
+ {
79377
+ var item=style.DaySummaryKLine;
79378
+ var dest=this.DaySummaryKLine;
79379
+ if (item.Font) dest.Font=item.Font;
79380
+ if (item.TextColor) dest.TextColor=item.TextColor;
79381
+ }
79382
+
79143
79383
  if (style.Index)
79144
79384
  {
79145
79385
  if (style.Index.LineColor) this.Index.LineColor = style.Index.LineColor;
@@ -80687,7 +80927,14 @@ function JSChartLocalization()
80687
80927
 
80688
80928
  //日盘|夜盘
80689
80929
  ["日盘",{CN:'日盘', EN:'Day', TC:'日盤'}],
80690
- ["夜盘",{CN:'夜盘', EN:'Night', TC:'夜盤'} ]
80930
+ ["夜盘",{CN:'夜盘', EN:'Night', TC:'夜盤'} ],
80931
+
80932
+
80933
+ ["天", {CN:'天', EN:'Day', TC:'天'} ],
80934
+ ["周", {CN:'周', EN:'Week', TC:'周'} ],
80935
+ ["月", {CN:'月', EN:'Month', TC:'月'} ],
80936
+ ["年", {CN:'年', EN:'Year', TC:'年'} ],
80937
+
80691
80938
  ]);
80692
80939
 
80693
80940
  this.GetText=function(key,language)
@@ -82872,6 +83119,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
82872
83119
  kline.Name="Main-KLine";
82873
83120
  kline.DrawType=this.KLineDrawType;
82874
83121
  kline.Identify="Main-KLine";
83122
+ kline.HQChart=this;
82875
83123
  kline.GetEventCallback=(id)=>{ return this.GetEventCallback(id); };
82876
83124
 
82877
83125
  this.ChartPaint[0]=kline;
@@ -87431,6 +87679,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
87431
87679
  var klineType=klineChart.DrawType;
87432
87680
  var bThinAKBar=klineChart.IsThinAKBar;
87433
87681
  var priceGap=klineChart.PriceGap; //缺口配置信息
87682
+ var bDaySummary=klineChart.DaySummary.Enable;
87434
87683
  var infoPosition=klineChart.InfoPosition;
87435
87684
  var coordinateType=null, yCoordinateType=null; //坐标类型
87436
87685
  var mainFrame=null;
@@ -87678,6 +87927,8 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
87678
87927
 
87679
87928
  { Name:"双击弹分时图", Data:{ ID:JSCHART_MENU_ID.CMD_ENABLE_POP_MINUTE_CHART_ID, Args:[!bPopMinuteChart]}, Checked:bPopMinuteChart},
87680
87929
 
87930
+ { Name:"显示走完剩余时间", Data:{ ID:JSCHART_MENU_ID.CMD_ENABLE_KLINE_DAY_SUMMARY_ID, Args:[!bDaySummary]}, Checked:bDaySummary},
87931
+
87681
87932
  { Name:JSPopMenu.SEPARATOR_LINE_NAME },
87682
87933
  {
87683
87934
  Name:"鼠标形状",
@@ -131528,6 +131779,13 @@ function GetBlackStyle()
131528
131779
  Text:{ Color:"rgb(219,220,220)", Font:`${12*GetDevicePixelRatio()}px 微软雅黑` }
131529
131780
  },
131530
131781
 
131782
+ DaySummaryKLine:
131783
+ {
131784
+ //Font:`${12*GetDevicePixelRatio()}px 微软雅黑`,
131785
+ TextColor:"rgb(255,165,0)"
131786
+ },
131787
+
131788
+
131531
131789
  //指标锁
131532
131790
  IndexLock:
131533
131791
  {
@@ -146557,6 +146815,89 @@ function ChartTReport()
146557
146815
  return null;
146558
146816
  }
146559
146817
 
146818
+ //获取一行位置 option={ Symbol:, RowIndex:}
146819
+ this.GetRowRect=function(option)
146820
+ {
146821
+ if (!this.Data) return null;
146822
+ if (!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) return null;
146823
+
146824
+ var symbol=null;
146825
+ var rowIndex=null;
146826
+ if (option)
146827
+ {
146828
+ if (option.Symbol) symbol=option.Symbol;
146829
+ if (IFrameSplitOperator.IsNumber(option.RowIndex)) rowIndex=option.RowIndex;
146830
+ }
146831
+ var top=this.RectClient.Top+this.HeaderHeight;
146832
+ var left=this.RectClient.Left;
146833
+ var right=this.RectClient.Right;
146834
+
146835
+ var textTop=top+this.FixedRowHeight*this.FixedRowCount;
146836
+ for(var i=this.Data.YOffset, j=0; i<this.Data.Data.length && j<this.RowCount ;++i, ++j, textTop+=this.RowHeight)
146837
+ {
146838
+ var exePrice=this.Data.Data[i];
146839
+ var rtRow={ Left:left, Top:textTop, Right:right, Bottom: textTop+this.RowHeight };
146840
+ rtRow.Height=rtRow.Bottom-rtRow.Top;
146841
+ rtRow.Width=rtRow.Right-rtRow.Left;
146842
+
146843
+ var data={ RectRow:rtRow, DataIndex:i, Index:j, ExePrice:exePrice };
146844
+ var item=this.GetExePriceDataCallback(exePrice);
146845
+ if (!item) continue;
146846
+
146847
+ var bLeftFind=false, bRightFind=false;
146848
+ if (symbol)
146849
+ {
146850
+ if (item.LeftData && item.LeftData.Symbol && item.LeftData.Symbol==symbol) bLeftFind=true;
146851
+ if (item.RightData && item.RightData.Symbol && item.RightData.Symbol==symbol) bRightFind=true;
146852
+ }
146853
+ else if (IFrameSplitOperator.IsNumber(rowIndex))
146854
+ {
146855
+ if (rowIndex==i)
146856
+ {
146857
+ bLeftFind=true;
146858
+ bRightFind=true;
146859
+ }
146860
+ }
146861
+
146862
+ if (bLeftFind || bRightFind)
146863
+ {
146864
+ data.Item=item;
146865
+ data.AryLeftRect=[];
146866
+ data.AryRightRect=[];
146867
+ data.ElementRect=this.UIElement.getBoundingClientRect();
146868
+ data.PixelRatio=GetDevicePixelRatio();
146869
+
146870
+ var rtCenterItem=this.GetCenterItemRect();
146871
+ var rtCenter={Left:rtCenterItem.Left, Right:rtCenterItem.Right, Top:rtRow.Top, Height:rtRow.Height, Bottom:rtRow.Bottom };
146872
+
146873
+ var xLeft=rtCenterItem.Left; //左边
146874
+ var xRight=rtCenterItem.Right; //右边
146875
+
146876
+ var reportleft=this.RectClient.Left;
146877
+ var reportRight=this.RectClient.Right;
146878
+ for(var k=this.Data.XOffset;k<this.Column.length;++k)
146879
+ {
146880
+ var colItem=this.Column[k];
146881
+ var itemWidth=colItem.Width+this.ItemExtraWidth;
146882
+ xLeft-=itemWidth;
146883
+ if (xLeft<reportleft) break;
146884
+
146885
+ var rtItem={ Left:xLeft, Right:xLeft+itemWidth, Top:rtRow.Top, Height:rtRow.Height, Bottom:rtRow.Bottom, Width:itemWidth };
146886
+ data.AryLeftRect.push({ Rect:rtItem, ColumnIndex:k, Column:colItem })
146887
+
146888
+ rtItem={ Left:xRight, Right:xRight+itemWidth, Top:rtRow.Top, Height:rtRow.Height, Bottom:rtRow.Bottom, Width:itemWidth };
146889
+ data.AryRightRect.push({ Rect:rtItem, ColumnIndex:k, Column:colItem });
146890
+
146891
+ xRight+=itemWidth;
146892
+ }
146893
+
146894
+ return data;
146895
+ }
146896
+ }
146897
+
146898
+ return null;
146899
+ }
146900
+
146560
146901
  this.PtInBody=function(x,y)
146561
146902
  {
146562
146903
  if (!this.Data) return null;
@@ -157558,7 +157899,7 @@ function HQChartScriptWorker()
157558
157899
 
157559
157900
 
157560
157901
 
157561
- var HQCHART_VERSION="1.1.14659";
157902
+ var HQCHART_VERSION="1.1.14666";
157562
157903
 
157563
157904
  function PrintHQChartVersion()
157564
157905
  {