hqchart 1.1.14484 → 1.1.14487

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.
@@ -2182,11 +2182,11 @@ this.OnChangeCorssCursorStatus=function(data,obj){if(data.Type==1){if(!data.IsSh
2182
2182
  {this.HideTooltip();this.CloseTooltipDialog();}}};//手动更新指标 [ {ID:主图指标ID, OverlayID:叠加指标ID }]
2183
2183
  this.UpdateWindowIndexV2=function(aryIndex,option){if(!this.Frame||!this.Frame.SubFrame)return false;var kData=this.GetKData();if(!kData||!IFrameSplitOperator.IsNonEmptyArray(kData.Data))return false;if(!IFrameSplitOperator.IsNonEmptyArray(aryIndex))return false;var setMainIndex=new _set2.default();//主图指标
2184
2184
  var setOverlayIndex=new _set2.default();//附图指标
2185
- for(var i=0;aryIndex.length;++i){var item=aryIndex[i];if(!item)continue;if(item.ID)setMainIndex.set(item.ID);if(item.OverlayID)setOverlayIndex.set(item.OverlayID);}if(setMainIndex.size<=0&&setOverlayIndex.size<0)return false;//K线数据
2185
+ for(var i=0;i<aryIndex.length;++i){var item=aryIndex[i];if(!item)continue;if(item.ID)setMainIndex.add(item.ID);if(item.OverlayID)setOverlayIndex.add(item.OverlayID);}if(setMainIndex.size<=0&&setOverlayIndex.size<0)return false;//K线数据
2186
2186
  var bindData=new ChartData();if(kData)bindData.Data=kData.Data;if(this.IsKLineContainer())//K线
2187
2187
  {bindData.Period=this.Period;bindData.Right=this.Right;}//主图指标
2188
2188
  if(setMainIndex.size>0){for(var i=0;i<this.WindowIndex.length;++i){var item=this.WindowIndex[i];if(!item)continue;if(setMainIndex.has(item.ID)){this.BindIndexData(i,bindData);}}}//叠加指标
2189
- if(setOverlayIndex.size>0){for(var i=0;i<this.Frame.SubFrame.length;++i){var item=this.Frame.SubFrame[i];for(var j=0;j<item.OverlayIndex.length;++j){var overlayItem=item.OverlayIndex[j];if(setOverlayIndex.has(overlayItem.Identify)){this.BindOverlayIndexData(overlayItem,i,hisData);}}}}var bDraw=true;if(option&&option.Draw===false)bDraw=false;if(bDraw){this.UpdataDataoffset();//更新数据偏移
2189
+ if(setOverlayIndex.size>0){for(var i=0;i<this.Frame.SubFrame.length;++i){var item=this.Frame.SubFrame[i];for(var j=0;j<item.OverlayIndex.length;++j){var overlayItem=item.OverlayIndex[j];if(setOverlayIndex.has(overlayItem.Identify)){this.BindOverlayIndexData(overlayItem,i,bindData);}}}}var bDraw=true;if(option&&option.Draw===false)bDraw=false;if(bDraw){this.UpdataDataoffset();//更新数据偏移
2190
2190
  this.UpdateFrameMaxMin();//调整坐标最大 最小值
2191
2191
  this.Draw();}return true;};this.GetKData=function(){return null;};}function GetDevicePixelRatio(){if(typeof window=='undefined')return 1;return window.devicePixelRatio||1;}function GetFontHeight(context,font,word){if(!context)return null;if(font)context.font=font;var text='擎';if(IFrameSplitOperator.IsString(word))text=word;var fontInfo=context.measureText(text);var textHeight=fontInfo.fontBoundingBoxAscent+fontInfo.fontBoundingBoxDescent;if(!IFrameSplitOperator.IsNumber(textHeight))textHeight=fontInfo.width+2*GetDevicePixelRatio();return textHeight;}function IsPhoneWeb(){var userAgentInfo=navigator.userAgent;var Agents=new Array("Android","iPhone","SymbianOS","Windows Phone","iPad","iPod");for(var v=0;v<Agents.length;v++){if(userAgentInfo.indexOf(Agents[v])>0)return true;}return false;}function OnKeyDown(e)//键盘事件
2192
2192
  {if(this.JSChartContainer&&this.JSChartContainer.OnKeyDown)this.JSChartContainer.OnKeyDown(e);}function OnWheel(e)//上下滚动事件
@@ -4075,7 +4075,7 @@ var bSolidBar=this.IsSolidBar(bUp);//实心柱子
4075
4075
  if(bSolidBar){this.Canvas.fillStyle=barColor.Color;this.Canvas.fillRect(yBottom,ToFixedRect(left),height,ToFixedRect(dataWidth));}else{this.Canvas.strokeStyle=barColor.Color;this.Canvas.beginPath();this.Canvas.rect(ToFixedPoint(yBottom),ToFixedPoint(left),height,ToFixedRect(dataWidth));this.Canvas.stroke();}}}else//太细了直接话线
4076
4076
  {var preKItem=null;var barColor=null;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];var kItem=this.HistoryData.Data[i];if(value==null||kItem==null)continue;var y=this.ChartFrame.GetYFromData(value);if(isMinute){var x=this.ChartFrame.GetXFromIndex(j);}else{var left=xOffset;var right=xOffset+dataWidth;var x=left+(right-left)/2;}if(x>chartBottom)break;if(isMinute)barColor=this.GetMinuteBarColor(kItem,preKItem);//分时图颜色单独计算
4077
4077
  else barColor=this.GetBarColor(kItem,value);var bUp=barColor.IsUp;this.Canvas.strokeStyle=barColor.Color;//var x=this.ChartFrame.GetXFromIndex(j);
4078
- this.Canvas.beginPath();this.Canvas.moveTo(y,ToFixedPoint(x));this.Canvas.lineTo(yBottom,ToFixedPoint(x));this.Canvas.stroke();preKItem=kItem;}}};this.GetMaxMin=function(){var xPointCount=this.ChartFrame.XPointCount;var start=this.Data.DataOffset;if(this.ChartFrame.GlobalOption&&this.ChartFrame.GlobalOption.IsValueFullRange){start=0;xPointCount=this.Data.Data.length;}var range={Min:null,Max:null};for(var i=start,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j){var value=this.Data.Data[i];if(!IFrameSplitOperator.IsNumber(range.Max)||range.Max<value)range.Max=value;if(!IFrameSplitOperator.IsNumber(range.Min)||range.Min>value)range.Min=value;}if(range.Max>0&&range.Min>0)range.Min=0;else if(range.Max<0&&range.Min<0)range.Max=0;return range;};this.GetBarColor=function(kItem,value){if(this.BarColorType===1)//更具正负决定柱子颜色
4078
+ this.Canvas.beginPath();this.Canvas.moveTo(y,ToFixedPoint(x));this.Canvas.lineTo(yBottom,ToFixedPoint(x));this.Canvas.stroke();preKItem=kItem;}}};this.GetMaxMin=function(){var xPointCount=this.ChartFrame.XPointCount;var start=this.Data.DataOffset;if(this.ChartFrame.GlobalOption&&this.ChartFrame.GlobalOption.IsValueFullRange){start=0;xPointCount=this.Data.Data.length;}var range={Min:null,Max:null};for(var i=start,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j){var value=this.Data.Data[i];if(!IFrameSplitOperator.IsNumber(value))continue;if(!IFrameSplitOperator.IsNumber(range.Max)||range.Max<value)range.Max=value;if(!IFrameSplitOperator.IsNumber(range.Min)||range.Min>value)range.Min=value;}if(range.Max>0&&range.Min>0)range.Min=0;else if(range.Max<0&&range.Min<0)range.Max=0;return range;};this.GetBarColor=function(kItem,value){if(this.BarColorType===1)//更具正负决定柱子颜色
4079
4079
  {if(value>=0)return{Color:this.UpColor,IsUp:true};//颜色, 是否是上涨
4080
4080
  else return{Color:this.DownColor,IsUp:false};}//平盘K线,使用昨收盘比较
4081
4081
  if(kItem.Close>kItem.Open)return{Color:this.UpColor,IsUp:true};//颜色, 是否是上涨
@@ -6055,7 +6055,7 @@ for(var i=0;i<aryText.length;++i){var item=aryText[i];if(!item.Text)continue;var
6055
6055
  this.GetPreVaildItem=function(data,start){for(var i=start;i>=0;--i){var item=data[i];if(item)return{Item:item,Index:i};}return null;};this.DrawSelectedLine=function(left,bottom,textWidth){this.Canvas.save();var fontHeight=this.GetFontHeight();this.Canvas.strokeStyle=this.SelectedColor;var lineWidth=4;var lineBottom=ToFixedPoint2(lineWidth,bottom+fontHeight/2);this.Canvas.lineWidth=lineWidth;this.Canvas.beginPath();this.Canvas.moveTo(left,lineBottom);this.Canvas.lineTo(left+textWidth,lineBottom);this.Canvas.stroke();this.Canvas.restore();};this.DrawOverlayIndexSingleLine=function(moveonPoint,mouseStatus)//叠加指标1个指标一行
6056
6056
  {var pixelRatio=GetDevicePixelRatio();var border=this.Frame.GetBorder();if(this.Frame.IsHScreen===true){var left=1;var top=2*pixelRatio;var right=this.Frame.ChartBorder.GetHeight();var bottom=this.Frame.ChartBorder.GetWidthEx();}else{var top=border.TopTitle+2*pixelRatio;if(!this.IsShowMainIndexTitle)top=this.Frame.ChartBorder.GetTop()+2*pixelRatio;var left=this.Frame.ChartBorder.GetLeft()+this.MerginLeft;var right=border.Right;var bottom=border.Bottom;}var lineSpace=this.OverlayIndexType.LineSpace*pixelRatio;var x=left,y=top;var fontHeight=GetFontHeight(this.Canvas,this.Font,"擎");y=top+fontHeight/2;var _iteratorNormalCompletion11=true;var _didIteratorError11=false;var _iteratorError11=undefined;try{for(var _iterator11=(0,_getIterator3.default)(this.OverlayIndex),_step11;!(_iteratorNormalCompletion11=(_step11=_iterator11.next()).done);_iteratorNormalCompletion11=true){item=_step11.value;var overlayItem=item[1];var overlayID=item[0];var toolbarInfo={Width:0,YCenter:y,ID:overlayID};this.DrawOverlayToolbar(overlayItem,toolbarInfo,moveonPoint,mouseStatus);if(!overlayItem.IsShowIndexTitle)continue;if(!overlayItem.Frame.IsShowIndexTitle)continue;x=left+toolbarInfo.Width;this.Canvas.font=this.Font;this.Canvas.textAlign="left";this.Canvas.textBaseline="middle";if(overlayItem.Title&&this.IsShowOverlayIndexName){var textWidth=this.Canvas.measureText(overlayItem.Title).width+2;if(x+textWidth<right){if(this.OverlayIndexType.BGColor){this.Canvas.fillStyle=this.OverlayIndexType.BGColor;var rtBG={Left:x,Top:y-fontHeight/2,Width:textWidth,Height:fontHeight+lineSpace};//保存下标题的坐标
6057
6057
  this.Canvas.fillRect(rtBG.Left,rtBG.Top,rtBG.Width,rtBG.Height);}if(this.IsSelectedChart(overlayID))this.DrawSelectedLine(x,y,textWidth,overlayItem.Title);this.Canvas.fillStyle=this.TitleColor;this.Canvas.fillText(overlayItem.Title,x,y,textWidth);}x+=textWidth;}for(var i=0;i<overlayItem.Data.length;++i){var item=overlayItem.Data[i];if(!item||!item.Data||!item.Data.Data||!item.Name)continue;if(item.IsVisible===false)continue;if(item.Data.Data.length<=0)continue;var value=null;var valueText=null;var aryText=null;if(item.DataType=="StraightLine")//直线只有1个数据
6058
- {value=item.Data.Data[0];valueText=this.FormatValue(value,item);}else{var index=Math.abs(this.CursorIndex-0.5);index=parseInt(index.toFixed(0));if(this.IsKLineFrame)index=this.CursorIndex;var dataIndex=item.Data.DataOffset+index;if(dataIndex>=item.Data.Data.length)dataIndex=item.Data.Data.length-1;if(dataIndex<0)continue;value=item.Data.Data[dataIndex];if(value==null)continue;if(item.DataType=="HistoryData-Vol"){value=value.Vol;valueText=this.FormatValue(value,item);}else if(item.DataType=="MultiReport"){valueText=this.FormatMultiReport(value,item);}else if(item.DataType=="ChartStackedBar"){aryText=this.FromatStackedBarTitle(value,item);if(!aryText)continue;}else if(item.DataType=="ChartMultiPoint"){aryText=this.ForamtMultiPointTitle(dataIndex,item);if(!aryText)continue;}else if(item.DataType=="ChartMultiBar"){aryText=this.ForamtMultiBarTitle(dataIndex,item);if(!aryText)continue;}else{valueText=this.FormatValue(value,item);}}if(aryText){var text;for(var k=0;k<aryText.length;++k){var titleItem=aryText[k];if(titleItem.Name)text=titleItem.Name+":"+titleItem.Text;else text=titleItem.Text;var textWidth=this.Canvas.measureText(text).width+2;//后空2个像素
6058
+ {value=item.Data.Data[0];valueText=this.FormatValue(value,item);}else{var index=Math.abs(this.CursorIndex-0.5);index=parseInt(index.toFixed(0));if(this.IsKLineFrame)index=this.CursorIndex;var dataIndex=item.Data.DataOffset+index;if(dataIndex>=item.Data.Data.length)dataIndex=item.Data.Data.length-1;if(dataIndex<0)continue;value=item.Data.Data[dataIndex];if(value==null)continue;if(item.DataType=="HistoryData-Vol"){value=value.Vol;valueText=this.FormatValue(value,item);}else if(item.DataType=="MultiReport"){valueText=this.FormatMultiReport(value,item);}else if(item.DataType=="ChartStackedBar"){aryText=this.FromatStackedBarTitle(value,item);if(!aryText)continue;}else if(item.DataType=="ChartMultiPoint"){aryText=this.ForamtMultiPointTitle(dataIndex,item);if(!aryText)continue;}else if(item.DataType=="ChartMultiBar"){aryText=this.ForamtMultiBarTitle(dataIndex,item);if(!aryText)continue;}else if(item.DataType=="DRAWKLINE"){aryText=this.FromatKLineTitle(value,item);if(!aryText)continue;}else{valueText=this.FormatValue(value,item);}}if(aryText){var text;for(var k=0;k<aryText.length;++k){var titleItem=aryText[k];if(titleItem.Name)text=titleItem.Name+":"+titleItem.Text;else text=titleItem.Text;var textWidth=this.Canvas.measureText(text).width+2;//后空2个像素
6059
6059
  if(x+textWidth>right)break;if(this.OverlayIndexType.BGColor){this.Canvas.fillStyle=this.OverlayIndexType.BGColor;var rtBG={Left:x,Top:y-fontHeight/2,Width:textWidth,Height:fontHeight+lineSpace};//保存下标题的坐标
6060
6060
  this.Canvas.fillRect(rtBG.Left,rtBG.Top,rtBG.Width,rtBG.Height);}this.Canvas.fillStyle=titleItem.Color;this.Canvas.fillText(text,x,y,textWidth);x+=textWidth;}}else{var text=valueText;if(item.Name){var dyTitle=this.GetDynamicOutName(item.Name,overlayID);if(dyTitle)text=dyTitle+":"+valueText;else text=item.Name+":"+valueText;}var textWidth=this.Canvas.measureText(text).width+2;//后空2个像素
6061
6061
  if(x+textWidth>right)break;if(this.OverlayIndexType.BGColor){this.Canvas.fillStyle=this.OverlayIndexType.BGColor;var rtBG={Left:x,Top:y-fontHeight/2,Width:textWidth,Height:fontHeight+lineSpace};//保存下标题的坐标
@@ -11948,7 +11948,7 @@ this.CreateMACD=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.O
11948
11948
  frame.ChartPaint.push(chart);};this.CreateVolStick=function(hqChart,windowIndex,varItem,id,hisData){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartVolStick();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.KLineDrawType=hqChart.KLineDrawType;//设置K线显示类型
11949
11949
  if(varItem.Color)chart.Color=this.GetColor(varItem.Color);else chart.Color=this.GetDefaultColor(id);if(varItem.UpColor)chart.UpColor=varItem.UpColor;if(varItem.DownColor)chart.DownColor=varItem.DownColor;if(IFrameSplitOperator.IsNumber(varItem.StickType))chart.BarType=varItem.StickType;if(IFrameSplitOperator.IsNumber(varItem.BarColorType))chart.BarColorType=varItem.BarColorType;if(varItem.LineWidth){var width=parseInt(varItem.LineWidth.replace("LINETHICK",""));if(IFrameSplitOperator.IsPlusNumber(width))chart.BarWidth=width;}var titleIndex=windowIndex+1;chart.Data.Data=varItem.Data;chart.HistoryData=hisData;this.ReloadChartResource(hqChart,windowIndex,chart);var titlePaint=hqChart.TitlePaint[titleIndex];var titleData=new DynamicTitleData(chart.Data,varItem.Name,chart.Color);titlePaint.OverlayIndex.get(overlayIndex.Identify).Data[id]=titleData;this.SetTitleData(titleData,chart);this.SetChartIndexName(chart);frame.ChartPaint.push(chart);};this.CreateBand=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartBand();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.FirstColor=varItem.Draw.Color[0];chart.SecondColor=varItem.Draw.Color[1];chart.Data.Data=varItem.Draw.DrawData;if(IFrameSplitOperator.IsBool(varItem.IsFirstDraw))chart.IsDrawFirst=varItem.IsFirstDraw;this.SetChartIndexName(chart);frame.ChartPaint.push(chart);};//创建K线图
11950
11950
  this.CreateKLine=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartKLine();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.Data.Data=varItem.Draw.DrawData;chart.IsShowMaxMinPrice=false;chart.IsShowKTooltip=false;if(varItem.Color)//如果设置了颜色,使用外面设置的颜色
11951
- chart.UnchagneColor=chart.DownColor=chart.UpColor=this.GetColor(varItem.Color);frame.ChartPaint.push(chart);};this.CreatePolyLine=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartLine();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;if(varItem.Color)chart.Color=this.GetColor(varItem.Color);else chart.Color=this.GetDefaultColor(id);if(varItem.LineWidth){var width=parseInt(varItem.LineWidth.replace("LINETHICK",""));if(!isNaN(width)&&width>0)chart.LineWidth=width;}var titleIndex=windowIndex+1;chart.Data.Data=varItem.Draw.DrawData;var titlePaint=hqChart.TitlePaint[titleIndex];titlePaint.OverlayIndex.get(overlayIndex.Identify).Data[id]=new DynamicTitleData(line.Data,' ',line.Color);//给一个空的标题
11951
+ chart.UnchagneColor=chart.DownColor=chart.UpColor=this.GetColor(varItem.Color);if(varItem.Draw.Config){var config=varItem.Draw.Config;if(IFrameSplitOperator.IsBool(config.IsShowMaxMinPrice))chart.IsShowMaxMinPrice=config.IsShowMaxMinPrice;if(IFrameSplitOperator.IsBool(config.IsShowKTooltip))chart.IsShowKTooltip=config.IsShowKTooltip;if(config.Symbol)chart.Symbol=config.Symbol;if(config.Name)chart.Title=config.Name;}var bShowTitle=false;if(IFrameSplitOperator.IsBool(varItem.IsShowTitle))bShowTitle=varItem.IsShowTitle;if(bShowTitle){var titleIndex=windowIndex+1;chart.Data.Data=varItem.Draw.DrawData;var titlePaint=hqChart.TitlePaint[titleIndex];var titleData=new DynamicTitleData(chart.Data,varItem.Name,chart.Color);titleData.DataType="DRAWKLINE";titleData.Symbol=chart.Symbol;titlePaint.OverlayIndex.get(overlayIndex.Identify).Data[id]=titleData;}frame.ChartPaint.push(chart);};this.CreatePolyLine=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartLine();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;if(varItem.Color)chart.Color=this.GetColor(varItem.Color);else chart.Color=this.GetDefaultColor(id);if(varItem.LineWidth){var width=parseInt(varItem.LineWidth.replace("LINETHICK",""));if(!isNaN(width)&&width>0)chart.LineWidth=width;}var titleIndex=windowIndex+1;chart.Data.Data=varItem.Draw.DrawData;var titlePaint=hqChart.TitlePaint[titleIndex];titlePaint.OverlayIndex.get(overlayIndex.Identify).Data[id]=new DynamicTitleData(line.Data,' ',line.Color);//给一个空的标题
11952
11952
  frame.ChartPaint.push(chart);};this.CreateNumberText=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartSingleText();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.ReloadResource();chart.TextAlign="center";if(varItem.Color)chart.Color=this.GetColor(varItem.Color);else chart.Color=this.GetDefaultColor(id);if(varItem.IsDrawAbove)chart.Direction=1;else chart.Direction=2;if(varItem.Draw.Position)chart.Position=varItem.Draw.Position;//赋值坐标
11953
11953
  var titleIndex=windowIndex+1;chart.Data.Data=varItem.Draw.DrawData.Value;chart.Text=varItem.Draw.DrawData.Text;//hqChart.TitlePaint[titleIndex].Data[id]=new DynamicTitleData(bar.Data,varItem.Name,bar.Color);
11954
11954
  this.SetChartIndexName(chart);frame.ChartPaint.push(chart);};this.CreateTextLine=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartTextLine();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;if(varItem.Draw&&varItem.Draw.DrawData){var drawData=varItem.Draw.DrawData;chart.Text=drawData.Text;chart.Line=drawData.Line;chart.Price=drawData.Price;}frame.ChartPaint.push(chart);};this.CreateStackedBar=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartStackedBar();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;if(IFrameSplitOperator.IsNonEmptyArray(varItem.Draw.BarColor))chart.BarColor=varItem.Draw.BarColor;if(IFrameSplitOperator.IsNonEmptyArray(varItem.Draw.BarName))chart.BarName=varItem.Draw.BarName;if(IFrameSplitOperator.IsNumber(varItem.Draw.LineWidth))chart.LineWidth=varItem.Draw.LineWidth;if(IFrameSplitOperator.IsNumber(varItem.Draw.BarType))chart.BarType=varItem.Draw.BarType;chart.Data.Data=varItem.Draw.DrawData;var titleIndex=windowIndex+1;var titlePaint=hqChart.TitlePaint[titleIndex];var titleData=new DynamicTitleData(chart.Data,chart.BarName,chart.BarColor);titleData.DataType="ChartStackedBar";titlePaint.OverlayIndex.get(overlayIndex.Identify).Data[id]=titleData;frame.ChartPaint.push(chart);};this.CreateDrawColorKLine=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartColorKline();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.DrawName="DRAWCOLORKLINE";chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.Data.Data=varItem.Draw.DrawData;if(IFrameSplitOperator.IsBool(varItem.Draw.IsEmptyBar))chart.IsEmptyBar=varItem.Draw.IsEmptyBar;if(varItem.Draw.Color)chart.Color=varItem.Draw.Color;frame.ChartPaint.push(chart);};//创建图标
@@ -14363,7 +14363,7 @@ hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,St
14363
14363
  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);};}/********************************************************************************
14364
14364
  * 版本信息输出
14365
14365
  *
14366
- */var HQCHART_VERSION="1.1.14483";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();//把给外界调用的方法暴露出来
14366
+ */var HQCHART_VERSION="1.1.14486";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();//把给外界调用的方法暴露出来
14367
14367
  exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
14368
14368
  // BaseIndex:BaseIndex,
14369
14369
  // ChartLine:ChartLine,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hqchart",
3
- "version": "1.1.14484",
3
+ "version": "1.1.14487",
4
4
  "description": "HQChart - H5, 微信小程序 沪深/港股/数字货币/期货/美股 K线图(kline),走势图,缩放,拖拽,十字光标,画图工具,截图,筹码图. 分析家语法,通达信语法,(麦语法),第3方数据对接",
5
5
  "main": "lib/main.js",
6
6
  "scripts": {
@@ -23455,7 +23455,7 @@ function OverlayScriptIndex(name,script,args,option)
23455
23455
  {
23456
23456
  var overlayIndex=this.OverlayIndex;
23457
23457
  var frame=overlayIndex.Frame;
23458
- let chart=new ChartKLine();
23458
+ var chart=new ChartKLine();
23459
23459
  chart.Canvas=hqChart.Canvas;
23460
23460
  chart.Name=varItem.Name;
23461
23461
  chart.ChartBorder=frame.Frame.ChartBorder;
@@ -23469,6 +23469,28 @@ function OverlayScriptIndex(name,script,args,option)
23469
23469
  if (varItem.Color) //如果设置了颜色,使用外面设置的颜色
23470
23470
  chart.UnchagneColor=chart.DownColor=chart.UpColor=this.GetColor(varItem.Color);
23471
23471
 
23472
+ if (varItem.Draw.Config)
23473
+ {
23474
+ var config=varItem.Draw.Config;
23475
+ if (IFrameSplitOperator.IsBool(config.IsShowMaxMinPrice)) chart.IsShowMaxMinPrice=config.IsShowMaxMinPrice;
23476
+ if (IFrameSplitOperator.IsBool(config.IsShowKTooltip)) chart.IsShowKTooltip=config.IsShowKTooltip;
23477
+ if (config.Symbol) chart.Symbol=config.Symbol;
23478
+ if (config.Name) chart.Title=config.Name;
23479
+ }
23480
+
23481
+ var bShowTitle=false;
23482
+ if (IFrameSplitOperator.IsBool(varItem.IsShowTitle)) bShowTitle=varItem.IsShowTitle;
23483
+ if (bShowTitle)
23484
+ {
23485
+ var titleIndex=windowIndex+1;
23486
+ chart.Data.Data=varItem.Draw.DrawData;
23487
+ var titlePaint=hqChart.TitlePaint[titleIndex];
23488
+ var titleData=new DynamicTitleData(chart.Data,varItem.Name,chart.Color);
23489
+ titleData.DataType="DRAWKLINE";
23490
+ titleData.Symbol=chart.Symbol;
23491
+ titlePaint.OverlayIndex.get(overlayIndex.Identify).Data[id]=titleData;
23492
+ }
23493
+
23472
23494
  frame.ChartPaint.push(chart);
23473
23495
  }
23474
23496
 
@@ -10631,13 +10631,13 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
10631
10631
  var setMainIndex=new Set(); //主图指标
10632
10632
  var setOverlayIndex=new Set(); //附图指标
10633
10633
 
10634
- for(var i=0;aryIndex.length;++i)
10634
+ for(var i=0;i<aryIndex.length;++i)
10635
10635
  {
10636
10636
  var item=aryIndex[i];
10637
10637
  if (!item) continue;
10638
10638
 
10639
- if (item.ID) setMainIndex.set(item.ID);
10640
- if (item.OverlayID) setOverlayIndex.set(item.OverlayID);
10639
+ if (item.ID) setMainIndex.add(item.ID);
10640
+ if (item.OverlayID) setOverlayIndex.add(item.OverlayID);
10641
10641
  }
10642
10642
 
10643
10643
  if (setMainIndex.size<=0 && setOverlayIndex.size<0) return false;
@@ -10678,7 +10678,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
10678
10678
 
10679
10679
  if (setOverlayIndex.has(overlayItem.Identify))
10680
10680
  {
10681
- this.BindOverlayIndexData(overlayItem,i,hisData)
10681
+ this.BindOverlayIndexData(overlayItem,i,bindData)
10682
10682
  }
10683
10683
  }
10684
10684
  }
@@ -35076,6 +35076,8 @@ function ChartVolStick()
35076
35076
  for(var i=start,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j)
35077
35077
  {
35078
35078
  var value=this.Data.Data[i];
35079
+ if (!IFrameSplitOperator.IsNumber(value)) continue;
35080
+
35079
35081
  if (!IFrameSplitOperator.IsNumber(range.Max) || range.Max<value) range.Max=value;
35080
35082
  if (!IFrameSplitOperator.IsNumber(range.Min) || range.Min>value) range.Min=value
35081
35083
  }
@@ -59015,6 +59017,11 @@ function DynamicChartTitlePainting()
59015
59017
  aryText=this.ForamtMultiBarTitle(dataIndex, item);
59016
59018
  if (!aryText) continue;
59017
59019
  }
59020
+ else if (item.DataType=="DRAWKLINE")
59021
+ {
59022
+ aryText=this.FromatKLineTitle(value, item);
59023
+ if (!aryText) continue;
59024
+ }
59018
59025
  else
59019
59026
  {
59020
59027
  valueText=this.FormatValue(value,item);
@@ -14556,13 +14556,13 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
14556
14556
  var setMainIndex=new Set(); //主图指标
14557
14557
  var setOverlayIndex=new Set(); //附图指标
14558
14558
 
14559
- for(var i=0;aryIndex.length;++i)
14559
+ for(var i=0;i<aryIndex.length;++i)
14560
14560
  {
14561
14561
  var item=aryIndex[i];
14562
14562
  if (!item) continue;
14563
14563
 
14564
- if (item.ID) setMainIndex.set(item.ID);
14565
- if (item.OverlayID) setOverlayIndex.set(item.OverlayID);
14564
+ if (item.ID) setMainIndex.add(item.ID);
14565
+ if (item.OverlayID) setOverlayIndex.add(item.OverlayID);
14566
14566
  }
14567
14567
 
14568
14568
  if (setMainIndex.size<=0 && setOverlayIndex.size<0) return false;
@@ -14603,7 +14603,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
14603
14603
 
14604
14604
  if (setOverlayIndex.has(overlayItem.Identify))
14605
14605
  {
14606
- this.BindOverlayIndexData(overlayItem,i,hisData)
14606
+ this.BindOverlayIndexData(overlayItem,i,bindData)
14607
14607
  }
14608
14608
  }
14609
14609
  }
@@ -39001,6 +39001,8 @@ function ChartVolStick()
39001
39001
  for(var i=start,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j)
39002
39002
  {
39003
39003
  var value=this.Data.Data[i];
39004
+ if (!IFrameSplitOperator.IsNumber(value)) continue;
39005
+
39004
39006
  if (!IFrameSplitOperator.IsNumber(range.Max) || range.Max<value) range.Max=value;
39005
39007
  if (!IFrameSplitOperator.IsNumber(range.Min) || range.Min>value) range.Min=value
39006
39008
  }
@@ -62940,6 +62942,11 @@ function DynamicChartTitlePainting()
62940
62942
  aryText=this.ForamtMultiBarTitle(dataIndex, item);
62941
62943
  if (!aryText) continue;
62942
62944
  }
62945
+ else if (item.DataType=="DRAWKLINE")
62946
+ {
62947
+ aryText=this.FromatKLineTitle(value, item);
62948
+ if (!aryText) continue;
62949
+ }
62943
62950
  else
62944
62951
  {
62945
62952
  valueText=this.FormatValue(value,item);
@@ -125792,7 +125799,7 @@ function OverlayScriptIndex(name,script,args,option)
125792
125799
  {
125793
125800
  var overlayIndex=this.OverlayIndex;
125794
125801
  var frame=overlayIndex.Frame;
125795
- let chart=new ChartKLine();
125802
+ var chart=new ChartKLine();
125796
125803
  chart.Canvas=hqChart.Canvas;
125797
125804
  chart.Name=varItem.Name;
125798
125805
  chart.ChartBorder=frame.Frame.ChartBorder;
@@ -125806,6 +125813,28 @@ function OverlayScriptIndex(name,script,args,option)
125806
125813
  if (varItem.Color) //如果设置了颜色,使用外面设置的颜色
125807
125814
  chart.UnchagneColor=chart.DownColor=chart.UpColor=this.GetColor(varItem.Color);
125808
125815
 
125816
+ if (varItem.Draw.Config)
125817
+ {
125818
+ var config=varItem.Draw.Config;
125819
+ if (IFrameSplitOperator.IsBool(config.IsShowMaxMinPrice)) chart.IsShowMaxMinPrice=config.IsShowMaxMinPrice;
125820
+ if (IFrameSplitOperator.IsBool(config.IsShowKTooltip)) chart.IsShowKTooltip=config.IsShowKTooltip;
125821
+ if (config.Symbol) chart.Symbol=config.Symbol;
125822
+ if (config.Name) chart.Title=config.Name;
125823
+ }
125824
+
125825
+ var bShowTitle=false;
125826
+ if (IFrameSplitOperator.IsBool(varItem.IsShowTitle)) bShowTitle=varItem.IsShowTitle;
125827
+ if (bShowTitle)
125828
+ {
125829
+ var titleIndex=windowIndex+1;
125830
+ chart.Data.Data=varItem.Draw.DrawData;
125831
+ var titlePaint=hqChart.TitlePaint[titleIndex];
125832
+ var titleData=new DynamicTitleData(chart.Data,varItem.Name,chart.Color);
125833
+ titleData.DataType="DRAWKLINE";
125834
+ titleData.Symbol=chart.Symbol;
125835
+ titlePaint.OverlayIndex.get(overlayIndex.Identify).Data[id]=titleData;
125836
+ }
125837
+
125809
125838
  frame.ChartPaint.push(chart);
125810
125839
  }
125811
125840
 
@@ -144049,7 +144078,7 @@ function ScrollBarBGChart()
144049
144078
 
144050
144079
 
144051
144080
 
144052
- var HQCHART_VERSION="1.1.14483";
144081
+ var HQCHART_VERSION="1.1.14486";
144053
144082
 
144054
144083
  function PrintHQChartVersion()
144055
144084
  {
@@ -5,7 +5,7 @@
5
5
 
6
6
 
7
7
 
8
- var HQCHART_VERSION="1.1.14483";
8
+ var HQCHART_VERSION="1.1.14486";
9
9
 
10
10
  function PrintHQChartVersion()
11
11
  {
@@ -14600,13 +14600,13 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
14600
14600
  var setMainIndex=new Set(); //主图指标
14601
14601
  var setOverlayIndex=new Set(); //附图指标
14602
14602
 
14603
- for(var i=0;aryIndex.length;++i)
14603
+ for(var i=0;i<aryIndex.length;++i)
14604
14604
  {
14605
14605
  var item=aryIndex[i];
14606
14606
  if (!item) continue;
14607
14607
 
14608
- if (item.ID) setMainIndex.set(item.ID);
14609
- if (item.OverlayID) setOverlayIndex.set(item.OverlayID);
14608
+ if (item.ID) setMainIndex.add(item.ID);
14609
+ if (item.OverlayID) setOverlayIndex.add(item.OverlayID);
14610
14610
  }
14611
14611
 
14612
14612
  if (setMainIndex.size<=0 && setOverlayIndex.size<0) return false;
@@ -14647,7 +14647,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
14647
14647
 
14648
14648
  if (setOverlayIndex.has(overlayItem.Identify))
14649
14649
  {
14650
- this.BindOverlayIndexData(overlayItem,i,hisData)
14650
+ this.BindOverlayIndexData(overlayItem,i,bindData)
14651
14651
  }
14652
14652
  }
14653
14653
  }
@@ -39045,6 +39045,8 @@ function ChartVolStick()
39045
39045
  for(var i=start,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j)
39046
39046
  {
39047
39047
  var value=this.Data.Data[i];
39048
+ if (!IFrameSplitOperator.IsNumber(value)) continue;
39049
+
39048
39050
  if (!IFrameSplitOperator.IsNumber(range.Max) || range.Max<value) range.Max=value;
39049
39051
  if (!IFrameSplitOperator.IsNumber(range.Min) || range.Min>value) range.Min=value
39050
39052
  }
@@ -62984,6 +62986,11 @@ function DynamicChartTitlePainting()
62984
62986
  aryText=this.ForamtMultiBarTitle(dataIndex, item);
62985
62987
  if (!aryText) continue;
62986
62988
  }
62989
+ else if (item.DataType=="DRAWKLINE")
62990
+ {
62991
+ aryText=this.FromatKLineTitle(value, item);
62992
+ if (!aryText) continue;
62993
+ }
62987
62994
  else
62988
62995
  {
62989
62996
  valueText=this.FormatValue(value,item);
@@ -125836,7 +125843,7 @@ function OverlayScriptIndex(name,script,args,option)
125836
125843
  {
125837
125844
  var overlayIndex=this.OverlayIndex;
125838
125845
  var frame=overlayIndex.Frame;
125839
- let chart=new ChartKLine();
125846
+ var chart=new ChartKLine();
125840
125847
  chart.Canvas=hqChart.Canvas;
125841
125848
  chart.Name=varItem.Name;
125842
125849
  chart.ChartBorder=frame.Frame.ChartBorder;
@@ -125850,6 +125857,28 @@ function OverlayScriptIndex(name,script,args,option)
125850
125857
  if (varItem.Color) //如果设置了颜色,使用外面设置的颜色
125851
125858
  chart.UnchagneColor=chart.DownColor=chart.UpColor=this.GetColor(varItem.Color);
125852
125859
 
125860
+ if (varItem.Draw.Config)
125861
+ {
125862
+ var config=varItem.Draw.Config;
125863
+ if (IFrameSplitOperator.IsBool(config.IsShowMaxMinPrice)) chart.IsShowMaxMinPrice=config.IsShowMaxMinPrice;
125864
+ if (IFrameSplitOperator.IsBool(config.IsShowKTooltip)) chart.IsShowKTooltip=config.IsShowKTooltip;
125865
+ if (config.Symbol) chart.Symbol=config.Symbol;
125866
+ if (config.Name) chart.Title=config.Name;
125867
+ }
125868
+
125869
+ var bShowTitle=false;
125870
+ if (IFrameSplitOperator.IsBool(varItem.IsShowTitle)) bShowTitle=varItem.IsShowTitle;
125871
+ if (bShowTitle)
125872
+ {
125873
+ var titleIndex=windowIndex+1;
125874
+ chart.Data.Data=varItem.Draw.DrawData;
125875
+ var titlePaint=hqChart.TitlePaint[titleIndex];
125876
+ var titleData=new DynamicTitleData(chart.Data,varItem.Name,chart.Color);
125877
+ titleData.DataType="DRAWKLINE";
125878
+ titleData.Symbol=chart.Symbol;
125879
+ titlePaint.OverlayIndex.get(overlayIndex.Identify).Data[id]=titleData;
125880
+ }
125881
+
125853
125882
  frame.ChartPaint.push(chart);
125854
125883
  }
125855
125884
 
@@ -153869,7 +153898,7 @@ function HQChartScriptWorker()
153869
153898
 
153870
153899
 
153871
153900
 
153872
- var HQCHART_VERSION="1.1.14483";
153901
+ var HQCHART_VERSION="1.1.14486";
153873
153902
 
153874
153903
  function PrintHQChartVersion()
153875
153904
  {