hqchart 1.1.12570 → 1.1.12575
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 +10 -9
- package/package.json +1 -1
- package/src/jscommon/umychart.js +43 -16
- package/src/jscommon/umychart.style.js +1 -1
- package/src/jscommon/umychart.testdata/if2312.cf.msecond.js +295412 -0
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +45 -18
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +45 -18
package/lib/umychart.vue.js
CHANGED
|
@@ -2430,8 +2430,8 @@ for(var i=0;i<this.CustomToolbar.length;++i){var item=this.CustomToolbar[i];if(i
|
|
|
2430
2430
|
}}return aryLeftButton;};this.DrawFrame=function(){if(!this.IsMinSize){this.SplitXYCoordinate();if(this.SizeChange==true){this.CalculateDataWidth();if(this.Logarithmic)this.SplitLogarithmicXYCoordinate();}if(this.BeforeDrawXYCallback)this.BeforeDrawXYCallback(this);this.DrawTitleBG();this.DrawHorizontal();this.DrawVertical();}if(this.SizeChange==true||this.ReDrawToolbar==true){this.DrawToolbar();//大小变动才画工具条
|
|
2431
2431
|
this.ReDrawToolbar=false;}};//isLimit 是否限制在当前屏坐标下
|
|
2432
2432
|
this.GetXFromIndex=function(index,isLimit){if(isLimit===false){if(index>=0){var offset=this.ChartBorder.GetLeft()+g_JSChartResource.FrameLeftMargin+this.DistanceWidth/2+this.DataWidth/2;for(var i=1;i<=index;++i){offset+=this.DistanceWidth+this.DataWidth;}}else{var offset=this.ChartBorder.GetLeft()+g_JSChartResource.FrameLeftMargin-(this.DistanceWidth/2+this.DataWidth+this.DistanceWidth);var absIndex=Math.abs(index);for(var i=1;i<absIndex;++i){offset-=this.DistanceWidth+this.DataWidth;}}}else{if(index<0)index=0;if(index>this.xPointCount-1)index=this.xPointCount-1;var offset=this.ChartBorder.GetLeft()+g_JSChartResource.FrameLeftMargin+this.DistanceWidth/2+this.DataWidth/2;for(var i=1;i<=index;++i){offset+=this.DistanceWidth+this.DataWidth;}}return offset;};//X坐标转x轴数值 isLimit=是否限制在当前屏坐标下
|
|
2433
|
-
this.GetXData=function(x,isLimit){var distanceWidth=this.DistanceWidth;var dataWidth=this.DataWidth;var left=this.ChartBorder.GetLeft()+g_JSChartResource.FrameLeftMargin;if(isLimit==false){if(x<this.ChartBorder.GetLeft()){var index=-1;var xPoint=this.ChartBorder.GetLeft()-(distanceWidth/2+dataWidth+distanceWidth);while(index>-
|
|
2434
|
-
{if(xPoint>=x)break;xPoint+=dataWidth+distanceWidth;++index;}return index;}}else{if(x<=this.ChartBorder.GetLeft())return 0;if(x>=this.ChartBorder.GetRight())return this.XPointCount-1;var right=this.ChartBorder.GetRight()-g_JSChartResource.FrameRightMargin;var index=0;var xPoint=left+distanceWidth/2+dataWidth+distanceWidth;while(xPoint<right&&index<
|
|
2433
|
+
this.GetXData=function(x,isLimit){var distanceWidth=this.DistanceWidth;var dataWidth=this.DataWidth;var left=this.ChartBorder.GetLeft()+g_JSChartResource.FrameLeftMargin;var maxDataCount=10000*50;if(isLimit==false){if(x<this.ChartBorder.GetLeft()){var index=-1;var xPoint=this.ChartBorder.GetLeft()-(distanceWidth/2+dataWidth+distanceWidth);while(index>-maxDataCount){if(xPoint<=x)break;xPoint-=dataWidth+distanceWidth;--index;}return index;}else{var index=0;var xPoint=left+distanceWidth/2+dataWidth+distanceWidth;while(index<maxDataCount)//自己算x的数值
|
|
2434
|
+
{if(xPoint>=x)break;xPoint+=dataWidth+distanceWidth;++index;}return index;}}else{if(x<=this.ChartBorder.GetLeft())return 0;if(x>=this.ChartBorder.GetRight())return this.XPointCount-1;var right=this.ChartBorder.GetRight()-g_JSChartResource.FrameRightMargin;var index=0;var xPoint=left+distanceWidth/2+dataWidth+distanceWidth;while(xPoint<right&&index<maxDataCount&&index+1<this.XPointCount)//自己算x的数值
|
|
2435
2435
|
{if(xPoint>=x)break;xPoint+=dataWidth+distanceWidth;++index;}//var test=(x-this.ChartBorder.GetLeft())*(this.XPointCount*1.0/this.ChartBorder.GetWidth());
|
|
2436
2436
|
return index;}};//计算数据宽度
|
|
2437
2437
|
this.CalculateDataWidth=function(){if(this.XPointCount<2)return;//JSConsole.Chart.Log(`[KLineFrame::CalculateDataWidth] ZoomIndex=${this.ZoomIndex}, XPointCount=${this.XPointCount}, DataWidth=${this.DataWidth}, DistanceWidth=${this.DistanceWidth}`);
|
|
@@ -2541,7 +2541,7 @@ this.Canvas.beginPath();this.Canvas.moveTo(left,ToFixedPoint(x));this.Canvas.lin
|
|
|
2541
2541
|
this.Canvas.beginPath();this.Canvas.moveTo(left,ToFixedPoint(x));this.Canvas.lineTo(right,ToFixedPoint(x));this.Canvas.stroke();this.Canvas.setLineDash([]);}else//实线
|
|
2542
2542
|
{this.Canvas.beginPath();this.Canvas.moveTo(left,ToFixedPoint(x));this.Canvas.lineTo(right,ToFixedPoint(x));this.Canvas.stroke();}}if(this.VerticalInfo[i].Message[0]!=null){if(this.VerticalInfo[i].Font!=null)this.Canvas.font=this.VerticalInfo[i].Font;this.Canvas.fillStyle=this.VerticalInfo[i].TextColor;var testWidth=this.Canvas.measureText(this.VerticalInfo[i].Message[0]).width;if(x<testWidth/2){this.Canvas.textAlign="left";this.Canvas.textBaseline="top";}else{this.Canvas.textAlign="center";this.Canvas.textBaseline="top";}var xText=left,yText=x;this.Canvas.save();this.Canvas.translate(xText,yText);this.Canvas.rotate(90*Math.PI/180);this.Canvas.fillText(this.VerticalInfo[i].Message[0],0,this.XBottomOffset);this.Canvas.restore();}xPrev=x;}};//Y坐标转y轴数值
|
|
2543
2543
|
this.GetYData=function(x,isLimit){var border=this.ChartBorder.GetHScreenBorder();if(isLimit===false){var width=border.RightEx-border.LeftEx;return(x-border.LeftEx)/width*(this.HorizontalMax-this.HorizontalMin)+this.HorizontalMin;}else{if(x<border.LeftEx)return this.HorizontalMin;if(x>border.RightEx)return this.HorizontalMax;var width=border.RightEx-border.LeftEx;return(x-border.LeftEx)/width*(this.HorizontalMax-this.HorizontalMin)+this.HorizontalMin;}};//X坐标转x轴数值
|
|
2544
|
-
this.GetXData=function(y,isLimit){var border=this.ChartBorder.GetHScreenBorder();var left=border.TopEx+g_JSChartResource.FrameLeftMargin;var right=border.BottomEx;var distanceWidth=this.DistanceWidth;var dataWidth=this.DataWidth;var maxDataCount=10000*
|
|
2544
|
+
this.GetXData=function(y,isLimit){var border=this.ChartBorder.GetHScreenBorder();var left=border.TopEx+g_JSChartResource.FrameLeftMargin;var right=border.BottomEx;var distanceWidth=this.DistanceWidth;var dataWidth=this.DataWidth;var maxDataCount=10000*10;if(isLimit==false){if(y<left){var index=-1;var xPoint=left-(distanceWidth/2+dataWidth+distanceWidth);while(index>-maxDataCount){if(xPoint<=y)break;xPoint-=dataWidth+distanceWidth;--index;}return index;}else{var index=0;var xPoint=left+distanceWidth/2+dataWidth+distanceWidth;while(index<maxDataCount)//自己算x的数值
|
|
2545
2545
|
{if(xPoint>=y)break;xPoint+=dataWidth+distanceWidth;++index;}return index;}}else{if(y<=border.TopEx)return 0;if(y>=border.BottomEx)return this.XPointCount-1;var index=0;var xPoint=left+distanceWidth/2+dataWidth+distanceWidth;while(xPoint<right&&index<maxDataCount&&index+1<this.XPointCount)//自己算x的数值
|
|
2546
2546
|
{if(xPoint>y)break;xPoint+=dataWidth+distanceWidth;++index;}return index;}//return (y-this.ChartBorder.GetTop())*(this.XPointCount*1.0/this.ChartBorder.GetHeight());
|
|
2547
2547
|
};this.DrawBottons=function(){};//计算数据宽度
|
|
@@ -4342,7 +4342,7 @@ var aryText=[];var result={AryText:aryText};var text,title,color;text=IFrameSpli
|
|
|
4342
4342
|
{title=g_JSChartLocalization.GetText('Tooltip-High',this.LanguageID);color=this.KLineTitlePaint.GetColor(item.High,item.YClose);text=item.High.toFixed(defaultfloatPrecision);aryText.push({Title:title,TitleColor:this.TitleColor,Text:text,Color:color});}if(IFrameSplitOperator.IsNumber(item.Low))//低
|
|
4343
4343
|
{title=g_JSChartLocalization.GetText('Tooltip-Low',this.LanguageID);color=this.KLineTitlePaint.GetColor(item.Low,item.YClose);text=item.Low.toFixed(defaultfloatPrecision);aryText.push({Title:title,TitleColor:this.TitleColor,Text:text,Color:color});}if(IFrameSplitOperator.IsNumber(item.Close))//收
|
|
4344
4344
|
{title=g_JSChartLocalization.GetText('Tooltip-Close',this.LanguageID);color=this.KLineTitlePaint.GetColor(item.Close,item.YClose);text=item.Close.toFixed(defaultfloatPrecision);aryText.push({Title:title,TitleColor:this.TitleColor,Text:text,Color:color});}//涨幅
|
|
4345
|
-
title=g_JSChartLocalization.GetText('Tooltip-Increase',this.LanguageID);if(item.YFClose
|
|
4345
|
+
title=g_JSChartLocalization.GetText('Tooltip-Increase',this.LanguageID);if(IFrameSplitOperator.IsNumber(item.YFClose)&&MARKET_SUFFIX_NAME.IsChinaFutures(upperSymbol)){var value=(item.Close-item.YFClose)/item.YFClose*100;color=this.KLineTitlePaint.GetColor(value,0);text=value.toFixed(2)+'%';}else if(IFrameSplitOperator.IsNumber(item.YClose)){var value=(item.Close-item.YClose)/item.YClose*100;color=this.KLineTitlePaint.GetColor(value,0);text=value.toFixed(2)+'%';}else{text='--.--';color=this.KLineTitlePaint.GetColor(0,0);}aryText.push({Title:title,TitleColor:this.TitleColor,Text:text,Color:color});if(IFrameSplitOperator.IsNumber(item.Vol)){title=g_JSChartLocalization.GetText('Tooltip-Vol',this.LanguageID);var vol=item.Vol;if(upperSymbol&&MARKET_SUFFIX_NAME.IsSHSZ(upperSymbol))vol/=100;//A股统一转成手
|
|
4346
4346
|
text=IFrameSplitOperator.FromatIntegerString(vol,2,this.LanguageID);aryText.push({Title:title,TitleColor:this.TitleColor,Text:text,Color:this.VolColor});}if(IFrameSplitOperator.IsNumber(item.Amount)){title=g_JSChartLocalization.GetText('Tooltip-Amount',this.LanguageID);var text=IFrameSplitOperator.FormatValueString(item.Amount,2,this.LanguageID);aryText.push({Title:title,TitleColor:this.TitleColor,Text:text,Color:this.AmountColor});}//换手率
|
|
4347
4347
|
if(MARKET_SUFFIX_NAME.IsSHSZStockA(this.HQChart.Symbol)&&item.FlowCapital>0){title=g_JSChartLocalization.GetText('Tooltip-Exchange',this.LanguageID);var value=item.Vol/item.FlowCapital*100;var text=value.toFixed(2)+'%';aryText.push({Title:title,TitleColor:this.TitleColor,Text:text,Color:this.TitleColor});}//持仓量
|
|
4348
4348
|
if(MARKET_SUFFIX_NAME.IsFutures(upperSymbol)&&IFrameSplitOperator.IsNumber(item.Position)){title=g_JSChartLocalization.GetText('Tooltip-Position',this.LanguageID);var text=IFrameSplitOperator.FromatIntegerString(item.Position,2,this.LanguageID);aryText.push({Title:title,TitleColor:this.TitleColor,Text:text,Color:this.TitleColor});}return result;};this.DrawTooltipData=function(titleData){if(!titleData||!IFrameSplitOperator.IsNonEmptyArray(titleData.AryText))return;var pixelRatio=GetDevicePixelRatio();var left=this.GetLeft()+2*pixelRatio;var top=this.GetTop()+3*pixelRatio;if(this.IsHScreen){this.Canvas.save();var x=this.GetLeft()+this.Height,y=this.GetTop();this.Canvas.translate(x,y);this.Canvas.rotate(90*Math.PI/180);//x, y 作为原点
|
|
@@ -5363,9 +5363,10 @@ this.Operator=function(){var data=this.Value.Data;if(!data)return false;this.Wid
|
|
|
5363
5363
|
|
|
5364
5364
|
this.Height=this.LineCount*this.LineHeight;
|
|
5365
5365
|
return true;
|
|
5366
|
-
*/};this.GenerateTitleHtml=function(data){var lineCount=0;var strHtml="",text;if(data.Name){text='<span style=\'color:rgb(0,0,0);font:\u5FAE\u8F6F\u96C5\u9ED1;font-size:12px;text-align:center;display: block;\'>'+data.Name+'</span>';strHtml+=text;++lineCount;}if(data.Title){text='<span class=\'tooltip-title\'>'+data.Title+'</span>';strHtml+=text;++lineCount;}if(IFrameSplitOperator.IsNonEmptyArray(data.AryText)){for(var i=0;i<data.AryText.length;++i){var item=data.AryText[i];if(i>0)strHtml+='<br/>';var text='<span class=\'tooltip-con\'>'+item.Title+'</span><span class=\'tooltip-num\' style=\'color:'+item.Color+';\'>'+item.Text+'</span>';strHtml+=text;++lineCount;}}return{Html:strHtml,LineCount:lineCount};};this.GetFormatTitle=function(data){if(!data)return null;var upperSymbol=this.Symbol.toUpperCase();var defaultfloatPrecision=GetfloatPrecision(this.Symbol);//价格小数位数
|
|
5367
|
-
var date=new Date(parseInt(data.Date/10000),data.Date/100%100-1,data.Date%100);var strDate=IFrameSplitOperator.FormatDateString(data.Date);var
|
|
5368
|
-
{
|
|
5366
|
+
*/};this.GenerateTitleHtml=function(data){var lineCount=0;var strHtml="",text;if(data.Name){text='<span style=\'color:rgb(0,0,0);font:\u5FAE\u8F6F\u96C5\u9ED1;font-size:12px;text-align:center;display: block;\'>'+data.Name+'</span>';strHtml+=text;++lineCount;}if(data.Title){if(Array.isArray(data.Title)){for(var i=0;i<data.Title.length;++i){var item=data.Title[i];text='<span class=\'tooltip-title\'>'+item+'</span>';strHtml+=text;++lineCount;}}else{text='<span class=\'tooltip-title\'>'+data.Title+'</span>';strHtml+=text;++lineCount;}}if(IFrameSplitOperator.IsNonEmptyArray(data.AryText)){for(var i=0;i<data.AryText.length;++i){var item=data.AryText[i];if(i>0)strHtml+='<br/>';var text='<span class=\'tooltip-con\'>'+item.Title+'</span><span class=\'tooltip-num\' style=\'color:'+item.Color+';\'>'+item.Text+'</span>';strHtml+=text;++lineCount;}}return{Html:strHtml,LineCount:lineCount};};this.GetFormatTitle=function(data){if(!data)return null;var upperSymbol=this.Symbol.toUpperCase();var defaultfloatPrecision=GetfloatPrecision(this.Symbol);//价格小数位数
|
|
5367
|
+
var date=new Date(parseInt(data.Date/10000),data.Date/100%100-1,data.Date%100);var strDate=IFrameSplitOperator.FormatDateString(data.Date);var title=strDate,value;var isTickPeriod=ChartData.IsTickPeriod(this.Value.ChartPaint.Data.Period);if(ChartData.IsDayPeriod(this.Value.ChartPaint.Data.Period,true))//日线
|
|
5368
|
+
{value=g_JSChartLocalization.GetText(WEEK_NAME[date.getDay()],this.LanguageID);title=strDate+'  '+value;}else if(ChartData.IsMinutePeriod(this.Value.ChartPaint.Data.Period,true))// 分钟周期
|
|
5369
|
+
{value=IFrameSplitOperator.FormatTimeString(data.Time);title=strDate+'  '+value;}else if(ChartData.IsSecondPeriod(this.Value.ChartPaint.Data.Period)||isTickPeriod){value=IFrameSplitOperator.FormatTimeString(data.Time,'HH:MM:SS');title=strDate+'  '+value;}else if(ChartData.IsMilliSecondPeriod(this.Value.ChartPaint.Data.Period)){value=IFrameSplitOperator.FormatTimeString(data.Time,'HH:MM:SS.fff');title=[strDate+'  '+g_JSChartLocalization.GetText(WEEK_NAME[date.getDay()],this.LanguageID),value];}var result={AryText:null,Title:title,Name:null};if(isTickPeriod){var aryText=[{Title:g_JSChartLocalization.GetText('DivTooltip-Price',this.LanguageID),Text:IFrameSplitOperator.IsNumber(data.Open)?data.Open.toFixed(defaultfloatPrecision):'--',Color:this.GetColor(data.Open,data.YClose)}];if(IFrameSplitOperator.IsNumber(data.YClose)){var increase=(data.Close-data.YClose)/data.YClose*100;var item={Title:g_JSChartLocalization.GetText('DivTooltip-Increase',this.LanguageID),Text:increase.toFixed(2)+'%',Color:this.GetColor(increase,0)};aryText.push(item);}result.AryText=aryText;}else if(data.IsNonTrade){}else{var vol=data.Vol;if(upperSymbol&&MARKET_SUFFIX_NAME.IsSHSZ(upperSymbol))vol/=100;//A股统一转成手
|
|
5369
5370
|
var eventUnchangeKLine=null;//定制平盘K线颜色事件
|
|
5370
5371
|
if(this.GetEventCallback)eventUnchangeKLine=this.GetEventCallback(JSCHART_EVENT_ID.ON_CUSTOM_UNCHANGE_KLINE_TITLE_COLOR);var aryText=[{Title:g_JSChartLocalization.GetText('DivTooltip-Open',this.LanguageID),Text:IFrameSplitOperator.IsNumber(data.Open)?data.Open.toFixed(defaultfloatPrecision):'--',Color:this.GetPriceColor("DivTooltip-Open",data.Open,data.YClose,data,eventUnchangeKLine)},{Title:g_JSChartLocalization.GetText('DivTooltip-High',this.LanguageID),Text:IFrameSplitOperator.IsNumber(data.High)?data.High.toFixed(defaultfloatPrecision):'--',Color:this.GetPriceColor("DivTooltip-High",data.High,data.YClose,data,eventUnchangeKLine)},{Title:g_JSChartLocalization.GetText('DivTooltip-Low',this.LanguageID),Text:IFrameSplitOperator.IsNumber(data.Low)?data.Low.toFixed(defaultfloatPrecision):'--',Color:this.GetPriceColor('DivTooltip-Low',data.Low,data.YClose,data,eventUnchangeKLine)},{Title:g_JSChartLocalization.GetText('DivTooltip-Close',this.LanguageID),Text:IFrameSplitOperator.IsNumber(data.Close)?data.Close.toFixed(defaultfloatPrecision):'--',Color:this.GetPriceColor('DivTooltip-Close',data.Close,data.YClose,data,eventUnchangeKLine)},{Title:g_JSChartLocalization.GetText('DivTooltip-Vol',this.LanguageID),Text:IFrameSplitOperator.IsNumber(vol)?IFrameSplitOperator.FormatValueString(vol,2,this.LanguageID):'--',Color:this.VolColor},{Title:g_JSChartLocalization.GetText('DivTooltip-Amount',this.LanguageID),Text:IFrameSplitOperator.IsNumber(data.Amount)?IFrameSplitOperator.FormatValueString(data.Amount,2,this.LanguageID):'--',Color:this.AmountColor}];if(IFrameSplitOperator.IsNumber(data.YClose)){var increase=(data.Close-data.YClose)/data.YClose*100;var item={Title:g_JSChartLocalization.GetText('DivTooltip-Increase',this.LanguageID),Text:increase.toFixed(2)+'%',Color:this.GetColor(increase,0)};aryText.push(item);}if(MARKET_SUFFIX_NAME.IsSHSZStockA(this.Symbol)&&data.FlowCapital>0)//换手率
|
|
5371
5372
|
{var value=data.Vol/data.FlowCapital*100;var item={Title:g_JSChartLocalization.GetText('DivTooltip-Exchange',this.LanguageID),Text:value.toFixed(2)+'%',Color:this.TurnoverRateColor};aryText.push(item);}if(MARKET_SUFFIX_NAME.IsFutures(upperSymbol)&&IFrameSplitOperator.IsNumber(data.Position)){var item={Title:g_JSChartLocalization.GetText('DivTooltip-Position',this.LanguageID),Text:''+data.Position,Color:this.PositionColor};}//叠加股票
|
|
@@ -11724,7 +11725,7 @@ IndexTitleColor:"rgb(190, 190 ,190)",//指标名字颜色
|
|
|
11724
11725
|
IndexTitleBGColor:'rgb(0,0,0)',//指标名字背景色
|
|
11725
11726
|
IndexTitleBorderColor:'rgb(211, 211, 211)',//指标名字边框颜色
|
|
11726
11727
|
IndexTitleBorderMoveOnColor:'rgb(30,144,255)',//指标名字边框颜色(鼠标在上面)
|
|
11727
|
-
UpTextColor:"rgb(238,21,21)",DownTextColor:"rgb(25,158,0)",UnchagneTextColor:"rgb(190, 190 ,190)",CloseLineColor:'rgb(
|
|
11728
|
+
UpTextColor:"rgb(238,21,21)",DownTextColor:"rgb(25,158,0)",UnchagneTextColor:"rgb(190, 190 ,190)",CloseLineColor:'rgb(250,250,250)',Title:{TradeIndexColor:'rgb(105,105,105)',//交易指标颜色
|
|
11728
11729
|
ColorIndexColor:'rgb(112,128,144)',//五彩K线颜色
|
|
11729
11730
|
VolColor:"rgb(190, 190 ,190)",//标题成交量
|
|
11730
11731
|
AmountColor:"rgb(190, 190 ,190)",//成交金额
|
|
@@ -12657,7 +12658,7 @@ function HQChartScriptWorker(){this.Create=function(){var _this60=this;addEventL
|
|
|
12657
12658
|
hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,Stock:{Symbol:message.Symbol},Request:{MaxDataCount:500,MaxMinuteDayCount:5},Period:message.Period,Right:message.Right,Data:hisData};if(IFrameSplitOperator.IsNumber(message.HQDataType))stockObj.HQDataType=message.HQDataType;indexConsole.ExecuteScript(stockObj);};this.OnRecvMessage=function(message){var data=message.data;if(!data)return;if(data.ID==JSCHART_WORKER_MESSAGE_ID.EXECUTE_SCRIPT){if(!IFrameSplitOperator.IsNonEmptyArray(data.AryIndex))return;for(var i=0;i<data.AryIndex.length;++i){var item=data.AryIndex[i];this.ExecuteScript(item,data);}}};this.OnExecuteFinish=function(data,indexInfo,jsExectute){var message={Data:data,IndexInfo:indexInfo,ID:JSCHART_WORKER_MESSAGE_ID.FINISH_EXECUTE_SCRIPT};postMessage(message);};this.OnExecuteError=function(error,indexInfo){var message={IndexInfo:indexInfo,ID:JSCHART_WORKER_MESSAGE_ID.ERROR_EXECUTE_SCRIPT,Error:error};postMessage(message);};}/********************************************************************************
|
|
12658
12659
|
* 版本信息输出
|
|
12659
12660
|
*
|
|
12660
|
-
*/var HQCHART_VERSION="1.1.
|
|
12661
|
+
*/var HQCHART_VERSION="1.1.12573";function PrintHQChartVersion(){var log='*************************************************************************************************************\n*\n* HQChart Ver: '+HQCHART_VERSION+' \n* \n* License: Apache License 2.0 \n* Source: https://github.com/jones2000/HQChart\n*\n*************************************************************************************************************\n';console.log(log);}PrintHQChartVersion();//把给外界调用的方法暴露出来
|
|
12661
12662
|
exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
|
|
12662
12663
|
// BaseIndex:BaseIndex,
|
|
12663
12664
|
// ChartLine:ChartLine,
|
package/package.json
CHANGED
package/src/jscommon/umychart.js
CHANGED
|
@@ -13563,14 +13563,14 @@ function KLineFrame()
|
|
|
13563
13563
|
var distanceWidth=this.DistanceWidth;
|
|
13564
13564
|
var dataWidth=this.DataWidth;
|
|
13565
13565
|
var left=this.ChartBorder.GetLeft()+g_JSChartResource.FrameLeftMargin;
|
|
13566
|
-
|
|
13566
|
+
var maxDataCount=10000*50;
|
|
13567
13567
|
if (isLimit==false)
|
|
13568
13568
|
{
|
|
13569
13569
|
if (x<this.ChartBorder.GetLeft())
|
|
13570
13570
|
{
|
|
13571
13571
|
var index=-1;
|
|
13572
13572
|
var xPoint=this.ChartBorder.GetLeft()-(distanceWidth/2+dataWidth+distanceWidth);
|
|
13573
|
-
while(index>-
|
|
13573
|
+
while(index>-maxDataCount)
|
|
13574
13574
|
{
|
|
13575
13575
|
if (xPoint<=x)
|
|
13576
13576
|
break;
|
|
@@ -13584,7 +13584,7 @@ function KLineFrame()
|
|
|
13584
13584
|
{
|
|
13585
13585
|
var index=0;
|
|
13586
13586
|
var xPoint=left+distanceWidth/2+dataWidth+distanceWidth;
|
|
13587
|
-
while(index<
|
|
13587
|
+
while(index<maxDataCount) //自己算x的数值
|
|
13588
13588
|
{
|
|
13589
13589
|
if (xPoint>=x) break;
|
|
13590
13590
|
xPoint+=(dataWidth+distanceWidth);
|
|
@@ -13602,7 +13602,7 @@ function KLineFrame()
|
|
|
13602
13602
|
var right=this.ChartBorder.GetRight()-g_JSChartResource.FrameRightMargin;
|
|
13603
13603
|
var index=0;
|
|
13604
13604
|
var xPoint=left+distanceWidth/2+dataWidth+distanceWidth;
|
|
13605
|
-
while(xPoint<right && index<
|
|
13605
|
+
while(xPoint<right && index<maxDataCount && index+1<this.XPointCount) //自己算x的数值
|
|
13606
13606
|
{
|
|
13607
13607
|
if (xPoint>=x) break;
|
|
13608
13608
|
xPoint+=(dataWidth+distanceWidth);
|
|
@@ -15410,7 +15410,7 @@ function KLineHScreenFrame()
|
|
|
15410
15410
|
var right=border.BottomEx;
|
|
15411
15411
|
var distanceWidth=this.DistanceWidth;
|
|
15412
15412
|
var dataWidth=this.DataWidth;
|
|
15413
|
-
var maxDataCount=10000*
|
|
15413
|
+
var maxDataCount=10000*10;
|
|
15414
15414
|
if (isLimit==false)
|
|
15415
15415
|
{
|
|
15416
15416
|
if (y<left)
|
|
@@ -37839,13 +37839,13 @@ function KLineTooltipPaint()
|
|
|
37839
37839
|
|
|
37840
37840
|
//涨幅
|
|
37841
37841
|
title=g_JSChartLocalization.GetText('Tooltip-Increase',this.LanguageID);
|
|
37842
|
-
if (item.YFClose
|
|
37842
|
+
if (IFrameSplitOperator.IsNumber(item.YFClose) && MARKET_SUFFIX_NAME.IsChinaFutures(upperSymbol))
|
|
37843
37843
|
{
|
|
37844
37844
|
var value=(item.Close-item.YFClose)/item.YFClose*100;
|
|
37845
37845
|
color = this.KLineTitlePaint.GetColor(value, 0);
|
|
37846
37846
|
text = value.toFixed(2)+'%';
|
|
37847
37847
|
}
|
|
37848
|
-
else if (item.YClose
|
|
37848
|
+
else if (IFrameSplitOperator.IsNumber(item.YClose))
|
|
37849
37849
|
{
|
|
37850
37850
|
var value=(item.Close-item.YClose)/item.YClose*100;
|
|
37851
37851
|
color = this.KLineTitlePaint.GetColor(value, 0);
|
|
@@ -47424,9 +47424,22 @@ function HistoryDataStringFormat()
|
|
|
47424
47424
|
|
|
47425
47425
|
if (data.Title)
|
|
47426
47426
|
{
|
|
47427
|
-
|
|
47428
|
-
|
|
47429
|
-
|
|
47427
|
+
if (Array.isArray(data.Title))
|
|
47428
|
+
{
|
|
47429
|
+
for(var i=0;i<data.Title.length;++i)
|
|
47430
|
+
{
|
|
47431
|
+
var item=data.Title[i];
|
|
47432
|
+
text=`<span class='tooltip-title'>${item}</span>`;
|
|
47433
|
+
strHtml+=text;
|
|
47434
|
+
++lineCount;
|
|
47435
|
+
}
|
|
47436
|
+
}
|
|
47437
|
+
else
|
|
47438
|
+
{
|
|
47439
|
+
text=`<span class='tooltip-title'>${data.Title}</span>`;
|
|
47440
|
+
strHtml+=text;
|
|
47441
|
+
++lineCount;
|
|
47442
|
+
}
|
|
47430
47443
|
}
|
|
47431
47444
|
|
|
47432
47445
|
if (IFrameSplitOperator.IsNonEmptyArray(data.AryText))
|
|
@@ -47453,22 +47466,36 @@ function HistoryDataStringFormat()
|
|
|
47453
47466
|
var date=new Date(parseInt(data.Date/10000),(data.Date/100%100-1),data.Date%100);
|
|
47454
47467
|
var strDate=IFrameSplitOperator.FormatDateString(data.Date);
|
|
47455
47468
|
|
|
47456
|
-
var
|
|
47469
|
+
var title=strDate,value;
|
|
47457
47470
|
var isTickPeriod=ChartData.IsTickPeriod(this.Value.ChartPaint.Data.Period);
|
|
47458
|
-
if (ChartData.
|
|
47471
|
+
if (ChartData.IsDayPeriod(this.Value.ChartPaint.Data.Period,true)) //日线
|
|
47459
47472
|
{
|
|
47460
|
-
|
|
47473
|
+
value=g_JSChartLocalization.GetText(WEEK_NAME[date.getDay()],this.LanguageID);
|
|
47474
|
+
title=`${strDate}  ${value}`;
|
|
47475
|
+
}
|
|
47476
|
+
else if (ChartData.IsMinutePeriod(this.Value.ChartPaint.Data.Period,true)) // 分钟周期
|
|
47477
|
+
{
|
|
47478
|
+
value=IFrameSplitOperator.FormatTimeString(data.Time);
|
|
47479
|
+
title=`${strDate}  ${value}`;
|
|
47461
47480
|
}
|
|
47462
47481
|
else if (ChartData.IsSecondPeriod(this.Value.ChartPaint.Data.Period) || isTickPeriod)
|
|
47463
47482
|
{
|
|
47464
|
-
|
|
47483
|
+
value=IFrameSplitOperator.FormatTimeString(data.Time,'HH:MM:SS');
|
|
47484
|
+
title=`${strDate}  ${value}`;
|
|
47465
47485
|
}
|
|
47466
47486
|
else if (ChartData.IsMilliSecondPeriod(this.Value.ChartPaint.Data.Period))
|
|
47467
47487
|
{
|
|
47468
|
-
|
|
47488
|
+
value=IFrameSplitOperator.FormatTimeString(data.Time,'HH:MM:SS.fff');
|
|
47489
|
+
title=
|
|
47490
|
+
[
|
|
47491
|
+
`${strDate}  ${g_JSChartLocalization.GetText(WEEK_NAME[date.getDay()],this.LanguageID)}`,
|
|
47492
|
+
value
|
|
47493
|
+
];
|
|
47469
47494
|
}
|
|
47470
47495
|
|
|
47471
|
-
var result={ AryText:null, Title
|
|
47496
|
+
var result={ AryText:null, Title:title, Name:null };
|
|
47497
|
+
|
|
47498
|
+
|
|
47472
47499
|
if (isTickPeriod)
|
|
47473
47500
|
{
|
|
47474
47501
|
var aryText=
|