hqchart 1.1.14336 → 1.1.14340

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.
@@ -3841,8 +3841,7 @@ if(isHScreen){this.Canvas.moveTo(yHigh,ToFixedPoint(x));this.Canvas.lineTo(yLow,
3841
3841
  if(isHScreen){this.Canvas.moveTo(ToFixedPoint(yOpen),left);this.Canvas.lineTo(ToFixedPoint(yOpen),x);}else{this.Canvas.moveTo(left,ToFixedPoint(yOpen));this.Canvas.lineTo(x,ToFixedPoint(yOpen));}this.Canvas.stroke();this.Canvas.beginPath();//收盘
3842
3842
  if(isHScreen){this.Canvas.moveTo(ToFixedPoint(yClose),right);this.Canvas.lineTo(ToFixedPoint(yClose),x);}else{this.Canvas.moveTo(right,ToFixedPoint(yClose));this.Canvas.lineTo(x,ToFixedPoint(yClose));}this.Canvas.stroke();}}};this.DrawCloseLine=function(firstOpen)//收盘价线
3843
3843
  {var isHScreen=this.ChartFrame.IsHScreen===true;var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var xOffset=this.ChartBorder.GetLeft()+distanceWidth/2.0+2.0;if(isHScreen)xOffset=this.ChartBorder.GetTop()+distanceWidth/2.0+2.0;var chartright=this.ChartBorder.GetRight();if(isHScreen)chartright=this.ChartBorder.GetBottom();var xPointCount=this.ChartFrame.XPointCount;var firstOverlayOpen=null;var bFirstPoint=true;this.Canvas.strokeStyle=this.Color;if(IFrameSplitOperator.IsNumber(this.CloseLineWidth))this.Canvas.lineWidth=this.CloseLineWidth;this.ShowRange.Start=this.Data.DataOffset;this.ShowRange.End=this.ShowRange.Start;this.ShowRange.DataCount=0;this.ShowRange.ShowCount=xPointCount;this.ShowRange.FirstOpen=firstOpen;this.DrawKRange.Start=this.Data.DataOffset;this.Canvas.beginPath();for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j,xOffset+=dataWidth+distanceWidth,++this.ShowRange.DataCount){var data=this.Data.Data[i];if(data.Open==null||data.High==null||data.Low==null||data.Close==null)continue;if(firstOverlayOpen==null){firstOverlayOpen=data.Open;this.ShowRange.FirstOverlayOpen=data.Open;}var left=xOffset;var right=xOffset+dataWidth;if(right>chartright)break;var x=left+(right-left)/2;var yClose=this.GetYFromData(data.Close/firstOverlayOpen*firstOpen,false);this.DrawKRange.End=i;if(bFirstPoint){if(isHScreen)this.Canvas.moveTo(yClose,x);else this.Canvas.moveTo(x,yClose);bFirstPoint=false;}else{if(isHScreen)this.Canvas.lineTo(yClose,x);else this.Canvas.lineTo(x,yClose);}}if(bFirstPoint==false)this.Canvas.stroke();};this.GetFirstOpen=function(){if(!this.MainData||!this.Data)return null;var xPointCount=this.ChartFrame.XPointCount;for(var i=this.Data.DataOffset,j=0;i<this.MainData.Data.length&&j<xPointCount;++i,++j){var data=this.MainData.Data[i];if(data.Open==null||data.High==null||data.Low==null||data.Close==null)continue;return data.Open;}return null;};this.Draw=function(){this.TooltipRect=[];this.InfoTooltipRect=[];this.DrawKRange={Start:null,End:null};if(!this.MainData||!this.Data)return;var xPointCount=this.ChartFrame.XPointCount;var firstOpen=this.GetFirstOpen();//主线数据第1个开盘价
3844
- if(firstOpen==null)return;var drawType=this.DrawType;if(this.CustomDrawType!=null)drawType=this.CustomDrawType;this.Canvas.save();this.ClipClient(this.ChartFrame.IsHScreen);if(drawType==1)this.DrawCloseLine(firstOpen);else if(drawType==2)this.DrawAKLine(firstOpen);else this.DrawKBar(firstOpen);this.Canvas.restore();};this.GetMaxMin=function(){var xPointCount=this.ChartFrame.XPointCount;var range={};range.Max=null;range.Min=null;if(!this.MainData||!this.Data)return range;var firstOpen=null;//主线数据第1个收盘价
3845
- for(var i=this.Data.DataOffset,j=0;i<this.MainData.Data.length&&j<xPointCount;++i,++j){var data=this.MainData.Data[i];if(data.Open==null||data.High==null||data.Low==null||data.Close==null)continue;firstOpen=data.Close;break;}if(firstOpen==null)return range;var firstOverlayOpen=null;var high,low;for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j){var data=this.Data.Data[i];if(!data||data.Open==null||data.High==null||data.Low==null||data.Close==null)continue;if(firstOverlayOpen==null)firstOverlayOpen=data.Open;high=data.High/firstOverlayOpen*firstOpen;low=data.Low/firstOverlayOpen*firstOpen;if(range.Max==null)range.Max=high;if(range.Min==null)range.Min=low;if(range.Max<high)range.Max=high;if(range.Min>low)range.Min=low;}return range;};this.GetTooltipData=function(x,y,tooltip){for(var i in this.TooltipRect){var rect=this.TooltipRect[i][1];this.Canvas.beginPath();this.Canvas.rect(rect.X,rect.Y,rect.Width,rect.Height);if(this.Canvas.isPointInPath(x,y)){var index=this.TooltipRect[i][0];tooltip.Data=this.Data.Data[index];tooltip.ChartPaint=this;return true;}}return false;};this.PtInChart=function(x,y){var drawType=this.DrawType;if(IFrameSplitOperator.IsNumber(this.CustomDrawType))drawType=this.CustomDrawType;if(drawType==1||drawType==4)//线段,面积不支持选中
3844
+ if(firstOpen==null)return;var drawType=this.DrawType;if(this.CustomDrawType!=null)drawType=this.CustomDrawType;this.Canvas.save();this.ClipClient(this.ChartFrame.IsHScreen);if(drawType==1)this.DrawCloseLine(firstOpen);else if(drawType==2)this.DrawAKLine(firstOpen);else this.DrawKBar(firstOpen);this.Canvas.restore();};this.GetMaxMin=function(){var xPointCount=this.ChartFrame.XPointCount;var range={};range.Max=null;range.Min=null;if(!this.MainData||!this.Data)return range;var firstOpen=this.GetFirstOpen();if(firstOpen==null)return range;var firstOverlayOpen=null;var high,low;for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j){var data=this.Data.Data[i];if(!data||data.Open==null||data.High==null||data.Low==null||data.Close==null)continue;if(firstOverlayOpen==null)firstOverlayOpen=data.Open;high=data.High/firstOverlayOpen*firstOpen;low=data.Low/firstOverlayOpen*firstOpen;if(range.Max==null)range.Max=high;if(range.Min==null)range.Min=low;if(range.Max<high)range.Max=high;if(range.Min>low)range.Min=low;}return range;};this.GetTooltipData=function(x,y,tooltip){for(var i in this.TooltipRect){var rect=this.TooltipRect[i][1];this.Canvas.beginPath();this.Canvas.rect(rect.X,rect.Y,rect.Width,rect.Height);if(this.Canvas.isPointInPath(x,y)){var index=this.TooltipRect[i][0];tooltip.Data=this.Data.Data[index];tooltip.ChartPaint=this;return true;}}return false;};this.PtInChart=function(x,y){var drawType=this.DrawType;if(IFrameSplitOperator.IsNumber(this.CustomDrawType))drawType=this.CustomDrawType;if(drawType==1||drawType==4)//线段,面积不支持选中
3846
3845
  {return null;//return this.PtInLine(x,y, {KLineClose:true});
3847
3846
  }return this.PtInKBar(x,y,{OverlayKLine:true});};this.DrawSelectedStatus=function(){this.DrawLinePoint({OverlayKLine:true});};}//K线表格
3848
3847
  function ChartKLineTable(){this.newMethod=IChartPainting;//派生
@@ -4360,13 +4359,13 @@ if(arrow.End.length==2&&this.Arrow.End==true)this.DrawArrow(arrow.End[0],arrow.E
4360
4359
  var theta=this.ArrawAngle;//三角斜边一直线夹角
4361
4360
  var headlen=this.ArrawLength;//三角斜边长度
4362
4361
  var angle=Math.atan2(ptStart.Y-ptEnd.Y,ptStart.X-ptEnd.X)*180/Math.PI,angle1=(angle+theta)*Math.PI/180,angle2=(angle-theta)*Math.PI/180,topX=headlen*Math.cos(angle1),topY=headlen*Math.sin(angle1),botX=headlen*Math.cos(angle2),botY=headlen*Math.sin(angle2);this.Canvas.beginPath();var arrowX=ptEnd.X+topX;var arrowY=ptEnd.Y+topY;this.Canvas.moveTo(arrowX,arrowY);this.Canvas.lineTo(ptEnd.X,ptEnd.Y);arrowX=ptEnd.X+botX;arrowY=ptEnd.Y+botY;this.Canvas.lineTo(arrowX,arrowY);this.Canvas.setLineDash([]);this.Canvas.lineWidth=this.ArrawLineWidth*GetDevicePixelRatio();this.Canvas.stroke();};this.GetMaxMin=function(){if(this.IsFullRangeMaxMin)return this.GetFullRangeMaxMin();var range={Min:null,Max:null};var xPointCount=this.ChartFrame.XPointCount;var start=this.Data.DataOffset;var end=start+xPointCount;for(var i in this.Lines){var line=this.Lines[i];for(var j in line.Point){var point=line.Point[j];if(point.Index>=start&&point.Index<end){if(range.Max==null)range.Max=point.Value;else if(range.Max<point.Value)range.Max=point.Value;if(range.Min==null)range.Min=point.Value;else if(range.Min>point.Value)range.Min=point.Value;}}}return range;};//全部数据的最大最小值
4363
- this.GetFullRangeMaxMin=function(){var range={Min:null,Max:null};if(!IFrameSplitOperator.IsNonEmptyArray(this.Lines))return range;for(var i=0;i<this.Lines.length;++i){var line=this.Lines[i];if(!IFrameSplitOperator.IsNonEmptyArray(line.Point))continue;for(var j=0;j<line.Point.length;++j){var point=line.Point[j];if(range.Max==null)range.Max=point.Value;else if(range.Max<point.Value)range.Max=point.Value;if(range.Min==null)range.Min=point.Value;else if(range.Min>point.Value)range.Min=point.Value;}}return range;};}// 线段集合 支持横屏
4362
+ this.GetFullRangeMaxMin=function(){var range={Min:null,Max:null};if(!IFrameSplitOperator.IsNonEmptyArray(this.Lines))return range;for(var i=0;i<this.Lines.length;++i){var line=this.Lines[i];if(!IFrameSplitOperator.IsNonEmptyArray(line.Point))continue;for(var j=0;j<line.Point.length;++j){var point=line.Point[j];if(range.Max==null)range.Max=point.Value;else if(range.Max<point.Value)range.Max=point.Value;if(range.Min==null)range.Min=point.Value;else if(range.Min>point.Value)range.Min=point.Value;}}return range;};}// 多个点集合 支持横屏
4364
4363
  function ChartMultiPoint(){this.newMethod=IChartPainting;//派生
4365
4364
  this.newMethod();delete this.newMethod;this.ClassName="ChartMultiPoint";this.PointGroup=[];// [ {Point:[ {Date, Time, Value }, ], Color: }, ]
4366
4365
  this.IsHScreen=false;this.LineWidth=1;this.PointRadius=5;this.MapCache=null;//key=date/date-time value={ Data:[] }
4367
4366
  this.GetKValue=ChartData.GetKValue;this.BuildKey=function(item){if(IFrameSplitOperator.IsNumber(item.Time))return item.Date+'-'+item.Time;else return item.Date;};this.GetItem=function(kItem){if(!this.MapCache||this.MapCache.size<=0)return null;var key=this.BuildKey(kItem);if(!this.MapCache.has(key))return null;return this.MapCache.get(key);};this.BuildCacheData=function(){var mapData=new _map2.default();this.MapCache=mapData;if(!IFrameSplitOperator.IsNonEmptyArray(this.PointGroup))return;for(var i=0;i<this.PointGroup.length;++i){var groupItem=this.PointGroup[i];if(!groupItem||!IFrameSplitOperator.IsNonEmptyArray(groupItem.Point))continue;var clrConfig={Color:groupItem.Color,BGColor:groupItem.BGColor,LineWidth:this.LineWidth,Radius:this.PointRadius,Name:groupItem.Name};if(IFrameSplitOperator.IsNumber(groupItem.PointRadius))clrConfig.Radius=groupItem.PointRadius;for(var j=0;j<groupItem.Point.length;++j){var point=groupItem.Point[j];var key=this.BuildKey(point);var item={Data:point,ColorConfig:clrConfig};if(mapData.has(key)){var mapItem=mapData.get(key);mapItem.Data.push(item);}else{mapData.set(key,{Data:[item]});}}}};this.Draw=function(){if(!this.IsShow||this.ChartFrame.IsMinSize||!this.IsVisible)return;if(this.IsShowIndexTitleOnly())return;if(this.IsHideScriptIndex())return;if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return;//k线数据
4368
4367
  if(!IFrameSplitOperator.IsNonEmptyArray(this.PointGroup))return;if(!this.MapCache||this.MapCache.size<=0)return;this.IsHScreen=this.ChartFrame.IsHScreen===true;var xPointCount=this.ChartFrame.XPointCount;var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var isMinute=this.IsMinuteFrame();var border=this.GetBorder();if(this.IsHScreen){var xOffset=border.TopEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;var chartright=border.BottomEx;var chartLeft=border.TopEx;}else{var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;var chartright=border.RightEx;var chartLeft=border.LeftEx;}//计算所有的点位置
4369
- var mapPoint=new _map2.default();for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j,xOffset+=dataWidth+distanceWidth){var kItem=this.Data.Data[i];var key=this.BuildKey(kItem);if(!this.MapCache.has(key))continue;var mapItem=this.MapCache.get(key);if(!IFrameSplitOperator.IsNonEmptyArray(mapItem.Data))continue;if(isMinute){var x=this.ChartFrame.GetXFromIndex(j);}else{var left=xOffset;var right=xOffset+dataWidth;if(right>chartright)break;var x=left+(right-left)/2;}this.CalculateItem(mapItem,kItem,x,mapPoint);}if(mapPoint.size<=0)return;this.Canvas.save();this.ClipClient(this.IsHScreen);this.DrawAllPoint(mapPoint);this.Canvas.restore();};this.CalculateItem=function(groupItem,kItem,x,mapPoint){for(var i=0;i<groupItem.Data.length;++i){var item=groupItem.Data[i];var value=item.Data.Value;if(IFrameSplitOperator.IsString(item.Data.Value))value=this.GetKValue(kItem,item.Data.Value);if(!IFrameSplitOperator.IsNumber(value))continue;var y=this.ChartFrame.GetYFromData(value,false);var strConfig=(0,_stringify2.default)(item.ColorConfig);if(!mapPoint.has(strConfig))mapPoint.set(strConfig,{AryPoint:[]});var mapItem=mapPoint.get(strConfig);mapItem.AryPoint.push({X:x,Y:y,Data:item});}};this.DrawAllPoint=function(mapPoint){var pixelRatio=GetDevicePixelRatio();var _iteratorNormalCompletion7=true;var _didIteratorError7=false;var _iteratorError7=undefined;try{for(var _iterator7=(0,_getIterator3.default)(mapPoint),_step7;!(_iteratorNormalCompletion7=(_step7=_iterator7.next()).done);_iteratorNormalCompletion7=true){var mapItem=_step7.value;var aryPoint=mapItem[1].AryPoint;if(!IFrameSplitOperator.IsNonEmptyArray(aryPoint))continue;var config=null;var path=new Path2D();var count=0;for(var i=0;i<aryPoint.length;++i){var item=aryPoint[i];if(!config)config=item.Data.ColorConfig;var pointPath=new Path2D();if(this.IsHScreen)pointPath.arc(item.Y,item.X,config.Radius*pixelRatio,0,360,false);else pointPath.arc(item.X,item.Y,config.Radius**pixelRatio,0,360,false);path.addPath(pointPath);++count;}if(count>0&&config){if(config.BGColor){this.Canvas.fillStyle=config.BGColor;//背景填充颜色
4368
+ var mapPoint=new _map2.default();for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j,xOffset+=dataWidth+distanceWidth){var kItem=this.Data.Data[i];var key=this.BuildKey(kItem);if(!this.MapCache.has(key))continue;var mapItem=this.MapCache.get(key);if(!IFrameSplitOperator.IsNonEmptyArray(mapItem.Data))continue;if(isMinute){var x=this.ChartFrame.GetXFromIndex(j);}else{var left=xOffset;var right=xOffset+dataWidth;if(right>chartright)break;var x=left+(right-left)/2;}this.CalculateItem(mapItem,kItem,x,mapPoint);}if(mapPoint.size<=0)return;this.Canvas.save();this.ClipClient(this.IsHScreen);this.DrawAllPoint(mapPoint);this.Canvas.restore();};this.CalculateItem=function(groupItem,kItem,x,mapPoint){for(var i=0;i<groupItem.Data.length;++i){var item=groupItem.Data[i];var value=item.Data.Value;if(IFrameSplitOperator.IsString(item.Data.Value))value=this.GetKValue(kItem,item.Data.Value);if(!IFrameSplitOperator.IsNumber(value))continue;var y=this.ChartFrame.GetYFromData(value,false);var strConfig=(0,_stringify2.default)(item.ColorConfig);if(!mapPoint.has(strConfig))mapPoint.set(strConfig,{AryPoint:[]});var mapItem=mapPoint.get(strConfig);mapItem.AryPoint.push({X:x,Y:y,Data:item});}};this.DrawAllPoint=function(mapPoint){var pixelRatio=GetDevicePixelRatio();var _iteratorNormalCompletion7=true;var _didIteratorError7=false;var _iteratorError7=undefined;try{for(var _iterator7=(0,_getIterator3.default)(mapPoint),_step7;!(_iteratorNormalCompletion7=(_step7=_iterator7.next()).done);_iteratorNormalCompletion7=true){var mapItem=_step7.value;var aryPoint=mapItem[1].AryPoint;if(!IFrameSplitOperator.IsNonEmptyArray(aryPoint))continue;var config=null;var path=new Path2D();var count=0;for(var i=0;i<aryPoint.length;++i){var item=aryPoint[i];if(!config)config=item.Data.ColorConfig;var pointPath=new Path2D();if(this.IsHScreen)pointPath.arc(item.Y,item.X,config.Radius*pixelRatio,0,360,false);else pointPath.arc(item.X,item.Y,config.Radius*pixelRatio,0,360,false);path.addPath(pointPath);++count;}if(count>0&&config){if(config.BGColor){this.Canvas.fillStyle=config.BGColor;//背景填充颜色
4370
4369
  this.Canvas.fill(path);}if(config.Color){this.Canvas.lineWidth=config.LineWidth*pixelRatio;this.Canvas.strokeStyle=config.Color;this.Canvas.stroke(path);}}}}catch(err){_didIteratorError7=true;_iteratorError7=err;}finally{try{if(!_iteratorNormalCompletion7&&_iterator7.return){_iterator7.return();}}finally{if(_didIteratorError7){throw _iteratorError7;}}}};this.GetMaxMin=function(){var range={Min:null,Max:null};if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return range;if(!this.MapCache||this.MapCache.size<=0)return;var xPointCount=this.ChartFrame.XPointCount;for(var i=this.Data.DataOffset,j=0,k=0;i<this.Data.Data.length&&j<xPointCount;++i,++j){var kItem=this.Data.Data[i];var key=this.BuildKey(kItem);if(!this.MapCache.has(key))continue;var mapItem=this.MapCache.get(key);if(!IFrameSplitOperator.IsNonEmptyArray(mapItem.Data))continue;for(k=0;k<mapItem.Data.length;++k){var item=mapItem.Data[k];var value=item.Data.Value;if(IFrameSplitOperator.IsString(item.Data.Value))value=this.GetKValue(kItem,item.Data.Value);if(!IFrameSplitOperator.IsNumber(value))continue;if(range.Max==null)range.Max=value;else if(range.Max<value)range.Max=value;if(range.Min==null)range.Min=value;else if(range.Min>value)range.Min=value;}}return range;};}// 多文本集合 支持横屏
4371
4370
  function ChartMultiText(){this.newMethod=IChartPainting;//派生
4372
4371
  this.newMethod();delete this.newMethod;this.ClassName="ChartMultiText";this.Texts=[];//[ {Index:, Value:, Text:, Color:, Font: , Baseline:, Line:{ Color:, Dash:[虚线点], KData:"H/L", Offset:[5,10], Width:线粗细 }} ]
@@ -14285,7 +14284,7 @@ hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,St
14285
14284
  this.ExecuteScript(item,data);}this.Status=0;}};this.OnExecuteFinish=function(data,indexInfo,jsExectute,jobInfo){var message={Data:data,IndexInfo:indexInfo,ID:JSCHART_WORKER_MESSAGE_ID.FINISH_EXECUTE_SCRIPT,JobInfo:jobInfo};postMessage(message);};this.OnExecuteError=function(error,indexInfo,jobData){var message={IndexInfo:indexInfo,ID:JSCHART_WORKER_MESSAGE_ID.ERROR_EXECUTE_SCRIPT,Error:error};postMessage(message);};}/********************************************************************************
14286
14285
  * 版本信息输出
14287
14286
  *
14288
- */var HQCHART_VERSION="1.1.14335";function PrintHQChartVersion(){var logo='\n\n*************************************************************************************************************************************************************************** \n* \n* :%@@- \n* :@@@@- \n* =@@@@ :#@@@ .:+#@@@#=: :=*@@@@@@#+-. *@@@@. \n* :@@@@@ .@@@@@ .#@@@@@@@@@@@- +@@@@@@@@@@@@@+ @@@@@ -%@@* \n* +@@@@% #@@@@# *@@@@@@@@@@@@@@%. =@@@@@@@@@@@@@@@- @@@@@ -@@@@+ \n* %@@@@* @@@@@+ .%@@@@@@@@@@@@@@@@%: #@@@@@@@@@@@@@@@% @@@@# *@@@@= \n* @@@@@= @@@@@- .%@@@@@@@*++*%@@@@@@% .%@@@@@@@%*+==+**= -@@@@+ #@@@@- \n* @@@@@. @@@@@. #@@@@@%= =@@@@@@* %@@@@@@#: *@@@@- :::. .-+*###+: ::: .+##+: -%%@@@@@%%%% \n* .@@@@@ .@@@@@. +@@@@@% .@@@@@@ *@@@@@@: %@@@@: +@@@@@%. :%@@@@@@@@@@: *@@@ :@@@@@* @@@@@@@@@@@@ \n* :@@@@@ :@@@@@ @@@@@% :@@@@@+ @@@@@@: %@@@@-@@@@@@@@@. @@@@@@@@@@@@@. :@@@%-@@@@@@.:@@@@@@@@@@@# \n* -@@@@% -@@@@@ =@@@@@. %@@@@% %@@@@@- %@@@@@@@@@@@@@@* %@@@@@@@@@@@@+ -@@@@@@@@@@# -@@@@@@@@@@@. \n* +@@@@%=========#@@@@% @@@@@# :@@@@@ .@@@@@% @@@@@@@@%@@@@@@@ -%+:. .#@@@@* +@@@@@@@%%@. .::+@@@@#:: \n* #@@@@@@@@@@@@@@@@@@@# .@@@@@ .@@@@@ :@@@@@. @@@@@@#. #@@@@@. -@@@@* #@@@@@@: *@@@@+ \n* %@@@@@@@@@@@@@@@@@@@+ :@@@@@ .@@@@@ -@@@@@ @@@@@+ @@@@@. :@@@@* @@@@@% #@@@@- \n* @@@@@@@@@@@@@@@@@@@@: :@@@@% :@@@@@ +@@@@% -@@@@+ @@@@@ -@@@@+ @@@@@. @@@@@. \n* .@@@@@@@@@@@@@@@@@@@@ :@@@@% -@@@@% *@@@@% #@@@@. @@@@@ .=*#%%%@@@@@= :@@@@# @@@@@. \n* -@@@@@:::::::::=@@@@@ :@@@@@ @@@@@* +@@@@% @@@@@ @@@@% -#@@@@@@@@@@@@: -@@@@* @@@@@ \n* =@@@@% =@@@@% .@@@@@ :@@@@@. -@@@@% @@@@@ .@@@@* +@@@@@@@@@@@@@@. =@@@@+ .@@@@@ \n* +@@@@# +@@@@# @@@@@# %@@@@% :@@@@@ .@@@@% =@@@@= -@@@@@*-:..%@@@@ +@@@@= :@@@@# \n* *@@@@* *@@@@* +@@@@@: #@@@@@+ .@@@@@@ :@@@@% *@@@@- @@@@@. @@@@% #@@@@: =@@@@+ \n* %@@@@= %@@@@+ @@@@@@- .%@@@@@# #@@@@@# :@@@@% #@@@@: @@@@% @@@@* %@@@@. #@@@@- \n* @@@@@- @@@@@= =@@@@@@#=...-*@@@@@@@: @@@@@@%=. :+**. :@@@@* %@@@@. .@@@@* *@@@@= @@@@@ %@@@@+ \n* .@@@@@: .@@@@@: *@@@@@@@@@@@@@@@@@@@# =@@@@@@@@%%%@@@@@@ +@@@@- @@@@@ .@@@@@: :%@@@@@- .@@@@% %@@@@@*+- \n* :@@@@@ :@@@@@ +@@@@@@@@@@@@@@@@@@@# =@@@@@@@@@@@@@@@@% %@@@@ @@@@@ @@@@@@@@@@@@@@@: -@@@@* *@@@@@@@@- \n* =@@@@@ -@@@@@ :@@@@@@@@@@@@@@@@@@@# :@@@@@@@@@@@@@@@% @@@@@ %@@@% #@@@@@@@@@#@@@@. +@@@@- .@@@@@@@@# \n* *@@@@# =@@@@% :#@@@@@@@#: :@@@@@= =@@@@@@@@@@@+. @@@@@ :@@@+ *@@@@@@@- %@@@ *@@@= =@@@@@@@* \n* =++++- -++++= .:::. .=*+: :-=+++=:. ****= .=+. .-++=: :+++ -+=: .-=+=:. \n* \n* \n* HQChart \n* Ver: '+HQCHART_VERSION+' \n* License: Apache License 2.0 \n* Source: https://github.com/jones2000/HQChart\n*\n************************************************************************************************************************************************************************** \n ';console.log(logo);}PrintHQChartVersion();//把给外界调用的方法暴露出来
14287
+ */var HQCHART_VERSION="1.1.14339";function PrintHQChartVersion(){var logo='\n\n*************************************************************************************************************************************************************************** \n* \n* :%@@- \n* :@@@@- \n* =@@@@ :#@@@ .:+#@@@#=: :=*@@@@@@#+-. *@@@@. \n* :@@@@@ .@@@@@ .#@@@@@@@@@@@- +@@@@@@@@@@@@@+ @@@@@ -%@@* \n* +@@@@% #@@@@# *@@@@@@@@@@@@@@%. =@@@@@@@@@@@@@@@- @@@@@ -@@@@+ \n* %@@@@* @@@@@+ .%@@@@@@@@@@@@@@@@%: #@@@@@@@@@@@@@@@% @@@@# *@@@@= \n* @@@@@= @@@@@- .%@@@@@@@*++*%@@@@@@% .%@@@@@@@%*+==+**= -@@@@+ #@@@@- \n* @@@@@. @@@@@. #@@@@@%= =@@@@@@* %@@@@@@#: *@@@@- :::. .-+*###+: ::: .+##+: -%%@@@@@%%%% \n* .@@@@@ .@@@@@. +@@@@@% .@@@@@@ *@@@@@@: %@@@@: +@@@@@%. :%@@@@@@@@@@: *@@@ :@@@@@* @@@@@@@@@@@@ \n* :@@@@@ :@@@@@ @@@@@% :@@@@@+ @@@@@@: %@@@@-@@@@@@@@@. @@@@@@@@@@@@@. :@@@%-@@@@@@.:@@@@@@@@@@@# \n* -@@@@% -@@@@@ =@@@@@. %@@@@% %@@@@@- %@@@@@@@@@@@@@@* %@@@@@@@@@@@@+ -@@@@@@@@@@# -@@@@@@@@@@@. \n* +@@@@%=========#@@@@% @@@@@# :@@@@@ .@@@@@% @@@@@@@@%@@@@@@@ -%+:. .#@@@@* +@@@@@@@%%@. .::+@@@@#:: \n* #@@@@@@@@@@@@@@@@@@@# .@@@@@ .@@@@@ :@@@@@. @@@@@@#. #@@@@@. -@@@@* #@@@@@@: *@@@@+ \n* %@@@@@@@@@@@@@@@@@@@+ :@@@@@ .@@@@@ -@@@@@ @@@@@+ @@@@@. :@@@@* @@@@@% #@@@@- \n* @@@@@@@@@@@@@@@@@@@@: :@@@@% :@@@@@ +@@@@% -@@@@+ @@@@@ -@@@@+ @@@@@. @@@@@. \n* .@@@@@@@@@@@@@@@@@@@@ :@@@@% -@@@@% *@@@@% #@@@@. @@@@@ .=*#%%%@@@@@= :@@@@# @@@@@. \n* -@@@@@:::::::::=@@@@@ :@@@@@ @@@@@* +@@@@% @@@@@ @@@@% -#@@@@@@@@@@@@: -@@@@* @@@@@ \n* =@@@@% =@@@@% .@@@@@ :@@@@@. -@@@@% @@@@@ .@@@@* +@@@@@@@@@@@@@@. =@@@@+ .@@@@@ \n* +@@@@# +@@@@# @@@@@# %@@@@% :@@@@@ .@@@@% =@@@@= -@@@@@*-:..%@@@@ +@@@@= :@@@@# \n* *@@@@* *@@@@* +@@@@@: #@@@@@+ .@@@@@@ :@@@@% *@@@@- @@@@@. @@@@% #@@@@: =@@@@+ \n* %@@@@= %@@@@+ @@@@@@- .%@@@@@# #@@@@@# :@@@@% #@@@@: @@@@% @@@@* %@@@@. #@@@@- \n* @@@@@- @@@@@= =@@@@@@#=...-*@@@@@@@: @@@@@@%=. :+**. :@@@@* %@@@@. .@@@@* *@@@@= @@@@@ %@@@@+ \n* .@@@@@: .@@@@@: *@@@@@@@@@@@@@@@@@@@# =@@@@@@@@%%%@@@@@@ +@@@@- @@@@@ .@@@@@: :%@@@@@- .@@@@% %@@@@@*+- \n* :@@@@@ :@@@@@ +@@@@@@@@@@@@@@@@@@@# =@@@@@@@@@@@@@@@@% %@@@@ @@@@@ @@@@@@@@@@@@@@@: -@@@@* *@@@@@@@@- \n* =@@@@@ -@@@@@ :@@@@@@@@@@@@@@@@@@@# :@@@@@@@@@@@@@@@% @@@@@ %@@@% #@@@@@@@@@#@@@@. +@@@@- .@@@@@@@@# \n* *@@@@# =@@@@% :#@@@@@@@#: :@@@@@= =@@@@@@@@@@@+. @@@@@ :@@@+ *@@@@@@@- %@@@ *@@@= =@@@@@@@* \n* =++++- -++++= .:::. .=*+: :-=+++=:. ****= .=+. .-++=: :+++ -+=: .-=+=:. \n* \n* \n* HQChart \n* Ver: '+HQCHART_VERSION+' \n* License: Apache License 2.0 \n* Source: https://github.com/jones2000/HQChart\n*\n************************************************************************************************************************************************************************** \n ';console.log(logo);}PrintHQChartVersion();//把给外界调用的方法暴露出来
14289
14288
  exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
14290
14289
  // BaseIndex:BaseIndex,
14291
14290
  // ChartLine:ChartLine,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hqchart",
3
- "version": "1.1.14336",
3
+ "version": "1.1.14340",
4
4
  "description": "HQChart - H5, 微信小程序 沪深/港股/数字货币/期货/美股 K线图(kline),走势图,缩放,拖拽,十字光标,画图工具,截图,筹码图. 分析家语法,通达信语法,(麦语法),第3方数据对接",
5
5
  "main": "lib/main.js",
6
6
  "scripts": {
@@ -31307,15 +31307,7 @@ function ChartOverlayKLine()
31307
31307
 
31308
31308
  if (!this.MainData || !this.Data) return range;
31309
31309
 
31310
- var firstOpen=null; //主线数据第1个收盘价
31311
- for(var i=this.Data.DataOffset,j=0;i<this.MainData.Data.length && j<xPointCount;++i,++j)
31312
- {
31313
- var data=this.MainData.Data[i];
31314
- if (data.Open==null || data.High==null || data.Low==null || data.Close==null) continue;
31315
- firstOpen=data.Close;
31316
- break;
31317
- }
31318
-
31310
+ var firstOpen=this.GetFirstOpen();
31319
31311
  if (firstOpen==null) return range;
31320
31312
 
31321
31313
  var firstOverlayOpen=null;
@@ -40913,7 +40905,7 @@ function ChartMultiLine()
40913
40905
  }
40914
40906
  }
40915
40907
 
40916
- // 线段集合 支持横屏
40908
+ // 多个点集合 支持横屏
40917
40909
  function ChartMultiPoint()
40918
40910
  {
40919
40911
  this.newMethod=IChartPainting; //派生
@@ -41084,7 +41076,7 @@ function ChartMultiPoint()
41084
41076
  if (this.IsHScreen)
41085
41077
  pointPath.arc(item.Y,item.X,config.Radius*pixelRatio,0,360,false);
41086
41078
  else
41087
- pointPath.arc(item.X,item.Y,config.Radius**pixelRatio,0,360,false);
41079
+ pointPath.arc(item.X,item.Y,config.Radius*pixelRatio,0,360,false);
41088
41080
 
41089
41081
  path.addPath(pointPath);
41090
41082
  ++count;
@@ -35232,15 +35232,7 @@ function ChartOverlayKLine()
35232
35232
 
35233
35233
  if (!this.MainData || !this.Data) return range;
35234
35234
 
35235
- var firstOpen=null; //主线数据第1个收盘价
35236
- for(var i=this.Data.DataOffset,j=0;i<this.MainData.Data.length && j<xPointCount;++i,++j)
35237
- {
35238
- var data=this.MainData.Data[i];
35239
- if (data.Open==null || data.High==null || data.Low==null || data.Close==null) continue;
35240
- firstOpen=data.Close;
35241
- break;
35242
- }
35243
-
35235
+ var firstOpen=this.GetFirstOpen();
35244
35236
  if (firstOpen==null) return range;
35245
35237
 
35246
35238
  var firstOverlayOpen=null;
@@ -44838,7 +44830,7 @@ function ChartMultiLine()
44838
44830
  }
44839
44831
  }
44840
44832
 
44841
- // 线段集合 支持横屏
44833
+ // 多个点集合 支持横屏
44842
44834
  function ChartMultiPoint()
44843
44835
  {
44844
44836
  this.newMethod=IChartPainting; //派生
@@ -45009,7 +45001,7 @@ function ChartMultiPoint()
45009
45001
  if (this.IsHScreen)
45010
45002
  pointPath.arc(item.Y,item.X,config.Radius*pixelRatio,0,360,false);
45011
45003
  else
45012
- pointPath.arc(item.X,item.Y,config.Radius**pixelRatio,0,360,false);
45004
+ pointPath.arc(item.X,item.Y,config.Radius*pixelRatio,0,360,false);
45013
45005
 
45014
45006
  path.addPath(pointPath);
45015
45007
  ++count;
@@ -142572,7 +142564,7 @@ function ScrollBarBGChart()
142572
142564
 
142573
142565
 
142574
142566
 
142575
- var HQCHART_VERSION="1.1.14335";
142567
+ var HQCHART_VERSION="1.1.14339";
142576
142568
 
142577
142569
  function PrintHQChartVersion()
142578
142570
  {
@@ -5,7 +5,7 @@
5
5
 
6
6
 
7
7
 
8
- var HQCHART_VERSION="1.1.14335";
8
+ var HQCHART_VERSION="1.1.14339";
9
9
 
10
10
  function PrintHQChartVersion()
11
11
  {
@@ -35276,15 +35276,7 @@ function ChartOverlayKLine()
35276
35276
 
35277
35277
  if (!this.MainData || !this.Data) return range;
35278
35278
 
35279
- var firstOpen=null; //主线数据第1个收盘价
35280
- for(var i=this.Data.DataOffset,j=0;i<this.MainData.Data.length && j<xPointCount;++i,++j)
35281
- {
35282
- var data=this.MainData.Data[i];
35283
- if (data.Open==null || data.High==null || data.Low==null || data.Close==null) continue;
35284
- firstOpen=data.Close;
35285
- break;
35286
- }
35287
-
35279
+ var firstOpen=this.GetFirstOpen();
35288
35280
  if (firstOpen==null) return range;
35289
35281
 
35290
35282
  var firstOverlayOpen=null;
@@ -44882,7 +44874,7 @@ function ChartMultiLine()
44882
44874
  }
44883
44875
  }
44884
44876
 
44885
- // 线段集合 支持横屏
44877
+ // 多个点集合 支持横屏
44886
44878
  function ChartMultiPoint()
44887
44879
  {
44888
44880
  this.newMethod=IChartPainting; //派生
@@ -45053,7 +45045,7 @@ function ChartMultiPoint()
45053
45045
  if (this.IsHScreen)
45054
45046
  pointPath.arc(item.Y,item.X,config.Radius*pixelRatio,0,360,false);
45055
45047
  else
45056
- pointPath.arc(item.X,item.Y,config.Radius**pixelRatio,0,360,false);
45048
+ pointPath.arc(item.X,item.Y,config.Radius*pixelRatio,0,360,false);
45057
45049
 
45058
45050
  path.addPath(pointPath);
45059
45051
  ++count;
@@ -152220,7 +152212,7 @@ function HQChartScriptWorker()
152220
152212
 
152221
152213
 
152222
152214
 
152223
- var HQCHART_VERSION="1.1.14335";
152215
+ var HQCHART_VERSION="1.1.14339";
152224
152216
 
152225
152217
  function PrintHQChartVersion()
152226
152218
  {