hqchart 1.1.13921 → 1.1.13928

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.
@@ -127,9 +127,9 @@ extendData[0]="行业X";//地区
127
127
  extendData[1]="地区X";//PE|PB
128
128
  extendData[2]=Math.round(Math.random()*60)/100;extendData[3]=Math.round(Math.random()*60)/100;extendData[4]=Math.round(Math.random()*60)/100;extendData[5]=Math.round(Math.random()*60)/100;//周涨幅
129
129
  extendData[6]=Math.round(Math.random()*60)/100;extendData[7]=Math.round(Math.random()*60)/100;extendData[8]=Math.round(Math.random()*60)/100;item.Data=newItem;}}var hqchartData={data:[],index:[],filedindex:column.index,sort:sortType,symbol:blockID};var _iteratorNormalCompletion2=true;var _didIteratorError2=false;var _iteratorError2=undefined;try{for(var _iterator2=(0,_getIterator3.default)(mapStock),_step2;!(_iteratorNormalCompletion2=(_step2=_iterator2.next()).done);_iteratorNormalCompletion2=true){var mapItem=_step2.value;var item=mapItem[1];if(!item.Data)continue;hqchartData.data.push(item.Data);hqchartData.index.push(item.Index);}}catch(err){_didIteratorError2=true;_iteratorError2=err;}finally{try{if(!_iteratorNormalCompletion2&&_iterator2.return){_iterator2.return();}}finally{if(_didIteratorError2){throw _iteratorError2;}}}callback(hqchartData);};HQData.Keyboard_RequestSymbolList=function(data,callback){//加载数据
130
- var recv={symbollist:SYMBOL_LIST};var arySymbol=[];for(var i=0;i<recv.symbollist.length;++i){var item=recv.symbollist[i];var shortSymbol=item[0];shortSymbol=shortSymbol.replace(".sh","");shortSymbol=shortSymbol.replace(".sz","");var symbolItem={Symbol:item[0],Name:item[1],ShortSymbol:shortSymbol,Spell:item[3],Type:item[2],Data:{Symbol:item[0],Type:0}};if(symbolItem.Type=="EQA"){symbolItem.TypeName="股票";}else if(symbolItem.Type=="IDX"){symbolItem.TypeName="指数";symbolItem.Color="rgb(30,144,255)";}arySymbol.push(symbolItem);}arySymbol.push({Symbol:"ICL8.cfe",Name:"中证主连",ShortSymbol:"ICL8",Spell:"ICL8",Type:"期货",TypeName:"期货",Data:{Symbol:"ICL8.cfe",Type:0}});arySymbol.push({Symbol:"01",Name:"分时成交明细",TypeName:"功能键",Priority:1,Color:"rgb(220,20,60)",Data:{PageName:"分时成交明细",Type:2}});arySymbol.push({Symbol:"02",Name:"分价表",TypeName:"功能键",Priority:1,Color:"rgb(220,20,60)",Data:{PageName:"分价表",Type:2}});arySymbol.push({Symbol:"06",Name:"自选股",TypeName:"功能键",Priority:1,Color:"rgb(220,20,60)",Data:{PageName:"自选股",Type:2}});arySymbol.push({Symbol:"MACD",Name:"平滑异同平均线",TypeName:"指标",Priority:2,Color:"rgb(0,0,255)",Data:{Index:"MACD",Type:1}});arySymbol.push({Symbol:"RSI",Name:"相对强弱指标",TypeName:"指标",Priority:2,Color:"rgb(0,0,255)",Data:{Index:"RSI",Type:1}});arySymbol.push({Symbol:"MA",Name:"均线",TypeName:"指标",Priority:2,Color:"rgb(0,0,255)",Data:{Index:"MA",Type:1}});arySymbol.push({Symbol:"BOLL",Name:"布林线",TypeName:"指标",Priority:2,Color:"rgb(0,0,255)",Data:{Index:"BOLL",Type:1}});arySymbol.push({Symbol:"KDJ",Name:"随机指标",TypeName:"指标",Priority:2,Color:"rgb(0,0,255)",Data:{Index:"KDJ",Type:1}});arySymbol.push({Symbol:"SKDJ",Name:"慢速随机指标",TypeName:"指标",Priority:2,Color:"rgb(0,0,255)",Data:{Index:"SKDJ",Type:1}});arySymbol.push({Symbol:"KD",Name:"随机指标KD",TypeName:"指标",Priority:2,Color:"rgb(0,0,255)",Data:{Index:"KD",Type:1}});arySymbol.push({Symbol:"MARSI",Name:"相对强弱平均线",TypeName:"指标",Priority:2,Color:"rgb(0,0,255)",Data:{Index:"MARSI",Type:1}});arySymbol.push({Symbol:"VMACD",Name:"量平滑异同平均",TypeName:"指标",Priority:2,Color:"rgb(0,0,255)",Data:{Index:"VMACD",Type:1}});arySymbol.push({Symbol:"AMO",Name:"成交金额",TypeName:"指标",Priority:2,Color:"rgb(0,0,255)",Data:{Index:"AMO",Type:1}});arySymbol.push({Symbol:"SQJZ",Name:"神奇九转",TypeName:"指标",Priority:2,Color:"rgb(0,0,255)",Data:{Index:"SQJZ",Type:1}});callback(arySymbol);};HQData.GetRandomTestData=function(min,max)//测试数据
130
+ var recv={symbollist:SYMBOL_LIST};var arySymbol=[];for(var i=0;i<recv.symbollist.length;++i){var item=recv.symbollist[i];var shortSymbol=item[0];shortSymbol=shortSymbol.replace(".sh","");shortSymbol=shortSymbol.replace(".sz","");var symbolItem={Symbol:item[0],Name:item[1],ShortSymbol:shortSymbol,Spell:item[3],Type:item[2],Data:{Symbol:item[0],Type:0}};if(symbolItem.Type=="EQA"){symbolItem.TypeName="股票";}else if(symbolItem.Type=="IDX"){symbolItem.TypeName="指数";symbolItem.Color="rgb(30,144,255)";}arySymbol.push(symbolItem);}arySymbol.push({Symbol:"ICL8.cfe",Name:"中证主连",ShortSymbol:"ICL8",Spell:"ICL8",Type:"期货",TypeName:"期货",Data:{Symbol:"ICL8.cfe",Type:0}});arySymbol.push({Symbol:"IML8.cfe",Name:"中千主连",ShortSymbol:"IML8",Spell:"IML8",Type:"期货",TypeName:"期货",Data:{Symbol:"IML8.cfe",Type:0}});arySymbol.push({Symbol:"IFL8.cfe",Name:"沪深主连",ShortSymbol:"IFL8",Spell:"IFL8",Type:"期货",TypeName:"期货",Data:{Symbol:"IFL8.cfe",Type:0}});arySymbol.push({Symbol:"01",Name:"分时成交明细",TypeName:"功能键",Priority:1,Color:"rgb(220,20,60)",Data:{PageName:"分时成交明细",Type:2}});arySymbol.push({Symbol:"02",Name:"分价表",TypeName:"功能键",Priority:1,Color:"rgb(220,20,60)",Data:{PageName:"分价表",Type:2}});arySymbol.push({Symbol:"06",Name:"自选股",TypeName:"功能键",Priority:1,Color:"rgb(220,20,60)",Data:{PageName:"自选股",Type:2}});arySymbol.push({Symbol:"MACD",Name:"平滑异同平均线",TypeName:"指标",Priority:2,Color:"rgb(0,0,255)",Data:{Index:"MACD",Type:1}});arySymbol.push({Symbol:"RSI",Name:"相对强弱指标",TypeName:"指标",Priority:2,Color:"rgb(0,0,255)",Data:{Index:"RSI",Type:1}});arySymbol.push({Symbol:"MA",Name:"均线",TypeName:"指标",Priority:2,Color:"rgb(0,0,255)",Data:{Index:"MA",Type:1}});arySymbol.push({Symbol:"BOLL",Name:"布林线",TypeName:"指标",Priority:2,Color:"rgb(0,0,255)",Data:{Index:"BOLL",Type:1}});arySymbol.push({Symbol:"KDJ",Name:"随机指标",TypeName:"指标",Priority:2,Color:"rgb(0,0,255)",Data:{Index:"KDJ",Type:1}});arySymbol.push({Symbol:"SKDJ",Name:"慢速随机指标",TypeName:"指标",Priority:2,Color:"rgb(0,0,255)",Data:{Index:"SKDJ",Type:1}});arySymbol.push({Symbol:"KD",Name:"随机指标KD",TypeName:"指标",Priority:2,Color:"rgb(0,0,255)",Data:{Index:"KD",Type:1}});arySymbol.push({Symbol:"MARSI",Name:"相对强弱平均线",TypeName:"指标",Priority:2,Color:"rgb(0,0,255)",Data:{Index:"MARSI",Type:1}});arySymbol.push({Symbol:"VMACD",Name:"量平滑异同平均",TypeName:"指标",Priority:2,Color:"rgb(0,0,255)",Data:{Index:"VMACD",Type:1}});arySymbol.push({Symbol:"AMO",Name:"成交金额",TypeName:"指标",Priority:2,Color:"rgb(0,0,255)",Data:{Index:"AMO",Type:1}});arySymbol.push({Symbol:"SQJZ",Name:"神奇九转",TypeName:"指标",Priority:2,Color:"rgb(0,0,255)",Data:{Index:"SQJZ",Type:1}});callback(arySymbol);};HQData.GetRandomTestData=function(min,max)//测试数据
131
131
  {min=Math.ceil(min);max=Math.floor(max);return Math.floor(Math.random()*(max-min+1))+min;//含最大值,含最小值
132
- };HQData.GetM1KLineDataBySymbol=function(symbol){var data=null;switch(symbol){case"000001.sh":data=SH_000001_M1_KLINE;break;case"000300.sh":data=SH_000300_M1_KLINE;break;case"399001.sz":data=SZ_399001_M1_KLINE;break;case"000001.sz":data=SZ_000001_M1_KLINE;break;case"600000.sh":data=SH_600000_M1_KLINE;break;case"000151.sz":data=SZ_000151_M1_KLINE;break;case"399005.sz":data=SZ_399005_M1_KLINE;break;case"399006.sz":data=SZ_399006_M1_KLINE;break;default:data=SZ_000001_M1_KLINE;break;}if(!data)return null;return data.data;};HQData.GetDayKLineDataBySymbol=function(symbol){var data=null;switch(symbol){case"000001.sh":data=SH_000001_DAY_KLINE;break;case"000300.sh":data=SH_000300_DAY_KLINE;break;case"399001.sz":data=SZ_399001_DAY_KLINE;break;case"000001.sz":data=SZ_000001_DAY_KLINE;break;case"600000.sh":data=SH_600000_DAY_KLINE;break;case"000151.sz":data=SZ_000151_DAY_KLINE;break;case"399005.sz":data=SZ_399005_DAY_KLINE;break;case"399006.sz":data=SZ_399006_DAY_KLINE;break;case"ICL8.cfe":data=CFE_ICL8_DAY_KLINE;break;default:data=SZ_000001_DAY_KLINE;break;}if(!data)return null;return data.data;};HQData.GetKLineDataByDateTime=function(fullData,startDate,startTime,endDate,endTime){var start=startDate*10000+startTime;var end=endDate*10000+endTime;var aryData=[];for(var i=0;i<fullData.length;++i){var kItem=fullData[i];var date=kItem[0];var time=kItem[8];var dateTime=date*10000+time;if(dateTime>=start&&dateTime<=end)aryData.push(kItem);}return aryData;};HQData.GetKLineDataByDate=function(fullData,startDate,endDate){var aryData=[];for(var i=0;i<fullData.length;++i){var kItem=fullData[i];var date=kItem[0];if(date>=startDate&&date<=endDate)aryData.push(kItem);}return aryData;};HQData.GetDayMinuteDataBySymbol=function(symbol){var data=null;switch(symbol){case"000001.sz":data=SZ_000001_1DAY_MINUTE;break;case"600000.sh":data=SH_600000_1DAY_MINUTE;break;case"000151.sz":data=SZ_000151_1DAY_MINUTE;break;default:data=SZ_000151_1DAY_MINUTE;break;}if(!data)return null;/*
132
+ };HQData.GetM1KLineDataBySymbol=function(symbol){var data=null;switch(symbol){case"000001.sh":data=SH_000001_M1_KLINE;break;case"000300.sh":data=SH_000300_M1_KLINE;break;case"399001.sz":data=SZ_399001_M1_KLINE;break;case"000001.sz":data=SZ_000001_M1_KLINE;break;case"600000.sh":data=SH_600000_M1_KLINE;break;case"000151.sz":data=SZ_000151_M1_KLINE;break;case"399005.sz":data=SZ_399005_M1_KLINE;break;case"399006.sz":data=SZ_399006_M1_KLINE;break;case"ICL8.cfe":data=CFE_ICL8_M1_KLINE;break;case"IML8.cfe":data=CFE_IML8_M1_KLINE;break;case"IFL8.cfe":data=CFE_IFL8_M1_KLINE;break;default:data=SZ_000001_M1_KLINE;break;}if(!data)return null;return data.data;};HQData.GetDayKLineDataBySymbol=function(symbol){var data=null;switch(symbol){case"000001.sh":data=SH_000001_DAY_KLINE;break;case"000300.sh":data=SH_000300_DAY_KLINE;break;case"399001.sz":data=SZ_399001_DAY_KLINE;break;case"000001.sz":data=SZ_000001_DAY_KLINE;break;case"600000.sh":data=SH_600000_DAY_KLINE;break;case"000151.sz":data=SZ_000151_DAY_KLINE;break;case"399005.sz":data=SZ_399005_DAY_KLINE;break;case"399006.sz":data=SZ_399006_DAY_KLINE;break;case"ICL8.cfe":data=CFE_ICL8_DAY_KLINE;break;case"IML8.cfe":data=CFE_IML8_DAY_KLINE;break;case"IFL8.cfe":data=CFE_IFL8_DAY_KLINE;break;default:data=SZ_000001_DAY_KLINE;break;}if(!data)return null;return data.data;};HQData.GetKLineDataByDateTime=function(fullData,startDate,startTime,endDate,endTime){var start=startDate*10000+startTime;var end=endDate*10000+endTime;var aryData=[];for(var i=0;i<fullData.length;++i){var kItem=fullData[i];var date=kItem[0];var time=kItem[8];var dateTime=date*10000+time;if(dateTime>=start&&dateTime<=end)aryData.push(kItem);}return aryData;};HQData.GetKLineDataByDate=function(fullData,startDate,endDate){var aryData=[];for(var i=0;i<fullData.length;++i){var kItem=fullData[i];var date=kItem[0];if(date>=startDate&&date<=endDate)aryData.push(kItem);}return aryData;};HQData.GetDayMinuteDataBySymbol=function(symbol){var data=null;switch(symbol){case"000001.sz":data=SZ_000001_1DAY_MINUTE;break;case"600000.sh":data=SH_600000_1DAY_MINUTE;break;case"000151.sz":data=SZ_000151_1DAY_MINUTE;break;default:data=SZ_000151_1DAY_MINUTE;break;}if(!data)return null;/*
133
133
  var aryMinute=[];
134
134
  for(var i=0;i<data.stock[0].minute.length;++i)
135
135
  {
@@ -1506,7 +1506,8 @@ ON_FORMAT_KLINE_HIGH_LOW_TITLE:154,//K线最高最低价格式化内容
1506
1506
  ON_CUSTOM_CORSSCURSOR_POSITION:155,//自定义十字光标X轴的输出的位置
1507
1507
  ON_CUSTOM_MINUTE_NIGHT_DAY_X_INDEX:156,//日盘夜盘的分界线
1508
1508
  ON_CUSTOM_MINUTE_BG:157,//自定义分时图背景颜色
1509
- ON_CLICK_HORIZONTAL_LABEL:158//点击Y轴刻度标签
1509
+ ON_CLICK_HORIZONTAL_LABEL:158,//点击Y轴刻度标签
1510
+ ON_FORMAT_DIALOG_TOOLTIP_TEXT:159//格式化Tooltip对话框显示文字
1510
1511
  };var JSCHART_OPERATOR_ID={OP_SCROLL_LEFT:1,//往左移动
1511
1512
  OP_SCROLL_RIGHT:2,//往右移动
1512
1513
  OP_ZOOM_OUT:3,//缩小
@@ -1671,7 +1672,7 @@ this.ClearStockCache=function(){this.StockCache.Data=null;};this.InitalPopMenu=f
1671
1672
  {if(this.JSPopMenu)return;this.JSPopMenu=new JSPopMenu();//内置菜单
1672
1673
  this.JSPopMenu.Inital();};this.InitalDrawToolDialog=function(){if(this.DialogDrawTool)return;this.DialogDrawTool=new JSDialogDrawTool();this.DialogDrawTool.Inital(this);this.DialogDrawTool.Create();};this.InitalTooltipDialog=function(){if(this.DialogTooltip)return;this.DialogTooltip=new JSDialogTooltip();this.DialogTooltip.Inital(this);this.DialogTooltip.Create();};this.InitalModifyDrawDialog=function(){if(this.DialogModifyDraw)return;this.DialogModifyDraw=new JSDialogModifyDraw();this.DialogModifyDraw.Inital(this);this.DialogModifyDraw.Create();};this.ShowDrawToolDialog=function(x,y){if(!this.DialogDrawTool)return;var rtClient=this.UIElement.getBoundingClientRect();var rtScroll=GetScrollPosition();var top=this.UIElement.offsetTop+15;var left=this.UIElement.offsetWidth-this.DialogDrawTool.DivDialog.offsetWidth-15;left+=rtClient.left+rtScroll.Left;top+=rtClient.top+rtScroll.Top;this.DialogDrawTool.Show(left,top);};this.IsShowDrawToolDialog=function(){if(!this.DialogDrawTool)return false;return this.DialogDrawTool.IsShow();};this.ShowModifyDrawDialog=function(chart,x,y){if(!this.DialogModifyDraw)return;this.DialogModifyDraw.SetChartPicture(chart);if(this.DialogModifyDraw.IsShow())return;var rtClient=this.UIElement.getBoundingClientRect();var rtScroll=GetScrollPosition();var top=this.UIElement.offsetTop+15;var left=(this.UIElement.offsetWidth-this.DialogModifyDraw.DivDialog.offsetWidth)/2;left+=rtClient.left+rtScroll.Left;top+=rtClient.top+rtScroll.Top;this.DialogModifyDraw.Show(left,top);};this.CloseModifyDrawDialog=function(){if(!this.DialogModifyDraw)return;this.DialogModifyDraw.Close();};this.IsShowTooltipDialog=function(){if(!this.DialogTooltip)return false;return this.DialogTooltip.IsShow();};this.CloseTooltipDialog=function(){if(!this.DialogTooltip)return;this.DialogTooltip.Close();};//obj={ Element:, Canvas: }
1673
1674
  this.SetCorssCursorElement=function(obj){if(!obj||!obj.Element||!obj.Canvas)return;this.CorssCursorElement=obj.Element;this.CorssCursorCanvas=obj.Canvas;};this.StopDisplayLatest=function(){this.GlobalOption.IsDisplayLatest=false;if(this.DisplayLatestOption.Timer){clearTimeout(this.DisplayLatestOption.Timer);this.DisplayLatestOption.Timer=null;}};this.StartStopDisplayLatest=function(){var _this5=this;this.StopDisplayLatest();if(!this.DisplayLatestOption.Enable)return;this.DisplayLatestOption.Timer=setTimeout(function(){if(_this5.DisplayLatest){JSConsole.Chart.Log('[JSChartContainer:StartStopDisplayLatest] call this.DisplayLatest()');_this5.DisplayLatest();}},this.DisplayLatestOption.DelayTime);};this.StopDrawDynamicInfo=function(){if(this.DrawDynamicInfoOption.Timer){clearTimeout(this.DrawDynamicInfoOption.Timer);this.DrawDynamicInfoOption.Timer=null;}};this.ChartDestroy=function()//销毁
1674
- {this.IsDestroy=true;this.StopAutoUpdate();};this.ChartDestory=this.ChartDestroy;//老版本写错了,需要兼容下
1675
+ {this.IsDestroy=true;this.StopAutoUpdate();if(this.DialogTooltip){this.DialogTooltip.Destroy();this.DialogTooltip=null;}};this.ChartDestory=this.ChartDestroy;//老版本写错了,需要兼容下
1675
1676
  //设置焦点
1676
1677
  this.SetFocus=function(){if(this.UIElement)this.UIElement.focus();};//设置事件回调
1677
1678
  //{event:事件id, callback:回调函数}
@@ -2134,7 +2135,13 @@ this.ResetFrameXYSplit();this.UpdateFrameMaxMin();//调整坐标最大 最小值
2134
2135
  this.Draw();};this.ClickHorizontalLabel=function(lable,e){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CLICK_HORIZONTAL_LABEL);if(event&&event.Callback){var data={Info:lable,PreventDefault:false};//PreventDefault 是否阻止内置的点击处理
2135
2136
  event.Callback(event,data,this);if(data.PreventDefault)return;}};this.ResetOverlaySymbolStatus=function(){for(var i=0;i<this.OverlayChartPaint.length;++i){var item=this.OverlayChartPaint[i];item.Status=OVERLAY_STATUS_ID.STATUS_NONE_ID;}};//十字光标状态变动
2136
2137
  this.OnChangeCorssCursorStatus=function(data,obj){if(data.Type==1){if(!data.IsShowCorss)//十字光标隐藏
2137
- {this.HideTooltip();this.CloseTooltipDialog();}}};}function GetDevicePixelRatio(){if(typeof window=='undefined')return 1;return window.devicePixelRatio||1;}function GetFontHeight(context,font,word){if(!context)return null;if(font)context.font=font;var text='擎';if(IFrameSplitOperator.IsString(word))text=word;var fontInfo=context.measureText(text);var textHeight=fontInfo.fontBoundingBoxAscent+fontInfo.fontBoundingBoxDescent;if(!IFrameSplitOperator.IsNumber(textHeight))textHeight=fontInfo.width+2*GetDevicePixelRatio();return textHeight;}function IsPhoneWeb(){var userAgentInfo=navigator.userAgent;var Agents=new Array("Android","iPhone","SymbianOS","Windows Phone","iPad","iPod");for(var v=0;v<Agents.length;v++){if(userAgentInfo.indexOf(Agents[v])>0)return true;}return false;}function OnKeyDown(e)//键盘事件
2138
+ {this.HideTooltip();this.CloseTooltipDialog();}}};this.UpdateWindowIndexV2=function(aryIndex){if(!IFrameSplitOperator.IsNonEmptyArray(aryIndex))return false;var aryID=[];for(var i=0;i<this.WindowIndex.length;++i){var item=this.WindowIndex[i];if(!item)continue;if(!item.ID)continue;if(aryIndex.find(function(element){return element.ID==item.ID;})){aryID.push(i);}}if(!IFrameSplitOperator.IsNonEmptyArray(aryID))return false;if(this.IsKLineContainer())//K线
2139
+ {var bindData=new ChartData();bindData.Data=this.SourceData.Data;bindData.Period=this.Period;bindData.Right=this.Right;if(this.IsApiPeriod){}else{if(bindData.Right>0)//复权
2140
+ {var rightData=bindData.GetRightData(bindData.Right,{AlgorithmType:this.RightFormula});bindData.Data=rightData;}if(ChartData.IsDayPeriod(bindData.Period,false)||ChartData.IsMinutePeriod(bindData.Period,false))//周期数据
2141
+ {var periodData=bindData.GetPeriodData(bindData.Period);bindData.Data=periodData;}}}else if(this.IsMinuteContainer())//分时图
2142
+ {var bindData=this.SourceData;}else{return;}for(var i=0;i<aryID.length;++i){this.BindIndexData(aryID[i],bindData);}this.UpdataDataoffset();//更新数据偏移
2143
+ this.UpdateFrameMaxMin();//调整坐标最大 最小值
2144
+ this.Draw();};}function GetDevicePixelRatio(){if(typeof window=='undefined')return 1;return window.devicePixelRatio||1;}function GetFontHeight(context,font,word){if(!context)return null;if(font)context.font=font;var text='擎';if(IFrameSplitOperator.IsString(word))text=word;var fontInfo=context.measureText(text);var textHeight=fontInfo.fontBoundingBoxAscent+fontInfo.fontBoundingBoxDescent;if(!IFrameSplitOperator.IsNumber(textHeight))textHeight=fontInfo.width+2*GetDevicePixelRatio();return textHeight;}function IsPhoneWeb(){var userAgentInfo=navigator.userAgent;var Agents=new Array("Android","iPhone","SymbianOS","Windows Phone","iPad","iPod");for(var v=0;v<Agents.length;v++){if(userAgentInfo.indexOf(Agents[v])>0)return true;}return false;}function OnKeyDown(e)//键盘事件
2138
2145
  {if(this.JSChartContainer&&this.JSChartContainer.OnKeyDown)this.JSChartContainer.OnKeyDown(e);}function OnWheel(e)//上下滚动事件
2139
2146
  {if(this.JSChartContainer&&this.JSChartContainer.OnWheel)this.JSChartContainer.OnWheel(e);}function ToFixed(number,precision){var b=1;if(isNaN(number))return number;if(number<0)b=-1;var multiplier=Math.pow(10,precision);var value=Math.round(Math.abs(number)*multiplier)/multiplier*b;if(/^(\d+(?:\.\d+)?)(e)([\-]?\d+)$/.test(value))var s=value.toFixed2(precision);else var s=value.toString();var rs=s.indexOf('.');if(rs<0&&precision>0){rs=s.length;s+='.';}while(s.length<=rs+precision){s+='0';}return s;}Number.prototype.toFixed2=Number.prototype.toFixed;//备份下老的
2140
2147
  Number.prototype.toFixed=function(precision){return ToFixed(this,precision);};function Guid(){function S4(){return((1+Math.random())*0x10000|0).toString(16).substring(1);}return"guid"+(S4()+S4()+"-"+S4()+"-"+S4()+"-"+S4()+"-"+S4()+S4()+S4());}function GetScrollPosition(){var scrollPos={};var scrollTop=0;var scrollLeft=0;if(document.documentElement&&(document.documentElement.scrollTop||document.documentElement.scrollLeft)){scrollTop=document.documentElement.scrollTop;scrollLeft=document.documentElement.scrollLeft;}else if(document.body){scrollTop=document.body.scrollTop;scrollLeft=document.body.scrollLeft;}scrollPos.Top=scrollTop;scrollPos.Left=scrollLeft;return scrollPos;}//修正线段有毛刺
@@ -6924,7 +6931,7 @@ var JSCHART_LANGUAGE_ID={LANGUAGE_CHINESE_ID:0,//简体中文 CN
6924
6931
  LANGUAGE_ENGLISH_ID:1,//英文 EN
6925
6932
  LANGUAGE_TRADITIONAL_CHINESE_ID:2//繁体中文 TC
6926
6933
  };function JSChartLocalization(){this.TextResource=new _map2.default([//内部tooltip
6927
- ['Tooltip-Open',{CN:'开:',EN:'O:',TC:'開'}],['Tooltip-High',{CN:'高:',EN:'H:',TC:'高'}],['Tooltip-Low',{CN:'低:',EN:'L:',TC:'低'}],['Tooltip-Close',{CN:'收:',EN:'C:',TC:'收'}],['Tooltip-Increase',{CN:'幅:',EN:'I:',TC:'幅'}],['Tooltip-Vol',{CN:'量:',EN:'V:',TC:'量'}],['Tooltip-Amount',{CN:'额:',EN:'A:',TC:'額'}],['Tooltip-AvPrice',{CN:'均:',EN:'AP:',TC:'均'}],['Tooltip-Price',{CN:'价:',EN:'P:',TC:'價'}],['Tooltip-Exchange',{CN:'换:',EN:'E:',TC:'換'}],['Tooltip-Position',{CN:'持:',EN:'P:',TC:'持'}],['DivTooltip-Open',{CN:'开盘:',EN:'Open:',TC:'開盤'}],['DivTooltip-High',{CN:'最高:',EN:'High:',TC:'最高'}],['DivTooltip-Low',{CN:'最低:',EN:'Low:',TC:'最低'}],['DivTooltip-Close',{CN:'收盘:',EN:'Close:',TC:'收盤'}],['DivTooltip-Increase',{CN:'涨幅:',EN:'Increase:',TC:'漲幅'}],['DivTooltip-Vol',{CN:'数量:',EN:'Volume:',TC:'數量'}],['DivTooltip-Amount',{CN:'金额:',EN:'Amount:',TC:'金額'}],['DivTooltip-Exchange',{CN:'换手:',EN:'Exchange:',TC:'換手'}],['DivTooltip-Position',{CN:'持仓:',EN:'Position:',TC:'持倉'}],['DivTooltip-Price',{CN:'价格:',EN:'Price:',TC:'價格'}],['DialogTooltip-Date',{CN:'日期',EN:'Date',TC:'日期'}],['DialogTooltip-Time',{CN:'时间',EN:'Time',TC:'時間'}],['DialogTooltip-Open',{CN:'开盘价',EN:'Open',TC:'開盤價'}],['DialogTooltip-High',{CN:'最高价',EN:'High',TC:'最高價'}],['DialogTooltip-Low',{CN:'最低价',EN:'Low',TC:'最低價'}],['DialogTooltip-Close',{CN:'收盘价',EN:'Close',TC:'收盤價'}],['DialogTooltip-Increase',{CN:'涨幅',EN:'Increase',TC:'漲幅'}],['DialogTooltip-Risefall',{CN:'涨跌',EN:'Risefall',TC:'漲跌'}],['DialogTooltip-Vol',{CN:'成交量',EN:'Volume',TC:'數量'}],['DialogTooltip-Amount',{CN:'成交额',EN:'Amount',TC:'金額'}],['DialogTooltip-Exchange',{CN:'换手率',EN:'Exchange',TC:'換手'}],['DialogTooltip-Position',{CN:'持仓量',EN:'Position',TC:'持倉'}],['DialogTooltip-Price',{CN:'价格',EN:'Price',TC:'價格'}],['DialogTooltip-YClose',{CN:"结算价",EN:'Settlement',TC:'結算價'}],['DialogTooltip-Amplitude',{CN:'振幅',EN:'amplitude',TC:'價格'}],['DialogTooltip-AC-Price',{CN:'匹配价',EN:'Price',TC:'匹配價'}],['DialogTooltip-AC-AvPrice',{CN:'匹配均价',EN:'AVPrice',TC:'匹配均價'}],['DialogTooltip-AC-Increase',{CN:'竞价涨幅',EN:'Increase',TC:'競價漲幅'}],['DialogTooltip-AC-Vol',{CN:'匹配量',EN:'Vol',TC:'匹配量'}],//走势图PC tooltip
6934
+ ['Tooltip-Open',{CN:'开:',EN:'O:',TC:'開'}],['Tooltip-High',{CN:'高:',EN:'H:',TC:'高'}],['Tooltip-Low',{CN:'低:',EN:'L:',TC:'低'}],['Tooltip-Close',{CN:'收:',EN:'C:',TC:'收'}],['Tooltip-Increase',{CN:'幅:',EN:'I:',TC:'幅'}],['Tooltip-Vol',{CN:'量:',EN:'V:',TC:'量'}],['Tooltip-Amount',{CN:'额:',EN:'A:',TC:'額'}],['Tooltip-AvPrice',{CN:'均:',EN:'AP:',TC:'均'}],['Tooltip-Price',{CN:'价:',EN:'P:',TC:'價'}],['Tooltip-Exchange',{CN:'换:',EN:'E:',TC:'換'}],['Tooltip-Position',{CN:'持:',EN:'P:',TC:'持'}],['DivTooltip-Open',{CN:'开盘:',EN:'Open:',TC:'開盤'}],['DivTooltip-High',{CN:'最高:',EN:'High:',TC:'最高'}],['DivTooltip-Low',{CN:'最低:',EN:'Low:',TC:'最低'}],['DivTooltip-Close',{CN:'收盘:',EN:'Close:',TC:'收盤'}],['DivTooltip-Increase',{CN:'涨幅:',EN:'Increase:',TC:'漲幅'}],['DivTooltip-Vol',{CN:'数量:',EN:'Volume:',TC:'數量'}],['DivTooltip-Amount',{CN:'金额:',EN:'Amount:',TC:'金額'}],['DivTooltip-Exchange',{CN:'换手:',EN:'Exchange:',TC:'換手'}],['DivTooltip-Position',{CN:'持仓:',EN:'Position:',TC:'持倉'}],['DivTooltip-Price',{CN:'价格:',EN:'Price:',TC:'價格'}],['DialogTooltip-Date',{CN:'日期',EN:'Date',TC:'日期'}],['DialogTooltip-Time',{CN:'时间',EN:'Time',TC:'時間'}],['DialogTooltip-Open',{CN:'开盘价',EN:'Open',TC:'開盤價'}],['DialogTooltip-High',{CN:'最高价',EN:'High',TC:'最高價'}],['DialogTooltip-Low',{CN:'最低价',EN:'Low',TC:'最低價'}],['DialogTooltip-Close',{CN:'收盘价',EN:'Close',TC:'收盤價'}],['DialogTooltip-Increase',{CN:'涨幅',EN:'Increase',TC:'漲幅'}],['DialogTooltip-Risefall',{CN:'涨跌',EN:'Risefall',TC:'漲跌'}],['DialogTooltip-Vol',{CN:'成交量',EN:'Volume',TC:'數量'}],['DialogTooltip-Amount',{CN:'成交额',EN:'Amount',TC:'金額'}],['DialogTooltip-Exchange',{CN:'换手率',EN:'Exchange',TC:'換手'}],['DialogTooltip-Position',{CN:'持仓量',EN:'Position',TC:'持倉'}],['DialogTooltip-Price',{CN:'价格',EN:'Price',TC:'價格'}],['DialogTooltip-FClose',{CN:"结算价",EN:'Settlement',TC:'結算價'}],['DialogTooltip-Amplitude',{CN:'振幅',EN:'amplitude',TC:'價格'}],['DialogTooltip-AC-Price',{CN:'匹配价',EN:'Price',TC:'匹配價'}],['DialogTooltip-AC-AvPrice',{CN:'匹配均价',EN:'AVPrice',TC:'匹配均價'}],['DialogTooltip-AC-Increase',{CN:'竞价涨幅',EN:'Increase',TC:'競價漲幅'}],['DialogTooltip-AC-Vol',{CN:'匹配量',EN:'Vol',TC:'匹配量'}],//走势图PC tooltip
6928
6935
  ['PCTooltip-Date',{CN:'日期',EN:'Date',TC:"日期"}],['PCTooltip-Time',{CN:'时间',EN:'Time',TC:"時間"}],['PCTooltip-Price',{CN:'价格',EN:'Price:',TC:'價格'}],['PCTooltip-AvPrice',{CN:'均价',EN:'AVPrice:',TC:'均價'}],['PCTooltip-Increase',{CN:'涨幅',EN:'Increase:',TC:'漲幅'}],['PCTooltip-Vol',{CN:'成交量',EN:'Volume:',TC:'成交量'}],['PCTooltip-Amount',{CN:'成交额',EN:'Amount:',TC:'成交額'}],['PCTooltip-AC-Price',{CN:'匹配价:',EN:'Price:',TC:'匹配價'}],['PCTooltip-AC-Increase',{CN:'竞价涨幅:',EN:'Increase:',TC:'競價漲幅'}],['PCTooltip-AC-Vol',{CN:'匹配量:',EN:'V:',TC:'匹配量'}],['PCTooltip-AC-NotMatchVol',{CN:'未匹配量:',EN:'NV:',TC:'未匹配量'}],//K线动态标题
6929
6936
  ['KTitle-Open',{CN:'开:',EN:'O:',TC:'開'}],['KTitle-High',{CN:'高:',EN:'H:',TC:'高'}],['KTitle-Low',{CN:'低:',EN:'L:',TC:'低'}],['KTitle-Close',{CN:'收:',EN:'C:',TC:'收'}],['KTitle-Increase',{CN:'幅:',EN:'I:',TC:'幅'}],['KTitle-Vol',{CN:'量:',EN:'V:',TC:'量'}],['KTitle-Amount',{CN:'额:',EN:'A:',TC:'額'}],['KTitle-Exchange',{CN:'换:',EN:'E:',TC:'換'}],['KTitle-Position',{CN:'持:',EN:'P:',TC:'持'}],['KTitle-Price',{CN:'价:',EN:'Price:',TC:'價'}],//走势图动态标题
6930
6937
  ['MTitle-AC-Price',{CN:'匹配价:',EN:'C:',TC:'匹配價'}],['MTitle-AC-AvPrice',{CN:'匹配均价:',EN:'C:',TC:'匹配均價'}],['MTitle-AC-Increase',{CN:'竞价涨幅:',EN:'I:',TC:'競價漲幅'}],['MTitle-AC-Vol',{CN:'匹配量:',EN:'V:',TC:'匹配量'}],['MTitle-AC-NotMatchVol',{CN:'未匹配量:',EN:'NV:',TC:'未匹配量'}],['MTitle-AC-Amount',{CN:'匹配量金额:',EN:'A:',TC:'匹配量金额'}],['MTitle-AC-NotMatchAmount',{CN:'未匹配量金额:',EN:'NA:',TC:'未匹配量金额'}],//走势图标题
@@ -13799,25 +13806,25 @@ Column:[{Type:KEYBOARD_COLUMN_ID.SHORT_SYMBOL_ID,Title:"代码",TextAlign:"left"
13799
13806
 
13800
13807
  内置K线提示信息
13801
13808
  */function JSDialogTooltip(){this.DivDialog=null;this.DragTitle=null;this.TitleBox=null;//{ DivTitle, DivName, DivName }
13802
- this.HQChart=null;this.UpColor=g_JSChartResource.UpTextColor;this.DownColor=g_JSChartResource.DownTextColor;this.UnchangeColor=g_JSChartResource.UnchagneTextColor;this.TitleColor=g_JSChartResource.DialogTooltip.TitleColor;this.TitleBGColor=g_JSChartResource.DialogTooltip.TitleBGColor;this.BGColor=g_JSChartResource.DialogTooltip.BGColor;this.BorderColor=g_JSChartResource.DialogTooltip.BorderColor;this.VolColor=g_JSChartResource.DialogTooltip.VolColor;this.AmountColor=g_JSChartResource.DialogTooltip.AmountColor;this.TurnoverRateColor=g_JSChartResource.DialogTooltip.TurnoverRateColor;this.PositionColor=g_JSChartResource.DialogTooltip.PositionColor;this.DateTimeColor=g_JSChartResource.DialogTooltip.DateTimeColor;this.LanguageID=JSCHART_LANGUAGE_ID.LANGUAGE_CHINESE_ID;this.MaxRowCount=18;this.AryData=[];this.AryText=[];this.KItemCache=null;this.KItemCacheID=null;this.Inital=function(hqchart){this.HQChart=hqchart;};this.Destroy=function(){this.AryData=[];this.AryText=[];this.KItemCache=null;this.KItemCacheID=null;if(this.DivDialog){document.body.removeChild(this.DivDialog);this.DivDialog=null;}};this.OnClickColseButton=function(e){this.Close(e);if(this.HQChart&&this.HQChart.ChartCorssCursor){var chart=this.HQChart.ChartCorssCursor;if(!chart.IsShowCorss)return;chart.IsShowCorss=false;this.HQChart.Draw();this.HQChart.SetFocus();}};this.Create=function(){var _this89=this;var divDom=document.createElement("div");divDom.className='UMyChart_Tooltip_Dialog_Div';var divTitle=document.createElement("div");divTitle.className='UMyChart_Tooltip_Title_Div';divTitle.onmousedown=function(e){_this89.OnMouseDownTitle(e);};var divName=document.createElement("div");divName.className='UMyChart_Tooltip_Name_Div';divName.innerText="----";divTitle.appendChild(divName);var divClose=document.createElement("div");divClose.className='UMyChart_Tooltip_Close_Div';divClose.innerText="x";divClose.onmousedown=function(e){_this89.OnClickColseButton(e);};divTitle.appendChild(divClose);divDom.appendChild(divTitle);var table=document.createElement("table");table.className="UMyChart_Tooltip_Table";divDom.appendChild(table);var tbody=document.createElement("tbody");tbody.className="UMyChart_Tooltip_Tbody";table.appendChild(tbody);this.AryData=[];for(var i=0;i<this.MaxRowCount;++i){var rowItem={Tr:null,TitleSpan:null,TextSpan:null};var trDom=document.createElement("tr");trDom.className='UMyChart_Tooltip_Group_Tr';tbody.appendChild(trDom);rowItem.Tr=trDom;var tdDom=document.createElement("td");tdDom.className="UMyChart_Tooltip_Title_Td";//标题
13809
+ this.HQChart=null;this.UpColor=g_JSChartResource.UpTextColor;this.DownColor=g_JSChartResource.DownTextColor;this.UnchangeColor=g_JSChartResource.UnchagneTextColor;this.TitleColor=g_JSChartResource.DialogTooltip.TitleColor;this.TitleBGColor=g_JSChartResource.DialogTooltip.TitleBGColor;this.BGColor=g_JSChartResource.DialogTooltip.BGColor;this.BorderColor=g_JSChartResource.DialogTooltip.BorderColor;this.VolColor=g_JSChartResource.DialogTooltip.VolColor;this.AmountColor=g_JSChartResource.DialogTooltip.AmountColor;this.TurnoverRateColor=g_JSChartResource.DialogTooltip.TurnoverRateColor;this.PositionColor=g_JSChartResource.DialogTooltip.PositionColor;this.DateTimeColor=g_JSChartResource.DialogTooltip.DateTimeColor;this.LanguageID=JSCHART_LANGUAGE_ID.LANGUAGE_CHINESE_ID;this.MaxRowCount=25;this.AryData=[];this.AryText=[];this.KItemCache=null;this.KItemCacheID=null;this.Inital=function(hqchart){this.HQChart=hqchart;};this.Destroy=function(){this.AryData=[];this.AryText=[];this.KItemCache=null;this.KItemCacheID=null;if(this.DivDialog){document.body.removeChild(this.DivDialog);this.DivDialog=null;}};this.OnClickColseButton=function(e){this.Close(e);if(this.HQChart&&this.HQChart.ChartCorssCursor){var chart=this.HQChart.ChartCorssCursor;if(!chart.IsShowCorss)return;chart.IsShowCorss=false;this.HQChart.Draw();this.HQChart.SetFocus();}};this.Create=function(){var _this89=this;var divDom=document.createElement("div");divDom.className='UMyChart_Tooltip_Dialog_Div';var divTitle=document.createElement("div");divTitle.className='UMyChart_Tooltip_Title_Div';divTitle.onmousedown=function(e){_this89.OnMouseDownTitle(e);};var divName=document.createElement("div");divName.className='UMyChart_Tooltip_Name_Div';divName.innerText="----";divTitle.appendChild(divName);var divClose=document.createElement("div");divClose.className='UMyChart_Tooltip_Close_Div';divClose.innerText="x";divClose.onmousedown=function(e){_this89.OnClickColseButton(e);};divTitle.appendChild(divClose);divDom.appendChild(divTitle);var table=document.createElement("table");table.className="UMyChart_Tooltip_Table";divDom.appendChild(table);var tbody=document.createElement("tbody");tbody.className="UMyChart_Tooltip_Tbody";table.appendChild(tbody);this.AryData=[];for(var i=0;i<this.MaxRowCount;++i){var rowItem={Tr:null,TitleSpan:null,TextSpan:null};var trDom=document.createElement("tr");trDom.className='UMyChart_Tooltip_Group_Tr';tbody.appendChild(trDom);rowItem.Tr=trDom;var tdDom=document.createElement("td");tdDom.className="UMyChart_Tooltip_Title_Td";//标题
13803
13810
  trDom.appendChild(tdDom);var spanDom=document.createElement("span");spanDom.className='UMyChart_Tooltip_Title_Span';spanDom.innerText='标题';tdDom.appendChild(spanDom);rowItem.TitleSpan=spanDom;var tdDom=document.createElement("td");tdDom.className="UMyChart_Tooltip_Text_Td";//数值
13804
13811
  trDom.appendChild(tdDom);var spanDom=document.createElement("span");spanDom.className='UMyChart_Tooltip_Text_Span';spanDom.innerText='数值';tdDom.appendChild(spanDom);rowItem.TextSpan=spanDom;this.AryData.push(rowItem);}document.body.appendChild(divDom);this.DivName=divName;this.DivDialog=divDom;this.TitleBox={DivTitle:divTitle,DivName:divName,DivColor:divClose};this.UpdateStyle();};this.Update=function(data){if(!this.DivDialog||!this.TitleBox)return;if(!data.KItem&&!data.MinItem||!data.IsShowCorss||data.ClientPos<0)return;this.LanguageID=this.HQChart.LanguageID;if(this.HQChart.ClassName=='KLineChartContainer'){var strKItem=(0,_stringify2.default)(data.KItem);if(this.KItemCacheID!=strKItem)//数据变动的才更新
13805
13812
  {this.KItemCache=JSON.parse(strKItem);this.KItemCacheID=strKItem;this.UpdateTableDOM();}else{//JSConsole.Chart.Log(`[JSDialogTooltip::Update] save as KItemCache and KItem`);
13806
13813
  }}else if(this.HQChart.ClassName=='MinuteChartContainer'){var strKItem=(0,_stringify2.default)(data.MinItem);if(this.KItemCacheID!=strKItem)//数据变动的才更新
13807
- {this.KItemCache=JSON.parse(strKItem);this.KItemCacheID=strKItem;this.UpdateTableDOM();}}else{return;}this.TitleBox.DivName.innerText=data.Name;if(!this.IsShow())this.Show();};this.UpdateTableDOM=function(){if(!this.KItemCache)return;if(this.HQChart.ClassName=='KLineChartContainer')this.AryText=this.GetFormatKlineTooltipText(this.KItemCache);else if(this.HQChart.ClassName=='MinuteChartContainer')this.AryText=this.GetFormatMinuteTooltipText(this.KItemCache);else return;var index=0;for(index=0;index<this.AryText.length&&index<this.MaxRowCount;++index){var outItem=this.AryText[index];var item=this.AryData[index];item.TitleSpan.innerText=outItem.Title;item.TitleSpan.style.color=this.TitleColor;item.TextSpan.innerText=outItem.Text;item.TextSpan.style.color=outItem.Color;item.Tr.style.display="";}for(;index<this.MaxRowCount;++index){var item=this.AryData[index];item.Tr.style.display="none";}};this.Close=function(e){if(!this.DivDialog)return;this.DivDialog.style.visibility='hidden';};this.OnMouseDownTitle=function(e){var _this90=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){_this90.DocOnMouseMoveTitle(e);};document.onmouseup=function(e){_this90.DocOnMouseUpTitle(e);};};this.DocOnMouseMoveTitle=function(e){if(!this.DragTitle)return;var left=e.clientX-this.DragTitle.YOffset;var top=e.clientY-this.DragTitle.XOffset;var right=left+this.DivDialog.offsetWidth;var bottom=top+this.DivDialog.offsetHeight;if(right+5>=window.innerWidth)left=window.innerWidth-this.DivDialog.offsetWidth-5;if(bottom+5>=window.innerHeight)top=window.innerHeight-this.DivDialog.offsetHeight-5;this.DivDialog.style.left=left+'px';this.DivDialog.style.top=top+'px';if(e.preventDefault)e.preventDefault();};this.DocOnMouseUpTitle=function(e){this.DragTitle=null;this.onmousemove=null;this.onmouseup=null;};this.Show=function(){if(!this.DivDialog)return;if(!this.HQChart)return;if(!this.DivDialog.style.top||!this.DivDialog.style.left)//上一次显示的位置
13808
- {var top=this.HQChart.Frame.ChartBorder.GetTop();var left=this.HQChart.Frame.ChartBorder.GetLeft();var rtClient=this.HQChart.UIElement.getBoundingClientRect();var x=left+rtClient.left+5;var y=top+rtClient.top+10;this.DivDialog.style.top=y+"px";this.DivDialog.style.left=x+"px";}this.DivDialog.style.visibility='visible';};this.IsShow=function(){if(!this.DivDialog)return false;return this.DivDialog.style.visibility==='visible';};this.GetFormatKlineTooltipText=function(data){var defaultfloatPrecision=GetfloatPrecision(this.HQChart.Symbol);//价格小数位数
13814
+ {this.KItemCache=JSON.parse(strKItem);this.KItemCacheID=strKItem;this.UpdateTableDOM();}}else{return;}this.TitleBox.DivName.innerText=data.Name;if(!this.IsShow())this.Show();};this.UpdateTableDOM=function(){if(!this.KItemCache)return;if(this.HQChart.ClassName=='KLineChartContainer')this.AryText=this.GetFormatKLineTooltipText(this.KItemCache);else if(this.HQChart.ClassName=='MinuteChartContainer')this.AryText=this.GetFormatMinuteTooltipText(this.KItemCache);else return;var index=0;for(index=0;index<this.AryText.length&&index<this.MaxRowCount;++index){var outItem=this.AryText[index];var item=this.AryData[index];item.TitleSpan.innerText=outItem.Title;item.TitleSpan.style.color=this.TitleColor;item.TextSpan.innerText=outItem.Text;item.TextSpan.style.color=outItem.Color;item.Tr.style.display="";}for(;index<this.MaxRowCount;++index){var item=this.AryData[index];item.Tr.style.display="none";}};this.Close=function(e){if(!this.DivDialog)return;this.DivDialog.style.visibility='hidden';};this.OnMouseDownTitle=function(e){var _this90=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){_this90.DocOnMouseMoveTitle(e);};document.onmouseup=function(e){_this90.DocOnMouseUpTitle(e);};};this.DocOnMouseMoveTitle=function(e){if(!this.DragTitle)return;var left=e.clientX-this.DragTitle.YOffset;var top=e.clientY-this.DragTitle.XOffset;var right=left+this.DivDialog.offsetWidth;var bottom=top+this.DivDialog.offsetHeight;if(right+5>=window.innerWidth)left=window.innerWidth-this.DivDialog.offsetWidth-5;if(bottom+5>=window.innerHeight)top=window.innerHeight-this.DivDialog.offsetHeight-5;this.DivDialog.style.left=left+'px';this.DivDialog.style.top=top+'px';if(e.preventDefault)e.preventDefault();};this.DocOnMouseUpTitle=function(e){this.DragTitle=null;this.onmousemove=null;this.onmouseup=null;};this.Show=function(){if(!this.DivDialog)return;if(!this.HQChart)return;if(!this.DivDialog.style.top||!this.DivDialog.style.left)//上一次显示的位置
13815
+ {var top=this.HQChart.Frame.ChartBorder.GetTop();var left=this.HQChart.Frame.ChartBorder.GetLeft();var rtClient=this.HQChart.UIElement.getBoundingClientRect();var x=left+rtClient.left+5;var y=top+rtClient.top+10;this.DivDialog.style.top=y+"px";this.DivDialog.style.left=x+"px";}this.DivDialog.style.visibility='visible';};this.IsShow=function(){if(!this.DivDialog)return false;return this.DivDialog.style.visibility==='visible';};this.GetFormatKLineTooltipText=function(data){var defaultfloatPrecision=GetfloatPrecision(this.HQChart.Symbol);//价格小数位数
13809
13816
  var upperSymbol=this.HQChart.Symbol.toUpperCase();//日期
13810
13817
  var dateItem=this.ForamtDate(data.Date,"YYYY/MM/DD/W",'DialogTooltip-Date');//时间
13811
13818
  var timeItem=null;if(IFrameSplitOperator.IsNumber(data.Time))timeItem=this.FormatTime(data.Time,this.HQChart.Period,null,'DialogTooltip-Time');var yClose=data.YClose;//昨收价|昨结算价
13812
13819
  var aryText=[this.ForamtPrice(data.Open,yClose,defaultfloatPrecision,'DialogTooltip-Open'),this.ForamtPrice(data.High,yClose,defaultfloatPrecision,'DialogTooltip-High'),this.ForamtPrice(data.Low,yClose,defaultfloatPrecision,'DialogTooltip-Low'),this.ForamtPrice(data.Close,yClose,defaultfloatPrecision,'DialogTooltip-Close'),this.FormatVol(data.Vol,'DialogTooltip-Vol'),this.FormatAmount(data.Amount,'DialogTooltip-Amount'),this.FormatIncrease(data.Close,yClose,'DialogTooltip-Increase'),this.FormatAmplitude(data.High,data.Low,yClose,'DialogTooltip-Amplitude')];if(timeItem)aryText.unshift(timeItem);aryText.unshift(dateItem);//换手率
13813
- if(MARKET_SUFFIX_NAME.IsSHSZStockA(upperSymbol)&&data.FlowCapital>0){aryText.push(this.FormatExchange(data.Vol,data.FlowCapital,'DialogTooltip-Exchange'));}//持仓量
13814
- if(MARKET_SUFFIX_NAME.IsFutures(upperSymbol)){aryText.push(this.FormatPosition(data.Position,'DialogTooltip-Position'));aryText.push(this.ForamtYClose(data.YClose,defaultfloatPrecision,'DialogTooltip-YClose'));}return aryText;},this.GetFormatMinuteTooltipText=function(data){var defaultfloatPrecision=GetfloatPrecision(this.HQChart.Symbol);//价格小数位数
13815
- if(data.Type==0)//连续交易
13816
- {var item=data.Data;if(!item)item={};var aryText=[this.ForamtDate(item.Date,"YYYY/MM/DD/W",'DialogTooltip-Date'),this.FormatTime(item.Time,null,"HH:MM",'DialogTooltip-Time'),this.ForamtPrice(item.Close,item.YClose,defaultfloatPrecision,'DialogTooltip-Price'),this.FormatRisefall(item.Close,item.YClose,defaultfloatPrecision,'DialogTooltip-Risefall'),this.FormatIncrease(item.Close,item.YClose,'DialogTooltip-Increase'),this.FormatVol(item.Vol,'DialogTooltip-Vol'),this.FormatAmount(item.Amount,'DialogTooltip-Amount')];return aryText;}else if(data.Type==1)//集合竞价
13817
- {var item=data.Data.Data;if(!item)item={Vol:[]};var timeForamt="HH:MM:SS";if(item.Ver===1)timeForamt="HH:MM";var aryText=[this.ForamtDate(item.Date,"YYYY/MM/DD/W",'DialogTooltip-Date'),this.FormatTime(item.Time,null,timeForamt,'DialogTooltip-Time'),this.ForamtPrice(item.Price,item.YClose,defaultfloatPrecision,'DialogTooltip-AC-Price'),this.FormatIncrease(item.Price,item.YClose,'DialogTooltip-AC-Increase'),this.FormatVol(item.Vol[0],'DialogTooltip-AC-Vol')];return aryText;}return[];};this.GetColor=function(price,yClose){if(price>yClose)return this.UpColor;else if(price<yClose)return this.DownColor;else return this.UnchangeColor;};this.GetPriceColor=function(price,yClose){var color=this.GetColor(price,yClose);return color;};//配色修改
13820
+ if(MARKET_SUFFIX_NAME.IsSHSZStockA(upperSymbol)&&data.FlowCapital>0){aryText.push(this.FormatExchange(data.Vol,data.FlowCapital,'DialogTooltip-Exchange'));}//持仓量 结算价
13821
+ if(MARKET_SUFFIX_NAME.IsFutures(upperSymbol)){aryText.push(this.FormatPosition(data.Position,'DialogTooltip-Position'));aryText.push(this.ForamtFClose(data.FClose,defaultfloatPrecision,'DialogTooltip-FClose'));}var event=this.HQChart.GetEventCallback(JSCHART_EVENT_ID.ON_FORMAT_DIALOG_TOOLTIP_TEXT);if(event&&event.Callback){var sendData={AryText:aryText,Data:data,Symbol:this.HQChart.Symbol,HQChart:this.HQChart,IsKLine:true};event.Callback(event,sendData,this);}return aryText;},this.GetFormatMinuteTooltipText=function(data){var defaultfloatPrecision=GetfloatPrecision(this.HQChart.Symbol);//价格小数位数
13822
+ var aryText=[];if(data.Type==0)//连续交易
13823
+ {var item=data.Data;if(!item)item={};aryText=[this.ForamtDate(item.Date,"YYYY/MM/DD/W",'DialogTooltip-Date'),this.FormatTime(item.Time,null,"HH:MM",'DialogTooltip-Time'),this.ForamtPrice(item.Close,item.YClose,defaultfloatPrecision,'DialogTooltip-Price'),this.FormatRisefall(item.Close,item.YClose,defaultfloatPrecision,'DialogTooltip-Risefall'),this.FormatIncrease(item.Close,item.YClose,'DialogTooltip-Increase'),this.FormatVol(item.Vol,'DialogTooltip-Vol'),this.FormatAmount(item.Amount,'DialogTooltip-Amount')];}else if(data.Type==1)//集合竞价
13824
+ {var item=data.Data.Data;if(!item)item={Vol:[]};var timeForamt="HH:MM:SS";if(item.Ver===1)timeForamt="HH:MM";aryText=[this.ForamtDate(item.Date,"YYYY/MM/DD/W",'DialogTooltip-Date'),this.FormatTime(item.Time,null,timeForamt,'DialogTooltip-Time'),this.ForamtPrice(item.Price,item.YClose,defaultfloatPrecision,'DialogTooltip-AC-Price'),this.FormatIncrease(item.Price,item.YClose,'DialogTooltip-AC-Increase'),this.FormatVol(item.Vol[0],'DialogTooltip-AC-Vol')];}else{}var event=this.HQChart.GetEventCallback(JSCHART_EVENT_ID.ON_FORMAT_DIALOG_TOOLTIP_TEXT);if(event&&event.Callback){var sendData={AryText:aryText,Data:data,Symbol:this.HQChart.Symbol,HQChart:this.HQChart,IsMinute:true};event.Callback(event,sendData,this);}return aryText;};this.GetColor=function(price,yClose){if(price>yClose)return this.UpColor;else if(price<yClose)return this.DownColor;else return this.UnchangeColor;};this.GetPriceColor=function(price,yClose){var color=this.GetColor(price,yClose);return color;};//配色修改
13818
13825
  this.ReloadResource=function(option){this.UpColor=g_JSChartResource.UpTextColor;this.DownColor=g_JSChartResource.DownTextColor;this.UnchangeColor=g_JSChartResource.UnchagneTextColor;this.TitleColor=g_JSChartResource.DialogTooltip.TitleColor;this.TitleBGColor=g_JSChartResource.DialogTooltip.TitleBGColor;this.BGColor=g_JSChartResource.DialogTooltip.BGColor;this.BorderColor=g_JSChartResource.DialogTooltip.BorderColor;this.VolColor=g_JSChartResource.DialogTooltip.VolColor;this.AmountColor=g_JSChartResource.DialogTooltip.AmountColor;this.TurnoverRateColor=g_JSChartResource.DialogTooltip.TurnoverRateColor;this.PositionColor=g_JSChartResource.DialogTooltip.PositionColor;this.DateTimeColor=g_JSChartResource.DialogTooltip.DateTimeColor;if(!this.DivDialog)return;this.UpdateStyle();};this.UpdateStyle=function(){if(!this.DivDialog)return;if(this.BGColor)this.DivDialog.style['background-color']=this.BGColor;if(this.BorderColor)this.DivDialog.style['border-color']=this.BorderColor;if(this.TitleBGColor)this.TitleBox.DivTitle.style['background-color']=this.TitleBGColor;this.UpdateTableDOM();},/////////////////////////////////////////////////////////////////////////////////////////////
13819
13826
  //数据格式化
13820
- this.ForamtPrice=function(price,yClose,defaultfloatPrecision,TitleID){var item={Title:g_JSChartLocalization.GetText(TitleID,this.LanguageID),Text:"--.--",Color:this.TitleColor};if(!IFrameSplitOperator.IsNumber(price))return item;item.Text=price.toFixed(defaultfloatPrecision);item.Color=this.GetColor(price,yClose);return item;};this.FormatVol=function(vol,TitleID){var item={Title:g_JSChartLocalization.GetText(TitleID,this.LanguageID),Text:'--',Color:this.VolColor};if(!IFrameSplitOperator.IsNumber(vol))return item;item.Text=IFrameSplitOperator.FormatValueString(vol,2,this.LanguageID);return item;};this.FormatAmount=function(amount,TitleID){var item={Title:g_JSChartLocalization.GetText(TitleID,this.LanguageID),Text:'--',Color:this.AmountColor};if(!IFrameSplitOperator.IsNumber(amount))return item;item.Text=IFrameSplitOperator.FormatValueString(amount,2,this.LanguageID);return item;};this.FormatIncrease=function(price,yClose,TitleID){//涨幅
13827
+ this.ForamtPrice=function(price,yClose,defaultfloatPrecision,TitleID){var item={Title:g_JSChartLocalization.GetText(TitleID,this.LanguageID),Text:"--.--",Color:this.TitleColor};if(!IFrameSplitOperator.IsNumber(price))return item;item.Text=price.toFixed(defaultfloatPrecision);item.Color=this.GetColor(price,yClose);return item;};this.FormatVol=function(vol,TitleID){var item={Title:g_JSChartLocalization.GetText(TitleID,this.LanguageID),Text:'--',Color:this.VolColor};if(!IFrameSplitOperator.IsNumber(vol))return item;item.Text=IFrameSplitOperator.FormatValueStringV2(vol,0,2,this.LanguageID);return item;};this.FormatAmount=function(amount,TitleID){var item={Title:g_JSChartLocalization.GetText(TitleID,this.LanguageID),Text:'--',Color:this.AmountColor};if(!IFrameSplitOperator.IsNumber(amount))return item;item.Text=IFrameSplitOperator.FormatValueString(amount,2,this.LanguageID);return item;};this.FormatIncrease=function(price,yClose,TitleID){//涨幅
13821
13828
  var item={Title:g_JSChartLocalization.GetText(TitleID,this.LanguageID),Text:"--.--",Color:this.TitleColor};if(!IFrameSplitOperator.IsNumber(price)||!IFrameSplitOperator.IsNumber(yClose))return item;var value=(price-yClose)/yClose;item.Text=(value*100).toFixed(2)+'%';item.Color=this.GetColor(value,0);return item;};this.FormatRisefall=function(price,yClose,defaultfloatPrecision,TitleID){//涨跌
13822
13829
  var item={Title:g_JSChartLocalization.GetText(TitleID,this.LanguageID),Text:"--.--",Color:this.TitleColor};if(!IFrameSplitOperator.IsNumber(price)||!IFrameSplitOperator.IsNumber(yClose))return item;var value=price-yClose;item.Text=''+value.toFixed(defaultfloatPrecision);item.Color=this.GetColor(value,0);return item;};this.FormatAmplitude=function(high,low,yClose,TitleID){//涨幅
13823
13830
  var item={Title:g_JSChartLocalization.GetText(TitleID,this.LanguageID),Text:"--.--",Color:this.TitleColor};if(!IFrameSplitOperator.IsNumber(high)||!IFrameSplitOperator.IsNumber(low)||!IFrameSplitOperator.IsNumber(yClose))return item;var value=(high-low)/yClose;item.Text=(value*100).toFixed(2)+'%';item.Color=this.GetColor(value,0);return item;};this.ForamtDate=function(date,format,TitleID){//日期
@@ -13828,7 +13835,7 @@ this.FormatExchange=function(vol,flowCapital,TitleID){//换手率
13828
13835
  var item={Title:g_JSChartLocalization.GetText(TitleID,this.LanguageID),Text:'--.--',Color:this.DateTimeColor};if(!IFrameSplitOperator.IsNumber(vol)||!IFrameSplitOperator.IsNumber(flowCapital)||flowCapital==0)return item;var value=vol/flowCapital*100;item.Text=value.toFixed(2)+'%';return item;};//持仓
13829
13836
  this.FormatPosition=function(position,TitleID){//持仓
13830
13837
  var item={Title:g_JSChartLocalization.GetText(TitleID,this.LanguageID),Text:'--.--',Color:this.PositionColor};if(!IFrameSplitOperator.IsNumber(position))return item;item.Text=position.toFixed(0);return item;};//结算价
13831
- this.ForamtYClose=function(value,defaultfloatPrecision,TitleID){var item={Title:g_JSChartLocalization.GetText(TitleID,this.LanguageID),Text:'--.--',Color:this.DateTimeColor};if(!IFrameSplitOperator.IsNumber(value))return item;item.Text=value.toFixed(defaultfloatPrecision);return item;};}///////////////////////////////////////////////////////////////////////////////////
13838
+ this.ForamtFClose=function(value,defaultfloatPrecision,TitleID){var item={Title:g_JSChartLocalization.GetText(TitleID,this.LanguageID),Text:'--.--',Color:this.DateTimeColor};if(!IFrameSplitOperator.IsNumber(value))return item;item.Text=value.toFixed(defaultfloatPrecision);return item;};}///////////////////////////////////////////////////////////////////////////////////
13832
13839
  // 工作线程计算指标示例
13833
13840
  //
13834
13841
  //
@@ -13840,7 +13847,7 @@ hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,St
13840
13847
  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);};}/********************************************************************************
13841
13848
  * 版本信息输出
13842
13849
  *
13843
- */var HQCHART_VERSION="1.1.13920";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();//把给外界调用的方法暴露出来
13850
+ */var HQCHART_VERSION="1.1.13927";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();//把给外界调用的方法暴露出来
13844
13851
  exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
13845
13852
  // BaseIndex:BaseIndex,
13846
13853
  // ChartLine:ChartLine,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hqchart",
3
- "version": "1.1.13921",
3
+ "version": "1.1.13928",
4
4
  "description": "HQChart - H5, 微信小程序 沪深/港股/数字货币/期货/美股 K线图(kline),走势图,缩放,拖拽,十字光标,画图工具,截图,筹码图. 分析家语法,通达信语法,(麦语法),第3方数据对接",
5
5
  "main": "lib/main.js",
6
6
  "scripts": {
@@ -34,7 +34,7 @@ function JSDialogTooltip()
34
34
  this.PositionColor=g_JSChartResource.DialogTooltip.PositionColor;
35
35
  this.DateTimeColor=g_JSChartResource.DialogTooltip.DateTimeColor;
36
36
  this.LanguageID=JSCHART_LANGUAGE_ID.LANGUAGE_CHINESE_ID;
37
- this.MaxRowCount=18;
37
+ this.MaxRowCount=25;
38
38
 
39
39
  this.AryData=[];
40
40
  this.AryText=[];
@@ -196,7 +196,7 @@ function JSDialogTooltip()
196
196
  if (!this.KItemCache) return;
197
197
 
198
198
  if (this.HQChart.ClassName=='KLineChartContainer')
199
- this.AryText=this.GetFormatKlineTooltipText(this.KItemCache);
199
+ this.AryText=this.GetFormatKLineTooltipText(this.KItemCache);
200
200
  else if (this.HQChart.ClassName=='MinuteChartContainer')
201
201
  this.AryText=this.GetFormatMinuteTooltipText(this.KItemCache);
202
202
  else
@@ -296,7 +296,7 @@ function JSDialogTooltip()
296
296
  }
297
297
 
298
298
 
299
- this.GetFormatKlineTooltipText=function(data)
299
+ this.GetFormatKLineTooltipText=function(data)
300
300
  {
301
301
  var defaultfloatPrecision=GetfloatPrecision(this.HQChart.Symbol);//价格小数位数
302
302
  var upperSymbol=this.HQChart.Symbol.toUpperCase();
@@ -329,11 +329,18 @@ function JSDialogTooltip()
329
329
  aryText.push(this.FormatExchange(data.Vol,data.FlowCapital,'DialogTooltip-Exchange' ));
330
330
  }
331
331
 
332
- //持仓量
332
+ //持仓量 结算价
333
333
  if (MARKET_SUFFIX_NAME.IsFutures(upperSymbol))
334
334
  {
335
335
  aryText.push(this.FormatPosition(data.Position,'DialogTooltip-Position'));
336
- aryText.push(this.ForamtYClose(data.YClose, defaultfloatPrecision, 'DialogTooltip-YClose'));
336
+ aryText.push(this.ForamtFClose(data.FClose, defaultfloatPrecision, 'DialogTooltip-FClose'));
337
+ }
338
+
339
+ var event=this.HQChart.GetEventCallback(JSCHART_EVENT_ID.ON_FORMAT_DIALOG_TOOLTIP_TEXT);
340
+ if (event && event.Callback)
341
+ {
342
+ var sendData={ AryText:aryText, Data:data, Symbol:this.HQChart.Symbol, HQChart:this.HQChart, IsKLine:true };
343
+ event.Callback(event, sendData, this);
337
344
  }
338
345
 
339
346
  return aryText;
@@ -343,12 +350,13 @@ function JSDialogTooltip()
343
350
  {
344
351
  var defaultfloatPrecision=GetfloatPrecision(this.HQChart.Symbol);//价格小数位数
345
352
 
353
+ var aryText=[];
346
354
  if (data.Type==0) //连续交易
347
355
  {
348
356
  var item=data.Data;
349
357
  if (!item) item={ };
350
358
 
351
- var aryText=
359
+ aryText=
352
360
  [
353
361
  this.ForamtDate(item.Date,"YYYY/MM/DD/W",'DialogTooltip-Date' ),
354
362
  this.FormatTime(item.Time, null, "HH:MM", 'DialogTooltip-Time'),
@@ -358,8 +366,6 @@ function JSDialogTooltip()
358
366
  this.FormatVol(item.Vol,'DialogTooltip-Vol' ),
359
367
  this.FormatAmount(item.Amount,'DialogTooltip-Amount' ),
360
368
  ];
361
-
362
- return aryText;
363
369
  }
364
370
  else if (data.Type==1) //集合竞价
365
371
  {
@@ -368,7 +374,7 @@ function JSDialogTooltip()
368
374
 
369
375
  var timeForamt="HH:MM:SS";
370
376
  if (item.Ver===1) timeForamt="HH:MM"
371
- var aryText=
377
+ aryText=
372
378
  [
373
379
  this.ForamtDate(item.Date,"YYYY/MM/DD/W",'DialogTooltip-Date' ),
374
380
  this.FormatTime(item.Time, null, timeForamt, 'DialogTooltip-Time'),
@@ -376,11 +382,20 @@ function JSDialogTooltip()
376
382
  this.FormatIncrease(item.Price,item.YClose,'DialogTooltip-AC-Increase'),
377
383
  this.FormatVol(item.Vol[0],'DialogTooltip-AC-Vol' ),
378
384
  ];
385
+ }
386
+ else
387
+ {
379
388
 
380
- return aryText;
381
389
  }
382
390
 
383
- return [];
391
+ var event=this.HQChart.GetEventCallback(JSCHART_EVENT_ID.ON_FORMAT_DIALOG_TOOLTIP_TEXT);
392
+ if (event && event.Callback)
393
+ {
394
+ var sendData={ AryText:aryText, Data:data, Symbol:this.HQChart.Symbol, HQChart:this.HQChart, IsMinute:true };
395
+ event.Callback(event, sendData, this);
396
+ }
397
+
398
+ return aryText
384
399
  }
385
400
 
386
401
  this.GetColor=function(price,yClose)
@@ -462,7 +477,7 @@ function JSDialogTooltip()
462
477
 
463
478
  if (!IFrameSplitOperator.IsNumber(vol)) return item;
464
479
 
465
- item.Text=IFrameSplitOperator.FormatValueString(vol,2,this.LanguageID);
480
+ item.Text=IFrameSplitOperator.FormatValueStringV2(vol,0,2,this.LanguageID);
466
481
 
467
482
  return item;
468
483
  }
@@ -621,7 +636,7 @@ function JSDialogTooltip()
621
636
  }
622
637
 
623
638
  //结算价
624
- this.ForamtYClose=function(value, defaultfloatPrecision, TitleID)
639
+ this.ForamtFClose=function(value, defaultfloatPrecision, TitleID)
625
640
  {
626
641
  var item=
627
642
  {
@@ -56846,6 +56846,8 @@ HQData.Keyboard_RequestSymbolList=function(data, callback)
56846
56846
  }
56847
56847
 
56848
56848
  arySymbol.push( { Symbol:"ICL8.cfe", Name:"中证主连", ShortSymbol:"ICL8", Spell:"ICL8", Type:"期货", TypeName:"期货", Data:{ Symbol:"ICL8.cfe", Type:0 } } );
56849
+ arySymbol.push( { Symbol:"IML8.cfe", Name:"中千主连", ShortSymbol:"IML8", Spell:"IML8", Type:"期货", TypeName:"期货", Data:{ Symbol:"IML8.cfe", Type:0 } } );
56850
+ arySymbol.push( { Symbol:"IFL8.cfe", Name:"沪深主连", ShortSymbol:"IFL8", Spell:"IFL8", Type:"期货", TypeName:"期货", Data:{ Symbol:"IFL8.cfe", Type:0 } } );
56849
56851
 
56850
56852
  arySymbol.push( { Symbol:"01", Name:"分时成交明细", TypeName:"功能键", Priority:1, Color:"rgb(220,20,60)" , Data:{ PageName:"分时成交明细", Type:2 }} );
56851
56853
  arySymbol.push( { Symbol:"02", Name:"分价表", TypeName:"功能键", Priority:1, Color:"rgb(220,20,60)" ,Data:{ PageName:"分价表", Type:2 }} );
@@ -56904,6 +56906,15 @@ HQData.GetM1KLineDataBySymbol=function(symbol)
56904
56906
  case "399006.sz":
56905
56907
  data=SZ_399006_M1_KLINE;
56906
56908
  break;
56909
+ case "ICL8.cfe":
56910
+ data=CFE_ICL8_M1_KLINE;
56911
+ break;
56912
+ case "IML8.cfe":
56913
+ data=CFE_IML8_M1_KLINE;
56914
+ break;
56915
+ case "IFL8.cfe":
56916
+ data=CFE_IFL8_M1_KLINE;
56917
+ break;
56907
56918
  default:
56908
56919
  data=SZ_000001_M1_KLINE;
56909
56920
  break;
@@ -56947,6 +56958,12 @@ HQData.GetDayKLineDataBySymbol=function(symbol)
56947
56958
  case "ICL8.cfe":
56948
56959
  data=CFE_ICL8_DAY_KLINE;
56949
56960
  break;
56961
+ case "IML8.cfe":
56962
+ data=CFE_IML8_DAY_KLINE;
56963
+ break;
56964
+ case "IFL8.cfe":
56965
+ data=CFE_IFL8_DAY_KLINE;
56966
+ break;
56950
56967
  default:
56951
56968
  data=SZ_000001_DAY_KLINE;
56952
56969
  break;
@@ -2627,6 +2627,8 @@ var JSCHART_EVENT_ID=
2627
2627
  ON_CUSTOM_MINUTE_NIGHT_DAY_X_INDEX:156, //日盘夜盘的分界线
2628
2628
  ON_CUSTOM_MINUTE_BG:157, //自定义分时图背景颜色
2629
2629
  ON_CLICK_HORIZONTAL_LABEL:158, //点击Y轴刻度标签
2630
+
2631
+ ON_FORMAT_DIALOG_TOOLTIP_TEXT:159, //格式化Tooltip对话框显示文字
2630
2632
  }
2631
2633
 
2632
2634
  var JSCHART_OPERATOR_ID=
@@ -3179,6 +3181,12 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
3179
3181
  {
3180
3182
  this.IsDestroy=true;
3181
3183
  this.StopAutoUpdate();
3184
+
3185
+ if (this.DialogTooltip)
3186
+ {
3187
+ this.DialogTooltip.Destroy();
3188
+ this.DialogTooltip=null;
3189
+ }
3182
3190
  }
3183
3191
 
3184
3192
  this.ChartDestory=this.ChartDestroy; //老版本写错了,需要兼容下
@@ -10057,6 +10065,71 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
10057
10065
  }
10058
10066
  }
10059
10067
  }
10068
+
10069
+ this.UpdateWindowIndexV2=function(aryIndex)
10070
+ {
10071
+ if (!IFrameSplitOperator.IsNonEmptyArray(aryIndex)) return false;
10072
+
10073
+ var aryID=[];
10074
+ for(var i=0;i<this.WindowIndex.length;++i)
10075
+ {
10076
+ var item=this.WindowIndex[i];
10077
+ if (!item) continue;
10078
+ if (!item.ID) continue;
10079
+
10080
+ if (aryIndex.find((element)=>{ return element.ID==item.ID;} ))
10081
+ {
10082
+ aryID.push(i);
10083
+ }
10084
+ }
10085
+
10086
+ if (!IFrameSplitOperator.IsNonEmptyArray(aryID)) return false;
10087
+
10088
+ if (this.IsKLineContainer()) //K线
10089
+ {
10090
+ var bindData=new ChartData();
10091
+ bindData.Data=this.SourceData.Data;
10092
+ bindData.Period=this.Period;
10093
+ bindData.Right=this.Right;
10094
+
10095
+ if (this.IsApiPeriod)
10096
+ {
10097
+
10098
+ }
10099
+ else
10100
+ {
10101
+ if (bindData.Right>0) //复权
10102
+ {
10103
+ var rightData=bindData.GetRightData(bindData.Right, { AlgorithmType: this.RightFormula });
10104
+ bindData.Data=rightData;
10105
+ }
10106
+
10107
+ if (ChartData.IsDayPeriod(bindData.Period,false) || ChartData.IsMinutePeriod(bindData.Period,false)) //周期数据
10108
+ {
10109
+ var periodData=bindData.GetPeriodData(bindData.Period);
10110
+ bindData.Data=periodData;
10111
+ }
10112
+ }
10113
+ }
10114
+ else if (this.IsMinuteContainer()) //分时图
10115
+ {
10116
+ var bindData=this.SourceData;
10117
+ }
10118
+ else
10119
+ {
10120
+ return;
10121
+ }
10122
+
10123
+
10124
+ for(var i=0;i<aryID.length;++i)
10125
+ {
10126
+ this.BindIndexData(aryID[i],bindData)
10127
+ }
10128
+
10129
+ this.UpdataDataoffset(); //更新数据偏移
10130
+ this.UpdateFrameMaxMin(); //调整坐标最大 最小值
10131
+ this.Draw();
10132
+ }
10060
10133
  }
10061
10134
 
10062
10135
  function GetDevicePixelRatio()
@@ -70969,7 +71042,7 @@ function JSChartLocalization()
70969
71042
  ['DialogTooltip-Exchange', {CN:'换手率', EN:'Exchange', TC:'換手'}],
70970
71043
  ['DialogTooltip-Position', {CN:'持仓量', EN:'Position', TC:'持倉'}],
70971
71044
  ['DialogTooltip-Price', {CN:'价格', EN:'Price', TC:'價格'}],
70972
- ['DialogTooltip-YClose', {CN:"结算价", EN:'Settlement', TC:'結算價'}],
71045
+ ['DialogTooltip-FClose', {CN:"结算价", EN:'Settlement', TC:'結算價'}],
70973
71046
  ['DialogTooltip-Amplitude', {CN:'振幅', EN:'amplitude', TC:'價格'}],
70974
71047
  ['DialogTooltip-AC-Price', {CN:'匹配价', EN:'Price', TC:'匹配價'}],
70975
71048
  ['DialogTooltip-AC-AvPrice', {CN:'匹配均价', EN:'AVPrice', TC:'匹配均價'}],