hqchart 1.1.13142 → 1.1.13152

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.
@@ -21977,6 +21977,29 @@ function HQTradeFrame()
21977
21977
  var firstOpenPrice=frame.YSplitOperator.GetFirstOpenPrice();
21978
21978
  outObject.RightYValue=((yValue-firstOpenPrice)/firstOpenPrice*100).toFixed(2)+'%';
21979
21979
  }
21980
+
21981
+ if (frame.GetMainOverlayFrame)
21982
+ {
21983
+ var aryOverlayFrame=frame.GetMainOverlayFrame();
21984
+ if (aryOverlayFrame)
21985
+ {
21986
+ if (aryOverlayFrame[0]) //左侧
21987
+ {
21988
+ var leftFrame=aryOverlayFrame[0];
21989
+ var value=leftFrame.GetYData(y);
21990
+ outObject.RightYValue=yValue;
21991
+ yValue=value;
21992
+ }
21993
+
21994
+ if (aryOverlayFrame[1]) //右侧
21995
+ {
21996
+ var rightFrame=aryOverlayFrame[1];
21997
+ var value=rightFrame.GetYData(y);
21998
+ outObject.RightYValue=value;
21999
+ }
22000
+ }
22001
+ }
22002
+
21980
22003
  return yValue;
21981
22004
  }
21982
22005
  }
@@ -22503,7 +22526,34 @@ function HQTradeHScreenFrame()
22503
22526
  }
22504
22527
  }
22505
22528
 
22506
- if (frame!=null) return frame.GetYData(x);
22529
+ if (frame!=null)
22530
+ {
22531
+ var xValue= frame.GetYData(x);
22532
+
22533
+ if (frame.GetMainOverlayFrame)
22534
+ {
22535
+ var aryOverlayFrame=frame.GetMainOverlayFrame();
22536
+ if (aryOverlayFrame)
22537
+ {
22538
+ if (aryOverlayFrame[0]) //左侧
22539
+ {
22540
+ var leftFrame=aryOverlayFrame[0];
22541
+ var value=leftFrame.GetYData(x);
22542
+ outObject.RightYValue=xValue;
22543
+ xValue=value;
22544
+ }
22545
+
22546
+ if (aryOverlayFrame[1]) //右侧
22547
+ {
22548
+ var rightFrame=aryOverlayFrame[1];
22549
+ var value=rightFrame.GetYData(x);
22550
+ outObject.RightYValue=value;
22551
+ }
22552
+ }
22553
+ }
22554
+
22555
+ return xValue;
22556
+ }
22507
22557
  }
22508
22558
  }
22509
22559
 
@@ -28626,6 +28676,198 @@ function ChartKLine()
28626
28676
  this.PtMin=ptMin;
28627
28677
  }
28628
28678
 
28679
+ this.DrawKagi=function() //卡吉图
28680
+ {
28681
+ var isHScreen=(this.ChartFrame.IsHScreen===true);
28682
+ var dataWidth=this.ChartFrame.DataWidth;
28683
+ var distanceWidth=this.ChartFrame.DistanceWidth;
28684
+ var xPointCount=this.ChartFrame.XPointCount;
28685
+
28686
+ if (isHScreen)
28687
+ {
28688
+ var border=this.ChartBorder.GetHScreenBorder();
28689
+ var xOffset=border.TopEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;
28690
+ var chartright=border.BottomEx;
28691
+ var left=border.TopEx+g_JSChartResource.FrameLeftMargin;
28692
+ }
28693
+ else
28694
+ {
28695
+ var border=this.ChartBorder.GetBorder();
28696
+ var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;
28697
+ var chartright=border.RightEx;
28698
+ var left=border.Left+g_JSChartResource.FrameLeftMargin;
28699
+ }
28700
+
28701
+ var ptMax={X:null,Y:null,Value:null,Align:'left'};
28702
+ var ptMin={X:null,Y:null,Value:null,Align:'left'};
28703
+ this.ShowRange.Start=this.Data.DataOffset;
28704
+ this.ShowRange.End=this.ShowRange.Start;
28705
+ this.ShowRange.DataCount=0;
28706
+ this.ShowRange.ShowCount=xPointCount;
28707
+ this.DrawKRange.Start=this.Data.DataOffset;
28708
+
28709
+ var lineWidth=2*GetDevicePixelRatio();
28710
+ this.Canvas.lineWidth=lineWidth;
28711
+ var preItem={ Item:null, X:left, Y:null };
28712
+ var index=this.Data.DataOffset-1;
28713
+ if (index>=0 && index<this.Data.Data.length)
28714
+ {
28715
+ var item=this.Data.Data[index];
28716
+ preItem.Item=item;
28717
+ if (item.Direction==1) //上
28718
+ {
28719
+ preItem.Y=this.GetYFromData(item.High,false);
28720
+ }
28721
+ else if (item.Direction==2)
28722
+ {
28723
+ preItem.Y=this.GetYFromData(item.Low,false);
28724
+ }
28725
+ }
28726
+
28727
+
28728
+ for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j,xOffset+=(dataWidth+distanceWidth),++this.ShowRange.DataCount)
28729
+ {
28730
+ var data=this.Data.Data[i];
28731
+ this.ShowRange.End=i;
28732
+ if (data.Open==null || data.High==null || data.Low==null || data.Close==null) continue;
28733
+
28734
+ var left=xOffset;
28735
+ var right=xOffset+dataWidth;
28736
+ if (right>chartright) break;
28737
+ var x=left+(right-left)/2;
28738
+ var yLow=this.GetYFromData(data.Low,false);
28739
+ var yHigh=this.GetYFromData(data.High,false);
28740
+ this.DrawKRange.End=i;
28741
+
28742
+ if (ptMax.Value==null || ptMax.Value<data.High) //求最大值
28743
+ {
28744
+ ptMax.X=x;
28745
+ ptMax.Y=yHigh;
28746
+ ptMax.Value=data.High;
28747
+ ptMax.Align=j<xPointCount/2?'left':'right';
28748
+ }
28749
+
28750
+ if (ptMin.Value==null || ptMin.Value>data.Low) //求最小值
28751
+ {
28752
+ ptMin.X=x;
28753
+ ptMin.Y=yLow;
28754
+ ptMin.Value=data.Low;
28755
+ ptMin.Align=j<xPointCount/2?'left':'right';
28756
+ }
28757
+
28758
+ var xFixed=ToFixedPoint2(lineWidth,x);
28759
+
28760
+ if (preItem.Item)
28761
+ {
28762
+ this.Canvas.beginPath();
28763
+ var yFixed=ToFixedPoint2(lineWidth,preItem.Y);
28764
+
28765
+ this.Canvas.moveTo(preItem.X, yFixed);
28766
+ this.Canvas.lineTo(xFixed, yFixed);
28767
+ var prePrice=null;
28768
+ if (preItem.Item.Direction==1) prePrice=preItem.Item.Low;
28769
+ else if (preItem.Item.Direction==2) prePrice=preItem.Item.High;
28770
+
28771
+ if (data.Direction==1)
28772
+ {
28773
+ if (data.High<prePrice)
28774
+ {
28775
+ this.Canvas.lineTo(xFixed, yHigh);
28776
+ this.Canvas.strokeStyle=this.DownColor;
28777
+ this.Canvas.stroke();
28778
+ }
28779
+ else
28780
+ {
28781
+ var yPrePrice=this.GetYFromData(prePrice,false);
28782
+ this.Canvas.lineTo(xFixed, yPrePrice);
28783
+ this.Canvas.strokeStyle=this.DownColor;
28784
+ this.Canvas.stroke();
28785
+
28786
+ this.Canvas.beginPath();
28787
+ this.Canvas.moveTo(xFixed, yPrePrice);
28788
+ this.Canvas.lineTo(xFixed, yHigh);
28789
+ this.Canvas.strokeStyle=this.UpColor;
28790
+ this.Canvas.stroke();
28791
+ }
28792
+
28793
+ }
28794
+ else if (data.Direction==2)
28795
+ {
28796
+ if (data.Low>prePrice)
28797
+ {
28798
+ this.Canvas.lineTo(xFixed, yLow);
28799
+ this.Canvas.strokeStyle=this.DownColor; //阳线
28800
+ this.Canvas.stroke();
28801
+ }
28802
+ else
28803
+ {
28804
+ var yPrePrice=this.GetYFromData(prePrice,false);
28805
+ this.Canvas.lineTo(xFixed, yPrePrice);
28806
+ this.Canvas.strokeStyle=this.DownColor; //阳线
28807
+ this.Canvas.stroke();
28808
+
28809
+ this.Canvas.beginPath();
28810
+ this.Canvas.moveTo(xFixed, yPrePrice);
28811
+ this.Canvas.lineTo(xFixed, yLow);
28812
+ this.Canvas.strokeStyle=this.UpColor;
28813
+ this.Canvas.stroke();
28814
+ }
28815
+ }
28816
+
28817
+ }
28818
+ else
28819
+ {
28820
+ this.Canvas.beginPath();
28821
+ if (data.Direction==1)
28822
+ {
28823
+ this.Canvas.moveTo(xFixed, yLow);
28824
+ this.Canvas.lineTo(xFixed, yHigh);
28825
+ }
28826
+ else if (data.Direction==2)
28827
+ {
28828
+ this.Canvas.moveTo(xFixed, yHigh);
28829
+ this.Canvas.lineTo(xFixed, yLow);
28830
+ }
28831
+ this.Canvas.stroke();
28832
+ }
28833
+
28834
+ /*
28835
+ if (data.YClose<data.Close)
28836
+ {
28837
+ this.Canvas.strokeStyle=this.UpColor; //阳线
28838
+ this.Canvas.fillStyle=this.UpColor;
28839
+ }
28840
+ else if (data.YClose>data.Close)
28841
+ {
28842
+ this.Canvas.strokeStyle=this.DownColor; //阴线
28843
+ this.Canvas.fillStyle=this.DownColor;
28844
+ }
28845
+
28846
+ this.Canvas.beginPath();
28847
+ if (isHScreen)
28848
+ {
28849
+ this.Canvas.moveTo(yHigh,ToFixedPoint(x));
28850
+ this.Canvas.lineTo(yLow,ToFixedPoint(x));
28851
+ }
28852
+ else
28853
+ {
28854
+ this.Canvas.moveTo(ToFixedPoint2(lineWidth,x),yHigh);
28855
+ this.Canvas.lineTo(ToFixedPoint2(lineWidth,x),yLow);
28856
+ }
28857
+ this.Canvas.stroke();
28858
+ */
28859
+
28860
+ preItem.Item=data;
28861
+ preItem.X=x;
28862
+
28863
+ if (data.Direction==1) preItem.Y=yHigh; //上
28864
+ else if (data.Direction==2) preItem.Y=yLow //下
28865
+ }
28866
+
28867
+ this.PtMax=ptMax;
28868
+ this.PtMin=ptMin;
28869
+ }
28870
+
28629
28871
  this.DrawTrade=function() //交易系统
28630
28872
  {
28631
28873
  if (!this.TradeData) return;
@@ -29133,6 +29375,10 @@ function ChartKLine()
29133
29375
  {
29134
29376
  this.DrawHLCArea();
29135
29377
  }
29378
+ else if (this.DrawType==16)
29379
+ {
29380
+ this.DrawKagi();
29381
+ }
29136
29382
  else if (this.DrawType==17)
29137
29383
  {
29138
29384
  this.DrawOrderFlow_Style4();
@@ -49974,7 +50220,7 @@ function FrameSplitY()
49974
50220
  var item=this.Frame.HorizontalInfo[i];
49975
50221
  var y=this.Frame.GetYFromData(item.Value);
49976
50222
  var yValue=leftFrame.GetYData(y);
49977
- if (ySplitOper && ySplitOper.FormatValueString) item.Message[1] = ySplitOper.FormatValueString(yValue);
50223
+ if (ySplitOper && ySplitOper.FormatValueString) item.Message[0] = ySplitOper.FormatValueString(yValue);
49978
50224
  else item.Message[0] = this.FormatValueString(yValue);
49979
50225
  }
49980
50226
  }
@@ -52232,6 +52478,7 @@ function ChartCorssCursor()
52232
52478
 
52233
52479
  this.StringFormatY.Value=yValue;
52234
52480
  this.StringFormatY.FrameID=yValueExtend.FrameID;
52481
+ this.StringFormatY.RValue=yValueExtend.RightYValue; //右侧子坐标
52235
52482
  this.StringFormatY.Point={X:x, Y:y};
52236
52483
  this.StringFormatY.ClientPos=this.ClientPos;
52237
52484
 
@@ -53036,6 +53283,7 @@ function HQPriceStringFormat()
53036
53283
  {
53037
53284
  if (this.DataFormatType==1) this.Text=IFrameSplitOperator.FormatValueThousandsString(this.Value,defaultfloatPrecision);
53038
53285
  else this.Text=IFrameSplitOperator.FormatValueString(this.Value,defaultfloatPrecision,this.LanguageID);
53286
+ if (IFrameSplitOperator.IsNumber(this.RValue)) this.RText=IFrameSplitOperator.FormatValueString(this.RValue,defaultfloatPrecision,this.LanguageID);
53039
53287
  }
53040
53288
 
53041
53289
  if (this.GetEventCallback)
@@ -69673,20 +69921,24 @@ function RenkoCalculate()
69673
69921
  //
69674
69922
  function KagiCalculate()
69675
69923
  {
69676
- this.Symbol;
69677
- this.SourceData;
69678
- this.FloatPrecision=2; //品种小数位数
69679
- this.ATR={ Count:14 }; //使用ATR计算砖块大小
69924
+ this.newMethod=RenkoCalculate; //派生
69925
+ this.newMethod();
69926
+ delete this.newMethod;
69927
+
69928
+ this.ClassName="KagiCalculate";
69929
+ this.BrickSizeType=0;
69930
+ this.BrickSize=0.5; //固定大小
69680
69931
 
69681
69932
  this.RecvHistoryData=function(sourceData, option) //历史日线数据
69682
69933
  {
69683
69934
  this.Symbol=option.Symbol;
69684
69935
  this.SourceData=sourceData;
69685
69936
  this.FloatPrecision=GetfloatPrecision(this.Symbol);
69686
- return this.Calculate(sourceData);
69937
+ if (this.BrickSizeType==1) this.CalculateATR();
69938
+ return this.CalculateByClose(sourceData);
69687
69939
  }
69688
69940
 
69689
- this.Calculate=function(sourceData)
69941
+ this.CalculateByClose=function(sourceData)
69690
69942
  {
69691
69943
  var bindData=new ChartData();
69692
69944
  bindData.Data=[]
@@ -69697,13 +69949,139 @@ function KagiCalculate()
69697
69949
 
69698
69950
  if (!IFrameSplitOperator.IsNonEmptyArray(sourceData.Data)) return bindData;
69699
69951
 
69700
- var periodCount=this.ATR.Count;
69952
+ var brickSize=this.BrickSize;
69953
+ if (this.BrickSizeType==1) brickSize=this.ATR.BrickSize;
69701
69954
 
69702
69955
  var kItem=sourceData.Data[0];
69703
- this.LastData=HistoryData.Copy(kItem);
69704
- for(var i=1; i<sourceData.Data.length; )
69956
+ var kagiItem=HistoryData.Copy(kItem);
69957
+
69958
+ kagiItem.High=kagiItem.Low=kItem.Close;
69959
+ kagiItem.StartItem=kItem;
69960
+ kagiItem.Direction=0; //1 上 2=下
69961
+
69962
+ var T_MergeKData=function(dest, src)
69705
69963
  {
69964
+ dest.Vol+=src.Vol;
69965
+ dest.Amount+=src.Amount;
69706
69966
  }
69967
+
69968
+ var index=1;
69969
+ for( ;index<sourceData.Data.length;++index) //确定好方向
69970
+ {
69971
+ var kItem=sourceData.Data[index];
69972
+ if (kItem.Close>kagiItem.Close)
69973
+ {
69974
+ kagiItem.Direction=1;
69975
+ kagiItem.Close=kItem.Close;
69976
+ kagiItem.EndItem=kItem;
69977
+ kagiItem.High=kItem.Close;
69978
+ break;
69979
+ }
69980
+ else if (kItem.Close<kagiItem.Close)
69981
+ {
69982
+ kagiItem.Direction=2;
69983
+ kagiItem.Close=kItem.Close;
69984
+ kagiItem.EndItem=kItem;
69985
+ kagiItem.Low=kItem.Close;
69986
+ break;
69987
+ }
69988
+ }
69989
+
69990
+ var changeItem=null;
69991
+ for(++index; index<sourceData.Data.length;++index )
69992
+ {
69993
+ var kItem=sourceData.Data[index];
69994
+ if (kagiItem.Direction==1) //上
69995
+ {
69996
+ if (kItem.Close>=kagiItem.High)
69997
+ {
69998
+ kagiItem.Close=kItem.Close;
69999
+ kagiItem.High=kItem.Close;
70000
+ kagiItem.EndItem=kItem;
70001
+ changeItem=null;
70002
+ }
70003
+ else
70004
+ {
70005
+ if (!changeItem)
70006
+ {
70007
+ changeItem=HistoryData.Copy(kItem);
70008
+ changeItem.High=changeItem.Low=kItem.Close;
70009
+ }
70010
+ else
70011
+ {
70012
+ changeItem.Close=kItem.Close;
70013
+ if (changeItem.Low>kItem.Close) changeItem.Low=kItem.Close;
70014
+ }
70015
+
70016
+ if (Math.abs(changeItem.Low-kagiItem.High)>brickSize) //达到变盘点
70017
+ {
70018
+ bindData.Data.push(kagiItem);
70019
+
70020
+ var newItem=HistoryData.Copy(kItem);
70021
+ newItem.High=kagiItem.High;
70022
+ newItem.Low=kItem.Close;
70023
+ newItem.Direction=2; //1 上 2=下
70024
+ newItem.StartItem=kItem;
70025
+
70026
+ kagiItem=newItem;
70027
+ changeItem=null;
70028
+ }
70029
+ }
70030
+ }
70031
+ else if (kagiItem.Direction==2) //下
70032
+ {
70033
+ if (kItem.Close<=kagiItem.Low)
70034
+ {
70035
+ kagiItem.Close=kItem.Close;
70036
+ kagiItem.Low=kItem.Close;
70037
+ kagiItem.EndItem=kItem;
70038
+ }
70039
+ else
70040
+ {
70041
+ if (!changeItem)
70042
+ {
70043
+ changeItem=HistoryData.Copy(kItem);
70044
+ changeItem.High=changeItem.Low=kItem.Close;
70045
+ }
70046
+ else
70047
+ {
70048
+ changeItem.Close=kItem.Close;
70049
+ if (changeItem.High<kItem.Close) changeItem.High=kItem.Close;
70050
+ }
70051
+
70052
+ if (Math.abs(changeItem.High-kagiItem.Low)>brickSize) //达到变盘点
70053
+ {
70054
+ bindData.Data.push(kagiItem);
70055
+
70056
+ var newItem=HistoryData.Copy(kItem);
70057
+ newItem.High=kItem.Close;
70058
+ newItem.Low=kagiItem.Low;
70059
+ newItem.Direction=1; //1 上 2=下
70060
+ newItem.StartItem=kItem;
70061
+
70062
+ kagiItem=newItem;
70063
+ changeItem=null;
70064
+ }
70065
+ }
70066
+ }
70067
+ }
70068
+
70069
+ return bindData;
70070
+ }
70071
+
70072
+ //获取配置信息
70073
+ this.GetTitle=function()
70074
+ {
70075
+ if (this.BrickSizeType==1)
70076
+ {
70077
+ var text=`Kagi [ATR(${this.ATR.Count}), ${this.ATR.BrickSize}]`;
70078
+ }
70079
+ else
70080
+ {
70081
+ var text=`Kagi [Traditional]`;
70082
+ }
70083
+
70084
+ return text;
69707
70085
  }
69708
70086
  }
69709
70087
 
@@ -73311,12 +73689,17 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
73311
73689
  //删除某一个窗口的指标, bCallDestory=是否调用图形销毁函数
73312
73690
  this.DeleteIndexPaint=function(windowIndex, bCallDestroy)
73313
73691
  {
73314
- let paint=new Array(); //踢出当前窗口的指标画法
73315
- for(let i in this.ChartPaint)
73692
+ if (!this.Frame.SubFrame[windowIndex]) return;
73693
+ var subFrame=this.Frame.SubFrame[windowIndex].Frame;
73694
+ if (!subFrame) return;
73695
+
73696
+ var paint=[]; //踢出当前窗口的指标画法
73697
+ for(var i=0;i<this.ChartPaint.length; ++i)
73316
73698
  {
73317
- let item=this.ChartPaint[i];
73699
+ var item=this.ChartPaint[i];
73700
+ var bFind=(item.ChartFrame.Guid==subFrame.Guid || item.ChartFrame==subFrame);
73318
73701
 
73319
- if (i==0 || item.ChartFrame!=this.Frame.SubFrame[windowIndex].Frame)
73702
+ if (i==0 || !bFind)
73320
73703
  {
73321
73704
  paint.push(item);
73322
73705
  }
@@ -73329,7 +73712,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
73329
73712
  }
73330
73713
  }
73331
73714
 
73332
- var subFrame=this.Frame.SubFrame[windowIndex].Frame;
73715
+
73333
73716
  subFrame.YSpecificMaxMin=null; //清空指定最大最小值
73334
73717
  subFrame.IsLocked=false; //解除上锁
73335
73718
  subFrame.YSplitScale = null; //清空固定刻度
@@ -79063,6 +79446,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
79063
79446
  }
79064
79447
 
79065
79448
  var subFrame=new SubFrameItem();
79449
+ frame.FrameData.SubFrameItem=subFrame;
79066
79450
  subFrame.Frame=frame;
79067
79451
  if (i==0)
79068
79452
  subFrame.Height=20;
@@ -79149,6 +79533,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
79149
79533
  }
79150
79534
 
79151
79535
  var subFrame=new SubFrameItem();
79536
+ frame.FrameData.SubFrameItem=subFrame;
79152
79537
  subFrame.Frame=frame;
79153
79538
  subFrame.Height=10;
79154
79539
 
@@ -79220,12 +79605,16 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
79220
79605
  //删除某一个窗口的指标
79221
79606
  this.DeleteIndexPaint=function(windowIndex,bCallDestroy)
79222
79607
  {
79223
- let paint=new Array(); //踢出当前窗口的指标画法
79224
- for(let i in this.ChartPaint)
79608
+ var subFrame=this.Frame.SubFrame[windowIndex].Frame;
79609
+ if (!subFrame) return;
79610
+
79611
+ var paint=[]; //踢出当前窗口的指标画法
79612
+ for(var i=0;i<this.ChartPaint.length;++i)
79225
79613
  {
79226
- let item=this.ChartPaint[i];
79614
+ var item=this.ChartPaint[i];
79615
+ var bFind=(item.ChartFrame.Guid==subFrame.Guid || item.ChartFrame==subFrame);
79227
79616
 
79228
- if (i==0 || item.ChartFrame!=this.Frame.SubFrame[windowIndex].Frame)
79617
+ if (i==0 || !bFind)
79229
79618
  {
79230
79619
  paint.push(item);
79231
79620
  }
@@ -79239,7 +79628,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
79239
79628
  }
79240
79629
 
79241
79630
  //清空指定最大最小值
79242
- var subFrame=this.Frame.SubFrame[windowIndex].Frame;
79631
+
79243
79632
  subFrame.YSpecificMaxMin=null;
79244
79633
  subFrame.IsLocked=false; //解除上锁
79245
79634
  subFrame.YSplitOperator.SplitType=subFrame.YSplitOperator.DefaultSplitType; //还原Y坐标分割模式
@@ -84562,6 +84951,7 @@ function KLineChartHScreenContainer(uielement)
84562
84951
  }
84563
84952
 
84564
84953
  var subFrame=new SubFrameItem();
84954
+ frame.FrameData.SubFrameItem=subFrame;
84565
84955
  subFrame.Frame=frame;
84566
84956
  if (i==0)
84567
84957
  subFrame.Height=20;
@@ -84706,6 +85096,7 @@ function MinuteChartHScreenContainer(uielement)
84706
85096
  }
84707
85097
 
84708
85098
  var subFrame=new SubFrameItem();
85099
+ frame.FrameData.SubFrameItem=subFrame;
84709
85100
  subFrame.Frame=frame;
84710
85101
  if (i==0)
84711
85102
  subFrame.Height=20;
@@ -134324,7 +134715,7 @@ function HQChartScriptWorker()
134324
134715
 
134325
134716
 
134326
134717
 
134327
- var HQCHART_VERSION="1.1.13141";
134718
+ var HQCHART_VERSION="1.1.13151";
134328
134719
 
134329
134720
  function PrintHQChartVersion()
134330
134721
  {