hqchart 1.1.15046 → 1.1.15053

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.
@@ -1243,7 +1243,9 @@ if(option.CorssCursorInfo){var item=option.CorssCursorInfo;if(!isNaN(option.Cors
1243
1243
  if(IFrameSplitOperator.IsBool(option.CorssCursorInfo.IsFixXLastTime))chart.ChartCorssCursor.IsFixXLastTime=option.CorssCursorInfo.IsFixXLastTime;if(item.RightButton){if(IFrameSplitOperator.IsBool(item.RightButton.Enable))chart.ChartCorssCursor.RightButton.Enable=item.RightButton.Enable;}if(item.BottomButton){var subItem=item.BottomButton;if(IFrameSplitOperator.IsBool(subItem.Enable))chart.ChartCorssCursor.BottomButton.Enable=subItem.Enable;}if(IFrameSplitOperator.IsNumber(item.PriceFormatType))chart.ChartCorssCursor.StringFormatY.PriceFormatType=item.PriceFormatType;if(IFrameSplitOperator.IsNumber(item.DataFormatType))chart.ChartCorssCursor.StringFormatY.DataFormatType=item.DataFormatType;if(IFrameSplitOperator.IsNumber(item.HPenType))chart.ChartCorssCursor.HPenType=item.HPenType;if(IFrameSplitOperator.IsNumber(item.VPenType))chart.ChartCorssCursor.VPenType=item.VPenType;if(IFrameSplitOperator.IsBool(item.EnableKeyboard))chart.ChartCorssCursor.EnableKeyboard=item.EnableKeyboard;if(IFrameSplitOperator.IsBool(item.EnableDBClick))chart.ChartCorssCursor.EnableDBClick=item.EnableDBClick;if(IFrameSplitOperator.IsBool(item.IsShowCorssPoint))chart.ChartCorssCursor.CorssPointConfig.Enable=item.IsShowCorssPoint;if(IFrameSplitOperator.IsNumber(item.VLineType))chart.ChartCorssCursor.VLineType=item.VLineType;}if(option.MinuteInfo)chart.CreateMinuteInfo(option.MinuteInfo);if(IFrameSplitOperator.IsBool(option.IsShowRightMenu))chart.IsShowRightMenu=option.IsShowRightMenu;if(IFrameSplitOperator.IsNumber(option.DayCount))chart.DayCount=option.DayCount;this.SetChartBorder(chart,option);if(option.SplashTitle)chart.ChartSplashPaint.SplashTitle=option.SplashTitle;if(IFrameSplitOperator.IsBool(option.EnableBorderDrag)){chart.EnableBorderDrag=option.EnableBorderDrag;}if(IFrameSplitOperator.IsBool(option.EnableBuySellBar)){var barChart=chart.GetChartMinuteBuySellBar();if(barChart)barChart.IsShow=option.EnableBuySellBar;}this.AdjustChartBorder(chart);if(option.Frame){for(var i=0;i<option.Frame.length;++i){var item=option.Frame[i];if(!chart.Frame.SubFrame[i])continue;var subFrame=chart.Frame.SubFrame[i].Frame;if(IFrameSplitOperator.IsNumber(item.SplitCount))chart.Frame.SubFrame[i].Frame.YSplitOperator.SplitCount=item.SplitCount;if(item.StringFormat)chart.Frame.SubFrame[i].Frame.YSplitOperator.StringFormat=item.StringFormat;if(IFrameSplitOperator.IsNumber(item.SplitType)){chart.Frame.SubFrame[i].Frame.YSplitOperator.SplitType=item.SplitType;chart.Frame.SubFrame[i].Frame.YSplitOperator.DefaultSplitType=item.SplitType;}if(IFrameSplitOperator.IsNumber(item.FilterType))subFrame.YSplitOperator.FilterType=item.FilterType;if(item.IsShowLeftText==false){chart.Frame.SubFrame[i].Frame.IsShowYText[0]=item.IsShowLeftText;chart.Frame.SubFrame[i].Frame.YSplitOperator.IsShowLeftText=item.IsShowLeftText;//显示左边刻度
1244
1244
  }if(item.IsShowRightText==false){chart.Frame.SubFrame[i].Frame.IsShowYText[1]=item.IsShowRightText;chart.Frame.SubFrame[i].Frame.YSplitOperator.IsShowRightText=item.IsShowRightText;//显示右边刻度
1245
1245
  }if(item.Height>=0)chart.Frame.SubFrame[i].Height=item.Height;if(item.Custom)chart.Frame.SubFrame[i].Frame.YSplitOperator.Custom=item.Custom;if(IFrameSplitOperator.IsNumber(item.TitleHeight))chart.Frame.SubFrame[i].Frame.ChartBorder.TitleHeight=item.TitleHeight;if(IFrameSplitOperator.IsNumber(item.BorderLine))chart.Frame.SubFrame[i].Frame.BorderLine=item.BorderLine;if(IFrameSplitOperator.IsBool(item.EnableRemoveZero))chart.Frame.SubFrame[i].Frame.YSplitOperator.EnableRemoveZero=item.EnableRemoveZero;if(IFrameSplitOperator.IsNumber(item.FloatPrecision))chart.Frame.SubFrame[i].Frame.YSplitOperator.FloatPrecision=item.FloatPrecision;if(IFrameSplitOperator.IsBool(item.IsShowXLine))chart.Frame.SubFrame[i].Frame.IsShowXLine=item.IsShowXLine;if(IFrameSplitOperator.IsBool(item.IsShowYLine))chart.Frame.SubFrame[i].Frame.IsShowYLine=item.IsShowYLine;if(IFrameSplitOperator.IsNumber(item.YTextBaseline))chart.Frame.SubFrame[i].Frame.YTextBaseline=item.YTextBaseline;if(IFrameSplitOperator.IsBool(item.IsShowIndexTitle))chart.Frame.SubFrame[i].Frame.IsShowIndexTitle=item.IsShowIndexTitle;if(item.TopSpace>=0)chart.Frame.SubFrame[i].Frame.ChartBorder.TopSpace=item.TopSpace*pixelRatio;if(item.BottomSpace>=0)chart.Frame.SubFrame[i].Frame.ChartBorder.BottomSpace=item.BottomSpace*pixelRatio;//是否显示关闭集合竞价按钮
1246
- if(IFrameSplitOperator.IsBool(item.CloseBeforeButton))chart.Frame.SubFrame[i].Frame.IsShowCloseButton=item.CloseBeforeButton;if(item.ClientBGColor)subFrame.ClientBGColor=item.ClientBGColor;if(!IFrameSplitOperator.IsUndefined(item.HorizontalReserved))subFrame.HorizontalReserved=item.HorizontalReserved;if(i==0){if(IFrameSplitOperator.IsNumber(item.RightTextFormat)){subFrame.YSplitOperator.RightTextFormat=item.RightTextFormat;if(item.RightTextFormat==2)subFrame.MultiTextFormat=1;}}}chart.UpdateXShowText();}if(option.ExtendChart){for(var i=0;i<option.ExtendChart.length;++i){var item=option.ExtendChart[i];chart.CreateExtendChart(item.Name,item);}}//叠加股票
1246
+ if(IFrameSplitOperator.IsBool(item.CloseBeforeButton))chart.Frame.SubFrame[i].Frame.IsShowCloseButton=item.CloseBeforeButton;if(item.ClientBGColor)subFrame.ClientBGColor=item.ClientBGColor;if(!IFrameSplitOperator.IsUndefined(item.HorizontalReserved))subFrame.HorizontalReserved=item.HorizontalReserved;if(i==0){if(IFrameSplitOperator.IsNumber(item.RightTextFormat))//废弃
1247
+ {subFrame.YSplitOperator.RightTextConfig.Format=item.RightTextFormat;if(item.RightTextFormat==2)subFrame.MultiTextFormat=1;}if(item.RightText)//主图右侧坐标设置
1248
+ {var subItem=item.RightText;if(IFrameSplitOperator.IsNumber(subItem.Format))subFrame.YSplitOperator.RightTextConfig.Format=subItem.Format;if(subItem.Format==2)subFrame.MultiTextFormat=1;if(subItem.Percentage&&IFrameSplitOperator.IsNumber(subItem.Percentage.Dec))subFrame.YSplitOperator.RightTextConfig.Percentage.Dec=subItem.Percentage.Dec;}}}chart.UpdateXShowText();}if(option.ExtendChart){for(var i=0;i<option.ExtendChart.length;++i){var item=option.ExtendChart[i];chart.CreateExtendChart(item.Name,item);}}//叠加股票
1247
1249
  if(option.Overlay){for(var i=0;i<option.Overlay.length;++i){var item=option.Overlay[i];chart.OverlaySymbol(item.Symbol,item);}}if(option.MinuteLine){if(option.MinuteLine.IsDrawAreaPrice==false)chart.ChartPaint[0].IsDrawArea=false;if(option.MinuteLine.IsShowLead==false)chart.IsShowLead=false;if(option.MinuteLine.IsShowAveragePrice==false){chart.ChartPaint[1].IsShow=false;chart.TitlePaint[0].IsShowAveragePrice=false;//标题栏均线也不显示
1248
1250
  for(var i=0;i<chart.ExtendChartPaint.length;++i){var item=chart.ExtendChartPaint[i];if(item.ClassName=="MinuteTooltipPaint")item.IsShowAveragePrice=false;}}if(option.MinuteLine.SplitType>0)chart.Frame.SubFrame[0].Frame.YSplitOperator.SplitType=option.MinuteLine.SplitType;}if(option.MinuteVol){var item=option.MinuteVol;if(IFrameSplitOperator.IsNumber(item.BarColorType))chart.ChartPaint[2].BarColorType=item.BarColorType;}if(option.MinuteTitle){var item=option.MinuteTitle;var chartTitle=chart.TitlePaint[0];if(IFrameSplitOperator.IsBool(item.IsShowName))chart.TitlePaint[0].IsShowName=item.IsShowName;if(IFrameSplitOperator.IsBool(item.IsShowDate))chart.TitlePaint[0].IsShowDate=item.IsShowDate;if(IFrameSplitOperator.IsBool(item.IsShowTime))chart.TitlePaint[0].IsShowTime=item.IsShowTime;if(IFrameSplitOperator.IsBool(item.IsTitleShowLatestData))chart.IsTitleShowLatestData=item.IsTitleShowLatestData;if(IFrameSplitOperator.IsBool(item.IsAlwaysShowLastData))chart.TitlePaint[0].IsAlwaysShowLastData=item.IsAlwaysShowLastData;if(IFrameSplitOperator.IsNumber(item.ShowLastDataFormat))chart.TitlePaint[0].ShowLastDataFormat=item.ShowLastDataFormat;if(item.TimeFormat)chart.TitlePaint[0].TimeFormat=item.TimeFormat;if(item.ShowPostion||item.ShowPosition)//显示位置高级配置
1249
1251
  {var subItem=item.ShowPostion;if(item.ShowPosition)subItem=item.ShowPosition;if(!chartTitle.ShowPositionConfig)chartTitle.ShowPositionConfig={Margin:{}};if(IFrameSplitOperator.IsNumber(subItem.Type))chartTitle.ShowPositionConfig.Type=subItem.Type;if(subItem.Margin){if(IFrameSplitOperator.IsNumber(subItem.Margin.Left))chartTitle.ShowPositionConfig.Margin.Left=subItem.Margin.Left;if(IFrameSplitOperator.IsNumber(subItem.Margin.Right))chartTitle.ShowPositionConfig.Margin.Right=subItem.Margin.Right;if(IFrameSplitOperator.IsNumber(subItem.Margin.Bottom))chartTitle.ShowPositionConfig.Margin.Bottom=subItem.Margin.Bottom;}}}if(IFrameSplitOperator.IsBool(option.CorssCursorTouchEnd))chart.CorssCursorTouchEnd=option.CorssCursorTouchEnd;if(IFrameSplitOperator.IsBool(option.IsClickShowCorssCursor))chart.IsClickShowCorssCursor=option.IsClickShowCorssCursor;if(option.IsShowBeforeData===true)chart.IsShowBeforeData=option.IsShowBeforeData;//分钟数据指标从第3个指标窗口设置
@@ -1258,9 +1260,9 @@ if(IFrameSplitOperator.IsNonEmptyArray(option.OverlayIndex)){for(var i=0;i<optio
1258
1260
  if(option.CorssCursorInfo){var item=option.CorssCursorInfo;if(IFrameSplitOperator.IsNumber(option.CorssCursorInfo.Left))chart.ChartCorssCursor.ShowTextMode.Left=option.CorssCursorInfo.Left;if(IFrameSplitOperator.IsNumber(option.CorssCursorInfo.Right))chart.ChartCorssCursor.ShowTextMode.Right=option.CorssCursorInfo.Right;if(IFrameSplitOperator.IsNumber(option.CorssCursorInfo.Bottom))chart.ChartCorssCursor.ShowTextMode.Bottom=option.CorssCursorInfo.Bottom;if(option.CorssCursorInfo.IsShowCorss===false)chart.ChartCorssCursor.IsShowCorss=option.CorssCursorInfo.IsShowCorss;if(option.CorssCursorInfo.RightTextFormat>0)chart.ChartCorssCursor.TextFormat.Right=option.CorssCursorInfo.RightTextFormat;if(option.CorssCursorInfo.IsOnlyDrawMinute==true)chart.ChartCorssCursor.IsOnlyDrawMinute=option.CorssCursorInfo.IsOnlyDrawMinute;//Y轴显示收盘价
1259
1261
  if(IFrameSplitOperator.IsBool(option.CorssCursorInfo.IsFixXLastTime))chart.ChartCorssCursor.IsFixXLastTime=option.CorssCursorInfo.IsFixXLastTime;if(item.RightButton){if(IFrameSplitOperator.IsBool(item.RightButton.Enable))chart.ChartCorssCursor.RightButton.Enable=item.RightButton.Enable;}if(IFrameSplitOperator.IsNumber(item.PriceFormatType))chart.ChartCorssCursor.StringFormatY.PriceFormatType=item.PriceFormatType;if(IFrameSplitOperator.IsNumber(item.DataFormatType))chart.ChartCorssCursor.StringFormatY.DataFormatType=item.DataFormatType;if(IFrameSplitOperator.IsNumber(option.CorssCursorInfo.HPenType))chart.ChartCorssCursor.HPenType=option.CorssCursorInfo.HPenType;if(IFrameSplitOperator.IsNumber(option.CorssCursorInfo.VPenType))chart.ChartCorssCursor.VPenType=option.CorssCursorInfo.VPenType;}if(IFrameSplitOperator.IsNumber(option.DayCount))chart.DayCount=option.DayCount;this.SetChartBorder(chart,option);if(option.SplashTitle)chart.ChartSplashPaint.SplashTitle=option.SplashTitle;if(IFrameSplitOperator.IsBool(option.EnableVerifyRecvData))chart.EnableVerifyRecvData=option.EnableVerifyRecvData;chart.TitlePaint[0].IsShow=false;//主窗口 隐藏刻度
1260
1262
  var mainFrame=chart.Frame.SubFrame[0];mainFrame.Frame.IsShowYText[0]=false;mainFrame.Frame.IsShowYText[1]=false;mainFrame.Frame.IsShowXLine=false;mainFrame.Frame.IsShowYLine=false;mainFrame.Frame.BorderLine=0;chart.Frame.SubFrame[1].Height=0;//隐藏成交量
1261
- chart.EnableBorderDrag=false;if(option.Frame){for(var i=0;i<option.Frame.length;++i){var item=option.Frame[i];if(!chart.Frame.SubFrame[i])continue;if(item.SplitCount)chart.Frame.SubFrame[i].Frame.YSplitOperator.SplitCount=item.SplitCount;if(item.StringFormat)chart.Frame.SubFrame[i].Frame.YSplitOperator.StringFormat=item.StringFormat;if(IFrameSplitOperator.IsNumber(item.SplitType)){chart.Frame.SubFrame[i].Frame.YSplitOperator.SplitType=item.SplitType;chart.Frame.SubFrame[i].Frame.YSplitOperator.DefaultSplitType=item.SplitType;}if(IFrameSplitOperator.IsBool(item.IsShowLeftText)){chart.Frame.SubFrame[i].Frame.IsShowYText[0]=item.IsShowLeftText;chart.Frame.SubFrame[i].Frame.YSplitOperator.IsShowLeftText=item.IsShowLeftText;//显示左边刻度
1263
+ chart.EnableBorderDrag=false;if(option.Frame){for(var i=0;i<option.Frame.length;++i){var item=option.Frame[i];if(!chart.Frame.SubFrame[i])continue;var subFrame=chart.Frame.SubFrame[i].Frame;if(item.SplitCount)chart.Frame.SubFrame[i].Frame.YSplitOperator.SplitCount=item.SplitCount;if(item.StringFormat)chart.Frame.SubFrame[i].Frame.YSplitOperator.StringFormat=item.StringFormat;if(IFrameSplitOperator.IsNumber(item.SplitType)){chart.Frame.SubFrame[i].Frame.YSplitOperator.SplitType=item.SplitType;chart.Frame.SubFrame[i].Frame.YSplitOperator.DefaultSplitType=item.SplitType;}if(IFrameSplitOperator.IsBool(item.IsShowLeftText)){chart.Frame.SubFrame[i].Frame.IsShowYText[0]=item.IsShowLeftText;chart.Frame.SubFrame[i].Frame.YSplitOperator.IsShowLeftText=item.IsShowLeftText;//显示左边刻度
1262
1264
  }if(IFrameSplitOperator.IsBool(item.IsShowRightText)){chart.Frame.SubFrame[i].Frame.IsShowYText[1]=item.IsShowRightText;chart.Frame.SubFrame[i].Frame.YSplitOperator.IsShowRightText=item.IsShowRightText;//显示右边刻度
1263
- }if(item.Height>=0)chart.Frame.SubFrame[i].Height=item.Height;if(item.Custom)chart.Frame.SubFrame[i].Frame.YSplitOperator.Custom=item.Custom;if(item.RightTextFormat>0)chart.Frame.SubFrame[i].Frame.YSplitOperator.RightTextFormat=item.RightTextFormat;if(IFrameSplitOperator.IsNumber(item.TitleHeight))chart.Frame.SubFrame[i].Frame.ChartBorder.TitleHeight=item.TitleHeight;if(IFrameSplitOperator.IsNumber(item.BorderLine))chart.Frame.SubFrame[i].Frame.BorderLine=item.BorderLine;if(IFrameSplitOperator.IsBool(item.EnableRemoveZero))chart.Frame.SubFrame[i].Frame.YSplitOperator.EnableRemoveZero=item.EnableRemoveZero;if(IFrameSplitOperator.IsNumber(item.FloatPrecision))chart.Frame.SubFrame[i].Frame.YSplitOperator.FloatPrecision=item.FloatPrecision;if(IFrameSplitOperator.IsBool(item.IsShowXLine))chart.Frame.SubFrame[i].Frame.IsShowXLine=item.IsShowXLine;if(IFrameSplitOperator.IsBool(item.IsShowYLine))chart.Frame.SubFrame[i].Frame.IsShowYLine=item.IsShowYLine;if(IFrameSplitOperator.IsNumber(item.YTextBaseline))chart.Frame.SubFrame[i].Frame.YTextBaseline=item.YTextBaseline;}}chart.UpdateXShowText();if(option.MinuteLine){if(option.MinuteLine.IsDrawAreaPrice==false)chart.ChartPaint[0].IsDrawArea=false;if(option.MinuteLine.IsShowLead==false)chart.IsShowLead=false;if(option.MinuteLine.IsShowAveragePrice==false){chart.ChartPaint[1].IsShow=false;chart.TitlePaint[0].IsShowAveragePrice=false;//标题栏均线也不显示
1265
+ }if(item.Height>=0)chart.Frame.SubFrame[i].Height=item.Height;if(item.Custom)chart.Frame.SubFrame[i].Frame.YSplitOperator.Custom=item.Custom;if(IFrameSplitOperator.IsNumber(item.TitleHeight))chart.Frame.SubFrame[i].Frame.ChartBorder.TitleHeight=item.TitleHeight;if(IFrameSplitOperator.IsNumber(item.BorderLine))chart.Frame.SubFrame[i].Frame.BorderLine=item.BorderLine;if(IFrameSplitOperator.IsBool(item.EnableRemoveZero))chart.Frame.SubFrame[i].Frame.YSplitOperator.EnableRemoveZero=item.EnableRemoveZero;if(IFrameSplitOperator.IsNumber(item.FloatPrecision))chart.Frame.SubFrame[i].Frame.YSplitOperator.FloatPrecision=item.FloatPrecision;if(IFrameSplitOperator.IsBool(item.IsShowXLine))chart.Frame.SubFrame[i].Frame.IsShowXLine=item.IsShowXLine;if(IFrameSplitOperator.IsBool(item.IsShowYLine))chart.Frame.SubFrame[i].Frame.IsShowYLine=item.IsShowYLine;if(IFrameSplitOperator.IsNumber(item.YTextBaseline))chart.Frame.SubFrame[i].Frame.YTextBaseline=item.YTextBaseline;if(i==0){if(IFrameSplitOperator.IsNumber(item.RightTextFormat))subFrame.YSplitOperator.RightTextConfig.Format=item.RightTextFormat;}}}chart.UpdateXShowText();if(option.MinuteLine){if(option.MinuteLine.IsDrawAreaPrice==false)chart.ChartPaint[0].IsDrawArea=false;if(option.MinuteLine.IsShowLead==false)chart.IsShowLead=false;if(option.MinuteLine.IsShowAveragePrice==false){chart.ChartPaint[1].IsShow=false;chart.TitlePaint[0].IsShowAveragePrice=false;//标题栏均线也不显示
1264
1266
  for(var i=0;i<chart.ExtendChartPaint.length;++i){var item=chart.ExtendChartPaint[i];if(item.ClassName=="MinuteTooltipPaint")item.IsShowAveragePrice=false;}}if(option.MinuteLine.SplitType>0)chart.Frame.SubFrame[0].Frame.YSplitOperator.SplitType=option.MinuteLine.SplitType;}this.AdjustTitleHeight(chart);if(option.DisableMouseEvent===true){//取消鼠标事件
1265
1267
  this.CanvasElement.onmousemove=function(e){};this.CanvasElement.oncontextmenu=function(e){};this.CanvasElement.ondblclick=function(e){};this.CanvasElement.onmousedown=function(e){};this.CanvasElement.onmouseout=function(e){};this.CanvasElement.onmouseleave=function(e){};}if(option.ExtendChart){for(var i=0;i<option.ExtendChart.length;++i){var item=option.ExtendChart[i];chart.CreateExtendChart(item.Name,item);}}return chart;};/*废弃
1266
1268
  //统一全部使用 MinuteChartContainer
@@ -1656,6 +1658,7 @@ CMD_ENABLE_KLINE_DAY_SUMMARY_ID:58,//K线底部显示走完剩余时间
1656
1658
  CMD_SHOW_BUYSELL_BAR_ID:59,//盘口分析(右侧显示买卖盘柱子) 分时图
1657
1659
  CMD_CORSS_SHOW_INCREASE_ID:60,//十字光标 底部显示"至今涨幅"
1658
1660
  CMD_CORSS_X_TEXTALIGN_ID:61,//十字光标 底部文字对齐方式
1661
+ CMD_CHANGE_YRIGHT_TEXT_FORMAT:62,//分时图主图 右侧刻度格式
1659
1662
  CMD_REPORT_CHANGE_BLOCK_ID:100,//报价列表 切换板块ID
1660
1663
  CMD_REPORT_COLUMN_SORT_ID:101,//报价列表 表头排序 Arg[列序号, 排序方向]
1661
1664
  CMD_REPORT_COLUMN_DEL_ID:102,//报价列表 删除列
@@ -2375,7 +2378,7 @@ this.Draw();break;case JSCHART_MENU_ID.CMD_ENABLE_OVERLAY_SHARE_Y_ID:if(!srcPara
2375
2378
  this.UpdateFrameMaxMin();//调整坐标最大 最小值
2376
2379
  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
2377
2380
  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://双击弹分时图
2378
- if(IFrameSplitOperator.IsBool(srcParam)){if(srcParam){this.DestroyPopMinuteChart();this.InitalPopMinuteChart({PopMinuteChart:{Enable: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;case JSCHART_MENU_ID.CMD_LOCK_CROSSCURSOR:if(srcParam)this.LockCorssCursor(srcParam);break;case JSCHART_MENU_ID.CMD_UNLOCK_CROSSCURSOR:if(this.IsLockCorssCursor())this.UnlockCorssCursor({Draw:true});break;case JSCHART_MENU_ID.CMD_CORSS_ON_CLOSE_LINE_ID:if(IFrameSplitOperator.IsBool(srcParam)&&this.ChartCorssCursor)this.ChartCorssCursor.IsOnlyDrawMinute=srcParam;break;case JSCHART_MENU_ID.CMD_CORSS_ON_VAILD_TIME_ID:if(IFrameSplitOperator.IsBool(srcParam)&&this.ChartCorssCursor)this.ChartCorssCursor.IsFixXLastTime=srcParam;break;case JSCHART_MENU_ID.CMD_CORSS_ON_KLINE_ID:if(IFrameSplitOperator.IsBool(srcParam)&&this.ChartCorssCursor){this.ChartCorssCursor.IsOnlyDrawKLine=srcParam;this.ChartCorssCursor.IsShowClose=srcParam;}break;case JSCHART_MENU_ID.CMD_CORSS_SHOW_INCREASE_ID:if(IFrameSplitOperator.IsBool(srcParam)&&this.ChartCorssCursor){this.ChartCorssCursor.StringFormatX.RangeIncrease.IsShow=srcParam;}break;case JSCHART_MENU_ID.CMD_CORSS_X_TEXTALIGN_ID:if(param==null)return false;if(this.ChartCorssCursor)this.ChartCorssCursor.BottomConfig.Align=param;break;case JSCHART_MENU_ID.CMD_CORSS_POINT_ID:if(IFrameSplitOperator.IsBool(srcParam)&&this.ChartCorssCursor)this.ChartCorssCursor.CorssPointConfig.Enable=srcParam;break;case JSCHART_MENU_ID.CMD_CORSS_DBCLICK_ID:if(IFrameSplitOperator.IsBool(srcParam)&&this.ChartCorssCursor)this.ChartCorssCursor.EnableDBClick=srcParam;break;case JSCHART_MENU_ID.CMD_RBUTTON_SELECT_RECT_ID:if(IFrameSplitOperator.IsBool(srcParam)&&this.ChartDragSelectRect)this.ChartDragSelectRect.EnableRButton=srcParam;break;case JSCHART_MENU_ID.CMD_LBUTTON_SELECT_RECT_ID:if(IFrameSplitOperator.IsBool(srcParam)&&this.ChartDragSelectRect)this.ChartDragSelectRect.EnableLButton=srcParam;break;case JSCHART_MENU_ID.CMD_ENABLE_XDRAG_BOTTOM_ID:if(IFrameSplitOperator.IsBool(srcParam))this.EnableXDrag.Bottom=srcParam;if(IFrameSplitOperator.IsNonEmptyArray(aryArgs)&&IFrameSplitOperator.IsNumber(aryArgs[1]))this.EnableXDrag.LButton.Type=aryArgs[1];if(IFrameSplitOperator.IsNonEmptyArray(aryArgs)&&IFrameSplitOperator.IsNumber(aryArgs[2]))this.EnableXDrag.RButton.Type=aryArgs[2];break;case JSCHART_MENU_ID.CMD_FULLSCREEN_SUMMARY_ID:this.FullScreenSummary();break;case JSCHART_MENU_ID.CMD_ENABLE_KLINE_DAY_SUMMARY_ID:if(IFrameSplitOperator.IsBool(srcParam)){this.ChartPaint[0].DaySummary.Enable=srcParam;this.Draw();}break;case JSCHART_MENU_ID.CMD_SHOW_BUYSELL_BAR_ID:if(IFrameSplitOperator.IsBool(srcParam)){var chart=this.GetChartMinuteBuySellBar();chart.IsShow=srcParam;this.RequestData({ClearYCoordinateMaxMin:true});this.Draw();}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;};//点击右键菜单
2381
+ if(IFrameSplitOperator.IsBool(srcParam)){if(srcParam){this.DestroyPopMinuteChart();this.InitalPopMinuteChart({PopMinuteChart:{Enable: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;case JSCHART_MENU_ID.CMD_LOCK_CROSSCURSOR:if(srcParam)this.LockCorssCursor(srcParam);break;case JSCHART_MENU_ID.CMD_UNLOCK_CROSSCURSOR:if(this.IsLockCorssCursor())this.UnlockCorssCursor({Draw:true});break;case JSCHART_MENU_ID.CMD_CORSS_ON_CLOSE_LINE_ID:if(IFrameSplitOperator.IsBool(srcParam)&&this.ChartCorssCursor)this.ChartCorssCursor.IsOnlyDrawMinute=srcParam;break;case JSCHART_MENU_ID.CMD_CORSS_ON_VAILD_TIME_ID:if(IFrameSplitOperator.IsBool(srcParam)&&this.ChartCorssCursor)this.ChartCorssCursor.IsFixXLastTime=srcParam;break;case JSCHART_MENU_ID.CMD_CORSS_ON_KLINE_ID:if(IFrameSplitOperator.IsBool(srcParam)&&this.ChartCorssCursor){this.ChartCorssCursor.IsOnlyDrawKLine=srcParam;this.ChartCorssCursor.IsShowClose=srcParam;}break;case JSCHART_MENU_ID.CMD_CORSS_SHOW_INCREASE_ID:if(IFrameSplitOperator.IsBool(srcParam)&&this.ChartCorssCursor){this.ChartCorssCursor.StringFormatX.RangeIncrease.IsShow=srcParam;}break;case JSCHART_MENU_ID.CMD_CORSS_X_TEXTALIGN_ID:if(param==null)return false;if(this.ChartCorssCursor)this.ChartCorssCursor.BottomConfig.Align=param;break;case JSCHART_MENU_ID.CMD_CORSS_POINT_ID:if(IFrameSplitOperator.IsBool(srcParam)&&this.ChartCorssCursor)this.ChartCorssCursor.CorssPointConfig.Enable=srcParam;break;case JSCHART_MENU_ID.CMD_CORSS_DBCLICK_ID:if(IFrameSplitOperator.IsBool(srcParam)&&this.ChartCorssCursor)this.ChartCorssCursor.EnableDBClick=srcParam;break;case JSCHART_MENU_ID.CMD_RBUTTON_SELECT_RECT_ID:if(IFrameSplitOperator.IsBool(srcParam)&&this.ChartDragSelectRect)this.ChartDragSelectRect.EnableRButton=srcParam;break;case JSCHART_MENU_ID.CMD_LBUTTON_SELECT_RECT_ID:if(IFrameSplitOperator.IsBool(srcParam)&&this.ChartDragSelectRect)this.ChartDragSelectRect.EnableLButton=srcParam;break;case JSCHART_MENU_ID.CMD_ENABLE_XDRAG_BOTTOM_ID:if(IFrameSplitOperator.IsBool(srcParam))this.EnableXDrag.Bottom=srcParam;if(IFrameSplitOperator.IsNonEmptyArray(aryArgs)&&IFrameSplitOperator.IsNumber(aryArgs[1]))this.EnableXDrag.LButton.Type=aryArgs[1];if(IFrameSplitOperator.IsNonEmptyArray(aryArgs)&&IFrameSplitOperator.IsNumber(aryArgs[2]))this.EnableXDrag.RButton.Type=aryArgs[2];break;case JSCHART_MENU_ID.CMD_FULLSCREEN_SUMMARY_ID:this.FullScreenSummary();break;case JSCHART_MENU_ID.CMD_ENABLE_KLINE_DAY_SUMMARY_ID:if(IFrameSplitOperator.IsBool(srcParam)){this.ChartPaint[0].DaySummary.Enable=srcParam;this.Draw();}break;case JSCHART_MENU_ID.CMD_SHOW_BUYSELL_BAR_ID:if(IFrameSplitOperator.IsBool(srcParam)){var chart=this.GetChartMinuteBuySellBar();chart.IsShow=srcParam;this.RequestData({ClearYCoordinateMaxMin:true});this.Draw();}break;case JSCHART_MENU_ID.CMD_CHANGE_YRIGHT_TEXT_FORMAT:if(param==null)return false;if(!this.Frame.SubFrame[0]||!this.Frame.SubFrame[0].Frame)return false;var frame=this.Frame.SubFrame[0].Frame;if(!frame.YSplitOperator||!frame.YSplitOperator.RightTextConfig)return false;frame.YSplitOperator.RightTextConfig.Format=param;this.ResetFrameXYSplit();this.Draw();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;};//点击右键菜单
2379
2382
  this.OnClickRightMenu=function(data){JSConsole.Chart.Log('[JSChartContainer::OnClickRightMenu] ',data);if(!data||!data.Data)return;var cmdID=data.Data.ID;//命令ID
2380
2383
  var aryArgs=data.Data.Args;//参数
2381
2384
  var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_MENU_COMMAND);//回调通知外部
@@ -5830,8 +5833,9 @@ this.Data;//分钟数据
5830
5833
  this.SourceData;//原始数据
5831
5834
  this.OverlayChartPaint;this.SplitCount=7;this.Symbol;this.SplitType=0;//0=默认根据最大最小值分割 1=涨跌停分割 2=数据最大最大值分割
5832
5835
  this.DefaultSplitType=0;this.LimitPrice;//{Max: Min:} 涨跌停价
5833
- this.Custom;this.RightTextFormat=0;//右边刻度显示模式 0=百分比 1=价格 2=价格 | 百分比
5834
- this.BeforeOpenData;this.IsBeforeData=false;this.AfterCloseData;this.IsAfterData=false;this.MultiDayBeforeOpenData;this.MultiDayAfterCloseData;this.DayOffset;this.AverageData;//均线
5836
+ this.Custom;//this.RightTextFormat=0; //右边刻度显示模式 0=百分比 1=价格 2=价格 | 百分比 !!! 废弃, 用下面的格式
5837
+ this.RightTextConfig={Percentage:{Dec:2},Format:0//Percentage:{ Dec: 百分比小数位数 }, Format: 0=百分比 1=价格 2=价格 | 百分比
5838
+ };this.BeforeOpenData;this.IsBeforeData=false;this.AfterCloseData;this.IsAfterData=false;this.MultiDayBeforeOpenData;this.MultiDayAfterCloseData;this.DayOffset;this.AverageData;//均线
5835
5839
  this.DayCount=1;this.GlobalOption;this.HQChart;this.FixedYMaxMin;//{ Max, Min} 固定Y轴最大最小值
5836
5840
  this.EnableZoomUpDown=false;this.IsEnableDragY=function(){return true;};this.Operator=function(){this.Frame.HorizontalInfo=[];this.Frame.CustomHorizontalInfo=[];if(!this.Data)return;var range=null;var isFixedMaxMin=this.FixedYMaxMin&&IFrameSplitOperator.IsNumber(this.FixedYMaxMin.Max)&&IFrameSplitOperator.IsNumber(this.FixedYMaxMin.Min);if(isFixedMaxMin){range={Max:this.FixedYMaxMin.Max,Min:this.FixedYMaxMin.Min};JSConsole.Chart.Log('[FrameSplitMinutePriceY::Operator] FixedYMaxMin.Max='+this.FixedYMaxMin.Max+' FixedYMaxMin.Min='+this.FixedYMaxMin.Min+' ');}else{range=this.GetMaxMin();}if(this.Symbol&&MARKET_SUFFIX_NAME.IsUSA(this.Symbol.toUpperCase())){this.USASplit(range,isFixedMaxMin);}else if(this.SplitType==2){this.USASplit(range,isFixedMaxMin);}else{this.DefaultSplit(range,isFixedMaxMin);}this.CustomCoordinate();if(this.EnableZoomUpDown==true&&!this.FixedYMaxMin)this.FixedYMaxMin={Max:range.Max,Min:range.Min};this.ReservedHeight({Max:this.Frame.HorizontalMax,Min:this.Frame.HorizontalMin});//预留高度
5837
5841
  if(this.GetEventCallback){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_SPLIT_YCOORDINATE);if(event&&event.Callback){var data={ID:this.Frame.Identify,Frame:this.Frame};event.Callback(event,data,this);}}};this.CustomCoordinate=function()//自定义刻度
@@ -5855,13 +5859,13 @@ var spacePrice=5*pixelTatio*(max-min)/height;max+=spacePrice;min-=spacePrice;if(
5855
5859
  }for(var i=0;i<showCount;++i){var price=min+distance*i;if(this.YClose&&price==this.YClose)continue;var coordinate=new CoordinateInfo();coordinate.Value=price;this.FormatCoordinate(coordinate,defaultfloatPrecision);this.Frame.HorizontalInfo.push(coordinate);}if(this.YClose>min&&this.YClose<max)//前收盘线
5856
5860
  {var coordinate=new CoordinateInfo();coordinate.Value=this.YClose;coordinate.LineType=2;//中间的线画虚线
5857
5861
  if(g_JSChartResource.FrameDotSplitPen)coordinate.LineColor=g_JSChartResource.FrameDotSplitPen;var strPrice=this.YClose.toFixed(defaultfloatPrecision);//价格刻度字符串
5858
- if(this.IsShowLeftText)coordinate.Message[0]=strPrice;if(this.IsShowRightText){if(this.RightTextFormat==1)coordinate.Message[1]=strPrice;else coordinate.Message[1]='0.00%';//百分比
5862
+ if(this.IsShowLeftText)coordinate.Message[0]=strPrice;if(this.IsShowRightText){var value=0;var dec=this.RightTextConfig.Percentage.Dec;if(this.RightTextConfig.Format==1)coordinate.Message[1]=strPrice;else coordinate.Message[1]=value.toFixed(dec)+'%';//百分比
5859
5863
  }this.Frame.HorizontalInfo.push(coordinate);}this.Frame.HorizontalInfo.sort(function(a,b){return a.Value-b.Value;});this.Frame.HorizontalMax=max;this.Frame.HorizontalMin=min;};this.DefaultSplit=function(range,isFixedMaxMin){var max=range.Max;var min=range.Min;if(!isFixedMaxMin){if(this.YClose==max&&this.YClose==min){max=this.YClose+this.YClose*0.1;min=this.YClose-this.YClose*0.1;}else{var distanceValue=Math.max(Math.abs(this.YClose-max),Math.abs(this.YClose-min));max=this.YClose+distanceValue;min=this.YClose-distanceValue;//if (min<0) min=range.Min;
5860
5864
  }}var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
5861
5865
  var width=this.Frame.ChartBorder.GetChartWidth();//画布的宽度
5862
5866
  var isPhoneModel=width<450*pixelTatio;JSConsole.Chart.Log('[FrameSplitMinutePriceY]'+'max='+max+' min='+min+' isPhoneModel='+isPhoneModel);var showCount=this.SplitCount;var distance=(max-min)/(showCount-1);var minDistance=[1,0.1,0.01,0.001,0.0001];var defaultfloatPrecision=GetfloatPrecision(this.Symbol);if(isPhoneModel&&MARKET_SUFFIX_NAME.IsSHSZIndex(this.Symbol))defaultfloatPrecision=0;//手机端指数不显示小数位数,太长了
5863
5867
  if(distance<minDistance[defaultfloatPrecision]&&!isFixedMaxMin){distance=minDistance[defaultfloatPrecision];max=this.YClose+distance*(showCount-1)/2;min=this.YClose-distance*(showCount-1)/2;}var aryCoordinate=[];var extendValue=distance*0.5;for(var price=this.YClose,i=0;price<=max+extendValue&&i<30;price+=distance,++i){var coordinate=new CoordinateInfo();coordinate.Value=price;this.FormatCoordinate(coordinate,defaultfloatPrecision);aryCoordinate.push(coordinate);}for(var price=this.YClose-distance,i=0;price>=min-extendValue&&i<30;price-=distance,++i){var coordinate=new CoordinateInfo();coordinate.Value=price;this.FormatCoordinate(coordinate,defaultfloatPrecision);aryCoordinate.push(coordinate);}aryCoordinate.sort(function(left,right){return left.Value-right.Value;});this.Frame.HorizontalInfo=aryCoordinate;this.Frame.HorizontalMax=max;this.Frame.HorizontalMin=min;};this.FormatCoordinate=function(coordinate,defaultfloatPrecision){var price=coordinate.Value;var strPrice=price.toFixed(defaultfloatPrecision);//价格刻度字符串
5864
- if(this.IsShowLeftText)coordinate.Message[0]=strPrice;if(IFrameSplitOperator.IsNumber(this.YClose)&&this.YClose!=0){var per=(price/this.YClose-1)*100;if(per>0)coordinate.TextColor=g_JSChartResource.UpTextColor;else if(per<0)coordinate.TextColor=g_JSChartResource.DownTextColor;var strPer=IFrameSplitOperator.FormatValueString(per,2)+'%';if(this.IsShowRightText){if(this.RightTextFormat==1){coordinate.Message[1]=strPrice;}else if(this.RightTextFormat==2)//价格/百分比
5868
+ if(this.IsShowLeftText)coordinate.Message[0]=strPrice;if(IFrameSplitOperator.IsNumber(this.YClose)&&this.YClose!=0){var per=(price/this.YClose-1)*100;if(per>0)coordinate.TextColor=g_JSChartResource.UpTextColor;else if(per<0)coordinate.TextColor=g_JSChartResource.DownTextColor;var dec=this.RightTextConfig.Percentage.Dec;var strPer=IFrameSplitOperator.FormatValueString(per,dec)+'%';if(this.IsShowRightText){if(this.RightTextConfig.Format==1){coordinate.Message[1]=strPrice;}else if(this.RightTextConfig.Format==2)//价格/百分比
5865
5869
  {coordinate.Message[1]=[{Text:strPrice},{Text:"/"},{Text:strPer}];}else{coordinate.Message[1]=strPer;//百分比
5866
5870
  }}if(Math.abs(price-this.YClose)<0.00000000001)//小数有精度问题 使用差值
5867
5871
  {coordinate.LineType=2;//中间的线画虚线
@@ -6455,9 +6459,9 @@ this.PointMagnetKLine=function(){if(!this.IsSupportMagnet)return false;if(!this.
6455
6459
  this.PointToValue=function(){if(!this.Frame)return false;if(this.Frame.ClassName=="MinuteFrame"||this.Frame.Class=="MinuteHScreenFrame"){return this.PointToValue_Minute();}else{return this.PointToValue_KLine();}};this.PointToKLine=function(aryPoint){if(!this.Frame)return null;var data=this.Frame.Data;if(!data)return null;var kLine=[];var isHScreen=this.Frame.IsHScreen;if(isHScreen){for(var i in aryPoint){var item=aryPoint[i];var xValue=parseInt(this.Frame.GetXData(item.Y))+data.DataOffset;var yValue=this.Frame.GetYData(item.X);var valueItem={XValue:xValue,YValue:yValue};var kline=data.Data[xValue];valueItem.DateTime={Date:kline.Date};if(IFrameSplitOperator.IsNumber(kline.Time))valueItem.DateTime.Time=kline.Time;kLine[i]=valueItem;}}else{for(var i in aryPoint){var item=aryPoint[i];var index=parseInt(this.Frame.GetXData(item.X,false));var xValue=index+data.DataOffset;if(xValue<0)xValue=0;else if(xValue>=data.Data.length){xValue=data.Data.length-1;index=xValue-data.DataOffset;}var yValue=this.Frame.GetYData(item.Y,false);var valueItem={XValue:xValue,YValue:yValue,XIndex:index};var kline=data.Data[xValue];valueItem.DateTime={Date:kline.Date};if(IFrameSplitOperator.IsNumber(kline.Time))valueItem.DateTime.Time=kline.Time;kLine[i]=valueItem;}}return kLine;};this.PointToValue_KLine=function(){if(!this.Frame)return false;var data=this.Frame.Data;if(!data)return false;var isHScreen=this.Frame.IsHScreen;if(isHScreen){for(var i=0;i<this.Point.length;++i){var item=this.Point[i];var xValue=parseInt(this.Frame.GetXData(item.Y,false))+data.DataOffset;var yValue=this.Frame.GetYData(item.X,false);var valueItem={XValue:xValue,YValue:yValue};var kline=data.Data[xValue];valueItem.DateTime={Date:kline.Date};if(IFrameSplitOperator.IsNumber(kline.Time))valueItem.DateTime.Time=kline.Time;this.Value[i]=valueItem;}}else{for(var i=0;i<this.Point.length;++i){var item=this.Point[i];var xValue=parseInt(this.Frame.GetXData(item.X,false))+data.DataOffset;if(xValue<0)xValue=0;else if(xValue>=data.Data.length)xValue=data.Data.length-1;var yValue=this.Frame.GetYData(item.Y,false);var valueItem={XValue:xValue,YValue:yValue};var kline=data.Data[xValue];valueItem.DateTime={Date:kline.Date};if(IFrameSplitOperator.IsNumber(kline.Time))valueItem.DateTime.Time=kline.Time;this.Value[i]=valueItem;}}return true;};this.PointToValue_Minute=function(){if(!this.Frame)return false;var data=this.Frame.Data;if(!data)return false;var isHScreen=this.Frame.IsHScreen;if(isHScreen){for(var i=0;i<this.Point.length;++i){var item=this.Point[i];var xValue=parseInt(this.Frame.GetXData(item.Y,false));var yValue=this.Frame.GetYData(item.X,false);var valueItem={XValue:xValue,YValue:yValue};var minuteItem=data.Data[xValue];valueItem.DateTime={Date:minuteItem.Date,Time:minuteItem.Time};this.Value[i]=valueItem;}}else{var xDatetime=g_MinuteTimeStringData.GetTimeData(this.Symbol);for(var i=0;i<this.Point.length;++i){var item=this.Point[i];var xValue=parseInt(this.Frame.GetXData(item.X,false));var yValue=this.Frame.GetYData(item.Y,false);if(xValue>=data.Data.length)//超过当前数据,直接读固定时间
6456
6460
  {var index=xValue%xDatetime.length;var dataIndex=data.Data.length-1;var valueItem={XValue:xValue,YValue:yValue};var minuteItem=data.Data[dataIndex];var timeItem=xDatetime[index];valueItem.DateTime={Date:minuteItem.Date,Time:timeItem};this.Value[i]=valueItem;}else{var valueItem={XValue:xValue,YValue:yValue};var minuteItem=data.Data[xValue];valueItem.DateTime={Date:minuteItem.Date,Time:minuteItem.Time};this.Value[i]=valueItem;}}}return true;};this.IsPointIn=function(x,y,option){return false;};//Value => Point
6457
6461
  this.ValueToPoint=function(){if(!this.Frame)return false;var data=this.Frame.Data;if(!data)return false;//this.UpdateXValue();
6458
- var isHScreen=this.Frame.IsHScreen;this.Point=[];for(var i=0;i<this.Value.length;++i){var item=this.Value[i];var pt=new Point();if(isHScreen){pt.Y=this.Frame.GetXFromIndex(item.XValue-data.DataOffset,false);pt.X=this.Frame.GetYFromData(item.YValue,false);}else{pt.X=this.Frame.GetXFromIndex(item.XValue-data.DataOffset,false);pt.Y=this.Frame.GetYFromData(item.YValue,false);}this.Point[i]=pt;}};this.GetkData=function(){if(!this.Frame)return null;var data=this.Frame.Data;if(!data)return null;return data;};//周期变动 X重新定位
6459
- this.ChangePeriod=function(period){var kData=this.GetkData();if(!kData)return;var aryDateTime=[];for(var i=0;i<this.Value.length;++i){var item=this.Value[i];if(!item.DateTime)break;var dateTime={Date:item.DateTime.Date,Time:0,Match:null};if(IFrameSplitOperator.IsNumber(item.DateTime.Time))dateTime.Time=item.DateTime.Time;aryDateTime[i]=dateTime;}var findCount=0;var perData=null;var perIndex=-1;for(var i=0,j=0;i<kData.Data.length;++i){var kItem=kData.Data[i];for(j=0;j<aryDateTime.length;++j){var item=aryDateTime[j];if(item.Match)continue;if(ChartData.IsDayPeriod(period,true)){if(kItem.Date>item.Date){item.Match={KItem:perData,Index:perIndex};++findCount;}}else if(ChartData.IsMinutePeriod(period,true)){if(kItem.Date>item.Date||kItem.Date==item.Date&&kItem.Time>item.Time){item.Match={KItem:perData,Index:perIndex};++findCount;}}}perData=kItem;perIndex=i;if(findCount>=aryDateTime.length)break;}for(var i=0;i<aryDateTime.length;++i){var item=aryDateTime[i];var valueItem=this.Value[i];if(item.Match&&item.Match.KItem){valueItem.DateTime={Date:item.Match.Date,Time:item.Match.Time};valueItem.XValue=item.Match.Index;}else{valueItem.DateTime=null;valueItem.XValue=null;}}this.Period=period;};this.UpdateXValue=function()//通过datetime更新x的索引
6460
- {var data=this.GetkData();if(!data)return false;var aryDateTime=[];for(var i=0;i<this.Value.length;++i){var item=this.Value[i];if(!item.DateTime)break;var dateTime={Date:item.DateTime.Date};if(IFrameSplitOperator.IsNumber(item.DateTime.Time))dateTime.Time=item.DateTime.Time;aryDateTime[i]=dateTime;}data.FindDataIndexByDateTime(aryDateTime);for(var i=0;i<aryDateTime.length;++i){var findItem=aryDateTime[i];var valueItem=this.Value[i];if(findItem.Index>=0)valueItem.XValue=findItem.Index;}};//重置X索引数据
6462
+ var isHScreen=this.Frame.IsHScreen;this.Point=[];for(var i=0;i<this.Value.length;++i){var item=this.Value[i];var pt=new Point();if(isHScreen){pt.Y=this.Frame.GetXFromIndex(item.XValue-data.DataOffset,false);pt.X=this.Frame.GetYFromData(item.YValue,false);}else{pt.X=this.Frame.GetXFromIndex(item.XValue-data.DataOffset,false);pt.Y=this.Frame.GetYFromData(item.YValue,false);}this.Point[i]=pt;}};this.GetKData=function(){if(!this.Frame)return null;var data=this.Frame.Data;if(!data)return null;return data;};//周期变动 X重新定位
6463
+ this.ChangePeriod=function(period){var kData=this.GetKData();if(!kData)return;var aryDateTime=[];for(var i=0;i<this.Value.length;++i){var item=this.Value[i];if(!item.DateTime)break;var dateTime={Date:item.DateTime.Date,Time:0,Match:null};if(IFrameSplitOperator.IsNumber(item.DateTime.Time))dateTime.Time=item.DateTime.Time;aryDateTime[i]=dateTime;}var findCount=0;var perData=null;var perIndex=-1;for(var i=0,j=0;i<kData.Data.length;++i){var kItem=kData.Data[i];for(j=0;j<aryDateTime.length;++j){var item=aryDateTime[j];if(item.Match)continue;if(ChartData.IsDayPeriod(period,true)){if(kItem.Date>item.Date){item.Match={KItem:perData,Index:perIndex};++findCount;}}else if(ChartData.IsMinutePeriod(period,true)){if(kItem.Date>item.Date||kItem.Date==item.Date&&kItem.Time>item.Time){item.Match={KItem:perData,Index:perIndex};++findCount;}}}perData=kItem;perIndex=i;if(findCount>=aryDateTime.length)break;}for(var i=0;i<aryDateTime.length;++i){var item=aryDateTime[i];var valueItem=this.Value[i];if(item.Match&&item.Match.KItem){valueItem.DateTime={Date:item.Match.Date,Time:item.Match.Time};valueItem.XValue=item.Match.Index;}else{valueItem.DateTime=null;valueItem.XValue=null;}}this.Period=period;};this.UpdateXValue=function()//通过datetime更新x的索引
6464
+ {var data=this.GetKData();if(!data)return false;var aryDateTime=[];for(var i=0;i<this.Value.length;++i){var item=this.Value[i];if(!item.DateTime)break;var dateTime={Date:item.DateTime.Date};if(IFrameSplitOperator.IsNumber(item.DateTime.Time))dateTime.Time=item.DateTime.Time;aryDateTime[i]=dateTime;}data.FindDataIndexByDateTime(aryDateTime);for(var i=0;i<aryDateTime.length;++i){var findItem=aryDateTime[i];var valueItem=this.Value[i];if(findItem.Index>=0)valueItem.XValue=findItem.Index;}};//重置X索引数据
6461
6465
  this.ResetXValue=function(){for(var i=0;i<this.Value.length;++i){var item=this.Value[i];item.XValue=null;}return true;};//xStep,yStep 移动的偏移量
6462
6466
  this.Move=function(xStep,yStep){if(this.Status!=20)return false;if(!this.Frame)return false;var data=this.Frame.Data;if(!data)return false;if(this.MovePointIndex==null)return false;var index=parseInt(this.MovePointIndex);if(index===100)//整体移动
6463
6467
  {if(this.IsMoveOutOfBounds(this.Point,xStep,yStep))return false;for(var i in this.Point){this.Point[i].X+=xStep;this.Point[i].Y+=yStep;}}else if(index===0||index===1||index===2||index===3||index===4||index===5){if(index<this.Point.length){this.Point[index].X+=xStep;this.Point[index].Y+=yStep;}}else{return false;}};//是否超出边界了
@@ -7159,7 +7163,7 @@ var stockItem={Symbol:item.Symbol,MapPicture:new _map2.default()};for(var j=0;j<
7159
7163
  {if(!this.StorageKey)return;var saveData=[];var _iteratorNormalCompletion14=true;var _didIteratorError14=false;var _iteratorError14=undefined;try{for(var _iterator14=(0,_getIterator3.default)(this.DrawDataV2),_step14;!(_iteratorNormalCompletion14=(_step14=_iterator14.next()).done);_iteratorNormalCompletion14=true){var mapItem=_step14.value;var symbol=mapItem[0];var stockItem=mapItem[1];var itemData={Symbol:symbol,AryPicture:[]};var _iteratorNormalCompletion15=true;var _didIteratorError15=false;var _iteratorError15=undefined;try{for(var _iterator15=(0,_getIterator3.default)(stockItem.MapPicture),_step15;!(_iteratorNormalCompletion15=(_step15=_iterator15.next()).done);_iteratorNormalCompletion15=true){var pictureItem=_step15.value;var drawItem=pictureItem[1];if(drawItem.EnableSave===false)continue;itemData.AryPicture.push(drawItem);}}catch(err){_didIteratorError15=true;_iteratorError15=err;}finally{try{if(!_iteratorNormalCompletion15&&_iterator15.return){_iterator15.return();}}finally{if(_didIteratorError15){throw _iteratorError15;}}}if(IFrameSplitOperator.IsNonEmptyArray(itemData.AryPicture))saveData.push(itemData);}}catch(err){_didIteratorError14=true;_iteratorError14=err;}finally{try{if(!_iteratorNormalCompletion14&&_iterator14.return){_iterator14.return();}}finally{if(_didIteratorError14){throw _iteratorError14;}}}JSConsole.Chart.Log('[ChartDrawStorage::Save] save to localStorage, key='+this.StorageKey);var strData=(0,_stringify2.default)({Ver:2.0,Data:saveData});localStorage[this.StorageKey]=strData;};this.SaveDrawData=function(drawPicture)//保存一个画图工具
7160
7164
  {var symbol=drawPicture.Symbol;var data=drawPicture.ExportStorageData();if(!data)return;if(this.DrawDataV2.has(symbol))//更新
7161
7165
  {JSConsole.Chart.Log('[ChartDrawStorage::SaveDrawData] Upate: symbol, drawPicture, data',symbol,drawPicture,data);var stockItem=this.DrawDataV2.get(symbol);stockItem.MapPicture.set(data.Guid,data);}else//新增
7162
- {JSConsole.Chart.Log('[ChartDrawStorage::SaveDrawData] Insert: symbol, drawPicture, data',symbol,drawPicture,data);var stockItem={Symbol:symbol,MapPicture:new _map2.default()};stockItem.set(data.Guid,data);this.DrawDataV2.set(symbol,newData);}JSConsole.Chart.Log('[ChartDrawStorage::SaveDrawData] All draw data: ',this.DrawDataV2);this.Save();};this.DeleteDrawData=function(drawPicture)//删除一个画图工具
7166
+ {JSConsole.Chart.Log('[ChartDrawStorage::SaveDrawData] Insert: symbol, drawPicture, data',symbol,drawPicture,data);var stockItem={Symbol:symbol,MapPicture:new _map2.default()};stockItem.MapPicture.set(data.Guid,data);this.DrawDataV2.set(symbol,stockItem);}JSConsole.Chart.Log('[ChartDrawStorage::SaveDrawData] All draw data: ',this.DrawDataV2);this.Save();};this.DeleteDrawData=function(drawPicture)//删除一个画图工具
7163
7167
  {var symbol=drawPicture.Symbol;if(!this.DrawDataV2.has(symbol))return;var stockItem=this.DrawDataV2.get(symbol);if(!stockItem.MapPicture.has(drawPicture.Guid))return;stockItem.MapPicture.delete(drawPicture.Guid);this.Save();};this.Clear=function(){this.DrawDataV2=new _map2.default();this.Save();};this.GetDrawData=function(obj)//获取已有的画图工具数据{ Symbol: , Period:, }
7164
7168
  {var aryData=[];var symbol=obj.Symbol;if(!this.DrawDataV2.has(symbol))return aryData;var stockItem=this.DrawDataV2.get(symbol);var _iteratorNormalCompletion16=true;var _didIteratorError16=false;var _iteratorError16=undefined;try{for(var _iterator16=(0,_getIterator3.default)(stockItem.MapPicture),_step16;!(_iteratorNormalCompletion16=(_step16=_iterator16.next()).done);_iteratorNormalCompletion16=true){var mapItem=_step16.value;var drawItem=mapItem[1];if(this.EnableCrossPeriod){aryData.push(drawItem);}else{if(drawItem.Period==obj.Period)aryData.push(drawItem);}}}catch(err){_didIteratorError16=true;_iteratorError16=err;}finally{try{if(!_iteratorNormalCompletion16&&_iterator16.return){_iterator16.return();}}finally{if(_didIteratorError16){throw _iteratorError16;}}}return aryData;};}/////////////////////////////////////////////////////////////////////////////////////////////////////////
7165
7169
  // 数据分割
@@ -8985,7 +8989,7 @@ this.GetRightMenuData=function(frameID,option){var windowCount=this.Frame.SubFra
8985
8989
  var aryOverlaySymbol=[];//叠加的股票列表
8986
8990
  for(var i=0;i<this.OverlayChartPaint.length;++i){var item=this.OverlayChartPaint[i];if(item&&item.Symbol)aryOverlaySymbol.push(item.Symbol);}var bShowCorss=false;//十字光标十字线
8987
8991
  var bCorssDrawCloseLine=false;//十字光标只能画在走势图价格线上
8988
- var bCorssDrawVaildTime=false;var bCorssDrawPoint=false;var bCorssBCClick=false;if(this.ChartCorssCursor){bShowCorss=this.ChartCorssCursor.IsShowCorss;bCorssDrawCloseLine=this.ChartCorssCursor.IsOnlyDrawMinute;bCorssDrawVaildTime=this.ChartCorssCursor.IsFixXLastTime;bCorssDrawPoint=this.ChartCorssCursor.CorssPointConfig.Enable;bCorssBCClick=this.ChartCorssCursor.EnableDBClick;}var bRButtonSelectRect=false,bLButtonSelectRect=false;if(this.ChartDragSelectRect){bRButtonSelectRect=this.ChartDragSelectRect.EnableRButton;bLButtonSelectRect=this.ChartDragSelectRect.EnableLButton;}var bShowBuySellBar=this.IsShowMinuteBuySellBar();var minItem=null;if(frameID>=0&&option&&IFrameSplitOperator.IsNumber(option.CursorIndex)){var kData=this.GetKData();if(kData&&IFrameSplitOperator.IsNonEmptyArray(kData.Data)){var dataIndex=kData.DataOffset+parseInt(option.CursorIndex.toFixed(0));if(dataIndex>=0&&dataIndex<kData.Data.length)minItem=kData.Data[dataIndex];}}var aryMenu=[{Name:"叠加品种",SubMenu:[{Name:"上证指数",Data:{ID:JSCHART_MENU_ID.CMD_OVERLAY_SYMBOL_ID,Args:["000001.sh",!aryOverlaySymbol.includes("000001.sh")]},Checked:aryOverlaySymbol.includes("000001.sh")},{Name:"深证成指",Data:{ID:JSCHART_MENU_ID.CMD_OVERLAY_SYMBOL_ID,Args:["399001.sz",!aryOverlaySymbol.includes("399001.sz")]},Checked:aryOverlaySymbol.includes("399001.sz")},{Name:"中小板指",Data:{ID:JSCHART_MENU_ID.CMD_OVERLAY_SYMBOL_ID,Args:["399005.sz",!aryOverlaySymbol.includes("399005.sz")]},Checked:aryOverlaySymbol.includes("399005.sz")},{Name:"创业板指",Data:{ID:JSCHART_MENU_ID.CMD_OVERLAY_SYMBOL_ID,Args:["399006.sz",!aryOverlaySymbol.includes("399006.sz")]},Checked:aryOverlaySymbol.includes("399006.sz")},{Name:"沪深300",Data:{ID:JSCHART_MENU_ID.CMD_OVERLAY_SYMBOL_ID,Args:["000300.sh",!aryOverlaySymbol.includes("000300.sh")]},Checked:aryOverlaySymbol.includes("000300.sh")}]},{Name:"多日分时图",SubMenu:[{Name:"当日分时图",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DAY_COUNT_ID,Args:[1]},Checked:this.DayCount==1},{Name:"最近2日",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DAY_COUNT_ID,Args:[2]},Checked:this.DayCount==2},{Name:"最近3日",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DAY_COUNT_ID,Args:[3]},Checked:this.DayCount==3},{Name:"最近4日",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DAY_COUNT_ID,Args:[4]},Checked:this.DayCount==4},{Name:"最近5日",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DAY_COUNT_ID,Args:[5]},Checked:this.DayCount==5},{Name:"基准线选择",SubMenu:[{Name:"最新昨收价",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_BASELINE_ID,Args:[0]},Checked:this.BaselineType===0},{Name:"多日前昨收价",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_BASELINE_ID,Args:[1]},Checked:this.BaselineType===1}]}]},{Name:"指标窗口个数",SubMenu:[{Name:"1个窗口",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_WINDOW_COUNT_ID,Args:[2]},Checked:3==windowCount},{Name:"2个窗口",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_WINDOW_COUNT_ID,Args:[3]},Checked:4==windowCount},{Name:"3个窗口",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_WINDOW_COUNT_ID,Args:[4]},Checked:5==windowCount},{Name:"4个窗口",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_WINDOW_COUNT_ID,Args:[5]},Checked:6==windowCount},{Name:"5个窗口",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_WINDOW_COUNT_ID,Args:[6]},Checked:7==windowCount}]},{Name:"指标切换",SubMenu:[{Name:"MACD",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"MACD"]}},{Name:"DMI",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"DMI"]}},{Name:"DMA",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"DMA"]}},{Name:"BRAR",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"BRAR"]}},{Name:"KDJ",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"KDJ"]}},{Name:"RSI",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"RSI"]}},{Name:"WR",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"WR"]}},{Name:"CCI",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"CCI"]}},{Name:"TRIX",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"TRIX"]}}]},{Name:"区间选择",SubMenu:[{Name:"左键区间选择",Data:{ID:JSCHART_MENU_ID.CMD_LBUTTON_SELECT_RECT_ID,Args:[!bLButtonSelectRect]},Checked:bLButtonSelectRect},{Name:"右键区间选择",Data:{ID:JSCHART_MENU_ID.CMD_RBUTTON_SELECT_RECT_ID,Args:[!bRButtonSelectRect]},Checked:bRButtonSelectRect}]},{Name:"十字光标",SubMenu:[{Name:"显示",Data:{ID:JSCHART_MENU_ID.CMD_SHOW_CORSS_LINE_ID,Args:[!bShowCorss]},Checked:bShowCorss},{Name:"画在价格线上",Data:{ID:JSCHART_MENU_ID.CMD_CORSS_ON_CLOSE_LINE_ID,Args:[!bCorssDrawCloseLine]},Checked:bCorssDrawCloseLine},{Name:"画在有效X轴上",Data:{ID:JSCHART_MENU_ID.CMD_CORSS_ON_VAILD_TIME_ID,Args:[!bCorssDrawVaildTime]},Checked:bCorssDrawVaildTime},{Name:"画圆点",Data:{ID:JSCHART_MENU_ID.CMD_CORSS_POINT_ID,Args:[!bCorssDrawPoint]},Checked:bCorssDrawPoint},{Name:"双击显示/隐藏",Data:{ID:JSCHART_MENU_ID.CMD_CORSS_DBCLICK_ID,Args:[!bCorssBCClick]},Checked:bCorssBCClick}]},{Name:"其他设置",SubMenu:[{Name:"画图工具",Data:{ID:JSCHART_MENU_ID.CMD_SHOW_DRAWTOOL_ID,Args:[]},Checked:this.IsShowDrawToolDialog()},{Name:"盘口分析",Data:{ID:JSCHART_MENU_ID.CMD_SHOW_BUYSELL_BAR_ID,Args:[!bShowBuySellBar]},Checked:bShowBuySellBar},{Name:JSPopMenu.SEPARATOR_LINE_NAME},{Name:"语言设置",SubMenu:[{Name:"中文",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_LANGUAGE_ID,Args:["CN"]},Checked:this.LanguageID==JSCHART_LANGUAGE_ID.LANGUAGE_CHINESE_ID},{Name:"英语",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_LANGUAGE_ID,Args:["EN"]},Checked:this.LanguageID==JSCHART_LANGUAGE_ID.LANGUAGE_ENGLISH_ID},{Name:"繁体",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_LANGUAGE_ID,Args:["TC"]},Checked:this.LanguageID==JSCHART_LANGUAGE_ID.LANGUAGE_TRADITIONAL_CHINESE_ID}]},{Name:"区间选择样式",SubMenu:[{Name:"样式1(默认)",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DRAG_RECT_SHOW_MODE_ID,Args:[0]},Checked:0==this.ChartDragSelectRect.ShowMode},{Name:"样式2",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DRAG_RECT_SHOW_MODE_ID,Args:[1]},Checked:1==this.ChartDragSelectRect.ShowMode},{Name:"样式3",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DRAG_RECT_SHOW_MODE_ID,Args:[2]},Checked:2==this.ChartDragSelectRect.ShowMode}]},{Name:"K线浮动框",SubMenu:[{Name:"禁用",Data:{ID:JSCHART_MENU_ID.CMD_DIALOG_TOOLTIP_ATTRIBUTE,Args:[{Enable:false}]},Checked:!this.DialogTooltip},{Name:"样式1",Data:{ID:JSCHART_MENU_ID.CMD_DIALOG_TOOLTIP_ATTRIBUTE,Args:[{Enable:true,Style:0}]},Checked:this.DialogTooltip&&this.DialogTooltip.Style===0},{Name:"样式2",Data:{ID:JSCHART_MENU_ID.CMD_DIALOG_TOOLTIP_ATTRIBUTE,Args:[{Enable:true,Style:1}]},Checked:this.DialogTooltip&&this.DialogTooltip.Style===1}]}]}];if(MARKET_SUFFIX_NAME.IsEnableCallAuction(this.Symbol)){var item={Name:"集合竞价",SubMenu:[]};var bShow=this.IsShowAfterData&&this.IsShowBeforeData;var subItem={Name:"盘后盘前(单日)",Data:{ID:JSCHART_MENU_ID.CMD_SHOW_CALLCATION_ID,Args:[{Left:!bShow,Right:!bShow}]},Checked:bShow};item.SubMenu.push(subItem);var subItem={Name:"盘前(单日)",Data:{ID:JSCHART_MENU_ID.CMD_SHOW_CALLCATION_ID,Args:[{Left:!this.IsShowBeforeData}]},Checked:this.IsShowBeforeData};item.SubMenu.push(subItem);var subItem={Name:"盘后(单日)",Data:{ID:JSCHART_MENU_ID.CMD_SHOW_CALLCATION_ID,Args:[{Right:!this.IsShowAfterData}]},Checked:this.IsShowAfterData};item.SubMenu.push(subItem);var bShow=this.IsShowMultiDayBeforeData&&this.IsShowMultiDayAfterData;var subItem={Name:"盘后盘前(多日)",Data:{ID:JSCHART_MENU_ID.CMD_SHOW_CALLCATION_ID,Args:[{MultiDay:{Left:!bShow,Right:!bShow}}]},Checked:bShow};item.SubMenu.push(subItem);var subItem={Name:"盘前(多日)",Data:{ID:JSCHART_MENU_ID.CMD_SHOW_CALLCATION_ID,Args:[{MultiDay:{Left:!this.IsShowMultiDayBeforeData}}]},Checked:this.IsShowMultiDayBeforeData};item.SubMenu.push(subItem);var subItem={Name:"盘后(多日)",Data:{ID:JSCHART_MENU_ID.CMD_SHOW_CALLCATION_ID,Args:[{MultiDay:{Right:!this.IsShowMultiDayAfterData}}]},Checked:this.IsShowMultiDayAfterData};item.SubMenu.push(subItem);aryMenu.splice(4,0,item);}for(var i=0;i<aryMenu.length;++i){var item=aryMenu[i];if(item.Name=="叠加品种")//删除菜单
8992
+ var bCorssDrawVaildTime=false;var bCorssDrawPoint=false;var bCorssBCClick=false;if(this.ChartCorssCursor){bShowCorss=this.ChartCorssCursor.IsShowCorss;bCorssDrawCloseLine=this.ChartCorssCursor.IsOnlyDrawMinute;bCorssDrawVaildTime=this.ChartCorssCursor.IsFixXLastTime;bCorssDrawPoint=this.ChartCorssCursor.CorssPointConfig.Enable;bCorssBCClick=this.ChartCorssCursor.EnableDBClick;}var bRButtonSelectRect=false,bLButtonSelectRect=false;if(this.ChartDragSelectRect){bRButtonSelectRect=this.ChartDragSelectRect.EnableRButton;bLButtonSelectRect=this.ChartDragSelectRect.EnableLButton;}var bShowBuySellBar=this.IsShowMinuteBuySellBar();var minItem=null;if(frameID>=0&&option&&IFrameSplitOperator.IsNumber(option.CursorIndex)){var kData=this.GetKData();if(kData&&IFrameSplitOperator.IsNonEmptyArray(kData.Data)){var dataIndex=kData.DataOffset+parseInt(option.CursorIndex.toFixed(0));if(dataIndex>=0&&dataIndex<kData.Data.length)minItem=kData.Data[dataIndex];}}var rightTextFormat=0;if(this.Frame.SubFrame[0]&&this.Frame.SubFrame[0].Frame&&this.Frame.SubFrame[0].Frame.YSplitOperator){var ySpliter=this.Frame.SubFrame[0].Frame.YSplitOperator;if(ySpliter.RightTextConfig)rightTextFormat=ySpliter.RightTextConfig.Format;}var aryMenu=[{Name:"叠加品种",SubMenu:[{Name:"上证指数",Data:{ID:JSCHART_MENU_ID.CMD_OVERLAY_SYMBOL_ID,Args:["000001.sh",!aryOverlaySymbol.includes("000001.sh")]},Checked:aryOverlaySymbol.includes("000001.sh")},{Name:"深证成指",Data:{ID:JSCHART_MENU_ID.CMD_OVERLAY_SYMBOL_ID,Args:["399001.sz",!aryOverlaySymbol.includes("399001.sz")]},Checked:aryOverlaySymbol.includes("399001.sz")},{Name:"中小板指",Data:{ID:JSCHART_MENU_ID.CMD_OVERLAY_SYMBOL_ID,Args:["399005.sz",!aryOverlaySymbol.includes("399005.sz")]},Checked:aryOverlaySymbol.includes("399005.sz")},{Name:"创业板指",Data:{ID:JSCHART_MENU_ID.CMD_OVERLAY_SYMBOL_ID,Args:["399006.sz",!aryOverlaySymbol.includes("399006.sz")]},Checked:aryOverlaySymbol.includes("399006.sz")},{Name:"沪深300",Data:{ID:JSCHART_MENU_ID.CMD_OVERLAY_SYMBOL_ID,Args:["000300.sh",!aryOverlaySymbol.includes("000300.sh")]},Checked:aryOverlaySymbol.includes("000300.sh")}]},{Name:"多日分时图",SubMenu:[{Name:"当日分时图",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DAY_COUNT_ID,Args:[1]},Checked:this.DayCount==1},{Name:"最近2日",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DAY_COUNT_ID,Args:[2]},Checked:this.DayCount==2},{Name:"最近3日",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DAY_COUNT_ID,Args:[3]},Checked:this.DayCount==3},{Name:"最近4日",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DAY_COUNT_ID,Args:[4]},Checked:this.DayCount==4},{Name:"最近5日",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DAY_COUNT_ID,Args:[5]},Checked:this.DayCount==5},{Name:"基准线选择",SubMenu:[{Name:"最新昨收价",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_BASELINE_ID,Args:[0]},Checked:this.BaselineType===0},{Name:"多日前昨收价",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_BASELINE_ID,Args:[1]},Checked:this.BaselineType===1}]}]},{Name:"指标窗口个数",SubMenu:[{Name:"1个窗口",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_WINDOW_COUNT_ID,Args:[2]},Checked:3==windowCount},{Name:"2个窗口",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_WINDOW_COUNT_ID,Args:[3]},Checked:4==windowCount},{Name:"3个窗口",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_WINDOW_COUNT_ID,Args:[4]},Checked:5==windowCount},{Name:"4个窗口",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_WINDOW_COUNT_ID,Args:[5]},Checked:6==windowCount},{Name:"5个窗口",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_WINDOW_COUNT_ID,Args:[6]},Checked:7==windowCount}]},{Name:"指标切换",SubMenu:[{Name:"MACD",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"MACD"]}},{Name:"DMI",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"DMI"]}},{Name:"DMA",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"DMA"]}},{Name:"BRAR",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"BRAR"]}},{Name:"KDJ",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"KDJ"]}},{Name:"RSI",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"RSI"]}},{Name:"WR",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"WR"]}},{Name:"CCI",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"CCI"]}},{Name:"TRIX",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"TRIX"]}}]},{Name:"区间选择",SubMenu:[{Name:"左键区间选择",Data:{ID:JSCHART_MENU_ID.CMD_LBUTTON_SELECT_RECT_ID,Args:[!bLButtonSelectRect]},Checked:bLButtonSelectRect},{Name:"右键区间选择",Data:{ID:JSCHART_MENU_ID.CMD_RBUTTON_SELECT_RECT_ID,Args:[!bRButtonSelectRect]},Checked:bRButtonSelectRect}]},{Name:"十字光标",SubMenu:[{Name:"显示",Data:{ID:JSCHART_MENU_ID.CMD_SHOW_CORSS_LINE_ID,Args:[!bShowCorss]},Checked:bShowCorss},{Name:"画在价格线上",Data:{ID:JSCHART_MENU_ID.CMD_CORSS_ON_CLOSE_LINE_ID,Args:[!bCorssDrawCloseLine]},Checked:bCorssDrawCloseLine},{Name:"画在有效X轴上",Data:{ID:JSCHART_MENU_ID.CMD_CORSS_ON_VAILD_TIME_ID,Args:[!bCorssDrawVaildTime]},Checked:bCorssDrawVaildTime},{Name:"画圆点",Data:{ID:JSCHART_MENU_ID.CMD_CORSS_POINT_ID,Args:[!bCorssDrawPoint]},Checked:bCorssDrawPoint},{Name:"双击显示/隐藏",Data:{ID:JSCHART_MENU_ID.CMD_CORSS_DBCLICK_ID,Args:[!bCorssBCClick]},Checked:bCorssBCClick}]},{Name:"其他设置",SubMenu:[{Name:"画图工具",Data:{ID:JSCHART_MENU_ID.CMD_SHOW_DRAWTOOL_ID,Args:[]},Checked:this.IsShowDrawToolDialog()},{Name:"盘口分析",Data:{ID:JSCHART_MENU_ID.CMD_SHOW_BUYSELL_BAR_ID,Args:[!bShowBuySellBar]},Checked:bShowBuySellBar},{Name:JSPopMenu.SEPARATOR_LINE_NAME},{Name:"主图右侧坐标",SubMenu:[{Name:"百分比",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_YRIGHT_TEXT_FORMAT,Args:[0]},Checked:rightTextFormat===0},{Name:"价格",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_YRIGHT_TEXT_FORMAT,Args:[1]},Checked:rightTextFormat===1},{Name:"价格/百分比",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_YRIGHT_TEXT_FORMAT,Args:[2]},Checked:rightTextFormat===2}]},{Name:"语言设置",SubMenu:[{Name:"中文",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_LANGUAGE_ID,Args:["CN"]},Checked:this.LanguageID==JSCHART_LANGUAGE_ID.LANGUAGE_CHINESE_ID},{Name:"英语",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_LANGUAGE_ID,Args:["EN"]},Checked:this.LanguageID==JSCHART_LANGUAGE_ID.LANGUAGE_ENGLISH_ID},{Name:"繁体",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_LANGUAGE_ID,Args:["TC"]},Checked:this.LanguageID==JSCHART_LANGUAGE_ID.LANGUAGE_TRADITIONAL_CHINESE_ID}]},{Name:"区间选择样式",SubMenu:[{Name:"样式1(默认)",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DRAG_RECT_SHOW_MODE_ID,Args:[0]},Checked:0==this.ChartDragSelectRect.ShowMode},{Name:"样式2",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DRAG_RECT_SHOW_MODE_ID,Args:[1]},Checked:1==this.ChartDragSelectRect.ShowMode},{Name:"样式3",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DRAG_RECT_SHOW_MODE_ID,Args:[2]},Checked:2==this.ChartDragSelectRect.ShowMode}]},{Name:"K线浮动框",SubMenu:[{Name:"禁用",Data:{ID:JSCHART_MENU_ID.CMD_DIALOG_TOOLTIP_ATTRIBUTE,Args:[{Enable:false}]},Checked:!this.DialogTooltip},{Name:"样式1",Data:{ID:JSCHART_MENU_ID.CMD_DIALOG_TOOLTIP_ATTRIBUTE,Args:[{Enable:true,Style:0}]},Checked:this.DialogTooltip&&this.DialogTooltip.Style===0},{Name:"样式2",Data:{ID:JSCHART_MENU_ID.CMD_DIALOG_TOOLTIP_ATTRIBUTE,Args:[{Enable:true,Style:1}]},Checked:this.DialogTooltip&&this.DialogTooltip.Style===1}]}]}];if(MARKET_SUFFIX_NAME.IsEnableCallAuction(this.Symbol)){var item={Name:"集合竞价",SubMenu:[]};var bShow=this.IsShowAfterData&&this.IsShowBeforeData;var subItem={Name:"盘后盘前(单日)",Data:{ID:JSCHART_MENU_ID.CMD_SHOW_CALLCATION_ID,Args:[{Left:!bShow,Right:!bShow}]},Checked:bShow};item.SubMenu.push(subItem);var subItem={Name:"盘前(单日)",Data:{ID:JSCHART_MENU_ID.CMD_SHOW_CALLCATION_ID,Args:[{Left:!this.IsShowBeforeData}]},Checked:this.IsShowBeforeData};item.SubMenu.push(subItem);var subItem={Name:"盘后(单日)",Data:{ID:JSCHART_MENU_ID.CMD_SHOW_CALLCATION_ID,Args:[{Right:!this.IsShowAfterData}]},Checked:this.IsShowAfterData};item.SubMenu.push(subItem);var bShow=this.IsShowMultiDayBeforeData&&this.IsShowMultiDayAfterData;var subItem={Name:"盘后盘前(多日)",Data:{ID:JSCHART_MENU_ID.CMD_SHOW_CALLCATION_ID,Args:[{MultiDay:{Left:!bShow,Right:!bShow}}]},Checked:bShow};item.SubMenu.push(subItem);var subItem={Name:"盘前(多日)",Data:{ID:JSCHART_MENU_ID.CMD_SHOW_CALLCATION_ID,Args:[{MultiDay:{Left:!this.IsShowMultiDayBeforeData}}]},Checked:this.IsShowMultiDayBeforeData};item.SubMenu.push(subItem);var subItem={Name:"盘后(多日)",Data:{ID:JSCHART_MENU_ID.CMD_SHOW_CALLCATION_ID,Args:[{MultiDay:{Right:!this.IsShowMultiDayAfterData}}]},Checked:this.IsShowMultiDayAfterData};item.SubMenu.push(subItem);aryMenu.splice(4,0,item);}for(var i=0;i<aryMenu.length;++i){var item=aryMenu[i];if(item.Name=="叠加品种")//删除菜单
8989
8993
  {for(var j=0;j<item.SubMenu.length;++j){if(item.SubMenu[j].Checked){item.SubMenu.push({Name:JSPopMenu.SEPARATOR_LINE_NAME});item.SubMenu.push({Name:"取消叠加",Data:{ID:JSCHART_MENU_ID.CMD_DELETE_ALL_OVERLAY_SYMBOL_ID}});break;}}}else if(item.Name=="十字光标"){if(minItem){var bLocked=this.IsLockCorssCursor();if(bLocked)item.SubMenu.push({Name:"锁十字光标",Data:{ID:JSCHART_MENU_ID.CMD_UNLOCK_CROSSCURSOR},Checked:bLocked});else item.SubMenu.push({Name:"锁十字光标",Data:{ID:JSCHART_MENU_ID.CMD_LOCK_CROSSCURSOR,Args:[{KItem:{Date:minItem.Date,Time:minItem.Time},Draw:true}]},Checked:bLocked});}}}return aryMenu;};this.OnWheel=function(e){JSConsole.Chart.Log('[MinuteChartContainer::OnWheel]',e);if(this.ChartSplashPaint&&this.ChartSplashPaint.IsEnableSplash==true)return;var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;var isInClient=false;var rtClient={Left:this.Frame.ChartBorder.GetLeft(),Right:this.Frame.ChartBorder.GetRight(),Top:this.Frame.ChartBorder.GetTop(),Bottom:this.Frame.ChartBorder.GetBottom(),Width:this.Frame.ChartBorder.GetWidth(),Height:this.Frame.ChartBorder.GetHeight()};if(x>=rtClient.Left&&x<=rtClient.Right&&y>=rtClient.Top&&y<=rtClient.Bottom)isInClient=true;var bPreventDefault=false;if(this.OnWheel_ChangeDayCount(e,x,y))//ctrl+上下滚轴
8990
8994
  {bPreventDefault=true;}else{if(this.OnWheel_ZoomUpDownFrameY(e,x,y))bPreventDefault=true;}if(bPreventDefault){if(e.preventDefault)e.preventDefault();else e.returnValue=false;}};//通过滚轴缩放Y轴
8991
8995
  this.OnWheel_ZoomUpDownFrameY=function(e,x,y){if(!this.EnableYDrag.Wheel)return false;var frameID=this.Frame.PtInFrame(x,y);if(frameID<0)return false;var frame=this.Frame.SubFrame[frameID].Frame;var splitOper=frame.YSplitOperator;if(!splitOper||!splitOper.FixedYMaxMin)return false;//Y轴缩放状态下才有效
@@ -15333,7 +15337,7 @@ hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,St
15333
15337
  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);};}/********************************************************************************
15334
15338
  * 版本信息输出
15335
15339
  *
15336
- */var HQCHART_VERSION="1.1.15045";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();//把给外界调用的方法暴露出来
15340
+ */var HQCHART_VERSION="1.1.15052";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();//把给外界调用的方法暴露出来
15337
15341
  exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
15338
15342
  // BaseIndex:BaseIndex,
15339
15343
  // ChartLine:ChartLine,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hqchart",
3
- "version": "1.1.15046",
3
+ "version": "1.1.15053",
4
4
  "description": "HQChart - H5, 微信小程序 沪深/港股/数字货币/期货/美股 K线图(kline),走势图,缩放,拖拽,十字光标,画图工具,截图,筹码图. 分析家语法,通达信语法,(麦语法),第3方数据对接",
5
5
  "main": "lib/main.js",
6
6
  "scripts": {
@@ -1186,11 +1186,19 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
1186
1186
 
1187
1187
  if (i==0)
1188
1188
  {
1189
- if (IFrameSplitOperator.IsNumber(item.RightTextFormat))
1189
+ if (IFrameSplitOperator.IsNumber(item.RightTextFormat)) //废弃
1190
1190
  {
1191
- subFrame.YSplitOperator.RightTextFormat=item.RightTextFormat;
1191
+ subFrame.YSplitOperator.RightTextConfig.Format=item.RightTextFormat;
1192
1192
  if (item.RightTextFormat==2) subFrame.MultiTextFormat=1;
1193
1193
  }
1194
+
1195
+ if (item.RightText) //主图右侧坐标设置
1196
+ {
1197
+ var subItem=item.RightText;
1198
+ if (IFrameSplitOperator.IsNumber(subItem.Format)) subFrame.YSplitOperator.RightTextConfig.Format=subItem.Format;
1199
+ if (subItem.Format==2) subFrame.MultiTextFormat=1;
1200
+ if (subItem.Percentage && IFrameSplitOperator.IsNumber(subItem.Percentage.Dec)) subFrame.YSplitOperator.RightTextConfig.Percentage.Dec=subItem.Percentage.Dec;
1201
+ }
1194
1202
  }
1195
1203
  }
1196
1204
 
@@ -1442,6 +1450,7 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
1442
1450
  {
1443
1451
  var item=option.Frame[i];
1444
1452
  if (!chart.Frame.SubFrame[i]) continue;
1453
+ var subFrame=chart.Frame.SubFrame[i].Frame;
1445
1454
  if (item.SplitCount) chart.Frame.SubFrame[i].Frame.YSplitOperator.SplitCount=item.SplitCount;
1446
1455
  if (item.StringFormat) chart.Frame.SubFrame[i].Frame.YSplitOperator.StringFormat=item.StringFormat;
1447
1456
  if (IFrameSplitOperator.IsNumber(item.SplitType))
@@ -1461,7 +1470,7 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
1461
1470
  }
1462
1471
  if (item.Height>=0) chart.Frame.SubFrame[i].Height = item.Height;
1463
1472
  if (item.Custom) chart.Frame.SubFrame[i].Frame.YSplitOperator.Custom=item.Custom;
1464
- if (item.RightTextFormat>0) chart.Frame.SubFrame[i].Frame.YSplitOperator.RightTextFormat=item.RightTextFormat;
1473
+
1465
1474
  if (IFrameSplitOperator.IsNumber(item.TitleHeight)) chart.Frame.SubFrame[i].Frame.ChartBorder.TitleHeight=item.TitleHeight;
1466
1475
  if (IFrameSplitOperator.IsNumber(item.BorderLine)) chart.Frame.SubFrame[i].Frame.BorderLine=item.BorderLine;
1467
1476
  if (IFrameSplitOperator.IsBool(item.EnableRemoveZero)) chart.Frame.SubFrame[i].Frame.YSplitOperator.EnableRemoveZero=item.EnableRemoveZero;
@@ -1469,6 +1478,11 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
1469
1478
  if (IFrameSplitOperator.IsBool(item.IsShowXLine)) chart.Frame.SubFrame[i].Frame.IsShowXLine=item.IsShowXLine;
1470
1479
  if (IFrameSplitOperator.IsBool(item.IsShowYLine)) chart.Frame.SubFrame[i].Frame.IsShowYLine=item.IsShowYLine;
1471
1480
  if (IFrameSplitOperator.IsNumber(item.YTextBaseline)) chart.Frame.SubFrame[i].Frame.YTextBaseline=item.YTextBaseline;
1481
+
1482
+ if (i==0)
1483
+ {
1484
+ if (IFrameSplitOperator.IsNumber(item.RightTextFormat)) subFrame.YSplitOperator.RightTextConfig.Format=item.RightTextFormat;
1485
+ }
1472
1486
  }
1473
1487
  }
1474
1488
 
@@ -3073,6 +3087,8 @@ var JSCHART_MENU_ID=
3073
3087
  CMD_CORSS_SHOW_INCREASE_ID:60, //十字光标 底部显示"至今涨幅"
3074
3088
  CMD_CORSS_X_TEXTALIGN_ID:61, //十字光标 底部文字对齐方式
3075
3089
 
3090
+ CMD_CHANGE_YRIGHT_TEXT_FORMAT:62, //分时图主图 右侧刻度格式
3091
+
3076
3092
 
3077
3093
  CMD_REPORT_CHANGE_BLOCK_ID:100, //报价列表 切换板块ID
3078
3094
  CMD_REPORT_COLUMN_SORT_ID:101, //报价列表 表头排序 Arg[列序号, 排序方向]
@@ -3080,6 +3096,8 @@ var JSCHART_MENU_ID=
3080
3096
  CMD_REPORT_COLUMN_MOVE_ID:103, //报价列表 列移动
3081
3097
  CMD_REPORT_COLUMN_FILTER_ID:104, //报价列表 筛选
3082
3098
  CMD_REPORT_CHANGE_COLUMN_ID:105, //报价列表 切换列 Arg[Column, ]
3099
+
3100
+
3083
3101
  }
3084
3102
 
3085
3103
  var JSCHART_TRADE_STATUS_ID=
@@ -11663,6 +11681,16 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
11663
11681
  this.Draw();
11664
11682
  }
11665
11683
  break;
11684
+ case JSCHART_MENU_ID.CMD_CHANGE_YRIGHT_TEXT_FORMAT:
11685
+ if (param==null) return false;
11686
+ if (!this.Frame.SubFrame[0] || !this.Frame.SubFrame[0].Frame) return false;
11687
+ var frame=this.Frame.SubFrame[0].Frame;
11688
+ if (!frame.YSplitOperator || !frame.YSplitOperator.RightTextConfig) return false;
11689
+
11690
+ frame.YSplitOperator.RightTextConfig.Format=param;
11691
+ this.ResetFrameXYSplit();
11692
+ this.Draw();
11693
+ break;
11666
11694
  }
11667
11695
  }
11668
11696
 
@@ -56782,7 +56810,8 @@ function FrameSplitMinutePriceY()
56782
56810
  this.DefaultSplitType=0;
56783
56811
  this.LimitPrice; //{Max: Min:} 涨跌停价
56784
56812
  this.Custom;
56785
- this.RightTextFormat=0; //右边刻度显示模式 0=百分比 1=价格 2=价格 | 百分比
56813
+ //this.RightTextFormat=0; //右边刻度显示模式 0=百分比 1=价格 2=价格 | 百分比 !!! 废弃, 用下面的格式
56814
+ this.RightTextConfig={ Percentage:{ Dec:2 }, Format:0 } //Percentage:{ Dec: 百分比小数位数 }, Format: 0=百分比 1=价格 2=价格 | 百分比
56786
56815
 
56787
56816
  this.BeforeOpenData;
56788
56817
  this.IsBeforeData=false;
@@ -57244,8 +57273,10 @@ function FrameSplitMinutePriceY()
57244
57273
 
57245
57274
  if (this.IsShowRightText)
57246
57275
  {
57247
- if (this.RightTextFormat==1) coordinate.Message[1]=strPrice;
57248
- else coordinate.Message[1]='0.00%'; //百分比
57276
+ var value=0;
57277
+ var dec=this.RightTextConfig.Percentage.Dec;
57278
+ if (this.RightTextConfig.Format==1) coordinate.Message[1]=strPrice;
57279
+ else coordinate.Message[1]=`${value.toFixed(dec)}%`; //百分比
57249
57280
  }
57250
57281
 
57251
57282
  this.Frame.HorizontalInfo.push(coordinate);
@@ -57331,15 +57362,17 @@ function FrameSplitMinutePriceY()
57331
57362
  var per=(price/this.YClose-1)*100;
57332
57363
  if (per>0) coordinate.TextColor=g_JSChartResource.UpTextColor;
57333
57364
  else if (per<0) coordinate.TextColor=g_JSChartResource.DownTextColor;
57334
- var strPer=`${IFrameSplitOperator.FormatValueString(per,2)}%`;
57365
+
57366
+ var dec=this.RightTextConfig.Percentage.Dec;
57367
+ var strPer=`${IFrameSplitOperator.FormatValueString(per,dec)}%`;
57335
57368
 
57336
57369
  if (this.IsShowRightText)
57337
57370
  {
57338
- if (this.RightTextFormat==1)
57371
+ if (this.RightTextConfig.Format==1)
57339
57372
  {
57340
57373
  coordinate.Message[1]=strPrice;
57341
57374
  }
57342
- else if (this.RightTextFormat==2) //价格/百分比
57375
+ else if (this.RightTextConfig.Format==2) //价格/百分比
57343
57376
  {
57344
57377
  coordinate.Message[1]=[ {Text:strPrice}, {Text:"/"}, { Text:strPer} ];
57345
57378
  }
@@ -64637,7 +64670,7 @@ function IChartDrawPicture()
64637
64670
  }
64638
64671
  }
64639
64672
 
64640
- this.GetkData=function()
64673
+ this.GetKData=function()
64641
64674
  {
64642
64675
  if (!this.Frame) return null;
64643
64676
  var data=this.Frame.Data;
@@ -64649,7 +64682,7 @@ function IChartDrawPicture()
64649
64682
  //周期变动 X重新定位
64650
64683
  this.ChangePeriod=function(period)
64651
64684
  {
64652
- var kData=this.GetkData();
64685
+ var kData=this.GetKData();
64653
64686
  if (!kData) return;
64654
64687
 
64655
64688
  var aryDateTime=[];
@@ -64719,7 +64752,7 @@ function IChartDrawPicture()
64719
64752
 
64720
64753
  this.UpdateXValue=function() //通过datetime更新x的索引
64721
64754
  {
64722
- var data=this.GetkData();
64755
+ var data=this.GetKData();
64723
64756
  if (!data) return false;
64724
64757
 
64725
64758
  var aryDateTime=[];
@@ -76528,8 +76561,8 @@ function ChartDrawStorage()
76528
76561
  {
76529
76562
  JSConsole.Chart.Log('[ChartDrawStorage::SaveDrawData] Insert: symbol, drawPicture, data', symbol, drawPicture,data);
76530
76563
  var stockItem={ Symbol:symbol, MapPicture:new Map() } ;
76531
- stockItem.set(data.Guid, data);
76532
- this.DrawDataV2.set(symbol,newData);
76564
+ stockItem.MapPicture.set(data.Guid, data);
76565
+ this.DrawDataV2.set(symbol,stockItem);
76533
76566
  }
76534
76567
 
76535
76568
  JSConsole.Chart.Log('[ChartDrawStorage::SaveDrawData] All draw data: ', this.DrawDataV2);
@@ -91883,6 +91916,14 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
91883
91916
  }
91884
91917
  }
91885
91918
 
91919
+ var rightTextFormat=0;
91920
+ if (this.Frame.SubFrame[0] && this.Frame.SubFrame[0].Frame && this.Frame.SubFrame[0].Frame.YSplitOperator)
91921
+ {
91922
+ var ySpliter=this.Frame.SubFrame[0].Frame.YSplitOperator;
91923
+ if (ySpliter.RightTextConfig)
91924
+ rightTextFormat=ySpliter.RightTextConfig.Format;
91925
+ }
91926
+
91886
91927
  var aryMenu=
91887
91928
  [
91888
91929
  {
@@ -91971,6 +92012,16 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
91971
92012
  { Name:"盘口分析", Data:{ ID:JSCHART_MENU_ID.CMD_SHOW_BUYSELL_BAR_ID, Args:[!bShowBuySellBar]}, Checked:bShowBuySellBar },
91972
92013
 
91973
92014
  { Name:JSPopMenu.SEPARATOR_LINE_NAME },
92015
+
92016
+ {
92017
+ Name:"主图右侧坐标",
92018
+ SubMenu:
92019
+ [
92020
+ { Name:"百分比", Data:{ ID:JSCHART_MENU_ID.CMD_CHANGE_YRIGHT_TEXT_FORMAT, Args:[0]}, Checked:rightTextFormat===0 },
92021
+ { Name:"价格", Data:{ ID:JSCHART_MENU_ID.CMD_CHANGE_YRIGHT_TEXT_FORMAT, Args:[1]}, Checked:rightTextFormat===1 },
92022
+ { Name:"价格/百分比", Data:{ ID:JSCHART_MENU_ID.CMD_CHANGE_YRIGHT_TEXT_FORMAT, Args:[2]}, Checked:rightTextFormat===2 },
92023
+ ]
92024
+ },
91974
92025
 
91975
92026
  {
91976
92027
  Name:"语言设置",
@@ -5282,11 +5282,19 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
5282
5282
 
5283
5283
  if (i==0)
5284
5284
  {
5285
- if (IFrameSplitOperator.IsNumber(item.RightTextFormat))
5285
+ if (IFrameSplitOperator.IsNumber(item.RightTextFormat)) //废弃
5286
5286
  {
5287
- subFrame.YSplitOperator.RightTextFormat=item.RightTextFormat;
5287
+ subFrame.YSplitOperator.RightTextConfig.Format=item.RightTextFormat;
5288
5288
  if (item.RightTextFormat==2) subFrame.MultiTextFormat=1;
5289
5289
  }
5290
+
5291
+ if (item.RightText) //主图右侧坐标设置
5292
+ {
5293
+ var subItem=item.RightText;
5294
+ if (IFrameSplitOperator.IsNumber(subItem.Format)) subFrame.YSplitOperator.RightTextConfig.Format=subItem.Format;
5295
+ if (subItem.Format==2) subFrame.MultiTextFormat=1;
5296
+ if (subItem.Percentage && IFrameSplitOperator.IsNumber(subItem.Percentage.Dec)) subFrame.YSplitOperator.RightTextConfig.Percentage.Dec=subItem.Percentage.Dec;
5297
+ }
5290
5298
  }
5291
5299
  }
5292
5300
 
@@ -5538,6 +5546,7 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
5538
5546
  {
5539
5547
  var item=option.Frame[i];
5540
5548
  if (!chart.Frame.SubFrame[i]) continue;
5549
+ var subFrame=chart.Frame.SubFrame[i].Frame;
5541
5550
  if (item.SplitCount) chart.Frame.SubFrame[i].Frame.YSplitOperator.SplitCount=item.SplitCount;
5542
5551
  if (item.StringFormat) chart.Frame.SubFrame[i].Frame.YSplitOperator.StringFormat=item.StringFormat;
5543
5552
  if (IFrameSplitOperator.IsNumber(item.SplitType))
@@ -5557,7 +5566,7 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
5557
5566
  }
5558
5567
  if (item.Height>=0) chart.Frame.SubFrame[i].Height = item.Height;
5559
5568
  if (item.Custom) chart.Frame.SubFrame[i].Frame.YSplitOperator.Custom=item.Custom;
5560
- if (item.RightTextFormat>0) chart.Frame.SubFrame[i].Frame.YSplitOperator.RightTextFormat=item.RightTextFormat;
5569
+
5561
5570
  if (IFrameSplitOperator.IsNumber(item.TitleHeight)) chart.Frame.SubFrame[i].Frame.ChartBorder.TitleHeight=item.TitleHeight;
5562
5571
  if (IFrameSplitOperator.IsNumber(item.BorderLine)) chart.Frame.SubFrame[i].Frame.BorderLine=item.BorderLine;
5563
5572
  if (IFrameSplitOperator.IsBool(item.EnableRemoveZero)) chart.Frame.SubFrame[i].Frame.YSplitOperator.EnableRemoveZero=item.EnableRemoveZero;
@@ -5565,6 +5574,11 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
5565
5574
  if (IFrameSplitOperator.IsBool(item.IsShowXLine)) chart.Frame.SubFrame[i].Frame.IsShowXLine=item.IsShowXLine;
5566
5575
  if (IFrameSplitOperator.IsBool(item.IsShowYLine)) chart.Frame.SubFrame[i].Frame.IsShowYLine=item.IsShowYLine;
5567
5576
  if (IFrameSplitOperator.IsNumber(item.YTextBaseline)) chart.Frame.SubFrame[i].Frame.YTextBaseline=item.YTextBaseline;
5577
+
5578
+ if (i==0)
5579
+ {
5580
+ if (IFrameSplitOperator.IsNumber(item.RightTextFormat)) subFrame.YSplitOperator.RightTextConfig.Format=item.RightTextFormat;
5581
+ }
5568
5582
  }
5569
5583
  }
5570
5584
 
@@ -7169,6 +7183,8 @@ var JSCHART_MENU_ID=
7169
7183
  CMD_CORSS_SHOW_INCREASE_ID:60, //十字光标 底部显示"至今涨幅"
7170
7184
  CMD_CORSS_X_TEXTALIGN_ID:61, //十字光标 底部文字对齐方式
7171
7185
 
7186
+ CMD_CHANGE_YRIGHT_TEXT_FORMAT:62, //分时图主图 右侧刻度格式
7187
+
7172
7188
 
7173
7189
  CMD_REPORT_CHANGE_BLOCK_ID:100, //报价列表 切换板块ID
7174
7190
  CMD_REPORT_COLUMN_SORT_ID:101, //报价列表 表头排序 Arg[列序号, 排序方向]
@@ -7176,6 +7192,8 @@ var JSCHART_MENU_ID=
7176
7192
  CMD_REPORT_COLUMN_MOVE_ID:103, //报价列表 列移动
7177
7193
  CMD_REPORT_COLUMN_FILTER_ID:104, //报价列表 筛选
7178
7194
  CMD_REPORT_CHANGE_COLUMN_ID:105, //报价列表 切换列 Arg[Column, ]
7195
+
7196
+
7179
7197
  }
7180
7198
 
7181
7199
  var JSCHART_TRADE_STATUS_ID=
@@ -15759,6 +15777,16 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
15759
15777
  this.Draw();
15760
15778
  }
15761
15779
  break;
15780
+ case JSCHART_MENU_ID.CMD_CHANGE_YRIGHT_TEXT_FORMAT:
15781
+ if (param==null) return false;
15782
+ if (!this.Frame.SubFrame[0] || !this.Frame.SubFrame[0].Frame) return false;
15783
+ var frame=this.Frame.SubFrame[0].Frame;
15784
+ if (!frame.YSplitOperator || !frame.YSplitOperator.RightTextConfig) return false;
15785
+
15786
+ frame.YSplitOperator.RightTextConfig.Format=param;
15787
+ this.ResetFrameXYSplit();
15788
+ this.Draw();
15789
+ break;
15762
15790
  }
15763
15791
  }
15764
15792
 
@@ -60878,7 +60906,8 @@ function FrameSplitMinutePriceY()
60878
60906
  this.DefaultSplitType=0;
60879
60907
  this.LimitPrice; //{Max: Min:} 涨跌停价
60880
60908
  this.Custom;
60881
- this.RightTextFormat=0; //右边刻度显示模式 0=百分比 1=价格 2=价格 | 百分比
60909
+ //this.RightTextFormat=0; //右边刻度显示模式 0=百分比 1=价格 2=价格 | 百分比 !!! 废弃, 用下面的格式
60910
+ this.RightTextConfig={ Percentage:{ Dec:2 }, Format:0 } //Percentage:{ Dec: 百分比小数位数 }, Format: 0=百分比 1=价格 2=价格 | 百分比
60882
60911
 
60883
60912
  this.BeforeOpenData;
60884
60913
  this.IsBeforeData=false;
@@ -61340,8 +61369,10 @@ function FrameSplitMinutePriceY()
61340
61369
 
61341
61370
  if (this.IsShowRightText)
61342
61371
  {
61343
- if (this.RightTextFormat==1) coordinate.Message[1]=strPrice;
61344
- else coordinate.Message[1]='0.00%'; //百分比
61372
+ var value=0;
61373
+ var dec=this.RightTextConfig.Percentage.Dec;
61374
+ if (this.RightTextConfig.Format==1) coordinate.Message[1]=strPrice;
61375
+ else coordinate.Message[1]=`${value.toFixed(dec)}%`; //百分比
61345
61376
  }
61346
61377
 
61347
61378
  this.Frame.HorizontalInfo.push(coordinate);
@@ -61427,15 +61458,17 @@ function FrameSplitMinutePriceY()
61427
61458
  var per=(price/this.YClose-1)*100;
61428
61459
  if (per>0) coordinate.TextColor=g_JSChartResource.UpTextColor;
61429
61460
  else if (per<0) coordinate.TextColor=g_JSChartResource.DownTextColor;
61430
- var strPer=`${IFrameSplitOperator.FormatValueString(per,2)}%`;
61461
+
61462
+ var dec=this.RightTextConfig.Percentage.Dec;
61463
+ var strPer=`${IFrameSplitOperator.FormatValueString(per,dec)}%`;
61431
61464
 
61432
61465
  if (this.IsShowRightText)
61433
61466
  {
61434
- if (this.RightTextFormat==1)
61467
+ if (this.RightTextConfig.Format==1)
61435
61468
  {
61436
61469
  coordinate.Message[1]=strPrice;
61437
61470
  }
61438
- else if (this.RightTextFormat==2) //价格/百分比
61471
+ else if (this.RightTextConfig.Format==2) //价格/百分比
61439
61472
  {
61440
61473
  coordinate.Message[1]=[ {Text:strPrice}, {Text:"/"}, { Text:strPer} ];
61441
61474
  }
@@ -68733,7 +68766,7 @@ function IChartDrawPicture()
68733
68766
  }
68734
68767
  }
68735
68768
 
68736
- this.GetkData=function()
68769
+ this.GetKData=function()
68737
68770
  {
68738
68771
  if (!this.Frame) return null;
68739
68772
  var data=this.Frame.Data;
@@ -68745,7 +68778,7 @@ function IChartDrawPicture()
68745
68778
  //周期变动 X重新定位
68746
68779
  this.ChangePeriod=function(period)
68747
68780
  {
68748
- var kData=this.GetkData();
68781
+ var kData=this.GetKData();
68749
68782
  if (!kData) return;
68750
68783
 
68751
68784
  var aryDateTime=[];
@@ -68815,7 +68848,7 @@ function IChartDrawPicture()
68815
68848
 
68816
68849
  this.UpdateXValue=function() //通过datetime更新x的索引
68817
68850
  {
68818
- var data=this.GetkData();
68851
+ var data=this.GetKData();
68819
68852
  if (!data) return false;
68820
68853
 
68821
68854
  var aryDateTime=[];
@@ -80624,8 +80657,8 @@ function ChartDrawStorage()
80624
80657
  {
80625
80658
  JSConsole.Chart.Log('[ChartDrawStorage::SaveDrawData] Insert: symbol, drawPicture, data', symbol, drawPicture,data);
80626
80659
  var stockItem={ Symbol:symbol, MapPicture:new Map() } ;
80627
- stockItem.set(data.Guid, data);
80628
- this.DrawDataV2.set(symbol,newData);
80660
+ stockItem.MapPicture.set(data.Guid, data);
80661
+ this.DrawDataV2.set(symbol,stockItem);
80629
80662
  }
80630
80663
 
80631
80664
  JSConsole.Chart.Log('[ChartDrawStorage::SaveDrawData] All draw data: ', this.DrawDataV2);
@@ -95979,6 +96012,14 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
95979
96012
  }
95980
96013
  }
95981
96014
 
96015
+ var rightTextFormat=0;
96016
+ if (this.Frame.SubFrame[0] && this.Frame.SubFrame[0].Frame && this.Frame.SubFrame[0].Frame.YSplitOperator)
96017
+ {
96018
+ var ySpliter=this.Frame.SubFrame[0].Frame.YSplitOperator;
96019
+ if (ySpliter.RightTextConfig)
96020
+ rightTextFormat=ySpliter.RightTextConfig.Format;
96021
+ }
96022
+
95982
96023
  var aryMenu=
95983
96024
  [
95984
96025
  {
@@ -96067,6 +96108,16 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
96067
96108
  { Name:"盘口分析", Data:{ ID:JSCHART_MENU_ID.CMD_SHOW_BUYSELL_BAR_ID, Args:[!bShowBuySellBar]}, Checked:bShowBuySellBar },
96068
96109
 
96069
96110
  { Name:JSPopMenu.SEPARATOR_LINE_NAME },
96111
+
96112
+ {
96113
+ Name:"主图右侧坐标",
96114
+ SubMenu:
96115
+ [
96116
+ { Name:"百分比", Data:{ ID:JSCHART_MENU_ID.CMD_CHANGE_YRIGHT_TEXT_FORMAT, Args:[0]}, Checked:rightTextFormat===0 },
96117
+ { Name:"价格", Data:{ ID:JSCHART_MENU_ID.CMD_CHANGE_YRIGHT_TEXT_FORMAT, Args:[1]}, Checked:rightTextFormat===1 },
96118
+ { Name:"价格/百分比", Data:{ ID:JSCHART_MENU_ID.CMD_CHANGE_YRIGHT_TEXT_FORMAT, Args:[2]}, Checked:rightTextFormat===2 },
96119
+ ]
96120
+ },
96070
96121
 
96071
96122
  {
96072
96123
  Name:"语言设置",
@@ -153296,7 +153347,7 @@ function ScrollBarBGChart()
153296
153347
 
153297
153348
 
153298
153349
 
153299
- var HQCHART_VERSION="1.1.15045";
153350
+ var HQCHART_VERSION="1.1.15052";
153300
153351
 
153301
153352
  function PrintHQChartVersion()
153302
153353
  {
@@ -5,7 +5,7 @@
5
5
 
6
6
 
7
7
 
8
- var HQCHART_VERSION="1.1.15045";
8
+ var HQCHART_VERSION="1.1.15052";
9
9
 
10
10
  function PrintHQChartVersion()
11
11
  {
@@ -5326,11 +5326,19 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
5326
5326
 
5327
5327
  if (i==0)
5328
5328
  {
5329
- if (IFrameSplitOperator.IsNumber(item.RightTextFormat))
5329
+ if (IFrameSplitOperator.IsNumber(item.RightTextFormat)) //废弃
5330
5330
  {
5331
- subFrame.YSplitOperator.RightTextFormat=item.RightTextFormat;
5331
+ subFrame.YSplitOperator.RightTextConfig.Format=item.RightTextFormat;
5332
5332
  if (item.RightTextFormat==2) subFrame.MultiTextFormat=1;
5333
5333
  }
5334
+
5335
+ if (item.RightText) //主图右侧坐标设置
5336
+ {
5337
+ var subItem=item.RightText;
5338
+ if (IFrameSplitOperator.IsNumber(subItem.Format)) subFrame.YSplitOperator.RightTextConfig.Format=subItem.Format;
5339
+ if (subItem.Format==2) subFrame.MultiTextFormat=1;
5340
+ if (subItem.Percentage && IFrameSplitOperator.IsNumber(subItem.Percentage.Dec)) subFrame.YSplitOperator.RightTextConfig.Percentage.Dec=subItem.Percentage.Dec;
5341
+ }
5334
5342
  }
5335
5343
  }
5336
5344
 
@@ -5582,6 +5590,7 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
5582
5590
  {
5583
5591
  var item=option.Frame[i];
5584
5592
  if (!chart.Frame.SubFrame[i]) continue;
5593
+ var subFrame=chart.Frame.SubFrame[i].Frame;
5585
5594
  if (item.SplitCount) chart.Frame.SubFrame[i].Frame.YSplitOperator.SplitCount=item.SplitCount;
5586
5595
  if (item.StringFormat) chart.Frame.SubFrame[i].Frame.YSplitOperator.StringFormat=item.StringFormat;
5587
5596
  if (IFrameSplitOperator.IsNumber(item.SplitType))
@@ -5601,7 +5610,7 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
5601
5610
  }
5602
5611
  if (item.Height>=0) chart.Frame.SubFrame[i].Height = item.Height;
5603
5612
  if (item.Custom) chart.Frame.SubFrame[i].Frame.YSplitOperator.Custom=item.Custom;
5604
- if (item.RightTextFormat>0) chart.Frame.SubFrame[i].Frame.YSplitOperator.RightTextFormat=item.RightTextFormat;
5613
+
5605
5614
  if (IFrameSplitOperator.IsNumber(item.TitleHeight)) chart.Frame.SubFrame[i].Frame.ChartBorder.TitleHeight=item.TitleHeight;
5606
5615
  if (IFrameSplitOperator.IsNumber(item.BorderLine)) chart.Frame.SubFrame[i].Frame.BorderLine=item.BorderLine;
5607
5616
  if (IFrameSplitOperator.IsBool(item.EnableRemoveZero)) chart.Frame.SubFrame[i].Frame.YSplitOperator.EnableRemoveZero=item.EnableRemoveZero;
@@ -5609,6 +5618,11 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
5609
5618
  if (IFrameSplitOperator.IsBool(item.IsShowXLine)) chart.Frame.SubFrame[i].Frame.IsShowXLine=item.IsShowXLine;
5610
5619
  if (IFrameSplitOperator.IsBool(item.IsShowYLine)) chart.Frame.SubFrame[i].Frame.IsShowYLine=item.IsShowYLine;
5611
5620
  if (IFrameSplitOperator.IsNumber(item.YTextBaseline)) chart.Frame.SubFrame[i].Frame.YTextBaseline=item.YTextBaseline;
5621
+
5622
+ if (i==0)
5623
+ {
5624
+ if (IFrameSplitOperator.IsNumber(item.RightTextFormat)) subFrame.YSplitOperator.RightTextConfig.Format=item.RightTextFormat;
5625
+ }
5612
5626
  }
5613
5627
  }
5614
5628
 
@@ -7213,6 +7227,8 @@ var JSCHART_MENU_ID=
7213
7227
  CMD_CORSS_SHOW_INCREASE_ID:60, //十字光标 底部显示"至今涨幅"
7214
7228
  CMD_CORSS_X_TEXTALIGN_ID:61, //十字光标 底部文字对齐方式
7215
7229
 
7230
+ CMD_CHANGE_YRIGHT_TEXT_FORMAT:62, //分时图主图 右侧刻度格式
7231
+
7216
7232
 
7217
7233
  CMD_REPORT_CHANGE_BLOCK_ID:100, //报价列表 切换板块ID
7218
7234
  CMD_REPORT_COLUMN_SORT_ID:101, //报价列表 表头排序 Arg[列序号, 排序方向]
@@ -7220,6 +7236,8 @@ var JSCHART_MENU_ID=
7220
7236
  CMD_REPORT_COLUMN_MOVE_ID:103, //报价列表 列移动
7221
7237
  CMD_REPORT_COLUMN_FILTER_ID:104, //报价列表 筛选
7222
7238
  CMD_REPORT_CHANGE_COLUMN_ID:105, //报价列表 切换列 Arg[Column, ]
7239
+
7240
+
7223
7241
  }
7224
7242
 
7225
7243
  var JSCHART_TRADE_STATUS_ID=
@@ -15803,6 +15821,16 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
15803
15821
  this.Draw();
15804
15822
  }
15805
15823
  break;
15824
+ case JSCHART_MENU_ID.CMD_CHANGE_YRIGHT_TEXT_FORMAT:
15825
+ if (param==null) return false;
15826
+ if (!this.Frame.SubFrame[0] || !this.Frame.SubFrame[0].Frame) return false;
15827
+ var frame=this.Frame.SubFrame[0].Frame;
15828
+ if (!frame.YSplitOperator || !frame.YSplitOperator.RightTextConfig) return false;
15829
+
15830
+ frame.YSplitOperator.RightTextConfig.Format=param;
15831
+ this.ResetFrameXYSplit();
15832
+ this.Draw();
15833
+ break;
15806
15834
  }
15807
15835
  }
15808
15836
 
@@ -60922,7 +60950,8 @@ function FrameSplitMinutePriceY()
60922
60950
  this.DefaultSplitType=0;
60923
60951
  this.LimitPrice; //{Max: Min:} 涨跌停价
60924
60952
  this.Custom;
60925
- this.RightTextFormat=0; //右边刻度显示模式 0=百分比 1=价格 2=价格 | 百分比
60953
+ //this.RightTextFormat=0; //右边刻度显示模式 0=百分比 1=价格 2=价格 | 百分比 !!! 废弃, 用下面的格式
60954
+ this.RightTextConfig={ Percentage:{ Dec:2 }, Format:0 } //Percentage:{ Dec: 百分比小数位数 }, Format: 0=百分比 1=价格 2=价格 | 百分比
60926
60955
 
60927
60956
  this.BeforeOpenData;
60928
60957
  this.IsBeforeData=false;
@@ -61384,8 +61413,10 @@ function FrameSplitMinutePriceY()
61384
61413
 
61385
61414
  if (this.IsShowRightText)
61386
61415
  {
61387
- if (this.RightTextFormat==1) coordinate.Message[1]=strPrice;
61388
- else coordinate.Message[1]='0.00%'; //百分比
61416
+ var value=0;
61417
+ var dec=this.RightTextConfig.Percentage.Dec;
61418
+ if (this.RightTextConfig.Format==1) coordinate.Message[1]=strPrice;
61419
+ else coordinate.Message[1]=`${value.toFixed(dec)}%`; //百分比
61389
61420
  }
61390
61421
 
61391
61422
  this.Frame.HorizontalInfo.push(coordinate);
@@ -61471,15 +61502,17 @@ function FrameSplitMinutePriceY()
61471
61502
  var per=(price/this.YClose-1)*100;
61472
61503
  if (per>0) coordinate.TextColor=g_JSChartResource.UpTextColor;
61473
61504
  else if (per<0) coordinate.TextColor=g_JSChartResource.DownTextColor;
61474
- var strPer=`${IFrameSplitOperator.FormatValueString(per,2)}%`;
61505
+
61506
+ var dec=this.RightTextConfig.Percentage.Dec;
61507
+ var strPer=`${IFrameSplitOperator.FormatValueString(per,dec)}%`;
61475
61508
 
61476
61509
  if (this.IsShowRightText)
61477
61510
  {
61478
- if (this.RightTextFormat==1)
61511
+ if (this.RightTextConfig.Format==1)
61479
61512
  {
61480
61513
  coordinate.Message[1]=strPrice;
61481
61514
  }
61482
- else if (this.RightTextFormat==2) //价格/百分比
61515
+ else if (this.RightTextConfig.Format==2) //价格/百分比
61483
61516
  {
61484
61517
  coordinate.Message[1]=[ {Text:strPrice}, {Text:"/"}, { Text:strPer} ];
61485
61518
  }
@@ -68777,7 +68810,7 @@ function IChartDrawPicture()
68777
68810
  }
68778
68811
  }
68779
68812
 
68780
- this.GetkData=function()
68813
+ this.GetKData=function()
68781
68814
  {
68782
68815
  if (!this.Frame) return null;
68783
68816
  var data=this.Frame.Data;
@@ -68789,7 +68822,7 @@ function IChartDrawPicture()
68789
68822
  //周期变动 X重新定位
68790
68823
  this.ChangePeriod=function(period)
68791
68824
  {
68792
- var kData=this.GetkData();
68825
+ var kData=this.GetKData();
68793
68826
  if (!kData) return;
68794
68827
 
68795
68828
  var aryDateTime=[];
@@ -68859,7 +68892,7 @@ function IChartDrawPicture()
68859
68892
 
68860
68893
  this.UpdateXValue=function() //通过datetime更新x的索引
68861
68894
  {
68862
- var data=this.GetkData();
68895
+ var data=this.GetKData();
68863
68896
  if (!data) return false;
68864
68897
 
68865
68898
  var aryDateTime=[];
@@ -80668,8 +80701,8 @@ function ChartDrawStorage()
80668
80701
  {
80669
80702
  JSConsole.Chart.Log('[ChartDrawStorage::SaveDrawData] Insert: symbol, drawPicture, data', symbol, drawPicture,data);
80670
80703
  var stockItem={ Symbol:symbol, MapPicture:new Map() } ;
80671
- stockItem.set(data.Guid, data);
80672
- this.DrawDataV2.set(symbol,newData);
80704
+ stockItem.MapPicture.set(data.Guid, data);
80705
+ this.DrawDataV2.set(symbol,stockItem);
80673
80706
  }
80674
80707
 
80675
80708
  JSConsole.Chart.Log('[ChartDrawStorage::SaveDrawData] All draw data: ', this.DrawDataV2);
@@ -96023,6 +96056,14 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
96023
96056
  }
96024
96057
  }
96025
96058
 
96059
+ var rightTextFormat=0;
96060
+ if (this.Frame.SubFrame[0] && this.Frame.SubFrame[0].Frame && this.Frame.SubFrame[0].Frame.YSplitOperator)
96061
+ {
96062
+ var ySpliter=this.Frame.SubFrame[0].Frame.YSplitOperator;
96063
+ if (ySpliter.RightTextConfig)
96064
+ rightTextFormat=ySpliter.RightTextConfig.Format;
96065
+ }
96066
+
96026
96067
  var aryMenu=
96027
96068
  [
96028
96069
  {
@@ -96111,6 +96152,16 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
96111
96152
  { Name:"盘口分析", Data:{ ID:JSCHART_MENU_ID.CMD_SHOW_BUYSELL_BAR_ID, Args:[!bShowBuySellBar]}, Checked:bShowBuySellBar },
96112
96153
 
96113
96154
  { Name:JSPopMenu.SEPARATOR_LINE_NAME },
96155
+
96156
+ {
96157
+ Name:"主图右侧坐标",
96158
+ SubMenu:
96159
+ [
96160
+ { Name:"百分比", Data:{ ID:JSCHART_MENU_ID.CMD_CHANGE_YRIGHT_TEXT_FORMAT, Args:[0]}, Checked:rightTextFormat===0 },
96161
+ { Name:"价格", Data:{ ID:JSCHART_MENU_ID.CMD_CHANGE_YRIGHT_TEXT_FORMAT, Args:[1]}, Checked:rightTextFormat===1 },
96162
+ { Name:"价格/百分比", Data:{ ID:JSCHART_MENU_ID.CMD_CHANGE_YRIGHT_TEXT_FORMAT, Args:[2]}, Checked:rightTextFormat===2 },
96163
+ ]
96164
+ },
96114
96165
 
96115
96166
  {
96116
96167
  Name:"语言设置",
@@ -165176,7 +165227,7 @@ function HQChartScriptWorker()
165176
165227
 
165177
165228
 
165178
165229
 
165179
- var HQCHART_VERSION="1.1.15045";
165230
+ var HQCHART_VERSION="1.1.15052";
165180
165231
 
165181
165232
  function PrintHQChartVersion()
165182
165233
  {