hqchart 1.1.12580 → 1.1.12585

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.
@@ -1704,7 +1704,8 @@ this.VerticalDrag;//通过X轴左右拖动数据(手势才有)
1704
1704
  this.EnableVerticalDrag=false;//十字光标长留(手势才有)
1705
1705
  this.ClickModel={IsShowCorssCursor:false};this.EnableClickModel=false;//标题栏显示最新数据
1706
1706
  this.DisplayLatestOption={Timer:null,Enable:false,DelayTime:60*1000*3,LastPoint:null};this.DrawDynamicInfoOption={Timer:null,Enable:false,DelayTime:10};this.CustomChartDrag;//自定义图形的拖拽操作 { Type:, Data: }
1707
- //obj={ Element:, Canvas: }
1707
+ this.StockCache={Data:null};//扩展数据缓存数据
1708
+ this.ClearStockCache=function(){this.StockCache.Data=null;};//obj={ Element:, Canvas: }
1708
1709
  this.SetCorssCursorElement=function(obj){if(!obj||!obj.Element||!obj.Canvas)return;this.CorssCursorElement=obj.Element;this.CorssCursorCanvas=obj.Canvas;};this.StopDisplayLatest=function(){this.GlobalOption.IsDisplayLatest=false;if(this.DisplayLatestOption.Timer){clearTimeout(this.DisplayLatestOption.Timer);this.DisplayLatestOption.Timer=null;}};this.StartStopDisplayLatest=function(){var _this4=this;this.StopDisplayLatest();if(!this.DisplayLatestOption.Enable)return;this.DisplayLatestOption.Timer=setTimeout(function(){if(_this4.DisplayLatest){JSConsole.Chart.Log('[JSChartContainer:StartStopDisplayLatest] call this.DisplayLatest()');_this4.DisplayLatest();}},this.DisplayLatestOption.DelayTime);};this.StopDrawDynamicInfo=function(){if(this.DrawDynamicInfoOption.Timer){clearTimeout(this.DrawDynamicInfoOption.Timer);this.DrawDynamicInfoOption.Timer=null;}};this.ChartDestroy=function()//销毁
1709
1710
  {this.IsDestroy=true;this.StopAutoUpdate();if(this.GetLatestVersionTimer!=null){clearTimeout(this.GetLatestVersionTimer);this.GetLatestVersionTimer=null;}};this.ChartDestory=this.ChartDestroy;//老版本写错了,需要兼容下
1710
1711
  this.GetLatestVersionTimer=null;//获取最新版本
@@ -7218,10 +7219,10 @@ this.ClearIndexPaint();//清空指标
7218
7219
  if(option){if(option.Windows&&Array.isArray(option.Windows)&&option.Windows.length>0){var windows=option.Windows;var systemScript=new JSIndexScript();for(var i in windows){if(i>=this.WindowIndex.length)break;//暂时不支持 动态增加/减少
7219
7220
  var item=windows[i];if(!item)continue;if(item.Script){this.WindowIndex[i]=new ScriptIndex(item.Name,item.Script,item.Args,item);//脚本执行
7220
7221
  }else if(item.API){var apiItem=item.API;this.WindowIndex[i]=new APIScriptIndex(apiItem.Name,apiItem.Script,apiItem.Args,item);}else{var indexID=item.Index;var indexInfo=systemScript.Get(indexID);if(indexInfo){var args=indexInfo.Args;if(item.Args)indexInfo.Args=item.Args;indexInfo.ID=indexID;this.WindowIndex[i]=new ScriptIndex(indexInfo.Name,indexInfo.Script,indexInfo.Args,indexInfo);//脚本执行
7221
- }}}}}this.ReloadChartDrawPicture();this.Frame.ClearUpDonwFrameYData();if(ChartData.IsDayPeriod(this.Period,true)){this.RequestHistoryData();//请求日线数据
7222
+ }}}}}this.ReloadChartDrawPicture();this.Frame.ClearUpDonwFrameYData();if(ChartData.IsDayPeriod(this.Period,true)){this.ClearStockCache();this.RequestHistoryData();//请求日线数据
7222
7223
  //this.ReqeustKLineInfoData();
7223
- }else if(ChartData.IsMinutePeriod(this.Period,true)||ChartData.IsSecondPeriod(this.Period)||ChartData.IsMilliSecondPeriod(this.Period)){this.ReqeustHistoryMinuteData();//请求分钟数据
7224
- }else if(ChartData.IsTickPeriod(this.Period)){this.RequestTickData();}};this.ReqeustKLineInfoData=function(obj){if(obj&&obj.FunctionName=="RecvDragDayData")//增量更新
7224
+ }else if(ChartData.IsMinutePeriod(this.Period,true)||ChartData.IsSecondPeriod(this.Period)||ChartData.IsMilliSecondPeriod(this.Period)){this.ClearStockCache();this.ReqeustHistoryMinuteData();//请求分钟数据
7225
+ }else if(ChartData.IsTickPeriod(this.Period)){this.ClearStockCache();this.RequestTickData();}};this.ReqeustKLineInfoData=function(obj){if(obj&&obj.FunctionName=="RecvDragDayData")//增量更新
7225
7226
  {obj.Update=true;}else{if(this.ChartPaint.length>0){var klinePaint=this.ChartPaint[0];klinePaint.InfoData=new _map2.default();}obj.Update=false;}//信息地雷信息
7226
7227
  if(!IFrameSplitOperator.IsNonEmptyArray(this.ChartInfo))return;for(var i=0;i<this.ChartInfo.length;++i){this.ChartInfo[i].RequestData(this,obj);}};//设置K线信息地雷
7227
7228
  this.SetKLineInfo=function(aryInfo,bUpdate){this.ChartInfo=[];//先清空
@@ -7713,7 +7714,7 @@ if(this.Frame&&this.Frame.SubFrame){for(var i=0;i<this.Frame.SubFrame.length;++i
7713
7714
  {var overlayItem=item.OverlayIndex[j];for(var k=0;k<overlayItem.ChartPaint.length;++k){var overlayChart=overlayItem.ChartPaint[k];if(overlayChart&&overlayChart.OnDestroy)overlayChart.OnDestroy();}overlayItem.ChartPaint=[];}}}}//清空叠加标题
7714
7715
  for(var i=1;i<this.TitlePaint.length;++i){var item=this.TitlePaint[i];item.OverlayIndex=new _map2.default();}};this.ResetDayOffset=function(){if(this.PageInfo.Enable){this.DayOffset.Offset=this.PageInfo.Offset;this.DayOffset.ShowDayCount=this.PageInfo.ShowDayCount;}else{this.DayOffset.Offset=0;this.DayOffset.ShowDayCount=-1;}this.DayOffset.PageInfo=null;};this.ResetDataStatus=function(){this.DataStatus.MultiDay=false;this.DataStatus.LatestDay=false;};//切换股票代码
7715
7716
  this.ChangeSymbol=function(symbol,option){this.StopDisplayLatest();this.CancelAutoUpdate();this.AutoUpdateEvent(false,"MinuteChartContainer::ChangeSymbol");this.Symbol=symbol;this.ResetDayOffset();this.ResetDataStatus();this.ClearIndexPaint();//清空指标
7716
- this.ResetOverlaySymbolStatus();this.ReloadChartDrawPicture();this.ClearIndexRunCount();if(option){if(IFrameSplitOperator.IsNumber(option.DayCount))this.DayCount=option.DayCount;if(IFrameSplitOperator.IsNonEmptyArray(option.Windows))//切换指标
7717
+ this.ResetOverlaySymbolStatus();this.ReloadChartDrawPicture();this.ClearIndexRunCount();this.ClearStockCache();if(option){if(IFrameSplitOperator.IsNumber(option.DayCount))this.DayCount=option.DayCount;if(IFrameSplitOperator.IsNonEmptyArray(option.Windows))//切换指标
7717
7718
  {var systemScript=new JSIndexScript();for(var i=0;i<option.Windows.length;++i){var index=2+i;if(index>=this.WindowIndex.length)break;//暂时不支持 动态增加/减少
7718
7719
  var item=option.Windows[i];if(!item)continue;if(item.Script){this.WindowIndex[index]=new ScriptIndex(item.Name,item.Script,item.Args,item);//脚本执行
7719
7720
  }else if(item.API){var apiItem=item.API;this.WindowIndex[index]=new APIScriptIndex(apiItem.Name,apiItem.Script,apiItem.Args,item);}else{var indexID=item.Index;var indexInfo=systemScript.Get(indexID);if(indexInfo){var args=indexInfo.Args;if(item.Args)indexInfo.Args=item.Args;indexInfo.ID=indexID;this.WindowIndex[index]=new ScriptIndex(indexInfo.Name,indexInfo.Script,indexInfo.Args,indexInfo);//脚本执行
@@ -8840,7 +8841,8 @@ if(upperSymbol.charAt(1)!='7'&&upperSymbol.charAt(1)!='8')return true;}else if(u
8840
8841
  if(upperSymbol.charAt(2)=='1')return true;//创业板 301XXX.sz
8841
8842
  }}}return false;},IsBJStock:function IsBJStock(symbol)//北交所股票
8842
8843
  {if(!symbol)return false;var upperSymbol=symbol.toUpperCase();if(!this.IsBJ(upperSymbol))return false;var value=upperSymbol.charAt(0);if(value=='4'||value=='8')return true;return false;},IsSHStockSTAR:function IsSHStockSTAR(symbol)// 是否是科创板 Sci-Tech innovAtion boaRd (STAR Market)
8843
- {if(!symbol)return false;var upperSymbol=symbol.toUpperCase();if(!this.IsSH(upperSymbol))return false;if(upperSymbol.charAt(0)=='6'&&upperSymbol.charAt(1)=='8'&&upperSymbol.charAt(2)=='8')return true;return false;},GetMarketStatus:function GetMarketStatus(symbol)//获取市场状态 0=闭市 1=盘前 2=盘中 3=盘后
8844
+ {if(!symbol)return false;var upperSymbol=symbol.toUpperCase();if(!this.IsSH(upperSymbol))return false;if(upperSymbol.charAt(0)=='6'&&upperSymbol.charAt(1)=='8'&&upperSymbol.charAt(2)=='8')return true;return false;},IsSHGEM:function IsSHGEM(symbol)//创业板(growth enterprise market) 30开头
8845
+ {if(!symbol)return false;var upperSymbol=symbol.toUpperCase();if(!this.IsSH(upperSymbol))return false;if(upperSymbol.charAt(0)=='3'&&upperSymbol.charAt(1)=='0')return true;return false;},GetMarketStatus:function GetMarketStatus(symbol)//获取市场状态 0=闭市 1=盘前 2=盘中 3=盘后
8844
8846
  {if(!symbol)return 0;var upperSymbol=symbol.toUpperCase();var nowDate=new Date();var day=nowDate.getDay();var time=nowDate.getHours()*100+nowDate.getMinutes();if(this.IsUSA(upperSymbol)){var usaDate=GetLocalTime(-4);var day=usaDate.getDay();var time=usaDate.getHours()*100+usaDate.getMinutes();if(day==6||day==0)return 0;//周末
8845
8847
  //9:30 - 16:00 考虑夏令时间时间增加1小时 9:30 - 17:00
8846
8848
  if(time>1730)return 3;if(time<930)return 1;return 2;}else if(this.IsBIT(upperSymbol))//数字货币24小时
@@ -8863,7 +8865,8 @@ if(time>=2100)return 2;if(time<=240)return 2;//8:55-11:30, 13:00-15:00
8863
8865
  if(time>=830&&time<=1510)return 2;return 1;}else//9:30 - 15:40 (默认9:10-15:40)
8864
8866
  {if(day==6||day==0)return 0;//周末
8865
8867
  if(time>1540)return 3;if(time<910)return 1;return 2;}},GetLimitPriceRange:function GetLimitPriceRange(symbol,name)//涨停范围
8866
- {if(!this.IsSHSZStockA(symbol))return null;if(this.IsSHStockSTAR(symbol))return{Max:0.2,Min:-0.2};//科创板 [20%- -20%]
8868
+ {if(!this.IsSHSZStockA(symbol))return null;if(this.IsSHStockSTAR(symbol))return{Max:0.2,Min:-0.2};//科创板 [20% - -20%]
8869
+ if(this.IsSHGEM(symbol))return{Max:0.2,Min:-0.2};//创业板 [20% - -20%]
8867
8870
  if(!name)return null;if(name.indexOf('ST')>=0)return{Max:0.05,Min:-0.05};//ST 股票 [5% - -5%]
8868
8871
  return{Max:0.1,Min:-0.1};//[10% - -10%]
8869
8872
  },GetDefaultDecimal:function GetDefaultDecimal(symbol)//默认小数位数
@@ -10662,7 +10665,7 @@ if(bindData.Period>0)//周期数据
10662
10665
  {var periodData=bindData.GetPeriodSingleData(bindData.Period);bindData.Data=periodData;}return bindData.GetValue();}else{return null;}};this.GetSymbolData=function(){if(this.Data)return this.Execute.RunNextJob();var self=this;if(this.DataType===HQ_DATA_TYPE.MINUTE_ID)//当天分钟数据
10663
10666
  {JSNetwork.HttpRequest({url:self.RealtimeApiUrl,data:{"field":["name","symbol","yclose","open","price","high","low","vol","amount","date","minute","time","minutecount"],"symbol":[self.Symbol],"start":-1},type:"post",dataType:"json",async:true,success:function success(recvData){self.RecvMinuteData(recvData);self.Execute.RunNextJob();}});return;}if(this.DataType===HQ_DATA_TYPE.MULTIDAY_MINUTE_ID){JSNetwork.HttpRequest({url:self.HistoryMinuteApiUrl,data:{"symbol":self.Symbol,"daycount":self.DayCount},type:"post",dataType:"json",async:true,success:function success(recvData){self.RecvMultiDayMinuteData(recvData);self.Execute.RunNextJob();}});return;}if(ChartData.IsDayPeriod(this.Period,true))//请求日线数据
10664
10667
  {if(this.NetworkFilter){var obj={Name:'JSSymbolData::GetSymbolData',Explain:"日线数据",Request:{Url:self.RealtimeApiUrl,Type:'POST',Data:{"field":["name","symbol","yclose","open","price","high","low","vol"],"symbol":self.Symbol,"start":-1,"count":self.MaxRequestDataCount,"period":this.Period,"right":this.Right}},Self:this,PreventDefault:false};if(this.KLineDateTimeRange){obj.Request.KLineDataTimeRange={Start:{Date:this.KLineDateTimeRange.Start.Date},End:{Date:this.KLineDateTimeRange.End.Date}};if(this.IsNumber(this.KLineDateTimeRange.Start.Time))obj.Request.KLineDataTimeRange.Start.Time=this.KLineDateTimeRange.Start.Time;if(this.IsNumber(this.KLineDateTimeRange.End.Time))obj.Request.KLineDataTimeRange.End.Time=this.KLineDateTimeRange.End.Time;}this.NetworkFilter(obj,function(data){self.RecvHistroyData(data);self.Execute.RunNextJob();});if(obj.PreventDefault==true)return;//已被上层替换,不调用默认的网络请求
10665
- }JSNetwork.HttpRequest({url:self.KLineApiUrl,data:{"field":["name","symbol","yclose","open","price","high","low","vol"],"symbol":self.Symbol,"start":-1,"count":self.MaxRequestDataCount},type:"post",dataType:"json",async:true,success:function success(recvData){self.RecvHistroyData(recvData);self.Execute.RunNextJob();},error:function error(request){self.RecvError(request);}});}else if(ChartData.IsMinutePeriod(this.Period,true))//请求分钟数据
10668
+ }JSNetwork.HttpRequest({url:self.KLineApiUrl,data:{"field":["name","symbol","yclose","open","price","high","low","vol"],"symbol":self.Symbol,"start":-1,"count":self.MaxRequestDataCount},type:"post",dataType:"json",async:true,success:function success(recvData){self.RecvHistroyData(recvData);self.Execute.RunNextJob();},error:function error(request){self.RecvError(request);}});}else if(ChartData.IsMinutePeriod(this.Period,true)||ChartData.IsSecondPeriod(this.Period)||ChartData.IsMilliSecondPeriod(this.Period))//请求分钟数据
10666
10669
  {if(this.NetworkFilter){var obj={Name:'JSSymbolData::GetSymbolData',Explain:"分钟K线数据",Request:{Url:self.MinuteKLineApiUrl,Type:'POST',Data:{"field":["name","symbol","yclose","open","price","high","low","vol"],"symbol":self.Symbol,"start":-1,"count":self.MaxRequestMinuteDayCount,"period":this.Period,"right":this.Right}},Self:this,PreventDefault:false};if(this.KLineDateTimeRange){obj.Request.KLineDataTimeRange={Start:{Date:this.KLineDateTimeRange.Start.Date},End:{Date:this.KLineDateTimeRange.End.Date}};if(this.IsNumber(this.KLineDateTimeRange.Start.Time))obj.Request.KLineDataTimeRange.Start.Time=this.KLineDateTimeRange.Start.Time;if(this.IsNumber(this.KLineDateTimeRange.End.Time))obj.Request.KLineDataTimeRange.End.Time=this.KLineDateTimeRange.End.Time;}this.NetworkFilter(obj,function(data){self.RecvMinuteHistroyData(data);self.Execute.RunNextJob();});if(obj.PreventDefault==true)return;//已被上层替换,不调用默认的网络请求
10667
10670
  }JSNetwork.HttpRequest({url:this.MinuteKLineApiUrl,data:{"field":["name","symbol","yclose","open","price","high","low","vol"],"symbol":self.Symbol,"start":-1,"count":self.MaxRequestMinuteDayCount},type:"post",dataType:"json",async:true,success:function success(data){self.RecvMinuteHistroyData(data);self.Execute.RunNextJob();},error:function error(request){self.RecvError(request);}});}};this.RecvHistroyData=function(data){JSConsole.Complier.Log('[JSSymbolData::RecvHistroyData] recv data',data);var hisData=this.JsonDataToHistoryData(data);this.Data=new ChartData();this.Data.DataType=0;/*日线数据 */this.Data.Data=hisData;this.SourceData=new ChartData();this.SourceData.Data=hisData;if(this.IsApiPeriod)//后台周期 前端不处理
10668
10671
  {}else{if(this.Right>0)//复权
@@ -12659,7 +12662,7 @@ function HQChartScriptWorker(){this.Create=function(){var _this60=this;addEventL
12659
12662
  hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,Stock:{Symbol:message.Symbol},Request:{MaxDataCount:500,MaxMinuteDayCount:5},Period:message.Period,Right:message.Right,Data:hisData};if(IFrameSplitOperator.IsNumber(message.HQDataType))stockObj.HQDataType=message.HQDataType;indexConsole.ExecuteScript(stockObj);};this.OnRecvMessage=function(message){var data=message.data;if(!data)return;if(data.ID==JSCHART_WORKER_MESSAGE_ID.EXECUTE_SCRIPT){if(!IFrameSplitOperator.IsNonEmptyArray(data.AryIndex))return;for(var i=0;i<data.AryIndex.length;++i){var item=data.AryIndex[i];this.ExecuteScript(item,data);}}};this.OnExecuteFinish=function(data,indexInfo,jsExectute){var message={Data:data,IndexInfo:indexInfo,ID:JSCHART_WORKER_MESSAGE_ID.FINISH_EXECUTE_SCRIPT};postMessage(message);};this.OnExecuteError=function(error,indexInfo){var message={IndexInfo:indexInfo,ID:JSCHART_WORKER_MESSAGE_ID.ERROR_EXECUTE_SCRIPT,Error:error};postMessage(message);};}/********************************************************************************
12660
12663
  * 版本信息输出
12661
12664
  *
12662
- */var HQCHART_VERSION="1.1.12579";function PrintHQChartVersion(){var log='*************************************************************************************************************\n*\n* HQChart Ver: '+HQCHART_VERSION+' \n* \n* License: Apache License 2.0 \n* Source: https://github.com/jones2000/HQChart\n*\n*************************************************************************************************************\n';console.log(log);}PrintHQChartVersion();//把给外界调用的方法暴露出来
12665
+ */var HQCHART_VERSION="1.1.12584";function PrintHQChartVersion(){var log='*************************************************************************************************************\n*\n* HQChart Ver: '+HQCHART_VERSION+' \n* \n* License: Apache License 2.0 \n* Source: https://github.com/jones2000/HQChart\n*\n*************************************************************************************************************\n';console.log(log);}PrintHQChartVersion();//把给外界调用的方法暴露出来
12663
12666
  exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
12664
12667
  // BaseIndex:BaseIndex,
12665
12668
  // ChartLine:ChartLine,
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "hqchart",
3
3
  "description": "stock chart",
4
4
  "author": "jones2000",
5
- "version": "1.1.12580",
5
+ "version": "1.1.12585",
6
6
  "main": "lib/main.js",
7
7
  "private": false,
8
8
  "license": "Apache License 2.0",
@@ -12540,7 +12540,7 @@ function JSSymbolData(ast,option,jsExecute)
12540
12540
  }
12541
12541
  });
12542
12542
  }
12543
- else if (ChartData.IsMinutePeriod(this.Period, true)) //请求分钟数据
12543
+ else if (ChartData.IsMinutePeriod(this.Period, true) || ChartData.IsSecondPeriod(this.Period) || ChartData.IsMilliSecondPeriod(this.Period)) //请求分钟数据
12544
12544
  {
12545
12545
  if (this.NetworkFilter)
12546
12546
  {
@@ -2830,6 +2830,14 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
2830
2830
 
2831
2831
  this.CustomChartDrag; //自定义图形的拖拽操作 { Type:, Data: }
2832
2832
 
2833
+ this.StockCache={ Data:null }; //扩展数据缓存数据
2834
+
2835
+
2836
+ this.ClearStockCache=function()
2837
+ {
2838
+ this.StockCache.Data=null;
2839
+ }
2840
+
2833
2841
  //obj={ Element:, Canvas: }
2834
2842
  this.SetCorssCursorElement=function(obj)
2835
2843
  {
@@ -68760,6 +68768,7 @@ function KLineChartContainer(uielement,OffscreenElement)
68760
68768
  this.ResetScrollBar();
68761
68769
  this.ClearIndexRunCount();
68762
68770
 
68771
+
68763
68772
  this.Symbol=symbol;
68764
68773
  if (!symbol)
68765
68774
  {
@@ -68822,15 +68831,18 @@ function KLineChartContainer(uielement,OffscreenElement)
68822
68831
  this.Frame.ClearUpDonwFrameYData();
68823
68832
  if (ChartData.IsDayPeriod(this.Period,true))
68824
68833
  {
68834
+ this.ClearStockCache();
68825
68835
  this.RequestHistoryData(); //请求日线数据
68826
68836
  //this.ReqeustKLineInfoData();
68827
68837
  }
68828
68838
  else if (ChartData.IsMinutePeriod(this.Period,true) || ChartData.IsSecondPeriod(this.Period) || ChartData.IsMilliSecondPeriod(this.Period))
68829
68839
  {
68840
+ this.ClearStockCache();
68830
68841
  this.ReqeustHistoryMinuteData(); //请求分钟数据
68831
68842
  }
68832
68843
  else if (ChartData.IsTickPeriod(this.Period))
68833
68844
  {
68845
+ this.ClearStockCache();
68834
68846
  this.RequestTickData();
68835
68847
  }
68836
68848
  }
@@ -73869,6 +73881,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
73869
73881
  this.ResetOverlaySymbolStatus();
73870
73882
  this.ReloadChartDrawPicture();
73871
73883
  this.ClearIndexRunCount();
73884
+ this.ClearStockCache();
73872
73885
 
73873
73886
  if (option)
73874
73887
  {
@@ -86093,6 +86106,17 @@ var MARKET_SUFFIX_NAME=
86093
86106
  return false;
86094
86107
  },
86095
86108
 
86109
+ IsSHGEM:function(symbol) //创业板(growth enterprise market) 30开头
86110
+ {
86111
+ if (!symbol) return false;
86112
+ var upperSymbol=symbol.toUpperCase();
86113
+ if (!this.IsSH(upperSymbol)) return false;
86114
+ if (upperSymbol.charAt(0)=='3' && upperSymbol.charAt(1)=='0')
86115
+ return true;
86116
+
86117
+ return false;
86118
+ },
86119
+
86096
86120
  GetMarketStatus:function(symbol) //获取市场状态 0=闭市 1=盘前 2=盘中 3=盘后
86097
86121
  {
86098
86122
  if (!symbol) return 0;
@@ -86217,7 +86241,8 @@ var MARKET_SUFFIX_NAME=
86217
86241
  GetLimitPriceRange:function(symbol, name) //涨停范围
86218
86242
  {
86219
86243
  if (!this.IsSHSZStockA(symbol)) return null;
86220
- if (this.IsSHStockSTAR(symbol)) return {Max:0.2 , Min:-0.2}; //科创板 [20%- -20%]
86244
+ if (this.IsSHStockSTAR(symbol)) return {Max:0.2 , Min:-0.2}; //科创板 [20% - -20%]
86245
+ if (this.IsSHGEM(symbol)) return { Max:0.2 , Min:-0.2}; //创业板 [20% - -20%]
86221
86246
 
86222
86247
  if (!name) return null;
86223
86248
  if (name.indexOf('ST')>=0) return { Max:0.05, Min:-0.05 }; //ST 股票 [5% - -5%]
@@ -1011,7 +1011,7 @@ td.context-menu {
1011
1011
  .jchart-chartdrawsvg-tooltip{
1012
1012
  position: absolute;
1013
1013
  z-index: 10;
1014
- max-height: 270px;
1014
+ /*max-height: 270px;*/
1015
1015
  line-height: 28px;
1016
1016
  box-shadow: 0px 1px 4px 0px rgba(0, 0, 0, 0.23);
1017
1017
  border: solid 1px rgba(200, 210, 219, 0.92);
@@ -6910,6 +6910,14 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
6910
6910
 
6911
6911
  this.CustomChartDrag; //自定义图形的拖拽操作 { Type:, Data: }
6912
6912
 
6913
+ this.StockCache={ Data:null }; //扩展数据缓存数据
6914
+
6915
+
6916
+ this.ClearStockCache=function()
6917
+ {
6918
+ this.StockCache.Data=null;
6919
+ }
6920
+
6913
6921
  //obj={ Element:, Canvas: }
6914
6922
  this.SetCorssCursorElement=function(obj)
6915
6923
  {
@@ -72840,6 +72848,7 @@ function KLineChartContainer(uielement,OffscreenElement)
72840
72848
  this.ResetScrollBar();
72841
72849
  this.ClearIndexRunCount();
72842
72850
 
72851
+
72843
72852
  this.Symbol=symbol;
72844
72853
  if (!symbol)
72845
72854
  {
@@ -72902,15 +72911,18 @@ function KLineChartContainer(uielement,OffscreenElement)
72902
72911
  this.Frame.ClearUpDonwFrameYData();
72903
72912
  if (ChartData.IsDayPeriod(this.Period,true))
72904
72913
  {
72914
+ this.ClearStockCache();
72905
72915
  this.RequestHistoryData(); //请求日线数据
72906
72916
  //this.ReqeustKLineInfoData();
72907
72917
  }
72908
72918
  else if (ChartData.IsMinutePeriod(this.Period,true) || ChartData.IsSecondPeriod(this.Period) || ChartData.IsMilliSecondPeriod(this.Period))
72909
72919
  {
72920
+ this.ClearStockCache();
72910
72921
  this.ReqeustHistoryMinuteData(); //请求分钟数据
72911
72922
  }
72912
72923
  else if (ChartData.IsTickPeriod(this.Period))
72913
72924
  {
72925
+ this.ClearStockCache();
72914
72926
  this.RequestTickData();
72915
72927
  }
72916
72928
  }
@@ -77949,6 +77961,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
77949
77961
  this.ResetOverlaySymbolStatus();
77950
77962
  this.ReloadChartDrawPicture();
77951
77963
  this.ClearIndexRunCount();
77964
+ this.ClearStockCache();
77952
77965
 
77953
77966
  if (option)
77954
77967
  {
@@ -90173,6 +90186,17 @@ var MARKET_SUFFIX_NAME=
90173
90186
  return false;
90174
90187
  },
90175
90188
 
90189
+ IsSHGEM:function(symbol) //创业板(growth enterprise market) 30开头
90190
+ {
90191
+ if (!symbol) return false;
90192
+ var upperSymbol=symbol.toUpperCase();
90193
+ if (!this.IsSH(upperSymbol)) return false;
90194
+ if (upperSymbol.charAt(0)=='3' && upperSymbol.charAt(1)=='0')
90195
+ return true;
90196
+
90197
+ return false;
90198
+ },
90199
+
90176
90200
  GetMarketStatus:function(symbol) //获取市场状态 0=闭市 1=盘前 2=盘中 3=盘后
90177
90201
  {
90178
90202
  if (!symbol) return 0;
@@ -90297,7 +90321,8 @@ var MARKET_SUFFIX_NAME=
90297
90321
  GetLimitPriceRange:function(symbol, name) //涨停范围
90298
90322
  {
90299
90323
  if (!this.IsSHSZStockA(symbol)) return null;
90300
- if (this.IsSHStockSTAR(symbol)) return {Max:0.2 , Min:-0.2}; //科创板 [20%- -20%]
90324
+ if (this.IsSHStockSTAR(symbol)) return {Max:0.2 , Min:-0.2}; //科创板 [20% - -20%]
90325
+ if (this.IsSHGEM(symbol)) return { Max:0.2 , Min:-0.2}; //创业板 [20% - -20%]
90301
90326
 
90302
90327
  if (!name) return null;
90303
90328
  if (name.indexOf('ST')>=0) return { Max:0.05, Min:-0.05 }; //ST 股票 [5% - -5%]
@@ -106273,7 +106298,7 @@ function JSSymbolData(ast,option,jsExecute)
106273
106298
  }
106274
106299
  });
106275
106300
  }
106276
- else if (ChartData.IsMinutePeriod(this.Period, true)) //请求分钟数据
106301
+ else if (ChartData.IsMinutePeriod(this.Period, true) || ChartData.IsSecondPeriod(this.Period) || ChartData.IsMilliSecondPeriod(this.Period)) //请求分钟数据
106277
106302
  {
106278
106303
  if (this.NetworkFilter)
106279
106304
  {
@@ -129483,7 +129508,7 @@ function ScrollBarBGChart()
129483
129508
 
129484
129509
 
129485
129510
 
129486
- var HQCHART_VERSION="1.1.12579";
129511
+ var HQCHART_VERSION="1.1.12584";
129487
129512
 
129488
129513
  function PrintHQChartVersion()
129489
129514
  {
@@ -5,7 +5,7 @@
5
5
 
6
6
 
7
7
 
8
- var HQCHART_VERSION="1.1.12579";
8
+ var HQCHART_VERSION="1.1.12584";
9
9
 
10
10
  function PrintHQChartVersion()
11
11
  {
@@ -6954,6 +6954,14 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
6954
6954
 
6955
6955
  this.CustomChartDrag; //自定义图形的拖拽操作 { Type:, Data: }
6956
6956
 
6957
+ this.StockCache={ Data:null }; //扩展数据缓存数据
6958
+
6959
+
6960
+ this.ClearStockCache=function()
6961
+ {
6962
+ this.StockCache.Data=null;
6963
+ }
6964
+
6957
6965
  //obj={ Element:, Canvas: }
6958
6966
  this.SetCorssCursorElement=function(obj)
6959
6967
  {
@@ -72884,6 +72892,7 @@ function KLineChartContainer(uielement,OffscreenElement)
72884
72892
  this.ResetScrollBar();
72885
72893
  this.ClearIndexRunCount();
72886
72894
 
72895
+
72887
72896
  this.Symbol=symbol;
72888
72897
  if (!symbol)
72889
72898
  {
@@ -72946,15 +72955,18 @@ function KLineChartContainer(uielement,OffscreenElement)
72946
72955
  this.Frame.ClearUpDonwFrameYData();
72947
72956
  if (ChartData.IsDayPeriod(this.Period,true))
72948
72957
  {
72958
+ this.ClearStockCache();
72949
72959
  this.RequestHistoryData(); //请求日线数据
72950
72960
  //this.ReqeustKLineInfoData();
72951
72961
  }
72952
72962
  else if (ChartData.IsMinutePeriod(this.Period,true) || ChartData.IsSecondPeriod(this.Period) || ChartData.IsMilliSecondPeriod(this.Period))
72953
72963
  {
72964
+ this.ClearStockCache();
72954
72965
  this.ReqeustHistoryMinuteData(); //请求分钟数据
72955
72966
  }
72956
72967
  else if (ChartData.IsTickPeriod(this.Period))
72957
72968
  {
72969
+ this.ClearStockCache();
72958
72970
  this.RequestTickData();
72959
72971
  }
72960
72972
  }
@@ -77993,6 +78005,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
77993
78005
  this.ResetOverlaySymbolStatus();
77994
78006
  this.ReloadChartDrawPicture();
77995
78007
  this.ClearIndexRunCount();
78008
+ this.ClearStockCache();
77996
78009
 
77997
78010
  if (option)
77998
78011
  {
@@ -90217,6 +90230,17 @@ var MARKET_SUFFIX_NAME=
90217
90230
  return false;
90218
90231
  },
90219
90232
 
90233
+ IsSHGEM:function(symbol) //创业板(growth enterprise market) 30开头
90234
+ {
90235
+ if (!symbol) return false;
90236
+ var upperSymbol=symbol.toUpperCase();
90237
+ if (!this.IsSH(upperSymbol)) return false;
90238
+ if (upperSymbol.charAt(0)=='3' && upperSymbol.charAt(1)=='0')
90239
+ return true;
90240
+
90241
+ return false;
90242
+ },
90243
+
90220
90244
  GetMarketStatus:function(symbol) //获取市场状态 0=闭市 1=盘前 2=盘中 3=盘后
90221
90245
  {
90222
90246
  if (!symbol) return 0;
@@ -90341,7 +90365,8 @@ var MARKET_SUFFIX_NAME=
90341
90365
  GetLimitPriceRange:function(symbol, name) //涨停范围
90342
90366
  {
90343
90367
  if (!this.IsSHSZStockA(symbol)) return null;
90344
- if (this.IsSHStockSTAR(symbol)) return {Max:0.2 , Min:-0.2}; //科创板 [20%- -20%]
90368
+ if (this.IsSHStockSTAR(symbol)) return {Max:0.2 , Min:-0.2}; //科创板 [20% - -20%]
90369
+ if (this.IsSHGEM(symbol)) return { Max:0.2 , Min:-0.2}; //创业板 [20% - -20%]
90345
90370
 
90346
90371
  if (!name) return null;
90347
90372
  if (name.indexOf('ST')>=0) return { Max:0.05, Min:-0.05 }; //ST 股票 [5% - -5%]
@@ -106317,7 +106342,7 @@ function JSSymbolData(ast,option,jsExecute)
106317
106342
  }
106318
106343
  });
106319
106344
  }
106320
- else if (ChartData.IsMinutePeriod(this.Period, true)) //请求分钟数据
106345
+ else if (ChartData.IsMinutePeriod(this.Period, true) || ChartData.IsSecondPeriod(this.Period) || ChartData.IsMilliSecondPeriod(this.Period)) //请求分钟数据
106321
106346
  {
106322
106347
  if (this.NetworkFilter)
106323
106348
  {
@@ -129636,7 +129661,7 @@ function HQChartScriptWorker()
129636
129661
 
129637
129662
 
129638
129663
 
129639
- var HQCHART_VERSION="1.1.12579";
129664
+ var HQCHART_VERSION="1.1.12584";
129640
129665
 
129641
129666
  function PrintHQChartVersion()
129642
129667
  {
@@ -1902,7 +1902,7 @@ function JSChartContainer(uielement)
1902
1902
  {
1903
1903
  var phonePinch = jsChart.PhonePinch;
1904
1904
  if (!phonePinch) return;
1905
-
1905
+ phonePinch.Operator=null;
1906
1906
  if (this.EnableZoomUpDown && this.EnableZoomUpDown.Touch===false) return;
1907
1907
 
1908
1908
  var yHeight = Math.abs(touches[0].pageY - touches[1].pageY);