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.
- package/lib/umychart.vue.js +16 -14
- package/package.json +1 -1
- package/src/jscommon/umychart.index.data.js +1 -0
- package/src/jscommon/umychart.js +78 -55
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +80 -56
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +80 -56
package/lib/umychart.vue.js
CHANGED
|
@@ -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;}}}
|
|
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;
|
|
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(
|
|
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
|
|
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.
|
|
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
|
@@ -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
|
{
|
package/src/jscommon/umychart.js
CHANGED
|
@@ -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.
|
|
11962
|
-
|
|
11963
|
-
|
|
11964
|
-
|
|
11965
|
-
|
|
11966
|
-
|
|
11967
|
-
|
|
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
|
-
|
|
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 (
|
|
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
|
-
|
|
76144
|
-
|
|
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.
|
|
16155
|
-
|
|
16156
|
-
|
|
16157
|
-
|
|
16158
|
-
|
|
16159
|
-
|
|
16160
|
-
|
|
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
|
-
|
|
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 (
|
|
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
|
-
|
|
80337
|
-
|
|
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.
|
|
129428
|
+
var HQCHART_VERSION="1.1.12962";
|
|
129405
129429
|
|
|
129406
129430
|
function PrintHQChartVersion()
|
|
129407
129431
|
{
|
|
@@ -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.
|
|
16199
|
-
|
|
16200
|
-
|
|
16201
|
-
|
|
16202
|
-
|
|
16203
|
-
|
|
16204
|
-
|
|
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
|
-
|
|
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 (
|
|
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
|
-
|
|
80381
|
-
|
|
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.
|
|
129586
|
+
var HQCHART_VERSION="1.1.12962";
|
|
129563
129587
|
|
|
129564
129588
|
function PrintHQChartVersion()
|
|
129565
129589
|
{
|