hqchart 1.1.14943 → 1.1.14953

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.
@@ -2394,7 +2394,9 @@ this.ResetFrameXYSplit();this.UpdateFrameMaxMin();//调整坐标最大 最小值
2394
2394
  this.Draw();};this.ClickHorizontalLabel=function(lable,e){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CLICK_HORIZONTAL_LABEL);if(event&&event.Callback){var data={Info:lable,PreventDefault:false};//PreventDefault 是否阻止内置的点击处理
2395
2395
  event.Callback(event,data,this);if(data.PreventDefault)return;}};this.ResetOverlaySymbolStatus=function(){for(var i=0;i<this.OverlayChartPaint.length;++i){var item=this.OverlayChartPaint[i];item.Status=OVERLAY_STATUS_ID.STATUS_NONE_ID;}};//十字光标状态变动
2396
2396
  this.OnChangeCorssCursorStatus=function(data,obj){if(data.Type==1){if(!data.IsShowCorss)//十字光标隐藏
2397
- {this.HideTooltip();this.CloseTooltipDialog();}}};//手动更新指标 [ {ID:主图指标窗口索引, OverlayID:叠加指标ID }]
2397
+ {//清空当前鼠标坐标
2398
+ this.LastPoint.X=null;this.LastPoint.Y=null;this.HideTooltip();this.CloseTooltipDialog();}else{if(IFrameSplitOperator.IsNumber(data.X)&&IFrameSplitOperator.IsNumber(data.Y)){//设置鼠标位置
2399
+ if(this.LastPoint&&(!IFrameSplitOperator.IsNumber(this.LastPoint.X)||!IFrameSplitOperator.IsNumber(this.LastPoint.Y))){this.LastPoint.X=data.X;this.LastPoint.Y=data.Y;}}}}};//手动更新指标 [ {ID:主图指标窗口索引, OverlayID:叠加指标ID }]
2398
2400
  this.UpdateWindowIndexV2=function(aryIndex,option){if(!this.Frame||!this.Frame.SubFrame)return false;var kData=this.GetKData();if(!kData||!IFrameSplitOperator.IsNonEmptyArray(kData.Data))return false;if(!IFrameSplitOperator.IsNonEmptyArray(aryIndex))return false;var setMainIndex=new _set2.default();//主图指标
2399
2401
  var setOverlayIndex=new _set2.default();//附图指标
2400
2402
  for(var i=0;i<aryIndex.length;++i){var item=aryIndex[i];if(!item)continue;if(IFrameSplitOperator.IsNumber(item.ID))setMainIndex.add(item.ID);if(item.OverlayID)setOverlayIndex.add(item.OverlayID);}if(setMainIndex.size<=0&&setOverlayIndex.size<0)return false;//K线数据
@@ -4236,7 +4238,7 @@ if(!bShowColorBar)this.Canvas.strokeStyle=this.GetMinuteBarColor(price,yPrice);t
4236
4238
  this.GetMinuteBarColor=function(price,yPrice){if(this.BarColorType==1)//通达信模式
4237
4239
  {if(price>yPrice)return this.UpColor;else if(price<yPrice)return this.DownColor;else return this.UnchangeColor;}else//东方财富模式
4238
4240
  {return price>=yPrice?this.UpColor:this.DownColor;}};this.DrawBeforeOpen=function(){if(this.ChartBorder.LeftExtendWidth<10)return;if(!this.BeforeOpenData)return;this.DrawCallAuction(-1,this.BeforeOpenData,true);};this.DrawAfterClose=function(){if(this.ChartBorder.RightExtendWidth<10)return;if(!this.AfterCloseData)return;this.DrawCallAuction(-1,this.AfterCloseData,false);};this.DrawMultiDayBeforeOpen=function(){if(this.ChartBorder.MultiDayMinute.Count<=1||this.ChartBorder.MultiDayMinute.Left<=0)return;if(!this.MultiDayBeforeOpenData)return;var offset=0,showDayCount=this.MultiDayBeforeOpenData.length;if(this.DayOffset){if(IFrameSplitOperator.IsNumber(this.DayOffset.Offset))offset=this.DayOffset.Offset;if(IFrameSplitOperator.IsNumber(this.DayOffset.ShowDayCount))showDayCount=this.DayOffset.ShowDayCount;}for(var i=offset,j=0;i<this.MultiDayBeforeOpenData.length&&j<showDayCount;++i,++j){var dayItem=this.MultiDayBeforeOpenData[i];this.DrawCallAuction(j,dayItem,true);}};this.DrawMultiDayAfterClose=function(){if(this.ChartBorder.MultiDayMinute.Count<=1||this.ChartBorder.MultiDayMinute.Right<=0)return;if(!this.MultiDayAfterCloseData)return;var offset=0,showDayCount=this.MultiDayAfterCloseData.length;if(this.DayOffset){if(IFrameSplitOperator.IsNumber(this.DayOffset.Offset))offset=this.DayOffset.Offset;if(IFrameSplitOperator.IsNumber(this.DayOffset.ShowDayCount))showDayCount=this.DayOffset.ShowDayCount;}for(var i=offset,j=0;i<this.MultiDayAfterCloseData.length&&j<showDayCount;++i,++j){var dayItem=this.MultiDayAfterCloseData[i];this.DrawCallAuction(j,dayItem,false);}};this.DrawCallAuction=function(indexDay,callAutionData,isBeforeOpen){if(!callAutionData)return;callAutionData.Index=indexDay;var border=this.GetBorder();var isHScreen=this.ChartFrame.IsHScreen===true;var yPrice=this.YClose;//上一分钟的价格
4239
- var yBottom=this.ChartFrame.GetYFromData(0);var yBottom=border.BottomEx;if(isHScreen)yBottom=border.LeftEx;var unit=this.GetVolUnit();if(callAutionData.Ver==1.0){for(var i in callAutionData.Data){var item=callAutionData.Data[i];if(!item||!IFrameSplitOperator.IsNumber(item.Vol[0]))continue;if(isBeforeOpen){var x=this.ChartFrame.GetLeftExtendXFromIndex(i,callAutionData);var y=this.ChartFrame.GetLeftExtendYFromData(item.Vol[0]/unit);}else{var x=this.ChartFrame.GetRightExtendXFromIndex(i,callAutionData);var y=this.ChartFrame.GetRightExtendYFromData(item.Vol[0]/unit);}this.Canvas.strokeStyle=item.Price>=yPrice?this.UpColor:this.DownColor;this.Canvas.beginPath();if(isHScreen){this.Canvas.moveTo(y,ToFixedPoint(x));this.Canvas.lineTo(yBottom,ToFixedPoint(x));}else{this.Canvas.moveTo(ToFixedPoint(x),y);this.Canvas.lineTo(ToFixedPoint(x),yBottom);}this.Canvas.stroke();if(item.Price)yPrice=item.Price;}}else if(callAutionData.Ver==2.0||callAutionData.Ver==3.0){var range={Max:callAutionData.VolMax,Min:callAutionData.VolMin};for(var i in callAutionData.Data){var item=callAutionData.Data[i];if(!item)continue;if(IFrameSplitOperator.IsPlusNumber(item.Vol[0])){if(isBeforeOpen){var x=this.ChartFrame.GetLeftExtendXFromIndex(i,callAutionData);var y=this.ChartFrame.GetLeftExtendYFromData(item.Vol[0]/unit,false,{Range:range});}else{var x=this.ChartFrame.GetRightExtendXFromIndex(i,callAutionData);if(this.ShareAfterVol==1)var y=this.ChartFrame.GetYFromData(item.Vol[0]/unit);else var y=this.ChartFrame.GetRightExtendYFromData(item.Vol[0]/unit,false,{Range:range});}this.Canvas.strokeStyle=this.GetBarColor(item.ColorID);this.Canvas.beginPath();if(isHScreen){this.Canvas.moveTo(y,ToFixedPoint(x));this.Canvas.lineTo(yBottom,ToFixedPoint(x));}else{this.Canvas.moveTo(ToFixedPoint(x),y);this.Canvas.lineTo(ToFixedPoint(x),yBottom);}this.Canvas.stroke();}if(IFrameSplitOperator.IsPlusNumber(item.Vol[1])){if(isBeforeOpen){var x=this.ChartFrame.GetLeftExtendXFromIndex(i,callAutionData);var y=this.ChartFrame.GetLeftExtendYFromData(item.Vol[1]/unit,false,{Range:range});}else{var x=this.ChartFrame.GetRightExtendXFromIndex(i,callAutionData);if(this.ShareAfterVol==1)var y=this.ChartFrame.GetYFromData(item.Vol[1]/unit);else var y=this.ChartFrame.GetRightExtendYFromData(item.Vol[1]/unit,false,{Range:range});}this.Canvas.strokeStyle=this.GetBarColor(item.ColorID);this.Canvas.beginPath();if(isHScreen){y-=yBottom;y=border.RightEx-y;this.Canvas.moveTo(y,ToFixedPoint(x));this.Canvas.lineTo(border.RightEx,ToFixedPoint(x));}else{y-=yBottom;y=border.TopEx-y;this.Canvas.moveTo(ToFixedPoint(x),y);this.Canvas.lineTo(ToFixedPoint(x),border.TopEx);}this.Canvas.stroke();}}}};this.GetBarColor=function(id){switch(id){case 0:return this.UnchangeColor;case 1:return this.UpColor;case 2:return this.DownColor;}if(this.BeforeVolColor&&Array.isArray(this.BeforeVolColor)){var index=id-3;if(index>=0&&index<this.BeforeVolColor.length)return this.BeforeVolColor[index];}return this.UnchangeColor;};this.GetMaxMin=function(){var unit=this.GetVolUnit();var xPointCount=this.ChartFrame.XPointCount;var start=this.Data.DataOffset;if(this.ChartFrame.GlobalOption&&this.ChartFrame.GlobalOption.IsValueFullRange===true){xPointCount=this.Data.Data.length;start=0;}var range={};range.Min=0;range.Max=null;for(var i=start,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j){var item=this.Data.Data[i];if(!item||!item.Vol)continue;var value=item.Vol/unit;if(range.Max==null||range.Max<value)range.Max=value;}if(this.ShareAfterVol==1){this.GetAfterCloseMaxMin(range);this.GetMultiDayAfterCloseMaxMin(range);}return range;};this.GetAfterCloseMaxMin=function(range){if(this.ChartBorder.RightExtendWidth<10)return;if(!this.AfterCloseData)return;var callAutionData=this.AfterCloseData;if(range.Max==null||range.Max<callAutionData.VolMax)range.Max=callAutionData.VolMax;};this.GetMultiDayAfterCloseMaxMin=function(range){if(this.ChartBorder.MultiDayMinute.Count<=1||this.ChartBorder.MultiDayMinute.Right<=0)return;if(!this.MultiDayAfterCloseData)return;for(var i=0;i<this.MultiDayAfterCloseData.length;++i){var callAutionData=this.MultiDayAfterCloseData[i];if(callAutionData.Ver==2.0||callAutionData.Ver==3.0){if(range.Max==null||range.Max<callAutionData.VolMax)range.Max=callAutionData.VolMax;}}};}//只画集合竞价柱子
4241
+ var yBottom=this.ChartFrame.GetYFromData(0);var yBottom=border.BottomEx;if(isHScreen)yBottom=border.LeftEx;var unit=this.GetVolUnit();if(callAutionData.Ver==1.0){for(var i=0;i<callAutionData.Data.length;++i){var item=callAutionData.Data[i];if(!item||!IFrameSplitOperator.IsNonEmptyArray(item.Vol)||!IFrameSplitOperator.IsNumber(item.Vol[0]))continue;if(isBeforeOpen){var x=this.ChartFrame.GetLeftExtendXFromIndex(i,callAutionData);var y=this.ChartFrame.GetLeftExtendYFromData(item.Vol[0]/unit);}else{var x=this.ChartFrame.GetRightExtendXFromIndex(i,callAutionData);var y=this.ChartFrame.GetRightExtendYFromData(item.Vol[0]/unit);}this.Canvas.strokeStyle=item.Price>=yPrice?this.UpColor:this.DownColor;this.Canvas.beginPath();if(isHScreen){this.Canvas.moveTo(y,ToFixedPoint(x));this.Canvas.lineTo(yBottom,ToFixedPoint(x));}else{this.Canvas.moveTo(ToFixedPoint(x),y);this.Canvas.lineTo(ToFixedPoint(x),yBottom);}this.Canvas.stroke();if(item.Price)yPrice=item.Price;}}else if(callAutionData.Ver==2.0||callAutionData.Ver==3.0){var range={Max:callAutionData.VolMax,Min:callAutionData.VolMin};for(var i=0;i<callAutionData.Data.length;++i){var item=callAutionData.Data[i];if(!item)continue;if(item.Vol&&IFrameSplitOperator.IsPlusNumber(item.Vol[0])){if(isBeforeOpen){var x=this.ChartFrame.GetLeftExtendXFromIndex(i,callAutionData);var y=this.ChartFrame.GetLeftExtendYFromData(item.Vol[0]/unit,false,{Range:range});}else{var x=this.ChartFrame.GetRightExtendXFromIndex(i,callAutionData);if(this.ShareAfterVol==1)var y=this.ChartFrame.GetYFromData(item.Vol[0]/unit);else var y=this.ChartFrame.GetRightExtendYFromData(item.Vol[0]/unit,false,{Range:range});}this.Canvas.strokeStyle=this.GetBarColor(item.ColorID);this.Canvas.beginPath();if(isHScreen){this.Canvas.moveTo(y,ToFixedPoint(x));this.Canvas.lineTo(yBottom,ToFixedPoint(x));}else{this.Canvas.moveTo(ToFixedPoint(x),y);this.Canvas.lineTo(ToFixedPoint(x),yBottom);}this.Canvas.stroke();}if(item.Vol&&IFrameSplitOperator.IsPlusNumber(item.Vol[1])){if(isBeforeOpen){var x=this.ChartFrame.GetLeftExtendXFromIndex(i,callAutionData);var y=this.ChartFrame.GetLeftExtendYFromData(item.Vol[1]/unit,false,{Range:range});}else{var x=this.ChartFrame.GetRightExtendXFromIndex(i,callAutionData);if(this.ShareAfterVol==1)var y=this.ChartFrame.GetYFromData(item.Vol[1]/unit);else var y=this.ChartFrame.GetRightExtendYFromData(item.Vol[1]/unit,false,{Range:range});}this.Canvas.strokeStyle=this.GetBarColor(item.ColorID);this.Canvas.beginPath();if(isHScreen){y-=yBottom;y=border.RightEx-y;this.Canvas.moveTo(y,ToFixedPoint(x));this.Canvas.lineTo(border.RightEx,ToFixedPoint(x));}else{y-=yBottom;y=border.TopEx-y;this.Canvas.moveTo(ToFixedPoint(x),y);this.Canvas.lineTo(ToFixedPoint(x),border.TopEx);}this.Canvas.stroke();}}}};this.GetBarColor=function(id){switch(id){case 0:return this.UnchangeColor;case 1:return this.UpColor;case 2:return this.DownColor;}if(this.BeforeVolColor&&Array.isArray(this.BeforeVolColor)){var index=id-3;if(index>=0&&index<this.BeforeVolColor.length)return this.BeforeVolColor[index];}return this.UnchangeColor;};this.GetMaxMin=function(){var unit=this.GetVolUnit();var xPointCount=this.ChartFrame.XPointCount;var start=this.Data.DataOffset;if(this.ChartFrame.GlobalOption&&this.ChartFrame.GlobalOption.IsValueFullRange===true){xPointCount=this.Data.Data.length;start=0;}var range={};range.Min=0;range.Max=null;for(var i=start,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j){var item=this.Data.Data[i];if(!item||!item.Vol)continue;var value=item.Vol/unit;if(range.Max==null||range.Max<value)range.Max=value;}if(this.ShareAfterVol==1){this.GetAfterCloseMaxMin(range);this.GetMultiDayAfterCloseMaxMin(range);}return range;};this.GetAfterCloseMaxMin=function(range){if(this.ChartBorder.RightExtendWidth<10)return;if(!this.AfterCloseData)return;var callAutionData=this.AfterCloseData;if(range.Max==null||range.Max<callAutionData.VolMax)range.Max=callAutionData.VolMax;};this.GetMultiDayAfterCloseMaxMin=function(range){if(this.ChartBorder.MultiDayMinute.Count<=1||this.ChartBorder.MultiDayMinute.Right<=0)return;if(!this.MultiDayAfterCloseData)return;for(var i=0;i<this.MultiDayAfterCloseData.length;++i){var callAutionData=this.MultiDayAfterCloseData[i];if(callAutionData.Ver==2.0||callAutionData.Ver==3.0){if(range.Max==null||range.Max<callAutionData.VolMax)range.Max=callAutionData.VolMax;}}};}//只画集合竞价柱子
4240
4242
  function ChartMinuteBarCallAuction(){this.newMethod=ChartMinuteVolumBar;//派生
4241
4243
  this.newMethod();delete this.newMethod;this.ClassName="ChartMinuteBarCallAuction";this.Draw=function(){if(!this.IsShow||this.ChartFrame.IsMinSize||!this.IsVisible)return;if(this.IsShowIndexTitleOnly())return;this.DrawBeforeOpen();this.DrawMultiDayBeforeOpen();this.DrawAfterClose();this.DrawMultiDayAfterClose();};}function ChartErrorMessage(){this.newMethod=IChartPainting;//派生
4242
4244
  this.newMethod();delete this.newMethod;this.ClassName='ChartErrorMessage';//类名
@@ -4556,7 +4558,8 @@ this.DrawLead=function(){if(!this.LeadData)return;var isHScreen=this.ChartFrame.
4556
4558
  //var chartright=this.ChartBorder.GetRight();
4557
4559
  var xPointCount=this.ChartFrame.XPointCount;var minuteCount=this.ChartFrame.MinuteCount;var bottom=this.ChartBorder.GetBottomEx();var top=this.ChartBorder.GetTopEx();if(isHScreen===true)top=this.ChartBorder.GetRightEx();if(xPointCount>minuteCount)return;var aryLead=[];//{X: Value:}
4558
4560
  var max=null,min=null;var yCenter=this.ChartFrame.GetYFromData(this.YClose);var leadHeight=(yCenter-top)/3;var data=this.LeadData;for(var i=data.DataOffset,j=0;i<data.Data.length&&j<xPointCount;++i,++j){var value=data.Data[i];if(!IFrameSplitOperator.IsNumber(value))continue;if(value==0)continue;var x=this.ChartFrame.GetXFromIndex(j);if(max==null||max<value)max=value;if(min==null||min>value)min=value;aryLead.push({X:x,Value:value});}if(aryLead.length<=0)return;var maxValue=Math.max(Math.abs(max),Math.abs(min));for(var i in aryLead){var item=aryLead[i];if(item.Value>0)this.Canvas.strokeStyle=this.UpColor;else this.Canvas.strokeStyle=this.DownColor;var y=yCenter-item.Value*leadHeight/maxValue;var x=ToFixedPoint(item.X);this.Canvas.beginPath();if(isHScreen===true){this.Canvas.moveTo(yCenter,x);this.Canvas.lineTo(y,x);}else{this.Canvas.moveTo(x,yCenter);this.Canvas.lineTo(x,y);}this.Canvas.stroke();}};this.DrawBeforeOpen=function(){if(this.ChartBorder.LeftExtendWidth<10)return;if(!this.BeforeOpenData)return;this.DrawCallAuction(-1,this.BeforeOpenData,true);};this.DrawAfterClose=function(){if(this.ChartBorder.RightExtendWidth<10)return;if(!this.AfterCloseData)return;this.DrawCallAuction(-1,this.AfterCloseData,false);};this.DrawMultiDayBeforeOpen=function(){if(this.ChartBorder.MultiDayMinute.Count<=1||this.ChartBorder.MultiDayMinute.Left<=0)return;if(!this.MultiDayBeforeOpenData)return;var offset=0,showDayCount=this.MultiDayBeforeOpenData.length;if(this.DayOffset){if(IFrameSplitOperator.IsNumber(this.DayOffset.Offset))offset=this.DayOffset.Offset;if(IFrameSplitOperator.IsNumber(this.DayOffset.ShowDayCount))showDayCount=this.DayOffset.ShowDayCount;}for(var i=offset,j=0;i<this.MultiDayBeforeOpenData.length&&j<showDayCount;++i,++j){var dayItem=this.MultiDayBeforeOpenData[i];this.DrawCallAuction(j,dayItem,true);}};this.DrawMultiDayAfterClose=function(){if(this.ChartBorder.MultiDayMinute.Count<=1||this.ChartBorder.MultiDayMinute.Right<=0)return;if(!this.MultiDayAfterCloseData)return;var offset=0,showDayCount=this.MultiDayAfterCloseData.length;if(this.DayOffset){if(IFrameSplitOperator.IsNumber(this.DayOffset.Offset))offset=this.DayOffset.Offset;if(IFrameSplitOperator.IsNumber(this.DayOffset.ShowDayCount))showDayCount=this.DayOffset.ShowDayCount;}for(var i=offset,j=0;i<this.MultiDayAfterCloseData.length&&j<showDayCount;++i,++j){var dayItem=this.MultiDayAfterCloseData[i];this.DrawCallAuction(j,dayItem,false);}};this.DrawCallAuction=function(indexDay,callAutionData,isBeforeOpen){if(!callAutionData)return;callAutionData.Index=indexDay;var isHScreen=this.ChartFrame.IsHScreen===true;var bFirstPoint=true;var drawCount=0;var callAutionInfo={TotalCount:callAutionData.TotalCount};if(callAutionData.Ver==3.0)//均线
4559
- {for(var i=0;i<callAutionData.Data.length;++i){var item=callAutionData.Data[i];if(!item||!IFrameSplitOperator.IsNumber(item.AvPrice))continue;if(isBeforeOpen){var x=this.ChartFrame.GetLeftExtendXFromIndex(i,callAutionData);var y=this.ChartFrame.GetLeftExtendYFromData(item.AvPrice);}else{var x=this.ChartFrame.GetRightExtendXFromIndex(i,callAutionData);var y=this.ChartFrame.GetRightExtendYFromData(item.AvPrice);}if(bFirstPoint){this.Canvas.strokeStyle=this.BeforeAvPriceColor;this.Canvas.beginPath();if(isHScreen)this.Canvas.moveTo(y,x);else this.Canvas.moveTo(x,y);bFirstPoint=false;}else{if(isHScreen)this.Canvas.lineTo(y,x);else this.Canvas.lineTo(x,y);}++drawCount;}if(drawCount>0){this.Canvas.stroke();}}var bFirstPoint=true;var drawCount=0;var aryPoint=[];for(var i=0;i<callAutionData.Data.length;++i){var item=callAutionData.Data[i];if(!item||!IFrameSplitOperator.IsNumber(item.Price)){if(i==0&&isBeforeOpen&&IFrameSplitOperator.IsNumber(this.YClose)){var x=this.ChartFrame.GetLeftExtendXFromIndex(i,callAutionData);var y=this.ChartFrame.GetLeftExtendYFromData(this.YClose);this.Canvas.strokeStyle=this.BeforeLineColor;this.Canvas.beginPath();if(isHScreen)this.Canvas.moveTo(y,x);else this.Canvas.moveTo(x,y);bFirstPoint=false;}continue;}if(isBeforeOpen){var x=this.ChartFrame.GetLeftExtendXFromIndex(i,callAutionData);var y=this.ChartFrame.GetLeftExtendYFromData(item.Price);}else{var x=this.ChartFrame.GetRightExtendXFromIndex(i,callAutionData);var y=this.ChartFrame.GetRightExtendYFromData(item.Price);}if(bFirstPoint){this.Canvas.strokeStyle=isBeforeOpen?this.BeforeLineColor:this.AfterLineColor;this.Canvas.beginPath();if(isHScreen)this.Canvas.moveTo(y,x);else this.Canvas.moveTo(x,y);bFirstPoint=false;aryPoint.push({X:x,Y:y});}else{if(isHScreen)this.Canvas.lineTo(y,x);else this.Canvas.lineTo(x,y);aryPoint.push({X:x,Y:y});}var dateTime=item.Date*1000000+item.Time;this.UpdateLastPoint(dateTime,x,y,{Value:item.Price,Index:i,Date:item.Date,Time:item.Time,Type:isBeforeOpen?1:2,Explain:isBeforeOpen?"盘前":"盘后"});++drawCount;}if(drawCount>0){this.Canvas.stroke();}if(callAutionData.Ver==2.0&&this.BeforePoint.Radius>0){this.Canvas.fillStyle=isBeforeOpen?this.BeforePoint.Color:this.AfterPoint.Color;for(var i in aryPoint){var item=aryPoint[i];this.Canvas.beginPath();if(isHScreen)this.Canvas.arc(item.Y,item.X,this.BeforePoint.Radius,0,2*Math.PI);else this.Canvas.arc(item.X,item.Y,this.BeforePoint.Radius,0,2*Math.PI);this.Canvas.fill();}}};this.FindColorLineItem=function(minuteItem){if(!minuteItem||!this.ColorLineData)return null;for(var i in this.ColorLineData){var item=this.ColorLineData[i];if(item.Date==minuteItem.Date&&minuteItem.Time>=item.Start&&minuteItem.Time<=item.End){return item;}}return null;};//TODO:这个函数比较耗时间 后面再优化吧
4561
+ {for(var i=0;i<callAutionData.Data.length;++i){var item=callAutionData.Data[i];if(!item||!IFrameSplitOperator.IsNumber(item.AvPrice))continue;if(isBeforeOpen){var x=this.ChartFrame.GetLeftExtendXFromIndex(i,callAutionData);var y=this.ChartFrame.GetLeftExtendYFromData(item.AvPrice);}else{var x=this.ChartFrame.GetRightExtendXFromIndex(i,callAutionData);var y=this.ChartFrame.GetRightExtendYFromData(item.AvPrice);}if(bFirstPoint){this.Canvas.strokeStyle=this.BeforeAvPriceColor;this.Canvas.beginPath();if(isHScreen)this.Canvas.moveTo(y,x);else this.Canvas.moveTo(x,y);bFirstPoint=false;}else{if(isHScreen)this.Canvas.lineTo(y,x);else this.Canvas.lineTo(x,y);}++drawCount;}if(drawCount>0){this.Canvas.stroke();}}var bFirstPoint=true;var drawCount=0;var aryPoint=[];for(var i=0;i<callAutionData.Data.length;++i){var item=callAutionData.Data[i];if(!item||!IFrameSplitOperator.IsNumber(item.Price)){if(i==0&&isBeforeOpen){//盘前集合竞价起始点为昨收或昨结算
4562
+ var price=callAutionData.YClose;if(IFrameSplitOperator.IsNumber(callAutionData.YClearing))price=callAutionData.YClearing;if(IFrameSplitOperator.IsNumber(price)){var x=this.ChartFrame.GetLeftExtendXFromIndex(i,callAutionData);var y=this.ChartFrame.GetLeftExtendYFromData(price);this.Canvas.strokeStyle=this.BeforeLineColor;this.Canvas.beginPath();if(isHScreen)this.Canvas.moveTo(y,x);else this.Canvas.moveTo(x,y);bFirstPoint=false;}}continue;}if(isBeforeOpen){var x=this.ChartFrame.GetLeftExtendXFromIndex(i,callAutionData);var y=this.ChartFrame.GetLeftExtendYFromData(item.Price);}else{var x=this.ChartFrame.GetRightExtendXFromIndex(i,callAutionData);var y=this.ChartFrame.GetRightExtendYFromData(item.Price);}if(bFirstPoint){this.Canvas.strokeStyle=isBeforeOpen?this.BeforeLineColor:this.AfterLineColor;this.Canvas.beginPath();if(isHScreen)this.Canvas.moveTo(y,x);else this.Canvas.moveTo(x,y);bFirstPoint=false;aryPoint.push({X:x,Y:y});}else{if(isHScreen)this.Canvas.lineTo(y,x);else this.Canvas.lineTo(x,y);aryPoint.push({X:x,Y:y});}var dateTime=item.Date*1000000+item.Time;this.UpdateLastPoint(dateTime,x,y,{Value:item.Price,Index:i,Date:item.Date,Time:item.Time,Type:isBeforeOpen?1:2,Explain:isBeforeOpen?"盘前":"盘后"});++drawCount;}if(drawCount>0){this.Canvas.stroke();}if(callAutionData.Ver==2.0&&this.BeforePoint.Radius>0){this.Canvas.fillStyle=isBeforeOpen?this.BeforePoint.Color:this.AfterPoint.Color;for(var i in aryPoint){var item=aryPoint[i];this.Canvas.beginPath();if(isHScreen)this.Canvas.arc(item.Y,item.X,this.BeforePoint.Radius,0,2*Math.PI);else this.Canvas.arc(item.X,item.Y,this.BeforePoint.Radius,0,2*Math.PI);this.Canvas.fill();}}};this.FindColorLineItem=function(minuteItem){if(!minuteItem||!this.ColorLineData)return null;for(var i in this.ColorLineData){var item=this.ColorLineData[i];if(item.Date==minuteItem.Date&&minuteItem.Time>=item.Start&&minuteItem.Time<=item.End){return item;}}return null;};//TODO:这个函数比较耗时间 后面再优化吧
4560
4563
  this.DrawColorLine=function(){if(!this.ColorLineData||!this.Source||!this.Data)return;var isHScreen=this.ChartFrame.IsHScreen===true;var border=this.ChartBorder.GetBorder();var xPointCount=this.ChartFrame.XPointCount;var minuteCount=this.ChartFrame.MinuteCount;var data=this.Data;var bFirstPoint=true;var ptLast={};//最后一个点
4561
4564
  var ptFirst={};var drawCount=0;var preColor=null;this.Canvas.save();for(var i=data.DataOffset,j=0;i<data.Data.length&&j<xPointCount;++i,++j){var value=null;value=data.Data[i];var item=this.Source.Data[i];if(!value||!item)continue;var colorItem=this.FindColorLineItem(item);if(!colorItem){if(drawCount>0){this.Canvas.stroke();bFirstPoint=true;}continue;}if(preColor&&preColor!=colorItem.Color){this.Canvas.stroke();bFirstPoint=true;/*
4562
4565
  this.Canvas.strokeStyle=colorItem.Color;
@@ -5902,7 +5905,7 @@ this.BorderColor=g_JSChartResource.CorssCursorBorderColor;//边框颜色
5902
5905
  this.XRangeBGColor=g_JSChartResource.CorssCursorXRangeBGColor;this.LineDash=g_JSChartResource.CorssCursorLineDash.slice();//虚线
5903
5906
  this.RightButton.BGColor=g_JSChartResource.CorssCursor.RightButton.BGColor;this.RightButton.PenColor=g_JSChartResource.CorssCursor.RightButton.PenColor;this.RightButton.Icon=CloneData(g_JSChartResource.CorssCursor.RightButton.Icon);this.RightOverlayConfig=CloneData(g_JSChartResource.CorssCursor.RightOverlayText);this.CorssPointConfig.Center=CloneData(g_JSChartResource.CorssCursor.CorssPoint.Center);this.CorssPointConfig.Border=CloneData(g_JSChartResource.CorssCursor.CorssPoint.Border);};this.GetCloseYPoint=function(index){if(!this.StringFormatX.Data)return null;var data=this.StringFormatX.Data;if(!data.Data||data.Data.length<=0)return null;var dataIndex=data.DataOffset+index;if(dataIndex>=data.Data.length)dataIndex=data.Data.length-1;if(dataIndex<0)return null;var klineData=data.Data[dataIndex];if(!klineData)return null;this.Close=klineData.Close;var yPoint=this.Frame.GetYFromData(this.Close);return yPoint;};this.GetMinuteCloseYPoint=function(index){if(this.EnableNewIndex&&this.CorssCursorIndex){if(!this.StringFormatX||!this.StringFormatX.GetMinuteCloseYPoint)return null;var closeData=this.StringFormatX.GetMinuteCloseYPoint(this.CorssCursorIndex);if(!closeData)return null;this.Close=closeData.Price;return closeData.Y;}else{if(!IFrameSplitOperator.IsNumber(index))return null;index=parseInt(index.toFixed(0));//index=parseInt(index);
5904
5907
  if(!this.StringFormatX.Data)return null;var data=this.StringFormatX.Data;if(!data.Data||data.Data.length<=0)return null;var dataIndex=data.DataOffset+index;if(dataIndex>=data.Data.length)dataIndex=data.Data.length-1;if(dataIndex<0)return null;var close=data.Data[dataIndex];if(!IFrameSplitOperator.IsNumber(index))return null;this.Close=close;var yPoint=this.Frame.GetYFromData(this.Close);return yPoint;}};this.GetDateTimeRange=function(index,option){if(!IFrameSplitOperator.IsNumber(index))return null;index=parseInt(index);var data=this.StringFormatX.Data;if(!data.Data||data.Data.length<=0)return null;var dataIndex=data.DataOffset+index;if(dataIndex>=data.Data.length||dataIndex<0)return null;if(!this.Frame||!this.Frame.SubFrame[0]||!this.Frame.SubFrame[0].Frame)return null;var frame=this.Frame.SubFrame[0].Frame;var dataWidth=frame.DataWidth;var distanceWidth=frame.DistanceWidth;var xPointCount=frame.XPointCount;var kItem=data.Data[dataIndex];if(!kItem)return null;var date=kItem.Date*1000000;var time=parseInt(kItem.Time/100)*100;var startTime=date+time;var endTime=date+time+59;var endIndex=dataIndex;for(var i=dataIndex;i<data.Data.length;++i){var item=data.Data[i];var dateTime=item.Date*1000000+item.Time;if(dateTime>endTime)break;if(i-data.DataOffset>=xPointCount)break;endIndex=i;}var startIndex=dataIndex;for(var i=dataIndex;i>=0&&i>=data.DataOffset;--i){var item=data.Data[i];var dateTime=item.Date*1000000+item.Time;if(dateTime<startTime)break;startIndex=i;}var range={StartIndex:startIndex,EndIndex:endIndex};range.XStart=this.Frame.GetXFromIndex(startIndex-data.DataOffset);range.XEnd=this.Frame.GetXFromIndex(endIndex-data.DataOffset);range.XStart-=(distanceWidth+dataWidth)/2;range.XEnd+=(distanceWidth+dataWidth)/2;return range;};this.FixMinuteLastTimeXPoint=function(index){if(!IFrameSplitOperator.IsNumber(index))return null;index=parseInt(index);if(!this.StringFormatX.Data)return null;var data=this.StringFormatX.Data;if(!data.Data||data.Data.length<=0)return null;var dataIndex=data.DataOffset+index;if(dataIndex<data.Data.length)return null;dataIndex=data.Data.length-1;dataIndex-=data.DataOffset;var xPoint=this.Frame.GetXFromIndex(dataIndex);return{X:xPoint,Index:dataIndex};};//返回 -1=不在客户区 1=在主区域 2=左边扩展 3=右边扩展
5905
- this.PtInClient=function(x,y){this.Canvas.beginPath();if(this.Frame.IsHScreen===true){var border=this.Frame.ChartBorder.GetHScreenBorder();this.Canvas.rect(border.Left,border.TopEx,border.Right-border.Left,border.BottomEx-border.TopEx);}else{var border=this.Frame.ChartBorder.GetBorder();this.Canvas.rect(border.LeftEx,border.Top,border.RightEx-border.LeftEx,border.Bottom-border.Top);}if(this.Canvas.isPointInPath(x,y))return 1;if(this.Frame.ChartBorder.LeftExtendWidth>10){this.Canvas.beginPath();if(this.Frame.IsHScreen===true){this.Canvas.rect(border.Left,border.Top,border.Right-border.Left,border.TopEx-border.Top);}else{this.Canvas.rect(border.Left,border.Top,border.LeftEx-border.Left,border.Bottom-border.Top);}if(this.Canvas.isPointInPath(x,y))return 2;}if(this.Frame.ChartBorder.RightExtendWidth>10){this.Canvas.beginPath();if(this.Frame.IsHScreen===true){this.Canvas.rect(border.Left,border.BottomEx,border.Right-border.Left,border.Bottom-border.BottomEx);}else{this.Canvas.rect(border.RightEx,border.Top,border.Right-border.RightEx,border.Bottom-border.Top);}if(this.Canvas.isPointInPath(x,y))return 3;}return-1;};this.GetFontHeight=function(font){return GetFontHeight(this.Canvas,font,"擎");};this.Draw=function(){this.Status=0;this.RightButton.Rect=null;this.BottomButton.Rect=null;this.LastValue=null;if(!this.LastPoint)return;this.Close=null;var x=this.LastPoint.X;var y=this.LastPoint.Y;var clientPos=this.PtInClient(x,y);this.PointY=null;this.PointY==null;this.ClientPos=clientPos;if(clientPos<=0)return;if(this.Frame.IsHScreen===true){this.HScreenDraw();return;}var border=this.Frame.ChartBorder.GetBorder();var left=border.Left;var right=border.Right;var top=border.TopTitle;var bottom=border.Bottom;var rightWidth=this.Frame.ChartBorder.Right;var chartRight=border.ChartWidth;if(this.IsOnlyDrawKLine)//手机端 十字只能画在K线上
5908
+ this.PtInClient=function(x,y){this.Canvas.beginPath();if(this.Frame.IsHScreen===true){var border=this.Frame.ChartBorder.GetHScreenBorder();this.Canvas.rect(border.Left,border.TopEx,border.Right-border.Left,border.BottomEx-border.TopEx);}else{var border=this.Frame.ChartBorder.GetBorder();this.Canvas.rect(border.LeftEx,border.Top,border.RightEx-border.LeftEx,border.Bottom-border.Top);}if(this.Canvas.isPointInPath(x,y))return 1;if(this.Frame.ChartBorder.LeftExtendWidth>10){this.Canvas.beginPath();if(this.Frame.IsHScreen===true){this.Canvas.rect(border.Left,border.Top,border.Right-border.Left,border.TopEx-border.Top);}else{this.Canvas.rect(border.Left,border.Top,border.LeftEx-border.Left,border.Bottom-border.Top);}if(this.Canvas.isPointInPath(x,y))return 2;}if(this.Frame.ChartBorder.RightExtendWidth>10){this.Canvas.beginPath();if(this.Frame.IsHScreen===true){this.Canvas.rect(border.Left,border.BottomEx,border.Right-border.Left,border.Bottom-border.BottomEx);}else{this.Canvas.rect(border.RightEx,border.Top,border.Right-border.RightEx,border.Bottom-border.Top);}if(this.Canvas.isPointInPath(x,y))return 3;}return-1;};this.GetFontHeight=function(font){return GetFontHeight(this.Canvas,font,"擎");};this.Draw=function(){this.Status=0;this.RightButton.Rect=null;this.BottomButton.Rect=null;this.LastValue=null;if(!this.LastPoint)return;if(!this.IsShow)return;this.Close=null;var x=this.LastPoint.X;var y=this.LastPoint.Y;var clientPos=this.PtInClient(x,y);this.PointY=null;this.PointY==null;this.ClientPos=clientPos;if(clientPos<=0)return;if(this.Frame.IsHScreen===true){this.HScreenDraw();return;}var border=this.Frame.ChartBorder.GetBorder();var left=border.Left;var right=border.Right;var top=border.TopTitle;var bottom=border.Bottom;var rightWidth=this.Frame.ChartBorder.Right;var chartRight=border.ChartWidth;if(this.IsOnlyDrawKLine)//手机端 十字只能画在K线上
5906
5909
  {x=this.Frame.GetXFromIndex(this.CursorIndex);if(this.IsShowClose){var yPoint=this.GetCloseYPoint(this.CursorIndex);if(yPoint!=null)y=yPoint;}}else if(this.IsOnlyDrawMinute){var yPoint=this.GetMinuteCloseYPoint(this.CursorIndex);if(yPoint!=null)y=yPoint;}if(this.CallAcutionXOperator){this.CallAcutionXOperator.Value=x;this.CallAcutionXOperator.Point={X:x,Y:y};this.CallAcutionXOperator.ClientPos=clientPos;if(this.CallAcutionXOperator.Operator()){x=this.CallAcutionXOperator.X;}}if(this.IsFixXLastTime){var value=this.FixMinuteLastTimeXPoint(this.CursorIndex);if(value){x=value.X;this.CursorIndex=value.Index;}}this.PointY=[[left,y],[right,y]];this.PointX=[[x,top],[x,bottom]];//十字线
5907
5910
  if(this.IsShowCorss){var rangeBG=null;if(this.IsDrawXRangeBG){rangeBG=this.GetDateTimeRange(this.CursorIndex);}var pixel=GetDevicePixelRatio();if(this.HPenType==1||this.HPenType==0)//0=虚线 1=实线
5908
5911
  {this.Canvas.strokeStyle=this.HPenColor;if(this.HPenType==0)this.Canvas.setLineDash(this.LineDash);//虚线
@@ -5975,7 +5978,7 @@ this.Canvas.fillRect(-textWidth/2,0,textWidth,this.TextHeight);this.Canvas.textA
5975
5978
  this.OnKeyDown=function(data){if(!this.EnableKeyboard)return;var keyID=data.KeyID;if(keyID==27)//ESC 隐藏十字线
5976
5979
  {if(!this.IsShowCorss)return;this.IsShowCorss=false;data.Draw=true;if(this.OnChangeStatusCallback)this.OnChangeStatusCallback({Type:1,IsShowCorss:this.IsShowCorss},this);}else if(keyID==37||keyID==39)//left, right 显示十字线
5977
5980
  {if(this.IsShowCorss)return;this.IsShowCorss=true;data.Draw=true;if(this.OnChangeStatusCallback)this.OnChangeStatusCallback({Type:1,IsShowCorss:this.IsShowCorss},this);}};this.OnDBClick=function(data){if(!this.EnableDBClick)return;if(!IFrameSplitOperator.IsNonEmptyArray(this.Frame.SubFrame))return;//在主图框架内
5978
- var frame=this.Frame.SubFrame[0].Frame;if(!frame)return;var border=frame.GetBorder();var rtClient={Left:border.Left,Top:border.Top,Bottom:border.Bottom,Right:border.Right};var x=data.X,y=data.Y;if(x>=rtClient.Left&&x<=rtClient.Right&&y>=rtClient.Top&&y<=rtClient.Bottom){this.IsShowCorss=!this.IsShowCorss;data.Draw=true;if(this.OnChangeStatusCallback)this.OnChangeStatusCallback({Type:1,IsShowCorss:this.IsShowCorss},this);}};this.DrawCorssPoint=function(x,y){var config=this.CorssPointConfig;if(!config.Enable)return;this.Canvas.beginPath();this.Canvas.arc(x,y,config.Center.Radius,0,360,false);this.Canvas.closePath();if(config.Center&&config.Center.Color){this.Canvas.fillStyle=config.Center.Color;this.Canvas.fill();}if(config.Border&&config.Border.Color){this.Canvas.strokeStyle=config.Border.Color;if(IFrameSplitOperator.IsNumber(config.Border.Width))this.Canvas.lineWidth=config.Border.Width;this.Canvas.stroke();}};}////////////////////////////////////////////////////////////////////////////////
5981
+ var frame=this.Frame.SubFrame[0].Frame;if(!frame)return;var border=frame.GetBorder();var rtClient={Left:border.Left,Top:border.Top,Bottom:border.Bottom,Right:border.Right};var x=data.X,y=data.Y;if(x>=rtClient.Left&&x<=rtClient.Right&&y>=rtClient.Top&&y<=rtClient.Bottom){this.IsShowCorss=!this.IsShowCorss;data.Draw=true;if(this.OnChangeStatusCallback)this.OnChangeStatusCallback({Type:1,IsShowCorss:this.IsShowCorss,X:x,Y:y},this);}};this.DrawCorssPoint=function(x,y){var config=this.CorssPointConfig;if(!config.Enable)return;this.Canvas.beginPath();this.Canvas.arc(x,y,config.Center.Radius,0,360,false);this.Canvas.closePath();if(config.Center&&config.Center.Color){this.Canvas.fillStyle=config.Center.Color;this.Canvas.fill();}if(config.Border&&config.Border.Color){this.Canvas.strokeStyle=config.Border.Color;if(IFrameSplitOperator.IsNumber(config.Border.Width))this.Canvas.lineWidth=config.Border.Width;this.Canvas.stroke();}};}////////////////////////////////////////////////////////////////////////////////
5979
5982
  //深度图十字光标
5980
5983
  function DepthChartCorssCursor(){this.Frame;this.HQChart;this.Canvas;//画布
5981
5984
  this.Data;this.Symbol;this.HPenType=0;//水平线样式 0=虚线 1=实线
@@ -6198,7 +6201,8 @@ this.IsShowName=true;//是否显示股票名称
6198
6201
  this.IsShowSettingInfo=true;//是否显示设置信息(周期 复权)
6199
6202
  this.IsShowDateTime=true;//是否显示日期
6200
6203
  this.LanguageID=JSCHART_LANGUAGE_ID.LANGUAGE_CHINESE_ID;this.ShowPositionConfig={Margin:{Bottom:2,Left:2}};//显示位置高级配置 { Type:1 左对齐, Margin:{ Left, Right, Bottom } }
6201
- this.OnDrawEvent;this.OnMouseMoveEvent;this.HQChart;this.ReloadResource=function(){this.Font=g_JSChartResource.TitleFont;this.TitleColor=g_JSChartResource.DefaultTextColor;this.UpColor=g_JSChartResource.UpTextColor;this.DownColor=g_JSChartResource.DownTextColor;this.UnchagneColor=g_JSChartResource.UnchagneTextColor;this.VolColor=g_JSChartResource.Title.VolColor;this.AmountColor=g_JSChartResource.Title.AmountColor;this.DateTimeColor=g_JSChartResource.Title.DateTimeColor;this.NameColor=g_JSChartResource.Title.NameColor;this.SettingColor=g_JSChartResource.Title.SettingColor;this.TurnoverRateColor=g_JSChartResource.Title.TurnoverRateColor;//换手率
6204
+ this.OnDrawEvent;this.OnMouseMoveEvent;this.HQChart;//十字线是否显示
6205
+ this.IsShowCorssLine=function(){if(!this.HQChart||!this.HQChart.ChartCorssCursor)return false;return this.HQChart.ChartCorssCursor.IsShowCorss;};this.ReloadResource=function(){this.Font=g_JSChartResource.TitleFont;this.TitleColor=g_JSChartResource.DefaultTextColor;this.UpColor=g_JSChartResource.UpTextColor;this.DownColor=g_JSChartResource.DownTextColor;this.UnchagneColor=g_JSChartResource.UnchagneTextColor;this.VolColor=g_JSChartResource.Title.VolColor;this.AmountColor=g_JSChartResource.Title.AmountColor;this.DateTimeColor=g_JSChartResource.Title.DateTimeColor;this.NameColor=g_JSChartResource.Title.NameColor;this.SettingColor=g_JSChartResource.Title.SettingColor;this.TurnoverRateColor=g_JSChartResource.Title.TurnoverRateColor;//换手率
6202
6206
  this.PositionColor=g_JSChartResource.Title.PositionColor;//持仓
6203
6207
  };this.GetCurrentKLineData=function()//获取当天鼠标位置所在的K线数据
6204
6208
  {if(this.CursorIndex==null||!this.Data)return null;if(this.Data.length<=0)return null;var index=this.CursorIndex;index=parseInt(index.toFixed(0));var dataIndex=this.Data.DataOffset+index;if(dataIndex>=this.Data.Data.length)dataIndex=this.Data.Data.length-1;if(dataIndex<0)return null;var item=this.Data.Data[dataIndex];return item;};this.GetFormatTitle=function(data){if(!data||!data.Data)return;var defaultfloatPrecision=GetfloatPrecision(this.Symbol);//价格小数位数
@@ -6215,7 +6219,7 @@ var text=g_JSChartLocalization.GetText('KTitle-Exchange',this.LanguageID)+IFrame
6215
6219
  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 result;};this.GetLeft=function(isHScreen){if(isHScreen){var left=this.Frame.ChartBorder.GetTop();if(this.ShowPositionConfig){var item=this.ShowPositionConfig;if(item.Type===1)left=0;if(item.Margin&&IFrameSplitOperator.IsNumber(item.Margin.Left))left+=item.Margin.Left;}return left;}else{var left=this.Frame.ChartBorder.Left;if(this.ShowPositionConfig){var item=this.ShowPositionConfig;if(item.Type===1)left=0;if(item.Margin&&IFrameSplitOperator.IsNumber(item.Margin.Left))left+=item.Margin.Left;}return left;}};this.GetRight=function(isHScreen){if(isHScreen){var right=this.Frame.ChartBorder.GetHeight();if(this.ShowPositionConfig){var item=this.ShowPositionConfig;if(item.Type===1)right=this.Frame.ChartBorder.GetChartHeight();if(item.Margin&&IFrameSplitOperator.IsNumber(item.Margin.Right))right-=item.Margin.Right;}return right;}else{var right=this.Frame.ChartBorder.GetRight();if(this.ShowPositionConfig){var item=this.ShowPositionConfig;if(item.Type===1)right=this.Frame.ChartBorder.GetChartWidth();if(item.Margin&&IFrameSplitOperator.IsNumber(item.Margin.Right))right-=item.Margin.Right;}return right;}};this.GetBottom=function(isHScreen){if(isHScreen){var bottom=this.Frame.ChartBorder.GetRight();if(this.ShowPositionConfig){var item=this.ShowPositionConfig;if(item.Margin&&IFrameSplitOperator.IsNumber(item.Margin.Bottom))bottom+=item.Margin.Bottom;}return bottom;}else{var bottom=this.Frame.ChartBorder.GetTop();if(this.ShowPositionConfig){var item=this.ShowPositionConfig;if(item.Margin&&IFrameSplitOperator.IsNumber(item.Margin.Bottom))bottom-=item.Margin.Bottom;}return bottom;}};this.DrawItem=function(item){var isHScreen=this.Frame.IsHScreen===true;var left=this.GetLeft(isHScreen);var right=this.GetRight(isHScreen);var bottom=this.GetBottom(isHScreen);var pixelRatio=GetDevicePixelRatio();if(isHScreen){if(this.Frame.ChartBorder.Right<5*pixelRatio)return;var xText=bottom;var yText=left;this.Canvas.translate(xText,yText);this.Canvas.rotate(90*Math.PI/180);left=bottom=0;}else{if(this.Frame.ChartBorder.Top<5*pixelRatio)return;}this.Canvas.textAlign="left";this.Canvas.textBaseline="bottom";this.Canvas.font=this.Font;var position={Left:left,MaxRight:right,Bottom:bottom,IsHScreen:isHScreen};var titleData=this.GetFormatTitle({Data:item});if(titleData&&IFrameSplitOperator.IsNonEmptyArray(titleData.AryText)){for(var i=0;i<titleData.AryText.length;++i){var item=titleData.AryText[i];if(!this.DrawText(item.Text,item.Color,position))break;}}};this.Draw=function(){if(!this.IsShow)return;if(this.CursorIndex==null||!this.Data||this.Data.length<=0){this.OnDrawEventCallback(null);return;}this.Canvas.font=this.Font;this.SpaceWidth=this.Canvas.measureText('0').width;var index=this.CursorIndex;index=parseInt(index.toFixed(0));var dataIndex=this.Data.DataOffset+index;if(dataIndex>=this.Data.Data.length)dataIndex=this.Data.Data.length-1;if(dataIndex<0){this.OnDrawEventCallback(null);return;}if(this.IsShowLastData())//鼠标不在图形上 显示最后一条数据
6216
6220
  {dataIndex=this.Data.Data.length-1;}var item=this.Data.Data[dataIndex];this.OnDrawEventCallback(item);this.Canvas.save();this.DrawItem(item);this.Canvas.restore();};this.OnDrawEventCallback=function(drawData){var bDrawEvent=this.OnDrawEvent&&this.OnDrawEvent.Callback;var bMouseMoveEvent=this.OnMouseMoveEvent&&this.OnMouseMoveEvent.Callback;if(!bDrawEvent&&!bMouseMoveEvent)return;var data={Draw:drawData,Name:this.ClassName};if(this.Data&&this.Data.Data){var index=Math.abs(this.CursorIndex);index=parseInt(index.toFixed(0));var dataIndex=this.Data.DataOffset+index;var dataCount=this.Data.Data.length;data.DataIndex=dataIndex;data.DataCount=dataCount;}//叠加股票
6217
6221
  if(IFrameSplitOperator.IsNonEmptyArray(this.OverlayChartPaint)){data.OverlayStock=[];for(var i=0;i<this.OverlayChartPaint.length;++i){var item=this.OverlayChartPaint[i];if(!item.Symbol||!item.Title)continue;data.OverlayStock.push({Symbol:item.Symbol,Name:item.Title,Data:item.Data,Color:item.Color});}}if(bDrawEvent)this.OnDrawEvent.Callback(this.OnDrawEvent,data,this);if(bMouseMoveEvent)this.OnMouseMoveEvent.Callback(this.OnMouseMoveEvent,data,this);};this.GetColor=function(price,yclse){if(price>yclse)return this.UpColor;else if(price<yclse)return this.DownColor;else return this.UnchagneColor;};this.OnUnchangeTitleColor=function(event,sendData){if(!event||!event.Callback)return false;sendData.ClassName=this.ClassName;event.Callback(event,sendData,this);if(sendData&&sendData.TitleColor)return true;return false;};this.DrawText=function(title,color,position){if(!title)return true;var isHScreen=this.Frame.IsHScreen===true;var right=this.Frame.ChartBorder.GetRight();if(isHScreen)right=this.Frame.ChartBorder.GetHeight();if(IFrameSplitOperator.IsNumber(position.MaxRight))right=position.MaxRight;this.Canvas.fillStyle=color;var textWidth=this.Canvas.measureText(title).width;if(position.Left+textWidth>right)return false;if(this.IsShow)this.Canvas.fillText(title,position.Left,position.Bottom,textWidth);position.Left+=textWidth+this.SpaceWidth;return true;};//计算K线指标标题信息
6218
- this.GetKLineCalculateTitle=function(){if(!this.HQChart)return null;var klineCalulate=this.HQChart.GetKLineCalulate();if(!klineCalulate||!klineCalulate.GetTitle)return null;return klineCalulate.GetTitle();};this.IsShowLastData=function(){if(this.HQChart&&this.HQChart.EnableClickModel&&this.HQChart.ClickModel){var clickModel=this.HQChart.ClickModel;if(clickModel.IsShowCorssCursor)return false;}var isShow=false;if(this.DrawStatus&&this.DrawStatus.IsTitleShowLatestData){var status=this.DrawStatus;if(!IFrameSplitOperator.IsNumber(status.FrameID)||status.FrameID<0)isShow=true;else if(status.CorssCursorTouchEnd&&status.IsOnTouch==false)isShow=true;}return isShow;};}function DynamicMinuteTitlePainting(){this.newMethod=DynamicKLineTitlePainting;//派生
6222
+ this.GetKLineCalculateTitle=function(){if(!this.HQChart)return null;var klineCalulate=this.HQChart.GetKLineCalulate();if(!klineCalulate||!klineCalulate.GetTitle)return null;return klineCalulate.GetTitle();};this.IsShowLastData=function(){if(this.HQChart&&this.HQChart.EnableClickModel&&this.HQChart.ClickModel){var clickModel=this.HQChart.ClickModel;if(clickModel.IsShowCorssCursor)return false;}var isShow=false;if(this.DrawStatus&&this.DrawStatus.IsTitleShowLatestData){var status=this.DrawStatus;if(!IFrameSplitOperator.IsNumber(status.FrameID)||status.FrameID<0)isShow=true;else if(status.CorssCursorTouchEnd&&status.IsOnTouch==false)isShow=true;else if(!this.IsShowCorssLine())isShow=true;}return isShow;};}function DynamicMinuteTitlePainting(){this.newMethod=DynamicKLineTitlePainting;//派生
6219
6223
  this.newMethod();delete this.newMethod;this.ClassName='DynamicMinuteTitlePainting';this.SpaceWidth=1*GetDevicePixelRatio();this.YClose;this.IsShowDate=false;//标题是否显示日期
6220
6224
  this.IsShowTime=true;//标题是否显示时间
6221
6225
  this.IsShowName=true;//标题是否显示股票名字
@@ -6260,7 +6264,7 @@ if(IFrameSplitOperator.IsNumber(item.Vol[1])&&this.CallAuctionShowTitle.has("MTi
6260
6264
  {var text=g_JSChartLocalization.GetText('MTitle-AC-NotMatchAmount',this.LanguageID)+IFrameSplitOperator.FromatIntegerString(aryAmount[1],2);aryText.push({Text:text,Color:this.AmountColor});}}}return{AryText:aryText};};this.DrawCallAuction=function()//集合竞价标题
6261
6265
  {var isHScreen=this.Frame.IsHScreen===true;var border=this.Frame.GetBorder();var pixelRatio=GetDevicePixelRatio();var left=this.GetLeft(isHScreen);var right=this.GetRight(isHScreen);var bottom=this.GetBottom(isHScreen);var bDraw=true;if(isHScreen){if(this.Frame.ChartBorder.Right<5*pixelRatio)return;var xText=bottom;var yText=left;this.Canvas.translate(xText,yText);this.Canvas.rotate(90*Math.PI/180);left=bottom=0;}else{if(this.Frame.ChartBorder.Top<5*pixelRatio)bDraw=false;}this.Canvas.textAlign="left";this.Canvas.textBaseline="bottom";this.Canvas.font=this.Font;var position={Left:left,Bottom:bottom,MaxRight:right,IsHScreen:isHScreen};var auctionData=this.GetCurrentAuctionData();var titleData=this.FormatCallAuctionTitle(auctionData);if(bDraw&&titleData&&IFrameSplitOperator.IsNonEmptyArray(titleData.AryText)){for(var i=0;i<titleData.AryText.length;++i){var item=titleData.AryText[i];if(!this.DrawText(item.Text,item.Color,position))break;}}this.OnDrawCallAuctionEventCallback(auctionData);};this.OnDrawCallAuctionEventCallback=function(drawData){if(this.OnDrawEvent&&this.OnDrawEvent.Callback){var data={Draw:drawData,Name:this.ClassName};this.OnDrawEvent.Callback(this.OnDrawEvent,data,this);}if(this.OnMouseMoveEvent&&this.OnMouseMoveEvent.Callback){var data={Draw:drawData,Name:this.ClassName};this.OnMouseMoveEvent.Callback(this.OnDrawEvent,data,this);}};this.DrawNone=function(){this.OnDrawEventCallback(null);var bShowLastData=this.IsAlwaysShowLastData;if(this.DrawStatus&&this.DrawStatus.IsTitleShowLatestData){var status=this.DrawStatus;if(!IFrameSplitOperator.IsNumber(status.FrameID)||status.FrameID<0)bShowLastData=true;else if(status.CorssCursorTouchEnd&&status.IsOnTouch==false)bShowLastData=true;}if(bShowLastData){this.Canvas.save();this.DrawLastDataItem();this.Canvas.restore();}};this.Draw=function(){this.LastShowData=null;this.GlobalOption=this.Frame.GlobalOption;if(!this.IsShow){//隐藏标题 并且没有回调事件
6262
6266
  var bEvent=this.OnDrawEvent&&this.OnDrawEvent.Callback||this.OnMouseMoveEvent&&this.OnMouseMoveEvent.Callback;if(!bEvent)return;}if(this.PointInfo&&(this.PointInfo.ClientPos==2||this.PointInfo.ClientPos==3||this.PointInfo.ClientPos>=200&&this.PointInfo.ClientPos<=299||this.PointInfo.ClientPos>=300&&this.PointInfo.ClientPos<=399)){//集合竞价区域
6263
- this.Canvas.save();this.DrawCallAuction();this.Canvas.restore();return;}if(!this.Data||!this.Data.Data||this.Data.Data.length<=0){this.DrawNone();return;}if(this.CursorIndex==null&&!(this.GlobalOption&&this.GlobalOption.IsDisplayLatest)){this.DrawNone();return;}this.Canvas.font=this.Font;this.SpaceWidth=this.Canvas.measureText('0').width;var isShowLastData=false;if(this.DrawStatus&&this.DrawStatus.IsTitleShowLatestData){var status=this.DrawStatus;if(!IFrameSplitOperator.IsNumber(status.FrameID)||status.FrameID<0)isShowLastData=true;else if(status.CorssCursorTouchEnd&&status.IsOnTouch==false)isShowLastData=true;}else if(this.GlobalOption&&this.GlobalOption.IsDisplayLatest){isShowLastData=true;}//十字光标锁定状态 禁用显示最后一个数据
6267
+ this.Canvas.save();this.DrawCallAuction();this.Canvas.restore();return;}if(!this.Data||!this.Data.Data||this.Data.Data.length<=0){this.DrawNone();return;}if(this.CursorIndex==null&&!(this.GlobalOption&&this.GlobalOption.IsDisplayLatest)){this.DrawNone();return;}this.Canvas.font=this.Font;this.SpaceWidth=this.Canvas.measureText('0').width;var isShowLastData=false;if(this.DrawStatus&&this.DrawStatus.IsTitleShowLatestData){var status=this.DrawStatus;if(!IFrameSplitOperator.IsNumber(status.FrameID)||status.FrameID<0)isShowLastData=true;else if(status.CorssCursorTouchEnd&&status.IsOnTouch==false)isShowLastData=true;else if(!this.IsShowCorssLine())isShowLastData=true;}else if(this.GlobalOption&&this.GlobalOption.IsDisplayLatest){isShowLastData=true;}//十字光标锁定状态 禁用显示最后一个数据
6264
6268
  if(this.GlobalOption&&this.GlobalOption.LockCorssCursor&&this.GlobalOption.LockCorssCursor.X.Enable)isShowLastData=false;var isLastOne=false;if(isShowLastData){var item=null;var lastItem=this.GetLatestKLineData(true);if(lastItem&&lastItem.Type==0)item=lastItem.Data;isLastOne=true;}else{//var index=Math.abs(this.CursorIndex-0.5);
6265
6269
  var index=this.CursorIndex;index=parseInt(index.toFixed(0));var dataIndex=index+this.Data.DataOffset;if(dataIndex>=this.Data.Data.length)dataIndex=this.Data.Data.length-1;var item=this.Data.Data[dataIndex];if(dataIndex==this.Data.Data.length-1)isLastOne=true;}this.LastShowData=item;this.Canvas.save();this.OnDrawEventCallback(item);if(this.IsAlwaysShowLastData){this.DrawLastDataItem();}else{this.DrawItem(item,isLastOne);}this.Canvas.restore();};this.DrawCallAuctionItem=function(callAuctionItem,isLastOne){if(!callAuctionItem)return;var item=callAuctionItem.Data;var isHScreen=this.Frame.IsHScreen===true;var pixelRatio=GetDevicePixelRatio();var border=this.Frame.GetBorder();var left=this.GetLeft(isHScreen);var right=this.GetRight(isHScreen);var bottom=this.GetBottom(isHScreen);var bDraw=true;if(isHScreen){if(this.Frame.ChartBorder.Right<5*pixelRatio)return;var xText=bottom;var yText=left;this.Canvas.translate(xText,yText);this.Canvas.rotate(90*Math.PI/180);left=bottom=0;//旋转以后 位置调整0
6266
6270
  }else{if(this.Frame.ChartBorder.Top<5*pixelRatio)bDraw=false;}this.Canvas.textAlign="left";this.Canvas.textBaseline="bottom";this.Canvas.font=this.Font;var position={Left:left,Bottom:bottom,MaxRight:right,IsHScreen:isHScreen};var titleData=this.FormatCallAuctionTitle(callAuctionItem);if(bDraw&&titleData&&IFrameSplitOperator.IsNonEmptyArray(titleData.AryText)){for(var i=0;i<titleData.AryText.length;++i){var item=titleData.AryText[i];if(!this.DrawText(item.Text,item.Color,position))break;}}};this.DrawLastDataItem=function(){var lastItem=this.GetLatestKLineData(true);if(lastItem){if(lastItem.Type==0)this.DrawItem(lastItem.Data,true);else if(lastItem.Type==1||lastItem.Type==2)this.DrawCallAuctionItem(lastItem,true);}};}//字符串输出格式
@@ -6308,14 +6312,15 @@ this.UpColor=g_JSChartResource.UpTextColor;this.DownColor=g_JSChartResource.Down
6308
6312
  this.DynamicTitle={OutName:null,OutValue:null};this.OverlayDynamicTitle=new _map2.default();//key , value={ OutName, OutValue }
6309
6313
  this.IsShowMainIndexTitle=true;//是否显示主图指标标题
6310
6314
  this.MainTitlePaint=null;//主标题
6311
- this.ReloadResource=function(){this.Font=g_JSChartResource.TitleFont;this.TitleColor=g_JSChartResource.DefaultTextColor;this.SelectedColor=g_JSChartResource.IndexTitleSelectedColor;this.OverlayIndexType.BGColor=g_JSChartResource.OverlayIndexTitleBGColor;this.BGColor=g_JSChartResource.IndexTitleBGColor;this.BGBorderColor=g_JSChartResource.IndexTitleBorderColor;this.BGBorderMoveOnColor=g_JSChartResource.IndexTitleBorderMoveOnColor;this.UpColor=g_JSChartResource.UpTextColor;this.DownColor=g_JSChartResource.DownTextColor;this.UnchangeColor=g_JSChartResource.UnchagneTextColor;this.VolColor=g_JSChartResource.Title.VolColor;this.AmountColor=g_JSChartResource.Title.AmountColor;this.DateTimeColor=g_JSChartResource.Title.DateTimeColor;this.PositionColor=g_JSChartResource.Title.PositionColor;//持仓
6315
+ //十字线是否显示
6316
+ this.IsShowCorssLine=function(){if(!this.HQChart||!this.HQChart.ChartCorssCursor)return false;return this.HQChart.ChartCorssCursor.IsShowCorss;};this.ReloadResource=function(){this.Font=g_JSChartResource.TitleFont;this.TitleColor=g_JSChartResource.DefaultTextColor;this.SelectedColor=g_JSChartResource.IndexTitleSelectedColor;this.OverlayIndexType.BGColor=g_JSChartResource.OverlayIndexTitleBGColor;this.BGColor=g_JSChartResource.IndexTitleBGColor;this.BGBorderColor=g_JSChartResource.IndexTitleBorderColor;this.BGBorderMoveOnColor=g_JSChartResource.IndexTitleBorderMoveOnColor;this.UpColor=g_JSChartResource.UpTextColor;this.DownColor=g_JSChartResource.DownTextColor;this.UnchangeColor=g_JSChartResource.UnchagneTextColor;this.VolColor=g_JSChartResource.Title.VolColor;this.AmountColor=g_JSChartResource.Title.AmountColor;this.DateTimeColor=g_JSChartResource.Title.DateTimeColor;this.PositionColor=g_JSChartResource.Title.PositionColor;//持仓
6312
6317
  };this.SetDynamicTitleData=function(outName,args,data){if(!data.OutName)data.OutName=new _map2.default();else data.OutName.clear();if(!data.OutValue)data.OutValue=new _map2.default();else data.OutValue.clear();var mapArgs=new _map2.default();for(var i in args){var item=args[i];mapArgs.set('{'+item.Name+'}',item);}for(var i in outName){var item=outName[i];if(item.DynamicName){var aryFond=item.DynamicName.match(/{\w*}/i);if(!aryFond||aryFond.length<=0){data.OutName.set(item.Name,item.DynamicName);}else{var dyName=item.DynamicName;var bFind=true;for(var j=0;j<aryFond.length;++j){var findItem=aryFond[j];if(mapArgs.has(findItem)){var value=mapArgs.get(findItem).Value;dyName=dyName.replace(findItem,value.toString());}else{bFind=false;break;}}if(bFind)data.OutName.set(item.Name,dyName);}}if(item.DynamicValue){data.OutValue.set(item.Name,item.DynamicValue);}}};this.SetDynamicTitle=function(outName,args,overlayID){if(IFrameSplitOperator.IsString(overlayID)){var dynamicTitle=null;if(this.OverlayDynamicTitle.has(overlayID)){dynamicTitle=this.OverlayDynamicTitle.get(overlayID);}else{dynamicTitle={OutName:null,OutValue:null};this.OverlayDynamicTitle.set(overlayID,dynamicTitle);}this.SetDynamicTitleData(outName,args,dynamicTitle);}else{this.SetDynamicTitleData(outName,args,this.DynamicTitle);}};this.GetDynamicOutName=function(key,overlayID){if(IFrameSplitOperator.IsString(overlayID)){if(!this.OverlayDynamicTitle.has(overlayID))return null;var dynamicTitle=this.OverlayDynamicTitle.get(overlayID);var outName=dynamicTitle.OutName;}else{var outName=this.DynamicTitle.OutName;}if(!outName||outName.size<=0)return null;if(!outName.has(key))return null;return outName.get(key);};this.GetDynamicOutValue=function(key,value){var outValue=this.DynamicTitle.OutValue;if(!outValue||outValue.size<=0)return null;if(!outValue.has(key))return null;var strFormat=outValue.get(key);strFormat=strFormat.replace('{Value}',value);return strFormat;};this.IsClickTitle=function(x,y)//是否点击了指标标题
6313
6318
  {if(!this.TitleRect)return false;if(x>this.TitleRect.Left&&x<this.TitleRect.Left+this.TitleRect.Width&&y>this.TitleRect.Top&&y<this.TitleRect.Top+this.TitleRect.Height){return true;}return false;};this.FormatValue=function(value,item){if(item.StringFormat==STRING_FORMAT_TYPE.DEFAULT)return IFrameSplitOperator.FormatValueStringV2(value,item.FloatPrecision,2,this.LanguageID);else if(item.StringFormat==STRING_FORMAT_TYPE.THOUSANDS)return IFrameSplitOperator.FormatValueThousandsString(value,item.FloatPrecision);else if(item.StringFormat==STRING_FORMAT_TYPE.ORIGINAL)return value.toFixed(item.FloatPrecision).toString();else if(item.StringFormat==STRING_FORMAT_TYPE.INTEGER)return IFrameSplitOperator.FromatIntegerString(value,item.FloatPrecision,this.LanguageID);};this.FormatMultiReport=function(data,format){if(!IFrameSplitOperator.IsNonEmptyArray(data))return null;var text="";for(var i=0;i<data.length;++i){var item=data[i];var quarter=item.Quarter;var year=item.Year;var _value2=item.Value;if(text.length>0)text+=',';text+=year.toString();switch(quarter){case 1:text+='一季报 ';break;case 2:text+='半年报 ';break;case 3:text+='三季报 ';break;case 4:text+='年报 ';break;}text+=this.FormatValue(_value2,format);}return text;};this.FormatMultiDataLine=function(value,dataInfo){if(!value)return null;var text="";if(Array.isArray(value)){for(var i=0;i<value.length;++i){var item=value[i];if(item.Type==0)continue;if(!IFrameSplitOperator.IsNumber(item.Value))continue;var strValue=this.FormatValue(item.Value,dataInfo);if(text.length>0)text+=',';text+=strValue;}}else{if(value.Type!=0&&IFrameSplitOperator.IsNumber(value.Value)){text=this.FormatValue(value.Value,dataInfo);}}if(text.length<=0)return null;return text;};//多变量输出
6314
6319
  this.FormatStackedBarTitle=function(aryBar,dataInfo){if(!IFrameSplitOperator.IsNonEmptyArray(aryBar))return null;if(!IFrameSplitOperator.IsNonEmptyArray(dataInfo.Color))return null;var aryText=[];for(var i=0;i<aryBar.length;++i){var value=aryBar[i];if(!IFrameSplitOperator.IsNumber(value))continue;var item={Text:value.toFixed(2)};if(dataInfo.Name&&dataInfo.Name[i])item.Name=dataInfo.Name[i];item.Color=dataInfo.Color[i];aryText.push(item);}if(aryText.length<=0)return null;return aryText;};this.FormatBaseLineBarTitle=function(kItem,dataInfo){var result=null;var aryText=[];if(!kItem)return result;if(!dataInfo.Chart)return result;var chart=dataInfo.Chart;var item=chart.GetItem(kItem);if(!item)return result;if(!IFrameSplitOperator.IsNumber(item.Up)&&!IFrameSplitOperator.IsNumber(item.Down))return result;result={Text:null,ArrayText:aryText};if(IFrameSplitOperator.IsNumber(item.Up)){var textItem={Name:null,Text:null};textItem.Text=this.FormatValue(item.Up,dataInfo);if(chart.UpName)textItem.Name=chart.UpName;if(chart.UpColor)textItem.Color=chart.UpColor;aryText.push(textItem);}if(IFrameSplitOperator.IsNumber(item.Down)){var textItem={Name:null,Text:null};textItem.Text=this.FormatValue(item.Down,dataInfo);if(chart.DownName)textItem.Name=chart.DownName;if(chart.DownColor)textItem.Color=chart.DownColor;if(aryText.length>0)textItem.LeftSpace=3;aryText.push(textItem);}return result;};this.FormatKLineTitle=function(item,dataInfo){if(!item)return null;var defaultfloatPrecision=GetfloatPrecision(dataInfo.Symbol);//价格小数位数
6315
6320
  var upperSymbol="";if(dataInfo.Symbol)upperSymbol=dataInfo.Symbol.toUpperCase();var pixelRatio=GetDevicePixelRatio();var leftSpace=3*pixelRatio;var aryText=[];if(IFrameSplitOperator.IsNumber(item.Date)){var text=IFrameSplitOperator.FormatDateString(item.Date);aryText.push({Text:text,Color:this.DateTimeColor});}if(IFrameSplitOperator.IsNumber(item.Open)){var color=this.GetColor(item.Open,item.YClose);var text=g_JSChartLocalization.GetText('KTitle-Open',this.LanguageID)+item.Open.toFixed(defaultfloatPrecision);aryText.push({Text:text,Color:color,LeftSpace:leftSpace});}if(IFrameSplitOperator.IsNumber(item.High)){var color=this.GetColor(item.High,item.YClose);var text=g_JSChartLocalization.GetText('KTitle-High',this.LanguageID)+item.High.toFixed(defaultfloatPrecision);aryText.push({Text:text,Color:color,LeftSpace:leftSpace});}if(IFrameSplitOperator.IsNumber(item.Low)){var color=this.GetColor(item.Low,item.YClose);var text=g_JSChartLocalization.GetText('KTitle-Low',this.LanguageID)+item.Low.toFixed(defaultfloatPrecision);aryText.push({Text:text,Color:color,LeftSpace:leftSpace});}if(IFrameSplitOperator.IsNumber(item.Close)){var color=this.GetColor(item.Close,item.YClose);var text=g_JSChartLocalization.GetText('KTitle-Close',this.LanguageID)+item.Close.toFixed(defaultfloatPrecision);aryText.push({Text:text,Color:color,LeftSpace:leftSpace});}//涨幅
6316
6321
  if(item.YFClose>0&&MARKET_SUFFIX_NAME.IsChinaFutures(upperSymbol)){var value=(item.Close-item.YFClose)/item.YFClose*100;var color=this.GetColor(value,0);var text=g_JSChartLocalization.GetText('KTitle-Increase',this.LanguageID)+value.toFixed(2)+'%';aryText.push({Text:text,Color:color,LeftSpace:leftSpace});}else if(item.YClose>0){var value=(item.Close-item.YClose)/item.YClose*100;var color=this.GetColor(value,0);var text=g_JSChartLocalization.GetText('KTitle-Increase',this.LanguageID)+value.toFixed(2)+'%';aryText.push({Text:text,Color:color,LeftSpace:leftSpace});}if(IFrameSplitOperator.IsNumber(item.Vol))//成交量
6317
6322
  {var unit=MARKET_SUFFIX_NAME.GetVolUnit(upperSymbol);var vol=item.Vol/unit;var text=g_JSChartLocalization.GetText('KTitle-Vol',this.LanguageID)+IFrameSplitOperator.FromatIntegerString(vol,2,this.LanguageID);aryText.push({Text:text,Color:this.VolColor,LeftSpace:leftSpace});}if(IFrameSplitOperator.IsNumber(item.Amount))//成交金额
6318
- {var text=g_JSChartLocalization.GetText('KTitle-Amount',this.LanguageID)+IFrameSplitOperator.FormatValueString(item.Amount,2,this.LanguageID);aryText.push({Text:text,Color:this.AmountColor,LeftSpace:leftSpace});}return aryText;};this.FormatIndexTitle=function(kItem,dataInfo){var result=null;var aryText=[];if(dataInfo.Name){aryText.push({Text:dataInfo.Name,Color:dataInfo.Color});result={Text:null,ArrayText:aryText};}if(!kItem)return result;if(!dataInfo.Chart)return result;var titleItem=dataInfo.Chart.GetItem(kItem);if(!titleItem||!titleItem.Data)return result;if(!IFrameSplitOperator.IsNonEmptyArray(titleItem.Data.AryText))return result;if(!result)result={Text:null,ArrayText:aryText};for(var i=0;i<titleItem.Data.AryText.length;++i){var item=titleItem.Data.AryText[i];if(!item)continue;var textItem={Name:null,Text:null};if(item.Name)textItem.Name=item.Name;if(item.Text)textItem.Text=item.Text;if(item.Color)textItem.Color=item.Color;if(IFrameSplitOperator.IsNumber(item.LeftSpace))textItem.LeftSpace=item.LeftSpace;aryText.push(textItem);}return result;};this.GetColor=function(price,yClose){if(!IFrameSplitOperator.IsNumber(yClose))return this.UnchangeColor;if(price>yClose)return this.UpColor;else if(price<yClose)return this.DownColor;else return this.UnchangeColor;};this.ForamtMultiLineTitle=function(dataIndex,dataInfo){if(!IFrameSplitOperator.IsNonEmptyArray(dataInfo.Lines))return null;var aryText=[];for(var i=0;i<dataInfo.Lines.length;++i){var line=dataInfo.Lines[i];for(var j=0;j<line.Point.length;++j){var item=line.Point[j];if(item.Index==dataIndex){var item={Text:item.Value.toFixed(2)};if(aryText.length==0)item.Name=dataInfo.Name;item.Color=line.Color;aryText.push(item);break;}}}if(!IFrameSplitOperator.IsNonEmptyArray(aryText))return null;return aryText;};this.ForamtMultiPointTitle=function(dataIndex,dataInfo){if(!dataInfo.GetItemCallback)return null;if(!dataInfo.Data||!IFrameSplitOperator.IsNonEmptyArray(dataInfo.Data.Data))return null;var kItem=dataInfo.Data.Data[dataIndex];if(!kItem)return null;var group=dataInfo.GetItemCallback(kItem);if(!group||!IFrameSplitOperator.IsNonEmptyArray(group.Data))return null;var aryText=[];for(var i=0;i<group.Data.length;++i){var item=group.Data[i];var config=item.ColorConfig;var color=null;if(config.BGColor)color=config.BGColor;else if(config.Color)color=config.Color;if(config.Name)aryText.push({Text:config.Name+':',Color:color});var value=item.Data.Value;if(IFrameSplitOperator.IsString(item.Data.Value))value=ChartData.GetKValue(kItem,item.Data.Value);aryText.push({Text:this.FormatValue(value,dataInfo),Color:color});}if(!IFrameSplitOperator.IsNonEmptyArray(aryText))return null;return aryText;};this.ForamtMultiBarTitle=function(dataIndex,dataInfo){if(!dataInfo.GetItemCallback)return null;if(!dataInfo.Data||!IFrameSplitOperator.IsNonEmptyArray(dataInfo.Data.Data))return null;var kItem=dataInfo.Data.Data[dataIndex];if(!kItem)return null;var group=dataInfo.GetItemCallback(kItem);if(!group||!IFrameSplitOperator.IsNonEmptyArray(group.Data))return null;var aryText=[];for(var i=0;i<group.Data.length;++i){var item=group.Data[i];var config=item.ColorConfig;var color=null;if(config.BGColor)color=config.BGColor;else if(config.Color)color=config.Color;if(config.Name)aryText.push({Text:config.Name+':',Color:color});var value=item.Data.Value;if(IFrameSplitOperator.IsString(item.Data.Value))value=ChartData.GetKValue(kItem,item.Data.Value);var value2=item.Data.Value2;if(IFrameSplitOperator.IsString(item.Data.Value2))value2=ChartData.GetKValue(kItem,item.Data.Value2);aryText.push({Text:'['+this.FormatValue(value,dataInfo)+', '+this.FormatValue(value2,dataInfo)+'] ',Color:color});}if(!IFrameSplitOperator.IsNonEmptyArray(aryText))return null;return aryText;};this.FormatVPVRTitle=function(pt,dataInfo){var chart=dataInfo.Chart;var aryText=[];if(chart.VolType==0){var item={Text:" Up/Down ",Color:this.TitleColor};aryText.push(item);}else{var item={Text:" Total ",Color:this.TitleColor};aryText.push(item);}if(!IFrameSplitOperator.IsNumber(pt.Y))return aryText;var top=this.Frame.ChartBorder.GetTopEx();var bottom=this.Frame.ChartBorder.GetBottomEx();if(pt.Y<top||pt.Y>bottom)return aryText;var yPrice=this.Frame.GetYData(pt.Y);var find=null;for(var i=0;i<dataInfo.Data.Data.length;++i){var item=dataInfo.Data.Data[i];if(yPrice>=item.Price-dataInfo.Data.PriceOffset/2&&yPrice<item.Price+dataInfo.Data.PriceOffset/2){find=item;break;}}if(!find)return null;if(chart.VolType==0){var total=0;for(var i=0;i<find.Vol.length;++i){var volItem=find.Vol[i];if(!IFrameSplitOperator.IsNumber(volItem.Value))continue;var item={Text:IFrameSplitOperator.FormatVolString(volItem.Value,this.LanguageID)};total+=volItem.Value;if(IFrameSplitOperator.IsNumber(volItem.ColorID))item.Color=chart.BarColor[volItem.ColorID];else if(volItem.Color)item.Color=volItem.Color;aryText.push(item);}var item={Text:IFrameSplitOperator.FormatVolString(total,this.LanguageID),Color:this.TitleColor};aryText.push(item);}else{if(find.TotalVol&&IFrameSplitOperator.IsNumber(find.TotalVol.Value)){var item={Text:IFrameSplitOperator.FormatVolString(find.TotalVol.Value,this.LanguageID)};if(IFrameSplitOperator.IsNumber(find.TotalVol.ColorID))item.Color=chart.BarColor[find.TotalVol.ColorID];else if(find.TotalVol.Color)item.Color=find.TotalVol.Color;aryText.push(item);}}return aryText;};this.IsShowLastData=function(){if(this.HQChart&&this.HQChart.EnableClickModel&&this.HQChart.ClickModel){var clickModel=this.HQChart.ClickModel;if(clickModel.IsShowCorssCursor)return false;}var isShowLastData=false;if(this.DrawStatus&&this.DrawStatus.IsTitleShowLatestData){var status=this.DrawStatus;if(!IFrameSplitOperator.IsNumber(status.FrameID)||status.FrameID<0)isShowLastData=true;else if(status.CorssCursorTouchEnd&&status.IsOnTouch==false)isShowLastData=true;}else if(this.GlobalOption&&this.GlobalOption.IsDisplayLatest){isShowLastData=true;}//十字光标锁定状态 禁用显示最后一个数据
6323
+ {var text=g_JSChartLocalization.GetText('KTitle-Amount',this.LanguageID)+IFrameSplitOperator.FormatValueString(item.Amount,2,this.LanguageID);aryText.push({Text:text,Color:this.AmountColor,LeftSpace:leftSpace});}return aryText;};this.FormatIndexTitle=function(kItem,dataInfo){var result=null;var aryText=[];if(dataInfo.Name){aryText.push({Text:dataInfo.Name,Color:dataInfo.Color});result={Text:null,ArrayText:aryText};}if(!kItem)return result;if(!dataInfo.Chart)return result;var titleItem=dataInfo.Chart.GetItem(kItem);if(!titleItem||!titleItem.Data)return result;if(!IFrameSplitOperator.IsNonEmptyArray(titleItem.Data.AryText))return result;if(!result)result={Text:null,ArrayText:aryText};for(var i=0;i<titleItem.Data.AryText.length;++i){var item=titleItem.Data.AryText[i];if(!item)continue;var textItem={Name:null,Text:null};if(item.Name)textItem.Name=item.Name;if(item.Text)textItem.Text=item.Text;if(item.Color)textItem.Color=item.Color;if(IFrameSplitOperator.IsNumber(item.LeftSpace))textItem.LeftSpace=item.LeftSpace;aryText.push(textItem);}return result;};this.GetColor=function(price,yClose){if(!IFrameSplitOperator.IsNumber(yClose))return this.UnchangeColor;if(price>yClose)return this.UpColor;else if(price<yClose)return this.DownColor;else return this.UnchangeColor;};this.ForamtMultiLineTitle=function(dataIndex,dataInfo){if(!IFrameSplitOperator.IsNonEmptyArray(dataInfo.Lines))return null;var aryText=[];for(var i=0;i<dataInfo.Lines.length;++i){var line=dataInfo.Lines[i];for(var j=0;j<line.Point.length;++j){var item=line.Point[j];if(item.Index==dataIndex){var item={Text:item.Value.toFixed(2)};if(aryText.length==0)item.Name=dataInfo.Name;item.Color=line.Color;aryText.push(item);break;}}}if(!IFrameSplitOperator.IsNonEmptyArray(aryText))return null;return aryText;};this.ForamtMultiPointTitle=function(dataIndex,dataInfo){if(!dataInfo.GetItemCallback)return null;if(!dataInfo.Data||!IFrameSplitOperator.IsNonEmptyArray(dataInfo.Data.Data))return null;var kItem=dataInfo.Data.Data[dataIndex];if(!kItem)return null;var group=dataInfo.GetItemCallback(kItem);if(!group||!IFrameSplitOperator.IsNonEmptyArray(group.Data))return null;var aryText=[];for(var i=0;i<group.Data.length;++i){var item=group.Data[i];var config=item.ColorConfig;var color=null;if(config.BGColor)color=config.BGColor;else if(config.Color)color=config.Color;if(config.Name)aryText.push({Text:config.Name+':',Color:color});var value=item.Data.Value;if(IFrameSplitOperator.IsString(item.Data.Value))value=ChartData.GetKValue(kItem,item.Data.Value);aryText.push({Text:this.FormatValue(value,dataInfo),Color:color});}if(!IFrameSplitOperator.IsNonEmptyArray(aryText))return null;return aryText;};this.ForamtMultiBarTitle=function(dataIndex,dataInfo){if(!dataInfo.GetItemCallback)return null;if(!dataInfo.Data||!IFrameSplitOperator.IsNonEmptyArray(dataInfo.Data.Data))return null;var kItem=dataInfo.Data.Data[dataIndex];if(!kItem)return null;var group=dataInfo.GetItemCallback(kItem);if(!group||!IFrameSplitOperator.IsNonEmptyArray(group.Data))return null;var aryText=[];for(var i=0;i<group.Data.length;++i){var item=group.Data[i];var config=item.ColorConfig;var color=null;if(config.BGColor)color=config.BGColor;else if(config.Color)color=config.Color;if(config.Name)aryText.push({Text:config.Name+':',Color:color});var value=item.Data.Value;if(IFrameSplitOperator.IsString(item.Data.Value))value=ChartData.GetKValue(kItem,item.Data.Value);var value2=item.Data.Value2;if(IFrameSplitOperator.IsString(item.Data.Value2))value2=ChartData.GetKValue(kItem,item.Data.Value2);aryText.push({Text:'['+this.FormatValue(value,dataInfo)+', '+this.FormatValue(value2,dataInfo)+'] ',Color:color});}if(!IFrameSplitOperator.IsNonEmptyArray(aryText))return null;return aryText;};this.FormatVPVRTitle=function(pt,dataInfo){var chart=dataInfo.Chart;var aryText=[];if(chart.VolType==0){var item={Text:" Up/Down ",Color:this.TitleColor};aryText.push(item);}else{var item={Text:" Total ",Color:this.TitleColor};aryText.push(item);}if(!IFrameSplitOperator.IsNumber(pt.Y))return aryText;var top=this.Frame.ChartBorder.GetTopEx();var bottom=this.Frame.ChartBorder.GetBottomEx();if(pt.Y<top||pt.Y>bottom)return aryText;var yPrice=this.Frame.GetYData(pt.Y);var find=null;for(var i=0;i<dataInfo.Data.Data.length;++i){var item=dataInfo.Data.Data[i];if(yPrice>=item.Price-dataInfo.Data.PriceOffset/2&&yPrice<item.Price+dataInfo.Data.PriceOffset/2){find=item;break;}}if(!find)return null;if(chart.VolType==0){var total=0;for(var i=0;i<find.Vol.length;++i){var volItem=find.Vol[i];if(!IFrameSplitOperator.IsNumber(volItem.Value))continue;var item={Text:IFrameSplitOperator.FormatVolString(volItem.Value,this.LanguageID)};total+=volItem.Value;if(IFrameSplitOperator.IsNumber(volItem.ColorID))item.Color=chart.BarColor[volItem.ColorID];else if(volItem.Color)item.Color=volItem.Color;aryText.push(item);}var item={Text:IFrameSplitOperator.FormatVolString(total,this.LanguageID),Color:this.TitleColor};aryText.push(item);}else{if(find.TotalVol&&IFrameSplitOperator.IsNumber(find.TotalVol.Value)){var item={Text:IFrameSplitOperator.FormatVolString(find.TotalVol.Value,this.LanguageID)};if(IFrameSplitOperator.IsNumber(find.TotalVol.ColorID))item.Color=chart.BarColor[find.TotalVol.ColorID];else if(find.TotalVol.Color)item.Color=find.TotalVol.Color;aryText.push(item);}}return aryText;};this.IsShowLastData=function(){if(this.HQChart&&this.HQChart.EnableClickModel&&this.HQChart.ClickModel){var clickModel=this.HQChart.ClickModel;if(clickModel.IsShowCorssCursor)return false;}var isShowLastData=false;if(this.DrawStatus&&this.DrawStatus.IsTitleShowLatestData){var status=this.DrawStatus;if(!IFrameSplitOperator.IsNumber(status.FrameID)||status.FrameID<0)isShowLastData=true;else if(status.CorssCursorTouchEnd&&status.IsOnTouch==false)isShowLastData=true;else if(!this.IsShowCorssLine())isShowLastData=true;}else if(this.GlobalOption&&this.GlobalOption.IsDisplayLatest){isShowLastData=true;}//十字光标锁定状态 禁用显示最后一个数据
6319
6324
  if(this.GlobalOption&&this.GlobalOption.LockCorssCursor&&this.GlobalOption.LockCorssCursor.X.Enable)isShowLastData=false;return isShowLastData;};this.OnDrawTitleEvent=function(){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_INDEXTITLE_DRAW);if(!event)return;var data={Index:null,Data:this.Data,Title:this.Title,Script:this.Script,FrameID:this.Frame.Identify,OverlayIndex:this.OverlayIndex,IsShowTitleOnly:false};if(this.ArgumentsText)data.ArgumentsText=this.ArgumentsText;if(this.Frame&&this.Frame.ChartBorder)data.IsShowTitleOnly=this.Frame.ChartBorder.IsShowTitleOnly;if(IFrameSplitOperator.IsNumber(this.CursorIndex)){var index=Math.abs(this.CursorIndex);index=parseInt(index.toFixed(0));data.Index=index;//当前屏数据索引
6320
6325
  }var pixelTatio=GetDevicePixelRatio();var border=this.Frame.GetBorder();data.Left=border.LeftEx/pixelTatio;data.Top=border.Top/pixelTatio;data.Right=border.RightEx/pixelTatio;event.Callback(event,data,this);};this.IsSelectedChart=function(id){if(!id)return false;if(!this.SelectedChart)return false;if(!this.SelectedChart.Selected)return false;return this.SelectedChart.Selected.Identify==id;};this.Draw=function(moveonPoint,mouseStatus){this.Buttons=[];this.NameButtonHeight=0;if(this.Frame.IsMinSize)return;this.IsKLineFrame=this.Frame.IsKLineFrame(false);this.IsMinuteFrame=this.Frame.IsMinuteFrame(false);this.IsDrawTitleBG=this.Frame.IsDrawTitleBG;this.IsShowNameArrow=this.Frame.IsShowNameArrow;this.IsShowUpDownArrow=this.Frame.IsShowTitleArrow;this.TitleArrowType=this.Frame.TitleArrowType;this.IsShowIndexName=this.Frame.IsShowIndexName;this.IsShowOverlayIndexName=this.Frame.IsShowOverlayIndexName;this.OverlayIndexType.Position=this.Frame.OverlayIndexType.Position;this.OverlayIndexType.LineSpace=this.Frame.OverlayIndexType.LineSpace;this.ParamSpace=this.Frame.IndexParamSpace;this.TitleSpace=this.Frame.IndexTitleSpace;this.TitleRect=null;this.GlobalOption=this.Frame.GlobalOption;this.OnDrawTitleEvent();if(this.Frame.IsShowIndexTitle==false)return;if(g_JSChartResource.IsDOMFrameTitle===true)return;if(!this.Data)return;if(this.CustomLocation){if(!this.CustomLocation.IsShow)return;if(!IFrameSplitOperator.IsNumber(this.CustomLocation.Top)||!IFrameSplitOperator.IsNumber(this.CustomLocation.TitleHeight))return;}else{if(this.Frame.ChartBorder.TitleHeight<5)return;}if(this.CursorIndex==null&&!(this.GlobalOption&&this.GlobalOption.IsDisplayLatest))return;if(this.Frame.IsHScreen===true){this.Canvas.save();this.HScreenDraw();this.Canvas.restore();/* 测试用
6321
6326
  if (this.TitleRect)
@@ -9071,7 +9076,7 @@ this.Frame.SetSizeChage(true);this.Draw();};this.HistoryMinuteDataToArray=functi
9071
9076
  this.UpdateLatestMinuteData=function(data,date,stock){if(!this.DayData)return;for(var i=0;i<this.DayData.length;++i){var item=this.DayData[i];if(item.Date===date){item.Data=data;//整一天的数据都替换掉
9072
9077
  if(stock&&IFrameSplitOperator.IsNumber(stock.yclose))item.YClose=stock.yclose;if(stock&&IFrameSplitOperator.IsNumber(stock.yclearing))item.YClearing=stock.yclearing;return;}}if(this.DayData.length>0){if(this.DayData[0].Date<date)//新的一天 插入
9073
9078
  {var dayItem=new ChartData();dayItem.Date=date;dayItem.Data=data;if(stock&&IFrameSplitOperator.IsNumber(stock.yclose))dayItem.YClose=stock.yclose;if(stock&&IFrameSplitOperator.IsNumber(stock.yclearing))dayItem.YClearing=stock.yclearing;this.DayData.unshift(dayItem);}}};//更新最新的几条数据
9074
- this.UpdateLatestMinuteDataV2=function(minuteData){if(this.DayCount>1){if(!this.DayData)return;var findItem=null;for(var i=0;i<this.DayData.length;++i){var item=this.DayData[i];if(item.Date===date){findItem=item;break;}}if(!findItem)return;var findIndex=-1;var firstItem=minuteData.Data[0];for(var i=0;i<findItem.Data.length;++i){var item=findItem.Data[i];if(item.Date==firstItem.Date&&item.Time==firstItem.Time){findIndex=i;break;}}if(findIndex<0)findIndex=findItem.Data.length;for(var i=0,j=findIndex;i<minuteData.Data.length;++i,++j){var item=minuteData.Data[i];findItem.Data[j]=item;}}else{if(!this.SourceData)return;var findIndex=-1;var firstItem=minuteData.Data[0];for(var i=0;i<this.SourceData.Data.length;++i){var item=this.SourceData.Data[i];if(item.Date==firstItem.Date&&item.Time==firstItem.Time){findIndex=i;break;}}if(findIndex<0)findIndex=this.SourceData.Data.length;for(var i=0,j=findIndex;i<minuteData.Data.length;++i,++j){var item=minuteData.Data[i];this.SourceData.Data[j]=item;}}};//请求分钟数据
9079
+ this.UpdateLatestMinuteDataV2=function(minuteData){if(!minuteData||!IFrameSplitOperator.IsNonEmptyArray(minuteData.Data))return;if(this.DayCount>1){if(!this.DayData)return;var findItem=null;for(var i=0;i<this.DayData.length;++i){var item=this.DayData[i];if(item.Date===minuteData.Date){findItem=item;break;}}if(!findItem)return;var findIndex=-1;var firstItem=minuteData.Data[0];for(var i=0;i<findItem.Data.length;++i){var item=findItem.Data[i];if(item.Date==firstItem.Date&&item.Time==firstItem.Time){findIndex=i;break;}}if(findIndex<0)findIndex=findItem.Data.length;for(var i=0,j=findIndex;i<minuteData.Data.length;++i,++j){var item=minuteData.Data[i];findItem.Data[j]=item;}}else{if(!this.SourceData)return;var findIndex=-1;var firstItem=minuteData.Data[0];for(var i=0;i<this.SourceData.Data.length;++i){var item=this.SourceData.Data[i];if(item.Date==firstItem.Date&&item.Time==firstItem.Time){findIndex=i;break;}}if(findIndex<0)findIndex=this.SourceData.Data.length;for(var i=0,j=findIndex;i<minuteData.Data.length;++i,++j){var item=minuteData.Data[i];this.SourceData.Data[j]=item;}}};//请求分钟数据
9075
9080
  this.RequestMinuteData=function(){var self=this;var fields=["name","symbol","yclose","open","price","high","low","vol","amount","date","time","minute","minutecount"];var upperSymbol=this.Symbol.toUpperCase();if(MARKET_SUFFIX_NAME.IsFutures(upperSymbol)){//期货的需要加上结算价
9076
9081
  fields.push("clearing");fields.push("yclearing");}// 盘前数据(A股)
9077
9082
  this.IsBeforeData=false;if(this.IsShowBeforeData&&this.DayCount===1&&MARKET_SUFFIX_NAME.IsSHSZStockA(self.Symbol)){this.IsBeforeData=true;fields.push('before');}this.IsAfterData=false;if(this.IsShowAfterData&&this.DayCount===1&&MARKET_SUFFIX_NAME.IsSHSZStockA(self.Symbol)){this.IsAfterData=true;}//5档买卖盘
@@ -9081,21 +9086,30 @@ var bBuySellBar=this.IsShowMinuteBuySellBar();if(this.NetworkFilter){var dateRan
9081
9086
  Explain:'最新分时数据',Request:{Url:self.MinuteApiUrl,Data:{field:fields,symbol:[self.Symbol],callcation:callCation,AryDate:this.AryDate,IsShowBuySellBar:bBuySellBar},Type:'POST'},Self:this,PreventDefault:false};if(dateRange)obj.DateRange=dateRange;//本地数据日期范围
9082
9087
  this.NetworkFilter(obj,function(data){self.ChartSplashPaint.EnableSplash(false);self.RecvMinuteData(data);});if(obj.PreventDefault==true)return;//已被上层替换,不调用默认的网络请求
9083
9088
  }JSNetwork.HttpRequest({url:self.MinuteApiUrl,data:{"field":fields,"symbol":[self.Symbol],"start":-1},type:"post",dataType:"json",async:true,success:function success(data){self.ChartSplashPaint.EnableSplash(false);self.RecvMinuteData(data);}});};this.RecvMinuteDataEvent=function(option){if(!this.mapEvent.has(JSCHART_EVENT_ID.RECV_MINUTE_DATA))return;var event=this.mapEvent.get(JSCHART_EVENT_ID.RECV_MINUTE_DATA);var data={MinuteData:this.SourceData,Stock:{Symbol:this.Symbol,Name:this.Name},Option:option,DataStatus:this.DataStatus};event.Callback(event,data,this);};this.UpdateLineColorData=function(data,date){if(!this.ColorLineData){this.ColorLineData=data;return;}//移除当前的
9084
- var aryColorLineData=this.ColorLineData.filter(function(item,index,arr){return item.Date!=date;});if(IFrameSplitOperator.IsNonEmptyArray(data)){for(var i in data){aryColorLineData.push(data[i]);}}this.ColorLineData=aryColorLineData;};this.UpdateCallCationData=function(beforeOpenData,afterCloseData){if(beforeOpenData&&IFrameSplitOperator.IsNonEmptyArray(this.MultiDayBeforeOpenData)){var lastItem=this.MultiDayBeforeOpenData[this.MultiDayBeforeOpenData.length-1];if(lastItem.Date==beforeOpenData.Date)//存在更新
9089
+ var aryColorLineData=this.ColorLineData.filter(function(item,index,arr){return item.Date!=date;});if(IFrameSplitOperator.IsNonEmptyArray(data)){for(var i in data){aryColorLineData.push(data[i]);}}this.ColorLineData=aryColorLineData;};this.UpdateCallCationData=function(beforeOpenData,afterCloseData,option){var dataType=0;if(option&&IFrameSplitOperator.IsNumber(option.DataType))dataType=option.DataType;if(dataType==1){if(beforeOpenData&&IFrameSplitOperator.IsNonEmptyArray(this.MultiDayBeforeOpenData)){var lastItem=this.MultiDayBeforeOpenData[this.MultiDayBeforeOpenData.length-1];if(lastItem.Date==beforeOpenData.Date)//增量更新
9090
+ {this.UpdateLatestCallCationData(lastItem,beforeOpenData);}}if(afterCloseData&&IFrameSplitOperator.IsNonEmptyArray(this.MultiDayAfterCloseData)){var lastItem=this.MultiDayAfterCloseData[this.MultiDayAfterCloseData.length-1];if(lastItem.Date==afterCloseData.Date)//增量更新
9091
+ {this.UpdateLatestCallCationData(lastItem,afterCloseData);}}}else{if(beforeOpenData&&IFrameSplitOperator.IsNonEmptyArray(this.MultiDayBeforeOpenData)){var lastItem=this.MultiDayBeforeOpenData[this.MultiDayBeforeOpenData.length-1];if(lastItem.Date==beforeOpenData.Date)//存在更新
9085
9092
  this.MultiDayBeforeOpenData[this.MultiDayBeforeOpenData.length-1]=beforeOpenData;else if(lastItem.Date<beforeOpenData.Date)//新的一天插入
9086
- this.MultiDayBeforeOpenData.push(beforeOpenData);}if(afterCloseData&&IFrameSplitOperator.IsNonEmptyArray(this.MultiDayAfterCloseData)){var lastItem=this.MultiDayAfterCloseData[this.MultiDayAfterCloseData.length-1];if(lastItem.Date==afterCloseData.Date)this.MultiDayAfterCloseData[this.MultiDayAfterCloseData.length-1]=afterCloseData;else if(lastItem.Date<afterCloseData.Date)this.MultiDayAfterCloseData.push(afterCloseData);}this.CaclutateCallCationYRange();};//增量更新
9093
+ this.MultiDayBeforeOpenData.push(beforeOpenData);}if(afterCloseData&&IFrameSplitOperator.IsNonEmptyArray(this.MultiDayAfterCloseData)){var lastItem=this.MultiDayAfterCloseData[this.MultiDayAfterCloseData.length-1];if(lastItem.Date==afterCloseData.Date)this.MultiDayAfterCloseData[this.MultiDayAfterCloseData.length-1]=afterCloseData;else if(lastItem.Date<afterCloseData.Date)this.MultiDayAfterCloseData.push(afterCloseData);}}this.CaclutateCallCationYRange();};//增量更新
9087
9094
  this.RecvUpdateMinuteData=function(data){var minuteData=MinuteChartContainer.JsonDataToUpdateMinuteData(data);var aryColorData=MinuteChartContainer.JsonDataToMinuteLineColorData(data);var beforeOpenData=MinuteChartContainer.JsonDataToBeforeOpenData(data);var afterCloseData=MinuteChartContainer.JsonDataToAfterCloseData(data);var updateTime=MinuteChartContainer.JsonDataToMinuteLastUpdateTime(data);//数据最后的更新时间
9088
- if(this.DayCount>1)//多日走势图
9089
- {this.UpdateCallCationData(beforeOpenData,afterCloseData);this.UpdateLineColorData(aryColorData,minuteData.date);this.UpdateLatestMinuteDataV2(minuteData);this.UpdateHistoryMinuteUI(updateTime);this.RecvMinuteDataEvent({FunctionName:"RecvUpdateMinuteData"});this.RequestOverlayMinuteData();//请求叠加数据 (主数据下载完再下载)
9090
- this.BindAllOverlayIndexData(this.SourceData,{SyncExecute:false});this.AutoUpdateEvent(true,"MinuteChartContainer::RecvUpdateMinuteData");this.AutoUpdate();return;}if(this.IsBeforeData&&beforeOpenData)this.BeforeOpenData=beforeOpenData;if(this.IsAfterData&&afterCloseData)this.AfterCloseData=afterCloseData;//原始数据
9091
- this.UpdateLatestMinuteDataV2(minuteData);this.UpdateMinuteUI(data.stock[0],{FunctionName:"RecvUpdateMinuteData"});if(data.AutoUpdate===false)//不执行自动更新
9092
- {}else{this.AutoUpdateEvent(true,"MinuteChartContainer::RecvUpdateMinuteData");this.AutoUpdate();}};this.RecvBuySellData=function(data){if(!data)return;if(Array.isArray(data.AryBuy)){this.BuySellData.AryBuy=data.AryBuy.slice();}if(Array.isArray(data.ArySell)){this.BuySellData.ArySell=data.ArySell.slice();}};this.RecvMinuteData=function(data){if(!data){JSConsole.Chart.Warn("[MinuteChartContainer::RecvMinuteData] recv data is null");return;}if(data.dataType==1)//增量更新数据模式
9095
+ if(data.LatestPointFlash)//最新数据闪烁
9096
+ {var item=data.LatestPointFlash;if(IFrameSplitOperator.IsNumber(item.FlashCount))this.SetLatestPointFlash(item.FlashCount);}if(this.DayCount>1)//多日走势图
9097
+ {this.UpdateCallCationData(beforeOpenData,afterCloseData,{DataType:1});this.UpdateLineColorData(aryColorData,minuteData.date);this.UpdateLatestMinuteDataV2(minuteData);this.UpdateHistoryMinuteUI(updateTime);this.RecvMinuteDataEvent({FunctionName:"RecvUpdateMinuteData"});this.RequestOverlayMinuteData();//请求叠加数据 (主数据下载完再下载)
9098
+ this.BindAllOverlayIndexData(this.SourceData,{SyncExecute:false});this.AutoUpdateEvent(true,"MinuteChartContainer::RecvUpdateMinuteData");this.AutoUpdate();return;}//if (this.IsBeforeData && beforeOpenData) this.BeforeOpenData=beforeOpenData;
9099
+ //if (this.IsAfterData && afterCloseData) this.AfterCloseData=afterCloseData;
9100
+ //盘前盘后数据更新
9101
+ if(this.IsBeforeData&&beforeOpenData)this.UpdateLatestCallCationData(this.BeforeOpenData,beforeOpenData);if(this.IsAfterData&&afterCloseData)this.UpdateLatestCallCationData(this.AfterCloseData,afterCloseData);this.UpdateLatestMinuteDataV2(minuteData);this.UpdateMinuteUI(data.stock[0],{FunctionName:"RecvUpdateMinuteData"});if(data.AutoUpdate===false)//不执行自动更新
9102
+ {}else{this.AutoUpdateEvent(true,"MinuteChartContainer::RecvUpdateMinuteData");this.AutoUpdate();}};this.UpdateLatestCallCationData=function(destData,updateData){if(!destData)return;if(!updateData||!IFrameSplitOperator.IsNonEmptyArray(updateData.Data))return;if(destData.Data.length==0){destData.Data=updateData.Data;destData.VolMax=updateData.VolMax;destData.VolMin=updateData.VolMin;return;}//覆盖历史数据
9103
+ var mapData=new _map2.default(updateData.Data.map(function(obj){return[obj.Time,obj];}));var lastTime=null;//最后的时间
9104
+ for(var i=0;i<destData.Data.length;++i){var item=destData.Data[i];lastTime=item.Time;if(!mapData.has(item.Time))continue;var newItem=mapData.get(item.Time);if(!newItem||!IFrameSplitOperator.IsNumber(newItem.Price))continue;//只覆盖有效数据
9105
+ destData.Data[i]=newItem;}//新数据往后插
9106
+ for(var i=0;i<updateData.Data.length;++i){var item=updateData.Data[i];if(item.Time<=lastTime)continue;destData.Data.push(item);}if(destData.VolMax<updateData.VolMax)destData.VolMax=updateData.VolMax;if(IFrameSplitOperator.IsNumber(updateData.TotalCount)&&updateData.TotalCount>destData.TotalCount)updateData.TotalCount=destData.TotalCount;};this.RecvBuySellData=function(data){if(!data)return;if(Array.isArray(data.AryBuy)){this.BuySellData.AryBuy=data.AryBuy.slice();}if(Array.isArray(data.ArySell)){this.BuySellData.ArySell=data.ArySell.slice();}};this.RecvMinuteData=function(data){if(!data){JSConsole.Chart.Warn("[MinuteChartContainer::RecvMinuteData] recv data is null");return;}if(data.dataType==1)//增量更新数据模式
9093
9107
  {this.RecvUpdateMinuteData(data);return;}if(!data.stock[0])return;if(data.stock[0].symbol!=this.Symbol&&this.EnableVerifyRecvData){JSConsole.Chart.Warn('[MinuteChartContainer::RecvMinuteData] recv data symbol not match. HQChart['+this.Symbol+'] , Recv['+data.stock[0].symbol+']');return;}var aryMinuteData=MinuteChartContainer.JsonDataToMinuteData(data);var aryColorData=MinuteChartContainer.JsonDataToMinuteLineColorData(data);this.BeforeOpenData=null;this.AfterCloseData=null;var beforeOpenData=MinuteChartContainer.JsonDataToBeforeOpenData(data);var afterCloseData=MinuteChartContainer.JsonDataToAfterCloseData(data);var updateTime=MinuteChartContainer.JsonDataToMinuteLastUpdateTime(data);//数据最后的更新时间
9094
9108
  if(this.IsBeforeData)this.BeforeOpenData=beforeOpenData;if(this.IsAfterData)this.AfterCloseData=afterCloseData;var bFirstData=this.DataStatus.LatestDay==false;//首条单日数据
9095
9109
  if(IFrameSplitOperator.IsNonEmptyArray(data.stock)&&data.stock[0]){this.DataStatus.LatestDate=data.stock[0].date;//保存下最后一天的日期
9096
9110
  this.RecvBuySellData(data.stock[0].BuySellData);}if(data.LatestPointFlash)//最新数据闪烁
9097
9111
  {var item=data.LatestPointFlash;if(IFrameSplitOperator.IsNumber(item.FlashCount))this.SetLatestPointFlash(item.FlashCount);}this.DataStatus.LatestDay=true;if(this.DayCount>1)//多日走势图
9098
- {this.UpdateCallCationData(beforeOpenData,afterCloseData);this.UpdateLineColorData(aryColorData,data.stock[0].date);this.UpdateLatestMinuteData(aryMinuteData,data.stock[0].date,data.stock[0]);this.UpdateTradeStatusData(data.TradeStatus);this.UpdateHistoryMinuteUI(updateTime);this.RecvMinuteDataEvent({FunctionName:"RecvMinuteData"});this.RequestOverlayMinuteData();//请求叠加数据 (主数据下载完再下载)
9112
+ {this.UpdateCallCationData(beforeOpenData,afterCloseData,{DataType:0});this.UpdateLineColorData(aryColorData,data.stock[0].date);this.UpdateLatestMinuteData(aryMinuteData,data.stock[0].date,data.stock[0]);this.UpdateTradeStatusData(data.TradeStatus);this.UpdateHistoryMinuteUI(updateTime);this.RecvMinuteDataEvent({FunctionName:"RecvMinuteData"});this.RequestOverlayMinuteData();//请求叠加数据 (主数据下载完再下载)
9099
9113
  this.BindAllOverlayIndexData(this.SourceData,{SyncExecute:false});this.AutoUpdateEvent(true,"MinuteChartContainer::RecvMinuteData");this.AutoUpdate();return;}if(this.IsOnTouch==true||this.IsPauseUpdateByKeyboard())//正在操作中不更新数据
9100
9114
  {if(this.SourceData&&IFrameSplitOperator.IsNonEmptyArray(this.SourceData.Data)){this.AutoUpdate();return;}}//原始数据
9101
9115
  var sourceData=new ChartData();sourceData.Data=aryMinuteData;sourceData.UpdateTime=updateTime;this.SourceData=sourceData;this.ColorLineData=aryColorData;this.UpdateTradeStatusData(data.TradeStatus);this.UpdateMinuteUI(data.stock[0],{FunctionName:"RecvMinuteData",Day:{IsFirstData:bFirstData}});if(data.AutoUpdate===false)//不执行自动更新
@@ -9305,27 +9319,33 @@ MinItem:minuteItem,Symbol:this.Symbol,Name:this.Name,LastValue:this.ChartCorssCu
9305
9319
  var x,y;if(data&&IFrameSplitOperator.IsNumber(data.X)&&IFrameSplitOperator.IsNumber(data.Y)){var pixelRatio=GetDevicePixelRatio();var rtClient=this.UIElement.getBoundingClientRect();var rtScroll=GetScrollPosition();x=data.X;y=data.Y;x+=rtClient.left+rtScroll.Left;y+=rtClient.top+rtScroll.Top;}var sendData={Symbol:this.Symbol,Name:this.Name,SelectData:data.SelectData,X:x,Y:y,e:e};this.DialogSelectRect.Update(sendData);};this.GetKData=function(){if(!this.SourceData)return null;var data=this.SourceData;if(!data)return null;return data;};this.IsCallAuctionFrame=function(frameID){if(!IFrameSplitOperator.IsNonEmptyArray(this.ChartPaintEx))return false;if(!IFrameSplitOperator.IsNonEmptyArray(this.Frame.SubFrame))return false;if(frameID<0||frameID>=this.Frame.SubFrame.length)return false;var subItem=this.Frame.SubFrame[frameID];if(!subItem||!subItem.Frame)return false;var subFrame=subItem.Frame;for(var i=0;i<this.ChartPaintEx.length;++i){var item=this.ChartPaintEx[i];if(item.ChartFrame&&item.ChartFrame.Guid==subFrame.Guid)return true;}return false;};}//盘前数据
9306
9320
  MinuteChartContainer.JsonDataToBeforeOpenData=function(data){var symbol=data.stock[0].symbol;var upperSymbol=symbol.toUpperCase();var isSHSZ=MARKET_SUFFIX_NAME.IsSHSZ(upperSymbol);var unit=MARKET_SUFFIX_NAME.GetVolUnit(upperSymbol);var yClose=data.stock[0].yclose;var preClose=data.stock[0].yclose;//前一个数据价格
9307
9321
  var stockData=data.stock[0];var date=stockData.date;//日期
9308
- var beforeOpenData={Data:[],TotalCount:15,Ver:1.0,Date:date};var extendDataIndex=JSCHART_DATA_FIELD_ID.MINUTE_BEFOREOPEN_EXTENDDATA;//扩展数据序号
9322
+ var beforeOpenData={Data:[],TotalCount:15,Ver:1.0,Date:date,YClose:stockData.yclose,YClearing:stockData.yclearing};var extendDataIndex=JSCHART_DATA_FIELD_ID.MINUTE_BEFOREOPEN_EXTENDDATA;//扩展数据序号
9309
9323
  if(stockData.beforeinfo){if(IFrameSplitOperator.IsNumber(stockData.beforeinfo.totalcount))beforeOpenData.TotalCount=stockData.beforeinfo.totalcount;if(IFrameSplitOperator.IsNumber(stockData.beforeinfo.ver))beforeOpenData.Ver=stockData.beforeinfo.ver;}if(beforeOpenData.Ver==1.0){if(IFrameSplitOperator.IsNonEmptyArray(stockData.before)){for(var i=0;i<stockData.before.length;++i){var item=new BeforeOpenData();var jsData=stockData.before[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]=jsData[2];item.Amount=jsData[3];if(IFrameSplitOperator.IsNumber(jsData[4])&&jsData[4]>19000101)//日期
9310
- item.Date=jsData[4];item.DateTime=item.Date+' '+item.Time;beforeOpenData.Data.push(item);}}}else if(beforeOpenData.Ver==2.0){var max=0;for(var i in stockData.before){var item=new BeforeOpenData();var jsData=stockData.before[i];item.YClose=yClose;item.Time=jsData[0];item.Date=date;item.Price=jsData[1];item.Vol[0]=jsData[2];//匹配量
9324
+ item.Date=jsData[4];item.DateTime=item.Date+' '+item.Time;beforeOpenData.Data.push(item);}}}else if(beforeOpenData.Ver==2.0){var max=0;for(var i=0;i<stockData.before.length;++i){var item=new BeforeOpenData();var jsData=stockData.before[i];item.YClose=yClose;item.Time=jsData[0];item.Date=date;item.Price=jsData[1];item.Vol[0]=jsData[2];//匹配量
9311
9325
  item.Vol[1]=jsData[3];//未匹配量
9312
9326
  item.ColorID=jsData[4];//柱子颜色ID
9313
9327
  if(IFrameSplitOperator.IsNumber(jsData[6]))item.Date=jsData[6];//日期
9314
- item.DateTime=item.Date+' '+item.Time+')';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];beforeOpenData.Data.push(item);}beforeOpenData.VolMax=max/unit;beforeOpenData.VolMin=0;}else if(beforeOpenData.Ver==3.0){var max=0;for(var i in stockData.before){var item=new BeforeOpenData();var jsData=stockData.before[i];item.YClose=yClose;item.Time=jsData[0];item.Date=date;item.Price=jsData[1];item.AvPrice=jsData[2];//均价
9328
+ 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];beforeOpenData.Data.push(item);}beforeOpenData.VolMax=max/unit;beforeOpenData.VolMin=0;if(stockData.beforeinfo&&stockData.beforeinfo.TimeConfig)//固定时间
9329
+ MinuteChartContainer.CompleteCallAuctionData(stockData.beforeinfo.TimeConfig,beforeOpenData);}else if(beforeOpenData.Ver==3.0){var max=0;for(var i=0;i<stockData.before.length;++i){var item=new BeforeOpenData();var jsData=stockData.before[i];item.YClose=yClose;item.Time=jsData[0];item.Date=date;item.Price=jsData[1];item.AvPrice=jsData[2];//均价
9315
9330
  item.Vol[0]=jsData[3];//匹配量
9316
9331
  item.ColorID=jsData[4];//柱子颜色ID
9317
- 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];beforeOpenData.Data.push(item);}beforeOpenData.VolMax=max/unit;beforeOpenData.VolMin=0;}return beforeOpenData;};//收盘集合竞价
9332
+ 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];beforeOpenData.Data.push(item);}beforeOpenData.VolMax=max/unit;beforeOpenData.VolMin=0;if(stockData.beforeinfo&&stockData.beforeinfo.TimeConfig)//固定时间
9333
+ MinuteChartContainer.CompleteCallAuctionData(stockData.beforeinfo.TimeConfig,beforeOpenData);}return beforeOpenData;};MinuteChartContainer.CompleteCallAuctionData=function(timeConfig,callAuctionData){var aryData=MinuteChartContainer.CreateCallAuctionTimeData(timeConfig);if(!IFrameSplitOperator.IsNonEmptyArray(aryData))return false;var mapData=new _map2.default(callAuctionData.Data.map(function(obj){return[obj.Time,obj];}));for(var i=0;i<aryData.length;++i){var time=aryData[i].Time;if(!mapData.has(time))continue;var item=mapData.get(time);aryData[i]=item;}callAuctionData.Data=aryData;callAuctionData.TotalCount=aryData.length;return true;};//创建集合竞价秒级时间 { AryTime:[ { Start:92500, End:92459, Date:20250101 } ] } hhmmss
9334
+ MinuteChartContainer.CreateCallAuctionTimeData=function(config){if(!config||!IFrameSplitOperator.IsNonEmptyArray(config.AryTime))return null;var step=1;//1s
9335
+ if(IFrameSplitOperator.IsPlusNumber(config.Step))step=config.Step;var aryData=[];for(var i=0;i<config.AryTime.length;++i){var item=config.AryTime[i];var value=item.Start;var hour=parseInt(value/10000);var minute=parseInt(value%10000/100);var second=value%100;var startTime=new Date(2021,5,2,hour,minute,second);value=item.End;var hour=parseInt(value/10000);var minute=parseInt(value%10000/100);var second=value%100;var endTime=new Date(2021,5,2,hour,minute,second);for(var j=0;j<5000&&startTime<=endTime;++j){var time=startTime.getHours()*10000+startTime.getMinutes()*100+startTime.getSeconds();var secItem={Time:time,Date:item.Date};aryData.push(secItem);startTime.setSeconds(startTime.getSeconds()+step);}}return aryData;};//收盘集合竞价
9318
9336
  MinuteChartContainer.JsonDataToAfterCloseData=function(data){var yClose=data.stock[0].yclose;var preClose=data.stock[0].yclose;//前一个数据价格
9319
9337
  var stockData=data.stock[0];var date=stockData.date;//日期
9320
- if(!stockData.afterinfo)return null;var symbol=data.stock[0].symbol;var upperSymbol=symbol.toUpperCase();var afterCloseData={Data:[],TotalCount:3*60,Ver:2.0,Date:date};var item=stockData.afterinfo;if(IFrameSplitOperator.IsNumber(item.totalcount))afterCloseData.TotalCount=item.totalcount;if(IFrameSplitOperator.IsNumber(item.ver))afterCloseData.Ver=item.ver;var extendDataIndex=JSCHART_DATA_FIELD_ID.MINUTE_AFTERCLOSE_EXTENDDATA;//扩展数据序号
9338
+ if(!stockData.afterinfo)return null;var symbol=data.stock[0].symbol;var upperSymbol=symbol.toUpperCase();var afterCloseData={Data:[],TotalCount:3*60,Ver:2.0,Date:date,YClose:stockData.yclose,YClearing:stockData.yclearing};var item=stockData.afterinfo;if(IFrameSplitOperator.IsNumber(item.totalcount))afterCloseData.TotalCount=item.totalcount;if(IFrameSplitOperator.IsNumber(item.ver))afterCloseData.Ver=item.ver;var extendDataIndex=JSCHART_DATA_FIELD_ID.MINUTE_AFTERCLOSE_EXTENDDATA;//扩展数据序号
9321
9339
  var unit=MARKET_SUFFIX_NAME.GetVolUnit(upperSymbol);if(afterCloseData.Ver==1.0){for(var i=0;i<stockData.after.length;++i){var item=new AfterCloseData();var jsData=stockData.after[i];item.YClose=yClose;item.Time=jsData[0];item.Date=date;item.Price=jsData[1];item.Vol[0]=jsData[2];item.Amount=jsData[3];if(IFrameSplitOperator.IsNumber(jsData[4]))//日期
9322
- item.Date=jsData[4];item.DateTime=item.Date+' '+item.Time;afterCloseData.Data.push(item);}}else if(afterCloseData.Ver==2.0){var max=0;for(var i in stockData.after){var item=new AfterCloseData();var jsData=stockData.after[i];item.YClose=yClose;item.Time=jsData[0];item.Date=date;item.Price=jsData[1];item.Vol[0]=jsData[2];//匹配量
9340
+ item.Date=jsData[4];item.DateTime=item.Date+' '+item.Time;afterCloseData.Data.push(item);}}else if(afterCloseData.Ver==2.0){var max=0;for(var i=0;i<stockData.after.length;++i){var item=new AfterCloseData();var jsData=stockData.after[i];item.YClose=yClose;item.Time=jsData[0];item.Date=date;item.Price=jsData[1];item.Vol[0]=jsData[2];//匹配量
9323
9341
  item.Vol[1]=jsData[3];//未匹配量
9324
9342
  item.ColorID=jsData[4];//柱子颜色ID
9325
- 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];afterCloseData.Data.push(item);}afterCloseData.VolMax=max/unit;afterCloseData.VolMin=0;}else if(afterCloseData.Ver==3.0){var max=0;for(var i in stockData.after){var item=new AfterCloseData();var jsData=stockData.after[i];item.YClose=yClose;item.Time=jsData[0];item.Date=date;item.Price=jsData[1];item.AvPrice=jsData[2];//均价
9343
+ 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];afterCloseData.Data.push(item);}afterCloseData.VolMax=max/unit;afterCloseData.VolMin=0;if(stockData.afterinfo&&stockData.afterinfo.TimeConfig)//固定时间
9344
+ MinuteChartContainer.CompleteCallAuctionData(stockData.afterinfo.TimeConfig,afterCloseData);}else if(afterCloseData.Ver==3.0){var max=0;for(var i in stockData.after){var item=new AfterCloseData();var jsData=stockData.after[i];item.YClose=yClose;item.Time=jsData[0];item.Date=date;item.Price=jsData[1];item.AvPrice=jsData[2];//均价
9326
9345
  item.Vol[0]=jsData[3];//匹配量
9327
9346
  item.ColorID=jsData[4];//柱子颜色ID
9328
- 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];afterCloseData.Data.push(item);}afterCloseData.VolMax=max/unit;afterCloseData.VolMin=0;}return afterCloseData;};//API 返回数据 转化为array[]
9347
+ 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];afterCloseData.Data.push(item);}afterCloseData.VolMax=max/unit;afterCloseData.VolMin=0;if(stockData.afterinfo&&stockData.afterinfo.TimeConfig)//固定时间
9348
+ MinuteChartContainer.CompleteCallAuctionData(stockData.afterinfo.TimeConfig,afterCloseData);}return afterCloseData;};//API 返回数据 转化为array[]
9329
9349
  MinuteChartContainer.JsonDataToMinuteData=function(data,isBeforeData){var symbol=data.stock[0].symbol;var upperSymbol=symbol.toUpperCase();var isSHSZ=MARKET_SUFFIX_NAME.IsSHSZ(upperSymbol);var isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol);//国内期货, 纽约期货交易所
9330
9350
  var isSHO=MARKET_SUFFIX_NAME.IsSHO(upperSymbol);//上海股票期权
9331
9351
  var isSZO=MARKET_SUFFIX_NAME.IsSZO(upperSymbol);//深证股票期权
@@ -9344,9 +9364,9 @@ if(IFrameSplitOperator.IsNumber(jsData.price))preClose=jsData.price;if(IFrameSpl
9344
9364
  aryMinuteData[i]=item;}return aryMinuteData;};//分钟增量数据 stock: [ { date:, yclose:, yclearing: , minute:[ [],]} 0=日期 1=时间 2=开 3=高 4=低 5=收 6=均价 7=量 8=金额 9=涨幅 10=涨跌 11=领先指标 12=持仓 ]
9345
9365
  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 isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol);//国内期货, 纽约期货交易所
9346
9366
  var minuteData={Date:stock.date,Data:[],Symbol:symbol,Name:stock.name};var extendDataIndex=JSCHART_DATA_FIELD_ID.MINUTE_DAY_EXTENDDATA;//扩展数据序号
9347
- if(IFrameSplitOperator.IsNumber(stock.high))minuteData.High=stock.high;if(IFrameSplitOperator.IsNumber(stock.low))minuteData.Low=stock.low;if(IFrameSplitOperator.IsNumber(stock.yclose))minuteData.YClose=stock.yclose;if(IFrameSplitOperator.IsNumber(stock.YClearing))minuteData.YClearing=stock.yclearing;if(IFrameSplitOperator.IsNonEmptyArray(stock.minute)){for(var i=0;i<stock.minute.length;++i){var jsData=stock.minute[i];var item=new MinuteData();item.YClearing=minuteData.YClearing;item.YClose=minuteData.YClose;item.Date=jsData[0];item.Time=jsData[1];item.Open=jsData[2];item.High=jsData[3];item.Low=jsData[4];item.Close=jsData[5];item.AvPrice=jsData[6];item.Vol=jsData[7];item.Amount=jsData[8];if(IFrameSplitOperator.IsNumber(jsData[9]))item.Increase=jsData[9];if(IFrameSplitOperator.IsNumber(jsData[10]))item.Risefall=jsData[10];if(IFrameSplitOperator.IsNumber(jsData[11]))item.Lead=jsData[11];if(IFrameSplitOperator.IsNumber(jsData[12]))item.Position=jsData[12];if(jsData[extendDataIndex])item.ExtendData=jsData[extendDataIndex];item.DateTime=item.Date+' '+item.Time;if(IFrameSplitOperator.IsNumber(minuteData.YClose)&&item.Close)item.Increase=(item.Close-minuteData.YClose)/minuteData.YClose*100;//涨幅 (最新价格-昨收)/昨收*100;
9348
- if(isFutures&&minuteData.YClearing&&item.Close)item.Increase=(item.Close-minuteData.YClearing)/minuteData.YClearing*100;//涨幅 (最新价格-昨结算价)/昨结算价*100;
9349
- minuteData.Data.push(item);}}return minuteData;};MinuteChartContainer.JsonDataToMinuteLineColorData=function(data){if(!data||!data.stock[0])return null;var stockItem=data.stock[0];if(!stockItem.linecolor||!IFrameSplitOperator.IsNonEmptyArray(stockItem.linecolor.data))return null;var aryLineColor=[];for(var i in stockItem.linecolor.data){var item=stockItem.linecolor.data[i];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;};//获取最后的数据更新时间
9367
+ if(IFrameSplitOperator.IsNumber(stock.high))minuteData.High=stock.high;if(IFrameSplitOperator.IsNumber(stock.low))minuteData.Low=stock.low;if(IFrameSplitOperator.IsNumber(stock.yclose))minuteData.YClose=stock.yclose;if(IFrameSplitOperator.IsNumber(stock.YClearing))minuteData.YClearing=stock.yclearing;if(IFrameSplitOperator.IsNonEmptyArray(stock.minute)){for(var i=0;i<stock.minute.length;++i){var jsData=stock.minute[i];var item=new MinuteData();item.YClearing=minuteData.YClearing;item.YClose=minuteData.YClose;item.Date=jsData[0];item.Time=jsData[1];item.Open=jsData[2];item.High=jsData[3];item.Low=jsData[4];item.Close=jsData[5];item.AvPrice=jsData[6];item.Vol=jsData[7];item.Amount=jsData[8];if(IFrameSplitOperator.IsNumber(jsData[9]))item.Increase=jsData[9];if(IFrameSplitOperator.IsNumber(jsData[10]))item.Risefall=jsData[10];if(IFrameSplitOperator.IsNumber(jsData[11]))item.Lead=jsData[11];if(IFrameSplitOperator.IsNumber(jsData[12]))item.Position=jsData[12];if(jsData[extendDataIndex])item.ExtendData=jsData[extendDataIndex];item.DateTime=item.Date+' '+item.Time;if(!IFrameSplitOperator.IsNumber(item.Increase)&&IFrameSplitOperator.IsNumber(minuteData.YClose)&&item.Close){if(isFutures&&minuteData.YClearing&&item.Close)item.Increase=(item.Close-minuteData.YClearing)/minuteData.YClearing*100;//涨幅 (最新价格-昨结算价)/昨结算价*100;
9368
+ else item.Increase=(item.Close-minuteData.YClose)/minuteData.YClose*100;//涨幅 (最新价格-昨收)/昨收*100;
9369
+ }minuteData.Data.push(item);}}return minuteData;};MinuteChartContainer.JsonDataToMinuteLineColorData=function(data){if(!data||!data.stock[0])return null;var stockItem=data.stock[0];if(!stockItem.linecolor||!IFrameSplitOperator.IsNonEmptyArray(stockItem.linecolor.data))return null;var aryLineColor=[];for(var i in stockItem.linecolor.data){var item=stockItem.linecolor.data[i];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;};//获取最后的数据更新时间
9350
9370
  MinuteChartContainer.JsonDataToMinuteLastUpdateTime=function(data){if(!data||!data.stock[0])return null;var stock=data.stock[0];if(!IFrameSplitOperator.IsNumber(stock.date)||!IFrameSplitOperator.IsNumber(stock.time))return null;return{Date:stock.date,Time:stock.time};};MinuteChartContainer.JsonDataToHistoryMinuteLastUpdateTime=function(data){if(!data||!data.updatetime)return null;var item=data.updatetime;if(!IFrameSplitOperator.IsNumber(item.date)||!IFrameSplitOperator.IsNumber(item.time))return null;return{Date:item.date,Time:item.time};};//多日日线数据API 转化成array[];
9351
9371
  MinuteChartContainer.JsonDataToMinuteDataArray=function(data){var symbol=data.symbol;var upperSymbol=symbol.toUpperCase();var isSHSZ=MARKET_SUFFIX_NAME.IsSHSZ(upperSymbol);var isSHO=MARKET_SUFFIX_NAME.IsSHO(upperSymbol);//上海股票期权
9352
9372
  var isSZO=MARKET_SUFFIX_NAME.IsSZO(upperSymbol);//深证股票期权
@@ -9362,16 +9382,18 @@ var item=new MinuteData();item.YClearing=yClearing;item.YClose=yClose;item.Close
9362
9382
  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];//日期
9363
9383
  item.DateTime=item.Date.toString()+" "+jsData[0].toString();}if((isFutures||isSHO||isSZO)&&9<jsData.length)item.Position=jsData[9];//持仓
9364
9384
  if(!IFrameSplitOperator.IsNumber(item.Close))//当前没有价格 使用上一个价格填充
9365
- {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 upperSymbol=symbol?symbol.toUpperCase():null;var unit=MARKET_SUFFIX_NAME.GetVolUnit(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;//扩展数据序号
9366
- 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]=jsData[2];//沪深股票原始单位股
9385
+ {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,dataInfo){if(!IFrameSplitOperator.IsNonEmptyArray(data))return;var upperSymbol=symbol?symbol.toUpperCase():null;var unit=MARKET_SUFFIX_NAME.GetVolUnit(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;//扩展数据序号
9386
+ if(callAuctionData.Ver==1.0){var preClose=null;for(var i=0;i<data.length;++i){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]=jsData[2];//沪深股票原始单位股
9367
9387
  item.Amount=jsData[3];if(IFrameSplitOperator.IsNumber(jsData[4]))//日期
9368
- 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];//匹配量
9388
+ 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=0;i<data.length;++i){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];//匹配量
9369
9389
  item.Vol[1]=jsData[3];//未匹配量
9370
9390
  item.ColorID=jsData[4];//柱子颜色ID
9371
- 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/unit;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];//均价
9391
+ 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/unit;callAuctionData.VolMin=0;if(dataInfo&&dataInfo.TimeConfig)//固定时间
9392
+ MinuteChartContainer.CompleteCallAuctionData(dataInfo.TimeConfig,callAuctionData);}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];//均价
9372
9393
  item.Vol[0]=jsData[3];//匹配量
9373
9394
  item.ColorID=jsData[4];//柱子颜色ID
9374
- 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/unit;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;};/////////////////////////////////////////////////////////////////////////////
9395
+ 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/unit;callAuctionData.VolMin=0;if(dataInfo&&dataInfo.TimeConfig)//固定时间
9396
+ MinuteChartContainer.CompleteCallAuctionData(dataInfo.TimeConfig,callAuctionData);}};MinuteChartContainer.JosnDataToBeforeOpenDataArray=function(data){if(!data||!data.data)return null;var aryDay=[];for(var i=0;i<data.data.length;++i){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,dayItem.beforeinfo);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=0;i<data.data.length;++i){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,dayItem.afterinfo);aryDay.push(afterCloseData);}aryDay.sort(function(left,right){return left.Date-right.Date;});return aryDay;};/////////////////////////////////////////////////////////////////////////////
9375
9397
  // 自定义指数
9376
9398
  //
9377
9399
  function CustomKLineChartContainer(uielement){this.newMethod=KLineChartContainer;//派生
@@ -15212,7 +15234,7 @@ hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,St
15212
15234
  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);};}/********************************************************************************
15213
15235
  * 版本信息输出
15214
15236
  *
15215
- */var HQCHART_VERSION="1.1.14942";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();//把给外界调用的方法暴露出来
15237
+ */var HQCHART_VERSION="1.1.14952";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();//把给外界调用的方法暴露出来
15216
15238
  exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
15217
15239
  // BaseIndex:BaseIndex,
15218
15240
  // ChartLine:ChartLine,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hqchart",
3
- "version": "1.1.14943",
3
+ "version": "1.1.14953",
4
4
  "description": "HQChart - H5, 微信小程序 沪深/港股/数字货币/期货/美股 K线图(kline),走势图,缩放,拖拽,十字光标,画图工具,截图,筹码图. 分析家语法,通达信语法,(麦语法),第3方数据对接",
5
5
  "main": "lib/main.js",
6
6
  "scripts": {