hqchart 1.1.14125 → 1.1.14133
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.
- package/lib/umychart.vue.js +116 -382
- package/package.json +1 -1
- package/src/jscommon/umychart.DialogTooltip.js +29 -6
- package/src/jscommon/umychart.complier.js +189 -9
- package/src/jscommon/umychart.js +212 -369
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +402 -379
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +431 -385
package/src/jscommon/umychart.js
CHANGED
|
@@ -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
|
-
|
|
31681
|
-
if (range.Max <
|
|
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
|
{
|
|
@@ -35417,6 +35434,136 @@ function ChartDrawNumber()
|
|
|
35417
35434
|
}
|
|
35418
35435
|
}
|
|
35419
35436
|
|
|
35437
|
+
function ChartDrawLastBarText()
|
|
35438
|
+
{
|
|
35439
|
+
this.newMethod=IChartPainting; //派生
|
|
35440
|
+
this.newMethod();
|
|
35441
|
+
delete this.newMethod;
|
|
35442
|
+
|
|
35443
|
+
this.ClassName='ChartDrawLastBarText'; //类名
|
|
35444
|
+
this.LastBarItem=null;
|
|
35445
|
+
|
|
35446
|
+
this.TextSize=
|
|
35447
|
+
{
|
|
35448
|
+
Max: g_JSChartResource.DRAWICON.Text.MaxSize, Min:g_JSChartResource.DRAWICON.Text.MinSize, //字体的最大最小值
|
|
35449
|
+
Zoom:{ Type:g_JSChartResource.DRAWICON.Text.Zoom.Type , Value:g_JSChartResource.DRAWICON.Text.Zoom.Value }, //放大倍数
|
|
35450
|
+
FontName:g_JSChartResource.DRAWICON.Text.FontName,
|
|
35451
|
+
YOffset:g_JSChartResource.DRAWICON.Text.YOffset
|
|
35452
|
+
}
|
|
35453
|
+
|
|
35454
|
+
this.IconSize=
|
|
35455
|
+
{
|
|
35456
|
+
Max: g_JSChartResource.DRAWICON.Icon.MaxSize, Min:g_JSChartResource.DRAWICON.Icon.MinSize, //图标的最大最小值
|
|
35457
|
+
Zoom:{ Type:g_JSChartResource.DRAWICON.Icon.Zoom.Type , Value:g_JSChartResource.DRAWICON.Icon.Zoom.Value }, //放大倍数
|
|
35458
|
+
YOffset:g_JSChartResource.DRAWICON.Icon.YOffset //Direction==2的向下偏移
|
|
35459
|
+
};
|
|
35460
|
+
|
|
35461
|
+
this.IconFamily=g_JSChartResource.DRAWLASTICON.Family;
|
|
35462
|
+
|
|
35463
|
+
this.ReloadResource=function(resource)
|
|
35464
|
+
{
|
|
35465
|
+
this.TextSize=
|
|
35466
|
+
{
|
|
35467
|
+
Max: g_JSChartResource.DRAWTEXT.MaxSize, Min:g_JSChartResource.DRAWTEXT.MinSize, //字体的最大最小值
|
|
35468
|
+
Zoom:{ Type:g_JSChartResource.DRAWTEXT.Zoom.Type , Value:g_JSChartResource.DRAWTEXT.Zoom.Value }, //放大倍数
|
|
35469
|
+
FontName:g_JSChartResource.DRAWTEXT.FontName,
|
|
35470
|
+
};
|
|
35471
|
+
|
|
35472
|
+
this.IconSize=
|
|
35473
|
+
{
|
|
35474
|
+
Max: g_JSChartResource.DRAWICON.Icon.MaxSize, Min:g_JSChartResource.DRAWICON.Icon.MinSize, //图标的最大最小值
|
|
35475
|
+
Zoom:{ Type:g_JSChartResource.DRAWICON.Icon.Zoom.Type , Value:g_JSChartResource.DRAWICON.Icon.Zoom.Value }, //放大倍数
|
|
35476
|
+
};
|
|
35477
|
+
|
|
35478
|
+
this.IconFamily=g_JSChartResource.DRAWLASTICON.Family;
|
|
35479
|
+
}
|
|
35480
|
+
|
|
35481
|
+
this.Draw=function()
|
|
35482
|
+
{
|
|
35483
|
+
if (!this.IsShow || this.ChartFrame.IsMinSize || !this.IsVisible) return;
|
|
35484
|
+
if (this.IsShowIndexTitleOnly()) return;
|
|
35485
|
+
if (this.IsHideScriptIndex()) return;
|
|
35486
|
+
if (!this.LastBarItem) return;
|
|
35487
|
+
if (!this.Data || !IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) return;
|
|
35488
|
+
|
|
35489
|
+
this.IsHScreen=(this.ChartFrame.IsHScreen===true);
|
|
35490
|
+
var xPointCount=this.ChartFrame.XPointCount;
|
|
35491
|
+
var offset=this.Data.DataOffset;
|
|
35492
|
+
var index=offset+xPointCount;
|
|
35493
|
+
if (index<this.Data.Data.length) return;
|
|
35494
|
+
var lastIndex=(this.Data.Data.length-1)-offset;
|
|
35495
|
+
var x=this.ChartFrame.GetXFromIndex(lastIndex);
|
|
35496
|
+
var item=this.LastBarItem;
|
|
35497
|
+
|
|
35498
|
+
if (item.Value=="Top") y=top;
|
|
35499
|
+
else if (item.Value=="Bottom") y=bottom;
|
|
35500
|
+
else y=this.ChartFrame.GetYFromData(item.Value, false);
|
|
35501
|
+
if (IFrameSplitOperator.IsNumber(item.YOffset)) y+=item.YOffset; //Y轴偏移
|
|
35502
|
+
if (IFrameSplitOperator.IsNumber(item.XOffset)) x+=item.XOffset;
|
|
35503
|
+
|
|
35504
|
+
this.Canvas.save();
|
|
35505
|
+
this.ClipClient(this.IsHScreen);
|
|
35506
|
+
|
|
35507
|
+
//文本
|
|
35508
|
+
if (item.Text) this.DrawLastText(item, x, y);
|
|
35509
|
+
else if (item.Icon) this.DrawLastIcon(item, x, y);
|
|
35510
|
+
|
|
35511
|
+
this.Canvas.restore();
|
|
35512
|
+
}
|
|
35513
|
+
|
|
35514
|
+
this.DrawLastText=function(item,x,y)
|
|
35515
|
+
{
|
|
35516
|
+
var dataWidth=this.ChartFrame.DataWidth;
|
|
35517
|
+
var distanceWidth=this.ChartFrame.DistanceWidth;
|
|
35518
|
+
var font=this.GetDynamicFont(dataWidth,distanceWidth,this.TextSize.Max,this.TextSize.Min,this.TextSize.Zoom,this.TextSize.FontName);
|
|
35519
|
+
|
|
35520
|
+
var textBaseline='bottom';
|
|
35521
|
+
if (item.TextBaseline) textBaseline=item.TextBaseline;
|
|
35522
|
+
var textAlign="center";
|
|
35523
|
+
if (item.TextAlign) textAlign=item.TextAlign;
|
|
35524
|
+
|
|
35525
|
+
this.Canvas.font=font;
|
|
35526
|
+
this.Canvas.textBaseline=textBaseline;
|
|
35527
|
+
this.Canvas.textAlign=textAlign;
|
|
35528
|
+
this.Canvas.fillStyle = item.Color;
|
|
35529
|
+
this.Canvas.fillText(item.Text, x, y);
|
|
35530
|
+
}
|
|
35531
|
+
|
|
35532
|
+
this.DrawLastIcon=function(item,x,y)
|
|
35533
|
+
{
|
|
35534
|
+
var dataWidth=this.ChartFrame.DataWidth;
|
|
35535
|
+
var distanceWidth=this.ChartFrame.DistanceWidth;
|
|
35536
|
+
var iconSize=this.GetDynamicIconSize(dataWidth,distanceWidth,this.IconSize.Max,this.IconSize.Min,this.IconSize.Zoom);
|
|
35537
|
+
var font=`${iconSize}px ${this.IconFamily}`;
|
|
35538
|
+
|
|
35539
|
+
var textBaseline='bottom';
|
|
35540
|
+
if (item.TextBaseline) textBaseline=item.TextBaseline;
|
|
35541
|
+
var textAlign="center";
|
|
35542
|
+
if (item.TextAlign) textAlign=item.TextAlign;
|
|
35543
|
+
|
|
35544
|
+
this.Canvas.font=font;
|
|
35545
|
+
this.Canvas.textBaseline=textBaseline;
|
|
35546
|
+
this.Canvas.textAlign=textAlign;
|
|
35547
|
+
this.Canvas.fillStyle = item.Color;
|
|
35548
|
+
this.Canvas.fillText(item.Icon.Symbol, x, y);
|
|
35549
|
+
}
|
|
35550
|
+
|
|
35551
|
+
this.GetMaxMin=function()
|
|
35552
|
+
{
|
|
35553
|
+
var range={ Min:null, Max:null };
|
|
35554
|
+
if (!this.Data || !IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) return range;
|
|
35555
|
+
var xPointCount=this.ChartFrame.XPointCount;
|
|
35556
|
+
var offset=this.Data.DataOffset;
|
|
35557
|
+
var index=offset+xPointCount;
|
|
35558
|
+
if (index<this.Data.Data.length) return range;
|
|
35559
|
+
if (!this.LastBarItem) return range;
|
|
35560
|
+
|
|
35561
|
+
if (IFrameSplitOperator.IsNumber(this.LastBarItem.Value)) range.Max=range.Min=this.LastBarItem.Value;
|
|
35562
|
+
|
|
35563
|
+
return range;
|
|
35564
|
+
}
|
|
35565
|
+
}
|
|
35566
|
+
|
|
35420
35567
|
//直线 水平直线 只有1个数据
|
|
35421
35568
|
function ChartStraightLine()
|
|
35422
35569
|
{
|
|
@@ -42620,6 +42767,7 @@ function KLineTooltipPaint()
|
|
|
42620
42767
|
var upperSymbol;
|
|
42621
42768
|
if (this.HQChart.Symbol) upperSymbol=this.HQChart.Symbol.toUpperCase();
|
|
42622
42769
|
var defaultfloatPrecision=GetfloatPrecision(this.HQChart.Symbol);//价格小数位数
|
|
42770
|
+
var unit=MARKET_SUFFIX_NAME.GetVolUnit(upperSymbol);
|
|
42623
42771
|
|
|
42624
42772
|
var aryText=[];
|
|
42625
42773
|
var result={ AryText:aryText };
|
|
@@ -42703,7 +42851,7 @@ function KLineTooltipPaint()
|
|
|
42703
42851
|
title=g_JSChartLocalization.GetText('Tooltip-Vol',this.LanguageID);
|
|
42704
42852
|
var vol=item.Vol;
|
|
42705
42853
|
if (upperSymbol && MARKET_SUFFIX_NAME.IsSHSZ(upperSymbol)) vol/=100; //A股统一转成手
|
|
42706
|
-
text=IFrameSplitOperator.FromatIntegerString(vol,2,this.LanguageID);
|
|
42854
|
+
text=IFrameSplitOperator.FromatIntegerString(vol/unit,2,this.LanguageID);
|
|
42707
42855
|
aryText.push({Title:title, TitleColor:this.TitleColor, Text:text, Color:this.VolColor });
|
|
42708
42856
|
}
|
|
42709
42857
|
|
|
@@ -43080,6 +43228,7 @@ function MinuteTooltipPaint()
|
|
|
43080
43228
|
if (this.HQChart.Symbol) upperSymbol=this.HQChart.Symbol.toUpperCase();
|
|
43081
43229
|
var isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol); //国内期货, 纽约期货交易所
|
|
43082
43230
|
var defaultfloatPrecision=GetfloatPrecision(this.HQChart.Symbol);//价格小数位数
|
|
43231
|
+
var unit=MARKET_SUFFIX_NAME.GetVolUnit(upperSymbol);
|
|
43083
43232
|
|
|
43084
43233
|
this.YClose=this.TitlePaint.YClose;
|
|
43085
43234
|
this.YClose=item.YClose;
|
|
@@ -43146,7 +43295,7 @@ function MinuteTooltipPaint()
|
|
|
43146
43295
|
if (IFrameSplitOperator.IsNumber(vol))
|
|
43147
43296
|
{
|
|
43148
43297
|
title=g_JSChartLocalization.GetText('Tooltip-Vol',this.LanguageID);
|
|
43149
|
-
var text=IFrameSplitOperator.FromatIntegerString(vol,2,this.LanguageID);
|
|
43298
|
+
var text=IFrameSplitOperator.FromatIntegerString(vol/unit,2,this.LanguageID);
|
|
43150
43299
|
aryText.push({Title:title, TitleColor:this.TitleColor, Text:text, Color:this.VolColor });
|
|
43151
43300
|
}
|
|
43152
43301
|
|
|
@@ -43167,134 +43316,6 @@ function MinuteTooltipPaint()
|
|
|
43167
43316
|
|
|
43168
43317
|
return result;
|
|
43169
43318
|
}
|
|
43170
|
-
|
|
43171
|
-
/*
|
|
43172
|
-
this.DrawTooltipData=function(item)
|
|
43173
|
-
{
|
|
43174
|
-
//JSConsole.Chart.Log('[KLineTooltipPaint::DrawKLineData] ', item);
|
|
43175
|
-
if (!this.HQChart.Symbol) return;
|
|
43176
|
-
|
|
43177
|
-
var defaultfloatPrecision=GetfloatPrecision(this.HQChart.Symbol);//价格小数位数
|
|
43178
|
-
var left=this.GetLeft()+2*GetDevicePixelRatio();
|
|
43179
|
-
var top=this.GetTop()+3*GetDevicePixelRatio();
|
|
43180
|
-
this.YClose=this.KLineTitlePaint.YClose;
|
|
43181
|
-
var upperSymbol=this.HQChart.Symbol.toUpperCase();
|
|
43182
|
-
|
|
43183
|
-
if (this.IsHScreen)
|
|
43184
|
-
{
|
|
43185
|
-
this.Canvas.save();
|
|
43186
|
-
var x=this.GetLeft()+this.Height, y=this.GetTop();
|
|
43187
|
-
|
|
43188
|
-
this.Canvas.translate(x, y);
|
|
43189
|
-
this.Canvas.rotate(90 * Math.PI / 180);
|
|
43190
|
-
|
|
43191
|
-
//x, y 作为原点
|
|
43192
|
-
left=2*GetDevicePixelRatio();
|
|
43193
|
-
top=3*GetDevicePixelRatio();
|
|
43194
|
-
}
|
|
43195
|
-
|
|
43196
|
-
this.Canvas.textBaseline="top";
|
|
43197
|
-
this.Canvas.textAlign="left";
|
|
43198
|
-
this.Canvas.font=this.Font[0];
|
|
43199
|
-
var labelWidth=this.Canvas.measureText('擎: ').width;
|
|
43200
|
-
|
|
43201
|
-
var aryDateTime=item.DateTime.split(' ');
|
|
43202
|
-
if (aryDateTime && aryDateTime.length==2)
|
|
43203
|
-
{
|
|
43204
|
-
var text=IFrameSplitOperator.FormatDateString(aryDateTime[0]);
|
|
43205
|
-
this.Canvas.fillStyle=this.TitleColor;
|
|
43206
|
-
this.Canvas.fillText(text, left,top);
|
|
43207
|
-
|
|
43208
|
-
top+=this.LineHeight;
|
|
43209
|
-
text=IFrameSplitOperator.FormatTimeString(aryDateTime[1]);
|
|
43210
|
-
this.Canvas.fillText(text, left,top);
|
|
43211
|
-
}
|
|
43212
|
-
|
|
43213
|
-
var close=item.Close;
|
|
43214
|
-
var increase=item.Increase;
|
|
43215
|
-
var vol=item.Vol;
|
|
43216
|
-
var amount=item.Amount;
|
|
43217
|
-
if (item.Before) //读取盘前数据
|
|
43218
|
-
{
|
|
43219
|
-
close=item.Before.Close;
|
|
43220
|
-
increase=item.Before.Increase;
|
|
43221
|
-
vol=item.Before.Vol;
|
|
43222
|
-
amount=item.Before.Amount;
|
|
43223
|
-
}
|
|
43224
|
-
|
|
43225
|
-
//最新价格
|
|
43226
|
-
top+=this.LineHeight;
|
|
43227
|
-
this.Canvas.fillStyle=this.TitleColor;
|
|
43228
|
-
text=g_JSChartLocalization.GetText('Tooltip-Price',this.LanguageID);
|
|
43229
|
-
this.Canvas.fillText(text, left,top);
|
|
43230
|
-
var color=this.KLineTitlePaint.GetColor(close,this.YClose);
|
|
43231
|
-
var text=close.toFixed(defaultfloatPrecision);
|
|
43232
|
-
this.Canvas.fillStyle=color;
|
|
43233
|
-
this.Canvas.fillText(text,left+labelWidth,top);
|
|
43234
|
-
|
|
43235
|
-
var isShowAvPrice=true;
|
|
43236
|
-
if (item.Before) isShowAvPrice=false; //集合竞价均价
|
|
43237
|
-
else if (MARKET_SUFFIX_NAME.IsForeignExchange(upperSymbol)) isShowAvPrice=false; //外汇没有均价
|
|
43238
|
-
else if (MARKET_SUFFIX_NAME.IsET(upperSymbol) && !MARKET_SUFFIX_NAME.IsETShowAvPrice(upperSymbol)) isShowAvPrice=false;
|
|
43239
|
-
else if (MARKET_SUFFIX_NAME.IsShowAvPrice && !MARKET_SUFFIX_NAME.IsShowAvPrice(upperSymbol)) isShowAvPrice=false;
|
|
43240
|
-
|
|
43241
|
-
//均价
|
|
43242
|
-
if (isShowAvPrice && IFrameSplitOperator.IsNumber(item.AvPrice) && this.IsShowAveragePrice)
|
|
43243
|
-
{
|
|
43244
|
-
top+=this.LineHeight;
|
|
43245
|
-
this.Canvas.fillStyle=this.TitleColor;
|
|
43246
|
-
text=g_JSChartLocalization.GetText('Tooltip-AvPrice',this.LanguageID);
|
|
43247
|
-
this.Canvas.fillText(text, left,top);
|
|
43248
|
-
var color=this.KLineTitlePaint.GetColor(item.AvPrice,this.YClose);
|
|
43249
|
-
var text=item.AvPrice.toFixed(defaultfloatPrecision);
|
|
43250
|
-
this.Canvas.fillStyle=color;
|
|
43251
|
-
this.Canvas.fillText(text,left+labelWidth,top);
|
|
43252
|
-
}
|
|
43253
|
-
|
|
43254
|
-
//涨幅
|
|
43255
|
-
top+=this.LineHeight;
|
|
43256
|
-
this.Canvas.fillStyle=this.TitleColor;
|
|
43257
|
-
text=g_JSChartLocalization.GetText('Tooltip-Increase',this.LanguageID);
|
|
43258
|
-
this.Canvas.fillText(text, left,top);
|
|
43259
|
-
var value=(close-this.YClose)/this.YClose*100;
|
|
43260
|
-
var color = this.KLineTitlePaint.GetColor(value, 0);
|
|
43261
|
-
var text = value.toFixed(2)+'%';
|
|
43262
|
-
this.Canvas.fillStyle=color;
|
|
43263
|
-
this.Canvas.fillText(text,left+labelWidth,top);
|
|
43264
|
-
|
|
43265
|
-
//成交量
|
|
43266
|
-
if (IFrameSplitOperator.IsNumber(vol))
|
|
43267
|
-
{
|
|
43268
|
-
this.Canvas.fillStyle=this.TitleColor;
|
|
43269
|
-
top+=this.LineHeight;
|
|
43270
|
-
text=g_JSChartLocalization.GetText('Tooltip-Vol',this.LanguageID);
|
|
43271
|
-
this.Canvas.fillText(text, left,top);
|
|
43272
|
-
var text=IFrameSplitOperator.FromatIntegerString(vol,2,this.LanguageID);
|
|
43273
|
-
this.Canvas.fillText(text,left+labelWidth,top);
|
|
43274
|
-
}
|
|
43275
|
-
|
|
43276
|
-
//成交金额
|
|
43277
|
-
if (IFrameSplitOperator.IsNumber(amount))
|
|
43278
|
-
{
|
|
43279
|
-
top+=this.LineHeight;
|
|
43280
|
-
text=g_JSChartLocalization.GetText('Tooltip-Amount',this.LanguageID);
|
|
43281
|
-
this.Canvas.fillText(text, left,top);
|
|
43282
|
-
var text=IFrameSplitOperator.FormatValueString(amount,2,this.LanguageID);
|
|
43283
|
-
this.Canvas.fillText(text,left+labelWidth,top);
|
|
43284
|
-
}
|
|
43285
|
-
|
|
43286
|
-
if (IFrameSplitOperator.IsNumber(item.Position))
|
|
43287
|
-
{
|
|
43288
|
-
top+=this.LineHeight;
|
|
43289
|
-
text=g_JSChartLocalization.GetText('Tooltip-Position',this.LanguageID);
|
|
43290
|
-
this.Canvas.fillText(text, left,top);
|
|
43291
|
-
var text=IFrameSplitOperator.FormatValueString(item.Position,2,this.LanguageID);
|
|
43292
|
-
this.Canvas.fillText(text,left+labelWidth,top);
|
|
43293
|
-
}
|
|
43294
|
-
|
|
43295
|
-
if (this.IsHScreen) this.Canvas.restore();
|
|
43296
|
-
}
|
|
43297
|
-
*/
|
|
43298
43319
|
}
|
|
43299
43320
|
|
|
43300
43321
|
//PC端 分时图tooltip左侧固定
|
|
@@ -43450,6 +43471,7 @@ function MinuteLeftTooltipPaint()
|
|
|
43450
43471
|
if (this.HQChart.Symbol) upperSymbol=this.HQChart.Symbol.toUpperCase();
|
|
43451
43472
|
var defaultfloatPrecision=GetfloatPrecision(upperSymbol);//价格小数位数
|
|
43452
43473
|
if (upperSymbol) isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol); //国内期货, 纽约期货交易所
|
|
43474
|
+
var unit=MARKET_SUFFIX_NAME.GetVolUnit(upperSymbol);
|
|
43453
43475
|
|
|
43454
43476
|
if (drawData.Type==0) //连续交易
|
|
43455
43477
|
{
|
|
@@ -43473,7 +43495,7 @@ function MinuteLeftTooltipPaint()
|
|
|
43473
43495
|
var titleItem=this.ForamtIncrease(item.Close,"PCTooltip-Increase");
|
|
43474
43496
|
if (titleItem) aryText.push(titleItem);
|
|
43475
43497
|
|
|
43476
|
-
var titleItem=this.FormatVol(item.Vol,'PCTooltip-Vol');
|
|
43498
|
+
var titleItem=this.FormatVol(item.Vol/unit,'PCTooltip-Vol');
|
|
43477
43499
|
if (titleItem) aryText.push(titleItem);
|
|
43478
43500
|
|
|
43479
43501
|
if (IFrameSplitOperator.IsNumber(item.Amount))
|
|
@@ -43519,10 +43541,10 @@ function MinuteLeftTooltipPaint()
|
|
|
43519
43541
|
|
|
43520
43542
|
if (IFrameSplitOperator.IsNonEmptyArray(item.Vol))
|
|
43521
43543
|
{
|
|
43522
|
-
var titleItem=this.FormatVol(item.Vol[0],'PCTooltip-AC-Vol');
|
|
43544
|
+
var titleItem=this.FormatVol(item.Vol[0]/unit,'PCTooltip-AC-Vol');
|
|
43523
43545
|
if (titleItem) aryText.push(titleItem);
|
|
43524
43546
|
|
|
43525
|
-
var titleItem=this.FormatVol(item.Vol[1],'PCTooltip-AC-NotMatchVol');
|
|
43547
|
+
var titleItem=this.FormatVol(item.Vol[1]/unit,'PCTooltip-AC-NotMatchVol');
|
|
43526
43548
|
if (titleItem) aryText.push(titleItem);
|
|
43527
43549
|
}
|
|
43528
43550
|
}
|
|
@@ -54182,8 +54204,8 @@ function DynamicKLineTitlePainting()
|
|
|
54182
54204
|
|
|
54183
54205
|
if (IFrameSplitOperator.IsNumber(item.Vol)) //成交量
|
|
54184
54206
|
{
|
|
54185
|
-
var
|
|
54186
|
-
|
|
54207
|
+
var unit=MARKET_SUFFIX_NAME.GetVolUnit(upperSymbol);
|
|
54208
|
+
var vol=item.Vol/unit;
|
|
54187
54209
|
var text=g_JSChartLocalization.GetText('KTitle-Vol',this.LanguageID)+IFrameSplitOperator.FromatIntegerString(vol,2,this.LanguageID);
|
|
54188
54210
|
aryText.push({ Text:text, Color:this.VolColor});
|
|
54189
54211
|
}
|
|
@@ -54613,6 +54635,7 @@ function DynamicMinuteTitlePainting()
|
|
|
54613
54635
|
var upperSymbol=this.Symbol.toUpperCase();
|
|
54614
54636
|
var defaultfloatPrecision=GetfloatPrecision(this.Symbol); //价格小数位数
|
|
54615
54637
|
var isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol); //国内期货, 纽约期货交易所
|
|
54638
|
+
var unit=MARKET_SUFFIX_NAME.GetVolUnit(upperSymbol);
|
|
54616
54639
|
|
|
54617
54640
|
var item=data.Data;
|
|
54618
54641
|
var isLastOne=data.IsLastOne;
|
|
@@ -54690,7 +54713,7 @@ function DynamicMinuteTitlePainting()
|
|
|
54690
54713
|
|
|
54691
54714
|
if (IFrameSplitOperator.IsNumber(vol))
|
|
54692
54715
|
{
|
|
54693
|
-
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);
|
|
54694
54717
|
aryText.push({Text:text, Color:this.VolColor});
|
|
54695
54718
|
}
|
|
54696
54719
|
|
|
@@ -54797,7 +54820,8 @@ function DynamicMinuteTitlePainting()
|
|
|
54797
54820
|
var aryText=[] //{ Color: Text: }
|
|
54798
54821
|
|
|
54799
54822
|
var defaultfloatPrecision=GetfloatPrecision(this.Symbol);//价格小数位数
|
|
54800
|
-
|
|
54823
|
+
var upperSymbol=this.Symbol.toUpperCase();
|
|
54824
|
+
var unit=MARKET_SUFFIX_NAME.GetVolUnit(upperSymbol);
|
|
54801
54825
|
//股票名称
|
|
54802
54826
|
if (this.IsShowName) aryText.push({Text:this.Name, Color:this.NameColor});
|
|
54803
54827
|
|
|
@@ -54849,14 +54873,14 @@ function DynamicMinuteTitlePainting()
|
|
|
54849
54873
|
{
|
|
54850
54874
|
var filedName='MTitle-AC-Vol';
|
|
54851
54875
|
if (data.Ver==1.0) filedName="MTitle-Vol";
|
|
54852
|
-
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);
|
|
54853
54877
|
aryText.push({Text:text, Color:this.VolColor});
|
|
54854
54878
|
}
|
|
54855
54879
|
|
|
54856
54880
|
//未匹配量
|
|
54857
54881
|
if (IFrameSplitOperator.IsNumber(item.Vol[1]) && this.CallAuctionShowTitle.has("MTitle-AC-NotMatchVol"))
|
|
54858
54882
|
{
|
|
54859
|
-
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);
|
|
54860
54884
|
aryText.push({Text:text, Color:this.VolColor});
|
|
54861
54885
|
}
|
|
54862
54886
|
|
|
@@ -69646,6 +69670,11 @@ function JSChartResource()
|
|
|
69646
69670
|
Color:"rgb(255,165,0)"
|
|
69647
69671
|
}
|
|
69648
69672
|
|
|
69673
|
+
this.DRAWLASTICON=
|
|
69674
|
+
{
|
|
69675
|
+
Family:'iconfont',
|
|
69676
|
+
}
|
|
69677
|
+
|
|
69649
69678
|
this.POINTDOT=
|
|
69650
69679
|
{
|
|
69651
69680
|
Radius:2*GetDevicePixelRatio()
|
|
@@ -73247,6 +73276,9 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
73247
73276
|
this.Canvas.rect(this.Frame.ChartBorder.GetLeft(),this.Frame.ChartBorder.GetTop(),this.Frame.ChartBorder.GetWidth(),this.Frame.ChartBorder.GetHeight());
|
|
73248
73277
|
isInClient=this.Canvas.isPointInPath(x,y);
|
|
73249
73278
|
|
|
73279
|
+
//PC触摸板双指缩放时deltaY数值在[-20,20]之间
|
|
73280
|
+
if (IFrameSplitOperator.IsNumber(e.deltaY) && Math.abs(e.deltaY)<90) return;
|
|
73281
|
+
|
|
73250
73282
|
var wheelValue=e.wheelDelta;
|
|
73251
73283
|
if (!IFrameSplitOperator.IsObjectExist(e.wheelDelta))
|
|
73252
73284
|
wheelValue=e.deltaY* -0.01;
|
|
@@ -85874,7 +85906,7 @@ MinuteChartContainer.JsonDataToBeforeOpenData=function(data)
|
|
|
85874
85906
|
var symbol=data.stock[0].symbol;
|
|
85875
85907
|
var upperSymbol=symbol.toUpperCase();
|
|
85876
85908
|
var isSHSZ=MARKET_SUFFIX_NAME.IsSHSZ(upperSymbol);
|
|
85877
|
-
|
|
85909
|
+
var unit=MARKET_SUFFIX_NAME.GetVolUnit(upperSymbol);
|
|
85878
85910
|
var yClose=data.stock[0].yclose;
|
|
85879
85911
|
var preClose=data.stock[0].yclose; //前一个数据价格
|
|
85880
85912
|
var stockData=data.stock[0];
|
|
@@ -85901,8 +85933,7 @@ MinuteChartContainer.JsonDataToBeforeOpenData=function(data)
|
|
|
85901
85933
|
item.Price=jsData[1];
|
|
85902
85934
|
if (!item.Price) item.Price=preClose;
|
|
85903
85935
|
else preClose=item.Price;
|
|
85904
|
-
|
|
85905
|
-
else item.Vol[0]=jsData[2];
|
|
85936
|
+
item.Vol[0]=jsData[2];
|
|
85906
85937
|
item.Amount=jsData[3];
|
|
85907
85938
|
|
|
85908
85939
|
if (IFrameSplitOperator.IsNumber(jsData[4]) && jsData[4]>19000101) //日期
|
|
@@ -85938,7 +85969,7 @@ MinuteChartContainer.JsonDataToBeforeOpenData=function(data)
|
|
|
85938
85969
|
beforeOpenData.Data.push(item);
|
|
85939
85970
|
}
|
|
85940
85971
|
|
|
85941
|
-
beforeOpenData.VolMax=max;
|
|
85972
|
+
beforeOpenData.VolMax=max/unit;
|
|
85942
85973
|
beforeOpenData.VolMin=0;
|
|
85943
85974
|
}
|
|
85944
85975
|
else if (beforeOpenData.Ver==3.0)
|
|
@@ -85966,7 +85997,7 @@ MinuteChartContainer.JsonDataToBeforeOpenData=function(data)
|
|
|
85966
85997
|
beforeOpenData.Data.push(item);
|
|
85967
85998
|
}
|
|
85968
85999
|
|
|
85969
|
-
beforeOpenData.VolMax=max;
|
|
86000
|
+
beforeOpenData.VolMax=max/unit;
|
|
85970
86001
|
beforeOpenData.VolMin=0;
|
|
85971
86002
|
}
|
|
85972
86003
|
|
|
@@ -85981,12 +86012,14 @@ MinuteChartContainer.JsonDataToAfterCloseData=function(data)
|
|
|
85981
86012
|
var stockData=data.stock[0];
|
|
85982
86013
|
var date=stockData.date; //日期
|
|
85983
86014
|
if (!stockData.afterinfo) return null;
|
|
85984
|
-
|
|
86015
|
+
var symbol=data.stock[0].symbol;
|
|
86016
|
+
var upperSymbol=symbol.toLowerCase();
|
|
85985
86017
|
var afterCloseData={ Data:[], TotalCount:3*60, Ver:2.0, Date:date };
|
|
85986
86018
|
var item=stockData.afterinfo;
|
|
85987
86019
|
if (IFrameSplitOperator.IsNumber(item.totalcount)) afterCloseData.TotalCount=item.totalcount;
|
|
85988
86020
|
if (IFrameSplitOperator.IsNumber(item.ver)) afterCloseData.Ver=item.ver;
|
|
85989
86021
|
var extendDataIndex=JSCHART_DATA_FIELD_ID.MINUTE_AFTERCLOSE_EXTENDDATA; //扩展数据序号
|
|
86022
|
+
var unit=MARKET_SUFFIX_NAME.GetVolUnit(upperSymbol);
|
|
85990
86023
|
|
|
85991
86024
|
if (afterCloseData.Ver==1.0)
|
|
85992
86025
|
{
|
|
@@ -86032,7 +86065,7 @@ MinuteChartContainer.JsonDataToAfterCloseData=function(data)
|
|
|
86032
86065
|
afterCloseData.Data.push(item);
|
|
86033
86066
|
}
|
|
86034
86067
|
|
|
86035
|
-
afterCloseData.VolMax=max;
|
|
86068
|
+
afterCloseData.VolMax=max/unit;
|
|
86036
86069
|
afterCloseData.VolMin=0;
|
|
86037
86070
|
}
|
|
86038
86071
|
else if (afterCloseData.Ver==3.0)
|
|
@@ -86059,7 +86092,7 @@ MinuteChartContainer.JsonDataToAfterCloseData=function(data)
|
|
|
86059
86092
|
afterCloseData.Data.push(item);
|
|
86060
86093
|
}
|
|
86061
86094
|
|
|
86062
|
-
afterCloseData.VolMax=max;
|
|
86095
|
+
afterCloseData.VolMax=max/unit;
|
|
86063
86096
|
afterCloseData.VolMin=0;
|
|
86064
86097
|
}
|
|
86065
86098
|
|
|
@@ -86096,8 +86129,7 @@ MinuteChartContainer.JsonDataToMinuteData=function(data,isBeforeData)
|
|
|
86096
86129
|
item.Open=jsData.open;
|
|
86097
86130
|
item.High=jsData.high;
|
|
86098
86131
|
item.Low=jsData.low;
|
|
86099
|
-
|
|
86100
|
-
else item.Vol=jsData.vol;
|
|
86132
|
+
item.Vol=jsData.vol;
|
|
86101
86133
|
item.Amount=jsData.amount;
|
|
86102
86134
|
if (jsData.date>0) date=jsData.date; //分钟数据中有日期 优先使用
|
|
86103
86135
|
item.DateTime=date.toString()+" "+jsData.time.toString();
|
|
@@ -86181,7 +86213,6 @@ MinuteChartContainer.JsonDataToUpdateMinuteData=function(data)
|
|
|
86181
86213
|
|
|
86182
86214
|
if (jsData[extendDataIndex]) item.ExtendData=jsData[extendDataIndex];
|
|
86183
86215
|
item.DateTime=item.Date.toString()+" "+item.Time.toString();
|
|
86184
|
-
if (isSHSZ) item.Vol=item.Vol/100; //沪深股票原始单位股
|
|
86185
86216
|
|
|
86186
86217
|
if (IFrameSplitOperator.IsNumber(minuteData.YClose) && item.Close)
|
|
86187
86218
|
item.Increase=(item.Close-minuteData.YClose)/minuteData.YClose*100; //涨幅 (最新价格-昨收)/昨收*100;
|
|
@@ -86275,8 +86306,7 @@ MinuteChartContainer.JsonDataToMinuteDataArray=function(data)
|
|
|
86275
86306
|
item.High=jsData[3];
|
|
86276
86307
|
item.Low=jsData[4];
|
|
86277
86308
|
item.Increase=null;
|
|
86278
|
-
|
|
86279
|
-
else item.Vol=jsData[5];
|
|
86309
|
+
item.Vol=jsData[5];
|
|
86280
86310
|
item.Amount=jsData[6];
|
|
86281
86311
|
if (7<jsData.length && jsData[7]>0) item.AvPrice=jsData[7]; //均价
|
|
86282
86312
|
item.DateTime=date.toString()+" "+jsData[0].toString();
|
|
@@ -86355,12 +86385,8 @@ MinuteChartContainer.JsonDataToHistoryMinuteLineColorData=function(data)
|
|
|
86355
86385
|
|
|
86356
86386
|
MinuteChartContainer.JsonDataToCallAuctionItem=function(data, callAuctionData, isBeforeOpen, symbol)
|
|
86357
86387
|
{
|
|
86358
|
-
var
|
|
86359
|
-
|
|
86360
|
-
{
|
|
86361
|
-
var upperSymbol=symbol.toUpperCase();
|
|
86362
|
-
isSHSZ=MARKET_SUFFIX_NAME.IsSHSZ(upperSymbol);
|
|
86363
|
-
}
|
|
86388
|
+
var upperSymbol=symbol?symbol.toUpperCase():null;
|
|
86389
|
+
var unit=MARKET_SUFFIX_NAME.GetVolUnit(upperSymbol);
|
|
86364
86390
|
|
|
86365
86391
|
var date=callAuctionData.Date;
|
|
86366
86392
|
var yClose=callAuctionData.YClose;
|
|
@@ -86380,7 +86406,7 @@ MinuteChartContainer.JsonDataToCallAuctionItem=function(data, callAuctionData, i
|
|
|
86380
86406
|
item.Price=jsData[1];
|
|
86381
86407
|
if (!item.Price) item.Price=preClose;
|
|
86382
86408
|
else preClose=item.Price;
|
|
86383
|
-
item.Vol[0]=
|
|
86409
|
+
item.Vol[0]=jsData[2]; //沪深股票原始单位股
|
|
86384
86410
|
item.Amount=jsData[3];
|
|
86385
86411
|
if (IFrameSplitOperator.IsNumber(jsData[4])) //日期
|
|
86386
86412
|
item.Date=jsData[4];
|
|
@@ -86415,7 +86441,7 @@ MinuteChartContainer.JsonDataToCallAuctionItem=function(data, callAuctionData, i
|
|
|
86415
86441
|
callAuctionData.Data.push(item);
|
|
86416
86442
|
}
|
|
86417
86443
|
|
|
86418
|
-
callAuctionData.VolMax=max;
|
|
86444
|
+
callAuctionData.VolMax=max/unit;
|
|
86419
86445
|
callAuctionData.VolMin=0;
|
|
86420
86446
|
}
|
|
86421
86447
|
else if (beforeOpenData.Ver==3.0)
|
|
@@ -86443,7 +86469,7 @@ MinuteChartContainer.JsonDataToCallAuctionItem=function(data, callAuctionData, i
|
|
|
86443
86469
|
callAuctionData.Data.push(item);
|
|
86444
86470
|
}
|
|
86445
86471
|
|
|
86446
|
-
callAuctionData.VolMax=max;
|
|
86472
|
+
callAuctionData.VolMax=max/unit;
|
|
86447
86473
|
callAuctionData.VolMin=0;
|
|
86448
86474
|
}
|
|
86449
86475
|
}
|
|
@@ -86499,201 +86525,6 @@ MinuteChartContainer.JosnDataToAfterCloseDataArray=function(data)
|
|
|
86499
86525
|
return aryDay;
|
|
86500
86526
|
}
|
|
86501
86527
|
|
|
86502
|
-
/*
|
|
86503
|
-
历史分钟走势图
|
|
86504
|
-
*/
|
|
86505
|
-
/* 废弃 统一使用 MinuteChartContainer
|
|
86506
|
-
function HistoryMinuteChartContainer(uielement)
|
|
86507
|
-
{
|
|
86508
|
-
this.newMethod=MinuteChartContainer; //派生
|
|
86509
|
-
this.newMethod(uielement);
|
|
86510
|
-
delete this.newMethod;
|
|
86511
|
-
|
|
86512
|
-
this.HistoryMinuteApiUrl="http://127.0.0.1:8080/cache/minuteday/day/";
|
|
86513
|
-
this.ClassName='HistoryMinuteChartContainer';
|
|
86514
|
-
|
|
86515
|
-
//创建主图K线画法
|
|
86516
|
-
this.CreateMainKLine=function()
|
|
86517
|
-
{
|
|
86518
|
-
//分钟线
|
|
86519
|
-
var minuteLine=new ChartMinutePriceLine();
|
|
86520
|
-
minuteLine.Canvas=this.Canvas;
|
|
86521
|
-
minuteLine.ChartBorder=this.Frame.SubFrame[0].Frame.ChartBorder;
|
|
86522
|
-
minuteLine.ChartFrame=this.Frame.SubFrame[0].Frame;
|
|
86523
|
-
minuteLine.Name="Minute-Line";
|
|
86524
|
-
minuteLine.Color=g_JSChartResource.Minute.PriceColor;
|
|
86525
|
-
|
|
86526
|
-
this.ChartPaint[0]=minuteLine;
|
|
86527
|
-
|
|
86528
|
-
//分钟线均线
|
|
86529
|
-
var averageLine=new ChartLine();
|
|
86530
|
-
averageLine.Canvas=this.Canvas;
|
|
86531
|
-
averageLine.ChartBorder=this.Frame.SubFrame[0].Frame.ChartBorder;
|
|
86532
|
-
averageLine.ChartFrame=this.Frame.SubFrame[0].Frame;
|
|
86533
|
-
averageLine.Name="Minute-Average-Line";
|
|
86534
|
-
averageLine.Color=g_JSChartResource.Minute.AvPriceColor;
|
|
86535
|
-
this.ChartPaint[1]=averageLine;
|
|
86536
|
-
|
|
86537
|
-
var averageLine=new ChartMinuteVolumBar();
|
|
86538
|
-
averageLine.Color=g_JSChartResource.Minute.VolBarColor;
|
|
86539
|
-
averageLine.Canvas=this.Canvas;
|
|
86540
|
-
averageLine.ChartBorder=this.Frame.SubFrame[1].Frame.ChartBorder;
|
|
86541
|
-
averageLine.ChartFrame=this.Frame.SubFrame[1].Frame;
|
|
86542
|
-
averageLine.Name="Minute-Vol-Bar";
|
|
86543
|
-
this.ChartPaint[2]=averageLine;
|
|
86544
|
-
|
|
86545
|
-
|
|
86546
|
-
this.TitlePaint[0]=new DynamicMinuteTitlePainting();
|
|
86547
|
-
this.TitlePaint[0].Frame=this.Frame.SubFrame[0].Frame;
|
|
86548
|
-
this.TitlePaint[0].Canvas=this.Canvas;
|
|
86549
|
-
this.TitlePaint[0].IsShowDate=true;
|
|
86550
|
-
}
|
|
86551
|
-
|
|
86552
|
-
//设置交易日期
|
|
86553
|
-
this.ChangeTradeDate=function(trdateDate)
|
|
86554
|
-
{
|
|
86555
|
-
if (!trdateDate) return;
|
|
86556
|
-
|
|
86557
|
-
this.TradeDate=trdateDate;
|
|
86558
|
-
this.RequestData(); //更新数据
|
|
86559
|
-
}
|
|
86560
|
-
|
|
86561
|
-
this.RequestData=function()
|
|
86562
|
-
{
|
|
86563
|
-
var date=new Date();
|
|
86564
|
-
var nowDate=date.getFullYear()*10000+(date.getMonth()+1)*100+date.getDate();
|
|
86565
|
-
if (nowDate==this.TradeDate) this.RequestMinuteData();
|
|
86566
|
-
else this.RequestHistoryMinuteData();
|
|
86567
|
-
}
|
|
86568
|
-
|
|
86569
|
-
//请求分钟数据
|
|
86570
|
-
this.RequestHistoryMinuteData=function()
|
|
86571
|
-
{
|
|
86572
|
-
var self=this;
|
|
86573
|
-
var url=this.HistoryMinuteApiUrl+this.TradeDate.toString()+"/"+this.Symbol+".json";
|
|
86574
|
-
|
|
86575
|
-
JSNetwork.HttpRequest({
|
|
86576
|
-
url: url,
|
|
86577
|
-
type:"get",
|
|
86578
|
-
dataType: "json",
|
|
86579
|
-
async:true,
|
|
86580
|
-
success: function (data)
|
|
86581
|
-
{
|
|
86582
|
-
self.ChartSplashPaint.EnableSplash(false);
|
|
86583
|
-
self.RecvHistoryMinuteData(data);
|
|
86584
|
-
},
|
|
86585
|
-
error:function(reqeust)
|
|
86586
|
-
{
|
|
86587
|
-
self.ChartSplashPaint.EnableSplash(false);
|
|
86588
|
-
self.RecvHistoryMinuteError(reqeust);
|
|
86589
|
-
}
|
|
86590
|
-
});
|
|
86591
|
-
}
|
|
86592
|
-
|
|
86593
|
-
this.RecvHistoryMinuteError=function(reqeust)
|
|
86594
|
-
{
|
|
86595
|
-
if (reqeust.status!=404) return;
|
|
86596
|
-
|
|
86597
|
-
var sourceData=new ChartData();
|
|
86598
|
-
this.SourceData=sourceData;
|
|
86599
|
-
|
|
86600
|
-
for(var i in this.ChartPaint)
|
|
86601
|
-
{
|
|
86602
|
-
this.ChartPaint[i].Data=sourceData;
|
|
86603
|
-
if (i==0) this.ChartPaint[i].NotSupportMessage='没有权限访问!';
|
|
86604
|
-
}
|
|
86605
|
-
|
|
86606
|
-
this.TitlePaint[0].Data=this.SourceData; //动态标题
|
|
86607
|
-
this.TitlePaint[0].Symbol=this.Symbol;
|
|
86608
|
-
this.TitlePaint[0].Name=null;
|
|
86609
|
-
|
|
86610
|
-
this.Draw();
|
|
86611
|
-
}
|
|
86612
|
-
|
|
86613
|
-
this.RecvHistoryMinuteData=function(data)
|
|
86614
|
-
{
|
|
86615
|
-
var aryMinuteData=HistoryMinuteChartContainer.JsonDataToMinuteData(data);
|
|
86616
|
-
|
|
86617
|
-
//原始数据
|
|
86618
|
-
var sourceData=new ChartData();
|
|
86619
|
-
sourceData.Data=aryMinuteData;
|
|
86620
|
-
|
|
86621
|
-
this.TradeDate=data.date;
|
|
86622
|
-
|
|
86623
|
-
this.SourceData=sourceData;
|
|
86624
|
-
this.Symbol=data.symbol;
|
|
86625
|
-
this.Name=data.name;
|
|
86626
|
-
|
|
86627
|
-
this.BindMainData(sourceData,data.day.yclose);
|
|
86628
|
-
|
|
86629
|
-
if (this.Frame.SubFrame.length>2)
|
|
86630
|
-
{
|
|
86631
|
-
var bindData=new ChartData();
|
|
86632
|
-
bindData.Data=aryMinuteData;
|
|
86633
|
-
for(var i=2; i<this.Frame.SubFrame.length; ++i)
|
|
86634
|
-
{
|
|
86635
|
-
this.BindIndexData(i,bindData);
|
|
86636
|
-
}
|
|
86637
|
-
}
|
|
86638
|
-
|
|
86639
|
-
this.UpdateFrameMaxMin(); //调整坐标最大 最小值
|
|
86640
|
-
this.Frame.SetSizeChage(true);
|
|
86641
|
-
this.Draw();
|
|
86642
|
-
|
|
86643
|
-
//this.AutoUpdata();
|
|
86644
|
-
}
|
|
86645
|
-
|
|
86646
|
-
}
|
|
86647
|
-
|
|
86648
|
-
//API 返回数据 转化为array[]
|
|
86649
|
-
HistoryMinuteChartContainer.JsonDataToMinuteData=function(data)
|
|
86650
|
-
{
|
|
86651
|
-
var aryMinuteData=[];
|
|
86652
|
-
for(var i in data.minute.time)
|
|
86653
|
-
{
|
|
86654
|
-
var item=new MinuteData();
|
|
86655
|
-
|
|
86656
|
-
if (data.minute.price[i]<=0 && i>0) //当前这一分钟价格为空,使用上一分钟的数据
|
|
86657
|
-
{
|
|
86658
|
-
item.Close=aryMinuteData[i-1].Close;
|
|
86659
|
-
item.Open=aryMinuteData[i-1].Close;
|
|
86660
|
-
item.High=item.Close;
|
|
86661
|
-
item.Low=item.Close;
|
|
86662
|
-
item.Vol=data.minute.vol[i]; //原始单位股
|
|
86663
|
-
item.Amount=data.minute.amount[i];
|
|
86664
|
-
item.DateTime=data.date.toString()+" "+data.minute.time[i].toString();
|
|
86665
|
-
//item.Increate=jsData.increate;
|
|
86666
|
-
//item.Risefall=jsData.risefall;
|
|
86667
|
-
item.AvPrice=aryMinuteData[i-1].AvPrice;
|
|
86668
|
-
}
|
|
86669
|
-
else
|
|
86670
|
-
{
|
|
86671
|
-
item.Close=data.minute.price[i];
|
|
86672
|
-
item.Open=data.minute.open[i];
|
|
86673
|
-
item.High=data.minute.high[i];
|
|
86674
|
-
item.Low=data.minute.low[i];
|
|
86675
|
-
item.Vol=data.minute.vol[i]; //原始单位股
|
|
86676
|
-
item.Amount=data.minute.amount[i];
|
|
86677
|
-
item.DateTime=data.date.toString()+" "+data.minute.time[i].toString();
|
|
86678
|
-
//item.Increate=jsData.increate;
|
|
86679
|
-
//item.Risefall=jsData.risefall;
|
|
86680
|
-
item.AvPrice=data.minute.avprice[i];
|
|
86681
|
-
}
|
|
86682
|
-
|
|
86683
|
-
//价格是0的 都用空
|
|
86684
|
-
if (item.Open<=0) item.Open=null;
|
|
86685
|
-
if (item.Close<=0) item.Close=null;
|
|
86686
|
-
if (item.AvPrice<=0) item.AvPrice=null;
|
|
86687
|
-
if (item.High<=0) item.High=null;
|
|
86688
|
-
if (item.Low<=0) item.Low=null;
|
|
86689
|
-
|
|
86690
|
-
aryMinuteData[i]=item;
|
|
86691
|
-
}
|
|
86692
|
-
|
|
86693
|
-
return aryMinuteData;
|
|
86694
|
-
}
|
|
86695
|
-
*/
|
|
86696
|
-
|
|
86697
86528
|
/////////////////////////////////////////////////////////////////////////////
|
|
86698
86529
|
// 自定义指数
|
|
86699
86530
|
//
|
|
@@ -91754,6 +91585,16 @@ var MARKET_SUFFIX_NAME=
|
|
|
91754
91585
|
if (ChartData.IsMinutePeriod(period,true)) return false; //内置分钟K线不支持复权
|
|
91755
91586
|
|
|
91756
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;
|
|
91757
91598
|
}
|
|
91758
91599
|
}
|
|
91759
91600
|
|
|
@@ -95045,3 +94886,5 @@ function GetLocalTime(i) //得到标准时区的时间的函数
|
|
|
95045
94886
|
|
|
95046
94887
|
|
|
95047
94888
|
|
|
94889
|
+
|
|
94890
|
+
|