hqchart 1.1.14128 → 1.1.14135

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.
@@ -3046,6 +3046,13 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
3046
3046
  this.DialogModifyIndexParam; //指标参数修改
3047
3047
 
3048
3048
 
3049
+ this.GetVolUnit=function() //成交量单位
3050
+ {
3051
+ var upperSymbol=this.Symbol?this.Symbol.toUpperCase():null;
3052
+ var unit=MARKET_SUFFIX_NAME.GetVolUnit(upperSymbol);
3053
+ return unit;
3054
+ }
3055
+
3049
3056
  this.ClearStockCache=function()
3050
3057
  {
3051
3058
  this.StockCache.Data=null;
@@ -31389,6 +31396,13 @@ function ChartMinuteVolumBar()
31389
31396
  return this.DrawLinePoint({ MinuteVolBar:true });
31390
31397
  }
31391
31398
 
31399
+ this.GetVolUnit=function()
31400
+ {
31401
+ var upperSymbol=this.Symbol?this.Symbol.toUpperCase():null;
31402
+ var unit=MARKET_SUFFIX_NAME.GetVolUnit(upperSymbol);
31403
+ return unit;
31404
+ }
31405
+
31392
31406
  this.Draw=function()
31393
31407
  {
31394
31408
  var isHScreen = (this.ChartFrame.IsHScreen === true);
@@ -31411,9 +31425,11 @@ function ChartMinuteVolumBar()
31411
31425
  var yBottom=this.ChartFrame.GetYFromData(0);
31412
31426
  var yPrice=this.YClose; //上一分钟的价格
31413
31427
  var data=this.Data;
31428
+
31414
31429
  var bShowColorBar=MARKET_SUFFIX_NAME.IsShowMinuteColorVolBar(this.Symbol);
31415
-
31416
31430
  if (bShowColorBar) this.Canvas.strokeStyle=this.CustomColor;
31431
+ var unit=this.GetVolUnit();
31432
+
31417
31433
  for(var i=data.DataOffset,j=0;i<data.Data.length && j<xPointCount;++i,++j)
31418
31434
  {
31419
31435
  var item = data.Data[i];
@@ -31421,7 +31437,7 @@ function ChartMinuteVolumBar()
31421
31437
  if (!item) continue;
31422
31438
  var price=null;
31423
31439
 
31424
- vol=item.Vol;
31440
+ vol=item.Vol/unit;
31425
31441
  price=item.Close;
31426
31442
 
31427
31443
  if (!vol) continue;
@@ -31528,6 +31544,7 @@ function ChartMinuteVolumBar()
31528
31544
  var isHScreen=(this.ChartFrame.IsHScreen===true);
31529
31545
  var yPrice=this.YClose; //上一分钟的价格
31530
31546
  var yBottom=this.ChartFrame.GetYFromData(0);
31547
+ var unit=this.GetVolUnit();
31531
31548
  if (callAutionData.Ver==1.0)
31532
31549
  {
31533
31550
  for(var i in callAutionData.Data)
@@ -31538,12 +31555,12 @@ function ChartMinuteVolumBar()
31538
31555
  if (isBeforeOpen)
31539
31556
  {
31540
31557
  var x=this.ChartFrame.GetLeftExtendXFromIndex(i,callAutionData);
31541
- var y=this.ChartFrame.GetLeftExtendYFromData(item.Vol[0]);
31558
+ var y=this.ChartFrame.GetLeftExtendYFromData(item.Vol[0]/unit);
31542
31559
  }
31543
31560
  else
31544
31561
  {
31545
31562
  var x=this.ChartFrame.GetRightExtendXFromIndex(i,callAutionData);
31546
- var y=this.ChartFrame.GetRightExtendYFromData(item.Vol[0]);
31563
+ var y=this.ChartFrame.GetRightExtendYFromData(item.Vol[0]/unit);
31547
31564
  }
31548
31565
 
31549
31566
 
@@ -31576,13 +31593,13 @@ function ChartMinuteVolumBar()
31576
31593
  if (isBeforeOpen)
31577
31594
  {
31578
31595
  var x=this.ChartFrame.GetLeftExtendXFromIndex(i,callAutionData);
31579
- var y=this.ChartFrame.GetLeftExtendYFromData(item.Vol[0],false, { Range:range });
31596
+ var y=this.ChartFrame.GetLeftExtendYFromData(item.Vol[0]/unit,false, { Range:range });
31580
31597
  }
31581
31598
  else
31582
31599
  {
31583
31600
  var x=this.ChartFrame.GetRightExtendXFromIndex(i,callAutionData);
31584
- if (this.ShareAfterVol==1) var y=this.ChartFrame.GetYFromData(item.Vol[0]);
31585
- else var y=this.ChartFrame.GetRightExtendYFromData(item.Vol[0],false, { Range:range });
31601
+ if (this.ShareAfterVol==1) var y=this.ChartFrame.GetYFromData(item.Vol[0]/unit);
31602
+ else var y=this.ChartFrame.GetRightExtendYFromData(item.Vol[0]/unit,false, { Range:range });
31586
31603
  }
31587
31604
 
31588
31605
  this.Canvas.strokeStyle = this.GetBarColor(item.ColorID);
@@ -31606,13 +31623,13 @@ function ChartMinuteVolumBar()
31606
31623
  if (isBeforeOpen)
31607
31624
  {
31608
31625
  var x=this.ChartFrame.GetLeftExtendXFromIndex(i,callAutionData);
31609
- var y=this.ChartFrame.GetLeftExtendYFromData(item.Vol[1],false, { Range:range });
31626
+ var y=this.ChartFrame.GetLeftExtendYFromData(item.Vol[1]/unit,false, { Range:range });
31610
31627
  }
31611
31628
  else
31612
31629
  {
31613
31630
  var x=this.ChartFrame.GetRightExtendXFromIndex(i,callAutionData);
31614
- if (this.ShareAfterVol==1) var y=this.ChartFrame.GetYFromData(item.Vol[1]);
31615
- else var y=this.ChartFrame.GetRightExtendYFromData(item.Vol[1],false, { Range:range });
31631
+ if (this.ShareAfterVol==1) var y=this.ChartFrame.GetYFromData(item.Vol[1]/unit);
31632
+ else var y=this.ChartFrame.GetRightExtendYFromData(item.Vol[1]/unit,false, { Range:range });
31616
31633
  }
31617
31634
 
31618
31635
  this.Canvas.strokeStyle = this.GetBarColor(item.ColorID);
@@ -31661,6 +31678,7 @@ function ChartMinuteVolumBar()
31661
31678
 
31662
31679
  this.GetMaxMin=function()
31663
31680
  {
31681
+ var unit=this.GetVolUnit();
31664
31682
  var xPointCount=this.ChartFrame.XPointCount;
31665
31683
  var start=this.Data.DataOffset;
31666
31684
  if (this.ChartFrame.GlobalOption && this.ChartFrame.GlobalOption.IsValueFullRange===true)
@@ -31677,10 +31695,9 @@ function ChartMinuteVolumBar()
31677
31695
  {
31678
31696
  var item = this.Data.Data[i];
31679
31697
  if (!item || !item.Vol) continue;
31680
- if (range.Max == null) range.Max = item.Vol;
31681
- if (range.Max < item.Vol) range.Max = item.Vol;
31698
+ var value=item.Vol/unit;
31699
+ if (range.Max == null || range.Max < value) range.Max = value;
31682
31700
  }
31683
-
31684
31701
 
31685
31702
  if (this.ShareAfterVol==1)
31686
31703
  {
@@ -42750,6 +42767,7 @@ function KLineTooltipPaint()
42750
42767
  var upperSymbol;
42751
42768
  if (this.HQChart.Symbol) upperSymbol=this.HQChart.Symbol.toUpperCase();
42752
42769
  var defaultfloatPrecision=GetfloatPrecision(this.HQChart.Symbol);//价格小数位数
42770
+ var unit=MARKET_SUFFIX_NAME.GetVolUnit(upperSymbol);
42753
42771
 
42754
42772
  var aryText=[];
42755
42773
  var result={ AryText:aryText };
@@ -42833,7 +42851,7 @@ function KLineTooltipPaint()
42833
42851
  title=g_JSChartLocalization.GetText('Tooltip-Vol',this.LanguageID);
42834
42852
  var vol=item.Vol;
42835
42853
  if (upperSymbol && MARKET_SUFFIX_NAME.IsSHSZ(upperSymbol)) vol/=100; //A股统一转成手
42836
- text=IFrameSplitOperator.FromatIntegerString(vol,2,this.LanguageID);
42854
+ text=IFrameSplitOperator.FromatIntegerString(vol/unit,2,this.LanguageID);
42837
42855
  aryText.push({Title:title, TitleColor:this.TitleColor, Text:text, Color:this.VolColor });
42838
42856
  }
42839
42857
 
@@ -43210,6 +43228,7 @@ function MinuteTooltipPaint()
43210
43228
  if (this.HQChart.Symbol) upperSymbol=this.HQChart.Symbol.toUpperCase();
43211
43229
  var isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol); //国内期货, 纽约期货交易所
43212
43230
  var defaultfloatPrecision=GetfloatPrecision(this.HQChart.Symbol);//价格小数位数
43231
+ var unit=MARKET_SUFFIX_NAME.GetVolUnit(upperSymbol);
43213
43232
 
43214
43233
  this.YClose=this.TitlePaint.YClose;
43215
43234
  this.YClose=item.YClose;
@@ -43276,7 +43295,7 @@ function MinuteTooltipPaint()
43276
43295
  if (IFrameSplitOperator.IsNumber(vol))
43277
43296
  {
43278
43297
  title=g_JSChartLocalization.GetText('Tooltip-Vol',this.LanguageID);
43279
- var text=IFrameSplitOperator.FromatIntegerString(vol,2,this.LanguageID);
43298
+ var text=IFrameSplitOperator.FromatIntegerString(vol/unit,2,this.LanguageID);
43280
43299
  aryText.push({Title:title, TitleColor:this.TitleColor, Text:text, Color:this.VolColor });
43281
43300
  }
43282
43301
 
@@ -43297,134 +43316,6 @@ function MinuteTooltipPaint()
43297
43316
 
43298
43317
  return result;
43299
43318
  }
43300
-
43301
- /*
43302
- this.DrawTooltipData=function(item)
43303
- {
43304
- //JSConsole.Chart.Log('[KLineTooltipPaint::DrawKLineData] ', item);
43305
- if (!this.HQChart.Symbol) return;
43306
-
43307
- var defaultfloatPrecision=GetfloatPrecision(this.HQChart.Symbol);//价格小数位数
43308
- var left=this.GetLeft()+2*GetDevicePixelRatio();
43309
- var top=this.GetTop()+3*GetDevicePixelRatio();
43310
- this.YClose=this.KLineTitlePaint.YClose;
43311
- var upperSymbol=this.HQChart.Symbol.toUpperCase();
43312
-
43313
- if (this.IsHScreen)
43314
- {
43315
- this.Canvas.save();
43316
- var x=this.GetLeft()+this.Height, y=this.GetTop();
43317
-
43318
- this.Canvas.translate(x, y);
43319
- this.Canvas.rotate(90 * Math.PI / 180);
43320
-
43321
- //x, y 作为原点
43322
- left=2*GetDevicePixelRatio();
43323
- top=3*GetDevicePixelRatio();
43324
- }
43325
-
43326
- this.Canvas.textBaseline="top";
43327
- this.Canvas.textAlign="left";
43328
- this.Canvas.font=this.Font[0];
43329
- var labelWidth=this.Canvas.measureText('擎: ').width;
43330
-
43331
- var aryDateTime=item.DateTime.split(' ');
43332
- if (aryDateTime && aryDateTime.length==2)
43333
- {
43334
- var text=IFrameSplitOperator.FormatDateString(aryDateTime[0]);
43335
- this.Canvas.fillStyle=this.TitleColor;
43336
- this.Canvas.fillText(text, left,top);
43337
-
43338
- top+=this.LineHeight;
43339
- text=IFrameSplitOperator.FormatTimeString(aryDateTime[1]);
43340
- this.Canvas.fillText(text, left,top);
43341
- }
43342
-
43343
- var close=item.Close;
43344
- var increase=item.Increase;
43345
- var vol=item.Vol;
43346
- var amount=item.Amount;
43347
- if (item.Before) //读取盘前数据
43348
- {
43349
- close=item.Before.Close;
43350
- increase=item.Before.Increase;
43351
- vol=item.Before.Vol;
43352
- amount=item.Before.Amount;
43353
- }
43354
-
43355
- //最新价格
43356
- top+=this.LineHeight;
43357
- this.Canvas.fillStyle=this.TitleColor;
43358
- text=g_JSChartLocalization.GetText('Tooltip-Price',this.LanguageID);
43359
- this.Canvas.fillText(text, left,top);
43360
- var color=this.KLineTitlePaint.GetColor(close,this.YClose);
43361
- var text=close.toFixed(defaultfloatPrecision);
43362
- this.Canvas.fillStyle=color;
43363
- this.Canvas.fillText(text,left+labelWidth,top);
43364
-
43365
- var isShowAvPrice=true;
43366
- if (item.Before) isShowAvPrice=false; //集合竞价均价
43367
- else if (MARKET_SUFFIX_NAME.IsForeignExchange(upperSymbol)) isShowAvPrice=false; //外汇没有均价
43368
- else if (MARKET_SUFFIX_NAME.IsET(upperSymbol) && !MARKET_SUFFIX_NAME.IsETShowAvPrice(upperSymbol)) isShowAvPrice=false;
43369
- else if (MARKET_SUFFIX_NAME.IsShowAvPrice && !MARKET_SUFFIX_NAME.IsShowAvPrice(upperSymbol)) isShowAvPrice=false;
43370
-
43371
- //均价
43372
- if (isShowAvPrice && IFrameSplitOperator.IsNumber(item.AvPrice) && this.IsShowAveragePrice)
43373
- {
43374
- top+=this.LineHeight;
43375
- this.Canvas.fillStyle=this.TitleColor;
43376
- text=g_JSChartLocalization.GetText('Tooltip-AvPrice',this.LanguageID);
43377
- this.Canvas.fillText(text, left,top);
43378
- var color=this.KLineTitlePaint.GetColor(item.AvPrice,this.YClose);
43379
- var text=item.AvPrice.toFixed(defaultfloatPrecision);
43380
- this.Canvas.fillStyle=color;
43381
- this.Canvas.fillText(text,left+labelWidth,top);
43382
- }
43383
-
43384
- //涨幅
43385
- top+=this.LineHeight;
43386
- this.Canvas.fillStyle=this.TitleColor;
43387
- text=g_JSChartLocalization.GetText('Tooltip-Increase',this.LanguageID);
43388
- this.Canvas.fillText(text, left,top);
43389
- var value=(close-this.YClose)/this.YClose*100;
43390
- var color = this.KLineTitlePaint.GetColor(value, 0);
43391
- var text = value.toFixed(2)+'%';
43392
- this.Canvas.fillStyle=color;
43393
- this.Canvas.fillText(text,left+labelWidth,top);
43394
-
43395
- //成交量
43396
- if (IFrameSplitOperator.IsNumber(vol))
43397
- {
43398
- this.Canvas.fillStyle=this.TitleColor;
43399
- top+=this.LineHeight;
43400
- text=g_JSChartLocalization.GetText('Tooltip-Vol',this.LanguageID);
43401
- this.Canvas.fillText(text, left,top);
43402
- var text=IFrameSplitOperator.FromatIntegerString(vol,2,this.LanguageID);
43403
- this.Canvas.fillText(text,left+labelWidth,top);
43404
- }
43405
-
43406
- //成交金额
43407
- if (IFrameSplitOperator.IsNumber(amount))
43408
- {
43409
- top+=this.LineHeight;
43410
- text=g_JSChartLocalization.GetText('Tooltip-Amount',this.LanguageID);
43411
- this.Canvas.fillText(text, left,top);
43412
- var text=IFrameSplitOperator.FormatValueString(amount,2,this.LanguageID);
43413
- this.Canvas.fillText(text,left+labelWidth,top);
43414
- }
43415
-
43416
- if (IFrameSplitOperator.IsNumber(item.Position))
43417
- {
43418
- top+=this.LineHeight;
43419
- text=g_JSChartLocalization.GetText('Tooltip-Position',this.LanguageID);
43420
- this.Canvas.fillText(text, left,top);
43421
- var text=IFrameSplitOperator.FormatValueString(item.Position,2,this.LanguageID);
43422
- this.Canvas.fillText(text,left+labelWidth,top);
43423
- }
43424
-
43425
- if (this.IsHScreen) this.Canvas.restore();
43426
- }
43427
- */
43428
43319
  }
43429
43320
 
43430
43321
  //PC端 分时图tooltip左侧固定
@@ -43580,6 +43471,7 @@ function MinuteLeftTooltipPaint()
43580
43471
  if (this.HQChart.Symbol) upperSymbol=this.HQChart.Symbol.toUpperCase();
43581
43472
  var defaultfloatPrecision=GetfloatPrecision(upperSymbol);//价格小数位数
43582
43473
  if (upperSymbol) isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol); //国内期货, 纽约期货交易所
43474
+ var unit=MARKET_SUFFIX_NAME.GetVolUnit(upperSymbol);
43583
43475
 
43584
43476
  if (drawData.Type==0) //连续交易
43585
43477
  {
@@ -43603,7 +43495,7 @@ function MinuteLeftTooltipPaint()
43603
43495
  var titleItem=this.ForamtIncrease(item.Close,"PCTooltip-Increase");
43604
43496
  if (titleItem) aryText.push(titleItem);
43605
43497
 
43606
- var titleItem=this.FormatVol(item.Vol,'PCTooltip-Vol');
43498
+ var titleItem=this.FormatVol(item.Vol/unit,'PCTooltip-Vol');
43607
43499
  if (titleItem) aryText.push(titleItem);
43608
43500
 
43609
43501
  if (IFrameSplitOperator.IsNumber(item.Amount))
@@ -43649,10 +43541,10 @@ function MinuteLeftTooltipPaint()
43649
43541
 
43650
43542
  if (IFrameSplitOperator.IsNonEmptyArray(item.Vol))
43651
43543
  {
43652
- var titleItem=this.FormatVol(item.Vol[0],'PCTooltip-AC-Vol');
43544
+ var titleItem=this.FormatVol(item.Vol[0]/unit,'PCTooltip-AC-Vol');
43653
43545
  if (titleItem) aryText.push(titleItem);
43654
43546
 
43655
- var titleItem=this.FormatVol(item.Vol[1],'PCTooltip-AC-NotMatchVol');
43547
+ var titleItem=this.FormatVol(item.Vol[1]/unit,'PCTooltip-AC-NotMatchVol');
43656
43548
  if (titleItem) aryText.push(titleItem);
43657
43549
  }
43658
43550
  }
@@ -54312,8 +54204,8 @@ function DynamicKLineTitlePainting()
54312
54204
 
54313
54205
  if (IFrameSplitOperator.IsNumber(item.Vol)) //成交量
54314
54206
  {
54315
- var vol=item.Vol;
54316
- if (upperSymbol && MARKET_SUFFIX_NAME.IsSHSZ(upperSymbol)) vol/=100; //A股原始单位股, 转成股
54207
+ var unit=MARKET_SUFFIX_NAME.GetVolUnit(upperSymbol);
54208
+ var vol=item.Vol/unit;
54317
54209
  var text=g_JSChartLocalization.GetText('KTitle-Vol',this.LanguageID)+IFrameSplitOperator.FromatIntegerString(vol,2,this.LanguageID);
54318
54210
  aryText.push({ Text:text, Color:this.VolColor});
54319
54211
  }
@@ -54743,6 +54635,7 @@ function DynamicMinuteTitlePainting()
54743
54635
  var upperSymbol=this.Symbol.toUpperCase();
54744
54636
  var defaultfloatPrecision=GetfloatPrecision(this.Symbol); //价格小数位数
54745
54637
  var isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol); //国内期货, 纽约期货交易所
54638
+ var unit=MARKET_SUFFIX_NAME.GetVolUnit(upperSymbol);
54746
54639
 
54747
54640
  var item=data.Data;
54748
54641
  var isLastOne=data.IsLastOne;
@@ -54820,7 +54713,7 @@ function DynamicMinuteTitlePainting()
54820
54713
 
54821
54714
  if (IFrameSplitOperator.IsNumber(vol))
54822
54715
  {
54823
- var text=g_JSChartLocalization.GetText('MTitle-Vol',this.LanguageID)+IFrameSplitOperator.FromatIntegerString(vol,2,this.LanguageID);
54716
+ var text=g_JSChartLocalization.GetText('MTitle-Vol',this.LanguageID)+IFrameSplitOperator.FromatIntegerString(vol/unit,2,this.LanguageID);
54824
54717
  aryText.push({Text:text, Color:this.VolColor});
54825
54718
  }
54826
54719
 
@@ -54927,7 +54820,8 @@ function DynamicMinuteTitlePainting()
54927
54820
  var aryText=[] //{ Color: Text: }
54928
54821
 
54929
54822
  var defaultfloatPrecision=GetfloatPrecision(this.Symbol);//价格小数位数
54930
-
54823
+ var upperSymbol=this.Symbol.toUpperCase();
54824
+ var unit=MARKET_SUFFIX_NAME.GetVolUnit(upperSymbol);
54931
54825
  //股票名称
54932
54826
  if (this.IsShowName) aryText.push({Text:this.Name, Color:this.NameColor});
54933
54827
 
@@ -54979,14 +54873,14 @@ function DynamicMinuteTitlePainting()
54979
54873
  {
54980
54874
  var filedName='MTitle-AC-Vol';
54981
54875
  if (data.Ver==1.0) filedName="MTitle-Vol";
54982
- var text=g_JSChartLocalization.GetText(filedName,this.LanguageID)+IFrameSplitOperator.FromatIntegerString(item.Vol[0],2);
54876
+ var text=g_JSChartLocalization.GetText(filedName,this.LanguageID)+IFrameSplitOperator.FromatIntegerString(item.Vol[0]/unit,2);
54983
54877
  aryText.push({Text:text, Color:this.VolColor});
54984
54878
  }
54985
54879
 
54986
54880
  //未匹配量
54987
54881
  if (IFrameSplitOperator.IsNumber(item.Vol[1]) && this.CallAuctionShowTitle.has("MTitle-AC-NotMatchVol"))
54988
54882
  {
54989
- var text=g_JSChartLocalization.GetText('MTitle-AC-NotMatchVol',this.LanguageID)+IFrameSplitOperator.FromatIntegerString(item.Vol[1],2);
54883
+ var text=g_JSChartLocalization.GetText('MTitle-AC-NotMatchVol',this.LanguageID)+IFrameSplitOperator.FromatIntegerString(item.Vol[1]/unit,2);
54990
54884
  aryText.push({Text:text, Color:this.VolColor});
54991
54885
  }
54992
54886
 
@@ -86012,7 +85906,7 @@ MinuteChartContainer.JsonDataToBeforeOpenData=function(data)
86012
85906
  var symbol=data.stock[0].symbol;
86013
85907
  var upperSymbol=symbol.toUpperCase();
86014
85908
  var isSHSZ=MARKET_SUFFIX_NAME.IsSHSZ(upperSymbol);
86015
-
85909
+ var unit=MARKET_SUFFIX_NAME.GetVolUnit(upperSymbol);
86016
85910
  var yClose=data.stock[0].yclose;
86017
85911
  var preClose=data.stock[0].yclose; //前一个数据价格
86018
85912
  var stockData=data.stock[0];
@@ -86039,8 +85933,7 @@ MinuteChartContainer.JsonDataToBeforeOpenData=function(data)
86039
85933
  item.Price=jsData[1];
86040
85934
  if (!item.Price) item.Price=preClose;
86041
85935
  else preClose=item.Price;
86042
- if (isSHSZ) item.Vol[0]=jsData[2]/100; //沪深股票原始单位股
86043
- else item.Vol[0]=jsData[2];
85936
+ item.Vol[0]=jsData[2];
86044
85937
  item.Amount=jsData[3];
86045
85938
 
86046
85939
  if (IFrameSplitOperator.IsNumber(jsData[4]) && jsData[4]>19000101) //日期
@@ -86076,7 +85969,7 @@ MinuteChartContainer.JsonDataToBeforeOpenData=function(data)
86076
85969
  beforeOpenData.Data.push(item);
86077
85970
  }
86078
85971
 
86079
- beforeOpenData.VolMax=max;
85972
+ beforeOpenData.VolMax=max/unit;
86080
85973
  beforeOpenData.VolMin=0;
86081
85974
  }
86082
85975
  else if (beforeOpenData.Ver==3.0)
@@ -86104,7 +85997,7 @@ MinuteChartContainer.JsonDataToBeforeOpenData=function(data)
86104
85997
  beforeOpenData.Data.push(item);
86105
85998
  }
86106
85999
 
86107
- beforeOpenData.VolMax=max;
86000
+ beforeOpenData.VolMax=max/unit;
86108
86001
  beforeOpenData.VolMin=0;
86109
86002
  }
86110
86003
 
@@ -86119,12 +86012,14 @@ MinuteChartContainer.JsonDataToAfterCloseData=function(data)
86119
86012
  var stockData=data.stock[0];
86120
86013
  var date=stockData.date; //日期
86121
86014
  if (!stockData.afterinfo) return null;
86122
-
86015
+ var symbol=data.stock[0].symbol;
86016
+ var upperSymbol=symbol.toUpperCase();
86123
86017
  var afterCloseData={ Data:[], TotalCount:3*60, Ver:2.0, Date:date };
86124
86018
  var item=stockData.afterinfo;
86125
86019
  if (IFrameSplitOperator.IsNumber(item.totalcount)) afterCloseData.TotalCount=item.totalcount;
86126
86020
  if (IFrameSplitOperator.IsNumber(item.ver)) afterCloseData.Ver=item.ver;
86127
86021
  var extendDataIndex=JSCHART_DATA_FIELD_ID.MINUTE_AFTERCLOSE_EXTENDDATA; //扩展数据序号
86022
+ var unit=MARKET_SUFFIX_NAME.GetVolUnit(upperSymbol);
86128
86023
 
86129
86024
  if (afterCloseData.Ver==1.0)
86130
86025
  {
@@ -86170,7 +86065,7 @@ MinuteChartContainer.JsonDataToAfterCloseData=function(data)
86170
86065
  afterCloseData.Data.push(item);
86171
86066
  }
86172
86067
 
86173
- afterCloseData.VolMax=max;
86068
+ afterCloseData.VolMax=max/unit;
86174
86069
  afterCloseData.VolMin=0;
86175
86070
  }
86176
86071
  else if (afterCloseData.Ver==3.0)
@@ -86197,7 +86092,7 @@ MinuteChartContainer.JsonDataToAfterCloseData=function(data)
86197
86092
  afterCloseData.Data.push(item);
86198
86093
  }
86199
86094
 
86200
- afterCloseData.VolMax=max;
86095
+ afterCloseData.VolMax=max/unit;
86201
86096
  afterCloseData.VolMin=0;
86202
86097
  }
86203
86098
 
@@ -86234,8 +86129,7 @@ MinuteChartContainer.JsonDataToMinuteData=function(data,isBeforeData)
86234
86129
  item.Open=jsData.open;
86235
86130
  item.High=jsData.high;
86236
86131
  item.Low=jsData.low;
86237
- if (isSHSZ) item.Vol=jsData.vol/100; //沪深股票原始单位股
86238
- else item.Vol=jsData.vol;
86132
+ item.Vol=jsData.vol;
86239
86133
  item.Amount=jsData.amount;
86240
86134
  if (jsData.date>0) date=jsData.date; //分钟数据中有日期 优先使用
86241
86135
  item.DateTime=date.toString()+" "+jsData.time.toString();
@@ -86319,7 +86213,6 @@ MinuteChartContainer.JsonDataToUpdateMinuteData=function(data)
86319
86213
 
86320
86214
  if (jsData[extendDataIndex]) item.ExtendData=jsData[extendDataIndex];
86321
86215
  item.DateTime=item.Date.toString()+" "+item.Time.toString();
86322
- if (isSHSZ) item.Vol=item.Vol/100; //沪深股票原始单位股
86323
86216
 
86324
86217
  if (IFrameSplitOperator.IsNumber(minuteData.YClose) && item.Close)
86325
86218
  item.Increase=(item.Close-minuteData.YClose)/minuteData.YClose*100; //涨幅 (最新价格-昨收)/昨收*100;
@@ -86413,8 +86306,7 @@ MinuteChartContainer.JsonDataToMinuteDataArray=function(data)
86413
86306
  item.High=jsData[3];
86414
86307
  item.Low=jsData[4];
86415
86308
  item.Increase=null;
86416
- if (isSHSZ) item.Vol=jsData[5]/100; //原始单位股
86417
- else item.Vol=jsData[5];
86309
+ item.Vol=jsData[5];
86418
86310
  item.Amount=jsData[6];
86419
86311
  if (7<jsData.length && jsData[7]>0) item.AvPrice=jsData[7]; //均价
86420
86312
  item.DateTime=date.toString()+" "+jsData[0].toString();
@@ -86493,12 +86385,8 @@ MinuteChartContainer.JsonDataToHistoryMinuteLineColorData=function(data)
86493
86385
 
86494
86386
  MinuteChartContainer.JsonDataToCallAuctionItem=function(data, callAuctionData, isBeforeOpen, symbol)
86495
86387
  {
86496
- var isSHSZ=false;
86497
- if (symbol)
86498
- {
86499
- var upperSymbol=symbol.toUpperCase();
86500
- isSHSZ=MARKET_SUFFIX_NAME.IsSHSZ(upperSymbol);
86501
- }
86388
+ var upperSymbol=symbol?symbol.toUpperCase():null;
86389
+ var unit=MARKET_SUFFIX_NAME.GetVolUnit(upperSymbol);
86502
86390
 
86503
86391
  var date=callAuctionData.Date;
86504
86392
  var yClose=callAuctionData.YClose;
@@ -86518,7 +86406,7 @@ MinuteChartContainer.JsonDataToCallAuctionItem=function(data, callAuctionData, i
86518
86406
  item.Price=jsData[1];
86519
86407
  if (!item.Price) item.Price=preClose;
86520
86408
  else preClose=item.Price;
86521
- item.Vol[0]=isSHSZ ? jsData[2]/100 : jsData[2]; //沪深股票原始单位股
86409
+ item.Vol[0]=jsData[2]; //沪深股票原始单位股
86522
86410
  item.Amount=jsData[3];
86523
86411
  if (IFrameSplitOperator.IsNumber(jsData[4])) //日期
86524
86412
  item.Date=jsData[4];
@@ -86553,7 +86441,7 @@ MinuteChartContainer.JsonDataToCallAuctionItem=function(data, callAuctionData, i
86553
86441
  callAuctionData.Data.push(item);
86554
86442
  }
86555
86443
 
86556
- callAuctionData.VolMax=max;
86444
+ callAuctionData.VolMax=max/unit;
86557
86445
  callAuctionData.VolMin=0;
86558
86446
  }
86559
86447
  else if (beforeOpenData.Ver==3.0)
@@ -86581,7 +86469,7 @@ MinuteChartContainer.JsonDataToCallAuctionItem=function(data, callAuctionData, i
86581
86469
  callAuctionData.Data.push(item);
86582
86470
  }
86583
86471
 
86584
- callAuctionData.VolMax=max;
86472
+ callAuctionData.VolMax=max/unit;
86585
86473
  callAuctionData.VolMin=0;
86586
86474
  }
86587
86475
  }
@@ -86637,201 +86525,6 @@ MinuteChartContainer.JosnDataToAfterCloseDataArray=function(data)
86637
86525
  return aryDay;
86638
86526
  }
86639
86527
 
86640
- /*
86641
- 历史分钟走势图
86642
- */
86643
- /* 废弃 统一使用 MinuteChartContainer
86644
- function HistoryMinuteChartContainer(uielement)
86645
- {
86646
- this.newMethod=MinuteChartContainer; //派生
86647
- this.newMethod(uielement);
86648
- delete this.newMethod;
86649
-
86650
- this.HistoryMinuteApiUrl="http://127.0.0.1:8080/cache/minuteday/day/";
86651
- this.ClassName='HistoryMinuteChartContainer';
86652
-
86653
- //创建主图K线画法
86654
- this.CreateMainKLine=function()
86655
- {
86656
- //分钟线
86657
- var minuteLine=new ChartMinutePriceLine();
86658
- minuteLine.Canvas=this.Canvas;
86659
- minuteLine.ChartBorder=this.Frame.SubFrame[0].Frame.ChartBorder;
86660
- minuteLine.ChartFrame=this.Frame.SubFrame[0].Frame;
86661
- minuteLine.Name="Minute-Line";
86662
- minuteLine.Color=g_JSChartResource.Minute.PriceColor;
86663
-
86664
- this.ChartPaint[0]=minuteLine;
86665
-
86666
- //分钟线均线
86667
- var averageLine=new ChartLine();
86668
- averageLine.Canvas=this.Canvas;
86669
- averageLine.ChartBorder=this.Frame.SubFrame[0].Frame.ChartBorder;
86670
- averageLine.ChartFrame=this.Frame.SubFrame[0].Frame;
86671
- averageLine.Name="Minute-Average-Line";
86672
- averageLine.Color=g_JSChartResource.Minute.AvPriceColor;
86673
- this.ChartPaint[1]=averageLine;
86674
-
86675
- var averageLine=new ChartMinuteVolumBar();
86676
- averageLine.Color=g_JSChartResource.Minute.VolBarColor;
86677
- averageLine.Canvas=this.Canvas;
86678
- averageLine.ChartBorder=this.Frame.SubFrame[1].Frame.ChartBorder;
86679
- averageLine.ChartFrame=this.Frame.SubFrame[1].Frame;
86680
- averageLine.Name="Minute-Vol-Bar";
86681
- this.ChartPaint[2]=averageLine;
86682
-
86683
-
86684
- this.TitlePaint[0]=new DynamicMinuteTitlePainting();
86685
- this.TitlePaint[0].Frame=this.Frame.SubFrame[0].Frame;
86686
- this.TitlePaint[0].Canvas=this.Canvas;
86687
- this.TitlePaint[0].IsShowDate=true;
86688
- }
86689
-
86690
- //设置交易日期
86691
- this.ChangeTradeDate=function(trdateDate)
86692
- {
86693
- if (!trdateDate) return;
86694
-
86695
- this.TradeDate=trdateDate;
86696
- this.RequestData(); //更新数据
86697
- }
86698
-
86699
- this.RequestData=function()
86700
- {
86701
- var date=new Date();
86702
- var nowDate=date.getFullYear()*10000+(date.getMonth()+1)*100+date.getDate();
86703
- if (nowDate==this.TradeDate) this.RequestMinuteData();
86704
- else this.RequestHistoryMinuteData();
86705
- }
86706
-
86707
- //请求分钟数据
86708
- this.RequestHistoryMinuteData=function()
86709
- {
86710
- var self=this;
86711
- var url=this.HistoryMinuteApiUrl+this.TradeDate.toString()+"/"+this.Symbol+".json";
86712
-
86713
- JSNetwork.HttpRequest({
86714
- url: url,
86715
- type:"get",
86716
- dataType: "json",
86717
- async:true,
86718
- success: function (data)
86719
- {
86720
- self.ChartSplashPaint.EnableSplash(false);
86721
- self.RecvHistoryMinuteData(data);
86722
- },
86723
- error:function(reqeust)
86724
- {
86725
- self.ChartSplashPaint.EnableSplash(false);
86726
- self.RecvHistoryMinuteError(reqeust);
86727
- }
86728
- });
86729
- }
86730
-
86731
- this.RecvHistoryMinuteError=function(reqeust)
86732
- {
86733
- if (reqeust.status!=404) return;
86734
-
86735
- var sourceData=new ChartData();
86736
- this.SourceData=sourceData;
86737
-
86738
- for(var i in this.ChartPaint)
86739
- {
86740
- this.ChartPaint[i].Data=sourceData;
86741
- if (i==0) this.ChartPaint[i].NotSupportMessage='没有权限访问!';
86742
- }
86743
-
86744
- this.TitlePaint[0].Data=this.SourceData; //动态标题
86745
- this.TitlePaint[0].Symbol=this.Symbol;
86746
- this.TitlePaint[0].Name=null;
86747
-
86748
- this.Draw();
86749
- }
86750
-
86751
- this.RecvHistoryMinuteData=function(data)
86752
- {
86753
- var aryMinuteData=HistoryMinuteChartContainer.JsonDataToMinuteData(data);
86754
-
86755
- //原始数据
86756
- var sourceData=new ChartData();
86757
- sourceData.Data=aryMinuteData;
86758
-
86759
- this.TradeDate=data.date;
86760
-
86761
- this.SourceData=sourceData;
86762
- this.Symbol=data.symbol;
86763
- this.Name=data.name;
86764
-
86765
- this.BindMainData(sourceData,data.day.yclose);
86766
-
86767
- if (this.Frame.SubFrame.length>2)
86768
- {
86769
- var bindData=new ChartData();
86770
- bindData.Data=aryMinuteData;
86771
- for(var i=2; i<this.Frame.SubFrame.length; ++i)
86772
- {
86773
- this.BindIndexData(i,bindData);
86774
- }
86775
- }
86776
-
86777
- this.UpdateFrameMaxMin(); //调整坐标最大 最小值
86778
- this.Frame.SetSizeChage(true);
86779
- this.Draw();
86780
-
86781
- //this.AutoUpdata();
86782
- }
86783
-
86784
- }
86785
-
86786
- //API 返回数据 转化为array[]
86787
- HistoryMinuteChartContainer.JsonDataToMinuteData=function(data)
86788
- {
86789
- var aryMinuteData=[];
86790
- for(var i in data.minute.time)
86791
- {
86792
- var item=new MinuteData();
86793
-
86794
- if (data.minute.price[i]<=0 && i>0) //当前这一分钟价格为空,使用上一分钟的数据
86795
- {
86796
- item.Close=aryMinuteData[i-1].Close;
86797
- item.Open=aryMinuteData[i-1].Close;
86798
- item.High=item.Close;
86799
- item.Low=item.Close;
86800
- item.Vol=data.minute.vol[i]; //原始单位股
86801
- item.Amount=data.minute.amount[i];
86802
- item.DateTime=data.date.toString()+" "+data.minute.time[i].toString();
86803
- //item.Increate=jsData.increate;
86804
- //item.Risefall=jsData.risefall;
86805
- item.AvPrice=aryMinuteData[i-1].AvPrice;
86806
- }
86807
- else
86808
- {
86809
- item.Close=data.minute.price[i];
86810
- item.Open=data.minute.open[i];
86811
- item.High=data.minute.high[i];
86812
- item.Low=data.minute.low[i];
86813
- item.Vol=data.minute.vol[i]; //原始单位股
86814
- item.Amount=data.minute.amount[i];
86815
- item.DateTime=data.date.toString()+" "+data.minute.time[i].toString();
86816
- //item.Increate=jsData.increate;
86817
- //item.Risefall=jsData.risefall;
86818
- item.AvPrice=data.minute.avprice[i];
86819
- }
86820
-
86821
- //价格是0的 都用空
86822
- if (item.Open<=0) item.Open=null;
86823
- if (item.Close<=0) item.Close=null;
86824
- if (item.AvPrice<=0) item.AvPrice=null;
86825
- if (item.High<=0) item.High=null;
86826
- if (item.Low<=0) item.Low=null;
86827
-
86828
- aryMinuteData[i]=item;
86829
- }
86830
-
86831
- return aryMinuteData;
86832
- }
86833
- */
86834
-
86835
86528
  /////////////////////////////////////////////////////////////////////////////
86836
86529
  // 自定义指数
86837
86530
  //
@@ -91892,6 +91585,16 @@ var MARKET_SUFFIX_NAME=
91892
91585
  if (ChartData.IsMinutePeriod(period,true)) return false; //内置分钟K线不支持复权
91893
91586
 
91894
91587
  return true;
91588
+ },
91589
+
91590
+ //获取成交量单位
91591
+ GetVolUnit:function(upperSymbol)
91592
+ {
91593
+ if (!upperSymbol) return 1;
91594
+ if (MARKET_SUFFIX_NAME.IsSHSZ(upperSymbol)) return 100; //单位手=100股
91595
+ if (MARKET_SUFFIX_NAME.IsBJ(upperSymbol)) return 100; //单位手=100股
91596
+
91597
+ return 1;
91895
91598
  }
91896
91599
  }
91897
91600
 
@@ -95183,3 +94886,5 @@ function GetLocalTime(i) //得到标准时区的时间的函数
95183
94886
 
95184
94887
 
95185
94888
 
94889
+
94890
+