hqchart 1.1.15428 → 1.1.15446

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.
@@ -7029,6 +7029,9 @@ var JSCHART_EVENT_ID=
7029
7029
  ON_BEFORE_DRAW_HLINE:180, //画图工具-水平线(ChartDrawPictureHorizontalLine) 绘图前
7030
7030
 
7031
7031
  ON_HIDE_ALL_POP_DIV:181, //隐藏所有弹框div
7032
+
7033
+ //工具条
7034
+ ON_CLICK_STATUSBAR_ITEM:301,
7032
7035
  }
7033
7036
 
7034
7037
  var JSCHART_OPERATOR_ID=
@@ -55180,6 +55183,9 @@ function StockChip()
55180
55183
  if (recvData && recvData.PreventDefault)
55181
55184
  return recvData.Result;
55182
55185
 
55186
+ if (MARKET_SUFFIX_NAME.IsIncludes(symbol, ARRAY_CHINA_FUTURES_SUFFIX))
55187
+ return this.CalculateChip_Futrues();
55188
+
55183
55189
  if (MARKET_SUFFIX_NAME.IsSHSZIndex(symbol)) return false; //指数暂时不支持移动筹码
55184
55190
 
55185
55191
  var bindData=this.HQChart.ChartPaint[0].Data;
@@ -55309,6 +55315,142 @@ function StockChip()
55309
55315
  return true;
55310
55316
  }
55311
55317
 
55318
+ this.CalculateChip_Futrues=function() //计算期货筹码 (持仓和量计算的)
55319
+ {
55320
+ if (!this.HQChart) return false;
55321
+ var symbol=this.HQChart.Symbol;
55322
+ if (!symbol) return false;
55323
+ var upperSymbol=symbol.toUpperCase();
55324
+
55325
+ if (!MARKET_SUFFIX_NAME.IsIncludes(symbol, ARRAY_CHINA_FUTURES_SUFFIX)) return false;
55326
+
55327
+ var bindData=this.HQChart.GetKData();
55328
+ //if (bindData.Period>=4) return false; //分钟K线不支持, 没时间做,以后再做吧
55329
+ var count=bindData.DataOffset+parseInt(this.HQChart.CursorIndex);
55330
+ if (count>=bindData.Data.length) count=bindData.Data.length-1;
55331
+ var selData=bindData.Data[count];
55332
+ var yPrice=selData.Close;
55333
+
55334
+ var mouseY=this.HQChart.LastPoint.Y;
55335
+ if (mouseY) yPrice=this.HQChart.Frame.SubFrame[0].Frame.GetYData(mouseY);
55336
+
55337
+ //JSConsole.Chart.Log("[StockChip::CalculateChip]",count,this.HQChart.CursorIndex,selData);
55338
+ const rate=1;
55339
+ var aryVol=[];
55340
+ var seed=1,vol,maxPrice,minPrice;
55341
+ for(let i=count;i>=0;--i)
55342
+ {
55343
+ var item=bindData.Data[i];
55344
+ var changeRate=1; //换手率
55345
+ if (item.Position>0) changeRate=item.Vol/item.Position;
55346
+ if (i==count) vol=item.Vol*changeRate;
55347
+ else vol=item.Vol*seed;
55348
+ var dataItem={Vol:vol,High:item.High,Low:item.Low};
55349
+ aryVol.push(dataItem);
55350
+ seed*=(1-changeRate*rate);
55351
+
55352
+ if (!maxPrice || maxPrice<item.High) maxPrice=item.High;
55353
+ if (!minPrice || minPrice>item.Low) minPrice=item.Low;
55354
+ }
55355
+
55356
+ //JSConsole.Chart.Log("[StockChip::CalculateChip]",maxPrice,minPrice);
55357
+ if (!maxPrice || !minPrice) return true;
55358
+
55359
+ var priceZoom=this.PriceZoom;
55360
+
55361
+ maxPrice=parseInt(maxPrice*priceZoom);
55362
+ minPrice=parseInt(minPrice*priceZoom);
55363
+
55364
+ var dataCount=maxPrice-minPrice;
55365
+ var aryChip=new Array()
55366
+ for(let i=0;i<=dataCount;++i)
55367
+ {
55368
+ aryChip.push(0);
55369
+ }
55370
+
55371
+ var dayChip=[];
55372
+ var distributeData;
55373
+ if (this.ShowType==2)
55374
+ {
55375
+ var dayChip=
55376
+ [
55377
+ {Day:100, Color:this.DAY_COLOR[1][5]}, {Day:60, Color:this.DAY_COLOR[1][4]}, {Day:30, Color:this.DAY_COLOR[1][3]},
55378
+ {Day:20, Color:this.DAY_COLOR[1][2]}, {Day:10, Color:this.DAY_COLOR[1][1]}, {Day:5, Color:this.DAY_COLOR[1][0]}
55379
+ ];
55380
+ for(let i in aryVol)
55381
+ {
55382
+ var item=aryVol[i];
55383
+ var high=parseInt(item.High*priceZoom);
55384
+ var low=parseInt(item.Low*priceZoom);
55385
+ var averageVol=item.Vol;
55386
+ if (high-low>0) averageVol=item.Vol/(high-low);
55387
+ if (averageVol<=0.000000001) continue;
55388
+
55389
+ for(var k=0;k<dayChip.length;++k)
55390
+ {
55391
+ if (i==dayChip[k].Day)
55392
+ {
55393
+ dayChip[k].Chip=aryChip.slice(0);
55394
+ break;
55395
+ }
55396
+ }
55397
+
55398
+ distributeData={Low:low, High:high, Vol:item.Vol, MaxPrice:maxPrice, MinPrice:minPrice};
55399
+ this.CalculateDistribute(aryChip, distributeData );
55400
+ }
55401
+ }
55402
+ else if (this.ShowType==1)
55403
+ {
55404
+ var dayChip=
55405
+ [
55406
+ {Day:5, Color:this.DAY_COLOR[0][0]},{Day:10, Color:this.DAY_COLOR[0][1]},{Day:20, Color:this.DAY_COLOR[0][2]},
55407
+ {Day:30, Color:this.DAY_COLOR[0][3]},{Day:60, Color:this.DAY_COLOR[0][4]},{Day:100, Color:this.DAY_COLOR[0][5]}
55408
+ ];
55409
+
55410
+ for(let i=aryVol.length-1;i>=0;--i)
55411
+ {
55412
+ var item=aryVol[i];
55413
+ var high=parseInt(item.High*priceZoom);
55414
+ var low=parseInt(item.Low*priceZoom);
55415
+ var averageVol=item.Vol;
55416
+ if (high-low>0) averageVol=item.Vol/(high-low);
55417
+ if (averageVol<=0.000000001) continue;
55418
+
55419
+ for(var k=0;k<dayChip.length;++k)
55420
+ {
55421
+ if (i==dayChip[k].Day)
55422
+ {
55423
+ dayChip[k].Chip=aryChip.slice(0);
55424
+ break;
55425
+ }
55426
+ }
55427
+
55428
+ distributeData={Low:low, High:high, Vol:item.Vol, MaxPrice:maxPrice, MinPrice:minPrice};
55429
+ this.CalculateDistribute(aryChip, distributeData);
55430
+ }
55431
+ }
55432
+ else
55433
+ {
55434
+ for(let i in aryVol)
55435
+ {
55436
+ var item=aryVol[i];
55437
+ var high=parseInt(item.High*priceZoom);
55438
+ var low=parseInt(item.Low*priceZoom);
55439
+ var averageVol=item.Vol;
55440
+ if (high-low>0) averageVol=item.Vol/(high-low);
55441
+ if (averageVol<=0.000000001) continue;
55442
+
55443
+ distributeData={Low:low, High:high, Vol:item.Vol, MaxPrice:maxPrice, MinPrice:minPrice};
55444
+ this.CalculateDistribute(aryChip, distributeData);
55445
+ }
55446
+ }
55447
+
55448
+ if (!distributeData) return false;
55449
+
55450
+ this.Data={AllChip:aryChip, MaxVol:distributeData.MaxVol, MaxPrice:maxPrice, MinPrice:minPrice,SelectData:selData, DayChip:dayChip, YPrice:yPrice};
55451
+ return true;
55452
+ }
55453
+
55312
55454
  this.DrawFrame=function() //X轴成交量坐标
55313
55455
  {
55314
55456
  if (this.IsShowX==false) return;
@@ -83487,13 +83629,13 @@ function JSChartResource()
83487
83629
  {
83488
83630
  Color:"RGB(60,60,60)",
83489
83631
  Mergin:{ Left:5, Right:5, Top:4, Bottom:2 },
83490
- Font:{ Size:12, Name:"微软雅黑" }
83632
+ Font:{ Size:14, Name:"微软雅黑" }
83491
83633
  },
83492
83634
 
83493
83635
  Row:
83494
83636
  {
83495
83637
  Mergin:{ Top:2, Bottom:2 },
83496
- Font:{ Size:15, Name:"微软雅黑"},
83638
+ Font:{ Size:14, Name:"微软雅黑"},
83497
83639
  BarMergin:{ Top:2, Left:3, Right:3, Bottom:2 }
83498
83640
  },
83499
83641
 
@@ -83909,6 +84051,57 @@ function JSChartResource()
83909
84051
  BorderColor:"rgb(192,192,192)"
83910
84052
  }
83911
84053
 
84054
+ this.StatusBar=
84055
+ {
84056
+ Table:
84057
+ {
84058
+ Font:14*GetDevicePixelRatio() +'px 微软雅黑',
84059
+ TitleColor:"rgb(90,90,90)",
84060
+ AryTextColor:["rgb(90,90,90)","rgb(192,192,0)"],
84061
+ Margin:{ Left:1*GetDevicePixelRatio(), Top:0, Bottom:0, Right:0 },
84062
+ CellMargin:
84063
+ {
84064
+ Top:5*GetDevicePixelRatio(),
84065
+ Bottom:5*GetDevicePixelRatio(),
84066
+ Left:5*GetDevicePixelRatio(),
84067
+ Right:5*GetDevicePixelRatio(),
84068
+ YOffset:1* GetDevicePixelRatio(),
84069
+ },
84070
+
84071
+ Separator: { Left:10, Right:10, Line:{ Width:1, Color:"rgb(192,192,192)", Top:2, Bottom:2 } }
84072
+ },
84073
+
84074
+ DateTime:
84075
+ {
84076
+ Font:14*GetDevicePixelRatio() +'px 微软雅黑',
84077
+ TitleColor:"rgb(90,90,90)",
84078
+ Format:"HH:MM:SS",
84079
+ MaxText:"99:99:99",
84080
+ Margin:{ Left:2*GetDevicePixelRatio(), Top:5*GetDevicePixelRatio(), Bottom:5*GetDevicePixelRatio(), Right:5*GetDevicePixelRatio(), YOffset:1*GetDevicePixelRatio() },
84081
+ },
84082
+
84083
+ RightToolbar:
84084
+ {
84085
+ Icon:{ Family:"iconfont", Size:14*GetDevicePixelRatio() },
84086
+
84087
+ Margin:{ Left:1*GetDevicePixelRatio(), Top:0, Bottom:0, Right:2*GetDevicePixelRatio() },
84088
+ CellMargin:
84089
+ {
84090
+ Top:5*GetDevicePixelRatio(),
84091
+ Bottom:5*GetDevicePixelRatio(),
84092
+ Left:2*GetDevicePixelRatio(),
84093
+ Right:2*GetDevicePixelRatio(),
84094
+ YOffset:0,
84095
+ },
84096
+ },
84097
+
84098
+ UpTextColor:"rgb(238,21,21)", //上涨文字颜色
84099
+ DownTextColor:"rgb(25,158,0)", //下跌文字颜色
84100
+ UnchangeTextColor:"rgb(90,90,90)", //平盘文字颜色
84101
+
84102
+ BorderColor:"rgb(192,192,192)"
84103
+ }
84104
+
83912
84105
 
83913
84106
  //自定义风格
83914
84107
  this.SetStyle=function(style)
@@ -84878,7 +85071,64 @@ function JSChartResource()
84878
85071
 
84879
85072
  if (style.SmallFloatTooltipV2) this.SetSmallFloatTooltipV2(style.SmallFloatTooltipV2);
84880
85073
  if (style.StockInfo) this.SetStockInfo(style.StockInfo);
85074
+ if (style.StatusBar) this.SetStatusBar(style.StatusBar);
85075
+
85076
+ }
85077
+
85078
+ this.SetStatusBar=function(style)
85079
+ {
85080
+ var dest=this.StatusBar;
84881
85081
 
85082
+ if (style.Table)
85083
+ {
85084
+ var item=style.Table;
85085
+ if (item.Font) dest.Table.Font=item.Font;
85086
+ if (item.TitleColor) dest.Table.TitleColor=item.TitleColor;
85087
+ if (IFrameSplitOperator.IsNonEmptyArray(item.AryTextColor)) dest.Table.AryTextColor=item.AryTextColor.slice();
85088
+ CopyMarginConfig(dest.Table.Margin, item.Margin);
85089
+ if (item.CellMargin)
85090
+ {
85091
+ var subItem=item.CellMargin;
85092
+ CopyMarginConfig(dest.Table.CellMargin, subItem);
85093
+ if (IFrameSplitOperator.IsNumber(subItem.YOffset)) dest.Table.CellMargin.YOffset=subItem.YOffset
85094
+ }
85095
+
85096
+ if (item.Separator)
85097
+ {
85098
+ var subItem=item.Separator;
85099
+ var subDest=dest.Table.Separator;
85100
+ if (IFrameSplitOperator.IsNumber(subItem.Left)) subDest.Left=subItem.Left;
85101
+ if (IFrameSplitOperator.IsNumber(subItem.Right)) subDest.Left=subItem.Right;
85102
+
85103
+ if (subItem.Line)
85104
+ {
85105
+ if (IFrameSplitOperator.IsNumber(subItem.Line.Width)) subDest.Line.Width=subItem.Line.Width;
85106
+ if (IFrameSplitOperator.IsNumber(subItem.Line.Top)) subDest.Line.Top=subItem.Line.Top;
85107
+ if (IFrameSplitOperator.IsNumber(subItem.Line.Bottom)) subDest.Line.Bottom=subItem.Line.Bottom;
85108
+ if (subItem.Line.Color) subDest.Line.Color=subItem.Line.Color;
85109
+ }
85110
+ }
85111
+ }
85112
+
85113
+ if (style.DateTime)
85114
+ {
85115
+ var item=style.DateTime;
85116
+ if (item.Font) dest.DateTime.Font=item.Font;
85117
+ if (item.TitleColor) dest.DateTime.TitleColor=item.TitleColor;
85118
+ if (item.Format) dest.DateTime.Format=item.Format;
85119
+ if (item.MaxText) dest.DateTime.MaxText=item.MaxText;
85120
+ if (item.Margin)
85121
+ {
85122
+ var subItem=item.Margin;
85123
+ CopyMarginConfig(dest.DateTime.Margin, subItem);
85124
+ if (IFrameSplitOperator.IsNumber(subItem.YOffset)) dest.DateTime.Margin.YOffset=subItem.YOffset;
85125
+ }
85126
+ }
85127
+
85128
+ if (style.UpTextColor) dest.UpTextColor=style.UpTextColor;
85129
+ if (style.DownTextColor) dest.DownTextColor=style.DownTextColor;
85130
+ if (style.UnchangeTextColor) dest.UnchangeTextColor=style.UnchangeTextColor;
85131
+ if (style.BorderColor) dest.BorderColor=style.BorderColor;
84882
85132
  }
84883
85133
 
84884
85134
  this.SetStockInfo=function(style)
@@ -106598,6 +106848,7 @@ var MARKET_SUFFIX_NAME=
106598
106848
  DCE: '.DCE', //大连商品交易所(Dalian Commodity Exchange)
106599
106849
  CZCE: '.CZC', //郑州期货交易所
106600
106850
  GZFE:".GZFE", //广州期货交易所
106851
+ INE:".INE", //上海国际能源交易中心
106601
106852
 
106602
106853
  USA:'.USA', //美股
106603
106854
  FTSE:'.FTSE', //富时中国
@@ -106842,11 +107093,61 @@ var MARKET_SUFFIX_NAME=
106842
107093
  return upperSymbol.indexOf(this.GZFE) > 0;
106843
107094
  },
106844
107095
 
107096
+ IsINE:function(upperSymbol)
107097
+ {
107098
+ if (!upperSymbol) return false;
107099
+ return upperSymbol.indexOf(this.INE) > 0;
107100
+ },
107101
+
107102
+ //是否包含某一个市场的
107103
+ IsIncludes:function(symbol, arySuffix)
107104
+ {
107105
+ if (!symbol) return false;
107106
+ if (!IFrameSplitOperator.IsNonEmptyArray(arySuffix)) return false;
107107
+ var upperSymbol=symbol.toUpperCase();
107108
+
107109
+ var bMatch=false;
107110
+ for(var i=0;i<arySuffix.length;++i)
107111
+ {
107112
+ var item=arySuffix[i];
107113
+ switch(item)
107114
+ {
107115
+ case this.SHFE:
107116
+ case this.SHFE2:
107117
+ if (this.IsSHFE(upperSymbol)) bMatch=true;
107118
+ break;
107119
+ case this.CFFEX2:
107120
+ case this.CFFEX:
107121
+ case this.CFFEX3:
107122
+ if (this.IsCFFEX(upperSymbol)) bMatch=true;
107123
+ break;
107124
+ case this.DCE:
107125
+ if (this.IsDCE(upperSymbol)) bMatch=true;
107126
+ break;
107127
+ case this.CZCE:
107128
+ if (this.IsCZCE(upperSymbol)) bMatch=true;
107129
+ break;
107130
+ case this.GZFE:
107131
+ if (this.IsGZFE(upperSymbol)) bMatch=true;
107132
+ break;
107133
+ case this.INE:
107134
+ if (this.IsINE(upperSymbol)) bMatch=true;
107135
+ break;
107136
+ }
107137
+
107138
+ if (bMatch) return true;
107139
+ }
107140
+
107141
+ return false;
107142
+ },
107143
+
106845
107144
  IsChinaFutures:function(upperSymbol) //是否是国内期货 /期权
106846
107145
  {
107146
+ if (!upperSymbol) return false;
107147
+
106847
107148
  return this.IsSHO(upperSymbol) || this.IsSZO(upperSymbol) ||
106848
- this.IsGZFE(upperSymbol) ||
106849
- this.IsCFFEX(upperSymbol) || this.IsCZCE(upperSymbol) || this.IsDCE(upperSymbol) || this.IsSHFE(upperSymbol);
107149
+ this.IsGZFE(upperSymbol) || this.IsINE(upperSymbol) ||
107150
+ this.IsCFFEX(upperSymbol) || this.IsCZCE(upperSymbol) || this.IsDCE(upperSymbol) || this.IsSHFE(upperSymbol);
106850
107151
  },
106851
107152
 
106852
107153
  IsFutures:function(upperSymbol) //是否是期货 包含国外的
@@ -107355,6 +107656,16 @@ var MARKET_SUFFIX_NAME=
107355
107656
 
107356
107657
  }
107357
107658
 
107659
+ //国内期货市场
107660
+ const ARRAY_CHINA_FUTURES_SUFFIX=
107661
+ [
107662
+ MARKET_SUFFIX_NAME.SHFE,
107663
+ MARKET_SUFFIX_NAME.CFFEX,
107664
+ MARKET_SUFFIX_NAME.DCE,
107665
+ MARKET_SUFFIX_NAME.CZCE,
107666
+ MARKET_SUFFIX_NAME.GZFE,
107667
+ MARKET_SUFFIX_NAME.INE
107668
+ ];
107358
107669
 
107359
107670
  //走势图分钟数据对应的时间
107360
107671
  function MinuteTimeStringData()
@@ -107700,7 +108011,8 @@ function MinuteTimeStringData()
107700
108011
  if (MARKET_SUFFIX_NAME.IsTW(upperSymbol)) return this.GetTW(upperSymbol);
107701
108012
  if (MARKET_SUFFIX_NAME.IsJP(upperSymbol)) return this.GetJP(upperSymbol);
107702
108013
  if (MARKET_SUFFIX_NAME.IsUSA(upperSymbol)) return this.GetUSA(upperSymbol);
107703
- if (MARKET_SUFFIX_NAME.IsCFFEX(upperSymbol) || MARKET_SUFFIX_NAME.IsCZCE(upperSymbol) || MARKET_SUFFIX_NAME.IsDCE(upperSymbol) || MARKET_SUFFIX_NAME.IsSHFE(upperSymbol) || MARKET_SUFFIX_NAME.IsGZFE(upperSymbol))
108014
+ if (MARKET_SUFFIX_NAME.IsCFFEX(upperSymbol) || MARKET_SUFFIX_NAME.IsCZCE(upperSymbol) || MARKET_SUFFIX_NAME.IsDCE(upperSymbol) || MARKET_SUFFIX_NAME.IsSHFE(upperSymbol) ||
108015
+ MARKET_SUFFIX_NAME.IsGZFE(upperSymbol) || MARKET_SUFFIX_NAME.IsINE(upperSymbol))
107704
108016
  {
107705
108017
  var splitData = g_FuturesTimeData.GetSplitData(upperSymbol, option);
107706
108018
  if (!splitData) return null;
@@ -108192,7 +108504,7 @@ function MinuteCoordinateData()
108192
108504
  data=this.GetTWData(upperSymbol,width);
108193
108505
  else if (MARKET_SUFFIX_NAME.IsJP(upperSymbol))
108194
108506
  data=this.GetJPData(upperSymbol,width);
108195
- else if (MARKET_SUFFIX_NAME.IsCFFEX(upperSymbol) || MARKET_SUFFIX_NAME.IsCZCE(upperSymbol) || MARKET_SUFFIX_NAME.IsDCE(upperSymbol) || MARKET_SUFFIX_NAME.IsSHFE(upperSymbol) || MARKET_SUFFIX_NAME.IsGZFE(upperSymbol))
108507
+ else if (MARKET_SUFFIX_NAME.IsCFFEX(upperSymbol) || MARKET_SUFFIX_NAME.IsCZCE(upperSymbol) || MARKET_SUFFIX_NAME.IsDCE(upperSymbol) || MARKET_SUFFIX_NAME.IsSHFE(upperSymbol) || MARKET_SUFFIX_NAME.IsGZFE(upperSymbol) || MARKET_SUFFIX_NAME.IsINE(upperSymbol))
108196
108508
  return this.GetChinatFuturesData(upperSymbol, width, option);
108197
108509
  else if (MARKET_SUFFIX_NAME.IsUSA(upperSymbol))
108198
108510
  data = this.GetUSAData(upperSymbol,width);
@@ -109039,6 +109351,13 @@ function FuturesTimeData()
109039
109351
  [MARKET_SUFFIX_NAME.SHFE + '-LU', {Time:6,Decimal:0,Name:'低硫燃油'}],
109040
109352
  [MARKET_SUFFIX_NAME.SHFE + '-BC', {Time:4,Decimal:0,Name:'国际铜'}],
109041
109353
  [MARKET_SUFFIX_NAME.SHFE + '-EC', {Time:0,Decimal:0,Name:'集运指数'}],
109354
+
109355
+ //上海国际能源交易中心 独立的一个市场
109356
+ [MARKET_SUFFIX_NAME.INE + '-NR', {Time:6,Decimal:1,Name:'20号胶'}],
109357
+ [MARKET_SUFFIX_NAME.INE + '-SC', {Time:5,Decimal:1,Name:'原油'}],
109358
+ [MARKET_SUFFIX_NAME.INE + '-LU', {Time:6,Decimal:0,Name:'低硫燃油'}],
109359
+ [MARKET_SUFFIX_NAME.INE + '-BC', {Time:4,Decimal:0,Name:'国际铜'}],
109360
+ [MARKET_SUFFIX_NAME.INE + '-EC', {Time:0,Decimal:0,Name:'集运指数'}],
109042
109361
 
109043
109362
  //郑州期货交易所
109044
109363
  [MARKET_SUFFIX_NAME.CZCE + '-CF', {Time:6,Decimal:0,Name:"棉花"}],
@@ -109155,6 +109474,11 @@ function FuturesTimeData()
109155
109474
  oneWordName = MARKET_SUFFIX_NAME.GZFE + '-' + oneWord;
109156
109475
  twoWordsName = MARKET_SUFFIX_NAME.GZFE + '-' + twoWords;
109157
109476
  }
109477
+ else if (MARKET_SUFFIX_NAME.IsINE(upperSymbol)) //上海国际能源交易中心
109478
+ {
109479
+ oneWordName = MARKET_SUFFIX_NAME.INE + '-' + oneWord;
109480
+ twoWordsName = MARKET_SUFFIX_NAME.INE + '-' + twoWords;
109481
+ }
109158
109482
 
109159
109483
  if (this.MAP_TWOWORDS.has(twoWordsName))
109160
109484
  {
@@ -139395,13 +139719,13 @@ function GetBlackStyle()
139395
139719
  {
139396
139720
  Color:"RGB(245,245,245)",
139397
139721
  Mergin:{ Left:5, Right:5, Top:4, Bottom:2 },
139398
- Font:{ Size:12, Name:"微软雅黑" }
139722
+ //Font:{ Size:12, Name:"微软雅黑" }
139399
139723
  },
139400
139724
 
139401
139725
  Row:
139402
139726
  {
139403
139727
  Mergin:{ Top:2, Bottom:2 },
139404
- Font:{ Size:15, Name:"微软雅黑"},
139728
+ //Font:{ Size:15, Name:"微软雅黑"},
139405
139729
  BarMergin:{ Top:2, Left:3, Right:3, Bottom:2 }
139406
139730
  },
139407
139731
 
@@ -139749,6 +140073,48 @@ function GetBlackStyle()
139749
140073
  UpTextColor:"rgb(238,21,21)", //上涨文字颜色
139750
140074
  DownTextColor:"rgb(25,158,0)", //下跌文字颜色
139751
140075
  UnchangeTextColor:"rgb(90,90,90)", //平盘文字颜色
140076
+ BorderColor:'rgb(38,38,41)', //边框线
140077
+ },
140078
+
140079
+
140080
+ StatusBar:
140081
+ {
140082
+ Table:
140083
+ {
140084
+ //Font:14*GetDevicePixelRatio() +'px 微软雅黑',
140085
+ TitleColor:"rgb(250,250,250)",
140086
+ AryTextColor:["rgb(250,250,250)", "rgb(255, 185, 15)"],
140087
+ //Margin:{ Left:0, Top:0, Bottom:0, Right:0 },
140088
+ //CellMargin:{ Top:5, Bottom:5, Left:5, Right:5, YOffset:0 },
140089
+ //ItemSpace:20,
140090
+
140091
+ Separator:
140092
+ {
140093
+ //Left:20,
140094
+ // Right:20,
140095
+ Line:
140096
+ {
140097
+ //Width:1,
140098
+ Color:"rgb(38,38,41)",
140099
+ //Top:2,
140100
+ //Bottom:2
140101
+ }
140102
+ }
140103
+ },
140104
+
140105
+ DateTime:
140106
+ {
140107
+ //Font:14*GetDevicePixelRatio() +'px 微软雅黑',
140108
+ TitleColor:"rgb(250,250,250)",
140109
+ //Format:"HH:MM:SS",
140110
+ //MaxText:"99:99:99",
140111
+ //Margin:{ Left:2*GetDevicePixelRatio(), Top:5*GetDevicePixelRatio(), Bottom:5*GetDevicePixelRatio(), Right:5*GetDevicePixelRatio(), YOffset:1*GetDevicePixelRatio() },
140112
+ },
140113
+
140114
+ UpTextColor:"rgb(238,21,21)", //上涨文字颜色
140115
+ DownTextColor:"rgb(25,158,0)", //下跌文字颜色
140116
+ UnchangeTextColor:"rgb(90,90,90)", //平盘文字颜色
140117
+
139752
140118
  BorderColor:'rgb(38,38,41)', //边框线
139753
140119
  }
139754
140120
 
@@ -140300,8 +140666,11 @@ function JSDealChartContainer(uielement)
140300
140666
  var chart=this.ChartPaint[0];
140301
140667
  if (chart) chart.Data=null;
140302
140668
 
140303
- if (option && IFrameSplitOperator.IsNumber(option.TradeDate))
140304
- this.TradeDate=option.TradeDate;
140669
+ if (option)
140670
+ {
140671
+ if (IFrameSplitOperator.IsNumber(option.TradeDate)) this.TradeDate=option.TradeDate;
140672
+ if (IFrameSplitOperator.IsNonEmptyArray(option.Column)) this.SetColumn(option.Column);
140673
+ }
140305
140674
 
140306
140675
  if (!this.Symbol)
140307
140676
  {
@@ -140409,6 +140778,7 @@ function JSDealChartContainer(uielement)
140409
140778
  chart.Data=this.Data;
140410
140779
  chart.Symbol=this.Symbol;
140411
140780
  chart.YClose=data.yclose;
140781
+ chart.YFClose=data.yfclose;
140412
140782
  chart.Open=data.open;
140413
140783
 
140414
140784
  if (this.IsShowLastPage) this.SetLastPageDataOffset(); //显示最后一屏
@@ -141076,8 +141446,6 @@ var DEAL_COLUMN_ID=
141076
141446
  SYMBOL_ID:11, //股票代码
141077
141447
  NAME_ID:12, //股票名称
141078
141448
 
141079
-
141080
-
141081
141449
  //预留数值类型 10个
141082
141450
  RESERVE_NUMBER1_ID:201, //ReserveNumber1:
141083
141451
  RESERVE_NUMBER2_ID:202,
@@ -141155,6 +141523,7 @@ function ChartDealList()
141155
141523
  //this.Data={Offset:0, Data:[ {Time:925, Price:20.1, Vol:10000050, BS:1, Deal:45 }, {Time:925, Price:18.2, Vol:1150, BS:1, Deal:5 }] };
141156
141524
  this.Symbol;
141157
141525
  this.YClose; //昨收
141526
+ this.YFClose; //昨结算
141158
141527
  this.Open; //开盘价
141159
141528
  this.Decimal=2; //小数位数
141160
141529
  this.IsSingleTable=false; //单表模式
@@ -141309,7 +141678,6 @@ function ChartDealList()
141309
141678
  { Type:DEAL_COLUMN_ID.STRING_TIME_ID, Title:"时间", TextAlign:"center", Width:null, TextColor:g_JSChartResource.DealList.FieldColor.Time, MaxText:"88:88:88" },
141310
141679
  { Type:DEAL_COLUMN_ID.INDEX_ID, Title:"序号", TextAlign:"center", Width:null, TextColor:g_JSChartResource.DealList.FieldColor.Index, MaxText:"88888" },
141311
141680
 
141312
-
141313
141681
  { Type:DEAL_COLUMN_ID.CENTER_BAR_ID, Title:"柱子2", TextAlign:"center", Width:null, TextColor:g_JSChartResource.DealList.FieldColor.BarTitle, MaxText:"888888" },
141314
141682
  { Type:DEAL_COLUMN_ID.CUSTOM_TEXT_ID, Title:"自定义", TextAlign:"center", Width:null, TextColor:g_JSChartResource.DealList.FieldColor.Text, MaxText:"擎擎擎擎擎" },
141315
141683
 
@@ -141638,10 +142006,7 @@ function ChartDealList()
141638
142006
  }
141639
142007
  else if (item.Type==DEAL_COLUMN_ID.PRICE_ID)
141640
142008
  {
141641
- if (data.Price>this.YClose) textColor=this.UpColor;
141642
- else if (data.Price<this.YClose) textColor=this.DownColor;
141643
- else textColor=this.UnchangeColor;
141644
-
142009
+ textColor=this.GetPriceColor(data.Price);
141645
142010
  text=data.Price.toFixed(this.Decimal);
141646
142011
  }
141647
142012
  else if (item.Type==DEAL_COLUMN_ID.VOL_ID)
@@ -141742,6 +142107,29 @@ function ChartDealList()
141742
142107
  }
141743
142108
  }
141744
142109
 
142110
+ this.GetPriceColor=function(price)
142111
+ {
142112
+ var upperSymbol=null;
142113
+ if (this.Symbol) upperSymbol=this.Symbol.toUpperCase();
142114
+ if (MARKET_SUFFIX_NAME.IsChinaFutures(upperSymbol))
142115
+ {
142116
+ if (!IFrameSplitOperator.IsNumber(this.YFClose)) return this.UnchangeColor;
142117
+ return this.GetUpDownColor(price, this.YFClose);
142118
+ }
142119
+ else
142120
+ {
142121
+ if (!IFrameSplitOperator.IsNumber(this.YClose)) return this.UnchangeColor;
142122
+ return this.GetUpDownColor(price, this.YClose);
142123
+ }
142124
+ }
142125
+
142126
+ this.GetUpDownColor=function(price, price2)
142127
+ {
142128
+ if (price>price2) return this.UpColor;
142129
+ else if (price<price2) return this.DownColor;
142130
+ else return this.UnchangeColor;
142131
+ }
142132
+
141745
142133
  this.FormatReserveNumber=function(column, data, drawInfo)
141746
142134
  {
141747
142135
  if (column.DefaultText) drawInfo.Text=column.DefaultText;
@@ -143883,6 +144271,8 @@ function JSReportChartContainer(uielement)
143883
144271
  //80=整行背景色
143884
144272
  //101-199=数值型 201-299=字符型 301-350=进度条 351-400=按钮 401-499=日期时间
143885
144273
 
144274
+ var upperSymbol=null;
144275
+ if (stock.Symbol) upperSymbol=stock.Symbol.toUpperCase();
143886
144276
  if (IFrameSplitOperator.IsString(item[1])) stock.Name=item[1];
143887
144277
  if (IFrameSplitOperator.IsNumber(item[2])) stock.YClose=item[2];
143888
144278
  if (IFrameSplitOperator.IsNumber(item[3])) stock.Open=item[3];
@@ -143914,17 +144304,39 @@ function JSReportChartContainer(uielement)
143914
144304
 
143915
144305
  if (item[27]) stock.NameEx=item[27]; //扩展名字
143916
144306
 
144307
+ if (IFrameSplitOperator.IsNumber(item[38])) stock.Position=item[38]; //持仓量
144308
+ if (IFrameSplitOperator.IsNumber(item[39])) stock.FClose=item[39]; //结算价
144309
+ if (IFrameSplitOperator.IsNumber(item[40])) stock.YFClose=item[40]; //昨结算价
144310
+ if (IFrameSplitOperator.IsNumber(item[41])) stock.OpenPosition=item[41]; //开仓量
144311
+ if (IFrameSplitOperator.IsNumber(item[42])) stock.ClosePosition=item[42]; //平仓量
144312
+
143917
144313
  //衍生数据计算
143918
144314
  if (!IFrameSplitOperator.IsNumber(item[21])) //涨幅%
143919
144315
  {
143920
- if (IFrameSplitOperator.IsNumber(stock.Price) && IFrameSplitOperator.IsNumber(stock.YClose) && stock.YClose!=0)
143921
- stock.Increase=(stock.Price-stock.YClose)/stock.YClose*100;
144316
+ if (MARKET_SUFFIX_NAME.IsChinaFutures(upperSymbol))
144317
+ {
144318
+ if (IFrameSplitOperator.IsNumber(stock.Price) && IFrameSplitOperator.IsNumber(stock.YFClose) && stock.YFClose!=0)
144319
+ stock.Increase=(stock.Price-stock.YFClose)/stock.YFClose*100;
144320
+ }
144321
+ else
144322
+ {
144323
+ if (IFrameSplitOperator.IsNumber(stock.Price) && IFrameSplitOperator.IsNumber(stock.YClose) && stock.YClose!=0)
144324
+ stock.Increase=(stock.Price-stock.YClose)/stock.YClose*100;
144325
+ }
143922
144326
  }
143923
144327
 
143924
144328
  if (!IFrameSplitOperator.IsNumber(item[22])) //涨跌
143925
144329
  {
143926
- if (IFrameSplitOperator.IsNumber(stock.Price) && IFrameSplitOperator.IsNumber(stock.YClose))
143927
- stock.UpDown=stock.Price-stock.YClose;
144330
+ if (MARKET_SUFFIX_NAME.IsChinaFutures(upperSymbol))
144331
+ {
144332
+ if (IFrameSplitOperator.IsNumber(stock.Price) && IFrameSplitOperator.IsNumber(stock.YFClose))
144333
+ stock.UpDown=stock.Price-stock.YFClose;
144334
+ }
144335
+ else
144336
+ {
144337
+ if (IFrameSplitOperator.IsNumber(stock.Price) && IFrameSplitOperator.IsNumber(stock.YClose))
144338
+ stock.UpDown=stock.Price-stock.YClose;
144339
+ }
143928
144340
  }
143929
144341
 
143930
144342
  if (!IFrameSplitOperator.IsNumber(item[23])) //换手率%
@@ -143935,8 +144347,17 @@ function JSReportChartContainer(uielement)
143935
144347
 
143936
144348
  if (!IFrameSplitOperator.IsNumber(item[24])) //振幅%
143937
144349
  {
143938
- if (IFrameSplitOperator.IsNumber(stock.High) && IFrameSplitOperator.IsNumber(stock.Low) && IFrameSplitOperator.IsNumber(stock.YClose) && stock.YClose!=0)
143939
- stock.Amplitude=(stock.High-stock.Low)/stock.YClose*100;
144350
+ if (MARKET_SUFFIX_NAME.IsChinaFutures(upperSymbol))
144351
+ {
144352
+ if (IFrameSplitOperator.IsNumber(stock.High) && IFrameSplitOperator.IsNumber(stock.Low) && IFrameSplitOperator.IsNumber(stock.YFClose) && stock.YFClose!=0)
144353
+ stock.Amplitude=(stock.High-stock.Low)/stock.YFClose*100;
144354
+ }
144355
+ else
144356
+ {
144357
+ if (IFrameSplitOperator.IsNumber(stock.High) && IFrameSplitOperator.IsNumber(stock.Low) && IFrameSplitOperator.IsNumber(stock.YClose) && stock.YClose!=0)
144358
+ stock.Amplitude=(stock.High-stock.Low)/stock.YClose*100;
144359
+ }
144360
+
143940
144361
  }
143941
144362
 
143942
144363
  if (!IFrameSplitOperator.IsNumber(item[25])) //流通市值
@@ -143965,11 +144386,7 @@ function JSReportChartContainer(uielement)
143965
144386
 
143966
144387
  if (IFrameSplitOperator.IsBool(item[37])) stock.Checked=item[37];
143967
144388
 
143968
- if (IFrameSplitOperator.IsNumber(item[38])) stock.Position=item[38]; //持仓量
143969
- if (IFrameSplitOperator.IsNumber(item[39])) stock.FClose=item[39]; //结算价
143970
- if (IFrameSplitOperator.IsNumber(item[40])) stock.YFClose=item[40]; //昨结算价
143971
- if (IFrameSplitOperator.IsNumber(item[41])) stock.OpenPosition=item[41]; //开仓量
143972
- if (IFrameSplitOperator.IsNumber(item[42])) stock.ClosePosition=item[42]; //平仓量
144389
+
143973
144390
 
143974
144391
  //1,3,5,10,15 涨速%
143975
144392
  if (IFrameSplitOperator.IsNumber(item[43])) stock.RSpeed1M=item[43];
@@ -150259,7 +150676,16 @@ function ChartReport()
150259
150676
  }
150260
150677
  else //昨收价 计算颜色
150261
150678
  {
150262
- if (IFrameSplitOperator.IsNumber(stock.YClose)) yClose=stock.YClose;
150679
+ var upperSymbol=null;
150680
+ if (stock.Symbol) upperSymbol=stock.Symbol.toUpperCase();
150681
+ if (MARKET_SUFFIX_NAME.IsChinaFutures(upperSymbol) && IFrameSplitOperator.IsNumber(stock.YFClose))
150682
+ {
150683
+ yClose=stock.YFClose;
150684
+ }
150685
+ else
150686
+ {
150687
+ if (IFrameSplitOperator.IsNumber(stock.YClose)) yClose=stock.YClose;
150688
+ }
150263
150689
  }
150264
150690
 
150265
150691
  if (!IFrameSplitOperator.IsNumber(yClose))
@@ -156088,7 +156514,7 @@ function ScrollBarBGChart()
156088
156514
 
156089
156515
 
156090
156516
 
156091
- var HQCHART_VERSION="1.1.15427";
156517
+ var HQCHART_VERSION="1.1.15445";
156092
156518
 
156093
156519
  function PrintHQChartVersion()
156094
156520
  {