hqchart 1.1.14081 → 1.1.14093

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.
@@ -1138,8 +1138,7 @@ this.ResizeListener;//h5 canvas
1138
1138
  this.CanvasElement=document.createElement("canvas");this.CanvasElement.className='jschart-drawing';this.CanvasElement.id=Guid();this.CanvasElement.setAttribute("tabindex",0);if(this.CanvasElement.style){this.CanvasElement.style.outline='none';//this.CanvasElement.style.position="absolute"; //外部自己设置
1139
1139
  }if(divElement.hasChildNodes()){JSConsole.Chart.Log("[JSChart::JSChart] divElement hasChildNodes",divElement.childNodes);}divElement.appendChild(this.CanvasElement);//离屏
1140
1140
  this.OffscreenCanvasElement;if(bOffscreen==true)this.OffscreenCanvasElement=document.createElement("canvas");//图形缓存
1141
- this.CacheCanvasElement=null;if(bCacheCanvas)this.CacheCanvasElement=document.createElement("canvas");//改参数div
1142
- this.ModifyIndexDialog=new ModifyIndexDialog(divElement);//额外的画布
1141
+ this.CacheCanvasElement=null;if(bCacheCanvas)this.CacheCanvasElement=document.createElement("canvas");//额外的画布
1143
1142
  this.MapExtraCanvasElement=new _map2.default();//key=画布名字, value={ Element:, Canvas:}
1144
1143
  this.CreateExtraCanvasElement=function(name,option){if(this.MapExtraCanvasElement.has(name))return this.MapExtraCanvasElement.get(name);var element=document.createElement("canvas");element.className='jschart-drawing-extra';element.id=Guid();if(name==JSChart.CorssCursorCanvasKey)element.setAttribute("tabindex",5);else element.setAttribute("tabindex",1);if(element.style){element.style.outline='none';element.style.position="absolute";element.style.left='0px';element.style.top='0px';element.style["pointer-events"]="none";}if(option){if(IFrameSplitOperator.IsNumber(option.TabIndex))element.setAttribute("tabindex",option.TabIndex);if(IFrameSplitOperator.IsNumber(option.ZIndex))element.style["z-index"]=option.ZIndex;}if(this.CanvasElement){element.height=this.CanvasElement.height;element.width=this.CanvasElement.width;if(element.style){element.style.width=this.CanvasElement.style.width;element.style.height=this.CanvasElement.style.height;}}divElement.appendChild(element);var item={Element:element,Canvas:null};this.MapExtraCanvasElement.set(name,item);};this.GetExtraCanvas=function(name){if(!this.MapExtraCanvasElement.has(name))return null;var item=this.MapExtraCanvasElement.get(name);if(!item.Element)return null;if(!item.Canvas)item.Canvas=item.Element.getContext("2d");return item;};/*
1145
1144
  { Type: 1=K线柱子宽度不变 2=K线全部显示
@@ -1154,8 +1153,7 @@ this.AdjustChartBorder=function(chart){var pixelTatio=GetDevicePixelRatio();//
1154
1153
  chart.Frame.ChartBorder.Left*=pixelTatio;chart.Frame.ChartBorder.Right*=pixelTatio;chart.Frame.ChartBorder.Top*=pixelTatio;chart.Frame.ChartBorder.Bottom*=pixelTatio;if(chart.Frame.AutoLeftBorder){var item=chart.Frame.AutoLeftBorder;if(IFrameSplitOperator.IsNumber(item.MinWidth))item.MinWidth*=pixelTatio;if(IFrameSplitOperator.IsNumber(item.Blank))item.Blank*=pixelTatio;}if(chart.Frame.AutoRightBorder){var item=chart.Frame.AutoRightBorder;if(IFrameSplitOperator.IsNumber(item.MinWidth))item.MinWidth*=pixelTatio;if(IFrameSplitOperator.IsNumber(item.Blank))item.Blank*=pixelTatio;}};this.AdjustTitleHeight=function(chart){var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
1155
1154
  for(var i=0;i<chart.Frame.SubFrame.length;++i){chart.Frame.SubFrame[i].Frame.ChartBorder.TitleHeight*=pixelTatio;}chart.ChartCorssCursor.TextHeight*=pixelTatio;//十字光标文本信息高度
1156
1155
  };this.SetChartBorder=function(chart,option){if(!option.Border)return;var item=option.Border;if(IFrameSplitOperator.IsNumber(option.Border.Left))chart.Frame.ChartBorder.Left=option.Border.Left;else option.Border.Left=chart.Frame.ChartBorder.Left;if(IFrameSplitOperator.IsNumber(option.Border.Right))chart.Frame.ChartBorder.Right=option.Border.Right;else option.Border.Right=chart.Frame.ChartBorder.Right;if(IFrameSplitOperator.IsNumber(option.Border.Top))chart.Frame.ChartBorder.Top=option.Border.Top;else option.Border.Top=chart.Frame.ChartBorder.Top;if(IFrameSplitOperator.IsNumber(option.Border.Bottom))chart.Frame.ChartBorder.Bottom=option.Border.Bottom;else option.Border.Bottom=chart.Frame.ChartBorder.Bottom;if(item.AutoLeft){chart.Frame.AutoLeftBorder={};if(IFrameSplitOperator.IsNumber(item.AutoLeft.Blank))chart.Frame.AutoLeftBorder.Blank=item.AutoLeft.Blank;if(IFrameSplitOperator.IsNumber(item.AutoLeft.MinWidth))chart.Frame.AutoLeftBorder.MinWidth=item.AutoLeft.MinWidth;}if(item.AutoRight){chart.Frame.AutoRightBorder={};if(IFrameSplitOperator.IsNumber(item.AutoRight.Blank))chart.Frame.AutoRightBorder.Blank=item.AutoRight.Blank;if(IFrameSplitOperator.IsNumber(item.AutoRight.MinWidth))chart.Frame.AutoRightBorder.MinWidth=item.AutoRight.MinWidth;}};this.SetEventCallback=function(chart,aryCallback){if(!chart)return;if(!IFrameSplitOperator.IsNonEmptyArray(aryCallback))return;for(var i=0;i<aryCallback.length;++i){var item=aryCallback[i];chart.AddEventCallback(item);}};//历史K线图
1157
- this.CreateKLineChartContainer=function(option){var _this=this;var chart=null;if(option.Type==="历史K线图横屏")chart=new KLineChartHScreenContainer(this.CanvasElement);else chart=new KLineChartContainer(this.CanvasElement,this.OffscreenCanvasElement,this.CacheCanvasElement);chart.GetExtraCanvas=function(name){return _this.GetExtraCanvas(name);};var extraElement=this.GetExtraCanvas(JSChart.CorssCursorCanvasKey);if(extraElement)chart.SetCorssCursorElement(extraElement);if(option.EventCallback)this.SetEventCallback(chart,option.EventCallback);if(option.NetworkFilter)chart.NetworkFilter=option.NetworkFilter;//创建改参数div
1158
- chart.ModifyIndexDialog=this.ModifyIndexDialog;var pixelRatio=GetDevicePixelRatio();//右键菜单
1156
+ this.CreateKLineChartContainer=function(option){var _this=this;var chart=null;if(option.Type==="历史K线图横屏")chart=new KLineChartHScreenContainer(this.CanvasElement);else chart=new KLineChartContainer(this.CanvasElement,this.OffscreenCanvasElement,this.CacheCanvasElement);chart.GetExtraCanvas=function(name){return _this.GetExtraCanvas(name);};var extraElement=this.GetExtraCanvas(JSChart.CorssCursorCanvasKey);if(extraElement)chart.SetCorssCursorElement(extraElement);if(option.EventCallback)this.SetEventCallback(chart,option.EventCallback);if(option.NetworkFilter)chart.NetworkFilter=option.NetworkFilter;var pixelRatio=GetDevicePixelRatio();//右键菜单
1159
1157
  if(IFrameSplitOperator.IsBool(option.IsShowRightMenu))chart.IsShowRightMenu=option.IsShowRightMenu;if(option.ScriptError)chart.ScriptErrorCallback=option.ScriptError;if(option.EnableScrollUpDown==true)chart.EnableScrollUpDown=option.EnableScrollUpDown;if(option.DisableMouse==true)chart.DisableMouse=option.DisableMouse;if(option.TouchMoveMinAngle)chart.TouchMoveMinAngle=option.TouchMoveMinAngle;if(option.EnableZoomUpDown)chart.EnableZoomUpDown=option.EnableZoomUpDown;if(IFrameSplitOperator.IsString(option.SplashTitle))chart.LoadDataSplashTitle=option.SplashTitle;if(IFrameSplitOperator.IsBool(option.EnableZoomIndexWindow))chart.EnableZoomIndexWindow=option.EnableZoomIndexWindow;if(IFrameSplitOperator.IsBool(option.IsDrawPictureXY))chart.IsDrawPictureXY=option.IsDrawPictureXY;if(IFrameSplitOperator.IsNumber(option.CtrlMoveStep))chart.CtrlMoveStep=option.CtrlMoveStep;if(IFrameSplitOperator.IsBool(option.EnableIndexChartDrag))chart.EnableIndexChartDrag=option.EnableIndexChartDrag;if(IFrameSplitOperator.IsBool(option.EnableVerifyRecvData))chart.EnableVerifyRecvData=option.EnableVerifyRecvData;if(option.GlobalOption){var item=option.GlobalOption;if(IFrameSplitOperator.IsBool(item.IsValueFullRange))chart.GlobalOption.IsValueFullRange=item.IsValueFullRange;if(item.SelectedBorder){var subItem=item.SelectedBorder;if(IFrameSplitOperator.IsNumber(subItem.Mode))chart.GlobalOption.SelectedBorder.Mode=subItem.Mode;}}if(option.EnableYDrag){var item=option.EnableYDrag;if(IFrameSplitOperator.IsBool(item.Left))chart.EnableYDrag.Left=item.Left;if(IFrameSplitOperator.IsBool(item.Right))chart.EnableYDrag.Right=item.Right;if(IFrameSplitOperator.IsBool(item.Wheel))chart.EnableYDrag.Wheel=item.Wheel;if(IFrameSplitOperator.IsNumber(item.WheelYMove))chart.EnableYDrag.WheelYMove=item.WheelYMove;}if(option.KLineTooltip){var item=option.KLineTooltip;if(IFrameSplitOperator.IsBool(item.Enable))chart.KLineTooltipConfig.Enable=item.Enable;if(IFrameSplitOperator.IsBool(item.EnableKeyDown))chart.KLineTooltipConfig.EnableKeyDown=item.EnableKeyDown;}if(option.KLine)//k线图的属性设置
1160
1158
  {var item=option.KLine;if(option.KLine.DragMode>=0)chart.DragMode=option.KLine.DragMode;if(option.KLine.Right>=0)chart.Right=option.KLine.Right;if(option.KLine.Period>=0)chart.Period=option.KLine.Period;if(option.KLine.MaxReqeustDataCount>0)chart.MaxRequestDataCount=option.KLine.MaxReqeustDataCount;//兼容老版本
1161
1159
  if(option.KLine.MaxRequestDataCount>0)chart.MaxRequestDataCount=option.KLine.MaxRequestDataCount;if(option.KLine.Info&&option.KLine.Info.length>0)chart.SetKLineInfo(option.KLine.Info,false);if(IFrameSplitOperator.IsBool(item.IsShowTooltip))chart.IsShowTooltip=item.IsShowTooltip;if(option.KLine.MaxRequestMinuteDayCount>0)chart.MaxRequestMinuteDayCount=option.KLine.MaxRequestMinuteDayCount;if(option.KLine.DrawType)chart.KLineDrawType=option.KLine.DrawType;if(option.KLine.FirstShowDate>19910101)chart.CustomShow={Date:option.KLine.FirstShowDate,PageSize:option.KLine.PageSize};//!!已弃用 新的格式"CustomShow"
@@ -1190,8 +1188,7 @@ var scriptData=new JSIndexScript();if(option.ColorIndex)//五彩K线
1190
1188
  if(item.StringFormat>0)chart.WindowIndex[i].StringFormat=item.StringFormat;if(item.FloatPrecision>=0)chart.WindowIndex[i].FloatPrecision=item.FloatPrecision;}}var frame=chart.Frame.SubFrame[i].Frame;if(IFrameSplitOperator.IsBool(item.Modify))frame.ModifyIndex=item.Modify;if(IFrameSplitOperator.IsBool(item.Change))frame.ChangeIndex=item.Change;if(IFrameSplitOperator.IsBool(item.Close))frame.CloseIndex=item.Close;if(IFrameSplitOperator.IsBool(item.Overlay))frame.OverlayIndex=item.Overlay;if(IFrameSplitOperator.IsBool(item.Export))frame.ExportData=item.Export;if(IFrameSplitOperator.IsBool(item.MaxMin))chart.Frame.SubFrame[i].Frame.MaxMinWindow=item.MaxMin;if(IFrameSplitOperator.IsBool(item.TitleWindow))chart.Frame.SubFrame[i].Frame.TitleWindow=item.TitleWindow;if(item.IsDrawTitleBG==true)chart.Frame.SubFrame[i].Frame.IsDrawTitleBG=item.IsDrawTitleBG;if(IFrameSplitOperator.IsBool(item.IsShowNameArrow))chart.Frame.SubFrame[i].Frame.IsShowNameArrow=item.IsShowNameArrow;if(IFrameSplitOperator.IsNumber(item.TitleHeight))chart.Frame.SubFrame[i].Frame.ChartBorder.TitleHeight=item.TitleHeight;else item.TitleHeight=chart.Frame.SubFrame[i].Frame.ChartBorder.TitleHeight;if(IFrameSplitOperator.IsBool(item.IsShowTitleArrow))frame.IsShowTitleArrow=item.IsShowTitleArrow;if(IFrameSplitOperator.IsNumber(item.TitleArrowType))frame.TitleArrowType=item.TitleArrowType;if(item.IsShowIndexName==false)chart.Frame.SubFrame[i].Frame.IsShowIndexName=false;if(item.IsShowOverlayIndexName==false)chart.Frame.SubFrame[i].Frame.IsShowOverlayIndexName=false;if(IFrameSplitOperator.IsNumber(item.IndexParamSpace))chart.Frame.SubFrame[i].Frame.IndexParamSpace=item.IndexParamSpace;if(IFrameSplitOperator.IsNumber(item.IndexTitleSpace))chart.Frame.SubFrame[i].Frame.IndexTitleSpace=item.IndexTitleSpace;if(!IFrameSplitOperator.IsUndefined(item.HorizontalReserved))frame.HorizontalReserved=item.HorizontalReserved;if(item.OverlayIndexType){if(IFrameSplitOperator.IsNumber(item.OverlayIndexType.Position))chart.Frame.SubFrame[i].Frame.OverlayIndexType.Position=item.OverlayIndexType.Position;if(IFrameSplitOperator.IsNumber(item.OverlayIndexType.LineSpace))chart.Frame.SubFrame[i].Frame.OverlayIndexType.LineSpace=item.OverlayIndexType.LineSpace;}}//叠加指标宽度
1191
1189
  if(option.OverlayIndexFrameWidth>40)chart.Frame.FixedRightWidth.Overlay=option.OverlayIndexFrameWidth;//叠加指标
1192
1190
  if(IFrameSplitOperator.IsNonEmptyArray(option.OverlayIndex)){for(var i=0;i<option.OverlayIndex.length;++i){var item=option.OverlayIndex[i];if(item.Windows>=chart.Frame.SubFrame.length)continue;var itemString=(0,_stringify2.default)(item);var obj=JSON.parse(itemString);if(item.Index)obj.IndexName=item.Index;if(item.Windows>=0)obj.WindowIndex=item.Windows;chart.CreateOverlayWindowsIndex(obj);}}this.AdjustTitleHeight(chart);return chart;};//自定义指数历史K线图
1193
- this.CreateCustomKLineChartContainer=function(option){var chart=new CustomKLineChartContainer(this.CanvasElement);//创建改参数div
1194
- chart.ModifyIndexDialog=this.ModifyIndexDialog;//右键菜单
1191
+ this.CreateCustomKLineChartContainer=function(option){var chart=new CustomKLineChartContainer(this.CanvasElement);//右键菜单
1195
1192
  if(IFrameSplitOperator.IsBool(option.IsShowRightMenu))chart.IsShowRightMenu=option.IsShowRightMenu;if(option.KLine)//k线图的属性设置
1196
1193
  {if(option.KLine.DragMode>=0)chart.DragMode=option.KLine.DragMode;if(option.KLine.Right>=0)chart.Right=option.KLine.Right;if(option.KLine.Period>=0)chart.Period=option.KLine.Period;if(option.KLine.MaxRequestDataCount>0)chart.MaxRequestDataCount=option.KLine.MaxRequestDataCount;if(option.KLine.Info&&option.KLine.Info.length>0)chart.SetKLineInfo(option.KLine.Info,false);if(option.KLine.PageSize>0)chart.PageSize=option.KLine.PageSize;if(option.KLine.IsShowTooltip==false)chart.IsShowTooltip=false;}if(option.CustomStock)chart.CustomStock=option.CustomStock;if(option.QueryDate)chart.QueryDate=option.QueryDate;if(!option.Windows||option.Windows.length<=0)return null;//创建子窗口
1197
1194
  chart.Create(option.Windows.length);if(option.Border){if(!isNaN(option.Border.Left))chart.Frame.ChartBorder.Left=option.Border.Left;if(!isNaN(option.Border.Right))chart.Frame.ChartBorder.Right=option.Border.Right;if(!isNaN(option.Border.Top))chart.Frame.ChartBorder.Top=option.Border.Top;}if(option.IsShowCorssCursorInfo==false)//取消显示十字光标刻度信息
@@ -1199,7 +1196,7 @@ chart.Create(option.Windows.length);if(option.Border){if(!isNaN(option.Border.Le
1199
1196
  var scriptData=new JSIndexScript();for(var i=0;i<option.Windows.length;++i){var item=option.Windows[i];if(item.Script){chart.WindowIndex[i]=new ScriptIndex(item.Name,item.Script,item.Args,item);//脚本执行
1200
1197
  }else{var indexItem=JSIndexMap.Get(item.Index);if(indexItem){chart.WindowIndex[i]=indexItem.Create();chart.CreateWindowIndex(i);}else{var indexInfo=scriptData.Get(item.Index);if(!indexInfo)continue;if(item.Lock)indexInfo.Lock=item.Lock;chart.WindowIndex[i]=new ScriptIndex(indexInfo.Name,indexInfo.Script,indexInfo.Args,indexInfo);//脚本执行
1201
1198
  }}if(item.Modify!=null)chart.Frame.SubFrame[i].Frame.ModifyIndex=item.Modify;if(item.Change!=null)chart.Frame.SubFrame[i].Frame.ChangeIndex=item.Change;if(!isNaN(item.TitleHeight))chart.Frame.SubFrame[i].Frame.ChartBorder.TitleHeight=item.TitleHeight;}return chart;};//分钟走势图
1202
- this.CreateMinuteChartContainer=function(option){var _this2=this;var chart=null;if(option.Type==="分钟走势图横屏")chart=new MinuteChartHScreenContainer(this.CanvasElement);else chart=new MinuteChartContainer(this.CanvasElement,this.OffscreenCanvasElement,this.CacheCanvasElement);chart.GetExtraCanvas=function(name){return _this2.GetExtraCanvas(name);};if(option.EventCallback)this.SetEventCallback(chart,option.EventCallback);if(option.NetworkFilter)chart.NetworkFilter=option.NetworkFilter;chart.ModifyIndexDialog=this.ModifyIndexDialog;var pixelRatio=GetDevicePixelRatio();var windowsCount=2;if(option.Windows&&option.Windows.length>0)windowsCount+=option.Windows.length;//指标窗口从第3个窗口开始
1199
+ this.CreateMinuteChartContainer=function(option){var _this2=this;var chart=null;if(option.Type==="分钟走势图横屏")chart=new MinuteChartHScreenContainer(this.CanvasElement);else chart=new MinuteChartContainer(this.CanvasElement,this.OffscreenCanvasElement,this.CacheCanvasElement);chart.GetExtraCanvas=function(name){return _this2.GetExtraCanvas(name);};if(option.EventCallback)this.SetEventCallback(chart,option.EventCallback);if(option.NetworkFilter)chart.NetworkFilter=option.NetworkFilter;var pixelRatio=GetDevicePixelRatio();var windowsCount=2;if(option.Windows&&option.Windows.length>0)windowsCount+=option.Windows.length;//指标窗口从第3个窗口开始
1203
1200
  if(option.EnableScrollUpDown==true)chart.EnableScrollUpDown=option.EnableScrollUpDown;if(option.DisableMouse==true)chart.DisableMouse=option.DisableMouse;if(option.ScriptError)chart.ScriptErrorCallback=option.ScriptError;//指标执行错误回调
1204
1201
  if(IFrameSplitOperator.IsString(option.SplashTitle))chart.LoadDataSplashTitle=option.SplashTitle;if(IFrameSplitOperator.IsBool(option.EnableSelectRect))chart.EnableSelectRect=option.EnableSelectRect;//是否启用区间选择
1205
1202
  if(IFrameSplitOperator.IsBool(option.EnableZoomIndexWindow))chart.EnableZoomIndexWindow=option.EnableZoomIndexWindow;if(IFrameSplitOperator.IsBool(option.IsDrawPictureXY))chart.IsDrawPictureXY=option.IsDrawPictureXY;if(IFrameSplitOperator.IsBool(option.EnableNewIndex))chart.EnableNewIndex=option.EnableNewIndex;if(IFrameSplitOperator.IsBool(option.EnableIndexChartDrag))chart.EnableIndexChartDrag=option.EnableIndexChartDrag;if(IFrameSplitOperator.IsBool(option.EnableVerifyRecvData))chart.EnableVerifyRecvData=option.EnableVerifyRecvData;if(IFrameSplitOperator.IsBool(option.EnableNightDayBG))chart.EnableNightDayBG=option.EnableNightDayBG;if(option.GlobalOption){var item=option.GlobalOption;if(IFrameSplitOperator.IsBool(item.IsValueFullRange))chart.GlobalOption.IsValueFullRange=item.IsValueFullRange;if(IFrameSplitOperator.IsNumber(item.XDateFormat))chart.GlobalOption.XDateFormat=item.XDateFormat;}if(option.DisplayLatest){var item=option.DisplayLatest;if(IFrameSplitOperator.IsBool(item.Enable))chart.DisplayLatestOption.Enable=item.Enable;if(IFrameSplitOperator.IsNumber(item.DelayTime))chart.DisplayLatestOption.DelayTime=item.DelayTime;}if(option.DrawDynamicInfo){var item=option.DrawDynamicInfo;if(IFrameSplitOperator.IsBool(item.Enable))chart.DrawDynamicInfoOption.Enable=item.Enable;if(IFrameSplitOperator.IsNumber(item.DelayTime))chart.DrawDynamicInfoOption.DelayTime=item.DelayTime;}if(option.Minute)//分钟走势图属性设置
@@ -1296,8 +1293,7 @@ this.CanvasElement.onmousemove=function(e){};this.CanvasElement.oncontextmenu=fu
1296
1293
 
1297
1294
  return chart;
1298
1295
  }
1299
- */this.CreateKLineTrainChartContainer=function(option){var isSimpleTrain=false;if(option.Type=="简单K线训练"||option.Type=="简单K线训练横屏"){var bHScreen=option.Type=='简单K线训练横屏'?true:false;var chart=new KLineTrainSimpleChartContainer(this.CanvasElement,bHScreen);isSimpleTrain=true;}else{var bHScreen=option.Type=='K线训练横屏'?true:false;var chart=new KLineTrainChartContainer(this.CanvasElement,bHScreen);}if(option.NetworkFilter)chart.NetworkFilter=option.NetworkFilter;if(option.IsApiPeriod==true)chart.IsApiPeriod=option.IsApiPeriod;//创建改参数div
1300
- chart.ModifyIndexDialog=this.ModifyIndexDialog;if(option.ScriptError)chart.ScriptErrorCallback=option.ScriptError;if(option.KLine)//k线图的属性设置
1296
+ */this.CreateKLineTrainChartContainer=function(option){var isSimpleTrain=false;if(option.Type=="简单K线训练"||option.Type=="简单K线训练横屏"){var bHScreen=option.Type=='简单K线训练横屏'?true:false;var chart=new KLineTrainSimpleChartContainer(this.CanvasElement,bHScreen);isSimpleTrain=true;}else{var bHScreen=option.Type=='K线训练横屏'?true:false;var chart=new KLineTrainChartContainer(this.CanvasElement,bHScreen);}if(option.NetworkFilter)chart.NetworkFilter=option.NetworkFilter;if(option.IsApiPeriod==true)chart.IsApiPeriod=option.IsApiPeriod;if(option.ScriptError)chart.ScriptErrorCallback=option.ScriptError;if(option.KLine)//k线图的属性设置
1301
1297
  {if(option.KLine.Right>=0)chart.Right=option.KLine.Right;if(option.KLine.Period>=0)chart.Period=option.KLine.Period;if(option.KLine.MaxRequestDataCount>0)chart.MaxRequestDataCount=option.KLine.MaxRequestDataCount;if(option.KLine.Info&&option.KLine.Info.length>0)chart.SetKLineInfo(option.KLine.Info,false);if(option.KLine.PageSize>0)chart.PageSize=option.KLine.PageSize;if(option.KLine.IsShowTooltip==false)chart.IsShowTooltip=false;if(option.KLine.MaxRequestMinuteDayCount>0)chart.MaxRequestMinuteDayCount=option.KLine.MaxRequestMinuteDayCount;if(option.KLine.DrawType)chart.KLineDrawType=option.KLine.DrawType;if(IFrameSplitOperator.IsNumber(option.KLine.RightSpaceCount)&&!isSimpleTrain)chart.RightSpaceCount=option.KLine.RightSpaceCount;}if(option.Train){if(option.Train.DataCount)chart.TrainDataCount=option.Train.DataCount;if(option.Train.Callback)chart.TrainCallback=option.Train.Callback;if(option.Train.StartDate)chart.TrainStartDate=option.Train.StartDate;}if(!option.Windows||option.Windows.length<=0)return null;//创建子窗口
1302
1298
  chart.Create(option.Windows.length);this.SetChartBorder(chart,option);this.AdjustChartBorder(chart);if(option.IsShowCorssCursorInfo==false)chart.ChartCorssCursor.IsShowText=option.IsShowCorssCursorInfo;//取消显示十字光标刻度信息
1303
1299
  if(option.IsCorssOnlyDrawKLine===true)chart.ChartCorssCursor.IsOnlyDrawKLine=option.IsCorssOnlyDrawKLine;if(option.CorssCursorTouchEnd===true)chart.CorssCursorTouchEnd=option.CorssCursorTouchEnd;if(option.IsClickShowCorssCursor==true)chart.IsClickShowCorssCursor=option.IsClickShowCorssCursor;if(option.CorssCursorInfo){if(!isNaN(option.CorssCursorInfo.Left))chart.ChartCorssCursor.ShowTextMode.Left=option.CorssCursorInfo.Left;if(!isNaN(option.CorssCursorInfo.Right))chart.ChartCorssCursor.ShowTextMode.Right=option.CorssCursorInfo.Right;if(!isNaN(option.CorssCursorInfo.Bottom))chart.ChartCorssCursor.ShowTextMode.Bottom=option.CorssCursorInfo.Bottom;if(option.CorssCursorInfo.IsShowCorss===false)chart.ChartCorssCursor.IsShowCorss=option.CorssCursorInfo.IsShowCorss;if(option.CorssCursorInfo.IsShowClose==true)chart.ChartCorssCursor.IsShowClose=option.CorssCursorInfo.IsShowClose;//Y轴显示收盘价
@@ -1320,7 +1316,7 @@ if(IFrameSplitOperator.IsNumber(option.ToolbarButtonStyle))g_JSChartResource.Too
1320
1316
  if(option.IsAutoUpdate!=null)chart.IsAutoUpdate=option.IsAutoUpdate;if(option.AutoUpdateFrequency>0)chart.AutoUpdateFrequency=option.AutoUpdateFrequency;//内置菜单
1321
1317
  if(option.EnablePopMenuV2===true)chart.InitalPopMenu();//画图工具
1322
1318
  if(option.EnableDrawToolDialogV2===true)chart.InitalDrawToolDialog();if(option.EnableModifyDrawDialogV2===true)chart.InitalModifyDrawDialog();//K线tooltip
1323
- if(option.TooltipDialog&&option.TooltipDialog.Enable)chart.InitalTooltipDialog(option.TooltipDialog);if(option.FloatTooltip&&option.FloatTooltip.Enable)chart.InitalFloatTooltip(option.FloatTooltip);if(option.SelectRectDialog&&option.SelectRectDialog.Enable)chart.InitalSelectRectDialog(option.SelectRectDialog);if(option.SearchIndexDialog&&option.SearchIndexDialog.Enable)chart.InitalSearchIndexDialog(option.SearchIndexDialog);//注册事件
1319
+ if(option.TooltipDialog&&option.TooltipDialog.Enable)chart.InitalTooltipDialog(option.TooltipDialog);if(option.FloatTooltip&&option.FloatTooltip.Enable)chart.InitalFloatTooltip(option.FloatTooltip);if(option.SelectRectDialog&&option.SelectRectDialog.Enable)chart.InitalSelectRectDialog(option.SelectRectDialog);if(option.ModifyIndexParamDialog&&option.ModifyIndexParamDialog.Enable)chart.InitalModifyIndexParamDialog(option.ModifyIndexParamDialog);if(option.SearchIndexDialog&&option.SearchIndexDialog.Enable)chart.InitalSearchIndexDialog(option.SearchIndexDialog);//注册事件
1324
1320
  if(option.EventCallback){for(var i=0;i<option.EventCallback.length;++i){var item=option.EventCallback[i];chart.AddEventCallback(item);}}//设置股票代码
1325
1321
  if(!option.Symbol){chart.DrawEmpty();this.JSChartContainer=chart;this.DivElement.JSChart=this;//div中保存一份
1326
1322
  }else{chart.Draw();chart.ChangeSymbol(option.Symbol);this.JSChartContainer=chart;this.DivElement.JSChart=this;//div中保存一份
@@ -1593,7 +1589,9 @@ CMD_REPORT_COLUMN_DEL_ID:62,//报价列表 删除列
1593
1589
  CMD_REPORT_COLUMN_MOVE_ID:63,//报价列表 列移动
1594
1590
  CMD_REPORT_COLUMN_FILTER_ID:64,//报价列表 筛选
1595
1591
  CMD_DIALOG_TOOLTIP_ATTRIBUTE:65,//修改K线信息框属性 Ary:[{ Enable:, Style:}, ]
1596
- CMD_KLINE_TOOLTIP_ATTRIBUTE:66//修改K线提示框属性 Ary:[{ Enable:true/false, EnableKeyDown:true/false}]
1592
+ CMD_KLINE_TOOLTIP_ATTRIBUTE:66,//修改K线提示框属性 Ary:[{ Enable:true/false, EnableKeyDown:true/false}]
1593
+ CMD_MODIFY_INDEX_PARAM:67,//指标删除修改 [windowIndex, ]
1594
+ CMD_MODIFY_OVERLAY_INDEX_PARAM:68//叠加指标修改 [windowIndex, ID ]
1597
1595
  };function PhoneDBClick(){this.Start=[];this.Clear=function(){this.Start=[];};this.AddTouchStart=function(x,y,time){if(this.Start.length>0){var item=this.Start[this.Start.length-1];var spanTime=time-item.Time;if(spanTime>0&&spanTime<300){this.Start.push({X:x,Y:y,Time:time});}else{this.Start=[];}}else{this.Start.push({X:x,Y:y,Time:time});}};this.IsVaildDBClick=function(){if(this.Start.length==2)return true;return false;};this.AddTouchEnd=function(time){if(this.Start.length<=0)return;var item=this.Start[this.Start.length-1];var spanTime=time-item.Time;if(spanTime>=0&&spanTime<150){}else{this.Start=[];}};}/*
1598
1596
  图形控件
1599
1597
  */function JSChartContainer(uielement,OffscreenElement,cacheElement){var _this5=this;this.ClassName='JSChartContainer';var _self=this;this.Frame;//框架画法
@@ -1679,9 +1677,11 @@ this.DialogTooltip;//tooltip信息
1679
1677
  this.DialogSelectRect;//区间统计
1680
1678
  this.FloatTooltip;//浮动tooltip信息
1681
1679
  this.DialogSearchIndex;//指标搜索
1680
+ this.DialogModifyIndexParam;//指标参数修改
1682
1681
  this.ClearStockCache=function(){this.StockCache.Data=null;};this.InitalPopMenu=function()//初始化弹出窗口
1683
1682
  {if(this.JSPopMenu)return;this.JSPopMenu=new JSPopMenu();//内置菜单
1684
- this.JSPopMenu.Inital();};this.InitalDrawToolDialog=function(){if(this.DialogDrawTool)return;this.DialogDrawTool=new JSDialogDrawTool();this.DialogDrawTool.Inital(this);this.DialogDrawTool.Create();};this.InitalTooltipDialog=function(option){if(this.DialogTooltip)return;this.DialogTooltip=new JSDialogTooltip();this.DialogTooltip.Inital(this,option);this.DialogTooltip.Create();};this.InitalFloatTooltip=function(option){if(this.FloatTooltip)return;this.FloatTooltip=new JSFloatTooltip();this.FloatTooltip.Inital(this,option);this.FloatTooltip.Create();};this.InitalModifyDrawDialog=function(){if(this.DialogModifyDraw)return;this.DialogModifyDraw=new JSDialogModifyDraw();this.DialogModifyDraw.Inital(this);this.DialogModifyDraw.Create();};this.InitalSelectRectDialog=function(option){if(this.DialogSelectRect)return;this.DialogSelectRect=new JSDialogSelectRect();this.DialogSelectRect.Inital(this,option);this.DialogSelectRect.Create();};this.InitalSearchIndexDialog=function(option){if(this.DialogSearchIndex)return;this.DialogSearchIndex=new JSDialogSearchIndex();this.DialogSearchIndex.Inital(this,option);this.DialogSearchIndex.Create();};this.ShowChangeIndexDialog=function(data){if(!data)return;if(!this.DialogSearchIndex)return;data.Title='\u5207\u6362\u6307\u6807 [\u7A97\u53E3'+(data.WindowIndex+1)+']';this.DialogSearchIndex.SetOpData(data);this.DialogSearchIndex.Show();};this.ShowAddOverlayIndexDialog=function(data){if(!data)return;if(!this.DialogSearchIndex)return;data.Title='\u6DFB\u52A0\u53E0\u52A0\u6307\u6807 [\u7A97\u53E3'+(data.WindowIndex+1)+']';this.DialogSearchIndex.SetOpData(data);this.DialogSearchIndex.Show();};this.DrawSelectRectDialog=function(){};this.IsShowSelectRectDialog=function(){if(!this.DialogSelectRect)return false;return this.DialogSelectRect.IsShow();};this.ShowDrawToolDialog=function(x,y){if(!this.DialogDrawTool)return;var rtClient=this.UIElement.getBoundingClientRect();var rtScroll=GetScrollPosition();var top=this.UIElement.offsetTop+15;var left=this.UIElement.offsetWidth-this.DialogDrawTool.DivDialog.offsetWidth-15;left+=rtClient.left+rtScroll.Left;top+=rtClient.top+rtScroll.Top;this.DialogDrawTool.Show(left,top);};this.IsShowDrawToolDialog=function(){if(!this.DialogDrawTool)return false;return this.DialogDrawTool.IsShow();};this.ShowModifyDrawDialog=function(chart,x,y){if(!this.DialogModifyDraw)return;this.DialogModifyDraw.SetChartPicture(chart);if(this.DialogModifyDraw.IsShow())return;var rtClient=this.UIElement.getBoundingClientRect();var rtScroll=GetScrollPosition();var top=this.UIElement.offsetTop+15;var left=(this.UIElement.offsetWidth-this.DialogModifyDraw.DivDialog.offsetWidth)/2;left+=rtClient.left+rtScroll.Left;top+=rtClient.top+rtScroll.Top;this.DialogModifyDraw.Show(left,top);};this.CloseModifyDrawDialog=function(){if(!this.DialogModifyDraw)return;this.DialogModifyDraw.Close();};this.IsShowTooltipDialog=function(){if(!this.DialogTooltip)return false;return this.DialogTooltip.IsShow();};this.CloseTooltipDialog=function(){if(!this.DialogTooltip)return;this.DialogTooltip.Close();};this.HideFloatTooltip=function(){if(!this.FloatTooltip)return;this.FloatTooltip.Hide();};this.DestroyTooltipDialog=function(){if(!this.DialogTooltip)return;this.DialogTooltip.Destroy();this.DialogTooltip=null;};this.DestroyFloatTooltip=function(){if(!this.FloatTooltip)return;this.FloatTooltip.Destroy();this.FloatTooltip=null;};this.DestroySearchIndexDialog=function(){if(!this.DialogSearchIndex)return;this.DialogSearchIndex.Destroy();this.DialogSearchIndex=null;};//obj={ Element:, Canvas: }
1683
+ this.JSPopMenu.Inital();};this.InitalDrawToolDialog=function(){if(this.DialogDrawTool)return;this.DialogDrawTool=new JSDialogDrawTool();this.DialogDrawTool.Inital(this);this.DialogDrawTool.Create();};this.InitalTooltipDialog=function(option){if(this.DialogTooltip)return;this.DialogTooltip=new JSDialogTooltip();this.DialogTooltip.Inital(this,option);this.DialogTooltip.Create();};this.InitalFloatTooltip=function(option){if(this.FloatTooltip)return;this.FloatTooltip=new JSFloatTooltip();this.FloatTooltip.Inital(this,option);this.FloatTooltip.Create();};this.InitalModifyDrawDialog=function(){if(this.DialogModifyDraw)return;this.DialogModifyDraw=new JSDialogModifyDraw();this.DialogModifyDraw.Inital(this);this.DialogModifyDraw.Create();};this.InitalSelectRectDialog=function(option){if(this.DialogSelectRect)return;this.DialogSelectRect=new JSDialogSelectRect();this.DialogSelectRect.Inital(this,option);this.DialogSelectRect.Create();};this.InitalSearchIndexDialog=function(option){if(this.DialogSearchIndex)return;this.DialogSearchIndex=new JSDialogSearchIndex();this.DialogSearchIndex.Inital(this,option);this.DialogSearchIndex.Create();};this.InitalModifyIndexParamDialog=function(option){if(this.DialogModifyIndexParam)return;this.DialogModifyIndexParam=new JSDialogModifyIndexParam();this.DialogModifyIndexParam.Inital(this,option);this.DialogModifyIndexParam.Create();};this.ShowChangeIndexDialog=function(data){if(!data)return;if(!this.DialogSearchIndex)return;data.Title='\u5207\u6362\u6307\u6807 [\u7A97\u53E3'+(data.WindowIndex+1)+']';this.DialogSearchIndex.SetOpData(data);this.DialogSearchIndex.Show();};this.ShowAddOverlayIndexDialog=function(data){if(!data)return;if(!this.DialogSearchIndex)return;data.Title='\u6DFB\u52A0\u53E0\u52A0\u6307\u6807 [\u7A97\u53E3'+(data.WindowIndex+1)+']';this.DialogSearchIndex.SetOpData(data);this.DialogSearchIndex.Show();};//添加指标窗口
1684
+ this.ShowAddIndexWindowDialog=function(option){if(!this.DialogSearchIndex)return;var data=option;if(!data)data={};data.OpType=3;data.Title='\u589E\u52A0\u6307\u6807\u7A97\u53E3';this.DialogSearchIndex.SetOpData(data);this.DialogSearchIndex.Show();};this.ShowModifyIndexParamDialog=function(data){if(!this.DialogModifyIndexParam)return;if(data.Type==1){var indexScript=this.WindowIndex[data.WindowIndex];if(!indexScript)return;data.IndexScript=indexScript;data.Title='['+indexScript.Name+']\u53C2\u6570\u4FEE\u6539 \u7A97\u53E3['+(data.WindowIndex+1)+']';}else if(data.Type==2){var overlayIndex=this.GetOverlayIndexByIdentify(data.Identify);if(!overlayIndex||!overlayIndex.OverlayItem.Script)return;var indexScript=overlayIndex.OverlayItem.Script;data.IndexScript=indexScript;data.Title='['+indexScript.Name+']\u53C2\u6570\u4FEE\u6539 \u53E0\u52A0\u7A97\u53E3['+(data.WindowIndex+1)+']';}this.DialogModifyIndexParam.SetIndexData(data);this.DialogModifyIndexParam.Show();};this.DrawSelectRectDialog=function(){};this.IsShowSelectRectDialog=function(){if(!this.DialogSelectRect)return false;return this.DialogSelectRect.IsShow();};this.ShowDrawToolDialog=function(x,y){if(!this.DialogDrawTool)return;var rtClient=this.UIElement.getBoundingClientRect();var rtScroll=GetScrollPosition();var top=this.UIElement.offsetTop+15;var left=this.UIElement.offsetWidth-this.DialogDrawTool.DivDialog.offsetWidth-15;left+=rtClient.left+rtScroll.Left;top+=rtClient.top+rtScroll.Top;this.DialogDrawTool.Show(left,top);};this.IsShowDrawToolDialog=function(){if(!this.DialogDrawTool)return false;return this.DialogDrawTool.IsShow();};this.ShowModifyDrawDialog=function(chart,x,y){if(!this.DialogModifyDraw)return;this.DialogModifyDraw.SetChartPicture(chart);if(this.DialogModifyDraw.IsShow())return;var rtClient=this.UIElement.getBoundingClientRect();var rtScroll=GetScrollPosition();var top=this.UIElement.offsetTop+15;var left=(this.UIElement.offsetWidth-this.DialogModifyDraw.DivDialog.offsetWidth)/2;left+=rtClient.left+rtScroll.Left;top+=rtClient.top+rtScroll.Top;this.DialogModifyDraw.Show(left,top);};this.CloseModifyDrawDialog=function(){if(!this.DialogModifyDraw)return;this.DialogModifyDraw.Close();};this.IsShowTooltipDialog=function(){if(!this.DialogTooltip)return false;return this.DialogTooltip.IsShow();};this.CloseTooltipDialog=function(){if(!this.DialogTooltip)return;this.DialogTooltip.Close();};this.HideFloatTooltip=function(){if(!this.FloatTooltip)return;this.FloatTooltip.Hide();};this.DestroyTooltipDialog=function(){if(!this.DialogTooltip)return;this.DialogTooltip.Destroy();this.DialogTooltip=null;};this.DestroyFloatTooltip=function(){if(!this.FloatTooltip)return;this.FloatTooltip.Destroy();this.FloatTooltip=null;};this.DestroySearchIndexDialog=function(){if(!this.DialogSearchIndex)return;this.DialogSearchIndex.Destroy();this.DialogSearchIndex=null;};//obj={ Element:, Canvas: }
1685
1685
  this.SetCorssCursorElement=function(obj){if(!obj||!obj.Element||!obj.Canvas)return;this.CorssCursorElement=obj.Element;this.CorssCursorCanvas=obj.Canvas;};this.StopDisplayLatest=function(){this.GlobalOption.IsDisplayLatest=false;if(this.DisplayLatestOption.Timer){clearTimeout(this.DisplayLatestOption.Timer);this.DisplayLatestOption.Timer=null;}};this.StartStopDisplayLatest=function(){var _this4=this;this.StopDisplayLatest();if(!this.DisplayLatestOption.Enable)return;this.DisplayLatestOption.Timer=setTimeout(function(){if(_this4.DisplayLatest){JSConsole.Chart.Log('[JSChartContainer:StartStopDisplayLatest] call this.DisplayLatest()');_this4.DisplayLatest();}},this.DisplayLatestOption.DelayTime);};this.StopDrawDynamicInfo=function(){if(this.DrawDynamicInfoOption.Timer){clearTimeout(this.DrawDynamicInfoOption.Timer);this.DrawDynamicInfoOption.Timer=null;}};this.ChartDestroy=function()//销毁
1686
1686
  {this.IsDestroy=true;this.StopAutoUpdate();this.DestroyTooltipDialog();this.DestroyFloatTooltip();this.DestroySearchIndexDialog();};this.ChartDestory=this.ChartDestroy;//老版本写错了,需要兼容下
1687
1687
  //设置焦点
@@ -2124,7 +2124,7 @@ this.Draw();break;case JSCHART_MENU_ID.CMD_ENABLE_OVERLAY_SHARE_Y_ID:if(!srcPara
2124
2124
  this.UpdateFrameMaxMin();//调整坐标最大 最小值
2125
2125
  this.Draw();break;case JSCHART_MENU_ID.CMD_CHANGE_DEFAULTCURSOR_ID:if(!IFrameSplitOperator.IsString(srcParam))return;this.DefaultCursor=srcParam;this.UIElement.style.cursor=this.DefaultCursor;break;case JSCHART_MENU_ID.CMD_ADD_OVERLAY_INDEX_ID://叠加指标 0=windowIndex, 1=indexinfo
2126
2126
  if(param==null||!aryArgs[1])return false;var obj=aryArgs[1];obj.WindowIndex=param;this.AddOverlayIndex(obj);break;case JSCHART_MENU_ID.CMD_CHANGE_LANGUAGE_ID:if(srcParam)this.SetLanguage(srcParam);break;case JSCHART_MENU_ID.CMD_CHANGE_DRAG_RECT_SHOW_MODE_ID:if(param!=null){if(this.ChartDragSelectRect)this.ChartDragSelectRect.ShowMode=param;}break;case JSCHART_MENU_ID.CMD_SHOW_CORSS_LINE_ID:if(IFrameSplitOperator.IsBool(srcParam)){if(this.ChartCorssCursor)this.ChartCorssCursor.IsShowCorss=srcParam;}break;case JSCHART_MENU_ID.CMD_ENABLE_POP_MINUTE_CHART_ID://双击弹分时图
2127
- if(IFrameSplitOperator.IsBool(srcParam)){if(srcParam){this.DestroyPopMinuteChart();this.InitalPopMinuteChart({KLine:{KLineDoubleClick:true}});}else{this.DestroyPopMinuteChart();}}break;case JSCHART_MENU_ID.CMD_CHANGE_INFO_POSITION_ID:if(param==null)return false;var klineChart=this.ChartPaint[0];if(!klineChart)return false;klineChart.InfoPosition=param;this.Draw();break;case JSCHART_MENU_ID.CMD_DIALOG_TOOLTIP_ATTRIBUTE:if(!aryArgs[0])return false;var option=aryArgs[0];if(!IFrameSplitOperator.IsBool(option.Enable))return false;if(option.Enable===false){this.DestroyTooltipDialog();}else{this.DestroyTooltipDialog();this.InitalTooltipDialog(option);}break;case JSCHART_MENU_ID.CMD_KLINE_TOOLTIP_ATTRIBUTE:if(!aryArgs[0])return false;var option=aryArgs[0];if(IFrameSplitOperator.IsBool(option.Enable))this.KLineTooltipConfig.Enable=option.Enable;if(IFrameSplitOperator.IsBool(option.EnableKeyDown))this.KLineTooltipConfig.EnableKeyDown=option.EnableKeyDown;break;}};this.GetShowIndexMenuData=function(windowIndex,showType){var script=this.WindowIndex[windowIndex];if(!script)return null;var data={Name:script.IsShow?"隐藏指标":"显示指标",Data:{ID:JSCHART_MENU_ID.CMD_SHOW_INDEX_ID,Args:[windowIndex,0]}};return data;};this.GetShowOverlayIndexMenuData=function(indexGuid,showType){var overlay=this.GetOverlayIndexByIdentify(indexGuid);if(!overlay||!overlay.OverlayItem||!overlay.OverlayItem.Script)return null;var script=overlay.OverlayItem.Script;var data={Name:script.IsShow?"隐藏指标":"显示指标",Data:{ID:JSCHART_MENU_ID.CMD_SHOW_OVERLAY_INDEX_ID,Args:[indexGuid,0]}};return data;};this.GetShowOverlayIndexYAxisMenuData=function(indexGuid,showType){var overlay=this.GetOverlayIndexByIdentify(indexGuid);if(!overlay||!overlay.OverlayItem||!overlay.OverlayItem.Script)return null;var frame=overlay.OverlayItem.Frame;var data={Name:frame.IsShow?"隐藏Y轴":"显示Y轴",Data:{ID:JSCHART_MENU_ID.CMD_SHOW_OVERLAY_Y_AXIS_ID,Args:[indexGuid,0]}};return data;};this.GetOverlayIndexShareYMenuData=function(indexGuid,showType){var overlay=this.GetOverlayIndexByIdentify(indexGuid);if(!overlay||!overlay.OverlayItem||!overlay.OverlayItem.Script)return null;var frame=overlay.OverlayItem.Frame;var data={Name:"公用窗口Y轴",Data:{ID:JSCHART_MENU_ID.CMD_ENABLE_OVERLAY_SHARE_Y_ID,Args:[indexGuid,0]},Checked:frame.IsShareY};return data;};//点击右键菜单
2127
+ if(IFrameSplitOperator.IsBool(srcParam)){if(srcParam){this.DestroyPopMinuteChart();this.InitalPopMinuteChart({KLine:{KLineDoubleClick:true}});}else{this.DestroyPopMinuteChart();}}break;case JSCHART_MENU_ID.CMD_CHANGE_INFO_POSITION_ID:if(param==null)return false;var klineChart=this.ChartPaint[0];if(!klineChart)return false;klineChart.InfoPosition=param;this.Draw();break;case JSCHART_MENU_ID.CMD_DIALOG_TOOLTIP_ATTRIBUTE:if(!aryArgs[0])return false;var option=aryArgs[0];if(!IFrameSplitOperator.IsBool(option.Enable))return false;if(option.Enable===false){this.DestroyTooltipDialog();}else{this.DestroyTooltipDialog();this.InitalTooltipDialog(option);}break;case JSCHART_MENU_ID.CMD_KLINE_TOOLTIP_ATTRIBUTE:if(!aryArgs[0])return false;var option=aryArgs[0];if(IFrameSplitOperator.IsBool(option.Enable))this.KLineTooltipConfig.Enable=option.Enable;if(IFrameSplitOperator.IsBool(option.EnableKeyDown))this.KLineTooltipConfig.EnableKeyDown=option.EnableKeyDown;break;case JSCHART_MENU_ID.CMD_MODIFY_INDEX_PARAM:if(param==null)return false;var sendData={e:null,WindowIndex:param,Type:1};this.ShowModifyIndexParamDialog(sendData);break;case JSCHART_MENU_ID.CMD_MODIFY_OVERLAY_INDEX_PARAM:if(param==null)return false;if(!aryArgs[1])return false;var sendData={e:null,WindowIndex:param,Type:2,Identify:aryArgs[1]};this.ShowModifyIndexParamDialog(sendData);break;}};this.GetShowIndexMenuData=function(windowIndex,showType){var script=this.WindowIndex[windowIndex];if(!script)return null;var data={Name:script.IsShow?"隐藏指标":"显示指标",Data:{ID:JSCHART_MENU_ID.CMD_SHOW_INDEX_ID,Args:[windowIndex,0]}};return data;};this.GetModifyIndexMenuData=function(windowIndex){var data={Name:"参数修改",Data:{ID:JSCHART_MENU_ID.CMD_MODIFY_INDEX_PARAM,Args:[windowIndex]}};return data;};this.GetShowOverlayIndexMenuData=function(indexGuid,showType){var overlay=this.GetOverlayIndexByIdentify(indexGuid);if(!overlay||!overlay.OverlayItem||!overlay.OverlayItem.Script)return null;var script=overlay.OverlayItem.Script;var data={Name:script.IsShow?"隐藏指标":"显示指标",Data:{ID:JSCHART_MENU_ID.CMD_SHOW_OVERLAY_INDEX_ID,Args:[indexGuid,0]}};return data;};this.GetModifyOverlayIndexMenuData=function(indexGuid){var overlay=this.GetOverlayIndexByIdentify(indexGuid);if(!overlay)return null;var data={Name:"参数修改",Data:{ID:JSCHART_MENU_ID.CMD_MODIFY_OVERLAY_INDEX_PARAM,Args:[overlay.WindowIndex,indexGuid]}};return data;};this.GetShowOverlayIndexYAxisMenuData=function(indexGuid,showType){var overlay=this.GetOverlayIndexByIdentify(indexGuid);if(!overlay||!overlay.OverlayItem||!overlay.OverlayItem.Script)return null;var frame=overlay.OverlayItem.Frame;var data={Name:frame.IsShow?"隐藏Y轴":"显示Y轴",Data:{ID:JSCHART_MENU_ID.CMD_SHOW_OVERLAY_Y_AXIS_ID,Args:[indexGuid,0]}};return data;};this.GetOverlayIndexShareYMenuData=function(indexGuid,showType){var overlay=this.GetOverlayIndexByIdentify(indexGuid);if(!overlay||!overlay.OverlayItem||!overlay.OverlayItem.Script)return null;var frame=overlay.OverlayItem.Frame;var data={Name:"公用窗口Y轴",Data:{ID:JSCHART_MENU_ID.CMD_ENABLE_OVERLAY_SHARE_Y_ID,Args:[indexGuid,0]},Checked:frame.IsShareY};return data;};//点击右键菜单
2128
2128
  this.OnClickRightMenu=function(data){JSConsole.Chart.Log('[JSChartContainer::OnClickRightMenu] ',data);if(!data||!data.Data)return;var cmdID=data.Data.ID;//命令ID
2129
2129
  var aryArgs=data.Data.Args;//参数
2130
2130
  var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_MENU_COMMAND);//回调通知外部
@@ -2463,7 +2463,6 @@ this.ChangeIndex=g_JSChartResource.MinuteToolbar.ChangeIndex;//是否显示'换
2463
2463
  this.CloseIndex=g_JSChartResource.MinuteToolbar.CloseIndex;//是否显示'关闭指标窗口'菜单
2464
2464
  this.MaxMinWindow=g_JSChartResource.MinuteToolbar.MaxMinWindow;this.TitleWindow=g_JSChartResource.MinuteToolbar.TitleWindow;this.ExportData=g_JSChartResource.MinuteToolbar.ExportData;//是否显示'导出数据'菜单
2465
2465
  this.OverlayIndex=g_JSChartResource.MinuteToolbar.OverlayIndex;//是否显示叠加指标
2466
- this.ModifyIndexEvent;//改参数 点击事件
2467
2466
  this.ToolbarRect=null;//保存工具条的位置
2468
2467
  this.IsShowPositionTitle=false;//是否显示持仓标题
2469
2468
  this.LastCalculateStatus={Width:0,XPointCount:0};//最后一次计算宽度的状态
@@ -2582,8 +2581,7 @@ this.ChangeIndex=g_JSChartResource.KLineToolbar.ChangeIndex;//是否显示'换
2582
2581
  this.CloseIndex=g_JSChartResource.KLineToolbar.CloseIndex;//是否显示'关闭指标窗口'菜单
2583
2582
  this.OverlayIndex=g_JSChartResource.KLineToolbar.OverlayIndex;//是否显示叠加指标
2584
2583
  this.MaxMinWindow=g_JSChartResource.KLineToolbar.MaxMinWindow;this.TitleWindow=g_JSChartResource.KLineToolbar.TitleWindow;this.ExportData=g_JSChartResource.KLineToolbar.ExportData;//是否显示'导出数据'菜单
2585
- this.SelBorderColor=g_JSChartResource.SelFrameBorderColor;this.ModifyIndexEvent;//改参数 点击事件
2586
- this.ToolbarRect=null;//保存工具条的位置
2584
+ this.SelBorderColor=g_JSChartResource.SelFrameBorderColor;this.ToolbarRect=null;//保存工具条的位置
2587
2585
  this.ReDrawToolbar=false;this.LastCalculateStatus={Width:0,XPointCount:0};//最后一次计算宽度的状态
2588
2586
  this.CustomHorizontalInfo=[];//定制Y轴刻度
2589
2587
  this.IsDrawTitleBG=false;this.IsShowNameArrow=false;this.CustomVerticalInfo=[];//定制X轴刻度 Type:0, Date:, Time: , Line:{ Color:线段颜色, Type:线段类型 0 直线 1 虚线 }
@@ -4013,14 +4011,15 @@ this.Width=0;//柱子宽度 0=1 3,50=k线宽度 101=K线宽度+间距宽度
4013
4011
  this.SetEmptyBar=function()//设置空心柱子
4014
4012
  {if(this.BarType!=1&&this.BarType!=-1)return false;this.Canvas.lineWidth=GetDevicePixelRatio();this.Canvas.strokeStyle=this.Color;var emptyBGColor=g_JSChartResource.EmptyBarBGColor;if(emptyBGColor)this.Canvas.fillStyle=emptyBGColor;if(this.BarType==-1)//虚线
4015
4013
  {this.Canvas.setLineDash(this.LineDotted);//虚线
4016
- }return true;};this.IsEmptyBar=function(){return this.BarType==1||this.BarType==-1;};this.Draw=function(){if(!this.IsShow||this.ChartFrame.IsMinSize||!this.IsVisible)return;if(this.IsShowIndexTitleOnly())return;if(this.IsHideScriptIndex())return;if(this.NotSupportMessage){this.DrawNotSupportmessage();return;}if(!this.Data||!this.Data.Data)return;var isHScreen=this.ChartFrame.IsHScreen===true;var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var chartright=this.ChartBorder.GetRight();var zoomIndex=this.ChartFrame.ZoomIndex;if(isHScreen)chartright=this.ChartBorder.GetBottom();var xPointCount=this.ChartFrame.XPointCount;var xOffset=this.ChartBorder.GetLeft()+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;if(isHScreen)xOffset=this.ChartBorder.GetTop()+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;var isMinute=this.IsMinuteFrame();this.Canvas.save();var bFillBar=false;var bFillKLine=false;var emptyBGColor=g_JSChartResource.EmptyBarBGColor;if(isMinute){if(this.Width>1)this.Canvas.lineWidth=2*GetDevicePixelRatio();else this.Canvas.lineWidth=GetDevicePixelRatio();this.Canvas.strokeStyle=this.Color;}else if(this.Width==0)//宽度时0,使用宽度1
4014
+ }return true;};this.IsEmptyBar=function(){return this.BarType==1||this.BarType==-1;};this.CalculateBarHeight=function(y,y2){var barHeight=Math.abs(y-y2);if(barHeight<=0)barHeight=1;return barHeight;};this.Draw=function(){if(!this.IsShow||this.ChartFrame.IsMinSize||!this.IsVisible)return;if(this.IsShowIndexTitleOnly())return;if(this.IsHideScriptIndex())return;if(this.NotSupportMessage){this.DrawNotSupportmessage();return;}if(!this.Data||!this.Data.Data)return;var isHScreen=this.ChartFrame.IsHScreen===true;var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var chartright=this.ChartBorder.GetRight();var zoomIndex=this.ChartFrame.ZoomIndex;if(isHScreen)chartright=this.ChartBorder.GetBottom();var xPointCount=this.ChartFrame.XPointCount;var xOffset=this.ChartBorder.GetLeft()+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;if(isHScreen)xOffset=this.ChartBorder.GetTop()+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;var isMinute=this.IsMinuteFrame();this.Canvas.save();var bFillBar=false;var bFillKLine=false;var emptyBGColor=g_JSChartResource.EmptyBarBGColor;if(isMinute){if(this.Width>1)this.Canvas.lineWidth=2*GetDevicePixelRatio();else this.Canvas.lineWidth=GetDevicePixelRatio();this.Canvas.strokeStyle=this.Color;}else if(this.Width==0)//宽度时0,使用宽度1
4017
4015
  {this.SetEmptyBar();this.Canvas.lineWidth=GetDevicePixelRatio();this.Canvas.strokeStyle=this.Color;}else if(this.Width==3||this.Width==50)//3和50 K线宽度
4018
4016
  {if(dataWidth>=4){bFillKLine=true;this.SetEmptyBar();if(!this.IsEmptyBar())this.Canvas.fillStyle=this.Color;this.Canvas.strokeStyle=this.Color;}else//太细了 画竖线
4019
4017
  {this.Canvas.lineWidth=GetDevicePixelRatio();this.Canvas.strokeStyle=this.Color;}}else if(this.Width==101){var lineWidth=dataWidth+distanceWidth+1*GetDevicePixelRatio();this.Canvas.lineWidth=lineWidth;this.Canvas.strokeStyle=this.Color;}else if(this.Width<=3){var minWidth=2*GetDevicePixelRatio();var barWidth=dataWidth*(this.Width/3);if(barWidth<minWidth)barWidth=minWidth;this.SetEmptyBar();if(!this.IsEmptyBar())this.Canvas.fillStyle=this.Color;bFillBar=true;}else{var barWidth=this.Width*GetDevicePixelRatio()+dataWidth;this.SetEmptyBar();if(!this.IsEmptyBar())this.Canvas.fillStyle=this.Color;bFillBar=true;}for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j,xOffset+=dataWidth+distanceWidth){var value=this.Data.Data[i];if(value==null)continue;var price=value.Value;var price2=value.Value2;if(price2==null)price2=0;if(isMinute){var x=this.ChartFrame.GetXFromIndex(j);}else{var left=xOffset;var right=xOffset+dataWidth;var x=left+(right-left)/2;}var y=this.ChartFrame.GetYFromData(price);var y2=this.ChartFrame.GetYFromData(price2);if(x>chartright)break;if(bFillBar){if(isHScreen){var left=x-barWidth/2;var width=barWidth;if(this.IsEmptyBar())//空心
4020
4018
  {this.Canvas.beginPath();this.Canvas.rect(ToFixedPoint(Math.min(y,y2)),ToFixedPoint(left),ToFixedRect(Math.abs(y-y2)),ToFixedRect(width));this.Canvas.stroke();}else{this.Canvas.fillRect(ToFixedRect(Math.min(y,y2)),ToFixedRect(left),ToFixedRect(Math.abs(y-y2)),ToFixedRect(width));}}else{var left=x-barWidth/2;var width=barWidth;if(left+width>chartright)width=chartright-left;//不要超过右边框子
4021
4019
  if(this.IsEmptyBar())//空心
4022
- {if(emptyBGColor)this.Canvas.fillRect(ToFixedRect(left),ToFixedRect(Math.min(y,y2)),ToFixedRect(width),ToFixedRect(Math.abs(y-y2)));this.Canvas.beginPath();this.Canvas.rect(ToFixedPoint(left),ToFixedPoint(Math.min(y,y2)),ToFixedRect(width),ToFixedRect(Math.abs(y-y2)));this.Canvas.stroke();}else{this.Canvas.fillRect(ToFixedRect(left),ToFixedRect(Math.min(y,y2)),ToFixedRect(width),ToFixedRect(Math.abs(y-y2)));}}}else if(bFillKLine){if(this.IsEmptyBar())//空心
4023
- {if(isHScreen){this.Canvas.beginPath();this.Canvas.rect(ToFixedPoint(Math.min(y,y2)),ToFixedPoint(xOffset),ToFixedRect(Math.abs(y-y2)),ToFixedRect(dataWidth));this.Canvas.stroke();}else{if(emptyBGColor)this.Canvas.fillRect(ToFixedRect(xOffset),ToFixedRect(Math.min(y,y2)),ToFixedRect(dataWidth),ToFixedRect(Math.abs(y-y2)));this.Canvas.beginPath();this.Canvas.rect(ToFixedPoint(xOffset),ToFixedPoint(Math.min(y,y2)),ToFixedRect(dataWidth),ToFixedRect(Math.abs(y-y2)));this.Canvas.stroke();}}else{if(isHScreen)this.Canvas.fillRect(ToFixedRect(Math.min(y,y2)),ToFixedRect(xOffset),ToFixedRect(Math.abs(y-y2)),ToFixedRect(dataWidth));else this.Canvas.fillRect(ToFixedRect(xOffset),ToFixedRect(Math.min(y,y2)),ToFixedRect(dataWidth),ToFixedRect(Math.abs(y-y2)));}}else{if(isHScreen){this.Canvas.beginPath();this.Canvas.moveTo(y,ToFixedPoint(x));this.Canvas.lineTo(y2,ToFixedPoint(x));this.Canvas.stroke();}else{var xFix=parseInt(x.toString())+0.5;this.Canvas.beginPath();this.Canvas.moveTo(xFix,y);this.Canvas.lineTo(xFix,y2);this.Canvas.stroke();}}}this.Canvas.restore();};this.GetMaxMin=function(){var xPointCount=this.ChartFrame.XPointCount;var range={};range.Min=null;range.Max=null;if(!this.Data||!this.Data.Data)return range;for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j){var data=this.Data.Data[i];if(data==null)continue;var value2=data.Value2;if(value2==null)value2=0;if(data==null||isNaN(data.Value)||isNaN(value2))continue;var valueMax=Math.max(data.Value,value2);var valueMin=Math.min(data.Value,value2);if(range.Max==null)range.Max=valueMax;if(range.Min==null)range.Min=valueMin;if(range.Max<valueMax)range.Max=valueMax;if(range.Min>valueMin)range.Min=valueMin;}return range;};}function ChartText(){this.newMethod=IChartPainting;//派生
4020
+ {if(emptyBGColor)this.Canvas.fillRect(ToFixedRect(left),ToFixedRect(Math.min(y,y2)),ToFixedRect(width),ToFixedRect(Math.abs(y-y2)));this.Canvas.beginPath();this.Canvas.rect(ToFixedPoint(left),ToFixedPoint(Math.min(y,y2)),ToFixedRect(width),ToFixedRect(Math.abs(y-y2)));this.Canvas.stroke();}else{this.Canvas.fillRect(ToFixedRect(left),ToFixedRect(Math.min(y,y2)),ToFixedRect(width),ToFixedRect(this.CalculateBarHeight(y,y2)));}}}else if(bFillKLine){if(this.IsEmptyBar())//空心
4021
+ {if(isHScreen){this.Canvas.beginPath();this.Canvas.rect(ToFixedPoint(Math.min(y,y2)),ToFixedPoint(xOffset),ToFixedRect(Math.abs(y-y2)),ToFixedRect(dataWidth));this.Canvas.stroke();}else{if(emptyBGColor)this.Canvas.fillRect(ToFixedRect(xOffset),ToFixedRect(Math.min(y,y2)),ToFixedRect(dataWidth),ToFixedRect(Math.abs(y-y2)));this.Canvas.beginPath();this.Canvas.rect(ToFixedPoint(xOffset),ToFixedPoint(Math.min(y,y2)),ToFixedRect(dataWidth),ToFixedRect(Math.abs(y-y2)));this.Canvas.stroke();}}else{if(isHScreen){this.Canvas.fillRect(ToFixedRect(Math.min(y,y2)),ToFixedRect(xOffset),ToFixedRect(Math.abs(y-y2)),ToFixedRect(dataWidth));}else{this.Canvas.fillRect(ToFixedRect(xOffset),ToFixedRect(Math.min(y,y2)),ToFixedRect(dataWidth),ToFixedRect(this.CalculateBarHeight(y,y2)));}}}else{if(isHScreen){this.Canvas.beginPath();this.Canvas.moveTo(y,ToFixedPoint(x));this.Canvas.lineTo(y2,ToFixedPoint(x));this.Canvas.stroke();}else{var xFix=parseInt(x.toString())+0.5;this.Canvas.beginPath();this.Canvas.moveTo(xFix,y);if(Math.abs(y-y2)>0)this.Canvas.lineTo(xFix,y2);else this.Canvas.lineTo(xFix,y+1);//太窄了,就画一个像素的宽度
4022
+ this.Canvas.stroke();}}}this.Canvas.restore();};this.GetMaxMin=function(){var xPointCount=this.ChartFrame.XPointCount;var range={};range.Min=null;range.Max=null;if(!this.Data||!this.Data.Data)return range;for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j){var data=this.Data.Data[i];if(data==null)continue;var value2=data.Value2;if(value2==null)value2=0;if(data==null||isNaN(data.Value)||isNaN(value2))continue;var valueMax=Math.max(data.Value,value2);var valueMin=Math.min(data.Value,value2);if(range.Max==null)range.Max=valueMax;if(range.Min==null)range.Min=valueMin;if(range.Max<valueMax)range.Max=valueMax;if(range.Min>valueMin)range.Min=valueMin;}return range;};}function ChartText(){this.newMethod=IChartPainting;//派生
4024
4023
  this.newMethod();delete this.newMethod;this.ClassName='ChartText';//类名
4025
4024
  this.TextFont="14px 微软雅黑";this.Draw=function(){if(this.NotSupportMessage){this.DrawNotSupportmessage();return;}if(!this.Data||!this.Data.Data)return;var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var chartright=this.ChartBorder.GetRight();var xPointCount=this.ChartFrame.XPointCount;for(var i in this.Data.Data){var value=this.Data.Data[i];if(value==null)continue;var price=value.Value;var position=value.Position;if(position=='Left'){var x=this.ChartFrame.GetXFromIndex(0);var y=this.ChartFrame.GetYFromData(price);if(x>chartright)continue;this.Canvas.textAlign='left';this.Canvas.textBaseline='middle';this.Canvas.fillStyle=value.Color;this.Canvas.font=this.TextFont;this.Canvas.fillText(value.Message,x,y);}}};this.GetMaxMin=function(){var xPointCount=this.ChartFrame.XPointCount;var range={};range.Min=null;range.Max=null;if(!this.Data||!this.Data.Data)return range;for(var i in this.Data.Data){var data=this.Data.Data[i];if(data==null||isNaN(data.Value))continue;var value=data.Value;if(range.Max==null)range.Max=value;if(range.Min==null)range.Min=value;if(range.Max<value)range.Max=value;if(range.Min>value)range.Min=value;}return range;};}/*
4026
4025
  文字输出 支持横屏
@@ -6860,7 +6859,12 @@ BorderColor:'rgb(20,20,20)',//边框颜色
6860
6859
  TitleColor:'rgb(250,250,250)',//标题颜色
6861
6860
  TitleBGColor:"rgb(200, 66, 69)",//标题背景颜色
6862
6861
  IndexNameColor:"rgb(0,0,0)",//数值名称
6863
- GroupNameColor:"rgb(0,0,0)",InputTextColor:"rgb(0,0,0)"};//弹幕
6862
+ GroupNameColor:"rgb(0,0,0)",InputTextColor:"rgb(0,0,0)"};this.DialogModifyIndexParam={BGColor:'rgb(250,250,250)',//背景色
6863
+ BorderColor:'rgb(20,20,20)',//边框颜色
6864
+ TitleColor:'rgb(250,250,250)',//标题颜色
6865
+ TitleBGColor:"rgb(200, 66, 69)",//标题背景颜色
6866
+ ParamNameColor:"rgb(0,0,0)",//数值名称
6867
+ InputTextColor:"rgb(0,0,0)"};//弹幕
6864
6868
  this.Barrage={Font:16*GetDevicePixelRatio()+'px 微软雅黑',//字体
6865
6869
  Height:20,Color:'RGB(109,109,109)'//走势图 信息地雷
6866
6870
  };this.MinuteInfo={TextColor:'rgb(84,143,255)',Font:14*GetDevicePixelRatio()+'px 微软雅黑',PointColor:'rgb(38,113,254)',LineColor:'rgb(120,167,255)',TextBGColor:'rgba(255,255,255,0.8)',PointRadius:4*GetDevicePixelRatio()//圆点半径
@@ -7210,13 +7214,11 @@ if(this.CursorIndex+step+data.DataOffset+1>data.Data.length)//数据不够步长
7210
7214
  this.GetKLineChart=function(){if(!this.ChartPaint[0])return null;return this.ChartPaint[0];};//创建子窗口
7211
7215
  this.CreateChildWindow=function(windowCount){var _this18=this;var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CREATE_FRAME);for(var i=0;i<windowCount;++i){var border=new ChartBorder();border.UIElement=this.UIElement;var frame=g_ChartFrameFactory.Create("KLineFrame",{ID:i});frame.Canvas=this.Canvas;frame.GetExtraCanvas=function(name){return _this18.GetExtraCanvas(name);};frame.ChartBorder=border;frame.Identify=i;//窗口序号
7212
7216
  frame.RightSpaceCount=this.RightSpaceCount;//右边
7213
- frame.GetEventCallback=function(id){return _this18.GetEventCallback(id);};frame.GlobalOption=this.GlobalOption;if(this.ModifyIndexDialog)frame.ModifyIndexEvent=this.ModifyIndexDialog.DoModal;//绑定菜单事件
7214
- frame.HorizontalMax=20;frame.HorizontalMin=10;if(i==0){frame.YSplitOperator=new FrameSplitKLinePriceY();frame.YSplitOperator.FrameSplitData=this.FrameSplitData.get('price');frame.YSplitOperator.FrameSplitData2=this.FrameSplitData.get('double');frame.YSplitOperator.GetEventCallback=function(id){return _this18.GetEventCallback(id);};frame.YSplitOperator.GetKLineChartCallback=function(){return _this18.GetKLineChart();};frame.YSplitOperator.HQChart=this;var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
7217
+ frame.GetEventCallback=function(id){return _this18.GetEventCallback(id);};frame.GlobalOption=this.GlobalOption;frame.HorizontalMax=20;frame.HorizontalMin=10;if(i==0){frame.YSplitOperator=new FrameSplitKLinePriceY();frame.YSplitOperator.FrameSplitData=this.FrameSplitData.get('price');frame.YSplitOperator.FrameSplitData2=this.FrameSplitData.get('double');frame.YSplitOperator.GetEventCallback=function(id){return _this18.GetEventCallback(id);};frame.YSplitOperator.GetKLineChartCallback=function(){return _this18.GetKLineChart();};frame.YSplitOperator.HQChart=this;var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
7215
7218
  border.BottomSpace=15*pixelTatio;//主图上下留空间
7216
7219
  border.TopSpace=15*pixelTatio;frame.GetEventCallback=function(id){return _this18.GetEventCallback(id);};}else{frame.YSplitOperator=new FrameSplitY();frame.YSplitOperator.FrameSplitData=this.FrameSplitData.get('double');frame.YSplitOperator.LanguageID=this.LanguageID;frame.YSplitOperator.GetEventCallback=function(id){return _this18.GetEventCallback(id);};frame.YSplitOperator.GetKLineChartCallback=function(){return _this18.GetKLineChart();};frame.YSplitOperator.HQChart=this;//frame.IsLocked = true;
7217
7220
  }frame.YSplitOperator.Frame=frame;frame.YSplitOperator.ChartBorder=border;frame.XSplitOperator=new FrameSplitKLineX();frame.XSplitOperator.Frame=frame;frame.XSplitOperator.ChartBorder=border;frame.XSplitOperator.LanguageID=this.LanguageID;frame.XSplitOperator.GetEventCallback=function(id){return _this18.GetEventCallback(id);};if(i!=windowCount-1)frame.XSplitOperator.ShowText=false;for(var j=frame.HorizontalMin;j<=frame.HorizontalMax;j+=1){frame.HorizontalInfo[j]=new CoordinateInfo();frame.HorizontalInfo[j].Value=j;if(i==0&&j==frame.HorizontalMin)continue;frame.HorizontalInfo[j].Message[1]=j.toString();frame.HorizontalInfo[j].Font="14px 微软雅黑";}var subFrame=new SubFrameItem();frame.FrameData.SubFrameItem=subFrame;subFrame.Frame=frame;if(i==0)subFrame.Height=20;else subFrame.Height=10;this.Frame.SubFrame[i]=subFrame;if(event&&event.Callback){var sendData={SubFrame:this.Frame.SubFrame[i],WindowIndex:i};event.Callback(event,sendData,this);}}};this.CreateSubFrameItem=function(id){var _this19=this;var border=new ChartBorder();border.UIElement=this.UIElement;var frameClassName="KLineFrame";if(this.ClassName=="KLineChartHScreenContainer")frameClassName="KLineHScreenFrame";var frame=g_ChartFrameFactory.Create(frameClassName,{ID:id});frame.Canvas=this.Canvas;frame.GetExtraCanvas=function(name){return _this19.GetExtraCanvas(name);};frame.ChartBorder=border;frame.Identify=id;//窗口序号
7218
- frame.GetEventCallback=function(id){return _this19.GetEventCallback(id);};frame.GlobalOption=this.GlobalOption;if(this.ModifyIndexDialog)frame.ModifyIndexEvent=this.ModifyIndexDialog.DoModal;//绑定菜单事件
7219
- frame.HorizontalMax=20;frame.HorizontalMin=10;frame.YSplitOperator=new FrameSplitY();frame.YSplitOperator.LanguageID=this.LanguageID;frame.YSplitOperator.FrameSplitData=this.FrameSplitData.get('double');frame.YSplitOperator.Frame=frame;frame.YSplitOperator.ChartBorder=border;frame.XSplitOperator=new FrameSplitKLineX();frame.XSplitOperator.Frame=frame;frame.XSplitOperator.ChartBorder=border;frame.XSplitOperator.ShowText=false;frame.XSplitOperator.GetEventCallback=function(id){return _this19.GetEventCallback(id);};frame.YSplitOperator.GetEventCallback=function(id){return _this19.GetEventCallback(id);};frame.YSplitOperator.GetKLineChartCallback=function(){return _this19.GetKLineChart();};frame.YSplitOperator.HQChart=this;frame.XSplitOperator.Symbol=this.Symbol;frame.XSplitOperator.Period=this.Period;//K线数据绑定
7221
+ frame.GetEventCallback=function(id){return _this19.GetEventCallback(id);};frame.GlobalOption=this.GlobalOption;frame.HorizontalMax=20;frame.HorizontalMin=10;frame.YSplitOperator=new FrameSplitY();frame.YSplitOperator.LanguageID=this.LanguageID;frame.YSplitOperator.FrameSplitData=this.FrameSplitData.get('double');frame.YSplitOperator.Frame=frame;frame.YSplitOperator.ChartBorder=border;frame.XSplitOperator=new FrameSplitKLineX();frame.XSplitOperator.Frame=frame;frame.XSplitOperator.ChartBorder=border;frame.XSplitOperator.ShowText=false;frame.XSplitOperator.GetEventCallback=function(id){return _this19.GetEventCallback(id);};frame.YSplitOperator.GetEventCallback=function(id){return _this19.GetEventCallback(id);};frame.YSplitOperator.GetKLineChartCallback=function(){return _this19.GetKLineChart();};frame.YSplitOperator.HQChart=this;frame.XSplitOperator.Symbol=this.Symbol;frame.XSplitOperator.Period=this.Period;//K线数据绑定
7220
7222
  var xPointCouont=this.Frame.SubFrame[0].Frame.XPointCount;frame.XPointCount=xPointCouont;frame.Data=this.ChartPaint[0].Data;for(var j=frame.HorizontalMin;j<=frame.HorizontalMax;j+=1){frame.HorizontalInfo[j]=new CoordinateInfo();frame.HorizontalInfo[j].Value=j;frame.HorizontalInfo[j].Message[1]=j.toString();frame.HorizontalInfo[j].Font="14px 微软雅黑";}var subFrame=new SubFrameItem();frame.FrameData.SubFrameItem=subFrame;subFrame.Frame=frame;subFrame.Height=10;var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CREATE_FRAME);if(event&&event.Callback){var sendData={SubFrame:subFrame,WindowIndex:id};event.Callback(event,sendData,this);}return subFrame;};//创建主图K线画法
7221
7223
  this.CreateMainKLine=function(){var _this20=this;var kline=g_ChartPaintFactory.Create("ChartKLine");kline.Canvas=this.Canvas;kline.ChartBorder=this.Frame.SubFrame[0].Frame.ChartBorder;kline.ChartFrame=this.Frame.SubFrame[0].Frame;kline.Name="Main-KLine";kline.DrawType=this.KLineDrawType;kline.Identify="Main-KLine";kline.GetEventCallback=function(id){return _this20.GetEventCallback(id);};this.ChartPaint[0]=kline;this.TitlePaint[0]=new DynamicKLineTitlePainting();this.TitlePaint[0].Frame=this.Frame.SubFrame[0].Frame;this.TitlePaint[0].Canvas=this.Canvas;this.TitlePaint[0].OverlayChartPaint=this.OverlayChartPaint;//绑定叠加
7222
7224
  this.TitlePaint[0].LanguageID=this.LanguageID;this.TitlePaint[0].HQChart=this;this.TitlePaint[0].GetEventCallback=function(id){return _this20.GetEventCallback(id);};};//绑定主图K线数据
@@ -7896,11 +7898,11 @@ this.UpdateOverlayDragDayData=function(data){if(!IFrameSplitOperator.IsNonEmptyA
7896
7898
  {if(item.Data&&IFrameSplitOperator.IsNonEmptyArray(item.Data.Data)){var bindData=item.Data;var aryOverlayData=this.SourceData.GetOverlayData(bindData.Data,this.IsApiPeriod);//和主图数据拟合以后的数据
7897
7899
  bindData.Data=aryOverlayData;}}}};this.SetCustomVerical=function(windowId,data){if(!this.Frame)return;if(windowId>=this.Frame.SubFrame.length)return;var item=this.Frame.SubFrame[windowId];if(item.Frame)item.Frame.CustomVerticalInfo=data;};this.OnSize=function(){if(!this.Frame)return;if(!this.Frame.OnSize)return;//this.Frame.CalculateChartBorder();
7898
7900
  var obj=this.Frame.OnSize();this.Frame.SetSizeChage(true);if(obj.Changed){this.UpdataDataoffset();this.UpdatePointByCursorIndex(2);this.UpdateFrameMaxMin();}this.Draw();};this.ClickFrameButton=function(button,e){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CLICK_FRAME_TOOLBAR);if(event&&event.Callback){var data={Info:button,PreventDefault:false};//PreventDefault 是否阻止内置的点击处理
7899
- event.Callback(event,data,this);if(data.PreventDefault)return;}if(button.ID==JSCHART_BUTTON_ID.CLOSE_OVERLAY_INDEX){var id=button.IndexID;if(id)this.DeleteOverlayWindowsIndex(id);}else if(button.ID==JSCHART_BUTTON_ID.MODIFY_OVERLAY_INDEX_PARAM){var id=button.IndexID;var frame=button.Frame;e.data={Chart:this,Identify:id,IsOverlay:true};if(frame.ModifyIndexEvent)frame.ModifyIndexEvent(e);}else if(button.ID==JSCHART_BUTTON_ID.CLOSE_INDEX_WINDOW){var frame=button.Frame;this.RemoveIndexWindow(frame.Identify);}else if(button.ID==JSCHART_BUTTON_ID.CHANGE_INDEX){var frame=button.Frame;var sendData={e:e,WindowIndex:frame.Identify,OpType:1};this.ShowChangeIndexDialog(sendData);/*
7901
+ event.Callback(event,data,this);if(data.PreventDefault)return;}if(button.ID==JSCHART_BUTTON_ID.CLOSE_OVERLAY_INDEX){var id=button.IndexID;if(id)this.DeleteOverlayWindowsIndex(id);}else if(button.ID==JSCHART_BUTTON_ID.MODIFY_OVERLAY_INDEX_PARAM){var id=button.IndexID;var frame=button.Frame;var sendData={e:e,WindowIndex:frame.Identify,Type:2,Identify:id};this.ShowModifyIndexParamDialog(sendData);}else if(button.ID==JSCHART_BUTTON_ID.CLOSE_INDEX_WINDOW){var frame=button.Frame;this.RemoveIndexWindow(frame.Identify);}else if(button.ID==JSCHART_BUTTON_ID.CHANGE_INDEX){var frame=button.Frame;var sendData={e:e,WindowIndex:frame.Identify,OpType:1};this.ShowChangeIndexDialog(sendData);/*
7900
7902
  e.data={ Chart:this, Identify:frame.Identify, IsOverlay:false };
7901
7903
  if (frame.ChangeIndexEvent)
7902
7904
  frame.ChangeIndexEvent(e);
7903
- */}else if(button.ID==JSCHART_BUTTON_ID.MODIFY_INDEX_PARAM){var frame=button.Frame;e.data={Chart:this,Identify:frame.Identify,IsOverlay:false};if(frame.ModifyIndexEvent)frame.ModifyIndexEvent(e);}else if(button.ID==JSCHART_BUTTON_ID.OVERLAY_INDEX){var frame=button.Frame;var sendData={e:e,WindowIndex:frame.Identify,OpType:2};this.ShowAddOverlayIndexDialog(sendData);/*
7905
+ */}else if(button.ID==JSCHART_BUTTON_ID.MODIFY_INDEX_PARAM){var frame=button.Frame;var sendData={e:e,WindowIndex:frame.Identify,Type:1};this.ShowModifyIndexParamDialog(sendData);}else if(button.ID==JSCHART_BUTTON_ID.OVERLAY_INDEX){var frame=button.Frame;var sendData={e:e,WindowIndex:frame.Identify,OpType:2};this.ShowAddOverlayIndexDialog(sendData);/*
7904
7906
  e.data={ Chart:this, Identify:frame.Identify, IsOverlay:true };
7905
7907
  if (frame.ChangeIndexEvent)
7906
7908
  frame.ChangeIndexEvent(e);
@@ -8054,7 +8056,7 @@ this.ZoomStepPixel=50;this.BaselineType=0;//基准线类型 0=最新昨收盘 1=
8054
8056
  this.EnableNightDayBG=false;//是否启动夜盘背景色
8055
8057
  //集合竞价设置 obj={ Left:true/false, Right:true/false, MultiDay:{Left:, Right:} }
8056
8058
  this.SetCallCationDataBorder=function(obj){if(!obj)return;var extendWidth={Left:obj.Left?this.ExtendWidth.Left:0,Right:obj.Right?this.ExtendWidth.Right:0};this.Frame.SetExtendWidth(extendWidth);if(obj.MultiDay){var item=obj.MultiDay;var DayMinuteWidth={Left:item.Left?this.MultiDayExtendWidth.Left:0,Right:item.Right?this.MultiDayExtendWidth.Right:0};this.Frame.SetMultiDayMinuteWidth(DayMinuteWidth);}};this.ReloadChartPaint=function(resource){for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(!item)continue;if(item.ReloadResource)item.ReloadResource(resource);if(i==0){if(item.Name=="Minute-Line"){item.Color=g_JSChartResource.Minute.PriceColor;item.AreaColor=g_JSChartResource.Minute.AreaPriceColor;}}else if(i==1){if(item.Name=="Minute-Average-Line"){item.Color=g_JSChartResource.Minute.AvPriceColor;}}else if(i==2){if(item.Name=="Minute-Vol-Bar"){item.Color=g_JSChartResource.Minute.VolBarColor;}}}};this.StopAutoUpdate=function(){this.CancelAutoUpdate();if(!this.IsAutoUpdate)return;this.IsAutoUpdate=false;};this.ClickFrameButton=function(button,e){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CLICK_FRAME_TOOLBAR);if(event&&event.Callback){var data={Info:button,PreventDefault:false};//PreventDefault 是否阻止内置的点击处理
8057
- event.Callback(event,data,this);if(data.PreventDefault)return;}if(button.ID==JSCHART_BUTTON_ID.CLOSE_BEFOREOPEN_ID){this.ShowCallAuctionData({Left:false,Right:false,MultiDay:{Left:false,Right:false}});}else if(button.ID==JSCHART_BUTTON_ID.CLOSE_OVERLAY_INDEX){var id=button.IndexID;if(id)this.DeleteOverlayWindowsIndex(id);}else if(button.ID==JSCHART_BUTTON_ID.MODIFY_OVERLAY_INDEX_PARAM){var id=button.IndexID;var frame=button.Frame;e.data={Chart:this,Identify:id,IsOverlay:true};if(frame.ModifyIndexEvent)frame.ModifyIndexEvent(e);}else if(button.ID==JSCHART_BUTTON_ID.CLOSE_INDEX_WINDOW){var frame=button.Frame;this.RemoveIndexWindow(frame.Identify);}else if(button.ID==JSCHART_BUTTON_ID.CHANGE_INDEX){var frame=button.Frame;var sendData={e:e,WindowIndex:frame.Identify,OpType:1};this.ShowChangeIndexDialog(sendData);}else if(button.ID==JSCHART_BUTTON_ID.MODIFY_INDEX_PARAM){var frame=button.Frame;e.data={Chart:this,Identify:frame.Identify,IsOverlay:false};if(frame.ModifyIndexEvent)frame.ModifyIndexEvent(e);}else if(button.ID==JSCHART_BUTTON_ID.OVERLAY_INDEX){var frame=button.Frame;var sendData={e:e,WindowIndex:frame.Identify,OpType:2};this.ShowAddOverlayIndexDialog(sendData);}else if(button.ID==JSCHART_BUTTON_ID.MAX_MIN_WINDOW){var id=button.IndexID;var frame=button.Frame;var frameId=button.FrameID;if(frameId>=this.Frame.ZoomStartWindowIndex){if(this.ZoomIndexWindow(frameId,null)){this.Frame.SetSizeChage(true);this.Draw();}}}else if(button.ID==JSCHART_BUTTON_ID.TITLE_WINDOW)//标题模式
8059
+ event.Callback(event,data,this);if(data.PreventDefault)return;}if(button.ID==JSCHART_BUTTON_ID.CLOSE_BEFOREOPEN_ID){this.ShowCallAuctionData({Left:false,Right:false,MultiDay:{Left:false,Right:false}});}else if(button.ID==JSCHART_BUTTON_ID.CLOSE_OVERLAY_INDEX){var id=button.IndexID;if(id)this.DeleteOverlayWindowsIndex(id);}else if(button.ID==JSCHART_BUTTON_ID.MODIFY_OVERLAY_INDEX_PARAM){var id=button.IndexID;var frame=button.Frame;var sendData={e:e,WindowIndex:frame.Identify,Type:2,Identify:id};this.ShowModifyIndexParamDialog(sendData);}else if(button.ID==JSCHART_BUTTON_ID.CLOSE_INDEX_WINDOW){var frame=button.Frame;this.RemoveIndexWindow(frame.Identify);}else if(button.ID==JSCHART_BUTTON_ID.CHANGE_INDEX){var frame=button.Frame;var sendData={e:e,WindowIndex:frame.Identify,OpType:1};this.ShowChangeIndexDialog(sendData);}else if(button.ID==JSCHART_BUTTON_ID.MODIFY_INDEX_PARAM){var frame=button.Frame;var sendData={e:e,WindowIndex:frame.Identify,Type:1};this.ShowModifyIndexParamDialog(sendData);}else if(button.ID==JSCHART_BUTTON_ID.OVERLAY_INDEX){var frame=button.Frame;var sendData={e:e,WindowIndex:frame.Identify,OpType:2};this.ShowAddOverlayIndexDialog(sendData);}else if(button.ID==JSCHART_BUTTON_ID.MAX_MIN_WINDOW){var id=button.IndexID;var frame=button.Frame;var frameId=button.FrameID;if(frameId>=this.Frame.ZoomStartWindowIndex){if(this.ZoomIndexWindow(frameId,null)){this.Frame.SetSizeChage(true);this.Draw();}}}else if(button.ID==JSCHART_BUTTON_ID.TITLE_WINDOW)//标题模式
8058
8060
  {var id=button.IndexID;var frame=button.Frame;var frameId=button.FrameID;if(this.ShowIndexTitleOnly(frameId)){this.Frame.SetSizeChage(true);this.Draw();}}else if(button.ID==JSCHART_BUTTON_ID.EXPORT_DATA)//数据导出
8059
8061
  {var data=this.ExportData({Type:"CSV"});if(!data)return;var date=Date.now();var fileName='hqchart_'+this.Symbol+'_'+date+'.csv';var alink=document.createElement("a");var csvDataBlob=new Blob([data],{type:"text/csv"});alink.href=URL.createObjectURL(csvDataBlob);document.body.appendChild(alink);alink.setAttribute("download",fileName);alink.click();document.body.removeChild(alink);}};//图形控制 { ID:, ....参数 }
8060
8062
  this.ChartOperator=function(obj){var id=obj.ID;if(id===JSCHART_OPERATOR_ID.OP_SCROLL_LEFT||id===JSCHART_OPERATOR_ID.OP_SCROLL_RIGHT)//左右移动 { Step:移动天数 }
@@ -8151,10 +8153,8 @@ if(this.EnableIndexChartDrag)this.CreateExtendChart("DragMovePaint");this.Create
8151
8153
  for(var i=0;i<this.Frame.SubFrame.length;++i){var titlePaint=new DynamicChartTitlePainting();if(i==0||i==1)titlePaint.IsShowMainIndexTitle=false;titlePaint.Frame=this.Frame.SubFrame[i].Frame;titlePaint.Canvas=this.Canvas;titlePaint.LanguageID=this.LanguageID;titlePaint.GetEventCallback=function(id){return _this26.GetEventCallback(id);};titlePaint.SelectedChart=this.SelectedChart;titlePaint.MainTitlePaint=this.TitlePaint[0];this.TitlePaint.push(titlePaint);}this.ChartCorssCursor.StringFormatX.Frame=this.Frame.SubFrame[0].Frame;this.ChartCorssCursor.StringFormatY.Frame=this.Frame;if(this.ChartCorssCursor.CallAcutionXOperator)this.ChartCorssCursor.CallAcutionXOperator.Frame=this.Frame.SubFrame[0].Frame;var bRegisterKeydown=true;var bRegisterWheel=true;if(option&&option.Listener){var item=option.Listener;if(item.KeyDown===false){bRegisterKeydown=false;JSConsole.Chart.Log('[MinuteChartContainer::Create] not register keydown event.');}if(item.Wheel===false){bRegisterWheel=false;JSConsole.Chart.Log('[MinuteChartContainer::Create] not register wheel event.');}}if(bRegisterKeydown)this.UIElement.addEventListener("keydown",function(e){_this26.OnKeyDown(e);},true);//键盘消息
8152
8154
  if(bRegisterWheel)this.UIElement.addEventListener("wheel",function(e){_this26.OnWheel(e);},true);//上下滚动消息
8153
8155
  };//创建子窗口
8154
- this.CreateChildWindow=function(windowCount){var _this27=this;var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CREATE_FRAME);for(var i=0;i<windowCount;++i){var border=new ChartBorder();border.UIElement=this.UIElement;var frame=new MinuteFrame();frame.Canvas=this.Canvas;frame.ChartBorder=border;frame.Identify=i;frame.GlobalOption=this.GlobalOption;if(i<2)frame.ChartBorder.TitleHeight=0;frame.XPointCount=243;frame.HQChart=this;frame.GetEventCallback=function(id){return _this27.GetEventCallback(id);};if(i>=2){if(this.ModifyIndexDialog)frame.ModifyIndexEvent=this.ModifyIndexDialog.DoModal;//绑定菜单事件
8155
- }var DEFAULT_HORIZONTAL=[9,8,7,6,5,4,3,2,1];frame.HorizontalMax=DEFAULT_HORIZONTAL[0];frame.HorizontalMin=DEFAULT_HORIZONTAL[DEFAULT_HORIZONTAL.length-1];if(i==0){frame.YSplitOperator=new FrameSplitMinutePriceY();frame.YSplitOperator.FrameSplitData=this.FrameSplitData.get('price');frame.YSplitOperator.GetEventCallback=function(id){return _this27.GetEventCallback(id);};frame.YSplitOperator.DayOffset=this.DayOffset;frame.YSplitOperator.GlobalOption=this.GlobalOption;frame.YSplitOperator.HQChart=this;}else{frame.YSplitOperator=new FrameSplitY();frame.YSplitOperator.LanguageID=this.LanguageID;frame.YSplitOperator.FrameSplitData=this.FrameSplitData.get('double');frame.YSplitOperator.GetEventCallback=function(id){return _this27.GetEventCallback(id);};if(i==1)frame.YSplitOperator.ShareAfterVol=this.ShareAfterVol;}frame.YSplitOperator.Frame=frame;frame.YSplitOperator.ChartBorder=border;frame.XSplitOperator=new FrameSplitMinuteX();frame.XSplitOperator.Frame=frame;frame.XSplitOperator.ChartBorder=border;frame.XSplitOperator.DayOffset=this.DayOffset;frame.XSplitOperator.GetEventCallback=function(id){return _this27.GetEventCallback(id);};if(i!=windowCount-1)frame.XSplitOperator.ShowText=false;frame.XSplitOperator.Operator();for(var j in DEFAULT_HORIZONTAL){frame.HorizontalInfo[j]=new CoordinateInfo();frame.HorizontalInfo[j].Value=DEFAULT_HORIZONTAL[j];if(i==0&&j==frame.HorizontalMin)continue;frame.HorizontalInfo[j].Message[1]=DEFAULT_HORIZONTAL[j].toString();frame.HorizontalInfo[j].Font="14px 微软雅黑";}var subFrame=new SubFrameItem();frame.FrameData.SubFrameItem=subFrame;subFrame.Frame=frame;if(i==0)subFrame.Height=20;else subFrame.Height=10;this.Frame.SubFrame[i]=subFrame;if(event&&event.Callback){var sendData={SubFrame:this.Frame.SubFrame[i],WindowIndex:i};event.Callback(event,sendData,this);}}};this.CreateSubFrameItem=function(id,mainFrame){var _this28=this;var border=new ChartBorder();border.UIElement=this.UIElement;if(mainFrame&&mainFrame.ChartBorder&&mainFrame.ChartBorder.MultiDayMinute){var item=mainFrame.ChartBorder.MultiDayMinute;border.MultiDayMinute.Count=item.Count;border.MultiDayMinute.Left=item.Left;border.MultiDayMinute.Right=item.Right;}var frame=null;if(this.ClassName=="MinuteChartHScreenContainer")frame=new MinuteHScreenFrame();else frame=new MinuteFrame();frame.Canvas=this.Canvas;frame.ChartBorder=border;frame.Identify=id;//窗口序号
8156
- frame.XPointCount=243;frame.GlobalOption=this.GlobalOption;frame.HQChart=this;frame.GetEventCallback=function(id){return _this28.GetEventCallback(id);};if(id>=2){if(this.ModifyIndexDialog)frame.ModifyIndexEvent=this.ModifyIndexDialog.DoModal;//绑定菜单事件
8157
- }var DEFAULT_HORIZONTAL=[9,8,7,6,5,4,3,2,1];frame.HorizontalMax=DEFAULT_HORIZONTAL[0];frame.HorizontalMin=DEFAULT_HORIZONTAL[DEFAULT_HORIZONTAL.length-1];frame.YSplitOperator=new FrameSplitY();frame.YSplitOperator.LanguageID=this.LanguageID;frame.YSplitOperator.FrameSplitData=this.FrameSplitData.get('double');frame.YSplitOperator.Frame=frame;frame.YSplitOperator.ChartBorder=border;frame.XSplitOperator=new FrameSplitMinuteX();frame.XSplitOperator.Frame=frame;frame.XSplitOperator.ChartBorder=border;frame.XSplitOperator.ShowText=false;frame.XSplitOperator.DayOffset=this.DayOffset;frame.XSplitOperator.GetEventCallback=function(id){return _this28.GetEventCallback(id);};frame.YSplitOperator.GetEventCallback=function(id){return _this28.GetEventCallback(id);};frame.XSplitOperator.Symbol=this.Symbol;if(this.DayCount>1){frame.XSplitOperator.DayCount=this.DayData.length;frame.XSplitOperator.DayData=this.DayData;frame.DayCount=this.DayData.length;}//K线数据绑定
8156
+ this.CreateChildWindow=function(windowCount){var _this27=this;var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CREATE_FRAME);for(var i=0;i<windowCount;++i){var border=new ChartBorder();border.UIElement=this.UIElement;var frame=new MinuteFrame();frame.Canvas=this.Canvas;frame.ChartBorder=border;frame.Identify=i;frame.GlobalOption=this.GlobalOption;if(i<2)frame.ChartBorder.TitleHeight=0;frame.XPointCount=243;frame.HQChart=this;frame.GetEventCallback=function(id){return _this27.GetEventCallback(id);};if(i>=2){}var DEFAULT_HORIZONTAL=[9,8,7,6,5,4,3,2,1];frame.HorizontalMax=DEFAULT_HORIZONTAL[0];frame.HorizontalMin=DEFAULT_HORIZONTAL[DEFAULT_HORIZONTAL.length-1];if(i==0){frame.YSplitOperator=new FrameSplitMinutePriceY();frame.YSplitOperator.FrameSplitData=this.FrameSplitData.get('price');frame.YSplitOperator.GetEventCallback=function(id){return _this27.GetEventCallback(id);};frame.YSplitOperator.DayOffset=this.DayOffset;frame.YSplitOperator.GlobalOption=this.GlobalOption;frame.YSplitOperator.HQChart=this;}else{frame.YSplitOperator=new FrameSplitY();frame.YSplitOperator.LanguageID=this.LanguageID;frame.YSplitOperator.FrameSplitData=this.FrameSplitData.get('double');frame.YSplitOperator.GetEventCallback=function(id){return _this27.GetEventCallback(id);};if(i==1)frame.YSplitOperator.ShareAfterVol=this.ShareAfterVol;}frame.YSplitOperator.Frame=frame;frame.YSplitOperator.ChartBorder=border;frame.XSplitOperator=new FrameSplitMinuteX();frame.XSplitOperator.Frame=frame;frame.XSplitOperator.ChartBorder=border;frame.XSplitOperator.DayOffset=this.DayOffset;frame.XSplitOperator.GetEventCallback=function(id){return _this27.GetEventCallback(id);};if(i!=windowCount-1)frame.XSplitOperator.ShowText=false;frame.XSplitOperator.Operator();for(var j in DEFAULT_HORIZONTAL){frame.HorizontalInfo[j]=new CoordinateInfo();frame.HorizontalInfo[j].Value=DEFAULT_HORIZONTAL[j];if(i==0&&j==frame.HorizontalMin)continue;frame.HorizontalInfo[j].Message[1]=DEFAULT_HORIZONTAL[j].toString();frame.HorizontalInfo[j].Font="14px 微软雅黑";}var subFrame=new SubFrameItem();frame.FrameData.SubFrameItem=subFrame;subFrame.Frame=frame;if(i==0)subFrame.Height=20;else subFrame.Height=10;this.Frame.SubFrame[i]=subFrame;if(event&&event.Callback){var sendData={SubFrame:this.Frame.SubFrame[i],WindowIndex:i};event.Callback(event,sendData,this);}}};this.CreateSubFrameItem=function(id,mainFrame){var _this28=this;var border=new ChartBorder();border.UIElement=this.UIElement;if(mainFrame&&mainFrame.ChartBorder&&mainFrame.ChartBorder.MultiDayMinute){var item=mainFrame.ChartBorder.MultiDayMinute;border.MultiDayMinute.Count=item.Count;border.MultiDayMinute.Left=item.Left;border.MultiDayMinute.Right=item.Right;}var frame=null;if(this.ClassName=="MinuteChartHScreenContainer")frame=new MinuteHScreenFrame();else frame=new MinuteFrame();frame.Canvas=this.Canvas;frame.ChartBorder=border;frame.Identify=id;//窗口序号
8157
+ frame.XPointCount=243;frame.GlobalOption=this.GlobalOption;frame.HQChart=this;frame.GetEventCallback=function(id){return _this28.GetEventCallback(id);};var DEFAULT_HORIZONTAL=[9,8,7,6,5,4,3,2,1];frame.HorizontalMax=DEFAULT_HORIZONTAL[0];frame.HorizontalMin=DEFAULT_HORIZONTAL[DEFAULT_HORIZONTAL.length-1];frame.YSplitOperator=new FrameSplitY();frame.YSplitOperator.LanguageID=this.LanguageID;frame.YSplitOperator.FrameSplitData=this.FrameSplitData.get('double');frame.YSplitOperator.Frame=frame;frame.YSplitOperator.ChartBorder=border;frame.XSplitOperator=new FrameSplitMinuteX();frame.XSplitOperator.Frame=frame;frame.XSplitOperator.ChartBorder=border;frame.XSplitOperator.ShowText=false;frame.XSplitOperator.DayOffset=this.DayOffset;frame.XSplitOperator.GetEventCallback=function(id){return _this28.GetEventCallback(id);};frame.YSplitOperator.GetEventCallback=function(id){return _this28.GetEventCallback(id);};frame.XSplitOperator.Symbol=this.Symbol;if(this.DayCount>1){frame.XSplitOperator.DayCount=this.DayData.length;frame.XSplitOperator.DayData=this.DayData;frame.DayCount=this.DayData.length;}//K线数据绑定
8158
8158
  var xPointCouont=this.Frame.SubFrame[0].Frame.XPointCount;frame.XPointCount=xPointCouont;frame.Data=this.ChartPaint[0].Data;for(var j in DEFAULT_HORIZONTAL){frame.HorizontalInfo[j]=new CoordinateInfo();frame.HorizontalInfo[j].Value=DEFAULT_HORIZONTAL[j];frame.HorizontalInfo[j].Message[1]=DEFAULT_HORIZONTAL[j].toString();frame.HorizontalInfo[j].Font="14px 微软雅黑";}var subFrame=new SubFrameItem();frame.FrameData.SubFrameItem=subFrame;subFrame.Frame=frame;subFrame.Height=10;var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CREATE_FRAME);if(event&&event.Callback){var sendData={SubFrame:subFrame,WindowIndex:id};event.Callback(event,sendData,this);}return subFrame;};this.AddNewSubFrame=function(option){var _this29=this;var mainFrame=this.Frame.SubFrame[0].Frame;var index=this.Frame.SubFrame.length;var subFrame=this.CreateSubFrameItem(index,mainFrame);var pixelRatio=GetDevicePixelRatio();subFrame.Frame.ChartBorder.TitleHeight*=pixelRatio;this.Frame.SubFrame[index]=subFrame;var titlePaint=new DynamicChartTitlePainting();titlePaint.Frame=this.Frame.SubFrame[index].Frame;titlePaint.Canvas=this.Canvas;titlePaint.LanguageID=this.LanguageID;titlePaint.GetEventCallback=function(id){return _this29.GetEventCallback(id);};titlePaint.MainTitlePaint=this.TitlePaint[0];this.TitlePaint[index+1]=titlePaint;this.SetSubFrameOption(subFrame,option);//最后一个显示X轴坐标
8159
8159
  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();//更新数据偏移
8160
8160
  this.Frame.SetSizeChage(true);if(this.UpdateXShowText)this.UpdateXShowText();this.ResetFrameXYSplit();this.UpdateFrameMaxMin();//调整坐标最大 最小值
@@ -8884,7 +8884,6 @@ for(var i in this.Frame.SubFrame){var titlePaint=new DynamicChartTitlePainting()
8884
8884
  };//创建子窗口
8885
8885
  this.CreateChildWindow=function(windowCount){var _this37=this;for(var i=0;i<windowCount;++i){var border=new ChartBorder();border.UIElement=this.UIElement;var frame=g_ChartFrameFactory.Create("KLineHScreenFrame",{ID:i});frame.Canvas=this.Canvas;frame.GetExtraCanvas=function(name){return _this37.GetExtraCanvas(name);};frame.ChartBorder=border;frame.Identify=i;//窗口序号
8886
8886
  frame.RightSpaceCount=this.RightSpaceCount;//右边
8887
- if(this.ModifyIndexDialog)frame.ModifyIndexEvent=this.ModifyIndexDialog.DoModal;//绑定菜单事件
8888
8887
  frame.HorizontalMax=20;frame.HorizontalMin=10;if(i==0){frame.YSplitOperator=new FrameSplitKLinePriceY();frame.YSplitOperator.FrameSplitData=this.FrameSplitData.get('price');frame.YSplitOperator.FrameSplitData2=this.FrameSplitData.get('double');frame.YSplitOperator.GetEventCallback=function(id){return _this37.GetEventCallback(id);};//主图上下间距
8889
8888
  var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
8890
8889
  border.TopSpace=12*pixelTatio;border.BottomSpace=12*pixelTatio;}else{frame.YSplitOperator=new FrameSplitY();frame.YSplitOperator.LanguageID=this.LanguageID;frame.YSplitOperator.FrameSplitData=this.FrameSplitData.get('double');//frame.IsLocked = true;
@@ -9110,49 +9109,7 @@ this.ID=null;//div id
9110
9109
  this.TimeOut=null;//定时器
9111
9110
  //隐藏窗口
9112
9111
  this.Hide=function(){(0,_jquery2.default)("#"+this.ID).hide();};//显示窗口
9113
- this.Show=function(left,top,width,height){var cssData={display:'block'};if(IFrameSplitOperator.IsNumber(left))cssData.left=left+'px';if(IFrameSplitOperator.IsNumber(top))cssData.top=top+'px';if(IFrameSplitOperator.IsNumber(width))cssData.width=width+'px';if(IFrameSplitOperator.IsNumber(height))cssData.height=height+'px';(0,_jquery2.default)("#"+this.ID).css(cssData);};}//修改指标
9114
- function ModifyIndexDialog(divElement){this.newMethod=IDivDialog;//派生
9115
- this.newMethod(divElement);delete this.newMethod;this.Title={ID:Guid()};//标题
9116
- this.ParamList={ID:Guid()};//参数列表 class='parameter-content'
9117
- this.ParamData=[];//{ ID:参数ID, Value:参数值}
9118
- this.Identify;this.HQChart;this.IsOverlay=false;//是否是叠加指标
9119
- this.IndexScript;//创建
9120
- this.Create=function(){this.ID=Guid();var div=document.createElement('div');div.className='jchart-modifyindex-box';div.id=this.ID;div.innerHTML="<div class='parameter'>\
9121
- <div class='parameter-header'>\
9122
- <span></span>\
9123
- <strong id='close' class='icon iconfont icon-close'></strong>\
9124
- </div>\
9125
- <div class='parameter-content'><input/>MA</div>\
9126
- <div class='parameter-footer'>\
9127
- <button class='submit' >确定</button>\
9128
- <button class='cancel' >取消</button>\
9129
- </div>\
9130
- </div>";this.DivElement.appendChild(div);//确定按钮
9131
- (0,_jquery2.default)("#"+this.ID+" .submit").click({divBox:this},function(event){event.data.divBox.Hide();});//给一个id 后面查找方便
9132
- var titleElement=div.getElementsByTagName('span')[0];titleElement.id=this.Title.ID;var paramListElement=div.getElementsByClassName('parameter-content')[0];paramListElement.id=this.ParamList.ID;};//设置标题
9133
- this.SetTitle=function(title){(0,_jquery2.default)("#"+this.Title.ID).html(title);};//清空参数
9134
- this.ClearParamList=function(){(0,_jquery2.default)("#"+this.ParamList.ID).empty();this.ParamData=[];};this.BindParam=function(){for(var i=0;i<this.IndexScript.Arguments.length;++i){var item=this.IndexScript.Arguments[i];if(item.Name==null||isNaN(item.Value))break;var guid=Guid();var param='<input class="row-line" id="'+guid+'" value="'+item.Value+'" type="number" step="1"/>'+item.Name+'<br>';(0,_jquery2.default)("#"+this.ParamList.ID).append(param);this.ParamData.push({ID:guid,Value:item.Value});}//绑定参数修改事件
9135
- var self=this;for(var i=0;i<this.ParamData.length;++i){var item=this.ParamData[i];(0,_jquery2.default)("#"+item.ID).mouseup({ParamIndex:i//参数序号
9136
- },function(event){var value=parseInt((0,_jquery2.default)(this).val());//获取当前操作的input属性值,转化为整型
9137
- if(!IFrameSplitOperator.IsNumber(value)){alert("参数不能为空");return;}var chart=self.HQChart;var identify=self.Identify;var paramIndex=event.data.ParamIndex;var script=self.IndexScript;var isOverlay=self.IsOverlay;script.Arguments[paramIndex].Value=value;//为参数属性重新赋值
9138
- if(isOverlay)chart.UpdateOverlayIndex(identify);else chart.UpdateWindowIndex(identify);//调用更新窗口指标函数,参数用来定位窗口
9139
- });(0,_jquery2.default)("#"+item.ID).keyup({ParamIndex:i//参数序号
9140
- },function(event){var value=parseInt((0,_jquery2.default)(this).val());//获取当前操作的input属性值,转化为整型
9141
- if(!IFrameSplitOperator.IsNumber(value)){alert("参数不能为空");return;}var chart=self.HQChart;var identify=self.Identify;var paramIndex=event.data.ParamIndex;var script=self.IndexScript;var isOverlay=self.IsOverlay;script.Arguments[paramIndex].Value=value;//为参数属性重新赋值
9142
- if(isOverlay)chart.UpdateOverlayIndex(identify);else chart.UpdateWindowIndex(identify);//调用更新窗口指标函数,参数用来定位窗口
9143
- });}};//绑定取消事件
9144
- this.BindCancel=function(){//取消按钮事件
9145
- var self=this;var test=(0,_jquery2.default)("#"+this.ID+" .cancel");(0,_jquery2.default)("#"+this.ID+" .cancel").unbind("click").click(function(event){var chart=self.HQChart;var identify=self.Identify;self.RestoreParam();var isOverlay=self.IsOverlay;if(isOverlay)chart.UpdateOverlayIndex(identify);else chart.UpdateWindowIndex(identify);self.IndexScript=null;self.Hide();});//关闭和取消是一样的
9146
- (0,_jquery2.default)("#"+this.ID+" #close").unbind("click").click(function(event){var chart=self.HQChart;var identify=self.Identify;var isOverlay=self.IsOverlay;self.RestoreParam();if(isOverlay)chart.UpdateOverlayIndex(identify);else chart.UpdateWindowIndex(identify);self.IndexScript=null;self.Hide();});};//还原参数
9147
- this.RestoreParam=function(){if(!this.IndexScript)return;for(var i=0;i<this.ParamData.length;++i){var item=this.ParamData[i];this.IndexScript.Arguments[i].Value=item.Value;}};//显示
9148
- this.DoModal=function(event){var chart=event.data.Chart;var identify=event.data.Identify;var dialog=chart.ModifyIndexDialog;var isOverlay=event.data.IsOverlay===true;if(!dialog)return;if(dialog.ID==null)dialog.Create();//第1次 需要创建div
9149
- dialog.Identify=identify;dialog.HQChart=chart;dialog.IsOverlay=isOverlay;if(isOverlay){var overlayIndex=chart.GetOverlayIndexByIdentify(identify);if(!overlayIndex||!overlayIndex.OverlayItem.Script)return;dialog.IndexScript=overlayIndex.OverlayItem.Script;dialog.SetTitle(dialog.IndexScript.Name+" 叠加指标参数设置");//设置标题
9150
- }else{dialog.IndexScript=chart.WindowIndex[identify];dialog.SetTitle(dialog.IndexScript.Name+" 指标参数设置");//设置标题
9151
- }dialog.ClearParamList();//清空参数
9152
- dialog.BindParam(chart,identify);//绑定参数
9153
- dialog.BindCancel();//绑定取消和关闭事件
9154
- dialog.Show();//显示, 在css里调整居中
9155
- };}//等待动画窗口
9112
+ this.Show=function(left,top,width,height){var cssData={display:'block'};if(IFrameSplitOperator.IsNumber(left))cssData.left=left+'px';if(IFrameSplitOperator.IsNumber(top))cssData.top=top+'px';if(IFrameSplitOperator.IsNumber(width))cssData.width=width+'px';if(IFrameSplitOperator.IsNumber(height))cssData.height=height+'px';(0,_jquery2.default)("#"+this.ID).css(cssData);};}//等待动画窗口
9156
9113
  function WaitDialog(divElement){this.newMethod=IDivDialog;//派生
9157
9114
  this.newMethod(divElement);delete this.newMethod;this.Title='加载中......';this.Dialog;//隐藏窗口
9158
9115
  this.Close=function(){if(this.Dialog){this.DivElement.removeChild(this.Dialog);this.Dialog=null;}};this.SetTitle=function(title){this.Title=title;if(!this.Dialog)return;//TODO: 更新标题数据
@@ -13422,8 +13379,8 @@ case TREPORT_COLUMN_ID.BUY_VOL_ID://买量
13422
13379
  case TREPORT_COLUMN_ID.POSITION_ID://持仓量
13423
13380
  case TREPORT_COLUMN_ID.VOL_ID://成交量
13424
13381
  case TREPORT_COLUMN_ID.AMOUNT_ID://成交金额
13425
- var fieldName=MAP_TREPORT_COLUMN_FIELD.get(column.Type);if(fieldName)drawInfo.Text=this.FormatVolString(data[fieldName]);break;case TREPORT_COLUMN_ID.INCREASE_ID:case TREPORT_COLUMN_ID.UPDOWN_ID:case TREPORT_COLUMN_ID.AMPLITUDE_ID:var fieldName=MAP_TREPORT_COLUMN_FIELD.get(column.Type);if(fieldName){var value=data[fieldName];if(IFrameSplitOperator.IsNumber(value)){drawInfo.Text=value.toFixed(2);drawInfo.TextColor=this.GetUpDownColor(value,0);}else{this.GetNullDrawInfo(drawInfo);}}break;case TREPORT_COLUMN_ID.RESERVE_NUMBER1_ID:case TREPORT_COLUMN_ID.RESERVE_NUMBER2_ID:case TREPORT_COLUMN_ID.RESERVE_NUMBER3_ID:case TREPORT_COLUMN_ID.RESERVE_NUMBER4_ID:case TREPORT_COLUMN_ID.RESERVE_NUMBER5_ID:case TREPORT_COLUMN_ID.RESERVE_NUMBER6_ID:case TREPORT_COLUMN_ID.RESERVE_NUMBER7_ID:case TREPORT_COLUMN_ID.RESERVE_NUMBER8_ID:case TREPORT_COLUMN_ID.RESERVE_NUMBER9_ID:case TREPORT_COLUMN_ID.RESERVE_NUMBER10_ID:this.FormatReserveNumber(column,data,drawInfo);break;case TREPORT_COLUMN_ID.RESERVE_STRING1_ID:case TREPORT_COLUMN_ID.RESERVE_STRING2_ID:case TREPORT_COLUMN_ID.RESERVE_STRING3_ID:case TREPORT_COLUMN_ID.RESERVE_STRING4_ID:case TREPORT_COLUMN_ID.RESERVE_STRING5_ID:case TREPORT_COLUMN_ID.RESERVE_STRING6_ID:case TREPORT_COLUMN_ID.RESERVE_STRING7_ID:case TREPORT_COLUMN_ID.RESERVE_STRING8_ID:case TREPORT_COLUMN_ID.RESERVE_STRING9_ID:case TREPORT_COLUMN_ID.RESERVE_STRING10_ID:this.FormatReserveString(column,data,drawInfo);break;default:drawInfo.Text='-----';}this.GetMarkBorderData(drawInfo,exePriceData.ExePrice,column.Type,cellType);this.GetFlashBGData(drawInfo,exePriceData,column.Type,cellType);}this.DrawCell(drawInfo,exePriceData,column.Type,cellType);};this.FormatReserveNumber=function(column,data,drawInfo){if(column.DefaultText)drawInfo.Text=column.DefaultText;var fieldName=MAP_TREPORT_COLUMN_FIELD.get(column.Type);if(!fieldName)return;var value=data[fieldName];if(!IFrameSplitOperator.IsNumber(value))return;if(IFrameSplitOperator.IsNumber(column.ColorType)){if(column.ColorType==1){drawInfo.TextColor=this.GetUpDownColor(value,0);}else if(column.ColorType==2){drawInfo.TextColor=this.GetUpDownColorV2(value,0);}}//TODO: 不同类型的 格式化输出
13426
- drawInfo.Text=value.toFixed(column.FloatPrecision);};this.FormatReserveString=function(column,data,drawInfo){if(column.DefaultText)drawInfo.Text=column.DefaultText;var fieldName=MAP_TREPORT_COLUMN_FIELD.get(column.Type);if(!fieldName)return;var item=data[fieldName];if(IFrameSplitOperator.IsObject(item)){if(item.Text)drawInfo.Text=item.Text;if(item.TextColor)drawInfo.TextColor=item.TextColor;if(item.BGColor)drawInfo.BGColor=item.BGColor;}else if(IFrameSplitOperator.IsString(item)){drawInfo.Text=item;}};this.GetFlashBGData=function(drawInfo,exePriceData,columnType,cellType){if(!exePriceData.TData)return;var data=null;if(cellType==1)data=exePriceData.TData.LeftFlashBG;else if(cellType==2)data=exePriceData.TData.RightFlashBG;if(!data||!data.Data)return;if(data.Data.has(columnType)){var item=data.Data.get(columnType);drawInfo.FlashBGColor=item.Color;--item.Count;if(this.GlobalOption)++this.GlobalOption.FlashBGCount;}};this.GetMarkBorderData=function(drawInfo,exePrice,columnType,cellType){if(!this.BorderData||!this.BorderData.MapData)return;if(!this.BorderData.MapData.has(columnType))return;var borderData=this.BorderData.MapData.get(columnType);if(!IFrameSplitOperator.IsNonEmptyArray(borderData.Data))return;if(cellType==1){var leftBorder=borderData.Data[1];if(!leftBorder)return;if(leftBorder.ExePrice==exePrice){drawInfo.BorderColor=this.MarkBorderConfig.MaxPositionColor;}}else if(cellType==2){var rightBorder=borderData.Data[2];if(!rightBorder)return;if(rightBorder.ExePrice==exePrice){drawInfo.BorderColor=this.MarkBorderConfig.MaxPositionColor;}}};this.GetNullDrawInfo=function(drawInfo){drawInfo.Text="--";drawInfo.TextColor=this.UnchangeColor;};this.GetPriceDrawInfo=function(price,stock,data,drawInfo){if(!IFrameSplitOperator.IsNumber(price)){this.GetNullDrawInfo(drawInfo);return;}drawInfo.Text=price.toFixed(data.Decimal);if(!IFrameSplitOperator.IsNumber(stock.YClose))drawInfo.TextColor=this.UnchangeColor;else drawInfo.TextColor=this.GetUpDownColor(price,stock.YClose);};//单独处理成交量显示
13382
+ var fieldName=MAP_TREPORT_COLUMN_FIELD.get(column.Type);if(fieldName)drawInfo.Text=this.FormatVolString(data[fieldName]);break;case TREPORT_COLUMN_ID.INCREASE_ID:case TREPORT_COLUMN_ID.UPDOWN_ID:case TREPORT_COLUMN_ID.AMPLITUDE_ID:var fieldName=MAP_TREPORT_COLUMN_FIELD.get(column.Type);if(fieldName){var value=data[fieldName];if(IFrameSplitOperator.IsNumber(value)){drawInfo.Text=value.toFixed(2);drawInfo.TextColor=this.GetUpDownColor(value,0);}else{this.GetNullDrawInfo(drawInfo);}}break;case TREPORT_COLUMN_ID.RESERVE_NUMBER1_ID:case TREPORT_COLUMN_ID.RESERVE_NUMBER2_ID:case TREPORT_COLUMN_ID.RESERVE_NUMBER3_ID:case TREPORT_COLUMN_ID.RESERVE_NUMBER4_ID:case TREPORT_COLUMN_ID.RESERVE_NUMBER5_ID:case TREPORT_COLUMN_ID.RESERVE_NUMBER6_ID:case TREPORT_COLUMN_ID.RESERVE_NUMBER7_ID:case TREPORT_COLUMN_ID.RESERVE_NUMBER8_ID:case TREPORT_COLUMN_ID.RESERVE_NUMBER9_ID:case TREPORT_COLUMN_ID.RESERVE_NUMBER10_ID:this.FormatReserveNumber(column,data,drawInfo);break;case TREPORT_COLUMN_ID.RESERVE_STRING1_ID:case TREPORT_COLUMN_ID.RESERVE_STRING2_ID:case TREPORT_COLUMN_ID.RESERVE_STRING3_ID:case TREPORT_COLUMN_ID.RESERVE_STRING4_ID:case TREPORT_COLUMN_ID.RESERVE_STRING5_ID:case TREPORT_COLUMN_ID.RESERVE_STRING6_ID:case TREPORT_COLUMN_ID.RESERVE_STRING7_ID:case TREPORT_COLUMN_ID.RESERVE_STRING8_ID:case TREPORT_COLUMN_ID.RESERVE_STRING9_ID:case TREPORT_COLUMN_ID.RESERVE_STRING10_ID:this.FormatReserveString(column,data,drawInfo);break;default:drawInfo.Text='-----';}this.GetMarkBorderData(drawInfo,exePriceData.ExePrice,column.Type,cellType);this.GetFlashBGData(drawInfo,exePriceData,column.Type,cellType);}this.DrawCell(drawInfo,exePriceData,column.Type,cellType);};this.FormatReserveNumber=function(column,data,drawInfo){if(column.DefaultText)drawInfo.Text=column.DefaultText;var fieldName=MAP_TREPORT_COLUMN_FIELD.get(column.Type);if(!data||!fieldName)return;var value=data[fieldName];if(!IFrameSplitOperator.IsNumber(value))return;if(IFrameSplitOperator.IsNumber(column.ColorType)){if(column.ColorType==1){drawInfo.TextColor=this.GetUpDownColor(value,0);}else if(column.ColorType==2){drawInfo.TextColor=this.GetUpDownColorV2(value,0);}}//TODO: 不同类型的 格式化输出
13383
+ drawInfo.Text=value.toFixed(column.FloatPrecision);};this.FormatReserveString=function(column,data,drawInfo){if(column.DefaultText)drawInfo.Text=column.DefaultText;var fieldName=MAP_TREPORT_COLUMN_FIELD.get(column.Type);if(!data||!fieldName)return;var item=data[fieldName];if(IFrameSplitOperator.IsObject(item)){if(item.Text)drawInfo.Text=item.Text;if(item.TextColor)drawInfo.TextColor=item.TextColor;if(item.BGColor)drawInfo.BGColor=item.BGColor;}else if(IFrameSplitOperator.IsString(item)){drawInfo.Text=item;}};this.GetFlashBGData=function(drawInfo,exePriceData,columnType,cellType){if(!exePriceData.TData)return;var data=null;if(cellType==1)data=exePriceData.TData.LeftFlashBG;else if(cellType==2)data=exePriceData.TData.RightFlashBG;if(!data||!data.Data)return;if(data.Data.has(columnType)){var item=data.Data.get(columnType);drawInfo.FlashBGColor=item.Color;--item.Count;if(this.GlobalOption)++this.GlobalOption.FlashBGCount;}};this.GetMarkBorderData=function(drawInfo,exePrice,columnType,cellType){if(!this.BorderData||!this.BorderData.MapData)return;if(!this.BorderData.MapData.has(columnType))return;var borderData=this.BorderData.MapData.get(columnType);if(!IFrameSplitOperator.IsNonEmptyArray(borderData.Data))return;if(cellType==1){var leftBorder=borderData.Data[1];if(!leftBorder)return;if(leftBorder.ExePrice==exePrice){drawInfo.BorderColor=this.MarkBorderConfig.MaxPositionColor;}}else if(cellType==2){var rightBorder=borderData.Data[2];if(!rightBorder)return;if(rightBorder.ExePrice==exePrice){drawInfo.BorderColor=this.MarkBorderConfig.MaxPositionColor;}}};this.GetNullDrawInfo=function(drawInfo){drawInfo.Text="--";drawInfo.TextColor=this.UnchangeColor;};this.GetPriceDrawInfo=function(price,stock,data,drawInfo){if(!IFrameSplitOperator.IsNumber(price)){this.GetNullDrawInfo(drawInfo);return;}drawInfo.Text=price.toFixed(data.Decimal);if(!IFrameSplitOperator.IsNumber(stock.YClose))drawInfo.TextColor=this.UnchangeColor;else drawInfo.TextColor=this.GetUpDownColor(price,stock.YClose);};//单独处理成交量显示
13427
13384
  this.FormatVolString=function(value,languageID){if(!IFrameSplitOperator.IsNumber(value))return null;return IFrameSplitOperator.FormatVolString(value,languageID);};this.GetUpDownColor=function(price,price2){if(price>price2)return this.UpColor;else if(price<price2)return this.DownColor;else return this.UnchangeColor;};this.GetUpDownColorV2=function(price,price2){if(price>=price2)return this.UpColor;else return this.DownColor;};this.DrawCell=function(drawInfo){var rtText=drawInfo.RectText;var yCenter=rtText.Top+rtText.Height/2;if(drawInfo.BGColor)//背景
13428
13385
  {var rtItem=drawInfo.Rect;this.Canvas.fillStyle=drawInfo.BGColor;this.Canvas.fillRect(rtItem.Left,rtItem.Top,rtItem.Width,rtItem.Height);}if(drawInfo.FlashBGColor)//闪动背景
13429
13386
  {var rtItem=drawInfo.Rect;this.Canvas.fillStyle=drawInfo.FlashBGColor;this.Canvas.fillRect(rtItem.Left,rtItem.Top,rtItem.Width,rtItem.Height);}if(drawInfo.BorderColor)//边框
@@ -14021,15 +13978,15 @@ var item={Title:g_JSChartLocalization.GetText(TitleID,this.LanguageID),Text:"--.
14021
13978
 
14022
13979
  jones_2000@163.com
14023
13980
 
14024
- 内置指标搜索对话框
13981
+ 内置指标搜索对话框 修改指标参数对话框
14025
13982
  */function JSDialogSearchIndex(){this.DivDialog=null;this.DragTitle=null;this.TitleBox=null;//{ DivTitle, DivName, DivName }
14026
13983
  this.InputDom=null;this.Style=0;//样式 预留
14027
- this.HQChart=null;//{ WindowIndex:窗口索引, OpType:1=切换主图指标 2=添加叠加指标, Title: };
13984
+ this.HQChart=null;//{ WindowIndex:窗口索引, OpType:1=切换主图指标 2=添加叠加指标 3=新增指标窗口, Title: };
14028
13985
  this.OpData=null;this.TitleColor=g_JSChartResource.DialogSearchIndex.TitleColor;this.TitleBGColor=g_JSChartResource.DialogSearchIndex.TitleBGColor;this.BGColor=g_JSChartResource.DialogSearchIndex.BGColor;this.BorderColor=g_JSChartResource.DialogSearchIndex.BorderColor;this.IndexNameColor=g_JSChartResource.DialogSearchIndex.IndexNameColor;this.GroupNameColor=g_JSChartResource.DialogSearchIndex.GroupNameColor;this.InputTextColor=g_JSChartResource.DialogSearchIndex.InputTextColor;this.MaxRowCount=30;//行
14029
13986
  this.ColCount=3;//列
14030
13987
  this.MaxGroupCount=10;//分类最多个数
14031
13988
  this.AryData=[];this.AryGroup=[];//分类
14032
- this.IndexData=JSDialogSearchIndex.GetDefaultIndexData();this.Inital=function(hqchart,option){this.HQChart=hqchart;if(option){if(IFrameSplitOperator.IsNumber(option.Style))this.Style=option.Style;if(option.IndexData)this.IndexData=option.IndexData;}};this.Destroy=function(){this.AryData=[];this.AryGroup=[];this.IndexData=null;this.InputDom=null;if(this.DivDialog){document.body.removeChild(this.DivDialog);this.DivDialog=null;}};this.OnClickColseButton=function(e){this.Close(e);};//设置当前窗口数据
13989
+ this.IndexData=JSDialogSearchIndex.GetDefaultIndexData();this.Inital=function(hqchart,option){this.HQChart=hqchart;if(option){if(IFrameSplitOperator.IsNumber(option.Style))this.Style=option.Style;if(option.IndexData)this.IndexData=option.IndexData;if(IFrameSplitOperator.IsNumber(option.MaxRowCount))this.MaxRowCount=option.MaxRowCount;}};this.Destroy=function(){this.AryData=[];this.AryGroup=[];this.IndexData=null;this.InputDom=null;this.HQChart=null;if(this.DivDialog){document.body.removeChild(this.DivDialog);this.DivDialog=null;}};this.OnClickColseButton=function(e){this.Close(e);};//设置当前窗口数据
14033
13990
  this.SetOpData=function(data){this.OpData=data;};this.Close=function(e){this.OpData=null;if(!this.DivDialog)return;this.DivDialog.style.visibility='hidden';};this.OnMouseDownTitle=function(e){var _this95=this;if(!this.DivDialog)return;var dragData={X:e.clientX,Y:e.clientY};dragData.YOffset=e.clientX-this.DivDialog.offsetLeft;dragData.XOffset=e.clientY-this.DivDialog.offsetTop;this.DragTitle=dragData;document.onmousemove=function(e){_this95.DocOnMouseMoveTitle(e);};document.onmouseup=function(e){_this95.DocOnMouseUpTitle(e);};};this.DocOnMouseMoveTitle=function(e){if(!this.DragTitle)return;var left=e.clientX-this.DragTitle.YOffset;var top=e.clientY-this.DragTitle.XOffset;var right=left+this.DivDialog.offsetWidth;var bottom=top+this.DivDialog.offsetHeight;if(right+5>=window.innerWidth)left=window.innerWidth-this.DivDialog.offsetWidth-5;if(bottom+5>=window.innerHeight)top=window.innerHeight-this.DivDialog.offsetHeight-5;this.DivDialog.style.left=left+'px';this.DivDialog.style.top=top+'px';if(e.preventDefault)e.preventDefault();};this.DocOnMouseUpTitle=function(e){this.DragTitle=null;this.onmousemove=null;this.onmouseup=null;};this.Show=function(x,y,groupID){if(!this.DivDialog)return;if(!groupID)groupID=this.IndexData.Data[0].Group.ID;this.UpdateGroupData();this.ChangeGroup(groupID);if(this.OpData&&this.OpData.Title)this.TitleBox.DivName.innerText=this.OpData.Title;if(!IFrameSplitOperator.IsNumber(x)||!IFrameSplitOperator.IsNumber(y))//默认居中显示
14034
13991
  {var rtClient=this.HQChart.UIElement.getBoundingClientRect();x=rtClient.left+(rtClient.right-rtClient.left-this.DivDialog.offsetWidth)/2;y=rtClient.top+(rtClient.bottom-rtClient.top-this.DivDialog.offsetHeight)/2;}this.InputDom.value="";this.DivDialog.style.visibility='visible';this.DivDialog.style.top=y+"px";this.DivDialog.style.left=x+"px";};this.Create=function(){var _this96=this;var divDom=document.createElement("div");divDom.className='UMyChart_SearchIndex_Dialog_Div';//对话框标题栏
14035
13992
  var divTitle=document.createElement("div");divTitle.className='UMyChart_SearchIndex_Title_Div';divTitle.onmousedown=function(e){_this96.OnMouseDownTitle(e);};divDom.appendChild(divTitle);var divName=document.createElement("div");divName.className='UMyChart_SearchIndex_Name_Div';divName.innerText="指标搜索";divTitle.appendChild(divName);var divClose=document.createElement("div");divClose.className='UMyChart_SearchIndex_Close_Div';divClose.innerText="x";divClose.onmousedown=function(e){_this96.OnClickColseButton(e);};divTitle.appendChild(divClose);//整个框子
@@ -14044,24 +14001,65 @@ trDom.appendChild(tdDom);cellItem.Td=tdDom;var spanDom=document.createElement("s
14044
14001
  {var indedData={API:{ID:indexItem.ID,Name:indexItem.Name,Args:indexItem.Args,Url:'local'}};this.HQChart.ChangeAPIIndex(this.OpData.WindowIndex,indedData);}}else if(this.OpData.OpType==2){if(!IFrameSplitOperator.IsNumber(this.OpData.WindowIndex))return;var indexItem=cellItem.IndexItem;if(indexItem.Type==0)//系统指标
14045
14002
  {var obj={WindowIndex:this.OpData.WindowIndex,IndexName:indexItem.ID};this.HQChart.AddOverlayIndex(obj);}else if(indexItem.Type==1)//自定义脚本指标
14046
14003
  {var obj={WindowIndex:this.OpData.WindowIndex,IndexName:indexItem.ID,Name:indexItem.Name,Script:indexItem.Script,Args:indexItem.Args};this.HQChart.AddOverlayIndex(obj);}else if(indexItem.Type==2)//api指标
14047
- {var obj={WindowIndex:this.OpData.WindowIndex,API:{ID:indexItem.ID,Name:indexItem.Name,Args:indexItem.Args,Url:'local'}};this.HQChart.AddOverlayIndex(obj);}}};this.OnClickGroup=function(e){if(!e.target)return false;var groupID=e.target.dataset.groupid;if(!groupID)return false;this.ChangeGroup(groupID);};this.UpdateStyle=function(){if(!this.DivDialog)return;if(this.BGColor)this.DivDialog.style['background-color']=this.BGColor;if(this.BorderColor)this.DivDialog.style['border-color']=this.BorderColor;if(this.TitleBGColor)this.TitleBox.DivTitle.style['background-color']=this.TitleBGColor;if(this.TitleColor)this.TitleBox.DivName.style['color']=this.TitleColor;if(this.InputTextColor)this.InputDom.style['color']=this.InputTextColor;};this.ChangeGroup=function(groupID){if(!this.IndexData)return;if(!IFrameSplitOperator.IsNonEmptyArray(this.IndexData.Data))return;var findItem=null;for(var i=0;i<this.IndexData.Data.length;++i){var item=this.IndexData.Data[i];if(item.Group.ID==groupID){findItem=item;break;}}if(!findItem)return;this.UpdateTableData(findItem);};//左侧分类
14004
+ {var obj={WindowIndex:this.OpData.WindowIndex,API:{ID:indexItem.ID,Name:indexItem.Name,Args:indexItem.Args,Url:'local'}};this.HQChart.AddOverlayIndex(obj);}}else if(this.OpData.OpType==3)//新增加指标窗口
14005
+ {var indexItem=cellItem.IndexItem;if(indexItem.Type==0)//系统指标
14006
+ {this.HQChart.AddIndexWindow(indexItem.ID,this.OpData);}else if(indexItem.Type==1)//自定义脚本指标
14007
+ {var indexData={ID:indexItem.ID,Name:indexItem.Name,Script:indexItem.Script,Args:indexItem.Args};this.HQChart.AddScriptIndexWindow(indexData,this.OpData);}else if(indexItem.Type==2)//api指标
14008
+ {var indexData={API:{ID:indexItem.ID,Name:indexItem.Name,Args:indexItem.Args,Url:'local'}};this.HQChart.AddAPIIndexWindow(indexData,this.OpData);}}};this.OnClickGroup=function(e){if(!e.target)return false;var groupID=e.target.dataset.groupid;if(!groupID)return false;this.ChangeGroup(groupID);};this.UpdateStyle=function(){if(!this.DivDialog)return;if(this.BGColor)this.DivDialog.style['background-color']=this.BGColor;if(this.BorderColor)this.DivDialog.style['border-color']=this.BorderColor;if(this.TitleBGColor)this.TitleBox.DivTitle.style['background-color']=this.TitleBGColor;if(this.TitleColor)this.TitleBox.DivName.style['color']=this.TitleColor;if(this.InputTextColor)this.InputDom.style['color']=this.InputTextColor;};this.ChangeGroup=function(groupID){if(!this.IndexData)return;if(!IFrameSplitOperator.IsNonEmptyArray(this.IndexData.Data))return;var findItem=null;for(var i=0;i<this.IndexData.Data.length;++i){var item=this.IndexData.Data[i];if(item.Group.ID==groupID){findItem=item;break;}}if(!findItem)return;this.UpdateTableData(findItem);};//左侧分类
14048
14009
  this.UpdateGroupData=function(){var index=0;for(index=0;index<this.IndexData.Data.length&&index<this.AryGroup.length;++index){var item=this.IndexData.Data[index];var cell=this.AryGroup[index];cell.Span.innerText=item.Group.Name;cell.Span.dataset.groupid=item.Group.ID;cell.Span.dataset.groupname=item.Group.Name;cell.Span.style.color=this.GroupNameColor;if(cell.Div.style.display=="none")cell.Div.style.display="";}for(;index<this.AryGroup.length;++index){var cell=this.AryGroup[index];cell.Div.style.display="none";}};this.UpdateTableData=function(data){var rowIndex=0;for(var j=0,index=0;rowIndex<this.AryData.length&&index<data.AryIndex.length;++rowIndex){var row=this.AryData[rowIndex];var cellCount=0;for(j=0;j<row.AryCell.length;++j){var cell=row.AryCell[j];if(index<data.AryIndex.length){var indexItem=data.AryIndex[index];cell.Span.innerText=indexItem.Name;cell.Span.style.color=this.IndexNameColor;if(cell.Td.style.display=="none")cell.Td.style.display="";cell.IndexItem=indexItem;++index;++cellCount;}else{cell.Td.style.display="none";}}if(cellCount>0){if(row.Tr.style.display=="none")row.Tr.style.display="";}else{row.Tr.style.display=="none";}}for(;rowIndex<this.AryData.length;++rowIndex){var row=this.AryData[rowIndex];row.Tr.style.display="none";}};//搜索
14049
14010
  this.OnInputSearch=function(e){var strSearh=e.target.value;var aryIndex=[];var aryData=this.SeachIndex(strSearh);var setIndex=new _set2.default();for(var i=0;i<aryData.length;++i){var item=aryData[i];var key=item.ID+'-'+item.Type;setIndex.add(key);aryIndex.push(item);}//内置指标
14050
14011
  var scriptData=new JSIndexScript();var result=scriptData.Search(strSearh);if(IFrameSplitOperator.IsNonEmptyArray(result)){for(var i=0;i<result.length;++i){var id=result[i];var key=id+'-0';if(setIndex.has(key))continue;var item={Name:id,ID:id,Type:0};aryIndex.push(item);}}this.UpdateTableData({AryIndex:aryIndex});};this.SeachIndex=function(strSearch){if(!this.IndexData||!IFrameSplitOperator.IsNonEmptyArray(this.IndexData.Data))return[];var aryData=[];var upperSearch=strSearch.toUpperCase();for(var i=0,j=0;i<this.IndexData.Data.length;++i){var groupItem=this.IndexData.Data[i];for(j=0;j<groupItem.AryIndex.length;++j){var item=groupItem.AryIndex[j];if(item.Name.indexOf(strSearch)>=0||item.Name.indexOf(upperSearch)>=0){aryData.push(item);}}}return aryData;};//配色修改
14051
14012
  this.ReloadResource=function(option){this.TitleColor=g_JSChartResource.DialogSearchIndex.TitleColor;this.TitleBGColor=g_JSChartResource.DialogSearchIndex.TitleBGColor;this.BGColor=g_JSChartResource.DialogSearchIndex.BGColor;this.BorderColor=g_JSChartResource.DialogSearchIndex.BorderColor;this.IndexNameColor=g_JSChartResource.DialogSearchIndex.IndexNameColor;this.GroupNameColor=g_JSChartResource.DialogSearchIndex.GroupNameColor;this.InputTextColor=g_JSChartResource.DialogSearchIndex.InputTextColor;if(!this.DivDialog)return;this.UpdateStyle();};}JSDialogSearchIndex.GetDefaultIndexData=function(){var data={Name:"内置指标分类",Data:[{Group:{ID:"超买超卖型",Name:"超买超卖型"},AryIndex:[{Name:"ADTM 动态买卖气指标",ID:"ADTM",Type:0},//Type:0=系统指标 1=自定义通达信脚本 2=api指标
14052
- {Name:"BIAS 乖离率",ID:"BIAS",Type:0},{Name:"BIAS36 三六乖离",ID:"BIAS36",Type:0},{Name:"BIAS_QL 乖离率-传统版",ID:"BIAS_QL",Type:0},{Name:"CCI 商品路径指标",ID:"CCI",Type:0},{Name:"FSL 分水岭",ID:"FSL",Type:0},{Name:"KDJ 随机指标",ID:"KDJ",Type:0},{Name:"MTM 动量线",ID:"MTM",Type:0},{Name:"OSC 变动速率线",ID:"OSC",Type:0},{Name:"RSI 相对强弱指标",ID:"RSI",Type:0},{Name:"ROC 变动率指标",ID:"ROC",Type:0},{Name:"WR 威廉指标",ID:"WR",Type:0}]},{Group:{ID:"趋势型",Name:"趋势型"},AryIndex:[{Name:"CHO 济坚指数",ID:"CHO",Type:0},{Name:"DMA 平均差",ID:"DMA",Type:0},{Name:"DMI 趋向指标",ID:"DMI",Type:0},{Name:"EMV 简易波动指标",ID:"EMV",Type:0},{Name:"MACD 平滑异同平均",ID:"MACD",Type:0},{Name:"TRIX 三重指数平均线",ID:"TRIX",Type:0},{Name:"UOS 终极指标",ID:"UOS",Type:0},{Name:"TRIX 三重指数平均线",ID:"TRIX",Type:0}]},{Group:{ID:"成交量型",Name:"成交量型"},AryIndex:[{Name:"HSL 换手率",ID:"HSL",Type:0},{Name:"OBV 累积能量线",ID:"OBV",Type:0},{Name:"NVI 负成交量",ID:"NVI",Type:0},{Name:"PVI 正成交量",ID:"PVI",Type:0},{Name:"VOL 成交量",ID:"VOL",Type:0}]},{Group:{ID:"均线型",Name:"均线型"},AryIndex:[{Name:"MA 均线",ID:"MA",Type:0},{Name:"BBI 多空线",ID:"BBI",Type:0}]},{Group:{ID:"路径型",Name:"路径型"},AryIndex:[{Name:"BOLL 布林线",ID:"BOLL",Type:0},{Name:"BOLL副图 布林线",ID:"BOLL副图",Type:0},{Name:"MIKE 麦克支撑压力",ID:"MIKE",Type:0},{Name:"ENE 轨道线",ID:"ENE",Type:0}]},{Group:{ID:"能量型",Name:"能量型"},AryIndex:[{Name:"BRAR 情绪指标",ID:"BRAR",Type:0},{Name:"CYR 市场强弱",ID:"CYR",Type:0},{Name:"MASS 梅斯线",ID:"MASS",Type:0},{Name:"PSY 心理线",ID:"PSY",Type:0},{Name:"CR 带状能量线",ID:"CR",Type:0},{Name:"VR 成交量变异率",ID:"VR",Type:0},{Name:"WAD 威廉多空力度线",ID:"WAD",Type:0}]}]};return data;};///////////////////////////////////////////////////////////////////////////////////
14013
+ {Name:"BIAS 乖离率",ID:"BIAS",Type:0},{Name:"BIAS36 三六乖离",ID:"BIAS36",Type:0},{Name:"BIAS_QL 乖离率-传统版",ID:"BIAS_QL",Type:0},{Name:"CCI 商品路径指标",ID:"CCI",Type:0},{Name:"FSL 分水岭",ID:"FSL",Type:0},{Name:"KDJ 随机指标",ID:"KDJ",Type:0},{Name:"MTM 动量线",ID:"MTM",Type:0},{Name:"OSC 变动速率线",ID:"OSC",Type:0},{Name:"RSI 相对强弱指标",ID:"RSI",Type:0},{Name:"ROC 变动率指标",ID:"ROC",Type:0},{Name:"WR 威廉指标",ID:"WR",Type:0}]},{Group:{ID:"趋势型",Name:"趋势型"},AryIndex:[{Name:"CHO 济坚指数",ID:"CHO",Type:0},{Name:"DMA 平均差",ID:"DMA",Type:0},{Name:"DMI 趋向指标",ID:"DMI",Type:0},{Name:"EMV 简易波动指标",ID:"EMV",Type:0},{Name:"MACD 平滑异同平均",ID:"MACD",Type:0},{Name:"TRIX 三重指数平均线",ID:"TRIX",Type:0},{Name:"UOS 终极指标",ID:"UOS",Type:0},{Name:"TRIX 三重指数平均线",ID:"TRIX",Type:0}]},{Group:{ID:"成交量型",Name:"成交量型"},AryIndex:[{Name:"HSL 换手率",ID:"HSL",Type:0},{Name:"OBV 累积能量线",ID:"OBV",Type:0},{Name:"NVI 负成交量",ID:"NVI",Type:0},{Name:"PVI 正成交量",ID:"PVI",Type:0},{Name:"VOL 成交量",ID:"VOL",Type:0}]},{Group:{ID:"均线型",Name:"均线型"},AryIndex:[{Name:"MA 均线",ID:"MA",Type:0},{Name:"BBI 多空线",ID:"BBI",Type:0}]},{Group:{ID:"路径型",Name:"路径型"},AryIndex:[{Name:"BOLL 布林线",ID:"BOLL",Type:0},{Name:"BOLL副图 布林线",ID:"BOLL副图",Type:0},{Name:"MIKE 麦克支撑压力",ID:"MIKE",Type:0},{Name:"ENE 轨道线",ID:"ENE",Type:0}]},{Group:{ID:"能量型",Name:"能量型"},AryIndex:[{Name:"BRAR 情绪指标",ID:"BRAR",Type:0},{Name:"CYR 市场强弱",ID:"CYR",Type:0},{Name:"MASS 梅斯线",ID:"MASS",Type:0},{Name:"PSY 心理线",ID:"PSY",Type:0},{Name:"CR 带状能量线",ID:"CR",Type:0},{Name:"VR 成交量变异率",ID:"VR",Type:0},{Name:"WAD 威廉多空力度线",ID:"WAD",Type:0}]},{Group:{ID:"自定义",Name:"自定义"},AryIndex:[{Name:"收盘线(后台指标)",ID:"CLOSE_LINE",Type:2,Args:null},(0,_defineProperty3.default)({Name:"高低均价(自定义脚本)",ID:"HIGH_LOW_AV",Type:1,Args:null,Script:"均价:(H+L)/2;高:H;低:L;"},'Args',[{Name:'N',Value:20},{Name:'M',Value:6}])]}]};return data;};function JSDialogModifyIndexParam(){this.DivDialog=null;this.DragTitle=null;this.TitleBox=null;//{ DivTitle, DivName, DivName }
14014
+ this.Style=0;//样式 预留
14015
+ this.TitleColor=g_JSChartResource.DialogModifyIndexParam.TitleColor;this.TitleBGColor=g_JSChartResource.DialogModifyIndexParam.TitleBGColor;this.BGColor=g_JSChartResource.DialogModifyIndexParam.BGColor;this.BorderColor=g_JSChartResource.DialogModifyIndexParam.BorderColor;this.ParamNameColor=g_JSChartResource.DialogModifyIndexParam.ParamNameColor;this.InputTextColor=g_JSChartResource.DialogModifyIndexParam.InputTextColor;this.MaxRowCount=30;//行
14016
+ this.HQChart=null;this.AryData=[];this.IndexData=null;//指标数据 { WindowsIndex:, Type:1=主图 2=叠加, Identify, IndexScript: }
14017
+ this.Arguments=[];//参数备份
14018
+ this.Inital=function(hqchart,option){this.HQChart=hqchart;if(option){if(IFrameSplitOperator.IsNumber(option.Style))this.Style=option.Style;if(IFrameSplitOperator.IsNumber(option.MaxRowCount))this.MaxRowCount=option.MaxRowCount;}};this.Destroy=function(){this.AryData=[];this.HQChart=null;if(this.DivDialog){document.body.removeChild(this.DivDialog);this.DivDialog=null;}};this.Show=function(x,y){if(!this.DivDialog)return;//if (!this.HQChart) return;
14019
+ this.UpdateParam();if(this.IndexData&&this.IndexData.Title)this.TitleBox.DivName.innerText=this.IndexData.Title;if(!IFrameSplitOperator.IsNumber(x)||!IFrameSplitOperator.IsNumber(y))//默认居中显示
14020
+ {var rtClient=this.HQChart.UIElement.getBoundingClientRect();x=rtClient.left+(rtClient.right-rtClient.left-this.DivDialog.offsetWidth)/2;y=rtClient.top+(rtClient.bottom-rtClient.top-this.DivDialog.offsetHeight)/2;}this.DivDialog.style.visibility='visible';this.DivDialog.style.top=y+"px";this.DivDialog.style.left=x+"px";};this.OnClickColseButton=function(e){this.RestoreParam();//还原参数
14021
+ this.Close(e);};this.OnClickRestoreButton=function(e){var aryText=this.Arguments;if(!aryText)aryText=[];this.UpdateParamTable(aryText);this.RestoreParam();};this.OnClickOkButton=function(e){this.Close(e);};this.Close=function(e){this.IndexData=null;this.Arguments=[];if(!this.DivDialog)return;this.DivDialog.style.visibility='hidden';};this.SetIndexData=function(data){this.IndexData=data;this.BackupParam();};this.OnMouseDownTitle=function(e){var _this98=this;if(!this.DivDialog)return;var dragData={X:e.clientX,Y:e.clientY};dragData.YOffset=e.clientX-this.DivDialog.offsetLeft;dragData.XOffset=e.clientY-this.DivDialog.offsetTop;this.DragTitle=dragData;document.onmousemove=function(e){_this98.DocOnMouseMoveTitle(e);};document.onmouseup=function(e){_this98.DocOnMouseUpTitle(e);};};this.DocOnMouseMoveTitle=function(e){if(!this.DragTitle)return;var left=e.clientX-this.DragTitle.YOffset;var top=e.clientY-this.DragTitle.XOffset;var right=left+this.DivDialog.offsetWidth;var bottom=top+this.DivDialog.offsetHeight;if(right+5>=window.innerWidth)left=window.innerWidth-this.DivDialog.offsetWidth-5;if(bottom+5>=window.innerHeight)top=window.innerHeight-this.DivDialog.offsetHeight-5;this.DivDialog.style.left=left+'px';this.DivDialog.style.top=top+'px';if(e.preventDefault)e.preventDefault();};this.DocOnMouseUpTitle=function(e){this.DragTitle=null;this.onmousemove=null;this.onmouseup=null;};this.Create=function(){var _this99=this;var divDom=document.createElement("div");divDom.className='UMyChart_ModifyIndexParam_Dialog_Div';//对话框标题栏
14022
+ var divTitle=document.createElement("div");divTitle.className='UMyChart_ModifyIndexParam_Title_Div';divTitle.onmousedown=function(e){_this99.OnMouseDownTitle(e);};divDom.appendChild(divTitle);var divName=document.createElement("div");divName.className='UMyChart_ModifyIndexParam_Name_Div';divName.innerText="指标参数修改";divTitle.appendChild(divName);var divClose=document.createElement("div");divClose.className='UMyChart_ModifyIndexParam_Close_Div';divClose.innerText="x";divClose.onmousedown=function(e){_this99.OnClickColseButton(e);};divTitle.appendChild(divClose);//整个框子
14023
+ var divFrame=document.createElement("div");divFrame.className="UMyChart_ModifyIndexParam_Frome_Div";divDom.appendChild(divFrame);//表格
14024
+ var divTable=document.createElement("div");divTable.className='UMyChart_ModifyIndexParam_Table_Div';divFrame.appendChild(divTable);var table=document.createElement("table");table.className="UMyChart_ModifyIndexParam_Table";divTable.appendChild(table);/*
14025
+ var thead=document.createElement("thead");
14026
+ table.appendChild(thead);
14027
+
14028
+ var trDom=document.createElement("tr");
14029
+ trDom.className='UMyChart_ModifyIndexParam_head_Tr';
14030
+ thead.appendChild(trDom);
14031
+
14032
+ var thDom=document.createElement("th");
14033
+ thDom.className="UMyChart_ModifyIndexParam_Th";
14034
+ thDom.innerText="变量";
14035
+ trDom.appendChild(thDom);
14036
+
14037
+ var thDom=document.createElement("th");
14038
+ thDom.className="UMyChart_ModifyIndexParam_Th";
14039
+ thDom.innerText="数值";
14040
+ trDom.appendChild(thDom);
14041
+
14042
+ var thDom=document.createElement("th");
14043
+ thDom.className="UMyChart_ModifyIndexParam_Th";
14044
+ thDom.innerText="说明";
14045
+ trDom.appendChild(thDom);
14046
+ */var tbody=document.createElement("tbody");tbody.className="UMyChart_ModifyIndexParam_Tbody";table.appendChild(tbody);this.AryData=[];for(var i=0;i<this.MaxRowCount;++i){var rowItem=this.CreateRowDOM(i,tbody);this.AryData.push(rowItem);}var divButton=document.createElement("div");divButton.className='UMyChart_ModifyIndexParam_Button_Div';divFrame.appendChild(divButton);var btnRestore=document.createElement("button");//btnRestore.className="UMyChart_ModifyIndexParam_button";
14047
+ btnRestore.innerText="恢复默认";btnRestore.addEventListener("mousedown",function(e){_this99.OnClickRestoreButton(e);});divButton.appendChild(btnRestore);var btnOk=document.createElement("button");//btnOk.className="UMyChart_ModifyIndexParam_button";
14048
+ btnOk.innerText="确认";btnOk.addEventListener("mousedown",function(e){_this99.OnClickOkButton(e);});divButton.appendChild(btnOk);document.body.appendChild(divDom);this.DivName=divName;this.DivDialog=divDom;this.TitleBox={DivTitle:divTitle,DivName:divName,DivColor:divClose};this.UpdateStyle();};this.CreateRowDOM=function(index,tbody){var _this100=this;var rowItem={Tr:null,TdName:null,SpanName:null,TdValue:null,Input:null,ParamItem:null};var trDom=document.createElement("tr");trDom.className='UMyChart_ModifyIndexParam_Tr';tbody.appendChild(trDom);rowItem.Tr=trDom;var tdDom=document.createElement("td");tdDom.className="UMyChart_ModifyIndexParam_Name_Td";//指标名称
14049
+ trDom.appendChild(tdDom);rowItem.TdName=tdDom;var spanDom=document.createElement("span");spanDom.className='UMyChart_ModifyIndexParam_Name_Span';spanDom.innerText='参数';tdDom.appendChild(spanDom);rowItem.SpanName=spanDom;var tdDom=document.createElement("td");tdDom.className="UMyChart_ModifyIndexParam_Value_Td";//指标名称
14050
+ trDom.appendChild(tdDom);rowItem.TdValue=tdDom;var input=document.createElement("input");input.className='UMyChart_ModifyIndexParam_Input';input.type="number";input.step=1;input.addEventListener("mouseup",function(e){_this100.OnParamMouseUp(e);});input.addEventListener("keyup",function(e){_this100.OnParamKeyUp(e);});tdDom.appendChild(input);rowItem.Input=input;return rowItem;};this.UpdateStyle=function(){if(!this.DivDialog)return;if(this.BGColor)this.DivDialog.style['background-color']=this.BGColor;if(this.BorderColor)this.DivDialog.style['border-color']=this.BorderColor;if(this.TitleBGColor)this.TitleBox.DivTitle.style['background-color']=this.TitleBGColor;if(this.TitleColor)this.TitleBox.DivName.style['color']=this.TitleColor;};this.UpdateParamTable=function(aryText){var index=0;for(index=0;index<aryText.length&&index<this.AryData.length;++index){var item=aryText[index];var row=this.AryData[index];row.SpanName.innerText=item.Name+': ';row.SpanName.style.color=this.ParamNameColor;row.Input.value=item.Value;row.Input.style.color=this.InputTextColor;row.Input.dataset.paramid=item.Index;if(row.Tr.style.display=="none")row.Tr.style.display="";}for(;index<this.AryData.length;++index){var row=this.AryData[index];row.Tr.style.display="none";row.Input.dataset.paramid=-1;}};this.UpdateParam=function(){var aryText=[];var indexScript=this.IndexData.IndexScript;if(indexScript&&IFrameSplitOperator.IsNonEmptyArray(indexScript.Arguments)){for(var i=0;i<indexScript.Arguments.length;++i){var item=indexScript.Arguments[i];aryText.push({Name:item.Name,Value:item.Value,Index:i});}}this.UpdateParamTable(aryText);};this.RestoreParam=function(){if(!this.IndexData||!this.IndexData.IndexScript)return;var indexScript=this.IndexData.IndexScript;if(!IFrameSplitOperator.IsNonEmptyArray(indexScript.Arguments))return;if(!IFrameSplitOperator.IsNonEmptyArray(this.Arguments))return;var bUpdate=false;for(var i=0;i<this.Arguments.length;++i){var oldItem=this.Arguments[i];var item=indexScript.Arguments[i];if(oldItem.Value!=item.Value){item.Value=oldItem.Value;bUpdate=true;}}if(!bUpdate)return;if(this.IndexData.Type==1)this.HQChart.UpdateWindowIndex(this.IndexData.WindowIndex);else if(this.IndexData.Type==2)this.HQChart.UpdateOverlayIndex(this.IndexData.Identify);};this.BackupParam=function(){this.Arguments=[];if(!this.IndexData||!this.IndexData.IndexScript)return;var indexScript=this.IndexData.IndexScript;if(IFrameSplitOperator.IsNonEmptyArray(indexScript.Arguments)){for(var i=0;i<indexScript.Arguments.length;++i){var item=indexScript.Arguments[i];this.Arguments.push({Name:item.Name,Value:item.Value,Index:i});}}};this.OnParamMouseUp=function(e){var input=e.target;var value=input.value;var id=input.dataset.paramid;this.ModifyParam(id,parseInt(value));};this.OnParamKeyUp=function(e){var input=e.target;var value=input.value;var id=input.dataset.paramid;this.ModifyParam(id,parseInt(value));};this.ModifyParam=function(id,value){if(!this.IndexData||!this.IndexData.IndexScript)return;var indexScript=this.IndexData.IndexScript;var item=indexScript.Arguments[id];if(!item)return;if(item.Value==value)return;item.Value=value;if(this.IndexData.Type==1)this.HQChart.UpdateWindowIndex(this.IndexData.WindowIndex);else if(this.IndexData.Type==2)this.HQChart.UpdateOverlayIndex(this.IndexData.Identify);};}///////////////////////////////////////////////////////////////////////////////////
14053
14051
  // 工作线程计算指标示例
14054
14052
  //
14055
14053
  //
14056
14054
  //////////////////////////////////////////////////////////////////////////////////
14057
14055
  function HQChartScriptWorker(){this.Status=0;//0=空闲 1=运行
14058
- this.Create=function(){var _this98=this;addEventListener('message',function(obj){_this98.OnRecvMessage(obj);});};this.NetworkFilter=function(data,callback,indexInfo){JSConsole.Complier.Log('[HQChartScriptWorker::NetworkFilter] ['+data.Name+']['+data.Explain+'] data=',data);//数据下载
14059
- };this.ExecuteScript=function(indexData,message){var _this99=this;var scriptObj={};if(indexData.Script){scriptObj.Name=indexData.Name;scriptObj.ID=indexData.Index;scriptObj.Script=indexData.Script;}else{if(!indexData.Index)return false;var scriptData=new JSIndexScript();var finder=scriptData.Get(indexData.Index);if(!finder)return false;scriptObj.ID=indexData.Index;scriptObj.Name=finder.Name;scriptObj.Script=finder.Script;scriptObj.Args=finder.Args;}if(indexData.Args)scriptObj.Args=indexData.Args;if(IFrameSplitOperator.IsBool(message.IsApiPeriod))scriptObj.IsApiPeriod=message.IsApiPeriod;var indexInfo={Name:scriptObj.Name,ID:scriptObj.ID,Script:scriptObj.Script,Args:scriptObj.Args,Guid:message.Guid};scriptObj.ErrorCallback=function(error){_this99.OnExecuteError(error,indexInfo,message);};scriptObj.FinishCallback=function(data,jsExectute){_this99.OnExecuteFinish(data,indexInfo,jsExectute,message);};scriptObj.NetworkFilter=function(data,callback){_this99.NetworkFilter(data,callback,indexInfo,message);};JSConsole.Complier.Log('[HQChartScriptWorker::ExecuteScript] scriptObj=',scriptObj);var indexConsole=new ScriptIndexConsole(scriptObj);var hisData=null;if(message&&message.Data){hisData=new ChartData();hisData.Data=message.Data;hisData.Right=message.Right;hisData.Period=message.Period;hisData.DataType=message.DataType;//0=日线 1=分钟
14056
+ this.Create=function(){var _this101=this;addEventListener('message',function(obj){_this101.OnRecvMessage(obj);});};this.NetworkFilter=function(data,callback,indexInfo){JSConsole.Complier.Log('[HQChartScriptWorker::NetworkFilter] ['+data.Name+']['+data.Explain+'] data=',data);//数据下载
14057
+ };this.ExecuteScript=function(indexData,message){var _this102=this;var scriptObj={};if(indexData.Script){scriptObj.Name=indexData.Name;scriptObj.ID=indexData.Index;scriptObj.Script=indexData.Script;}else{if(!indexData.Index)return false;var scriptData=new JSIndexScript();var finder=scriptData.Get(indexData.Index);if(!finder)return false;scriptObj.ID=indexData.Index;scriptObj.Name=finder.Name;scriptObj.Script=finder.Script;scriptObj.Args=finder.Args;}if(indexData.Args)scriptObj.Args=indexData.Args;if(IFrameSplitOperator.IsBool(message.IsApiPeriod))scriptObj.IsApiPeriod=message.IsApiPeriod;var indexInfo={Name:scriptObj.Name,ID:scriptObj.ID,Script:scriptObj.Script,Args:scriptObj.Args,Guid:message.Guid};scriptObj.ErrorCallback=function(error){_this102.OnExecuteError(error,indexInfo,message);};scriptObj.FinishCallback=function(data,jsExectute){_this102.OnExecuteFinish(data,indexInfo,jsExectute,message);};scriptObj.NetworkFilter=function(data,callback){_this102.NetworkFilter(data,callback,indexInfo,message);};JSConsole.Complier.Log('[HQChartScriptWorker::ExecuteScript] scriptObj=',scriptObj);var indexConsole=new ScriptIndexConsole(scriptObj);var hisData=null;if(message&&message.Data){hisData=new ChartData();hisData.Data=message.Data;hisData.Right=message.Right;hisData.Period=message.Period;hisData.DataType=message.DataType;//0=日线 1=分钟
14060
14058
  hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,Stock:{Symbol:message.Symbol},Request:{MaxDataCount:500,MaxMinuteDayCount:5},Period:message.Period,Right:message.Right,Data:hisData};if(IFrameSplitOperator.IsNumber(message.HQDataType))stockObj.HQDataType=message.HQDataType;indexConsole.ExecuteScript(stockObj);};this.OnRecvMessage=function(message){var data=message.data;if(!data)return;if(data.ID==JSCHART_WORKER_MESSAGE_ID.EXECUTE_SCRIPT){if(!IFrameSplitOperator.IsNonEmptyArray(data.AryIndex))return;for(var i=0;i<data.AryIndex.length;++i){var item=data.AryIndex[i];this.Status=1;//执行状态
14061
14059
  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);};}/********************************************************************************
14062
14060
  * 版本信息输出
14063
14061
  *
14064
- */var HQCHART_VERSION="1.1.14080";function PrintHQChartVersion(){var logo='\n\n*************************************************************************************************************************************************************************** \n* \n* :%@@- \n* :@@@@- \n* =@@@@ :#@@@ .:+#@@@#=: :=*@@@@@@#+-. *@@@@. \n* :@@@@@ .@@@@@ .#@@@@@@@@@@@- +@@@@@@@@@@@@@+ @@@@@ -%@@* \n* +@@@@% #@@@@# *@@@@@@@@@@@@@@%. =@@@@@@@@@@@@@@@- @@@@@ -@@@@+ \n* %@@@@* @@@@@+ .%@@@@@@@@@@@@@@@@%: #@@@@@@@@@@@@@@@% @@@@# *@@@@= \n* @@@@@= @@@@@- .%@@@@@@@*++*%@@@@@@% .%@@@@@@@%*+==+**= -@@@@+ #@@@@- \n* @@@@@. @@@@@. #@@@@@%= =@@@@@@* %@@@@@@#: *@@@@- :::. .-+*###+: ::: .+##+: -%%@@@@@%%%% \n* .@@@@@ .@@@@@. +@@@@@% .@@@@@@ *@@@@@@: %@@@@: +@@@@@%. :%@@@@@@@@@@: *@@@ :@@@@@* @@@@@@@@@@@@ \n* :@@@@@ :@@@@@ @@@@@% :@@@@@+ @@@@@@: %@@@@-@@@@@@@@@. @@@@@@@@@@@@@. :@@@%-@@@@@@.:@@@@@@@@@@@# \n* -@@@@% -@@@@@ =@@@@@. %@@@@% %@@@@@- %@@@@@@@@@@@@@@* %@@@@@@@@@@@@+ -@@@@@@@@@@# -@@@@@@@@@@@. \n* +@@@@%=========#@@@@% @@@@@# :@@@@@ .@@@@@% @@@@@@@@%@@@@@@@ -%+:. .#@@@@* +@@@@@@@%%@. .::+@@@@#:: \n* #@@@@@@@@@@@@@@@@@@@# .@@@@@ .@@@@@ :@@@@@. @@@@@@#. #@@@@@. -@@@@* #@@@@@@: *@@@@+ \n* %@@@@@@@@@@@@@@@@@@@+ :@@@@@ .@@@@@ -@@@@@ @@@@@+ @@@@@. :@@@@* @@@@@% #@@@@- \n* @@@@@@@@@@@@@@@@@@@@: :@@@@% :@@@@@ +@@@@% -@@@@+ @@@@@ -@@@@+ @@@@@. @@@@@. \n* .@@@@@@@@@@@@@@@@@@@@ :@@@@% -@@@@% *@@@@% #@@@@. @@@@@ .=*#%%%@@@@@= :@@@@# @@@@@. \n* -@@@@@:::::::::=@@@@@ :@@@@@ @@@@@* +@@@@% @@@@@ @@@@% -#@@@@@@@@@@@@: -@@@@* @@@@@ \n* =@@@@% =@@@@% .@@@@@ :@@@@@. -@@@@% @@@@@ .@@@@* +@@@@@@@@@@@@@@. =@@@@+ .@@@@@ \n* +@@@@# +@@@@# @@@@@# %@@@@% :@@@@@ .@@@@% =@@@@= -@@@@@*-:..%@@@@ +@@@@= :@@@@# \n* *@@@@* *@@@@* +@@@@@: #@@@@@+ .@@@@@@ :@@@@% *@@@@- @@@@@. @@@@% #@@@@: =@@@@+ \n* %@@@@= %@@@@+ @@@@@@- .%@@@@@# #@@@@@# :@@@@% #@@@@: @@@@% @@@@* %@@@@. #@@@@- \n* @@@@@- @@@@@= =@@@@@@#=...-*@@@@@@@: @@@@@@%=. :+**. :@@@@* %@@@@. .@@@@* *@@@@= @@@@@ %@@@@+ \n* .@@@@@: .@@@@@: *@@@@@@@@@@@@@@@@@@@# =@@@@@@@@%%%@@@@@@ +@@@@- @@@@@ .@@@@@: :%@@@@@- .@@@@% %@@@@@*+- \n* :@@@@@ :@@@@@ +@@@@@@@@@@@@@@@@@@@# =@@@@@@@@@@@@@@@@% %@@@@ @@@@@ @@@@@@@@@@@@@@@: -@@@@* *@@@@@@@@- \n* =@@@@@ -@@@@@ :@@@@@@@@@@@@@@@@@@@# :@@@@@@@@@@@@@@@% @@@@@ %@@@% #@@@@@@@@@#@@@@. +@@@@- .@@@@@@@@# \n* *@@@@# =@@@@% :#@@@@@@@#: :@@@@@= =@@@@@@@@@@@+. @@@@@ :@@@+ *@@@@@@@- %@@@ *@@@= =@@@@@@@* \n* =++++- -++++= .:::. .=*+: :-=+++=:. ****= .=+. .-++=: :+++ -+=: .-=+=:. \n* \n* \n* HQChart \n* Ver: '+HQCHART_VERSION+' \n* License: Apache License 2.0 \n* Source: https://github.com/jones2000/HQChart\n*\n************************************************************************************************************************************************************************** \n ';console.log(logo);}PrintHQChartVersion();//把给外界调用的方法暴露出来
14062
+ */var HQCHART_VERSION="1.1.14092";function PrintHQChartVersion(){var logo='\n\n*************************************************************************************************************************************************************************** \n* \n* :%@@- \n* :@@@@- \n* =@@@@ :#@@@ .:+#@@@#=: :=*@@@@@@#+-. *@@@@. \n* :@@@@@ .@@@@@ .#@@@@@@@@@@@- +@@@@@@@@@@@@@+ @@@@@ -%@@* \n* +@@@@% #@@@@# *@@@@@@@@@@@@@@%. =@@@@@@@@@@@@@@@- @@@@@ -@@@@+ \n* %@@@@* @@@@@+ .%@@@@@@@@@@@@@@@@%: #@@@@@@@@@@@@@@@% @@@@# *@@@@= \n* @@@@@= @@@@@- .%@@@@@@@*++*%@@@@@@% .%@@@@@@@%*+==+**= -@@@@+ #@@@@- \n* @@@@@. @@@@@. #@@@@@%= =@@@@@@* %@@@@@@#: *@@@@- :::. .-+*###+: ::: .+##+: -%%@@@@@%%%% \n* .@@@@@ .@@@@@. +@@@@@% .@@@@@@ *@@@@@@: %@@@@: +@@@@@%. :%@@@@@@@@@@: *@@@ :@@@@@* @@@@@@@@@@@@ \n* :@@@@@ :@@@@@ @@@@@% :@@@@@+ @@@@@@: %@@@@-@@@@@@@@@. @@@@@@@@@@@@@. :@@@%-@@@@@@.:@@@@@@@@@@@# \n* -@@@@% -@@@@@ =@@@@@. %@@@@% %@@@@@- %@@@@@@@@@@@@@@* %@@@@@@@@@@@@+ -@@@@@@@@@@# -@@@@@@@@@@@. \n* +@@@@%=========#@@@@% @@@@@# :@@@@@ .@@@@@% @@@@@@@@%@@@@@@@ -%+:. .#@@@@* +@@@@@@@%%@. .::+@@@@#:: \n* #@@@@@@@@@@@@@@@@@@@# .@@@@@ .@@@@@ :@@@@@. @@@@@@#. #@@@@@. -@@@@* #@@@@@@: *@@@@+ \n* %@@@@@@@@@@@@@@@@@@@+ :@@@@@ .@@@@@ -@@@@@ @@@@@+ @@@@@. :@@@@* @@@@@% #@@@@- \n* @@@@@@@@@@@@@@@@@@@@: :@@@@% :@@@@@ +@@@@% -@@@@+ @@@@@ -@@@@+ @@@@@. @@@@@. \n* .@@@@@@@@@@@@@@@@@@@@ :@@@@% -@@@@% *@@@@% #@@@@. @@@@@ .=*#%%%@@@@@= :@@@@# @@@@@. \n* -@@@@@:::::::::=@@@@@ :@@@@@ @@@@@* +@@@@% @@@@@ @@@@% -#@@@@@@@@@@@@: -@@@@* @@@@@ \n* =@@@@% =@@@@% .@@@@@ :@@@@@. -@@@@% @@@@@ .@@@@* +@@@@@@@@@@@@@@. =@@@@+ .@@@@@ \n* +@@@@# +@@@@# @@@@@# %@@@@% :@@@@@ .@@@@% =@@@@= -@@@@@*-:..%@@@@ +@@@@= :@@@@# \n* *@@@@* *@@@@* +@@@@@: #@@@@@+ .@@@@@@ :@@@@% *@@@@- @@@@@. @@@@% #@@@@: =@@@@+ \n* %@@@@= %@@@@+ @@@@@@- .%@@@@@# #@@@@@# :@@@@% #@@@@: @@@@% @@@@* %@@@@. #@@@@- \n* @@@@@- @@@@@= =@@@@@@#=...-*@@@@@@@: @@@@@@%=. :+**. :@@@@* %@@@@. .@@@@* *@@@@= @@@@@ %@@@@+ \n* .@@@@@: .@@@@@: *@@@@@@@@@@@@@@@@@@@# =@@@@@@@@%%%@@@@@@ +@@@@- @@@@@ .@@@@@: :%@@@@@- .@@@@% %@@@@@*+- \n* :@@@@@ :@@@@@ +@@@@@@@@@@@@@@@@@@@# =@@@@@@@@@@@@@@@@% %@@@@ @@@@@ @@@@@@@@@@@@@@@: -@@@@* *@@@@@@@@- \n* =@@@@@ -@@@@@ :@@@@@@@@@@@@@@@@@@@# :@@@@@@@@@@@@@@@% @@@@@ %@@@% #@@@@@@@@@#@@@@. +@@@@- .@@@@@@@@# \n* *@@@@# =@@@@% :#@@@@@@@#: :@@@@@= =@@@@@@@@@@@+. @@@@@ :@@@+ *@@@@@@@- %@@@ *@@@= =@@@@@@@* \n* =++++- -++++= .:::. .=*+: :-=+++=:. ****= .=+. .-++=: :+++ -+=: .-=+=:. \n* \n* \n* HQChart \n* Ver: '+HQCHART_VERSION+' \n* License: Apache License 2.0 \n* Source: https://github.com/jones2000/HQChart\n*\n************************************************************************************************************************************************************************** \n ';console.log(logo);}PrintHQChartVersion();//把给外界调用的方法暴露出来
14065
14063
  exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
14066
14064
  // BaseIndex:BaseIndex,
14067
14065
  // ChartLine:ChartLine,