hqchart 1.1.12459 → 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.
- package/lib/umychart.vue.js +27 -39
- package/package.json +1 -1
- package/src/jscommon/umychart.js +41 -42
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +42 -43
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +42 -43
- package/src/jscommon/umychart.wechat/umychart.version.wechat.js +1 -1
- package/src/jscommon/umychart.wechat/umychart.wechat.3.0.js +1 -1
package/lib/umychart.vue.js
CHANGED
|
@@ -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;
|
|
4483
|
-
var
|
|
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;if(!item)return;this.YClose=item.YClose;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;this.YClose=item.YClose;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(
|
|
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);//价格小数位数
|
|
@@ -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;
|
|
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
|
|
7768
|
-
|
|
7769
|
-
|
|
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
|
|
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
|
-
|
|
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;
|
|
7801
|
-
|
|
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.
|
|
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
package/src/jscommon/umychart.js
CHANGED
|
@@ -38015,10 +38015,13 @@ function MinuteTooltipPaint()
|
|
|
38015
38015
|
}
|
|
38016
38016
|
|
|
38017
38017
|
var upperSymbol;
|
|
38018
|
-
this.YClose=this.TitlePaint.YClose;
|
|
38019
|
-
this.YClose=item.YClose;
|
|
38020
38018
|
if (this.HQChart.Symbol) upperSymbol=this.HQChart.Symbol.toUpperCase();
|
|
38019
|
+
var isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol); //国内期货, 纽约期货交易所
|
|
38021
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;
|
|
38022
38025
|
|
|
38023
38026
|
var aryText=[];
|
|
38024
38027
|
var result={ AryText:aryText };
|
|
@@ -38353,9 +38356,11 @@ function MinuteLeftTooltipPaint()
|
|
|
38353
38356
|
if (!drawData || !drawData.Data) return null;
|
|
38354
38357
|
|
|
38355
38358
|
var aryText=[];
|
|
38359
|
+
var isFutures=false;
|
|
38356
38360
|
var upperSymbol;
|
|
38357
38361
|
if (this.HQChart.Symbol) upperSymbol=this.HQChart.Symbol.toUpperCase();
|
|
38358
38362
|
var defaultfloatPrecision=GetfloatPrecision(upperSymbol);//价格小数位数
|
|
38363
|
+
if (upperSymbol) isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol); //国内期货, 纽约期货交易所
|
|
38359
38364
|
|
|
38360
38365
|
if (drawData.Type==0) //连续交易
|
|
38361
38366
|
{
|
|
@@ -38363,6 +38368,7 @@ function MinuteLeftTooltipPaint()
|
|
|
38363
38368
|
if (!item) return;
|
|
38364
38369
|
|
|
38365
38370
|
this.YClose=item.YClose;
|
|
38371
|
+
if (isFutures && IFrameSplitOperator.IsNumber(item.YClearing)) this.YClose=item.YClearing;
|
|
38366
38372
|
var titleItem=this.FormatDate(item.Date);
|
|
38367
38373
|
if (titleItem) aryText.push(titleItem);
|
|
38368
38374
|
|
|
@@ -38400,6 +38406,7 @@ function MinuteLeftTooltipPaint()
|
|
|
38400
38406
|
if (!item) return;
|
|
38401
38407
|
|
|
38402
38408
|
this.YClose=item.YClose;
|
|
38409
|
+
if (isFutures && IFrameSplitOperator.IsNumber(item.YClearing)) this.YClose=item.YClearing;
|
|
38403
38410
|
var titleItem=this.FormatDate(item.Date);
|
|
38404
38411
|
if (titleItem) aryText.push(titleItem);
|
|
38405
38412
|
|
|
@@ -48091,7 +48098,10 @@ function DynamicMinuteTitlePainting()
|
|
|
48091
48098
|
{
|
|
48092
48099
|
if (!data || !data.Data) return;
|
|
48093
48100
|
|
|
48094
|
-
var
|
|
48101
|
+
var upperSymbol=this.Symbol.toUpperCase();
|
|
48102
|
+
var defaultfloatPrecision=GetfloatPrecision(this.Symbol); //价格小数位数
|
|
48103
|
+
var isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol); //国内期货, 纽约期货交易所
|
|
48104
|
+
|
|
48095
48105
|
var item=data.Data;
|
|
48096
48106
|
var isLastOne=data.IsLastOne;
|
|
48097
48107
|
var aryText=[]; //{Color:, Text: }
|
|
@@ -48137,6 +48147,8 @@ function DynamicMinuteTitlePainting()
|
|
|
48137
48147
|
var amount=item.Amount;
|
|
48138
48148
|
var yClose=item.YClose;
|
|
48139
48149
|
if (!IFrameSplitOperator.IsNumber(yClose)) yClose=this.YClose;
|
|
48150
|
+
if (isFutures && IFrameSplitOperator.IsNumber(item.YClearing)) yClose=item.YClearing; //期货使用昨结算
|
|
48151
|
+
|
|
48140
48152
|
|
|
48141
48153
|
if (IFrameSplitOperator.IsNumber(close))
|
|
48142
48154
|
{
|
|
@@ -74944,7 +74956,9 @@ MinuteChartContainer.JsonDataToMinuteData=function(data,isBeforeData)
|
|
|
74944
74956
|
var preClose=data.stock[0].yclose; //前一个数据价格
|
|
74945
74957
|
var preAvPrice=data.stock[0].yclose; //前一个均价
|
|
74946
74958
|
var yClose=data.stock[0].yclose;
|
|
74947
|
-
|
|
74959
|
+
var yClearing=data.stock[0].yclearing;
|
|
74960
|
+
|
|
74961
|
+
if (isFutures && yClearing) preClose=preAvPrice=yClearing; //期货使用昨结算价
|
|
74948
74962
|
|
|
74949
74963
|
if (!IFrameSplitOperator.IsNonEmptyArray(data.stock[0].minute)) return aryMinuteData;
|
|
74950
74964
|
|
|
@@ -74953,7 +74967,7 @@ MinuteChartContainer.JsonDataToMinuteData=function(data,isBeforeData)
|
|
|
74953
74967
|
{
|
|
74954
74968
|
var jsData=data.stock[0].minute[i];
|
|
74955
74969
|
var item=new MinuteData();
|
|
74956
|
-
|
|
74970
|
+
item.YClearing=yClearing;
|
|
74957
74971
|
item.YClose=yClose;
|
|
74958
74972
|
item.Close=jsData.price;
|
|
74959
74973
|
item.Open=jsData.open;
|
|
@@ -74984,24 +74998,11 @@ MinuteChartContainer.JsonDataToMinuteData=function(data,isBeforeData)
|
|
|
74984
74998
|
|
|
74985
74999
|
if (!item.AvPrice) item.AvPrice=preAvPrice;
|
|
74986
75000
|
|
|
74987
|
-
//价格是0的 都用空
|
|
74988
|
-
//if (item.Open<=0) item.Open=null;
|
|
74989
|
-
//if (item.Close<=0) item.Close=null;
|
|
74990
|
-
//if (item.AvPrice<=0) item.AvPrice=null;
|
|
74991
|
-
//if (item.High<=0) item.High=null;
|
|
74992
|
-
//if (item.Low<=0) item.Low=null;
|
|
74993
|
-
|
|
74994
|
-
//if (isFutures) item.AvPrice=null; //期货均价暂时没有
|
|
74995
|
-
|
|
74996
75001
|
if (yClose && item.Close)
|
|
74997
75002
|
item.Increase=(item.Close-yClose)/yClose*100; //涨幅 (最新价格-昨收)/昨收*100;
|
|
74998
75003
|
|
|
74999
|
-
|
|
75000
|
-
|
|
75001
|
-
var checkValue=Math.abs(item.AvPrice-item.Close);
|
|
75002
|
-
//JSConsole.Chart.Log(`[MinuteChartContainer::JsonDataToMinuteData] checkValue=${checkValue}, ${item.Close*0.13} `)
|
|
75003
|
-
if (isSHSZ && checkValue>item.Close*0.13 )
|
|
75004
|
-
item.AvPrice=preAvPrice;
|
|
75004
|
+
if (isFutures && yClearing && item.Close)
|
|
75005
|
+
item.Increase=(item.Close-yClearing)/yClearing*100; //涨幅 (最新价格-昨结算价)/昨结算价*100;
|
|
75005
75006
|
|
|
75006
75007
|
//上次价格
|
|
75007
75008
|
if (IFrameSplitOperator.IsNumber(jsData.price)) preClose=jsData.price;
|
|
@@ -75115,7 +75116,7 @@ MinuteChartContainer.JsonDataToMinuteDataArray=function(data)
|
|
|
75115
75116
|
var symbol=data.symbol;
|
|
75116
75117
|
var upperSymbol=symbol.toUpperCase();
|
|
75117
75118
|
var isSHSZ=MARKET_SUFFIX_NAME.IsSHSZ(upperSymbol);
|
|
75118
|
-
var isSHO=MARKET_SUFFIX_NAME.IsSHO(upperSymbol);
|
|
75119
|
+
var isSHO=MARKET_SUFFIX_NAME.IsSHO(upperSymbol); //上海股票期权
|
|
75119
75120
|
var isSZO=MARKET_SUFFIX_NAME.IsSZO(upperSymbol); //深证股票期权
|
|
75120
75121
|
var isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol); //国内期货, 纽约期货交易所
|
|
75121
75122
|
var result=[];
|
|
@@ -75125,22 +75126,25 @@ MinuteChartContainer.JsonDataToMinuteDataArray=function(data)
|
|
|
75125
75126
|
var minuteData=[];
|
|
75126
75127
|
var dayData=data.data[i];
|
|
75127
75128
|
var date=dayData.date;
|
|
75129
|
+
var yClearing=dayData.yclearing; //昨结算价
|
|
75128
75130
|
var yClose=dayData.yclose; //前收盘 计算涨幅
|
|
75129
75131
|
var preClose=yClose; //前一个数据价格
|
|
75130
75132
|
var preAvPrice=null; //上一个均价
|
|
75131
|
-
var yClearing=dayData.yclearing; //昨结算价
|
|
75132
75133
|
|
|
75133
|
-
|
|
75134
|
+
if (isFutures && yClearing) preClose=preAvPrice=yClearing; //期货使用昨结算价
|
|
75135
|
+
|
|
75134
75136
|
for(var j in dayData.minute)
|
|
75135
75137
|
{
|
|
75136
75138
|
var jsData=dayData.minute[j];
|
|
75137
75139
|
if (jsData[2]) preClose=jsData[2]; //保存上一个收盘数据
|
|
75138
75140
|
var item=new MinuteData();
|
|
75141
|
+
item.YClearing=yClearing;
|
|
75139
75142
|
item.YClose=yClose;
|
|
75140
75143
|
item.Close=jsData[2];
|
|
75141
75144
|
item.Open=jsData[1];
|
|
75142
75145
|
item.High=jsData[3];
|
|
75143
75146
|
item.Low=jsData[4];
|
|
75147
|
+
item.Increase=null;
|
|
75144
75148
|
if (isSHSZ) item.Vol=jsData[5]/100; //原始单位股
|
|
75145
75149
|
else item.Vol=jsData[5];
|
|
75146
75150
|
item.Amount=jsData[6];
|
|
@@ -75163,23 +75167,12 @@ MinuteChartContainer.JsonDataToMinuteDataArray=function(data)
|
|
|
75163
75167
|
|
|
75164
75168
|
if (!item.AvPrice && preAvPrice) item.AvPrice=preAvPrice;
|
|
75165
75169
|
|
|
75166
|
-
if (item.Close && yClose)
|
|
75167
|
-
|
|
75168
|
-
|
|
75169
|
-
//价格是0的 都用空
|
|
75170
|
-
//if (item.Open<=0) item.Open=null;
|
|
75171
|
-
//if (item.Close<=0) item.Close=null;
|
|
75172
|
-
//if (item.AvPrice<=0) item.AvPrice=null;
|
|
75173
|
-
//if (item.High<=0) item.High=null;
|
|
75174
|
-
//if (item.Low<=0) item.Low=null;
|
|
75175
|
-
//if (item.AvPrice<=0) item.AvPrice=null;
|
|
75170
|
+
if (item.Close && yClose)
|
|
75171
|
+
item.Increase = (item.Close - yClose)/yClose*100;
|
|
75176
75172
|
|
|
75177
|
-
|
|
75178
|
-
|
|
75179
|
-
|
|
75180
|
-
var checkValue=Math.abs(item.AvPrice-item.Close);
|
|
75181
|
-
if (checkValue>item.Close*0.13 ) item.AvPrice=preAvPrice;
|
|
75182
|
-
}
|
|
75173
|
+
if (item.Close && yClearing && isFutures)
|
|
75174
|
+
item.Increase = (item.Close - yClearing)/yClearing*100;
|
|
75175
|
+
|
|
75183
75176
|
|
|
75184
75177
|
if (jsData.length>7 && jsData[7]>0 && item.AvPrice===jsData[7]) preAvPrice=jsData[7];
|
|
75185
75178
|
if (jsData[extendDataIndex]) item.ExtendData=jsData[extendDataIndex];
|
|
@@ -75190,9 +75183,9 @@ MinuteChartContainer.JsonDataToMinuteDataArray=function(data)
|
|
|
75190
75183
|
var newData=new ChartData();
|
|
75191
75184
|
newData.Data=minuteData;
|
|
75192
75185
|
newData.YClose=yClose;
|
|
75186
|
+
if (IFrameSplitOperator.IsNumber(yClearing)) newData.YClearing=yClearing;
|
|
75193
75187
|
newData.Close=dayData.close;
|
|
75194
75188
|
newData.Date=date;
|
|
75195
|
-
if (IFrameSplitOperator.IsNumber(yClearing)) newData.YClearing=yClearing;
|
|
75196
75189
|
|
|
75197
75190
|
result.push(newData);
|
|
75198
75191
|
}
|
|
@@ -75241,6 +75234,7 @@ MinuteChartContainer.JsonDataToCallAuctionItem=function(data, callAuctionData, i
|
|
|
75241
75234
|
|
|
75242
75235
|
var date=callAuctionData.Date;
|
|
75243
75236
|
var yClose=callAuctionData.YClose;
|
|
75237
|
+
var yClearing=callAuctionData.YClearing;
|
|
75244
75238
|
var extendDataIndex=isBeforeOpen? JSCHART_DATA_FIELD_ID.MINUTE_BEFOREOPEN_EXTENDDATA:JSCHART_DATA_FIELD_ID.MINUTE_AFTERCLOSE_EXTENDDATA; //扩展数据序号
|
|
75245
75239
|
if (callAuctionData.Ver==1.0)
|
|
75246
75240
|
{
|
|
@@ -75250,6 +75244,7 @@ MinuteChartContainer.JsonDataToCallAuctionItem=function(data, callAuctionData, i
|
|
|
75250
75244
|
var item=isBeforeOpen? new BeforeOpenData() : new AfterCloseData();
|
|
75251
75245
|
var jsData=data[i];
|
|
75252
75246
|
item.YClose=yClose;
|
|
75247
|
+
item.YClearing=yClearing;
|
|
75253
75248
|
item.Time=jsData[0];
|
|
75254
75249
|
item.Date=date;
|
|
75255
75250
|
item.Price=jsData[1];
|
|
@@ -75273,6 +75268,7 @@ MinuteChartContainer.JsonDataToCallAuctionItem=function(data, callAuctionData, i
|
|
|
75273
75268
|
var item=isBeforeOpen? new BeforeOpenData() : new AfterCloseData();
|
|
75274
75269
|
var jsData=data[i];
|
|
75275
75270
|
item.YClose=yClose;
|
|
75271
|
+
item.YClearing=yClearing;
|
|
75276
75272
|
item.Time=jsData[0];
|
|
75277
75273
|
item.Date=date;
|
|
75278
75274
|
item.Price=jsData[1];
|
|
@@ -75300,6 +75296,7 @@ MinuteChartContainer.JsonDataToCallAuctionItem=function(data, callAuctionData, i
|
|
|
75300
75296
|
var item=isBeforeOpen? new BeforeOpenData() : new AfterCloseData();
|
|
75301
75297
|
var jsData=data[i];
|
|
75302
75298
|
item.YClose=yClose;
|
|
75299
|
+
item.YClearing=yClearing;
|
|
75303
75300
|
item.Time=jsData[0];
|
|
75304
75301
|
item.Date=date;
|
|
75305
75302
|
item.Price=jsData[1];
|
|
@@ -75329,7 +75326,7 @@ MinuteChartContainer.JosnDataToBeforeOpenDataArray=function(data)
|
|
|
75329
75326
|
for(var i in data.data)
|
|
75330
75327
|
{
|
|
75331
75328
|
var dayItem=data.data[i];
|
|
75332
|
-
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 };
|
|
75333
75330
|
if (dayItem.beforeinfo)
|
|
75334
75331
|
{
|
|
75335
75332
|
if (IFrameSplitOperator.IsNumber(dayItem.beforeinfo.totalcount)) beforeOpenData.TotalCount=dayItem.beforeinfo.totalcount;
|
|
@@ -75354,7 +75351,7 @@ MinuteChartContainer.JosnDataToAfterCloseDataArray=function(data)
|
|
|
75354
75351
|
for(var i in data.data)
|
|
75355
75352
|
{
|
|
75356
75353
|
var dayItem=data.data[i];
|
|
75357
|
-
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 };
|
|
75358
75355
|
|
|
75359
75356
|
if (dayItem.afterinfo)
|
|
75360
75357
|
{
|
|
@@ -84473,6 +84470,8 @@ var MARKET_SUFFIX_NAME=
|
|
|
84473
84470
|
|
|
84474
84471
|
IsFutures:function(upperSymbol) //是否是期货 包含国外的
|
|
84475
84472
|
{
|
|
84473
|
+
if (!upperSymbol) return false;
|
|
84474
|
+
|
|
84476
84475
|
return this.IsChinaFutures(upperSymbol) ||
|
|
84477
84476
|
this.IsNYMEX(upperSymbol) || this.IsCOMEX(upperSymbol) || this.IsNYBOT(upperSymbol) || this.IsCBOT(upperSymbol) ||
|
|
84478
84477
|
this.IsLME(upperSymbol) || this.IsTOCOM(upperSymbol);
|
|
@@ -42095,10 +42095,13 @@ function MinuteTooltipPaint()
|
|
|
42095
42095
|
}
|
|
42096
42096
|
|
|
42097
42097
|
var upperSymbol;
|
|
42098
|
-
this.YClose=this.TitlePaint.YClose;
|
|
42099
|
-
this.YClose=item.YClose;
|
|
42100
42098
|
if (this.HQChart.Symbol) upperSymbol=this.HQChart.Symbol.toUpperCase();
|
|
42099
|
+
var isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol); //国内期货, 纽约期货交易所
|
|
42101
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;
|
|
42102
42105
|
|
|
42103
42106
|
var aryText=[];
|
|
42104
42107
|
var result={ AryText:aryText };
|
|
@@ -42433,9 +42436,11 @@ function MinuteLeftTooltipPaint()
|
|
|
42433
42436
|
if (!drawData || !drawData.Data) return null;
|
|
42434
42437
|
|
|
42435
42438
|
var aryText=[];
|
|
42439
|
+
var isFutures=false;
|
|
42436
42440
|
var upperSymbol;
|
|
42437
42441
|
if (this.HQChart.Symbol) upperSymbol=this.HQChart.Symbol.toUpperCase();
|
|
42438
42442
|
var defaultfloatPrecision=GetfloatPrecision(upperSymbol);//价格小数位数
|
|
42443
|
+
if (upperSymbol) isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol); //国内期货, 纽约期货交易所
|
|
42439
42444
|
|
|
42440
42445
|
if (drawData.Type==0) //连续交易
|
|
42441
42446
|
{
|
|
@@ -42443,6 +42448,7 @@ function MinuteLeftTooltipPaint()
|
|
|
42443
42448
|
if (!item) return;
|
|
42444
42449
|
|
|
42445
42450
|
this.YClose=item.YClose;
|
|
42451
|
+
if (isFutures && IFrameSplitOperator.IsNumber(item.YClearing)) this.YClose=item.YClearing;
|
|
42446
42452
|
var titleItem=this.FormatDate(item.Date);
|
|
42447
42453
|
if (titleItem) aryText.push(titleItem);
|
|
42448
42454
|
|
|
@@ -42480,6 +42486,7 @@ function MinuteLeftTooltipPaint()
|
|
|
42480
42486
|
if (!item) return;
|
|
42481
42487
|
|
|
42482
42488
|
this.YClose=item.YClose;
|
|
42489
|
+
if (isFutures && IFrameSplitOperator.IsNumber(item.YClearing)) this.YClose=item.YClearing;
|
|
42483
42490
|
var titleItem=this.FormatDate(item.Date);
|
|
42484
42491
|
if (titleItem) aryText.push(titleItem);
|
|
42485
42492
|
|
|
@@ -52171,7 +52178,10 @@ function DynamicMinuteTitlePainting()
|
|
|
52171
52178
|
{
|
|
52172
52179
|
if (!data || !data.Data) return;
|
|
52173
52180
|
|
|
52174
|
-
var
|
|
52181
|
+
var upperSymbol=this.Symbol.toUpperCase();
|
|
52182
|
+
var defaultfloatPrecision=GetfloatPrecision(this.Symbol); //价格小数位数
|
|
52183
|
+
var isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol); //国内期货, 纽约期货交易所
|
|
52184
|
+
|
|
52175
52185
|
var item=data.Data;
|
|
52176
52186
|
var isLastOne=data.IsLastOne;
|
|
52177
52187
|
var aryText=[]; //{Color:, Text: }
|
|
@@ -52217,6 +52227,8 @@ function DynamicMinuteTitlePainting()
|
|
|
52217
52227
|
var amount=item.Amount;
|
|
52218
52228
|
var yClose=item.YClose;
|
|
52219
52229
|
if (!IFrameSplitOperator.IsNumber(yClose)) yClose=this.YClose;
|
|
52230
|
+
if (isFutures && IFrameSplitOperator.IsNumber(item.YClearing)) yClose=item.YClearing; //期货使用昨结算
|
|
52231
|
+
|
|
52220
52232
|
|
|
52221
52233
|
if (IFrameSplitOperator.IsNumber(close))
|
|
52222
52234
|
{
|
|
@@ -79024,7 +79036,9 @@ MinuteChartContainer.JsonDataToMinuteData=function(data,isBeforeData)
|
|
|
79024
79036
|
var preClose=data.stock[0].yclose; //前一个数据价格
|
|
79025
79037
|
var preAvPrice=data.stock[0].yclose; //前一个均价
|
|
79026
79038
|
var yClose=data.stock[0].yclose;
|
|
79027
|
-
|
|
79039
|
+
var yClearing=data.stock[0].yclearing;
|
|
79040
|
+
|
|
79041
|
+
if (isFutures && yClearing) preClose=preAvPrice=yClearing; //期货使用昨结算价
|
|
79028
79042
|
|
|
79029
79043
|
if (!IFrameSplitOperator.IsNonEmptyArray(data.stock[0].minute)) return aryMinuteData;
|
|
79030
79044
|
|
|
@@ -79033,7 +79047,7 @@ MinuteChartContainer.JsonDataToMinuteData=function(data,isBeforeData)
|
|
|
79033
79047
|
{
|
|
79034
79048
|
var jsData=data.stock[0].minute[i];
|
|
79035
79049
|
var item=new MinuteData();
|
|
79036
|
-
|
|
79050
|
+
item.YClearing=yClearing;
|
|
79037
79051
|
item.YClose=yClose;
|
|
79038
79052
|
item.Close=jsData.price;
|
|
79039
79053
|
item.Open=jsData.open;
|
|
@@ -79064,24 +79078,11 @@ MinuteChartContainer.JsonDataToMinuteData=function(data,isBeforeData)
|
|
|
79064
79078
|
|
|
79065
79079
|
if (!item.AvPrice) item.AvPrice=preAvPrice;
|
|
79066
79080
|
|
|
79067
|
-
//价格是0的 都用空
|
|
79068
|
-
//if (item.Open<=0) item.Open=null;
|
|
79069
|
-
//if (item.Close<=0) item.Close=null;
|
|
79070
|
-
//if (item.AvPrice<=0) item.AvPrice=null;
|
|
79071
|
-
//if (item.High<=0) item.High=null;
|
|
79072
|
-
//if (item.Low<=0) item.Low=null;
|
|
79073
|
-
|
|
79074
|
-
//if (isFutures) item.AvPrice=null; //期货均价暂时没有
|
|
79075
|
-
|
|
79076
79081
|
if (yClose && item.Close)
|
|
79077
79082
|
item.Increase=(item.Close-yClose)/yClose*100; //涨幅 (最新价格-昨收)/昨收*100;
|
|
79078
79083
|
|
|
79079
|
-
|
|
79080
|
-
|
|
79081
|
-
var checkValue=Math.abs(item.AvPrice-item.Close);
|
|
79082
|
-
//JSConsole.Chart.Log(`[MinuteChartContainer::JsonDataToMinuteData] checkValue=${checkValue}, ${item.Close*0.13} `)
|
|
79083
|
-
if (isSHSZ && checkValue>item.Close*0.13 )
|
|
79084
|
-
item.AvPrice=preAvPrice;
|
|
79084
|
+
if (isFutures && yClearing && item.Close)
|
|
79085
|
+
item.Increase=(item.Close-yClearing)/yClearing*100; //涨幅 (最新价格-昨结算价)/昨结算价*100;
|
|
79085
79086
|
|
|
79086
79087
|
//上次价格
|
|
79087
79088
|
if (IFrameSplitOperator.IsNumber(jsData.price)) preClose=jsData.price;
|
|
@@ -79195,7 +79196,7 @@ MinuteChartContainer.JsonDataToMinuteDataArray=function(data)
|
|
|
79195
79196
|
var symbol=data.symbol;
|
|
79196
79197
|
var upperSymbol=symbol.toUpperCase();
|
|
79197
79198
|
var isSHSZ=MARKET_SUFFIX_NAME.IsSHSZ(upperSymbol);
|
|
79198
|
-
var isSHO=MARKET_SUFFIX_NAME.IsSHO(upperSymbol);
|
|
79199
|
+
var isSHO=MARKET_SUFFIX_NAME.IsSHO(upperSymbol); //上海股票期权
|
|
79199
79200
|
var isSZO=MARKET_SUFFIX_NAME.IsSZO(upperSymbol); //深证股票期权
|
|
79200
79201
|
var isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol); //国内期货, 纽约期货交易所
|
|
79201
79202
|
var result=[];
|
|
@@ -79205,22 +79206,25 @@ MinuteChartContainer.JsonDataToMinuteDataArray=function(data)
|
|
|
79205
79206
|
var minuteData=[];
|
|
79206
79207
|
var dayData=data.data[i];
|
|
79207
79208
|
var date=dayData.date;
|
|
79209
|
+
var yClearing=dayData.yclearing; //昨结算价
|
|
79208
79210
|
var yClose=dayData.yclose; //前收盘 计算涨幅
|
|
79209
79211
|
var preClose=yClose; //前一个数据价格
|
|
79210
79212
|
var preAvPrice=null; //上一个均价
|
|
79211
|
-
var yClearing=dayData.yclearing; //昨结算价
|
|
79212
79213
|
|
|
79213
|
-
|
|
79214
|
+
if (isFutures && yClearing) preClose=preAvPrice=yClearing; //期货使用昨结算价
|
|
79215
|
+
|
|
79214
79216
|
for(var j in dayData.minute)
|
|
79215
79217
|
{
|
|
79216
79218
|
var jsData=dayData.minute[j];
|
|
79217
79219
|
if (jsData[2]) preClose=jsData[2]; //保存上一个收盘数据
|
|
79218
79220
|
var item=new MinuteData();
|
|
79221
|
+
item.YClearing=yClearing;
|
|
79219
79222
|
item.YClose=yClose;
|
|
79220
79223
|
item.Close=jsData[2];
|
|
79221
79224
|
item.Open=jsData[1];
|
|
79222
79225
|
item.High=jsData[3];
|
|
79223
79226
|
item.Low=jsData[4];
|
|
79227
|
+
item.Increase=null;
|
|
79224
79228
|
if (isSHSZ) item.Vol=jsData[5]/100; //原始单位股
|
|
79225
79229
|
else item.Vol=jsData[5];
|
|
79226
79230
|
item.Amount=jsData[6];
|
|
@@ -79243,23 +79247,12 @@ MinuteChartContainer.JsonDataToMinuteDataArray=function(data)
|
|
|
79243
79247
|
|
|
79244
79248
|
if (!item.AvPrice && preAvPrice) item.AvPrice=preAvPrice;
|
|
79245
79249
|
|
|
79246
|
-
if (item.Close && yClose)
|
|
79247
|
-
|
|
79248
|
-
|
|
79249
|
-
//价格是0的 都用空
|
|
79250
|
-
//if (item.Open<=0) item.Open=null;
|
|
79251
|
-
//if (item.Close<=0) item.Close=null;
|
|
79252
|
-
//if (item.AvPrice<=0) item.AvPrice=null;
|
|
79253
|
-
//if (item.High<=0) item.High=null;
|
|
79254
|
-
//if (item.Low<=0) item.Low=null;
|
|
79255
|
-
//if (item.AvPrice<=0) item.AvPrice=null;
|
|
79250
|
+
if (item.Close && yClose)
|
|
79251
|
+
item.Increase = (item.Close - yClose)/yClose*100;
|
|
79256
79252
|
|
|
79257
|
-
|
|
79258
|
-
|
|
79259
|
-
|
|
79260
|
-
var checkValue=Math.abs(item.AvPrice-item.Close);
|
|
79261
|
-
if (checkValue>item.Close*0.13 ) item.AvPrice=preAvPrice;
|
|
79262
|
-
}
|
|
79253
|
+
if (item.Close && yClearing && isFutures)
|
|
79254
|
+
item.Increase = (item.Close - yClearing)/yClearing*100;
|
|
79255
|
+
|
|
79263
79256
|
|
|
79264
79257
|
if (jsData.length>7 && jsData[7]>0 && item.AvPrice===jsData[7]) preAvPrice=jsData[7];
|
|
79265
79258
|
if (jsData[extendDataIndex]) item.ExtendData=jsData[extendDataIndex];
|
|
@@ -79270,9 +79263,9 @@ MinuteChartContainer.JsonDataToMinuteDataArray=function(data)
|
|
|
79270
79263
|
var newData=new ChartData();
|
|
79271
79264
|
newData.Data=minuteData;
|
|
79272
79265
|
newData.YClose=yClose;
|
|
79266
|
+
if (IFrameSplitOperator.IsNumber(yClearing)) newData.YClearing=yClearing;
|
|
79273
79267
|
newData.Close=dayData.close;
|
|
79274
79268
|
newData.Date=date;
|
|
79275
|
-
if (IFrameSplitOperator.IsNumber(yClearing)) newData.YClearing=yClearing;
|
|
79276
79269
|
|
|
79277
79270
|
result.push(newData);
|
|
79278
79271
|
}
|
|
@@ -79321,6 +79314,7 @@ MinuteChartContainer.JsonDataToCallAuctionItem=function(data, callAuctionData, i
|
|
|
79321
79314
|
|
|
79322
79315
|
var date=callAuctionData.Date;
|
|
79323
79316
|
var yClose=callAuctionData.YClose;
|
|
79317
|
+
var yClearing=callAuctionData.YClearing;
|
|
79324
79318
|
var extendDataIndex=isBeforeOpen? JSCHART_DATA_FIELD_ID.MINUTE_BEFOREOPEN_EXTENDDATA:JSCHART_DATA_FIELD_ID.MINUTE_AFTERCLOSE_EXTENDDATA; //扩展数据序号
|
|
79325
79319
|
if (callAuctionData.Ver==1.0)
|
|
79326
79320
|
{
|
|
@@ -79330,6 +79324,7 @@ MinuteChartContainer.JsonDataToCallAuctionItem=function(data, callAuctionData, i
|
|
|
79330
79324
|
var item=isBeforeOpen? new BeforeOpenData() : new AfterCloseData();
|
|
79331
79325
|
var jsData=data[i];
|
|
79332
79326
|
item.YClose=yClose;
|
|
79327
|
+
item.YClearing=yClearing;
|
|
79333
79328
|
item.Time=jsData[0];
|
|
79334
79329
|
item.Date=date;
|
|
79335
79330
|
item.Price=jsData[1];
|
|
@@ -79353,6 +79348,7 @@ MinuteChartContainer.JsonDataToCallAuctionItem=function(data, callAuctionData, i
|
|
|
79353
79348
|
var item=isBeforeOpen? new BeforeOpenData() : new AfterCloseData();
|
|
79354
79349
|
var jsData=data[i];
|
|
79355
79350
|
item.YClose=yClose;
|
|
79351
|
+
item.YClearing=yClearing;
|
|
79356
79352
|
item.Time=jsData[0];
|
|
79357
79353
|
item.Date=date;
|
|
79358
79354
|
item.Price=jsData[1];
|
|
@@ -79380,6 +79376,7 @@ MinuteChartContainer.JsonDataToCallAuctionItem=function(data, callAuctionData, i
|
|
|
79380
79376
|
var item=isBeforeOpen? new BeforeOpenData() : new AfterCloseData();
|
|
79381
79377
|
var jsData=data[i];
|
|
79382
79378
|
item.YClose=yClose;
|
|
79379
|
+
item.YClearing=yClearing;
|
|
79383
79380
|
item.Time=jsData[0];
|
|
79384
79381
|
item.Date=date;
|
|
79385
79382
|
item.Price=jsData[1];
|
|
@@ -79409,7 +79406,7 @@ MinuteChartContainer.JosnDataToBeforeOpenDataArray=function(data)
|
|
|
79409
79406
|
for(var i in data.data)
|
|
79410
79407
|
{
|
|
79411
79408
|
var dayItem=data.data[i];
|
|
79412
|
-
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 };
|
|
79413
79410
|
if (dayItem.beforeinfo)
|
|
79414
79411
|
{
|
|
79415
79412
|
if (IFrameSplitOperator.IsNumber(dayItem.beforeinfo.totalcount)) beforeOpenData.TotalCount=dayItem.beforeinfo.totalcount;
|
|
@@ -79434,7 +79431,7 @@ MinuteChartContainer.JosnDataToAfterCloseDataArray=function(data)
|
|
|
79434
79431
|
for(var i in data.data)
|
|
79435
79432
|
{
|
|
79436
79433
|
var dayItem=data.data[i];
|
|
79437
|
-
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 };
|
|
79438
79435
|
|
|
79439
79436
|
if (dayItem.afterinfo)
|
|
79440
79437
|
{
|
|
@@ -88553,6 +88550,8 @@ var MARKET_SUFFIX_NAME=
|
|
|
88553
88550
|
|
|
88554
88551
|
IsFutures:function(upperSymbol) //是否是期货 包含国外的
|
|
88555
88552
|
{
|
|
88553
|
+
if (!upperSymbol) return false;
|
|
88554
|
+
|
|
88556
88555
|
return this.IsChinaFutures(upperSymbol) ||
|
|
88557
88556
|
this.IsNYMEX(upperSymbol) || this.IsCOMEX(upperSymbol) || this.IsNYBOT(upperSymbol) || this.IsCBOT(upperSymbol) ||
|
|
88558
88557
|
this.IsLME(upperSymbol) || this.IsTOCOM(upperSymbol);
|
|
@@ -127803,7 +127802,7 @@ function ScrollBarBGChart()
|
|
|
127803
127802
|
|
|
127804
127803
|
|
|
127805
127804
|
|
|
127806
|
-
var HQCHART_VERSION="1.1.
|
|
127805
|
+
var HQCHART_VERSION="1.1.12464";
|
|
127807
127806
|
|
|
127808
127807
|
function PrintHQChartVersion()
|
|
127809
127808
|
{
|
|
@@ -42139,10 +42139,13 @@ function MinuteTooltipPaint()
|
|
|
42139
42139
|
}
|
|
42140
42140
|
|
|
42141
42141
|
var upperSymbol;
|
|
42142
|
-
this.YClose=this.TitlePaint.YClose;
|
|
42143
|
-
this.YClose=item.YClose;
|
|
42144
42142
|
if (this.HQChart.Symbol) upperSymbol=this.HQChart.Symbol.toUpperCase();
|
|
42143
|
+
var isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol); //国内期货, 纽约期货交易所
|
|
42145
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;
|
|
42146
42149
|
|
|
42147
42150
|
var aryText=[];
|
|
42148
42151
|
var result={ AryText:aryText };
|
|
@@ -42477,9 +42480,11 @@ function MinuteLeftTooltipPaint()
|
|
|
42477
42480
|
if (!drawData || !drawData.Data) return null;
|
|
42478
42481
|
|
|
42479
42482
|
var aryText=[];
|
|
42483
|
+
var isFutures=false;
|
|
42480
42484
|
var upperSymbol;
|
|
42481
42485
|
if (this.HQChart.Symbol) upperSymbol=this.HQChart.Symbol.toUpperCase();
|
|
42482
42486
|
var defaultfloatPrecision=GetfloatPrecision(upperSymbol);//价格小数位数
|
|
42487
|
+
if (upperSymbol) isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol); //国内期货, 纽约期货交易所
|
|
42483
42488
|
|
|
42484
42489
|
if (drawData.Type==0) //连续交易
|
|
42485
42490
|
{
|
|
@@ -42487,6 +42492,7 @@ function MinuteLeftTooltipPaint()
|
|
|
42487
42492
|
if (!item) return;
|
|
42488
42493
|
|
|
42489
42494
|
this.YClose=item.YClose;
|
|
42495
|
+
if (isFutures && IFrameSplitOperator.IsNumber(item.YClearing)) this.YClose=item.YClearing;
|
|
42490
42496
|
var titleItem=this.FormatDate(item.Date);
|
|
42491
42497
|
if (titleItem) aryText.push(titleItem);
|
|
42492
42498
|
|
|
@@ -42524,6 +42530,7 @@ function MinuteLeftTooltipPaint()
|
|
|
42524
42530
|
if (!item) return;
|
|
42525
42531
|
|
|
42526
42532
|
this.YClose=item.YClose;
|
|
42533
|
+
if (isFutures && IFrameSplitOperator.IsNumber(item.YClearing)) this.YClose=item.YClearing;
|
|
42527
42534
|
var titleItem=this.FormatDate(item.Date);
|
|
42528
42535
|
if (titleItem) aryText.push(titleItem);
|
|
42529
42536
|
|
|
@@ -52215,7 +52222,10 @@ function DynamicMinuteTitlePainting()
|
|
|
52215
52222
|
{
|
|
52216
52223
|
if (!data || !data.Data) return;
|
|
52217
52224
|
|
|
52218
|
-
var
|
|
52225
|
+
var upperSymbol=this.Symbol.toUpperCase();
|
|
52226
|
+
var defaultfloatPrecision=GetfloatPrecision(this.Symbol); //价格小数位数
|
|
52227
|
+
var isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol); //国内期货, 纽约期货交易所
|
|
52228
|
+
|
|
52219
52229
|
var item=data.Data;
|
|
52220
52230
|
var isLastOne=data.IsLastOne;
|
|
52221
52231
|
var aryText=[]; //{Color:, Text: }
|
|
@@ -52261,6 +52271,8 @@ function DynamicMinuteTitlePainting()
|
|
|
52261
52271
|
var amount=item.Amount;
|
|
52262
52272
|
var yClose=item.YClose;
|
|
52263
52273
|
if (!IFrameSplitOperator.IsNumber(yClose)) yClose=this.YClose;
|
|
52274
|
+
if (isFutures && IFrameSplitOperator.IsNumber(item.YClearing)) yClose=item.YClearing; //期货使用昨结算
|
|
52275
|
+
|
|
52264
52276
|
|
|
52265
52277
|
if (IFrameSplitOperator.IsNumber(close))
|
|
52266
52278
|
{
|
|
@@ -79068,7 +79080,9 @@ MinuteChartContainer.JsonDataToMinuteData=function(data,isBeforeData)
|
|
|
79068
79080
|
var preClose=data.stock[0].yclose; //前一个数据价格
|
|
79069
79081
|
var preAvPrice=data.stock[0].yclose; //前一个均价
|
|
79070
79082
|
var yClose=data.stock[0].yclose;
|
|
79071
|
-
|
|
79083
|
+
var yClearing=data.stock[0].yclearing;
|
|
79084
|
+
|
|
79085
|
+
if (isFutures && yClearing) preClose=preAvPrice=yClearing; //期货使用昨结算价
|
|
79072
79086
|
|
|
79073
79087
|
if (!IFrameSplitOperator.IsNonEmptyArray(data.stock[0].minute)) return aryMinuteData;
|
|
79074
79088
|
|
|
@@ -79077,7 +79091,7 @@ MinuteChartContainer.JsonDataToMinuteData=function(data,isBeforeData)
|
|
|
79077
79091
|
{
|
|
79078
79092
|
var jsData=data.stock[0].minute[i];
|
|
79079
79093
|
var item=new MinuteData();
|
|
79080
|
-
|
|
79094
|
+
item.YClearing=yClearing;
|
|
79081
79095
|
item.YClose=yClose;
|
|
79082
79096
|
item.Close=jsData.price;
|
|
79083
79097
|
item.Open=jsData.open;
|
|
@@ -79108,24 +79122,11 @@ MinuteChartContainer.JsonDataToMinuteData=function(data,isBeforeData)
|
|
|
79108
79122
|
|
|
79109
79123
|
if (!item.AvPrice) item.AvPrice=preAvPrice;
|
|
79110
79124
|
|
|
79111
|
-
//价格是0的 都用空
|
|
79112
|
-
//if (item.Open<=0) item.Open=null;
|
|
79113
|
-
//if (item.Close<=0) item.Close=null;
|
|
79114
|
-
//if (item.AvPrice<=0) item.AvPrice=null;
|
|
79115
|
-
//if (item.High<=0) item.High=null;
|
|
79116
|
-
//if (item.Low<=0) item.Low=null;
|
|
79117
|
-
|
|
79118
|
-
//if (isFutures) item.AvPrice=null; //期货均价暂时没有
|
|
79119
|
-
|
|
79120
79125
|
if (yClose && item.Close)
|
|
79121
79126
|
item.Increase=(item.Close-yClose)/yClose*100; //涨幅 (最新价格-昨收)/昨收*100;
|
|
79122
79127
|
|
|
79123
|
-
|
|
79124
|
-
|
|
79125
|
-
var checkValue=Math.abs(item.AvPrice-item.Close);
|
|
79126
|
-
//JSConsole.Chart.Log(`[MinuteChartContainer::JsonDataToMinuteData] checkValue=${checkValue}, ${item.Close*0.13} `)
|
|
79127
|
-
if (isSHSZ && checkValue>item.Close*0.13 )
|
|
79128
|
-
item.AvPrice=preAvPrice;
|
|
79128
|
+
if (isFutures && yClearing && item.Close)
|
|
79129
|
+
item.Increase=(item.Close-yClearing)/yClearing*100; //涨幅 (最新价格-昨结算价)/昨结算价*100;
|
|
79129
79130
|
|
|
79130
79131
|
//上次价格
|
|
79131
79132
|
if (IFrameSplitOperator.IsNumber(jsData.price)) preClose=jsData.price;
|
|
@@ -79239,7 +79240,7 @@ MinuteChartContainer.JsonDataToMinuteDataArray=function(data)
|
|
|
79239
79240
|
var symbol=data.symbol;
|
|
79240
79241
|
var upperSymbol=symbol.toUpperCase();
|
|
79241
79242
|
var isSHSZ=MARKET_SUFFIX_NAME.IsSHSZ(upperSymbol);
|
|
79242
|
-
var isSHO=MARKET_SUFFIX_NAME.IsSHO(upperSymbol);
|
|
79243
|
+
var isSHO=MARKET_SUFFIX_NAME.IsSHO(upperSymbol); //上海股票期权
|
|
79243
79244
|
var isSZO=MARKET_SUFFIX_NAME.IsSZO(upperSymbol); //深证股票期权
|
|
79244
79245
|
var isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol); //国内期货, 纽约期货交易所
|
|
79245
79246
|
var result=[];
|
|
@@ -79249,22 +79250,25 @@ MinuteChartContainer.JsonDataToMinuteDataArray=function(data)
|
|
|
79249
79250
|
var minuteData=[];
|
|
79250
79251
|
var dayData=data.data[i];
|
|
79251
79252
|
var date=dayData.date;
|
|
79253
|
+
var yClearing=dayData.yclearing; //昨结算价
|
|
79252
79254
|
var yClose=dayData.yclose; //前收盘 计算涨幅
|
|
79253
79255
|
var preClose=yClose; //前一个数据价格
|
|
79254
79256
|
var preAvPrice=null; //上一个均价
|
|
79255
|
-
var yClearing=dayData.yclearing; //昨结算价
|
|
79256
79257
|
|
|
79257
|
-
|
|
79258
|
+
if (isFutures && yClearing) preClose=preAvPrice=yClearing; //期货使用昨结算价
|
|
79259
|
+
|
|
79258
79260
|
for(var j in dayData.minute)
|
|
79259
79261
|
{
|
|
79260
79262
|
var jsData=dayData.minute[j];
|
|
79261
79263
|
if (jsData[2]) preClose=jsData[2]; //保存上一个收盘数据
|
|
79262
79264
|
var item=new MinuteData();
|
|
79265
|
+
item.YClearing=yClearing;
|
|
79263
79266
|
item.YClose=yClose;
|
|
79264
79267
|
item.Close=jsData[2];
|
|
79265
79268
|
item.Open=jsData[1];
|
|
79266
79269
|
item.High=jsData[3];
|
|
79267
79270
|
item.Low=jsData[4];
|
|
79271
|
+
item.Increase=null;
|
|
79268
79272
|
if (isSHSZ) item.Vol=jsData[5]/100; //原始单位股
|
|
79269
79273
|
else item.Vol=jsData[5];
|
|
79270
79274
|
item.Amount=jsData[6];
|
|
@@ -79287,23 +79291,12 @@ MinuteChartContainer.JsonDataToMinuteDataArray=function(data)
|
|
|
79287
79291
|
|
|
79288
79292
|
if (!item.AvPrice && preAvPrice) item.AvPrice=preAvPrice;
|
|
79289
79293
|
|
|
79290
|
-
if (item.Close && yClose)
|
|
79291
|
-
|
|
79292
|
-
|
|
79293
|
-
//价格是0的 都用空
|
|
79294
|
-
//if (item.Open<=0) item.Open=null;
|
|
79295
|
-
//if (item.Close<=0) item.Close=null;
|
|
79296
|
-
//if (item.AvPrice<=0) item.AvPrice=null;
|
|
79297
|
-
//if (item.High<=0) item.High=null;
|
|
79298
|
-
//if (item.Low<=0) item.Low=null;
|
|
79299
|
-
//if (item.AvPrice<=0) item.AvPrice=null;
|
|
79294
|
+
if (item.Close && yClose)
|
|
79295
|
+
item.Increase = (item.Close - yClose)/yClose*100;
|
|
79300
79296
|
|
|
79301
|
-
|
|
79302
|
-
|
|
79303
|
-
|
|
79304
|
-
var checkValue=Math.abs(item.AvPrice-item.Close);
|
|
79305
|
-
if (checkValue>item.Close*0.13 ) item.AvPrice=preAvPrice;
|
|
79306
|
-
}
|
|
79297
|
+
if (item.Close && yClearing && isFutures)
|
|
79298
|
+
item.Increase = (item.Close - yClearing)/yClearing*100;
|
|
79299
|
+
|
|
79307
79300
|
|
|
79308
79301
|
if (jsData.length>7 && jsData[7]>0 && item.AvPrice===jsData[7]) preAvPrice=jsData[7];
|
|
79309
79302
|
if (jsData[extendDataIndex]) item.ExtendData=jsData[extendDataIndex];
|
|
@@ -79314,9 +79307,9 @@ MinuteChartContainer.JsonDataToMinuteDataArray=function(data)
|
|
|
79314
79307
|
var newData=new ChartData();
|
|
79315
79308
|
newData.Data=minuteData;
|
|
79316
79309
|
newData.YClose=yClose;
|
|
79310
|
+
if (IFrameSplitOperator.IsNumber(yClearing)) newData.YClearing=yClearing;
|
|
79317
79311
|
newData.Close=dayData.close;
|
|
79318
79312
|
newData.Date=date;
|
|
79319
|
-
if (IFrameSplitOperator.IsNumber(yClearing)) newData.YClearing=yClearing;
|
|
79320
79313
|
|
|
79321
79314
|
result.push(newData);
|
|
79322
79315
|
}
|
|
@@ -79365,6 +79358,7 @@ MinuteChartContainer.JsonDataToCallAuctionItem=function(data, callAuctionData, i
|
|
|
79365
79358
|
|
|
79366
79359
|
var date=callAuctionData.Date;
|
|
79367
79360
|
var yClose=callAuctionData.YClose;
|
|
79361
|
+
var yClearing=callAuctionData.YClearing;
|
|
79368
79362
|
var extendDataIndex=isBeforeOpen? JSCHART_DATA_FIELD_ID.MINUTE_BEFOREOPEN_EXTENDDATA:JSCHART_DATA_FIELD_ID.MINUTE_AFTERCLOSE_EXTENDDATA; //扩展数据序号
|
|
79369
79363
|
if (callAuctionData.Ver==1.0)
|
|
79370
79364
|
{
|
|
@@ -79374,6 +79368,7 @@ MinuteChartContainer.JsonDataToCallAuctionItem=function(data, callAuctionData, i
|
|
|
79374
79368
|
var item=isBeforeOpen? new BeforeOpenData() : new AfterCloseData();
|
|
79375
79369
|
var jsData=data[i];
|
|
79376
79370
|
item.YClose=yClose;
|
|
79371
|
+
item.YClearing=yClearing;
|
|
79377
79372
|
item.Time=jsData[0];
|
|
79378
79373
|
item.Date=date;
|
|
79379
79374
|
item.Price=jsData[1];
|
|
@@ -79397,6 +79392,7 @@ MinuteChartContainer.JsonDataToCallAuctionItem=function(data, callAuctionData, i
|
|
|
79397
79392
|
var item=isBeforeOpen? new BeforeOpenData() : new AfterCloseData();
|
|
79398
79393
|
var jsData=data[i];
|
|
79399
79394
|
item.YClose=yClose;
|
|
79395
|
+
item.YClearing=yClearing;
|
|
79400
79396
|
item.Time=jsData[0];
|
|
79401
79397
|
item.Date=date;
|
|
79402
79398
|
item.Price=jsData[1];
|
|
@@ -79424,6 +79420,7 @@ MinuteChartContainer.JsonDataToCallAuctionItem=function(data, callAuctionData, i
|
|
|
79424
79420
|
var item=isBeforeOpen? new BeforeOpenData() : new AfterCloseData();
|
|
79425
79421
|
var jsData=data[i];
|
|
79426
79422
|
item.YClose=yClose;
|
|
79423
|
+
item.YClearing=yClearing;
|
|
79427
79424
|
item.Time=jsData[0];
|
|
79428
79425
|
item.Date=date;
|
|
79429
79426
|
item.Price=jsData[1];
|
|
@@ -79453,7 +79450,7 @@ MinuteChartContainer.JosnDataToBeforeOpenDataArray=function(data)
|
|
|
79453
79450
|
for(var i in data.data)
|
|
79454
79451
|
{
|
|
79455
79452
|
var dayItem=data.data[i];
|
|
79456
|
-
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 };
|
|
79457
79454
|
if (dayItem.beforeinfo)
|
|
79458
79455
|
{
|
|
79459
79456
|
if (IFrameSplitOperator.IsNumber(dayItem.beforeinfo.totalcount)) beforeOpenData.TotalCount=dayItem.beforeinfo.totalcount;
|
|
@@ -79478,7 +79475,7 @@ MinuteChartContainer.JosnDataToAfterCloseDataArray=function(data)
|
|
|
79478
79475
|
for(var i in data.data)
|
|
79479
79476
|
{
|
|
79480
79477
|
var dayItem=data.data[i];
|
|
79481
|
-
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 };
|
|
79482
79479
|
|
|
79483
79480
|
if (dayItem.afterinfo)
|
|
79484
79481
|
{
|
|
@@ -88597,6 +88594,8 @@ var MARKET_SUFFIX_NAME=
|
|
|
88597
88594
|
|
|
88598
88595
|
IsFutures:function(upperSymbol) //是否是期货 包含国外的
|
|
88599
88596
|
{
|
|
88597
|
+
if (!upperSymbol) return false;
|
|
88598
|
+
|
|
88600
88599
|
return this.IsChinaFutures(upperSymbol) ||
|
|
88601
88600
|
this.IsNYMEX(upperSymbol) || this.IsCOMEX(upperSymbol) || this.IsNYBOT(upperSymbol) || this.IsCBOT(upperSymbol) ||
|
|
88602
88601
|
this.IsLME(upperSymbol) || this.IsTOCOM(upperSymbol);
|
|
@@ -127847,7 +127846,7 @@ function ScrollBarBGChart()
|
|
|
127847
127846
|
|
|
127848
127847
|
|
|
127849
127848
|
|
|
127850
|
-
var HQCHART_VERSION="1.1.
|
|
127849
|
+
var HQCHART_VERSION="1.1.12464";
|
|
127851
127850
|
|
|
127852
127851
|
function PrintHQChartVersion()
|
|
127853
127852
|
{
|
|
@@ -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);
|