hqchart 1.1.13299 → 1.1.13311

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.
@@ -1490,7 +1490,10 @@ CMD_SHOW_OVERLAY_INDEX_ID:28,//显示隐藏叠加指标
1490
1490
  CMD_DELETE_OVERLAY_INDEX_ID:29,//删除叠加指标
1491
1491
  CMD_SHOW_OVERLAY_Y_AXIS_ID:30,//显示隐藏Y轴叠加指标
1492
1492
  CMD_ENABLE_OVERLAY_SHARE_Y_ID:31,//和主图指标共享Y轴坐标
1493
- CMD_CHANGE_DEFAULTCURSOR_ID:32//修改鼠标形状
1493
+ CMD_CHANGE_DEFAULTCURSOR_ID:32,//修改鼠标形状
1494
+ CMD_CHANGE_API_INDEX_ID:33,//切换后台接口指标
1495
+ CMD_CHANGE_SCRIPT_INDEX_ID:34,//切换成自定义的脚本指标
1496
+ CMD_CHANGE_BASELINE_ID:35//分时图切换基准线
1494
1497
  };function PhoneDBClick(){this.Start=[];this.Clear=function(){this.Start=[];};this.AddTouchStart=function(x,y,time){if(this.Start.length>0){var item=this.Start[this.Start.length-1];var spanTime=time-item.Time;if(spanTime>0&&spanTime<300){this.Start.push({X:x,Y:y,Time:time});}else{this.Start=[];}}else{this.Start.push({X:x,Y:y,Time:time});}};this.IsVaildDBClick=function(){if(this.Start.length==2)return true;return false;};this.AddTouchEnd=function(time){if(this.Start.length<=0)return;var item=this.Start[this.Start.length-1];var spanTime=time-item.Time;if(spanTime>=0&&spanTime<150){}else{this.Start=[];}};}/*
1495
1498
  图形控件
1496
1499
  */function JSChartContainer(uielement,OffscreenElement,cacheElement){var _this5=this;this.ClassName='JSChartContainer';var _self=this;this.Frame;//框架画法
@@ -1988,12 +1991,12 @@ this.PopupMenuByTab=function(menuData,rtTab){if(!this.JSPopMenu)return;var pixel
1988
1991
  this.PopupMenuByDrapdown=function(menuData,rtButton){if(!this.JSPopMenu)return;var pixelRatio=GetDevicePixelRatio();var rtCell={Left:rtButton.Left/pixelRatio,Right:rtButton.Right/pixelRatio,Bottom:rtButton.Bottom/pixelRatio,Top:rtButton.Top/pixelRatio};rtCell.Width=rtCell.Right-rtCell.Left;rtCell.Height=rtCell.Bottom-rtCell.Top;var rtClient=this.UIElement.getBoundingClientRect();var rtScroll=GetScrollPosition();var offsetLeft=rtClient.left+rtScroll.Left;var offsetTop=rtClient.top+rtScroll.Top;rtCell.Left+=offsetLeft;rtCell.Right+=offsetLeft;rtCell.Top+=offsetTop;rtCell.Bottom+=offsetTop;this.JSPopMenu.CreatePopMenu(menuData);this.JSPopMenu.PopupMenuByDrapdown(rtCell);};//右键菜单
1989
1992
  this.PopupMenuByRClick=function(menuData,x,y){var rtClient=this.UIElement.getBoundingClientRect();var rtScroll=GetScrollPosition();x+=rtClient.left+rtScroll.Left;y+=rtClient.top+rtScroll.Top;this.JSPopMenu.CreatePopMenu(menuData);this.JSPopMenu.PopupMenuByRight(x,y);};//菜单命令
1990
1993
  this.ExecuteMenuCommand=function(cmdID,aryArgs){JSConsole.Chart.Log('[JSChartContainer::ExecuteMenuCommand] cmdID=, aryArgs=',cmdID,aryArgs);var param=null,srcParam=null;//原始值
1991
- if(IFrameSplitOperator.IsNonEmptyArray(aryArgs)){srcParam=aryArgs[0];if(IFrameSplitOperator.IsNumber(aryArgs[0]))param=aryArgs[0];}switch(cmdID){case JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID:if(this.ChangePeriod&&param!=null)this.ChangePeriod(param);break;case JSCHART_MENU_ID.CMD_CHANGE_WINDOW_COUNT_ID:if(this.ChangeIndexWindowCount&&param!=null)this.ChangeIndexWindowCount(param);break;case JSCHART_MENU_ID.CMD_CHANGE_RIGHT_ID:if(this.ChangeRight&&param!=null)this.ChangeRight(param);break;case JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID:if(this.ChangeIndex&&param!=null&&aryArgs[1])this.ChangeIndex(param,aryArgs[1]);break;case JSCHART_MENU_ID.CMD_CHANGE_COLOR_INDEX_ID:case JSCHART_MENU_ID.CMD_CHANGE_TRADE_INDEX_ID:if(this.ChangeInstructionIndex&&aryArgs[0])this.ChangeInstructionIndex(aryArgs[0]);break;case JSCHART_MENU_ID.CMD_DELETE_COLOR_INDEX_ID://删除五彩K线指标
1994
+ if(IFrameSplitOperator.IsNonEmptyArray(aryArgs)){srcParam=aryArgs[0];if(IFrameSplitOperator.IsNumber(aryArgs[0]))param=aryArgs[0];}switch(cmdID){case JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID:if(this.ChangePeriod&&param!=null)this.ChangePeriod(param);break;case JSCHART_MENU_ID.CMD_CHANGE_WINDOW_COUNT_ID:if(this.ChangeIndexWindowCount&&param!=null)this.ChangeIndexWindowCount(param);break;case JSCHART_MENU_ID.CMD_CHANGE_RIGHT_ID:if(this.ChangeRight&&param!=null)this.ChangeRight(param);break;case JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID:if(this.ChangeIndex&&param!=null&&aryArgs[1])this.ChangeIndex(param,aryArgs[1]);break;case JSCHART_MENU_ID.CMD_CHANGE_API_INDEX_ID:if(this.ChangeAPIIndex&&param!=null&&aryArgs[1])this.ChangeAPIIndex(param,aryArgs[1]);break;case JSCHART_MENU_ID.CMD_CHANGE_SCRIPT_INDEX_ID:if(this.ChangeScriptIndex&&param!=null&&aryArgs[1])this.ChangeScriptIndex(param,aryArgs[1],aryArgs[2]);break;case JSCHART_MENU_ID.CMD_CHANGE_COLOR_INDEX_ID:case JSCHART_MENU_ID.CMD_CHANGE_TRADE_INDEX_ID:if(this.ChangeInstructionIndex&&aryArgs[0])this.ChangeInstructionIndex(aryArgs[0]);break;case JSCHART_MENU_ID.CMD_DELETE_COLOR_INDEX_ID://删除五彩K线指标
1992
1995
  case JSCHART_MENU_ID.CMD_DELETE_TRADE_INDEX_ID://删除专家系统(交易指标)
1993
1996
  if(this.CancelInstructionIndex)this.CancelInstructionIndex();break;case JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID://切换K线类型
1994
1997
  if(this.ChangeKLineDrawType&&param!=null)this.ChangeKLineDrawType(param,aryArgs[1],aryArgs[2]);break;case JSCHART_MENU_ID.CMD_CHANGE_PRICE_GAP_ID://缺口提示
1995
1998
  if(this.ChangePriceGap&&IFrameSplitOperator.IsBool(aryArgs[0])){if(aryArgs[0]==false){this.ChangePriceGap({Enable:aryArgs[0]});}else{if(IFrameSplitOperator.IsNumber(aryArgs[1]))this.ChangePriceGap({Enable:aryArgs[0],Count:aryArgs[1]});}}break;case JSCHART_MENU_ID.CMD_OVERLAY_SYMBOL_ID:if(aryArgs[1]===true){if(this.OverlaySymbol&&aryArgs[0])this.OverlaySymbol(aryArgs[0]);}else if(aryArgs[1]===false){if(this.DeleteOverlaySymbol&&aryArgs[0])this.DeleteOverlaySymbol(aryArgs[0]);}break;case JSCHART_MENU_ID.CMD_DELETE_ALL_OVERLAY_SYMBOL_ID:if(this.ClearOverlaySymbol)this.ClearOverlaySymbol();break;case JSCHART_MENU_ID.CMD_CHANGE_COORDINATETYPE_ID:if(this.ChangeCoordinateType&&aryArgs[0])this.ChangeCoordinateType(aryArgs[0]);break;case JSCHART_MENU_ID.CMD_CHANGE_KLINE_INFO_ID:if(aryArgs[0]&&IFrameSplitOperator.IsBool(aryArgs[1])){if(aryArgs[1]==true&&this.AddKLineInfo)this.AddKLineInfo(aryArgs[0],true);else if(aryArgs[1]==false&&this.DeleteKLineInfo)this.DeleteKLineInfo(aryArgs[0]);}break;case JSCHART_MENU_ID.CMD_DELETE_ALL_KLINE_INFO_ID:if(this.ClearKLineInfo)this.ClearKLineInfo();break;case JSCHART_MENU_ID.CMD_CHANGE_DRAG_MODE_ID:if(param!=null)this.DragMode=param;break;case JSCHART_MENU_ID.CMD_CHANGE_BG_SPLIT_ID:if(IFrameSplitOperator.IsBool(srcParam)){if(srcParam){this.CreateExtendChart("SessionBreaksPaint",{});this.Draw();}else{var finder=this.GetExtendChartByClassName("SessionBreaksPaint");if(finder){this.DeleteExtendChartByID(finder.Chart.ID);this.Draw();}}}break;case JSCHART_MENU_ID.CMD_SHOW_DRAWTOOL_ID:if(!this.IsShowDrawToolDialog())this.ShowDrawToolDialog();break;case JSCHART_MENU_ID.CMD_SHOW_STOCKCHIP_ID:var option={Name:'筹码分布',ShowType:1,Width:230};var extendChart=this.CreateExtendChart(option.Name,option);//创建扩展图形
1996
- this.SetSizeChange(true);this.Draw();break;case JSCHART_MENU_ID.CMD_HIDE_STOCKCHIP_ID:var StockChip=this.GetExtendChartByClassName('StockChip');if(StockChip){var chipWidth=StockChip.Chart.Width;this.DeleteExtendChart(StockChip);this.Frame.ChartBorder.Right-=chipWidth;this.SetSizeChange(true);this.Draw();}break;case JSCHART_MENU_ID.CMD_ENABLE_SELECT_RECT_ID:if(IFrameSplitOperator.IsBool(srcParam))this.EnableSelectRect=srcParam;break;case JSCHART_MENU_ID.CMD_CHANGE_DAY_COUNT_ID:if(this.ChangeDayCount&&param!=null)this.ChangeDayCount(param);break;case JSCHART_MENU_ID.CMD_SHOW_BEFORE_DATA_ID:if(this.ShowCallAuctionData&&IFrameSplitOperator.IsBool(srcParam))this.ShowCallAuctionData({Left:srcParam,MultiDay:{Left:srcParam}});break;case JSCHART_MENU_ID.CMD_SELECTED_ZOOM_ID:if(this.ShowSelectData&&srcParam)this.ShowSelectData(srcParam);break;case JSCHART_MENU_ID.CMD_SELECTED_SUMMARY_ID:var dlg=new KLineSelectRectDialog(this.DivElement);dlg.DoModal(srcParam);break;case JSCHART_MENU_ID.CMD_SHOW_INDEX_ID://显示隐藏指标 [0]=windowIndex [1]=0=自动 1=隐藏 2=显示
1999
+ this.SetSizeChange(true);this.Draw();break;case JSCHART_MENU_ID.CMD_HIDE_STOCKCHIP_ID:var StockChip=this.GetExtendChartByClassName('StockChip');if(StockChip){var chipWidth=StockChip.Chart.Width;this.DeleteExtendChart(StockChip);this.Frame.ChartBorder.Right-=chipWidth;this.SetSizeChange(true);this.Draw();}break;case JSCHART_MENU_ID.CMD_ENABLE_SELECT_RECT_ID:if(IFrameSplitOperator.IsBool(srcParam))this.EnableSelectRect=srcParam;break;case JSCHART_MENU_ID.CMD_CHANGE_DAY_COUNT_ID:if(this.ChangeDayCount&&param!=null)this.ChangeDayCount(param);break;case JSCHART_MENU_ID.CMD_SHOW_BEFORE_DATA_ID:if(this.ShowCallAuctionData&&IFrameSplitOperator.IsBool(srcParam))this.ShowCallAuctionData({Left:srcParam,MultiDay:{Left:srcParam}});break;case JSCHART_MENU_ID.CMD_CHANGE_BASELINE_ID:if(this.ChangeBaselineType&&IFrameSplitOperator.IsNumber(param))this.ChangeBaselineType(param);break;case JSCHART_MENU_ID.CMD_SELECTED_ZOOM_ID:if(this.ShowSelectData&&srcParam)this.ShowSelectData(srcParam);break;case JSCHART_MENU_ID.CMD_SELECTED_SUMMARY_ID:var dlg=new KLineSelectRectDialog(this.DivElement);dlg.DoModal(srcParam);break;case JSCHART_MENU_ID.CMD_SHOW_INDEX_ID://显示隐藏指标 [0]=windowIndex [1]=0=自动 1=隐藏 2=显示
1997
2000
  if(param==null||!IFrameSplitOperator.IsNumber(aryArgs[1]))return false;var windowIndex=param,showType=aryArgs[1];var script=this.WindowIndex[windowIndex];if(!script)return false;if(showType==1)script.IsShow=false;else if(showType==2)script.IsShow=true;else script.IsShow=!script.IsShow;this.UpdateWindowIndex(windowIndex);break;case JSCHART_MENU_ID.CMD_SHOW_OVERLAY_INDEX_ID://显示隐藏叠加指标 [0]=indexGuid [1]=0=自动 1=隐藏 2=显示
1998
2001
  if(!srcParam||!IFrameSplitOperator.IsNumber(aryArgs[1]))return false;var indexGuid=srcParam,showType=aryArgs[1];var overlay=this.GetOverlayIndexByIdentify(indexGuid);if(!overlay||!overlay.OverlayItem||!overlay.OverlayItem.Script)return false;var script=overlay.OverlayItem.Script;if(showType==1)script.IsShow=false;else if(showType==2)script.IsShow==true;else script.IsShow=!script.IsShow;this.UpdateOverlayIndex(indexGuid);break;case JSCHART_MENU_ID.CMD_DELETE_OVERLAY_INDEX_ID:if(srcParam&&this.DeleteOverlayWindowsIndex)this.DeleteOverlayWindowsIndex(srcParam);break;case JSCHART_MENU_ID.CMD_SHOW_OVERLAY_Y_AXIS_ID:if(!srcParam||!IFrameSplitOperator.IsNumber(aryArgs[1]))return false;if(!this.GetOverlayIndexByIdentify)return false;var indexGuid=srcParam,showType=aryArgs[1];var finder=this.GetOverlayIndexByIdentify(indexGuid);if(!finder||!finder.OverlayItem)return false;var frame=finder.OverlayItem.Frame;if(showType==1)frame.IsShow=false;else if(showType==2)frame.IsShow==true;else frame.IsShow=!frame.IsShow;this.UpdataDataoffset();//更新数据偏移
1999
2002
  this.UpdateFrameMaxMin();//调整坐标最大 最小值
@@ -7804,7 +7807,8 @@ this.CorssCursorIndex={DayIndex:-1,DataIndex:-1,Point:{X:-1,Y:-1},Type:-1};this.
7804
7807
  this.DayOffset={Offset:0,ShowDayCount:-1,DataOffset:0,DayCount:1};//Offset 日期偏移 , DataOffset数据偏移
7805
7808
  this.PageInfo={Enable:false,Offset:-8888,ShowDayCount:4};//分页配置
7806
7809
  this.DataStatus={MultiDay:false,LatestDay:false,LatestDate:null};//MultiDay=多日 LatestDay:当天 LatestDate:最后的日期
7807
- this.ZoomStepPixel=50;//集合竞价设置 obj={ Left:true/false, Right:true/false, MultiDay:{Left:, Right:} }
7810
+ this.ZoomStepPixel=50;this.BaselineType=0;//基准线类型 0=最新昨收盘 1=多日前昨收盘
7811
+ //集合竞价设置 obj={ Left:true/false, Right:true/false, MultiDay:{Left:, Right:} }
7808
7812
  this.SetCallCationDataBorder=function(obj){if(!obj)return;var extendWidth={Left:obj.Left?this.ExtendWidth.Left:0,Right:obj.Right?this.ExtendWidth.Right:0};this.Frame.SetExtendWidth(extendWidth);if(obj.MultiDay){var item=obj.MultiDay;var DayMinuteWidth={Left:item.Left?this.MultiDayExtendWidth.Left:0,Right:item.Right?this.MultiDayExtendWidth.Right:0};this.Frame.SetMultiDayMinuteWidth(DayMinuteWidth);}};this.ReloadChartPaint=function(resource){for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(!item)continue;if(item.ReloadResource)item.ReloadResource(resource);if(i==0){if(item.Name=="Minute-Line"){item.Color=g_JSChartResource.Minute.PriceColor;item.AreaColor=g_JSChartResource.Minute.AreaPriceColor;}}else if(i==1){if(item.Name=="Minute-Average-Line"){item.Color=g_JSChartResource.Minute.AvPriceColor;}}else if(i==2){if(item.Name=="Minute-Vol-Bar"){item.Color=g_JSChartResource.Minute.VolBarColor;}}}};this.StopAutoUpdate=function(){this.CancelAutoUpdate();if(!this.IsAutoUpdate)return;this.IsAutoUpdate=false;};this.ClickFrameButton=function(button,e){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CLICK_FRAME_TOOLBAR);if(event&&event.Callback){var data={Info:button,PreventDefault:false};//PreventDefault 是否阻止内置的点击处理
7809
7813
  event.Callback(event,data,this);if(data.PreventDefault)return;}if(button.ID==JSCHART_BUTTON_ID.CLOSE_BEFOREOPEN_ID){this.ShowCallAuctionData({Left:false,Right:false,MultiDay:{Left:false,Right:false}});}if(button.ID==JSCHART_BUTTON_ID.CLOSE_OVERLAY_INDEX){var id=button.IndexID;if(id)this.DeleteOverlayWindowsIndex(id);}else if(button.ID==JSCHART_BUTTON_ID.MODIFY_OVERLAY_INDEX_PARAM){var id=button.IndexID;var frame=button.Frame;e.data={Chart:this,Identify:id,IsOverlay:true};if(frame.ModifyIndexEvent)frame.ModifyIndexEvent(e);}else if(button.ID==JSCHART_BUTTON_ID.CLOSE_INDEX_WINDOW){var frame=button.Frame;this.RemoveIndexWindow(frame.Identify);}else if(button.ID==JSCHART_BUTTON_ID.CHANGE_INDEX){var frame=button.Frame;e.data={Chart:this,Identify:frame.Identify,IsOverlay:false};if(frame.ChangeIndexEvent)frame.ChangeIndexEvent(e);}else if(button.ID==JSCHART_BUTTON_ID.MODIFY_INDEX_PARAM){var frame=button.Frame;e.data={Chart:this,Identify:frame.Identify,IsOverlay:false};if(frame.ModifyIndexEvent)frame.ModifyIndexEvent(e);}else if(button.ID==JSCHART_BUTTON_ID.OVERLAY_INDEX){var frame=button.Frame;e.data={Chart:this,Identify:frame.Identify,IsOverlay:true};if(frame.ChangeIndexEvent)frame.ChangeIndexEvent(e);}else if(button.ID==JSCHART_BUTTON_ID.MAX_MIN_WINDOW){var id=button.IndexID;var frame=button.Frame;var frameId=button.FrameID;if(frameId>=this.Frame.ZoomStartWindowIndex){if(this.ZoomIndexWindow(frameId,null)){this.Frame.SetSizeChage(true);this.Draw();}}}else if(button.ID==JSCHART_BUTTON_ID.TITLE_WINDOW)//标题模式
7810
7814
  {var id=button.IndexID;var frame=button.Frame;var frameId=button.FrameID;if(this.ShowIndexTitleOnly(frameId)){this.Frame.SetSizeChage(true);this.Draw();}}else if(button.ID==JSCHART_BUTTON_ID.EXPORT_DATA)//数据导出
@@ -7880,7 +7884,7 @@ this.OnRightMenu=function(x,y,e){var pixelTatio=GetDevicePixelRatio();//x,y 需
7880
7884
  var frameId=this.Frame.PtInFrame(x*pixelTatio,y*pixelTatio);this.PopupRightMenuV2({X:e.offsetX,Y:e.offsetY,FrameID:frameId},e);var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CONTEXT_MENU);if(event){var data={X:x,Y:y,Event:e,FrameID:frameId};event.Callback(event,data,this);}};//右键菜单数据
7881
7885
  this.GetRightMenuData=function(frameID){var windowCount=this.Frame.SubFrame.length;//窗口个数
7882
7886
  var aryOverlaySymbol=[];//叠加的股票列表
7883
- for(var i=0;i<this.OverlayChartPaint.length;++i){var item=this.OverlayChartPaint[i];if(item&&item.Symbol)aryOverlaySymbol.push(item.Symbol);}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:"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:"区间选择",Data:{ID:JSCHART_MENU_ID.CMD_ENABLE_SELECT_RECT_ID,Args:[!this.EnableSelectRect]},Checked:this.EnableSelectRect},{Name:"其他设置",SubMenu:[{Name:"画图工具",Data:{ID:JSCHART_MENU_ID.CMD_SHOW_DRAWTOOL_ID,Args:[]},Checked:this.IsShowDrawToolDialog()}]}];if(MARKET_SUFFIX_NAME.IsSHSZStockA(this.Symbol)){var item={Name:"集合竞价",Data:{ID:JSCHART_MENU_ID.CMD_SHOW_BEFORE_DATA_ID,Args:[!this.IsShowBeforeData]},Checked:this.IsShowBeforeData};aryMenu.splice(4,0,item);}//删除菜单
7887
+ for(var i=0;i<this.OverlayChartPaint.length;++i){var item=this.OverlayChartPaint[i];if(item&&item.Symbol)aryOverlaySymbol.push(item.Symbol);}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:"区间选择",Data:{ID:JSCHART_MENU_ID.CMD_ENABLE_SELECT_RECT_ID,Args:[!this.EnableSelectRect]},Checked:this.EnableSelectRect},{Name:"其他设置",SubMenu:[{Name:"画图工具",Data:{ID:JSCHART_MENU_ID.CMD_SHOW_DRAWTOOL_ID,Args:[]},Checked:this.IsShowDrawToolDialog()}]}];if(MARKET_SUFFIX_NAME.IsSHSZStockA(this.Symbol)){var item={Name:"集合竞价",Data:{ID:JSCHART_MENU_ID.CMD_SHOW_BEFORE_DATA_ID,Args:[!this.IsShowBeforeData]},Checked:this.IsShowBeforeData};aryMenu.splice(4,0,item);}//删除菜单
7884
7888
  for(var i=0;i<aryMenu.length;++i){var item=aryMenu[i];if(item.Name=="叠加品种"){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;}}}}return aryMenu;};this.OnWheel=function(e){JSConsole.Chart.Log('[MinuteChartContainer::OnWheel]',e);};this.OnDoubleClick=function(x,y,e){JSConsole.Chart.Log("[MinuteChartContainer::OnDoubleClick]",e);if(this.ClickChartTimer!=null){clearTimeout(this.ClickChartTimer);this.ClickChartTimer=null;}var selectedChart;//图形选中
7885
7889
  if(this.SelectedChart.EnableSelected){selectedChart=this.PtInChart(x,y);}var dbClickInfo={SelectedChart:selectedChart};this.DBClickEvent(dbClickInfo,e);//没有图形选中,双击缩放窗口
7886
7890
  if(!selectedChart&&this.EnableZoomIndexWindow){var frameId=this.Frame.PtInFrame(x,y);JSConsole.Chart.Log("[MinuteChartContainer::OnDoubleClick] frameId",frameId);if(frameId>=this.Frame.ZoomStartWindowIndex){if(this.ZoomIndexWindow(frameId,{X:x,Y:y})){this.Frame.SetSizeChage(true);this.Draw();}}}};this.GetDataItem=function(pointInfo){if(!pointInfo)return null;if(!IFrameSplitOperator.IsNumber(pointInfo.Index))return null;if(!this.SourceData||!this.SourceData.Data)return null;var data=this.SourceData;var clientPos=pointInfo.ClientPos;if(clientPos==2||clientPos==3||clientPos>=200&&clientPos<=299||clientPos>=300&&clientPos<=399){if(!this.ChartCorssCursor||!this.ChartCorssCursor.CallAcutionXOperator)return null;var isHScreen=this.Frame.IsHScreen===true;var callAcutionXOper=this.ChartCorssCursor.CallAcutionXOperator;callAcutionXOper.Value=isHScreen?pointInfo.Point.Y:pointInfo.Point.X;callAcutionXOper.Point={X:pointInfo.Point.X,Y:pointInfo.Point.Y};callAcutionXOper.ClientPos=clientPos;if(clientPos==2){if(!this.BeforeOpenData)return null;}else if(clientPos==3){if(!this.AfterCloseData)return null;}else if(clientPos>=200&&clientPos<=299){if(!this.MultiDayBeforeOpenData||!IFrameSplitOperator.IsNonEmptyArray(this.MultiDayBeforeOpenData))return;}else if(clientPos>=300&&tclientPos<=399){if(!this.MultiDayAfterCloseData||!IFrameSplitOperator.IsNonEmptyArray(this.MultiDayAfterCloseData))return;}if(callAcutionXOper.Operator()){var item=callAcutionXOper.Item;return{Type:clientPos,Item:item,Index:callAcutionXOper.DataIndex};}return null;}var index=parseInt(pointInfo.Index.toFixed(0));var dataIndex=index+data.DataOffset;if(dataIndex>=data.Data.length)return null;var item=data.Data[dataIndex];return{Type:clientPos,Item:item,Index:dataIndex};};this.UpdatePointByCursorIndex=function(){this.LastPoint.X=this.Frame.GetXFromIndex(this.CursorIndex);var index=this.CursorIndex;index=parseInt(index.toFixed(0));var data=this.Frame.SourceData;if(data.DataOffset+index>=data.Data.length){return;}var item=data.Data[data.DataOffset+index];var close=null;if(item.Before)close=item.Before.Close;else close=item.Close;this.LastPoint.Y=this.Frame.GetYFromData(close);};//创建
@@ -7982,7 +7986,7 @@ if(option.Overlay&&IFrameSplitOperator.IsNonEmptyArray(option.Overlay)){var setS
7982
7986
  else paint.Color=g_JSChartResource.OverlaySymbol.Color[g_JSChartResource.OverlaySymbol.Random%g_JSChartResource.OverlaySymbol.Color.length];++g_JSChartResource.OverlaySymbol.Random;paint.MainData=this.SourceData;//绑定主图数据
7983
7987
  if(paint.SetOption)paint.SetOption(item);this.OverlayChartPaint.push(paint);}}}if(!symbol||this.DayCount<=0){this.DrawEmpty();}else{this.ChartSplashPaint.SetTitle(this.LoadDataSplashTitle);this.ChartSplashPaint.EnableSplash(true);//增加下载动画
7984
7988
  this.Draw();this.RequestData();}};this.SetPageInfo=function(pageInfo){if(!pageInfo)return;if(IFrameSplitOperator.IsBool(pageInfo.Enable))this.PageInfo.Enable=pageInfo.Enable;if(IFrameSplitOperator.IsNumber(pageInfo.Offset))this.PageInfo.Offset=pageInfo.Offset;if(IFrameSplitOperator.IsNumber(pageInfo.ShowDayCount))this.PageInfo.ShowDayCount=pageInfo.ShowDayCount;};this.ClearMinuteData=function(){this.SourceData=null;this.DayData=null;this.BeforeOpenData=null;this.AfterCloseData=null;this.MultiDayBeforeOpenData=null;this.MultiDayAfterCloseData=null;};this.ChangeDayCount=function(count,option){if(count<0)return;this.StopDisplayLatest();this.CancelAutoUpdate();this.AutoUpdateEvent(false,"MinuteChartContainer::ChangeDayCount");this.DayCount=count;this.ClearMinuteData();if(option&&option.PageInfo){this.SetPageInfo(option.PageInfo);this.ResetDayOffset();}this.ReloadChartDrawPicture();this.ResetDataStatus();this.ClearIndexPaint();//清空指标
7985
- this.Frame.ClearYCoordinateMaxMin();this.ResetOverlaySymbolStatus();this.RequestData();};//[{ Symbol: , Color, Option: }]
7989
+ this.Frame.ClearYCoordinateMaxMin();this.ResetOverlaySymbolStatus();this.RequestData();};this.ChangeBaselineType=function(type){if(this.BaselineType==type)return;this.BaselineType=type;if(this.DayCount>1)this.RequestData();};//[{ Symbol: , Color, Option: }]
7986
7990
  this.OverlaySymbols=function(aryData,option){if(option&&option.ClearAll===true)//全部清空
7987
7991
  {for(var i=0;i<this.OverlayChartPaint.length;++i){var item=this.OverlayChartPaint[i];item.IsDelete=true;}this.OverlayChartPaint=[];}var aryNewOverlay=[];for(var i=0,j=0;i<aryData.length;++i)//去重,已经叠加过的不用在叠加
7988
7992
  {var overlayItem=aryData[i];var strSymbol=overlayItem.Symbol;var bFind=false;for(j=0;j<this.OverlayChartPaint.length;++j){var item=this.OverlayChartPaint[j];if(item.Symbol==strSymbol){bFind=true;console.warn('[MinuteChartContainer::OverlaySymbols] overlay symbol='+strSymbol+' exist.');break;}}if(!bFind)aryNewOverlay.push(overlayItem);}if(!IFrameSplitOperator.IsNonEmptyArray(aryNewOverlay))return true;for(var i=0;i<aryNewOverlay.length;++i){var overlayItem=aryNewOverlay[i];var strSymbol=overlayItem.Symbol;var paint=new ChartOverlayMinutePriceLine();paint.Canvas=this.Canvas;paint.ChartBorder=this.Frame.SubFrame[0].Frame.ChartBorder;paint.ChartFrame=this.Frame.SubFrame[0].Frame;paint.Name="Overlay-Minute";paint.Symbol=strSymbol;paint.Identify='Overlay-Minute-'+strSymbol;if(overlayItem.Option&&overlayItem.Option.Color)paint.Color=overlayItem.Option.Color;//外部设置颜色
@@ -8009,7 +8013,9 @@ var afterRange=null,beforeRange=null;if(IFrameSplitOperator.IsNonEmptyArray(this
8009
8013
  var sourceData=new ChartData();sourceData.Data=allMinuteData;if(updateTime)sourceData.UpdateTime=updateTime;this.SourceData=sourceData;this.TradeDate=this.DayData[0].Date;if(this.PageInfo&&this.PageInfo.Enable){this.DayOffset.DayCount=this.DayData.length;//一共的数据
8010
8014
  if(this.DayOffset.ShowDayCount==-1)this.DayOffset.ShowDayCount=this.DayData.length;//全部显示
8011
8015
  if(this.DayOffset.Offset==-8888)this.DayOffset.Offset=this.DayOffset.DayCount-this.DayOffset.ShowDayCount;//最后一页
8012
- var showDayCount=this.DayOffset.ShowDayCount;this.Frame.SetDayCount(showDayCount);}else{this.DayOffset.Offset=0;this.DayOffset.ShowDayCount=this.DayData.length;var showDayCount=this.DayOffset.ShowDayCount;this.Frame.SetDayCount(this.DayData.length);}var upperSymbol=this.Symbol.toUpperCase();var yClose=this.DayData[0].YClose;var isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol);if(IFrameSplitOperator.IsNumber(this.DayData[0].YClearing)&&isFutures)yClose=this.DayData[0].YClearing;//期货使用前结算价
8016
+ var showDayCount=this.DayOffset.ShowDayCount;this.Frame.SetDayCount(showDayCount);}else{this.DayOffset.Offset=0;this.DayOffset.ShowDayCount=this.DayData.length;var showDayCount=this.DayOffset.ShowDayCount;this.Frame.SetDayCount(this.DayData.length);}var upperSymbol=this.Symbol.toUpperCase();var isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol);var dayItem=this.DayData[0];//最新
8017
+ if(this.BaselineType===1)dayItem=this.DayData[this.DayData.length-1];//多日前
8018
+ var yClose=dayItem.YClose;if(IFrameSplitOperator.IsNumber(dayItem.YClearing)&&isFutures)yClose=dayItem.YClearing;//期货使用前结算价
8013
8019
  this.BindMainData(sourceData,yClose);//外汇 均线暂时不用
8014
8020
  if(MARKET_SUFFIX_NAME.IsForeignExchange(upperSymbol))this.ChartPaint[1].Data=null;for(var _i15=0;_i15<this.Frame.SubFrame.length;++_i15){var item=this.Frame.SubFrame[_i15];item.Frame.XSplitOperator.Symbol=this.Symbol;item.Frame.XSplitOperator.DayCount=showDayCount;item.Frame.XSplitOperator.DayData=this.DayData;item.Frame.XSplitOperator.Operator();//调整X轴个数
8015
8021
  item.Frame.XSplitOperator.IsBeforeData=this.IsBeforeData;item.Frame.XSplitOperator.IsAfterData=this.IsAfterData;item.Frame.YSplitOperator.Symbol=this.Symbol;item.Frame.YSplitOperator.IsBeforeData=this.IsBeforeData;item.Frame.YSplitOperator.IsAfterData=this.IsAfterData;for(var j in item.OverlayIndex)//子坐标X轴个数同步
@@ -8237,7 +8243,8 @@ if(drawPicture.ImportStorageData)drawPicture.ImportStorageData(item);drawPicture
8237
8243
  };this.SetSizeChange=function(bChanged){this.Frame.SetSizeChage(bChanged);for(var i in this.ExtendChartPaint){var item=this.ExtendChartPaint[i];item.SizeChange=bChanged;}};this.SetSizeChage=this.SetSizeChange;//根据X坐标获取数据索引
8238
8244
  this.GetDataIndexByPoint=function(x){var frame=this.Frame;if(this.Frame.SubFrame&&this.Frame.SubFrame.length>0)frame=this.Frame.SubFrame[0].Frame;if(!frame)return;var value=frame.GetXData(x);var index=parseInt(value.toFixed(0));return index;};//不支持未来时间 目前只支持主图
8239
8245
  this.GetDateTimeByPoint=function(x,y){var clientPos=this.PtInClient_V2(x,y);// 100-199=多日分时主图 200-299=盘前 300-399=盘后 1=主图 2=盘前 3=盘后
8240
- if(clientPos<=0)return null;if(!this.Frame.SubFrame[0]||!this.Frame.SubFrame[0].Frame)return null;var frame=this.Frame.SubFrame[0].Frame;var data=this.Frame.SourceData;if(!data||!IFrameSplitOperator.IsNonEmptyArray(data.Data))return null;var index=-1;var result={ClientPos:clientPos};if(clientPos==1){var value=frame.GetXData(x);index=parseInt(value.toFixed(0));}else if(clientPos>=100&&clientPos<=199){var dayIndex=clientPos-100;var value=frame.GetXData(x);index=parseInt(value.toFixed(0));var dataIndex=index%frame.MinuteCount;result.DayIndex=dayIndex;result.DataIndex=dataIndex;}else{return null;}if(index<0||index>=data.Data.length)return null;result.Index=index;var item=data.Data[index];if(!item)return null;result.Date=item.Date;result.Time=item.Time;return result;};//获取主数据
8246
+ if(clientPos<=0)return null;if(!this.Frame.SubFrame[0]||!this.Frame.SubFrame[0].Frame)return null;var frame=this.Frame.SubFrame[0].Frame;var data=this.Frame.SourceData;if(!data||!IFrameSplitOperator.IsNonEmptyArray(data.Data))return null;var index=-1;var result={ClientPos:clientPos};if(clientPos==1){var value=frame.GetXData(x);index=parseInt(value.toFixed(0));if(IFrameSplitOperator.IsNumber(data.DataOffset))index+=data.DataOffset;//加上数据偏移
8247
+ }else if(clientPos>=100&&clientPos<=199){var dayIndex=clientPos-100;var value=frame.GetXData(x);index=parseInt(value.toFixed(0));var dataIndex=index%frame.MinuteCount;result.DayIndex=dayIndex;result.DataIndex=dataIndex;}else{return null;}if(index<0||index>=data.Data.length)return null;result.Index=index;var item=data.Data[index];if(!item)return null;result.Date=item.Date;result.Time=item.Time;return result;};//获取主数据
8241
8248
  this.GetSelectRectData=function(selectData){if(Math.abs(selectData.XStart-selectData.XEnd)<5)return false;var startClientPos=this.PtInClient(selectData.XStart,selectData.YStart);var endClientPos=this.PtInClient(selectData.XEnd,selectData.YEnd);selectData.StartClientPos=startClientPos;selectData.EndClientPos=endClientPos;var data=this.SourceData;if(!data)return false;if(!IFrameSplitOperator.IsNonEmptyArray(data.Data))return false;var start=this.GetDataIndexByPoint(selectData.XStart);var end=this.GetDataIndexByPoint(selectData.XEnd);if(Math.abs(start-end)<2)return false;selectData.Data=data;var offset=data.DataOffset;start+=offset;end+=offset;if(start>end){selectData.Start=end;selectData.End=start;}else{selectData.Start=start;selectData.End=end;}var count=data.Data.length;if(selectData.End>=count)selectData.End=count-1;return true;};this.Super_UpdateFrameMaxMin=this.UpdateFrameMaxMin;this.UpdateFrameMaxMin=function(){this.Super_UpdateFrameMaxMin();if(this.DayCount==1)//集合竞价多坐标,Y轴强制都计算
8242
8249
  {var subFrame=this.Frame.SubFrame[1];if(subFrame.Frame)subFrame.Frame.XYSplit=true;}};this.ExportMainData=function(data,option){var aryData=data.ExportMinuteData(option);//导出K线
8243
8250
  return aryData;};this.DisplayLatest=function(){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_DISPLAY_LATEST);//选中画图工具事件
@@ -13220,10 +13227,15 @@ this.ClearAllSelectedChart=function(){for(var i=0;i<this.AryDivChart.length;++i)
13220
13227
  {spanDom.style['color']=this.LineColor;}tdDom.onmousedown=function(e){_this71.OnClickItem(e,data);};//点击
13221
13228
  this.AryDivChart.push(data);};this.OnChangeLineColor=function(data){++this.LineColorIndex;var index=this.LineColorIndex%this.RandomLineColor.length;this.LineColor=this.RandomLineColor[index];data.Span.style['color']=this.LineColor;};//清空所有画图工具
13222
13229
  this.DeleteAllChart=function(){if(!this.HQChart)return;this.HQChart.ClearChartDrawPicture();};this.SetEraseChartButtonStatus=function(enable){for(var i=0;i<this.AryDivChart.length;++i){var item=this.AryDivChart[i];if(item.Item.Type==2&&item.Item.Data&&item.Item.Data.ID==JS_DRAWTOOL_MENU_ID.CMD_ERASE_DRAW_CHART_ID){if(enable){if(item.Span.classList.contains("UMyChart_DrawTool_Span")){item.Span.classList.replace("UMyChart_DrawTool_Span","UMyChart_DrawTool_Span_Selected");}}else{if(item.Span.classList.contains("UMyChart_DrawTool_Span_Selected")){item.Span.classList.replace("UMyChart_DrawTool_Span_Selected","UMyChart_DrawTool_Span");}}break;}}};this.EnableEraseChart=function(enable){if(!this.HQChart)return;if(this.HQChart.EnableEraseChartDrawPicture==enable)return;this.HQChart.EnableEraseChartDrawPicture=enable;this.SetEraseChartButtonStatus(enable);};this.ChangeMagnet=function(data){if(!this.HQChart)return;var enable=true;if(this.HQChart.ChartDrawOption.Magnet){var item=this.HQChart.ChartDrawOption.Magnet;var enable=!item.Enable;}if(enable){this.HQChart.SetChartDrawOption({Magnet:{Enable:enable,Type:0}});data.Span.classList.remove("UMyChart_DrawTool_Span");data.Span.classList.add("UMyChart_DrawTool_Span_Selected");}else{this.HQChart.SetChartDrawOption({Magnet:{Enable:false}});data.Span.classList.remove("UMyChart_DrawTool_Span_Selected");data.Span.classList.add("UMyChart_DrawTool_Span");}};this.CreateDrawPicture=function(data){var _this72=this;if(!this.HQChart)return null;var option={LineColor:this.LineColor,//线段颜色
13223
- LineWidth:this.LineWidth//线段宽度
13224
- //PointColor:'rgba(255,130,71,0.5)' //点颜色
13230
+ LineWidth:this.LineWidth,//线段宽度
13231
+ PointColor:this.LineColor//点颜色
13225
13232
  };var name=data.Item.Data.ID;if(["icon-arrow_up","icon-arrow_down","icon-arrow_left","icon-arrow_right"].includes(name))option=null;this.HQChart.CreateChartDrawPicture(name,option,function(chart){_this72.OnFinishDrawPicture(chart,data);});};this.ClearCurrnetDrawPicture=function(){if(this.HQChart)this.HQChart.ClearCurrnetDrawPicture();};//画图工具绘制完成
13226
- this.OnFinishDrawPicture=function(chart,data){data.Span.classList.remove("UMyChart_DrawTool_Span_Selected");data.Span.classList.add("UMyChart_DrawTool_Span");};this.Show=function(x,y){if(!this.DivDialog)return;this.DivDialog.style.visibility='visible';this.DivDialog.style.top=y+"px";this.DivDialog.style.left=x+"px";};this.Close=function(e){if(!this.DivDialog)return;this.DivDialog.style.visibility='hidden';};this.IsShow=function(){if(!this.DivDialog)return false;return this.DivDialog.style.visibility==='visible';};this.OnMouseDownTitle=function(e){var _this73=this;if(!this.DivDialog)return;var dragData={X:e.clientX,Y:e.clientY};dragData.YOffset=e.clientX-this.DivDialog.offsetLeft;dragData.XOffset=e.clientY-this.DivDialog.offsetTop;this.DragTitle=dragData;document.onmousemove=function(e){_this73.DocOnMouseMoveTitle(e);};document.onmouseup=function(e){_this73.DocOnMouseUpTitle(e);};};this.DocOnMouseMoveTitle=function(e){if(!this.DragTitle)return;var left=e.clientX-this.DragTitle.YOffset;var top=e.clientY-this.DragTitle.XOffset;var right=left+this.DivDialog.offsetWidth;var bottom=top+this.DivDialog.offsetHeight;if(right+5>=window.innerWidth)left=window.innerWidth-this.DivDialog.offsetWidth-5;if(bottom+5>=window.innerHeight)top=window.innerHeight-this.DivDialog.offsetHeight-5;this.DivDialog.style.left=left+'px';this.DivDialog.style.top=top+'px';};this.DocOnMouseUpTitle=function(e){this.DragTitle=null;this.onmousemove=null;this.onmouseup=null;};}///////////////////////////////////////////////////////////////////////////////////
13233
+ this.OnFinishDrawPicture=function(chart,data){data.Span.classList.remove("UMyChart_DrawTool_Span_Selected");data.Span.classList.add("UMyChart_DrawTool_Span");};this.Show=function(x,y){if(!this.DivDialog)return;this.DivDialog.style.visibility='visible';this.DivDialog.style.top=y+"px";this.DivDialog.style.left=x+"px";};this.Close=function(e){if(!this.DivDialog)return;this.DivDialog.style.visibility='hidden';};this.IsShow=function(){if(!this.DivDialog)return false;return this.DivDialog.style.visibility==='visible';};this.OnMouseDownTitle=function(e){var _this73=this;if(!this.DivDialog)return;var dragData={X:e.clientX,Y:e.clientY};dragData.YOffset=e.clientX-this.DivDialog.offsetLeft;dragData.XOffset=e.clientY-this.DivDialog.offsetTop;this.DragTitle=dragData;document.onmousemove=function(e){_this73.DocOnMouseMoveTitle(e);};document.onmouseup=function(e){_this73.DocOnMouseUpTitle(e);};};this.DocOnMouseMoveTitle=function(e){if(!this.DragTitle)return;var left=e.clientX-this.DragTitle.YOffset;var top=e.clientY-this.DragTitle.XOffset;var right=left+this.DivDialog.offsetWidth;var bottom=top+this.DivDialog.offsetHeight;if(right+5>=window.innerWidth)left=window.innerWidth-this.DivDialog.offsetWidth-5;if(bottom+5>=window.innerHeight)top=window.innerHeight-this.DivDialog.offsetHeight-5;this.DivDialog.style.left=left+'px';this.DivDialog.style.top=top+'px';};this.DocOnMouseUpTitle=function(e){this.DragTitle=null;this.onmousemove=null;this.onmouseup=null;};}/////////////////////////////////////////////////////////////////////////////////////
13234
+ // 修改画图工具
13235
+ //
13236
+ //
13237
+ ////////////////////////////////////////////////////////////////////////////////////
13238
+ function JSDialogModifyDraw(){this.DivDialog=null;this.HQChart;this.ChartPicture;}///////////////////////////////////////////////////////////////////////////////////
13227
13239
  // 工作线程计算指标示例
13228
13240
  //
13229
13241
  //
@@ -13235,7 +13247,7 @@ hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,St
13235
13247
  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);};}/********************************************************************************
13236
13248
  * 版本信息输出
13237
13249
  *
13238
- */var HQCHART_VERSION="1.1.13298";function PrintHQChartVersion(){var log='*************************************************************************************************************\n*\n* HQChart Ver: '+HQCHART_VERSION+' \n* \n* License: Apache License 2.0 \n* Source: https://github.com/jones2000/HQChart\n*\n*************************************************************************************************************\n';console.log(log);}PrintHQChartVersion();//把给外界调用的方法暴露出来
13250
+ */var HQCHART_VERSION="1.1.13310";function PrintHQChartVersion(){var log='*************************************************************************************************************\n*\n* HQChart Ver: '+HQCHART_VERSION+' \n* \n* License: Apache License 2.0 \n* Source: https://github.com/jones2000/HQChart\n*\n*************************************************************************************************************\n';console.log(log);}PrintHQChartVersion();//把给外界调用的方法暴露出来
13239
13251
  exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
13240
13252
  // BaseIndex:BaseIndex,
13241
13253
  // ChartLine:ChartLine,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hqchart",
3
- "version": "1.1.13299",
3
+ "version": "1.1.13311",
4
4
  "description": "HQChart - H5, 微信小程序 沪深/港股/数字货币/期货/美股 K线图(kline),走势图,缩放,拖拽,十字光标,画图工具,截图,筹码图. 分析家语法,通达信语法,(麦语法),第3方数据对接",
5
5
  "main": "lib/main.js",
6
6
  "scripts": {
@@ -448,7 +448,7 @@ function JSDialogDrawTool()
448
448
  {
449
449
  LineColor:this.LineColor, //线段颜色
450
450
  LineWidth:this.LineWidth, //线段宽度
451
- //PointColor:'rgba(255,130,71,0.5)' //点颜色
451
+ PointColor:this.LineColor //点颜色
452
452
  };
453
453
 
454
454
  var name=data.Item.Data.ID;
@@ -531,6 +531,19 @@ function JSDialogDrawTool()
531
531
  }
532
532
 
533
533
 
534
+ /////////////////////////////////////////////////////////////////////////////////////
535
+ // 修改画图工具
536
+ //
537
+ //
538
+ ////////////////////////////////////////////////////////////////////////////////////
539
+ function JSDialogModifyDraw()
540
+ {
541
+ this.DivDialog=null;
542
+ this.HQChart;
543
+ this.ChartPicture;
544
+ }
545
+
546
+
534
547
 
535
548
 
536
549
 
@@ -2677,6 +2677,11 @@ var JSCHART_MENU_ID=
2677
2677
  CMD_ENABLE_OVERLAY_SHARE_Y_ID:31, //和主图指标共享Y轴坐标
2678
2678
 
2679
2679
  CMD_CHANGE_DEFAULTCURSOR_ID:32, //修改鼠标形状
2680
+ CMD_CHANGE_API_INDEX_ID:33, //切换后台接口指标
2681
+ CMD_CHANGE_SCRIPT_INDEX_ID:34, //切换成自定义的脚本指标
2682
+
2683
+ CMD_CHANGE_BASELINE_ID:35, //分时图切换基准线
2684
+
2680
2685
  }
2681
2686
 
2682
2687
 
@@ -9198,6 +9203,14 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
9198
9203
  if (this.ChangeIndex && param!=null && aryArgs[1])
9199
9204
  this.ChangeIndex(param,aryArgs[1]);
9200
9205
  break;
9206
+ case JSCHART_MENU_ID.CMD_CHANGE_API_INDEX_ID:
9207
+ if (this.ChangeAPIIndex && param!=null && aryArgs[1])
9208
+ this.ChangeAPIIndex(param, aryArgs[1]);
9209
+ break;
9210
+ case JSCHART_MENU_ID.CMD_CHANGE_SCRIPT_INDEX_ID:
9211
+ if (this.ChangeScriptIndex && param!=null && aryArgs[1])
9212
+ this.ChangeScriptIndex(param,aryArgs[1],aryArgs[2]);
9213
+ break;
9201
9214
 
9202
9215
  case JSCHART_MENU_ID.CMD_CHANGE_COLOR_INDEX_ID:
9203
9216
  case JSCHART_MENU_ID.CMD_CHANGE_TRADE_INDEX_ID:
@@ -9307,6 +9320,10 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
9307
9320
  if (this.ShowCallAuctionData && IFrameSplitOperator.IsBool(srcParam))
9308
9321
  this.ShowCallAuctionData({ Left:srcParam, MultiDay:{ Left:srcParam }});
9309
9322
  break;
9323
+ case JSCHART_MENU_ID.CMD_CHANGE_BASELINE_ID:
9324
+ if (this.ChangeBaselineType && IFrameSplitOperator.IsNumber(param))
9325
+ this.ChangeBaselineType(param);
9326
+ break;
9310
9327
 
9311
9328
  case JSCHART_MENU_ID.CMD_SELECTED_ZOOM_ID:
9312
9329
  if (this.ShowSelectData && srcParam) this.ShowSelectData(srcParam);
@@ -75388,6 +75405,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
75388
75405
  this.DataStatus={ MultiDay:false, LatestDay:false, LatestDate:null}; //MultiDay=多日 LatestDay:当天 LatestDate:最后的日期
75389
75406
 
75390
75407
  this.ZoomStepPixel=50;
75408
+ this.BaselineType=0; //基准线类型 0=最新昨收盘 1=多日前昨收盘
75391
75409
 
75392
75410
  //集合竞价设置 obj={ Left:true/false, Right:true/false, MultiDay:{Left:, Right:} }
75393
75411
  this.SetCallCationDataBorder=function(obj)
@@ -76863,6 +76881,16 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
76863
76881
  { Name:"最近3日", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_DAY_COUNT_ID, Args:[3]}, Checked:this.DayCount==3 },
76864
76882
  { Name:"最近4日", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_DAY_COUNT_ID, Args:[4]}, Checked:this.DayCount==4 },
76865
76883
  { Name:"最近5日", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_DAY_COUNT_ID, Args:[5]}, Checked:this.DayCount==5 },
76884
+
76885
+ {
76886
+ Name:"基准线选择",
76887
+ SubMenu:
76888
+ [
76889
+ { Name:"最新昨收价", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_BASELINE_ID, Args:[0]}, Checked:this.BaselineType===0 },
76890
+ { Name:"多日前昨收价", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_BASELINE_ID, Args:[1]}, Checked:this.BaselineType===1 }
76891
+ ]
76892
+
76893
+ }
76866
76894
  ]
76867
76895
  },
76868
76896
  {
@@ -78051,6 +78079,14 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
78051
78079
  this.RequestData();
78052
78080
  }
78053
78081
 
78082
+ this.ChangeBaselineType=function(type)
78083
+ {
78084
+ if (this.BaselineType==type) return;
78085
+
78086
+ this.BaselineType=type;
78087
+ if (this.DayCount>1) this.RequestData();
78088
+ }
78089
+
78054
78090
  //[{ Symbol: , Color, Option: }]
78055
78091
  this.OverlaySymbols=function(aryData, option)
78056
78092
  {
@@ -78538,10 +78574,13 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
78538
78574
 
78539
78575
 
78540
78576
  var upperSymbol=this.Symbol.toUpperCase();
78541
-
78542
- var yClose=this.DayData[0].YClose;
78543
78577
  var isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol);
78544
- if (IFrameSplitOperator.IsNumber(this.DayData[0].YClearing) && isFutures) yClose=this.DayData[0].YClearing; //期货使用前结算价
78578
+ var dayItem=this.DayData[0]; //最新
78579
+ if (this.BaselineType===1) dayItem=this.DayData[this.DayData.length-1]; //多日前
78580
+
78581
+ var yClose=dayItem.YClose;
78582
+ if (IFrameSplitOperator.IsNumber(dayItem.YClearing) && isFutures) yClose=dayItem.YClearing; //期货使用前结算价
78583
+
78545
78584
  this.BindMainData(sourceData,yClose);
78546
78585
 
78547
78586
  //外汇 均线暂时不用
@@ -80366,6 +80405,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
80366
80405
  {
80367
80406
  var value=frame.GetXData(x);
80368
80407
  index=parseInt(value.toFixed(0));
80408
+ if (IFrameSplitOperator.IsNumber(data.DataOffset)) index+=data.DataOffset; //加上数据偏移
80369
80409
  }
80370
80410
  else if (clientPos>=100 && clientPos<=199)
80371
80411
  {
@@ -6569,6 +6569,11 @@ var JSCHART_MENU_ID=
6569
6569
  CMD_ENABLE_OVERLAY_SHARE_Y_ID:31, //和主图指标共享Y轴坐标
6570
6570
 
6571
6571
  CMD_CHANGE_DEFAULTCURSOR_ID:32, //修改鼠标形状
6572
+ CMD_CHANGE_API_INDEX_ID:33, //切换后台接口指标
6573
+ CMD_CHANGE_SCRIPT_INDEX_ID:34, //切换成自定义的脚本指标
6574
+
6575
+ CMD_CHANGE_BASELINE_ID:35, //分时图切换基准线
6576
+
6572
6577
  }
6573
6578
 
6574
6579
 
@@ -13090,6 +13095,14 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
13090
13095
  if (this.ChangeIndex && param!=null && aryArgs[1])
13091
13096
  this.ChangeIndex(param,aryArgs[1]);
13092
13097
  break;
13098
+ case JSCHART_MENU_ID.CMD_CHANGE_API_INDEX_ID:
13099
+ if (this.ChangeAPIIndex && param!=null && aryArgs[1])
13100
+ this.ChangeAPIIndex(param, aryArgs[1]);
13101
+ break;
13102
+ case JSCHART_MENU_ID.CMD_CHANGE_SCRIPT_INDEX_ID:
13103
+ if (this.ChangeScriptIndex && param!=null && aryArgs[1])
13104
+ this.ChangeScriptIndex(param,aryArgs[1],aryArgs[2]);
13105
+ break;
13093
13106
 
13094
13107
  case JSCHART_MENU_ID.CMD_CHANGE_COLOR_INDEX_ID:
13095
13108
  case JSCHART_MENU_ID.CMD_CHANGE_TRADE_INDEX_ID:
@@ -13199,6 +13212,10 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
13199
13212
  if (this.ShowCallAuctionData && IFrameSplitOperator.IsBool(srcParam))
13200
13213
  this.ShowCallAuctionData({ Left:srcParam, MultiDay:{ Left:srcParam }});
13201
13214
  break;
13215
+ case JSCHART_MENU_ID.CMD_CHANGE_BASELINE_ID:
13216
+ if (this.ChangeBaselineType && IFrameSplitOperator.IsNumber(param))
13217
+ this.ChangeBaselineType(param);
13218
+ break;
13202
13219
 
13203
13220
  case JSCHART_MENU_ID.CMD_SELECTED_ZOOM_ID:
13204
13221
  if (this.ShowSelectData && srcParam) this.ShowSelectData(srcParam);
@@ -79280,6 +79297,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
79280
79297
  this.DataStatus={ MultiDay:false, LatestDay:false, LatestDate:null}; //MultiDay=多日 LatestDay:当天 LatestDate:最后的日期
79281
79298
 
79282
79299
  this.ZoomStepPixel=50;
79300
+ this.BaselineType=0; //基准线类型 0=最新昨收盘 1=多日前昨收盘
79283
79301
 
79284
79302
  //集合竞价设置 obj={ Left:true/false, Right:true/false, MultiDay:{Left:, Right:} }
79285
79303
  this.SetCallCationDataBorder=function(obj)
@@ -80755,6 +80773,16 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
80755
80773
  { Name:"最近3日", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_DAY_COUNT_ID, Args:[3]}, Checked:this.DayCount==3 },
80756
80774
  { Name:"最近4日", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_DAY_COUNT_ID, Args:[4]}, Checked:this.DayCount==4 },
80757
80775
  { Name:"最近5日", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_DAY_COUNT_ID, Args:[5]}, Checked:this.DayCount==5 },
80776
+
80777
+ {
80778
+ Name:"基准线选择",
80779
+ SubMenu:
80780
+ [
80781
+ { Name:"最新昨收价", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_BASELINE_ID, Args:[0]}, Checked:this.BaselineType===0 },
80782
+ { Name:"多日前昨收价", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_BASELINE_ID, Args:[1]}, Checked:this.BaselineType===1 }
80783
+ ]
80784
+
80785
+ }
80758
80786
  ]
80759
80787
  },
80760
80788
  {
@@ -81943,6 +81971,14 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
81943
81971
  this.RequestData();
81944
81972
  }
81945
81973
 
81974
+ this.ChangeBaselineType=function(type)
81975
+ {
81976
+ if (this.BaselineType==type) return;
81977
+
81978
+ this.BaselineType=type;
81979
+ if (this.DayCount>1) this.RequestData();
81980
+ }
81981
+
81946
81982
  //[{ Symbol: , Color, Option: }]
81947
81983
  this.OverlaySymbols=function(aryData, option)
81948
81984
  {
@@ -82430,10 +82466,13 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
82430
82466
 
82431
82467
 
82432
82468
  var upperSymbol=this.Symbol.toUpperCase();
82433
-
82434
- var yClose=this.DayData[0].YClose;
82435
82469
  var isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol);
82436
- if (IFrameSplitOperator.IsNumber(this.DayData[0].YClearing) && isFutures) yClose=this.DayData[0].YClearing; //期货使用前结算价
82470
+ var dayItem=this.DayData[0]; //最新
82471
+ if (this.BaselineType===1) dayItem=this.DayData[this.DayData.length-1]; //多日前
82472
+
82473
+ var yClose=dayItem.YClose;
82474
+ if (IFrameSplitOperator.IsNumber(dayItem.YClearing) && isFutures) yClose=dayItem.YClearing; //期货使用前结算价
82475
+
82437
82476
  this.BindMainData(sourceData,yClose);
82438
82477
 
82439
82478
  //外汇 均线暂时不用
@@ -84258,6 +84297,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
84258
84297
  {
84259
84298
  var value=frame.GetXData(x);
84260
84299
  index=parseInt(value.toFixed(0));
84300
+ if (IFrameSplitOperator.IsNumber(data.DataOffset)) index+=data.DataOffset; //加上数据偏移
84261
84301
  }
84262
84302
  else if (clientPos>=100 && clientPos<=199)
84263
84303
  {
@@ -132477,7 +132517,7 @@ function ScrollBarBGChart()
132477
132517
 
132478
132518
 
132479
132519
 
132480
- var HQCHART_VERSION="1.1.13298";
132520
+ var HQCHART_VERSION="1.1.13310";
132481
132521
 
132482
132522
  function PrintHQChartVersion()
132483
132523
  {
@@ -5,7 +5,7 @@
5
5
 
6
6
 
7
7
 
8
- var HQCHART_VERSION="1.1.13298";
8
+ var HQCHART_VERSION="1.1.13310";
9
9
 
10
10
  function PrintHQChartVersion()
11
11
  {
@@ -6613,6 +6613,11 @@ var JSCHART_MENU_ID=
6613
6613
  CMD_ENABLE_OVERLAY_SHARE_Y_ID:31, //和主图指标共享Y轴坐标
6614
6614
 
6615
6615
  CMD_CHANGE_DEFAULTCURSOR_ID:32, //修改鼠标形状
6616
+ CMD_CHANGE_API_INDEX_ID:33, //切换后台接口指标
6617
+ CMD_CHANGE_SCRIPT_INDEX_ID:34, //切换成自定义的脚本指标
6618
+
6619
+ CMD_CHANGE_BASELINE_ID:35, //分时图切换基准线
6620
+
6616
6621
  }
6617
6622
 
6618
6623
 
@@ -13134,6 +13139,14 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
13134
13139
  if (this.ChangeIndex && param!=null && aryArgs[1])
13135
13140
  this.ChangeIndex(param,aryArgs[1]);
13136
13141
  break;
13142
+ case JSCHART_MENU_ID.CMD_CHANGE_API_INDEX_ID:
13143
+ if (this.ChangeAPIIndex && param!=null && aryArgs[1])
13144
+ this.ChangeAPIIndex(param, aryArgs[1]);
13145
+ break;
13146
+ case JSCHART_MENU_ID.CMD_CHANGE_SCRIPT_INDEX_ID:
13147
+ if (this.ChangeScriptIndex && param!=null && aryArgs[1])
13148
+ this.ChangeScriptIndex(param,aryArgs[1],aryArgs[2]);
13149
+ break;
13137
13150
 
13138
13151
  case JSCHART_MENU_ID.CMD_CHANGE_COLOR_INDEX_ID:
13139
13152
  case JSCHART_MENU_ID.CMD_CHANGE_TRADE_INDEX_ID:
@@ -13243,6 +13256,10 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
13243
13256
  if (this.ShowCallAuctionData && IFrameSplitOperator.IsBool(srcParam))
13244
13257
  this.ShowCallAuctionData({ Left:srcParam, MultiDay:{ Left:srcParam }});
13245
13258
  break;
13259
+ case JSCHART_MENU_ID.CMD_CHANGE_BASELINE_ID:
13260
+ if (this.ChangeBaselineType && IFrameSplitOperator.IsNumber(param))
13261
+ this.ChangeBaselineType(param);
13262
+ break;
13246
13263
 
13247
13264
  case JSCHART_MENU_ID.CMD_SELECTED_ZOOM_ID:
13248
13265
  if (this.ShowSelectData && srcParam) this.ShowSelectData(srcParam);
@@ -79324,6 +79341,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
79324
79341
  this.DataStatus={ MultiDay:false, LatestDay:false, LatestDate:null}; //MultiDay=多日 LatestDay:当天 LatestDate:最后的日期
79325
79342
 
79326
79343
  this.ZoomStepPixel=50;
79344
+ this.BaselineType=0; //基准线类型 0=最新昨收盘 1=多日前昨收盘
79327
79345
 
79328
79346
  //集合竞价设置 obj={ Left:true/false, Right:true/false, MultiDay:{Left:, Right:} }
79329
79347
  this.SetCallCationDataBorder=function(obj)
@@ -80799,6 +80817,16 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
80799
80817
  { Name:"最近3日", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_DAY_COUNT_ID, Args:[3]}, Checked:this.DayCount==3 },
80800
80818
  { Name:"最近4日", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_DAY_COUNT_ID, Args:[4]}, Checked:this.DayCount==4 },
80801
80819
  { Name:"最近5日", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_DAY_COUNT_ID, Args:[5]}, Checked:this.DayCount==5 },
80820
+
80821
+ {
80822
+ Name:"基准线选择",
80823
+ SubMenu:
80824
+ [
80825
+ { Name:"最新昨收价", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_BASELINE_ID, Args:[0]}, Checked:this.BaselineType===0 },
80826
+ { Name:"多日前昨收价", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_BASELINE_ID, Args:[1]}, Checked:this.BaselineType===1 }
80827
+ ]
80828
+
80829
+ }
80802
80830
  ]
80803
80831
  },
80804
80832
  {
@@ -81987,6 +82015,14 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
81987
82015
  this.RequestData();
81988
82016
  }
81989
82017
 
82018
+ this.ChangeBaselineType=function(type)
82019
+ {
82020
+ if (this.BaselineType==type) return;
82021
+
82022
+ this.BaselineType=type;
82023
+ if (this.DayCount>1) this.RequestData();
82024
+ }
82025
+
81990
82026
  //[{ Symbol: , Color, Option: }]
81991
82027
  this.OverlaySymbols=function(aryData, option)
81992
82028
  {
@@ -82474,10 +82510,13 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
82474
82510
 
82475
82511
 
82476
82512
  var upperSymbol=this.Symbol.toUpperCase();
82477
-
82478
- var yClose=this.DayData[0].YClose;
82479
82513
  var isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol);
82480
- if (IFrameSplitOperator.IsNumber(this.DayData[0].YClearing) && isFutures) yClose=this.DayData[0].YClearing; //期货使用前结算价
82514
+ var dayItem=this.DayData[0]; //最新
82515
+ if (this.BaselineType===1) dayItem=this.DayData[this.DayData.length-1]; //多日前
82516
+
82517
+ var yClose=dayItem.YClose;
82518
+ if (IFrameSplitOperator.IsNumber(dayItem.YClearing) && isFutures) yClose=dayItem.YClearing; //期货使用前结算价
82519
+
82481
82520
  this.BindMainData(sourceData,yClose);
82482
82521
 
82483
82522
  //外汇 均线暂时不用
@@ -84302,6 +84341,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
84302
84341
  {
84303
84342
  var value=frame.GetXData(x);
84304
84343
  index=parseInt(value.toFixed(0));
84344
+ if (IFrameSplitOperator.IsNumber(data.DataOffset)) index+=data.DataOffset; //加上数据偏移
84305
84345
  }
84306
84346
  else if (clientPos>=100 && clientPos<=199)
84307
84347
  {
@@ -135738,7 +135778,7 @@ function JSDialogDrawTool()
135738
135778
  {
135739
135779
  LineColor:this.LineColor, //线段颜色
135740
135780
  LineWidth:this.LineWidth, //线段宽度
135741
- //PointColor:'rgba(255,130,71,0.5)' //点颜色
135781
+ PointColor:this.LineColor //点颜色
135742
135782
  };
135743
135783
 
135744
135784
  var name=data.Item.Data.ID;
@@ -135821,6 +135861,19 @@ function JSDialogDrawTool()
135821
135861
  }
135822
135862
 
135823
135863
 
135864
+ /////////////////////////////////////////////////////////////////////////////////////
135865
+ // 修改画图工具
135866
+ //
135867
+ //
135868
+ ////////////////////////////////////////////////////////////////////////////////////
135869
+ function JSDialogModifyDraw()
135870
+ {
135871
+ this.DivDialog=null;
135872
+ this.HQChart;
135873
+ this.ChartPicture;
135874
+ }
135875
+
135876
+
135824
135877
 
135825
135878
 
135826
135879
 
@@ -135945,7 +135998,7 @@ function HQChartScriptWorker()
135945
135998
 
135946
135999
 
135947
136000
 
135948
- var HQCHART_VERSION="1.1.13298";
136001
+ var HQCHART_VERSION="1.1.13310";
135949
136002
 
135950
136003
  function PrintHQChartVersion()
135951
136004
  {