hqchart 1.1.13915 → 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.
Files changed (24) hide show
  1. package/lib/umychart.NetworkFilterTest.vue.js +2 -2
  2. package/lib/umychart.vue.js +32 -17
  3. package/package.json +1 -1
  4. package/src/jscommon/umychart.DialogTooltip.js +102 -17
  5. package/src/jscommon/umychart.NetworkFilterTest.js +29 -0
  6. package/src/jscommon/umychart.js +75 -1
  7. package/src/jscommon/umychart.style.js +1 -1
  8. package/src/jscommon/umychart.testdata/DayKLine/ICL8.cfe.day.kline.js +7 -0
  9. package/src/jscommon/umychart.testdata/DayKLine/ICL8.cfe.day.kline.json +1 -0
  10. package/src/jscommon/umychart.testdata/DayKLine/IFL8.cfe.day.kline.js +8 -0
  11. package/src/jscommon/umychart.testdata/DayKLine/IFL8.cfe.day.kline.json +1 -0
  12. package/src/jscommon/umychart.testdata/DayKLine/IML8.cfe.day.kline.js +7 -0
  13. package/src/jscommon/umychart.testdata/DayKLine/IML8.cfe.day.kline.json +1 -0
  14. package/src/jscommon/umychart.testdata/M1KLine/ICL8.cfe.minute.kline.js +7 -0
  15. package/src/jscommon/umychart.testdata/M1KLine/ICL8.cfe.minute.kline.json +1 -0
  16. package/src/jscommon/umychart.testdata/M1KLine/IFL8.cfe.minute.kline.js +7 -0
  17. package/src/jscommon/umychart.testdata/M1KLine/IFL8.cfe.minute.kline.json +1 -0
  18. package/src/jscommon/umychart.testdata/M1KLine/IML8.cfe.minute.kline.js +7 -0
  19. package/src/jscommon/umychart.testdata/M1KLine/IML8.cfe.minute.kline.json +1 -0
  20. package/src/jscommon/umychart.testdata.js +29 -0
  21. package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +77 -3
  22. package/src/jscommon/umychart.version.js +1 -1
  23. package/src/jscommon/umychart.vue/umychart.NetworkFilterTest.vue.js +29 -0
  24. package/src/jscommon/umychart.vue/umychart.vue.js +179 -20
@@ -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:"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}});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;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;}//修正线段有毛刺
@@ -6799,7 +6806,7 @@ TitleColor:'rgb(0,0,0)',//标题颜色
6799
6806
  VolColor:"rgb(255, 185, 15)",//标题成交量
6800
6807
  AmountColor:"rgb(79, 79, 79)",//成交金额
6801
6808
  DateTimeColor:'rgb(60,60,60)',TurnoverRateColor:'rgb(43,54,69)',//换手率
6802
- PositionColor:"rgb(43,54,69)"//持仓
6809
+ PositionColor:"rgb(255,0,255)"//持仓
6803
6810
  //弹幕
6804
6811
  };this.Barrage={Font:16*GetDevicePixelRatio()+'px 微软雅黑',//字体
6805
6812
  Height:20,Color:'RGB(109,109,109)'//走势图 信息地雷
@@ -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-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:'未匹配量金额'}],//走势图标题
@@ -12300,7 +12307,7 @@ TitleColor:'rgb(210,210,210)',//标题颜色
12300
12307
  VolColor:"rgb(255, 185, 15)",//标题成交量
12301
12308
  AmountColor:"rgb(210,210,210)",//成交金额
12302
12309
  DateTimeColor:'rgb(210,210,210)',TurnoverRateColor:'rgb(43,54,69)',//换手率
12303
- PositionColor:"rgb(43,54,69)"//持仓
12310
+ PositionColor:"rgb(255,0,255)"//持仓
12304
12311
  },//走势图 信息地雷
12305
12312
  MinuteInfo:{TextColor:'rgb(84,143,255)',Font:14*GetDevicePixelRatio()+'px 微软雅黑',PointColor:'rgb(38,113,254)',LineColor:'rgb(120,167,255)',TextBGColor:'rgba(255,255,255,1)'},DepthMapPaint:{LineColor:"rgba(255,185,15)",AreaColor:"rgba(255,185,15,0.8)",TextColor:"rgba(255,255,255)",TextBGColor:'rgb(43,54,69)'},KLineYAxisBGPaint:{Font:12*GetDevicePixelRatio()+'px 微软雅黑',TextColor:"rgb(255,255,255)",LineColor:"rgb(255,255,255)"},//筹码分布图
12306
12313
  StockChip:{InfoColor:'rgb(255,255,255)',//文字颜色
@@ -13799,28 +13806,36 @@ 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=10;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);//价格小数位数
13809
- //日期
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);//价格小数位数
13816
+ var upperSymbol=this.HQChart.Symbol.toUpperCase();//日期
13810
13817
  var dateItem=this.ForamtDate(data.Date,"YYYY/MM/DD/W",'DialogTooltip-Date');//时间
13811
- var timeItem=null;if(IFrameSplitOperator.IsNumber(data.Time))timeItem=this.FormatTime(data.Time,this.HQChart.Period,null,'DialogTooltip-Time');var aryText=[this.ForamtPrice(data.Open,data.YClose,defaultfloatPrecision,'DialogTooltip-Open'),this.ForamtPrice(data.High,data.YClose,defaultfloatPrecision,'DialogTooltip-High'),this.ForamtPrice(data.Low,data.YClose,defaultfloatPrecision,'DialogTooltip-Low'),this.ForamtPrice(data.Close,data.YClose,defaultfloatPrecision,'DialogTooltip-Close'),this.FormatVol(data.Vol,'DialogTooltip-Vol'),this.FormatAmount(data.Amount,'DialogTooltip-Amount'),this.FormatIncrease(data.Close,data.YClose,'DialogTooltip-Increase'),this.FormatAmplitude(data.High,data.Low,data.YClose,'DialogTooltip-Amplitude')];if(timeItem)aryText.unshift(timeItem);aryText.unshift(dateItem);return aryText;},this.GetFormatMinuteTooltipText=function(data){var defaultfloatPrecision=GetfloatPrecision(this.HQChart.Symbol);//价格小数位数
13812
- if(data.Type==0)//连续交易
13813
- {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)//集合竞价
13814
- {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;};//配色修改
13818
+ var timeItem=null;if(IFrameSplitOperator.IsNumber(data.Time))timeItem=this.FormatTime(data.Time,this.HQChart.Period,null,'DialogTooltip-Time');var yClose=data.YClose;//昨收价|昨结算价
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);//换手率
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;};//配色修改
13815
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();},/////////////////////////////////////////////////////////////////////////////////////////////
13816
13826
  //数据格式化
13817
- 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){//涨幅
13818
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){//涨跌
13819
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){//涨幅
13820
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){//日期
13821
13831
  var item={Title:g_JSChartLocalization.GetText('DialogTooltip-Date',this.LanguageID),Text:"----/--/--",Color:this.DateTimeColor};if(!IFrameSplitOperator.IsNumber(date))return item;item.Text=IFrameSplitOperator.FormatDateString(date,format);return item;};this.FormatTime=function(time,period,format,TitleID){//时间
13822
13832
  var item={Title:g_JSChartLocalization.GetText(TitleID,this.LanguageID),Text:'--:--',Color:this.DateTimeColor};if(!IFrameSplitOperator.IsNumber(time))return item;if(!format){format="HH:MM";if(ChartData.IsMinutePeriod(period,true))timeFormat='HH:MM';// 分钟周期
13823
- else if(ChartData.IsSecondPeriod(period))timeFormat='HH:MM:SS';else if(ChartData.IsMilliSecondPeriod(period))timeFormat='HH:MM:SS.fff';}item.Text=IFrameSplitOperator.FormatTimeString(time,format);return item;};}///////////////////////////////////////////////////////////////////////////////////
13833
+ else if(ChartData.IsSecondPeriod(period))timeFormat='HH:MM:SS';else if(ChartData.IsMilliSecondPeriod(period))timeFormat='HH:MM:SS.fff';}item.Text=IFrameSplitOperator.FormatTimeString(time,format);return item;};//换手率 成交量/流通股本
13834
+ this.FormatExchange=function(vol,flowCapital,TitleID){//换手率
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;};//持仓
13836
+ this.FormatPosition=function(position,TitleID){//持仓
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;};//结算价
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;};}///////////////////////////////////////////////////////////////////////////////////
13824
13839
  // 工作线程计算指标示例
13825
13840
  //
13826
13841
  //
@@ -13832,7 +13847,7 @@ hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,St
13832
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);};}/********************************************************************************
13833
13848
  * 版本信息输出
13834
13849
  *
13835
- */var HQCHART_VERSION="1.1.13914";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();//把给外界调用的方法暴露出来
13836
13851
  exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
13837
13852
  // BaseIndex:BaseIndex,
13838
13853
  // ChartLine:ChartLine,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hqchart",
3
- "version": "1.1.13915",
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=10;
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,10 +296,10 @@ 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();
303
303
  //日期
304
304
  var dateItem=this.ForamtDate(data.Date,"YYYY/MM/DD/W",'DialogTooltip-Date' );
305
305
 
@@ -307,21 +307,42 @@ function JSDialogTooltip()
307
307
  var timeItem=null;
308
308
  if (IFrameSplitOperator.IsNumber(data.Time)) timeItem=this.FormatTime(data.Time, this.HQChart.Period, null, 'DialogTooltip-Time');
309
309
 
310
+ var yClose=data.YClose; //昨收价|昨结算价
310
311
  var aryText=
311
312
  [
312
- this.ForamtPrice(data.Open,data.YClose, defaultfloatPrecision,'DialogTooltip-Open'),
313
- this.ForamtPrice(data.High,data.YClose, defaultfloatPrecision,'DialogTooltip-High'),
314
- this.ForamtPrice(data.Low,data.YClose, defaultfloatPrecision,'DialogTooltip-Low'),
315
- this.ForamtPrice(data.Close,data.YClose, defaultfloatPrecision,'DialogTooltip-Close'),
313
+ this.ForamtPrice(data.Open,yClose, defaultfloatPrecision,'DialogTooltip-Open'),
314
+ this.ForamtPrice(data.High,yClose, defaultfloatPrecision,'DialogTooltip-High'),
315
+ this.ForamtPrice(data.Low,yClose, defaultfloatPrecision,'DialogTooltip-Low'),
316
+ this.ForamtPrice(data.Close,yClose, defaultfloatPrecision,'DialogTooltip-Close'),
316
317
  this.FormatVol(data.Vol,'DialogTooltip-Vol' ),
317
318
  this.FormatAmount(data.Amount,'DialogTooltip-Amount' ),
318
- this.FormatIncrease(data.Close,data.YClose,'DialogTooltip-Increase'),
319
- this.FormatAmplitude(data.High,data.Low,data.YClose,'DialogTooltip-Amplitude'),
319
+ this.FormatIncrease(data.Close,yClose,'DialogTooltip-Increase'),
320
+ this.FormatAmplitude(data.High,data.Low,yClose,'DialogTooltip-Amplitude'),
320
321
  ];
321
322
 
322
323
  if (timeItem) aryText.unshift(timeItem);
323
324
  aryText.unshift(dateItem);
324
325
 
326
+ //换手率
327
+ if (MARKET_SUFFIX_NAME.IsSHSZStockA(upperSymbol) && data.FlowCapital>0)
328
+ {
329
+ aryText.push(this.FormatExchange(data.Vol,data.FlowCapital,'DialogTooltip-Exchange' ));
330
+ }
331
+
332
+ //持仓量 结算价
333
+ if (MARKET_SUFFIX_NAME.IsFutures(upperSymbol))
334
+ {
335
+ aryText.push(this.FormatPosition(data.Position,'DialogTooltip-Position'));
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);
344
+ }
345
+
325
346
  return aryText;
326
347
  },
327
348
 
@@ -329,12 +350,13 @@ function JSDialogTooltip()
329
350
  {
330
351
  var defaultfloatPrecision=GetfloatPrecision(this.HQChart.Symbol);//价格小数位数
331
352
 
353
+ var aryText=[];
332
354
  if (data.Type==0) //连续交易
333
355
  {
334
356
  var item=data.Data;
335
357
  if (!item) item={ };
336
358
 
337
- var aryText=
359
+ aryText=
338
360
  [
339
361
  this.ForamtDate(item.Date,"YYYY/MM/DD/W",'DialogTooltip-Date' ),
340
362
  this.FormatTime(item.Time, null, "HH:MM", 'DialogTooltip-Time'),
@@ -344,8 +366,6 @@ function JSDialogTooltip()
344
366
  this.FormatVol(item.Vol,'DialogTooltip-Vol' ),
345
367
  this.FormatAmount(item.Amount,'DialogTooltip-Amount' ),
346
368
  ];
347
-
348
- return aryText;
349
369
  }
350
370
  else if (data.Type==1) //集合竞价
351
371
  {
@@ -354,7 +374,7 @@ function JSDialogTooltip()
354
374
 
355
375
  var timeForamt="HH:MM:SS";
356
376
  if (item.Ver===1) timeForamt="HH:MM"
357
- var aryText=
377
+ aryText=
358
378
  [
359
379
  this.ForamtDate(item.Date,"YYYY/MM/DD/W",'DialogTooltip-Date' ),
360
380
  this.FormatTime(item.Time, null, timeForamt, 'DialogTooltip-Time'),
@@ -362,11 +382,20 @@ function JSDialogTooltip()
362
382
  this.FormatIncrease(item.Price,item.YClose,'DialogTooltip-AC-Increase'),
363
383
  this.FormatVol(item.Vol[0],'DialogTooltip-AC-Vol' ),
364
384
  ];
385
+ }
386
+ else
387
+ {
365
388
 
366
- return aryText;
367
389
  }
368
390
 
369
- 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
370
399
  }
371
400
 
372
401
  this.GetColor=function(price,yClose)
@@ -448,7 +477,7 @@ function JSDialogTooltip()
448
477
 
449
478
  if (!IFrameSplitOperator.IsNumber(vol)) return item;
450
479
 
451
- item.Text=IFrameSplitOperator.FormatValueString(vol,2,this.LanguageID);
480
+ item.Text=IFrameSplitOperator.FormatValueStringV2(vol,0,2,this.LanguageID);
452
481
 
453
482
  return item;
454
483
  }
@@ -568,4 +597,60 @@ function JSDialogTooltip()
568
597
  return item;
569
598
  }
570
599
 
600
+ //换手率 成交量/流通股本
601
+ this.FormatExchange=function(vol, flowCapital, TitleID)
602
+ {
603
+ //换手率
604
+ var item=
605
+ {
606
+ Title:g_JSChartLocalization.GetText(TitleID,this.LanguageID),
607
+ Text:'--.--',
608
+ Color:this.DateTimeColor
609
+ };
610
+
611
+ if (!IFrameSplitOperator.IsNumber(vol) || !IFrameSplitOperator.IsNumber(flowCapital) || flowCapital==0) return item;
612
+
613
+ var value=vol/flowCapital*100;
614
+ item.Text=value.toFixed(2)+'%';
615
+
616
+ return item;
617
+ }
618
+
619
+
620
+ //持仓
621
+ this.FormatPosition=function(position, TitleID)
622
+ {
623
+ //持仓
624
+ var item=
625
+ {
626
+ Title:g_JSChartLocalization.GetText(TitleID,this.LanguageID),
627
+ Text:'--.--',
628
+ Color:this.PositionColor
629
+ };
630
+
631
+ if (!IFrameSplitOperator.IsNumber(position)) return item;
632
+
633
+ item.Text=position.toFixed(0);
634
+
635
+ return item;
636
+ }
637
+
638
+ //结算价
639
+ this.ForamtFClose=function(value, defaultfloatPrecision, TitleID)
640
+ {
641
+ var item=
642
+ {
643
+ Title:g_JSChartLocalization.GetText(TitleID,this.LanguageID),
644
+ Text:'--.--',
645
+ Color:this.DateTimeColor
646
+ };
647
+
648
+ if (!IFrameSplitOperator.IsNumber(value)) return item;
649
+
650
+ item.Text=value.toFixed(defaultfloatPrecision);
651
+
652
+ return item;
653
+ }
654
+
655
+
571
656
  }
@@ -56845,6 +56845,10 @@ HQData.Keyboard_RequestSymbolList=function(data, callback)
56845
56845
  arySymbol.push(symbolItem);
56846
56846
  }
56847
56847
 
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 } } );
56851
+
56848
56852
  arySymbol.push( { Symbol:"01", Name:"分时成交明细", TypeName:"功能键", Priority:1, Color:"rgb(220,20,60)" , Data:{ PageName:"分时成交明细", Type:2 }} );
56849
56853
  arySymbol.push( { Symbol:"02", Name:"分价表", TypeName:"功能键", Priority:1, Color:"rgb(220,20,60)" ,Data:{ PageName:"分价表", Type:2 }} );
56850
56854
  arySymbol.push( { Symbol:"06", Name:"自选股", TypeName:"功能键", Priority:1 , Color:"rgb(220,20,60)", Data:{ PageName:"自选股", Type:2 }} );
@@ -56853,6 +56857,13 @@ HQData.Keyboard_RequestSymbolList=function(data, callback)
56853
56857
  arySymbol.push( { Symbol:"RSI", Name:"相对强弱指标", TypeName:"指标", Priority:2, Color:"rgb(0,0,255)",Data:{ Index:"RSI", Type:1 }} );
56854
56858
  arySymbol.push( { Symbol:"MA", Name:"均线", TypeName:"指标", Priority:2, Color:"rgb(0,0,255)" ,Data:{ Index:"MA", Type:1 } } );
56855
56859
  arySymbol.push( { Symbol:"BOLL", Name:"布林线", TypeName:"指标", Priority:2, Color:"rgb(0,0,255)" ,Data:{ Index:"BOLL", Type:1 } } );
56860
+ arySymbol.push( { Symbol:"KDJ", Name:"随机指标", TypeName:"指标", Priority:2, Color:"rgb(0,0,255)" ,Data:{ Index:"KDJ", Type:1 } } );
56861
+ arySymbol.push( { Symbol:"SKDJ", Name:"慢速随机指标", TypeName:"指标", Priority:2, Color:"rgb(0,0,255)" ,Data:{ Index:"SKDJ", Type:1 } } );
56862
+ arySymbol.push( { Symbol:"KD", Name:"随机指标KD", TypeName:"指标", Priority:2, Color:"rgb(0,0,255)" ,Data:{ Index:"KD", Type:1 } } );
56863
+ arySymbol.push( { Symbol:"MARSI", Name:"相对强弱平均线", TypeName:"指标", Priority:2, Color:"rgb(0,0,255)" ,Data:{ Index:"MARSI", Type:1 } } );
56864
+ arySymbol.push( { Symbol:"VMACD", Name:"量平滑异同平均", TypeName:"指标", Priority:2, Color:"rgb(0,0,255)" ,Data:{ Index:"VMACD", Type:1 } } );
56865
+ arySymbol.push( { Symbol:"AMO", Name:"成交金额", TypeName:"指标", Priority:2, Color:"rgb(0,0,255)" ,Data:{ Index:"AMO", Type:1 } } );
56866
+ arySymbol.push( { Symbol:"SQJZ", Name:"神奇九转", TypeName:"指标", Priority:2, Color:"rgb(0,0,255)" ,Data:{ Index:"SQJZ", Type:1 } } );
56856
56867
 
56857
56868
  callback(arySymbol);
56858
56869
  }
@@ -56895,6 +56906,15 @@ HQData.GetM1KLineDataBySymbol=function(symbol)
56895
56906
  case "399006.sz":
56896
56907
  data=SZ_399006_M1_KLINE;
56897
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;
56898
56918
  default:
56899
56919
  data=SZ_000001_M1_KLINE;
56900
56920
  break;
@@ -56935,6 +56955,15 @@ HQData.GetDayKLineDataBySymbol=function(symbol)
56935
56955
  case "399006.sz":
56936
56956
  data=SZ_399006_DAY_KLINE;
56937
56957
  break;
56958
+ case "ICL8.cfe":
56959
+ data=CFE_ICL8_DAY_KLINE;
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;
56938
56967
  default:
56939
56968
  data=SZ_000001_DAY_KLINE;
56940
56969
  break;