hqchart 1.1.14731 → 1.1.14742

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.
@@ -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;
@@ -7080,6 +7080,18 @@ var JSCHART_MENU_ID=
7080
7080
  CMD_REPORT_CHANGE_COLUMN_ID:105, //报价列表 切换列 Arg[Column, ]
7081
7081
  }
7082
7082
 
7083
+ var JSCHART_TRADE_STATUS_ID=
7084
+ {
7085
+ START_ID:1000, //8:45~9:15
7086
+ BEFORE_OPEN_ID:2000, //9:15~9:25 是开盘集合竞价阶段
7087
+ TRADE_ID:3000, //9:25~14:57 是连续竞价阶段
7088
+ AFTER_CLOSE_ID:4000, //14:57~15:00 是收盘集合竞价阶段
7089
+ CLOSE_ID:5000, //15:00 后,首先发 CLOSE 标志
7090
+ ENDTR_ID:6000, //交易结束
7091
+ //上面状态个位数 是停牌状态 如3001 连续交易时间段停牌
7092
+ SUSP_ID:1, //停牌
7093
+ }
7094
+
7083
7095
 
7084
7096
  function PhoneDBClick()
7085
7097
  {
@@ -7296,6 +7308,8 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
7296
7308
 
7297
7309
  //图形中的单元选中状态
7298
7310
  MapIndexChartCache:new Map(), //key 指标GUID
7311
+
7312
+ TradeStatus:null, //当前交易状态 { Date, Time:数据最后更新的时间, Status: }
7299
7313
  };
7300
7314
 
7301
7315
  this.VerticalDrag; //通过X轴左右拖动数据(手势才有)
@@ -14316,6 +14330,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
14316
14330
  frame.YSplitOperator.ChartBorder=frame.ChartBorder;
14317
14331
  frame.YSplitOperator.SplitCount=subFrame.Frame.YSplitOperator.SplitCount;
14318
14332
  frame.YSplitOperator.GetEventCallback=(id)=> { return this.GetEventCallback(id); };
14333
+ frame.YSplitOperator.HQChart=this;
14319
14334
 
14320
14335
  overlayFrame.Frame=frame;
14321
14336
 
@@ -15249,6 +15264,27 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
15249
15264
  chart.Canvas=this.Canvas;
15250
15265
  chart.ChartBorder=frame.ChartBorder;
15251
15266
  chart.ChartFrame=frame;
15267
+ chart.HQChart=this;
15268
+
15269
+ this.ChartPaintEx.push(chart);
15270
+
15271
+ return true;
15272
+ }
15273
+
15274
+ this.CreateChartPaintExtendV2=function(className, option, windowIndex)
15275
+ {
15276
+ if (windowIndex<0) return false;
15277
+ var subFrame=this.Frame.SubFrame[windowIndex];
15278
+ if (!subFrame || !subFrame.Frame) return false;
15279
+
15280
+ var chart=g_ChartPaintFactory.Create(className, option);
15281
+ if (!chart) return false;
15282
+
15283
+ var frame=subFrame.Frame;
15284
+ chart.Canvas=this.Canvas;
15285
+ chart.ChartBorder=frame.ChartBorder;
15286
+ chart.ChartFrame=frame;
15287
+ chart.HQChart=this;
15252
15288
 
15253
15289
  this.ChartPaintEx.push(chart);
15254
15290
 
@@ -15791,6 +15827,32 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
15791
15827
 
15792
15828
  return true;
15793
15829
  }
15830
+
15831
+ //是否是额外的集合竞价部分
15832
+ this.IsCallAuctionFrame=function(frameID)
15833
+ {
15834
+ return false;
15835
+ }
15836
+
15837
+ //更新交易状态
15838
+ this.UpdateTradeStatusData=function(data, option)
15839
+ {
15840
+ if (option)
15841
+ {
15842
+ //是否清空
15843
+ if (option.IsClear===true) this.GlobalOption.TradeStatus=null;
15844
+ }
15845
+
15846
+ if (!data) return false;
15847
+
15848
+ if (IFrameSplitOperator.IsNumber(data.Date) && IFrameSplitOperator.IsNumber(data.Time) && IFrameSplitOperator.IsNumber(data.Status))
15849
+ {
15850
+ this.GlobalOption.TradeStatus={ Date:data.Date, Time:data.Time, Status:data.Status };
15851
+ return true;
15852
+ }
15853
+
15854
+ return false;
15855
+ }
15794
15856
  }
15795
15857
 
15796
15858
  function GetDevicePixelRatio()
@@ -16326,6 +16388,40 @@ function ChartBorder()
16326
16388
  {
16327
16389
  return this.TitleHeight;
16328
16390
  }
16391
+
16392
+ //是否显示单日集合竞价 盘前
16393
+ this.IsShowBeforeOpen=function()
16394
+ {
16395
+ if (this.LeftExtendWidth<10) return false;
16396
+
16397
+ return true;
16398
+ }
16399
+
16400
+ //是否显示单日集合竞价 盘后
16401
+ this.IsShowAfterClose=function()
16402
+ {
16403
+ if (this.RightExtendWidth<10) return false;
16404
+
16405
+ return true;
16406
+ }
16407
+
16408
+ //是否显示多日集合竞价 盘前
16409
+ this.IsShowMultiDayBeforeOpen=function()
16410
+ {
16411
+ if (!this.MultiDayMinute) return false;
16412
+ if (this.MultiDayMinute.Count<=1 || this.MultiDayMinute.Left<=0) return false;
16413
+
16414
+ return true;
16415
+ }
16416
+
16417
+ //是否显示多日集合竞价 盘后
16418
+ this.IsShowMultiDayAfterClose=function()
16419
+ {
16420
+ if (!this.MultiDayMinute) return false;
16421
+ if (this.MultiDayMinute.Count<=1 || this.MultiDayMinute.Right<=0) return false;
16422
+
16423
+ return true;
16424
+ }
16329
16425
  }
16330
16426
 
16331
16427
  //框架外部挂接
@@ -29819,6 +29915,7 @@ function ChartPaintFactory()
29819
29915
  ["ChartMinuteVolumBar",{ Create:function(option) { return new ChartMinuteVolumBar(); } }], //分时成交量柱子
29820
29916
  ["ChartMinutePriceLine",{ Create:function(option) { return new ChartMinutePriceLine();} }],
29821
29917
  ["ChartMinuteBuySellBar", { Create:function(option){ return new ChartMinuteBuySellBar(); }}],
29918
+ ["ChartMinuteBarCallAuction", { Create:function(option){ return new ChartMinuteBarCallAuction(); }}]
29822
29919
  ]);
29823
29920
 
29824
29921
  this.Create=function(name, option)
@@ -38688,6 +38785,8 @@ function ChartMinuteVolumBar()
38688
38785
  var isHScreen=(this.ChartFrame.IsHScreen===true);
38689
38786
  var yPrice=this.YClose; //上一分钟的价格
38690
38787
  var yBottom=this.ChartFrame.GetYFromData(0);
38788
+ var yBottom=border.BottomEx;
38789
+ if (isHScreen) yBottom=border.LeftEx;
38691
38790
  var unit=this.GetVolUnit();
38692
38791
  if (callAutionData.Ver==1.0)
38693
38792
  {
@@ -38878,6 +38977,28 @@ function ChartMinuteVolumBar()
38878
38977
 
38879
38978
  }
38880
38979
 
38980
+ //只画集合竞价柱子
38981
+ function ChartMinuteBarCallAuction()
38982
+ {
38983
+ this.newMethod=ChartMinuteVolumBar; //派生
38984
+ this.newMethod();
38985
+ delete this.newMethod;
38986
+
38987
+ this.ClassName="ChartMinuteBarCallAuction";
38988
+
38989
+ this.Draw=function()
38990
+ {
38991
+ if (!this.IsShow || this.ChartFrame.IsMinSize || !this.IsVisible) return;
38992
+ if (this.IsShowIndexTitleOnly()) return;
38993
+
38994
+ this.DrawBeforeOpen();
38995
+ this.DrawMultiDayBeforeOpen();
38996
+
38997
+ this.DrawAfterClose();
38998
+ this.DrawMultiDayAfterClose();
38999
+ }
39000
+ }
39001
+
38881
39002
  function ChartErrorMessage()
38882
39003
  {
38883
39004
  this.newMethod=IChartPainting; //派生
@@ -44233,6 +44354,8 @@ function ChartOverlayMinutePriceLine()
44233
44354
  }
44234
44355
 
44235
44356
 
44357
+
44358
+
44236
44359
  //分钟持仓线
44237
44360
  function ChartMinutePositionLine()
44238
44361
  {
@@ -58277,7 +58400,7 @@ function FrameSplitY()
58277
58400
 
58278
58401
  this.RightFrameSplitY();
58279
58402
  this.MainOverlayFrameSplitY(); //主图Y轴绑定叠加Y轴坐标
58280
- this.CallAcutionSplitY(this.SplitCount,splitData);
58403
+ this.CallAcutionSplitYV2(splitData, this.Frame.HorizontalInfo.slice());
58281
58404
 
58282
58405
  if (this.EnableRemoveZero) this.RemoveZero(this.Frame.HorizontalInfo);
58283
58406
 
@@ -58358,9 +58481,177 @@ function FrameSplitY()
58358
58481
  }
58359
58482
  }
58360
58483
 
58484
+ this.CallAcutionSplitYV2=function(splitData, aryHorizontalInfo)
58485
+ {
58486
+ if (!this.IsCallAuctionFrame()) return;
58487
+ if (!IFrameSplitOperator.IsNonEmptyArray(aryHorizontalInfo)) return;
58488
+
58489
+ var aryCallAcution=this.GetCallAcutionSplitYV2(splitData,aryHorizontalInfo);
58490
+ if (!aryCallAcution) return;
58491
+
58492
+ for(var i=0; i<this.Frame.HorizontalInfo.length; ++i) //把显示的数据迁移到 Message[2] Message[3]
58493
+ {
58494
+ var item=this.Frame.HorizontalInfo[i];
58495
+ if (aryCallAcution.IsBeforeData)
58496
+ {
58497
+ item.Message[2]=item.Message[0];
58498
+ item.Message[0]=null;
58499
+ }
58500
+
58501
+ if (aryCallAcution.IsAfterData && (this.ShareAfterVol==0 || this.ShareAfterVol==2) )
58502
+ {
58503
+ item.Message[3]=item.Message[1];
58504
+ item.Message[1]=null;
58505
+ }
58506
+ }
58507
+
58508
+ //集合竞价的坐标插入最后
58509
+ for(var i=0; i<aryCallAcution.HorizontalInfo.length; ++i)
58510
+ {
58511
+ var item=aryCallAcution.HorizontalInfo[i];
58512
+ this.Frame.HorizontalInfo.push(item);
58513
+ }
58514
+ }
58515
+
58516
+ this.GetCallAcutionSplitYV2=function(splitData, arySource)
58517
+ {
58518
+ if (!this.IsCallAuctionFrame()) return null;
58519
+
58520
+ var bBeforeData=(this.IsBeforeData==true && this.BeforeOpenData && (this.BeforeOpenData.Ver==2.0 || this.BeforeOpenData.Ver==3.0));
58521
+ var bAfterData=(this.IsAfterData==true && this.AfterCloseData && (this.AfterCloseData.Ver==2.0 || this.AfterCloseData.Ver==3.0));
58522
+
58523
+ var bottom=this.Frame.ChartBorder.GetBottomEx();
58524
+ var height=this.Frame.ChartBorder.GetHeightEx();
58525
+ var bHScreen=this.Frame.IsHScreen;
58526
+ if (this.Frame.IsHScreen)
58527
+ {
58528
+ var border=this.Frame.GetBorder();
58529
+ var width=border.RightEx-border.LeftEx;
58530
+ }
58531
+
58532
+ if (bBeforeData || bAfterData)
58533
+ {
58534
+ var aryHorizontalInfo=[];
58535
+ for(var i=0;i<arySource.length;++i)
58536
+ {
58537
+ var hItem=arySource[i];
58538
+ if (!hItem || !IFrameSplitOperator.IsNumber(hItem.Value)) continue;
58539
+ var y=this.Frame.GetYFromData(hItem.Value);
58540
+
58541
+ var item=new CoordinateInfo();
58542
+ item.Value=hItem.Value;
58543
+ item.LineType=8;
58544
+ if (bBeforeData)
58545
+ {
58546
+ if (bHScreen)
58547
+ {
58548
+ var value=(y-border.LeftEx)/width*(this.BeforeOpenData.VolMax-this.BeforeOpenData.VolMin)+this.BeforeOpenData.VolMin;
58549
+ }
58550
+ else
58551
+ {
58552
+ var value=(bottom-y)/height*(this.BeforeOpenData.VolMax-this.BeforeOpenData.VolMin)+this.BeforeOpenData.VolMin;
58553
+ }
58554
+
58555
+ item.Message[0]=this.FormatValueString(value);
58556
+ }
58557
+
58558
+ if (bAfterData && (this.ShareAfterVol==0 || this.ShareAfterVol==2) )
58559
+ {
58560
+ if (bHScreen)
58561
+ {
58562
+ var value=(y-border.LeftEx)/width*(this.AfterCloseData.VolMax-this.AfterCloseData.VolMin)+this.AfterCloseData.VolMin;
58563
+ }
58564
+ else
58565
+ {
58566
+ var value=(bottom-y)/height*(this.AfterCloseData.VolMax-this.AfterCloseData.VolMin)+this.AfterCloseData.VolMin;
58567
+ }
58568
+
58569
+ item.Message[1]=this.FormatValueString(value);
58570
+ }
58571
+
58572
+ aryHorizontalInfo.push(item);
58573
+ }
58574
+
58575
+ return { HorizontalInfo:aryHorizontalInfo, IsBeforeData:bBeforeData, IsAfterData:bAfterData };
58576
+ }
58577
+
58578
+ var bMultiDayBeforeData=false, bMultiDayAfterData=false;
58579
+ var beforeDayData=null, afterDayData=null;
58580
+ if (this.MultiDayBeforeOpenData && IFrameSplitOperator.IsNonEmptyArray(this.MultiDayBeforeOpenData))
58581
+ {
58582
+ bMultiDayBeforeData=true;
58583
+ var firstDayData=this.MultiDayBeforeOpenData[0];
58584
+ if (firstDayData.Ver==2.0 || firstDayData.Ver==3.0)
58585
+ beforeDayData=firstDayData;
58586
+ }
58587
+
58588
+ if (this.MultiDayAfterCloseData && IFrameSplitOperator.IsNonEmptyArray(this.MultiDayAfterCloseData))
58589
+ {
58590
+ bMultiDayAfterData=true;
58591
+ var firstDayData=this.MultiDayAfterCloseData[0];
58592
+ if (firstDayData.Ver==2.0 || firstDayData.Ver==3.0)
58593
+ afterDayData=firstDayData;
58594
+ }
58595
+
58596
+ if (bMultiDayBeforeData || bMultiDayAfterData)
58597
+ {
58598
+ var aryHorizontalInfo=[];
58599
+ for(var i=0;i<arySource.length;++i)
58600
+ {
58601
+ var hItem=arySource[i];
58602
+ if (!hItem || !IFrameSplitOperator.IsNumber(hItem.Value)) continue;
58603
+ var y=this.Frame.GetYFromData(hItem.Value);
58604
+
58605
+ var item=new CoordinateInfo();
58606
+ item.Value=hItem.Value;
58607
+ item.LineType=9;
58608
+
58609
+ var isVaild=false;
58610
+ if (beforeDayData)
58611
+ {
58612
+ if (bHScreen)
58613
+ {
58614
+ var value=(y-border.LeftEx)/width*(beforeDayData.VolMax-beforeDayData.VolMin)+beforeDayData.VolMin;
58615
+ }
58616
+ else
58617
+ {
58618
+ var value=(bottom-y)/height*(beforeDayData.VolMax-beforeDayData.VolMin)+beforeDayData.VolMin;
58619
+ }
58620
+
58621
+ item.Message[0]=this.FormatValueString(value);
58622
+ isVaild=true;
58623
+ }
58624
+
58625
+ if (afterDayData && (this.ShareAfterVol==0 || this.ShareAfterVol==2))
58626
+ {
58627
+ if (bHScreen)
58628
+ {
58629
+ var value=(y-border.LeftEx)/width*(afterDayData.VolMax-afterDayData.VolMin)+afterDayData.VolMin;
58630
+ }
58631
+ else
58632
+ {
58633
+ var value=(bottom-y)/height*(afterDayData.VolMax-afterDayData.VolMin)+afterDayData.VolMin;
58634
+ }
58635
+
58636
+ item.Message[1]=this.FormatValueString(value);
58637
+ isVaild=true;
58638
+ }
58639
+
58640
+ if (isVaild) aryHorizontalInfo.push(item);
58641
+ }
58642
+
58643
+ if (IFrameSplitOperator.IsNonEmptyArray(aryHorizontalInfo))
58644
+ return { HorizontalInfo:aryHorizontalInfo, IsBeforeData:bMultiDayBeforeData, IsAfterData:bMultiDayAfterData };
58645
+ }
58646
+
58647
+ return null;
58648
+ }
58649
+
58650
+ /* 废弃 使用 CallAcutionSplitYV2
58361
58651
  this.CallAcutionSplitY=function(count,splitData)
58362
58652
  {
58363
- if (this.Frame.Identify!=1) return null;
58653
+ if (!this.IsCallAuctionFrame()) return;
58654
+
58364
58655
  var aryCallAcution=this.GetCallAcutionSplitY(count,splitData);
58365
58656
  if (!aryCallAcution) return;
58366
58657
 
@@ -58387,10 +58678,21 @@ function FrameSplitY()
58387
58678
  this.Frame.HorizontalInfo.push(item);
58388
58679
  }
58389
58680
  }
58681
+ */
58682
+
58683
+ this.IsCallAuctionFrame=function()
58684
+ {
58685
+ if (this.Frame.Identify==1) return true;
58686
+
58687
+ if (!this.HQChart || !this.HQChart.IsCallAuctionFrame) return false;
58688
+
58689
+ return this.HQChart.IsCallAuctionFrame(this.Frame.Identify);
58690
+ }
58390
58691
 
58692
+ /* 废弃 使用 GetCallAcutionSplitYV2
58391
58693
  this.GetCallAcutionSplitY=function(count,splitData)
58392
58694
  {
58393
- if (this.Frame.Identify!=1) return null;
58695
+ if (!this.IsCallAuctionFrame()) return null;
58394
58696
 
58395
58697
  var isBeforeData=(this.IsBeforeData==true && this.BeforeOpenData && (this.BeforeOpenData.Ver==2.0 || this.BeforeOpenData.Ver==3.0));
58396
58698
  var isAfterData=(this.IsAfterData==true && this.AfterCloseData && (this.AfterCloseData.Ver==2.0 || this.AfterCloseData.Ver==3.0));
@@ -58405,7 +58707,7 @@ function FrameSplitY()
58405
58707
  for(var i=0;i<count;++i)
58406
58708
  {
58407
58709
  var item=new CoordinateInfo();
58408
- var yValue=intervalY*i;
58710
+ var yValue=intervalY*i+splitData.Min;
58409
58711
  item.Value=yValue;
58410
58712
  item.LineType=8;
58411
58713
  if (isBeforeData )
@@ -58455,7 +58757,7 @@ function FrameSplitY()
58455
58757
  for(var i=0;i<count;++i)
58456
58758
  {
58457
58759
  var item=new CoordinateInfo();
58458
- var yValue=intervalY*i;
58760
+ var yValue=intervalY*i+splitData.Min;
58459
58761
  item.Value=yValue;
58460
58762
  item.LineType=9;
58461
58763
  var isVaild=false;
@@ -58482,6 +58784,7 @@ function FrameSplitY()
58482
58784
 
58483
58785
  return null;
58484
58786
  }
58787
+ */
58485
58788
 
58486
58789
  this.RightFrameSplitY=function()
58487
58790
  {
@@ -61799,6 +62102,7 @@ function HQPriceStringFormat()
61799
62102
  this.RComplexText; //{ Space:2 间距, Text:[ {Color:, Text: }] } 支持单行多颜色
61800
62103
  this.Point;
61801
62104
  this.ClientPos=-1;
62105
+ this.HQChart;
61802
62106
 
61803
62107
  this.ExtendChartPaint;
61804
62108
  this.RExtendText=[];
@@ -61951,6 +62255,32 @@ function HQPriceStringFormat()
61951
62255
  if (this.DataFormatType==1) this.Text=IFrameSplitOperator.FormatValueThousandsString(this.Value,defaultfloatPrecision);
61952
62256
  else this.Text=IFrameSplitOperator.FormatValueString(this.Value,defaultfloatPrecision,this.LanguageID);
61953
62257
  if (IFrameSplitOperator.IsNumber(this.RValue)) this.RText=IFrameSplitOperator.FormatValueString(this.RValue,defaultfloatPrecision,this.LanguageID);
62258
+
62259
+ var bCallAuction=false;
62260
+ if (this.HQChart && this.HQChart.IsCallAuctionFrame)
62261
+ bCallAuction=this.HQChart.IsCallAuctionFrame(this.FrameID);
62262
+
62263
+ if (bCallAuction)
62264
+ {
62265
+ if (this.ClientPos==2)
62266
+ {
62267
+ this.GetBeforeOpen();
62268
+ }
62269
+ else if (this.ClientPos==3)
62270
+ {
62271
+ if (this.ShareAfterVol==0 || this.ShareAfterVol==2)
62272
+ this.GetAfterClose();
62273
+ }
62274
+ else if (this.ClientPos>=200 && this.ClientPos<=299)
62275
+ {
62276
+ this.GetMultiDayBeforeOpen();
62277
+ }
62278
+ else if (this.ClientPos>=300 && this.ClientPos<=399 )
62279
+ {
62280
+ if (this.ShareAfterVol==0 || this.ShareAfterVol==2)
62281
+ this.GetMultiDayAfterClose();
62282
+ }
62283
+ }
61954
62284
  }
61955
62285
 
61956
62286
  if (this.GetEventCallback)
@@ -64114,7 +64444,17 @@ function DynamicMinuteTitlePainting()
64114
64444
  {
64115
64445
  this.OnDrawEventCallback(null);
64116
64446
 
64117
- if (this.IsAlwaysShowLastData)
64447
+ var bShowLastData=this.IsAlwaysShowLastData
64448
+ if (this.DrawStatus && this.DrawStatus.IsTitleShowLatestData)
64449
+ {
64450
+ var status=this.DrawStatus;
64451
+ if (!IFrameSplitOperator.IsNumber(status.FrameID) || status.FrameID<0)
64452
+ bShowLastData=true;
64453
+ else if (status.CorssCursorTouchEnd && status.IsOnTouch==false)
64454
+ bShowLastData=true;
64455
+ }
64456
+
64457
+ if (bShowLastData)
64118
64458
  {
64119
64459
  this.Canvas.save();
64120
64460
  this.DrawLastDataItem();
@@ -65089,8 +65429,11 @@ function DynamicChartTitlePainting()
65089
65429
  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
65430
  {
65091
65431
  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);
65432
+ var yRight=right;
65433
+ if (this.Frame.ToolbarCacheSize && this.Frame.ToolbarCacheSize.RToolbar) yRight=this.Frame.ToolbarCacheSize.RToolbar.Left-2; //右侧按钮宽度要去掉
65434
+ this.DrawMainCallAuction({ Left:left, Right:yRight, Bottom:bottom }, rtText, result);
65435
+ if (result.PreventDefault===false) this.DrawMainIndexTitle({ Left:left, Right:yRight, Bottom:bottom }, isShowLastData, rtText);
65436
+ if (IFrameSplitOperator.IsNumber(rtText.Bottom)) bottom=rtText.Bottom;
65094
65437
  }
65095
65438
  else
65096
65439
  {
@@ -83351,6 +83694,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
83351
83694
  this.ChartCorssCursor.StringFormatY.GetEventCallback=(id)=> { return this.GetEventCallback(id); }
83352
83695
  this.ChartCorssCursor.StringFormatY.LanguageID=this.LanguageID;
83353
83696
  this.ChartCorssCursor.StringFormatY.ExtendChartPaint=this.ExtendChartPaint;
83697
+ this.ChartCorssCursor.StringFormatY.HQChart=this;
83354
83698
  this.ChartCorssCursor.GetEventCallback=(id)=> { return this.GetEventCallback(id); }
83355
83699
  this.ChartCorssCursor.OnChangeStatusCallback=(data, obj)=>{ this.OnChangeCorssCursorStatus(data,obj); }
83356
83700
 
@@ -93218,6 +93562,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
93218
93562
  this.ChartCorssCursor.StringFormatY.GetEventCallback=(id)=> { return this.GetEventCallback(id); }
93219
93563
  this.ChartCorssCursor.StringFormatY.LanguageID=this.LanguageID;
93220
93564
  this.ChartCorssCursor.StringFormatY.ShareAfterVol=this.ShareAfterVol;
93565
+ this.ChartCorssCursor.StringFormatY.HQChart=this;
93221
93566
  this.ChartCorssCursor.CallAcutionXOperator=new CallAcutionXOperator();
93222
93567
  this.ChartCorssCursor.GetEventCallback=(id)=> { return this.GetEventCallback(id); }
93223
93568
  this.ChartCorssCursor.OnChangeStatusCallback=(data, obj)=>{ this.OnChangeCorssCursorStatus(data,obj); }
@@ -93335,6 +93680,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
93335
93680
  frame.YSplitOperator.LanguageID=this.LanguageID;
93336
93681
  frame.YSplitOperator.FrameSplitData=this.FrameSplitData.get('double');
93337
93682
  frame.YSplitOperator.GetEventCallback=(id)=> { return this.GetEventCallback(id); }
93683
+ frame.YSplitOperator.HQChart=this;
93338
93684
  if (i==1) frame.YSplitOperator.ShareAfterVol=this.ShareAfterVol;
93339
93685
  }
93340
93686
 
@@ -93410,6 +93756,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
93410
93756
  frame.YSplitOperator.FrameSplitData=this.FrameSplitData.get('double');
93411
93757
  frame.YSplitOperator.Frame=frame;
93412
93758
  frame.YSplitOperator.ChartBorder=border;
93759
+ frame.YSplitOperator.HQChart=this;
93413
93760
  frame.XSplitOperator=new FrameSplitMinuteX();
93414
93761
  frame.XSplitOperator.Frame=frame;
93415
93762
  frame.XSplitOperator.ChartBorder=border;
@@ -95172,6 +95519,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
95172
95519
  this.UpdateCallCationData(beforeOpenData,afterCloseData);
95173
95520
  this.UpdateLineColorData(aryColorData,data.stock[0].date);
95174
95521
  this.UpdateLatestMinuteData(aryMinuteData, data.stock[0].date, data.stock[0]);
95522
+ this.UpdateTradeStatusData(data.TradeStatus);
95175
95523
  this.UpdateHistoryMinuteUI(updateTime);
95176
95524
  this.RecvMinuteDataEvent({FunctionName:"RecvMinuteData"} );
95177
95525
  this.RequestOverlayMinuteData(); //请求叠加数据 (主数据下载完再下载)
@@ -95198,6 +95546,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
95198
95546
 
95199
95547
  this.ColorLineData=aryColorData;
95200
95548
 
95549
+ this.UpdateTradeStatusData(data.TradeStatus);
95201
95550
  this.UpdateMinuteUI(data.stock[0], {FunctionName:"RecvMinuteData", Day:{ IsFirstData:bFirstData} });
95202
95551
 
95203
95552
  if (data.AutoUpdate===false) //不执行自动更新
@@ -95806,6 +96155,20 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
95806
96155
  this.ChartPaint[2].MultiDayBeforeOpenData=multiBeforeOpenData;
95807
96156
  this.ChartPaint[2].MultiDayAfterCloseData=multiAfterCloseData;
95808
96157
 
96158
+ for(var i=0;i<this.ChartPaintEx.length;++i)
96159
+ {
96160
+ var item=this.ChartPaintEx[i];
96161
+ if (item.ClassName=="ChartMinuteBarCallAuction")
96162
+ {
96163
+ item.YClose=yClose;
96164
+ item.Symbol=this.Symbol;
96165
+ item.BeforeOpenData=this.BeforeOpenData;
96166
+ item.AfterCloseData=this.AfterCloseData;
96167
+ item.MultiDayBeforeOpenData=multiBeforeOpenData;
96168
+ item.MultiDayAfterCloseData=multiAfterCloseData;
96169
+ }
96170
+ }
96171
+
95809
96172
  for(var i in this.Frame.SubFrame)
95810
96173
  {
95811
96174
  var item=this.Frame.SubFrame[i];
@@ -95918,6 +96281,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
95918
96281
  frame.YSplitOperator.FrameSplitData=this.FrameSplitData.get('double');
95919
96282
  frame.YSplitOperator.Frame=frame;
95920
96283
  frame.YSplitOperator.ChartBorder=frame.ChartBorder;
96284
+ frame.YSplitOperator.HQChart=this;
95921
96285
  frame.YSplitOperator.SplitCount=subFrame.Frame.YSplitOperator.SplitCount;
95922
96286
  frame.YSplitOperator.GetEventCallback=(id)=> { return this.GetEventCallback(id); };
95923
96287
  frame.YSplitOperator.OverlayIdentify=overlayFrame.Identify;
@@ -96920,6 +97284,25 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
96920
97284
 
96921
97285
  return data;
96922
97286
  }
97287
+
97288
+ this.IsCallAuctionFrame=function(frameID)
97289
+ {
97290
+ if (!IFrameSplitOperator.IsNonEmptyArray(this.ChartPaintEx)) return false;
97291
+ if (!IFrameSplitOperator.IsNonEmptyArray(this.Frame.SubFrame)) return false;
97292
+ if (frameID<0 || frameID>=this.Frame.SubFrame.length) return false;
97293
+ var subItem=this.Frame.SubFrame[frameID];
97294
+ if (!subItem || !subItem.Frame) return false;
97295
+
97296
+ var subFrame=subItem.Frame;
97297
+ for(var i=0;i<this.ChartPaintEx.length;++i)
97298
+ {
97299
+ var item=this.ChartPaintEx[i];
97300
+ if (item.ChartFrame && item.ChartFrame.Guid==subFrame.Guid)
97301
+ return true;
97302
+ }
97303
+
97304
+ return false;
97305
+ }
96923
97306
  }
96924
97307
 
96925
97308
  //盘前数据
@@ -98743,6 +99126,7 @@ function KLineChartHScreenContainer(uielement)
98743
99126
  this.ChartCorssCursor.StringFormatY=g_DivTooltipDataForamt.Create("CorssCursor_YStringFormat");
98744
99127
  this.ChartCorssCursor.StringFormatY.LanguageID=this.LanguageID;
98745
99128
  this.ChartCorssCursor.StringFormatY.ExtendChartPaint=this.ExtendChartPaint;
99129
+ this.ChartCorssCursor.StringFormatY.HQChart=this;
98746
99130
  this.ChartCorssCursor.GetEventCallback=(id)=> { return this.GetEventCallback(id); }
98747
99131
 
98748
99132
  //创建等待提示
@@ -98924,6 +99308,7 @@ function MinuteChartHScreenContainer(uielement)
98924
99308
  this.ChartCorssCursor.StringFormatX.GetEventCallback=(id)=> { return this.GetEventCallback(id); }
98925
99309
  this.ChartCorssCursor.StringFormatY=g_DivTooltipDataForamt.Create("CorssCursor_YStringFormat");
98926
99310
  this.ChartCorssCursor.StringFormatY.GetEventCallback=(id)=> { return this.GetEventCallback(id); }
99311
+ this.ChartCorssCursor.StringFormatY.HQChart=this;
98927
99312
  this.ChartCorssCursor.CallAcutionXOperator=new CallAcutionXOperator();
98928
99313
  this.ChartCorssCursor.GetEventCallback=(id)=> { return this.GetEventCallback(id); }
98929
99314
 
@@ -99001,6 +99386,7 @@ function MinuteChartHScreenContainer(uielement)
99001
99386
  frame.YSplitOperator.LanguageID=this.LanguageID;
99002
99387
  frame.YSplitOperator.FrameSplitData=this.FrameSplitData.get('double');
99003
99388
  frame.YSplitOperator.GetEventCallback=(id)=> { return this.GetEventCallback(id); }
99389
+ frame.YSplitOperator.HQChart=this;
99004
99390
  }
99005
99391
 
99006
99392
  frame.YSplitOperator.Frame=frame;
@@ -147997,7 +148383,7 @@ function ScrollBarBGChart()
147997
148383
 
147998
148384
 
147999
148385
 
148000
- var HQCHART_VERSION="1.1.14730";
148386
+ var HQCHART_VERSION="1.1.14741";
148001
148387
 
148002
148388
  function PrintHQChartVersion()
148003
148389
  {
@@ -5,7 +5,7 @@
5
5
 
6
6
 
7
7
 
8
- var HQCHART_VERSION="1.1.14730";
8
+ var HQCHART_VERSION="1.1.14741";
9
9
 
10
10
  function PrintHQChartVersion()
11
11
  {