hqchart 1.1.14731 → 1.1.14734

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.
@@ -1109,7 +1109,7 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
1109
1109
  if (item.BottomSpace>=0) chart.Frame.SubFrame[i].Frame.ChartBorder.BottomSpace=item.BottomSpace*pixelRatio;
1110
1110
 
1111
1111
  //是否显示关闭集合竞价按钮
1112
- if (IFrameSplitOperator.IsNumber(item.CloseBeforeButton)) chart.Frame.SubFrame[i].Frame.IsShowCloseButton=item.CloseBeforeButton;
1112
+ if (IFrameSplitOperator.IsBool(item.CloseBeforeButton)) chart.Frame.SubFrame[i].Frame.IsShowCloseButton=item.CloseBeforeButton;
1113
1113
 
1114
1114
  if (item.ClientBGColor) subFrame.ClientBGColor=item.ClientBGColor;
1115
1115
  if (!IFrameSplitOperator.IsUndefined(item.HorizontalReserved)) subFrame.HorizontalReserved=item.HorizontalReserved;
@@ -10220,6 +10220,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
10220
10220
  frame.YSplitOperator.ChartBorder=frame.ChartBorder;
10221
10221
  frame.YSplitOperator.SplitCount=subFrame.Frame.YSplitOperator.SplitCount;
10222
10222
  frame.YSplitOperator.GetEventCallback=(id)=> { return this.GetEventCallback(id); };
10223
+ frame.YSplitOperator.HQChart=this;
10223
10224
 
10224
10225
  overlayFrame.Frame=frame;
10225
10226
 
@@ -11153,6 +11154,27 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
11153
11154
  chart.Canvas=this.Canvas;
11154
11155
  chart.ChartBorder=frame.ChartBorder;
11155
11156
  chart.ChartFrame=frame;
11157
+ chart.HQChart=this;
11158
+
11159
+ this.ChartPaintEx.push(chart);
11160
+
11161
+ return true;
11162
+ }
11163
+
11164
+ this.CreateChartPaintExtendV2=function(className, option, windowIndex)
11165
+ {
11166
+ if (windowIndex<0) return false;
11167
+ var subFrame=this.Frame.SubFrame[windowIndex];
11168
+ if (!subFrame || !subFrame.Frame) return false;
11169
+
11170
+ var chart=g_ChartPaintFactory.Create(className, option);
11171
+ if (!chart) return false;
11172
+
11173
+ var frame=subFrame.Frame;
11174
+ chart.Canvas=this.Canvas;
11175
+ chart.ChartBorder=frame.ChartBorder;
11176
+ chart.ChartFrame=frame;
11177
+ chart.HQChart=this;
11156
11178
 
11157
11179
  this.ChartPaintEx.push(chart);
11158
11180
 
@@ -11695,6 +11717,12 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
11695
11717
 
11696
11718
  return true;
11697
11719
  }
11720
+
11721
+ //是否是额外的集合竞价部分
11722
+ this.IsCallAuctionFrame=function(frameID)
11723
+ {
11724
+ return false;
11725
+ }
11698
11726
  }
11699
11727
 
11700
11728
  function GetDevicePixelRatio()
@@ -25723,6 +25751,7 @@ function ChartPaintFactory()
25723
25751
  ["ChartMinuteVolumBar",{ Create:function(option) { return new ChartMinuteVolumBar(); } }], //分时成交量柱子
25724
25752
  ["ChartMinutePriceLine",{ Create:function(option) { return new ChartMinutePriceLine();} }],
25725
25753
  ["ChartMinuteBuySellBar", { Create:function(option){ return new ChartMinuteBuySellBar(); }}],
25754
+ ["ChartMinuteBarCallAuction", { Create:function(option){ return new ChartMinuteBarCallAuction(); }}]
25726
25755
  ]);
25727
25756
 
25728
25757
  this.Create=function(name, option)
@@ -34592,6 +34621,8 @@ function ChartMinuteVolumBar()
34592
34621
  var isHScreen=(this.ChartFrame.IsHScreen===true);
34593
34622
  var yPrice=this.YClose; //上一分钟的价格
34594
34623
  var yBottom=this.ChartFrame.GetYFromData(0);
34624
+ var yBottom=border.BottomEx;
34625
+ if (isHScreen) yBottom=border.LeftEx;
34595
34626
  var unit=this.GetVolUnit();
34596
34627
  if (callAutionData.Ver==1.0)
34597
34628
  {
@@ -34782,6 +34813,28 @@ function ChartMinuteVolumBar()
34782
34813
 
34783
34814
  }
34784
34815
 
34816
+ //只画集合竞价柱子
34817
+ function ChartMinuteBarCallAuction()
34818
+ {
34819
+ this.newMethod=ChartMinuteVolumBar; //派生
34820
+ this.newMethod();
34821
+ delete this.newMethod;
34822
+
34823
+ this.ClassName="ChartMinuteBarCallAuction";
34824
+
34825
+ this.Draw=function()
34826
+ {
34827
+ if (!this.IsShow || this.ChartFrame.IsMinSize || !this.IsVisible) return;
34828
+ if (this.IsShowIndexTitleOnly()) return;
34829
+
34830
+ this.DrawBeforeOpen();
34831
+ this.DrawMultiDayBeforeOpen();
34832
+
34833
+ this.DrawAfterClose();
34834
+ this.DrawMultiDayAfterClose();
34835
+ }
34836
+ }
34837
+
34785
34838
  function ChartErrorMessage()
34786
34839
  {
34787
34840
  this.newMethod=IChartPainting; //派生
@@ -40137,6 +40190,8 @@ function ChartOverlayMinutePriceLine()
40137
40190
  }
40138
40191
 
40139
40192
 
40193
+
40194
+
40140
40195
  //分钟持仓线
40141
40196
  function ChartMinutePositionLine()
40142
40197
  {
@@ -54264,7 +54319,8 @@ function FrameSplitY()
54264
54319
 
54265
54320
  this.CallAcutionSplitY=function(count,splitData)
54266
54321
  {
54267
- if (this.Frame.Identify!=1) return null;
54322
+ if (!this.IsCallAuctionFrame()) return;
54323
+
54268
54324
  var aryCallAcution=this.GetCallAcutionSplitY(count,splitData);
54269
54325
  if (!aryCallAcution) return;
54270
54326
 
@@ -54292,9 +54348,18 @@ function FrameSplitY()
54292
54348
  }
54293
54349
  }
54294
54350
 
54351
+ this.IsCallAuctionFrame=function()
54352
+ {
54353
+ if (this.Frame.Identify==1) return true;
54354
+
54355
+ if (!this.HQChart || !this.HQChart.IsCallAuctionFrame) return false;
54356
+
54357
+ return this.HQChart.IsCallAuctionFrame(this.Frame.Identify);
54358
+ }
54359
+
54295
54360
  this.GetCallAcutionSplitY=function(count,splitData)
54296
54361
  {
54297
- if (this.Frame.Identify!=1) return null;
54362
+ if (!this.IsCallAuctionFrame()) return null;
54298
54363
 
54299
54364
  var isBeforeData=(this.IsBeforeData==true && this.BeforeOpenData && (this.BeforeOpenData.Ver==2.0 || this.BeforeOpenData.Ver==3.0));
54300
54365
  var isAfterData=(this.IsAfterData==true && this.AfterCloseData && (this.AfterCloseData.Ver==2.0 || this.AfterCloseData.Ver==3.0));
@@ -54309,7 +54374,7 @@ function FrameSplitY()
54309
54374
  for(var i=0;i<count;++i)
54310
54375
  {
54311
54376
  var item=new CoordinateInfo();
54312
- var yValue=intervalY*i;
54377
+ var yValue=intervalY*i+splitData.Min;
54313
54378
  item.Value=yValue;
54314
54379
  item.LineType=8;
54315
54380
  if (isBeforeData )
@@ -54359,7 +54424,7 @@ function FrameSplitY()
54359
54424
  for(var i=0;i<count;++i)
54360
54425
  {
54361
54426
  var item=new CoordinateInfo();
54362
- var yValue=intervalY*i;
54427
+ var yValue=intervalY*i+splitData.Min;
54363
54428
  item.Value=yValue;
54364
54429
  item.LineType=9;
54365
54430
  var isVaild=false;
@@ -57703,6 +57768,7 @@ function HQPriceStringFormat()
57703
57768
  this.RComplexText; //{ Space:2 间距, Text:[ {Color:, Text: }] } 支持单行多颜色
57704
57769
  this.Point;
57705
57770
  this.ClientPos=-1;
57771
+ this.HQChart;
57706
57772
 
57707
57773
  this.ExtendChartPaint;
57708
57774
  this.RExtendText=[];
@@ -57855,6 +57921,32 @@ function HQPriceStringFormat()
57855
57921
  if (this.DataFormatType==1) this.Text=IFrameSplitOperator.FormatValueThousandsString(this.Value,defaultfloatPrecision);
57856
57922
  else this.Text=IFrameSplitOperator.FormatValueString(this.Value,defaultfloatPrecision,this.LanguageID);
57857
57923
  if (IFrameSplitOperator.IsNumber(this.RValue)) this.RText=IFrameSplitOperator.FormatValueString(this.RValue,defaultfloatPrecision,this.LanguageID);
57924
+
57925
+ var bCallAuction=false;
57926
+ if (this.HQChart && this.HQChart.IsCallAuctionFrame)
57927
+ bCallAuction=this.HQChart.IsCallAuctionFrame(this.FrameID);
57928
+
57929
+ if (bCallAuction)
57930
+ {
57931
+ if (this.ClientPos==2)
57932
+ {
57933
+ this.GetBeforeOpen();
57934
+ }
57935
+ else if (this.ClientPos==3)
57936
+ {
57937
+ if (this.ShareAfterVol==0 || this.ShareAfterVol==2)
57938
+ this.GetAfterClose();
57939
+ }
57940
+ else if (this.ClientPos>=200 && this.ClientPos<=299)
57941
+ {
57942
+ this.GetMultiDayBeforeOpen();
57943
+ }
57944
+ else if (this.ClientPos>=300 && this.ClientPos<=399 )
57945
+ {
57946
+ if (this.ShareAfterVol==0 || this.ShareAfterVol==2)
57947
+ this.GetMultiDayAfterClose();
57948
+ }
57949
+ }
57858
57950
  }
57859
57951
 
57860
57952
  if (this.GetEventCallback)
@@ -60993,8 +61085,11 @@ function DynamicChartTitlePainting()
60993
61085
  if (this.IsMinuteFrame && this.PointInfo && ( this.PointInfo.ClientPos==2 || this.PointInfo.ClientPos==3 || (this.PointInfo.ClientPos>=200&& this.PointInfo.ClientPos<=299) || (this.PointInfo.ClientPos>=300&& this.PointInfo.ClientPos<=399) ))
60994
61086
  {
60995
61087
  var result={ PreventDefault:false }
60996
- this.DrawMainCallAuction({ Left:left, Right:right, Bottom:bottom }, rtText, result);
60997
- if (result.PreventDefault===false) this.DrawMainIndexTitle({ Left:left, Right:right, Bottom:bottom }, isShowLastData, rtText);
61088
+ var yRight=right;
61089
+ if (this.Frame.ToolbarCacheSize && this.Frame.ToolbarCacheSize.RToolbar) yRight=this.Frame.ToolbarCacheSize.RToolbar.Left-2; //右侧按钮宽度要去掉
61090
+ this.DrawMainCallAuction({ Left:left, Right:yRight, Bottom:bottom }, rtText, result);
61091
+ if (result.PreventDefault===false) this.DrawMainIndexTitle({ Left:left, Right:yRight, Bottom:bottom }, isShowLastData, rtText);
61092
+ if (IFrameSplitOperator.IsNumber(rtText.Bottom)) bottom=rtText.Bottom;
60998
61093
  }
60999
61094
  else
61000
61095
  {
@@ -79255,6 +79350,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
79255
79350
  this.ChartCorssCursor.StringFormatY.GetEventCallback=(id)=> { return this.GetEventCallback(id); }
79256
79351
  this.ChartCorssCursor.StringFormatY.LanguageID=this.LanguageID;
79257
79352
  this.ChartCorssCursor.StringFormatY.ExtendChartPaint=this.ExtendChartPaint;
79353
+ this.ChartCorssCursor.StringFormatY.HQChart=this;
79258
79354
  this.ChartCorssCursor.GetEventCallback=(id)=> { return this.GetEventCallback(id); }
79259
79355
  this.ChartCorssCursor.OnChangeStatusCallback=(data, obj)=>{ this.OnChangeCorssCursorStatus(data,obj); }
79260
79356
 
@@ -89122,6 +89218,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
89122
89218
  this.ChartCorssCursor.StringFormatY.GetEventCallback=(id)=> { return this.GetEventCallback(id); }
89123
89219
  this.ChartCorssCursor.StringFormatY.LanguageID=this.LanguageID;
89124
89220
  this.ChartCorssCursor.StringFormatY.ShareAfterVol=this.ShareAfterVol;
89221
+ this.ChartCorssCursor.StringFormatY.HQChart=this;
89125
89222
  this.ChartCorssCursor.CallAcutionXOperator=new CallAcutionXOperator();
89126
89223
  this.ChartCorssCursor.GetEventCallback=(id)=> { return this.GetEventCallback(id); }
89127
89224
  this.ChartCorssCursor.OnChangeStatusCallback=(data, obj)=>{ this.OnChangeCorssCursorStatus(data,obj); }
@@ -89239,6 +89336,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
89239
89336
  frame.YSplitOperator.LanguageID=this.LanguageID;
89240
89337
  frame.YSplitOperator.FrameSplitData=this.FrameSplitData.get('double');
89241
89338
  frame.YSplitOperator.GetEventCallback=(id)=> { return this.GetEventCallback(id); }
89339
+ frame.YSplitOperator.HQChart=this;
89242
89340
  if (i==1) frame.YSplitOperator.ShareAfterVol=this.ShareAfterVol;
89243
89341
  }
89244
89342
 
@@ -89314,6 +89412,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
89314
89412
  frame.YSplitOperator.FrameSplitData=this.FrameSplitData.get('double');
89315
89413
  frame.YSplitOperator.Frame=frame;
89316
89414
  frame.YSplitOperator.ChartBorder=border;
89415
+ frame.YSplitOperator.HQChart=this;
89317
89416
  frame.XSplitOperator=new FrameSplitMinuteX();
89318
89417
  frame.XSplitOperator.Frame=frame;
89319
89418
  frame.XSplitOperator.ChartBorder=border;
@@ -91710,6 +91809,20 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
91710
91809
  this.ChartPaint[2].MultiDayBeforeOpenData=multiBeforeOpenData;
91711
91810
  this.ChartPaint[2].MultiDayAfterCloseData=multiAfterCloseData;
91712
91811
 
91812
+ for(var i=0;i<this.ChartPaintEx.length;++i)
91813
+ {
91814
+ var item=this.ChartPaintEx[i];
91815
+ if (item.ClassName=="ChartMinuteBarCallAuction")
91816
+ {
91817
+ item.YClose=yClose;
91818
+ item.Symbol=this.Symbol;
91819
+ item.BeforeOpenData=this.BeforeOpenData;
91820
+ item.AfterCloseData=this.AfterCloseData;
91821
+ item.MultiDayBeforeOpenData=multiBeforeOpenData;
91822
+ item.MultiDayAfterCloseData=multiAfterCloseData;
91823
+ }
91824
+ }
91825
+
91713
91826
  for(var i in this.Frame.SubFrame)
91714
91827
  {
91715
91828
  var item=this.Frame.SubFrame[i];
@@ -91822,6 +91935,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
91822
91935
  frame.YSplitOperator.FrameSplitData=this.FrameSplitData.get('double');
91823
91936
  frame.YSplitOperator.Frame=frame;
91824
91937
  frame.YSplitOperator.ChartBorder=frame.ChartBorder;
91938
+ frame.YSplitOperator.HQChart=this;
91825
91939
  frame.YSplitOperator.SplitCount=subFrame.Frame.YSplitOperator.SplitCount;
91826
91940
  frame.YSplitOperator.GetEventCallback=(id)=> { return this.GetEventCallback(id); };
91827
91941
  frame.YSplitOperator.OverlayIdentify=overlayFrame.Identify;
@@ -92824,6 +92938,25 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
92824
92938
 
92825
92939
  return data;
92826
92940
  }
92941
+
92942
+ this.IsCallAuctionFrame=function(frameID)
92943
+ {
92944
+ if (!IFrameSplitOperator.IsNonEmptyArray(this.ChartPaintEx)) return false;
92945
+ if (!IFrameSplitOperator.IsNonEmptyArray(this.Frame.SubFrame)) return false;
92946
+ if (frameID<0 || frameID>=this.Frame.SubFrame.length) return false;
92947
+ var subItem=this.Frame.SubFrame[frameID];
92948
+ if (!subItem || !subItem.Frame) return false;
92949
+
92950
+ var subFrame=subItem.Frame;
92951
+ for(var i=0;i<this.ChartPaintEx.length;++i)
92952
+ {
92953
+ var item=this.ChartPaintEx[i];
92954
+ if (item.ChartFrame && item.ChartFrame.Guid==subFrame.Guid)
92955
+ return true;
92956
+ }
92957
+
92958
+ return false;
92959
+ }
92827
92960
  }
92828
92961
 
92829
92962
  //盘前数据
@@ -94647,6 +94780,7 @@ function KLineChartHScreenContainer(uielement)
94647
94780
  this.ChartCorssCursor.StringFormatY=g_DivTooltipDataForamt.Create("CorssCursor_YStringFormat");
94648
94781
  this.ChartCorssCursor.StringFormatY.LanguageID=this.LanguageID;
94649
94782
  this.ChartCorssCursor.StringFormatY.ExtendChartPaint=this.ExtendChartPaint;
94783
+ this.ChartCorssCursor.StringFormatY.HQChart=this;
94650
94784
  this.ChartCorssCursor.GetEventCallback=(id)=> { return this.GetEventCallback(id); }
94651
94785
 
94652
94786
  //创建等待提示
@@ -94828,6 +94962,7 @@ function MinuteChartHScreenContainer(uielement)
94828
94962
  this.ChartCorssCursor.StringFormatX.GetEventCallback=(id)=> { return this.GetEventCallback(id); }
94829
94963
  this.ChartCorssCursor.StringFormatY=g_DivTooltipDataForamt.Create("CorssCursor_YStringFormat");
94830
94964
  this.ChartCorssCursor.StringFormatY.GetEventCallback=(id)=> { return this.GetEventCallback(id); }
94965
+ this.ChartCorssCursor.StringFormatY.HQChart=this;
94831
94966
  this.ChartCorssCursor.CallAcutionXOperator=new CallAcutionXOperator();
94832
94967
  this.ChartCorssCursor.GetEventCallback=(id)=> { return this.GetEventCallback(id); }
94833
94968
 
@@ -94905,6 +95040,7 @@ function MinuteChartHScreenContainer(uielement)
94905
95040
  frame.YSplitOperator.LanguageID=this.LanguageID;
94906
95041
  frame.YSplitOperator.FrameSplitData=this.FrameSplitData.get('double');
94907
95042
  frame.YSplitOperator.GetEventCallback=(id)=> { return this.GetEventCallback(id); }
95043
+ frame.YSplitOperator.HQChart=this;
94908
95044
  }
94909
95045
 
94910
95046
  frame.YSplitOperator.Frame=frame;
@@ -5205,7 +5205,7 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
5205
5205
  if (item.BottomSpace>=0) chart.Frame.SubFrame[i].Frame.ChartBorder.BottomSpace=item.BottomSpace*pixelRatio;
5206
5206
 
5207
5207
  //是否显示关闭集合竞价按钮
5208
- if (IFrameSplitOperator.IsNumber(item.CloseBeforeButton)) chart.Frame.SubFrame[i].Frame.IsShowCloseButton=item.CloseBeforeButton;
5208
+ if (IFrameSplitOperator.IsBool(item.CloseBeforeButton)) chart.Frame.SubFrame[i].Frame.IsShowCloseButton=item.CloseBeforeButton;
5209
5209
 
5210
5210
  if (item.ClientBGColor) subFrame.ClientBGColor=item.ClientBGColor;
5211
5211
  if (!IFrameSplitOperator.IsUndefined(item.HorizontalReserved)) subFrame.HorizontalReserved=item.HorizontalReserved;
@@ -14316,6 +14316,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
14316
14316
  frame.YSplitOperator.ChartBorder=frame.ChartBorder;
14317
14317
  frame.YSplitOperator.SplitCount=subFrame.Frame.YSplitOperator.SplitCount;
14318
14318
  frame.YSplitOperator.GetEventCallback=(id)=> { return this.GetEventCallback(id); };
14319
+ frame.YSplitOperator.HQChart=this;
14319
14320
 
14320
14321
  overlayFrame.Frame=frame;
14321
14322
 
@@ -15249,6 +15250,27 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
15249
15250
  chart.Canvas=this.Canvas;
15250
15251
  chart.ChartBorder=frame.ChartBorder;
15251
15252
  chart.ChartFrame=frame;
15253
+ chart.HQChart=this;
15254
+
15255
+ this.ChartPaintEx.push(chart);
15256
+
15257
+ return true;
15258
+ }
15259
+
15260
+ this.CreateChartPaintExtendV2=function(className, option, windowIndex)
15261
+ {
15262
+ if (windowIndex<0) return false;
15263
+ var subFrame=this.Frame.SubFrame[windowIndex];
15264
+ if (!subFrame || !subFrame.Frame) return false;
15265
+
15266
+ var chart=g_ChartPaintFactory.Create(className, option);
15267
+ if (!chart) return false;
15268
+
15269
+ var frame=subFrame.Frame;
15270
+ chart.Canvas=this.Canvas;
15271
+ chart.ChartBorder=frame.ChartBorder;
15272
+ chart.ChartFrame=frame;
15273
+ chart.HQChart=this;
15252
15274
 
15253
15275
  this.ChartPaintEx.push(chart);
15254
15276
 
@@ -15791,6 +15813,12 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
15791
15813
 
15792
15814
  return true;
15793
15815
  }
15816
+
15817
+ //是否是额外的集合竞价部分
15818
+ this.IsCallAuctionFrame=function(frameID)
15819
+ {
15820
+ return false;
15821
+ }
15794
15822
  }
15795
15823
 
15796
15824
  function GetDevicePixelRatio()
@@ -29819,6 +29847,7 @@ function ChartPaintFactory()
29819
29847
  ["ChartMinuteVolumBar",{ Create:function(option) { return new ChartMinuteVolumBar(); } }], //分时成交量柱子
29820
29848
  ["ChartMinutePriceLine",{ Create:function(option) { return new ChartMinutePriceLine();} }],
29821
29849
  ["ChartMinuteBuySellBar", { Create:function(option){ return new ChartMinuteBuySellBar(); }}],
29850
+ ["ChartMinuteBarCallAuction", { Create:function(option){ return new ChartMinuteBarCallAuction(); }}]
29822
29851
  ]);
29823
29852
 
29824
29853
  this.Create=function(name, option)
@@ -38688,6 +38717,8 @@ function ChartMinuteVolumBar()
38688
38717
  var isHScreen=(this.ChartFrame.IsHScreen===true);
38689
38718
  var yPrice=this.YClose; //上一分钟的价格
38690
38719
  var yBottom=this.ChartFrame.GetYFromData(0);
38720
+ var yBottom=border.BottomEx;
38721
+ if (isHScreen) yBottom=border.LeftEx;
38691
38722
  var unit=this.GetVolUnit();
38692
38723
  if (callAutionData.Ver==1.0)
38693
38724
  {
@@ -38878,6 +38909,28 @@ function ChartMinuteVolumBar()
38878
38909
 
38879
38910
  }
38880
38911
 
38912
+ //只画集合竞价柱子
38913
+ function ChartMinuteBarCallAuction()
38914
+ {
38915
+ this.newMethod=ChartMinuteVolumBar; //派生
38916
+ this.newMethod();
38917
+ delete this.newMethod;
38918
+
38919
+ this.ClassName="ChartMinuteBarCallAuction";
38920
+
38921
+ this.Draw=function()
38922
+ {
38923
+ if (!this.IsShow || this.ChartFrame.IsMinSize || !this.IsVisible) return;
38924
+ if (this.IsShowIndexTitleOnly()) return;
38925
+
38926
+ this.DrawBeforeOpen();
38927
+ this.DrawMultiDayBeforeOpen();
38928
+
38929
+ this.DrawAfterClose();
38930
+ this.DrawMultiDayAfterClose();
38931
+ }
38932
+ }
38933
+
38881
38934
  function ChartErrorMessage()
38882
38935
  {
38883
38936
  this.newMethod=IChartPainting; //派生
@@ -44233,6 +44286,8 @@ function ChartOverlayMinutePriceLine()
44233
44286
  }
44234
44287
 
44235
44288
 
44289
+
44290
+
44236
44291
  //分钟持仓线
44237
44292
  function ChartMinutePositionLine()
44238
44293
  {
@@ -58360,7 +58415,8 @@ function FrameSplitY()
58360
58415
 
58361
58416
  this.CallAcutionSplitY=function(count,splitData)
58362
58417
  {
58363
- if (this.Frame.Identify!=1) return null;
58418
+ if (!this.IsCallAuctionFrame()) return;
58419
+
58364
58420
  var aryCallAcution=this.GetCallAcutionSplitY(count,splitData);
58365
58421
  if (!aryCallAcution) return;
58366
58422
 
@@ -58388,9 +58444,18 @@ function FrameSplitY()
58388
58444
  }
58389
58445
  }
58390
58446
 
58447
+ this.IsCallAuctionFrame=function()
58448
+ {
58449
+ if (this.Frame.Identify==1) return true;
58450
+
58451
+ if (!this.HQChart || !this.HQChart.IsCallAuctionFrame) return false;
58452
+
58453
+ return this.HQChart.IsCallAuctionFrame(this.Frame.Identify);
58454
+ }
58455
+
58391
58456
  this.GetCallAcutionSplitY=function(count,splitData)
58392
58457
  {
58393
- if (this.Frame.Identify!=1) return null;
58458
+ if (!this.IsCallAuctionFrame()) return null;
58394
58459
 
58395
58460
  var isBeforeData=(this.IsBeforeData==true && this.BeforeOpenData && (this.BeforeOpenData.Ver==2.0 || this.BeforeOpenData.Ver==3.0));
58396
58461
  var isAfterData=(this.IsAfterData==true && this.AfterCloseData && (this.AfterCloseData.Ver==2.0 || this.AfterCloseData.Ver==3.0));
@@ -58405,7 +58470,7 @@ function FrameSplitY()
58405
58470
  for(var i=0;i<count;++i)
58406
58471
  {
58407
58472
  var item=new CoordinateInfo();
58408
- var yValue=intervalY*i;
58473
+ var yValue=intervalY*i+splitData.Min;
58409
58474
  item.Value=yValue;
58410
58475
  item.LineType=8;
58411
58476
  if (isBeforeData )
@@ -58455,7 +58520,7 @@ function FrameSplitY()
58455
58520
  for(var i=0;i<count;++i)
58456
58521
  {
58457
58522
  var item=new CoordinateInfo();
58458
- var yValue=intervalY*i;
58523
+ var yValue=intervalY*i+splitData.Min;
58459
58524
  item.Value=yValue;
58460
58525
  item.LineType=9;
58461
58526
  var isVaild=false;
@@ -61799,6 +61864,7 @@ function HQPriceStringFormat()
61799
61864
  this.RComplexText; //{ Space:2 间距, Text:[ {Color:, Text: }] } 支持单行多颜色
61800
61865
  this.Point;
61801
61866
  this.ClientPos=-1;
61867
+ this.HQChart;
61802
61868
 
61803
61869
  this.ExtendChartPaint;
61804
61870
  this.RExtendText=[];
@@ -61951,6 +62017,32 @@ function HQPriceStringFormat()
61951
62017
  if (this.DataFormatType==1) this.Text=IFrameSplitOperator.FormatValueThousandsString(this.Value,defaultfloatPrecision);
61952
62018
  else this.Text=IFrameSplitOperator.FormatValueString(this.Value,defaultfloatPrecision,this.LanguageID);
61953
62019
  if (IFrameSplitOperator.IsNumber(this.RValue)) this.RText=IFrameSplitOperator.FormatValueString(this.RValue,defaultfloatPrecision,this.LanguageID);
62020
+
62021
+ var bCallAuction=false;
62022
+ if (this.HQChart && this.HQChart.IsCallAuctionFrame)
62023
+ bCallAuction=this.HQChart.IsCallAuctionFrame(this.FrameID);
62024
+
62025
+ if (bCallAuction)
62026
+ {
62027
+ if (this.ClientPos==2)
62028
+ {
62029
+ this.GetBeforeOpen();
62030
+ }
62031
+ else if (this.ClientPos==3)
62032
+ {
62033
+ if (this.ShareAfterVol==0 || this.ShareAfterVol==2)
62034
+ this.GetAfterClose();
62035
+ }
62036
+ else if (this.ClientPos>=200 && this.ClientPos<=299)
62037
+ {
62038
+ this.GetMultiDayBeforeOpen();
62039
+ }
62040
+ else if (this.ClientPos>=300 && this.ClientPos<=399 )
62041
+ {
62042
+ if (this.ShareAfterVol==0 || this.ShareAfterVol==2)
62043
+ this.GetMultiDayAfterClose();
62044
+ }
62045
+ }
61954
62046
  }
61955
62047
 
61956
62048
  if (this.GetEventCallback)
@@ -65089,8 +65181,11 @@ function DynamicChartTitlePainting()
65089
65181
  if (this.IsMinuteFrame && this.PointInfo && ( this.PointInfo.ClientPos==2 || this.PointInfo.ClientPos==3 || (this.PointInfo.ClientPos>=200&& this.PointInfo.ClientPos<=299) || (this.PointInfo.ClientPos>=300&& this.PointInfo.ClientPos<=399) ))
65090
65182
  {
65091
65183
  var result={ PreventDefault:false }
65092
- this.DrawMainCallAuction({ Left:left, Right:right, Bottom:bottom }, rtText, result);
65093
- if (result.PreventDefault===false) this.DrawMainIndexTitle({ Left:left, Right:right, Bottom:bottom }, isShowLastData, rtText);
65184
+ var yRight=right;
65185
+ if (this.Frame.ToolbarCacheSize && this.Frame.ToolbarCacheSize.RToolbar) yRight=this.Frame.ToolbarCacheSize.RToolbar.Left-2; //右侧按钮宽度要去掉
65186
+ this.DrawMainCallAuction({ Left:left, Right:yRight, Bottom:bottom }, rtText, result);
65187
+ if (result.PreventDefault===false) this.DrawMainIndexTitle({ Left:left, Right:yRight, Bottom:bottom }, isShowLastData, rtText);
65188
+ if (IFrameSplitOperator.IsNumber(rtText.Bottom)) bottom=rtText.Bottom;
65094
65189
  }
65095
65190
  else
65096
65191
  {
@@ -83351,6 +83446,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
83351
83446
  this.ChartCorssCursor.StringFormatY.GetEventCallback=(id)=> { return this.GetEventCallback(id); }
83352
83447
  this.ChartCorssCursor.StringFormatY.LanguageID=this.LanguageID;
83353
83448
  this.ChartCorssCursor.StringFormatY.ExtendChartPaint=this.ExtendChartPaint;
83449
+ this.ChartCorssCursor.StringFormatY.HQChart=this;
83354
83450
  this.ChartCorssCursor.GetEventCallback=(id)=> { return this.GetEventCallback(id); }
83355
83451
  this.ChartCorssCursor.OnChangeStatusCallback=(data, obj)=>{ this.OnChangeCorssCursorStatus(data,obj); }
83356
83452
 
@@ -93218,6 +93314,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
93218
93314
  this.ChartCorssCursor.StringFormatY.GetEventCallback=(id)=> { return this.GetEventCallback(id); }
93219
93315
  this.ChartCorssCursor.StringFormatY.LanguageID=this.LanguageID;
93220
93316
  this.ChartCorssCursor.StringFormatY.ShareAfterVol=this.ShareAfterVol;
93317
+ this.ChartCorssCursor.StringFormatY.HQChart=this;
93221
93318
  this.ChartCorssCursor.CallAcutionXOperator=new CallAcutionXOperator();
93222
93319
  this.ChartCorssCursor.GetEventCallback=(id)=> { return this.GetEventCallback(id); }
93223
93320
  this.ChartCorssCursor.OnChangeStatusCallback=(data, obj)=>{ this.OnChangeCorssCursorStatus(data,obj); }
@@ -93335,6 +93432,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
93335
93432
  frame.YSplitOperator.LanguageID=this.LanguageID;
93336
93433
  frame.YSplitOperator.FrameSplitData=this.FrameSplitData.get('double');
93337
93434
  frame.YSplitOperator.GetEventCallback=(id)=> { return this.GetEventCallback(id); }
93435
+ frame.YSplitOperator.HQChart=this;
93338
93436
  if (i==1) frame.YSplitOperator.ShareAfterVol=this.ShareAfterVol;
93339
93437
  }
93340
93438
 
@@ -93410,6 +93508,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
93410
93508
  frame.YSplitOperator.FrameSplitData=this.FrameSplitData.get('double');
93411
93509
  frame.YSplitOperator.Frame=frame;
93412
93510
  frame.YSplitOperator.ChartBorder=border;
93511
+ frame.YSplitOperator.HQChart=this;
93413
93512
  frame.XSplitOperator=new FrameSplitMinuteX();
93414
93513
  frame.XSplitOperator.Frame=frame;
93415
93514
  frame.XSplitOperator.ChartBorder=border;
@@ -95806,6 +95905,20 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
95806
95905
  this.ChartPaint[2].MultiDayBeforeOpenData=multiBeforeOpenData;
95807
95906
  this.ChartPaint[2].MultiDayAfterCloseData=multiAfterCloseData;
95808
95907
 
95908
+ for(var i=0;i<this.ChartPaintEx.length;++i)
95909
+ {
95910
+ var item=this.ChartPaintEx[i];
95911
+ if (item.ClassName=="ChartMinuteBarCallAuction")
95912
+ {
95913
+ item.YClose=yClose;
95914
+ item.Symbol=this.Symbol;
95915
+ item.BeforeOpenData=this.BeforeOpenData;
95916
+ item.AfterCloseData=this.AfterCloseData;
95917
+ item.MultiDayBeforeOpenData=multiBeforeOpenData;
95918
+ item.MultiDayAfterCloseData=multiAfterCloseData;
95919
+ }
95920
+ }
95921
+
95809
95922
  for(var i in this.Frame.SubFrame)
95810
95923
  {
95811
95924
  var item=this.Frame.SubFrame[i];
@@ -95918,6 +96031,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
95918
96031
  frame.YSplitOperator.FrameSplitData=this.FrameSplitData.get('double');
95919
96032
  frame.YSplitOperator.Frame=frame;
95920
96033
  frame.YSplitOperator.ChartBorder=frame.ChartBorder;
96034
+ frame.YSplitOperator.HQChart=this;
95921
96035
  frame.YSplitOperator.SplitCount=subFrame.Frame.YSplitOperator.SplitCount;
95922
96036
  frame.YSplitOperator.GetEventCallback=(id)=> { return this.GetEventCallback(id); };
95923
96037
  frame.YSplitOperator.OverlayIdentify=overlayFrame.Identify;
@@ -96920,6 +97034,25 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
96920
97034
 
96921
97035
  return data;
96922
97036
  }
97037
+
97038
+ this.IsCallAuctionFrame=function(frameID)
97039
+ {
97040
+ if (!IFrameSplitOperator.IsNonEmptyArray(this.ChartPaintEx)) return false;
97041
+ if (!IFrameSplitOperator.IsNonEmptyArray(this.Frame.SubFrame)) return false;
97042
+ if (frameID<0 || frameID>=this.Frame.SubFrame.length) return false;
97043
+ var subItem=this.Frame.SubFrame[frameID];
97044
+ if (!subItem || !subItem.Frame) return false;
97045
+
97046
+ var subFrame=subItem.Frame;
97047
+ for(var i=0;i<this.ChartPaintEx.length;++i)
97048
+ {
97049
+ var item=this.ChartPaintEx[i];
97050
+ if (item.ChartFrame && item.ChartFrame.Guid==subFrame.Guid)
97051
+ return true;
97052
+ }
97053
+
97054
+ return false;
97055
+ }
96923
97056
  }
96924
97057
 
96925
97058
  //盘前数据
@@ -98743,6 +98876,7 @@ function KLineChartHScreenContainer(uielement)
98743
98876
  this.ChartCorssCursor.StringFormatY=g_DivTooltipDataForamt.Create("CorssCursor_YStringFormat");
98744
98877
  this.ChartCorssCursor.StringFormatY.LanguageID=this.LanguageID;
98745
98878
  this.ChartCorssCursor.StringFormatY.ExtendChartPaint=this.ExtendChartPaint;
98879
+ this.ChartCorssCursor.StringFormatY.HQChart=this;
98746
98880
  this.ChartCorssCursor.GetEventCallback=(id)=> { return this.GetEventCallback(id); }
98747
98881
 
98748
98882
  //创建等待提示
@@ -98924,6 +99058,7 @@ function MinuteChartHScreenContainer(uielement)
98924
99058
  this.ChartCorssCursor.StringFormatX.GetEventCallback=(id)=> { return this.GetEventCallback(id); }
98925
99059
  this.ChartCorssCursor.StringFormatY=g_DivTooltipDataForamt.Create("CorssCursor_YStringFormat");
98926
99060
  this.ChartCorssCursor.StringFormatY.GetEventCallback=(id)=> { return this.GetEventCallback(id); }
99061
+ this.ChartCorssCursor.StringFormatY.HQChart=this;
98927
99062
  this.ChartCorssCursor.CallAcutionXOperator=new CallAcutionXOperator();
98928
99063
  this.ChartCorssCursor.GetEventCallback=(id)=> { return this.GetEventCallback(id); }
98929
99064
 
@@ -99001,6 +99136,7 @@ function MinuteChartHScreenContainer(uielement)
99001
99136
  frame.YSplitOperator.LanguageID=this.LanguageID;
99002
99137
  frame.YSplitOperator.FrameSplitData=this.FrameSplitData.get('double');
99003
99138
  frame.YSplitOperator.GetEventCallback=(id)=> { return this.GetEventCallback(id); }
99139
+ frame.YSplitOperator.HQChart=this;
99004
99140
  }
99005
99141
 
99006
99142
  frame.YSplitOperator.Frame=frame;
@@ -147997,7 +148133,7 @@ function ScrollBarBGChart()
147997
148133
 
147998
148134
 
147999
148135
 
148000
- var HQCHART_VERSION="1.1.14730";
148136
+ var HQCHART_VERSION="1.1.14733";
148001
148137
 
148002
148138
  function PrintHQChartVersion()
148003
148139
  {
@@ -5,7 +5,7 @@
5
5
 
6
6
 
7
7
 
8
- var HQCHART_VERSION="1.1.14730";
8
+ var HQCHART_VERSION="1.1.14733";
9
9
 
10
10
  function PrintHQChartVersion()
11
11
  {