hqchart 1.1.15375 → 1.1.15382

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.
@@ -2203,8 +2203,9 @@ this.KLineIncreaseCustomHorizontal=function(){if(!this.Frame||!this.Frame.SubFra
2203
2203
  if(frame.YSplitOperator&&frame.YSplitOperator.CoordinateType==1)isPercentage=true;var isOverlayCoordinate=false;//是否包含叠加股票刻度
2204
2204
  for(var i=0;i<frame.CustomHorizontalInfo.length;++i){var info=frame.CustomHorizontalInfo[i];if(info.Type==4)isOverlayCoordinate=true;if(isPercentage&&info.Type==3||info.Type==2){var item=this.ChartPaint[0];if(!item)continue;var data=item.Data;if(!data||!IFrameSplitOperator.IsNonEmptyArray(data.Data))continue;if(!IFrameSplitOperator.IsNumber(item.DrawKRange.Start)||!IFrameSplitOperator.IsNumber(item.DrawKRange.End))continue;var startKLine=data.Data[item.DrawKRange.Start];var endKLine=data.Data[item.DrawKRange.End];var value=(endKLine.Close-startKLine.Close)/startKLine.Close*100;info.Value=endKLine.Close;if(info.Type==2){info.Message[1]=endKLine.Close.toFixed(defaultfloatPrecision);if(endKLine.Close>endKLine.Open)info.LineColor=g_JSChartResource.FrameLatestPrice.UpBarColor;else if(endKLine.Close<endKLine.Open)info.LineColor=g_JSChartResource.FrameLatestPrice.DownBarColor;else info.LineColor=g_JSChartResource.FrameLatestPrice.UnchagneBarColor;}else{info.Message[1]=value.toFixed(2)+"%";}if(this.Name)info.Title=this.Name;}}if(isOverlayCoordinate){//叠加股票自定义刻度需要移除重新添加
2205
2205
  var newCustomHorizontalInfo=frame.CustomHorizontalInfo.filter(function(value,index,ary){return value.Type!=4;});frame.CustomHorizontalInfo=newCustomHorizontalInfo;}//叠加股票右侧名称+涨幅
2206
- for(var i=0;i<this.OverlayChartPaint.length;++i){var item=this.OverlayChartPaint[i];if(!item)continue;if(item.YInfoType!=4)continue;var data=item.Data;if(!data||!IFrameSplitOperator.IsNonEmptyArray(data.Data))continue;if(!IFrameSplitOperator.IsNumber(item.DrawKRange.Start)||!IFrameSplitOperator.IsNumber(item.DrawKRange.End))continue;var startKLine=null;for(var j=item.DrawKRange.Start;j<=item.DrawKRange.End;++j){var kItem=data.Data[j];if(IFrameSplitOperator.IsNumber(kItem.Close)){startKLine=kItem;break;}}if(!startKLine)continue;var endKLine=data.Data[item.DrawKRange.End];var value=(endKLine.Close-startKLine.Close)/startKLine.Close*100;var info=new CoordinateInfo();info.Value=endKLine.Close/item.ShowRange.FirstOverlayOpen*item.ShowRange.FirstOpen;info.Message[1]=value.toFixed(2)+"%";info.LineType=-1;info.Type=item.YInfoType;//叠加股票
2207
- info.LineColor=item.Color;info.TextColor=g_JSChartResource.FrameLatestPrice.OverlayTextColor;if(item.Title)info.Title=item.Title;frame.CustomHorizontalInfo.push(info);}};this.OffscreenToShowCanvas=function(){if(!this.ShowCanvas)return;this.ShowCanvas.clearRect(0,0,this.UIElement.width,this.UIElement.height);this.ShowCanvas.drawImage(this.OffscreenCanvasElement,0,0);};this.GetDrawStatus=function(){var status={Point:{X:this.LastPoint.X,Y:this.LastPoint.Y},IsOnTouch:this.IsOnTouch,CorssCursorTouchEnd:this.CorssCursorTouchEnd,IsTitleShowLatestData:this.IsTitleShowLatestData,IsMinuteChart:this.ClassName=="MinuteChartContainer"||this.ClassName=="MinuteChartHScreenContainer"?true:false,DrawStatusData:this.DrawStatusData};status.FrameID=this.Frame.PtInFrame(this.LastPoint.X,this.LastPoint.Y);return status;};this.InvokeBeforeDrawSplashScreenCallback=function(){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_BEFORE_DRAW_SPLASH_SCREEN);if(!event||!event.Callback)return null;var data={PreventDefault:false};event.Callback(event,data,this);return data;};this.DrawSplashScreen=function(option){var data=this.InvokeBeforeDrawSplashScreenCallback();if(data&&data.PreventDefault===true)return;if(this.Frame.ScreenImageData==null&&!this.CacheCanvas)return;if(this.Frame.ScreenImageData){this.Canvas.putImageData(this.Frame.ScreenImageData,0,0);}else if(this.CacheCanvas){this.Canvas.clearRect(0,0,this.UIElement.width,this.UIElement.height);this.Canvas.drawImage(this.CacheElement,0,0);}var bgColor=g_JSChartResource.SplashScreen.BGColor;this.Canvas.fillStyle=bgColor;this.Canvas.fillRect(0,0,this.UIElement.width,this.UIElement.height);if(this.ChartSplashPaint&&this.ChartSplashPaint.IsEnableSplash){var title=g_JSChartResource.SplashScreen.Title;if(option&&option.Title)title=option.Title;this.ChartSplashPaint.SetTitle(title);this.ChartSplashPaint.Draw();}};//十字光标坐标
2206
+ for(var i=0;i<this.OverlayChartPaint.length;++i){var item=this.OverlayChartPaint[i];if(!item)continue;if(item.YInfoConfig.Type===0)continue;var data=item.Data;if(!data||!IFrameSplitOperator.IsNonEmptyArray(data.Data))continue;if(!IFrameSplitOperator.IsNumber(item.DrawKRange.Start)||!IFrameSplitOperator.IsNumber(item.DrawKRange.End))continue;var startKLine=null;for(var j=item.DrawKRange.Start;j<=item.DrawKRange.End;++j){var kItem=data.Data[j];if(IFrameSplitOperator.IsNumber(kItem.Close)){startKLine=kItem;break;}}if(!startKLine)continue;var endKLine=data.Data[item.DrawKRange.End];var value=(endKLine.Close-startKLine.Close)/startKLine.Close*100;var text="";if(item.YInfoConfig.Type===3){var dec=GetfloatPrecision(item.Symbol);//小数位数
2207
+ text=endKLine.Close.toFixed(dec);}else if(item.YInfoConfig.Type===4){text=value.toFixed(2)+"%";}else{continue;}var info=new CoordinateInfo();info.Value=endKLine.Close/item.ShowRange.FirstOverlayOpen*item.ShowRange.FirstOpen;info.Message[1]=text;info.LineType=-1;info.Type=4;//叠加股票
2208
+ info.LineColor=item.Color;info.TextColor=g_JSChartResource.FrameLatestPrice.OverlayTextColor;if(item.Title&&item.YInfoConfig.IsShowName)info.Title=item.Title;frame.CustomHorizontalInfo.push(info);}};this.OffscreenToShowCanvas=function(){if(!this.ShowCanvas)return;this.ShowCanvas.clearRect(0,0,this.UIElement.width,this.UIElement.height);this.ShowCanvas.drawImage(this.OffscreenCanvasElement,0,0);};this.GetDrawStatus=function(){var status={Point:{X:this.LastPoint.X,Y:this.LastPoint.Y},IsOnTouch:this.IsOnTouch,CorssCursorTouchEnd:this.CorssCursorTouchEnd,IsTitleShowLatestData:this.IsTitleShowLatestData,IsMinuteChart:this.ClassName=="MinuteChartContainer"||this.ClassName=="MinuteChartHScreenContainer"?true:false,DrawStatusData:this.DrawStatusData};status.FrameID=this.Frame.PtInFrame(this.LastPoint.X,this.LastPoint.Y);return status;};this.InvokeBeforeDrawSplashScreenCallback=function(){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_BEFORE_DRAW_SPLASH_SCREEN);if(!event||!event.Callback)return null;var data={PreventDefault:false};event.Callback(event,data,this);return data;};this.DrawSplashScreen=function(option){var data=this.InvokeBeforeDrawSplashScreenCallback();if(data&&data.PreventDefault===true)return;if(this.Frame.ScreenImageData==null&&!this.CacheCanvas)return;if(this.Frame.ScreenImageData){this.Canvas.putImageData(this.Frame.ScreenImageData,0,0);}else if(this.CacheCanvas){this.Canvas.clearRect(0,0,this.UIElement.width,this.UIElement.height);this.Canvas.drawImage(this.CacheElement,0,0);}var bgColor=g_JSChartResource.SplashScreen.BGColor;this.Canvas.fillStyle=bgColor;this.Canvas.fillRect(0,0,this.UIElement.width,this.UIElement.height);if(this.ChartSplashPaint&&this.ChartSplashPaint.IsEnableSplash){var title=g_JSChartResource.SplashScreen.Title;if(option&&option.Title)title=option.Title;this.ChartSplashPaint.SetTitle(title);this.ChartSplashPaint.Draw();}};//十字光标坐标
2208
2209
  this.GetCorssCursorPosition=function(){var position={LastPoint:{X:this.LastPoint.X,Y:this.LastPoint.Y},CursorIndex:this.CursorIndex};return position;};this.IsLockCorssCursor=function(){if(!this.GlobalOption||!this.GlobalOption.LockCorssCursor)return false;return this.GlobalOption.LockCorssCursor.X.Enable;};//画动态信息
2209
2210
  this.DrawDynamicInfo=function(option){this.LastMouseStatus.MouseOnToolbar=null;//鼠标在工具栏按钮上
2210
2211
  if(this.ChartCorssCursor)this.ChartCorssCursor.Status=0;var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_BEFORE_DRAW_DYNAMIC_INFO);if(event&&event.Callback){var sendData={};event.Callback(event,sendData,this);}if(this.Frame.ScreenImageData==null&&!this.CacheCanvas)return;var isErase=false;if(this.ChartCorssCursor){if(this.ChartCorssCursor.PointX!=null||this.ChartCorssCursor.PointY!=null)isErase=true;}isErase=true;//每次都擦除背景
@@ -3865,7 +3866,7 @@ else valueType=3;//百分比
3865
3866
  {var kItem=this.Data.Data[i];if(IFrameSplitOperator.IsNumber(kItem.Close))value=kItem.Close;}else if(valueType==3){var minItem=this.Data.Data[i];var mainItem=this.MainData.Data[i];if(!minItem||!IFrameSplitOperator.IsNumber(minItem.Close)||!IFrameSplitOperator.IsNumber(minItem.YClose))continue;if(!mainItem||!IFrameSplitOperator.IsNumber(mainItem.Close)||!IFrameSplitOperator.IsNumber(mainItem.YClose))continue;var price=minItem.Close;var value=price/minItem.YClose*mainItem.YClose;}else{value=this.Data.Data[i];}if(value==null)continue;if(isMinute){var xLine=this.ChartFrame.GetXFromIndex(j);}else{var left=xOffset;var right=xOffset+dataWidth;if(right>chartright)break;var xLine=left+(right-left)/2;}var yLine=this.GetYFromData(value,false);if(xLine<x){ptStart.X=xLine;ptStart.Y=yLine;}else if(xLine==x){ptStart.X=ptEnd.X=xLine;ptStart.Y=ptEnd.Y=yLine;break;}else{ptEnd.X=xLine;ptEnd.Y=yLine;break;}if(x>chartright)break;}if(!IFrameSplitOperator.IsNumber(ptStart.X)||!IFrameSplitOperator.IsNumber(ptStart.Y))return null;if(!IFrameSplitOperator.IsNumber(ptEnd.X)||!IFrameSplitOperator.IsNumber(ptEnd.Y))return null;if(x==ptStart.X&&y==ptStart.Y)return{Identify:this.Identify,Chart:this};if(x==ptEnd.X&&y==ptEnd.Y)return{Identify:this.Identify,Chart:this};var lineWidth=5;this.Canvas.beginPath();if(ptStart.X==ptEnd.X)//竖线
3866
3867
  {this.Canvas.moveTo(ptStart.X-lineWidth,ptStart.Y);this.Canvas.lineTo(ptStart.X+lineWidth,ptStart.Y);this.Canvas.lineTo(ptEnd.X+lineWidth,ptEnd.Y);this.Canvas.lineTo(ptEnd.X-lineWidth,ptEnd.Y);}else{this.Canvas.moveTo(ptStart.X,ptStart.Y+lineWidth);this.Canvas.lineTo(ptStart.X,ptStart.Y-lineWidth);this.Canvas.lineTo(ptEnd.X,ptEnd.Y-lineWidth);this.Canvas.lineTo(ptEnd.X,ptEnd.Y+lineWidth);}this.Canvas.closePath();if(this.Canvas.isPointInPath(x,y))return{Identify:this.Identify,Chart:this};return null;};//option={ BarWidth:柱子宽度(空为K线宽度) }
3867
3868
  this.PtInBar=function(x,y,option){if(!this.IsShow||this.ChartFrame.IsMinSize)return null;var bHScreen=this.ChartFrame.IsHScreen===true;if(bHScreen)return null;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;var lockRect=this.GetLockRect();if(lockRect)chartright=lockRect.Left;if(x<xOffset||x>chartright)return null;if(y>border.BottomEx||y<border.TopEx)return null;var isMinute=this.IsMinuteFrame();var yBottom=this.ChartFrame.GetYFromData(0);var barWidth=null;var isMinuteVolBar=false;var isStackedBar=false;var volUnit=1;//成交量单位
3868
- if(option){if(option.BarWidth>0)barWidth=option.BarWidth;if(option.MinuteVolBar==true){isMinuteVolBar=true;barWidth=4;}else if(option.StackedBar==true){isStackedBar=true;}if(IFrameSplitOperator.IsNumber(option.VolUnit))volUnit=option.VolUnit;}for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j,xOffset+=dataWidth+distanceWidth){var value=this.Data.Data[i];if(value==null)continue;if(isMinute){var xLine=this.ChartFrame.GetXFromIndex(j);var left=xLine-barWidth/2;var right=left+barWidth;}else{var left=xOffset;var right=xOffset+dataWidth;if(right>chartright)break;}if(isMinuteVolBar){if(!IFrameSplitOperator.IsNumber(value.Vol))continue;var yBar=this.ChartFrame.GetYFromData(value.Vol/volUnit);var barTop=yBar,barBottom=yBottom;}else if(isStackedBar){var maxValue=0,minValue=0;if(!IFrameSplitOperator.IsNonEmptyArray(value))continue;for(var k=0;k<value.length;++k){var barValue=value[k];if(!IFrameSplitOperator.IsNumber(barValue))continue;if(barValue==0)continue;if(barValue>0)maxValue+=barValue;else if(barValue<0)minValue+=barValue;}var barTop=this.ChartFrame.GetYFromData(maxValue);var barBottom=this.ChartFrame.GetYFromData(minValue);}else{var yBar=this.ChartFrame.GetYFromData(value);var barTop=yBar,barBottom=yBottom;}if(barTop>barBottom){barTop=yBottom;barBottom=yBar;}var barLeft=left,barRight=right;if(barWidth>0){barLeft=left+(right-left)/2-barWidth/2;barRight=barLeft+barWidth;}if(x>=barLeft&&x<=barRight&&y>=barTop&&y<=barBottom)return{Identify:this.Identify,Chart:this};if(right>x)break;}return null;};this.PtInKBar=function(x,y,option){if(!this.IsShow||this.ChartFrame.IsMinSize)return null;var isHScreen=this.ChartFrame.IsHScreen===true;if(isHScreen)return null;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;}if(x<xOffset||x>chartright)return null;if(y>border.BottomEx||y<border.TopEx)return null;var firstOverlayOpen=null;var kBarType=0;var firstOpen=null;if(option&&option.OverlayKLine){kBarType=1;//叠加K线
3869
+ if(option){if(option.BarWidth>0)barWidth=option.BarWidth;if(option.MinuteVolBar==true){isMinuteVolBar=true;barWidth=4;}else if(option.StackedBar==true){isStackedBar=true;}if(IFrameSplitOperator.IsNumber(option.VolUnit))volUnit=option.VolUnit;}for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j,xOffset+=dataWidth+distanceWidth){var value=this.Data.Data[i];if(value==null)continue;if(isMinute){var xLine=this.ChartFrame.GetXFromIndex(j);var left=xLine-barWidth/2;var right=left+barWidth;}else{var left=xOffset;var right=xOffset+dataWidth;if(right>chartright)break;}if(isMinuteVolBar){if(!IFrameSplitOperator.IsNumber(value.Vol))continue;var yBar=this.ChartFrame.GetYFromData(value.Vol/volUnit);var barTop=yBar,barBottom=yBottom;}else if(isStackedBar){var maxValue=0,minValue=0;if(!IFrameSplitOperator.IsNonEmptyArray(value))continue;for(var k=0;k<value.length;++k){var barValue=value[k];if(!IFrameSplitOperator.IsNumber(barValue))continue;if(barValue==0)continue;if(barValue>0)maxValue+=barValue;else if(barValue<0)minValue+=barValue;}var barTop=this.ChartFrame.GetYFromData(maxValue);var barBottom=this.ChartFrame.GetYFromData(minValue);}else{var yBar=this.ChartFrame.GetYFromData(value);var barTop=yBar,barBottom=yBottom;}if(barTop>barBottom){barTop=yBottom;barBottom=yBar;}var barLeft=left,barRight=right;if(barWidth>0){barLeft=left+(right-left)/2-barWidth/2;barRight=barLeft+barWidth;}if(x>=barLeft&&x<=barRight&&y>=barTop&&y<=barBottom)return{Identify:this.Identify,Chart:this};if(right>x)break;}return null;};this.PtInKBar=function(x,y,option){if(!this.IsShow||this.ChartFrame.IsMinSize)return null;var isHScreen=this.ChartFrame.IsHScreen===true;if(isHScreen)return null;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(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return null;if(isHScreen){var border=this.ChartBorder.GetHScreenBorder();xOffset=border.TopEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;chartright=border.BottomEx;}if(x<xOffset||x>chartright)return null;if(y>border.BottomEx||y<border.TopEx)return null;var firstOverlayOpen=null;var kBarType=0;var firstOpen=null;if(option&&option.OverlayKLine){kBarType=1;//叠加K线
3869
3870
  firstOpen=this.GetFirstOpen();}for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j,xOffset+=dataWidth+distanceWidth){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;var left=xOffset;var right=xOffset+dataWidth;if(right>chartright)break;if(x>=left&&x<=right){if(kBarType==1){var yLow=this.GetYFromData(data.Low/firstOverlayOpen*firstOpen,false);var yHigh=this.GetYFromData(data.High/firstOverlayOpen*firstOpen,false);}else{var yLow=this.GetYFromData(data.Low,false);var yHigh=this.GetYFromData(data.High,false);}if(y<=yLow&&y>=yHigh)return{Identify:this.Identify,Chart:this};}if(right>x)break;}};this.IsShowIndexTitleOnly=function(){if(this.ChartFrame&&this.ChartFrame.ChartBorder&&this.ChartFrame.ChartBorder.IsShowTitleOnly)return true;return false;};//是否隐藏指标
3870
3871
  this.IsHideScriptIndex=function(){if(this.Script&&this.Script.IsShow==false)return true;return false;};//导出单数组数据
3871
3872
  this.ExportArrayData=function(aryKData,option){var data=this.Data.ExportArrayData(aryKData,option);return[{Name:this.Name,Data:data}];};this.ExportBoolData=function(aryKData,option){var data=this.Data.ExportBoolData(aryKData,option);return[{Name:this.Name,Data:data}];};//获取单数组的数据某一个数据 indexData={ Index:数据索引 }
@@ -4326,7 +4327,8 @@ this.Title;this.DrawType=0;this.CustomDrawType=null;//图形类型
4326
4327
  this.Status=OVERLAY_STATUS_ID.STATUS_NONE_ID;this.IsDelete=false;//是否已经删除
4327
4328
  this.CloseLineWidth=g_JSChartResource.CloseLineWidth;this.ShowRange={};//K线显示范围 { Start:, End:, DataCount:, ShowCount: }
4328
4329
  this.DrawKRange={Start:null,End:null};//当前屏K线的索引{ Start: , End:}
4329
- this.YInfoType=4;this.SetOption=function(option){if(!option)return;if(IFrameSplitOperator.IsNumber(option.DrawType))this.CustomDrawType=option.DrawType;if(IFrameSplitOperator.IsNumber(option.YInfoType))this.YInfoType=option.YInfoType;};this.DrawKBar=function(firstOpen)//firstOpen 当前屏第1个显示数据
4330
+ this.YInfoConfig={Type:0,IsShowName:false//右侧Y轴自定刻度设置 0不显示 3=名字|最新价 4=名字|涨幅
4331
+ };this.SetOption=function(option){if(!option)return;if(IFrameSplitOperator.IsNumber(option.DrawType))this.CustomDrawType=option.DrawType;if(IFrameSplitOperator.IsNumber(option.YInfoType))this.YInfoConfig.Type=option.YInfoType;if(option.YInfo){var item=option.YInfo;if(IFrameSplitOperator.IsNumber(item.Type))this.YInfoConfig.Type=item.Type;if(IFrameSplitOperator.IsBool(item.IsShowName))this.YInfoConfig.IsShowName=item.IsShowName;}};this.DrawKBar=function(firstOpen)//firstOpen 当前屏第1个显示数据
4330
4332
  {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 drawType=this.DrawType;if(this.CustomDrawType!=null)drawType=this.CustomDrawType;var isFristDraw=true;var firstOverlayOpen=null;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;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||data.Open==null||data.High==null||data.Low==null||data.Close==null)continue;if(firstOverlayOpen==null){firstOverlayOpen=data.Open;this.ShowRange.FirstOverlayOpen=data.Open;}if(isFristDraw){this.Canvas.strokeStyle=this.Color;this.Canvas.fillStyle=this.Color;this.Canvas.beginPath();isFristDraw=false;}var left=xOffset;var right=xOffset+dataWidth;if(right>chartright)break;var x=left+(right-left)/2;var yLow=this.GetYFromData(data.Low/firstOverlayOpen*firstOpen,false);var yHigh=this.GetYFromData(data.High/firstOverlayOpen*firstOpen,false);var yOpen=this.GetYFromData(data.Open/firstOverlayOpen*firstOpen,false);var yClose=this.GetYFromData(data.Close/firstOverlayOpen*firstOpen,false);var y=yHigh;this.DrawKRange.End=i;if(data.Open<data.Close)//阳线
4331
4333
  {if(dataWidth>=4){if(data.High>data.Close)//上影线
4332
4334
  {if(isHScreen){this.Canvas.moveTo(ToFixedPoint(y),ToFixedPoint(x));this.Canvas.lineTo(ToFixedPoint(this.DrawType==3?Math.max(yClose,yOpen):yClose),ToFixedPoint(x));}else{this.Canvas.moveTo(ToFixedPoint(x),ToFixedPoint(y));this.Canvas.lineTo(ToFixedPoint(x),ToFixedPoint(this.DrawType==3?Math.min(yClose,yOpen):yClose));}y=yClose;}else{y=yClose;}if(isHScreen){if(Math.abs(yOpen-y)<1){this.Canvas.fillRect(ToFixedRect(y),ToFixedRect(left),1,ToFixedRect(dataWidth));//高度小于1,统一使用高度1
@@ -8654,7 +8656,7 @@ this.OverlaySymbol=function(symbol,option){for(var i in this.OverlayChartPaint){
8654
8656
  this.OverlayChartPaint.push(paint);if(ChartData.IsDayPeriod(this.Period,true))this.RequestOverlayHistoryData();//请求日线数据
8655
8657
  else if(ChartData.IsMinutePeriod(this.Period,true))this.RequestOverlayHistoryMinuteData();//请求分钟历史数据
8656
8658
  return true;};this.RequestSingleOverlayHistoryData=function(symbol,dataCount,firstDate,item){var self=this;item.Status=OVERLAY_STATUS_ID.STATUS_REQUESTDATA_ID;if(this.NetworkFilter){var obj={Name:'KLineChartContainer::RequestOverlayHistoryData',//类名::
8657
- Explain:'叠加股票日K线数据',Request:{Url:self.KLineApiUrl,Data:{symbol:symbol,count:dataCount.MaxRequestDataCount,"first":{date:firstDate},field:["name","symbol","yclose","open","price","high",'vol','amount']},Type:'POST'},Self:this,PreventDefault:false};this.NetworkFilter(obj,function(data){item.Status=OVERLAY_STATUS_ID.STATUS_RECVDATA_ID;self.RecvOverlayHistoryData(data,item);});if(obj.PreventDefault==true)return;//已被上层替换,不调用默认的网络请求
8659
+ Explain:'叠加股票日K线数据',Request:{Url:self.KLineApiUrl,Data:{symbol:symbol,period:this.Period,count:dataCount.MaxRequestDataCount,first:{date:firstDate},Main:{Symbol:this.Symbol,Period:this.Period,Right:this.Right}}},Self:this,PreventDefault:false};this.NetworkFilter(obj,function(data){item.Status=OVERLAY_STATUS_ID.STATUS_RECVDATA_ID;self.RecvOverlayHistoryData(data,item);});if(obj.PreventDefault==true)return;//已被上层替换,不调用默认的网络请求
8658
8660
  }};this.RequestOverlayHistoryData=function(){if(!this.OverlayChartPaint.length)return;if(!this.SourceData||!this.SourceData.Data)return;//主图数据还没有到完
8659
8661
  var self=this;var dataCount=this.GetRequestDataCount();var firstDate=this.SourceData.Data[0].Date;for(var i=0;i<this.OverlayChartPaint.length;++i){var _item4=this.OverlayChartPaint[i];if(!_item4.MainData)continue;//等待主图股票数据未下载完
8660
8662
  if(_item4.Status!=OVERLAY_STATUS_ID.STATUS_NONE_ID)continue;var symbol=_item4.Symbol;if(!symbol)continue;this.RequestSingleOverlayHistoryData(symbol,dataCount,firstDate,_item4);}};this.RecvOverlayHistoryData=function(data,paint){if(paint.IsDelete)return;var aryDayData=KLineChartContainer.JsonDataToHistoryData(data);//原始叠加数据
@@ -8665,7 +8667,7 @@ bindData.Data=aryOverlayData;if(ChartData.IsDayPeriod(bindData.Period,false)&&!t
8665
8667
  this.UpdataDataoffset();//更新数据偏移
8666
8668
  this.UpdateFrameMaxMin();//调整坐标最大 最小值
8667
8669
  this.Frame.SetSizeChage(true);this.Draw();};this.RequestSingleHistoryMinuteData=function(symbol,dataCount,firstDate,firstTime,item){var self=this;item.Status=OVERLAY_STATUS_ID.STATUS_REQUESTDATA_ID;if(this.NetworkFilter){var obj={Name:'KLineChartContainer::RequestOverlayHistoryMinuteData',//类名::
8668
- Explain:'叠加股票分钟K线数据',Request:{Url:self.MinuteKLineApiUrl,Data:{symbol:symbol,count:dataCount.MaxRequestMinuteDayCount,"first":{date:firstDate,time:firstTime},field:["name","symbol","yclose","open","price","high",'vol','amount']},Type:'POST'},Self:this,PreventDefault:false};this.NetworkFilter(obj,function(data){item.Status=OVERLAY_STATUS_ID.STATUS_RECVDATA_ID;self.RecvOveralyHistoryMinuteData(data,item);});if(obj.PreventDefault==true)return;//已被上层替换,不调用默认的网络请求
8670
+ Explain:'叠加股票分钟K线数据',Request:{Url:self.MinuteKLineApiUrl,Data:{symbol:symbol,period:this.Period,count:dataCount.MaxRequestMinuteDayCount,first:{date:firstDate,time:firstTime},Main:{Symbol:this.Symbol,Period:this.Period,Right:this.Right}}},Self:this,PreventDefault:false};this.NetworkFilter(obj,function(data){item.Status=OVERLAY_STATUS_ID.STATUS_RECVDATA_ID;self.RecvOveralyHistoryMinuteData(data,item);});if(obj.PreventDefault==true)return;//已被上层替换,不调用默认的网络请求
8669
8671
  }};this.RequestOverlayHistoryMinuteData=function(){if(!this.OverlayChartPaint.length)return;if(!this.SourceData||!this.SourceData.Data)return;//主图数据还没有到完
8670
8672
  var self=this;var dataCount=this.GetRequestDataCount();var firstDate=this.SourceData.Data[0].Date;var firstTime=this.SourceData.Data[0].Time;for(var i=0;i<this.OverlayChartPaint.length;++i){var _item5=this.OverlayChartPaint[i];if(!_item5.MainData)continue;//等待主图股票数据未下载完
8671
8673
  if(_item5.Status!=OVERLAY_STATUS_ID.STATUS_NONE_ID)continue;var symbol=_item5.Symbol;if(!symbol)continue;this.RequestSingleHistoryMinuteData(symbol,dataCount,firstDate,firstTime,_item5);}};this.RecvOveralyHistoryMinuteData=function(data,paint){if(this.EnableVerifyRecvData&&data.symbol!=paint.Symbol){JSConsole.Chart.Warn('[MinuteChartContainer::RecvOveralyHistoryMinuteData] recv data symbol not match. paint['+paint.Symbol+'] , Recv['+data.symbol+']');return;}var aryDayData=KLineChartContainer.JsonDataToMinuteHistoryData(data);if(!aryDayData)return;//原始叠加数据
@@ -15783,7 +15785,7 @@ hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,St
15783
15785
  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);};}/********************************************************************************
15784
15786
  * 版本信息输出
15785
15787
  *
15786
- */var HQCHART_VERSION="1.1.15374";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();//把给外界调用的方法暴露出来
15788
+ */var HQCHART_VERSION="1.1.15381";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();//把给外界调用的方法暴露出来
15787
15789
  exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
15788
15790
  // BaseIndex:BaseIndex,
15789
15791
  // ChartLine:ChartLine,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hqchart",
3
- "version": "1.1.15375",
3
+ "version": "1.1.15382",
4
4
  "description": "HQChart - H5, 微信小程序 沪深/港股/数字货币/期货/美股 K线图(kline),走势图,缩放,拖拽,十字光标,画图工具,截图,筹码图. 分析家语法,通达信语法,(麦语法),第3方数据对接",
5
5
  "main": "lib/main.js",
6
6
  "scripts": {
@@ -7076,7 +7076,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
7076
7076
  {
7077
7077
  var item=this.OverlayChartPaint[i];
7078
7078
  if (!item) continue;
7079
- if (item.YInfoType!=4) continue;
7079
+ if (item.YInfoConfig.Type===0) continue;
7080
7080
  var data=item.Data;
7081
7081
  if (!data || !IFrameSplitOperator.IsNonEmptyArray(data.Data)) continue;
7082
7082
  if (!IFrameSplitOperator.IsNumber(item.DrawKRange.Start) || !IFrameSplitOperator.IsNumber(item.DrawKRange.End)) continue;
@@ -7096,15 +7096,29 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
7096
7096
 
7097
7097
  var endKLine=data.Data[item.DrawKRange.End];
7098
7098
  var value=(endKLine.Close-startKLine.Close)/startKLine.Close*100;
7099
-
7099
+ var text="";
7100
+ if (item.YInfoConfig.Type===3)
7101
+ {
7102
+ var dec=GetfloatPrecision(item.Symbol); //小数位数
7103
+ text=endKLine.Close.toFixed(dec);
7104
+ }
7105
+ else if (item.YInfoConfig.Type===4)
7106
+ {
7107
+ text=value.toFixed(2)+"%";
7108
+ }
7109
+ else
7110
+ {
7111
+ continue;
7112
+ }
7113
+
7100
7114
  var info=new CoordinateInfo();
7101
7115
  info.Value=endKLine.Close/item.ShowRange.FirstOverlayOpen*item.ShowRange.FirstOpen;
7102
- info.Message[1]=value.toFixed(2)+"%";
7116
+ info.Message[1]=text
7103
7117
  info.LineType=-1;
7104
- info.Type=item.YInfoType; //叠加股票
7118
+ info.Type=4; //叠加股票
7105
7119
  info.LineColor=item.Color;
7106
7120
  info.TextColor=g_JSChartResource.FrameLatestPrice.OverlayTextColor;
7107
- if (item.Title) info.Title=item.Title;
7121
+ if (item.Title && item.YInfoConfig.IsShowName) info.Title=item.Title;
7108
7122
  frame.CustomHorizontalInfo.push(info);
7109
7123
  }
7110
7124
  }
@@ -27590,6 +27604,7 @@ function IChartPainting()
27590
27604
  var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;
27591
27605
  var chartright=border.RightEx;
27592
27606
  var xPointCount=this.ChartFrame.XPointCount;
27607
+ if (!this.Data || !IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) return null;
27593
27608
 
27594
27609
  if (isHScreen)
27595
27610
  {
@@ -33926,13 +33941,19 @@ function ChartOverlayKLine()
33926
33941
  this.CloseLineWidth=g_JSChartResource.CloseLineWidth;
33927
33942
  this.ShowRange={ }; //K线显示范围 { Start:, End:, DataCount:, ShowCount: }
33928
33943
  this.DrawKRange={ Start:null, End:null }; //当前屏K线的索引{ Start: , End:}
33929
- this.YInfoType=4;
33944
+ this.YInfoConfig={ Type:0, IsShowName:false } //右侧Y轴自定刻度设置 0不显示 3=名字|最新价 4=名字|涨幅
33930
33945
 
33931
33946
  this.SetOption=function(option)
33932
33947
  {
33933
33948
  if (!option) return;
33934
33949
  if (IFrameSplitOperator.IsNumber(option.DrawType)) this.CustomDrawType=option.DrawType;
33935
- if (IFrameSplitOperator.IsNumber(option.YInfoType)) this.YInfoType=option.YInfoType;
33950
+ if (IFrameSplitOperator.IsNumber(option.YInfoType)) this.YInfoConfig.Type=option.YInfoType;
33951
+ if (option.YInfo)
33952
+ {
33953
+ var item=option.YInfo;
33954
+ if (IFrameSplitOperator.IsNumber(item.Type)) this.YInfoConfig.Type=item.Type;
33955
+ if (IFrameSplitOperator.IsBool(item.IsShowName)) this.YInfoConfig.IsShowName=item.IsShowName;
33956
+ }
33936
33957
  }
33937
33958
 
33938
33959
  this.DrawKBar=function(firstOpen) //firstOpen 当前屏第1个显示数据
@@ -88046,8 +88067,15 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
88046
88067
  {
88047
88068
  Name:'KLineChartContainer::RequestOverlayHistoryData', //类名::
88048
88069
  Explain:'叠加股票日K线数据',
88049
- Request:{ Url:self.KLineApiUrl, Data: { symbol: symbol, count: dataCount.MaxRequestDataCount,"first":{ date: firstDate },
88050
- field:["name","symbol","yclose","open","price","high",'vol','amount'] }, Type:'POST' },
88070
+ Request:
88071
+ {
88072
+ Url:self.KLineApiUrl,
88073
+ Data:
88074
+ {
88075
+ symbol: symbol, period:this.Period, count: dataCount.MaxRequestDataCount, first:{ date: firstDate },
88076
+ Main:{ Symbol:this.Symbol, Period:this.Period, Right:this.Right }
88077
+ },
88078
+ },
88051
88079
  Self:this,
88052
88080
  PreventDefault:false
88053
88081
  };
@@ -88139,8 +88167,15 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
88139
88167
  {
88140
88168
  Name:'KLineChartContainer::RequestOverlayHistoryMinuteData', //类名::
88141
88169
  Explain:'叠加股票分钟K线数据',
88142
- Request:{ Url:self.MinuteKLineApiUrl, Data: { symbol: symbol, count: dataCount.MaxRequestMinuteDayCount,"first":{ date: firstDate, time:firstTime },
88143
- field:["name","symbol","yclose","open","price","high",'vol','amount'] }, Type:'POST' },
88170
+ Request:
88171
+ {
88172
+ Url:self.MinuteKLineApiUrl,
88173
+ Data:
88174
+ {
88175
+ symbol: symbol, period:this.Period, count: dataCount.MaxRequestMinuteDayCount, first:{ date: firstDate, time:firstTime },
88176
+ Main:{ Symbol:this.Symbol, Period:this.Period, Right:this.Right }
88177
+ },
88178
+ },
88144
88179
  Self:this,
88145
88180
  PreventDefault:false
88146
88181
  };
@@ -11172,7 +11172,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
11172
11172
  {
11173
11173
  var item=this.OverlayChartPaint[i];
11174
11174
  if (!item) continue;
11175
- if (item.YInfoType!=4) continue;
11175
+ if (item.YInfoConfig.Type===0) continue;
11176
11176
  var data=item.Data;
11177
11177
  if (!data || !IFrameSplitOperator.IsNonEmptyArray(data.Data)) continue;
11178
11178
  if (!IFrameSplitOperator.IsNumber(item.DrawKRange.Start) || !IFrameSplitOperator.IsNumber(item.DrawKRange.End)) continue;
@@ -11192,15 +11192,29 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
11192
11192
 
11193
11193
  var endKLine=data.Data[item.DrawKRange.End];
11194
11194
  var value=(endKLine.Close-startKLine.Close)/startKLine.Close*100;
11195
-
11195
+ var text="";
11196
+ if (item.YInfoConfig.Type===3)
11197
+ {
11198
+ var dec=GetfloatPrecision(item.Symbol); //小数位数
11199
+ text=endKLine.Close.toFixed(dec);
11200
+ }
11201
+ else if (item.YInfoConfig.Type===4)
11202
+ {
11203
+ text=value.toFixed(2)+"%";
11204
+ }
11205
+ else
11206
+ {
11207
+ continue;
11208
+ }
11209
+
11196
11210
  var info=new CoordinateInfo();
11197
11211
  info.Value=endKLine.Close/item.ShowRange.FirstOverlayOpen*item.ShowRange.FirstOpen;
11198
- info.Message[1]=value.toFixed(2)+"%";
11212
+ info.Message[1]=text
11199
11213
  info.LineType=-1;
11200
- info.Type=item.YInfoType; //叠加股票
11214
+ info.Type=4; //叠加股票
11201
11215
  info.LineColor=item.Color;
11202
11216
  info.TextColor=g_JSChartResource.FrameLatestPrice.OverlayTextColor;
11203
- if (item.Title) info.Title=item.Title;
11217
+ if (item.Title && item.YInfoConfig.IsShowName) info.Title=item.Title;
11204
11218
  frame.CustomHorizontalInfo.push(info);
11205
11219
  }
11206
11220
  }
@@ -31686,6 +31700,7 @@ function IChartPainting()
31686
31700
  var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;
31687
31701
  var chartright=border.RightEx;
31688
31702
  var xPointCount=this.ChartFrame.XPointCount;
31703
+ if (!this.Data || !IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) return null;
31689
31704
 
31690
31705
  if (isHScreen)
31691
31706
  {
@@ -38022,13 +38037,19 @@ function ChartOverlayKLine()
38022
38037
  this.CloseLineWidth=g_JSChartResource.CloseLineWidth;
38023
38038
  this.ShowRange={ }; //K线显示范围 { Start:, End:, DataCount:, ShowCount: }
38024
38039
  this.DrawKRange={ Start:null, End:null }; //当前屏K线的索引{ Start: , End:}
38025
- this.YInfoType=4;
38040
+ this.YInfoConfig={ Type:0, IsShowName:false } //右侧Y轴自定刻度设置 0不显示 3=名字|最新价 4=名字|涨幅
38026
38041
 
38027
38042
  this.SetOption=function(option)
38028
38043
  {
38029
38044
  if (!option) return;
38030
38045
  if (IFrameSplitOperator.IsNumber(option.DrawType)) this.CustomDrawType=option.DrawType;
38031
- if (IFrameSplitOperator.IsNumber(option.YInfoType)) this.YInfoType=option.YInfoType;
38046
+ if (IFrameSplitOperator.IsNumber(option.YInfoType)) this.YInfoConfig.Type=option.YInfoType;
38047
+ if (option.YInfo)
38048
+ {
38049
+ var item=option.YInfo;
38050
+ if (IFrameSplitOperator.IsNumber(item.Type)) this.YInfoConfig.Type=item.Type;
38051
+ if (IFrameSplitOperator.IsBool(item.IsShowName)) this.YInfoConfig.IsShowName=item.IsShowName;
38052
+ }
38032
38053
  }
38033
38054
 
38034
38055
  this.DrawKBar=function(firstOpen) //firstOpen 当前屏第1个显示数据
@@ -92142,8 +92163,15 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
92142
92163
  {
92143
92164
  Name:'KLineChartContainer::RequestOverlayHistoryData', //类名::
92144
92165
  Explain:'叠加股票日K线数据',
92145
- Request:{ Url:self.KLineApiUrl, Data: { symbol: symbol, count: dataCount.MaxRequestDataCount,"first":{ date: firstDate },
92146
- field:["name","symbol","yclose","open","price","high",'vol','amount'] }, Type:'POST' },
92166
+ Request:
92167
+ {
92168
+ Url:self.KLineApiUrl,
92169
+ Data:
92170
+ {
92171
+ symbol: symbol, period:this.Period, count: dataCount.MaxRequestDataCount, first:{ date: firstDate },
92172
+ Main:{ Symbol:this.Symbol, Period:this.Period, Right:this.Right }
92173
+ },
92174
+ },
92147
92175
  Self:this,
92148
92176
  PreventDefault:false
92149
92177
  };
@@ -92235,8 +92263,15 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
92235
92263
  {
92236
92264
  Name:'KLineChartContainer::RequestOverlayHistoryMinuteData', //类名::
92237
92265
  Explain:'叠加股票分钟K线数据',
92238
- Request:{ Url:self.MinuteKLineApiUrl, Data: { symbol: symbol, count: dataCount.MaxRequestMinuteDayCount,"first":{ date: firstDate, time:firstTime },
92239
- field:["name","symbol","yclose","open","price","high",'vol','amount'] }, Type:'POST' },
92266
+ Request:
92267
+ {
92268
+ Url:self.MinuteKLineApiUrl,
92269
+ Data:
92270
+ {
92271
+ symbol: symbol, period:this.Period, count: dataCount.MaxRequestMinuteDayCount, first:{ date: firstDate, time:firstTime },
92272
+ Main:{ Symbol:this.Symbol, Period:this.Period, Right:this.Right }
92273
+ },
92274
+ },
92240
92275
  Self:this,
92241
92276
  PreventDefault:false
92242
92277
  };
@@ -155515,7 +155550,7 @@ function ScrollBarBGChart()
155515
155550
 
155516
155551
 
155517
155552
 
155518
- var HQCHART_VERSION="1.1.15374";
155553
+ var HQCHART_VERSION="1.1.15381";
155519
155554
 
155520
155555
  function PrintHQChartVersion()
155521
155556
  {
@@ -5,7 +5,7 @@
5
5
 
6
6
 
7
7
 
8
- var HQCHART_VERSION="1.1.15374";
8
+ var HQCHART_VERSION="1.1.15381";
9
9
 
10
10
  function PrintHQChartVersion()
11
11
  {
@@ -11216,7 +11216,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
11216
11216
  {
11217
11217
  var item=this.OverlayChartPaint[i];
11218
11218
  if (!item) continue;
11219
- if (item.YInfoType!=4) continue;
11219
+ if (item.YInfoConfig.Type===0) continue;
11220
11220
  var data=item.Data;
11221
11221
  if (!data || !IFrameSplitOperator.IsNonEmptyArray(data.Data)) continue;
11222
11222
  if (!IFrameSplitOperator.IsNumber(item.DrawKRange.Start) || !IFrameSplitOperator.IsNumber(item.DrawKRange.End)) continue;
@@ -11236,15 +11236,29 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
11236
11236
 
11237
11237
  var endKLine=data.Data[item.DrawKRange.End];
11238
11238
  var value=(endKLine.Close-startKLine.Close)/startKLine.Close*100;
11239
-
11239
+ var text="";
11240
+ if (item.YInfoConfig.Type===3)
11241
+ {
11242
+ var dec=GetfloatPrecision(item.Symbol); //小数位数
11243
+ text=endKLine.Close.toFixed(dec);
11244
+ }
11245
+ else if (item.YInfoConfig.Type===4)
11246
+ {
11247
+ text=value.toFixed(2)+"%";
11248
+ }
11249
+ else
11250
+ {
11251
+ continue;
11252
+ }
11253
+
11240
11254
  var info=new CoordinateInfo();
11241
11255
  info.Value=endKLine.Close/item.ShowRange.FirstOverlayOpen*item.ShowRange.FirstOpen;
11242
- info.Message[1]=value.toFixed(2)+"%";
11256
+ info.Message[1]=text
11243
11257
  info.LineType=-1;
11244
- info.Type=item.YInfoType; //叠加股票
11258
+ info.Type=4; //叠加股票
11245
11259
  info.LineColor=item.Color;
11246
11260
  info.TextColor=g_JSChartResource.FrameLatestPrice.OverlayTextColor;
11247
- if (item.Title) info.Title=item.Title;
11261
+ if (item.Title && item.YInfoConfig.IsShowName) info.Title=item.Title;
11248
11262
  frame.CustomHorizontalInfo.push(info);
11249
11263
  }
11250
11264
  }
@@ -31730,6 +31744,7 @@ function IChartPainting()
31730
31744
  var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;
31731
31745
  var chartright=border.RightEx;
31732
31746
  var xPointCount=this.ChartFrame.XPointCount;
31747
+ if (!this.Data || !IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) return null;
31733
31748
 
31734
31749
  if (isHScreen)
31735
31750
  {
@@ -38066,13 +38081,19 @@ function ChartOverlayKLine()
38066
38081
  this.CloseLineWidth=g_JSChartResource.CloseLineWidth;
38067
38082
  this.ShowRange={ }; //K线显示范围 { Start:, End:, DataCount:, ShowCount: }
38068
38083
  this.DrawKRange={ Start:null, End:null }; //当前屏K线的索引{ Start: , End:}
38069
- this.YInfoType=4;
38084
+ this.YInfoConfig={ Type:0, IsShowName:false } //右侧Y轴自定刻度设置 0不显示 3=名字|最新价 4=名字|涨幅
38070
38085
 
38071
38086
  this.SetOption=function(option)
38072
38087
  {
38073
38088
  if (!option) return;
38074
38089
  if (IFrameSplitOperator.IsNumber(option.DrawType)) this.CustomDrawType=option.DrawType;
38075
- if (IFrameSplitOperator.IsNumber(option.YInfoType)) this.YInfoType=option.YInfoType;
38090
+ if (IFrameSplitOperator.IsNumber(option.YInfoType)) this.YInfoConfig.Type=option.YInfoType;
38091
+ if (option.YInfo)
38092
+ {
38093
+ var item=option.YInfo;
38094
+ if (IFrameSplitOperator.IsNumber(item.Type)) this.YInfoConfig.Type=item.Type;
38095
+ if (IFrameSplitOperator.IsBool(item.IsShowName)) this.YInfoConfig.IsShowName=item.IsShowName;
38096
+ }
38076
38097
  }
38077
38098
 
38078
38099
  this.DrawKBar=function(firstOpen) //firstOpen 当前屏第1个显示数据
@@ -92186,8 +92207,15 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
92186
92207
  {
92187
92208
  Name:'KLineChartContainer::RequestOverlayHistoryData', //类名::
92188
92209
  Explain:'叠加股票日K线数据',
92189
- Request:{ Url:self.KLineApiUrl, Data: { symbol: symbol, count: dataCount.MaxRequestDataCount,"first":{ date: firstDate },
92190
- field:["name","symbol","yclose","open","price","high",'vol','amount'] }, Type:'POST' },
92210
+ Request:
92211
+ {
92212
+ Url:self.KLineApiUrl,
92213
+ Data:
92214
+ {
92215
+ symbol: symbol, period:this.Period, count: dataCount.MaxRequestDataCount, first:{ date: firstDate },
92216
+ Main:{ Symbol:this.Symbol, Period:this.Period, Right:this.Right }
92217
+ },
92218
+ },
92191
92219
  Self:this,
92192
92220
  PreventDefault:false
92193
92221
  };
@@ -92279,8 +92307,15 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
92279
92307
  {
92280
92308
  Name:'KLineChartContainer::RequestOverlayHistoryMinuteData', //类名::
92281
92309
  Explain:'叠加股票分钟K线数据',
92282
- Request:{ Url:self.MinuteKLineApiUrl, Data: { symbol: symbol, count: dataCount.MaxRequestMinuteDayCount,"first":{ date: firstDate, time:firstTime },
92283
- field:["name","symbol","yclose","open","price","high",'vol','amount'] }, Type:'POST' },
92310
+ Request:
92311
+ {
92312
+ Url:self.MinuteKLineApiUrl,
92313
+ Data:
92314
+ {
92315
+ symbol: symbol, period:this.Period, count: dataCount.MaxRequestMinuteDayCount, first:{ date: firstDate, time:firstTime },
92316
+ Main:{ Symbol:this.Symbol, Period:this.Period, Right:this.Right }
92317
+ },
92318
+ },
92284
92319
  Self:this,
92285
92320
  PreventDefault:false
92286
92321
  };
@@ -167574,7 +167609,7 @@ function HQChartScriptWorker()
167574
167609
 
167575
167610
 
167576
167611
 
167577
- var HQCHART_VERSION="1.1.15374";
167612
+ var HQCHART_VERSION="1.1.15381";
167578
167613
 
167579
167614
  function PrintHQChartVersion()
167580
167615
  {