hqchart 1.1.13921 → 1.1.13928

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.
@@ -1332,6 +1332,8 @@ HQData.Keyboard_RequestSymbolList=function(data, callback)
1332
1332
  }
1333
1333
 
1334
1334
  arySymbol.push( { Symbol:"ICL8.cfe", Name:"中证主连", ShortSymbol:"ICL8", Spell:"ICL8", Type:"期货", TypeName:"期货", Data:{ Symbol:"ICL8.cfe", Type:0 } } );
1335
+ arySymbol.push( { Symbol:"IML8.cfe", Name:"中千主连", ShortSymbol:"IML8", Spell:"IML8", Type:"期货", TypeName:"期货", Data:{ Symbol:"IML8.cfe", Type:0 } } );
1336
+ arySymbol.push( { Symbol:"IFL8.cfe", Name:"沪深主连", ShortSymbol:"IFL8", Spell:"IFL8", Type:"期货", TypeName:"期货", Data:{ Symbol:"IFL8.cfe", Type:0 } } );
1335
1337
 
1336
1338
  arySymbol.push( { Symbol:"01", Name:"分时成交明细", TypeName:"功能键", Priority:1, Color:"rgb(220,20,60)" , Data:{ PageName:"分时成交明细", Type:2 }} );
1337
1339
  arySymbol.push( { Symbol:"02", Name:"分价表", TypeName:"功能键", Priority:1, Color:"rgb(220,20,60)" ,Data:{ PageName:"分价表", Type:2 }} );
@@ -1390,6 +1392,15 @@ HQData.GetM1KLineDataBySymbol=function(symbol)
1390
1392
  case "399006.sz":
1391
1393
  data=SZ_399006_M1_KLINE;
1392
1394
  break;
1395
+ case "ICL8.cfe":
1396
+ data=CFE_ICL8_M1_KLINE;
1397
+ break;
1398
+ case "IML8.cfe":
1399
+ data=CFE_IML8_M1_KLINE;
1400
+ break;
1401
+ case "IFL8.cfe":
1402
+ data=CFE_IFL8_M1_KLINE;
1403
+ break;
1393
1404
  default:
1394
1405
  data=SZ_000001_M1_KLINE;
1395
1406
  break;
@@ -1433,6 +1444,12 @@ HQData.GetDayKLineDataBySymbol=function(symbol)
1433
1444
  case "ICL8.cfe":
1434
1445
  data=CFE_ICL8_DAY_KLINE;
1435
1446
  break;
1447
+ case "IML8.cfe":
1448
+ data=CFE_IML8_DAY_KLINE;
1449
+ break;
1450
+ case "IFL8.cfe":
1451
+ data=CFE_IFL8_DAY_KLINE;
1452
+ break;
1436
1453
  default:
1437
1454
  data=SZ_000001_DAY_KLINE;
1438
1455
  break;
@@ -6552,6 +6552,8 @@ var JSCHART_EVENT_ID=
6552
6552
  ON_CUSTOM_MINUTE_NIGHT_DAY_X_INDEX:156, //日盘夜盘的分界线
6553
6553
  ON_CUSTOM_MINUTE_BG:157, //自定义分时图背景颜色
6554
6554
  ON_CLICK_HORIZONTAL_LABEL:158, //点击Y轴刻度标签
6555
+
6556
+ ON_FORMAT_DIALOG_TOOLTIP_TEXT:159, //格式化Tooltip对话框显示文字
6555
6557
  }
6556
6558
 
6557
6559
  var JSCHART_OPERATOR_ID=
@@ -7104,6 +7106,12 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
7104
7106
  {
7105
7107
  this.IsDestroy=true;
7106
7108
  this.StopAutoUpdate();
7109
+
7110
+ if (this.DialogTooltip)
7111
+ {
7112
+ this.DialogTooltip.Destroy();
7113
+ this.DialogTooltip=null;
7114
+ }
7107
7115
  }
7108
7116
 
7109
7117
  this.ChartDestory=this.ChartDestroy; //老版本写错了,需要兼容下
@@ -13982,6 +13990,71 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
13982
13990
  }
13983
13991
  }
13984
13992
  }
13993
+
13994
+ this.UpdateWindowIndexV2=function(aryIndex)
13995
+ {
13996
+ if (!IFrameSplitOperator.IsNonEmptyArray(aryIndex)) return false;
13997
+
13998
+ var aryID=[];
13999
+ for(var i=0;i<this.WindowIndex.length;++i)
14000
+ {
14001
+ var item=this.WindowIndex[i];
14002
+ if (!item) continue;
14003
+ if (!item.ID) continue;
14004
+
14005
+ if (aryIndex.find((element)=>{ return element.ID==item.ID;} ))
14006
+ {
14007
+ aryID.push(i);
14008
+ }
14009
+ }
14010
+
14011
+ if (!IFrameSplitOperator.IsNonEmptyArray(aryID)) return false;
14012
+
14013
+ if (this.IsKLineContainer()) //K线
14014
+ {
14015
+ var bindData=new ChartData();
14016
+ bindData.Data=this.SourceData.Data;
14017
+ bindData.Period=this.Period;
14018
+ bindData.Right=this.Right;
14019
+
14020
+ if (this.IsApiPeriod)
14021
+ {
14022
+
14023
+ }
14024
+ else
14025
+ {
14026
+ if (bindData.Right>0) //复权
14027
+ {
14028
+ var rightData=bindData.GetRightData(bindData.Right, { AlgorithmType: this.RightFormula });
14029
+ bindData.Data=rightData;
14030
+ }
14031
+
14032
+ if (ChartData.IsDayPeriod(bindData.Period,false) || ChartData.IsMinutePeriod(bindData.Period,false)) //周期数据
14033
+ {
14034
+ var periodData=bindData.GetPeriodData(bindData.Period);
14035
+ bindData.Data=periodData;
14036
+ }
14037
+ }
14038
+ }
14039
+ else if (this.IsMinuteContainer()) //分时图
14040
+ {
14041
+ var bindData=this.SourceData;
14042
+ }
14043
+ else
14044
+ {
14045
+ return;
14046
+ }
14047
+
14048
+
14049
+ for(var i=0;i<aryID.length;++i)
14050
+ {
14051
+ this.BindIndexData(aryID[i],bindData)
14052
+ }
14053
+
14054
+ this.UpdataDataoffset(); //更新数据偏移
14055
+ this.UpdateFrameMaxMin(); //调整坐标最大 最小值
14056
+ this.Draw();
14057
+ }
13985
14058
  }
13986
14059
 
13987
14060
  function GetDevicePixelRatio()
@@ -74894,7 +74967,7 @@ function JSChartLocalization()
74894
74967
  ['DialogTooltip-Exchange', {CN:'换手率', EN:'Exchange', TC:'換手'}],
74895
74968
  ['DialogTooltip-Position', {CN:'持仓量', EN:'Position', TC:'持倉'}],
74896
74969
  ['DialogTooltip-Price', {CN:'价格', EN:'Price', TC:'價格'}],
74897
- ['DialogTooltip-YClose', {CN:"结算价", EN:'Settlement', TC:'結算價'}],
74970
+ ['DialogTooltip-FClose', {CN:"结算价", EN:'Settlement', TC:'結算價'}],
74898
74971
  ['DialogTooltip-Amplitude', {CN:'振幅', EN:'amplitude', TC:'價格'}],
74899
74972
  ['DialogTooltip-AC-Price', {CN:'匹配价', EN:'Price', TC:'匹配價'}],
74900
74973
  ['DialogTooltip-AC-AvPrice', {CN:'匹配均价', EN:'AVPrice', TC:'匹配均價'}],
@@ -138794,7 +138867,7 @@ function ScrollBarBGChart()
138794
138867
 
138795
138868
 
138796
138869
 
138797
- var HQCHART_VERSION="1.1.13920";
138870
+ var HQCHART_VERSION="1.1.13927";
138798
138871
 
138799
138872
  function PrintHQChartVersion()
138800
138873
  {
@@ -5,7 +5,7 @@
5
5
 
6
6
 
7
7
 
8
- var HQCHART_VERSION="1.1.13920";
8
+ var HQCHART_VERSION="1.1.13927";
9
9
 
10
10
  function PrintHQChartVersion()
11
11
  {
@@ -56864,6 +56864,8 @@ HQData.Keyboard_RequestSymbolList=function(data, callback)
56864
56864
  }
56865
56865
 
56866
56866
  arySymbol.push( { Symbol:"ICL8.cfe", Name:"中证主连", ShortSymbol:"ICL8", Spell:"ICL8", Type:"期货", TypeName:"期货", Data:{ Symbol:"ICL8.cfe", Type:0 } } );
56867
+ arySymbol.push( { Symbol:"IML8.cfe", Name:"中千主连", ShortSymbol:"IML8", Spell:"IML8", Type:"期货", TypeName:"期货", Data:{ Symbol:"IML8.cfe", Type:0 } } );
56868
+ arySymbol.push( { Symbol:"IFL8.cfe", Name:"沪深主连", ShortSymbol:"IFL8", Spell:"IFL8", Type:"期货", TypeName:"期货", Data:{ Symbol:"IFL8.cfe", Type:0 } } );
56867
56869
 
56868
56870
  arySymbol.push( { Symbol:"01", Name:"分时成交明细", TypeName:"功能键", Priority:1, Color:"rgb(220,20,60)" , Data:{ PageName:"分时成交明细", Type:2 }} );
56869
56871
  arySymbol.push( { Symbol:"02", Name:"分价表", TypeName:"功能键", Priority:1, Color:"rgb(220,20,60)" ,Data:{ PageName:"分价表", Type:2 }} );
@@ -56922,6 +56924,15 @@ HQData.GetM1KLineDataBySymbol=function(symbol)
56922
56924
  case "399006.sz":
56923
56925
  data=SZ_399006_M1_KLINE;
56924
56926
  break;
56927
+ case "ICL8.cfe":
56928
+ data=CFE_ICL8_M1_KLINE;
56929
+ break;
56930
+ case "IML8.cfe":
56931
+ data=CFE_IML8_M1_KLINE;
56932
+ break;
56933
+ case "IFL8.cfe":
56934
+ data=CFE_IFL8_M1_KLINE;
56935
+ break;
56925
56936
  default:
56926
56937
  data=SZ_000001_M1_KLINE;
56927
56938
  break;
@@ -56965,6 +56976,12 @@ HQData.GetDayKLineDataBySymbol=function(symbol)
56965
56976
  case "ICL8.cfe":
56966
56977
  data=CFE_ICL8_DAY_KLINE;
56967
56978
  break;
56979
+ case "IML8.cfe":
56980
+ data=CFE_IML8_DAY_KLINE;
56981
+ break;
56982
+ case "IFL8.cfe":
56983
+ data=CFE_IFL8_DAY_KLINE;
56984
+ break;
56968
56985
  default:
56969
56986
  data=SZ_000001_DAY_KLINE;
56970
56987
  break;
@@ -6596,6 +6596,8 @@ var JSCHART_EVENT_ID=
6596
6596
  ON_CUSTOM_MINUTE_NIGHT_DAY_X_INDEX:156, //日盘夜盘的分界线
6597
6597
  ON_CUSTOM_MINUTE_BG:157, //自定义分时图背景颜色
6598
6598
  ON_CLICK_HORIZONTAL_LABEL:158, //点击Y轴刻度标签
6599
+
6600
+ ON_FORMAT_DIALOG_TOOLTIP_TEXT:159, //格式化Tooltip对话框显示文字
6599
6601
  }
6600
6602
 
6601
6603
  var JSCHART_OPERATOR_ID=
@@ -7148,6 +7150,12 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
7148
7150
  {
7149
7151
  this.IsDestroy=true;
7150
7152
  this.StopAutoUpdate();
7153
+
7154
+ if (this.DialogTooltip)
7155
+ {
7156
+ this.DialogTooltip.Destroy();
7157
+ this.DialogTooltip=null;
7158
+ }
7151
7159
  }
7152
7160
 
7153
7161
  this.ChartDestory=this.ChartDestroy; //老版本写错了,需要兼容下
@@ -14026,6 +14034,71 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
14026
14034
  }
14027
14035
  }
14028
14036
  }
14037
+
14038
+ this.UpdateWindowIndexV2=function(aryIndex)
14039
+ {
14040
+ if (!IFrameSplitOperator.IsNonEmptyArray(aryIndex)) return false;
14041
+
14042
+ var aryID=[];
14043
+ for(var i=0;i<this.WindowIndex.length;++i)
14044
+ {
14045
+ var item=this.WindowIndex[i];
14046
+ if (!item) continue;
14047
+ if (!item.ID) continue;
14048
+
14049
+ if (aryIndex.find((element)=>{ return element.ID==item.ID;} ))
14050
+ {
14051
+ aryID.push(i);
14052
+ }
14053
+ }
14054
+
14055
+ if (!IFrameSplitOperator.IsNonEmptyArray(aryID)) return false;
14056
+
14057
+ if (this.IsKLineContainer()) //K线
14058
+ {
14059
+ var bindData=new ChartData();
14060
+ bindData.Data=this.SourceData.Data;
14061
+ bindData.Period=this.Period;
14062
+ bindData.Right=this.Right;
14063
+
14064
+ if (this.IsApiPeriod)
14065
+ {
14066
+
14067
+ }
14068
+ else
14069
+ {
14070
+ if (bindData.Right>0) //复权
14071
+ {
14072
+ var rightData=bindData.GetRightData(bindData.Right, { AlgorithmType: this.RightFormula });
14073
+ bindData.Data=rightData;
14074
+ }
14075
+
14076
+ if (ChartData.IsDayPeriod(bindData.Period,false) || ChartData.IsMinutePeriod(bindData.Period,false)) //周期数据
14077
+ {
14078
+ var periodData=bindData.GetPeriodData(bindData.Period);
14079
+ bindData.Data=periodData;
14080
+ }
14081
+ }
14082
+ }
14083
+ else if (this.IsMinuteContainer()) //分时图
14084
+ {
14085
+ var bindData=this.SourceData;
14086
+ }
14087
+ else
14088
+ {
14089
+ return;
14090
+ }
14091
+
14092
+
14093
+ for(var i=0;i<aryID.length;++i)
14094
+ {
14095
+ this.BindIndexData(aryID[i],bindData)
14096
+ }
14097
+
14098
+ this.UpdataDataoffset(); //更新数据偏移
14099
+ this.UpdateFrameMaxMin(); //调整坐标最大 最小值
14100
+ this.Draw();
14101
+ }
14029
14102
  }
14030
14103
 
14031
14104
  function GetDevicePixelRatio()
@@ -74938,7 +75011,7 @@ function JSChartLocalization()
74938
75011
  ['DialogTooltip-Exchange', {CN:'换手率', EN:'Exchange', TC:'換手'}],
74939
75012
  ['DialogTooltip-Position', {CN:'持仓量', EN:'Position', TC:'持倉'}],
74940
75013
  ['DialogTooltip-Price', {CN:'价格', EN:'Price', TC:'價格'}],
74941
- ['DialogTooltip-YClose', {CN:"结算价", EN:'Settlement', TC:'結算價'}],
75014
+ ['DialogTooltip-FClose', {CN:"结算价", EN:'Settlement', TC:'結算價'}],
74942
75015
  ['DialogTooltip-Amplitude', {CN:'振幅', EN:'amplitude', TC:'價格'}],
74943
75016
  ['DialogTooltip-AC-Price', {CN:'匹配价', EN:'Price', TC:'匹配價'}],
74944
75017
  ['DialogTooltip-AC-AvPrice', {CN:'匹配均价', EN:'AVPrice', TC:'匹配均價'}],
@@ -143265,7 +143338,7 @@ function JSDialogTooltip()
143265
143338
  this.PositionColor=g_JSChartResource.DialogTooltip.PositionColor;
143266
143339
  this.DateTimeColor=g_JSChartResource.DialogTooltip.DateTimeColor;
143267
143340
  this.LanguageID=JSCHART_LANGUAGE_ID.LANGUAGE_CHINESE_ID;
143268
- this.MaxRowCount=18;
143341
+ this.MaxRowCount=25;
143269
143342
 
143270
143343
  this.AryData=[];
143271
143344
  this.AryText=[];
@@ -143427,7 +143500,7 @@ function JSDialogTooltip()
143427
143500
  if (!this.KItemCache) return;
143428
143501
 
143429
143502
  if (this.HQChart.ClassName=='KLineChartContainer')
143430
- this.AryText=this.GetFormatKlineTooltipText(this.KItemCache);
143503
+ this.AryText=this.GetFormatKLineTooltipText(this.KItemCache);
143431
143504
  else if (this.HQChart.ClassName=='MinuteChartContainer')
143432
143505
  this.AryText=this.GetFormatMinuteTooltipText(this.KItemCache);
143433
143506
  else
@@ -143527,7 +143600,7 @@ function JSDialogTooltip()
143527
143600
  }
143528
143601
 
143529
143602
 
143530
- this.GetFormatKlineTooltipText=function(data)
143603
+ this.GetFormatKLineTooltipText=function(data)
143531
143604
  {
143532
143605
  var defaultfloatPrecision=GetfloatPrecision(this.HQChart.Symbol);//价格小数位数
143533
143606
  var upperSymbol=this.HQChart.Symbol.toUpperCase();
@@ -143560,11 +143633,18 @@ function JSDialogTooltip()
143560
143633
  aryText.push(this.FormatExchange(data.Vol,data.FlowCapital,'DialogTooltip-Exchange' ));
143561
143634
  }
143562
143635
 
143563
- //持仓量
143636
+ //持仓量 结算价
143564
143637
  if (MARKET_SUFFIX_NAME.IsFutures(upperSymbol))
143565
143638
  {
143566
143639
  aryText.push(this.FormatPosition(data.Position,'DialogTooltip-Position'));
143567
- aryText.push(this.ForamtYClose(data.YClose, defaultfloatPrecision, 'DialogTooltip-YClose'));
143640
+ aryText.push(this.ForamtFClose(data.FClose, defaultfloatPrecision, 'DialogTooltip-FClose'));
143641
+ }
143642
+
143643
+ var event=this.HQChart.GetEventCallback(JSCHART_EVENT_ID.ON_FORMAT_DIALOG_TOOLTIP_TEXT);
143644
+ if (event && event.Callback)
143645
+ {
143646
+ var sendData={ AryText:aryText, Data:data, Symbol:this.HQChart.Symbol, HQChart:this.HQChart, IsKLine:true };
143647
+ event.Callback(event, sendData, this);
143568
143648
  }
143569
143649
 
143570
143650
  return aryText;
@@ -143574,12 +143654,13 @@ function JSDialogTooltip()
143574
143654
  {
143575
143655
  var defaultfloatPrecision=GetfloatPrecision(this.HQChart.Symbol);//价格小数位数
143576
143656
 
143657
+ var aryText=[];
143577
143658
  if (data.Type==0) //连续交易
143578
143659
  {
143579
143660
  var item=data.Data;
143580
143661
  if (!item) item={ };
143581
143662
 
143582
- var aryText=
143663
+ aryText=
143583
143664
  [
143584
143665
  this.ForamtDate(item.Date,"YYYY/MM/DD/W",'DialogTooltip-Date' ),
143585
143666
  this.FormatTime(item.Time, null, "HH:MM", 'DialogTooltip-Time'),
@@ -143589,8 +143670,6 @@ function JSDialogTooltip()
143589
143670
  this.FormatVol(item.Vol,'DialogTooltip-Vol' ),
143590
143671
  this.FormatAmount(item.Amount,'DialogTooltip-Amount' ),
143591
143672
  ];
143592
-
143593
- return aryText;
143594
143673
  }
143595
143674
  else if (data.Type==1) //集合竞价
143596
143675
  {
@@ -143599,7 +143678,7 @@ function JSDialogTooltip()
143599
143678
 
143600
143679
  var timeForamt="HH:MM:SS";
143601
143680
  if (item.Ver===1) timeForamt="HH:MM"
143602
- var aryText=
143681
+ aryText=
143603
143682
  [
143604
143683
  this.ForamtDate(item.Date,"YYYY/MM/DD/W",'DialogTooltip-Date' ),
143605
143684
  this.FormatTime(item.Time, null, timeForamt, 'DialogTooltip-Time'),
@@ -143607,11 +143686,20 @@ function JSDialogTooltip()
143607
143686
  this.FormatIncrease(item.Price,item.YClose,'DialogTooltip-AC-Increase'),
143608
143687
  this.FormatVol(item.Vol[0],'DialogTooltip-AC-Vol' ),
143609
143688
  ];
143689
+ }
143690
+ else
143691
+ {
143610
143692
 
143611
- return aryText;
143612
143693
  }
143613
143694
 
143614
- return [];
143695
+ var event=this.HQChart.GetEventCallback(JSCHART_EVENT_ID.ON_FORMAT_DIALOG_TOOLTIP_TEXT);
143696
+ if (event && event.Callback)
143697
+ {
143698
+ var sendData={ AryText:aryText, Data:data, Symbol:this.HQChart.Symbol, HQChart:this.HQChart, IsMinute:true };
143699
+ event.Callback(event, sendData, this);
143700
+ }
143701
+
143702
+ return aryText
143615
143703
  }
143616
143704
 
143617
143705
  this.GetColor=function(price,yClose)
@@ -143693,7 +143781,7 @@ function JSDialogTooltip()
143693
143781
 
143694
143782
  if (!IFrameSplitOperator.IsNumber(vol)) return item;
143695
143783
 
143696
- item.Text=IFrameSplitOperator.FormatValueString(vol,2,this.LanguageID);
143784
+ item.Text=IFrameSplitOperator.FormatValueStringV2(vol,0,2,this.LanguageID);
143697
143785
 
143698
143786
  return item;
143699
143787
  }
@@ -143852,7 +143940,7 @@ function JSDialogTooltip()
143852
143940
  }
143853
143941
 
143854
143942
  //结算价
143855
- this.ForamtYClose=function(value, defaultfloatPrecision, TitleID)
143943
+ this.ForamtFClose=function(value, defaultfloatPrecision, TitleID)
143856
143944
  {
143857
143945
  var item=
143858
143946
  {
@@ -143990,7 +144078,7 @@ function HQChartScriptWorker()
143990
144078
 
143991
144079
 
143992
144080
 
143993
- var HQCHART_VERSION="1.1.13920";
144081
+ var HQCHART_VERSION="1.1.13927";
143994
144082
 
143995
144083
  function PrintHQChartVersion()
143996
144084
  {