hqchart 1.1.12997 → 1.1.13001

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.
@@ -3137,7 +3137,7 @@ if(this.GetEventCallback){eventUnchangeKLine=this.GetEventCallback(JSCHART_EVENT
3137
3137
  {if(i<this.ColorData.length)upColor=downColor=unchagneColor=this.ColorData[i]>0?this.UpColor:this.DownColor;else upColor=downColor=unchagneColor=this.DownColor;}if(this.IsThinAKBar==false&&dataWidth>=9){var coordinateInfo={YLow:yLow,YHigh:yHigh,YOpen:yOpen,YClose:yClose,X:x,Left:left,Right:right};var colorInfo={UpColor:upColor,DownColor:downColor,UnchangeColor:unchagneColor};this.DrawAKBar(data,dataWidth,isHScreen,coordinateInfo,colorInfo);}else{this.Canvas.beginPath();//最高-最低
3138
3138
  if(isHScreen){if(data.High==data.Low&&dataWidth<4){this.Canvas.moveTo(yHigh,ToFixedPoint(x));this.Canvas.lineTo(yLow-1,ToFixedPoint(x));}else{this.Canvas.moveTo(yHigh,ToFixedPoint(x));this.Canvas.lineTo(yLow,ToFixedPoint(x));}}else{if(data.High==data.Low&&dataWidth<4){this.Canvas.moveTo(ToFixedPoint(x),yHigh);this.Canvas.lineTo(ToFixedPoint(x),yLow+1);}else{this.Canvas.moveTo(ToFixedPoint(x),yHigh);this.Canvas.lineTo(ToFixedPoint(x),yLow);}}this.Canvas.stroke();if(dataWidth>=4){this.Canvas.beginPath();//开盘
3139
3139
  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();//收盘
3140
- 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();}}if(this.Data.DataType==0){var infoItem={Xleft:left,XRight:right,YMax:yHigh,XCenter:x,YMin:yLow,DayData:data,Index:j};this.DrawInfo(infoItem);}if(this.PriceGap.Enable&&preKItemInfo){this.CheckPriceGrap(kItemInfo);var value=this.IsPriceGrap(kItemInfo,preKItemInfo);if(value>0)this.AryPriceGapCache.push({Data:[preKItemInfo,kItemInfo],Type:value});}preKItemInfo=kItemInfo;}this.PtMax=ptMax;this.PtMin=ptMin;};this.DrawAKBar=function(data,dataWidth,isHScreen,coordinateInfo,colorInfo){var barWidth=dataWidth/3;var left=ToFixedRect(coordinateInfo.Left);var aryX=[left,ToFixedRect(left+barWidth),ToFixedRect(left+barWidth*2),ToFixedRect(left+barWidth*3)];var yHigh=coordinateInfo.YHigh,yLow=coordinateInfo.YLow,yOpen=coordinateInfo.YOpen,yClose=coordinateInfo.YClose;if(data.Open<data.Close){this.Canvas.strokeStyle=colorInfo.UpColor;//阳线
3140
+ 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();}}if(this.Data.DataType==0){var infoItem={Xleft:left,XRight:right,YMax:yHigh,XCenter:x,YMin:yLow,DayData:data,Index:j};this.DrawInfo(infoItem);}if(this.PriceGap.Enable&&preKItemInfo){this.CheckPriceGap(kItemInfo);var value=this.IsPriceGap(kItemInfo,preKItemInfo);if(value>0)this.AryPriceGapCache.push({Data:[preKItemInfo,kItemInfo],Type:value});}preKItemInfo=kItemInfo;}this.PtMax=ptMax;this.PtMin=ptMin;};this.DrawAKBar=function(data,dataWidth,isHScreen,coordinateInfo,colorInfo){var barWidth=dataWidth/3;var left=ToFixedRect(coordinateInfo.Left);var aryX=[left,ToFixedRect(left+barWidth),ToFixedRect(left+barWidth*2),ToFixedRect(left+barWidth*3)];var yHigh=coordinateInfo.YHigh,yLow=coordinateInfo.YLow,yOpen=coordinateInfo.YOpen,yClose=coordinateInfo.YClose;if(data.Open<data.Close){this.Canvas.strokeStyle=colorInfo.UpColor;//阳线
3141
3141
  this.Canvas.fillStyle=colorInfo.UpColor;}else if(data.Open>data.Close){this.Canvas.strokeStyle=colorInfo.DownColor;//阳线
3142
3142
  this.Canvas.fillStyle=colorInfo.DownColor;}else{this.Canvas.strokeStyle=colorInfo.UnchangeColor;//平线
3143
3143
  this.Canvas.fillStyle=colorInfo.UnchangeColor;}//最高-最低
@@ -3145,9 +3145,9 @@ if(isHScreen){if(data.High==data.Low){var yTop=yHigh-barWidth/2;this.Canvas.fill
3145
3145
  var yTop=yOpen-barWidth/2;if(isHScreen){this.Canvas.fillRect(yTop,aryX[0],barWidth,aryX[1]-aryX[0]);}else{this.Canvas.fillRect(aryX[0],yTop,aryX[1]-aryX[0],barWidth);}//收盘
3146
3146
  var yTop=yClose-barWidth/2;if(isHScreen){this.Canvas.fillRect(yTop,aryX[2],barWidth,aryX[3]-aryX[2]);}else{this.Canvas.fillRect(aryX[2],yTop,aryX[3]-aryX[2],barWidth);}};this.DrawCloseArea=function()//收盘价面积图
3147
3147
  {var isHScreen=this.ChartFrame.IsHScreen===true;var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var xPointCount=this.ChartFrame.XPointCount;if(isHScreen){var border=this.ChartBorder.GetHScreenBorder();var xOffset=border.TopEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;var chartright=border.BottomEx;var borderLeft=border.TopEx;}else{var border=this.ChartBorder.GetBorder();var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;var chartright=border.RightEx;var borderLeft=border.LeftEx;}var bFirstPoint=true;var firstPoint=null;this.Canvas.beginPath();this.Canvas.strokeStyle=this.CloseLineColor;if(IFrameSplitOperator.IsNumber(this.CloseLineWidth))this.Canvas.lineWidth=this.CloseLineWidth;var ptLast=null;if(this.Data.DataOffset>0)//把最左边的一个点连上
3148
- {var data=this.Data.Data[this.Data.DataOffset-1];if(data&&IFrameSplitOperator.IsNumber(data.Close)){var x=borderLeft;var yClose=this.GetYFromData(data.Close,false);if(isHScreen){this.Canvas.moveTo(yClose,x);firstPoint={X:yClose,Y:x};}else{this.Canvas.moveTo(x,yClose);firstPoint={X:x,Y:yClose};}bFirstPoint=false;}}this.ShowRange.Start=this.Data.DataOffset;this.ShowRange.End=this.ShowRange.Start;this.ShowRange.DataCount=0;this.ShowRange.ShowCount=xPointCount;this.DrawKRange.Start=this.Data.DataOffset;var preKItemInfo=null;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];this.ShowRange.End=i;if(data.Open==null||data.High==null||data.Low==null||data.Close==null)continue;var left=xOffset;var right=xOffset+dataWidth;if(right>chartright)break;var x=left+(right-left)/2;var yClose=this.GetYFromData(data.Close,false);this.DrawKRange.End=i;if(bFirstPoint){if(isHScreen){this.Canvas.moveTo(yClose,x);firstPoint={X:yClose,Y:x};}else{this.Canvas.moveTo(x,yClose);firstPoint={X:x,Y:yClose};}bFirstPoint=false;}else{if(isHScreen)this.Canvas.lineTo(yClose,x);else this.Canvas.lineTo(x,yClose);}if(i==this.Data.Data.length-1){ptLast={X:x,Y:yClose,XLeft:left,XRight:right,KItem:data,ChartRight:chartright};}if(this.PriceGap.Enable){var yLow=this.GetYFromData(data.Low,false);var yHigh=this.GetYFromData(data.High,false);var yOpen=this.GetYFromData(data.Open,false);var kItemInfo={Data:data,Coordinate:{X:x,Low:yLow,High:yHigh,Close:yClose,Open:yOpen,Left:left,Right:right}};if(preKItemInfo){this.CheckPriceGrap(kItemInfo);var value=this.IsPriceGrap(kItemInfo,preKItemInfo);if(value>0)this.AryPriceGapCache.push({Data:[preKItemInfo,kItemInfo],Type:value});}preKItemInfo=kItemInfo;}}this.DrawLastPointEvent(ptLast);//通知外部绘制最后一个点
3148
+ {var data=this.Data.Data[this.Data.DataOffset-1];if(data&&IFrameSplitOperator.IsNumber(data.Close)){var x=borderLeft;var yClose=this.GetYFromData(data.Close,false);if(isHScreen){this.Canvas.moveTo(yClose,x);firstPoint={X:yClose,Y:x};}else{this.Canvas.moveTo(x,yClose);firstPoint={X:x,Y:yClose};}bFirstPoint=false;}}this.ShowRange.Start=this.Data.DataOffset;this.ShowRange.End=this.ShowRange.Start;this.ShowRange.DataCount=0;this.ShowRange.ShowCount=xPointCount;this.DrawKRange.Start=this.Data.DataOffset;var preKItemInfo=null;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];this.ShowRange.End=i;if(data.Open==null||data.High==null||data.Low==null||data.Close==null)continue;var left=xOffset;var right=xOffset+dataWidth;if(right>chartright)break;var x=left+(right-left)/2;var yClose=this.GetYFromData(data.Close,false);this.DrawKRange.End=i;if(bFirstPoint){if(isHScreen){this.Canvas.moveTo(yClose,x);firstPoint={X:yClose,Y:x};}else{this.Canvas.moveTo(x,yClose);firstPoint={X:x,Y:yClose};}bFirstPoint=false;}else{if(isHScreen)this.Canvas.lineTo(yClose,x);else this.Canvas.lineTo(x,yClose);}if(i==this.Data.Data.length-1){ptLast={X:x,Y:yClose,XLeft:left,XRight:right,KItem:data,ChartRight:chartright};}if(this.PriceGap.Enable){var yLow=this.GetYFromData(data.Low,false);var yHigh=this.GetYFromData(data.High,false);var yOpen=this.GetYFromData(data.Open,false);var kItemInfo={Data:data,Coordinate:{X:x,Low:yLow,High:yHigh,Close:yClose,Open:yOpen,Left:left,Right:right}};if(preKItemInfo){this.CheckPriceGap(kItemInfo);var value=this.IsPriceGap(kItemInfo,preKItemInfo);if(value>0)this.AryPriceGapCache.push({Data:[preKItemInfo,kItemInfo],Type:value});}preKItemInfo=kItemInfo;}}this.DrawLastPointEvent(ptLast);//通知外部绘制最后一个点
3149
3149
  if(bFirstPoint)return;this.Canvas.stroke();if(isHScreen){this.Canvas.lineTo(border.Left,x);this.Canvas.lineTo(border.Left,firstPoint.Y);}else{this.Canvas.lineTo(x,border.Bottom);this.Canvas.lineTo(firstPoint.X,border.Bottom);}this.Canvas.closePath();if(Array.isArray(this.CloseLineAreaColor)){if(isHScreen){var gradient=this.Canvas.createLinearGradient(this.ChartBorder.GetRightEx(),this.ChartBorder.GetTop(),this.ChartBorder.GetLeft(),this.ChartBorder.GetTop());gradient.addColorStop(0,this.CloseLineAreaColor[0]);gradient.addColorStop(1,this.CloseLineAreaColor[1]);this.Canvas.fillStyle=gradient;}else{var _gradient=this.Canvas.createLinearGradient(firstPoint.X,this.ChartBorder.GetTopEx(),firstPoint.X,this.ChartBorder.GetBottom());_gradient.addColorStop(0,this.CloseLineAreaColor[0]);_gradient.addColorStop(1,this.CloseLineAreaColor[1]);this.Canvas.fillStyle=_gradient;}}else{this.Canvas.fillStyle=this.CloseLineAreaColor;}this.Canvas.fill();};this.DrawCloseLine=function()//收盘价线
3150
- {var isHScreen=this.ChartFrame.IsHScreen===true;var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var xPointCount=this.ChartFrame.XPointCount;if(isHScreen){var border=this.ChartBorder.GetHScreenBorder();var xOffset=border.TopEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;var chartright=border.BottomEx;}else{var border=this.ChartBorder.GetBorder();var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;var chartright=border.RightEx;}var bFirstPoint=true;this.Canvas.beginPath();this.Canvas.strokeStyle=this.CloseLineColor;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.DrawKRange.Start=this.Data.DataOffset;var preKItemInfo=null;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];this.ShowRange.End=i;if(data.Open==null||data.High==null||data.Low==null||data.Close==null)continue;var left=xOffset;var right=xOffset+dataWidth;if(right>chartright)break;var x=left+(right-left)/2;var yClose=this.GetYFromData(data.Close,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(this.PriceGap.Enable){var yLow=this.GetYFromData(data.Low,false);var yHigh=this.GetYFromData(data.High,false);var yOpen=this.GetYFromData(data.Open,false);var kItemInfo={Data:data,Coordinate:{X:x,Low:yLow,High:yHigh,Close:yClose,Open:yOpen,Left:left,Right:right}};if(preKItemInfo){this.CheckPriceGrap(kItemInfo);var value=this.IsPriceGrap(kItemInfo,preKItemInfo);if(value>0)this.AryPriceGapCache.push({Data:[preKItemInfo,kItemInfo],Type:value});}preKItemInfo=kItemInfo;}}if(bFirstPoint==false)this.Canvas.stroke();};this.DrawKBar=function()//蜡烛头
3150
+ {var isHScreen=this.ChartFrame.IsHScreen===true;var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var xPointCount=this.ChartFrame.XPointCount;if(isHScreen){var border=this.ChartBorder.GetHScreenBorder();var xOffset=border.TopEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;var chartright=border.BottomEx;}else{var border=this.ChartBorder.GetBorder();var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;var chartright=border.RightEx;}var bFirstPoint=true;this.Canvas.beginPath();this.Canvas.strokeStyle=this.CloseLineColor;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.DrawKRange.Start=this.Data.DataOffset;var preKItemInfo=null;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];this.ShowRange.End=i;if(data.Open==null||data.High==null||data.Low==null||data.Close==null)continue;var left=xOffset;var right=xOffset+dataWidth;if(right>chartright)break;var x=left+(right-left)/2;var yClose=this.GetYFromData(data.Close,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(this.PriceGap.Enable){var yLow=this.GetYFromData(data.Low,false);var yHigh=this.GetYFromData(data.High,false);var yOpen=this.GetYFromData(data.Open,false);var kItemInfo={Data:data,Coordinate:{X:x,Low:yLow,High:yHigh,Close:yClose,Open:yOpen,Left:left,Right:right}};if(preKItemInfo){this.CheckPriceGap(kItemInfo);var value=this.IsPriceGap(kItemInfo,preKItemInfo);if(value>0)this.AryPriceGapCache.push({Data:[preKItemInfo,kItemInfo],Type:value});}preKItemInfo=kItemInfo;}}if(bFirstPoint==false)this.Canvas.stroke();};this.DrawKBar=function()//蜡烛头
3151
3151
  {var isHScreen=this.ChartFrame.IsHScreen===true;var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var border=this.ChartBorder.GetBorder();var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;var chartright=border.RightEx;var xPointCount=this.ChartFrame.XPointCount;if(isHScreen){var border=this.ChartBorder.GetHScreenBorder();xOffset=border.TopEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;chartright=border.BottomEx;}var ptMax={X:null,Y:null,Value:null,Align:'left'};var ptMin={X:null,Y:null,Value:null,Align:'left'};var upColor=this.UpColor;var downColor=this.DownColor;var unchagneColor=this.UnchagneColor;this.ShowRange.Start=this.Data.DataOffset;this.ShowRange.End=this.ShowRange.Start;this.ShowRange.DataCount=0;this.ShowRange.ShowCount=xPointCount;var ptLast=null;this.DrawKRange.Start=this.Data.DataOffset;var eventUnchangeKLine=null;//定制平盘K线颜色事件
3152
3152
  if(this.GetEventCallback){eventUnchangeKLine=this.GetEventCallback(JSCHART_EVENT_ID.ON_CUSTOM_UNCHANGE_KLINE_COLOR);}var preKItemInfo=null;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];this.ShowRange.End=i;if(data.Open==null||data.High==null||data.Low==null||data.Close==null)continue;var left=xOffset;var right=xOffset+dataWidth;if(right>chartright)break;var x=left+(right-left)/2;var yLow=this.GetYFromData(data.Low,false);var yHigh=this.GetYFromData(data.High,false);var yOpen=this.GetYFromData(data.Open,false);var yClose=this.GetYFromData(data.Close,false);var y=yHigh;var kItemInfo={Data:data,Coordinate:{X:x,Low:yLow,High:yHigh,Close:yClose,Open:yOpen,Left:left,Right:right}};this.DrawKRange.End=i;if(ptMax.Value==null||ptMax.Value<data.High)//求最大值
3153
3153
  {ptMax.X=x;ptMax.Y=yHigh;ptMax.Value=data.High;ptMax.Align=j<xPointCount/2?'left':'right';}if(ptMin.Value==null||ptMin.Value>data.Low)//求最小值
@@ -3161,7 +3161,7 @@ if(this.GetEventCallback){eventUnchangeKLine=this.GetEventCallback(JSCHART_EVENT
3161
3161
  {yTop=Math.min(yHigh,yTop-5);yBottom=Math.max(yLow,yBottom+5);}if(data.IsNonTrade){yTop=yHigh;yBottom=yLow;}var rect=new Rect(left,yTop,dataWidth,yBottom-yTop);//this.Canvas.fillStyle="rgb(0,0,100)";
3162
3162
  //this.Canvas.fillRect(rect.X,rect.Y,rect.Width,rect.Height);
3163
3163
  this.TooltipRect.push([i,rect]);//[0]数据索引 [1]数据区域
3164
- }if(this.Data.DataType==0||this.Data.DataType==1){var infoItem={Xleft:left,XRight:right,XCenter:x,YMax:yHigh,YMin:yLow,DayData:data,Index:j};this.DrawInfo(infoItem);}if(i==this.Data.Data.length-1){ptLast={X:x,Y:yClose,XLeft:left,XRight:right,KItem:data,ChartRight:chartright};}if(this.PriceGap.Enable&&preKItemInfo){this.CheckPriceGrap(kItemInfo);var value=this.IsPriceGrap(kItemInfo,preKItemInfo);if(value>0)this.AryPriceGapCache.push({Data:[preKItemInfo,kItemInfo],Type:value});}preKItemInfo=kItemInfo;}this.DrawLastPointEvent(ptLast);//通知外部绘制最后一个点
3164
+ }if(this.Data.DataType==0||this.Data.DataType==1){var infoItem={Xleft:left,XRight:right,XCenter:x,YMax:yHigh,YMin:yLow,DayData:data,Index:j};this.DrawInfo(infoItem);}if(i==this.Data.Data.length-1){ptLast={X:x,Y:yClose,XLeft:left,XRight:right,KItem:data,ChartRight:chartright};}if(this.PriceGap.Enable&&preKItemInfo){this.CheckPriceGap(kItemInfo);var value=this.IsPriceGap(kItemInfo,preKItemInfo);if(value>0)this.AryPriceGapCache.push({Data:[preKItemInfo,kItemInfo],Type:value});}preKItemInfo=kItemInfo;}this.DrawLastPointEvent(ptLast);//通知外部绘制最后一个点
3165
3165
  this.PtMax=ptMax;this.PtMin=ptMin;};this.DrawKBar_Up=function(data,dataWidth,upColor,drawType,x,y,left,right,yLow,yHigh,yOpen,yClose,isHScreen)//阳线
3166
3166
  {var isEmptyBar=drawType==3||drawType==6;if(dataWidth>=4){if(isEmptyBar){if(dataWidth%2!=0)dataWidth-=1;}this.Canvas.strokeStyle=upColor;if(data.High>data.Close)//上影线
3167
3167
  {this.Canvas.beginPath();if(isHScreen){this.Canvas.moveTo(ToFixedPoint(y),ToFixedPoint(x));this.Canvas.lineTo(ToFixedPoint(drawType==3?Math.max(yClose,yOpen):yClose),ToFixedPoint(x));}else{if(isEmptyBar){var xFixed=left+dataWidth/2;this.Canvas.moveTo(ToFixedPoint(xFixed),ToFixedPoint(y));this.Canvas.lineTo(ToFixedPoint(xFixed),ToFixedPoint(Math.min(yClose,yOpen)));}else{this.Canvas.moveTo(ToFixedPoint(x),ToFixedPoint(y));this.Canvas.lineTo(ToFixedPoint(x),ToFixedPoint(yClose));}}this.Canvas.stroke();y=yClose;}else{y=yClose;}this.Canvas.fillStyle=upColor;if(isHScreen){if(Math.abs(yOpen-y)<1){this.Canvas.fillRect(ToFixedRect(y),ToFixedRect(left),1,ToFixedRect(dataWidth));//高度小于1,统一使用高度1
@@ -3564,10 +3564,10 @@ this.DrawPriceGap=function(){if(!IFrameSplitOperator.IsNonEmptyArray(this.AryPri
3564
3564
  {if(isHScreen){rect={Left:start.Coordinate.Low,Right:end.Coordinate.High,Top:start.Coordinate.X,Bottom:border.Bottom};rect.Width=rect.Right-rect.Left;rect.Height=rect.Bottom-rect.Top;rtText={Left:start.Coordinate.Low+2,Top:start.Coordinate.Right+2,Height:textHeight};rtText.Bottom=rtText.Top+rtText.Height;}else{rect={Left:start.Coordinate.X,Right:border.Right,Top:start.Coordinate.Low,Bottom:end.Coordinate.High};rect.Width=rect.Right-rect.Left;rect.Height=rect.Bottom-rect.Top;rtText={Left:start.Coordinate.Right+2,Bottom:rect.Top,Right:rect.Right,Height:textHeight};rtText.Top=rtText.Bottom-rtText.Height;}text=start.Data.Low.toFixed(decNum)+'-'+end.Data.High.toFixed(decNum);}else{continue;}if(!rect)return;this.Canvas.fillStyle=this.PriceGapStyple.Line.Color;this.Canvas.fillRect(rect.Left,rect.Top,rect.Width,rect.Height);if(rtText){var textWidth=this.Canvas.measureText(text).width;rtText.Width=textWidth;rtText.Right=rtText.Left+rtText.Width;this.Canvas.fillStyle=this.PriceGapStyple.Text.Color;if(isHScreen){this.Canvas.save();this.Canvas.translate(rtText.Left,rtText.Top);this.Canvas.rotate(90*Math.PI/180);this.Canvas.fillText(text,0,0);this.Canvas.restore();}else{if(rtText.Right>rect.Right){rtText.Right=rect.Right;rtText.Left=rtText.Right-rtText.Width;}this.Canvas.fillStyle=this.PriceGapStyple.Text.Color;this.Canvas.fillText(text,rtText.Left,rtText.Bottom);}//this.Canvas.fillStyle="rgb(250,250,250)"
3565
3565
  //this.Canvas.fillRect(rtText.Left, rtText.Top, rtText.Width, rtText.Height);
3566
3566
  }}};//是否有缺口
3567
- this.IsPriceGrap=function(item,preItem){if(!preItem||!item)return 0;if(preItem.Data.Low>item.Data.High)return 2;//下缺口
3567
+ this.IsPriceGap=function(item,preItem){if(!preItem||!item)return 0;if(preItem.Data.Low>item.Data.High)return 2;//下缺口
3568
3568
  if(preItem.Data.High<item.Data.Low)return 1;//上缺口
3569
3569
  return-1;};//检测缺口是不回补了
3570
- this.CheckPriceGrap=function(kItemInfo){var kItem=kItemInfo.Data;for(var i=0;i<this.AryPriceGapCache.length;++i){var item=this.AryPriceGapCache[i];var start=item.Data[0];var end=item.Data[1];if(item.Type==1)//上缺口
3570
+ this.CheckPriceGap=function(kItemInfo){var kItem=kItemInfo.Data;for(var i=0;i<this.AryPriceGapCache.length;++i){var item=this.AryPriceGapCache[i];var start=item.Data[0];var end=item.Data[1];if(item.Type==1)//上缺口
3571
3571
  {if(kItem.Low<=start.Data.High){this.AryPriceGapCache.splice(i,1);--i;continue;}if(kItem.Low<end.Data.Low)item.Data[1]=kItemInfo;}else if(item.Type==2)//下缺口
3572
3572
  {if(kItem.High>=start.Data.Low){this.AryPriceGapCache.splice(i,1);--i;continue;}if(kItem.High>end.Data.High)item.Data[1]=kItemInfo;}}};}function ChartColorKline(){this.newMethod=IChartPainting;//派生
3573
3573
  this.newMethod();delete this.newMethod;this.ClassName='ChartColorKline';//类名
@@ -12624,7 +12624,7 @@ hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,St
12624
12624
  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);};}/********************************************************************************
12625
12625
  * 版本信息输出
12626
12626
  *
12627
- */var HQCHART_VERSION="1.1.12996";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();//把给外界调用的方法暴露出来
12627
+ */var HQCHART_VERSION="1.1.13000";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();//把给外界调用的方法暴露出来
12628
12628
  exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
12629
12629
  // BaseIndex:BaseIndex,
12630
12630
  // ChartLine:ChartLine,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hqchart",
3
- "version": "1.1.12997",
3
+ "version": "1.1.13001",
4
4
  "description": "HQChart - H5, 微信小程序 沪深/港股/数字货币/期货/美股 K线图(kline),走势图,缩放,拖拽,十字光标,画图工具,截图,筹码图. 分析家语法,通达信语法,(麦语法),第3方数据对接",
5
5
  "main": "lib/main.js",
6
6
  "scripts": {
@@ -22814,9 +22814,9 @@ function ChartKLine()
22814
22814
 
22815
22815
  if (this.PriceGap.Enable && preKItemInfo)
22816
22816
  {
22817
- this.CheckPriceGrap(kItemInfo);
22817
+ this.CheckPriceGap(kItemInfo);
22818
22818
 
22819
- var value=this.IsPriceGrap(kItemInfo,preKItemInfo);
22819
+ var value=this.IsPriceGap(kItemInfo,preKItemInfo);
22820
22820
  if (value>0)
22821
22821
  this.AryPriceGapCache.push({ Data:[preKItemInfo, kItemInfo], Type:value });
22822
22822
  }
@@ -23007,8 +23007,8 @@ function ChartKLine()
23007
23007
 
23008
23008
  if (preKItemInfo)
23009
23009
  {
23010
- this.CheckPriceGrap(kItemInfo);
23011
- var value=this.IsPriceGrap(kItemInfo,preKItemInfo);
23010
+ this.CheckPriceGap(kItemInfo);
23011
+ var value=this.IsPriceGap(kItemInfo,preKItemInfo);
23012
23012
  if (value>0) this.AryPriceGapCache.push({ Data:[preKItemInfo, kItemInfo], Type:value });
23013
23013
  }
23014
23014
 
@@ -23123,8 +23123,8 @@ function ChartKLine()
23123
23123
 
23124
23124
  if (preKItemInfo)
23125
23125
  {
23126
- this.CheckPriceGrap(kItemInfo);
23127
- var value=this.IsPriceGrap(kItemInfo,preKItemInfo);
23126
+ this.CheckPriceGap(kItemInfo);
23127
+ var value=this.IsPriceGap(kItemInfo,preKItemInfo);
23128
23128
  if (value>0) this.AryPriceGapCache.push({ Data:[preKItemInfo, kItemInfo], Type:value });
23129
23129
  }
23130
23130
 
@@ -23297,9 +23297,9 @@ function ChartKLine()
23297
23297
 
23298
23298
  if (this.PriceGap.Enable && preKItemInfo)
23299
23299
  {
23300
- this.CheckPriceGrap(kItemInfo);
23300
+ this.CheckPriceGap(kItemInfo);
23301
23301
 
23302
- var value=this.IsPriceGrap(kItemInfo,preKItemInfo);
23302
+ var value=this.IsPriceGap(kItemInfo,preKItemInfo);
23303
23303
  if (value>0)
23304
23304
  this.AryPriceGapCache.push({ Data:[preKItemInfo, kItemInfo], Type:value });
23305
23305
  }
@@ -26931,7 +26931,7 @@ function ChartKLine()
26931
26931
  }
26932
26932
 
26933
26933
  //是否有缺口
26934
- this.IsPriceGrap=function(item, preItem)
26934
+ this.IsPriceGap=function(item, preItem)
26935
26935
  {
26936
26936
  if (!preItem || !item) return 0;
26937
26937
 
@@ -26943,7 +26943,7 @@ function ChartKLine()
26943
26943
  }
26944
26944
 
26945
26945
  //检测缺口是不回补了
26946
- this.CheckPriceGrap=function(kItemInfo)
26946
+ this.CheckPriceGap=function(kItemInfo)
26947
26947
  {
26948
26948
  var kItem=kItemInfo.Data;
26949
26949
  for(var i=0;i<this.AryPriceGapCache.length;++i)
@@ -26706,9 +26706,9 @@ function ChartKLine()
26706
26706
 
26707
26707
  if (this.PriceGap.Enable && preKItemInfo)
26708
26708
  {
26709
- this.CheckPriceGrap(kItemInfo);
26709
+ this.CheckPriceGap(kItemInfo);
26710
26710
 
26711
- var value=this.IsPriceGrap(kItemInfo,preKItemInfo);
26711
+ var value=this.IsPriceGap(kItemInfo,preKItemInfo);
26712
26712
  if (value>0)
26713
26713
  this.AryPriceGapCache.push({ Data:[preKItemInfo, kItemInfo], Type:value });
26714
26714
  }
@@ -26899,8 +26899,8 @@ function ChartKLine()
26899
26899
 
26900
26900
  if (preKItemInfo)
26901
26901
  {
26902
- this.CheckPriceGrap(kItemInfo);
26903
- var value=this.IsPriceGrap(kItemInfo,preKItemInfo);
26902
+ this.CheckPriceGap(kItemInfo);
26903
+ var value=this.IsPriceGap(kItemInfo,preKItemInfo);
26904
26904
  if (value>0) this.AryPriceGapCache.push({ Data:[preKItemInfo, kItemInfo], Type:value });
26905
26905
  }
26906
26906
 
@@ -27015,8 +27015,8 @@ function ChartKLine()
27015
27015
 
27016
27016
  if (preKItemInfo)
27017
27017
  {
27018
- this.CheckPriceGrap(kItemInfo);
27019
- var value=this.IsPriceGrap(kItemInfo,preKItemInfo);
27018
+ this.CheckPriceGap(kItemInfo);
27019
+ var value=this.IsPriceGap(kItemInfo,preKItemInfo);
27020
27020
  if (value>0) this.AryPriceGapCache.push({ Data:[preKItemInfo, kItemInfo], Type:value });
27021
27021
  }
27022
27022
 
@@ -27189,9 +27189,9 @@ function ChartKLine()
27189
27189
 
27190
27190
  if (this.PriceGap.Enable && preKItemInfo)
27191
27191
  {
27192
- this.CheckPriceGrap(kItemInfo);
27192
+ this.CheckPriceGap(kItemInfo);
27193
27193
 
27194
- var value=this.IsPriceGrap(kItemInfo,preKItemInfo);
27194
+ var value=this.IsPriceGap(kItemInfo,preKItemInfo);
27195
27195
  if (value>0)
27196
27196
  this.AryPriceGapCache.push({ Data:[preKItemInfo, kItemInfo], Type:value });
27197
27197
  }
@@ -30823,7 +30823,7 @@ function ChartKLine()
30823
30823
  }
30824
30824
 
30825
30825
  //是否有缺口
30826
- this.IsPriceGrap=function(item, preItem)
30826
+ this.IsPriceGap=function(item, preItem)
30827
30827
  {
30828
30828
  if (!preItem || !item) return 0;
30829
30829
 
@@ -30835,7 +30835,7 @@ function ChartKLine()
30835
30835
  }
30836
30836
 
30837
30837
  //检测缺口是不回补了
30838
- this.CheckPriceGrap=function(kItemInfo)
30838
+ this.CheckPriceGap=function(kItemInfo)
30839
30839
  {
30840
30840
  var kItem=kItemInfo.Data;
30841
30841
  for(var i=0;i<this.AryPriceGapCache.length;++i)
@@ -129545,7 +129545,7 @@ function ScrollBarBGChart()
129545
129545
 
129546
129546
 
129547
129547
 
129548
- var HQCHART_VERSION="1.1.12996";
129548
+ var HQCHART_VERSION="1.1.13000";
129549
129549
 
129550
129550
  function PrintHQChartVersion()
129551
129551
  {
@@ -5,7 +5,7 @@
5
5
 
6
6
 
7
7
 
8
- var HQCHART_VERSION="1.1.12996";
8
+ var HQCHART_VERSION="1.1.13000";
9
9
 
10
10
  function PrintHQChartVersion()
11
11
  {
@@ -26750,9 +26750,9 @@ function ChartKLine()
26750
26750
 
26751
26751
  if (this.PriceGap.Enable && preKItemInfo)
26752
26752
  {
26753
- this.CheckPriceGrap(kItemInfo);
26753
+ this.CheckPriceGap(kItemInfo);
26754
26754
 
26755
- var value=this.IsPriceGrap(kItemInfo,preKItemInfo);
26755
+ var value=this.IsPriceGap(kItemInfo,preKItemInfo);
26756
26756
  if (value>0)
26757
26757
  this.AryPriceGapCache.push({ Data:[preKItemInfo, kItemInfo], Type:value });
26758
26758
  }
@@ -26943,8 +26943,8 @@ function ChartKLine()
26943
26943
 
26944
26944
  if (preKItemInfo)
26945
26945
  {
26946
- this.CheckPriceGrap(kItemInfo);
26947
- var value=this.IsPriceGrap(kItemInfo,preKItemInfo);
26946
+ this.CheckPriceGap(kItemInfo);
26947
+ var value=this.IsPriceGap(kItemInfo,preKItemInfo);
26948
26948
  if (value>0) this.AryPriceGapCache.push({ Data:[preKItemInfo, kItemInfo], Type:value });
26949
26949
  }
26950
26950
 
@@ -27059,8 +27059,8 @@ function ChartKLine()
27059
27059
 
27060
27060
  if (preKItemInfo)
27061
27061
  {
27062
- this.CheckPriceGrap(kItemInfo);
27063
- var value=this.IsPriceGrap(kItemInfo,preKItemInfo);
27062
+ this.CheckPriceGap(kItemInfo);
27063
+ var value=this.IsPriceGap(kItemInfo,preKItemInfo);
27064
27064
  if (value>0) this.AryPriceGapCache.push({ Data:[preKItemInfo, kItemInfo], Type:value });
27065
27065
  }
27066
27066
 
@@ -27233,9 +27233,9 @@ function ChartKLine()
27233
27233
 
27234
27234
  if (this.PriceGap.Enable && preKItemInfo)
27235
27235
  {
27236
- this.CheckPriceGrap(kItemInfo);
27236
+ this.CheckPriceGap(kItemInfo);
27237
27237
 
27238
- var value=this.IsPriceGrap(kItemInfo,preKItemInfo);
27238
+ var value=this.IsPriceGap(kItemInfo,preKItemInfo);
27239
27239
  if (value>0)
27240
27240
  this.AryPriceGapCache.push({ Data:[preKItemInfo, kItemInfo], Type:value });
27241
27241
  }
@@ -30867,7 +30867,7 @@ function ChartKLine()
30867
30867
  }
30868
30868
 
30869
30869
  //是否有缺口
30870
- this.IsPriceGrap=function(item, preItem)
30870
+ this.IsPriceGap=function(item, preItem)
30871
30871
  {
30872
30872
  if (!preItem || !item) return 0;
30873
30873
 
@@ -30879,7 +30879,7 @@ function ChartKLine()
30879
30879
  }
30880
30880
 
30881
30881
  //检测缺口是不回补了
30882
- this.CheckPriceGrap=function(kItemInfo)
30882
+ this.CheckPriceGap=function(kItemInfo)
30883
30883
  {
30884
30884
  var kItem=kItemInfo.Data;
30885
30885
  for(var i=0;i<this.AryPriceGapCache.length;++i)
@@ -129703,7 +129703,7 @@ function HQChartScriptWorker()
129703
129703
 
129704
129704
 
129705
129705
 
129706
- var HQCHART_VERSION="1.1.12996";
129706
+ var HQCHART_VERSION="1.1.13000";
129707
129707
 
129708
129708
  function PrintHQChartVersion()
129709
129709
  {