hqchart 1.1.12455 → 1.1.12463

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.
@@ -1425,7 +1425,7 @@ this.CreateDepthChartContainer=function(option){var chart=null;chart=new DepthCh
1425
1425
  }if(item.IsShowXLine==false)chart.Frame.IsShowXLine=item.IsShowXLine;if(item.IsShowYLine==false)chart.Frame.IsShowYLine=item.IsShowYLine;if(IFrameSplitOperator.IsNumber(item.XSplitCount))chart.Frame.XSplitOperator.SplitCount=item.XSplitCount;//X轴刻度个数 半边的
1426
1426
  }return chart;};//根据option内容绘制图形
1427
1427
  this.SetOption=function(option){//toolbar按钮风格
1428
- if(IFrameSplitOperator.IsNumber(option.ToolbarButtonStyle))g_JSChartResource.ToolbarButtonStyle=option.ToolbarButtonStyle;var chart=null;switch(option.Type){case"历史K线图":case'历史K线图横屏':chart=this.CreateKLineChartContainer(option);break;case"自定义指数历史K线图":chart=this.CreateCustomKLineChartContainer(option);break;case"分钟走势图":case"分钟走势图横屏":chart=this.CreateMinuteChartContainer(option);break;case"迷你分钟走势图":chart=this.CreateMinMinuteChartContainer(option);break;case"历史分钟走势图":chart=this.CreateHistoryMinuteChartContainer(option);break;case'K线训练':case'K线训练横屏':case"简单K线训练":case"简单K线训练横屏":chart=this.CreateKLineTrainChartContainer(option);break;case"深度图":chart=this.CreateDepthChartContainer(option);break;case"简单图形":return this.CreateSimpleChart(option);case"饼图":case'雷达图':return this.CreatePieChart(option);case'地图':return this.CreateMapChart(option);default:return false;}if(!chart)return false;if(option.OnCreatedCallback)option.OnCreatedCallback(chart);//是否自动更新
1428
+ if(IFrameSplitOperator.IsNumber(option.ToolbarButtonStyle))g_JSChartResource.ToolbarButtonStyle=option.ToolbarButtonStyle;var chart=null;switch(option.Type){case"历史K线图":case'历史K线图横屏':chart=this.CreateKLineChartContainer(option);break;case"自定义指数历史K线图":chart=this.CreateCustomKLineChartContainer(option);break;case"分钟走势图":case"分钟走势图横屏":chart=this.CreateMinuteChartContainer(option);break;case"迷你分钟走势图":chart=this.CreateMinMinuteChartContainer(option);break;case"历史分钟走势图":chart=this.CreateHistoryMinuteChartContainer(option);break;case'K线训练':case'K线训练横屏':case"简单K线训练":case"简单K线训练横屏":chart=this.CreateKLineTrainChartContainer(option);break;case"深度图":chart=this.CreateDepthChartContainer(option);break;case"简单图形":return this.CreateSimpleChart(option);case"饼图":case'雷达图':return this.CreatePieChart(option);case'地图':return this.CreateMapChart(option);default:return false;}if(!chart)return false;this.JSChartContainer=chart;if(option.OnCreatedCallback)option.OnCreatedCallback(chart);//是否自动更新
1429
1429
  if(option.IsAutoUpdate!=null)chart.IsAutoUpdate=option.IsAutoUpdate;if(option.AutoUpdateFrequency>0)chart.AutoUpdateFrequency=option.AutoUpdateFrequency;//注册事件
1430
1430
  if(option.EventCallback){for(var i=0;i<option.EventCallback.length;++i){var item=option.EventCallback[i];chart.AddEventCallback(item);}}//设置股票代码
1431
1431
  if(!option.Symbol){chart.DrawEmpty();this.JSChartContainer=chart;this.DivElement.JSChart=this;//div中保存一份
@@ -4479,8 +4479,9 @@ this.newMethod();delete this.newMethod;this.ClassName='MinuteTooltipPaint';this.
4479
4479
  this.TitlePaint;this.GetTop=function(){if(this.IsHScreen){var border=this.ChartBorder.GetHScreenBorder();if(this.ShowPosition==0)return border.TopEx+this.Left;else return border.BottomEx-this.Width-this.Left;}else{var border=this.ChartBorder.GetBorder();return border.Top+this.Top;}};this.GetLeft=function(){if(this.IsHScreen){var border=this.ChartBorder.GetHScreenBorder();return border.Right-this.Height-this.Top;}else{var border=this.ChartBorder.GetBorder();if(this.ShowPosition==0)return border.LeftEx+this.Left;else return border.RightEx-this.Width-this.Left;}};this.Draw=function(){if(!this.IsEnableDraw())return;this.IsHScreen=this.ChartFrame.IsHScreen===true;this.TitlePaint=this.HQChart.TitlePaint[0];if(!this.TitlePaint)return;var drawData;//{ Type:0=连续交易 1=集合竞价, Data:数据 }
4480
4480
  var pointInfo=this.TitlePaint.PointInfo;if(pointInfo&&(pointInfo.ClientPos==2||pointInfo.ClientPos==3||pointInfo.ClientPos>=200&&pointInfo.ClientPos<=299||pointInfo.ClientPos>=300&&pointInfo.ClientPos<=399)){var auctionData=this.TitlePaint.GetCurrentAuctionData();if(!auctionData)return;drawData={Type:1,Data:auctionData};}else{var minuteData=this.TitlePaint.GetCurrentKLineData();if(!minuteData)return;drawData={Type:0,Data:minuteData};}var titleData=this.GetFormatTitle(drawData);if(!titleData||!IFrameSplitOperator.IsNonEmptyArray(titleData.AryText))return;this.CalculateTooltipSize(titleData);this.CalculateShowPosition();this.DrawBG();this.DrawTooltipData(titleData);this.DrawBorder();};this.GetFormatTitle=function(data){if(!data||!data.Data)return;var item;var close,vol,amount;if(data.Type==0)//盘中
4481
4481
  {item=data.Data;close=item.Close;vol=item.Vol;amount=item.Amount;}else if(data.Type==1)//盘前 盘后
4482
- {item=data.Data.Data;if(!item)return;close=item.Price;}var upperSymbol;this.YClose=this.TitlePaint.YClose;if(this.HQChart.Symbol)upperSymbol=this.HQChart.Symbol.toUpperCase();var defaultfloatPrecision=GetfloatPrecision(this.HQChart.Symbol);//价格小数位数
4483
- var aryText=[];var result={AryText:aryText};var text,title,color;if(IFrameSplitOperator.IsNumber(item.Date)){text=IFrameSplitOperator.FormatDateString(item.Date);aryText.push({Text:text,Color:this.DateTimeColor});}if(IFrameSplitOperator.IsNumber(item.Time)){text=IFrameSplitOperator.FormatTimeString(item.Time);aryText.push({Text:text,Color:this.DateTimeColor});}if(IFrameSplitOperator.IsNumber(close))//最新
4482
+ {item=data.Data.Data;if(!item)return;close=item.Price;}var upperSymbol;if(this.HQChart.Symbol)upperSymbol=this.HQChart.Symbol.toUpperCase();var isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol);//国内期货, 纽约期货交易所
4483
+ var defaultfloatPrecision=GetfloatPrecision(this.HQChart.Symbol);//价格小数位数
4484
+ this.YClose=this.TitlePaint.YClose;this.YClose=item.YClose;if(isFutures&&IFrameSplitOperator.IsNumber(item.YClearing))this.YClose=item.YClearing;var aryText=[];var result={AryText:aryText};var text,title,color;if(IFrameSplitOperator.IsNumber(item.Date)){text=IFrameSplitOperator.FormatDateString(item.Date);aryText.push({Text:text,Color:this.DateTimeColor});}if(IFrameSplitOperator.IsNumber(item.Time)){text=IFrameSplitOperator.FormatTimeString(item.Time);aryText.push({Text:text,Color:this.DateTimeColor});}if(IFrameSplitOperator.IsNumber(close))//最新
4484
4485
  {title=g_JSChartLocalization.GetText('Tooltip-Price',this.LanguageID);color=this.TitlePaint.GetColor(close,this.YClose);text=close.toFixed(defaultfloatPrecision);aryText.push({Title:title,TitleColor:this.TitleColor,Text:text,Color:color});}var isShowAvPrice=true;if(MARKET_SUFFIX_NAME.IsForeignExchange(upperSymbol))isShowAvPrice=false;//外汇没有均价
4485
4486
  else if(MARKET_SUFFIX_NAME.IsET(upperSymbol)&&!MARKET_SUFFIX_NAME.IsETShowAvPrice(upperSymbol))isShowAvPrice=false;else if(MARKET_SUFFIX_NAME.IsShowAvPrice&&!MARKET_SUFFIX_NAME.IsShowAvPrice(upperSymbol))isShowAvPrice=false;//均价
4486
4487
  if(isShowAvPrice&&IFrameSplitOperator.IsNumber(item.AvPrice)&&this.IsShowAveragePrice){title=g_JSChartLocalization.GetText('Tooltip-AvPrice',this.LanguageID);var color=this.TitlePaint.GetColor(item.AvPrice,this.YClose);text=item.AvPrice.toFixed(defaultfloatPrecision);aryText.push({Title:title,TitleColor:this.TitleColor,Text:text,Color:color});}//涨幅
@@ -4625,10 +4626,11 @@ this.FixedWidth;//固定宽度
4625
4626
  this.Font=g_JSChartResource.PCTooltipPaint.TitleFont;this.HQChart;//设置参数接口
4626
4627
  this.SetOption=function(option){if(option.BGColor)this.BGColor=option.BGColor;if(option.LanguageID>0)this.LanguageID=option.LanguageID;if(IFrameSplitOperator.IsNumber(option.FixedWidth))this.FixedWidth=option.FixedWidth;};this.IsEnableDraw=function(){if(!this.HQChart||!this.HQChart.TitlePaint||!this.HQChart.TitlePaint[0])return false;var pt=this.HQChart.LastPoint;if(!pt)return false;return this.HQChart.IsMouseOnClient(pt.X,pt.Y);};this.Draw=function(){if(!this.IsEnableDraw())return;this.TitlePaint=this.HQChart.TitlePaint[0];if(!this.TitlePaint)return;var pointInfo=this.TitlePaint.PointInfo;var drawData;//{ Type:0=连续交易 1=集合竞价, Data:数据 }
4627
4628
  if(pointInfo&&(pointInfo.ClientPos==2||pointInfo.ClientPos==3||pointInfo.ClientPos>=200&&pointInfo.ClientPos<=299||pointInfo.ClientPos>=300&&pointInfo.ClientPos<=399)){var auctionData=this.TitlePaint.GetCurrentAuctionData();if(!auctionData)return;drawData={Type:1,Data:auctionData};}else{var minuteData=this.TitlePaint.GetCurrentKLineData();if(!minuteData)return;drawData={Type:0,Data:minuteData};}this.YClose=this.TitlePaint.YClose;var aryText=this.GetForamtTitle(drawData);if(!IFrameSplitOperator.IsNonEmptyArray(aryText))return;this.Canvas.font=this.Font;this.Canvas.textBaseline='top';this.LineHeight=GetFontHeight(this.Canvas,null,"擎");var border=this.ChartBorder.GetBorder();var height=this.LineHeight*aryText.length*2;var rtBorder={Left:1,Top:1,Right:border.Left};rtBorder.Bottom=rtBorder.Top+height;rtBorder.Width=rtBorder.Right-rtBorder.Left;rtBorder.Height=rtBorder.Bottom-rtBorder.Top;rtBorder.Height+=this.Mergin.Top+this.Mergin.Bottom;rtBorder.Bottom=rtBorder.Top+rtBorder.Height;if(IFrameSplitOperator.IsNumber(this.FixedWidth))rtBorder.Width=this.FixedWidth;this.Canvas.fillStyle=this.BGColor;this.Canvas.fillRect(rtBorder.Left,rtBorder.Top,rtBorder.Width,rtBorder.Height);this.Canvas.strokeStyle=this.BorderColor;this.Canvas.strokeRect(ToFixedPoint(rtBorder.Left),ToFixedPoint(rtBorder.Top),ToFixedRect(rtBorder.Width),ToFixedRect(rtBorder.Height));var right=rtBorder.Left+rtBorder.Width-this.Mergin.Right;var left=this.Mergin.Left+rtBorder.Left;var top=this.Mergin.Top+rtBorder.Top;var rtItem={Left:left,Top:top,Right:right};rtItem.Width=rtItem.Right-rtItem.Left;for(var i=0;i<aryText.length;++i){var item=aryText[i];this.DrawText(item,rtItem);}};this.DrawText=function(item,rtItem){this.Canvas.fillStyle=item.TitleColor;this.Canvas.textAlign='left';this.Canvas.fillText(item.Title,rtItem.Left,rtItem.Top);rtItem.Top+=this.LineHeight;rtItem.Bottom=rtItem.Top+this.LineHeight;this.Canvas.textAlign='right';this.Canvas.fillStyle=item.TextColor;this.Canvas.fillText(item.Text,rtItem.Right,rtItem.Top);rtItem.Top+=this.LineHeight;rtItem.Bottom=rtItem.Top+this.LineHeight;};//{ Title:, Text:, Color: }
4628
- this.GetForamtTitle=function(drawData){if(!drawData||!drawData.Data)return null;var aryText=[];var upperSymbol;if(this.HQChart.Symbol)upperSymbol=this.HQChart.Symbol.toUpperCase();var defaultfloatPrecision=GetfloatPrecision(upperSymbol);//价格小数位数
4629
+ this.GetForamtTitle=function(drawData){if(!drawData||!drawData.Data)return null;var aryText=[];var isFutures=false;var upperSymbol;if(this.HQChart.Symbol)upperSymbol=this.HQChart.Symbol.toUpperCase();var defaultfloatPrecision=GetfloatPrecision(upperSymbol);//价格小数位数
4630
+ if(upperSymbol)isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol);//国内期货, 纽约期货交易所
4629
4631
  if(drawData.Type==0)//连续交易
4630
- {var item=drawData.Data;var titleItem=this.FormatDate(item.Date);if(titleItem)aryText.push(titleItem);var titleItem=this.ForamtTime(item.Time,"HH:MM",'PCTooltip-Time');if(titleItem)aryText.push(titleItem);var titleItem=this.ForamtPrice(item.Close,defaultfloatPrecision,'PCTooltip-Price');if(titleItem)aryText.push(titleItem);var titleItem=this.ForamtPrice(item.AvPrice,defaultfloatPrecision,'PCTooltip-AvPrice');if(titleItem)aryText.push(titleItem);var titleItem=this.ForamtIncrease(item.Close,"PCTooltip-Increase");if(titleItem)aryText.push(titleItem);var titleItem=this.FormatVol(item.Vol,'PCTooltip-Vol');if(titleItem)aryText.push(titleItem);if(IFrameSplitOperator.IsNumber(item.Amount)){var titleItem={Title:g_JSChartLocalization.GetText('PCTooltip-Amount',this.LanguageID),TitleColor:this.TitleColor,Text:IFrameSplitOperator.FromatIntegerString(item.Amount,2,this.LanguageID),TextColor:this.AmountColor};aryText.push(titleItem);}}else if(drawData.Type==1)//集合竞价
4631
- {var item=drawData.Data.Data;if(!item)return;var titleItem=this.FormatDate(item.Date);if(titleItem)aryText.push(titleItem);var timeForamt="HH:MM:SS";if(item.Ver===1)timeForamt="HH:MM";var titleItem=this.ForamtTime(item.Time,timeForamt,'PCTooltip-Time');if(titleItem)aryText.push(titleItem);var titleItem=this.ForamtPrice(item.Price,defaultfloatPrecision,'PCTooltip-AC-Price');if(titleItem)aryText.push(titleItem);var titleItem=this.ForamtIncrease(item.Price,"PCTooltip-AC-Increase");if(titleItem)aryText.push(titleItem);if(IFrameSplitOperator.IsNonEmptyArray(item.Vol)){var titleItem=this.FormatVol(item.Vol[0],'PCTooltip-AC-Vol');if(titleItem)aryText.push(titleItem);var titleItem=this.FormatVol(item.Vol[1],'PCTooltip-AC-NotMatchVol');if(titleItem)aryText.push(titleItem);}}return aryText;};this.GetColor=function(price,yclse){if(price>yclse)return this.UpColor;else if(price<yclse)return this.DownColor;else return this.UnchagneColor;};this.FormatDate=function(date){if(!IFrameSplitOperator.IsNumber(date))return null;var titleItem={Title:g_JSChartLocalization.GetText('PCTooltip-Date',this.LanguageID),TitleColor:this.TitleColor,Text:IFrameSplitOperator.FormatDateString(date,"MM-DD",this.LanguageID),TextColor:this.DateTimeColor};return titleItem;};this.ForamtTime=function(time,format,TitleID){if(!IFrameSplitOperator.IsNumber(time))return null;var titleItem={Title:g_JSChartLocalization.GetText(TitleID,this.LanguageID),TitleColor:this.TitleColor,Text:IFrameSplitOperator.FormatTimeString(time,format,this.LanguageID),TextColor:this.DateTimeColor};return titleItem;};this.ForamtPrice=function(price,defaultfloatPrecision,TitleID){if(!IFrameSplitOperator.IsNumber(price))return null;var titleItem={Title:g_JSChartLocalization.GetText(TitleID,this.LanguageID),TitleColor:this.TitleColor,Text:price.toFixed(defaultfloatPrecision),TextColor:this.GetColor(price,this.YClose)};return titleItem;};this.ForamtIncrease=function(price,TitleID){if(!IFrameSplitOperator.IsNumber(price)||price==0)return null;var value=(price-this.YClose)/this.YClose*100;var titleItem={Title:g_JSChartLocalization.GetText(TitleID,this.LanguageID),TitleColor:this.TitleColor,Text:value.toFixed(2)+'%',TextColor:this.GetColor(value,0)};return titleItem;};this.FormatVol=function(vol,TitleID){if(!IFrameSplitOperator.IsNumber(vol))return null;var titleItem={Title:g_JSChartLocalization.GetText(TitleID,this.LanguageID),TitleColor:this.TitleColor,Text:IFrameSplitOperator.FromatIntegerString(vol,2,this.LanguageID),TextColor:this.VolColor};return titleItem;};}//股票信息
4632
+ {var item=drawData.Data;if(!item)return;this.YClose=item.YClose;if(isFutures&&IFrameSplitOperator.IsNumber(item.YClearing))this.YClose=item.YClearing;var titleItem=this.FormatDate(item.Date);if(titleItem)aryText.push(titleItem);var titleItem=this.ForamtTime(item.Time,"HH:MM",'PCTooltip-Time');if(titleItem)aryText.push(titleItem);var titleItem=this.ForamtPrice(item.Close,defaultfloatPrecision,'PCTooltip-Price');if(titleItem)aryText.push(titleItem);var titleItem=this.ForamtPrice(item.AvPrice,defaultfloatPrecision,'PCTooltip-AvPrice');if(titleItem)aryText.push(titleItem);var titleItem=this.ForamtIncrease(item.Close,"PCTooltip-Increase");if(titleItem)aryText.push(titleItem);var titleItem=this.FormatVol(item.Vol,'PCTooltip-Vol');if(titleItem)aryText.push(titleItem);if(IFrameSplitOperator.IsNumber(item.Amount)){var titleItem={Title:g_JSChartLocalization.GetText('PCTooltip-Amount',this.LanguageID),TitleColor:this.TitleColor,Text:IFrameSplitOperator.FromatIntegerString(item.Amount,2,this.LanguageID),TextColor:this.AmountColor};aryText.push(titleItem);}}else if(drawData.Type==1)//集合竞价
4633
+ {var item=drawData.Data.Data;if(!item)return;this.YClose=item.YClose;if(isFutures&&IFrameSplitOperator.IsNumber(item.YClearing))this.YClose=item.YClearing;var titleItem=this.FormatDate(item.Date);if(titleItem)aryText.push(titleItem);var timeForamt="HH:MM:SS";if(item.Ver===1)timeForamt="HH:MM";var titleItem=this.ForamtTime(item.Time,timeForamt,'PCTooltip-Time');if(titleItem)aryText.push(titleItem);var titleItem=this.ForamtPrice(item.Price,defaultfloatPrecision,'PCTooltip-AC-Price');if(titleItem)aryText.push(titleItem);var titleItem=this.ForamtIncrease(item.Price,"PCTooltip-AC-Increase");if(titleItem)aryText.push(titleItem);if(IFrameSplitOperator.IsNonEmptyArray(item.Vol)){var titleItem=this.FormatVol(item.Vol[0],'PCTooltip-AC-Vol');if(titleItem)aryText.push(titleItem);var titleItem=this.FormatVol(item.Vol[1],'PCTooltip-AC-NotMatchVol');if(titleItem)aryText.push(titleItem);}}return aryText;};this.GetColor=function(price,yclse){if(price>yclse)return this.UpColor;else if(price<yclse)return this.DownColor;else return this.UnchagneColor;};this.FormatDate=function(date){if(!IFrameSplitOperator.IsNumber(date))return null;var titleItem={Title:g_JSChartLocalization.GetText('PCTooltip-Date',this.LanguageID),TitleColor:this.TitleColor,Text:IFrameSplitOperator.FormatDateString(date,"MM-DD",this.LanguageID),TextColor:this.DateTimeColor};return titleItem;};this.ForamtTime=function(time,format,TitleID){if(!IFrameSplitOperator.IsNumber(time))return null;var titleItem={Title:g_JSChartLocalization.GetText(TitleID,this.LanguageID),TitleColor:this.TitleColor,Text:IFrameSplitOperator.FormatTimeString(time,format,this.LanguageID),TextColor:this.DateTimeColor};return titleItem;};this.ForamtPrice=function(price,defaultfloatPrecision,TitleID){if(!IFrameSplitOperator.IsNumber(price))return null;var titleItem={Title:g_JSChartLocalization.GetText(TitleID,this.LanguageID),TitleColor:this.TitleColor,Text:price.toFixed(defaultfloatPrecision),TextColor:this.GetColor(price,this.YClose)};return titleItem;};this.ForamtIncrease=function(price,TitleID){if(!IFrameSplitOperator.IsNumber(price)||price==0)return null;var value=(price-this.YClose)/this.YClose*100;var titleItem={Title:g_JSChartLocalization.GetText(TitleID,this.LanguageID),TitleColor:this.TitleColor,Text:value.toFixed(2)+'%',TextColor:this.GetColor(value,0)};return titleItem;};this.FormatVol=function(vol,TitleID){if(!IFrameSplitOperator.IsNumber(vol))return null;var titleItem={Title:g_JSChartLocalization.GetText(TitleID,this.LanguageID),TitleColor:this.TitleColor,Text:IFrameSplitOperator.FromatIntegerString(vol,2,this.LanguageID),TextColor:this.VolColor};return titleItem;};}//股票信息
4632
4634
  function StockInfoExtendChartPaint(){this.newMethod=IExtendChartPainting;//派生
4633
4635
  this.newMethod();delete this.newMethod;this.Left=80;this.Right=1;this.Top=1;this.Bottom=1;this.BorderColor=g_JSChartResource.FrameBorderPen;this.Symbol;this.Name;this.TitleFont=["14px 微软雅黑"];this.Draw=function(){var left=this.ChartBorder.GetRight()+this.Left;var right=this.ChartBorder.GetChartWidth()-this.Right;var y=this.Top+18;var middle=left+(right-left)/2;if(this.Symbol&&this.Name){this.Canvas.font=this.TitleFont[0];this.Canvas.textAlign="right";this.Canvas.textBaseline="bottom";this.Canvas.fillText(this.Symbol,middle-2,y);this.Canvas.textAlign="left";this.Canvas.fillText(this.Name,middle+2,y);};this.Canvas.strokeStyle=this.BorderColor;this.Canvas.moveTo(left,y);this.Canvas.lineTo(right,y);this.Canvas.stroke();y+=30;this.DrawBorder();};this.DrawBorder=function(){var left=this.ChartBorder.GetRight()+this.Left;var right=this.ChartBorder.GetChartWidth()-this.Right;var top=this.Top;var bottom=this.ChartBorder.GetChartHeight()-this.Bottom;this.Canvas.strokeStyle=this.BorderColor;this.Canvas.strokeRect(left,top,right-left,bottom-top);};}//筹码分布
4634
4636
  function StockChip(){this.newMethod=IExtendChartPainting;//派生
@@ -5337,11 +5339,13 @@ var emptyData={ClientPos:this.PointInfo.ClientPos,X:this.PointInfo.Point.X,Y:thi
5337
5339
  }}else if(this.AfterOpenData&&IFrameSplitOperator.IsNonEmptyArray(this.AfterOpenData.Data)){afterItem=this.AfterOpenData.Data[this.AfterOpenData.Data.length-1];afterDataVer=this.AfterOpenData.Ver;afterExplain="AfterClose";}var dataItem=null;if(this.Data&&IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)){var count=this.Data.Data.length;dataItem=this.Data.Data[count-1];}if(!beforeItem&&!afterItem&&!dataItem)return null;if(!bCallAuction)return{Type:0,Data:dataItem};if(!dataItem)return{Type:1,Data:beforeItem,Ver:beforeDataVer,Explain:beforeExplain};if(beforeItem&&dataItem)//盘前数据
5338
5340
  {if(beforeItem.Date>dataItem.Date||beforeItem.Date==dataItem.Date&&beforeItem.Time>dataItem.Time&&afterDataVer==1.0)return{Type:2,Data:beforeItem,Ver:beforeDataVer,Explain:beforeExplain};}if(afterItem&&dataItem)//盘后数据
5339
5341
  {if(afterItem.Date>=dataItem.Date)return{Type:1,Data:afterItem,Ver:afterDataVer,Explain:afterExplain};}return{Type:0,Data:dataItem};};this.GetFormatTitle=function(data)//{ Data:, IsLastOne: }
5340
- {if(!data||!data.Data)return;var defaultfloatPrecision=GetfloatPrecision(this.Symbol);//价格小数位数
5342
+ {if(!data||!data.Data)return;var upperSymbol=this.Symbol.toUpperCase();var defaultfloatPrecision=GetfloatPrecision(this.Symbol);//价格小数位数
5343
+ var isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol);//国内期货, 纽约期货交易所
5341
5344
  var item=data.Data;var isLastOne=data.IsLastOne;var aryText=[];//{Color:, Text: }
5342
5345
  if(this.IsShowName)aryText.push({Text:this.Name,Color:this.NameColor});if(this.IsShowDate||this.IsShowTime){var bShowUpdateTime=false;//是否显示了更新时间
5343
5346
  if(isLastOne&&this.ShowLastDataFormat==1){if(this.Data&&this.Data.UpdateTime&&IFrameSplitOperator.IsNumber(this.Data.UpdateTime.Date)&&IFrameSplitOperator.IsNumber(this.Data.UpdateTime.Time)){var text=IFrameSplitOperator.FormatTimeString(this.Data.UpdateTime.Time,"HH:MM:SS");aryText.push({Text:text,Color:this.DateTimeColor});bShowUpdateTime=true;}}if(!bShowUpdateTime){if(this.TimeFormat)//指定时间格式
5344
- {var strDate=null,strTime=null,text=null;if(this.IsShowDate)strDate=IFrameSplitOperator.FormatDateString("YYYY-MM-DD",item.Date);if(this.IsShowTime)strTime=IFrameSplitOperator.FormatTimeString(item.Time,this.TimeFormat);if(strDate&&strTime)text=strDate+' '+strTime;else if(strDate)text=strDate;else if(strTime)text=strTime;if(text)aryText.push({Text:text,Color:this.DateTimeColor});}else{var text=IFrameSplitOperator.FormatDateTimeString(item.DateTime,this.IsShowDate,this.IsShowTime);aryText.push({Text:text,Color:this.DateTimeColor});}}}var close=item.Close;var increase=item.Increase;var vol=item.Vol;var amount=item.Amount;var yClose=item.YClose;if(!IFrameSplitOperator.IsNumber(yClose))yClose=this.YClose;if(IFrameSplitOperator.IsNumber(close)){var color=this.GetColor(close,yClose);var text=g_JSChartLocalization.GetText('MTitle-Close',this.LanguageID)+close.toFixed(defaultfloatPrecision);aryText.push({Text:text,Color:color});}if(IFrameSplitOperator.IsNumber(increase)){var color=this.GetColor(increase,0);var text=g_JSChartLocalization.GetText('MTitle-Increase',this.LanguageID)+increase.toFixed(2)+'%';aryText.push({Text:text,Color:color});}var isShowAvPrice=true;var upperSymbol=this.Symbol.toUpperCase();if(MARKET_SUFFIX_NAME.IsET(upperSymbol)&&!MARKET_SUFFIX_NAME.IsETShowAvPrice(upperSymbol))isShowAvPrice=false;else if(MARKET_SUFFIX_NAME.IsShowAvPrice&&!MARKET_SUFFIX_NAME.IsShowAvPrice(upperSymbol))isShowAvPrice=false;if(IFrameSplitOperator.IsNumber(item.AvPrice)&&isShowAvPrice&&this.IsShowAveragePrice){var color=this.GetColor(item.AvPrice,yClose);var text=g_JSChartLocalization.GetText('MTitle-AvPrice',this.LanguageID)+item.AvPrice.toFixed(defaultfloatPrecision);aryText.push({Text:text,Color:color});}if(IFrameSplitOperator.IsNumber(vol)){var text=g_JSChartLocalization.GetText('MTitle-Vol',this.LanguageID)+IFrameSplitOperator.FromatIntegerString(vol,2,this.LanguageID);aryText.push({Text:text,Color:this.VolColor});}if(IFrameSplitOperator.IsNumber(amount)){var text=g_JSChartLocalization.GetText('MTitle-Amount',this.LanguageID)+IFrameSplitOperator.FormatValueString(amount,2,this.LanguageID);aryText.push({Text:text,Color:this.AmountColor});}if(IFrameSplitOperator.IsNumber(item.Position)){var text=g_JSChartLocalization.GetText('MTitle-Position',this.LanguageID)+IFrameSplitOperator.FromatIntegerString(item.Position,2,this.LanguageID);aryText.push({Text:text,Color:this.VolColor});}if(isLastOne&&this.ShowLastDataFormat==0)//显示数据最后的更新时间
5347
+ {var strDate=null,strTime=null,text=null;if(this.IsShowDate)strDate=IFrameSplitOperator.FormatDateString("YYYY-MM-DD",item.Date);if(this.IsShowTime)strTime=IFrameSplitOperator.FormatTimeString(item.Time,this.TimeFormat);if(strDate&&strTime)text=strDate+' '+strTime;else if(strDate)text=strDate;else if(strTime)text=strTime;if(text)aryText.push({Text:text,Color:this.DateTimeColor});}else{var text=IFrameSplitOperator.FormatDateTimeString(item.DateTime,this.IsShowDate,this.IsShowTime);aryText.push({Text:text,Color:this.DateTimeColor});}}}var close=item.Close;var increase=item.Increase;var vol=item.Vol;var amount=item.Amount;var yClose=item.YClose;if(!IFrameSplitOperator.IsNumber(yClose))yClose=this.YClose;if(isFutures&&IFrameSplitOperator.IsNumber(item.YClearing))yClose=item.YClearing;//期货使用昨结算
5348
+ if(IFrameSplitOperator.IsNumber(close)){var color=this.GetColor(close,yClose);var text=g_JSChartLocalization.GetText('MTitle-Close',this.LanguageID)+close.toFixed(defaultfloatPrecision);aryText.push({Text:text,Color:color});}if(IFrameSplitOperator.IsNumber(increase)){var color=this.GetColor(increase,0);var text=g_JSChartLocalization.GetText('MTitle-Increase',this.LanguageID)+increase.toFixed(2)+'%';aryText.push({Text:text,Color:color});}var isShowAvPrice=true;var upperSymbol=this.Symbol.toUpperCase();if(MARKET_SUFFIX_NAME.IsET(upperSymbol)&&!MARKET_SUFFIX_NAME.IsETShowAvPrice(upperSymbol))isShowAvPrice=false;else if(MARKET_SUFFIX_NAME.IsShowAvPrice&&!MARKET_SUFFIX_NAME.IsShowAvPrice(upperSymbol))isShowAvPrice=false;if(IFrameSplitOperator.IsNumber(item.AvPrice)&&isShowAvPrice&&this.IsShowAveragePrice){var color=this.GetColor(item.AvPrice,yClose);var text=g_JSChartLocalization.GetText('MTitle-AvPrice',this.LanguageID)+item.AvPrice.toFixed(defaultfloatPrecision);aryText.push({Text:text,Color:color});}if(IFrameSplitOperator.IsNumber(vol)){var text=g_JSChartLocalization.GetText('MTitle-Vol',this.LanguageID)+IFrameSplitOperator.FromatIntegerString(vol,2,this.LanguageID);aryText.push({Text:text,Color:this.VolColor});}if(IFrameSplitOperator.IsNumber(amount)){var text=g_JSChartLocalization.GetText('MTitle-Amount',this.LanguageID)+IFrameSplitOperator.FormatValueString(amount,2,this.LanguageID);aryText.push({Text:text,Color:this.AmountColor});}if(IFrameSplitOperator.IsNumber(item.Position)){var text=g_JSChartLocalization.GetText('MTitle-Position',this.LanguageID)+IFrameSplitOperator.FromatIntegerString(item.Position,2,this.LanguageID);aryText.push({Text:text,Color:this.VolColor});}if(isLastOne&&this.ShowLastDataFormat==0)//显示数据最后的更新时间
5345
5349
  {if(this.Data&&this.Data.UpdateTime&&IFrameSplitOperator.IsNumber(this.Data.UpdateTime.Date)&&IFrameSplitOperator.IsNumber(this.Data.UpdateTime.Time)){var text=g_JSChartLocalization.GetText('MTitle-UpdateTime',this.LanguageID)+IFrameSplitOperator.FormatTimeString(this.Data.UpdateTime.Time,"HH:MM:SS");aryText.push({Text:text,Color:this.DateTimeColor});}}//叠加股票的名字
5346
5350
  if(IFrameSplitOperator.IsNonEmptyArray(this.OverlayChartPaint)){for(var i=0;i<this.OverlayChartPaint.length;++i){var item=this.OverlayChartPaint[i];if(!item.Symbol||!item.Title)continue;var clrText=item.Color;var text='['+item.Title+']';aryText.push({Text:text,Color:clrText});}}return{AryText:aryText};};this.DrawItem=function(item,isLastOne)//isLastOne 是否是最后一个数据
5347
5351
  {if(!item)return;var pixelRatio=GetDevicePixelRatio();var isHScreen=this.Frame.IsHScreen===true;var border=this.Frame.GetBorder();var left=border.Left;var bottom=border.Top-this.Frame.ChartBorder.Top/2;var defaultfloatPrecision=GetfloatPrecision(this.Symbol);//价格小数位数
@@ -7428,7 +7432,7 @@ if(this.IsPhoneDragging(e)){var drag={Click:{},LastMove:{}};//LastMove=最后移
7428
7432
  var touches=this.GetToucheData(e,this.IsForceLandscape);var pt=this.PointAbsoluteToRelative(touches[0].clientX,touches[0].clientY,true);if(this.TryClickLock||this.TryClickIndexTitle)//指标枷锁区域 , 指标标题点击
7429
7433
  {var x=pt.X;var y=pt.Y;if(this.TryClickLock&&this.TryClickLock(x,y))return;if(this.TryClickIndexTitle&&this.TryClickIndexTitle(x,y))return;}if(this.ClickFrameButton){var button=this.Frame.PtInButtons(pt.X,pt.Y);if(button){this.ClickFrameButton(button,e);return;}}drag.Click.X=touches[0].clientX;drag.Click.Y=touches[0].clientY;drag.LastMove.X=touches[0].clientX;drag.LastMove.Y=touches[0].clientY;var self=this;var T_ShowCorssCursor=function T_ShowCorssCursor()//临时函数(Temp_) T_开头
7430
7434
  {if(self.ChartCorssCursor.IsShow===true)//移动十字光标
7431
- {var pixelTatio=GetDevicePixelRatio();var x=drag.Click.X-uielement.getBoundingClientRect().left*pixelTatio;var y=drag.Click.Y-uielement.getBoundingClientRect().top*pixelTatio;self.OnMouseMove(x,y,e);}};if(this.ChartDrawOption.IsLockScreen){this.MouseDrag=drag;if(this.SelectChartDrawPicture)this.SelectChartDrawPicture.IsSelected=false;this.SelectChartDrawPicture=null;if(this.CurrentChartDrawPicture)//画图工具模式
7435
+ {var pt=self.PointAbsoluteToRelative(drag.Click.X,drag.Click.Y,true);var x=pt.X;var y=pt.Y;self.OnMouseMove(x,y,e);}};if(this.ChartDrawOption.IsLockScreen){this.MouseDrag=drag;if(this.SelectChartDrawPicture)this.SelectChartDrawPicture.IsSelected=false;this.SelectChartDrawPicture=null;if(this.CurrentChartDrawPicture)//画图工具模式
7432
7436
  {var drawPicture=this.CurrentChartDrawPicture;if(drawPicture.Status==2)this.SetChartDrawPictureThirdPoint(drag.Click.X,drag.Click.Y,true);else{this.SetChartDrawPictureFirstPoint(drag.Click.X,drag.Click.Y,true);//只有1个点 直接完成
7433
7437
  if(this.FinishChartDrawPicturePoint())this.DrawDynamicInfo({Corss:false,Tooltip:false});}if(e.cancelable)e.preventDefault();return;}else{var drawPictrueData={};var pixelTatio=GetDevicePixelRatio();//鼠标移动坐标是原始坐标 需要乘以放大倍速
7434
7438
  drawPictrueData.X=touches[0].clientX-uielement.getBoundingClientRect().left;drawPictrueData.Y=touches[0].clientY-uielement.getBoundingClientRect().top;if(this.GetChartDrawPictureByPoint(drawPictrueData)){drawPictrueData.ChartDrawPicture.Status=20;drawPictrueData.ChartDrawPicture.ValueToPoint();drawPictrueData.ChartDrawPicture.MovePointIndex=drawPictrueData.PointIndex;drawPictrueData.ChartDrawPicture.IsSelected=true;this.CurrentChartDrawPicture=drawPictrueData.ChartDrawPicture;this.SelectChartDrawPicture=drawPictrueData.ChartDrawPicture;var _event2=this.GetEventCallback(JSCHART_EVENT_ID.ON_CLICK_DRAWPICTURE);//选中画图工具事件
@@ -7757,24 +7761,16 @@ var isSHO=MARKET_SUFFIX_NAME.IsSHO(upperSymbol);//上海股票期权
7757
7761
  var isSZO=MARKET_SUFFIX_NAME.IsSZO(upperSymbol);//深证股票期权
7758
7762
  var aryMinuteData=[];var preClose=data.stock[0].yclose;//前一个数据价格
7759
7763
  var preAvPrice=data.stock[0].yclose;//前一个均价
7760
- var yClose=data.stock[0].yclose;if(isFutures&&data.stock[0].yclearing)yClose=preClose=preAvPrice=data.stock[0].yclearing;//期货使用昨结算价
7764
+ var yClose=data.stock[0].yclose;var yClearing=data.stock[0].yclearing;if(isFutures&&yClearing)preClose=preAvPrice=yClearing;//期货使用昨结算价
7761
7765
  if(!IFrameSplitOperator.IsNonEmptyArray(data.stock[0].minute))return aryMinuteData;var date=data.stock[0].date;//默认使用外部日期, 但跨天的 走势图使用内部的日期
7762
- for(var i=0;i<data.stock[0].minute.length;++i){var jsData=data.stock[0].minute[i];var item=new MinuteData();item.YClose=yClose;item.Close=jsData.price;item.Open=jsData.open;item.High=jsData.high;item.Low=jsData.low;if(isSHSZ)item.Vol=jsData.vol/100;//沪深股票原始单位股
7766
+ for(var i=0;i<data.stock[0].minute.length;++i){var jsData=data.stock[0].minute[i];var item=new MinuteData();item.YClearing=yClearing;item.YClose=yClose;item.Close=jsData.price;item.Open=jsData.open;item.High=jsData.high;item.Low=jsData.low;if(isSHSZ)item.Vol=jsData.vol/100;//沪深股票原始单位股
7763
7767
  else item.Vol=jsData.vol;item.Amount=jsData.amount;if(jsData.date>0)date=jsData.date;//分钟数据中有日期 优先使用
7764
7768
  item.DateTime=date.toString()+" "+jsData.time.toString();item.Date=date;item.Time=jsData.time;if(isFutures||isSHO||isSZO)item.Position=jsData.position;//期货 期权有持仓
7765
7769
  else if(IFrameSplitOperator.IsNumber(jsData.position))item.Position=jsData.position;item.Increase=jsData.increase;item.Risefall=jsData.risefall;item.AvPrice=jsData.avprice;if(IFrameSplitOperator.IsNumber(jsData.lead))item.Lead=jsData.lead;//领先指标 指数才有
7766
7770
  if(!IFrameSplitOperator.IsNumber(item.Close))//当前没有价格 使用上一个价格填充
7767
- {item.Close=preClose;item.Open=item.High=item.Low=item.Close;}if(!item.AvPrice)item.AvPrice=preAvPrice;//价格是0的 都用空
7768
- //if (item.Open<=0) item.Open=null;
7769
- //if (item.Close<=0) item.Close=null;
7770
- //if (item.AvPrice<=0) item.AvPrice=null;
7771
- //if (item.High<=0) item.High=null;
7772
- //if (item.Low<=0) item.Low=null;
7773
- //if (isFutures) item.AvPrice=null; //期货均价暂时没有
7774
- if(yClose&&item.Close)item.Increase=(item.Close-yClose)/yClose*100;//涨幅 (最新价格-昨收)/昨收*100;
7775
- //均价太大 可能是后台算错了
7776
- var checkValue=Math.abs(item.AvPrice-item.Close);//JSConsole.Chart.Log(`[MinuteChartContainer::JsonDataToMinuteData] checkValue=${checkValue}, ${item.Close*0.13} `)
7777
- if(isSHSZ&&checkValue>item.Close*0.13)item.AvPrice=preAvPrice;//上次价格
7771
+ {item.Close=preClose;item.Open=item.High=item.Low=item.Close;}if(!item.AvPrice)item.AvPrice=preAvPrice;if(yClose&&item.Close)item.Increase=(item.Close-yClose)/yClose*100;//涨幅 (最新价格-昨收)/昨收*100;
7772
+ if(isFutures&&yClearing&&item.Close)item.Increase=(item.Close-yClearing)/yClearing*100;//涨幅 (最新价格-昨结算价)/昨结算价*100;
7773
+ //上次价格
7778
7774
  if(IFrameSplitOperator.IsNumber(jsData.price))preClose=jsData.price;if(IFrameSplitOperator.IsNumber(jsData.avprice)&&item.AvPrice===jsData.avprice)preAvPrice=jsData.avprice;if(jsData.ExtendData)item.ExtendData=jsData.ExtendData;//扩展数据
7779
7775
  aryMinuteData[i]=item;}return aryMinuteData;};//分钟增量数据 stock: [ { date:, yclose:, yclearing: , minute:[ [],]} 0=日期 1=时间 2=开 3=高 4=低 5=收 6=均价 7=量 8=金额 9=涨幅 10=涨跌 11=领先指标 ]
7780
7776
  MinuteChartContainer.JsonDataToUpdateMinuteData=function(data){if(!data||!data.stock)return null;var stock=data.stock[0];if(!IFrameSplitOperator.IsNumber(stock.date))return null;var symbol=data.stock[0].symbol;var upperSymbol=symbol.toUpperCase();var isSHSZ=MARKET_SUFFIX_NAME.IsSHSZ(upperSymbol);var minuteData={Date:stock.date,Data:[],Symbol:symbol,Name:stock.name};var extendDataIndex=JSCHART_DATA_FIELD_ID.MINUTE_DAY_EXTENDDATA;//扩展数据序号
@@ -7786,35 +7782,27 @@ MinuteChartContainer.JsonDataToMinuteDataArray=function(data){var symbol=data.sy
7786
7782
  var isSZO=MARKET_SUFFIX_NAME.IsSZO(upperSymbol);//深证股票期权
7787
7783
  var isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol);//国内期货, 纽约期货交易所
7788
7784
  var result=[];var extendDataIndex=JSCHART_DATA_FIELD_ID.MINUTE_MULTI_DAY_EXTENDDATA;//扩展数据序号
7789
- for(var i in data.data){var minuteData=[];var dayData=data.data[i];var date=dayData.date;var yClose=dayData.yclose;//前收盘 计算涨幅
7785
+ for(var i in data.data){var minuteData=[];var dayData=data.data[i];var date=dayData.date;var yClearing=dayData.yclearing;//昨结算价
7786
+ var yClose=dayData.yclose;//前收盘 计算涨幅
7790
7787
  var preClose=yClose;//前一个数据价格
7791
7788
  var preAvPrice=null;//上一个均价
7792
- var yClearing=dayData.yclearing;//昨结算价
7793
- //var preAvPrice=data.stock[0].yclose; //前一个均价
7789
+ if(isFutures&&yClearing)preClose=preAvPrice=yClearing;//期货使用昨结算价
7794
7790
  for(var j in dayData.minute){var jsData=dayData.minute[j];if(jsData[2])preClose=jsData[2];//保存上一个收盘数据
7795
- var item=new MinuteData();item.YClose=yClose;item.Close=jsData[2];item.Open=jsData[1];item.High=jsData[3];item.Low=jsData[4];if(isSHSZ)item.Vol=jsData[5]/100;//原始单位股
7791
+ var item=new MinuteData();item.YClearing=yClearing;item.YClose=yClose;item.Close=jsData[2];item.Open=jsData[1];item.High=jsData[3];item.Low=jsData[4];item.Increase=null;if(isSHSZ)item.Vol=jsData[5]/100;//原始单位股
7796
7792
  else item.Vol=jsData[5];item.Amount=jsData[6];if(7<jsData.length&&jsData[7]>0)item.AvPrice=jsData[7];//均价
7797
7793
  item.DateTime=date.toString()+" "+jsData[0].toString();item.Date=date;item.Time=jsData[0];if(8<jsData.length&&jsData[8]>0){item.Date=jsData[8];//日期
7798
7794
  item.DateTime=item.Date.toString()+" "+jsData[0].toString();}if((isFutures||isSHO||isSZO)&&9<jsData.length)item.Position=jsData[9];//持仓
7799
7795
  if(!IFrameSplitOperator.IsNumber(item.Close))//当前没有价格 使用上一个价格填充
7800
- {item.Close=preClose;item.Open=item.High=item.Low=item.Close;}if(!item.AvPrice&&preAvPrice)item.AvPrice=preAvPrice;if(item.Close&&yClose)item.Increase=(item.Close-yClose)/yClose*100;else item.Increase=null;//价格是0 都用空
7801
- //if (item.Open<=0) item.Open=null;
7802
- //if (item.Close<=0) item.Close=null;
7803
- //if (item.AvPrice<=0) item.AvPrice=null;
7804
- //if (item.High<=0) item.High=null;
7805
- //if (item.Low<=0) item.Low=null;
7806
- //if (item.AvPrice<=0) item.AvPrice=null;
7807
- //均价太大 可能是后台算错了
7808
- if(item.AvPrice&&isSHSZ){var checkValue=Math.abs(item.AvPrice-item.Close);if(checkValue>item.Close*0.13)item.AvPrice=preAvPrice;}if(jsData.length>7&&jsData[7]>0&&item.AvPrice===jsData[7])preAvPrice=jsData[7];if(jsData[extendDataIndex])item.ExtendData=jsData[extendDataIndex];minuteData[j]=item;}var newData=new ChartData();newData.Data=minuteData;newData.YClose=yClose;newData.Close=dayData.close;newData.Date=date;if(IFrameSplitOperator.IsNumber(yClearing))newData.YClearing=yClearing;result.push(newData);}return result;};MinuteChartContainer.JsonDataToHistoryMinuteLineColorData=function(data){if(!data)return null;var aryLineColor=[];for(var i in data.data){var dayData=data.data[i];if(!dayData.linecolor)continue;for(var j in dayData.linecolor.data){var item=dayData.linecolor.data[j];if(!IFrameSplitOperator.IsNumber(item.type)||!IFrameSplitOperator.IsNumber(item.date)||!IFrameSplitOperator.IsNumber(item.start)||!IFrameSplitOperator.IsNumber(item.end)||!item.color)continue;if(item.start>=item.end)continue;var newItem={Type:item.type,Date:item.date,Start:item.start,End:item.end,Color:item.color};if(IFrameSplitOperator.IsPlusNumber(item.linewidth))newItem.LineWidth=item.linewidth;aryLineColor.push(newItem);}}return aryLineColor.length>0?aryLineColor:null;};MinuteChartContainer.JsonDataToCallAuctionItem=function(data,callAuctionData,isBeforeOpen,symbol){var isSHSZ=false;if(symbol){var upperSymbol=symbol.toUpperCase();isSHSZ=MARKET_SUFFIX_NAME.IsSHSZ(upperSymbol);}var date=callAuctionData.Date;var yClose=callAuctionData.YClose;var extendDataIndex=isBeforeOpen?JSCHART_DATA_FIELD_ID.MINUTE_BEFOREOPEN_EXTENDDATA:JSCHART_DATA_FIELD_ID.MINUTE_AFTERCLOSE_EXTENDDATA;//扩展数据序号
7809
- if(callAuctionData.Ver==1.0){var preClose=null;for(var i in data){var item=isBeforeOpen?new BeforeOpenData():new AfterCloseData();var jsData=data[i];item.YClose=yClose;item.Time=jsData[0];item.Date=date;item.Price=jsData[1];if(!item.Price)item.Price=preClose;else preClose=item.Price;item.Vol[0]=isSHSZ?jsData[2]/100:jsData[2];//沪深股票原始单位股
7796
+ {item.Close=preClose;item.Open=item.High=item.Low=item.Close;}if(!item.AvPrice&&preAvPrice)item.AvPrice=preAvPrice;if(item.Close&&yClose)item.Increase=(item.Close-yClose)/yClose*100;if(item.Close&&yClearing&&isFutures)item.Increase=(item.Close-yClearing)/yClearing*100;if(jsData.length>7&&jsData[7]>0&&item.AvPrice===jsData[7])preAvPrice=jsData[7];if(jsData[extendDataIndex])item.ExtendData=jsData[extendDataIndex];minuteData[j]=item;}var newData=new ChartData();newData.Data=minuteData;newData.YClose=yClose;if(IFrameSplitOperator.IsNumber(yClearing))newData.YClearing=yClearing;newData.Close=dayData.close;newData.Date=date;result.push(newData);}return result;};MinuteChartContainer.JsonDataToHistoryMinuteLineColorData=function(data){if(!data)return null;var aryLineColor=[];for(var i in data.data){var dayData=data.data[i];if(!dayData.linecolor)continue;for(var j in dayData.linecolor.data){var item=dayData.linecolor.data[j];if(!IFrameSplitOperator.IsNumber(item.type)||!IFrameSplitOperator.IsNumber(item.date)||!IFrameSplitOperator.IsNumber(item.start)||!IFrameSplitOperator.IsNumber(item.end)||!item.color)continue;if(item.start>=item.end)continue;var newItem={Type:item.type,Date:item.date,Start:item.start,End:item.end,Color:item.color};if(IFrameSplitOperator.IsPlusNumber(item.linewidth))newItem.LineWidth=item.linewidth;aryLineColor.push(newItem);}}return aryLineColor.length>0?aryLineColor:null;};MinuteChartContainer.JsonDataToCallAuctionItem=function(data,callAuctionData,isBeforeOpen,symbol){var isSHSZ=false;if(symbol){var upperSymbol=symbol.toUpperCase();isSHSZ=MARKET_SUFFIX_NAME.IsSHSZ(upperSymbol);}var date=callAuctionData.Date;var yClose=callAuctionData.YClose;var yClearing=callAuctionData.YClearing;var extendDataIndex=isBeforeOpen?JSCHART_DATA_FIELD_ID.MINUTE_BEFOREOPEN_EXTENDDATA:JSCHART_DATA_FIELD_ID.MINUTE_AFTERCLOSE_EXTENDDATA;//扩展数据序号
7797
+ if(callAuctionData.Ver==1.0){var preClose=null;for(var i in data){var item=isBeforeOpen?new BeforeOpenData():new AfterCloseData();var jsData=data[i];item.YClose=yClose;item.YClearing=yClearing;item.Time=jsData[0];item.Date=date;item.Price=jsData[1];if(!item.Price)item.Price=preClose;else preClose=item.Price;item.Vol[0]=isSHSZ?jsData[2]/100:jsData[2];//沪深股票原始单位股
7810
7798
  item.Amount=jsData[3];if(IFrameSplitOperator.IsNumber(jsData[4]))//日期
7811
- item.Date=jsData[4];item.DateTime=item.Date+' '+item.Time;callAuctionData.Data.push(item);}}else if(callAuctionData.Ver==2.0){var max=0;for(var i in data){var item=isBeforeOpen?new BeforeOpenData():new AfterCloseData();var jsData=data[i];item.YClose=yClose;item.Time=jsData[0];item.Date=date;item.Price=jsData[1];item.Vol[0]=jsData[2];//匹配量
7799
+ item.Date=jsData[4];item.DateTime=item.Date+' '+item.Time;callAuctionData.Data.push(item);}}else if(callAuctionData.Ver==2.0){var max=0;for(var i in data){var item=isBeforeOpen?new BeforeOpenData():new AfterCloseData();var jsData=data[i];item.YClose=yClose;item.YClearing=yClearing;item.Time=jsData[0];item.Date=date;item.Price=jsData[1];item.Vol[0]=jsData[2];//匹配量
7812
7800
  item.Vol[1]=jsData[3];//未匹配量
7813
7801
  item.ColorID=jsData[4];//柱子颜色ID
7814
- item.DateTime=date.toString()+" "+item.Time.toString();var totalVol=item.Vol[0]+item.Vol[1];if(IFrameSplitOperator.IsNumber(jsData[5]))totalVol=jsData[5];if(totalVol>max)max=totalVol;if(jsData[extendDataIndex])item.ExtendData=jsData[extendDataIndex];callAuctionData.Data.push(item);}callAuctionData.VolMax=max;callAuctionData.VolMin=0;}else if(beforeOpenData.Ver==3.0){var max=0;for(var i in data){var item=isBeforeOpen?new BeforeOpenData():new AfterCloseData();var jsData=data[i];item.YClose=yClose;item.Time=jsData[0];item.Date=date;item.Price=jsData[1];item.AvPrice=jsData[2];//均价
7802
+ item.DateTime=date.toString()+" "+item.Time.toString();var totalVol=item.Vol[0]+item.Vol[1];if(IFrameSplitOperator.IsNumber(jsData[5]))totalVol=jsData[5];if(totalVol>max)max=totalVol;if(jsData[extendDataIndex])item.ExtendData=jsData[extendDataIndex];callAuctionData.Data.push(item);}callAuctionData.VolMax=max;callAuctionData.VolMin=0;}else if(beforeOpenData.Ver==3.0){var max=0;for(var i in data){var item=isBeforeOpen?new BeforeOpenData():new AfterCloseData();var jsData=data[i];item.YClose=yClose;item.YClearing=yClearing;item.Time=jsData[0];item.Date=date;item.Price=jsData[1];item.AvPrice=jsData[2];//均价
7815
7803
  item.Vol[0]=jsData[3];//匹配量
7816
7804
  item.ColorID=jsData[4];//柱子颜色ID
7817
- item.DateTime=date.toString()+" "+item.Time.toString();var totalVol=item.Vol[0];if(IFrameSplitOperator.IsNumber(jsData[5]))totalVol=jsData[5];if(totalVol>max)max=totalVol;if(jsData[extendDataIndex])item.ExtendData=jsData[extendDataIndex];callAuctionData.Data.push(item);}callAuctionData.VolMax=max;callAuctionData.VolMin=0;}};MinuteChartContainer.JosnDataToBeforeOpenDataArray=function(data){if(!data||!data.data)return null;var aryDay=[];for(var i in data.data){var dayItem=data.data[i];var beforeOpenData={Data:[],TotalCount:15,Ver:1.0,Date:dayItem.date,YClose:dayItem.yclose};if(dayItem.beforeinfo){if(IFrameSplitOperator.IsNumber(dayItem.beforeinfo.totalcount))beforeOpenData.TotalCount=dayItem.beforeinfo.totalcount;if(IFrameSplitOperator.IsNumber(dayItem.beforeinfo.ver))beforeOpenData.Ver=dayItem.beforeinfo.ver;}MinuteChartContainer.JsonDataToCallAuctionItem(dayItem.before,beforeOpenData,true,data.symbol);aryDay.push(beforeOpenData);}aryDay.sort(function(left,right){return left.Date-right.Date;});return aryDay;};MinuteChartContainer.JosnDataToAfterCloseDataArray=function(data){if(!data||!data.data)return null;var aryDay=[];for(var i in data.data){var dayItem=data.data[i];var afterCloseData={Data:[],TotalCount:15,Ver:1.0,Date:dayItem.date,YClose:dayItem.yclose};if(dayItem.afterinfo){if(IFrameSplitOperator.IsNumber(dayItem.afterinfo.totalcount))afterCloseData.TotalCount=dayItem.afterinfo.totalcount;if(IFrameSplitOperator.IsNumber(dayItem.afterinfo.ver))afterCloseData.Ver=dayItem.afterinfo.ver;}MinuteChartContainer.JsonDataToCallAuctionItem(dayItem.after,afterCloseData,false,data.symbol);aryDay.push(afterCloseData);}aryDay.sort(function(left,right){return left.Date-right.Date;});return aryDay;};/*
7805
+ item.DateTime=date.toString()+" "+item.Time.toString();var totalVol=item.Vol[0];if(IFrameSplitOperator.IsNumber(jsData[5]))totalVol=jsData[5];if(totalVol>max)max=totalVol;if(jsData[extendDataIndex])item.ExtendData=jsData[extendDataIndex];callAuctionData.Data.push(item);}callAuctionData.VolMax=max;callAuctionData.VolMin=0;}};MinuteChartContainer.JosnDataToBeforeOpenDataArray=function(data){if(!data||!data.data)return null;var aryDay=[];for(var i in data.data){var dayItem=data.data[i];var beforeOpenData={Data:[],TotalCount:15,Ver:1.0,Date:dayItem.date,YClose:dayItem.yclose,YClearing:dayItem.YClearing};if(dayItem.beforeinfo){if(IFrameSplitOperator.IsNumber(dayItem.beforeinfo.totalcount))beforeOpenData.TotalCount=dayItem.beforeinfo.totalcount;if(IFrameSplitOperator.IsNumber(dayItem.beforeinfo.ver))beforeOpenData.Ver=dayItem.beforeinfo.ver;}MinuteChartContainer.JsonDataToCallAuctionItem(dayItem.before,beforeOpenData,true,data.symbol);aryDay.push(beforeOpenData);}aryDay.sort(function(left,right){return left.Date-right.Date;});return aryDay;};MinuteChartContainer.JosnDataToAfterCloseDataArray=function(data){if(!data||!data.data)return null;var aryDay=[];for(var i in data.data){var dayItem=data.data[i];var afterCloseData={Data:[],TotalCount:15,Ver:1.0,Date:dayItem.date,YClose:dayItem.yclose,YClearing:dayItem.YClearing};if(dayItem.afterinfo){if(IFrameSplitOperator.IsNumber(dayItem.afterinfo.totalcount))afterCloseData.TotalCount=dayItem.afterinfo.totalcount;if(IFrameSplitOperator.IsNumber(dayItem.afterinfo.ver))afterCloseData.Ver=dayItem.afterinfo.ver;}MinuteChartContainer.JsonDataToCallAuctionItem(dayItem.after,afterCloseData,false,data.symbol);aryDay.push(afterCloseData);}aryDay.sort(function(left,right){return left.Date-right.Date;});return aryDay;};/*
7818
7806
  历史分钟走势图
7819
7807
  */function HistoryMinuteChartContainer(uielement){this.newMethod=MinuteChartContainer;//派生
7820
7808
  this.newMethod(uielement);delete this.newMethod;this.HistoryMinuteApiUrl="http://127.0.0.1:8080/cache/minuteday/day/";this.ClassName='HistoryMinuteChartContainer';//创建主图K线画法
@@ -8669,7 +8657,7 @@ IsET:function IsET(upperSymbol){if(!upperSymbol)return false;return upperSymbol.
8669
8657
  var pos=upperSymbol.length-this.SH.length;var find=upperSymbol.indexOf(this.SH);return find==pos;},IsSZ:function IsSZ(upperSymbol){var pos=upperSymbol.length-this.SZ.length;var find=upperSymbol.indexOf(this.SZ);return find==pos;},IsBJ:function IsBJ(upperSymbol){var pos=upperSymbol.length-this.BJ.length;var find=upperSymbol.indexOf(this.BJ);return find==pos;},//自定义指数
8670
8658
  IsSHSZCustomIndex:function IsSHSZCustomIndex(upperSymbol){var pos=upperSymbol.length-this.SHSZ_C_Index.length;var find=upperSymbol.indexOf(this.SHSZ_C_Index);return find==pos;},IsSHO:function IsSHO(upperSymbol){var pos=upperSymbol.length-this.SHO.length;var find=upperSymbol.indexOf(this.SHO);return find==pos;},IsSZO:function IsSZO(upperSymbol){var pos=upperSymbol.length-this.SZO.length;var find=upperSymbol.indexOf(this.SZO);return find==pos;},IsHK:function IsHK(upperSymbol){var pos=upperSymbol.length-this.HK.length;var find=upperSymbol.indexOf(this.HK);return find==pos;},IsTW:function IsTW(upperSymbol){var pos=upperSymbol.length-this.TW.length;var find=upperSymbol.indexOf(this.TW);return find==pos;},IsJP:function IsJP(upperSymbol){var pos=upperSymbol.length-this.JP.length;var find=upperSymbol.indexOf(this.JP);return find==pos;},IsSHFE:function IsSHFE(upperSymbol){if(!upperSymbol)return false;if(upperSymbol.indexOf(this.SHFE)>0)return true;if(upperSymbol.indexOf(this.SHFE2)>0)return true;return false;},IsCFFEX:function IsCFFEX(upperSymbol){if(!upperSymbol)return false;if(upperSymbol.indexOf(this.CFFEX)>0)return true;return false;},IsDCE:function IsDCE(upperSymbol){if(!upperSymbol)return false;return upperSymbol.indexOf(this.DCE)>0;},IsCZCE:function IsCZCE(upperSymbol){if(!upperSymbol)return false;return upperSymbol.indexOf(this.CZCE)>0;},IsGZFE:function IsGZFE(upperSymbol){if(!upperSymbol)return false;return upperSymbol.indexOf(this.GZFE)>0;},IsChinaFutures:function IsChinaFutures(upperSymbol)//是否是国内期货 /期权
8671
8659
  {return this.IsSHO(upperSymbol)||this.IsSZO(upperSymbol)||this.IsGZFE(upperSymbol)||this.IsCFFEX(upperSymbol)||this.IsCZCE(upperSymbol)||this.IsDCE(upperSymbol)||this.IsSHFE(upperSymbol);},IsFutures:function IsFutures(upperSymbol)//是否是期货 包含国外的
8672
- {return this.IsChinaFutures(upperSymbol)||this.IsNYMEX(upperSymbol)||this.IsCOMEX(upperSymbol)||this.IsNYBOT(upperSymbol)||this.IsCBOT(upperSymbol)||this.IsLME(upperSymbol)||this.IsTOCOM(upperSymbol);},IsSHSZ:function IsSHSZ(upperSymbol)//是否是沪深的股票
8660
+ {if(!upperSymbol)return false;return this.IsChinaFutures(upperSymbol)||this.IsNYMEX(upperSymbol)||this.IsCOMEX(upperSymbol)||this.IsNYBOT(upperSymbol)||this.IsCBOT(upperSymbol)||this.IsLME(upperSymbol)||this.IsTOCOM(upperSymbol);},IsSHSZ:function IsSHSZ(upperSymbol)//是否是沪深的股票
8673
8661
  {return this.IsSZ(upperSymbol)||this.IsSH(upperSymbol)||this.IsSHSZCustomIndex(upperSymbol);},IsSHSZFund:function IsSHSZFund(upperSymbol)//是否是交易所基金
8674
8662
  {if(!upperSymbol)return false;if(this.IsSH(upperSymbol))//51XXXX.SH
8675
8663
  {if(upperSymbol.charAt(0)=='5'&&upperSymbol.charAt(1)=='1')return true;}else if(this.IsSZ(upperSymbol))//15XXXX.sz, 16XXXX.sz, 17XXXX.sz, 18XXXX.sz
@@ -12478,7 +12466,7 @@ this.AreaColor=g_JSChartResource.ScrollBar.BGChart.AreaColor;//面积图颜色
12478
12466
  };this.Draw=function(){if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return;this.Canvas.save();if(this.LineWidth>0)this.Canvas.lineWidth=this.LineWidth*GetDevicePixelRatio();var bottom=this.ChartBorder.GetBottom();this.Canvas.strokeStyle=this.Color;var bFirstPoint=true;var drawCount=0,x,y;var firstPoint={};for(var i=0;i<this.Data.Data.length;++i){var item=this.Data.Data[i];var value=item.Close;if(!IFrameSplitOperator.IsNumber(value))continue;x=this.ChartFrame.GetXFromIndex(i);y=this.ChartFrame.GetYFromData(value);if(bFirstPoint){this.Canvas.beginPath();this.Canvas.moveTo(x,y);bFirstPoint=false;firstPoint={X:x,Y:y};}else{this.Canvas.lineTo(x,y);}++drawCount;}if(drawCount>0){this.Canvas.stroke();this.Canvas.lineTo(x,bottom);this.Canvas.lineTo(firstPoint.X,bottom);this.Canvas.closePath();this.Canvas.fillStyle=this.AreaColor;this.Canvas.fill();}this.Canvas.restore();};this.GetMaxMin=function(){var range={Max:null,Min:null};if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return range;for(var i=0;i<this.Data.Data.length;++i){var item=this.Data.Data[i];var value=item.Close;if(!IFrameSplitOperator.IsNumber(value))continue;if(range.Max==null||range.Max<value)range.Max=value;if(range.Min==null||range.Min>value)range.Min=value;}return range;};}/********************************************************************************
12479
12467
  * 版本信息输出
12480
12468
  *
12481
- */var HQCHART_VERSION="1.1.12454";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();//把给外界调用的方法暴露出来
12469
+ */var HQCHART_VERSION="1.1.12464";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();//把给外界调用的方法暴露出来
12482
12470
  exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
12483
12471
  // BaseIndex:BaseIndex,
12484
12472
  // 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.12455",
5
+ "version": "1.1.12463",
6
6
  "main": "lib/main.js",
7
7
  "private": false,
8
8
  "license": "Apache License 2.0",
@@ -1586,6 +1586,8 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
1586
1586
 
1587
1587
  if (!chart) return false;
1588
1588
 
1589
+ this.JSChartContainer=chart;
1590
+
1589
1591
  if (option.OnCreatedCallback) option.OnCreatedCallback(chart);
1590
1592
 
1591
1593
  //是否自动更新
@@ -38013,9 +38015,13 @@ function MinuteTooltipPaint()
38013
38015
  }
38014
38016
 
38015
38017
  var upperSymbol;
38016
- this.YClose=this.TitlePaint.YClose;
38017
38018
  if (this.HQChart.Symbol) upperSymbol=this.HQChart.Symbol.toUpperCase();
38019
+ var isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol); //国内期货, 纽约期货交易所
38018
38020
  var defaultfloatPrecision=GetfloatPrecision(this.HQChart.Symbol);//价格小数位数
38021
+
38022
+ this.YClose=this.TitlePaint.YClose;
38023
+ this.YClose=item.YClose;
38024
+ if (isFutures && IFrameSplitOperator.IsNumber(item.YClearing)) this.YClose=item.YClearing;
38019
38025
 
38020
38026
  var aryText=[];
38021
38027
  var result={ AryText:aryText };
@@ -38350,13 +38356,19 @@ function MinuteLeftTooltipPaint()
38350
38356
  if (!drawData || !drawData.Data) return null;
38351
38357
 
38352
38358
  var aryText=[];
38359
+ var isFutures=false;
38353
38360
  var upperSymbol;
38354
38361
  if (this.HQChart.Symbol) upperSymbol=this.HQChart.Symbol.toUpperCase();
38355
38362
  var defaultfloatPrecision=GetfloatPrecision(upperSymbol);//价格小数位数
38363
+ if (upperSymbol) isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol); //国内期货, 纽约期货交易所
38356
38364
 
38357
38365
  if (drawData.Type==0) //连续交易
38358
38366
  {
38359
38367
  var item=drawData.Data;
38368
+ if (!item) return;
38369
+
38370
+ this.YClose=item.YClose;
38371
+ if (isFutures && IFrameSplitOperator.IsNumber(item.YClearing)) this.YClose=item.YClearing;
38360
38372
  var titleItem=this.FormatDate(item.Date);
38361
38373
  if (titleItem) aryText.push(titleItem);
38362
38374
 
@@ -38392,6 +38404,9 @@ function MinuteLeftTooltipPaint()
38392
38404
  {
38393
38405
  var item=drawData.Data.Data;
38394
38406
  if (!item) return;
38407
+
38408
+ this.YClose=item.YClose;
38409
+ if (isFutures && IFrameSplitOperator.IsNumber(item.YClearing)) this.YClose=item.YClearing;
38395
38410
  var titleItem=this.FormatDate(item.Date);
38396
38411
  if (titleItem) aryText.push(titleItem);
38397
38412
 
@@ -48083,7 +48098,10 @@ function DynamicMinuteTitlePainting()
48083
48098
  {
48084
48099
  if (!data || !data.Data) return;
48085
48100
 
48086
- var defaultfloatPrecision=GetfloatPrecision(this.Symbol);//价格小数位数
48101
+ var upperSymbol=this.Symbol.toUpperCase();
48102
+ var defaultfloatPrecision=GetfloatPrecision(this.Symbol); //价格小数位数
48103
+ var isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol); //国内期货, 纽约期货交易所
48104
+
48087
48105
  var item=data.Data;
48088
48106
  var isLastOne=data.IsLastOne;
48089
48107
  var aryText=[]; //{Color:, Text: }
@@ -48129,6 +48147,8 @@ function DynamicMinuteTitlePainting()
48129
48147
  var amount=item.Amount;
48130
48148
  var yClose=item.YClose;
48131
48149
  if (!IFrameSplitOperator.IsNumber(yClose)) yClose=this.YClose;
48150
+ if (isFutures && IFrameSplitOperator.IsNumber(item.YClearing)) yClose=item.YClearing; //期货使用昨结算
48151
+
48132
48152
 
48133
48153
  if (IFrameSplitOperator.IsNumber(close))
48134
48154
  {
@@ -48275,7 +48295,7 @@ function DynamicMinuteTitlePainting()
48275
48295
  var text, strTime, strDate;
48276
48296
  strDate=IFrameSplitOperator.FormatDateString(item.Date);
48277
48297
  var yClose=item.YClose;
48278
-
48298
+
48279
48299
  //时间
48280
48300
  if (data.Ver==1.0) strTime=IFrameSplitOperator.FormatTimeString(item.Time,"HH:MM");
48281
48301
  else strTime=IFrameSplitOperator.FormatTimeString(item.Time,"HH:MM:SS");
@@ -70924,9 +70944,9 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
70924
70944
  {
70925
70945
  if (self.ChartCorssCursor.IsShow === true) //移动十字光标
70926
70946
  {
70927
- var pixelTatio = GetDevicePixelRatio();
70928
- var x = drag.Click.X-uielement.getBoundingClientRect().left*pixelTatio;
70929
- var y = drag.Click.Y-uielement.getBoundingClientRect().top*pixelTatio;
70947
+ var pt=self.PointAbsoluteToRelative(drag.Click.X, drag.Click.Y, true);
70948
+ var x = pt.X;
70949
+ var y = pt.Y
70930
70950
  self.OnMouseMove(x, y, e);
70931
70951
  }
70932
70952
  }
@@ -74936,7 +74956,9 @@ MinuteChartContainer.JsonDataToMinuteData=function(data,isBeforeData)
74936
74956
  var preClose=data.stock[0].yclose; //前一个数据价格
74937
74957
  var preAvPrice=data.stock[0].yclose; //前一个均价
74938
74958
  var yClose=data.stock[0].yclose;
74939
- if (isFutures && data.stock[0].yclearing) yClose=preClose=preAvPrice=data.stock[0].yclearing; //期货使用昨结算价
74959
+ var yClearing=data.stock[0].yclearing;
74960
+
74961
+ if (isFutures && yClearing) preClose=preAvPrice=yClearing; //期货使用昨结算价
74940
74962
 
74941
74963
  if (!IFrameSplitOperator.IsNonEmptyArray(data.stock[0].minute)) return aryMinuteData;
74942
74964
 
@@ -74945,7 +74967,7 @@ MinuteChartContainer.JsonDataToMinuteData=function(data,isBeforeData)
74945
74967
  {
74946
74968
  var jsData=data.stock[0].minute[i];
74947
74969
  var item=new MinuteData();
74948
-
74970
+ item.YClearing=yClearing;
74949
74971
  item.YClose=yClose;
74950
74972
  item.Close=jsData.price;
74951
74973
  item.Open=jsData.open;
@@ -74976,24 +74998,11 @@ MinuteChartContainer.JsonDataToMinuteData=function(data,isBeforeData)
74976
74998
 
74977
74999
  if (!item.AvPrice) item.AvPrice=preAvPrice;
74978
75000
 
74979
- //价格是0的 都用空
74980
- //if (item.Open<=0) item.Open=null;
74981
- //if (item.Close<=0) item.Close=null;
74982
- //if (item.AvPrice<=0) item.AvPrice=null;
74983
- //if (item.High<=0) item.High=null;
74984
- //if (item.Low<=0) item.Low=null;
74985
-
74986
- //if (isFutures) item.AvPrice=null; //期货均价暂时没有
74987
-
74988
75001
  if (yClose && item.Close)
74989
75002
  item.Increase=(item.Close-yClose)/yClose*100; //涨幅 (最新价格-昨收)/昨收*100;
74990
75003
 
74991
-
74992
- //均价太大 可能是后台算错了
74993
- var checkValue=Math.abs(item.AvPrice-item.Close);
74994
- //JSConsole.Chart.Log(`[MinuteChartContainer::JsonDataToMinuteData] checkValue=${checkValue}, ${item.Close*0.13} `)
74995
- if (isSHSZ && checkValue>item.Close*0.13 )
74996
- item.AvPrice=preAvPrice;
75004
+ if (isFutures && yClearing && item.Close)
75005
+ item.Increase=(item.Close-yClearing)/yClearing*100; //涨幅 (最新价格-昨结算价)/昨结算价*100;
74997
75006
 
74998
75007
  //上次价格
74999
75008
  if (IFrameSplitOperator.IsNumber(jsData.price)) preClose=jsData.price;
@@ -75107,7 +75116,7 @@ MinuteChartContainer.JsonDataToMinuteDataArray=function(data)
75107
75116
  var symbol=data.symbol;
75108
75117
  var upperSymbol=symbol.toUpperCase();
75109
75118
  var isSHSZ=MARKET_SUFFIX_NAME.IsSHSZ(upperSymbol);
75110
- var isSHO=MARKET_SUFFIX_NAME.IsSHO(upperSymbol); //上海股票期权
75119
+ var isSHO=MARKET_SUFFIX_NAME.IsSHO(upperSymbol); //上海股票期权
75111
75120
  var isSZO=MARKET_SUFFIX_NAME.IsSZO(upperSymbol); //深证股票期权
75112
75121
  var isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol); //国内期货, 纽约期货交易所
75113
75122
  var result=[];
@@ -75117,22 +75126,25 @@ MinuteChartContainer.JsonDataToMinuteDataArray=function(data)
75117
75126
  var minuteData=[];
75118
75127
  var dayData=data.data[i];
75119
75128
  var date=dayData.date;
75129
+ var yClearing=dayData.yclearing; //昨结算价
75120
75130
  var yClose=dayData.yclose; //前收盘 计算涨幅
75121
75131
  var preClose=yClose; //前一个数据价格
75122
75132
  var preAvPrice=null; //上一个均价
75123
- var yClearing=dayData.yclearing; //昨结算价
75124
75133
 
75125
- //var preAvPrice=data.stock[0].yclose; //前一个均价
75134
+ if (isFutures && yClearing) preClose=preAvPrice=yClearing; //期货使用昨结算价
75135
+
75126
75136
  for(var j in dayData.minute)
75127
75137
  {
75128
75138
  var jsData=dayData.minute[j];
75129
75139
  if (jsData[2]) preClose=jsData[2]; //保存上一个收盘数据
75130
75140
  var item=new MinuteData();
75141
+ item.YClearing=yClearing;
75131
75142
  item.YClose=yClose;
75132
75143
  item.Close=jsData[2];
75133
75144
  item.Open=jsData[1];
75134
75145
  item.High=jsData[3];
75135
75146
  item.Low=jsData[4];
75147
+ item.Increase=null;
75136
75148
  if (isSHSZ) item.Vol=jsData[5]/100; //原始单位股
75137
75149
  else item.Vol=jsData[5];
75138
75150
  item.Amount=jsData[6];
@@ -75155,23 +75167,12 @@ MinuteChartContainer.JsonDataToMinuteDataArray=function(data)
75155
75167
 
75156
75168
  if (!item.AvPrice && preAvPrice) item.AvPrice=preAvPrice;
75157
75169
 
75158
- if (item.Close && yClose) item.Increase = (item.Close - yClose)/yClose*100;
75159
- else item.Increase=null;
75170
+ if (item.Close && yClose)
75171
+ item.Increase = (item.Close - yClose)/yClose*100;
75160
75172
 
75161
- //价格是0的 都用空
75162
- //if (item.Open<=0) item.Open=null;
75163
- //if (item.Close<=0) item.Close=null;
75164
- //if (item.AvPrice<=0) item.AvPrice=null;
75165
- //if (item.High<=0) item.High=null;
75166
- //if (item.Low<=0) item.Low=null;
75167
- //if (item.AvPrice<=0) item.AvPrice=null;
75168
-
75169
- //均价太大 可能是后台算错了
75170
- if (item.AvPrice && isSHSZ)
75171
- {
75172
- var checkValue=Math.abs(item.AvPrice-item.Close);
75173
- if (checkValue>item.Close*0.13 ) item.AvPrice=preAvPrice;
75174
- }
75173
+ if (item.Close && yClearing && isFutures)
75174
+ item.Increase = (item.Close - yClearing)/yClearing*100;
75175
+
75175
75176
 
75176
75177
  if (jsData.length>7 && jsData[7]>0 && item.AvPrice===jsData[7]) preAvPrice=jsData[7];
75177
75178
  if (jsData[extendDataIndex]) item.ExtendData=jsData[extendDataIndex];
@@ -75182,9 +75183,9 @@ MinuteChartContainer.JsonDataToMinuteDataArray=function(data)
75182
75183
  var newData=new ChartData();
75183
75184
  newData.Data=minuteData;
75184
75185
  newData.YClose=yClose;
75186
+ if (IFrameSplitOperator.IsNumber(yClearing)) newData.YClearing=yClearing;
75185
75187
  newData.Close=dayData.close;
75186
75188
  newData.Date=date;
75187
- if (IFrameSplitOperator.IsNumber(yClearing)) newData.YClearing=yClearing;
75188
75189
 
75189
75190
  result.push(newData);
75190
75191
  }
@@ -75233,6 +75234,7 @@ MinuteChartContainer.JsonDataToCallAuctionItem=function(data, callAuctionData, i
75233
75234
 
75234
75235
  var date=callAuctionData.Date;
75235
75236
  var yClose=callAuctionData.YClose;
75237
+ var yClearing=callAuctionData.YClearing;
75236
75238
  var extendDataIndex=isBeforeOpen? JSCHART_DATA_FIELD_ID.MINUTE_BEFOREOPEN_EXTENDDATA:JSCHART_DATA_FIELD_ID.MINUTE_AFTERCLOSE_EXTENDDATA; //扩展数据序号
75237
75239
  if (callAuctionData.Ver==1.0)
75238
75240
  {
@@ -75242,6 +75244,7 @@ MinuteChartContainer.JsonDataToCallAuctionItem=function(data, callAuctionData, i
75242
75244
  var item=isBeforeOpen? new BeforeOpenData() : new AfterCloseData();
75243
75245
  var jsData=data[i];
75244
75246
  item.YClose=yClose;
75247
+ item.YClearing=yClearing;
75245
75248
  item.Time=jsData[0];
75246
75249
  item.Date=date;
75247
75250
  item.Price=jsData[1];
@@ -75265,6 +75268,7 @@ MinuteChartContainer.JsonDataToCallAuctionItem=function(data, callAuctionData, i
75265
75268
  var item=isBeforeOpen? new BeforeOpenData() : new AfterCloseData();
75266
75269
  var jsData=data[i];
75267
75270
  item.YClose=yClose;
75271
+ item.YClearing=yClearing;
75268
75272
  item.Time=jsData[0];
75269
75273
  item.Date=date;
75270
75274
  item.Price=jsData[1];
@@ -75292,6 +75296,7 @@ MinuteChartContainer.JsonDataToCallAuctionItem=function(data, callAuctionData, i
75292
75296
  var item=isBeforeOpen? new BeforeOpenData() : new AfterCloseData();
75293
75297
  var jsData=data[i];
75294
75298
  item.YClose=yClose;
75299
+ item.YClearing=yClearing;
75295
75300
  item.Time=jsData[0];
75296
75301
  item.Date=date;
75297
75302
  item.Price=jsData[1];
@@ -75321,7 +75326,7 @@ MinuteChartContainer.JosnDataToBeforeOpenDataArray=function(data)
75321
75326
  for(var i in data.data)
75322
75327
  {
75323
75328
  var dayItem=data.data[i];
75324
- var beforeOpenData={ Data:[], TotalCount:15, Ver:1.0, Date:dayItem.date, YClose:dayItem.yclose };
75329
+ var beforeOpenData={ Data:[], TotalCount:15, Ver:1.0, Date:dayItem.date, YClose:dayItem.yclose, YClearing:dayItem.YClearing };
75325
75330
  if (dayItem.beforeinfo)
75326
75331
  {
75327
75332
  if (IFrameSplitOperator.IsNumber(dayItem.beforeinfo.totalcount)) beforeOpenData.TotalCount=dayItem.beforeinfo.totalcount;
@@ -75346,7 +75351,7 @@ MinuteChartContainer.JosnDataToAfterCloseDataArray=function(data)
75346
75351
  for(var i in data.data)
75347
75352
  {
75348
75353
  var dayItem=data.data[i];
75349
- var afterCloseData={ Data:[], TotalCount:15, Ver:1.0, Date:dayItem.date, YClose:dayItem.yclose };
75354
+ var afterCloseData={ Data:[], TotalCount:15, Ver:1.0, Date:dayItem.date, YClose:dayItem.yclose, YClearing:dayItem.YClearing };
75350
75355
 
75351
75356
  if (dayItem.afterinfo)
75352
75357
  {
@@ -84465,6 +84470,8 @@ var MARKET_SUFFIX_NAME=
84465
84470
 
84466
84471
  IsFutures:function(upperSymbol) //是否是期货 包含国外的
84467
84472
  {
84473
+ if (!upperSymbol) return false;
84474
+
84468
84475
  return this.IsChinaFutures(upperSymbol) ||
84469
84476
  this.IsNYMEX(upperSymbol) || this.IsCOMEX(upperSymbol) || this.IsNYBOT(upperSymbol) || this.IsCBOT(upperSymbol) ||
84470
84477
  this.IsLME(upperSymbol) || this.IsTOCOM(upperSymbol);
@@ -5666,6 +5666,8 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
5666
5666
 
5667
5667
  if (!chart) return false;
5668
5668
 
5669
+ this.JSChartContainer=chart;
5670
+
5669
5671
  if (option.OnCreatedCallback) option.OnCreatedCallback(chart);
5670
5672
 
5671
5673
  //是否自动更新
@@ -42093,9 +42095,13 @@ function MinuteTooltipPaint()
42093
42095
  }
42094
42096
 
42095
42097
  var upperSymbol;
42096
- this.YClose=this.TitlePaint.YClose;
42097
42098
  if (this.HQChart.Symbol) upperSymbol=this.HQChart.Symbol.toUpperCase();
42099
+ var isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol); //国内期货, 纽约期货交易所
42098
42100
  var defaultfloatPrecision=GetfloatPrecision(this.HQChart.Symbol);//价格小数位数
42101
+
42102
+ this.YClose=this.TitlePaint.YClose;
42103
+ this.YClose=item.YClose;
42104
+ if (isFutures && IFrameSplitOperator.IsNumber(item.YClearing)) this.YClose=item.YClearing;
42099
42105
 
42100
42106
  var aryText=[];
42101
42107
  var result={ AryText:aryText };
@@ -42430,13 +42436,19 @@ function MinuteLeftTooltipPaint()
42430
42436
  if (!drawData || !drawData.Data) return null;
42431
42437
 
42432
42438
  var aryText=[];
42439
+ var isFutures=false;
42433
42440
  var upperSymbol;
42434
42441
  if (this.HQChart.Symbol) upperSymbol=this.HQChart.Symbol.toUpperCase();
42435
42442
  var defaultfloatPrecision=GetfloatPrecision(upperSymbol);//价格小数位数
42443
+ if (upperSymbol) isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol); //国内期货, 纽约期货交易所
42436
42444
 
42437
42445
  if (drawData.Type==0) //连续交易
42438
42446
  {
42439
42447
  var item=drawData.Data;
42448
+ if (!item) return;
42449
+
42450
+ this.YClose=item.YClose;
42451
+ if (isFutures && IFrameSplitOperator.IsNumber(item.YClearing)) this.YClose=item.YClearing;
42440
42452
  var titleItem=this.FormatDate(item.Date);
42441
42453
  if (titleItem) aryText.push(titleItem);
42442
42454
 
@@ -42472,6 +42484,9 @@ function MinuteLeftTooltipPaint()
42472
42484
  {
42473
42485
  var item=drawData.Data.Data;
42474
42486
  if (!item) return;
42487
+
42488
+ this.YClose=item.YClose;
42489
+ if (isFutures && IFrameSplitOperator.IsNumber(item.YClearing)) this.YClose=item.YClearing;
42475
42490
  var titleItem=this.FormatDate(item.Date);
42476
42491
  if (titleItem) aryText.push(titleItem);
42477
42492
 
@@ -52163,7 +52178,10 @@ function DynamicMinuteTitlePainting()
52163
52178
  {
52164
52179
  if (!data || !data.Data) return;
52165
52180
 
52166
- var defaultfloatPrecision=GetfloatPrecision(this.Symbol);//价格小数位数
52181
+ var upperSymbol=this.Symbol.toUpperCase();
52182
+ var defaultfloatPrecision=GetfloatPrecision(this.Symbol); //价格小数位数
52183
+ var isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol); //国内期货, 纽约期货交易所
52184
+
52167
52185
  var item=data.Data;
52168
52186
  var isLastOne=data.IsLastOne;
52169
52187
  var aryText=[]; //{Color:, Text: }
@@ -52209,6 +52227,8 @@ function DynamicMinuteTitlePainting()
52209
52227
  var amount=item.Amount;
52210
52228
  var yClose=item.YClose;
52211
52229
  if (!IFrameSplitOperator.IsNumber(yClose)) yClose=this.YClose;
52230
+ if (isFutures && IFrameSplitOperator.IsNumber(item.YClearing)) yClose=item.YClearing; //期货使用昨结算
52231
+
52212
52232
 
52213
52233
  if (IFrameSplitOperator.IsNumber(close))
52214
52234
  {
@@ -52355,7 +52375,7 @@ function DynamicMinuteTitlePainting()
52355
52375
  var text, strTime, strDate;
52356
52376
  strDate=IFrameSplitOperator.FormatDateString(item.Date);
52357
52377
  var yClose=item.YClose;
52358
-
52378
+
52359
52379
  //时间
52360
52380
  if (data.Ver==1.0) strTime=IFrameSplitOperator.FormatTimeString(item.Time,"HH:MM");
52361
52381
  else strTime=IFrameSplitOperator.FormatTimeString(item.Time,"HH:MM:SS");
@@ -75004,9 +75024,9 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
75004
75024
  {
75005
75025
  if (self.ChartCorssCursor.IsShow === true) //移动十字光标
75006
75026
  {
75007
- var pixelTatio = GetDevicePixelRatio();
75008
- var x = drag.Click.X-uielement.getBoundingClientRect().left*pixelTatio;
75009
- var y = drag.Click.Y-uielement.getBoundingClientRect().top*pixelTatio;
75027
+ var pt=self.PointAbsoluteToRelative(drag.Click.X, drag.Click.Y, true);
75028
+ var x = pt.X;
75029
+ var y = pt.Y
75010
75030
  self.OnMouseMove(x, y, e);
75011
75031
  }
75012
75032
  }
@@ -79016,7 +79036,9 @@ MinuteChartContainer.JsonDataToMinuteData=function(data,isBeforeData)
79016
79036
  var preClose=data.stock[0].yclose; //前一个数据价格
79017
79037
  var preAvPrice=data.stock[0].yclose; //前一个均价
79018
79038
  var yClose=data.stock[0].yclose;
79019
- if (isFutures && data.stock[0].yclearing) yClose=preClose=preAvPrice=data.stock[0].yclearing; //期货使用昨结算价
79039
+ var yClearing=data.stock[0].yclearing;
79040
+
79041
+ if (isFutures && yClearing) preClose=preAvPrice=yClearing; //期货使用昨结算价
79020
79042
 
79021
79043
  if (!IFrameSplitOperator.IsNonEmptyArray(data.stock[0].minute)) return aryMinuteData;
79022
79044
 
@@ -79025,7 +79047,7 @@ MinuteChartContainer.JsonDataToMinuteData=function(data,isBeforeData)
79025
79047
  {
79026
79048
  var jsData=data.stock[0].minute[i];
79027
79049
  var item=new MinuteData();
79028
-
79050
+ item.YClearing=yClearing;
79029
79051
  item.YClose=yClose;
79030
79052
  item.Close=jsData.price;
79031
79053
  item.Open=jsData.open;
@@ -79056,24 +79078,11 @@ MinuteChartContainer.JsonDataToMinuteData=function(data,isBeforeData)
79056
79078
 
79057
79079
  if (!item.AvPrice) item.AvPrice=preAvPrice;
79058
79080
 
79059
- //价格是0的 都用空
79060
- //if (item.Open<=0) item.Open=null;
79061
- //if (item.Close<=0) item.Close=null;
79062
- //if (item.AvPrice<=0) item.AvPrice=null;
79063
- //if (item.High<=0) item.High=null;
79064
- //if (item.Low<=0) item.Low=null;
79065
-
79066
- //if (isFutures) item.AvPrice=null; //期货均价暂时没有
79067
-
79068
79081
  if (yClose && item.Close)
79069
79082
  item.Increase=(item.Close-yClose)/yClose*100; //涨幅 (最新价格-昨收)/昨收*100;
79070
79083
 
79071
-
79072
- //均价太大 可能是后台算错了
79073
- var checkValue=Math.abs(item.AvPrice-item.Close);
79074
- //JSConsole.Chart.Log(`[MinuteChartContainer::JsonDataToMinuteData] checkValue=${checkValue}, ${item.Close*0.13} `)
79075
- if (isSHSZ && checkValue>item.Close*0.13 )
79076
- item.AvPrice=preAvPrice;
79084
+ if (isFutures && yClearing && item.Close)
79085
+ item.Increase=(item.Close-yClearing)/yClearing*100; //涨幅 (最新价格-昨结算价)/昨结算价*100;
79077
79086
 
79078
79087
  //上次价格
79079
79088
  if (IFrameSplitOperator.IsNumber(jsData.price)) preClose=jsData.price;
@@ -79187,7 +79196,7 @@ MinuteChartContainer.JsonDataToMinuteDataArray=function(data)
79187
79196
  var symbol=data.symbol;
79188
79197
  var upperSymbol=symbol.toUpperCase();
79189
79198
  var isSHSZ=MARKET_SUFFIX_NAME.IsSHSZ(upperSymbol);
79190
- var isSHO=MARKET_SUFFIX_NAME.IsSHO(upperSymbol); //上海股票期权
79199
+ var isSHO=MARKET_SUFFIX_NAME.IsSHO(upperSymbol); //上海股票期权
79191
79200
  var isSZO=MARKET_SUFFIX_NAME.IsSZO(upperSymbol); //深证股票期权
79192
79201
  var isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol); //国内期货, 纽约期货交易所
79193
79202
  var result=[];
@@ -79197,22 +79206,25 @@ MinuteChartContainer.JsonDataToMinuteDataArray=function(data)
79197
79206
  var minuteData=[];
79198
79207
  var dayData=data.data[i];
79199
79208
  var date=dayData.date;
79209
+ var yClearing=dayData.yclearing; //昨结算价
79200
79210
  var yClose=dayData.yclose; //前收盘 计算涨幅
79201
79211
  var preClose=yClose; //前一个数据价格
79202
79212
  var preAvPrice=null; //上一个均价
79203
- var yClearing=dayData.yclearing; //昨结算价
79204
79213
 
79205
- //var preAvPrice=data.stock[0].yclose; //前一个均价
79214
+ if (isFutures && yClearing) preClose=preAvPrice=yClearing; //期货使用昨结算价
79215
+
79206
79216
  for(var j in dayData.minute)
79207
79217
  {
79208
79218
  var jsData=dayData.minute[j];
79209
79219
  if (jsData[2]) preClose=jsData[2]; //保存上一个收盘数据
79210
79220
  var item=new MinuteData();
79221
+ item.YClearing=yClearing;
79211
79222
  item.YClose=yClose;
79212
79223
  item.Close=jsData[2];
79213
79224
  item.Open=jsData[1];
79214
79225
  item.High=jsData[3];
79215
79226
  item.Low=jsData[4];
79227
+ item.Increase=null;
79216
79228
  if (isSHSZ) item.Vol=jsData[5]/100; //原始单位股
79217
79229
  else item.Vol=jsData[5];
79218
79230
  item.Amount=jsData[6];
@@ -79235,23 +79247,12 @@ MinuteChartContainer.JsonDataToMinuteDataArray=function(data)
79235
79247
 
79236
79248
  if (!item.AvPrice && preAvPrice) item.AvPrice=preAvPrice;
79237
79249
 
79238
- if (item.Close && yClose) item.Increase = (item.Close - yClose)/yClose*100;
79239
- else item.Increase=null;
79250
+ if (item.Close && yClose)
79251
+ item.Increase = (item.Close - yClose)/yClose*100;
79240
79252
 
79241
- //价格是0的 都用空
79242
- //if (item.Open<=0) item.Open=null;
79243
- //if (item.Close<=0) item.Close=null;
79244
- //if (item.AvPrice<=0) item.AvPrice=null;
79245
- //if (item.High<=0) item.High=null;
79246
- //if (item.Low<=0) item.Low=null;
79247
- //if (item.AvPrice<=0) item.AvPrice=null;
79248
-
79249
- //均价太大 可能是后台算错了
79250
- if (item.AvPrice && isSHSZ)
79251
- {
79252
- var checkValue=Math.abs(item.AvPrice-item.Close);
79253
- if (checkValue>item.Close*0.13 ) item.AvPrice=preAvPrice;
79254
- }
79253
+ if (item.Close && yClearing && isFutures)
79254
+ item.Increase = (item.Close - yClearing)/yClearing*100;
79255
+
79255
79256
 
79256
79257
  if (jsData.length>7 && jsData[7]>0 && item.AvPrice===jsData[7]) preAvPrice=jsData[7];
79257
79258
  if (jsData[extendDataIndex]) item.ExtendData=jsData[extendDataIndex];
@@ -79262,9 +79263,9 @@ MinuteChartContainer.JsonDataToMinuteDataArray=function(data)
79262
79263
  var newData=new ChartData();
79263
79264
  newData.Data=minuteData;
79264
79265
  newData.YClose=yClose;
79266
+ if (IFrameSplitOperator.IsNumber(yClearing)) newData.YClearing=yClearing;
79265
79267
  newData.Close=dayData.close;
79266
79268
  newData.Date=date;
79267
- if (IFrameSplitOperator.IsNumber(yClearing)) newData.YClearing=yClearing;
79268
79269
 
79269
79270
  result.push(newData);
79270
79271
  }
@@ -79313,6 +79314,7 @@ MinuteChartContainer.JsonDataToCallAuctionItem=function(data, callAuctionData, i
79313
79314
 
79314
79315
  var date=callAuctionData.Date;
79315
79316
  var yClose=callAuctionData.YClose;
79317
+ var yClearing=callAuctionData.YClearing;
79316
79318
  var extendDataIndex=isBeforeOpen? JSCHART_DATA_FIELD_ID.MINUTE_BEFOREOPEN_EXTENDDATA:JSCHART_DATA_FIELD_ID.MINUTE_AFTERCLOSE_EXTENDDATA; //扩展数据序号
79317
79319
  if (callAuctionData.Ver==1.0)
79318
79320
  {
@@ -79322,6 +79324,7 @@ MinuteChartContainer.JsonDataToCallAuctionItem=function(data, callAuctionData, i
79322
79324
  var item=isBeforeOpen? new BeforeOpenData() : new AfterCloseData();
79323
79325
  var jsData=data[i];
79324
79326
  item.YClose=yClose;
79327
+ item.YClearing=yClearing;
79325
79328
  item.Time=jsData[0];
79326
79329
  item.Date=date;
79327
79330
  item.Price=jsData[1];
@@ -79345,6 +79348,7 @@ MinuteChartContainer.JsonDataToCallAuctionItem=function(data, callAuctionData, i
79345
79348
  var item=isBeforeOpen? new BeforeOpenData() : new AfterCloseData();
79346
79349
  var jsData=data[i];
79347
79350
  item.YClose=yClose;
79351
+ item.YClearing=yClearing;
79348
79352
  item.Time=jsData[0];
79349
79353
  item.Date=date;
79350
79354
  item.Price=jsData[1];
@@ -79372,6 +79376,7 @@ MinuteChartContainer.JsonDataToCallAuctionItem=function(data, callAuctionData, i
79372
79376
  var item=isBeforeOpen? new BeforeOpenData() : new AfterCloseData();
79373
79377
  var jsData=data[i];
79374
79378
  item.YClose=yClose;
79379
+ item.YClearing=yClearing;
79375
79380
  item.Time=jsData[0];
79376
79381
  item.Date=date;
79377
79382
  item.Price=jsData[1];
@@ -79401,7 +79406,7 @@ MinuteChartContainer.JosnDataToBeforeOpenDataArray=function(data)
79401
79406
  for(var i in data.data)
79402
79407
  {
79403
79408
  var dayItem=data.data[i];
79404
- var beforeOpenData={ Data:[], TotalCount:15, Ver:1.0, Date:dayItem.date, YClose:dayItem.yclose };
79409
+ var beforeOpenData={ Data:[], TotalCount:15, Ver:1.0, Date:dayItem.date, YClose:dayItem.yclose, YClearing:dayItem.YClearing };
79405
79410
  if (dayItem.beforeinfo)
79406
79411
  {
79407
79412
  if (IFrameSplitOperator.IsNumber(dayItem.beforeinfo.totalcount)) beforeOpenData.TotalCount=dayItem.beforeinfo.totalcount;
@@ -79426,7 +79431,7 @@ MinuteChartContainer.JosnDataToAfterCloseDataArray=function(data)
79426
79431
  for(var i in data.data)
79427
79432
  {
79428
79433
  var dayItem=data.data[i];
79429
- var afterCloseData={ Data:[], TotalCount:15, Ver:1.0, Date:dayItem.date, YClose:dayItem.yclose };
79434
+ var afterCloseData={ Data:[], TotalCount:15, Ver:1.0, Date:dayItem.date, YClose:dayItem.yclose, YClearing:dayItem.YClearing };
79430
79435
 
79431
79436
  if (dayItem.afterinfo)
79432
79437
  {
@@ -88545,6 +88550,8 @@ var MARKET_SUFFIX_NAME=
88545
88550
 
88546
88551
  IsFutures:function(upperSymbol) //是否是期货 包含国外的
88547
88552
  {
88553
+ if (!upperSymbol) return false;
88554
+
88548
88555
  return this.IsChinaFutures(upperSymbol) ||
88549
88556
  this.IsNYMEX(upperSymbol) || this.IsCOMEX(upperSymbol) || this.IsNYBOT(upperSymbol) || this.IsCBOT(upperSymbol) ||
88550
88557
  this.IsLME(upperSymbol) || this.IsTOCOM(upperSymbol);
@@ -127795,7 +127802,7 @@ function ScrollBarBGChart()
127795
127802
 
127796
127803
 
127797
127804
 
127798
- var HQCHART_VERSION="1.1.12454";
127805
+ var HQCHART_VERSION="1.1.12464";
127799
127806
 
127800
127807
  function PrintHQChartVersion()
127801
127808
  {
@@ -5,7 +5,7 @@
5
5
 
6
6
 
7
7
 
8
- var HQCHART_VERSION="1.1.12454";
8
+ var HQCHART_VERSION="1.1.12464";
9
9
 
10
10
  function PrintHQChartVersion()
11
11
  {
@@ -5710,6 +5710,8 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
5710
5710
 
5711
5711
  if (!chart) return false;
5712
5712
 
5713
+ this.JSChartContainer=chart;
5714
+
5713
5715
  if (option.OnCreatedCallback) option.OnCreatedCallback(chart);
5714
5716
 
5715
5717
  //是否自动更新
@@ -42137,9 +42139,13 @@ function MinuteTooltipPaint()
42137
42139
  }
42138
42140
 
42139
42141
  var upperSymbol;
42140
- this.YClose=this.TitlePaint.YClose;
42141
42142
  if (this.HQChart.Symbol) upperSymbol=this.HQChart.Symbol.toUpperCase();
42143
+ var isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol); //国内期货, 纽约期货交易所
42142
42144
  var defaultfloatPrecision=GetfloatPrecision(this.HQChart.Symbol);//价格小数位数
42145
+
42146
+ this.YClose=this.TitlePaint.YClose;
42147
+ this.YClose=item.YClose;
42148
+ if (isFutures && IFrameSplitOperator.IsNumber(item.YClearing)) this.YClose=item.YClearing;
42143
42149
 
42144
42150
  var aryText=[];
42145
42151
  var result={ AryText:aryText };
@@ -42474,13 +42480,19 @@ function MinuteLeftTooltipPaint()
42474
42480
  if (!drawData || !drawData.Data) return null;
42475
42481
 
42476
42482
  var aryText=[];
42483
+ var isFutures=false;
42477
42484
  var upperSymbol;
42478
42485
  if (this.HQChart.Symbol) upperSymbol=this.HQChart.Symbol.toUpperCase();
42479
42486
  var defaultfloatPrecision=GetfloatPrecision(upperSymbol);//价格小数位数
42487
+ if (upperSymbol) isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol); //国内期货, 纽约期货交易所
42480
42488
 
42481
42489
  if (drawData.Type==0) //连续交易
42482
42490
  {
42483
42491
  var item=drawData.Data;
42492
+ if (!item) return;
42493
+
42494
+ this.YClose=item.YClose;
42495
+ if (isFutures && IFrameSplitOperator.IsNumber(item.YClearing)) this.YClose=item.YClearing;
42484
42496
  var titleItem=this.FormatDate(item.Date);
42485
42497
  if (titleItem) aryText.push(titleItem);
42486
42498
 
@@ -42516,6 +42528,9 @@ function MinuteLeftTooltipPaint()
42516
42528
  {
42517
42529
  var item=drawData.Data.Data;
42518
42530
  if (!item) return;
42531
+
42532
+ this.YClose=item.YClose;
42533
+ if (isFutures && IFrameSplitOperator.IsNumber(item.YClearing)) this.YClose=item.YClearing;
42519
42534
  var titleItem=this.FormatDate(item.Date);
42520
42535
  if (titleItem) aryText.push(titleItem);
42521
42536
 
@@ -52207,7 +52222,10 @@ function DynamicMinuteTitlePainting()
52207
52222
  {
52208
52223
  if (!data || !data.Data) return;
52209
52224
 
52210
- var defaultfloatPrecision=GetfloatPrecision(this.Symbol);//价格小数位数
52225
+ var upperSymbol=this.Symbol.toUpperCase();
52226
+ var defaultfloatPrecision=GetfloatPrecision(this.Symbol); //价格小数位数
52227
+ var isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol); //国内期货, 纽约期货交易所
52228
+
52211
52229
  var item=data.Data;
52212
52230
  var isLastOne=data.IsLastOne;
52213
52231
  var aryText=[]; //{Color:, Text: }
@@ -52253,6 +52271,8 @@ function DynamicMinuteTitlePainting()
52253
52271
  var amount=item.Amount;
52254
52272
  var yClose=item.YClose;
52255
52273
  if (!IFrameSplitOperator.IsNumber(yClose)) yClose=this.YClose;
52274
+ if (isFutures && IFrameSplitOperator.IsNumber(item.YClearing)) yClose=item.YClearing; //期货使用昨结算
52275
+
52256
52276
 
52257
52277
  if (IFrameSplitOperator.IsNumber(close))
52258
52278
  {
@@ -52399,7 +52419,7 @@ function DynamicMinuteTitlePainting()
52399
52419
  var text, strTime, strDate;
52400
52420
  strDate=IFrameSplitOperator.FormatDateString(item.Date);
52401
52421
  var yClose=item.YClose;
52402
-
52422
+
52403
52423
  //时间
52404
52424
  if (data.Ver==1.0) strTime=IFrameSplitOperator.FormatTimeString(item.Time,"HH:MM");
52405
52425
  else strTime=IFrameSplitOperator.FormatTimeString(item.Time,"HH:MM:SS");
@@ -75048,9 +75068,9 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
75048
75068
  {
75049
75069
  if (self.ChartCorssCursor.IsShow === true) //移动十字光标
75050
75070
  {
75051
- var pixelTatio = GetDevicePixelRatio();
75052
- var x = drag.Click.X-uielement.getBoundingClientRect().left*pixelTatio;
75053
- var y = drag.Click.Y-uielement.getBoundingClientRect().top*pixelTatio;
75071
+ var pt=self.PointAbsoluteToRelative(drag.Click.X, drag.Click.Y, true);
75072
+ var x = pt.X;
75073
+ var y = pt.Y
75054
75074
  self.OnMouseMove(x, y, e);
75055
75075
  }
75056
75076
  }
@@ -79060,7 +79080,9 @@ MinuteChartContainer.JsonDataToMinuteData=function(data,isBeforeData)
79060
79080
  var preClose=data.stock[0].yclose; //前一个数据价格
79061
79081
  var preAvPrice=data.stock[0].yclose; //前一个均价
79062
79082
  var yClose=data.stock[0].yclose;
79063
- if (isFutures && data.stock[0].yclearing) yClose=preClose=preAvPrice=data.stock[0].yclearing; //期货使用昨结算价
79083
+ var yClearing=data.stock[0].yclearing;
79084
+
79085
+ if (isFutures && yClearing) preClose=preAvPrice=yClearing; //期货使用昨结算价
79064
79086
 
79065
79087
  if (!IFrameSplitOperator.IsNonEmptyArray(data.stock[0].minute)) return aryMinuteData;
79066
79088
 
@@ -79069,7 +79091,7 @@ MinuteChartContainer.JsonDataToMinuteData=function(data,isBeforeData)
79069
79091
  {
79070
79092
  var jsData=data.stock[0].minute[i];
79071
79093
  var item=new MinuteData();
79072
-
79094
+ item.YClearing=yClearing;
79073
79095
  item.YClose=yClose;
79074
79096
  item.Close=jsData.price;
79075
79097
  item.Open=jsData.open;
@@ -79100,24 +79122,11 @@ MinuteChartContainer.JsonDataToMinuteData=function(data,isBeforeData)
79100
79122
 
79101
79123
  if (!item.AvPrice) item.AvPrice=preAvPrice;
79102
79124
 
79103
- //价格是0的 都用空
79104
- //if (item.Open<=0) item.Open=null;
79105
- //if (item.Close<=0) item.Close=null;
79106
- //if (item.AvPrice<=0) item.AvPrice=null;
79107
- //if (item.High<=0) item.High=null;
79108
- //if (item.Low<=0) item.Low=null;
79109
-
79110
- //if (isFutures) item.AvPrice=null; //期货均价暂时没有
79111
-
79112
79125
  if (yClose && item.Close)
79113
79126
  item.Increase=(item.Close-yClose)/yClose*100; //涨幅 (最新价格-昨收)/昨收*100;
79114
79127
 
79115
-
79116
- //均价太大 可能是后台算错了
79117
- var checkValue=Math.abs(item.AvPrice-item.Close);
79118
- //JSConsole.Chart.Log(`[MinuteChartContainer::JsonDataToMinuteData] checkValue=${checkValue}, ${item.Close*0.13} `)
79119
- if (isSHSZ && checkValue>item.Close*0.13 )
79120
- item.AvPrice=preAvPrice;
79128
+ if (isFutures && yClearing && item.Close)
79129
+ item.Increase=(item.Close-yClearing)/yClearing*100; //涨幅 (最新价格-昨结算价)/昨结算价*100;
79121
79130
 
79122
79131
  //上次价格
79123
79132
  if (IFrameSplitOperator.IsNumber(jsData.price)) preClose=jsData.price;
@@ -79231,7 +79240,7 @@ MinuteChartContainer.JsonDataToMinuteDataArray=function(data)
79231
79240
  var symbol=data.symbol;
79232
79241
  var upperSymbol=symbol.toUpperCase();
79233
79242
  var isSHSZ=MARKET_SUFFIX_NAME.IsSHSZ(upperSymbol);
79234
- var isSHO=MARKET_SUFFIX_NAME.IsSHO(upperSymbol); //上海股票期权
79243
+ var isSHO=MARKET_SUFFIX_NAME.IsSHO(upperSymbol); //上海股票期权
79235
79244
  var isSZO=MARKET_SUFFIX_NAME.IsSZO(upperSymbol); //深证股票期权
79236
79245
  var isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol); //国内期货, 纽约期货交易所
79237
79246
  var result=[];
@@ -79241,22 +79250,25 @@ MinuteChartContainer.JsonDataToMinuteDataArray=function(data)
79241
79250
  var minuteData=[];
79242
79251
  var dayData=data.data[i];
79243
79252
  var date=dayData.date;
79253
+ var yClearing=dayData.yclearing; //昨结算价
79244
79254
  var yClose=dayData.yclose; //前收盘 计算涨幅
79245
79255
  var preClose=yClose; //前一个数据价格
79246
79256
  var preAvPrice=null; //上一个均价
79247
- var yClearing=dayData.yclearing; //昨结算价
79248
79257
 
79249
- //var preAvPrice=data.stock[0].yclose; //前一个均价
79258
+ if (isFutures && yClearing) preClose=preAvPrice=yClearing; //期货使用昨结算价
79259
+
79250
79260
  for(var j in dayData.minute)
79251
79261
  {
79252
79262
  var jsData=dayData.minute[j];
79253
79263
  if (jsData[2]) preClose=jsData[2]; //保存上一个收盘数据
79254
79264
  var item=new MinuteData();
79265
+ item.YClearing=yClearing;
79255
79266
  item.YClose=yClose;
79256
79267
  item.Close=jsData[2];
79257
79268
  item.Open=jsData[1];
79258
79269
  item.High=jsData[3];
79259
79270
  item.Low=jsData[4];
79271
+ item.Increase=null;
79260
79272
  if (isSHSZ) item.Vol=jsData[5]/100; //原始单位股
79261
79273
  else item.Vol=jsData[5];
79262
79274
  item.Amount=jsData[6];
@@ -79279,23 +79291,12 @@ MinuteChartContainer.JsonDataToMinuteDataArray=function(data)
79279
79291
 
79280
79292
  if (!item.AvPrice && preAvPrice) item.AvPrice=preAvPrice;
79281
79293
 
79282
- if (item.Close && yClose) item.Increase = (item.Close - yClose)/yClose*100;
79283
- else item.Increase=null;
79294
+ if (item.Close && yClose)
79295
+ item.Increase = (item.Close - yClose)/yClose*100;
79284
79296
 
79285
- //价格是0的 都用空
79286
- //if (item.Open<=0) item.Open=null;
79287
- //if (item.Close<=0) item.Close=null;
79288
- //if (item.AvPrice<=0) item.AvPrice=null;
79289
- //if (item.High<=0) item.High=null;
79290
- //if (item.Low<=0) item.Low=null;
79291
- //if (item.AvPrice<=0) item.AvPrice=null;
79292
-
79293
- //均价太大 可能是后台算错了
79294
- if (item.AvPrice && isSHSZ)
79295
- {
79296
- var checkValue=Math.abs(item.AvPrice-item.Close);
79297
- if (checkValue>item.Close*0.13 ) item.AvPrice=preAvPrice;
79298
- }
79297
+ if (item.Close && yClearing && isFutures)
79298
+ item.Increase = (item.Close - yClearing)/yClearing*100;
79299
+
79299
79300
 
79300
79301
  if (jsData.length>7 && jsData[7]>0 && item.AvPrice===jsData[7]) preAvPrice=jsData[7];
79301
79302
  if (jsData[extendDataIndex]) item.ExtendData=jsData[extendDataIndex];
@@ -79306,9 +79307,9 @@ MinuteChartContainer.JsonDataToMinuteDataArray=function(data)
79306
79307
  var newData=new ChartData();
79307
79308
  newData.Data=minuteData;
79308
79309
  newData.YClose=yClose;
79310
+ if (IFrameSplitOperator.IsNumber(yClearing)) newData.YClearing=yClearing;
79309
79311
  newData.Close=dayData.close;
79310
79312
  newData.Date=date;
79311
- if (IFrameSplitOperator.IsNumber(yClearing)) newData.YClearing=yClearing;
79312
79313
 
79313
79314
  result.push(newData);
79314
79315
  }
@@ -79357,6 +79358,7 @@ MinuteChartContainer.JsonDataToCallAuctionItem=function(data, callAuctionData, i
79357
79358
 
79358
79359
  var date=callAuctionData.Date;
79359
79360
  var yClose=callAuctionData.YClose;
79361
+ var yClearing=callAuctionData.YClearing;
79360
79362
  var extendDataIndex=isBeforeOpen? JSCHART_DATA_FIELD_ID.MINUTE_BEFOREOPEN_EXTENDDATA:JSCHART_DATA_FIELD_ID.MINUTE_AFTERCLOSE_EXTENDDATA; //扩展数据序号
79361
79363
  if (callAuctionData.Ver==1.0)
79362
79364
  {
@@ -79366,6 +79368,7 @@ MinuteChartContainer.JsonDataToCallAuctionItem=function(data, callAuctionData, i
79366
79368
  var item=isBeforeOpen? new BeforeOpenData() : new AfterCloseData();
79367
79369
  var jsData=data[i];
79368
79370
  item.YClose=yClose;
79371
+ item.YClearing=yClearing;
79369
79372
  item.Time=jsData[0];
79370
79373
  item.Date=date;
79371
79374
  item.Price=jsData[1];
@@ -79389,6 +79392,7 @@ MinuteChartContainer.JsonDataToCallAuctionItem=function(data, callAuctionData, i
79389
79392
  var item=isBeforeOpen? new BeforeOpenData() : new AfterCloseData();
79390
79393
  var jsData=data[i];
79391
79394
  item.YClose=yClose;
79395
+ item.YClearing=yClearing;
79392
79396
  item.Time=jsData[0];
79393
79397
  item.Date=date;
79394
79398
  item.Price=jsData[1];
@@ -79416,6 +79420,7 @@ MinuteChartContainer.JsonDataToCallAuctionItem=function(data, callAuctionData, i
79416
79420
  var item=isBeforeOpen? new BeforeOpenData() : new AfterCloseData();
79417
79421
  var jsData=data[i];
79418
79422
  item.YClose=yClose;
79423
+ item.YClearing=yClearing;
79419
79424
  item.Time=jsData[0];
79420
79425
  item.Date=date;
79421
79426
  item.Price=jsData[1];
@@ -79445,7 +79450,7 @@ MinuteChartContainer.JosnDataToBeforeOpenDataArray=function(data)
79445
79450
  for(var i in data.data)
79446
79451
  {
79447
79452
  var dayItem=data.data[i];
79448
- var beforeOpenData={ Data:[], TotalCount:15, Ver:1.0, Date:dayItem.date, YClose:dayItem.yclose };
79453
+ var beforeOpenData={ Data:[], TotalCount:15, Ver:1.0, Date:dayItem.date, YClose:dayItem.yclose, YClearing:dayItem.YClearing };
79449
79454
  if (dayItem.beforeinfo)
79450
79455
  {
79451
79456
  if (IFrameSplitOperator.IsNumber(dayItem.beforeinfo.totalcount)) beforeOpenData.TotalCount=dayItem.beforeinfo.totalcount;
@@ -79470,7 +79475,7 @@ MinuteChartContainer.JosnDataToAfterCloseDataArray=function(data)
79470
79475
  for(var i in data.data)
79471
79476
  {
79472
79477
  var dayItem=data.data[i];
79473
- var afterCloseData={ Data:[], TotalCount:15, Ver:1.0, Date:dayItem.date, YClose:dayItem.yclose };
79478
+ var afterCloseData={ Data:[], TotalCount:15, Ver:1.0, Date:dayItem.date, YClose:dayItem.yclose, YClearing:dayItem.YClearing };
79474
79479
 
79475
79480
  if (dayItem.afterinfo)
79476
79481
  {
@@ -88589,6 +88594,8 @@ var MARKET_SUFFIX_NAME=
88589
88594
 
88590
88595
  IsFutures:function(upperSymbol) //是否是期货 包含国外的
88591
88596
  {
88597
+ if (!upperSymbol) return false;
88598
+
88592
88599
  return this.IsChinaFutures(upperSymbol) ||
88593
88600
  this.IsNYMEX(upperSymbol) || this.IsCOMEX(upperSymbol) || this.IsNYBOT(upperSymbol) || this.IsCBOT(upperSymbol) ||
88594
88601
  this.IsLME(upperSymbol) || this.IsTOCOM(upperSymbol);
@@ -127839,7 +127846,7 @@ function ScrollBarBGChart()
127839
127846
 
127840
127847
 
127841
127848
 
127842
- var HQCHART_VERSION="1.1.12454";
127849
+ var HQCHART_VERSION="1.1.12464";
127843
127850
 
127844
127851
  function PrintHQChartVersion()
127845
127852
  {
@@ -1000,7 +1000,7 @@ function DynamicMinuteTitlePainting()
1000
1000
  var item=data.Data;
1001
1001
  var defaultfloatPrecision = this.GetDecimal(this.Symbol); //价格小数位数
1002
1002
  var aryText=[];
1003
-
1003
+ var yClose=item.YClose;
1004
1004
  if (this.IsShowName) aryText.push({ Text:this.Name, Color:this.NameColor });
1005
1005
 
1006
1006
  var text = IFrameSplitOperator.FormatDateTimeString(item.DateTime, this.IsShowDate ? 'YYYY-MM-DD HH-MM' : 'HH-MM');
@@ -1008,7 +1008,7 @@ function DynamicMinuteTitlePainting()
1008
1008
 
1009
1009
  if (IFrameSplitOperator.IsNumber(item.Close))
1010
1010
  {
1011
- var color = this.GetColor(item.Close, this.YClose);
1011
+ var color = this.GetColor(item.Close, yClose);
1012
1012
  var text = g_JSChartLocalization.GetText('MTitle-Close', this.LanguageID) + item.Close.toFixed(defaultfloatPrecision);
1013
1013
  aryText.push({ Text:text, Color:color });
1014
1014
  }
@@ -1022,7 +1022,7 @@ function DynamicMinuteTitlePainting()
1022
1022
 
1023
1023
  if (IFrameSplitOperator.IsNumber(item.AvPrice) && this.IsShowAveragePrice==true)
1024
1024
  {
1025
- var color = this.GetColor(item.AvPrice, this.YClose);
1025
+ var color = this.GetColor(item.AvPrice, yClose);
1026
1026
  var text = g_JSChartLocalization.GetText('MTitle-AvPrice', this.LanguageID) + item.AvPrice.toFixed(defaultfloatPrecision);
1027
1027
  aryText.push({ Text:text, Color:color });
1028
1028
  }
@@ -169,6 +169,7 @@ function MinuteData()
169
169
  this.Time;
170
170
  this.Position = null; //持仓量
171
171
  this.YClearing; //昨结算价
172
+ this.YClose; //昨收
172
173
 
173
174
  this.ExtendData; //扩展数据
174
175
  }
@@ -456,6 +456,7 @@ function MinuteTooltipPaint()
456
456
  if (this.HQChart.Symbol) upperSymbol=this.HQChart.Symbol.toUpperCase();
457
457
  var defaultfloatPrecision = JSCommonCoordinateData.GetfloatPrecision(this.HQChart.Symbol);//价格小数位数
458
458
  this.YClose = this.KLineTitlePaint.YClose;
459
+ this.YClose=item.YClose;
459
460
 
460
461
  var aryText=[];
461
462
  var result={ AryText:aryText };
@@ -5,7 +5,7 @@
5
5
 
6
6
 
7
7
 
8
- var HQCHART_VERSION="1.1.12444";
8
+ var HQCHART_VERSION="1.1.12460";
9
9
 
10
10
  function PrintHQChartVersion()
11
11
  {
@@ -1084,6 +1084,7 @@ function JSChart(element)
1084
1084
  }
1085
1085
 
1086
1086
  if (!chart) return false;
1087
+ this.JSChartContainer = chart;
1087
1088
 
1088
1089
  if (option.OnCreatedCallback) option.OnCreatedCallback(chart);
1089
1090
 
@@ -1100,7 +1101,6 @@ function JSChart(element)
1100
1101
 
1101
1102
  //设置股票代码
1102
1103
  if (!option.Symbol) return false;
1103
- this.JSChartContainer = chart;
1104
1104
 
1105
1105
  chart.Draw();
1106
1106
  chart.ChangeSymbol(option.Symbol);
@@ -9808,6 +9808,7 @@ MinuteChartContainer.JsonDataToMinuteData = function (data)
9808
9808
  if (jsData.price) preClose = jsData.price;
9809
9809
  if (jsData.avprice) preAvPrice = jsData.avprice;
9810
9810
 
9811
+ item.YClose=yClose;
9811
9812
  item.Close = jsData.price;
9812
9813
  item.Open = jsData.open;
9813
9814
  item.High = jsData.high;
@@ -9877,6 +9878,7 @@ MinuteChartContainer.JsonDataToMinuteDataArray = function (data)
9877
9878
  var jsData = dayData.minute[j];
9878
9879
  if (jsData[2]) preClose = jsData[2]; //保存上一个收盘数据
9879
9880
  var item = new MinuteData();
9881
+ item.YClose=yClose;
9880
9882
  item.Close = jsData[2];
9881
9883
  item.Open = jsData[1];
9882
9884
  item.High = jsData[3];