hqchart 1.1.12503 → 1.1.12513
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.stock.vue.js +2 -2
- package/lib/umychart.vue.js +121 -31
- package/package.json +1 -1
- package/src/jscommon/umychart.complier.js +60 -1
- package/src/jscommon/umychart.js +277 -50
- package/src/jscommon/umychart.stock.js +2 -2
- package/src/jscommon/umychart.testdata/300439.sz.5day.minute.js +12172 -0
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +338 -52
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.stock.vue.js +2 -2
- package/src/jscommon/umychart.vue/umychart.vue.js +338 -52
- package/src/jscommon/umychart.wechat/umychart.complier.wechat.js +3 -2
- package/src/jscommon/umychart.wechat/umychart.data.wechat.js +1 -0
- package/src/jscommon/umychart.wechat/umychart.index.wechat.js +6 -0
- package/src/jscommon/umychart.wechat/umychart.version.wechat.js +1 -1
|
@@ -10370,6 +10370,13 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
10370
10370
|
return false;
|
|
10371
10371
|
}
|
|
10372
10372
|
|
|
10373
|
+
this.IsMinuteContainer=function()
|
|
10374
|
+
{
|
|
10375
|
+
if (this.ClassName=="MinuteChartContainer" || this.ClassName=="MinuteChartHScreenContainer") return true;
|
|
10376
|
+
|
|
10377
|
+
return false;
|
|
10378
|
+
}
|
|
10379
|
+
|
|
10373
10380
|
this.UpdatePointByCursorIndex=function(type) //type 1=根据十字光标更新 2=强制取消十字光标
|
|
10374
10381
|
{
|
|
10375
10382
|
var pt={X:null, Y:null};
|
|
@@ -24945,9 +24952,12 @@ function IChartPainting()
|
|
|
24945
24952
|
}
|
|
24946
24953
|
else if (valueType==3)
|
|
24947
24954
|
{
|
|
24948
|
-
var
|
|
24949
|
-
|
|
24950
|
-
|
|
24955
|
+
var minItem=this.Data.Data[i];
|
|
24956
|
+
var mainItem=this.MainData.Data[i];
|
|
24957
|
+
if (!minItem || !IFrameSplitOperator.IsNumber(minItem.Close) || !IFrameSplitOperator.IsNumber(minItem.YClose)) continue;
|
|
24958
|
+
if (!mainItem || !IFrameSplitOperator.IsNumber(mainItem.Close) || !IFrameSplitOperator.IsNumber(mainItem.YClose)) continue;
|
|
24959
|
+
var price=minItem.Close;
|
|
24960
|
+
var value=price/minItem.YClose*mainItem.YClose;
|
|
24951
24961
|
}
|
|
24952
24962
|
else if (valueType==4)
|
|
24953
24963
|
{
|
|
@@ -25067,9 +25077,12 @@ function IChartPainting()
|
|
|
25067
25077
|
}
|
|
25068
25078
|
else if (valueType==3)
|
|
25069
25079
|
{
|
|
25070
|
-
var
|
|
25071
|
-
|
|
25072
|
-
|
|
25080
|
+
var minItem=this.Data.Data[i];
|
|
25081
|
+
var mainItem=this.MainData.Data[i];
|
|
25082
|
+
if (!minItem || !IFrameSplitOperator.IsNumber(minItem.Close) || !IFrameSplitOperator.IsNumber(minItem.YClose)) continue;
|
|
25083
|
+
if (!mainItem || !IFrameSplitOperator.IsNumber(mainItem.Close) || !IFrameSplitOperator.IsNumber(mainItem.YClose)) continue;
|
|
25084
|
+
var price=minItem.Close;
|
|
25085
|
+
var value=price/minItem.YClose*mainItem.YClose;
|
|
25073
25086
|
}
|
|
25074
25087
|
else
|
|
25075
25088
|
{
|
|
@@ -35719,19 +35732,16 @@ function ChartOverlayMinutePriceLine()
|
|
|
35719
35732
|
|
|
35720
35733
|
this.Color="rgb(65,105,225)";
|
|
35721
35734
|
this.MainData; //主图数据
|
|
35722
|
-
this.MainYClose; //主图股票的前收盘价
|
|
35723
35735
|
this.SourceData; //原始数据
|
|
35724
35736
|
|
|
35725
35737
|
this.ClassName="ChartOverlayMinutePriceLine";
|
|
35726
35738
|
this.Title;
|
|
35727
35739
|
this.Symbol; //叠加的股票代码
|
|
35728
|
-
this.YClose; //叠加的股票前收盘
|
|
35729
35740
|
this.Status=OVERLAY_STATUS_ID.STATUS_NONE_ID;
|
|
35730
35741
|
|
|
35731
35742
|
this.OverlayType=0; //叠加方式 0=百分比叠加 1=绝对叠加
|
|
35732
35743
|
this.IsCalcuateMaxMin=true; //是否参与计算Y轴的最大最小值
|
|
35733
35744
|
|
|
35734
|
-
|
|
35735
35745
|
this.SetOption=function(option)
|
|
35736
35746
|
{
|
|
35737
35747
|
if (option)
|
|
@@ -35743,19 +35753,21 @@ function ChartOverlayMinutePriceLine()
|
|
|
35743
35753
|
|
|
35744
35754
|
this.PtInChart=function(x,y)
|
|
35745
35755
|
{
|
|
35746
|
-
var option={ MinuteOverlayPrice:true,
|
|
35756
|
+
var option={ MinuteOverlayPrice:true, OverlayType:this.OverlayType };
|
|
35747
35757
|
return this.PtInLine(x, y, option);
|
|
35748
35758
|
}
|
|
35749
35759
|
|
|
35750
35760
|
this.DrawSelectedStatus=function()
|
|
35751
35761
|
{
|
|
35752
|
-
var option={ MinuteOverlayPrice:true,
|
|
35762
|
+
var option={ MinuteOverlayPrice:true, OverlayType:this.OverlayType };
|
|
35753
35763
|
this.DrawLinePoint(option);
|
|
35754
35764
|
}
|
|
35755
35765
|
|
|
35756
35766
|
this.Draw=function()
|
|
35757
35767
|
{
|
|
35758
35768
|
if (!this.Data) return;
|
|
35769
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) return;
|
|
35770
|
+
|
|
35759
35771
|
if (this.NotSupportMessage)
|
|
35760
35772
|
{
|
|
35761
35773
|
this.DrawNotSupportmessage();
|
|
@@ -35776,37 +35788,53 @@ function ChartOverlayMinutePriceLine()
|
|
|
35776
35788
|
var bFirstPoint=true;
|
|
35777
35789
|
var drawCount=0;
|
|
35778
35790
|
var xOffset=0, showValue=0;
|
|
35791
|
+
var yClose=null, mainYClose=null;
|
|
35792
|
+
var pointCount=0;
|
|
35779
35793
|
for(var i=this.Data.DataOffset+xOffset,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j)
|
|
35780
35794
|
{
|
|
35781
|
-
var
|
|
35782
|
-
if (
|
|
35795
|
+
var item=this.Data.Data[i];
|
|
35796
|
+
if (item && IFrameSplitOperator.IsNumber(item.Close))
|
|
35797
|
+
{
|
|
35798
|
+
if (bFirstPoint) //百分比使用每天的昨收计算
|
|
35799
|
+
{
|
|
35800
|
+
yClose=item.YClose;
|
|
35801
|
+
var minItem=this.MainData.Data[i];
|
|
35802
|
+
mainYClose=minItem.YClose;
|
|
35803
|
+
}
|
|
35783
35804
|
|
|
35784
|
-
|
|
35785
|
-
|
|
35805
|
+
var value=item.Close;
|
|
35806
|
+
showValue=value; //绝对叠加
|
|
35786
35807
|
|
|
35787
|
-
|
|
35788
|
-
|
|
35808
|
+
if (this.OverlayType==0)
|
|
35809
|
+
showValue=value/yClose*mainYClose; //百分比
|
|
35789
35810
|
|
|
35790
|
-
|
|
35791
|
-
|
|
35792
|
-
|
|
35793
|
-
|
|
35794
|
-
|
|
35795
|
-
|
|
35796
|
-
|
|
35797
|
-
|
|
35798
|
-
|
|
35799
|
-
|
|
35800
|
-
|
|
35801
|
-
else
|
|
35811
|
+
var x=this.ChartFrame.GetXFromIndex(j);
|
|
35812
|
+
var y=this.ChartFrame.GetYFromData(showValue, false);
|
|
35813
|
+
|
|
35814
|
+
if (bFirstPoint)
|
|
35815
|
+
{
|
|
35816
|
+
this.Canvas.strokeStyle=this.Color;
|
|
35817
|
+
this.Canvas.beginPath();
|
|
35818
|
+
if (isHScreen) this.Canvas.moveTo(y,x);
|
|
35819
|
+
else this.Canvas.moveTo(x,y);
|
|
35820
|
+
bFirstPoint=false;
|
|
35821
|
+
}
|
|
35822
|
+
else
|
|
35823
|
+
{
|
|
35824
|
+
if (isHScreen) this.Canvas.lineTo(y,x);
|
|
35825
|
+
else this.Canvas.lineTo(x,y);
|
|
35826
|
+
}
|
|
35827
|
+
|
|
35828
|
+
++drawCount;
|
|
35802
35829
|
}
|
|
35803
35830
|
|
|
35804
|
-
++
|
|
35831
|
+
++pointCount;
|
|
35805
35832
|
|
|
35806
|
-
if (
|
|
35833
|
+
if (pointCount>=minuteCount) //上一天的数据和这天地数据线段要断开
|
|
35807
35834
|
{
|
|
35808
35835
|
bFirstPoint=true;
|
|
35809
|
-
|
|
35836
|
+
pointCount=0;
|
|
35837
|
+
if (drawCount>0) this.Canvas.stroke();
|
|
35810
35838
|
drawCount=0;
|
|
35811
35839
|
}
|
|
35812
35840
|
}
|
|
@@ -35819,24 +35847,46 @@ function ChartOverlayMinutePriceLine()
|
|
|
35819
35847
|
this.GetMaxMin=function()
|
|
35820
35848
|
{
|
|
35821
35849
|
var xPointCount=this.ChartFrame.XPointCount;
|
|
35822
|
-
var range={};
|
|
35850
|
+
var range={ Min:null, Max:null };
|
|
35823
35851
|
if (!this.IsCalcuateMaxMin) return range;
|
|
35824
|
-
if (this.YClose==null) return range;
|
|
35825
35852
|
|
|
35826
|
-
|
|
35827
|
-
|
|
35853
|
+
var minuteCount=this.ChartFrame.MinuteCount;
|
|
35854
|
+
var yClose=null, mainYClose=null;
|
|
35855
|
+
var bFirstPoint=true;
|
|
35856
|
+
var pointCount=0;
|
|
35828
35857
|
for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j)
|
|
35829
35858
|
{
|
|
35830
|
-
var
|
|
35831
|
-
if (
|
|
35859
|
+
var item=this.Data.Data[i];
|
|
35860
|
+
if (!item || !IFrameSplitOperator.IsNumber(item.Close))
|
|
35861
|
+
{
|
|
35862
|
+
++pointCount;
|
|
35863
|
+
continue;
|
|
35864
|
+
}
|
|
35832
35865
|
|
|
35833
|
-
if (
|
|
35866
|
+
if (bFirstPoint)
|
|
35867
|
+
{
|
|
35868
|
+
yClose=item.YClose;
|
|
35869
|
+
var minItem=this.MainData.Data[i];
|
|
35870
|
+
mainYClose=minItem.YClose;
|
|
35871
|
+
bFirstPoint=false;
|
|
35872
|
+
}
|
|
35873
|
+
|
|
35874
|
+
var value=item.Close;
|
|
35875
|
+
if (this.OverlayType==0) value=value/yClose*mainYClose;
|
|
35834
35876
|
|
|
35835
35877
|
if (range.Max==null) range.Max=value;
|
|
35836
35878
|
if (range.Min==null) range.Min=value;
|
|
35837
35879
|
|
|
35838
35880
|
if (range.Max<value) range.Max=value;
|
|
35839
35881
|
if (range.Min>value) range.Min=value;
|
|
35882
|
+
|
|
35883
|
+
++pointCount;
|
|
35884
|
+
|
|
35885
|
+
if (pointCount>=minuteCount)
|
|
35886
|
+
{
|
|
35887
|
+
bFirstPoint=true;
|
|
35888
|
+
pointCount=0;
|
|
35889
|
+
}
|
|
35840
35890
|
}
|
|
35841
35891
|
|
|
35842
35892
|
//JSConsole.Chart.Log(`[ChartOverlayMinutePriceLine::GetMaxMin] max=${range.Max} min=${range.Min}`);
|
|
@@ -51215,7 +51265,16 @@ function HistoryDataStringFormat()
|
|
|
51215
51265
|
|
|
51216
51266
|
this.Width=157;
|
|
51217
51267
|
if (this.LanguageID==JSCHART_LANGUAGE_ID.LANGUAGE_ENGLISH_ID) this.Width=180;
|
|
51268
|
+
var titleData=this.GetFormatTitle(data);
|
|
51269
|
+
if (!titleData) return false;
|
|
51270
|
+
var outData=this.GenerateTitleHtml(titleData);
|
|
51271
|
+
if (!outData) return false;
|
|
51272
|
+
|
|
51273
|
+
this.Text=outData.Html;
|
|
51274
|
+
this.Height=outData.LineCount*this.LineHeight;
|
|
51275
|
+
return true;
|
|
51218
51276
|
|
|
51277
|
+
/*
|
|
51219
51278
|
var date=new Date(parseInt(data.Date/10000),(data.Date/100%100-1),data.Date%100);
|
|
51220
51279
|
var strDate=IFrameSplitOperator.FormatDateString(data.Date);
|
|
51221
51280
|
var title2=g_JSChartLocalization.GetText(WEEK_NAME[date.getDay()],this.LanguageID);
|
|
@@ -51305,6 +51364,178 @@ function HistoryDataStringFormat()
|
|
|
51305
51364
|
|
|
51306
51365
|
this.Height=this.LineCount*this.LineHeight;
|
|
51307
51366
|
return true;
|
|
51367
|
+
*/
|
|
51368
|
+
}
|
|
51369
|
+
|
|
51370
|
+
this.GenerateTitleHtml=function(data)
|
|
51371
|
+
{
|
|
51372
|
+
var lineCount=0;
|
|
51373
|
+
var strHtml="", text;
|
|
51374
|
+
if (data.Name)
|
|
51375
|
+
{
|
|
51376
|
+
text=`<span style='color:rgb(0,0,0);font:微软雅黑;font-size:12px;text-align:center;display: block;'>${data.Name}</span>`;
|
|
51377
|
+
strHtml+=text;
|
|
51378
|
+
++lineCount;
|
|
51379
|
+
}
|
|
51380
|
+
|
|
51381
|
+
if (data.Title)
|
|
51382
|
+
{
|
|
51383
|
+
text=`<span class='tooltip-title'>${data.Title}</span>`;
|
|
51384
|
+
strHtml+=text;
|
|
51385
|
+
++lineCount;
|
|
51386
|
+
}
|
|
51387
|
+
|
|
51388
|
+
if (IFrameSplitOperator.IsNonEmptyArray(data.AryText))
|
|
51389
|
+
{
|
|
51390
|
+
for(var i=0;i<data.AryText.length;++i)
|
|
51391
|
+
{
|
|
51392
|
+
var item=data.AryText[i];
|
|
51393
|
+
if (i>0) strHtml+='<br/>';
|
|
51394
|
+
var text=`<span class='tooltip-con'>${item.Title}</span><span class='tooltip-num' style='color:${item.Color};'>${item.Text}</span>`;
|
|
51395
|
+
strHtml+=text;
|
|
51396
|
+
++lineCount;
|
|
51397
|
+
}
|
|
51398
|
+
}
|
|
51399
|
+
|
|
51400
|
+
return { Html:strHtml, LineCount:lineCount };
|
|
51401
|
+
}
|
|
51402
|
+
|
|
51403
|
+
this.GetFormatTitle=function(data)
|
|
51404
|
+
{
|
|
51405
|
+
if (!data) return null;
|
|
51406
|
+
|
|
51407
|
+
var upperSymbol=this.Symbol.toUpperCase();
|
|
51408
|
+
var defaultfloatPrecision=GetfloatPrecision(this.Symbol);//价格小数位数
|
|
51409
|
+
var date=new Date(parseInt(data.Date/10000),(data.Date/100%100-1),data.Date%100);
|
|
51410
|
+
var strDate=IFrameSplitOperator.FormatDateString(data.Date);
|
|
51411
|
+
|
|
51412
|
+
var title2=g_JSChartLocalization.GetText(WEEK_NAME[date.getDay()],this.LanguageID);
|
|
51413
|
+
var isTickPeriod=ChartData.IsTickPeriod(this.Value.ChartPaint.Data.Period);
|
|
51414
|
+
if (ChartData.IsMinutePeriod(this.Value.ChartPaint.Data.Period,true)) // 分钟周期
|
|
51415
|
+
{
|
|
51416
|
+
title2=IFrameSplitOperator.FormatTimeString(data.Time);
|
|
51417
|
+
}
|
|
51418
|
+
else if (ChartData.IsSecondPeriod(this.Value.ChartPaint.Data.Period) || isTickPeriod)
|
|
51419
|
+
{
|
|
51420
|
+
title2=IFrameSplitOperator.FormatTimeString(data.Time,'HH:MM:SS');
|
|
51421
|
+
}
|
|
51422
|
+
|
|
51423
|
+
var result={ AryText:null, Title:`${strDate}  ${title2}`, Name:null };
|
|
51424
|
+
if (isTickPeriod)
|
|
51425
|
+
{
|
|
51426
|
+
var aryText=
|
|
51427
|
+
[
|
|
51428
|
+
{
|
|
51429
|
+
Title:g_JSChartLocalization.GetText('DivTooltip-Price',this.LanguageID),
|
|
51430
|
+
Text:IFrameSplitOperator.IsNumber(data.Open)? data.Open.toFixed(defaultfloatPrecision):'--',
|
|
51431
|
+
Color:this.GetColor(data.Open,data.YClose)
|
|
51432
|
+
},
|
|
51433
|
+
];
|
|
51434
|
+
|
|
51435
|
+
if (IFrameSplitOperator.IsNumber(data.YClose))
|
|
51436
|
+
{
|
|
51437
|
+
var increase=(data.Close-data.YClose)/data.YClose*100;
|
|
51438
|
+
var item=
|
|
51439
|
+
{
|
|
51440
|
+
Title:g_JSChartLocalization.GetText('DivTooltip-Increase',this.LanguageID),
|
|
51441
|
+
Text:`${increase.toFixed(2)}%`,
|
|
51442
|
+
Color:this.GetColor(increase,0)
|
|
51443
|
+
}
|
|
51444
|
+
aryText.push(item);
|
|
51445
|
+
}
|
|
51446
|
+
|
|
51447
|
+
result.AryText=aryText;
|
|
51448
|
+
}
|
|
51449
|
+
else if (data.IsNonTrade)
|
|
51450
|
+
{
|
|
51451
|
+
|
|
51452
|
+
}
|
|
51453
|
+
else
|
|
51454
|
+
{
|
|
51455
|
+
var vol=data.Vol;
|
|
51456
|
+
if (upperSymbol && MARKET_SUFFIX_NAME.IsSHSZ(upperSymbol)) vol/=100; //A股统一转成手
|
|
51457
|
+
var eventUnchangeKLine=null; //定制平盘K线颜色事件
|
|
51458
|
+
if (this.GetEventCallback) eventUnchangeKLine=this.GetEventCallback(JSCHART_EVENT_ID.ON_CUSTOM_UNCHANGE_KLINE_TITLE_COLOR);
|
|
51459
|
+
|
|
51460
|
+
var aryText=
|
|
51461
|
+
[
|
|
51462
|
+
{
|
|
51463
|
+
Title:g_JSChartLocalization.GetText('DivTooltip-Open',this.LanguageID),
|
|
51464
|
+
Text:IFrameSplitOperator.IsNumber(data.Open)? data.Open.toFixed(defaultfloatPrecision):'--',
|
|
51465
|
+
Color:this.GetPriceColor("DivTooltip-Open",data.Open,data.YClose,data,eventUnchangeKLine),
|
|
51466
|
+
},
|
|
51467
|
+
{
|
|
51468
|
+
Title:g_JSChartLocalization.GetText('DivTooltip-High',this.LanguageID),
|
|
51469
|
+
Text:IFrameSplitOperator.IsNumber(data.High)? data.High.toFixed(defaultfloatPrecision):'--',
|
|
51470
|
+
Color:this.GetPriceColor("DivTooltip-High",data.High,data.YClose,data,eventUnchangeKLine)
|
|
51471
|
+
},
|
|
51472
|
+
{
|
|
51473
|
+
Title:g_JSChartLocalization.GetText('DivTooltip-Low',this.LanguageID),
|
|
51474
|
+
Text:IFrameSplitOperator.IsNumber(data.Low)? data.Low.toFixed(defaultfloatPrecision):'--',
|
|
51475
|
+
Color:this.GetPriceColor('DivTooltip-Low',data.Low,data.YClose,data,eventUnchangeKLine)
|
|
51476
|
+
},
|
|
51477
|
+
{
|
|
51478
|
+
Title:g_JSChartLocalization.GetText('DivTooltip-Close',this.LanguageID),
|
|
51479
|
+
Text:IFrameSplitOperator.IsNumber(data.Close)? data.Close.toFixed(defaultfloatPrecision):'--',
|
|
51480
|
+
Color:this.GetPriceColor('DivTooltip-Close',data.Close,data.YClose,data,eventUnchangeKLine)
|
|
51481
|
+
},
|
|
51482
|
+
{
|
|
51483
|
+
Title:g_JSChartLocalization.GetText('DivTooltip-Vol',this.LanguageID),
|
|
51484
|
+
Text:IFrameSplitOperator.IsNumber(vol)? IFrameSplitOperator.FormatValueString(vol,2,this.LanguageID):'--',
|
|
51485
|
+
Color:this.VolColor
|
|
51486
|
+
},
|
|
51487
|
+
{
|
|
51488
|
+
Title:g_JSChartLocalization.GetText('DivTooltip-Amount',this.LanguageID),
|
|
51489
|
+
Text:IFrameSplitOperator.IsNumber(data.Amount)? IFrameSplitOperator.FormatValueString(data.Amount,2,this.LanguageID):'--',
|
|
51490
|
+
Color:this.AmountColor
|
|
51491
|
+
}
|
|
51492
|
+
];
|
|
51493
|
+
|
|
51494
|
+
if (IFrameSplitOperator.IsNumber(data.YClose))
|
|
51495
|
+
{
|
|
51496
|
+
var increase=(data.Close-data.YClose)/data.YClose*100;
|
|
51497
|
+
var item=
|
|
51498
|
+
{
|
|
51499
|
+
Title:g_JSChartLocalization.GetText('DivTooltip-Increase',this.LanguageID),
|
|
51500
|
+
Text:`${increase.toFixed(2)}%`,
|
|
51501
|
+
Color:this.GetColor(increase,0)
|
|
51502
|
+
}
|
|
51503
|
+
aryText.push(item);
|
|
51504
|
+
}
|
|
51505
|
+
|
|
51506
|
+
if(MARKET_SUFFIX_NAME.IsSHSZStockA(this.Symbol) && data.FlowCapital>0) //换手率
|
|
51507
|
+
{
|
|
51508
|
+
var value=data.Vol/data.FlowCapital*100;
|
|
51509
|
+
var item=
|
|
51510
|
+
{
|
|
51511
|
+
Title:g_JSChartLocalization.GetText('DivTooltip-Exchange',this.LanguageID),
|
|
51512
|
+
Text:`${value.toFixed(2)}%`,
|
|
51513
|
+
Color:this.TurnoverRateColor
|
|
51514
|
+
}
|
|
51515
|
+
aryText.push(item);
|
|
51516
|
+
}
|
|
51517
|
+
|
|
51518
|
+
if (MARKET_SUFFIX_NAME.IsFutures(upperSymbol) && IFrameSplitOperator.IsNumber(data.Position))
|
|
51519
|
+
{
|
|
51520
|
+
var item=
|
|
51521
|
+
{
|
|
51522
|
+
Title:g_JSChartLocalization.GetText('DivTooltip-Position',this.LanguageID),
|
|
51523
|
+
Text:`${data.Position}`,
|
|
51524
|
+
Color:this.PositionColor
|
|
51525
|
+
}
|
|
51526
|
+
}
|
|
51527
|
+
|
|
51528
|
+
//叠加股票
|
|
51529
|
+
if (this.Value.ChartPaint.Name=="Overlay-KLine")
|
|
51530
|
+
{
|
|
51531
|
+
result.Name=this.Value.ChartPaint.Title;
|
|
51532
|
+
}
|
|
51533
|
+
|
|
51534
|
+
result.AryText=aryText;
|
|
51535
|
+
}
|
|
51536
|
+
|
|
51537
|
+
|
|
51538
|
+
return result;
|
|
51308
51539
|
}
|
|
51309
51540
|
|
|
51310
51541
|
this.GetColor=function(price,yclse)
|
|
@@ -76783,7 +77014,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
76783
77014
|
//叠加股票
|
|
76784
77015
|
this.OverlaySymbol=function(symbol,option)
|
|
76785
77016
|
{
|
|
76786
|
-
for(var i
|
|
77017
|
+
for(var i=0; i<this.OverlayChartPaint.length; ++i)
|
|
76787
77018
|
{
|
|
76788
77019
|
var item=this.OverlayChartPaint[i];
|
|
76789
77020
|
if (item.Symbol==symbol)
|
|
@@ -76803,11 +77034,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
76803
77034
|
if (option && option.Color) paint.Color=option.Color; //外部设置颜色
|
|
76804
77035
|
else paint.Color=g_JSChartResource.OverlaySymbol.Color[g_JSChartResource.OverlaySymbol.Random%g_JSChartResource.OverlaySymbol.Color.length];
|
|
76805
77036
|
++g_JSChartResource.OverlaySymbol.Random;
|
|
76806
|
-
|
|
76807
|
-
{
|
|
76808
|
-
paint.MainData=this.ChartPaint[0].Data;
|
|
76809
|
-
paint.MainYClose=this.ChartPaint[0].YClose;
|
|
76810
|
-
}
|
|
77037
|
+
paint.MainData=this.SourceData; //绑定主图数据
|
|
76811
77038
|
|
|
76812
77039
|
if (paint.SetOption) paint.SetOption(option);
|
|
76813
77040
|
|
|
@@ -77775,7 +78002,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
77775
78002
|
for(var i=0; i<this.OverlayChartPaint.length; ++i)
|
|
77776
78003
|
{
|
|
77777
78004
|
let item=this.OverlayChartPaint[i];
|
|
77778
|
-
if (!item.MainData
|
|
78005
|
+
if (!item.MainData) continue;
|
|
77779
78006
|
if (item.Status!=OVERLAY_STATUS_ID.STATUS_NONE_ID) continue;
|
|
77780
78007
|
var symbol=item.Symbol;
|
|
77781
78008
|
if (!symbol) continue;
|
|
@@ -77836,7 +78063,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
77836
78063
|
for(var j=0; j<this.OverlayChartPaint.length; ++j)
|
|
77837
78064
|
{
|
|
77838
78065
|
var item=this.OverlayChartPaint[j];
|
|
77839
|
-
if (!item.MainData
|
|
78066
|
+
if (!item.MainData) continue;
|
|
77840
78067
|
if (overlayData.symbol==item.Symbol)
|
|
77841
78068
|
{
|
|
77842
78069
|
this.RecvOverlayMinuteData(overlayData, item, { Redraw:false });
|
|
@@ -77997,6 +78224,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
77997
78224
|
{
|
|
77998
78225
|
var empytData=new ChartData();
|
|
77999
78226
|
empytData.Date=item.Date;
|
|
78227
|
+
empytData.Data.length=item.Data.length;
|
|
78000
78228
|
overlayDayData.push(empytData);
|
|
78001
78229
|
}
|
|
78002
78230
|
}
|
|
@@ -78230,11 +78458,10 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
78230
78458
|
this.ExtendChartPaint[0].Name=this.Name;
|
|
78231
78459
|
}
|
|
78232
78460
|
|
|
78233
|
-
for(var i
|
|
78461
|
+
for(var i=0; i<this.OverlayChartPaint.length; ++i)
|
|
78234
78462
|
{
|
|
78235
78463
|
var item=this.OverlayChartPaint[i];
|
|
78236
|
-
item.MainData=
|
|
78237
|
-
item.MainYClose=yClose;
|
|
78464
|
+
item.MainData=minuteData; //绑定主图数据
|
|
78238
78465
|
}
|
|
78239
78466
|
}
|
|
78240
78467
|
|
|
@@ -102020,6 +102247,36 @@ function JSDraw(errorHandler,symbolData)
|
|
|
102020
102247
|
return result;
|
|
102021
102248
|
}
|
|
102022
102249
|
|
|
102250
|
+
//叠加一个K线
|
|
102251
|
+
this.DRAWOVERLAYKLINE=function(open, high, low, close)
|
|
102252
|
+
{
|
|
102253
|
+
var drawData=[];
|
|
102254
|
+
var result={DrawData:drawData, DrawType:'DRAWOVERLAYKLINE'};
|
|
102255
|
+
var count=Math.max(high.length, open.length,low.length,close.length);
|
|
102256
|
+
|
|
102257
|
+
var kData=this.SymbolData.Data.Data;
|
|
102258
|
+
for(var i=0;i<count;++i)
|
|
102259
|
+
{
|
|
102260
|
+
var item={Open:null,High:null, Low:null, Close:null};
|
|
102261
|
+
var kItem=kData[i];
|
|
102262
|
+
if (i<high.length && i<open.length && i<low.length && i<close.length &&
|
|
102263
|
+
IFrameSplitOperator.IsNumber(open[i]) && IFrameSplitOperator.IsNumber(high[i]) && IFrameSplitOperator.IsNumber(low[i]) && IFrameSplitOperator.IsNumber(low[i]))
|
|
102264
|
+
{
|
|
102265
|
+
|
|
102266
|
+
item.Open=open[i];
|
|
102267
|
+
item.High=high[i];
|
|
102268
|
+
item.Low=low[i];
|
|
102269
|
+
item.Close=close[i];
|
|
102270
|
+
item.Date=kItem.Date;
|
|
102271
|
+
if (IFrameSplitOperator.IsNumber(kItem.Time)) item.Time=kItem.Time;
|
|
102272
|
+
}
|
|
102273
|
+
|
|
102274
|
+
drawData[i]=item;
|
|
102275
|
+
}
|
|
102276
|
+
|
|
102277
|
+
return result;
|
|
102278
|
+
}
|
|
102279
|
+
|
|
102023
102280
|
/*
|
|
102024
102281
|
DRAWCOLORKLINE 绘制K线
|
|
102025
102282
|
用法:
|
|
@@ -103527,7 +103784,7 @@ JSDraw.prototype.IsDrawFunction=function(name)
|
|
|
103527
103784
|
{
|
|
103528
103785
|
let setFunctionName=new Set(
|
|
103529
103786
|
[
|
|
103530
|
-
"STICKLINE","DRAWTEXT",'SUPERDRAWTEXT','DRAWLINE','DRAWBAND','DRAWKLINE',"DRAWKLINE1",'DRAWKLINE_IF',"DRAWCOLORKLINE",'PLOYLINE',
|
|
103787
|
+
"STICKLINE","DRAWTEXT",'SUPERDRAWTEXT','DRAWLINE','DRAWBAND','DRAWKLINE',"DRAWKLINE1",'DRAWKLINE_IF',"DRAWCOLORKLINE",'PLOYLINE',"DRAWOVERLAYKLINE",
|
|
103531
103788
|
'POLYLINE','DRAWNUMBER',"DRAWNUMBER_FIX",'DRAWICON','DRAWCHANNEL','PARTLINE','DRAWTEXT_FIX','DRAWGBK','DRAWTEXT_LINE','DRAWRECTREL',"DRAWTEXTABS","DRAWTEXTREL",
|
|
103532
103789
|
'DRAWOVERLAYLINE',"FILLRGN", "FILLRGN2","FILLTOPRGN", "FILLBOTTOMRGN", "FILLVERTICALRGN","FLOATRGN","DRAWSL", "DRAWGBK2","DRAWGBK_DIV",
|
|
103533
103790
|
"VERTLINE","HORLINE","TIPICON"
|
|
@@ -109811,6 +110068,10 @@ function JSExecute(ast,option)
|
|
|
109811
110068
|
node.Draw=this.Draw.DRAWKLINE_IF(args[0],args[1],args[2],args[3],args[4]);
|
|
109812
110069
|
node.Out=[];
|
|
109813
110070
|
break;
|
|
110071
|
+
case "DRAWOVERLAYKLINE":
|
|
110072
|
+
node.Draw=this.Draw.DRAWOVERLAYKLINE(args[0],args[1],args[2],args[3]);
|
|
110073
|
+
node.Out=[];
|
|
110074
|
+
break;
|
|
109814
110075
|
case "DRAWCOLORKLINE":
|
|
109815
110076
|
node.Draw=this.Draw.DRAWCOLORKLINE(args[0],args[1],args[2]);
|
|
109816
110077
|
node.Out=[];
|
|
@@ -112432,6 +112693,28 @@ function ScriptIndex(name,script,args,option)
|
|
|
112432
112693
|
hqChart.ChartPaint.push(chart);
|
|
112433
112694
|
}
|
|
112434
112695
|
|
|
112696
|
+
this.CreateOverlayKLine=function(hqChart,windowIndex,varItem,id)
|
|
112697
|
+
{
|
|
112698
|
+
var chart=null;
|
|
112699
|
+
if (hqChart.IsKLineContainer()) chart=new ChartOverlayKLine();
|
|
112700
|
+
else if (hqChart.IsMinuteContainer()) chart=new ChartOverlayMinutePriceLine();
|
|
112701
|
+
else return;
|
|
112702
|
+
|
|
112703
|
+
chart.Canvas=hqChart.Canvas;
|
|
112704
|
+
chart.Name=varItem.Name;
|
|
112705
|
+
chart.Identify=this.Guid;
|
|
112706
|
+
chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;
|
|
112707
|
+
chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;
|
|
112708
|
+
|
|
112709
|
+
if (varItem.Color) chart.Color=this.GetColor(varItem.Color); //如果设置了颜色,使用外面设置的颜色
|
|
112710
|
+
else chart.Color=this.GetDefaultColor(id);
|
|
112711
|
+
|
|
112712
|
+
chart.Data.Data=varItem.Draw.DrawData;
|
|
112713
|
+
chart.MainData=hqChart.ChartPaint[0].Data;//绑定K线
|
|
112714
|
+
|
|
112715
|
+
hqChart.ChartPaint.push(chart);
|
|
112716
|
+
}
|
|
112717
|
+
|
|
112435
112718
|
this.CreateDrawColorKLine=function(hqChart,windowIndex,varItem,i)
|
|
112436
112719
|
{
|
|
112437
112720
|
let chart=new ChartColorKline();
|
|
@@ -113272,6 +113555,9 @@ function ScriptIndex(name,script,args,option)
|
|
|
113272
113555
|
case "DRAWKLINE1":
|
|
113273
113556
|
this.CreateKLine(hqChart,windowIndex,item,i);
|
|
113274
113557
|
break;
|
|
113558
|
+
case "DRAWOVERLAYKLINE":
|
|
113559
|
+
this.CreateOverlayKLine(hqChart,windowIndex,item,i);
|
|
113560
|
+
break;
|
|
113275
113561
|
case "DRAWCOLORKLINE":
|
|
113276
113562
|
this.CreateDrawColorKLine(hqChart,windowIndex,item,i);
|
|
113277
113563
|
break;
|
|
@@ -128141,7 +128427,7 @@ function ScrollBarBGChart()
|
|
|
128141
128427
|
|
|
128142
128428
|
|
|
128143
128429
|
|
|
128144
|
-
var HQCHART_VERSION="1.1.
|
|
128430
|
+
var HQCHART_VERSION="1.1.12512";
|
|
128145
128431
|
|
|
128146
128432
|
function PrintHQChartVersion()
|
|
128147
128433
|
{
|
|
@@ -17,8 +17,8 @@
|
|
|
17
17
|
|
|
18
18
|
function JSStockResource()
|
|
19
19
|
{
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
this.Domain = "http://127.0.0.1:8886"; //API域名
|
|
21
|
+
this.CacheDomain = "http://127.0.0.1:8886"; //缓存域名
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
var g_JSStockResource = new JSStockResource();
|