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.
package/lib/umychart.vue.js
CHANGED
|
@@ -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.
|
|
2207
|
-
|
|
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.
|
|
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,
|
|
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,
|
|
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.
|
|
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
package/src/jscommon/umychart.js
CHANGED
|
@@ -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.
|
|
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]=
|
|
7116
|
+
info.Message[1]=text
|
|
7103
7117
|
info.LineType=-1;
|
|
7104
|
-
info.Type=
|
|
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.
|
|
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.
|
|
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:
|
|
88050
|
-
|
|
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:
|
|
88143
|
-
|
|
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.
|
|
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]=
|
|
11212
|
+
info.Message[1]=text
|
|
11199
11213
|
info.LineType=-1;
|
|
11200
|
-
info.Type=
|
|
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.
|
|
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.
|
|
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:
|
|
92146
|
-
|
|
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:
|
|
92239
|
-
|
|
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.
|
|
155553
|
+
var HQCHART_VERSION="1.1.15381";
|
|
155519
155554
|
|
|
155520
155555
|
function PrintHQChartVersion()
|
|
155521
155556
|
{
|
|
@@ -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.
|
|
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]=
|
|
11256
|
+
info.Message[1]=text
|
|
11243
11257
|
info.LineType=-1;
|
|
11244
|
-
info.Type=
|
|
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.
|
|
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.
|
|
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:
|
|
92190
|
-
|
|
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:
|
|
92283
|
-
|
|
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.
|
|
167612
|
+
var HQCHART_VERSION="1.1.15381";
|
|
167578
167613
|
|
|
167579
167614
|
function PrintHQChartVersion()
|
|
167580
167615
|
{
|