hqchart 1.1.12955 → 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 +12 -9
- package/package.json +1 -1
- package/src/jscommon/umychart.index.data.js +1 -0
- package/src/jscommon/umychart.js +69 -48
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +71 -49
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +71 -49
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;//左边间距使用当前框架间距
|
|
@@ -8123,8 +8127,7 @@ for(var i=0;i<this.Frame.SubFrame.length;++i){var item=this.Frame.SubFrame[i];fo
|
|
|
8123
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);};//获取子窗口的所有画法
|
|
8124
8128
|
this.GetChartPaint=function(windowIndex){var paint=new Array();for(var i in this.ChartPaint){if(i<3)continue;//分钟 均线 成交量 3个线不能改
|
|
8125
8129
|
var item=this.ChartPaint[i];if(item.ChartFrame==this.Frame.SubFrame[windowIndex].Frame)paint.push(item);}return paint;};//创建指定窗口指标
|
|
8126
|
-
this.CreateWindowIndex=function(windowIndex){this.WindowIndex[windowIndex].Create(this,windowIndex);}
|
|
8127
|
-
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)//手势离开十字光标消失
|
|
8128
8131
|
{this.DrawDynamicInfo();return;}/* 以后放日线的tooltip
|
|
8129
8132
|
for(var i in this.ExtendChartPaint)
|
|
8130
8133
|
{
|
|
@@ -12812,7 +12815,7 @@ hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,St
|
|
|
12812
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);};}/********************************************************************************
|
|
12813
12816
|
* 版本信息输出
|
|
12814
12817
|
*
|
|
12815
|
-
*/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();//把给外界调用的方法暴露出来
|
|
12816
12819
|
exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
|
|
12817
12820
|
// BaseIndex:BaseIndex,
|
|
12818
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;
|
|
@@ -76228,21 +76264,6 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
76228
76264
|
this.WindowIndex[windowIndex].Create(this,windowIndex);
|
|
76229
76265
|
}
|
|
76230
76266
|
|
|
76231
|
-
//获取当前的显示的指标
|
|
76232
|
-
this.GetIndexInfo=function()
|
|
76233
|
-
{
|
|
76234
|
-
var aryIndex=[];
|
|
76235
|
-
for(var i in this.WindowIndex)
|
|
76236
|
-
{
|
|
76237
|
-
var item=this.WindowIndex[i];
|
|
76238
|
-
var info={Name:item.Name};
|
|
76239
|
-
if (item.ID) info.ID=item.ID;
|
|
76240
|
-
aryIndex.push(info);
|
|
76241
|
-
}
|
|
76242
|
-
|
|
76243
|
-
return aryIndex;
|
|
76244
|
-
}
|
|
76245
|
-
|
|
76246
76267
|
this.OnTouchFinished=function()
|
|
76247
76268
|
{
|
|
76248
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;
|
|
@@ -80421,21 +80458,6 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
80421
80458
|
this.WindowIndex[windowIndex].Create(this,windowIndex);
|
|
80422
80459
|
}
|
|
80423
80460
|
|
|
80424
|
-
//获取当前的显示的指标
|
|
80425
|
-
this.GetIndexInfo=function()
|
|
80426
|
-
{
|
|
80427
|
-
var aryIndex=[];
|
|
80428
|
-
for(var i in this.WindowIndex)
|
|
80429
|
-
{
|
|
80430
|
-
var item=this.WindowIndex[i];
|
|
80431
|
-
var info={Name:item.Name};
|
|
80432
|
-
if (item.ID) info.ID=item.ID;
|
|
80433
|
-
aryIndex.push(info);
|
|
80434
|
-
}
|
|
80435
|
-
|
|
80436
|
-
return aryIndex;
|
|
80437
|
-
}
|
|
80438
|
-
|
|
80439
80461
|
this.OnTouchFinished=function()
|
|
80440
80462
|
{
|
|
80441
80463
|
if (this.CorssCursorTouchEnd===true) //手势离开十字光标消失
|
|
@@ -129403,7 +129425,7 @@ function ScrollBarBGChart()
|
|
|
129403
129425
|
|
|
129404
129426
|
|
|
129405
129427
|
|
|
129406
|
-
var HQCHART_VERSION="1.1.
|
|
129428
|
+
var HQCHART_VERSION="1.1.12962";
|
|
129407
129429
|
|
|
129408
129430
|
function PrintHQChartVersion()
|
|
129409
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;
|
|
@@ -80465,21 +80502,6 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
80465
80502
|
this.WindowIndex[windowIndex].Create(this,windowIndex);
|
|
80466
80503
|
}
|
|
80467
80504
|
|
|
80468
|
-
//获取当前的显示的指标
|
|
80469
|
-
this.GetIndexInfo=function()
|
|
80470
|
-
{
|
|
80471
|
-
var aryIndex=[];
|
|
80472
|
-
for(var i in this.WindowIndex)
|
|
80473
|
-
{
|
|
80474
|
-
var item=this.WindowIndex[i];
|
|
80475
|
-
var info={Name:item.Name};
|
|
80476
|
-
if (item.ID) info.ID=item.ID;
|
|
80477
|
-
aryIndex.push(info);
|
|
80478
|
-
}
|
|
80479
|
-
|
|
80480
|
-
return aryIndex;
|
|
80481
|
-
}
|
|
80482
|
-
|
|
80483
80505
|
this.OnTouchFinished=function()
|
|
80484
80506
|
{
|
|
80485
80507
|
if (this.CorssCursorTouchEnd===true) //手势离开十字光标消失
|
|
@@ -129561,7 +129583,7 @@ function HQChartScriptWorker()
|
|
|
129561
129583
|
|
|
129562
129584
|
|
|
129563
129585
|
|
|
129564
|
-
var HQCHART_VERSION="1.1.
|
|
129586
|
+
var HQCHART_VERSION="1.1.12962";
|
|
129565
129587
|
|
|
129566
129588
|
function PrintHQChartVersion()
|
|
129567
129589
|
{
|