hqchart 1.1.12795 → 1.1.12798

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.
@@ -1628,7 +1628,8 @@ ON_RECV_REALTIME_DATA:109,//实时数据
1628
1628
  ON_CUSTOM_OVERLAY_TOOLBAR:110,//自定义叠加指标按钮
1629
1629
  //绘图之前的事件
1630
1630
  ON_BEFORE_DRAW:111,ON_BEFORE_DRAW_DYNAMIC_INFO:112,//自定义图形拖拽
1631
- ON_CUSTOM_DRAG_MOUSE_DOWN:113,ON_CUSTOM_DRAG_DOC_MOUSE_MOVE:114,ON_CUSTOM_DRAG_DOC_MOUSE_UP:115,ON_CUSTOM_DRAG_MOUSE_MOVE:116,ON_KEYDOWN:117,ON_CREATE_OVERLAY_FRAME:118//创建叠加框架回调
1631
+ ON_CUSTOM_DRAG_MOUSE_DOWN:113,ON_CUSTOM_DRAG_DOC_MOUSE_MOVE:114,ON_CUSTOM_DRAG_DOC_MOUSE_UP:115,ON_CUSTOM_DRAG_MOUSE_MOVE:116,ON_KEYDOWN:117,ON_CREATE_OVERLAY_FRAME:118,//创建叠加框架回调
1632
+ ON_CREATE_CUSTOM_Y_COORDINATE:119//自定义Y轴刻度
1632
1633
  };var JSCHART_OPERATOR_ID={OP_SCROLL_LEFT:1,//往左移动
1633
1634
  OP_SCROLL_RIGHT:2,//往右移动
1634
1635
  OP_ZOOM_OUT:3,//缩小
@@ -5031,7 +5032,8 @@ info.IsLast=pageInfo.IsLast;//是否是最后一个数据
5031
5032
  if(IFrameSplitOperator.IsNumber(option.LineType))info.LineType=option.LineType;info.Value=item.Value;var text=IFrameSplitOperator.FormatValueString(item.Value,floatPrecision,this.LanguageID);if(option.Position=='left')info.Message[0]=text;else info.Message[1]=text;if(!pageInfo.IsLast){var config={};if(!pageInfo.IsLast)config.EmptyBGColor=g_JSChartResource.FrameLatestPrice.EmptyBGColor;info.ExtendData={Custom:config};}if(event){var sendData={PreventDefault:false,Label:info,Data:item,IndexName:chart.IndexName,FrameID:this.Frame.Identify};event.Callback(event,sendData,this);if(sendData.PreventDefault)continue;}this.Frame.CustomHorizontalInfo.push(info);}}}};this.CustomLatestOverlayIndexDataCoordinate=function(option){var pageInfo=this.GetKLinePageInfo();//获取当前屏信息
5032
5033
  if(!pageInfo)return;if(!this.OverlayIndex)return;if(!IFrameSplitOperator.IsNonEmptyArray(this.OverlayIndex.ChartPaint))return;var event=null;if(this.GetEventCallback)event=this.GetEventCallback(JSCHART_EVENT_ID.ON_FORMAT_OVERLAY_INDEX_Y_LABEL);var endIndex=pageInfo.End.Index;var floatPrecision=2;if(IFrameSplitOperator.IsNumber(this.FloatPrecision))floatPrecision=this.FloatPrecision;for(var i=0,j=0;i<this.OverlayIndex.ChartPaint.length;++i){var chart=this.OverlayIndex.ChartPaint[i];if(!chart.ChartFrame)continue;if(!chart.GetItemData)continue;var aryItem=chart.GetItemData({Index:endIndex});if(!IFrameSplitOperator.IsNonEmptyArray(aryItem))continue;for(j=0;j<aryItem.length;++j){var item=aryItem[j];var info=new CoordinateInfo();info.Type=1;info.TextColor=g_JSChartResource.FrameLatestPrice.TextColor;info.LineColor=item.Color;info.LineType=-1;//默认不画线
5033
5034
  info.IsLast=pageInfo.IsLast;//是否是最后一个数据
5034
- if(IFrameSplitOperator.IsNumber(option.LineType))info.LineType=option.LineType;info.Value=item.Value;var text=IFrameSplitOperator.FormatValueString(item.Value,floatPrecision,this.LanguageID);if(option.Position=='left')info.Message[0]=text;else info.Message[1]=text;if(!pageInfo.IsLast){var config={};if(!pageInfo.IsLast)config.EmptyBGColor=g_JSChartResource.FrameLatestPrice.EmptyBGColor;info.ExtendData={Custom:config};}if(event){var sendData={PreventDefault:false,Label:info,Data:item,IndexName:chart.IndexName,OverlayIdentify:this.OverlayIndex.Identify};event.Callback(event,sendData,this);if(sendData.PreventDefault)continue;}this.Frame.CustomHorizontalInfo.push(info);}}};}//字符串格式化 千分位分割
5035
+ if(IFrameSplitOperator.IsNumber(option.LineType))info.LineType=option.LineType;info.Value=item.Value;var text=IFrameSplitOperator.FormatValueString(item.Value,floatPrecision,this.LanguageID);if(option.Position=='left')info.Message[0]=text;else info.Message[1]=text;if(!pageInfo.IsLast){var config={};if(!pageInfo.IsLast)config.EmptyBGColor=g_JSChartResource.FrameLatestPrice.EmptyBGColor;info.ExtendData={Custom:config};}if(event){var sendData={PreventDefault:false,Label:info,Data:item,IndexName:chart.IndexName,OverlayIdentify:this.OverlayIndex.Identify};event.Callback(event,sendData,this);if(sendData.PreventDefault)continue;}this.Frame.CustomHorizontalInfo.push(info);}}},//回调外部处理自定义Y轴刻度
5036
+ this.InvokeCustomYCoordinateCallback=function(){if(!this.GetEventCallback)return null;var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CREATE_CUSTOM_Y_COORDINATE);if(!event||!event.Callback)return null;var data={ID:this.Frame.Identify,Frame:this.Frame,PreventDefault:false,Custom:this.Custom};if(this.OverlayIdentify)data.OverlayIdentify=this.OverlayIdentify;event.Callback(event,data,this);return data;};}//字符串格式化 千分位分割
5035
5037
  IFrameSplitOperator.FormatValueThousandsString=function(value,floatPrecision){if(value==null||isNaN(value)){if(floatPrecision>0){var nullText='-.';for(var i=0;i<floatPrecision;++i){nullText+='-';}return nullText;}return'--';}var result='';var num=value.toFixed(floatPrecision);if(floatPrecision>0){var numFloat=num.split('.')[1];var numM=num.split('.')[0];while(numM.length>3){result=','+numM.slice(-3)+result;numM=numM.slice(0,numM.length-3);}if(numM){result=numM+result+'.'+numFloat;}}else{while(num.length>3){result=','+num.slice(-3)+result;num=num.slice(0,num.length-3);}if(num){result=num+result;}}return result;};//数据输出格式化 floatPrecision=小数位数
5036
5038
  IFrameSplitOperator.FormatValueString=function(value,floatPrecision,languageID){/*
5037
5039
  if (value==null || isNaN(value))
@@ -5164,7 +5166,7 @@ this.Frame.HorizontalInfo.splice(0,0,item);}this.Frame.Logarithmic={Up:aryUp,Dow
5164
5166
  if(!isFixedMaxMin)this.IntegerCoordinateSplit(splitData);this.Frame.HorizontalInfo=[];for(var i=0,value=splitData.Min;i<splitData.Count;++i,value+=splitData.Interval){this.Frame.HorizontalInfo[i]=new CoordinateInfo();this.Frame.HorizontalInfo[i].Value=value;if(this.IsShowLeftText)this.Frame.HorizontalInfo[i].Message[0]=value.toFixed(floatPrecision);if(this.IsShowRightText)this.Frame.HorizontalInfo[i].Message[1]=value.toFixed(floatPrecision);}};this.SplitFixed=function(splitData,floatPrecision)//固定分割坐标
5165
5167
  {this.Frame.HorizontalInfo=[];for(var i=0,value=splitData.Min;i<splitData.Count;++i,value+=splitData.Interval){this.Frame.HorizontalInfo[i]=new CoordinateInfo();this.Frame.HorizontalInfo[i].Value=value;if(this.IsShowLeftText)this.Frame.HorizontalInfo[i].Message[0]=value.toFixed(floatPrecision);if(this.IsShowRightText)this.Frame.HorizontalInfo[i].Message[1]=value.toFixed(floatPrecision);}};this.SplitFixedV2=function(splitData,floatPrecision)//固定分割坐标
5166
5168
  {this.Frame.HorizontalInfo=[];for(var i=0,value=splitData.Min;i<splitData.Count;++i,value+=splitData.Interval){this.Frame.HorizontalInfo[i]=new CoordinateInfo();this.Frame.HorizontalInfo[i].Value=value;if(this.IsShowLeftText)this.Frame.HorizontalInfo[i].Message[0]=value.toFixed(floatPrecision);if(this.IsShowRightText)this.Frame.HorizontalInfo[i].Message[1]=value.toFixed(floatPrecision);}if(!splitData.IsFixedMaxMin)//缩放不需要调整大小
5167
- {if(floatPrecision==0){splitData.Max+=1;splitData.Min-=1;}else if(floatPrecision==1){splitData.Max+=0.1;splitData.Min-=0.1;}else if(floatPrecision==2){splitData.Max+=0.01;splitData.Min-=0.01;}}};this.CustomCoordinate=function(floatPrecision){this.Frame.CustomHorizontalInfo=[];var lastCoordinate,pageLastCoordinate;for(var i=0;i<this.Custom.length;++i){var item=this.Custom[i];if(item.Type==JSCHART_CUSTOM_YCOORDINATE_ID.LATEST_VALUE_ID||item.Type==JSCHART_CUSTOM_YCOORDINATE_ID.PAGE_DATA_INCREASE||item.Type==JSCHART_CUSTOM_YCOORDINATE_ID.PAGE_LAST_PRICE_ID){var dec=floatPrecision;//外部设置小数位数
5169
+ {if(floatPrecision==0){splitData.Max+=1;splitData.Min-=1;}else if(floatPrecision==1){splitData.Max+=0.1;splitData.Min-=0.1;}else if(floatPrecision==2){splitData.Max+=0.01;splitData.Min-=0.01;}}};this.CustomCoordinate=function(floatPrecision){this.Frame.CustomHorizontalInfo=[];var data=this.InvokeCustomYCoordinateCallback();if(data&&data.PreventDefault==true)return;var lastCoordinate,pageLastCoordinate;for(var i=0;i<this.Custom.length;++i){var item=this.Custom[i];if(item.Type==JSCHART_CUSTOM_YCOORDINATE_ID.LATEST_VALUE_ID||item.Type==JSCHART_CUSTOM_YCOORDINATE_ID.PAGE_DATA_INCREASE||item.Type==JSCHART_CUSTOM_YCOORDINATE_ID.PAGE_LAST_PRICE_ID){var dec=floatPrecision;//外部设置小数位数
5168
5170
  if(IFrameSplitOperator.IsNumber(item.FloatPrecision)&&item.FloatPrecision>=0)dec=item.FloatPrecision;var latestItem=this.GetLatestPrice(dec,item);if(latestItem){if(item.Type==JSCHART_CUSTOM_YCOORDINATE_ID.LATEST_VALUE_ID)lastCoordinate=latestItem;else if(item.Type==JSCHART_CUSTOM_YCOORDINATE_ID.PAGE_LAST_PRICE_ID)pageLastCoordinate=latestItem;else this.Frame.CustomHorizontalInfo.push(latestItem);}}else if(item.Type==JSCHART_CUSTOM_YCOORDINATE_ID.FIXED_VALUE_ID)//固定刻度
5169
5171
  {this.CustomFixedCoordinate(item);}else if(item.Type==JSCHART_CUSTOM_YCOORDINATE_ID.PAGE_LAST_INDEX_VALUE_ID)//当前屏指标最后一个数据
5170
5172
  {this.CustomLatestIndexDataCoordinate(item);}}//当前页最后一个数据和最新数据刻度如果相同,只显示一个
@@ -5208,7 +5210,7 @@ coordinate.Message[1]=IFrameSplitOperator.FormatValueString(value,floatPrecision
5208
5210
  {var floatPrecision=this.FloatPrecision;if(IFrameSplitOperator.IsNumber(value)&&Math.abs(value)>1000)floatPrecision=0;text=IFrameSplitOperator.FormatValueString(value,floatPrecision,this.LanguageID);}else{var absValue=Math.abs(value);if(absValue<0.0000000001){text=0;}else if(absValue<this.FLOATPRECISION_RANGE[this.FLOATPRECISION_RANGE.length-1]){text=value.toExponential(2).toString();}else{var floatPrecision=this.GetFloatPrecision(absValue,this.FloatPrecision);//数据比小数位数还小, 调整小数位数
5209
5211
  text=IFrameSplitOperator.FormatValueString(value,floatPrecision,this.LanguageID);}}return text;};this.FilterIgnoreYValue=function(){if(!this.IgnoreYValue||this.IgnoreYValue.length<=0)return;var setValue=new _set2.default(this.IgnoreYValue);this.Frame.HorizontalInfo=this.Frame.HorizontalInfo.filter(function(item){return!setValue.has(item.Value);});};this.DynamicMessageText=function(){if(this.SplitType==2){for(var i=0;i<this.Frame.HorizontalInfo.length;++i){var item=this.Frame.HorizontalInfo[i];if(item.Message[0])item.Message[0]+='%';if(item.Message[1])item.Message[1]+='%';}}};this.CallAcutionSplitY=function(count,splitData){if(this.Frame.Identify!=1)return null;var aryCallAcution=this.GetCallAcutionSplitY(count,splitData);if(!aryCallAcution)return;for(var i=0;i<this.Frame.HorizontalInfo.length;++i)//把显示的数据迁移到 Message[2] Message[3]
5210
5212
  {var item=this.Frame.HorizontalInfo[i];if(aryCallAcution.IsBeforeData){item.Message[2]=item.Message[0];item.Message[0]=null;}if(aryCallAcution.IsAfterData&&(this.ShareAfterVol==0||this.ShareAfterVol==2)){item.Message[3]=item.Message[1];item.Message[1]=null;}}//集合竞价的坐标插入最后
5211
- for(var i=0;i<aryCallAcution.HorizontalInfo.length;++i){var item=aryCallAcution.HorizontalInfo[i];this.Frame.HorizontalInfo.push(item);}};this.GetCallAcutionSplitY=function(count,splitData){if(this.Frame.Identify!=1)return null;var isBeforeData=this.IsBeforeData==true&&this.BeforeOpenData&&(this.BeforeOpenData.Ver==2.0||this.BeforeOpenData.Ver==3.0);var isAfterData=this.IsAfterData==true&&this.AfterCloseData&&(this.AfterCloseData.Ver==2.0||this.AfterCloseData.Ver==3.0);if(isBeforeData||isAfterData){var intervalY=(splitData.Max-splitData.Min)/(count-1);if(isBeforeData)var intervalLeft=(this.BeforeOpenData.VolMax-this.BeforeOpenData.VolMin)/(count-1);if(isAfterData)var intervalRight=(this.AfterCloseData.VolMax-this.AfterCloseData.VolMin)/(count-1);var aryHorizontalInfo=[];for(var i=0;i<count;++i){var item=new CoordinateInfo();var yValue=intervalY*i;item.Value=yValue;item.LineType=8;if(isBeforeData){var leftValue=intervalLeft*i;item.Message[0]=this.FormatValueString(leftValue);}if(isAfterData&&(this.ShareAfterVol==0||this.ShareAfterVol==2)){var rightValue=intervalRight*i;item.Message[1]=this.FormatValueString(rightValue);}aryHorizontalInfo.push(item);}return{HorizontalInfo:aryHorizontalInfo,IsBeforeData:isBeforeData,IsAfterData:isAfterData};}var isMultiDayBeforeData=false;var intervalLeft=null;if(this.MultiDayBeforeOpenData&&IFrameSplitOperator.IsNonEmptyArray(this.MultiDayBeforeOpenData)){isMultiDayBeforeData=true;var firstDayData=this.MultiDayBeforeOpenData[0];if(firstDayData.Ver==2.0||firstDayData.Ver==3.0){var intervalLeft=(firstDayData.VolMax-firstDayData.VolMin)/(count-1);}}var isMultiDayAfterData=false;var intervalRight=null;if(this.MultiDayAfterCloseData&&IFrameSplitOperator.IsNonEmptyArray(this.MultiDayAfterCloseData)){isMultiDayAfterData=true;var firstDayData=this.MultiDayAfterCloseData[0];if(firstDayData.Ver==2.0||firstDayData.Ver==3.0){var intervalRight=(firstDayData.VolMax-firstDayData.VolMin)/(count-1);}}if(isMultiDayBeforeData||isMultiDayAfterData){var intervalY=(splitData.Max-splitData.Min)/(count-1);var aryHorizontalInfo=[];for(var i=0;i<count;++i){var item=new CoordinateInfo();var yValue=intervalY*i;item.Value=yValue;item.LineType=9;var isVaild=false;if(intervalLeft!=null){var leftValue=intervalLeft*i;item.Message[0]=this.FormatValueString(leftValue);isVaild=true;}if(intervalRight!=null&&(this.ShareAfterVol==0||this.ShareAfterVol==2)){var rightValue=intervalRight*i;item.Message[1]=this.FormatValueString(rightValue);isVaild=true;}if(isVaild)aryHorizontalInfo.push(item);}if(IFrameSplitOperator.IsNonEmptyArray(aryHorizontalInfo))return{HorizontalInfo:aryHorizontalInfo,IsBeforeData:isMultiDayBeforeData,IsAfterData:isMultiDayAfterData};}return null;};this.RightFrameSplitY=function(){if(!this.Frame.RightFrame)return;var rightFrame=this.Frame.RightFrame;if(rightFrame.YSplitOperator)rightFrame.YSplitOperator.Operator();for(var i=0;i<this.Frame.HorizontalInfo.length;++i){var item=this.Frame.HorizontalInfo[i];var y=this.Frame.GetYFromData(item.Value);var yValue=rightFrame.GetYData(y);item.Message[1]=IFrameSplitOperator.FormatValueString(yValue,this.FloatPrecision,this.LanguageID);}};this.CustomCoordinate=function(){this.Frame.CustomHorizontalInfo=[];if(!IFrameSplitOperator.IsNonEmptyArray(this.Custom))return;for(var i=0;i<this.Custom.length;++i){var item=this.Custom[i];if(item.Type==JSCHART_CUSTOM_YCOORDINATE_ID.PAGE_LAST_INDEX_VALUE_ID)//当前屏最后一个数据
5213
+ for(var i=0;i<aryCallAcution.HorizontalInfo.length;++i){var item=aryCallAcution.HorizontalInfo[i];this.Frame.HorizontalInfo.push(item);}};this.GetCallAcutionSplitY=function(count,splitData){if(this.Frame.Identify!=1)return null;var isBeforeData=this.IsBeforeData==true&&this.BeforeOpenData&&(this.BeforeOpenData.Ver==2.0||this.BeforeOpenData.Ver==3.0);var isAfterData=this.IsAfterData==true&&this.AfterCloseData&&(this.AfterCloseData.Ver==2.0||this.AfterCloseData.Ver==3.0);if(isBeforeData||isAfterData){var intervalY=(splitData.Max-splitData.Min)/(count-1);if(isBeforeData)var intervalLeft=(this.BeforeOpenData.VolMax-this.BeforeOpenData.VolMin)/(count-1);if(isAfterData)var intervalRight=(this.AfterCloseData.VolMax-this.AfterCloseData.VolMin)/(count-1);var aryHorizontalInfo=[];for(var i=0;i<count;++i){var item=new CoordinateInfo();var yValue=intervalY*i;item.Value=yValue;item.LineType=8;if(isBeforeData){var leftValue=intervalLeft*i;item.Message[0]=this.FormatValueString(leftValue);}if(isAfterData&&(this.ShareAfterVol==0||this.ShareAfterVol==2)){var rightValue=intervalRight*i;item.Message[1]=this.FormatValueString(rightValue);}aryHorizontalInfo.push(item);}return{HorizontalInfo:aryHorizontalInfo,IsBeforeData:isBeforeData,IsAfterData:isAfterData};}var isMultiDayBeforeData=false;var intervalLeft=null;if(this.MultiDayBeforeOpenData&&IFrameSplitOperator.IsNonEmptyArray(this.MultiDayBeforeOpenData)){isMultiDayBeforeData=true;var firstDayData=this.MultiDayBeforeOpenData[0];if(firstDayData.Ver==2.0||firstDayData.Ver==3.0){var intervalLeft=(firstDayData.VolMax-firstDayData.VolMin)/(count-1);}}var isMultiDayAfterData=false;var intervalRight=null;if(this.MultiDayAfterCloseData&&IFrameSplitOperator.IsNonEmptyArray(this.MultiDayAfterCloseData)){isMultiDayAfterData=true;var firstDayData=this.MultiDayAfterCloseData[0];if(firstDayData.Ver==2.0||firstDayData.Ver==3.0){var intervalRight=(firstDayData.VolMax-firstDayData.VolMin)/(count-1);}}if(isMultiDayBeforeData||isMultiDayAfterData){var intervalY=(splitData.Max-splitData.Min)/(count-1);var aryHorizontalInfo=[];for(var i=0;i<count;++i){var item=new CoordinateInfo();var yValue=intervalY*i;item.Value=yValue;item.LineType=9;var isVaild=false;if(intervalLeft!=null){var leftValue=intervalLeft*i;item.Message[0]=this.FormatValueString(leftValue);isVaild=true;}if(intervalRight!=null&&(this.ShareAfterVol==0||this.ShareAfterVol==2)){var rightValue=intervalRight*i;item.Message[1]=this.FormatValueString(rightValue);isVaild=true;}if(isVaild)aryHorizontalInfo.push(item);}if(IFrameSplitOperator.IsNonEmptyArray(aryHorizontalInfo))return{HorizontalInfo:aryHorizontalInfo,IsBeforeData:isMultiDayBeforeData,IsAfterData:isMultiDayAfterData};}return null;};this.RightFrameSplitY=function(){if(!this.Frame.RightFrame)return;var rightFrame=this.Frame.RightFrame;if(rightFrame.YSplitOperator)rightFrame.YSplitOperator.Operator();for(var i=0;i<this.Frame.HorizontalInfo.length;++i){var item=this.Frame.HorizontalInfo[i];var y=this.Frame.GetYFromData(item.Value);var yValue=rightFrame.GetYData(y);item.Message[1]=IFrameSplitOperator.FormatValueString(yValue,this.FloatPrecision,this.LanguageID);}};this.CustomCoordinate=function(){this.Frame.CustomHorizontalInfo=[];var data=this.InvokeCustomYCoordinateCallback();if(data&&data.PreventDefault==true)return;if(!IFrameSplitOperator.IsNonEmptyArray(this.Custom))return;for(var i=0;i<this.Custom.length;++i){var item=this.Custom[i];if(item.Type==JSCHART_CUSTOM_YCOORDINATE_ID.PAGE_LAST_INDEX_VALUE_ID)//当前屏最后一个数据
5212
5214
  {this.CustomLatestIndexDataCoordinate(item);}else if(item.Type==JSCHART_CUSTOM_YCOORDINATE_ID.FIXED_VALUE_ID)//自定义刻度
5213
5215
  {this.CustomFixedCoordinate(item);}else if(item.Type==JSCHART_CUSTOM_YCOORDINATE_ID.PAGE_LAST_OVERLAY_INDEX_VALUE_ID)//叠加指标当前屏最后一个数据
5214
5216
  {this.CustomLatestOverlayIndexDataCoordinate(item);}}};this.CustomFixedCoordinate=function(option)//固定坐标刻度
@@ -5240,7 +5242,7 @@ this.DefaultSplitType=0;this.LimitPrice;//{Max: Min:} 涨跌停价
5240
5242
  this.Custom;this.RightTextFormat=0;//右边刻度显示模式 0=百分比 1=价格
5241
5243
  this.BeforeOpenData;this.IsBeforeData=false;this.AfterCloseData;this.IsAfterData=false;this.MultiDayBeforeOpenData;this.MultiDayAfterCloseData;this.DayOffset;this.AverageData;//均线
5242
5244
  this.DayCount=1;this.GlobalOption;this.HQChart;this.IsEnableDragY=function(){return false;};this.Operator=function(){this.Frame.HorizontalInfo=[];this.Frame.CustomHorizontalInfo=[];if(!this.Data)return;var range=this.GetMaxMin();if(this.Symbol&&MARKET_SUFFIX_NAME.IsUSA(this.Symbol.toUpperCase())){this.USASplit(range);}else if(this.SplitType==2){this.USASplit(range);}else{this.DefaultSplit(range);}this.CustomCoordinate();if(this.GetEventCallback){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_SPLIT_YCOORDINATE);if(event&&event.Callback){var data={ID:this.Frame.Identify,Frame:this.Frame};event.Callback(event,data,this);}}};this.CustomCoordinate=function()//自定义刻度
5243
- {if(!this.Custom)return;var defaultfloatPrecision=GetfloatPrecision(this.Symbol);for(var i in this.Custom){var item=this.Custom[i];if(item.Type==1)this.CustomFixedCoordinate(item);else if(item.Type==0){var latestItem=this.GetLatestPrice(defaultfloatPrecision,item);if(latestItem)this.Frame.CustomHorizontalInfo.push(latestItem);}}};this.GetLatestPrice=function(floatPrecision,option){if(!this.Data||!this.Data.Data)return null;if(this.Data.Data.length<=0)return null;var price=this.Data.Data[this.Data.Data.length-1];if(!IFrameSplitOperator.IsNumber(price)||!IFrameSplitOperator.IsNumber(this.YClose))return null;var info=new CoordinateInfo();info.Type=0;info.Value=price;info.TextColor=g_JSChartResource.FrameLatestPrice.TextColor;info.LineType=2;//虚线
5245
+ {var data=this.InvokeCustomYCoordinateCallback();if(data&&data.PreventDefault==true)return;if(!this.Custom)return;var defaultfloatPrecision=GetfloatPrecision(this.Symbol);for(var i in this.Custom){var item=this.Custom[i];if(item.Type==1)this.CustomFixedCoordinate(item);else if(item.Type==0){var latestItem=this.GetLatestPrice(defaultfloatPrecision,item);if(latestItem)this.Frame.CustomHorizontalInfo.push(latestItem);}}};this.GetLatestPrice=function(floatPrecision,option){if(!this.Data||!this.Data.Data)return null;if(this.Data.Data.length<=0)return null;var price=this.Data.Data[this.Data.Data.length-1];if(!IFrameSplitOperator.IsNumber(price)||!IFrameSplitOperator.IsNumber(this.YClose))return null;var info=new CoordinateInfo();info.Type=0;info.Value=price;info.TextColor=g_JSChartResource.FrameLatestPrice.TextColor;info.LineType=2;//虚线
5244
5246
  var strPrice=price.toFixed(floatPrecision);if(option.DateTime=='HH:MM'){var latestItem=this.Frame.Data.Data[this.Frame.Data.Data.length-1];var strTime=IFrameSplitOperator.FormatTimeString(latestItem.Time,option.DateTime);var aryText=[{Text:strPrice},{Text:strTime}];if(option.Position=='left')info.Message[0]=aryText;else info.Message[1]=aryText;}else{if(option.Position=='left')info.Message[0]=strPrice;else info.Message[1]=strPrice;}if(price>this.YClose)info.LineColor=g_JSChartResource.FrameLatestPrice.UpBarColor;else if(price<this.YClose)info.LineColor=g_JSChartResource.FrameLatestPrice.DownBarColor;else info.LineColor=g_JSChartResource.FrameLatestPrice.UnchagneBarColor;if(IFrameSplitOperator.IsNumber(option.LineType))info.LineType=option.LineType;if(IFrameSplitOperator.IsPlusNumber(option.LineWidth))info.LineWidth=option.LineWidth;if(option.LineDash)info.LineDash=option.LineDash;if(option.IsShowLine==false)info.LineType=-1;if(option.PositionEx===1)info.ExtendData={Custom:{Position:1}};//强制画在内部
5245
5247
  return info;};this.CustomFixedCoordinate=function(option)//固定坐标刻度
5246
5248
  {var defaultfloatPrecision=GetfloatPrecision(this.Symbol);for(var i=0;i<option.Data.length;++i){var item=option.Data[i];var info=new CoordinateInfo();info.Type=1;info.TextColor=item.TextColor;info.LineColor=item.Color;info.LineType=2;//虚线
@@ -11612,7 +11614,7 @@ if(lockData.BG)this.LockBG=lockData.BG;if(lockData.TextColor)this.LockTextColor=
11612
11614
  this.IsLocked=false;//是否锁住指标
11613
11615
  this.LockCallback=null;this.LockID=null;this.LockBG=null;//锁背景色
11614
11616
  this.LockTextColor=null;this.LockText=null;this.LockFont=null;this.LockCount=20;}};//是否超出执行的最大次数
11615
- this.IsExcessRunCount=function(){if(this.MaxRunCount<=0)return false;//没有限制
11617
+ this.IsExcessRunCount=function(){if(this.MaxRunCount<0)return false;//没有限制
11616
11618
  return this.RunCount>=this.MaxRunCount;};this.ExecuteScript=function(hqChart,windowIndex,hisData){this.OutVar=[];var self=this;var param={HQChart:hqChart,WindowIndex:windowIndex,HistoryData:hisData,Self:this};//数据类型
11617
11619
  var hqDataType=HQ_DATA_TYPE.KLINE_ID;//默认K线
11618
11620
  if(hqChart.ClassName==='MinuteChartContainer'||hqChart.ClassName==='MinuteChartHScreenContainer'){if(hqChart.DayCount>1)hqDataType=HQ_DATA_TYPE.MULTIDAY_MINUTE_ID;//多日分钟
@@ -13007,7 +13009,7 @@ hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,St
13007
13009
  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);};}/********************************************************************************
13008
13010
  * 版本信息输出
13009
13011
  *
13010
- */var HQCHART_VERSION="1.1.12794";function PrintHQChartVersion(){var log='*************************************************************************************************************\n*\n* HQChart Ver: '+HQCHART_VERSION+' \n* \n* License: Apache License 2.0 \n* Source: https://github.com/jones2000/HQChart\n*\n*************************************************************************************************************\n';console.log(log);}PrintHQChartVersion();//把给外界调用的方法暴露出来
13012
+ */var HQCHART_VERSION="1.1.12797";function PrintHQChartVersion(){var log='*************************************************************************************************************\n*\n* HQChart Ver: '+HQCHART_VERSION+' \n* \n* License: Apache License 2.0 \n* Source: https://github.com/jones2000/HQChart\n*\n*************************************************************************************************************\n';console.log(log);}PrintHQChartVersion();//把给外界调用的方法暴露出来
13011
13013
  exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
13012
13014
  // BaseIndex:BaseIndex,
13013
13015
  // ChartLine:ChartLine,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hqchart",
3
- "version": "1.1.12795",
3
+ "version": "1.1.12798",
4
4
  "description": "stock chart",
5
5
  "main": "lib/main.js",
6
6
  "scripts": {
@@ -19500,7 +19500,7 @@ function ScriptIndex(name,script,args,option)
19500
19500
  //是否超出执行的最大次数
19501
19501
  this.IsExcessRunCount=function()
19502
19502
  {
19503
- if (this.MaxRunCount<=0) return false; //没有限制
19503
+ if (this.MaxRunCount<0) return false; //没有限制
19504
19504
 
19505
19505
  return this.RunCount>=this.MaxRunCount;
19506
19506
  }
@@ -2548,6 +2548,8 @@ var JSCHART_EVENT_ID=
2548
2548
  ON_KEYDOWN:117,
2549
2549
 
2550
2550
  ON_CREATE_OVERLAY_FRAME:118, //创建叠加框架回调
2551
+
2552
+ ON_CREATE_CUSTOM_Y_COORDINATE:119, //自定义Y轴刻度
2551
2553
  }
2552
2554
 
2553
2555
  var JSCHART_OPERATOR_ID=
@@ -43276,130 +43278,144 @@ function IFrameSplitOperator()
43276
43278
  return result;
43277
43279
  }
43278
43280
 
43279
- //当前屏最新指标数据
43280
- this.CustomLatestIndexDataCoordinate=function(option)
43281
- {
43282
- var pageInfo=this.GetKLinePageInfo(); //获取当前屏信息
43283
- if (!pageInfo) return;
43284
- if (!this.HQChart) return;
43285
-
43286
- var event=null;
43287
- if (this.GetEventCallback)
43288
- event=this.GetEventCallback(JSCHART_EVENT_ID.ON_FORMAT_INDEX_Y_LABEL);
43289
-
43290
- var endIndex=pageInfo.End.Index;
43291
- var floatPrecision=2;
43292
- if (IFrameSplitOperator.IsNumber(this.FloatPrecision)) floatPrecision=this.FloatPrecision;
43293
- for(var i=0, j=0;i<this.HQChart.ChartPaint.length;++i)
43294
- {
43295
- var chart=this.HQChart.ChartPaint[i];
43296
- if (!chart.ChartFrame) continue;
43297
- if (!chart.GetItemData) continue;
43298
- if (chart.ChartFrame.Identify==this.Frame.Identify || chart.ChartFrame==this.Frame)
43299
- {
43300
- var aryItem=chart.GetItemData( {Index:endIndex} );
43301
- if (!IFrameSplitOperator.IsNonEmptyArray(aryItem)) continue;
43302
-
43303
- for(j=0; j<aryItem.length; ++j)
43304
- {
43305
- var item=aryItem[j];
43306
-
43307
- var info=new CoordinateInfo();
43308
- info.Type=1;
43309
- info.TextColor=g_JSChartResource.FrameLatestPrice.TextColor;
43310
- info.LineColor=item.Color;
43311
- info.LineType=-1; //默认不画线
43312
- info.IsLast=pageInfo.IsLast;//是否是最后一个数据
43313
- if (IFrameSplitOperator.IsNumber(option.LineType)) info.LineType=option.LineType;
43314
-
43315
- info.Value=item.Value;
43316
- var text=IFrameSplitOperator.FormatValueString(item.Value, floatPrecision,this.LanguageID);
43317
-
43318
- if (option.Position=='left') info.Message[0]=text;
43319
- else info.Message[1]=text;
43320
-
43321
- if (!pageInfo.IsLast)
43322
- {
43323
- var config={};
43324
- if (!pageInfo.IsLast) config.EmptyBGColor=g_JSChartResource.FrameLatestPrice.EmptyBGColor;
43325
-
43326
- info.ExtendData={ Custom:config };
43327
- }
43328
-
43329
- if (event)
43330
- {
43331
- var sendData={ PreventDefault:false, Label:info, Data:item, IndexName:chart.IndexName, FrameID:this.Frame.Identify };
43332
- event.Callback(event,sendData,this);
43333
-
43334
- if (sendData.PreventDefault) continue;
43335
- }
43336
-
43337
- this.Frame.CustomHorizontalInfo.push(info);
43338
- }
43339
- }
43340
- }
43341
- }
43342
-
43343
- this.CustomLatestOverlayIndexDataCoordinate=function(option)
43344
- {
43281
+ //当前屏最新指标数据
43282
+ this.CustomLatestIndexDataCoordinate=function(option)
43283
+ {
43345
43284
  var pageInfo=this.GetKLinePageInfo(); //获取当前屏信息
43346
43285
  if (!pageInfo) return;
43347
- if (!this.OverlayIndex) return;
43348
- if (!IFrameSplitOperator.IsNonEmptyArray(this.OverlayIndex.ChartPaint)) return;
43286
+ if (!this.HQChart) return;
43349
43287
 
43350
43288
  var event=null;
43351
43289
  if (this.GetEventCallback)
43352
- event=this.GetEventCallback(JSCHART_EVENT_ID.ON_FORMAT_OVERLAY_INDEX_Y_LABEL);
43290
+ event=this.GetEventCallback(JSCHART_EVENT_ID.ON_FORMAT_INDEX_Y_LABEL);
43353
43291
 
43354
43292
  var endIndex=pageInfo.End.Index;
43355
43293
  var floatPrecision=2;
43356
43294
  if (IFrameSplitOperator.IsNumber(this.FloatPrecision)) floatPrecision=this.FloatPrecision;
43357
-
43358
- for(var i=0, j=0;i<this.OverlayIndex.ChartPaint.length;++i)
43295
+ for(var i=0, j=0;i<this.HQChart.ChartPaint.length;++i)
43359
43296
  {
43360
- var chart=this.OverlayIndex.ChartPaint[i];
43297
+ var chart=this.HQChart.ChartPaint[i];
43361
43298
  if (!chart.ChartFrame) continue;
43362
43299
  if (!chart.GetItemData) continue;
43363
-
43364
- var aryItem=chart.GetItemData( {Index:endIndex} );
43365
- if (!IFrameSplitOperator.IsNonEmptyArray(aryItem)) continue;
43366
- for(j=0; j<aryItem.length; ++j)
43300
+ if (chart.ChartFrame.Identify==this.Frame.Identify || chart.ChartFrame==this.Frame)
43367
43301
  {
43368
- var item=aryItem[j];
43369
- var info=new CoordinateInfo();
43370
- info.Type=1;
43371
- info.TextColor=g_JSChartResource.FrameLatestPrice.TextColor;
43372
- info.LineColor=item.Color;
43373
- info.LineType=-1; //默认不画线
43374
- info.IsLast=pageInfo.IsLast;//是否是最后一个数据
43375
- if (IFrameSplitOperator.IsNumber(option.LineType)) info.LineType=option.LineType;
43302
+ var aryItem=chart.GetItemData( {Index:endIndex} );
43303
+ if (!IFrameSplitOperator.IsNonEmptyArray(aryItem)) continue;
43376
43304
 
43377
- info.Value=item.Value;
43378
- var text=IFrameSplitOperator.FormatValueString(item.Value, floatPrecision,this.LanguageID);
43305
+ for(j=0; j<aryItem.length; ++j)
43306
+ {
43307
+ var item=aryItem[j];
43379
43308
 
43380
- if (option.Position=='left') info.Message[0]=text;
43381
- else info.Message[1]=text;
43309
+ var info=new CoordinateInfo();
43310
+ info.Type=1;
43311
+ info.TextColor=g_JSChartResource.FrameLatestPrice.TextColor;
43312
+ info.LineColor=item.Color;
43313
+ info.LineType=-1; //默认不画线
43314
+ info.IsLast=pageInfo.IsLast;//是否是最后一个数据
43315
+ if (IFrameSplitOperator.IsNumber(option.LineType)) info.LineType=option.LineType;
43316
+
43317
+ info.Value=item.Value;
43318
+ var text=IFrameSplitOperator.FormatValueString(item.Value, floatPrecision,this.LanguageID);
43382
43319
 
43383
- if (!pageInfo.IsLast)
43384
- {
43385
- var config={};
43386
- if (!pageInfo.IsLast) config.EmptyBGColor=g_JSChartResource.FrameLatestPrice.EmptyBGColor;
43320
+ if (option.Position=='left') info.Message[0]=text;
43321
+ else info.Message[1]=text;
43387
43322
 
43388
- info.ExtendData={ Custom:config };
43389
- }
43323
+ if (!pageInfo.IsLast)
43324
+ {
43325
+ var config={};
43326
+ if (!pageInfo.IsLast) config.EmptyBGColor=g_JSChartResource.FrameLatestPrice.EmptyBGColor;
43390
43327
 
43391
- if (event)
43392
- {
43393
- var sendData={ PreventDefault:false, Label:info, Data:item, IndexName:chart.IndexName, OverlayIdentify:this.OverlayIndex.Identify };
43394
- event.Callback(event,sendData,this);
43328
+ info.ExtendData={ Custom:config };
43329
+ }
43330
+
43331
+ if (event)
43332
+ {
43333
+ var sendData={ PreventDefault:false, Label:info, Data:item, IndexName:chart.IndexName, FrameID:this.Frame.Identify };
43334
+ event.Callback(event,sendData,this);
43395
43335
 
43396
- if (sendData.PreventDefault) continue;
43336
+ if (sendData.PreventDefault) continue;
43337
+ }
43338
+
43339
+ this.Frame.CustomHorizontalInfo.push(info);
43397
43340
  }
43398
-
43399
- this.Frame.CustomHorizontalInfo.push(info);
43400
43341
  }
43401
43342
  }
43402
- }
43343
+ }
43344
+
43345
+ this.CustomLatestOverlayIndexDataCoordinate=function(option)
43346
+ {
43347
+ var pageInfo=this.GetKLinePageInfo(); //获取当前屏信息
43348
+ if (!pageInfo) return;
43349
+ if (!this.OverlayIndex) return;
43350
+ if (!IFrameSplitOperator.IsNonEmptyArray(this.OverlayIndex.ChartPaint)) return;
43351
+
43352
+ var event=null;
43353
+ if (this.GetEventCallback)
43354
+ event=this.GetEventCallback(JSCHART_EVENT_ID.ON_FORMAT_OVERLAY_INDEX_Y_LABEL);
43355
+
43356
+ var endIndex=pageInfo.End.Index;
43357
+ var floatPrecision=2;
43358
+ if (IFrameSplitOperator.IsNumber(this.FloatPrecision)) floatPrecision=this.FloatPrecision;
43359
+
43360
+ for(var i=0, j=0;i<this.OverlayIndex.ChartPaint.length;++i)
43361
+ {
43362
+ var chart=this.OverlayIndex.ChartPaint[i];
43363
+ if (!chart.ChartFrame) continue;
43364
+ if (!chart.GetItemData) continue;
43365
+
43366
+ var aryItem=chart.GetItemData( {Index:endIndex} );
43367
+ if (!IFrameSplitOperator.IsNonEmptyArray(aryItem)) continue;
43368
+ for(j=0; j<aryItem.length; ++j)
43369
+ {
43370
+ var item=aryItem[j];
43371
+ var info=new CoordinateInfo();
43372
+ info.Type=1;
43373
+ info.TextColor=g_JSChartResource.FrameLatestPrice.TextColor;
43374
+ info.LineColor=item.Color;
43375
+ info.LineType=-1; //默认不画线
43376
+ info.IsLast=pageInfo.IsLast;//是否是最后一个数据
43377
+ if (IFrameSplitOperator.IsNumber(option.LineType)) info.LineType=option.LineType;
43378
+
43379
+ info.Value=item.Value;
43380
+ var text=IFrameSplitOperator.FormatValueString(item.Value, floatPrecision,this.LanguageID);
43381
+
43382
+ if (option.Position=='left') info.Message[0]=text;
43383
+ else info.Message[1]=text;
43384
+
43385
+ if (!pageInfo.IsLast)
43386
+ {
43387
+ var config={};
43388
+ if (!pageInfo.IsLast) config.EmptyBGColor=g_JSChartResource.FrameLatestPrice.EmptyBGColor;
43389
+
43390
+ info.ExtendData={ Custom:config };
43391
+ }
43392
+
43393
+ if (event)
43394
+ {
43395
+ var sendData={ PreventDefault:false, Label:info, Data:item, IndexName:chart.IndexName, OverlayIdentify:this.OverlayIndex.Identify };
43396
+ event.Callback(event,sendData,this);
43397
+
43398
+ if (sendData.PreventDefault) continue;
43399
+ }
43400
+
43401
+ this.Frame.CustomHorizontalInfo.push(info);
43402
+ }
43403
+ }
43404
+ },
43405
+
43406
+ //回调外部处理自定义Y轴刻度
43407
+ this.InvokeCustomYCoordinateCallback=function()
43408
+ {
43409
+ if (!this.GetEventCallback) return null;
43410
+ var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CREATE_CUSTOM_Y_COORDINATE);
43411
+ if (!event || !event.Callback) return null;
43412
+
43413
+ var data={ ID:this.Frame.Identify, Frame:this.Frame, PreventDefault:false, Custom:this.Custom };
43414
+ if (this.OverlayIdentify) data.OverlayIdentify=this.OverlayIdentify;
43415
+ event.Callback(event,data,this);
43416
+
43417
+ return data;
43418
+ }
43403
43419
  }
43404
43420
 
43405
43421
  //字符串格式化 千分位分割
@@ -44400,6 +44416,10 @@ function FrameSplitKLinePriceY()
44400
44416
  this.CustomCoordinate=function(floatPrecision)
44401
44417
  {
44402
44418
  this.Frame.CustomHorizontalInfo=[];
44419
+
44420
+ var data=this.InvokeCustomYCoordinateCallback();
44421
+ if (data && data.PreventDefault==true) return;
44422
+
44403
44423
  var lastCoordinate, pageLastCoordinate;
44404
44424
  for(var i=0; i<this.Custom.length; ++i)
44405
44425
  {
@@ -45047,6 +45067,9 @@ function FrameSplitY()
45047
45067
  {
45048
45068
  this.Frame.CustomHorizontalInfo=[];
45049
45069
 
45070
+ var data=this.InvokeCustomYCoordinateCallback();
45071
+ if (data && data.PreventDefault==true) return;
45072
+
45050
45073
  if (!IFrameSplitOperator.IsNonEmptyArray(this.Custom)) return;
45051
45074
 
45052
45075
  for(var i=0; i<this.Custom.length; ++i)
@@ -45428,6 +45451,9 @@ function FrameSplitMinutePriceY()
45428
45451
 
45429
45452
  this.CustomCoordinate=function() //自定义刻度
45430
45453
  {
45454
+ var data=this.InvokeCustomYCoordinateCallback();
45455
+ if (data && data.PreventDefault==true) return;
45456
+
45431
45457
  if (!this.Custom) return;
45432
45458
 
45433
45459
  var defaultfloatPrecision=GetfloatPrecision(this.Symbol);
@@ -6692,6 +6692,8 @@ var JSCHART_EVENT_ID=
6692
6692
  ON_KEYDOWN:117,
6693
6693
 
6694
6694
  ON_CREATE_OVERLAY_FRAME:118, //创建叠加框架回调
6695
+
6696
+ ON_CREATE_CUSTOM_Y_COORDINATE:119, //自定义Y轴刻度
6695
6697
  }
6696
6698
 
6697
6699
  var JSCHART_OPERATOR_ID=
@@ -47420,130 +47422,144 @@ function IFrameSplitOperator()
47420
47422
  return result;
47421
47423
  }
47422
47424
 
47423
- //当前屏最新指标数据
47424
- this.CustomLatestIndexDataCoordinate=function(option)
47425
- {
47426
- var pageInfo=this.GetKLinePageInfo(); //获取当前屏信息
47427
- if (!pageInfo) return;
47428
- if (!this.HQChart) return;
47429
-
47430
- var event=null;
47431
- if (this.GetEventCallback)
47432
- event=this.GetEventCallback(JSCHART_EVENT_ID.ON_FORMAT_INDEX_Y_LABEL);
47433
-
47434
- var endIndex=pageInfo.End.Index;
47435
- var floatPrecision=2;
47436
- if (IFrameSplitOperator.IsNumber(this.FloatPrecision)) floatPrecision=this.FloatPrecision;
47437
- for(var i=0, j=0;i<this.HQChart.ChartPaint.length;++i)
47438
- {
47439
- var chart=this.HQChart.ChartPaint[i];
47440
- if (!chart.ChartFrame) continue;
47441
- if (!chart.GetItemData) continue;
47442
- if (chart.ChartFrame.Identify==this.Frame.Identify || chart.ChartFrame==this.Frame)
47443
- {
47444
- var aryItem=chart.GetItemData( {Index:endIndex} );
47445
- if (!IFrameSplitOperator.IsNonEmptyArray(aryItem)) continue;
47446
-
47447
- for(j=0; j<aryItem.length; ++j)
47448
- {
47449
- var item=aryItem[j];
47450
-
47451
- var info=new CoordinateInfo();
47452
- info.Type=1;
47453
- info.TextColor=g_JSChartResource.FrameLatestPrice.TextColor;
47454
- info.LineColor=item.Color;
47455
- info.LineType=-1; //默认不画线
47456
- info.IsLast=pageInfo.IsLast;//是否是最后一个数据
47457
- if (IFrameSplitOperator.IsNumber(option.LineType)) info.LineType=option.LineType;
47458
-
47459
- info.Value=item.Value;
47460
- var text=IFrameSplitOperator.FormatValueString(item.Value, floatPrecision,this.LanguageID);
47461
-
47462
- if (option.Position=='left') info.Message[0]=text;
47463
- else info.Message[1]=text;
47464
-
47465
- if (!pageInfo.IsLast)
47466
- {
47467
- var config={};
47468
- if (!pageInfo.IsLast) config.EmptyBGColor=g_JSChartResource.FrameLatestPrice.EmptyBGColor;
47469
-
47470
- info.ExtendData={ Custom:config };
47471
- }
47472
-
47473
- if (event)
47474
- {
47475
- var sendData={ PreventDefault:false, Label:info, Data:item, IndexName:chart.IndexName, FrameID:this.Frame.Identify };
47476
- event.Callback(event,sendData,this);
47477
-
47478
- if (sendData.PreventDefault) continue;
47479
- }
47480
-
47481
- this.Frame.CustomHorizontalInfo.push(info);
47482
- }
47483
- }
47484
- }
47485
- }
47486
-
47487
- this.CustomLatestOverlayIndexDataCoordinate=function(option)
47488
- {
47425
+ //当前屏最新指标数据
47426
+ this.CustomLatestIndexDataCoordinate=function(option)
47427
+ {
47489
47428
  var pageInfo=this.GetKLinePageInfo(); //获取当前屏信息
47490
47429
  if (!pageInfo) return;
47491
- if (!this.OverlayIndex) return;
47492
- if (!IFrameSplitOperator.IsNonEmptyArray(this.OverlayIndex.ChartPaint)) return;
47430
+ if (!this.HQChart) return;
47493
47431
 
47494
47432
  var event=null;
47495
47433
  if (this.GetEventCallback)
47496
- event=this.GetEventCallback(JSCHART_EVENT_ID.ON_FORMAT_OVERLAY_INDEX_Y_LABEL);
47434
+ event=this.GetEventCallback(JSCHART_EVENT_ID.ON_FORMAT_INDEX_Y_LABEL);
47497
47435
 
47498
47436
  var endIndex=pageInfo.End.Index;
47499
47437
  var floatPrecision=2;
47500
47438
  if (IFrameSplitOperator.IsNumber(this.FloatPrecision)) floatPrecision=this.FloatPrecision;
47501
-
47502
- for(var i=0, j=0;i<this.OverlayIndex.ChartPaint.length;++i)
47439
+ for(var i=0, j=0;i<this.HQChart.ChartPaint.length;++i)
47503
47440
  {
47504
- var chart=this.OverlayIndex.ChartPaint[i];
47441
+ var chart=this.HQChart.ChartPaint[i];
47505
47442
  if (!chart.ChartFrame) continue;
47506
47443
  if (!chart.GetItemData) continue;
47507
-
47508
- var aryItem=chart.GetItemData( {Index:endIndex} );
47509
- if (!IFrameSplitOperator.IsNonEmptyArray(aryItem)) continue;
47510
- for(j=0; j<aryItem.length; ++j)
47444
+ if (chart.ChartFrame.Identify==this.Frame.Identify || chart.ChartFrame==this.Frame)
47511
47445
  {
47512
- var item=aryItem[j];
47513
- var info=new CoordinateInfo();
47514
- info.Type=1;
47515
- info.TextColor=g_JSChartResource.FrameLatestPrice.TextColor;
47516
- info.LineColor=item.Color;
47517
- info.LineType=-1; //默认不画线
47518
- info.IsLast=pageInfo.IsLast;//是否是最后一个数据
47519
- if (IFrameSplitOperator.IsNumber(option.LineType)) info.LineType=option.LineType;
47446
+ var aryItem=chart.GetItemData( {Index:endIndex} );
47447
+ if (!IFrameSplitOperator.IsNonEmptyArray(aryItem)) continue;
47520
47448
 
47521
- info.Value=item.Value;
47522
- var text=IFrameSplitOperator.FormatValueString(item.Value, floatPrecision,this.LanguageID);
47449
+ for(j=0; j<aryItem.length; ++j)
47450
+ {
47451
+ var item=aryItem[j];
47523
47452
 
47524
- if (option.Position=='left') info.Message[0]=text;
47525
- else info.Message[1]=text;
47453
+ var info=new CoordinateInfo();
47454
+ info.Type=1;
47455
+ info.TextColor=g_JSChartResource.FrameLatestPrice.TextColor;
47456
+ info.LineColor=item.Color;
47457
+ info.LineType=-1; //默认不画线
47458
+ info.IsLast=pageInfo.IsLast;//是否是最后一个数据
47459
+ if (IFrameSplitOperator.IsNumber(option.LineType)) info.LineType=option.LineType;
47460
+
47461
+ info.Value=item.Value;
47462
+ var text=IFrameSplitOperator.FormatValueString(item.Value, floatPrecision,this.LanguageID);
47526
47463
 
47527
- if (!pageInfo.IsLast)
47528
- {
47529
- var config={};
47530
- if (!pageInfo.IsLast) config.EmptyBGColor=g_JSChartResource.FrameLatestPrice.EmptyBGColor;
47464
+ if (option.Position=='left') info.Message[0]=text;
47465
+ else info.Message[1]=text;
47531
47466
 
47532
- info.ExtendData={ Custom:config };
47533
- }
47467
+ if (!pageInfo.IsLast)
47468
+ {
47469
+ var config={};
47470
+ if (!pageInfo.IsLast) config.EmptyBGColor=g_JSChartResource.FrameLatestPrice.EmptyBGColor;
47534
47471
 
47535
- if (event)
47536
- {
47537
- var sendData={ PreventDefault:false, Label:info, Data:item, IndexName:chart.IndexName, OverlayIdentify:this.OverlayIndex.Identify };
47538
- event.Callback(event,sendData,this);
47472
+ info.ExtendData={ Custom:config };
47473
+ }
47474
+
47475
+ if (event)
47476
+ {
47477
+ var sendData={ PreventDefault:false, Label:info, Data:item, IndexName:chart.IndexName, FrameID:this.Frame.Identify };
47478
+ event.Callback(event,sendData,this);
47539
47479
 
47540
- if (sendData.PreventDefault) continue;
47480
+ if (sendData.PreventDefault) continue;
47481
+ }
47482
+
47483
+ this.Frame.CustomHorizontalInfo.push(info);
47541
47484
  }
47542
-
47543
- this.Frame.CustomHorizontalInfo.push(info);
47544
47485
  }
47545
47486
  }
47546
- }
47487
+ }
47488
+
47489
+ this.CustomLatestOverlayIndexDataCoordinate=function(option)
47490
+ {
47491
+ var pageInfo=this.GetKLinePageInfo(); //获取当前屏信息
47492
+ if (!pageInfo) return;
47493
+ if (!this.OverlayIndex) return;
47494
+ if (!IFrameSplitOperator.IsNonEmptyArray(this.OverlayIndex.ChartPaint)) return;
47495
+
47496
+ var event=null;
47497
+ if (this.GetEventCallback)
47498
+ event=this.GetEventCallback(JSCHART_EVENT_ID.ON_FORMAT_OVERLAY_INDEX_Y_LABEL);
47499
+
47500
+ var endIndex=pageInfo.End.Index;
47501
+ var floatPrecision=2;
47502
+ if (IFrameSplitOperator.IsNumber(this.FloatPrecision)) floatPrecision=this.FloatPrecision;
47503
+
47504
+ for(var i=0, j=0;i<this.OverlayIndex.ChartPaint.length;++i)
47505
+ {
47506
+ var chart=this.OverlayIndex.ChartPaint[i];
47507
+ if (!chart.ChartFrame) continue;
47508
+ if (!chart.GetItemData) continue;
47509
+
47510
+ var aryItem=chart.GetItemData( {Index:endIndex} );
47511
+ if (!IFrameSplitOperator.IsNonEmptyArray(aryItem)) continue;
47512
+ for(j=0; j<aryItem.length; ++j)
47513
+ {
47514
+ var item=aryItem[j];
47515
+ var info=new CoordinateInfo();
47516
+ info.Type=1;
47517
+ info.TextColor=g_JSChartResource.FrameLatestPrice.TextColor;
47518
+ info.LineColor=item.Color;
47519
+ info.LineType=-1; //默认不画线
47520
+ info.IsLast=pageInfo.IsLast;//是否是最后一个数据
47521
+ if (IFrameSplitOperator.IsNumber(option.LineType)) info.LineType=option.LineType;
47522
+
47523
+ info.Value=item.Value;
47524
+ var text=IFrameSplitOperator.FormatValueString(item.Value, floatPrecision,this.LanguageID);
47525
+
47526
+ if (option.Position=='left') info.Message[0]=text;
47527
+ else info.Message[1]=text;
47528
+
47529
+ if (!pageInfo.IsLast)
47530
+ {
47531
+ var config={};
47532
+ if (!pageInfo.IsLast) config.EmptyBGColor=g_JSChartResource.FrameLatestPrice.EmptyBGColor;
47533
+
47534
+ info.ExtendData={ Custom:config };
47535
+ }
47536
+
47537
+ if (event)
47538
+ {
47539
+ var sendData={ PreventDefault:false, Label:info, Data:item, IndexName:chart.IndexName, OverlayIdentify:this.OverlayIndex.Identify };
47540
+ event.Callback(event,sendData,this);
47541
+
47542
+ if (sendData.PreventDefault) continue;
47543
+ }
47544
+
47545
+ this.Frame.CustomHorizontalInfo.push(info);
47546
+ }
47547
+ }
47548
+ },
47549
+
47550
+ //回调外部处理自定义Y轴刻度
47551
+ this.InvokeCustomYCoordinateCallback=function()
47552
+ {
47553
+ if (!this.GetEventCallback) return null;
47554
+ var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CREATE_CUSTOM_Y_COORDINATE);
47555
+ if (!event || !event.Callback) return null;
47556
+
47557
+ var data={ ID:this.Frame.Identify, Frame:this.Frame, PreventDefault:false, Custom:this.Custom };
47558
+ if (this.OverlayIdentify) data.OverlayIdentify=this.OverlayIdentify;
47559
+ event.Callback(event,data,this);
47560
+
47561
+ return data;
47562
+ }
47547
47563
  }
47548
47564
 
47549
47565
  //字符串格式化 千分位分割
@@ -48544,6 +48560,10 @@ function FrameSplitKLinePriceY()
48544
48560
  this.CustomCoordinate=function(floatPrecision)
48545
48561
  {
48546
48562
  this.Frame.CustomHorizontalInfo=[];
48563
+
48564
+ var data=this.InvokeCustomYCoordinateCallback();
48565
+ if (data && data.PreventDefault==true) return;
48566
+
48547
48567
  var lastCoordinate, pageLastCoordinate;
48548
48568
  for(var i=0; i<this.Custom.length; ++i)
48549
48569
  {
@@ -49191,6 +49211,9 @@ function FrameSplitY()
49191
49211
  {
49192
49212
  this.Frame.CustomHorizontalInfo=[];
49193
49213
 
49214
+ var data=this.InvokeCustomYCoordinateCallback();
49215
+ if (data && data.PreventDefault==true) return;
49216
+
49194
49217
  if (!IFrameSplitOperator.IsNonEmptyArray(this.Custom)) return;
49195
49218
 
49196
49219
  for(var i=0; i<this.Custom.length; ++i)
@@ -49572,6 +49595,9 @@ function FrameSplitMinutePriceY()
49572
49595
 
49573
49596
  this.CustomCoordinate=function() //自定义刻度
49574
49597
  {
49598
+ var data=this.InvokeCustomYCoordinateCallback();
49599
+ if (data && data.PreventDefault==true) return;
49600
+
49575
49601
  if (!this.Custom) return;
49576
49602
 
49577
49603
  var defaultfloatPrecision=GetfloatPrecision(this.Symbol);
@@ -114776,7 +114802,7 @@ function ScriptIndex(name,script,args,option)
114776
114802
  //是否超出执行的最大次数
114777
114803
  this.IsExcessRunCount=function()
114778
114804
  {
114779
- if (this.MaxRunCount<=0) return false; //没有限制
114805
+ if (this.MaxRunCount<0) return false; //没有限制
114780
114806
 
114781
114807
  return this.RunCount>=this.MaxRunCount;
114782
114808
  }
@@ -131543,7 +131569,7 @@ function ScrollBarBGChart()
131543
131569
 
131544
131570
 
131545
131571
 
131546
- var HQCHART_VERSION="1.1.12794";
131572
+ var HQCHART_VERSION="1.1.12797";
131547
131573
 
131548
131574
  function PrintHQChartVersion()
131549
131575
  {
@@ -5,7 +5,7 @@
5
5
 
6
6
 
7
7
 
8
- var HQCHART_VERSION="1.1.12794";
8
+ var HQCHART_VERSION="1.1.12797";
9
9
 
10
10
  function PrintHQChartVersion()
11
11
  {
@@ -6736,6 +6736,8 @@ var JSCHART_EVENT_ID=
6736
6736
  ON_KEYDOWN:117,
6737
6737
 
6738
6738
  ON_CREATE_OVERLAY_FRAME:118, //创建叠加框架回调
6739
+
6740
+ ON_CREATE_CUSTOM_Y_COORDINATE:119, //自定义Y轴刻度
6739
6741
  }
6740
6742
 
6741
6743
  var JSCHART_OPERATOR_ID=
@@ -47464,130 +47466,144 @@ function IFrameSplitOperator()
47464
47466
  return result;
47465
47467
  }
47466
47468
 
47467
- //当前屏最新指标数据
47468
- this.CustomLatestIndexDataCoordinate=function(option)
47469
- {
47470
- var pageInfo=this.GetKLinePageInfo(); //获取当前屏信息
47471
- if (!pageInfo) return;
47472
- if (!this.HQChart) return;
47473
-
47474
- var event=null;
47475
- if (this.GetEventCallback)
47476
- event=this.GetEventCallback(JSCHART_EVENT_ID.ON_FORMAT_INDEX_Y_LABEL);
47477
-
47478
- var endIndex=pageInfo.End.Index;
47479
- var floatPrecision=2;
47480
- if (IFrameSplitOperator.IsNumber(this.FloatPrecision)) floatPrecision=this.FloatPrecision;
47481
- for(var i=0, j=0;i<this.HQChart.ChartPaint.length;++i)
47482
- {
47483
- var chart=this.HQChart.ChartPaint[i];
47484
- if (!chart.ChartFrame) continue;
47485
- if (!chart.GetItemData) continue;
47486
- if (chart.ChartFrame.Identify==this.Frame.Identify || chart.ChartFrame==this.Frame)
47487
- {
47488
- var aryItem=chart.GetItemData( {Index:endIndex} );
47489
- if (!IFrameSplitOperator.IsNonEmptyArray(aryItem)) continue;
47490
-
47491
- for(j=0; j<aryItem.length; ++j)
47492
- {
47493
- var item=aryItem[j];
47494
-
47495
- var info=new CoordinateInfo();
47496
- info.Type=1;
47497
- info.TextColor=g_JSChartResource.FrameLatestPrice.TextColor;
47498
- info.LineColor=item.Color;
47499
- info.LineType=-1; //默认不画线
47500
- info.IsLast=pageInfo.IsLast;//是否是最后一个数据
47501
- if (IFrameSplitOperator.IsNumber(option.LineType)) info.LineType=option.LineType;
47502
-
47503
- info.Value=item.Value;
47504
- var text=IFrameSplitOperator.FormatValueString(item.Value, floatPrecision,this.LanguageID);
47505
-
47506
- if (option.Position=='left') info.Message[0]=text;
47507
- else info.Message[1]=text;
47508
-
47509
- if (!pageInfo.IsLast)
47510
- {
47511
- var config={};
47512
- if (!pageInfo.IsLast) config.EmptyBGColor=g_JSChartResource.FrameLatestPrice.EmptyBGColor;
47513
-
47514
- info.ExtendData={ Custom:config };
47515
- }
47516
-
47517
- if (event)
47518
- {
47519
- var sendData={ PreventDefault:false, Label:info, Data:item, IndexName:chart.IndexName, FrameID:this.Frame.Identify };
47520
- event.Callback(event,sendData,this);
47521
-
47522
- if (sendData.PreventDefault) continue;
47523
- }
47524
-
47525
- this.Frame.CustomHorizontalInfo.push(info);
47526
- }
47527
- }
47528
- }
47529
- }
47530
-
47531
- this.CustomLatestOverlayIndexDataCoordinate=function(option)
47532
- {
47469
+ //当前屏最新指标数据
47470
+ this.CustomLatestIndexDataCoordinate=function(option)
47471
+ {
47533
47472
  var pageInfo=this.GetKLinePageInfo(); //获取当前屏信息
47534
47473
  if (!pageInfo) return;
47535
- if (!this.OverlayIndex) return;
47536
- if (!IFrameSplitOperator.IsNonEmptyArray(this.OverlayIndex.ChartPaint)) return;
47474
+ if (!this.HQChart) return;
47537
47475
 
47538
47476
  var event=null;
47539
47477
  if (this.GetEventCallback)
47540
- event=this.GetEventCallback(JSCHART_EVENT_ID.ON_FORMAT_OVERLAY_INDEX_Y_LABEL);
47478
+ event=this.GetEventCallback(JSCHART_EVENT_ID.ON_FORMAT_INDEX_Y_LABEL);
47541
47479
 
47542
47480
  var endIndex=pageInfo.End.Index;
47543
47481
  var floatPrecision=2;
47544
47482
  if (IFrameSplitOperator.IsNumber(this.FloatPrecision)) floatPrecision=this.FloatPrecision;
47545
-
47546
- for(var i=0, j=0;i<this.OverlayIndex.ChartPaint.length;++i)
47483
+ for(var i=0, j=0;i<this.HQChart.ChartPaint.length;++i)
47547
47484
  {
47548
- var chart=this.OverlayIndex.ChartPaint[i];
47485
+ var chart=this.HQChart.ChartPaint[i];
47549
47486
  if (!chart.ChartFrame) continue;
47550
47487
  if (!chart.GetItemData) continue;
47551
-
47552
- var aryItem=chart.GetItemData( {Index:endIndex} );
47553
- if (!IFrameSplitOperator.IsNonEmptyArray(aryItem)) continue;
47554
- for(j=0; j<aryItem.length; ++j)
47488
+ if (chart.ChartFrame.Identify==this.Frame.Identify || chart.ChartFrame==this.Frame)
47555
47489
  {
47556
- var item=aryItem[j];
47557
- var info=new CoordinateInfo();
47558
- info.Type=1;
47559
- info.TextColor=g_JSChartResource.FrameLatestPrice.TextColor;
47560
- info.LineColor=item.Color;
47561
- info.LineType=-1; //默认不画线
47562
- info.IsLast=pageInfo.IsLast;//是否是最后一个数据
47563
- if (IFrameSplitOperator.IsNumber(option.LineType)) info.LineType=option.LineType;
47490
+ var aryItem=chart.GetItemData( {Index:endIndex} );
47491
+ if (!IFrameSplitOperator.IsNonEmptyArray(aryItem)) continue;
47564
47492
 
47565
- info.Value=item.Value;
47566
- var text=IFrameSplitOperator.FormatValueString(item.Value, floatPrecision,this.LanguageID);
47493
+ for(j=0; j<aryItem.length; ++j)
47494
+ {
47495
+ var item=aryItem[j];
47567
47496
 
47568
- if (option.Position=='left') info.Message[0]=text;
47569
- else info.Message[1]=text;
47497
+ var info=new CoordinateInfo();
47498
+ info.Type=1;
47499
+ info.TextColor=g_JSChartResource.FrameLatestPrice.TextColor;
47500
+ info.LineColor=item.Color;
47501
+ info.LineType=-1; //默认不画线
47502
+ info.IsLast=pageInfo.IsLast;//是否是最后一个数据
47503
+ if (IFrameSplitOperator.IsNumber(option.LineType)) info.LineType=option.LineType;
47504
+
47505
+ info.Value=item.Value;
47506
+ var text=IFrameSplitOperator.FormatValueString(item.Value, floatPrecision,this.LanguageID);
47570
47507
 
47571
- if (!pageInfo.IsLast)
47572
- {
47573
- var config={};
47574
- if (!pageInfo.IsLast) config.EmptyBGColor=g_JSChartResource.FrameLatestPrice.EmptyBGColor;
47508
+ if (option.Position=='left') info.Message[0]=text;
47509
+ else info.Message[1]=text;
47575
47510
 
47576
- info.ExtendData={ Custom:config };
47577
- }
47511
+ if (!pageInfo.IsLast)
47512
+ {
47513
+ var config={};
47514
+ if (!pageInfo.IsLast) config.EmptyBGColor=g_JSChartResource.FrameLatestPrice.EmptyBGColor;
47578
47515
 
47579
- if (event)
47580
- {
47581
- var sendData={ PreventDefault:false, Label:info, Data:item, IndexName:chart.IndexName, OverlayIdentify:this.OverlayIndex.Identify };
47582
- event.Callback(event,sendData,this);
47516
+ info.ExtendData={ Custom:config };
47517
+ }
47518
+
47519
+ if (event)
47520
+ {
47521
+ var sendData={ PreventDefault:false, Label:info, Data:item, IndexName:chart.IndexName, FrameID:this.Frame.Identify };
47522
+ event.Callback(event,sendData,this);
47583
47523
 
47584
- if (sendData.PreventDefault) continue;
47524
+ if (sendData.PreventDefault) continue;
47525
+ }
47526
+
47527
+ this.Frame.CustomHorizontalInfo.push(info);
47585
47528
  }
47586
-
47587
- this.Frame.CustomHorizontalInfo.push(info);
47588
47529
  }
47589
47530
  }
47590
- }
47531
+ }
47532
+
47533
+ this.CustomLatestOverlayIndexDataCoordinate=function(option)
47534
+ {
47535
+ var pageInfo=this.GetKLinePageInfo(); //获取当前屏信息
47536
+ if (!pageInfo) return;
47537
+ if (!this.OverlayIndex) return;
47538
+ if (!IFrameSplitOperator.IsNonEmptyArray(this.OverlayIndex.ChartPaint)) return;
47539
+
47540
+ var event=null;
47541
+ if (this.GetEventCallback)
47542
+ event=this.GetEventCallback(JSCHART_EVENT_ID.ON_FORMAT_OVERLAY_INDEX_Y_LABEL);
47543
+
47544
+ var endIndex=pageInfo.End.Index;
47545
+ var floatPrecision=2;
47546
+ if (IFrameSplitOperator.IsNumber(this.FloatPrecision)) floatPrecision=this.FloatPrecision;
47547
+
47548
+ for(var i=0, j=0;i<this.OverlayIndex.ChartPaint.length;++i)
47549
+ {
47550
+ var chart=this.OverlayIndex.ChartPaint[i];
47551
+ if (!chart.ChartFrame) continue;
47552
+ if (!chart.GetItemData) continue;
47553
+
47554
+ var aryItem=chart.GetItemData( {Index:endIndex} );
47555
+ if (!IFrameSplitOperator.IsNonEmptyArray(aryItem)) continue;
47556
+ for(j=0; j<aryItem.length; ++j)
47557
+ {
47558
+ var item=aryItem[j];
47559
+ var info=new CoordinateInfo();
47560
+ info.Type=1;
47561
+ info.TextColor=g_JSChartResource.FrameLatestPrice.TextColor;
47562
+ info.LineColor=item.Color;
47563
+ info.LineType=-1; //默认不画线
47564
+ info.IsLast=pageInfo.IsLast;//是否是最后一个数据
47565
+ if (IFrameSplitOperator.IsNumber(option.LineType)) info.LineType=option.LineType;
47566
+
47567
+ info.Value=item.Value;
47568
+ var text=IFrameSplitOperator.FormatValueString(item.Value, floatPrecision,this.LanguageID);
47569
+
47570
+ if (option.Position=='left') info.Message[0]=text;
47571
+ else info.Message[1]=text;
47572
+
47573
+ if (!pageInfo.IsLast)
47574
+ {
47575
+ var config={};
47576
+ if (!pageInfo.IsLast) config.EmptyBGColor=g_JSChartResource.FrameLatestPrice.EmptyBGColor;
47577
+
47578
+ info.ExtendData={ Custom:config };
47579
+ }
47580
+
47581
+ if (event)
47582
+ {
47583
+ var sendData={ PreventDefault:false, Label:info, Data:item, IndexName:chart.IndexName, OverlayIdentify:this.OverlayIndex.Identify };
47584
+ event.Callback(event,sendData,this);
47585
+
47586
+ if (sendData.PreventDefault) continue;
47587
+ }
47588
+
47589
+ this.Frame.CustomHorizontalInfo.push(info);
47590
+ }
47591
+ }
47592
+ },
47593
+
47594
+ //回调外部处理自定义Y轴刻度
47595
+ this.InvokeCustomYCoordinateCallback=function()
47596
+ {
47597
+ if (!this.GetEventCallback) return null;
47598
+ var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CREATE_CUSTOM_Y_COORDINATE);
47599
+ if (!event || !event.Callback) return null;
47600
+
47601
+ var data={ ID:this.Frame.Identify, Frame:this.Frame, PreventDefault:false, Custom:this.Custom };
47602
+ if (this.OverlayIdentify) data.OverlayIdentify=this.OverlayIdentify;
47603
+ event.Callback(event,data,this);
47604
+
47605
+ return data;
47606
+ }
47591
47607
  }
47592
47608
 
47593
47609
  //字符串格式化 千分位分割
@@ -48588,6 +48604,10 @@ function FrameSplitKLinePriceY()
48588
48604
  this.CustomCoordinate=function(floatPrecision)
48589
48605
  {
48590
48606
  this.Frame.CustomHorizontalInfo=[];
48607
+
48608
+ var data=this.InvokeCustomYCoordinateCallback();
48609
+ if (data && data.PreventDefault==true) return;
48610
+
48591
48611
  var lastCoordinate, pageLastCoordinate;
48592
48612
  for(var i=0; i<this.Custom.length; ++i)
48593
48613
  {
@@ -49235,6 +49255,9 @@ function FrameSplitY()
49235
49255
  {
49236
49256
  this.Frame.CustomHorizontalInfo=[];
49237
49257
 
49258
+ var data=this.InvokeCustomYCoordinateCallback();
49259
+ if (data && data.PreventDefault==true) return;
49260
+
49238
49261
  if (!IFrameSplitOperator.IsNonEmptyArray(this.Custom)) return;
49239
49262
 
49240
49263
  for(var i=0; i<this.Custom.length; ++i)
@@ -49616,6 +49639,9 @@ function FrameSplitMinutePriceY()
49616
49639
 
49617
49640
  this.CustomCoordinate=function() //自定义刻度
49618
49641
  {
49642
+ var data=this.InvokeCustomYCoordinateCallback();
49643
+ if (data && data.PreventDefault==true) return;
49644
+
49619
49645
  if (!this.Custom) return;
49620
49646
 
49621
49647
  var defaultfloatPrecision=GetfloatPrecision(this.Symbol);
@@ -114820,7 +114846,7 @@ function ScriptIndex(name,script,args,option)
114820
114846
  //是否超出执行的最大次数
114821
114847
  this.IsExcessRunCount=function()
114822
114848
  {
114823
- if (this.MaxRunCount<=0) return false; //没有限制
114849
+ if (this.MaxRunCount<0) return false; //没有限制
114824
114850
 
114825
114851
  return this.RunCount>=this.MaxRunCount;
114826
114852
  }
@@ -131701,7 +131727,7 @@ function HQChartScriptWorker()
131701
131727
 
131702
131728
 
131703
131729
 
131704
- var HQCHART_VERSION="1.1.12794";
131730
+ var HQCHART_VERSION="1.1.12797";
131705
131731
 
131706
131732
  function PrintHQChartVersion()
131707
131733
  {