hqchart 1.1.14468 → 1.1.14473

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.
@@ -1173,7 +1173,7 @@ option.CorssCursor={};option.CorssCursor.TitleHeight=chart.ChartCorssCursor.Text
1173
1173
  }if(item.IsShowRightText===false||item.IsShowRightText===true){chart.Frame.SubFrame[i].Frame.IsShowYText[1]=item.IsShowRightText;chart.Frame.SubFrame[i].Frame.YSplitOperator.IsShowRightText=item.IsShowRightText;//显示右边刻度
1174
1174
  }if(item.TopSpace>=0)chart.Frame.SubFrame[i].Frame.ChartBorder.TopSpace=item.TopSpace*pixelRatio;if(item.BottomSpace>=0)chart.Frame.SubFrame[i].Frame.ChartBorder.BottomSpace=item.BottomSpace*pixelRatio;if(item.RightTextPosition>0)chart.Frame.SubFrame[i].Frame.YTextPosition[1]=item.RightTextPosition;if(item.LeftTextPosition>0)chart.Frame.SubFrame[i].Frame.YTextPosition[0]=item.LeftTextPosition;if(item.IsShowXLine==false)chart.Frame.SubFrame[i].Frame.IsShowXLine=item.IsShowXLine;if(item.IsShowYLine==false)chart.Frame.SubFrame[i].Frame.IsShowYLine=item.IsShowYLine;if(IFrameSplitOperator.IsNumber(item.YTextBaseline))chart.Frame.SubFrame[i].Frame.YTextBaseline=item.YTextBaseline;if(item.YCoordinateType>0)chart.Frame.SubFrame[0].Frame.YSplitOperator.CoordinateType=item.YCoordinateType;if(item.IsYReverse==true)chart.Frame.SubFrame[0].Frame.CoordinateType=1;//反转坐标
1175
1175
  if(IFrameSplitOperator.IsNumber(item.PercentageTextFormat))subFrame.YSplitOperator.PercentageTextFormat=item.PercentageTextFormat;//百分比坐标格式
1176
- if(item.DefaultYMaxMin)chart.Frame.SubFrame[i].Frame.YSplitOperator.DefaultYMaxMin=item.DefaultYMaxMin;if(IFrameSplitOperator.IsBool(item.EnableRemoveZero))chart.Frame.SubFrame[i].Frame.YSplitOperator.EnableRemoveZero=item.EnableRemoveZero;if(IFrameSplitOperator.IsPlusNumber(item.MinYDistance))chart.Frame.SubFrame[i].Frame.MinYDistance=item.MinYDistance;if(IFrameSplitOperator.IsNumber(item.BorderLine))chart.Frame.SubFrame[i].Frame.BorderLine=item.BorderLine;if(IFrameSplitOperator.IsBool(item.IsShowIndexTitle))chart.Frame.SubFrame[i].Frame.IsShowIndexTitle=item.IsShowIndexTitle;if(IFrameSplitOperator.IsBool(item.IsDrawTitleBottomLine))subFrame.IsDrawTitleBottomLine=item.IsDrawTitleBottomLine;if(IFrameSplitOperator.IsBool(item.IsShowNameArrow))chart.Frame.SubFrame[i].Frame.IsShowNameArrow=item.IsShowNameArrow;if(item.ClientBGColor)subFrame.ClientBGColor=item.ClientBGColor;}}if(option.KLine){var item=option.KLine;var klineChart=chart.ChartPaint[0];if(option.KLine.ShowKLine==false)klineChart.IsShow=false;if(option.KLine.InfoPosition>0)klineChart.InfoPosition=option.KLine.InfoPosition;if(IFrameSplitOperator.IsBool(item.IsShowMaxMinPrice))klineChart.IsShowMaxMinPrice=item.IsShowMaxMinPrice;if(IFrameSplitOperator.IsNumber(item.OneLimitBarType))klineChart.OneLimitBarType=item.OneLimitBarType;if(item.PriceGap){if(IFrameSplitOperator.IsBool(item.PriceGap.Enable))klineChart.PriceGap.Enable=item.PriceGap.Enable;if(IFrameSplitOperator.IsNumber(item.PriceGap.Count))klineChart.PriceGap.Count=item.PriceGap.Count;}}if(option.KLineTitle){var item=option.KLineTitle;var chartTitle=chart.TitlePaint[0];if(option.KLineTitle.IsShowName==false)chart.TitlePaint[0].IsShowName=false;if(option.KLineTitle.IsShowSettingInfo==false)chart.TitlePaint[0].IsShowSettingInfo=false;if(option.KLineTitle.IsShow==false)chart.TitlePaint[0].IsShow=false;if(IFrameSplitOperator.IsBool(item.IsTitleShowLatestData))chart.IsTitleShowLatestData=item.IsTitleShowLatestData;if(item.ShowPosition||item.ShowPostion)//显示位置高级配置
1176
+ if(item.DefaultYMaxMin)chart.Frame.SubFrame[i].Frame.YSplitOperator.DefaultYMaxMin=item.DefaultYMaxMin;if(IFrameSplitOperator.IsBool(item.EnableRemoveZero))chart.Frame.SubFrame[i].Frame.YSplitOperator.EnableRemoveZero=item.EnableRemoveZero;if(IFrameSplitOperator.IsPlusNumber(item.MinYDistance))chart.Frame.SubFrame[i].Frame.MinYDistance=item.MinYDistance;if(IFrameSplitOperator.IsNumber(item.BorderLine))chart.Frame.SubFrame[i].Frame.BorderLine=item.BorderLine;if(IFrameSplitOperator.IsBool(item.IsShowIndexTitle))chart.Frame.SubFrame[i].Frame.IsShowIndexTitle=item.IsShowIndexTitle;if(IFrameSplitOperator.IsBool(item.IsDrawTitleBottomLine))subFrame.IsDrawTitleBottomLine=item.IsDrawTitleBottomLine;if(IFrameSplitOperator.IsBool(item.IsShowNameArrow))chart.Frame.SubFrame[i].Frame.IsShowNameArrow=item.IsShowNameArrow;if(item.ClientBGColor)subFrame.ClientBGColor=item.ClientBGColor;}}if(option.KLine){var item=option.KLine;var klineChart=chart.ChartPaint[0];if(option.KLine.ShowKLine==false)klineChart.IsShow=false;if(option.KLine.InfoPosition>0)klineChart.InfoPosition=option.KLine.InfoPosition;if(IFrameSplitOperator.IsBool(item.IsShowMaxMinPrice))klineChart.IsShowMaxMinPrice=item.IsShowMaxMinPrice;if(IFrameSplitOperator.IsNumber(item.OneLimitBarType))klineChart.OneLimitBarType=item.OneLimitBarType;if(IFrameSplitOperator.IsNumber(item.UnchangeBarType))klineChart.UnchangeBarType=item.UnchangeBarType;if(item.PriceGap){if(IFrameSplitOperator.IsBool(item.PriceGap.Enable))klineChart.PriceGap.Enable=item.PriceGap.Enable;if(IFrameSplitOperator.IsNumber(item.PriceGap.Count))klineChart.PriceGap.Count=item.PriceGap.Count;}}if(option.KLineTitle){var item=option.KLineTitle;var chartTitle=chart.TitlePaint[0];if(option.KLineTitle.IsShowName==false)chart.TitlePaint[0].IsShowName=false;if(option.KLineTitle.IsShowSettingInfo==false)chart.TitlePaint[0].IsShowSettingInfo=false;if(option.KLineTitle.IsShow==false)chart.TitlePaint[0].IsShow=false;if(IFrameSplitOperator.IsBool(item.IsTitleShowLatestData))chart.IsTitleShowLatestData=item.IsTitleShowLatestData;if(item.ShowPosition||item.ShowPostion)//显示位置高级配置
1177
1177
  {var subItem=item.ShowPostion;if(item.ShowPosition)subItem=item.ShowPosition;if(!chartTitle.ShowPositionConfig)chartTitle.ShowPositionConfig={Margin:{}};if(IFrameSplitOperator.IsNumber(subItem.Type))chartTitle.ShowPositionConfig.Type=subItem.Type;if(subItem.Margin){if(IFrameSplitOperator.IsNumber(subItem.Margin.Left))chartTitle.ShowPositionConfig.Margin.Left=subItem.Margin.Left;if(IFrameSplitOperator.IsNumber(subItem.Margin.Right))chartTitle.ShowPositionConfig.Margin.Right=subItem.Margin.Right;if(IFrameSplitOperator.IsNumber(subItem.Margin.Bottom))chartTitle.ShowPositionConfig.Margin.Bottom=subItem.Margin.Bottom;}}}//叠加股票
1178
1178
  if(option.Overlay){for(var i=0;i<option.Overlay.length;++i){var item=option.Overlay[i];chart.OverlaySymbol(item.Symbol,item);}}if(option.ExtendChart){for(var i=0;i<option.ExtendChart.length;++i){var item=option.ExtendChart[i];chart.CreateExtendChart(item.Name,item);}}//创建子窗口的指标
1179
1179
  var scriptData=new JSIndexScript();if(option.ColorIndex)//五彩K线
@@ -3017,7 +3017,7 @@ if(height<this.MinSubFrameHeight&&yMove<0||height2<this.MinSubFrameHeight&&yMove
3017
3017
  {var zoomInfo={FrameID:frameID,Data:[]};//备份下放大前各个窗口的高度
3018
3018
  for(var i=0;i<this.SubFrame.length;++i){var item=this.SubFrame[i];zoomInfo.Data[i]={Height:item.Height,ShowXText:item.Frame.XSplitOperator.ShowText};}this.ZoomWindowsInfo=zoomInfo;var totalHeight=0;for(var i=this.ZoomStartWindowIndex;i<this.SubFrame.length;++i){var item=this.SubFrame[i];var frame=item.Frame;frame.XYSplit=true;totalHeight+=item.Height;if(i!=frameID){item.Height=0;frame.IsMinSize=true;//最小化
3019
3019
  frame.HideToolbar();frame.XSplitOperator.ShowText=false;for(var j=0;j<item.OverlayIndex.length;++j){var overlayItem=item.OverlayIndex[j];overlayItem.Frame.IsMinSize=true;}}}subFrame.Height=totalHeight;subFrame.Frame.XSplitOperator.ShowText=true;return true;}};//保存高度比例
3020
- this.SaveSubFrameHeightRate=function(){var height=this.ChartBorder.GetHeight();for(var i=0;i<this.SubFrame.length;++i){var item=this.SubFrame[i];var subHeight=item.Frame.ChartBorder.GetHeight();var rate=subHeight/height*100;item.Height=rate;}};this.ShowIndexTitleOnly=function(frameID,option){var item=this.SubFrame[frameID];if(!item&&!item.Frame)return false;var frame=item.Frame;if(!frame.ChartBorder)return false;var subChartBorder=frame.ChartBorder;if(subChartBorder.TitleHeight<10)return false;this.RestoreIndexWindows();if(subChartBorder.IsShowTitleOnly){subChartBorder.IsShowTitleOnly=false;}else{subChartBorder.IsShowTitleOnly=true;}return true;};this.CalculateChartBorder=function()//计算每个子框架的边框信息
3020
+ this.SaveSubFrameHeightRate=function(){var height=this.ChartBorder.GetHeight();for(var i=0;i<this.SubFrame.length;++i){var item=this.SubFrame[i];var subHeight=item.Frame.ChartBorder.GetHeight();var rate=subHeight/height*100;item.Height=rate;}};this.ShowIndexTitleOnly=function(frameID,option){var item=this.SubFrame[frameID];if(!item&&!item.Frame)return false;var frame=item.Frame;if(!frame.ChartBorder)return false;var subChartBorder=frame.ChartBorder;if(subChartBorder.TitleHeight<10)return false;this.RestoreIndexWindows();var bChange=false;var bEnable=!subChartBorder.IsShowTitleOnly;if(option){if(IFrameSplitOperator.IsBool(option.Enable))bEnable=option.Enable;}if(subChartBorder.IsShowTitleOnly!=bEnable){subChartBorder.IsShowTitleOnly=bEnable;bChange=true;}return bChange;};this.CalculateChartBorder=function()//计算每个子框架的边框信息
3021
3021
  {if(this.SubFrame.length<=0)return;var top=this.ChartBorder.GetTop();var height=this.ChartBorder.GetHeight();var totalHeight=0;var totalTitleHeight=0;for(var i=0;i<this.SubFrame.length;++i){var item=this.SubFrame[i];var frame=item.Frame;if(frame&&frame.ChartBorder&&frame.ChartBorder.IsShowTitleOnly&&item.Height>0)totalTitleHeight+=frame.ChartBorder.TitleHeight;else totalHeight+=item.Height;}height-=totalTitleHeight;for(var i=0;i<this.SubFrame.length;++i){var item=this.SubFrame[i];var frame=item.Frame;item.Frame.ChartBorder.Top=top;item.Frame.ChartBorder.Left=this.ChartBorder.Left;item.Frame.ChartBorder.Right=this.ChartBorder.Right;item.Frame.ChartBorder.LeftExtendWidth=this.ChartBorder.LeftExtendWidth;item.Frame.ChartBorder.RightExtendWidth=this.ChartBorder.RightExtendWidth;if(frame&&frame.ChartBorder&&frame.ChartBorder.IsShowTitleOnly&&item.Height>0){var frameHeight=item.Frame.ChartBorder.Top+frame.ChartBorder.TitleHeight;item.Frame.ChartBorder.Bottom=this.ChartBorder.GetChartHeight()-frameHeight;top=frameHeight;}else{var frameHeight=height*(item.Height/totalHeight)+top;item.Frame.ChartBorder.Bottom=this.ChartBorder.GetChartHeight()-frameHeight;top=frameHeight;}}if(this.GetEventCallback){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_SIZE_FRAME);if(event&&event.Callback){var sendData={SubFrame:this.SubFrame};event.Callback(event,sendData,this);}}};this.SetExtendWidth=function(obj){if(!obj)return;var leftWidth=null,rightWidth=null;if(IFrameSplitOperator.IsNumber(obj.Left)){leftWidth=obj.Left;this.ChartBorder.LeftExtendWidth=leftWidth;}if(IFrameSplitOperator.IsNumber(obj.Right)){rightWidth=obj.Right;this.ChartBorder.RightExtendWidth=rightWidth;}for(var i in this.SubFrame){var item=this.SubFrame[i];if(leftWidth!=null)item.Frame.ChartBorder.LeftExtendWidth=leftWidth;if(rightWidth!=null)item.Frame.ChartBorder.RightExtendWidth=rightWidth;}};this.CalculateChartBorder2=function()//计算每个子框架的边框信息(思维导图用)
3022
3022
  {if(this.SubFrame.length<=0)return;var top=this.ChartBorder.Top;var bottom=this.ChartBorder.Bottom;var height=this.ChartBorder.GetHeight();var totalHeight=0;for(var i in this.SubFrame){var item=this.SubFrame[i];totalHeight+=item.Height;}var tempHeight=0;for(var i in this.SubFrame){var item=this.SubFrame[i];item.Frame.ChartBorder.Top=top;item.Frame.ChartBorder.Left=this.ChartBorder.Left;item.Frame.ChartBorder.Right=this.ChartBorder.Right;item.Frame.ChartBorder.X=this.ChartBorder.X;item.Frame.ChartBorder.Y=this.ChartBorder.Y;item.Frame.ChartBorder.Width=this.ChartBorder.Width;item.Frame.ChartBorder.Height=this.ChartBorder.Height;var frameHeight=height*(item.Height/totalHeight);tempHeight+=frameHeight;bottom=this.ChartBorder.Bottom+(height-tempHeight);item.Frame.ChartBorder.Bottom=bottom;top+=frameHeight;}};this.GetScaleTextWidth=function(){var width={Left:null,Right:null,OverlayRight:0};var aryOverlayWidth=[];// 叠加坐标
3023
3023
  for(var i=0;i<this.SubFrame.length;++i){var item=this.SubFrame[i];if(item.Height<=0)continue;var frame=item.Frame;if(!frame)continue;if(!frame.XSplitOperator)continue;var maxValue=frame.HorizontalMax;//最大最小要还原
@@ -3466,6 +3466,7 @@ this.CustomKLine;//自定义K线, key=date*1000000+time, key={ Color:, DrawType
3466
3466
  this.DrawKRange={Start:null,End:null};//当前屏K线的索引{ Start: , End:}
3467
3467
  this.IsThinAKBar=true;//美国线 柱子是否是线段 (false=柱子)
3468
3468
  this.OneLimitBarType=0;//一字板颜色类型 4个价格全部都在同一个价位上 0=使用平盘颜色 1=跟昨收比较
3469
+ this.UnchangeBarType=0;//0=使用unchange color 1=和昨收比较
3469
3470
  this.HighLowBarColor=g_JSChartResource.HighLowBarColor;this.HighLowTextConfig={FontName:g_JSChartResource.HighLowText.FontName,MaxSize:g_JSChartResource.HighLowText.MaxSize,MinSize:g_JSChartResource.HighLowText.MinSize,Color:g_JSChartResource.HighLowText.Color,//未用
3470
3471
  MaxText:g_JSChartResource.HighLowText.MaxText};this.HLCAreaConfig={HighLineColor:g_JSChartResource.HLCArea.HighLineColor,LowLineColor:g_JSChartResource.HLCArea.LowLineColor,CloseLineColor:g_JSChartResource.HLCArea.CloseLineColor,LineWidth:g_JSChartResource.HLCArea.LineWidth,UpAreaColor:g_JSChartResource.HLCArea.UpAreaColor,DownAreaColor:g_JSChartResource.HLCArea.DownAreaColor//虚线柱子
3471
3472
  };this.VirtualBarConfig={Color:g_JSChartResource.VirtualKLine.Color,LineDash:g_JSChartResource.VirtualKLine.LineDash};//DrawType==14 自定义图形
@@ -3545,12 +3546,14 @@ else this.Canvas.fillRect(ToFixedRect(y),ToFixedRect(left),ToFixedRect(yClose-y)
3545
3546
  }else{if(isEmptyBar)//空心柱
3546
3547
  {this.Canvas.beginPath();this.Canvas.rect(ToFixedPoint(left),ToFixedPoint(Math.min(y,yClose)),ToFixedRect(dataWidth),ToFixedRect(Math.abs(yClose-y)));this.Canvas.stroke();}else{this.Canvas.fillRect(ToFixedRect(left),ToFixedRect(Math.min(y,yClose)),ToFixedRect(dataWidth),ToFixedRect(Math.abs(yClose-y)));}}}if(data.Open>data.Low)//下影线
3547
3548
  {this.Canvas.beginPath();if(isHScreen){this.Canvas.moveTo(ToFixedPoint(y),ToFixedPoint(x));this.Canvas.lineTo(ToFixedPoint(yLow),ToFixedPoint(x));}else{if(isEmptyBar){var xFixed=left+dataWidth/2;this.Canvas.moveTo(ToFixedPoint(xFixed),ToFixedPoint(Math.max(yClose,yOpen)));this.Canvas.lineTo(ToFixedPoint(xFixed),ToFixedPoint(yLow));}else{this.Canvas.moveTo(ToFixedPoint(x),ToFixedPoint(y));this.Canvas.lineTo(ToFixedPoint(x),ToFixedPoint(yLow));}}this.Canvas.stroke();}}else{this.Canvas.beginPath();if(isHScreen){this.Canvas.moveTo(yHigh,ToFixedPoint(x));this.Canvas.lineTo(yLow,ToFixedPoint(x));}else{this.Canvas.moveTo(ToFixedPoint(x),yHigh);this.Canvas.lineTo(ToFixedPoint(x),yLow);}this.Canvas.strokeStyle=downColor;this.Canvas.stroke();}};this.DrawKBar_Unchagne=function(data,dataWidth,unchagneColor,drawType,x,y,left,right,yLow,yHigh,yOpen,yClose,isHScreen)//平线
3548
- {if(this.OneLimitBarType===1&&this.IsOneLimitBar(data))//一字板
3549
+ {if(this.UnchangeBarType==1)//十字星颜色
3550
+ {unchagneColor=this.GetUnchangeBarColor(data);}if(this.OneLimitBarType===1&&this.IsOneLimitBar(data))//一字板
3549
3551
  {unchagneColor=this.GetOneLimitBarColor(data);}if(dataWidth>=4){if(dataWidth%2!=0)dataWidth-=1;this.Canvas.strokeStyle=unchagneColor;this.Canvas.beginPath();if(data.High>data.Close)//上影线
3550
3552
  {if(isHScreen){this.Canvas.moveTo(y,ToFixedPoint(x));this.Canvas.lineTo(yOpen,ToFixedPoint(x));}else{var xFixed=ToFixedPoint(left+dataWidth/2);this.Canvas.moveTo(xFixed,y);this.Canvas.lineTo(xFixed,yOpen);}y=yOpen;}else{y=yOpen;}if(isHScreen){this.Canvas.moveTo(ToFixedPoint(y),ToFixedPoint(left));this.Canvas.lineTo(ToFixedPoint(y),ToFixedPoint(right));}else{this.Canvas.moveTo(ToFixedPoint(left),ToFixedPoint(y));this.Canvas.lineTo(ToFixedPoint(left+dataWidth),ToFixedPoint(y));}if(data.Open>data.Low)//下影线
3551
3553
  {if(isHScreen){this.Canvas.moveTo(ToFixedPoint(y),ToFixedPoint(x));this.Canvas.lineTo(ToFixedPoint(yLow),ToFixedPoint(x));}else{var xFixed=ToFixedPoint(left+dataWidth/2);this.Canvas.moveTo(xFixed,ToFixedPoint(y));this.Canvas.lineTo(xFixed,ToFixedPoint(yLow));}}this.Canvas.stroke();}else{this.Canvas.beginPath();if(isHScreen){if(data.High==data.Low){this.Canvas.moveTo(yHigh,ToFixedPoint(x));this.Canvas.lineTo(yLow-1,ToFixedPoint(x));}else{this.Canvas.moveTo(yHigh,ToFixedPoint(x));this.Canvas.lineTo(yLow,ToFixedPoint(x));}}else{if(data.High==data.Low){this.Canvas.moveTo(ToFixedPoint(x),yHigh);this.Canvas.lineTo(ToFixedPoint(x),yLow+1);}else{this.Canvas.moveTo(ToFixedPoint(x),yHigh);this.Canvas.lineTo(ToFixedPoint(x),yLow);}}this.Canvas.strokeStyle=unchagneColor;this.Canvas.stroke();}};//是否是一字板
3552
3554
  this.IsOneLimitBar=function(kItem){if(kItem.Open==kItem.Close&&kItem.High==kItem.Low&&kItem.Open==kItem.High)return true;return false;};//一字板颜色 和昨收比较
3553
- this.GetOneLimitBarColor=function(kItem){if(!kItem||!IFrameSplitOperator.IsNumber(kItem.YClose))return this.UnchagneColor;if(kItem.Close>kItem.YClose)return this.UpColor;else if(kItem.Close<kItem.YClose)return this.DownColor;else return this.UnchagneColor;};this.DrawKBar_Custom=function(data,dataWidth,barColor,drawType,option,x,y,left,right,yLow,yHigh,yOpen,yClose,border,isHScreen){if(option.BGColor)//画背景色
3555
+ this.GetOneLimitBarColor=function(kItem){if(!kItem||!IFrameSplitOperator.IsNumber(kItem.YClose))return this.UnchagneColor;if(kItem.Close>kItem.YClose)return this.UpColor;else if(kItem.Close<kItem.YClose)return this.DownColor;else return this.UnchagneColor;};//十字星颜色
3556
+ this.GetUnchangeBarColor=function(kItem){if(!kItem||!IFrameSplitOperator.IsNumber(kItem.YClose))return this.UnchagneColor;if(kItem.Close>kItem.YClose)return this.UpColor;else if(kItem.Close<kItem.YClose)return this.DownColor;else return this.UnchagneColor;};this.DrawKBar_Custom=function(data,dataWidth,barColor,drawType,option,x,y,left,right,yLow,yHigh,yOpen,yClose,border,isHScreen){if(option.BGColor)//画背景色
3554
3557
  {this.Canvas.fillStyle=option.BGColor;var distanceWidth=this.ChartFrame.DistanceWidth;if(isHScreen){var yLeft=left-distanceWidth/2;var yRight=right+distanceWidth/2;var xTop=border.RightEx;var xBottom=border.LeftEx;this.Canvas.fillRect(ToFixedRect(xBottom),ToFixedRect(yLeft),ToFixedRect(xTop-xBottom),ToFixedRect(yRight-yLeft));}else{var xLeft=left-distanceWidth/2;var xRight=right+distanceWidth/2;var yTop=border.TopEx;var yBottom=border.BottomEx;this.Canvas.fillRect(ToFixedRect(xLeft),ToFixedRect(yTop),ToFixedRect(xRight-xLeft),ToFixedRect(yBottom-yTop));}}if(dataWidth>=4){this.Canvas.strokeStyle=barColor;if(data.High>data.Close)//上影线
3555
3558
  {this.Canvas.beginPath();if(isHScreen){this.Canvas.moveTo(ToFixedPoint(y),ToFixedPoint(x));this.Canvas.lineTo(ToFixedPoint(drawType==3?Math.max(yClose,yOpen):yClose),ToFixedPoint(x));}else{this.Canvas.moveTo(ToFixedPoint(x),ToFixedPoint(y));this.Canvas.lineTo(ToFixedPoint(x),ToFixedPoint(drawType==3?Math.min(yClose,yOpen):yClose));}this.Canvas.stroke();y=yClose;}else{y=yClose;}this.Canvas.fillStyle=barColor;if(isHScreen){if(Math.abs(yOpen-y)<1){this.Canvas.fillRect(ToFixedRect(y),ToFixedRect(left),1,ToFixedRect(dataWidth));//高度小于1,统一使用高度1
3556
3559
  }else{if(drawType==3)//空心柱
@@ -4074,7 +4077,9 @@ if(bSolidBar){this.Canvas.fillStyle=barColor.Color;this.Canvas.fillRect(yBottom,
4074
4077
  else barColor=this.GetBarColor(kItem,value);var bUp=barColor.IsUp;this.Canvas.strokeStyle=barColor.Color;//var x=this.ChartFrame.GetXFromIndex(j);
4075
4078
  this.Canvas.beginPath();this.Canvas.moveTo(y,ToFixedPoint(x));this.Canvas.lineTo(yBottom,ToFixedPoint(x));this.Canvas.stroke();preKItem=kItem;}}};this.GetMaxMin=function(){var xPointCount=this.ChartFrame.XPointCount;var start=this.Data.DataOffset;if(this.ChartFrame.GlobalOption&&this.ChartFrame.GlobalOption.IsValueFullRange){start=0;xPointCount=this.Data.Data.length;}var range={Min:null,Max:null};for(var i=start,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j){var value=this.Data.Data[i];if(!IFrameSplitOperator.IsNumber(range.Max)||range.Max<value)range.Max=value;if(!IFrameSplitOperator.IsNumber(range.Min)||range.Min>value)range.Min=value;}if(range.Max>0&&range.Min>0)range.Min=0;else if(range.Max<0&&range.Min<0)range.Max=0;return range;};this.GetBarColor=function(kItem,value){if(this.BarColorType===1)//更具正负决定柱子颜色
4076
4079
  {if(value>=0)return{Color:this.UpColor,IsUp:true};//颜色, 是否是上涨
4077
- else return{Color:this.DownColor,IsUp:false};}if(kItem.Close>=kItem.Open)return{Color:this.UpColor,IsUp:true};//颜色, 是否是上涨
4080
+ else return{Color:this.DownColor,IsUp:false};}//平盘K线,使用昨收盘比较
4081
+ if(kItem.Close>kItem.Open)return{Color:this.UpColor,IsUp:true};//颜色, 是否是上涨
4082
+ else if(kItem.Close<kItem.Open)return{Color:this.DownColor,IsUp:false};if(kItem.Close>=kItem.YClose)return{Color:this.UpColor,IsUp:true};//颜色, 是否是上涨
4078
4083
  else return{Color:this.DownColor,IsUp:false};};//true=实心 false=空心
4079
4084
  this.IsSolidBar=function(bUp){var bSolidBar=true;//实心柱子
4080
4085
  if(this.BarType===0||this.BarType===1||this.BarType===2){if(this.BarType===0)//空心
@@ -14345,7 +14350,7 @@ hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,St
14345
14350
  this.ExecuteScript(item,data);}this.Status=0;}};this.OnExecuteFinish=function(data,indexInfo,jsExectute,jobInfo){var message={Data:data,IndexInfo:indexInfo,ID:JSCHART_WORKER_MESSAGE_ID.FINISH_EXECUTE_SCRIPT,JobInfo:jobInfo};postMessage(message);};this.OnExecuteError=function(error,indexInfo,jobData){var message={IndexInfo:indexInfo,ID:JSCHART_WORKER_MESSAGE_ID.ERROR_EXECUTE_SCRIPT,Error:error};postMessage(message);};}/********************************************************************************
14346
14351
  * 版本信息输出
14347
14352
  *
14348
- */var HQCHART_VERSION="1.1.14467";function PrintHQChartVersion(){var logo='\n\n*************************************************************************************************************************************************************************** \n* \n* :%@@- \n* :@@@@- \n* =@@@@ :#@@@ .:+#@@@#=: :=*@@@@@@#+-. *@@@@. \n* :@@@@@ .@@@@@ .#@@@@@@@@@@@- +@@@@@@@@@@@@@+ @@@@@ -%@@* \n* +@@@@% #@@@@# *@@@@@@@@@@@@@@%. =@@@@@@@@@@@@@@@- @@@@@ -@@@@+ \n* %@@@@* @@@@@+ .%@@@@@@@@@@@@@@@@%: #@@@@@@@@@@@@@@@% @@@@# *@@@@= \n* @@@@@= @@@@@- .%@@@@@@@*++*%@@@@@@% .%@@@@@@@%*+==+**= -@@@@+ #@@@@- \n* @@@@@. @@@@@. #@@@@@%= =@@@@@@* %@@@@@@#: *@@@@- :::. .-+*###+: ::: .+##+: -%%@@@@@%%%% \n* .@@@@@ .@@@@@. +@@@@@% .@@@@@@ *@@@@@@: %@@@@: +@@@@@%. :%@@@@@@@@@@: *@@@ :@@@@@* @@@@@@@@@@@@ \n* :@@@@@ :@@@@@ @@@@@% :@@@@@+ @@@@@@: %@@@@-@@@@@@@@@. @@@@@@@@@@@@@. :@@@%-@@@@@@.:@@@@@@@@@@@# \n* -@@@@% -@@@@@ =@@@@@. %@@@@% %@@@@@- %@@@@@@@@@@@@@@* %@@@@@@@@@@@@+ -@@@@@@@@@@# -@@@@@@@@@@@. \n* +@@@@%=========#@@@@% @@@@@# :@@@@@ .@@@@@% @@@@@@@@%@@@@@@@ -%+:. .#@@@@* +@@@@@@@%%@. .::+@@@@#:: \n* #@@@@@@@@@@@@@@@@@@@# .@@@@@ .@@@@@ :@@@@@. @@@@@@#. #@@@@@. -@@@@* #@@@@@@: *@@@@+ \n* %@@@@@@@@@@@@@@@@@@@+ :@@@@@ .@@@@@ -@@@@@ @@@@@+ @@@@@. :@@@@* @@@@@% #@@@@- \n* @@@@@@@@@@@@@@@@@@@@: :@@@@% :@@@@@ +@@@@% -@@@@+ @@@@@ -@@@@+ @@@@@. @@@@@. \n* .@@@@@@@@@@@@@@@@@@@@ :@@@@% -@@@@% *@@@@% #@@@@. @@@@@ .=*#%%%@@@@@= :@@@@# @@@@@. \n* -@@@@@:::::::::=@@@@@ :@@@@@ @@@@@* +@@@@% @@@@@ @@@@% -#@@@@@@@@@@@@: -@@@@* @@@@@ \n* =@@@@% =@@@@% .@@@@@ :@@@@@. -@@@@% @@@@@ .@@@@* +@@@@@@@@@@@@@@. =@@@@+ .@@@@@ \n* +@@@@# +@@@@# @@@@@# %@@@@% :@@@@@ .@@@@% =@@@@= -@@@@@*-:..%@@@@ +@@@@= :@@@@# \n* *@@@@* *@@@@* +@@@@@: #@@@@@+ .@@@@@@ :@@@@% *@@@@- @@@@@. @@@@% #@@@@: =@@@@+ \n* %@@@@= %@@@@+ @@@@@@- .%@@@@@# #@@@@@# :@@@@% #@@@@: @@@@% @@@@* %@@@@. #@@@@- \n* @@@@@- @@@@@= =@@@@@@#=...-*@@@@@@@: @@@@@@%=. :+**. :@@@@* %@@@@. .@@@@* *@@@@= @@@@@ %@@@@+ \n* .@@@@@: .@@@@@: *@@@@@@@@@@@@@@@@@@@# =@@@@@@@@%%%@@@@@@ +@@@@- @@@@@ .@@@@@: :%@@@@@- .@@@@% %@@@@@*+- \n* :@@@@@ :@@@@@ +@@@@@@@@@@@@@@@@@@@# =@@@@@@@@@@@@@@@@% %@@@@ @@@@@ @@@@@@@@@@@@@@@: -@@@@* *@@@@@@@@- \n* =@@@@@ -@@@@@ :@@@@@@@@@@@@@@@@@@@# :@@@@@@@@@@@@@@@% @@@@@ %@@@% #@@@@@@@@@#@@@@. +@@@@- .@@@@@@@@# \n* *@@@@# =@@@@% :#@@@@@@@#: :@@@@@= =@@@@@@@@@@@+. @@@@@ :@@@+ *@@@@@@@- %@@@ *@@@= =@@@@@@@* \n* =++++- -++++= .:::. .=*+: :-=+++=:. ****= .=+. .-++=: :+++ -+=: .-=+=:. \n* \n* \n* HQChart \n* Ver: '+HQCHART_VERSION+' \n* License: Apache License 2.0 \n* Source: https://github.com/jones2000/HQChart\n*\n************************************************************************************************************************************************************************** \n ';console.log(logo);}PrintHQChartVersion();//把给外界调用的方法暴露出来
14353
+ */var HQCHART_VERSION="1.1.14472";function PrintHQChartVersion(){var logo='\n\n*************************************************************************************************************************************************************************** \n* \n* :%@@- \n* :@@@@- \n* =@@@@ :#@@@ .:+#@@@#=: :=*@@@@@@#+-. *@@@@. \n* :@@@@@ .@@@@@ .#@@@@@@@@@@@- +@@@@@@@@@@@@@+ @@@@@ -%@@* \n* +@@@@% #@@@@# *@@@@@@@@@@@@@@%. =@@@@@@@@@@@@@@@- @@@@@ -@@@@+ \n* %@@@@* @@@@@+ .%@@@@@@@@@@@@@@@@%: #@@@@@@@@@@@@@@@% @@@@# *@@@@= \n* @@@@@= @@@@@- .%@@@@@@@*++*%@@@@@@% .%@@@@@@@%*+==+**= -@@@@+ #@@@@- \n* @@@@@. @@@@@. #@@@@@%= =@@@@@@* %@@@@@@#: *@@@@- :::. .-+*###+: ::: .+##+: -%%@@@@@%%%% \n* .@@@@@ .@@@@@. +@@@@@% .@@@@@@ *@@@@@@: %@@@@: +@@@@@%. :%@@@@@@@@@@: *@@@ :@@@@@* @@@@@@@@@@@@ \n* :@@@@@ :@@@@@ @@@@@% :@@@@@+ @@@@@@: %@@@@-@@@@@@@@@. @@@@@@@@@@@@@. :@@@%-@@@@@@.:@@@@@@@@@@@# \n* -@@@@% -@@@@@ =@@@@@. %@@@@% %@@@@@- %@@@@@@@@@@@@@@* %@@@@@@@@@@@@+ -@@@@@@@@@@# -@@@@@@@@@@@. \n* +@@@@%=========#@@@@% @@@@@# :@@@@@ .@@@@@% @@@@@@@@%@@@@@@@ -%+:. .#@@@@* +@@@@@@@%%@. .::+@@@@#:: \n* #@@@@@@@@@@@@@@@@@@@# .@@@@@ .@@@@@ :@@@@@. @@@@@@#. #@@@@@. -@@@@* #@@@@@@: *@@@@+ \n* %@@@@@@@@@@@@@@@@@@@+ :@@@@@ .@@@@@ -@@@@@ @@@@@+ @@@@@. :@@@@* @@@@@% #@@@@- \n* @@@@@@@@@@@@@@@@@@@@: :@@@@% :@@@@@ +@@@@% -@@@@+ @@@@@ -@@@@+ @@@@@. @@@@@. \n* .@@@@@@@@@@@@@@@@@@@@ :@@@@% -@@@@% *@@@@% #@@@@. @@@@@ .=*#%%%@@@@@= :@@@@# @@@@@. \n* -@@@@@:::::::::=@@@@@ :@@@@@ @@@@@* +@@@@% @@@@@ @@@@% -#@@@@@@@@@@@@: -@@@@* @@@@@ \n* =@@@@% =@@@@% .@@@@@ :@@@@@. -@@@@% @@@@@ .@@@@* +@@@@@@@@@@@@@@. =@@@@+ .@@@@@ \n* +@@@@# +@@@@# @@@@@# %@@@@% :@@@@@ .@@@@% =@@@@= -@@@@@*-:..%@@@@ +@@@@= :@@@@# \n* *@@@@* *@@@@* +@@@@@: #@@@@@+ .@@@@@@ :@@@@% *@@@@- @@@@@. @@@@% #@@@@: =@@@@+ \n* %@@@@= %@@@@+ @@@@@@- .%@@@@@# #@@@@@# :@@@@% #@@@@: @@@@% @@@@* %@@@@. #@@@@- \n* @@@@@- @@@@@= =@@@@@@#=...-*@@@@@@@: @@@@@@%=. :+**. :@@@@* %@@@@. .@@@@* *@@@@= @@@@@ %@@@@+ \n* .@@@@@: .@@@@@: *@@@@@@@@@@@@@@@@@@@# =@@@@@@@@%%%@@@@@@ +@@@@- @@@@@ .@@@@@: :%@@@@@- .@@@@% %@@@@@*+- \n* :@@@@@ :@@@@@ +@@@@@@@@@@@@@@@@@@@# =@@@@@@@@@@@@@@@@% %@@@@ @@@@@ @@@@@@@@@@@@@@@: -@@@@* *@@@@@@@@- \n* =@@@@@ -@@@@@ :@@@@@@@@@@@@@@@@@@@# :@@@@@@@@@@@@@@@% @@@@@ %@@@% #@@@@@@@@@#@@@@. +@@@@- .@@@@@@@@# \n* *@@@@# =@@@@% :#@@@@@@@#: :@@@@@= =@@@@@@@@@@@+. @@@@@ :@@@+ *@@@@@@@- %@@@ *@@@= =@@@@@@@* \n* =++++- -++++= .:::. .=*+: :-=+++=:. ****= .=+. .-++=: :+++ -+=: .-=+=:. \n* \n* \n* HQChart \n* Ver: '+HQCHART_VERSION+' \n* License: Apache License 2.0 \n* Source: https://github.com/jones2000/HQChart\n*\n************************************************************************************************************************************************************************** \n ';console.log(logo);}PrintHQChartVersion();//把给外界调用的方法暴露出来
14349
14354
  exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
14350
14355
  // BaseIndex:BaseIndex,
14351
14356
  // ChartLine:ChartLine,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hqchart",
3
- "version": "1.1.14468",
3
+ "version": "1.1.14473",
4
4
  "description": "HQChart - H5, 微信小程序 沪深/港股/数字货币/期货/美股 K线图(kline),走势图,缩放,拖拽,十字光标,画图工具,截图,筹码图. 分析家语法,通达信语法,(麦语法),第3方数据对接",
5
5
  "main": "lib/main.js",
6
6
  "scripts": {
@@ -570,6 +570,7 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
570
570
  if (option.KLine.InfoPosition>0) klineChart.InfoPosition=option.KLine.InfoPosition;
571
571
  if (IFrameSplitOperator.IsBool(item.IsShowMaxMinPrice)) klineChart.IsShowMaxMinPrice=item.IsShowMaxMinPrice;
572
572
  if (IFrameSplitOperator.IsNumber(item.OneLimitBarType)) klineChart.OneLimitBarType=item.OneLimitBarType;
573
+ if (IFrameSplitOperator.IsNumber(item.UnchangeBarType)) klineChart.UnchangeBarType=item.UnchangeBarType;
573
574
  if (item.PriceGap)
574
575
  {
575
576
  if (IFrameSplitOperator.IsBool(item.PriceGap.Enable)) klineChart.PriceGap.Enable=item.PriceGap.Enable;
@@ -19943,16 +19944,21 @@ function HQTradeFrame()
19943
19944
 
19944
19945
  this.RestoreIndexWindows();
19945
19946
 
19946
- if (subChartBorder.IsShowTitleOnly)
19947
+ var bChange=false;
19948
+ var bEnable=!subChartBorder.IsShowTitleOnly;
19949
+ if (option)
19947
19950
  {
19948
- subChartBorder.IsShowTitleOnly=false;
19951
+ if (IFrameSplitOperator.IsBool(option.Enable)) bEnable=option.Enable;
19949
19952
  }
19950
- else
19953
+
19954
+ if (subChartBorder.IsShowTitleOnly!=bEnable)
19951
19955
  {
19952
- subChartBorder.IsShowTitleOnly=true;
19956
+ subChartBorder.IsShowTitleOnly=bEnable;
19957
+ bChange=true;
19958
+
19953
19959
  }
19954
19960
 
19955
- return true;
19961
+ return bChange;
19956
19962
  }
19957
19963
 
19958
19964
  this.CalculateChartBorder=function() //计算每个子框架的边框信息
@@ -25437,7 +25443,8 @@ function ChartKLine()
25437
25443
  this.DrawKRange={ Start:null, End:null }; //当前屏K线的索引{ Start: , End:}
25438
25444
 
25439
25445
  this.IsThinAKBar=true; //美国线 柱子是否是线段 (false=柱子)
25440
- this.OneLimitBarType=0; //一字板颜色类型 4个价格全部都在同一个价位上 0=使用平盘颜色 1=跟昨收比较
25446
+ this.OneLimitBarType=0; //一字板颜色类型 4个价格全部都在同一个价位上 0=使用平盘颜色 1=跟昨收比较
25447
+ this.UnchangeBarType=0; //0=使用unchange color 1=和昨收比较
25441
25448
 
25442
25449
  this.HighLowBarColor=g_JSChartResource.HighLowBarColor;
25443
25450
  this.HighLowTextConfig=
@@ -26584,6 +26591,11 @@ function ChartKLine()
26584
26591
 
26585
26592
  this.DrawKBar_Unchagne=function(data, dataWidth, unchagneColor, drawType, x, y, left, right, yLow, yHigh, yOpen, yClose, isHScreen) //平线
26586
26593
  {
26594
+ if (this.UnchangeBarType==1) //十字星颜色
26595
+ {
26596
+ unchagneColor=this.GetUnchangeBarColor(data);
26597
+ }
26598
+
26587
26599
  if (this.OneLimitBarType===1&& this.IsOneLimitBar(data)) //一字板
26588
26600
  {
26589
26601
  unchagneColor=this.GetOneLimitBarColor(data);
@@ -26693,6 +26705,16 @@ function ChartKLine()
26693
26705
  else return this.UnchagneColor;
26694
26706
  }
26695
26707
 
26708
+ //十字星颜色
26709
+ this.GetUnchangeBarColor=function(kItem)
26710
+ {
26711
+ if (!kItem || !IFrameSplitOperator.IsNumber(kItem.YClose)) return this.UnchagneColor;
26712
+
26713
+ if (kItem.Close>kItem.YClose) return this.UpColor;
26714
+ else if (kItem.Close<kItem.YClose) return this.DownColor;
26715
+ else return this.UnchagneColor
26716
+ }
26717
+
26696
26718
  this.DrawKBar_Custom=function(data, dataWidth, barColor, drawType, option, x, y, left, right, yLow, yHigh, yOpen, yClose, border, isHScreen)
26697
26719
  {
26698
26720
  if (option.BGColor) //画背景色
@@ -35066,7 +35088,11 @@ function ChartVolStick()
35066
35088
  else return { Color:this.DownColor, IsUp:false };
35067
35089
  }
35068
35090
 
35069
- if (kItem.Close>=kItem.Open) return { Color:this.UpColor, IsUp:true }; //颜色, 是否是上涨
35091
+ //平盘K线,使用昨收盘比较
35092
+ if (kItem.Close>kItem.Open) return { Color:this.UpColor, IsUp:true }; //颜色, 是否是上涨
35093
+ else if (kItem.Close<kItem.Open) return { Color:this.DownColor, IsUp:false };
35094
+
35095
+ if (kItem.Close>=kItem.YClose) return { Color:this.UpColor, IsUp:true }; //颜色, 是否是上涨
35070
35096
  else return { Color:this.DownColor, IsUp:false };
35071
35097
  }
35072
35098
 
@@ -4495,6 +4495,7 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
4495
4495
  if (option.KLine.InfoPosition>0) klineChart.InfoPosition=option.KLine.InfoPosition;
4496
4496
  if (IFrameSplitOperator.IsBool(item.IsShowMaxMinPrice)) klineChart.IsShowMaxMinPrice=item.IsShowMaxMinPrice;
4497
4497
  if (IFrameSplitOperator.IsNumber(item.OneLimitBarType)) klineChart.OneLimitBarType=item.OneLimitBarType;
4498
+ if (IFrameSplitOperator.IsNumber(item.UnchangeBarType)) klineChart.UnchangeBarType=item.UnchangeBarType;
4498
4499
  if (item.PriceGap)
4499
4500
  {
4500
4501
  if (IFrameSplitOperator.IsBool(item.PriceGap.Enable)) klineChart.PriceGap.Enable=item.PriceGap.Enable;
@@ -23868,16 +23869,21 @@ function HQTradeFrame()
23868
23869
 
23869
23870
  this.RestoreIndexWindows();
23870
23871
 
23871
- if (subChartBorder.IsShowTitleOnly)
23872
+ var bChange=false;
23873
+ var bEnable=!subChartBorder.IsShowTitleOnly;
23874
+ if (option)
23872
23875
  {
23873
- subChartBorder.IsShowTitleOnly=false;
23876
+ if (IFrameSplitOperator.IsBool(option.Enable)) bEnable=option.Enable;
23874
23877
  }
23875
- else
23878
+
23879
+ if (subChartBorder.IsShowTitleOnly!=bEnable)
23876
23880
  {
23877
- subChartBorder.IsShowTitleOnly=true;
23881
+ subChartBorder.IsShowTitleOnly=bEnable;
23882
+ bChange=true;
23883
+
23878
23884
  }
23879
23885
 
23880
- return true;
23886
+ return bChange;
23881
23887
  }
23882
23888
 
23883
23889
  this.CalculateChartBorder=function() //计算每个子框架的边框信息
@@ -29362,7 +29368,8 @@ function ChartKLine()
29362
29368
  this.DrawKRange={ Start:null, End:null }; //当前屏K线的索引{ Start: , End:}
29363
29369
 
29364
29370
  this.IsThinAKBar=true; //美国线 柱子是否是线段 (false=柱子)
29365
- this.OneLimitBarType=0; //一字板颜色类型 4个价格全部都在同一个价位上 0=使用平盘颜色 1=跟昨收比较
29371
+ this.OneLimitBarType=0; //一字板颜色类型 4个价格全部都在同一个价位上 0=使用平盘颜色 1=跟昨收比较
29372
+ this.UnchangeBarType=0; //0=使用unchange color 1=和昨收比较
29366
29373
 
29367
29374
  this.HighLowBarColor=g_JSChartResource.HighLowBarColor;
29368
29375
  this.HighLowTextConfig=
@@ -30509,6 +30516,11 @@ function ChartKLine()
30509
30516
 
30510
30517
  this.DrawKBar_Unchagne=function(data, dataWidth, unchagneColor, drawType, x, y, left, right, yLow, yHigh, yOpen, yClose, isHScreen) //平线
30511
30518
  {
30519
+ if (this.UnchangeBarType==1) //十字星颜色
30520
+ {
30521
+ unchagneColor=this.GetUnchangeBarColor(data);
30522
+ }
30523
+
30512
30524
  if (this.OneLimitBarType===1&& this.IsOneLimitBar(data)) //一字板
30513
30525
  {
30514
30526
  unchagneColor=this.GetOneLimitBarColor(data);
@@ -30618,6 +30630,16 @@ function ChartKLine()
30618
30630
  else return this.UnchagneColor;
30619
30631
  }
30620
30632
 
30633
+ //十字星颜色
30634
+ this.GetUnchangeBarColor=function(kItem)
30635
+ {
30636
+ if (!kItem || !IFrameSplitOperator.IsNumber(kItem.YClose)) return this.UnchagneColor;
30637
+
30638
+ if (kItem.Close>kItem.YClose) return this.UpColor;
30639
+ else if (kItem.Close<kItem.YClose) return this.DownColor;
30640
+ else return this.UnchagneColor
30641
+ }
30642
+
30621
30643
  this.DrawKBar_Custom=function(data, dataWidth, barColor, drawType, option, x, y, left, right, yLow, yHigh, yOpen, yClose, border, isHScreen)
30622
30644
  {
30623
30645
  if (option.BGColor) //画背景色
@@ -38991,7 +39013,11 @@ function ChartVolStick()
38991
39013
  else return { Color:this.DownColor, IsUp:false };
38992
39014
  }
38993
39015
 
38994
- if (kItem.Close>=kItem.Open) return { Color:this.UpColor, IsUp:true }; //颜色, 是否是上涨
39016
+ //平盘K线,使用昨收盘比较
39017
+ if (kItem.Close>kItem.Open) return { Color:this.UpColor, IsUp:true }; //颜色, 是否是上涨
39018
+ else if (kItem.Close<kItem.Open) return { Color:this.DownColor, IsUp:false };
39019
+
39020
+ if (kItem.Close>=kItem.YClose) return { Color:this.UpColor, IsUp:true }; //颜色, 是否是上涨
38995
39021
  else return { Color:this.DownColor, IsUp:false };
38996
39022
  }
38997
39023
 
@@ -143684,7 +143710,7 @@ function ScrollBarBGChart()
143684
143710
 
143685
143711
 
143686
143712
 
143687
- var HQCHART_VERSION="1.1.14467";
143713
+ var HQCHART_VERSION="1.1.14472";
143688
143714
 
143689
143715
  function PrintHQChartVersion()
143690
143716
  {
@@ -5,7 +5,7 @@
5
5
 
6
6
 
7
7
 
8
- var HQCHART_VERSION="1.1.14467";
8
+ var HQCHART_VERSION="1.1.14472";
9
9
 
10
10
  function PrintHQChartVersion()
11
11
  {
@@ -4539,6 +4539,7 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
4539
4539
  if (option.KLine.InfoPosition>0) klineChart.InfoPosition=option.KLine.InfoPosition;
4540
4540
  if (IFrameSplitOperator.IsBool(item.IsShowMaxMinPrice)) klineChart.IsShowMaxMinPrice=item.IsShowMaxMinPrice;
4541
4541
  if (IFrameSplitOperator.IsNumber(item.OneLimitBarType)) klineChart.OneLimitBarType=item.OneLimitBarType;
4542
+ if (IFrameSplitOperator.IsNumber(item.UnchangeBarType)) klineChart.UnchangeBarType=item.UnchangeBarType;
4542
4543
  if (item.PriceGap)
4543
4544
  {
4544
4545
  if (IFrameSplitOperator.IsBool(item.PriceGap.Enable)) klineChart.PriceGap.Enable=item.PriceGap.Enable;
@@ -23912,16 +23913,21 @@ function HQTradeFrame()
23912
23913
 
23913
23914
  this.RestoreIndexWindows();
23914
23915
 
23915
- if (subChartBorder.IsShowTitleOnly)
23916
+ var bChange=false;
23917
+ var bEnable=!subChartBorder.IsShowTitleOnly;
23918
+ if (option)
23916
23919
  {
23917
- subChartBorder.IsShowTitleOnly=false;
23920
+ if (IFrameSplitOperator.IsBool(option.Enable)) bEnable=option.Enable;
23918
23921
  }
23919
- else
23922
+
23923
+ if (subChartBorder.IsShowTitleOnly!=bEnable)
23920
23924
  {
23921
- subChartBorder.IsShowTitleOnly=true;
23925
+ subChartBorder.IsShowTitleOnly=bEnable;
23926
+ bChange=true;
23927
+
23922
23928
  }
23923
23929
 
23924
- return true;
23930
+ return bChange;
23925
23931
  }
23926
23932
 
23927
23933
  this.CalculateChartBorder=function() //计算每个子框架的边框信息
@@ -29406,7 +29412,8 @@ function ChartKLine()
29406
29412
  this.DrawKRange={ Start:null, End:null }; //当前屏K线的索引{ Start: , End:}
29407
29413
 
29408
29414
  this.IsThinAKBar=true; //美国线 柱子是否是线段 (false=柱子)
29409
- this.OneLimitBarType=0; //一字板颜色类型 4个价格全部都在同一个价位上 0=使用平盘颜色 1=跟昨收比较
29415
+ this.OneLimitBarType=0; //一字板颜色类型 4个价格全部都在同一个价位上 0=使用平盘颜色 1=跟昨收比较
29416
+ this.UnchangeBarType=0; //0=使用unchange color 1=和昨收比较
29410
29417
 
29411
29418
  this.HighLowBarColor=g_JSChartResource.HighLowBarColor;
29412
29419
  this.HighLowTextConfig=
@@ -30553,6 +30560,11 @@ function ChartKLine()
30553
30560
 
30554
30561
  this.DrawKBar_Unchagne=function(data, dataWidth, unchagneColor, drawType, x, y, left, right, yLow, yHigh, yOpen, yClose, isHScreen) //平线
30555
30562
  {
30563
+ if (this.UnchangeBarType==1) //十字星颜色
30564
+ {
30565
+ unchagneColor=this.GetUnchangeBarColor(data);
30566
+ }
30567
+
30556
30568
  if (this.OneLimitBarType===1&& this.IsOneLimitBar(data)) //一字板
30557
30569
  {
30558
30570
  unchagneColor=this.GetOneLimitBarColor(data);
@@ -30662,6 +30674,16 @@ function ChartKLine()
30662
30674
  else return this.UnchagneColor;
30663
30675
  }
30664
30676
 
30677
+ //十字星颜色
30678
+ this.GetUnchangeBarColor=function(kItem)
30679
+ {
30680
+ if (!kItem || !IFrameSplitOperator.IsNumber(kItem.YClose)) return this.UnchagneColor;
30681
+
30682
+ if (kItem.Close>kItem.YClose) return this.UpColor;
30683
+ else if (kItem.Close<kItem.YClose) return this.DownColor;
30684
+ else return this.UnchagneColor
30685
+ }
30686
+
30665
30687
  this.DrawKBar_Custom=function(data, dataWidth, barColor, drawType, option, x, y, left, right, yLow, yHigh, yOpen, yClose, border, isHScreen)
30666
30688
  {
30667
30689
  if (option.BGColor) //画背景色
@@ -39035,7 +39057,11 @@ function ChartVolStick()
39035
39057
  else return { Color:this.DownColor, IsUp:false };
39036
39058
  }
39037
39059
 
39038
- if (kItem.Close>=kItem.Open) return { Color:this.UpColor, IsUp:true }; //颜色, 是否是上涨
39060
+ //平盘K线,使用昨收盘比较
39061
+ if (kItem.Close>kItem.Open) return { Color:this.UpColor, IsUp:true }; //颜色, 是否是上涨
39062
+ else if (kItem.Close<kItem.Open) return { Color:this.DownColor, IsUp:false };
39063
+
39064
+ if (kItem.Close>=kItem.YClose) return { Color:this.UpColor, IsUp:true }; //颜色, 是否是上涨
39039
39065
  else return { Color:this.DownColor, IsUp:false };
39040
39066
  }
39041
39067
 
@@ -153496,7 +153522,7 @@ function HQChartScriptWorker()
153496
153522
 
153497
153523
 
153498
153524
 
153499
- var HQCHART_VERSION="1.1.14467";
153525
+ var HQCHART_VERSION="1.1.14472";
153500
153526
 
153501
153527
  function PrintHQChartVersion()
153502
153528
  {