hqchart 1.1.14846 → 1.1.14851

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.
@@ -4592,7 +4592,8 @@ function ChartBaseLineBar(){this.newMethod=IChartPainting;//派生
4592
4592
  this.newMethod();delete this.newMethod;this.ClassName="ChartBaseLineBar";this.UpColor=g_JSChartResource.ChartBaseLineBar.UpColor;this.DownColor=g_JSChartResource.ChartBaseLineBar.DownColor;this.LineWidth=1;this.IsDrawFirst=true;this.AryData=[];//{ Date, Time, Up, Down }
4593
4593
  this.DefaultMax;//默认最大值
4594
4594
  this.MaxValue;this.YBaseLine;this.BarMaxHeight;//{ Up:, Down: }
4595
- this.Draw=function(){this.YBaseLine=null;this.BarMaxHeight=null;if(!this.IsShow||this.ChartFrame.IsMinSize||!this.IsVisible)return;if(this.IsShowIndexTitleOnly())return;if(this.IsHideScriptIndex())return;if(!this.HQChart)return;if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return;if(!IFrameSplitOperator.IsNumber(this.MaxValue))return;this.CalculateBaseLine();if(!IFrameSplitOperator.IsNumber(this.YBaseLine))return;if(!IFrameSplitOperator.IsPlusNumber(this.BarMaxHeight))return;var bHScreen=this.ChartFrame.IsHScreen===true;var bMinute=this.IsMinuteFrame();var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var xPointCount=this.ChartFrame.XPointCount;var border=this.ChartFrame.GetBorder();if(bHScreen){var chartright=border.BottomEx;var xOffset=border.TopEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;}else{var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;var chartright=border.RightEx;}var yCenter=this.YBaseLine;var aryUpBar=[],aryDownBar=[];for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j,xOffset+=dataWidth+distanceWidth){var kItem=this.Data.Data[i];if(!kItem)continue;var key=this.BuildKey(kItem);if(!this.MapCache.has(key))continue;var item=this.MapCache.get(key);if(bMinute){var x=this.ChartFrame.GetXFromIndex(j);}else{var left=xOffset;var right=xOffset+dataWidth;if(right>chartright)break;var x=left+(right-left)/2;}if(IFrameSplitOperator.IsNumber(item.Up)){var y=yCenter-item.Up*this.BarMaxHeight/this.MaxValue;aryUpBar.push({X:x,Y:y});}if(IFrameSplitOperator.IsNumber(item.Down)){var y=yCenter+Math.abs(item.Down)*this.BarMaxHeight/this.MaxValue;aryDownBar.push({X:x,Y:y});}}this.DrawBars(aryUpBar,this.UpColor);this.DrawBars(aryDownBar,this.DownColor);};this.CalculateBaseLine=function(){if(!this.HQChart)return;var bHScreen=this.ChartFrame.IsHScreen===true;var bMinute=this.IsMinuteFrame();var border=this.ChartFrame.GetBorder();if(bMinute){var chart=this.HQChart.ChartPaint[0];if(!chart||!IFrameSplitOperator.IsNumber(chart.YClose))return;this.YBaseLine=this.ChartFrame.GetYFromData(chart.YClose);if(bHScreen){this.BarMaxHeight=(border.RightEx-this.YBaseLine)/3;}else{this.BarMaxHeight=(this.YBaseLine-border.TopEx)/3;}}else{//TODO:K线
4595
+ this.Draw=function(){this.YBaseLine=null;this.BarMaxHeight=null;if(!this.IsShow||this.ChartFrame.IsMinSize||!this.IsVisible)return;if(this.IsShowIndexTitleOnly())return;if(this.IsHideScriptIndex())return;if(!this.HQChart)return;if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return;if(!IFrameSplitOperator.IsNumber(this.MaxValue))return;this.CalculateBaseLine();if(!IFrameSplitOperator.IsNumber(this.YBaseLine))return;if(!IFrameSplitOperator.IsPlusNumber(this.BarMaxHeight))return;var bHScreen=this.ChartFrame.IsHScreen===true;var bMinute=this.IsMinuteFrame();var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var xPointCount=this.ChartFrame.XPointCount;var border=this.ChartFrame.GetBorder();if(bHScreen){var chartright=border.BottomEx;var xOffset=border.TopEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;}else{var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;var chartright=border.RightEx;}var yCenter=this.YBaseLine;var aryUpBar=[],aryDownBar=[];for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j,xOffset+=dataWidth+distanceWidth){var kItem=this.Data.Data[i];if(!kItem)continue;var key=this.BuildKey(kItem);if(!this.MapCache.has(key))continue;var item=this.MapCache.get(key);if(bMinute){var x=this.ChartFrame.GetXFromIndex(j);}else{var left=xOffset;var right=xOffset+dataWidth;if(right>chartright)break;var x=left+(right-left)/2;}if(IFrameSplitOperator.IsNumber(item.Up)){var value=Math.abs(item.Up)*this.BarMaxHeight/this.MaxValue;if(value<1.5)value=1.5;//太短了 就直接画2个像素高度
4596
+ var y=yCenter-value;aryUpBar.push({X:x,Y:y});}if(IFrameSplitOperator.IsNumber(item.Down)){var value=Math.abs(item.Down)*this.BarMaxHeight/this.MaxValue;if(value<1.5)value=1.5;var y=yCenter+value;aryDownBar.push({X:x,Y:y});}}this.DrawBars(aryUpBar,this.UpColor);this.DrawBars(aryDownBar,this.DownColor);};this.CalculateBaseLine=function(){if(!this.HQChart)return;var bHScreen=this.ChartFrame.IsHScreen===true;var bMinute=this.IsMinuteFrame();var border=this.ChartFrame.GetBorder();if(bMinute){var chart=this.HQChart.ChartPaint[0];if(!chart||!IFrameSplitOperator.IsNumber(chart.YClose))return;this.YBaseLine=this.ChartFrame.GetYFromData(chart.YClose);if(bHScreen){this.BarMaxHeight=(border.RightEx-this.YBaseLine)/3;}else{this.BarMaxHeight=(this.YBaseLine-border.TopEx)/3;}}else{//TODO:K线
4596
4597
  }};this.DrawBars=function(aryBar,barColor){var bHScreen=this.ChartFrame.IsHScreen===true;var yCenter=this.YBaseLine;this.Canvas.strokeStyle=barColor;this.Canvas.beginPath();var barCount=0;for(var i=0;i<aryBar.length;++i){var item=aryBar[i];var x=ToFixedPoint(item.X);if(bHScreen){this.Canvas.moveTo(yCenter,x);this.Canvas.lineTo(item.Y,x);}else{this.Canvas.moveTo(x,yCenter);this.Canvas.lineTo(x,item.Y);}++barCount;}if(barCount>0)this.Canvas.stroke();};this.BuildCacheData=function(){this.MaxValue=null;var mapData=new _map2.default();this.MapCache=mapData;if(!IFrameSplitOperator.IsNonEmptyArray(this.AryData))return;var max=null,min=null;for(var i=0;i<this.AryData.length;++i){var item=this.AryData[i];if(!item)continue;var key=this.BuildKey(item);mapData.set(key,item);if(IFrameSplitOperator.IsNumber(item.Up)){if(!max)max={Value:item.Up};else if(max.Value<item.Up)max.Value=item.Up;if(!min)min={Value:item.Up};else if(min.Value>item.Up)min.Value=item.Up;}if(IFrameSplitOperator.IsNumber(item.Down)){if(!max)max={Value:item.Down};else if(max.Value<item.Down)max.Value=item.Down;if(!min)min={Value:item.Down};else if(min.Value>item.Down)min.Value=item.Down;}}if(max&&min){this.MaxValue=Math.max(Math.abs(max.Value),Math.abs(min.Value));if(IFrameSplitOperator.IsNumber(this.DefaultMax))this.MaxValue=Math.max(this.DefaultMax,this.MaxValue);}};this.GetMaxMin=function(){return{Min:null,Max:null};};}function ChartClipColorStick(){this.newMethod=IChartPainting;//派生
4597
4598
  this.newMethod();delete this.newMethod;this.ClassName="ChartClipColorStick";this.UpColor=g_JSChartResource.UpBarColor;this.DownColor=g_JSChartResource.DownBarColor;this.LineWidth=1;this.Style=0;//1=同方向 0=上下两个方向
4598
4599
  //差值线
@@ -8937,7 +8938,7 @@ this.RequestHistoryMinuteData=function(){var self=this;this.IsBeforeData=false;t
8937
8938
  };var bBuySellBar=this.IsShowMinuteBuySellBar();var obj={Name:'MinuteChartContainer::RequestHistoryMinuteData',//类名::函数
8938
8939
  Explain:'多日分时数据',Request:{Url:self.HistoryMinuteApiUrl,Data:{daycount:self.DayCount,symbol:self.Symbol,callcation:callCation,AryDate:this.AryDate,IsShowBuySellBar:bBuySellBar},Type:'POST'},Self:this,PreventDefault:false};this.NetworkFilter(obj,function(data){self.ChartSplashPaint.EnableSplash(false);self.RecvHistoryMinuteData(data);});if(obj.PreventDefault==true)return;//已被上层替换,不调用默认的网络请求
8939
8940
  }JSNetwork.HttpRequest({url:self.HistoryMinuteApiUrl,data:{"symbol":self.Symbol,"daycount":self.DayCount},type:"post",dataType:"json",async:true,success:function success(data){self.ChartSplashPaint.EnableSplash(false);self.RecvHistoryMinuteData(data);}});};this.RecvHistoryMinuteData=function(data){if(this.EnableVerifyRecvData&&data.symbol!=this.Symbol){JSConsole.Chart.Warn('[MinuteChartContainer::RecvHistoryMinuteData] recv data symbol not match. HQChart['+this.Symbol+'] , Recv['+data.symbol+']');return;}this.DayData=MinuteChartContainer.JsonDataToMinuteDataArray(data);this.ColorLineData=MinuteChartContainer.JsonDataToHistoryMinuteLineColorData(data);this.MultiDayBeforeOpenData=MinuteChartContainer.JosnDataToBeforeOpenDataArray(data);this.MultiDayAfterCloseData=MinuteChartContainer.JosnDataToAfterCloseDataArray(data);var updateTime=MinuteChartContainer.JsonDataToHistoryMinuteLastUpdateTime(data);this.DataStatus.MultiDay=true;var lastDayData=null;if(IFrameSplitOperator.IsNonEmptyArray(data.data)&&data.data[0])lastDayData=data.data[0];if(lastDayData)this.RecvBuySellData(lastDayData.BuySellData);this.CaclutateCallCationYRange();this.Symbol=data.symbol;this.Name=data.name;this.SetCallCationDataBorder({Left:false,Right:false,MultiDay:{Left:this.IsShowMultiDayBeforeData,Right:this.IsShowMultiDayAfterData}});this.CaclutateLimitPrice(this.DayData[0].YClose,data.data[0].limitprice);//计算涨停价格
8940
- this.UpdateHistoryMinuteUI(updateTime);this.RecvMinuteDataEvent({FunctionName:"RecvHistoryMinuteData"});this.RequestOverlayHistoryMinuteData();this.BindAllOverlayIndexData(this.SourceData);this.AutoUpdateEvent(true,"MinuteChartContainer::RequestHistoryMinuteData");this.AutoUpdate();};this.CaclutateCallCationYRange=function(){//多日集合竞价Y轴统一成交量
8941
+ this.UpdateHistoryMinuteUI(updateTime);this.RecvMinuteDataEvent({FunctionName:"RecvHistoryMinuteData"});this.RequestOverlayHistoryMinuteData();this.BindAllOverlayIndexData(this.SourceData,{SyncExecute:false});this.AutoUpdateEvent(true,"MinuteChartContainer::RequestHistoryMinuteData");this.AutoUpdate();};this.CaclutateCallCationYRange=function(){//多日集合竞价Y轴统一成交量
8941
8942
  var afterRange=null,beforeRange=null;if(IFrameSplitOperator.IsNonEmptyArray(this.MultiDayAfterCloseData)){var range={Max:null,Min:null};for(var i=0;i<this.MultiDayAfterCloseData.length;++i){var item=this.MultiDayAfterCloseData[i];if(range.Max==null)range.Max=item.VolMax;else if(range.Max<item.VolMax)range.Max=item.VolMax;if(range.Min==null)range.Min=item.VolMin;else if(range.Min>item.VolMin)range.Min=item.VolMin;}afterRange=range;}if(IFrameSplitOperator.IsNonEmptyArray(this.MultiDayBeforeOpenData)){var range={Max:null,Min:null};for(var i=0;i<this.MultiDayBeforeOpenData.length;++i){var item=this.MultiDayBeforeOpenData[i];if(range.Max==null)range.Max=item.VolMax;else if(range.Max<item.VolMax)range.Max=item.VolMax;if(range.Min==null)range.Min=item.VolMin;else if(range.Min>item.VolMin)range.Min=item.VolMin;}beforeRange=range;}if(this.ShareAfterVol==2)// 公用坐标
8942
8943
  {if(afterRange&&beforeRange){var max=Math.max(afterRange.Max,beforeRange.Max);var min=Math.min(afterRange.Min,beforeRange.Min);afterRange.Max=beforeRange.Max=max;afterRange.Min=beforeRange.Min=min;}}if(afterRange){for(var i=0;i<this.MultiDayAfterCloseData.length;++i){var item=this.MultiDayAfterCloseData[i];item.VolMax=afterRange.Max;item.VolMin=afterRange.Min;}}if(beforeRange){for(var i=0;i<this.MultiDayBeforeOpenData.length;++i){var item=this.MultiDayBeforeOpenData[i];item.VolMax=beforeRange.Max;item.VolMin=beforeRange.Min;}}};this.UpdateHistoryMinuteUI=function(updateTime){var allMinuteData=this.HistoryMinuteDataToArray(this.DayData);//原始数据
8943
8944
  var sourceData=new ChartData();sourceData.Data=allMinuteData;if(updateTime)sourceData.UpdateTime=updateTime;this.SourceData=sourceData;this.TradeDate=this.DayData[0].Date;if(this.PageInfo&&this.PageInfo.Enable){this.DayOffset.DayCount=this.DayData.length;//一共的数据
@@ -8952,7 +8953,8 @@ item.Frame.XSplitOperator.IsBeforeData=this.IsBeforeData;item.Frame.XSplitOperat
8952
8953
  {var overlayItem=item.OverlayIndex[j];overlayItem.Frame.XPointCount=item.Frame.XPointCount;overlayItem.Frame.MinuteCount=item.Frame.MinuteCount;}}this.ChartCorssCursor.StringFormatY.Symbol=this.Symbol;this.ChartCorssCursor.StringFormatX.Symbol=this.Symbol;this.ChartCorssCursor.StringFormatX.IsBeforeData=this.IsBeforeData;this.ChartCorssCursor.StringFormatX.IsAfterData=this.IsAfterData;this.TitlePaint[0].IsShowDate=true;this.UpdateDataOffset();this.UpdateFrameMaxMin();//调整坐标最大 最小值
8953
8954
  this.CreateChartDrawPictureByStorage();//创建画图工具
8954
8955
  //执行脚本
8955
- if(this.Frame.SubFrame.length>2){var bindData=new ChartData();bindData.Data=allMinuteData;for(var i=2;i<this.Frame.SubFrame.length;++i){this.BindIndexData(i,bindData);}}this.Frame.SetSizeChage(true);this.Draw();};this.HistoryMinuteDataToArray=function(data){var result=[];for(var i=data.length-1;i>=0;--i){var item=data[i];for(var j=0;j<item.Data.length;++j){result.push(item.Data[j]);}}return result;};//更新一天的数据
8956
+ if(this.Frame.SubFrame.length>2){var bindData=new ChartData();bindData.Data=allMinuteData;for(var i=2;i<this.Frame.SubFrame.length;++i){this.BindIndexData(i,bindData);}}this.BindAllOverlayIndexData(this.SourceData,{SyncExecute:true});//同步模式脚本
8957
+ this.Frame.SetSizeChage(true);this.Draw();};this.HistoryMinuteDataToArray=function(data){var result=[];for(var i=data.length-1;i>=0;--i){var item=data[i];for(var j=0;j<item.Data.length;++j){result.push(item.Data[j]);}}return result;};//更新一天的数据
8956
8958
  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;//整一天的数据都替换掉
8957
8959
  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)//新的一天 插入
8958
8960
  {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);}}};//更新最新的几条数据
@@ -8972,7 +8974,7 @@ this.MultiDayBeforeOpenData.push(beforeOpenData);}if(afterCloseData&&IFrameSplit
8972
8974
  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);//数据最后的更新时间
8973
8975
  if(this.DayCount>1)//多日走势图
8974
8976
  {this.UpdateCallCationData(beforeOpenData,afterCloseData);this.UpdateLineColorData(aryColorData,minuteData.date);this.UpdateLatestMinuteDataV2(minuteData);this.UpdateHistoryMinuteUI(updateTime);this.RecvMinuteDataEvent({FunctionName:"RecvUpdateMinuteData"});this.RequestOverlayMinuteData();//请求叠加数据 (主数据下载完再下载)
8975
- this.BindAllOverlayIndexData(this.SourceData);this.AutoUpdateEvent(true,"MinuteChartContainer::RecvUpdateMinuteData");this.AutoUpdate();return;}if(this.IsBeforeData&&beforeOpenData)this.BeforeOpenData=beforeOpenData;if(this.IsAfterData&&afterCloseData)this.AfterCloseData=afterCloseData;//原始数据
8977
+ 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;//原始数据
8976
8978
  this.UpdateLatestMinuteDataV2(minuteData);this.UpdateMinuteUI(data.stock[0],{FunctionName:"RecvUpdateMinuteData"});if(data.AutoUpdate===false)//不执行自动更新
8977
8979
  {}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)//增量更新数据模式
8978
8980
  {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);//数据最后的更新时间
@@ -8981,7 +8983,7 @@ if(IFrameSplitOperator.IsNonEmptyArray(data.stock)&&data.stock[0]){this.DataStat
8981
8983
  this.RecvBuySellData(data.stock[0].BuySellData);}if(data.LatestPointFlash)//最新数据闪烁
8982
8984
  {var item=data.LatestPointFlash;if(IFrameSplitOperator.IsNumber(item.FlashCount))this.SetLatestPointFlash(item.FlashCount);}this.DataStatus.LatestDay=true;if(this.DayCount>1)//多日走势图
8983
8985
  {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();//请求叠加数据 (主数据下载完再下载)
8984
- this.BindAllOverlayIndexData(this.SourceData);this.AutoUpdateEvent(true,"MinuteChartContainer::RecvMinuteData");this.AutoUpdate();return;}if(this.IsOnTouch==true||this.IsPressKeyboard==true)//正在操作中不更新数据
8986
+ this.BindAllOverlayIndexData(this.SourceData,{SyncExecute:false});this.AutoUpdateEvent(true,"MinuteChartContainer::RecvMinuteData");this.AutoUpdate();return;}if(this.IsOnTouch==true||this.IsPressKeyboard==true)//正在操作中不更新数据
8985
8987
  {if(this.SourceData&&IFrameSplitOperator.IsNonEmptyArray(this.SourceData.Data)){this.AutoUpdate();return;}}//原始数据
8986
8988
  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)//不执行自动更新
8987
8989
  {}else{this.AutoUpdateEvent(true,"MinuteChartContainer::RecvMinuteData");this.AutoUpdate();}};//更新单日分时图
@@ -8992,10 +8994,10 @@ this.CaclutateLimitPrice(yClose,stockData.limitprice);//计算涨停价格
8992
8994
  var extendData=null;if(stockData.high>0&&stockData.low>0)extendData={High:stockData.high,Low:stockData.low};this.BindMainData(this.SourceData,yClose,extendData);if(this.Frame.SubFrame.length>2){var bindData=new ChartData();bindData.Data=this.SourceData.Data;for(var i=2;i<this.Frame.SubFrame.length;++i){this.BindIndexData(i,bindData);}}for(var i=0,j=0;i<this.Frame.SubFrame.length;++i){var item=this.Frame.SubFrame[i];item.Frame.XSplitOperator.Symbol=this.Symbol;item.Frame.XSplitOperator.DayCount=1;item.Frame.XSplitOperator.Operator();//调整X轴个数
8993
8995
  item.Frame.YSplitOperator.Symbol=this.Symbol;for(j=0;j<item.OverlayIndex.length;++j)//子坐标X轴个数同步
8994
8996
  {var overlayItem=item.OverlayIndex[j];overlayItem.Frame.XPointCount=item.Frame.XPointCount;overlayItem.Frame.MinuteCount=item.Frame.MinuteCount;}}this.ChartCorssCursor.StringFormatY.Symbol=this.Symbol;this.ChartCorssCursor.StringFormatX.Symbol=this.Symbol;if(MARKET_SUFFIX_NAME.IsSHSZ(upperSymbol))this.TitlePaint[0].IsShowDate=false;if(stockData.IsHistoryMinute==true)this.TitlePaint[0].IsShowDate=true;var chartInfo=this.GetChartMinuteInfo();if(chartInfo)chartInfo.SourceData=this.SourceData;//数据绑定到信息地雷上
8995
- if(eventData)this.RecvMinuteDataEvent(eventData);this.RequestMinuteInfoData();this.RequestOverlayMinuteData();//请求叠加数据 (主数据下载完再下载)
8997
+ this.BindAllOverlayIndexData(this.SourceData,{SyncExecute:true});if(eventData)this.RecvMinuteDataEvent(eventData);this.RequestMinuteInfoData();this.RequestOverlayMinuteData();//请求叠加数据 (主数据下载完再下载)
8996
8998
  this.CreateChartDrawPictureByStorage();//创建画图工具
8997
8999
  this.UpdateFrameMaxMin();//调整坐标最大 最小值
8998
- this.Frame.SetSizeChage(true);this.Draw();this.BindAllOverlayIndexData(this.SourceData);};this.CaclutateLimitPrice=function(yClose,limitData){this.LimitPrice=null;//var limitData=data.stock[0].limitprice;
9000
+ this.Frame.SetSizeChage(true);this.Draw();this.BindAllOverlayIndexData(this.SourceData,{SyncExecute:false});};this.CaclutateLimitPrice=function(yClose,limitData){this.LimitPrice=null;//var limitData=data.stock[0].limitprice;
8999
9001
  if(limitData&&limitData.max>0&&limitData.min>0)//API里带涨停价格 直接使用
9000
9002
  {this.LimitPrice={Max:limitData.max,Min:limitData.min};return;}var range=MARKET_SUFFIX_NAME.GetLimitPriceRange(this.Symbol,this.Name);//通过规则获取涨停价格
9001
9003
  if(!range){JSConsole.Chart.Log('[MinuteChartContainer::CaclutateLimitPrice] '+this.Symbol+' no limit price.');return;}//var yClose=data.stock[0].yclose;
@@ -9136,7 +9138,9 @@ scriptIndex.Create(this,windowIndex);overlayFrame.Script=scriptIndex;}subFrame.O
9136
9138
  {if(!this.DeleteOverlayIndex(identify,null))return;this.Frame.ResetXYSplit(true);this.Draw();};//计算叠加指标
9137
9139
  this.BindAllOverlayIndexData=function(hisData,option){if(!this.Frame||!this.Frame.SubFrame)return;//叠加指标
9138
9140
  for(var i=0;i<this.Frame.SubFrame.length;++i){var item=this.Frame.SubFrame[i];for(var j=0;j<item.OverlayIndex.length;++j){var overlayItem=item.OverlayIndex[j];this.BindOverlayIndexData(overlayItem,i,hisData,option);}}};//叠加指标
9139
- this.BindOverlayIndexData=function(overlayItem,windowIndex,hisData,option){if(!overlayItem.Script)return;if(typeof overlayItem.Script.RequestData=='function'){overlayItem.Script.RequestData(this,windowIndex,hisData);return;}if(typeof overlayItem.Script.ExecuteScript=='function'){overlayItem.Script.ExecuteScript(this,windowIndex,hisData);return;}overlayItem.Script.BindData(this,windowIndex,hisData);};//获取子窗口的所有画法
9141
+ this.BindOverlayIndexData=function(overlayItem,windowIndex,hisData,option){if(!overlayItem.Script)return;if(typeof overlayItem.Script.RequestData=='function'){overlayItem.Script.RequestData(this,windowIndex,hisData);return;}if(typeof overlayItem.Script.ExecuteScript=='function'){if(option){if(option.CheckRunCount)//检测执行次数
9142
+ {if(overlayItem.Script.IsExcessRunCount())return;}if(IFrameSplitOperator.IsBool(option.SyncExecute))//异步|同步
9143
+ {if(overlayItem.Script.IsSync!=option.SyncExecute)return;}}overlayItem.Script.ExecuteScript(this,windowIndex,hisData);return;}overlayItem.Script.BindData(this,windowIndex,hisData);};//获取子窗口的所有画法
9140
9144
  this.GetChartPaint=function(windowIndex){var paint=new Array();for(var i in this.ChartPaint){if(i<3)continue;//分钟 均线 成交量 3个线不能改
9141
9145
  var item=this.ChartPaint[i];if(item.ChartFrame==this.Frame.SubFrame[windowIndex].Frame)paint.push(item);}return paint;};//创建指定窗口指标
9142
9146
  this.CreateWindowIndex=function(windowIndex){this.WindowIndex[windowIndex].Create(this,windowIndex);};this.OnTouchFinished=function(){if(this.EnableClickModel===true){if(this.ClickModel.IsShowCorssCursor==true&&this.ClickModel.PreventHide)return;//阻止隐藏
@@ -15046,7 +15050,7 @@ hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,St
15046
15050
  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);};}/********************************************************************************
15047
15051
  * 版本信息输出
15048
15052
  *
15049
- */var HQCHART_VERSION="1.1.14845";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();//把给外界调用的方法暴露出来
15053
+ */var HQCHART_VERSION="1.1.14850";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();//把给外界调用的方法暴露出来
15050
15054
  exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
15051
15055
  // BaseIndex:BaseIndex,
15052
15056
  // ChartLine:ChartLine,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hqchart",
3
- "version": "1.1.14846",
3
+ "version": "1.1.14851",
4
4
  "description": "HQChart - H5, 微信小程序 沪深/港股/数字货币/期货/美股 K线图(kline),走势图,缩放,拖拽,十字光标,画图工具,截图,筹码图. 分析家语法,通达信语法,(麦语法),第3方数据对接",
5
5
  "main": "lib/main.js",
6
6
  "scripts": {
@@ -41524,13 +41524,18 @@ function ChartBaseLineBar()
41524
41524
 
41525
41525
  if (IFrameSplitOperator.IsNumber(item.Up))
41526
41526
  {
41527
- var y=yCenter-(item.Up*this.BarMaxHeight/this.MaxValue);
41527
+ var value=Math.abs(item.Up)*this.BarMaxHeight/this.MaxValue;
41528
+ if (value<1.5) value=1.5; //太短了 就直接画2个像素高度
41529
+ var y=yCenter-value;
41530
+
41528
41531
  aryUpBar.push({ X:x, Y:y});
41529
41532
  }
41530
41533
 
41531
41534
  if (IFrameSplitOperator.IsNumber(item.Down))
41532
41535
  {
41533
- var y=yCenter+(Math.abs(item.Down)*this.BarMaxHeight/this.MaxValue);
41536
+ var value=Math.abs(item.Down)*this.BarMaxHeight/this.MaxValue;
41537
+ if (value<1.5) value=1.5;
41538
+ var y=yCenter+value;
41534
41539
  aryDownBar.push({X:x, Y:y});
41535
41540
  }
41536
41541
  }
@@ -41578,7 +41583,7 @@ function ChartBaseLineBar()
41578
41583
  for (var i=0;i<aryBar.length;++i)
41579
41584
  {
41580
41585
  var item=aryBar[i];
41581
- var x=ToFixedPoint(item.X)
41586
+ var x=ToFixedPoint(item.X);
41582
41587
  if (bHScreen)
41583
41588
  {
41584
41589
  this.Canvas.moveTo(yCenter,x);
@@ -91629,7 +91634,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
91629
91634
  this.RecvMinuteDataEvent( {FunctionName:"RecvHistoryMinuteData"} );
91630
91635
  this.RequestOverlayHistoryMinuteData();
91631
91636
 
91632
- this.BindAllOverlayIndexData(this.SourceData);
91637
+ this.BindAllOverlayIndexData(this.SourceData, { SyncExecute:false });
91633
91638
 
91634
91639
  this.AutoUpdateEvent(true, "MinuteChartContainer::RequestHistoryMinuteData");
91635
91640
  this.AutoUpdate();
@@ -91785,6 +91790,8 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
91785
91790
  }
91786
91791
  }
91787
91792
 
91793
+ this.BindAllOverlayIndexData(this.SourceData, { SyncExecute:true }); //同步模式脚本
91794
+
91788
91795
  this.Frame.SetSizeChage(true);
91789
91796
  this.Draw();
91790
91797
  }
@@ -92073,7 +92080,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
92073
92080
  this.UpdateHistoryMinuteUI(updateTime);
92074
92081
  this.RecvMinuteDataEvent({FunctionName:"RecvUpdateMinuteData"} );
92075
92082
  this.RequestOverlayMinuteData(); //请求叠加数据 (主数据下载完再下载)
92076
- this.BindAllOverlayIndexData(this.SourceData);
92083
+ this.BindAllOverlayIndexData(this.SourceData, { SyncExecute:false });
92077
92084
  this.AutoUpdateEvent(true, "MinuteChartContainer::RecvUpdateMinuteData");
92078
92085
  this.AutoUpdate();
92079
92086
  return;
@@ -92170,7 +92177,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
92170
92177
  this.UpdateHistoryMinuteUI(updateTime);
92171
92178
  this.RecvMinuteDataEvent({FunctionName:"RecvMinuteData"} );
92172
92179
  this.RequestOverlayMinuteData(); //请求叠加数据 (主数据下载完再下载)
92173
- this.BindAllOverlayIndexData(this.SourceData);
92180
+ this.BindAllOverlayIndexData(this.SourceData, { SyncExecute:false });
92174
92181
  this.AutoUpdateEvent(true, "MinuteChartContainer::RecvMinuteData");
92175
92182
  this.AutoUpdate();
92176
92183
  return;
@@ -92274,16 +92281,18 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
92274
92281
  var chartInfo=this.GetChartMinuteInfo();
92275
92282
  if (chartInfo) chartInfo.SourceData=this.SourceData; //数据绑定到信息地雷上
92276
92283
 
92284
+ this.BindAllOverlayIndexData(this.SourceData, { SyncExecute:true });
92285
+
92277
92286
  if (eventData) this.RecvMinuteDataEvent( eventData );
92278
92287
  this.RequestMinuteInfoData();
92279
- this.RequestOverlayMinuteData();//请求叠加数据 (主数据下载完再下载)
92288
+ this.RequestOverlayMinuteData(); //请求叠加数据 (主数据下载完再下载)
92280
92289
  this.CreateChartDrawPictureByStorage(); //创建画图工具
92281
92290
 
92282
92291
  this.UpdateFrameMaxMin(); //调整坐标最大 最小值
92283
92292
  this.Frame.SetSizeChage(true);
92284
92293
  this.Draw();
92285
92294
 
92286
- this.BindAllOverlayIndexData(this.SourceData);
92295
+ this.BindAllOverlayIndexData(this.SourceData, { SyncExecute:false });
92287
92296
  }
92288
92297
 
92289
92298
  this.CaclutateLimitPrice=function(yClose, limitData)
@@ -93191,6 +93200,21 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
93191
93200
 
93192
93201
  if (typeof(overlayItem.Script.ExecuteScript)=='function')
93193
93202
  {
93203
+ if (option)
93204
+ {
93205
+ if (option.CheckRunCount) //检测执行次数
93206
+ {
93207
+ if (overlayItem.Script.IsExcessRunCount())
93208
+ return;
93209
+ }
93210
+
93211
+ if (IFrameSplitOperator.IsBool(option.SyncExecute)) //异步|同步
93212
+ {
93213
+ if (overlayItem.Script.IsSync!=option.SyncExecute)
93214
+ return;
93215
+ }
93216
+ }
93217
+
93194
93218
  overlayItem.Script.ExecuteScript(this,windowIndex,hisData);
93195
93219
  return;
93196
93220
  }
@@ -45620,13 +45620,18 @@ function ChartBaseLineBar()
45620
45620
 
45621
45621
  if (IFrameSplitOperator.IsNumber(item.Up))
45622
45622
  {
45623
- var y=yCenter-(item.Up*this.BarMaxHeight/this.MaxValue);
45623
+ var value=Math.abs(item.Up)*this.BarMaxHeight/this.MaxValue;
45624
+ if (value<1.5) value=1.5; //太短了 就直接画2个像素高度
45625
+ var y=yCenter-value;
45626
+
45624
45627
  aryUpBar.push({ X:x, Y:y});
45625
45628
  }
45626
45629
 
45627
45630
  if (IFrameSplitOperator.IsNumber(item.Down))
45628
45631
  {
45629
- var y=yCenter+(Math.abs(item.Down)*this.BarMaxHeight/this.MaxValue);
45632
+ var value=Math.abs(item.Down)*this.BarMaxHeight/this.MaxValue;
45633
+ if (value<1.5) value=1.5;
45634
+ var y=yCenter+value;
45630
45635
  aryDownBar.push({X:x, Y:y});
45631
45636
  }
45632
45637
  }
@@ -45674,7 +45679,7 @@ function ChartBaseLineBar()
45674
45679
  for (var i=0;i<aryBar.length;++i)
45675
45680
  {
45676
45681
  var item=aryBar[i];
45677
- var x=ToFixedPoint(item.X)
45682
+ var x=ToFixedPoint(item.X);
45678
45683
  if (bHScreen)
45679
45684
  {
45680
45685
  this.Canvas.moveTo(yCenter,x);
@@ -95725,7 +95730,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
95725
95730
  this.RecvMinuteDataEvent( {FunctionName:"RecvHistoryMinuteData"} );
95726
95731
  this.RequestOverlayHistoryMinuteData();
95727
95732
 
95728
- this.BindAllOverlayIndexData(this.SourceData);
95733
+ this.BindAllOverlayIndexData(this.SourceData, { SyncExecute:false });
95729
95734
 
95730
95735
  this.AutoUpdateEvent(true, "MinuteChartContainer::RequestHistoryMinuteData");
95731
95736
  this.AutoUpdate();
@@ -95881,6 +95886,8 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
95881
95886
  }
95882
95887
  }
95883
95888
 
95889
+ this.BindAllOverlayIndexData(this.SourceData, { SyncExecute:true }); //同步模式脚本
95890
+
95884
95891
  this.Frame.SetSizeChage(true);
95885
95892
  this.Draw();
95886
95893
  }
@@ -96169,7 +96176,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
96169
96176
  this.UpdateHistoryMinuteUI(updateTime);
96170
96177
  this.RecvMinuteDataEvent({FunctionName:"RecvUpdateMinuteData"} );
96171
96178
  this.RequestOverlayMinuteData(); //请求叠加数据 (主数据下载完再下载)
96172
- this.BindAllOverlayIndexData(this.SourceData);
96179
+ this.BindAllOverlayIndexData(this.SourceData, { SyncExecute:false });
96173
96180
  this.AutoUpdateEvent(true, "MinuteChartContainer::RecvUpdateMinuteData");
96174
96181
  this.AutoUpdate();
96175
96182
  return;
@@ -96266,7 +96273,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
96266
96273
  this.UpdateHistoryMinuteUI(updateTime);
96267
96274
  this.RecvMinuteDataEvent({FunctionName:"RecvMinuteData"} );
96268
96275
  this.RequestOverlayMinuteData(); //请求叠加数据 (主数据下载完再下载)
96269
- this.BindAllOverlayIndexData(this.SourceData);
96276
+ this.BindAllOverlayIndexData(this.SourceData, { SyncExecute:false });
96270
96277
  this.AutoUpdateEvent(true, "MinuteChartContainer::RecvMinuteData");
96271
96278
  this.AutoUpdate();
96272
96279
  return;
@@ -96370,16 +96377,18 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
96370
96377
  var chartInfo=this.GetChartMinuteInfo();
96371
96378
  if (chartInfo) chartInfo.SourceData=this.SourceData; //数据绑定到信息地雷上
96372
96379
 
96380
+ this.BindAllOverlayIndexData(this.SourceData, { SyncExecute:true });
96381
+
96373
96382
  if (eventData) this.RecvMinuteDataEvent( eventData );
96374
96383
  this.RequestMinuteInfoData();
96375
- this.RequestOverlayMinuteData();//请求叠加数据 (主数据下载完再下载)
96384
+ this.RequestOverlayMinuteData(); //请求叠加数据 (主数据下载完再下载)
96376
96385
  this.CreateChartDrawPictureByStorage(); //创建画图工具
96377
96386
 
96378
96387
  this.UpdateFrameMaxMin(); //调整坐标最大 最小值
96379
96388
  this.Frame.SetSizeChage(true);
96380
96389
  this.Draw();
96381
96390
 
96382
- this.BindAllOverlayIndexData(this.SourceData);
96391
+ this.BindAllOverlayIndexData(this.SourceData, { SyncExecute:false });
96383
96392
  }
96384
96393
 
96385
96394
  this.CaclutateLimitPrice=function(yClose, limitData)
@@ -97287,6 +97296,21 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
97287
97296
 
97288
97297
  if (typeof(overlayItem.Script.ExecuteScript)=='function')
97289
97298
  {
97299
+ if (option)
97300
+ {
97301
+ if (option.CheckRunCount) //检测执行次数
97302
+ {
97303
+ if (overlayItem.Script.IsExcessRunCount())
97304
+ return;
97305
+ }
97306
+
97307
+ if (IFrameSplitOperator.IsBool(option.SyncExecute)) //异步|同步
97308
+ {
97309
+ if (overlayItem.Script.IsSync!=option.SyncExecute)
97310
+ return;
97311
+ }
97312
+ }
97313
+
97290
97314
  overlayItem.Script.ExecuteScript(this,windowIndex,hisData);
97291
97315
  return;
97292
97316
  }
@@ -150069,7 +150093,7 @@ function ScrollBarBGChart()
150069
150093
 
150070
150094
 
150071
150095
 
150072
- var HQCHART_VERSION="1.1.14845";
150096
+ var HQCHART_VERSION="1.1.14850";
150073
150097
 
150074
150098
  function PrintHQChartVersion()
150075
150099
  {
@@ -5,7 +5,7 @@
5
5
 
6
6
 
7
7
 
8
- var HQCHART_VERSION="1.1.14845";
8
+ var HQCHART_VERSION="1.1.14850";
9
9
 
10
10
  function PrintHQChartVersion()
11
11
  {
@@ -0,0 +1,56 @@
1
+
2
+ /*
3
+ Copyright (c) 2018 jones
4
+
5
+ http://www.apache.org/licenses/LICENSE-2.0
6
+
7
+ 开源项目 https://github.com/jones2000/HQChart
8
+
9
+ jones_2000@163.com
10
+
11
+ 阿里云api网关网络请求模块
12
+ */
13
+
14
+ function JSAliYunNetwork()
15
+ {
16
+ this.AliYunUrl=[]; //需要验证的阿里账户的域名
17
+ this.AppCode;
18
+
19
+ this.HttpRequest = function(obj)
20
+ {
21
+ $.ajax(
22
+ {
23
+ headers: this.AppCode,
24
+ url: obj.url, data: obj.data,
25
+ type:obj.type, dataType: obj.dataType,async:obj.async,
26
+ success: obj.success,
27
+ error: obj.error,
28
+ }
29
+ );
30
+ }
31
+ }
32
+
33
+
34
+
35
+ // var g_AilYunNetwork=new JSAliYunNetwork(); //初始化一个全局的变量
36
+ /* g_AilYunNetwork.AliYunUrl[0]="xxxxxxx"; //域名 或 具体的地址
37
+ //设置账户密码
38
+ {
39
+ Authorization:'APPCODE 4333fc85c1284212a4724d7159304e70'
40
+ }
41
+
42
+ //替换默认的网络请求接口
43
+ JSNetwork.HttpRequest= function (obj)
44
+ {
45
+ g_AilYunNetwork.HttpRequest(obj);
46
+ }
47
+ */
48
+
49
+ /*外部导入*/
50
+ import $ from 'jquery'
51
+
52
+ /*暴露外部用的方法*/
53
+ export default {
54
+ g_AliYunNetwork: JSAliYunNetwork
55
+
56
+ }
@@ -45664,13 +45664,18 @@ function ChartBaseLineBar()
45664
45664
 
45665
45665
  if (IFrameSplitOperator.IsNumber(item.Up))
45666
45666
  {
45667
- var y=yCenter-(item.Up*this.BarMaxHeight/this.MaxValue);
45667
+ var value=Math.abs(item.Up)*this.BarMaxHeight/this.MaxValue;
45668
+ if (value<1.5) value=1.5; //太短了 就直接画2个像素高度
45669
+ var y=yCenter-value;
45670
+
45668
45671
  aryUpBar.push({ X:x, Y:y});
45669
45672
  }
45670
45673
 
45671
45674
  if (IFrameSplitOperator.IsNumber(item.Down))
45672
45675
  {
45673
- var y=yCenter+(Math.abs(item.Down)*this.BarMaxHeight/this.MaxValue);
45676
+ var value=Math.abs(item.Down)*this.BarMaxHeight/this.MaxValue;
45677
+ if (value<1.5) value=1.5;
45678
+ var y=yCenter+value;
45674
45679
  aryDownBar.push({X:x, Y:y});
45675
45680
  }
45676
45681
  }
@@ -45718,7 +45723,7 @@ function ChartBaseLineBar()
45718
45723
  for (var i=0;i<aryBar.length;++i)
45719
45724
  {
45720
45725
  var item=aryBar[i];
45721
- var x=ToFixedPoint(item.X)
45726
+ var x=ToFixedPoint(item.X);
45722
45727
  if (bHScreen)
45723
45728
  {
45724
45729
  this.Canvas.moveTo(yCenter,x);
@@ -95769,7 +95774,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
95769
95774
  this.RecvMinuteDataEvent( {FunctionName:"RecvHistoryMinuteData"} );
95770
95775
  this.RequestOverlayHistoryMinuteData();
95771
95776
 
95772
- this.BindAllOverlayIndexData(this.SourceData);
95777
+ this.BindAllOverlayIndexData(this.SourceData, { SyncExecute:false });
95773
95778
 
95774
95779
  this.AutoUpdateEvent(true, "MinuteChartContainer::RequestHistoryMinuteData");
95775
95780
  this.AutoUpdate();
@@ -95925,6 +95930,8 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
95925
95930
  }
95926
95931
  }
95927
95932
 
95933
+ this.BindAllOverlayIndexData(this.SourceData, { SyncExecute:true }); //同步模式脚本
95934
+
95928
95935
  this.Frame.SetSizeChage(true);
95929
95936
  this.Draw();
95930
95937
  }
@@ -96213,7 +96220,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
96213
96220
  this.UpdateHistoryMinuteUI(updateTime);
96214
96221
  this.RecvMinuteDataEvent({FunctionName:"RecvUpdateMinuteData"} );
96215
96222
  this.RequestOverlayMinuteData(); //请求叠加数据 (主数据下载完再下载)
96216
- this.BindAllOverlayIndexData(this.SourceData);
96223
+ this.BindAllOverlayIndexData(this.SourceData, { SyncExecute:false });
96217
96224
  this.AutoUpdateEvent(true, "MinuteChartContainer::RecvUpdateMinuteData");
96218
96225
  this.AutoUpdate();
96219
96226
  return;
@@ -96310,7 +96317,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
96310
96317
  this.UpdateHistoryMinuteUI(updateTime);
96311
96318
  this.RecvMinuteDataEvent({FunctionName:"RecvMinuteData"} );
96312
96319
  this.RequestOverlayMinuteData(); //请求叠加数据 (主数据下载完再下载)
96313
- this.BindAllOverlayIndexData(this.SourceData);
96320
+ this.BindAllOverlayIndexData(this.SourceData, { SyncExecute:false });
96314
96321
  this.AutoUpdateEvent(true, "MinuteChartContainer::RecvMinuteData");
96315
96322
  this.AutoUpdate();
96316
96323
  return;
@@ -96414,16 +96421,18 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
96414
96421
  var chartInfo=this.GetChartMinuteInfo();
96415
96422
  if (chartInfo) chartInfo.SourceData=this.SourceData; //数据绑定到信息地雷上
96416
96423
 
96424
+ this.BindAllOverlayIndexData(this.SourceData, { SyncExecute:true });
96425
+
96417
96426
  if (eventData) this.RecvMinuteDataEvent( eventData );
96418
96427
  this.RequestMinuteInfoData();
96419
- this.RequestOverlayMinuteData();//请求叠加数据 (主数据下载完再下载)
96428
+ this.RequestOverlayMinuteData(); //请求叠加数据 (主数据下载完再下载)
96420
96429
  this.CreateChartDrawPictureByStorage(); //创建画图工具
96421
96430
 
96422
96431
  this.UpdateFrameMaxMin(); //调整坐标最大 最小值
96423
96432
  this.Frame.SetSizeChage(true);
96424
96433
  this.Draw();
96425
96434
 
96426
- this.BindAllOverlayIndexData(this.SourceData);
96435
+ this.BindAllOverlayIndexData(this.SourceData, { SyncExecute:false });
96427
96436
  }
96428
96437
 
96429
96438
  this.CaclutateLimitPrice=function(yClose, limitData)
@@ -97331,6 +97340,21 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
97331
97340
 
97332
97341
  if (typeof(overlayItem.Script.ExecuteScript)=='function')
97333
97342
  {
97343
+ if (option)
97344
+ {
97345
+ if (option.CheckRunCount) //检测执行次数
97346
+ {
97347
+ if (overlayItem.Script.IsExcessRunCount())
97348
+ return;
97349
+ }
97350
+
97351
+ if (IFrameSplitOperator.IsBool(option.SyncExecute)) //异步|同步
97352
+ {
97353
+ if (overlayItem.Script.IsSync!=option.SyncExecute)
97354
+ return;
97355
+ }
97356
+ }
97357
+
97334
97358
  overlayItem.Script.ExecuteScript(this,windowIndex,hisData);
97335
97359
  return;
97336
97360
  }
@@ -161109,7 +161133,7 @@ function HQChartScriptWorker()
161109
161133
 
161110
161134
 
161111
161135
 
161112
- var HQCHART_VERSION="1.1.14845";
161136
+ var HQCHART_VERSION="1.1.14850";
161113
161137
 
161114
161138
  function PrintHQChartVersion()
161115
161139
  {