hqchart 1.1.15503 → 1.1.15518

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.
@@ -62874,6 +62874,7 @@ function FrameSplitMinuteX()
62874
62874
 
62875
62875
  const minuteCoordinate = g_MinuteCoordinateData;
62876
62876
  var xcoordinateData = minuteCoordinate.GetCoordinateData(this.Symbol, width, this.Frame.GlobalOption);
62877
+ if (!xcoordinateData) return;
62877
62878
  var minuteCount=xcoordinateData.Count;
62878
62879
  var minuteMiddleCount=xcoordinateData.MiddleCount>0? xcoordinateData.MiddleCount: parseInt(minuteCount/2);
62879
62880
  var xcoordinate = xcoordinateData.Data;
@@ -107044,7 +107045,9 @@ var MARKET_SUFFIX_NAME=
107044
107045
  CFFEX3:'.CF', //中期所 (China Financial Futures Exchange)
107045
107046
  DCE: '.DCE', //大连商品交易所(Dalian Commodity Exchange)
107046
107047
  CZCE: '.CZC', //郑州期货交易所
107047
- GZFE:".GZFE", //广州期货交易所
107048
+ CZCE2:".CZCE", //郑州期货交易所
107049
+ GZFE:".GZFE", //广州期货交易所
107050
+ GZFE2:"GFEX", //广州期货交易所
107048
107051
  INE:".INE", //上海国际能源交易中心
107049
107052
 
107050
107053
  USA:'.USA', //美股
@@ -107259,6 +107262,25 @@ var MARKET_SUFFIX_NAME=
107259
107262
  if (upperSymbol.indexOf(this.SHFE2) > 0) return true;
107260
107263
  return false;
107261
107264
  },
107265
+
107266
+ IsSHFEOption:function(upperSymbol)
107267
+ {
107268
+ if (!upperSymbol) return false;
107269
+ if (!this.IsSHFE(upperSymbol)) return false;
107270
+ var shortSymbol=JSChart.GetShortSymbol(upperSymbol);
107271
+ //ZN2605-P-20600
107272
+ var aryValue=shortSymbol.split("-");
107273
+ if (!aryValue || aryValue.length!=3) return false;
107274
+
107275
+ var strValue=aryValue[0];
107276
+ const regex = /([a-zA-Z]+)(\d+)/;
107277
+ const match = strValue.match(regex);
107278
+ if (!match || !match[1] || !match[2]) return false;
107279
+
107280
+ var prefix=match[1];
107281
+
107282
+ return true;
107283
+ },
107262
107284
 
107263
107285
  IsCFFEX: function (upperSymbol)
107264
107286
  {
@@ -107298,16 +107320,77 @@ var MARKET_SUFFIX_NAME=
107298
107320
  return upperSymbol.indexOf(this.DCE) > 0;
107299
107321
  },
107300
107322
 
107323
+ IsDCEOption:function(upperSymbol)
107324
+ {
107325
+ if (!upperSymbol) return false;
107326
+ if (!this.IsDCE(upperSymbol)) return false;
107327
+ var shortSymbol=JSChart.GetShortSymbol(upperSymbol);
107328
+ //M2605-P-2400
107329
+ var aryValue=shortSymbol.split("-");
107330
+ if (!aryValue || aryValue.length!=3) return false;
107331
+
107332
+ var strValue=aryValue[0];
107333
+ const regex = /([a-zA-Z]+)(\d+)/;
107334
+ const match = strValue.match(regex);
107335
+ if (!match || !match[1] || !match[2]) return false;
107336
+
107337
+ var prefix=match[1];
107338
+
107339
+ return true;
107340
+ },
107341
+
107301
107342
  IsCZCE: function (upperSymbol)
107302
107343
  {
107303
107344
  if (!upperSymbol) return false;
107304
- return upperSymbol.indexOf(this.CZCE) > 0;
107345
+
107346
+ return upperSymbol.indexOf(this.CZCE) > 0 || upperSymbol.indexOf(this.CZCE2)>0;
107347
+ },
107348
+
107349
+ IsCZCEOption:function(upperSymbol)
107350
+ {
107351
+ if (!upperSymbol) return false;
107352
+ if (!this.IsCZCE(upperSymbol)) return false;
107353
+ var shortSymbol=JSChart.GetShortSymbol(upperSymbol);
107354
+ //ZN2605-P-20600
107355
+ var aryValue=shortSymbol.split("-");
107356
+ if (!aryValue || aryValue.length!=3) return false;
107357
+
107358
+ var strValue=aryValue[0];
107359
+ const regex = /([a-zA-Z]+)(\d+)/;
107360
+ const match = strValue.match(regex);
107361
+ if (!match || !match[1] || !match[2]) return false;
107362
+
107363
+ var prefix=match[1];
107364
+
107365
+ return true;
107305
107366
  },
107306
107367
 
107307
107368
  IsGZFE:function(upperSymbol)
107308
107369
  {
107309
107370
  if (!upperSymbol) return false;
107310
- return upperSymbol.indexOf(this.GZFE) > 0;
107371
+ if (upperSymbol.indexOf(this.GZFE)>0) return true;
107372
+ if (upperSymbol.indexOf(this.GZFE2)>0) return true;
107373
+
107374
+ return false;
107375
+ },
107376
+
107377
+ IsGZFEOption:function(upperSymbol)
107378
+ {
107379
+ if (!upperSymbol) return false;
107380
+ if (!this.IsGZFE(upperSymbol)) return false;
107381
+ var shortSymbol=JSChart.GetShortSymbol(upperSymbol);
107382
+ //ZN2605-P-20600
107383
+ var aryValue=shortSymbol.split("-");
107384
+ if (!aryValue || aryValue.length!=3) return false;
107385
+
107386
+ var strValue=aryValue[0];
107387
+ const regex = /([a-zA-Z]+)(\d+)/;
107388
+ const match = strValue.match(regex);
107389
+ if (!match || !match[1] || !match[2]) return false;
107390
+
107391
+ var prefix=match[1];
107392
+
107393
+ return true;
107311
107394
  },
107312
107395
 
107313
107396
  IsINE:function(upperSymbol)
@@ -107316,6 +107399,26 @@ var MARKET_SUFFIX_NAME=
107316
107399
  return upperSymbol.indexOf(this.INE) > 0;
107317
107400
  },
107318
107401
 
107402
+
107403
+ IsINEOption:function(upperSymbol)
107404
+ {
107405
+ if (!upperSymbol) return false;
107406
+ if (!this.IsINE(upperSymbol)) return false;
107407
+ var shortSymbol=JSChart.GetShortSymbol(upperSymbol);
107408
+ //ZN2605-P-20600
107409
+ var aryValue=shortSymbol.split("-");
107410
+ if (!aryValue || aryValue.length!=3) return false;
107411
+
107412
+ var strValue=aryValue[0];
107413
+ const regex = /([a-zA-Z]+)(\d+)/;
107414
+ const match = strValue.match(regex);
107415
+ if (!match || !match[1] || !match[2]) return false;
107416
+
107417
+ var prefix=match[1];
107418
+
107419
+ return true;
107420
+ },
107421
+
107319
107422
  //是否包含某一个市场的
107320
107423
  IsIncludes:function(symbol, arySuffix)
107321
107424
  {
@@ -144573,7 +144676,7 @@ function JSReportChartContainer(uielement)
144573
144676
  //18=内盘 19=外盘 20=现量 21=涨幅% 22=涨跌 23=换手率% 24=振幅% 25=流通市值 26=总市值 27=扩展名字
144574
144677
  //30=全局扩展数据 31=当前板块扩展数据
144575
144678
  //32=收盘价线 33=K线 35=时间 36=日期字段 38=持仓量 39=结算价 40=昨结算价 41=开仓量 42=平仓量
144576
- //43=1m涨速% 44=3m涨速% 45=5m涨速% 46=10m涨速% 47=15m涨速%
144679
+ //43=1m涨速% 44=3m涨速% 45=5m涨速% 46=10m涨速% 47=15m涨速% 48=交割日期 49=开始日期 50=过期时间
144577
144680
  //80=整行背景色
144578
144681
  //101-199=数值型 201-299=字符型 301-350=进度条 351-400=按钮 401-499=日期时间
144579
144682
 
@@ -144692,8 +144795,6 @@ function JSReportChartContainer(uielement)
144692
144795
 
144693
144796
  if (IFrameSplitOperator.IsBool(item[37])) stock.Checked=item[37];
144694
144797
 
144695
-
144696
-
144697
144798
  //1,3,5,10,15 涨速%
144698
144799
  if (IFrameSplitOperator.IsNumber(item[43])) stock.RSpeed1M=item[43];
144699
144800
  if (IFrameSplitOperator.IsNumber(item[44])) stock.RSpeed3M=item[44];
@@ -144701,9 +144802,6 @@ function JSReportChartContainer(uielement)
144701
144802
  if (IFrameSplitOperator.IsNumber(item[46])) stock.RSpeed10M=item[46];
144702
144803
  if (IFrameSplitOperator.IsNumber(item[47])) stock.RSpeed15M=item[47];
144703
144804
 
144704
- if (item[80] || item[80]===null) stock.BGColor=item[80]; //整行背景色
144705
- if (item[JSCHART_DATA_FIELD_ID.REPORT_EXTENDDATA]) stock.ExtendDataV2=item[JSCHART_DATA_FIELD_ID.REPORT_EXTENDDATA]; //扩展数据2
144706
-
144707
144805
  function __Temp_IsNumberOrObject(value)
144708
144806
  {
144709
144807
  if (IFrameSplitOperator.IsNumber(value)) return true;
@@ -144718,6 +144816,14 @@ function JSReportChartContainer(uielement)
144718
144816
  return false;
144719
144817
  }
144720
144818
 
144819
+ if (__Temp_IsNumberOrObject(item[48])) stock.DeliveryDate=item[48];
144820
+ if (__Temp_IsNumberOrObject(item[49])) stock.OpenDate=item[49];
144821
+ if (__Temp_IsNumberOrObject(item[50])) stock.ExpireDate=item[50];
144822
+
144823
+
144824
+ if (item[80] || item[80]===null) stock.BGColor=item[80]; //整行背景色
144825
+ if (item[JSCHART_DATA_FIELD_ID.REPORT_EXTENDDATA]) stock.ExtendDataV2=item[JSCHART_DATA_FIELD_ID.REPORT_EXTENDDATA]; //扩展数据2
144826
+
144721
144827
  //10个数值型 101-199
144722
144828
  if (__Temp_IsNumberOrObject(item[101])) stock.ReserveNumber1=item[101];
144723
144829
  if (__Temp_IsNumberOrObject(item[102])) stock.ReserveNumber2=item[102];
@@ -147819,6 +147925,9 @@ var REPORT_COLUMN_ID=
147819
147925
  FUTURES_YCLOSE_ID:36, //期货昨结算
147820
147926
  FUTURES_OPEN_POSITION_ID:37, //期货开仓量
147821
147927
  FUTURES_CLOSE_POSITION_ID:38, //期货平仓量
147928
+ DELIVERY_DATE_ID:39, //交割日期
147929
+ OPEN_DATE_ID:40,
147930
+ EXPIRE_DATE_ID:41,
147822
147931
 
147823
147932
 
147824
147933
  //1,3,5,10,15分钟涨速
@@ -147970,6 +148079,10 @@ var MAP_COLUMN_FIELD=new Map([
147970
148079
  [REPORT_COLUMN_ID.FUTURES_OPEN_POSITION_ID, "OpenPosition"],
147971
148080
  [REPORT_COLUMN_ID.FUTURES_CLOSE_POSITION_ID, "ClosePosition"],
147972
148081
 
148082
+ [REPORT_COLUMN_ID.DELIVERY_DATE_ID, "DeliveryDate"],
148083
+ [REPORT_COLUMN_ID.OPEN_DATE_ID, "OpenDate"],
148084
+ [REPORT_COLUMN_ID.EXPIRE_DATE_ID, "ExpireDate"],
148085
+
147973
148086
  [REPORT_COLUMN_ID.RISING_SPEED_1M_ID, "RSpeed1M"],
147974
148087
  [REPORT_COLUMN_ID.RISING_SPEED_3M_ID, "RSpeed3M"],
147975
148088
  [REPORT_COLUMN_ID.RISING_SPEED_5M_ID, "RSpeed5M"],
@@ -148641,6 +148754,9 @@ function ChartReport()
148641
148754
 
148642
148755
  { Type:REPORT_COLUMN_ID.TIME_ID, Title:"时间", TextAlign:"left", ValueType:0, TextColor:g_JSChartResource.Report.FieldColor.Text, MaxText:"99:99:99.999" },
148643
148756
  { Type:REPORT_COLUMN_ID.DATE_ID, Title:"日期", TextAlign:"left", FormatType:0, TextColor:g_JSChartResource.Report.FieldColor.Text, MaxText:"9999-99-99" },
148757
+ { Type:REPORT_COLUMN_ID.DELIVERY_DATE_ID, Title:"交割日", TextAlign:"left", FormatType:0, TextColor:g_JSChartResource.Report.FieldColor.Text, MaxText:"9999-99-99" },
148758
+ { Type:REPORT_COLUMN_ID.OPEN_DATE_ID, Title:"上市日", TextAlign:"left", FormatType:0, TextColor:g_JSChartResource.Report.FieldColor.Text, MaxText:"9999-99-99" },
148759
+ { Type:REPORT_COLUMN_ID.EXPIRE_DATE_ID, Title:"到期日", TextAlign:"left", FormatType:0, TextColor:g_JSChartResource.Report.FieldColor.Text, MaxText:"9999-99-99" },
148644
148760
 
148645
148761
  { Type:REPORT_COLUMN_ID.CHECKBOX_ID, Title:"", TextAlign:"center", FixedWidth:20*GetDevicePixelRatio() },
148646
148762
 
@@ -149797,7 +149913,7 @@ function ChartReport()
149797
149913
  else if (column.Type==REPORT_COLUMN_ID.SYMBOL_ID)
149798
149914
  {
149799
149915
  if (stock && stock.Symbol) drawInfo.Text=stock.Symbol;
149800
- else drawInfo.Text=data.Symbol;
149916
+ else drawInfo.Text=MARKET_SUFFIX_NAME.GetShortSymbol(data.Symbol);
149801
149917
 
149802
149918
  this.FormatDrawInfo(column, stock, drawInfo, data);
149803
149919
  }
@@ -150030,7 +150146,7 @@ function ChartReport()
150030
150146
  this.FormaTimeDrawInfo(column, stock, drawInfo, data);
150031
150147
  this.FormatDrawInfoEvent(stock, data, column, drawInfo);
150032
150148
  }
150033
- else if (column.Type==REPORT_COLUMN_ID.DATE_ID)
150149
+ else if (column.Type==REPORT_COLUMN_ID.DATE_ID || column.Type==REPORT_COLUMN_ID.DELIVERY_DATE_ID || column.Type==REPORT_COLUMN_ID.OPEN_DATE_ID || column.Type==REPORT_COLUMN_ID.EXPIRE_DATE_ID)
150034
150150
  {
150035
150151
  this.FormaDateDrawInfo(column, stock, drawInfo, data);
150036
150152
  this.FormatDrawInfoEvent(stock, data, column, drawInfo);
@@ -150956,20 +151072,26 @@ function ChartReport()
150956
151072
 
150957
151073
  this.FormaDateDrawInfo=function(column, stock, drawInfo, data)
150958
151074
  {
150959
- if (!stock || !IFrameSplitOperator.IsNumber(stock.Date)) return;
151075
+ var fieldName=MAP_COLUMN_FIELD.get(column.Type);
151076
+ if (!stock || !fieldName) return;
151077
+ var date=stock[fieldName];
151078
+
151079
+ if (!IFrameSplitOperator.IsNumber(date)) return;
150960
151080
 
150961
151081
  if (column.FormatType==0)
150962
- drawInfo.Text=IFrameSplitOperator.FormatDateString(stock.Date,"YYYY-MM-DD");
151082
+ drawInfo.Text=IFrameSplitOperator.FormatDateString(date,"YYYY-MM-DD");
150963
151083
  else if (column.FormatType==1)
150964
- drawInfo.Text=IFrameSplitOperator.FormatDateString(stock.Date,"YYYY/MM/DD");
151084
+ drawInfo.Text=IFrameSplitOperator.FormatDateString(date,"YYYY/MM/DD");
150965
151085
  else if (column.FormatType==2)
150966
- drawInfo.Text=IFrameSplitOperator.FormatDateString(stock.Date,"YYYY/MM/DD/W");
151086
+ drawInfo.Text=IFrameSplitOperator.FormatDateString(date,"YYYY/MM/DD/W");
150967
151087
  else if (column.FormatType==3)
150968
- drawInfo.Text=IFrameSplitOperator.FormatDateString(stock.Date,"YYYY-MM");
151088
+ drawInfo.Text=IFrameSplitOperator.FormatDateString(date,"YYYY-MM");
150969
151089
  else if (column.FormatType==4)
150970
- drawInfo.Text=IFrameSplitOperator.FormatDateString(stock.Date,"MM/DD");
150971
- else if (column.FormatType==4)
150972
- drawInfo.Text=IFrameSplitOperator.FormatDateString(stock.Date,"MM-DD");
151090
+ drawInfo.Text=IFrameSplitOperator.FormatDateString(date,"MM/DD");
151091
+ else if (column.FormatType==5)
151092
+ drawInfo.Text=IFrameSplitOperator.FormatDateString(date,"MM-DD");
151093
+ else
151094
+ drawInfo.Text=IFrameSplitOperator.FormatDateString(date,"YYYY-MM-DD");
150973
151095
  }
150974
151096
 
150975
151097
 
@@ -158325,20 +158447,23 @@ function ChartSymbolList()
158325
158447
  for(var i=this.Data.XOffset;i<this.Column.length;++i)
158326
158448
  {
158327
158449
  var item=this.Column[i];
158328
- this.DrawItem(dataIndex, data, item, left, top, rowType);
158450
+ this.DrawItem(dataIndex, data, item, left, top, rowType, i);
158329
158451
  left+=item.Width;
158330
158452
 
158331
158453
  if (left>=chartRight) break;
158332
158454
  }
158333
158455
  }
158334
158456
 
158335
- this.DrawItem=function(index, data, column, left, top, rowType)
158457
+ this.DrawItem=function(index, data, column, left, top, rowType, colIndex)
158336
158458
  {
158337
158459
  var itemWidth=column.Width;
158338
158460
  var x=left+this.ItemMergin.Left;
158339
158461
  var textWidth=column.Width-this.ItemMergin.Left-this.ItemMergin.Right;
158340
158462
  var stock=data.Stock;
158341
158463
  var drawInfo={ Text:null, TextColor:this.TextColor , TextAlign:column.TextAlign };
158464
+ var columnEx=null;
158465
+ if (stock && IFrameSplitOperator.IsNonEmptyArray(stock.Column)) columnEx=stock.Column[colIndex];
158466
+
158342
158467
  if (column.Type==KEYBOARD_COLUMN_ID.SHORT_SYMBOL_ID)
158343
158468
  {
158344
158469
  if (stock && stock.ShortSymbol) drawInfo.Text=stock.ShortSymbol;
@@ -158348,6 +158473,8 @@ function ChartSymbolList()
158348
158473
  }
158349
158474
  else if (column.Type==KEYBOARD_COLUMN_ID.NAME_ID)
158350
158475
  {
158476
+ if (columnEx && columnEx.IsShow===false) return;
158477
+
158351
158478
  if (stock && stock.Name)
158352
158479
  {
158353
158480
  drawInfo.Text=this.TextEllipsis(stock.Name, textWidth, column.MaxText);
@@ -158356,6 +158483,8 @@ function ChartSymbolList()
158356
158483
  }
158357
158484
  else if (column.Type==KEYBOARD_COLUMN_ID.TYPE_NAME_ID)
158358
158485
  {
158486
+ if (columnEx && columnEx.IsShow===false) return;
158487
+
158359
158488
  if (stock && stock.TypeName)
158360
158489
  {
158361
158490
  drawInfo.Text=this.TextEllipsis(stock.TypeName, textWidth, column.MaxText);
@@ -171750,7 +171879,7 @@ function ChartStockData()
171750
171879
 
171751
171880
 
171752
171881
 
171753
- var HQCHART_VERSION="1.1.15502";
171882
+ var HQCHART_VERSION="1.1.15517";
171754
171883
 
171755
171884
  function PrintHQChartVersion()
171756
171885
  {