hqchart 1.1.12951 → 1.1.12963

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.
@@ -68,7 +68,7 @@ this.Get=function(id){if(!this.DataMap.has(id))return null;return this.DataMap.g
68
68
  ]);}JSIndexScript.AddIndex=function(aryIndex)//添加自定义指标
69
69
  {for(var i in aryIndex){g_CustomIndex.Add(aryIndex[i]);}};//修改指标属性
70
70
  JSIndexScript.ModifyAttribute=function(indexInfo,attribute){if(!attribute)return;if(attribute.Args)indexInfo.Args=attribute.Args;//外部可以设置参数
71
- if(IFrameSplitOperator.IsNumber(attribute.FloatPrecision))indexInfo.FloatPrecision=attribute.FloatPrecision;if(IFrameSplitOperator.IsNumber(attribute.StringFormat))indexInfo.StringFormat=attribute.StringFormat;if(IFrameSplitOperator.IsBool(attribute.IsSync))indexInfo.IsSync=attribute.IsSync;if(IFrameSplitOperator.IsBool(attribute.IsShortTitle))indexInfo.IsShortTitle=attribute.IsShortTitle;if(attribute.TitleFont)indexInfo.TitleFont=attribute.TitleFont;if(attribute.Lock)indexInfo.Lock=attribute.Lock;if(IFrameSplitOperator.IsNumber(attribute.YSplitType))indexInfo.YSplitType=attribute.YSplitType;if(IFrameSplitOperator.IsBool(attribute.IsShowIndexTitle))indexInfo.IsShowIndexTitle=attribute.IsShowIndexTitle;if(attribute.YAxis){var item=attribute.YAxis;if(!indexInfo.YAxis)indexInfo.YAxis={};if(IFrameSplitOperator.IsNumber(item.FloatPrecision))indexInfo.YAxis.FloatPrecision=item.FloatPrecision;if(IFrameSplitOperator.IsNumber(item.StringFormat))indexInfo.YAxis.StringFormat=item.StringFormat;if(IFrameSplitOperator.IsBool(item.EnableRemoveZero))indexInfo.YAxis.EnableRemoveZero=item.EnableRemoveZero;}};JSIndexScript.prototype.Get=function(id){var data=g_CustomIndex.Get(id);if(data)return data;var func=this.DataMap.get(id);if(func){var data=func();data.ID=id;return data;}return null;};JSIndexScript.prototype.Search=function(name){var result=[];var reg=new RegExp(name,'i');this.DataMap.forEach(function(value,key){if(key.indexOf('交易系统-')!=0&&key.indexOf('五彩K线-')!=0&&key.search(reg)>=0)result.push(key);});return result;};JSIndexScript.prototype.MA=function(){var data={Name:'MA',Description:'均线',IsMainIndex:true,StringFormat:2,Args:[{Name:'M1',Value:5},{Name:'M2',Value:10},{Name:'M3',Value:20}],OutName:[{Name:'MA1',DynamicName:"MA{M1}"},{Name:'MA2',DynamicName:"MA{M2}"},{Name:'MA3',DynamicName:"MA{M3}"}],Script://脚本
71
+ if(IFrameSplitOperator.IsNumber(attribute.FloatPrecision))indexInfo.FloatPrecision=attribute.FloatPrecision;if(IFrameSplitOperator.IsNumber(attribute.StringFormat))indexInfo.StringFormat=attribute.StringFormat;if(IFrameSplitOperator.IsBool(attribute.IsSync))indexInfo.IsSync=attribute.IsSync;if(IFrameSplitOperator.IsBool(attribute.IsShortTitle))indexInfo.IsShortTitle=attribute.IsShortTitle;if(attribute.TitleFont)indexInfo.TitleFont=attribute.TitleFont;if(attribute.Lock)indexInfo.Lock=attribute.Lock;if(IFrameSplitOperator.IsNumber(attribute.YSplitType))indexInfo.YSplitType=attribute.YSplitType;if(IFrameSplitOperator.IsBool(attribute.IsShowIndexTitle))indexInfo.IsShowIndexTitle=attribute.IsShowIndexTitle;if(IFrameSplitOperator.IsNumber(attribute.KLineType))indexInfo.KLineType=attribute.KLineType;if(attribute.YAxis){var item=attribute.YAxis;if(!indexInfo.YAxis)indexInfo.YAxis={};if(IFrameSplitOperator.IsNumber(item.FloatPrecision))indexInfo.YAxis.FloatPrecision=item.FloatPrecision;if(IFrameSplitOperator.IsNumber(item.StringFormat))indexInfo.YAxis.StringFormat=item.StringFormat;if(IFrameSplitOperator.IsBool(item.EnableRemoveZero))indexInfo.YAxis.EnableRemoveZero=item.EnableRemoveZero;}};JSIndexScript.prototype.Get=function(id){var data=g_CustomIndex.Get(id);if(data)return data;var func=this.DataMap.get(id);if(func){var data=func();data.ID=id;return data;}return null;};JSIndexScript.prototype.Search=function(name){var result=[];var reg=new RegExp(name,'i');this.DataMap.forEach(function(value,key){if(key.indexOf('交易系统-')!=0&&key.indexOf('五彩K线-')!=0&&key.search(reg)>=0)result.push(key);});return result;};JSIndexScript.prototype.MA=function(){var data={Name:'MA',Description:'均线',IsMainIndex:true,StringFormat:2,Args:[{Name:'M1',Value:5},{Name:'M2',Value:10},{Name:'M3',Value:20}],OutName:[{Name:'MA1',DynamicName:"MA{M1}"},{Name:'MA2',DynamicName:"MA{M2}"},{Name:'MA3',DynamicName:"MA{M3}"}],Script://脚本
72
72
  'MA1:MA(CLOSE,M1);\n\
73
73
  MA2:MA(CLOSE,M2);\n\
74
74
  MA3:MA(CLOSE,M3);'};return data;};JSIndexScript.prototype.MA4=function(){var data={Name:'MA',Description:'均线',IsMainIndex:true,StringFormat:2,Args:[{Name:'M1',Value:5},{Name:'M2',Value:10},{Name:'M3',Value:20},{Name:'M4',Value:60}],OutName:[{Name:'MA1',DynamicName:"MA{M1}"},{Name:'MA2',DynamicName:"MA{M2}"},{Name:'MA3',DynamicName:"MA{M3}"},{Name:'MA4',DynamicName:"MA{M4}"}],Script://脚本
@@ -2130,7 +2130,12 @@ for(var i=0;i<this.OverlayChartPaint.length;++i){var item=this.OverlayChartPaint
2130
2130
  for(var i=0,j=0,k=0;i<this.Frame.SubFrame.length;++i){var item=this.Frame.SubFrame[i];for(j=0;j<item.OverlayIndex.length;++j){var overlayItem=item.OverlayIndex[j];if(IFrameSplitOperator.IsNonEmptyArray(overlayItem.ChartPaint)){for(k=0;k<overlayItem.ChartPaint.length;++k){var chart=overlayItem.ChartPaint[k];if(!chart||!chart.ExportData)continue;var data=chart.ExportData(aryKData,range);if(data&&IFrameSplitOperator.IsNonEmptyArray(data)){for(var index=0;index<data.length;++index){var subItem=data[index];if(chart.IndexName)aryData.push({Name:subItem.Name+'('+chart.IndexName+')',Data:subItem.Data});else aryData.push(subItem);}}}}}}if(option&&option.Type=="CSV"){return this.ExportDataToCSV(aryData);}return aryData;};//重置指标计数器
2131
2131
  this.ClearIndexRunCount=function(){//主图指标
2132
2132
  for(var i=0;i<this.WindowIndex.length;++i){var item=this.WindowIndex[i];if(!item)continue;item.RunCount=0;}//叠加指标
2133
- 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(overlayItem.Script)overlayItem.Script.RunCount=0;}}};}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)//键盘事件
2133
+ 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(overlayItem.Script)overlayItem.Script.RunCount=0;}}};//获取当前的显示的指标 包含叠加指标
2134
+ this.GetIndexInfo=function(){var aryIndex=[];for(var i=0,j=0;i<this.WindowIndex.length;++i){var item=this.WindowIndex[i];if(!item)continue;var info={Name:item.Name,WindowIndex:i,IsOverlay:false};if(item.ID)info.ID=item.ID;if(IFrameSplitOperator.IsNonEmptyArray(item.Arguments))//参数
2135
+ {info.Args=[];for(j=0;j<item.Arguments.length;++j){var argItem=item.Arguments[j];info.Args.push({Name:argItem.Name,Value:argItem.Value});}}aryIndex.push(info);}this.GetOverlayIndexInfo(aryIndex);//叠加指标
2136
+ return aryIndex;};//叠加指标
2137
+ this.GetOverlayIndexInfo=function(aryIndex){for(var i=0,j=0,k=0;i<this.Frame.SubFrame.length;++i){var item=this.Frame.SubFrame[i];if(!IFrameSplitOperator.IsNonEmptyArray(item.OverlayIndex))continue;for(j=0;j<item.OverlayIndex.length;++j){var overlayItem=item.OverlayIndex[j];if(!overlayItem.Script)continue;var indexData=overlayItem.Script;var info={Name:indexData.Name,ID:indexData.ID,WindowIndex:i,IsOverlay:true,Identify:overlayItem.Identify};if(IFrameSplitOperator.IsNonEmptyArray(indexData.Arguments))//参数
2138
+ {info.Args=[];for(k=0;k<indexData.Arguments.length;++k){var argItem=indexData.Arguments[k];info.Args.push({Name:argItem.Name,Value:argItem.Value});}}aryIndex.push(info);}}};}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)//键盘事件
2134
2139
  {if(this.JSChartContainer&&this.JSChartContainer.OnKeyDown)this.JSChartContainer.OnKeyDown(e);}function OnWheel(e)//上下滚动事件
2135
2140
  {if(this.JSChartContainer&&this.JSChartContainer.OnWheel)this.JSChartContainer.OnWheel(e);}function ToFixed(number,precision){var b=1;if(isNaN(number))return number;if(number<0)b=-1;var multiplier=Math.pow(10,precision);var value=Math.round(Math.abs(number)*multiplier)/multiplier*b;if(/^(\d+(?:\.\d+)?)(e)([\-]?\d+)$/.test(value))var s=value.toFixed2(precision);else var s=value.toString();var rs=s.indexOf('.');if(rs<0&&precision>0){rs=s.length;s+='.';}while(s.length<=rs+precision){s+='0';}return s;}Number.prototype.toFixed2=Number.prototype.toFixed;//备份下老的
2136
2141
  Number.prototype.toFixed=function(precision){return ToFixed(this,precision);};function Guid(){function S4(){return((1+Math.random())*0x10000|0).toString(16).substring(1);}return"guid"+(S4()+S4()+"-"+S4()+"-"+S4()+"-"+S4()+"-"+S4()+S4()+S4());}function GetScrollPosition(){var scrollPos={};var scrollTop=0;var scrollLeft=0;if(document.documentElement&&document.documentElement.scrollTop){scrollTop=document.documentElement.scrollTop;scrollLeft=document.documentElement.scrollLeft;}else if(document.body){scrollTop=document.body.scrollTop;scrollLeft=document.body.scrollLeft;}scrollPos.Top=scrollTop;scrollPos.Left=scrollLeft;return scrollPos;}//修正线段有毛刺
@@ -2405,7 +2410,8 @@ divToolbar.innerHTML=spanIcon;var chart=this.ChartBorder.UIElement.JSChartContai
2405
2410
  (0,_jquery2.default)("#"+divToolbar.id+" .index_param").click({Chart:this.ChartBorder.UIElement.JSChartContainer,Identify:this.Identify},this.ModifyIndexEvent);if(!this.ChangeIndex)//隐藏'换指标'
2406
2411
  {(0,_jquery2.default)("#"+divToolbar.id+" .index_change").hide();}else if(typeof this.ChangeIndexEvent=='function'){(0,_jquery2.default)("#"+divToolbar.id+" .index_change").click({Chart:this.ChartBorder.UIElement.JSChartContainer,Identify:this.Identify,IsOverlay:false},this.ChangeIndexEvent);}(0,_jquery2.default)("#"+divToolbar.id+" .index_close").click({Chart:this.ChartBorder.UIElement.JSChartContainer,Identify:this.Identify},function(event){var hqChart=event.data.Chart;var id=event.data.Identify;hqChart.RemoveIndexWindow(id);});divToolbar.style.display="block";};//手绘,不用DOM,使用DOM太麻烦了
2407
2412
  this.DrawToolbarV2=function(moveonPoint,mouseStatus){if(g_JSChartResource.IsDOMFrameToolbar===true)return;if(this.Identify==0&&this.IsShowCloseButton)this.DrawCloseBeforeButton(moveonPoint,mouseStatus);//盘前集合竞价关闭按钮
2408
- if(this.ChartBorder.TitleHeight<5)return;if(this.Identify==0||this.Identify==1)return;var aryButton=[];if(this.CloseIndex)aryButton.push({ID:JSCHART_BUTTON_ID.CLOSE_INDEX_WINDOW,Style:this.CloseWindowButton});if(this.MaxMinWindow)aryButton.push({ID:JSCHART_BUTTON_ID.MAX_MIN_WINDOW,Style:this.MaxMinWindowButton});if(this.TitleWindow)aryButton.push({ID:JSCHART_BUTTON_ID.TITLE_WINDOW,Style:this.TitleWindowButton});if(this.ExportData)aryButton.push({ID:JSCHART_BUTTON_ID.EXPORT_DATA,Style:this.ExportDataButton});if(this.OverlayIndex)aryButton.push({ID:JSCHART_BUTTON_ID.OVERLAY_INDEX,Style:this.OverlayIndexButton});if(this.ChangeIndex)aryButton.push({ID:JSCHART_BUTTON_ID.CHANGE_INDEX,Style:this.ChangeIndexButton});if(this.ModifyIndex)aryButton.push({ID:JSCHART_BUTTON_ID.MODIFY_INDEX_PARAM,Style:this.ModifyIndexParamButton});if(IFrameSplitOperator.IsNonEmptyArray(this.CustomToolbar)){for(var i=0;i<this.CustomToolbar.length;++i){var item=this.CustomToolbar[i];if(item.ID&&item.Style)aryButton.push({ID:item.ID,Style:item.Style,TooltipText:item.TooltipText});}}this.DrawTitleButton(aryButton,moveonPoint,mouseStatus);};this.DrawCloseBeforeButton=function(moveonPoint,mouseStatus){if(this.Identify!=0)return;var border=this.ChartBorder.GetBorder();if(border.DayBorder)return;if(this.ChartBorder.LeftExtendWidth<10)return;var rtButton={Left:border.Left,Top:border.TopEx,Width:this.BeforeCloseIcon.Size,Height:this.BeforeCloseIcon.Size};rtButton.Right=rtButton.Left+this.BeforeCloseIcon.Size;rtButton.Bottom=rtButton.Top+this.BeforeCloseIcon.Size;var item={Rect:rtButton,Name:"集合竞价关闭按钮",ID:JSCHART_BUTTON_ID.CLOSE_BEFOREOPEN_ID};var color=this.BeforeCloseIcon.Color;if(moveonPoint&&moveonPoint.X>=rtButton.Left&&moveonPoint.X<rtButton.Right&&moveonPoint.Y>=rtButton.Top&&moveonPoint.Y<=rtButton.Bottom){color=this.BeforeCloseIcon.MoveOnColor;if(mouseStatus)mouseStatus.MouseOnToolbar={Rect:rtButton,Item:item,Frame:this,Point:{X:moveonPoint.X,Y:moveonPoint.Y}};}var font=this.BeforeCloseIcon.Size+'px '+this.BeforeCloseIcon.Family;this.Canvas.font=font;this.Canvas.fillStyle=color;this.Canvas.textAlign='left';this.Canvas.textBaseline='top';this.Canvas.fillText(this.BeforeCloseIcon.Text,border.Left,border.TopEx);this.Buttons.push(item);};this.DrawMultiDayBeforeDataBG=function(border){var dayBorder=border.DayBorder;var top=ToFixedPoint(border.Top);var bottom=ToFixedPoint(border.Bottom);var height=bottom-top;this.Canvas.strokeStyle=this.MultiDayBorderPen;for(var i=0;i<dayBorder.length;++i){var drawCount=0;var item=dayBorder[i];var left=ToFixedPoint(item.Left);var right=ToFixedPoint(item.LeftEx);var width=right-left;if(width>3)//盘前
2413
+ if(this.ChartBorder.TitleHeight<5)return;var aryButton=[];if(this.Identify!=0&&this.Identify!=1)//价格图和成交量图只有自定义按钮
2414
+ {if(this.CloseIndex)aryButton.push({ID:JSCHART_BUTTON_ID.CLOSE_INDEX_WINDOW,Style:this.CloseWindowButton});if(this.MaxMinWindow)aryButton.push({ID:JSCHART_BUTTON_ID.MAX_MIN_WINDOW,Style:this.MaxMinWindowButton});if(this.TitleWindow)aryButton.push({ID:JSCHART_BUTTON_ID.TITLE_WINDOW,Style:this.TitleWindowButton});if(this.ExportData)aryButton.push({ID:JSCHART_BUTTON_ID.EXPORT_DATA,Style:this.ExportDataButton});if(this.OverlayIndex)aryButton.push({ID:JSCHART_BUTTON_ID.OVERLAY_INDEX,Style:this.OverlayIndexButton});if(this.ChangeIndex)aryButton.push({ID:JSCHART_BUTTON_ID.CHANGE_INDEX,Style:this.ChangeIndexButton});if(this.ModifyIndex)aryButton.push({ID:JSCHART_BUTTON_ID.MODIFY_INDEX_PARAM,Style:this.ModifyIndexParamButton});}if(IFrameSplitOperator.IsNonEmptyArray(this.CustomToolbar)){for(var i=0;i<this.CustomToolbar.length;++i){var item=this.CustomToolbar[i];if(item.ID&&item.Style)aryButton.push({ID:item.ID,Style:item.Style,TooltipText:item.TooltipText});}}this.DrawTitleButton(aryButton,moveonPoint,mouseStatus);};this.DrawCloseBeforeButton=function(moveonPoint,mouseStatus){if(this.Identify!=0)return;var border=this.ChartBorder.GetBorder();if(border.DayBorder)return;if(this.ChartBorder.LeftExtendWidth<10)return;var rtButton={Left:border.Left,Top:border.TopEx,Width:this.BeforeCloseIcon.Size,Height:this.BeforeCloseIcon.Size};rtButton.Right=rtButton.Left+this.BeforeCloseIcon.Size;rtButton.Bottom=rtButton.Top+this.BeforeCloseIcon.Size;var item={Rect:rtButton,Name:"集合竞价关闭按钮",ID:JSCHART_BUTTON_ID.CLOSE_BEFOREOPEN_ID};var color=this.BeforeCloseIcon.Color;if(moveonPoint&&moveonPoint.X>=rtButton.Left&&moveonPoint.X<rtButton.Right&&moveonPoint.Y>=rtButton.Top&&moveonPoint.Y<=rtButton.Bottom){color=this.BeforeCloseIcon.MoveOnColor;if(mouseStatus)mouseStatus.MouseOnToolbar={Rect:rtButton,Item:item,Frame:this,Point:{X:moveonPoint.X,Y:moveonPoint.Y}};}var font=this.BeforeCloseIcon.Size+'px '+this.BeforeCloseIcon.Family;this.Canvas.font=font;this.Canvas.fillStyle=color;this.Canvas.textAlign='left';this.Canvas.textBaseline='top';this.Canvas.fillText(this.BeforeCloseIcon.Text,border.Left,border.TopEx);this.Buttons.push(item);};this.DrawMultiDayBeforeDataBG=function(border){var dayBorder=border.DayBorder;var top=ToFixedPoint(border.Top);var bottom=ToFixedPoint(border.Bottom);var height=bottom-top;this.Canvas.strokeStyle=this.MultiDayBorderPen;for(var i=0;i<dayBorder.length;++i){var drawCount=0;var item=dayBorder[i];var left=ToFixedPoint(item.Left);var right=ToFixedPoint(item.LeftEx);var width=right-left;if(width>3)//盘前
2409
2415
  {this.Canvas.fillStyle=this.BeforeBGColor;this.Canvas.fillRect(left,top,width,height);++drawCount;}var left=ToFixedPoint(item.RightEx);var right=ToFixedPoint(item.Right);var width=right-left;if(width>3)//盘后
2410
2416
  {this.Canvas.fillStyle=this.AfterBGColor;this.Canvas.fillRect(left,top,width,height);++drawCount;}if(drawCount==2&&i!=dayBorder.length-1){this.Canvas.beginPath();this.Canvas.moveTo(right,top);this.Canvas.lineTo(right,bottom);this.Canvas.stroke();}}};this.DrawCallAuctionVertical=function(verticalInfo,callAuctionData,border,isBeforeClose){if(!callAuctionData)return;var top=border.TopTitle;var bottom=border.Bottom;var left=border.Left;var right=border.LeftEx;var pixelRatio=GetDevicePixelRatio();//获取设备的分辨率
2411
2417
  var xPrev=null;//上一个坐标x的值
@@ -7351,9 +7357,7 @@ var aryOverlayIndex=[];if(IFrameSplitOperator.IsNonEmptyArray(option.OverlayInde
7351
7357
  this.ResetFrameXYSplit();this.UpdateFrameMaxMin();//调整坐标最大 最小值
7352
7358
  this.Draw();}else{if(!symbol)symbol=this.Symbol;var optionData={KLine:{}};if(IFrameSplitOperator.IsNumber(period))optionData.KLine.Period=period;if(IFrameSplitOperator.IsNumber(right))optionData.KLine.Right=right;this.ChangeSymbol(symbol,optionData);}};this.RemoveIndexWindow=function(id,option){JSConsole.Chart.Log('[KLineChartContainer::RemoveIndexWindow] remove id',id);if(id==0){if(option&&option.DeleteMainIndex)//删除指标
7353
7359
  {this.DeleteIndexPaint(id);this.WindowIndex[id]=null;this.Frame.SetSizeChage(true);this.UpdateFrameMaxMin();this.ResetFrameXYSplit();this.Draw();}return;}if(!this.Frame.SubFrame)return;if(id>=this.Frame.SubFrame.length)return;this.Frame.RestoreIndexWindows();var delFrame=this.Frame.SubFrame[id].Frame;this.DeleteIndexPaint(id);this.Frame.SubFrame[id].Frame.ClearToolbar();var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_DELETE_FRAME);if(event&&event.Callback){var sendData={SubFrame:this.Frame.SubFrame[id],WindowIndex:id};event.Callback(event,sendData,this);}this.Frame.SubFrame.splice(id,1);this.WindowIndex.splice(id,1);this.TitlePaint.splice(id+1,1);//删除对应的动态标题
7354
- for(var i=0;i<this.Frame.SubFrame.length;++i){var item=this.Frame.SubFrame[i].Frame;if(i==this.Frame.SubFrame.length-1)item.XSplitOperator.ShowText=true;else item.XSplitOperator.ShowText=false;item.Identify=i;}if(this.ChartDrawPicture.length>0){var aryDrawPicture=[];for(var i in this.ChartDrawPicture){var item=this.ChartDrawPicture[i];if(item.Frame==delFrame)continue;aryDrawPicture.push(item);}this.ChartDrawPicture=aryDrawPicture;}this.Frame.SetSizeChage(true);this.UpdateFrameMaxMin();this.ResetFrameXYSplit();this.Draw();};//获取当前的显示的指标
7355
- this.GetIndexInfo=function(){var aryIndex=[];for(var i in this.WindowIndex){var item=this.WindowIndex[i];var info={Name:item.Name};if(item.ID)info.ID=item.ID;if(item.Arguments)//参数
7356
- {info.Args=[];for(var i in item.Arguments){var argItem=item.Arguments[i];info.Args.push({Name:argItem.Name,Value:argItem.Value});}}aryIndex.push(info);}return aryIndex;};this.CreateExtendChart=function(name,option)//创建扩展图形
7360
+ for(var i=0;i<this.Frame.SubFrame.length;++i){var item=this.Frame.SubFrame[i].Frame;if(i==this.Frame.SubFrame.length-1)item.XSplitOperator.ShowText=true;else item.XSplitOperator.ShowText=false;item.Identify=i;}if(this.ChartDrawPicture.length>0){var aryDrawPicture=[];for(var i in this.ChartDrawPicture){var item=this.ChartDrawPicture[i];if(item.Frame==delFrame)continue;aryDrawPicture.push(item);}this.ChartDrawPicture=aryDrawPicture;}this.Frame.SetSizeChage(true);this.UpdateFrameMaxMin();this.ResetFrameXYSplit();this.Draw();};this.CreateExtendChart=function(name,option)//创建扩展图形
7357
7361
  {var chart;switch(name){case'筹码分布':chart=new StockChip();chart.Canvas=this.Canvas;chart.ChartBorder=this.Frame.ChartBorder;chart.ChartFrame=this.Frame;chart.HQChart=this;chart.Left=this.Frame.ChartBorder.Right;//左边间距使用当前框架间距
7358
7362
  chart.SetOption(option);this.ExtendChartPaint.push(chart);this.Frame.ChartBorder.Right+=chart.Width;//创建筹码需要增加右边的间距
7359
7363
  return chart;case'画图工具':chart=new DrawToolsButton();chart.Canvas=this.Canvas;chart.ChartBorder=this.Frame.ChartBorder;chart.ChartFrame=this.Frame;chart.HQChart=this;chart.Left=this.Frame.ChartBorder.Right;//左边间距使用当前框架间距
@@ -7856,8 +7860,8 @@ var bindData=this.SourceData;this.BindIndexData(i,bindData);//执行脚本
7856
7860
  for(var i=0;i<this.Frame.SubFrame.length;++i){var item=this.Frame.SubFrame[i].Frame;if(i==this.Frame.SubFrame.length-1)item.XSplitOperator.ShowText=true;else item.XSplitOperator.ShowText=false;}this.UpdataDataoffset();//更新数据偏移
7857
7861
  }this.UpdateXShowText();this.Frame.SetSizeChage(true);this.ResetFrameXYSplit();this.UpdateFrameMaxMin();//调整坐标最大 最小值
7858
7862
  this.Draw();};this.ChangeIndexTemplate=function(option)//切换指标模板 可以设置指标窗口个数 每个窗口的指标, 只能从第3个指标窗口开始设置,前面2个指标窗口固定无法设置
7859
- {var _this32=this;if(!Array.isArray(option.Windows))return;var count=option.Windows.length;var currentLength=this.Frame.SubFrame.length;var startWindowIndex=2;count+=startWindowIndex;var dayCount=null;if(IFrameSplitOperator.IsNumber(option.DayCount)&&option.DayCount!=this.DayCount)dayCount=option.DayCount;//天数
7860
- var bRefreshData=dayCount!=null;//清空所有的指标图型
7863
+ {var _this32=this;if(!Array.isArray(option.Windows))return;var count=option.Windows.length;var currentLength=this.Frame.SubFrame.length;var startWindowIndex=2;count+=startWindowIndex;var dayCount=null,symbol=null;if(IFrameSplitOperator.IsNumber(option.DayCount)&&option.DayCount!=this.DayCount)dayCount=option.DayCount;//天数
7864
+ if(option.Symbol)symbol=option.Symbol;var bRefreshData=dayCount!=null||symbol!=null;//清空所有的指标图型
7861
7865
  for(var i=startWindowIndex;i<currentLength;++i){this.DeleteIndexPaint(i);var frame=this.Frame.SubFrame[i];frame.YSpecificMaxMin=null;frame.IsLocked=false;frame.YSplitScale=null;}if(currentLength>count){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_DELETE_FRAME);for(var i=currentLength-1;i>=count;--i){this.Frame.SubFrame[i].Frame.ClearToolbar();if(event&&event.Callback){var sendData={SubFrame:this.Frame.SubFrame[i],WindowIndex:i};event.Callback(event,sendData,this);}}this.Frame.SubFrame.splice(count,currentLength-count);this.WindowIndex.splice(count,currentLength-count);this.TitlePaint.splice(count+1,currentLength-count);}else{for(var i=currentLength;i<count;++i)//创建新的指标窗口
7862
7866
  {var subFrame=this.CreateSubFrameItem(i);this.Frame.SubFrame[i]=subFrame;var titlePaint=new DynamicChartTitlePainting();titlePaint.Frame=this.Frame.SubFrame[i].Frame;titlePaint.Canvas=this.Canvas;titlePaint.LanguageID=this.LanguageID;titlePaint.GetEventCallback=function(id){return _this32.GetEventCallback(id);};titlePaint.SelectedChart=this.SelectedChart;this.TitlePaint[i+1]=titlePaint;}}for(var i=0;i<count;++i){var windowIndex=i;var item=null,frameItem=null;if(option.Frame&&option.Frame.length>i)frameItem=option.Frame[windowIndex];if(windowIndex>=startWindowIndex)item=option.Windows[windowIndex-startWindowIndex];var titleIndex=windowIndex+1;this.TitlePaint[titleIndex].Data=[];this.TitlePaint[titleIndex].Title=null;if(item){if(item.Script)//自定义指标脚本
7863
7867
  {this.WindowIndex[windowIndex]=new ScriptIndex(item.Name,item.Script,item.Args,item);//脚本执行
@@ -7869,7 +7873,7 @@ for(var i=0;i<this.Frame.SubFrame.length;++i){var item=this.Frame.SubFrame[i].Fr
7869
7873
  var aryOverlayIndex=[];if(IFrameSplitOperator.IsNonEmptyArray(option.OverlayIndex)){for(var i=0;i<option.OverlayIndex.length;++i){var item=option.OverlayIndex[i];if(item.Index)item.IndexName=item.Index;if(item.Windows>=0)item.WindowIndex=item.Windows;var overlay=this.CreateOverlayWindowsIndex(item);if(!overlay)continue;aryOverlayIndex.push({WindowsIndex:item.WindowIndex,Overlay:overlay});}}this.Frame.SetSizeChage(true);if(!bRefreshData){var bindData=this.SourceData;for(var i=0;i<count;++i){this.BindIndexData(i,bindData);//执行脚本
7870
7874
  }for(var i=0;i<aryOverlayIndex.length;++i){var item=aryOverlayIndex[i];this.BindOverlayIndexData(item.Overlay,item.WindowsIndex,bindData);}this.UpdataDataoffset();//更新数据偏移
7871
7875
  if(this.UpdateXShowText)this.UpdateXShowText();this.ResetFrameXYSplit();this.UpdateFrameMaxMin();//调整坐标最大 最小值
7872
- this.Draw();}else{if(dayCount!=null)this.ChangeDayCount(dayCount);}};this.RemoveIndexWindow=function(id){JSConsole.Chart.Log('[MinuteChartContainer::RemoveIndexWindow] remove id',id);if(id<2)return;if(!this.Frame.SubFrame)return;if(id>=this.Frame.SubFrame.length)return;this.Frame.RestoreIndexWindows();var delFrame=this.Frame.SubFrame[id].Frame;this.DeleteIndexPaint(id);this.Frame.SubFrame[id].Frame.ClearToolbar();var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_DELETE_FRAME);if(event&&event.Callback){var sendData={SubFrame:this.Frame.SubFrame[id],WindowIndex:id};event.Callback(event,sendData,this);}this.Frame.SubFrame.splice(id,1);this.WindowIndex.splice(id,1);this.TitlePaint.splice(id+1,1);//删除对应的动态标题
7876
+ this.Draw();}else{if(!symbol)symbol=this.Symbol;var option={};if(IFrameSplitOperator.IsNumber(dayCount))option.DayCount=dayCount;this.ChangeSymbol(symbol,option);}};this.RemoveIndexWindow=function(id){JSConsole.Chart.Log('[MinuteChartContainer::RemoveIndexWindow] remove id',id);if(id<2)return;if(!this.Frame.SubFrame)return;if(id>=this.Frame.SubFrame.length)return;this.Frame.RestoreIndexWindows();var delFrame=this.Frame.SubFrame[id].Frame;this.DeleteIndexPaint(id);this.Frame.SubFrame[id].Frame.ClearToolbar();var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_DELETE_FRAME);if(event&&event.Callback){var sendData={SubFrame:this.Frame.SubFrame[id],WindowIndex:id};event.Callback(event,sendData,this);}this.Frame.SubFrame.splice(id,1);this.WindowIndex.splice(id,1);this.TitlePaint.splice(id+1,1);//删除对应的动态标题
7873
7877
  for(var i=0;i<this.Frame.SubFrame.length;++i){var item=this.Frame.SubFrame[i].Frame;if(i==this.Frame.SubFrame.length-1)item.XSplitOperator.ShowText=true;else item.XSplitOperator.ShowText=false;item.Identify=i;}/*
7874
7878
  if (this.ChartDrawPicture.length>0)
7875
7879
  {
@@ -8113,8 +8117,7 @@ if(!indexInfo){indexCustom=JSIndexMap.Get(indexName);//定制指标
8113
8117
  if(!indexCustom){console.warn('[MinuteChartContainer::CreateOverlayIndex] can not find index['+indexName+']');return null;}}}var subFrame=this.Frame.SubFrame[windowIndex];var overlayFrame=new OverlayIndexItem();if(obj.Identify)overlayFrame.Identify=obj.Identify;//由外部指定id
8114
8118
  var frame=null;if(this.ClassName=="MinuteChartContainer")frame=new OverlayMinuteFrame();else frame=new OverlayMinuteHScreenFrame();frame.Canvas=this.Canvas;frame.MainFrame=subFrame.Frame;frame.ChartBorder=subFrame.Frame.ChartBorder;frame.GlobalOption=this.GlobalOption;if(obj.ShowRightText===true)frame.IsShow=true;else if(obj.ShowRightText===false)frame.IsShow=false;if(obj.IsShareY===true)frame.IsShareY=true;if(IFrameSplitOperator.IsBool(obj.IsCalculateYMaxMin))frame.IsCalculateYMaxMin=obj.IsCalculateYMaxMin;//是否计算Y最大最小值
8115
8119
  frame.YSplitOperator=new FrameSplitY();frame.YSplitOperator.LanguageID=this.LanguageID;frame.YSplitOperator.FrameSplitData=this.FrameSplitData.get('double');frame.YSplitOperator.Frame=frame;frame.YSplitOperator.ChartBorder=frame.ChartBorder;frame.YSplitOperator.SplitCount=subFrame.Frame.YSplitOperator.SplitCount;frame.YSplitOperator.GetEventCallback=function(id){return _this34.GetEventCallback(id);};frame.YSplitOperator.HQChart=this;frame.YSplitOperator.OverlayIdentify=overlayFrame.Identify;if(obj.Frame){var item=obj.Frame;if(item.Custom)frame.YSplitOperator.Custom=item.Custom;}overlayFrame.Frame=frame;if(apiItem){var apiIndex=new APIScriptIndex(apiItem.Name,apiItem.Script,apiItem.Args,obj,true);apiIndex.OverlayIndex={IsOverlay:true,Identify:overlayFrame.Identify,WindowIndex:windowIndex,Frame:overlayFrame};//叠加指标信息
8116
- overlayFrame.Script=apiIndex;}else if(indexInfo){var indexData=indexInfo;if(obj.Args)indexData.Args=obj.Args;//外部可以设置参数
8117
- var scriptIndex=new OverlayScriptIndex(indexData.Name,indexData.Script,indexData.Args,indexData);//脚本执行
8120
+ overlayFrame.Script=apiIndex;}else if(indexInfo){JSIndexScript.ModifyAttribute(indexInfo,obj);var scriptIndex=new OverlayScriptIndex(indexInfo.Name,indexInfo.Script,indexInfo.Args,indexInfo);//脚本执行
8118
8121
  scriptIndex.OverlayIndex={IsOverlay:true,Identify:overlayFrame.Identify,WindowIndex:windowIndex,Frame:overlayFrame};//叠加指标信息
8119
8122
  overlayFrame.Script=scriptIndex;}else{var scriptIndex=indexCustom.Create();scriptIndex.OverlayIndex={IsOverlay:true,Identify:overlayFrame.Identify,WindowIndex:windowIndex,Frame:overlayFrame};//叠加指标信息
8120
8123
  scriptIndex.Create(this,windowIndex);overlayFrame.Script=scriptIndex;}subFrame.OverlayIndex.push(overlayFrame);return overlayFrame;};this.DeleteOverlayWindowsIndex=function(identify)//删除叠加指标
@@ -8124,8 +8127,7 @@ for(var i=0;i<this.Frame.SubFrame.length;++i){var item=this.Frame.SubFrame[i];fo
8124
8127
  this.BindOverlayIndexData=function(overlayItem,windowIndex,hisData,option){if(!overlayItem.Script)return;if(typeof overlayItem.Script.RequestData=='function'){overlayItem.Script.RequestData(this,windowIndex,hisData);return;}if(typeof overlayItem.Script.ExecuteScript=='function'){overlayItem.Script.ExecuteScript(this,windowIndex,hisData);return;}overlayItem.Script.BindData(this,windowIndex,hisData);};//获取子窗口的所有画法
8125
8128
  this.GetChartPaint=function(windowIndex){var paint=new Array();for(var i in this.ChartPaint){if(i<3)continue;//分钟 均线 成交量 3个线不能改
8126
8129
  var item=this.ChartPaint[i];if(item.ChartFrame==this.Frame.SubFrame[windowIndex].Frame)paint.push(item);}return paint;};//创建指定窗口指标
8127
- this.CreateWindowIndex=function(windowIndex){this.WindowIndex[windowIndex].Create(this,windowIndex);};//获取当前的显示的指标
8128
- this.GetIndexInfo=function(){var aryIndex=[];for(var i in this.WindowIndex){var item=this.WindowIndex[i];var info={Name:item.Name};if(item.ID)info.ID=item.ID;aryIndex.push(info);}return aryIndex;};this.OnTouchFinished=function(){if(this.CorssCursorTouchEnd===true)//手势离开十字光标消失
8130
+ this.CreateWindowIndex=function(windowIndex){this.WindowIndex[windowIndex].Create(this,windowIndex);};this.OnTouchFinished=function(){if(this.CorssCursorTouchEnd===true)//手势离开十字光标消失
8129
8131
  {this.DrawDynamicInfo();return;}/* 以后放日线的tooltip
8130
8132
  for(var i in this.ExtendChartPaint)
8131
8133
  {
@@ -12813,7 +12815,7 @@ hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,St
12813
12815
  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);};}/********************************************************************************
12814
12816
  * 版本信息输出
12815
12817
  *
12816
- */var HQCHART_VERSION="1.1.12950";function PrintHQChartVersion(){var log='*************************************************************************************************************\n*\n* HQChart Ver: '+HQCHART_VERSION+' \n* \n* License: Apache License 2.0 \n* Source: https://github.com/jones2000/HQChart\n*\n*************************************************************************************************************\n';console.log(log);}PrintHQChartVersion();//把给外界调用的方法暴露出来
12818
+ */var HQCHART_VERSION="1.1.12962";function PrintHQChartVersion(){var log='*************************************************************************************************************\n*\n* HQChart Ver: '+HQCHART_VERSION+' \n* \n* License: Apache License 2.0 \n* Source: https://github.com/jones2000/HQChart\n*\n*************************************************************************************************************\n';console.log(log);}PrintHQChartVersion();//把给外界调用的方法暴露出来
12817
12819
  exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
12818
12820
  // BaseIndex:BaseIndex,
12819
12821
  // ChartLine:ChartLine,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hqchart",
3
- "version": "1.1.12951",
3
+ "version": "1.1.12963",
4
4
  "description": "HQChart - H5, 微信小程序 沪深/港股/数字货币/期货/美股 K线图(kline),走势图,缩放,拖拽,十字光标,画图工具,截图,筹码图. 分析家语法,通达信语法,(麦语法),第3方数据对接",
5
5
  "main": "lib/main.js",
6
6
  "scripts": {
@@ -182,6 +182,7 @@ JSIndexScript.ModifyAttribute=function(indexInfo, attribute)
182
182
  if (attribute.Lock) indexInfo.Lock=attribute.Lock;
183
183
  if (IFrameSplitOperator.IsNumber(attribute.YSplitType)) indexInfo.YSplitType=attribute.YSplitType;
184
184
  if (IFrameSplitOperator.IsBool(attribute.IsShowIndexTitle)) indexInfo.IsShowIndexTitle=attribute.IsShowIndexTitle;
185
+ if (IFrameSplitOperator.IsNumber(attribute.KLineType)) indexInfo.KLineType=attribute.KLineType;
185
186
 
186
187
  if (attribute.YAxis)
187
188
  {
@@ -8773,6 +8773,65 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
8773
8773
  }
8774
8774
  }
8775
8775
  }
8776
+
8777
+ //获取当前的显示的指标 包含叠加指标
8778
+ this.GetIndexInfo=function()
8779
+ {
8780
+ var aryIndex=[];
8781
+ for(var i=0, j=0; i<this.WindowIndex.length; ++i)
8782
+ {
8783
+ var item=this.WindowIndex[i];
8784
+ if (!item) continue;
8785
+
8786
+ var info={ Name:item.Name, WindowIndex:i, IsOverlay:false };
8787
+ if (item.ID) info.ID=item.ID;
8788
+ if (IFrameSplitOperator.IsNonEmptyArray(item.Arguments)) //参数
8789
+ {
8790
+ info.Args=[];
8791
+ for(j=0;j<item.Arguments.length;++j)
8792
+ {
8793
+ var argItem=item.Arguments[j];
8794
+ info.Args.push( { Name:argItem.Name, Value:argItem.Value} );
8795
+ }
8796
+ }
8797
+
8798
+ aryIndex.push(info);
8799
+ }
8800
+
8801
+ this.GetOverlayIndexInfo(aryIndex); //叠加指标
8802
+
8803
+ return aryIndex;
8804
+ }
8805
+
8806
+ //叠加指标
8807
+ this.GetOverlayIndexInfo=function(aryIndex)
8808
+ {
8809
+ for(var i=0, j=0, k=0; i<this.Frame.SubFrame.length; ++i)
8810
+ {
8811
+ var item=this.Frame.SubFrame[i];
8812
+ if (!IFrameSplitOperator.IsNonEmptyArray(item.OverlayIndex)) continue;
8813
+
8814
+ for(j=0; j<item.OverlayIndex.length; ++j)
8815
+ {
8816
+ var overlayItem=item.OverlayIndex[j];
8817
+ if (!overlayItem.Script) continue;
8818
+ var indexData=overlayItem.Script;
8819
+ var info={ Name:indexData.Name, ID:indexData.ID, WindowIndex:i, IsOverlay:true, Identify:overlayItem.Identify };
8820
+
8821
+ if (IFrameSplitOperator.IsNonEmptyArray(indexData.Arguments)) //参数
8822
+ {
8823
+ info.Args=[];
8824
+ for(k=0;k<indexData.Arguments.length;++k)
8825
+ {
8826
+ var argItem=indexData.Arguments[k];
8827
+ info.Args.push( { Name:argItem.Name, Value:argItem.Value} );
8828
+ }
8829
+ }
8830
+
8831
+ aryIndex.push(info);
8832
+ }
8833
+ }
8834
+ }
8776
8835
  }
8777
8836
 
8778
8837
  function GetDevicePixelRatio()
@@ -11955,16 +12014,18 @@ function MinuteFrame()
11955
12014
  if (this.Identify==0 && this.IsShowCloseButton) this.DrawCloseBeforeButton(moveonPoint, mouseStatus); //盘前集合竞价关闭按钮
11956
12015
 
11957
12016
  if (this.ChartBorder.TitleHeight<5) return;
11958
- if (this.Identify==0 || this.Identify==1) return;
11959
12017
 
11960
12018
  var aryButton=[];
11961
- if (this.CloseIndex) aryButton.push( { ID:JSCHART_BUTTON_ID.CLOSE_INDEX_WINDOW, Style:this.CloseWindowButton });
11962
- if (this.MaxMinWindow) aryButton.push({ ID:JSCHART_BUTTON_ID.MAX_MIN_WINDOW, Style:this.MaxMinWindowButton })
11963
- if (this.TitleWindow) aryButton.push({ ID:JSCHART_BUTTON_ID.TITLE_WINDOW, Style:this.TitleWindowButton });
11964
- if (this.ExportData) aryButton.push( {ID:JSCHART_BUTTON_ID.EXPORT_DATA, Style:this.ExportDataButton});
11965
- if (this.OverlayIndex) aryButton.push( { ID:JSCHART_BUTTON_ID.OVERLAY_INDEX, Style:this.OverlayIndexButton });
11966
- if (this.ChangeIndex) aryButton.push( { ID:JSCHART_BUTTON_ID.CHANGE_INDEX, Style:this.ChangeIndexButton });
11967
- if (this.ModifyIndex) aryButton.push( { ID:JSCHART_BUTTON_ID.MODIFY_INDEX_PARAM, Style:this.ModifyIndexParamButton });
12019
+ if (this.Identify!=0 && this.Identify!=1) //价格图和成交量图只有自定义按钮
12020
+ {
12021
+ if (this.CloseIndex) aryButton.push( { ID:JSCHART_BUTTON_ID.CLOSE_INDEX_WINDOW, Style:this.CloseWindowButton });
12022
+ if (this.MaxMinWindow) aryButton.push({ ID:JSCHART_BUTTON_ID.MAX_MIN_WINDOW, Style:this.MaxMinWindowButton })
12023
+ if (this.TitleWindow) aryButton.push({ ID:JSCHART_BUTTON_ID.TITLE_WINDOW, Style:this.TitleWindowButton });
12024
+ if (this.ExportData) aryButton.push( {ID:JSCHART_BUTTON_ID.EXPORT_DATA, Style:this.ExportDataButton});
12025
+ if (this.OverlayIndex) aryButton.push( { ID:JSCHART_BUTTON_ID.OVERLAY_INDEX, Style:this.OverlayIndexButton });
12026
+ if (this.ChangeIndex) aryButton.push( { ID:JSCHART_BUTTON_ID.CHANGE_INDEX, Style:this.ChangeIndexButton });
12027
+ if (this.ModifyIndex) aryButton.push( { ID:JSCHART_BUTTON_ID.MODIFY_INDEX_PARAM, Style:this.ModifyIndexParamButton });
12028
+ }
11968
12029
 
11969
12030
  if (IFrameSplitOperator.IsNonEmptyArray(this.CustomToolbar))
11970
12031
  {
@@ -68559,31 +68620,6 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
68559
68620
  this.Draw();
68560
68621
  }
68561
68622
 
68562
- //获取当前的显示的指标
68563
- this.GetIndexInfo=function()
68564
- {
68565
- var aryIndex=[];
68566
- for(var i in this.WindowIndex)
68567
- {
68568
- var item=this.WindowIndex[i];
68569
- var info={Name:item.Name};
68570
- if (item.ID) info.ID=item.ID;
68571
- if (item.Arguments) //参数
68572
- {
68573
- info.Args=[];
68574
- for(var i in item.Arguments)
68575
- {
68576
- var argItem=item.Arguments[i];
68577
- info.Args.push( {Name:argItem.Name, Value:argItem.Value} );
68578
- }
68579
- }
68580
-
68581
- aryIndex.push(info);
68582
- }
68583
-
68584
- return aryIndex;
68585
- }
68586
-
68587
68623
  this.CreateExtendChart=function(name, option) //创建扩展图形
68588
68624
  {
68589
68625
  var chart;
@@ -73797,9 +73833,10 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
73797
73833
  var startWindowIndex=2;
73798
73834
  count+=startWindowIndex;
73799
73835
 
73800
- var dayCount=null;
73836
+ var dayCount=null, symbol=null;
73801
73837
  if (IFrameSplitOperator.IsNumber(option.DayCount) && option.DayCount!=this.DayCount) dayCount= option.DayCount; //天数
73802
- var bRefreshData= (dayCount!=null);
73838
+ if (option.Symbol) symbol=option.Symbol;
73839
+ var bRefreshData= (dayCount!=null || symbol!=null);
73803
73840
 
73804
73841
  //清空所有的指标图型
73805
73842
  for(var i=startWindowIndex;i<currentLength;++i)
@@ -73948,7 +73985,10 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
73948
73985
  }
73949
73986
  else
73950
73987
  {
73951
- if (dayCount!=null) this.ChangeDayCount(dayCount);
73988
+ if (!symbol) symbol=this.Symbol;
73989
+ var option={ };
73990
+ if (IFrameSplitOperator.IsNumber(dayCount)) option.DayCount=dayCount;
73991
+ this.ChangeSymbol(symbol, option);
73952
73992
  }
73953
73993
  }
73954
73994
 
@@ -76140,10 +76180,8 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
76140
76180
  }
76141
76181
  else if (indexInfo)
76142
76182
  {
76143
- let indexData = indexInfo;
76144
- if (obj.Args) indexData.Args=obj.Args; //外部可以设置参数
76145
-
76146
- var scriptIndex=new OverlayScriptIndex(indexData.Name,indexData.Script,indexData.Args,indexData); //脚本执行
76183
+ JSIndexScript.ModifyAttribute(indexInfo, obj);
76184
+ var scriptIndex=new OverlayScriptIndex(indexInfo.Name,indexInfo.Script,indexInfo.Args,indexInfo); //脚本执行
76147
76185
  scriptIndex.OverlayIndex={ IsOverlay:true, Identify:overlayFrame.Identify, WindowIndex:windowIndex, Frame:overlayFrame }; //叠加指标信息
76148
76186
  overlayFrame.Script=scriptIndex;
76149
76187
  }
@@ -76226,21 +76264,6 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
76226
76264
  this.WindowIndex[windowIndex].Create(this,windowIndex);
76227
76265
  }
76228
76266
 
76229
- //获取当前的显示的指标
76230
- this.GetIndexInfo=function()
76231
- {
76232
- var aryIndex=[];
76233
- for(var i in this.WindowIndex)
76234
- {
76235
- var item=this.WindowIndex[i];
76236
- var info={Name:item.Name};
76237
- if (item.ID) info.ID=item.ID;
76238
- aryIndex.push(info);
76239
- }
76240
-
76241
- return aryIndex;
76242
- }
76243
-
76244
76267
  this.OnTouchFinished=function()
76245
76268
  {
76246
76269
  if (this.CorssCursorTouchEnd===true) //手势离开十字光标消失
@@ -194,6 +194,7 @@ JSIndexScript.ModifyAttribute=function(indexInfo, attribute)
194
194
  if (attribute.Lock) indexInfo.Lock=attribute.Lock;
195
195
  if (IFrameSplitOperator.IsNumber(attribute.YSplitType)) indexInfo.YSplitType=attribute.YSplitType;
196
196
  if (IFrameSplitOperator.IsBool(attribute.IsShowIndexTitle)) indexInfo.IsShowIndexTitle=attribute.IsShowIndexTitle;
197
+ if (IFrameSplitOperator.IsNumber(attribute.KLineType)) indexInfo.KLineType=attribute.KLineType;
197
198
 
198
199
  if (attribute.YAxis)
199
200
  {
@@ -12966,6 +12967,65 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
12966
12967
  }
12967
12968
  }
12968
12969
  }
12970
+
12971
+ //获取当前的显示的指标 包含叠加指标
12972
+ this.GetIndexInfo=function()
12973
+ {
12974
+ var aryIndex=[];
12975
+ for(var i=0, j=0; i<this.WindowIndex.length; ++i)
12976
+ {
12977
+ var item=this.WindowIndex[i];
12978
+ if (!item) continue;
12979
+
12980
+ var info={ Name:item.Name, WindowIndex:i, IsOverlay:false };
12981
+ if (item.ID) info.ID=item.ID;
12982
+ if (IFrameSplitOperator.IsNonEmptyArray(item.Arguments)) //参数
12983
+ {
12984
+ info.Args=[];
12985
+ for(j=0;j<item.Arguments.length;++j)
12986
+ {
12987
+ var argItem=item.Arguments[j];
12988
+ info.Args.push( { Name:argItem.Name, Value:argItem.Value} );
12989
+ }
12990
+ }
12991
+
12992
+ aryIndex.push(info);
12993
+ }
12994
+
12995
+ this.GetOverlayIndexInfo(aryIndex); //叠加指标
12996
+
12997
+ return aryIndex;
12998
+ }
12999
+
13000
+ //叠加指标
13001
+ this.GetOverlayIndexInfo=function(aryIndex)
13002
+ {
13003
+ for(var i=0, j=0, k=0; i<this.Frame.SubFrame.length; ++i)
13004
+ {
13005
+ var item=this.Frame.SubFrame[i];
13006
+ if (!IFrameSplitOperator.IsNonEmptyArray(item.OverlayIndex)) continue;
13007
+
13008
+ for(j=0; j<item.OverlayIndex.length; ++j)
13009
+ {
13010
+ var overlayItem=item.OverlayIndex[j];
13011
+ if (!overlayItem.Script) continue;
13012
+ var indexData=overlayItem.Script;
13013
+ var info={ Name:indexData.Name, ID:indexData.ID, WindowIndex:i, IsOverlay:true, Identify:overlayItem.Identify };
13014
+
13015
+ if (IFrameSplitOperator.IsNonEmptyArray(indexData.Arguments)) //参数
13016
+ {
13017
+ info.Args=[];
13018
+ for(k=0;k<indexData.Arguments.length;++k)
13019
+ {
13020
+ var argItem=indexData.Arguments[k];
13021
+ info.Args.push( { Name:argItem.Name, Value:argItem.Value} );
13022
+ }
13023
+ }
13024
+
13025
+ aryIndex.push(info);
13026
+ }
13027
+ }
13028
+ }
12969
13029
  }
12970
13030
 
12971
13031
  function GetDevicePixelRatio()
@@ -16148,16 +16208,18 @@ function MinuteFrame()
16148
16208
  if (this.Identify==0 && this.IsShowCloseButton) this.DrawCloseBeforeButton(moveonPoint, mouseStatus); //盘前集合竞价关闭按钮
16149
16209
 
16150
16210
  if (this.ChartBorder.TitleHeight<5) return;
16151
- if (this.Identify==0 || this.Identify==1) return;
16152
16211
 
16153
16212
  var aryButton=[];
16154
- if (this.CloseIndex) aryButton.push( { ID:JSCHART_BUTTON_ID.CLOSE_INDEX_WINDOW, Style:this.CloseWindowButton });
16155
- if (this.MaxMinWindow) aryButton.push({ ID:JSCHART_BUTTON_ID.MAX_MIN_WINDOW, Style:this.MaxMinWindowButton })
16156
- if (this.TitleWindow) aryButton.push({ ID:JSCHART_BUTTON_ID.TITLE_WINDOW, Style:this.TitleWindowButton });
16157
- if (this.ExportData) aryButton.push( {ID:JSCHART_BUTTON_ID.EXPORT_DATA, Style:this.ExportDataButton});
16158
- if (this.OverlayIndex) aryButton.push( { ID:JSCHART_BUTTON_ID.OVERLAY_INDEX, Style:this.OverlayIndexButton });
16159
- if (this.ChangeIndex) aryButton.push( { ID:JSCHART_BUTTON_ID.CHANGE_INDEX, Style:this.ChangeIndexButton });
16160
- if (this.ModifyIndex) aryButton.push( { ID:JSCHART_BUTTON_ID.MODIFY_INDEX_PARAM, Style:this.ModifyIndexParamButton });
16213
+ if (this.Identify!=0 && this.Identify!=1) //价格图和成交量图只有自定义按钮
16214
+ {
16215
+ if (this.CloseIndex) aryButton.push( { ID:JSCHART_BUTTON_ID.CLOSE_INDEX_WINDOW, Style:this.CloseWindowButton });
16216
+ if (this.MaxMinWindow) aryButton.push({ ID:JSCHART_BUTTON_ID.MAX_MIN_WINDOW, Style:this.MaxMinWindowButton })
16217
+ if (this.TitleWindow) aryButton.push({ ID:JSCHART_BUTTON_ID.TITLE_WINDOW, Style:this.TitleWindowButton });
16218
+ if (this.ExportData) aryButton.push( {ID:JSCHART_BUTTON_ID.EXPORT_DATA, Style:this.ExportDataButton});
16219
+ if (this.OverlayIndex) aryButton.push( { ID:JSCHART_BUTTON_ID.OVERLAY_INDEX, Style:this.OverlayIndexButton });
16220
+ if (this.ChangeIndex) aryButton.push( { ID:JSCHART_BUTTON_ID.CHANGE_INDEX, Style:this.ChangeIndexButton });
16221
+ if (this.ModifyIndex) aryButton.push( { ID:JSCHART_BUTTON_ID.MODIFY_INDEX_PARAM, Style:this.ModifyIndexParamButton });
16222
+ }
16161
16223
 
16162
16224
  if (IFrameSplitOperator.IsNonEmptyArray(this.CustomToolbar))
16163
16225
  {
@@ -72752,31 +72814,6 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
72752
72814
  this.Draw();
72753
72815
  }
72754
72816
 
72755
- //获取当前的显示的指标
72756
- this.GetIndexInfo=function()
72757
- {
72758
- var aryIndex=[];
72759
- for(var i in this.WindowIndex)
72760
- {
72761
- var item=this.WindowIndex[i];
72762
- var info={Name:item.Name};
72763
- if (item.ID) info.ID=item.ID;
72764
- if (item.Arguments) //参数
72765
- {
72766
- info.Args=[];
72767
- for(var i in item.Arguments)
72768
- {
72769
- var argItem=item.Arguments[i];
72770
- info.Args.push( {Name:argItem.Name, Value:argItem.Value} );
72771
- }
72772
- }
72773
-
72774
- aryIndex.push(info);
72775
- }
72776
-
72777
- return aryIndex;
72778
- }
72779
-
72780
72817
  this.CreateExtendChart=function(name, option) //创建扩展图形
72781
72818
  {
72782
72819
  var chart;
@@ -77990,9 +78027,10 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
77990
78027
  var startWindowIndex=2;
77991
78028
  count+=startWindowIndex;
77992
78029
 
77993
- var dayCount=null;
78030
+ var dayCount=null, symbol=null;
77994
78031
  if (IFrameSplitOperator.IsNumber(option.DayCount) && option.DayCount!=this.DayCount) dayCount= option.DayCount; //天数
77995
- var bRefreshData= (dayCount!=null);
78032
+ if (option.Symbol) symbol=option.Symbol;
78033
+ var bRefreshData= (dayCount!=null || symbol!=null);
77996
78034
 
77997
78035
  //清空所有的指标图型
77998
78036
  for(var i=startWindowIndex;i<currentLength;++i)
@@ -78141,7 +78179,10 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
78141
78179
  }
78142
78180
  else
78143
78181
  {
78144
- if (dayCount!=null) this.ChangeDayCount(dayCount);
78182
+ if (!symbol) symbol=this.Symbol;
78183
+ var option={ };
78184
+ if (IFrameSplitOperator.IsNumber(dayCount)) option.DayCount=dayCount;
78185
+ this.ChangeSymbol(symbol, option);
78145
78186
  }
78146
78187
  }
78147
78188
 
@@ -80333,10 +80374,8 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
80333
80374
  }
80334
80375
  else if (indexInfo)
80335
80376
  {
80336
- let indexData = indexInfo;
80337
- if (obj.Args) indexData.Args=obj.Args; //外部可以设置参数
80338
-
80339
- var scriptIndex=new OverlayScriptIndex(indexData.Name,indexData.Script,indexData.Args,indexData); //脚本执行
80377
+ JSIndexScript.ModifyAttribute(indexInfo, obj);
80378
+ var scriptIndex=new OverlayScriptIndex(indexInfo.Name,indexInfo.Script,indexInfo.Args,indexInfo); //脚本执行
80340
80379
  scriptIndex.OverlayIndex={ IsOverlay:true, Identify:overlayFrame.Identify, WindowIndex:windowIndex, Frame:overlayFrame }; //叠加指标信息
80341
80380
  overlayFrame.Script=scriptIndex;
80342
80381
  }
@@ -80419,21 +80458,6 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
80419
80458
  this.WindowIndex[windowIndex].Create(this,windowIndex);
80420
80459
  }
80421
80460
 
80422
- //获取当前的显示的指标
80423
- this.GetIndexInfo=function()
80424
- {
80425
- var aryIndex=[];
80426
- for(var i in this.WindowIndex)
80427
- {
80428
- var item=this.WindowIndex[i];
80429
- var info={Name:item.Name};
80430
- if (item.ID) info.ID=item.ID;
80431
- aryIndex.push(info);
80432
- }
80433
-
80434
- return aryIndex;
80435
- }
80436
-
80437
80461
  this.OnTouchFinished=function()
80438
80462
  {
80439
80463
  if (this.CorssCursorTouchEnd===true) //手势离开十字光标消失
@@ -129401,7 +129425,7 @@ function ScrollBarBGChart()
129401
129425
 
129402
129426
 
129403
129427
 
129404
- var HQCHART_VERSION="1.1.12950";
129428
+ var HQCHART_VERSION="1.1.12962";
129405
129429
 
129406
129430
  function PrintHQChartVersion()
129407
129431
  {
@@ -5,7 +5,7 @@
5
5
 
6
6
 
7
7
 
8
- var HQCHART_VERSION="1.1.12950";
8
+ var HQCHART_VERSION="1.1.12962";
9
9
 
10
10
  function PrintHQChartVersion()
11
11
  {
@@ -238,6 +238,7 @@ JSIndexScript.ModifyAttribute=function(indexInfo, attribute)
238
238
  if (attribute.Lock) indexInfo.Lock=attribute.Lock;
239
239
  if (IFrameSplitOperator.IsNumber(attribute.YSplitType)) indexInfo.YSplitType=attribute.YSplitType;
240
240
  if (IFrameSplitOperator.IsBool(attribute.IsShowIndexTitle)) indexInfo.IsShowIndexTitle=attribute.IsShowIndexTitle;
241
+ if (IFrameSplitOperator.IsNumber(attribute.KLineType)) indexInfo.KLineType=attribute.KLineType;
241
242
 
242
243
  if (attribute.YAxis)
243
244
  {
@@ -13010,6 +13011,65 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
13010
13011
  }
13011
13012
  }
13012
13013
  }
13014
+
13015
+ //获取当前的显示的指标 包含叠加指标
13016
+ this.GetIndexInfo=function()
13017
+ {
13018
+ var aryIndex=[];
13019
+ for(var i=0, j=0; i<this.WindowIndex.length; ++i)
13020
+ {
13021
+ var item=this.WindowIndex[i];
13022
+ if (!item) continue;
13023
+
13024
+ var info={ Name:item.Name, WindowIndex:i, IsOverlay:false };
13025
+ if (item.ID) info.ID=item.ID;
13026
+ if (IFrameSplitOperator.IsNonEmptyArray(item.Arguments)) //参数
13027
+ {
13028
+ info.Args=[];
13029
+ for(j=0;j<item.Arguments.length;++j)
13030
+ {
13031
+ var argItem=item.Arguments[j];
13032
+ info.Args.push( { Name:argItem.Name, Value:argItem.Value} );
13033
+ }
13034
+ }
13035
+
13036
+ aryIndex.push(info);
13037
+ }
13038
+
13039
+ this.GetOverlayIndexInfo(aryIndex); //叠加指标
13040
+
13041
+ return aryIndex;
13042
+ }
13043
+
13044
+ //叠加指标
13045
+ this.GetOverlayIndexInfo=function(aryIndex)
13046
+ {
13047
+ for(var i=0, j=0, k=0; i<this.Frame.SubFrame.length; ++i)
13048
+ {
13049
+ var item=this.Frame.SubFrame[i];
13050
+ if (!IFrameSplitOperator.IsNonEmptyArray(item.OverlayIndex)) continue;
13051
+
13052
+ for(j=0; j<item.OverlayIndex.length; ++j)
13053
+ {
13054
+ var overlayItem=item.OverlayIndex[j];
13055
+ if (!overlayItem.Script) continue;
13056
+ var indexData=overlayItem.Script;
13057
+ var info={ Name:indexData.Name, ID:indexData.ID, WindowIndex:i, IsOverlay:true, Identify:overlayItem.Identify };
13058
+
13059
+ if (IFrameSplitOperator.IsNonEmptyArray(indexData.Arguments)) //参数
13060
+ {
13061
+ info.Args=[];
13062
+ for(k=0;k<indexData.Arguments.length;++k)
13063
+ {
13064
+ var argItem=indexData.Arguments[k];
13065
+ info.Args.push( { Name:argItem.Name, Value:argItem.Value} );
13066
+ }
13067
+ }
13068
+
13069
+ aryIndex.push(info);
13070
+ }
13071
+ }
13072
+ }
13013
13073
  }
13014
13074
 
13015
13075
  function GetDevicePixelRatio()
@@ -16192,16 +16252,18 @@ function MinuteFrame()
16192
16252
  if (this.Identify==0 && this.IsShowCloseButton) this.DrawCloseBeforeButton(moveonPoint, mouseStatus); //盘前集合竞价关闭按钮
16193
16253
 
16194
16254
  if (this.ChartBorder.TitleHeight<5) return;
16195
- if (this.Identify==0 || this.Identify==1) return;
16196
16255
 
16197
16256
  var aryButton=[];
16198
- if (this.CloseIndex) aryButton.push( { ID:JSCHART_BUTTON_ID.CLOSE_INDEX_WINDOW, Style:this.CloseWindowButton });
16199
- if (this.MaxMinWindow) aryButton.push({ ID:JSCHART_BUTTON_ID.MAX_MIN_WINDOW, Style:this.MaxMinWindowButton })
16200
- if (this.TitleWindow) aryButton.push({ ID:JSCHART_BUTTON_ID.TITLE_WINDOW, Style:this.TitleWindowButton });
16201
- if (this.ExportData) aryButton.push( {ID:JSCHART_BUTTON_ID.EXPORT_DATA, Style:this.ExportDataButton});
16202
- if (this.OverlayIndex) aryButton.push( { ID:JSCHART_BUTTON_ID.OVERLAY_INDEX, Style:this.OverlayIndexButton });
16203
- if (this.ChangeIndex) aryButton.push( { ID:JSCHART_BUTTON_ID.CHANGE_INDEX, Style:this.ChangeIndexButton });
16204
- if (this.ModifyIndex) aryButton.push( { ID:JSCHART_BUTTON_ID.MODIFY_INDEX_PARAM, Style:this.ModifyIndexParamButton });
16257
+ if (this.Identify!=0 && this.Identify!=1) //价格图和成交量图只有自定义按钮
16258
+ {
16259
+ if (this.CloseIndex) aryButton.push( { ID:JSCHART_BUTTON_ID.CLOSE_INDEX_WINDOW, Style:this.CloseWindowButton });
16260
+ if (this.MaxMinWindow) aryButton.push({ ID:JSCHART_BUTTON_ID.MAX_MIN_WINDOW, Style:this.MaxMinWindowButton })
16261
+ if (this.TitleWindow) aryButton.push({ ID:JSCHART_BUTTON_ID.TITLE_WINDOW, Style:this.TitleWindowButton });
16262
+ if (this.ExportData) aryButton.push( {ID:JSCHART_BUTTON_ID.EXPORT_DATA, Style:this.ExportDataButton});
16263
+ if (this.OverlayIndex) aryButton.push( { ID:JSCHART_BUTTON_ID.OVERLAY_INDEX, Style:this.OverlayIndexButton });
16264
+ if (this.ChangeIndex) aryButton.push( { ID:JSCHART_BUTTON_ID.CHANGE_INDEX, Style:this.ChangeIndexButton });
16265
+ if (this.ModifyIndex) aryButton.push( { ID:JSCHART_BUTTON_ID.MODIFY_INDEX_PARAM, Style:this.ModifyIndexParamButton });
16266
+ }
16205
16267
 
16206
16268
  if (IFrameSplitOperator.IsNonEmptyArray(this.CustomToolbar))
16207
16269
  {
@@ -72796,31 +72858,6 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
72796
72858
  this.Draw();
72797
72859
  }
72798
72860
 
72799
- //获取当前的显示的指标
72800
- this.GetIndexInfo=function()
72801
- {
72802
- var aryIndex=[];
72803
- for(var i in this.WindowIndex)
72804
- {
72805
- var item=this.WindowIndex[i];
72806
- var info={Name:item.Name};
72807
- if (item.ID) info.ID=item.ID;
72808
- if (item.Arguments) //参数
72809
- {
72810
- info.Args=[];
72811
- for(var i in item.Arguments)
72812
- {
72813
- var argItem=item.Arguments[i];
72814
- info.Args.push( {Name:argItem.Name, Value:argItem.Value} );
72815
- }
72816
- }
72817
-
72818
- aryIndex.push(info);
72819
- }
72820
-
72821
- return aryIndex;
72822
- }
72823
-
72824
72861
  this.CreateExtendChart=function(name, option) //创建扩展图形
72825
72862
  {
72826
72863
  var chart;
@@ -78034,9 +78071,10 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
78034
78071
  var startWindowIndex=2;
78035
78072
  count+=startWindowIndex;
78036
78073
 
78037
- var dayCount=null;
78074
+ var dayCount=null, symbol=null;
78038
78075
  if (IFrameSplitOperator.IsNumber(option.DayCount) && option.DayCount!=this.DayCount) dayCount= option.DayCount; //天数
78039
- var bRefreshData= (dayCount!=null);
78076
+ if (option.Symbol) symbol=option.Symbol;
78077
+ var bRefreshData= (dayCount!=null || symbol!=null);
78040
78078
 
78041
78079
  //清空所有的指标图型
78042
78080
  for(var i=startWindowIndex;i<currentLength;++i)
@@ -78185,7 +78223,10 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
78185
78223
  }
78186
78224
  else
78187
78225
  {
78188
- if (dayCount!=null) this.ChangeDayCount(dayCount);
78226
+ if (!symbol) symbol=this.Symbol;
78227
+ var option={ };
78228
+ if (IFrameSplitOperator.IsNumber(dayCount)) option.DayCount=dayCount;
78229
+ this.ChangeSymbol(symbol, option);
78189
78230
  }
78190
78231
  }
78191
78232
 
@@ -80377,10 +80418,8 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
80377
80418
  }
80378
80419
  else if (indexInfo)
80379
80420
  {
80380
- let indexData = indexInfo;
80381
- if (obj.Args) indexData.Args=obj.Args; //外部可以设置参数
80382
-
80383
- var scriptIndex=new OverlayScriptIndex(indexData.Name,indexData.Script,indexData.Args,indexData); //脚本执行
80421
+ JSIndexScript.ModifyAttribute(indexInfo, obj);
80422
+ var scriptIndex=new OverlayScriptIndex(indexInfo.Name,indexInfo.Script,indexInfo.Args,indexInfo); //脚本执行
80384
80423
  scriptIndex.OverlayIndex={ IsOverlay:true, Identify:overlayFrame.Identify, WindowIndex:windowIndex, Frame:overlayFrame }; //叠加指标信息
80385
80424
  overlayFrame.Script=scriptIndex;
80386
80425
  }
@@ -80463,21 +80502,6 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
80463
80502
  this.WindowIndex[windowIndex].Create(this,windowIndex);
80464
80503
  }
80465
80504
 
80466
- //获取当前的显示的指标
80467
- this.GetIndexInfo=function()
80468
- {
80469
- var aryIndex=[];
80470
- for(var i in this.WindowIndex)
80471
- {
80472
- var item=this.WindowIndex[i];
80473
- var info={Name:item.Name};
80474
- if (item.ID) info.ID=item.ID;
80475
- aryIndex.push(info);
80476
- }
80477
-
80478
- return aryIndex;
80479
- }
80480
-
80481
80505
  this.OnTouchFinished=function()
80482
80506
  {
80483
80507
  if (this.CorssCursorTouchEnd===true) //手势离开十字光标消失
@@ -129559,7 +129583,7 @@ function HQChartScriptWorker()
129559
129583
 
129560
129584
 
129561
129585
 
129562
- var HQCHART_VERSION="1.1.12950";
129586
+ var HQCHART_VERSION="1.1.12962";
129563
129587
 
129564
129588
  function PrintHQChartVersion()
129565
129589
  {