hqchart 1.1.14498 → 1.1.14501
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/umychart.vue.js +8 -8
- package/package.json +1 -1
- package/src/jscommon/umychart.NetworkFilterTest.js +53 -11
- package/src/jscommon/umychart.complier.js +33 -0
- package/src/jscommon/umychart.js +44 -6
- package/src/jscommon/umychart.testdata.js +53 -11
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +78 -7
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.NetworkFilterTest.vue.js +53 -11
- package/src/jscommon/umychart.vue/umychart.vue.js +78 -7
package/lib/umychart.vue.js
CHANGED
|
@@ -6028,11 +6028,11 @@ this.MainTitlePaint=null;//主标题
|
|
|
6028
6028
|
this.ReloadResource=function(){this.Font=g_JSChartResource.TitleFont;this.TitleColor=g_JSChartResource.DefaultTextColor;this.SelectedColor=g_JSChartResource.IndexTitleSelectedColor;this.OverlayIndexType.BGColor=g_JSChartResource.OverlayIndexTitleBGColor;this.BGColor=g_JSChartResource.IndexTitleBGColor;this.BGBorderColor=g_JSChartResource.IndexTitleBorderColor;this.BGBorderMoveOnColor=g_JSChartResource.IndexTitleBorderMoveOnColor;this.UpColor=g_JSChartResource.UpTextColor;this.DownColor=g_JSChartResource.DownTextColor;this.UnchangeColor=g_JSChartResource.UnchagneTextColor;this.VolColor=g_JSChartResource.Title.VolColor;this.AmountColor=g_JSChartResource.Title.AmountColor;this.DateTimeColor=g_JSChartResource.Title.DateTimeColor;this.PositionColor=g_JSChartResource.Title.PositionColor;//持仓
|
|
6029
6029
|
};this.SetDynamicTitleData=function(outName,args,data){if(!data.OutName)data.OutName=new _map2.default();else data.OutName.clear();if(!data.OutValue)data.OutValue=new _map2.default();else data.OutValue.clear();var mapArgs=new _map2.default();for(var i in args){var item=args[i];mapArgs.set('{'+item.Name+'}',item);}for(var i in outName){var item=outName[i];if(item.DynamicName){var aryFond=item.DynamicName.match(/{\w*}/i);if(!aryFond||aryFond.length<=0){data.OutName.set(item.Name,item.DynamicName);}else{var dyName=item.DynamicName;var bFind=true;for(var j=0;j<aryFond.length;++j){var findItem=aryFond[j];if(mapArgs.has(findItem)){var value=mapArgs.get(findItem).Value;dyName=dyName.replace(findItem,value.toString());}else{bFind=false;break;}}if(bFind)data.OutName.set(item.Name,dyName);}}if(item.DynamicValue){data.OutValue.set(item.Name,item.DynamicValue);}}};this.SetDynamicTitle=function(outName,args,overlayID){if(IFrameSplitOperator.IsString(overlayID)){var dynamicTitle=null;if(this.OverlayDynamicTitle.has(overlayID)){dynamicTitle=this.OverlayDynamicTitle.get(overlayID);}else{dynamicTitle={OutName:null,OutValue:null};this.OverlayDynamicTitle.set(overlayID,dynamicTitle);}this.SetDynamicTitleData(outName,args,dynamicTitle);}else{this.SetDynamicTitleData(outName,args,this.DynamicTitle);}};this.GetDynamicOutName=function(key,overlayID){if(IFrameSplitOperator.IsString(overlayID)){if(!this.OverlayDynamicTitle.has(overlayID))return null;var dynamicTitle=this.OverlayDynamicTitle.get(overlayID);var outName=dynamicTitle.OutName;}else{var outName=this.DynamicTitle.OutName;}if(!outName||outName.size<=0)return null;if(!outName.has(key))return null;return outName.get(key);};this.GetDynamicOutValue=function(key,value){var outValue=this.DynamicTitle.OutValue;if(!outValue||outValue.size<=0)return null;if(!outValue.has(key))return null;var strFormat=outValue.get(key);strFormat=strFormat.replace('{Value}',value);return strFormat;};this.IsClickTitle=function(x,y)//是否点击了指标标题
|
|
6030
6030
|
{if(!this.TitleRect)return false;if(x>this.TitleRect.Left&&x<this.TitleRect.Left+this.TitleRect.Width&&y>this.TitleRect.Top&&y<this.TitleRect.Top+this.TitleRect.Height){return true;}return false;};this.FormatValue=function(value,item){if(item.StringFormat==STRING_FORMAT_TYPE.DEFAULT)return IFrameSplitOperator.FormatValueString(value,item.FloatPrecision,this.LanguageID);else if(item.StringFormat==STRING_FORMAT_TYPE.THOUSANDS)return IFrameSplitOperator.FormatValueThousandsString(value,item.FloatPrecision);else if(item.StringFormat==STRING_FORMAT_TYPE.ORIGINAL)return value.toFixed(item.FloatPrecision).toString();else if(item.StringFormat==STRING_FORMAT_TYPE.INTEGER)return IFrameSplitOperator.FromatIntegerString(value,item.FloatPrecision,this.LanguageID);};this.FormatMultiReport=function(data,format){var text="";for(var i in data){var item=data[i];var quarter=item.Quarter;var year=item.Year;var _value2=item.Value;if(text.length>0)text+=',';text+=year.toString();switch(quarter){case 1:text+='一季报 ';break;case 2:text+='半年报 ';break;case 3:text+='三季报 ';break;case 4:text+='年报 ';break;}text+=this.FormatValue(_value2,format);}return text;};this.FromatMultiDataLine=function(value,dataInfo){var text="";if(Array.isArray(value)){for(var i=0;i<value.length;++i){var item=value[i];if(item.Type==0)continue;if(!IFrameSplitOperator.IsNumber(item.Value))continue;var strValue=this.FormatValue(item.Value,dataInfo);if(text.length>0)text+=',';text+=strValue;}}else{if(value.Type!=0&&IFrameSplitOperator.IsNumber(value.Value)){text=this.FormatValue(value.Value,dataInfo);}}if(text.length<=0)return null;return text;};//多变量输出
|
|
6031
|
-
this.FromatStackedBarTitle=function(aryBar,dataInfo){if(!IFrameSplitOperator.IsNonEmptyArray(aryBar))return null;if(!IFrameSplitOperator.IsNonEmptyArray(dataInfo.Color))return null;var aryText=[];for(var i=0;i<aryBar.length;++i){var value=aryBar[i];if(!IFrameSplitOperator.IsNumber(value))continue;var item={Text:value.toFixed(2)};if(dataInfo.Name&&dataInfo.Name[i])item.Name=dataInfo.Name[i];item.Color=dataInfo.Color[i];aryText.push(item);}if(aryText.length<=0)return null;return aryText;};this.
|
|
6031
|
+
this.FromatStackedBarTitle=function(aryBar,dataInfo){if(!IFrameSplitOperator.IsNonEmptyArray(aryBar))return null;if(!IFrameSplitOperator.IsNonEmptyArray(dataInfo.Color))return null;var aryText=[];for(var i=0;i<aryBar.length;++i){var value=aryBar[i];if(!IFrameSplitOperator.IsNumber(value))continue;var item={Text:value.toFixed(2)};if(dataInfo.Name&&dataInfo.Name[i])item.Name=dataInfo.Name[i];item.Color=dataInfo.Color[i];aryText.push(item);}if(aryText.length<=0)return null;return aryText;};this.FormatKLineTitle=function(item,dataInfo){var defaultfloatPrecision=GetfloatPrecision(dataInfo.Symbol);//价格小数位数
|
|
6032
6032
|
var upperSymbol="";if(dataInfo.Symbol)upperSymbol=dataInfo.Symbol.toUpperCase();var pixelRatio=GetDevicePixelRatio();var leftSpace=3*pixelRatio;var aryText=[];if(IFrameSplitOperator.IsNumber(item.Date)){var text=IFrameSplitOperator.FormatDateString(item.Date);aryText.push({Text:text,Color:this.DateTimeColor});}if(IFrameSplitOperator.IsNumber(item.Open)){var color=this.GetColor(item.Open,item.YClose);var text=g_JSChartLocalization.GetText('KTitle-Open',this.LanguageID)+item.Open.toFixed(defaultfloatPrecision);aryText.push({Text:text,Color:color,LeftSpace:leftSpace});}if(IFrameSplitOperator.IsNumber(item.High)){var color=this.GetColor(item.High,item.YClose);var text=g_JSChartLocalization.GetText('KTitle-High',this.LanguageID)+item.High.toFixed(defaultfloatPrecision);aryText.push({Text:text,Color:color,LeftSpace:leftSpace});}if(IFrameSplitOperator.IsNumber(item.Low)){var color=this.GetColor(item.Low,item.YClose);var text=g_JSChartLocalization.GetText('KTitle-Low',this.LanguageID)+item.Low.toFixed(defaultfloatPrecision);aryText.push({Text:text,Color:color,LeftSpace:leftSpace});}if(IFrameSplitOperator.IsNumber(item.Close)){var color=this.GetColor(item.Close,item.YClose);var text=g_JSChartLocalization.GetText('KTitle-Close',this.LanguageID)+item.Close.toFixed(defaultfloatPrecision);aryText.push({Text:text,Color:color,LeftSpace:leftSpace});}//涨幅
|
|
6033
6033
|
if(item.YFClose>0&&MARKET_SUFFIX_NAME.IsChinaFutures(upperSymbol)){var value=(item.Close-item.YFClose)/item.YFClose*100;var color=this.GetColor(value,0);var text=g_JSChartLocalization.GetText('KTitle-Increase',this.LanguageID)+value.toFixed(2)+'%';aryText.push({Text:text,Color:color,LeftSpace:leftSpace});}else if(item.YClose>0){var value=(item.Close-item.YClose)/item.YClose*100;var color=this.GetColor(value,0);var text=g_JSChartLocalization.GetText('KTitle-Increase',this.LanguageID)+value.toFixed(2)+'%';aryText.push({Text:text,Color:color,LeftSpace:leftSpace});}if(IFrameSplitOperator.IsNumber(item.Vol))//成交量
|
|
6034
6034
|
{var unit=MARKET_SUFFIX_NAME.GetVolUnit(upperSymbol);var vol=item.Vol/unit;var text=g_JSChartLocalization.GetText('KTitle-Vol',this.LanguageID)+IFrameSplitOperator.FromatIntegerString(vol,2,this.LanguageID);aryText.push({Text:text,Color:this.VolColor,LeftSpace:leftSpace});}if(IFrameSplitOperator.IsNumber(item.Amount))//成交金额
|
|
6035
|
-
{var text=g_JSChartLocalization.GetText('KTitle-Amount',this.LanguageID)+IFrameSplitOperator.FormatValueString(item.Amount,2,this.LanguageID);aryText.push({Text:text,Color:this.AmountColor,LeftSpace:leftSpace});}return aryText;};this.GetColor=function(price,yClose){if(!IFrameSplitOperator.IsNumber(yClose))return this.UnchangeColor;if(price>yClose)return this.UpColor;else if(price<yClose)return this.DownColor;else return this.UnchangeColor;};this.ForamtMultiLineTitle=function(dataIndex,dataInfo){if(!IFrameSplitOperator.IsNonEmptyArray(dataInfo.Lines))return null;var aryText=[];for(var i=0;i<dataInfo.Lines.length;++i){var line=dataInfo.Lines[i];for(var j=0;j<line.Point.length;++j){var item=line.Point[j];if(item.Index==dataIndex){var item={Text:item.Value.toFixed(2)};if(aryText.length==0)item.Name=dataInfo.Name;item.Color=line.Color;aryText.push(item);break;}}}if(!IFrameSplitOperator.IsNonEmptyArray(aryText))return null;return aryText;};this.ForamtMultiPointTitle=function(dataIndex,dataInfo){if(!dataInfo.GetItemCallback)return null;if(!dataInfo.Data||!IFrameSplitOperator.IsNonEmptyArray(dataInfo.Data.Data))return null;var kItem=dataInfo.Data.Data[dataIndex];if(!kItem)return null;var group=dataInfo.GetItemCallback(kItem);if(!group||!IFrameSplitOperator.IsNonEmptyArray(group.Data))return null;var aryText=[];for(var i=0;i<group.Data.length;++i){var item=group.Data[i];var config=item.ColorConfig;var color=null;if(config.BGColor)color=config.BGColor;else if(config.Color)color=config.Color;if(config.Name)aryText.push({Text:config.Name+':',Color:color});var value=item.Data.Value;if(IFrameSplitOperator.IsString(item.Data.Value))value=ChartData.GetKValue(kItem,item.Data.Value);aryText.push({Text:this.FormatValue(value,dataInfo),Color:color});}if(!IFrameSplitOperator.IsNonEmptyArray(aryText))return null;return aryText;};this.ForamtMultiBarTitle=function(dataIndex,dataInfo){if(!dataInfo.GetItemCallback)return null;if(!dataInfo.Data||!IFrameSplitOperator.IsNonEmptyArray(dataInfo.Data.Data))return null;var kItem=dataInfo.Data.Data[dataIndex];if(!kItem)return null;var group=dataInfo.GetItemCallback(kItem);if(!group||!IFrameSplitOperator.IsNonEmptyArray(group.Data))return null;var aryText=[];for(var i=0;i<group.Data.length;++i){var item=group.Data[i];var config=item.ColorConfig;var color=null;if(config.BGColor)color=config.BGColor;else if(config.Color)color=config.Color;if(config.Name)aryText.push({Text:config.Name+':',Color:color});var value=item.Data.Value;if(IFrameSplitOperator.IsString(item.Data.Value))value=ChartData.GetKValue(kItem,item.Data.Value);var value2=item.Data.Value2;if(IFrameSplitOperator.IsString(item.Data.Value2))value2=ChartData.GetKValue(kItem,item.Data.Value2);aryText.push({Text:'['+this.FormatValue(value,dataInfo)+', '+this.FormatValue(value2,dataInfo)+'] ',Color:color});}if(!IFrameSplitOperator.IsNonEmptyArray(aryText))return null;return aryText;};this.FormatVPVRTitle=function(pt,dataInfo){var chart=dataInfo.Chart;var aryText=[];if(chart.VolType==0){var item={Text:" Up/Down ",Color:this.TitleColor};aryText.push(item);}else{var item={Text:" Total ",Color:this.TitleColor};aryText.push(item);}if(!IFrameSplitOperator.IsNumber(pt.Y))return aryText;var top=this.Frame.ChartBorder.GetTopEx();var bottom=this.Frame.ChartBorder.GetBottomEx();if(pt.Y<top||pt.Y>bottom)return aryText;var yPrice=this.Frame.GetYData(pt.Y);var find=null;for(var i=0;i<dataInfo.Data.Data.length;++i){var item=dataInfo.Data.Data[i];if(yPrice>=item.Price-dataInfo.Data.PriceOffset/2&&yPrice<item.Price+dataInfo.Data.PriceOffset/2){find=item;break;}}if(!find)return null;if(chart.VolType==0){var total=0;for(var i=0;i<find.Vol.length;++i){var volItem=find.Vol[i];if(!IFrameSplitOperator.IsNumber(volItem.Value))continue;var item={Text:IFrameSplitOperator.FormatVolString(volItem.Value,this.LanguageID)};total+=volItem.Value;if(IFrameSplitOperator.IsNumber(volItem.ColorID))item.Color=chart.BarColor[volItem.ColorID];else if(volItem.Color)item.Color=volItem.Color;aryText.push(item);}var item={Text:IFrameSplitOperator.FormatVolString(total,this.LanguageID),Color:this.TitleColor};aryText.push(item);}else{if(find.TotalVol&&IFrameSplitOperator.IsNumber(find.TotalVol.Value)){var item={Text:IFrameSplitOperator.FormatVolString(find.TotalVol.Value,this.LanguageID)};if(IFrameSplitOperator.IsNumber(find.TotalVol.ColorID))item.Color=chart.BarColor[find.TotalVol.ColorID];else if(find.TotalVol.Color)item.Color=find.TotalVol.Color;aryText.push(item);}}return aryText;};this.IsShowLastData=function(){var isShowLastData=false;if(this.DrawStatus&&this.DrawStatus.IsTitleShowLatestData){var status=this.DrawStatus;if(!IFrameSplitOperator.IsNumber(status.FrameID)||status.FrameID<0)isShowLastData=true;else if(status.CorssCursorTouchEnd&&status.IsOnTouch==false)isShowLastData=true;}else if(this.GlobalOption&&this.GlobalOption.IsDisplayLatest){isShowLastData=true;}//十字光标锁定状态 禁用显示最后一个数据
|
|
6035
|
+
{var text=g_JSChartLocalization.GetText('KTitle-Amount',this.LanguageID)+IFrameSplitOperator.FormatValueString(item.Amount,2,this.LanguageID);aryText.push({Text:text,Color:this.AmountColor,LeftSpace:leftSpace});}return aryText;};this.FormatIndexTitle=function(value,dataInfo){if(!value)return null;if(IFrameSplitOperator.IsString(value))return{Text:value,ArrayText:null};if(IFrameSplitOperator.IsNonEmptyArray(value)){var aryText=[];for(var i=0;i<value.length;++i){var item=value[i];if(!item)continue;var textItem={Name:null,Text:null};if(item.Name)textItem.Name=item.Name;if(item.Text)textItem.Text=item.Text;if(item.Color)textItem.Color=item.Color;if(IFrameSplitOperator.IsNumber(item.LeftSpace))textItem.LeftSpace=item.LeftSpace;aryText.push(textItem);}return{Text:null,ArrayText:aryText};}return null;};this.GetColor=function(price,yClose){if(!IFrameSplitOperator.IsNumber(yClose))return this.UnchangeColor;if(price>yClose)return this.UpColor;else if(price<yClose)return this.DownColor;else return this.UnchangeColor;};this.ForamtMultiLineTitle=function(dataIndex,dataInfo){if(!IFrameSplitOperator.IsNonEmptyArray(dataInfo.Lines))return null;var aryText=[];for(var i=0;i<dataInfo.Lines.length;++i){var line=dataInfo.Lines[i];for(var j=0;j<line.Point.length;++j){var item=line.Point[j];if(item.Index==dataIndex){var item={Text:item.Value.toFixed(2)};if(aryText.length==0)item.Name=dataInfo.Name;item.Color=line.Color;aryText.push(item);break;}}}if(!IFrameSplitOperator.IsNonEmptyArray(aryText))return null;return aryText;};this.ForamtMultiPointTitle=function(dataIndex,dataInfo){if(!dataInfo.GetItemCallback)return null;if(!dataInfo.Data||!IFrameSplitOperator.IsNonEmptyArray(dataInfo.Data.Data))return null;var kItem=dataInfo.Data.Data[dataIndex];if(!kItem)return null;var group=dataInfo.GetItemCallback(kItem);if(!group||!IFrameSplitOperator.IsNonEmptyArray(group.Data))return null;var aryText=[];for(var i=0;i<group.Data.length;++i){var item=group.Data[i];var config=item.ColorConfig;var color=null;if(config.BGColor)color=config.BGColor;else if(config.Color)color=config.Color;if(config.Name)aryText.push({Text:config.Name+':',Color:color});var value=item.Data.Value;if(IFrameSplitOperator.IsString(item.Data.Value))value=ChartData.GetKValue(kItem,item.Data.Value);aryText.push({Text:this.FormatValue(value,dataInfo),Color:color});}if(!IFrameSplitOperator.IsNonEmptyArray(aryText))return null;return aryText;};this.ForamtMultiBarTitle=function(dataIndex,dataInfo){if(!dataInfo.GetItemCallback)return null;if(!dataInfo.Data||!IFrameSplitOperator.IsNonEmptyArray(dataInfo.Data.Data))return null;var kItem=dataInfo.Data.Data[dataIndex];if(!kItem)return null;var group=dataInfo.GetItemCallback(kItem);if(!group||!IFrameSplitOperator.IsNonEmptyArray(group.Data))return null;var aryText=[];for(var i=0;i<group.Data.length;++i){var item=group.Data[i];var config=item.ColorConfig;var color=null;if(config.BGColor)color=config.BGColor;else if(config.Color)color=config.Color;if(config.Name)aryText.push({Text:config.Name+':',Color:color});var value=item.Data.Value;if(IFrameSplitOperator.IsString(item.Data.Value))value=ChartData.GetKValue(kItem,item.Data.Value);var value2=item.Data.Value2;if(IFrameSplitOperator.IsString(item.Data.Value2))value2=ChartData.GetKValue(kItem,item.Data.Value2);aryText.push({Text:'['+this.FormatValue(value,dataInfo)+', '+this.FormatValue(value2,dataInfo)+'] ',Color:color});}if(!IFrameSplitOperator.IsNonEmptyArray(aryText))return null;return aryText;};this.FormatVPVRTitle=function(pt,dataInfo){var chart=dataInfo.Chart;var aryText=[];if(chart.VolType==0){var item={Text:" Up/Down ",Color:this.TitleColor};aryText.push(item);}else{var item={Text:" Total ",Color:this.TitleColor};aryText.push(item);}if(!IFrameSplitOperator.IsNumber(pt.Y))return aryText;var top=this.Frame.ChartBorder.GetTopEx();var bottom=this.Frame.ChartBorder.GetBottomEx();if(pt.Y<top||pt.Y>bottom)return aryText;var yPrice=this.Frame.GetYData(pt.Y);var find=null;for(var i=0;i<dataInfo.Data.Data.length;++i){var item=dataInfo.Data.Data[i];if(yPrice>=item.Price-dataInfo.Data.PriceOffset/2&&yPrice<item.Price+dataInfo.Data.PriceOffset/2){find=item;break;}}if(!find)return null;if(chart.VolType==0){var total=0;for(var i=0;i<find.Vol.length;++i){var volItem=find.Vol[i];if(!IFrameSplitOperator.IsNumber(volItem.Value))continue;var item={Text:IFrameSplitOperator.FormatVolString(volItem.Value,this.LanguageID)};total+=volItem.Value;if(IFrameSplitOperator.IsNumber(volItem.ColorID))item.Color=chart.BarColor[volItem.ColorID];else if(volItem.Color)item.Color=volItem.Color;aryText.push(item);}var item={Text:IFrameSplitOperator.FormatVolString(total,this.LanguageID),Color:this.TitleColor};aryText.push(item);}else{if(find.TotalVol&&IFrameSplitOperator.IsNumber(find.TotalVol.Value)){var item={Text:IFrameSplitOperator.FormatVolString(find.TotalVol.Value,this.LanguageID)};if(IFrameSplitOperator.IsNumber(find.TotalVol.ColorID))item.Color=chart.BarColor[find.TotalVol.ColorID];else if(find.TotalVol.Color)item.Color=find.TotalVol.Color;aryText.push(item);}}return aryText;};this.IsShowLastData=function(){var isShowLastData=false;if(this.DrawStatus&&this.DrawStatus.IsTitleShowLatestData){var status=this.DrawStatus;if(!IFrameSplitOperator.IsNumber(status.FrameID)||status.FrameID<0)isShowLastData=true;else if(status.CorssCursorTouchEnd&&status.IsOnTouch==false)isShowLastData=true;}else if(this.GlobalOption&&this.GlobalOption.IsDisplayLatest){isShowLastData=true;}//十字光标锁定状态 禁用显示最后一个数据
|
|
6036
6036
|
if(this.GlobalOption&&this.GlobalOption.LockCorssCursor&&this.GlobalOption.LockCorssCursor.X.Enable)isShowLastData=false;return isShowLastData;};this.OnDrawTitleEvent=function(){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_INDEXTITLE_DRAW);if(!event)return;var data={Index:null,Data:this.Data,Title:this.Title,Script:this.Script,FrameID:this.Frame.Identify,OverlayIndex:this.OverlayIndex,IsShowTitleOnly:false};if(this.ArgumentsText)data.ArgumentsText=this.ArgumentsText;if(this.Frame&&this.Frame.ChartBorder)data.IsShowTitleOnly=this.Frame.ChartBorder.IsShowTitleOnly;if(IFrameSplitOperator.IsNumber(this.CursorIndex)){var index=Math.abs(this.CursorIndex);index=parseInt(index.toFixed(0));data.Index=index;//当前屏数据索引
|
|
6037
6037
|
}var pixelTatio=GetDevicePixelRatio();var border=this.Frame.GetBorder();data.Left=border.LeftEx/pixelTatio;data.Top=border.Top/pixelTatio;data.Right=border.RightEx/pixelTatio;event.Callback(event,data,this);};this.IsSelectedChart=function(id){if(!id)return false;if(!this.SelectedChart)return false;if(!this.SelectedChart.Selected)return false;return this.SelectedChart.Selected.Identify==id;};this.Draw=function(moveonPoint,mouseStatus){this.Buttons=[];if(this.Frame.IsMinSize)return;this.IsKLineFrame=this.Frame.IsKLineFrame(false);this.IsMinuteFrame=this.Frame.IsMinuteFrame(false);this.IsDrawTitleBG=this.Frame.IsDrawTitleBG;this.IsShowNameArrow=this.Frame.IsShowNameArrow;this.IsShowUpDownArrow=this.Frame.IsShowTitleArrow;this.TitleArrowType=this.Frame.TitleArrowType;this.IsShowIndexName=this.Frame.IsShowIndexName;this.IsShowOverlayIndexName=this.Frame.IsShowOverlayIndexName;this.OverlayIndexType.Position=this.Frame.OverlayIndexType.Position;this.OverlayIndexType.LineSpace=this.Frame.OverlayIndexType.LineSpace;this.ParamSpace=this.Frame.IndexParamSpace;this.TitleSpace=this.Frame.IndexTitleSpace;this.TitleRect=null;this.GlobalOption=this.Frame.GlobalOption;this.OnDrawTitleEvent();if(this.Frame.IsShowIndexTitle==false)return;if(g_JSChartResource.IsDOMFrameTitle===true)return;if(!this.Data)return;if(this.Frame.ChartBorder.TitleHeight<5)return;if(this.CursorIndex==null&&!(this.GlobalOption&&this.GlobalOption.IsDisplayLatest))return;if(this.Frame.IsHScreen===true){this.Canvas.save();this.HScreenDraw();this.Canvas.restore();/* 测试用
|
|
6038
6038
|
if (this.TitleRect)
|
|
@@ -6053,7 +6053,7 @@ var value=null;var preVaildItem=null;if(item.DataType=="StraightLine")//直线
|
|
|
6053
6053
|
{value=item.Data.Data[0];valueText=this.FormatValue(value,item);}else if(item.ChartClassName=="ChartVolProfileVisibleRange"){aryText=this.FormatVPVRTitle(this.LastPoint,item);if(!aryText)return null;return{Text:null,ArrayText:aryText};}else{if(isShowLastData){var dataIndex=item.Data.Data.length-1;//显示最后一个数据
|
|
6054
6054
|
}else{var index=Math.abs(this.CursorIndex);index=parseInt(index.toFixed(0));if(this.IsKLineFrame)index=this.CursorIndex;var dataIndex=item.Data.DataOffset+index;if(dataIndex>=item.Data.Data.length)dataIndex=item.Data.Data.length-1;if(dataIndex<0)return null;}if(item.DataType=="ChartMultiLine")//多线段数据
|
|
6055
6055
|
{aryText=this.ForamtMultiLineTitle(dataIndex,item);if(!aryText)return null;return{Text:null,ArrayText:aryText};}else if(item.DataType=="ChartMultiPoint"){aryText=this.ForamtMultiPointTitle(dataIndex,item);if(!aryText)return null;return{Text:null,ArrayText:aryText};}else if(item.DataType=="ChartMultiBar"){aryText=this.ForamtMultiBarTitle(dataIndex,item);if(!aryText)return null;return{Text:null,ArrayText:aryText};}value=item.Data.Data[dataIndex];if(value==null&&item.ChartClassName=="ChartStepLine")//当前值无效,上一个值延续
|
|
6056
|
-
{preVaildItem=this.GetPreVaildItem(item.Data.Data,dataIndex);if(!preVaildItem)return null;preText=this.FormatValue(preVaildItem.Item,item);if(item.Name){var dyValue=this.GetDynamicOutValue(item.Name,preText);if(dyValue)preText=dyValue;}valueText='--('+preText+')';return{Text:valueText,ArrayText:aryText};}if(value==null)return null;if(item.DataType=="HistoryData-Vol"){value=value.Vol;valueText=this.FormatValue(value,item);}else if(item.DataType=="MultiReport"){valueText=this.FormatMultiReport(value,item);}else if(item.DataType=="MULTI_POINT_LINE"){valueText=this.FromatMultiDataLine(value,item);if(!valueText)return null;}else if(item.DataType=="ChartStackedBar"){aryText=this.FromatStackedBarTitle(value,item);if(!aryText)return null;return{Text:null,ArrayText:aryText};}else if(item.DataType=="DRAWKLINE"){aryText=this.
|
|
6056
|
+
{preVaildItem=this.GetPreVaildItem(item.Data.Data,dataIndex);if(!preVaildItem)return null;preText=this.FormatValue(preVaildItem.Item,item);if(item.Name){var dyValue=this.GetDynamicOutValue(item.Name,preText);if(dyValue)preText=dyValue;}valueText='--('+preText+')';return{Text:valueText,ArrayText:aryText};}if(value==null)return null;if(item.DataType=="HistoryData-Vol"){value=value.Vol;valueText=this.FormatValue(value,item);}else if(item.DataType=="MultiReport"){valueText=this.FormatMultiReport(value,item);}else if(item.DataType=="MULTI_POINT_LINE"){valueText=this.FromatMultiDataLine(value,item);if(!valueText)return null;}else if(item.DataType=="ChartStackedBar"){aryText=this.FromatStackedBarTitle(value,item);if(!aryText)return null;return{Text:null,ArrayText:aryText};}else if(item.DataType=="DRAWKLINE"){aryText=this.FormatKLineTitle(value,item);if(!aryText)return null;return{Text:null,ArrayText:aryText};}else if(item.DataType=="ChartIndexTitle"){var outTitle=this.FormatIndexTitle(value,item);return outTitle;}else if(g_ScriptIndexChartFactory.Has(item.DataType))//外部挂接
|
|
6057
6057
|
{var find=g_ScriptIndexChartFactory.Get(item.DataType);if(find&&find.FormatTitleCallback)return find.FormatTitleCallback(value,item,dataIndex);}else{if(this.GetEventCallback){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_FORMAT_INDEX_OUT_TEXT);if(event){var data={Item:item,Index:titleIndex,Data:this.Data,FrameID:this.Frame.Identify,DataIndex:dataIndex,Value:value,Out:null};event.Callback(event,data,this);if(data.Out)return data.Out;}}if(item.DataType=="ChartBand")//默认不输出
|
|
6058
6058
|
return null;var arrowSuper=null;//独立颜色
|
|
6059
6059
|
if(this.IsShowUpDownArrow){var preValue=null;if(dataIndex-1>=0)preValue=item.Data.Data[dataIndex-1];if(IFrameSplitOperator.IsNumber(preValue)){if(preValue>value)arrowSuper={Text:'↓',TextColor:this.UpDownArrowConfig.DownColor};else if(preValue<value)arrowSuper={Text:'↑',TextColor:this.UpDownArrowConfig.UpColor};else arrowSuper={Text:'→',TextColor:this.UpDownArrowConfig.UnchangeColor};if(this.TitleArrowType==1)arrowSuper.TextColor=item.Color;}}valueText=this.FormatValue(value,item);if(item.Name){var dyValue=this.GetDynamicOutValue(item.Name,valueText);if(dyValue)valueText=dyValue;}if(arrowSuper){var outItem={Name:null,Text:valueText,Color:item.Color,TextEx:[arrowSuper]};if(item.Name){var text=item.Name;var dyTitle=this.GetDynamicOutName(item.Name);//动态标题
|
|
@@ -6071,8 +6071,8 @@ for(var i=0;i<aryText.length;++i){var item=aryText[i];if(!item.Text)continue;var
|
|
|
6071
6071
|
this.GetPreVaildItem=function(data,start){for(var i=start;i>=0;--i){var item=data[i];if(item)return{Item:item,Index:i};}return null;};this.DrawSelectedLine=function(left,bottom,textWidth){this.Canvas.save();var fontHeight=this.GetFontHeight();this.Canvas.strokeStyle=this.SelectedColor;var lineWidth=4;var lineBottom=ToFixedPoint2(lineWidth,bottom+fontHeight/2);this.Canvas.lineWidth=lineWidth;this.Canvas.beginPath();this.Canvas.moveTo(left,lineBottom);this.Canvas.lineTo(left+textWidth,lineBottom);this.Canvas.stroke();this.Canvas.restore();};this.DrawOverlayIndexSingleLine=function(moveonPoint,mouseStatus)//叠加指标1个指标一行
|
|
6072
6072
|
{var pixelRatio=GetDevicePixelRatio();var border=this.Frame.GetBorder();if(this.Frame.IsHScreen===true){var left=1;var top=2*pixelRatio;var right=this.Frame.ChartBorder.GetHeight();var bottom=this.Frame.ChartBorder.GetWidthEx();}else{var top=border.TopTitle+2*pixelRatio;if(!this.IsShowMainIndexTitle)top=this.Frame.ChartBorder.GetTop()+2*pixelRatio;var left=this.Frame.ChartBorder.GetLeft()+this.MerginLeft;var right=border.Right;var bottom=border.Bottom;}var lineSpace=this.OverlayIndexType.LineSpace*pixelRatio;var x=left,y=top;var fontHeight=GetFontHeight(this.Canvas,this.Font,"擎");y=top+fontHeight/2;var _iteratorNormalCompletion11=true;var _didIteratorError11=false;var _iteratorError11=undefined;try{for(var _iterator11=(0,_getIterator3.default)(this.OverlayIndex),_step11;!(_iteratorNormalCompletion11=(_step11=_iterator11.next()).done);_iteratorNormalCompletion11=true){item=_step11.value;var overlayItem=item[1];var overlayID=item[0];var toolbarInfo={Width:0,YCenter:y,ID:overlayID};this.DrawOverlayToolbar(overlayItem,toolbarInfo,moveonPoint,mouseStatus);if(!overlayItem.IsShowIndexTitle)continue;if(!overlayItem.Frame.IsShowIndexTitle)continue;x=left+toolbarInfo.Width;this.Canvas.font=this.Font;this.Canvas.textAlign="left";this.Canvas.textBaseline="middle";if(overlayItem.Title&&this.IsShowOverlayIndexName){var textWidth=this.Canvas.measureText(overlayItem.Title).width+2;if(x+textWidth<right){if(this.OverlayIndexType.BGColor){this.Canvas.fillStyle=this.OverlayIndexType.BGColor;var rtBG={Left:x,Top:y-fontHeight/2,Width:textWidth,Height:fontHeight+lineSpace};//保存下标题的坐标
|
|
6073
6073
|
this.Canvas.fillRect(rtBG.Left,rtBG.Top,rtBG.Width,rtBG.Height);}if(this.IsSelectedChart(overlayID))this.DrawSelectedLine(x,y,textWidth,overlayItem.Title);this.Canvas.fillStyle=this.TitleColor;this.Canvas.fillText(overlayItem.Title,x,y,textWidth);}x+=textWidth;}for(var i=0;i<overlayItem.Data.length;++i){var item=overlayItem.Data[i];if(!item||!item.Data||!item.Data.Data||!item.Name)continue;if(item.IsVisible===false)continue;if(item.Data.Data.length<=0)continue;var value=null;var valueText=null;var aryText=null;if(item.DataType=="StraightLine")//直线只有1个数据
|
|
6074
|
-
{value=item.Data.Data[0];valueText=this.FormatValue(value,item);}else{var index=Math.abs(this.CursorIndex-0.5);index=parseInt(index.toFixed(0));if(this.IsKLineFrame)index=this.CursorIndex;var dataIndex=item.Data.DataOffset+index;if(dataIndex>=item.Data.Data.length)dataIndex=item.Data.Data.length-1;if(dataIndex<0)continue;value=item.Data.Data[dataIndex];if(value==null)continue;if(item.DataType=="HistoryData-Vol"){value=value.Vol;valueText=this.FormatValue(value,item);}else if(item.DataType=="MultiReport"){valueText=this.FormatMultiReport(value,item);}else if(item.DataType=="ChartStackedBar"){aryText=this.FromatStackedBarTitle(value,item);if(!aryText)continue;}else if(item.DataType=="ChartMultiPoint"){aryText=this.ForamtMultiPointTitle(dataIndex,item);if(!aryText)continue;}else if(item.DataType=="ChartMultiBar"){aryText=this.ForamtMultiBarTitle(dataIndex,item);if(!aryText)continue;}else if(item.DataType=="DRAWKLINE"){aryText=this.
|
|
6075
|
-
if(x+textWidth>right)break;if(this.OverlayIndexType.BGColor){this.Canvas.fillStyle=this.OverlayIndexType.BGColor;var rtBG={Left:x,Top:y-fontHeight/2,Width:textWidth,Height:fontHeight+lineSpace};//保存下标题的坐标
|
|
6074
|
+
{value=item.Data.Data[0];valueText=this.FormatValue(value,item);}else{var index=Math.abs(this.CursorIndex-0.5);index=parseInt(index.toFixed(0));if(this.IsKLineFrame)index=this.CursorIndex;var dataIndex=item.Data.DataOffset+index;if(dataIndex>=item.Data.Data.length)dataIndex=item.Data.Data.length-1;if(dataIndex<0)continue;value=item.Data.Data[dataIndex];if(value==null)continue;if(item.DataType=="HistoryData-Vol"){value=value.Vol;valueText=this.FormatValue(value,item);}else if(item.DataType=="MultiReport"){valueText=this.FormatMultiReport(value,item);}else if(item.DataType=="ChartStackedBar"){aryText=this.FromatStackedBarTitle(value,item);if(!aryText)continue;}else if(item.DataType=="ChartMultiPoint"){aryText=this.ForamtMultiPointTitle(dataIndex,item);if(!aryText)continue;}else if(item.DataType=="ChartMultiBar"){aryText=this.ForamtMultiBarTitle(dataIndex,item);if(!aryText)continue;}else if(item.DataType=="DRAWKLINE"){aryText=this.FormatKLineTitle(value,item);if(!aryText)continue;}else if(item.DataType=="ChartIndexTitle"){var outTitle=this.FormatIndexTitle(value,item);if(!outTitle)continue;valueText=outTitle.Text;aryText=outTitle.ArrayText;}else{valueText=this.FormatValue(value,item);}}if(aryText){var text;for(var k=0;k<aryText.length;++k){var titleItem=aryText[k];if(titleItem.Name)text=titleItem.Name+":"+titleItem.Text;else text=titleItem.Text;var textWidth=this.Canvas.measureText(text).width+2;//后空2个像素
|
|
6075
|
+
if(x+textWidth>right)break;if(IFrameSplitOperator.IsNumber(titleItem.LeftSpace))x+=titleItem.LeftSpace*pixelRatio;if(this.OverlayIndexType.BGColor){this.Canvas.fillStyle=this.OverlayIndexType.BGColor;var rtBG={Left:x,Top:y-fontHeight/2,Width:textWidth,Height:fontHeight+lineSpace};//保存下标题的坐标
|
|
6076
6076
|
this.Canvas.fillRect(rtBG.Left,rtBG.Top,rtBG.Width,rtBG.Height);}this.Canvas.fillStyle=titleItem.Color;this.Canvas.fillText(text,x,y,textWidth);x+=textWidth;}}else{var text=valueText;if(item.Name){var dyTitle=this.GetDynamicOutName(item.Name,overlayID);if(dyTitle)text=dyTitle+":"+valueText;else text=item.Name+":"+valueText;}var textWidth=this.Canvas.measureText(text).width+2;//后空2个像素
|
|
6077
6077
|
if(x+textWidth>right)break;if(this.OverlayIndexType.BGColor){this.Canvas.fillStyle=this.OverlayIndexType.BGColor;var rtBG={Left:x,Top:y-fontHeight/2,Width:textWidth,Height:fontHeight+lineSpace};//保存下标题的坐标
|
|
6078
6078
|
this.Canvas.fillRect(rtBG.Left,rtBG.Top,rtBG.Width,rtBG.Height);}this.Canvas.fillStyle=item.Color;this.Canvas.fillText(text,x,y,textWidth);x+=textWidth;}}y+=fontHeight+lineSpace;if(y+fontHeight+lineSpace>=bottom)break;}}catch(err){_didIteratorError11=true;_iteratorError11=err;}finally{try{if(!_iteratorNormalCompletion11&&_iterator11.return){_iterator11.return();}}finally{if(_didIteratorError11){throw _iteratorError11;}}}};this.DrawOverlayIndex=function(left)//叠加指标标题
|
|
@@ -11932,7 +11932,7 @@ var titleInfo={Data:[],Title:this.Name,Frame:this.OverlayIndex.Frame.Frame,Scrip
|
|
|
11932
11932
|
if(hqChart.Frame.SubFrame[windowIndex]){var mainFrame=hqChart.Frame.SubFrame[windowIndex].Frame;if(mainFrame)this.OverlayIndex.Frame.Frame.XPointCount=mainFrame.XPointCount;//跟主窗口同步下页面显示数据个数
|
|
11933
11933
|
}for(var i=0;i<this.OutVar.length;++i){var _item29=this.OutVar[i];if(_item29.IsExData===true)continue;//扩展数据不显示图形
|
|
11934
11934
|
if(_item29.Type==0){this.CreateLine(hqChart,windowIndex,_item29,i,_item29.Type);}else if(_item29.Type==1){switch(_item29.Draw.DrawType){case'STICKLINE':this.CreateBar(hqChart,windowIndex,_item29,i);break;case'DRAWTEXT':this.CreateDrawTextV2(hqChart,windowIndex,_item29,i);break;case'SUPERDRAWTEXT':this.CreateText(hqChart,windowIndex,_item29,i);break;case'DRAWLINE':this.CreateStraightLine(hqChart,windowIndex,_item29,i);break;case'DRAWBAND':this.CreateBand(hqChart,windowIndex,_item29,i);break;case'DRAWKLINE':this.CreateKLine(hqChart,windowIndex,_item29,i);break;case'DRAWKLINE_IF':this.CreateKLine(hqChart,windowIndex,_item29,i);break;case'POLYLINE':this.CreatePolyLine(hqChart,windowIndex,_item29,i);break;case'DRAWGBK':case"DRAWGBK2":this.CreateBackgroud(hqChart,windowIndex,_item29,i);break;case'DRAWNUMBER':case"DRAWNUMBER_FIX":case'DRAWTEXT_FIX':this.CreateNumberText(hqChart,windowIndex,_item29,i);break;case'DRAWICON':this.CreateIcon(hqChart,windowIndex,_item29,i);break;case"TIPICON":this.CreateTipIcon(hqChart,windowIndex,_item29,i);break;case'DRAWCHANNEL':this.CreateChannel(hqChart,windowIndex,_item29,i);break;case'DRAWTEXT_LINE':this.CreateTextLine(hqChart,windowIndex,_item29,i);break;case"VERTLINE":this.CreateChartVericaltLine(hqChart,windowIndex,_item29,i);break;case"HORLINE":this.CreateChartHorizontalLine(hqChart,windowIndex,_item29,i);break;case'MULTI_LINE':this.CreateMultiLine(hqChart,windowIndex,_item29,i);break;case"MULTI_POINT":this.CreateMultiPoint(hqChart,windowIndex,_item29,i);break;case'MULTI_BAR':this.CreateMultiBar(hqChart,windowIndex,_item29,i);break;case'MULTI_TEXT':this.CreateMultiText(hqChart,windowIndex,_item29,i);break;case'MULTI_SVGICON':this.CreateMultiSVGIcon(hqChart,windowIndex,_item29,i);break;case"DRAWSVG":this.CreateChartDrawSVG(hqChart,windowIndex,_item29,i);break;case"MULTI_HTMLDOM":this.CreateMulitHtmlDom(hqChart,windowIndex,_item29,i);break;case"DRAW_SIMPLE_TABLE":this.CreateSimpleTable(hqChart,windowIndex,_item29,i);break;case"DRAW_SIMPLE_PIE":this.CreateSimplePie(hqChart,windowIndex,_item29,i);break;case"DRAW_SIMPLE_DOUGHNUT":this.CreateSimpleDoughnut(hqChart,windowIndex,_item29,i);break;case"DRAW_SIMPLE_RADAR":this.CreateSimpleRadar(hqChart,windowIndex,_item29,i);break;case"KLINE_BG":this.CreateBackgroud(hqChart,windowIndex,_item29,i);break;case'PARTLINE':this.CreatePartLine(hqChart,windowIndex,_item29,i);break;case"DRAWTEXTABS":case"DRAWTEXTREL":this.CreateDrawText(hqChart,windowIndex,_item29,i);break;case SCRIPT_CHART_NAME.OVERLAY_BARS:this.CreateStackedBar(hqChart,windowIndex,_item29,i);break;case"DRAWCOLORKLINE":this.CreateDrawColorKLine(hqChart,windowIndex,_item29,i);break;default:{var find=g_ScriptIndexChartFactory.Get(_item29.Draw.DrawType);//外部挂接
|
|
11935
|
-
if(find&&find.CreateChartCallback)find.CreateChartCallback(hqChart,windowIndex,_item29,i,this);}break;}}else if(_item29.Type==2){this.CreateMACD(hqChart,windowIndex,_item29,i);}else if(_item29.Type==3){this.CreatePointDot(hqChart,windowIndex,_item29,i,hisData);}else if(_item29.Type==4){this.CreateLineStick(hqChart,windowIndex,_item29,i);}else if(_item29.Type==5){this.CreateStick(hqChart,windowIndex,_item29,i);}else if(_item29.Type==6){this.CreateVolStick(hqChart,windowIndex,_item29,i,hisData);}else if(_item29.Type==7){this.CreateLine(hqChart,windowIndex,_item29,i,_item29.Type);}else if(_item29.Type==8){this.CreateLine(hqChart,windowIndex,_item29,i,_item29.Type);}var titleData=titleInfo.Data[i];if(titleData){if(this.FloatPrecision>=0)titleData.FloatPrecision=this.FloatPrecision;if(IFrameSplitOperator.IsNumber(this.StringFormat))titleData.StringFormat=this.StringFormat;}}/*
|
|
11935
|
+
if(find&&find.CreateChartCallback)find.CreateChartCallback(hqChart,windowIndex,_item29,i,this);}break;}}else if(_item29.Type==2){this.CreateMACD(hqChart,windowIndex,_item29,i);}else if(_item29.Type==3){this.CreatePointDot(hqChart,windowIndex,_item29,i,hisData);}else if(_item29.Type==4){this.CreateLineStick(hqChart,windowIndex,_item29,i);}else if(_item29.Type==5){this.CreateStick(hqChart,windowIndex,_item29,i);}else if(_item29.Type==6){this.CreateVolStick(hqChart,windowIndex,_item29,i,hisData);}else if(_item29.Type==7){this.CreateLine(hqChart,windowIndex,_item29,i,_item29.Type);}else if(_item29.Type==8){this.CreateLine(hqChart,windowIndex,_item29,i,_item29.Type);}else if(_item29.Type==10){this.CreateTitle(hqChart,windowIndex,_item29,i);}var titleData=titleInfo.Data[i];if(titleData){if(this.FloatPrecision>=0)titleData.FloatPrecision=this.FloatPrecision;if(IFrameSplitOperator.IsNumber(this.StringFormat))titleData.StringFormat=this.StringFormat;}}/*
|
|
11936
11936
|
hqChart.TitlePaint[titleIndex].Title=this.Name;
|
|
11937
11937
|
|
|
11938
11938
|
let indexParam='';
|
|
@@ -11971,7 +11971,7 @@ this.CreateKLine=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.
|
|
|
11971
11971
|
chart.UnchagneColor=chart.DownColor=chart.UpColor=this.GetColor(varItem.Color);if(varItem.Draw.Config){var config=varItem.Draw.Config;if(IFrameSplitOperator.IsBool(config.IsShowMaxMinPrice))chart.IsShowMaxMinPrice=config.IsShowMaxMinPrice;if(IFrameSplitOperator.IsBool(config.IsShowKTooltip))chart.IsShowKTooltip=config.IsShowKTooltip;if(config.Symbol)chart.Symbol=config.Symbol;if(config.Name)chart.Title=config.Name;}var bShowTitle=false;if(IFrameSplitOperator.IsBool(varItem.IsShowTitle))bShowTitle=varItem.IsShowTitle;if(bShowTitle){var titleIndex=windowIndex+1;chart.Data.Data=varItem.Draw.DrawData;var titlePaint=hqChart.TitlePaint[titleIndex];var titleData=new DynamicTitleData(chart.Data,varItem.Name,chart.Color);titleData.DataType="DRAWKLINE";titleData.Symbol=chart.Symbol;titlePaint.OverlayIndex.get(overlayIndex.Identify).Data[id]=titleData;}frame.ChartPaint.push(chart);};this.CreatePolyLine=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartLine();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;if(varItem.Color)chart.Color=this.GetColor(varItem.Color);else chart.Color=this.GetDefaultColor(id);if(varItem.LineWidth){var width=parseInt(varItem.LineWidth.replace("LINETHICK",""));if(!isNaN(width)&&width>0)chart.LineWidth=width;}var titleIndex=windowIndex+1;chart.Data.Data=varItem.Draw.DrawData;var titlePaint=hqChart.TitlePaint[titleIndex];titlePaint.OverlayIndex.get(overlayIndex.Identify).Data[id]=new DynamicTitleData(line.Data,' ',line.Color);//给一个空的标题
|
|
11972
11972
|
frame.ChartPaint.push(chart);};this.CreateNumberText=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartSingleText();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.ReloadResource();chart.TextAlign="center";if(varItem.Color)chart.Color=this.GetColor(varItem.Color);else chart.Color=this.GetDefaultColor(id);if(varItem.IsDrawAbove)chart.Direction=1;else chart.Direction=2;if(varItem.Draw.Position)chart.Position=varItem.Draw.Position;//赋值坐标
|
|
11973
11973
|
var titleIndex=windowIndex+1;chart.Data.Data=varItem.Draw.DrawData.Value;chart.Text=varItem.Draw.DrawData.Text;//hqChart.TitlePaint[titleIndex].Data[id]=new DynamicTitleData(bar.Data,varItem.Name,bar.Color);
|
|
11974
|
-
this.SetChartIndexName(chart);frame.ChartPaint.push(chart);};this.CreateTextLine=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartTextLine();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;if(varItem.Draw&&varItem.Draw.DrawData){var drawData=varItem.Draw.DrawData;chart.Text=drawData.Text;chart.Line=drawData.Line;chart.Price=drawData.Price;}frame.ChartPaint.push(chart);};this.CreateStackedBar=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartStackedBar();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;if(IFrameSplitOperator.IsNonEmptyArray(varItem.Draw.BarColor))chart.BarColor=varItem.Draw.BarColor;if(IFrameSplitOperator.IsNonEmptyArray(varItem.Draw.BarName))chart.BarName=varItem.Draw.BarName;if(IFrameSplitOperator.IsNumber(varItem.Draw.LineWidth))chart.LineWidth=varItem.Draw.LineWidth;if(IFrameSplitOperator.IsNumber(varItem.Draw.BarType))chart.BarType=varItem.Draw.BarType;chart.Data.Data=varItem.Draw.DrawData;var titleIndex=windowIndex+1;var titlePaint=hqChart.TitlePaint[titleIndex];var titleData=new DynamicTitleData(chart.Data,chart.BarName,chart.BarColor);titleData.DataType="ChartStackedBar";titlePaint.OverlayIndex.get(overlayIndex.Identify).Data[id]=titleData;frame.ChartPaint.push(chart);};this.CreateDrawColorKLine=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartColorKline();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.DrawName="DRAWCOLORKLINE";chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.Data.Data=varItem.Draw.DrawData;if(IFrameSplitOperator.IsBool(varItem.Draw.IsEmptyBar))chart.IsEmptyBar=varItem.Draw.IsEmptyBar;if(varItem.Draw.Color)chart.Color=varItem.Draw.Color;frame.ChartPaint.push(chart);};//创建图标
|
|
11974
|
+
this.SetChartIndexName(chart);frame.ChartPaint.push(chart);};this.CreateTextLine=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartTextLine();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;if(varItem.Draw&&varItem.Draw.DrawData){var drawData=varItem.Draw.DrawData;chart.Text=drawData.Text;chart.Line=drawData.Line;chart.Price=drawData.Price;}frame.ChartPaint.push(chart);};this.CreateTitle=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartIndexTitle();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;if(varItem.Color)chart.Color=this.GetColor(varItem.Color);else chart.Color=this.GetDefaultColor(id);chart.Data.Data=varItem.Data;var titleIndex=windowIndex+1;var titlePaint=hqChart.TitlePaint[titleIndex];var titleData=new DynamicTitleData(chart.Data,chart.Name,chart.Color);titleData.DataType="ChartIndexTitle";titlePaint.OverlayIndex.get(overlayIndex.Identify).Data[id]=titleData;this.SetChartIndexName(chart);frame.ChartPaint.push(chart);};this.CreateStackedBar=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartStackedBar();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;if(IFrameSplitOperator.IsNonEmptyArray(varItem.Draw.BarColor))chart.BarColor=varItem.Draw.BarColor;if(IFrameSplitOperator.IsNonEmptyArray(varItem.Draw.BarName))chart.BarName=varItem.Draw.BarName;if(IFrameSplitOperator.IsNumber(varItem.Draw.LineWidth))chart.LineWidth=varItem.Draw.LineWidth;if(IFrameSplitOperator.IsNumber(varItem.Draw.BarType))chart.BarType=varItem.Draw.BarType;chart.Data.Data=varItem.Draw.DrawData;var titleIndex=windowIndex+1;var titlePaint=hqChart.TitlePaint[titleIndex];var titleData=new DynamicTitleData(chart.Data,chart.BarName,chart.BarColor);titleData.DataType="ChartStackedBar";titlePaint.OverlayIndex.get(overlayIndex.Identify).Data[id]=titleData;frame.ChartPaint.push(chart);};this.CreateDrawColorKLine=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartColorKline();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.DrawName="DRAWCOLORKLINE";chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.Data.Data=varItem.Draw.DrawData;if(IFrameSplitOperator.IsBool(varItem.Draw.IsEmptyBar))chart.IsEmptyBar=varItem.Draw.IsEmptyBar;if(varItem.Draw.Color)chart.Color=varItem.Draw.Color;frame.ChartPaint.push(chart);};//创建图标
|
|
11975
11975
|
this.CreateIcon=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartSingleText();chart.Canvas=hqChart.Canvas;chart.TextAlign='center';chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;if(varItem.DrawVAlign>=0){if(varItem.DrawVAlign==0)chart.Direction=1;else if(varItem.DrawVAlign==1)chart.Direction=0;else if(varItem.DrawVAlign==2)chart.Direction=2;}if(varItem.DrawAlign>=0){if(varItem.DrawAlign==0)chart.TextAlign="left";else if(varItem.DrawAlign==1)chart.TextAlign="center";else if(varItem.DrawAlign==2)chart.TextAlign='right';}if(IFrameSplitOperator.IsNumber(varItem.XOffset))chart.ShowOffset.X=varItem.XOffset;if(IFrameSplitOperator.IsNumber(varItem.YOffset))chart.ShowOffset.Y=varItem.YOffset;chart.Data.Data=varItem.Draw.DrawData;var icon=varItem.Draw.Icon;if(icon.IconFont==true){chart.IconFont={Family:icon.Family,Text:icon.Symbol,Color:icon.Color};}else{chart.Text=icon.Symbol;if(varItem.Color)chart.Color=this.GetColor(varItem.Color);else if(icon.Color)chart.Color=icon.Color;else chart.Color='rgb(0,0,0)';}//var titleIndex=windowIndex+1;
|
|
11976
11976
|
//hqChart.TitlePaint[titleIndex].Data[id]=new DynamicTitleData(bar.Data,varItem.Name,bar.Color);
|
|
11977
11977
|
this.SetChartIndexName(chart);frame.ChartPaint.push(chart);};this.CreateTipIcon=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartDrawSVG();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.Data=hqChart.GetKData();chart.Family=varItem.Draw.Icon.Family;chart.TextFont=g_JSChartResource.TIPICON.TextFont;var svgSize=g_JSChartResource.TIPICON.Size;var svgColor=g_JSChartResource.TIPICON.Color;var svgYOffset=0;var svgVAlign=2;//上下对齐方式
|
|
@@ -14383,7 +14383,7 @@ hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,St
|
|
|
14383
14383
|
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);};}/********************************************************************************
|
|
14384
14384
|
* 版本信息输出
|
|
14385
14385
|
*
|
|
14386
|
-
*/var HQCHART_VERSION="1.1.
|
|
14386
|
+
*/var HQCHART_VERSION="1.1.14500";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();//把给外界调用的方法暴露出来
|
|
14387
14387
|
exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
|
|
14388
14388
|
// BaseIndex:BaseIndex,
|
|
14389
14389
|
// ChartLine:ChartLine,
|
package/package.json
CHANGED
|
@@ -57437,6 +57437,8 @@ HQData.Report_APIIndex=function(data, callback)
|
|
|
57437
57437
|
HQData.APIIndex_CHANNEL_V2(data, callback);
|
|
57438
57438
|
else if (request.Data.indexname=="API_DRAWKLINE")
|
|
57439
57439
|
HQData.APIIndex_DRAWKLINE(data, callback);
|
|
57440
|
+
else if (request.Data.indexname=="API_TITLE")
|
|
57441
|
+
HQData.APIIndex_TITLE(data, callback);
|
|
57440
57442
|
}
|
|
57441
57443
|
|
|
57442
57444
|
|
|
@@ -58147,7 +58149,7 @@ HQData.APIIndex_MULTI_BAR=function(data, callback)
|
|
|
58147
58149
|
[
|
|
58148
58150
|
//{Date:20190916, Time: Value:15.5, Value2:0 },
|
|
58149
58151
|
],
|
|
58150
|
-
Width:10
|
|
58152
|
+
//Width:10
|
|
58151
58153
|
};
|
|
58152
58154
|
|
|
58153
58155
|
var point2=
|
|
@@ -58160,19 +58162,22 @@ HQData.APIIndex_MULTI_BAR=function(data, callback)
|
|
|
58160
58162
|
[
|
|
58161
58163
|
//{Date:20190916, Time: Value:15.5, Value2:0 },
|
|
58162
58164
|
],
|
|
58163
|
-
Width:10
|
|
58165
|
+
//Width:10
|
|
58164
58166
|
};
|
|
58165
58167
|
|
|
58166
58168
|
for(var i=0;i<kData.Data.length;++i)
|
|
58167
58169
|
{
|
|
58168
58170
|
var item=kData.Data[i];
|
|
58169
|
-
point.Point.push({Date:item.Date, Time:item.Time, Value:(item.High+item.Low)/2, Value2:item.High});
|
|
58170
|
-
point2.Point.push({Date:item.Date, Time:item.Time, Value:(item.High+item.Low)/2, Value2:item.Low});
|
|
58171
|
+
///point.Point.push({Date:item.Date, Time:item.Time, Value:(item.High+item.Low)/2, Value2:item.High});
|
|
58172
|
+
///point2.Point.push({Date:item.Date, Time:item.Time, Value:(item.High+item.Low)/2, Value2:item.Low});
|
|
58173
|
+
|
|
58174
|
+
point.Point.push({Date:item.Date, Time:item.Time, Value:(item.High+item.Low)/2+HQData.GetRandomTestData(2,10), Value2:item.High});
|
|
58175
|
+
point2.Point.push({Date:item.Date, Time:item.Time, Value:(item.High+item.Low)/2-HQData.GetRandomTestData(2,10), Value2:item.Low});
|
|
58171
58176
|
}
|
|
58172
58177
|
|
|
58173
58178
|
|
|
58174
58179
|
|
|
58175
|
-
|
|
58180
|
+
barData.Draw.DrawData.push(point);
|
|
58176
58181
|
barData.Draw.DrawData.push(point2);
|
|
58177
58182
|
|
|
58178
58183
|
var apiData=
|
|
@@ -58354,9 +58359,6 @@ HQData.APIIndex_DRAWKLINE=function(data, callback)
|
|
|
58354
58359
|
IsShowTitle:true,
|
|
58355
58360
|
};
|
|
58356
58361
|
|
|
58357
|
-
|
|
58358
|
-
var textData={ name:"", type:10, color:"rgb(148,0,211)", data:[], isshow:false }; //名字
|
|
58359
|
-
|
|
58360
58362
|
var aryDate=[];
|
|
58361
58363
|
var aryTime=[];
|
|
58362
58364
|
for(var i=100;i<kData.Data.length-100;++i)
|
|
@@ -58378,15 +58380,13 @@ HQData.APIIndex_DRAWKLINE=function(data, callback)
|
|
|
58378
58380
|
|
|
58379
58381
|
aryDate.push(kItem.Date);
|
|
58380
58382
|
aryTime.push(kItem.Time);
|
|
58381
|
-
|
|
58382
|
-
textData.data.push(kItem.YClose.toFixed(2));
|
|
58383
58383
|
}
|
|
58384
58384
|
|
|
58385
58385
|
var apiData=
|
|
58386
58386
|
{
|
|
58387
58387
|
code:0,
|
|
58388
58388
|
stock:{ name:hqchart.Name, symbol:hqchart.Symbol },
|
|
58389
|
-
outdata: { date:aryDate, time:aryTime, outvar:[
|
|
58389
|
+
outdata: { date:aryDate, time:aryTime, outvar:[ klineData] }
|
|
58390
58390
|
};
|
|
58391
58391
|
|
|
58392
58392
|
console.log('[HQData.APIIndex_DRAWKLINE] apiData ', apiData);
|
|
@@ -58394,3 +58394,45 @@ HQData.APIIndex_DRAWKLINE=function(data, callback)
|
|
|
58394
58394
|
}
|
|
58395
58395
|
|
|
58396
58396
|
|
|
58397
|
+
HQData.APIIndex_TITLE=function(data, callback)
|
|
58398
|
+
{
|
|
58399
|
+
data.PreventDefault=true;
|
|
58400
|
+
var hqchart=data.HQChart;
|
|
58401
|
+
var kData=hqchart.GetKData();
|
|
58402
|
+
|
|
58403
|
+
var textData={ name:"标题", type:10, color:"rgb(0,128,128)", data:[], }; //名字
|
|
58404
|
+
var closeData={ name:"收盘价", type:0, color:"rgb(255,165,0)", data:[] } ; //
|
|
58405
|
+
|
|
58406
|
+
var aryDate=[];
|
|
58407
|
+
var aryTime=[];
|
|
58408
|
+
for(var i=0;i<kData.Data.length-30;++i)
|
|
58409
|
+
{
|
|
58410
|
+
var kItem=kData.Data[i];
|
|
58411
|
+
|
|
58412
|
+
closeData.data.push(kItem.Close);
|
|
58413
|
+
|
|
58414
|
+
textData.data.push(
|
|
58415
|
+
[
|
|
58416
|
+
{ Name:`收`, Text:`${kItem.Close.toFixed(2)}`, Color:"rgb(200,10,10)",},
|
|
58417
|
+
{ Name:`开`, Text:`${kItem.Open.toFixed(2)}`, Color:"rgb(0,200,10)", LeftSpace:2 }
|
|
58418
|
+
]);
|
|
58419
|
+
|
|
58420
|
+
//textData.data.push(`价格:${kItem.Close.toFixed(2)}`);
|
|
58421
|
+
|
|
58422
|
+
aryDate.push(kItem.Date);
|
|
58423
|
+
aryTime.push(kItem.Time);
|
|
58424
|
+
}
|
|
58425
|
+
|
|
58426
|
+
|
|
58427
|
+
var apiData=
|
|
58428
|
+
{
|
|
58429
|
+
code:0,
|
|
58430
|
+
stock:{ name:hqchart.Name, symbol:hqchart.Symbol },
|
|
58431
|
+
outdata: { date:aryDate, time:aryTime, outvar:[ textData, closeData] }
|
|
58432
|
+
};
|
|
58433
|
+
|
|
58434
|
+
console.log('[HQData.APIIndex_TITLE] apiData ', apiData);
|
|
58435
|
+
callback(apiData);
|
|
58436
|
+
}
|
|
58437
|
+
|
|
58438
|
+
|
|
@@ -23021,6 +23021,12 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
23021
23021
|
{
|
|
23022
23022
|
this.CreateLine(hqChart,windowIndex,item,i, item.Type);
|
|
23023
23023
|
}
|
|
23024
|
+
else if (item.Type==10)
|
|
23025
|
+
{
|
|
23026
|
+
this.CreateTitle(hqChart,windowIndex,item,i);
|
|
23027
|
+
}
|
|
23028
|
+
|
|
23029
|
+
|
|
23024
23030
|
|
|
23025
23031
|
var titleData=titleInfo.Data[i];
|
|
23026
23032
|
if (titleData)
|
|
@@ -23588,6 +23594,7 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
23588
23594
|
chart.Name=varItem.Name;
|
|
23589
23595
|
chart.ChartBorder=frame.Frame.ChartBorder;
|
|
23590
23596
|
chart.ChartFrame=frame.Frame;
|
|
23597
|
+
chart.Identify=overlayIndex.Identify;
|
|
23591
23598
|
if (varItem.Draw && varItem.Draw.DrawData)
|
|
23592
23599
|
{
|
|
23593
23600
|
var drawData=varItem.Draw.DrawData;
|
|
@@ -23599,6 +23606,32 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
23599
23606
|
frame.ChartPaint.push(chart);
|
|
23600
23607
|
}
|
|
23601
23608
|
|
|
23609
|
+
this.CreateTitle=function(hqChart,windowIndex,varItem,id)
|
|
23610
|
+
{
|
|
23611
|
+
var overlayIndex=this.OverlayIndex;
|
|
23612
|
+
var frame=overlayIndex.Frame;
|
|
23613
|
+
let chart=new ChartIndexTitle();
|
|
23614
|
+
chart.Canvas=hqChart.Canvas;
|
|
23615
|
+
|
|
23616
|
+
chart.Name=varItem.Name;
|
|
23617
|
+
chart.ChartBorder=frame.Frame.ChartBorder;
|
|
23618
|
+
chart.ChartFrame=frame.Frame;
|
|
23619
|
+
chart.Identify=overlayIndex.Identify;
|
|
23620
|
+
|
|
23621
|
+
if (varItem.Color) chart.Color=this.GetColor(varItem.Color);
|
|
23622
|
+
else chart.Color=this.GetDefaultColor(id);
|
|
23623
|
+
chart.Data.Data=varItem.Data;
|
|
23624
|
+
|
|
23625
|
+
var titleIndex=windowIndex+1;
|
|
23626
|
+
var titlePaint=hqChart.TitlePaint[titleIndex];
|
|
23627
|
+
var titleData=new DynamicTitleData(chart.Data,chart.Name,chart.Color);
|
|
23628
|
+
titleData.DataType="ChartIndexTitle";
|
|
23629
|
+
titlePaint.OverlayIndex.get(overlayIndex.Identify).Data[id]=titleData;
|
|
23630
|
+
|
|
23631
|
+
this.SetChartIndexName(chart);
|
|
23632
|
+
frame.ChartPaint.push(chart);
|
|
23633
|
+
}
|
|
23634
|
+
|
|
23602
23635
|
this.CreateStackedBar=function(hqChart,windowIndex,varItem,id)
|
|
23603
23636
|
{
|
|
23604
23637
|
var overlayIndex=this.OverlayIndex;
|
package/src/jscommon/umychart.js
CHANGED
|
@@ -58163,7 +58163,7 @@ function DynamicChartTitlePainting()
|
|
|
58163
58163
|
return aryText;
|
|
58164
58164
|
}
|
|
58165
58165
|
|
|
58166
|
-
this.
|
|
58166
|
+
this.FormatKLineTitle=function(item, dataInfo)
|
|
58167
58167
|
{
|
|
58168
58168
|
var defaultfloatPrecision=GetfloatPrecision(dataInfo.Symbol);//价格小数位数
|
|
58169
58169
|
var upperSymbol="";
|
|
@@ -58241,6 +58241,35 @@ function DynamicChartTitlePainting()
|
|
|
58241
58241
|
return aryText;
|
|
58242
58242
|
}
|
|
58243
58243
|
|
|
58244
|
+
this.FormatIndexTitle=function(value, dataInfo)
|
|
58245
|
+
{
|
|
58246
|
+
if (!value) return null;
|
|
58247
|
+
|
|
58248
|
+
if (IFrameSplitOperator.IsString(value)) return { Text:value, ArrayText:null };
|
|
58249
|
+
|
|
58250
|
+
if (IFrameSplitOperator.IsNonEmptyArray(value))
|
|
58251
|
+
{
|
|
58252
|
+
var aryText=[];
|
|
58253
|
+
for(var i=0;i<value.length;++i)
|
|
58254
|
+
{
|
|
58255
|
+
var item=value[i];
|
|
58256
|
+
if (!item) continue;
|
|
58257
|
+
|
|
58258
|
+
var textItem={ Name:null, Text:null };
|
|
58259
|
+
if (item.Name) textItem.Name=item.Name;
|
|
58260
|
+
if (item.Text) textItem.Text=item.Text;
|
|
58261
|
+
if (item.Color) textItem.Color=item.Color;
|
|
58262
|
+
if (IFrameSplitOperator.IsNumber(item.LeftSpace)) textItem.LeftSpace=item.LeftSpace;
|
|
58263
|
+
|
|
58264
|
+
aryText.push(textItem);
|
|
58265
|
+
}
|
|
58266
|
+
|
|
58267
|
+
return { Text:null, ArrayText:aryText }
|
|
58268
|
+
}
|
|
58269
|
+
|
|
58270
|
+
return null;
|
|
58271
|
+
}
|
|
58272
|
+
|
|
58244
58273
|
this.GetColor=function(price,yClose)
|
|
58245
58274
|
{
|
|
58246
58275
|
if (!IFrameSplitOperator.IsNumber(yClose)) return this.UnchangeColor;
|
|
@@ -58738,15 +58767,14 @@ function DynamicChartTitlePainting()
|
|
|
58738
58767
|
}
|
|
58739
58768
|
else if (item.DataType=="DRAWKLINE")
|
|
58740
58769
|
{
|
|
58741
|
-
aryText=this.
|
|
58770
|
+
aryText=this.FormatKLineTitle(value, item);
|
|
58742
58771
|
if (!aryText) return null;
|
|
58743
58772
|
return { Text:null, ArrayText:aryText };
|
|
58744
58773
|
}
|
|
58745
58774
|
else if (item.DataType=="ChartIndexTitle")
|
|
58746
58775
|
{
|
|
58747
|
-
var
|
|
58748
|
-
|
|
58749
|
-
return { Text:text, ArrayText:null };
|
|
58776
|
+
var outTitle=this.FormatIndexTitle(value, item);
|
|
58777
|
+
return outTitle;
|
|
58750
58778
|
}
|
|
58751
58779
|
else if (g_ScriptIndexChartFactory.Has(item.DataType)) //外部挂接
|
|
58752
58780
|
{
|
|
@@ -59140,9 +59168,17 @@ function DynamicChartTitlePainting()
|
|
|
59140
59168
|
}
|
|
59141
59169
|
else if (item.DataType=="DRAWKLINE")
|
|
59142
59170
|
{
|
|
59143
|
-
aryText=this.
|
|
59171
|
+
aryText=this.FormatKLineTitle(value, item);
|
|
59144
59172
|
if (!aryText) continue;
|
|
59145
59173
|
}
|
|
59174
|
+
else if (item.DataType=="ChartIndexTitle")
|
|
59175
|
+
{
|
|
59176
|
+
var outTitle=this.FormatIndexTitle(value, item);
|
|
59177
|
+
if (!outTitle) continue;
|
|
59178
|
+
|
|
59179
|
+
valueText=outTitle.Text;
|
|
59180
|
+
aryText=outTitle.ArrayText;
|
|
59181
|
+
}
|
|
59146
59182
|
else
|
|
59147
59183
|
{
|
|
59148
59184
|
valueText=this.FormatValue(value,item);
|
|
@@ -59160,6 +59196,8 @@ function DynamicChartTitlePainting()
|
|
|
59160
59196
|
var textWidth=this.Canvas.measureText(text).width+2; //后空2个像素
|
|
59161
59197
|
if ((x+textWidth)>right) break;
|
|
59162
59198
|
|
|
59199
|
+
if (IFrameSplitOperator.IsNumber(titleItem.LeftSpace)) x+=titleItem.LeftSpace*pixelRatio;
|
|
59200
|
+
|
|
59163
59201
|
if (this.OverlayIndexType.BGColor)
|
|
59164
59202
|
{
|
|
59165
59203
|
this.Canvas.fillStyle=this.OverlayIndexType.BGColor;
|
|
@@ -1923,6 +1923,8 @@ HQData.Report_APIIndex=function(data, callback)
|
|
|
1923
1923
|
HQData.APIIndex_CHANNEL_V2(data, callback);
|
|
1924
1924
|
else if (request.Data.indexname=="API_DRAWKLINE")
|
|
1925
1925
|
HQData.APIIndex_DRAWKLINE(data, callback);
|
|
1926
|
+
else if (request.Data.indexname=="API_TITLE")
|
|
1927
|
+
HQData.APIIndex_TITLE(data, callback);
|
|
1926
1928
|
}
|
|
1927
1929
|
|
|
1928
1930
|
|
|
@@ -2633,7 +2635,7 @@ HQData.APIIndex_MULTI_BAR=function(data, callback)
|
|
|
2633
2635
|
[
|
|
2634
2636
|
//{Date:20190916, Time: Value:15.5, Value2:0 },
|
|
2635
2637
|
],
|
|
2636
|
-
Width:10
|
|
2638
|
+
//Width:10
|
|
2637
2639
|
};
|
|
2638
2640
|
|
|
2639
2641
|
var point2=
|
|
@@ -2646,19 +2648,22 @@ HQData.APIIndex_MULTI_BAR=function(data, callback)
|
|
|
2646
2648
|
[
|
|
2647
2649
|
//{Date:20190916, Time: Value:15.5, Value2:0 },
|
|
2648
2650
|
],
|
|
2649
|
-
Width:10
|
|
2651
|
+
//Width:10
|
|
2650
2652
|
};
|
|
2651
2653
|
|
|
2652
2654
|
for(var i=0;i<kData.Data.length;++i)
|
|
2653
2655
|
{
|
|
2654
2656
|
var item=kData.Data[i];
|
|
2655
|
-
point.Point.push({Date:item.Date, Time:item.Time, Value:(item.High+item.Low)/2, Value2:item.High});
|
|
2656
|
-
point2.Point.push({Date:item.Date, Time:item.Time, Value:(item.High+item.Low)/2, Value2:item.Low});
|
|
2657
|
+
///point.Point.push({Date:item.Date, Time:item.Time, Value:(item.High+item.Low)/2, Value2:item.High});
|
|
2658
|
+
///point2.Point.push({Date:item.Date, Time:item.Time, Value:(item.High+item.Low)/2, Value2:item.Low});
|
|
2659
|
+
|
|
2660
|
+
point.Point.push({Date:item.Date, Time:item.Time, Value:(item.High+item.Low)/2+HQData.GetRandomTestData(2,10), Value2:item.High});
|
|
2661
|
+
point2.Point.push({Date:item.Date, Time:item.Time, Value:(item.High+item.Low)/2-HQData.GetRandomTestData(2,10), Value2:item.Low});
|
|
2657
2662
|
}
|
|
2658
2663
|
|
|
2659
2664
|
|
|
2660
2665
|
|
|
2661
|
-
|
|
2666
|
+
barData.Draw.DrawData.push(point);
|
|
2662
2667
|
barData.Draw.DrawData.push(point2);
|
|
2663
2668
|
|
|
2664
2669
|
var apiData=
|
|
@@ -2840,9 +2845,6 @@ HQData.APIIndex_DRAWKLINE=function(data, callback)
|
|
|
2840
2845
|
IsShowTitle:true,
|
|
2841
2846
|
};
|
|
2842
2847
|
|
|
2843
|
-
|
|
2844
|
-
var textData={ name:"", type:10, color:"rgb(148,0,211)", data:[], isshow:false }; //名字
|
|
2845
|
-
|
|
2846
2848
|
var aryDate=[];
|
|
2847
2849
|
var aryTime=[];
|
|
2848
2850
|
for(var i=100;i<kData.Data.length-100;++i)
|
|
@@ -2864,15 +2866,13 @@ HQData.APIIndex_DRAWKLINE=function(data, callback)
|
|
|
2864
2866
|
|
|
2865
2867
|
aryDate.push(kItem.Date);
|
|
2866
2868
|
aryTime.push(kItem.Time);
|
|
2867
|
-
|
|
2868
|
-
textData.data.push(kItem.YClose.toFixed(2));
|
|
2869
2869
|
}
|
|
2870
2870
|
|
|
2871
2871
|
var apiData=
|
|
2872
2872
|
{
|
|
2873
2873
|
code:0,
|
|
2874
2874
|
stock:{ name:hqchart.Name, symbol:hqchart.Symbol },
|
|
2875
|
-
outdata: { date:aryDate, time:aryTime, outvar:[
|
|
2875
|
+
outdata: { date:aryDate, time:aryTime, outvar:[ klineData] }
|
|
2876
2876
|
};
|
|
2877
2877
|
|
|
2878
2878
|
console.log('[HQData.APIIndex_DRAWKLINE] apiData ', apiData);
|
|
@@ -2880,3 +2880,45 @@ HQData.APIIndex_DRAWKLINE=function(data, callback)
|
|
|
2880
2880
|
}
|
|
2881
2881
|
|
|
2882
2882
|
|
|
2883
|
+
HQData.APIIndex_TITLE=function(data, callback)
|
|
2884
|
+
{
|
|
2885
|
+
data.PreventDefault=true;
|
|
2886
|
+
var hqchart=data.HQChart;
|
|
2887
|
+
var kData=hqchart.GetKData();
|
|
2888
|
+
|
|
2889
|
+
var textData={ name:"标题", type:10, color:"rgb(0,128,128)", data:[], }; //名字
|
|
2890
|
+
var closeData={ name:"收盘价", type:0, color:"rgb(255,165,0)", data:[] } ; //
|
|
2891
|
+
|
|
2892
|
+
var aryDate=[];
|
|
2893
|
+
var aryTime=[];
|
|
2894
|
+
for(var i=0;i<kData.Data.length-30;++i)
|
|
2895
|
+
{
|
|
2896
|
+
var kItem=kData.Data[i];
|
|
2897
|
+
|
|
2898
|
+
closeData.data.push(kItem.Close);
|
|
2899
|
+
|
|
2900
|
+
textData.data.push(
|
|
2901
|
+
[
|
|
2902
|
+
{ Name:`收`, Text:`${kItem.Close.toFixed(2)}`, Color:"rgb(200,10,10)",},
|
|
2903
|
+
{ Name:`开`, Text:`${kItem.Open.toFixed(2)}`, Color:"rgb(0,200,10)", LeftSpace:2 }
|
|
2904
|
+
]);
|
|
2905
|
+
|
|
2906
|
+
//textData.data.push(`价格:${kItem.Close.toFixed(2)}`);
|
|
2907
|
+
|
|
2908
|
+
aryDate.push(kItem.Date);
|
|
2909
|
+
aryTime.push(kItem.Time);
|
|
2910
|
+
}
|
|
2911
|
+
|
|
2912
|
+
|
|
2913
|
+
var apiData=
|
|
2914
|
+
{
|
|
2915
|
+
code:0,
|
|
2916
|
+
stock:{ name:hqchart.Name, symbol:hqchart.Symbol },
|
|
2917
|
+
outdata: { date:aryDate, time:aryTime, outvar:[ textData, closeData] }
|
|
2918
|
+
};
|
|
2919
|
+
|
|
2920
|
+
console.log('[HQData.APIIndex_TITLE] apiData ', apiData);
|
|
2921
|
+
callback(apiData);
|
|
2922
|
+
}
|
|
2923
|
+
|
|
2924
|
+
|
|
@@ -62088,7 +62088,7 @@ function DynamicChartTitlePainting()
|
|
|
62088
62088
|
return aryText;
|
|
62089
62089
|
}
|
|
62090
62090
|
|
|
62091
|
-
this.
|
|
62091
|
+
this.FormatKLineTitle=function(item, dataInfo)
|
|
62092
62092
|
{
|
|
62093
62093
|
var defaultfloatPrecision=GetfloatPrecision(dataInfo.Symbol);//价格小数位数
|
|
62094
62094
|
var upperSymbol="";
|
|
@@ -62166,6 +62166,35 @@ function DynamicChartTitlePainting()
|
|
|
62166
62166
|
return aryText;
|
|
62167
62167
|
}
|
|
62168
62168
|
|
|
62169
|
+
this.FormatIndexTitle=function(value, dataInfo)
|
|
62170
|
+
{
|
|
62171
|
+
if (!value) return null;
|
|
62172
|
+
|
|
62173
|
+
if (IFrameSplitOperator.IsString(value)) return { Text:value, ArrayText:null };
|
|
62174
|
+
|
|
62175
|
+
if (IFrameSplitOperator.IsNonEmptyArray(value))
|
|
62176
|
+
{
|
|
62177
|
+
var aryText=[];
|
|
62178
|
+
for(var i=0;i<value.length;++i)
|
|
62179
|
+
{
|
|
62180
|
+
var item=value[i];
|
|
62181
|
+
if (!item) continue;
|
|
62182
|
+
|
|
62183
|
+
var textItem={ Name:null, Text:null };
|
|
62184
|
+
if (item.Name) textItem.Name=item.Name;
|
|
62185
|
+
if (item.Text) textItem.Text=item.Text;
|
|
62186
|
+
if (item.Color) textItem.Color=item.Color;
|
|
62187
|
+
if (IFrameSplitOperator.IsNumber(item.LeftSpace)) textItem.LeftSpace=item.LeftSpace;
|
|
62188
|
+
|
|
62189
|
+
aryText.push(textItem);
|
|
62190
|
+
}
|
|
62191
|
+
|
|
62192
|
+
return { Text:null, ArrayText:aryText }
|
|
62193
|
+
}
|
|
62194
|
+
|
|
62195
|
+
return null;
|
|
62196
|
+
}
|
|
62197
|
+
|
|
62169
62198
|
this.GetColor=function(price,yClose)
|
|
62170
62199
|
{
|
|
62171
62200
|
if (!IFrameSplitOperator.IsNumber(yClose)) return this.UnchangeColor;
|
|
@@ -62663,15 +62692,14 @@ function DynamicChartTitlePainting()
|
|
|
62663
62692
|
}
|
|
62664
62693
|
else if (item.DataType=="DRAWKLINE")
|
|
62665
62694
|
{
|
|
62666
|
-
aryText=this.
|
|
62695
|
+
aryText=this.FormatKLineTitle(value, item);
|
|
62667
62696
|
if (!aryText) return null;
|
|
62668
62697
|
return { Text:null, ArrayText:aryText };
|
|
62669
62698
|
}
|
|
62670
62699
|
else if (item.DataType=="ChartIndexTitle")
|
|
62671
62700
|
{
|
|
62672
|
-
var
|
|
62673
|
-
|
|
62674
|
-
return { Text:text, ArrayText:null };
|
|
62701
|
+
var outTitle=this.FormatIndexTitle(value, item);
|
|
62702
|
+
return outTitle;
|
|
62675
62703
|
}
|
|
62676
62704
|
else if (g_ScriptIndexChartFactory.Has(item.DataType)) //外部挂接
|
|
62677
62705
|
{
|
|
@@ -63065,9 +63093,17 @@ function DynamicChartTitlePainting()
|
|
|
63065
63093
|
}
|
|
63066
63094
|
else if (item.DataType=="DRAWKLINE")
|
|
63067
63095
|
{
|
|
63068
|
-
aryText=this.
|
|
63096
|
+
aryText=this.FormatKLineTitle(value, item);
|
|
63069
63097
|
if (!aryText) continue;
|
|
63070
63098
|
}
|
|
63099
|
+
else if (item.DataType=="ChartIndexTitle")
|
|
63100
|
+
{
|
|
63101
|
+
var outTitle=this.FormatIndexTitle(value, item);
|
|
63102
|
+
if (!outTitle) continue;
|
|
63103
|
+
|
|
63104
|
+
valueText=outTitle.Text;
|
|
63105
|
+
aryText=outTitle.ArrayText;
|
|
63106
|
+
}
|
|
63071
63107
|
else
|
|
63072
63108
|
{
|
|
63073
63109
|
valueText=this.FormatValue(value,item);
|
|
@@ -63085,6 +63121,8 @@ function DynamicChartTitlePainting()
|
|
|
63085
63121
|
var textWidth=this.Canvas.measureText(text).width+2; //后空2个像素
|
|
63086
63122
|
if ((x+textWidth)>right) break;
|
|
63087
63123
|
|
|
63124
|
+
if (IFrameSplitOperator.IsNumber(titleItem.LeftSpace)) x+=titleItem.LeftSpace*pixelRatio;
|
|
63125
|
+
|
|
63088
63126
|
if (this.OverlayIndexType.BGColor)
|
|
63089
63127
|
{
|
|
63090
63128
|
this.Canvas.fillStyle=this.OverlayIndexType.BGColor;
|
|
@@ -125508,6 +125546,12 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
125508
125546
|
{
|
|
125509
125547
|
this.CreateLine(hqChart,windowIndex,item,i, item.Type);
|
|
125510
125548
|
}
|
|
125549
|
+
else if (item.Type==10)
|
|
125550
|
+
{
|
|
125551
|
+
this.CreateTitle(hqChart,windowIndex,item,i);
|
|
125552
|
+
}
|
|
125553
|
+
|
|
125554
|
+
|
|
125511
125555
|
|
|
125512
125556
|
var titleData=titleInfo.Data[i];
|
|
125513
125557
|
if (titleData)
|
|
@@ -126075,6 +126119,7 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
126075
126119
|
chart.Name=varItem.Name;
|
|
126076
126120
|
chart.ChartBorder=frame.Frame.ChartBorder;
|
|
126077
126121
|
chart.ChartFrame=frame.Frame;
|
|
126122
|
+
chart.Identify=overlayIndex.Identify;
|
|
126078
126123
|
if (varItem.Draw && varItem.Draw.DrawData)
|
|
126079
126124
|
{
|
|
126080
126125
|
var drawData=varItem.Draw.DrawData;
|
|
@@ -126086,6 +126131,32 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
126086
126131
|
frame.ChartPaint.push(chart);
|
|
126087
126132
|
}
|
|
126088
126133
|
|
|
126134
|
+
this.CreateTitle=function(hqChart,windowIndex,varItem,id)
|
|
126135
|
+
{
|
|
126136
|
+
var overlayIndex=this.OverlayIndex;
|
|
126137
|
+
var frame=overlayIndex.Frame;
|
|
126138
|
+
let chart=new ChartIndexTitle();
|
|
126139
|
+
chart.Canvas=hqChart.Canvas;
|
|
126140
|
+
|
|
126141
|
+
chart.Name=varItem.Name;
|
|
126142
|
+
chart.ChartBorder=frame.Frame.ChartBorder;
|
|
126143
|
+
chart.ChartFrame=frame.Frame;
|
|
126144
|
+
chart.Identify=overlayIndex.Identify;
|
|
126145
|
+
|
|
126146
|
+
if (varItem.Color) chart.Color=this.GetColor(varItem.Color);
|
|
126147
|
+
else chart.Color=this.GetDefaultColor(id);
|
|
126148
|
+
chart.Data.Data=varItem.Data;
|
|
126149
|
+
|
|
126150
|
+
var titleIndex=windowIndex+1;
|
|
126151
|
+
var titlePaint=hqChart.TitlePaint[titleIndex];
|
|
126152
|
+
var titleData=new DynamicTitleData(chart.Data,chart.Name,chart.Color);
|
|
126153
|
+
titleData.DataType="ChartIndexTitle";
|
|
126154
|
+
titlePaint.OverlayIndex.get(overlayIndex.Identify).Data[id]=titleData;
|
|
126155
|
+
|
|
126156
|
+
this.SetChartIndexName(chart);
|
|
126157
|
+
frame.ChartPaint.push(chart);
|
|
126158
|
+
}
|
|
126159
|
+
|
|
126089
126160
|
this.CreateStackedBar=function(hqChart,windowIndex,varItem,id)
|
|
126090
126161
|
{
|
|
126091
126162
|
var overlayIndex=this.OverlayIndex;
|
|
@@ -144248,7 +144319,7 @@ function ScrollBarBGChart()
|
|
|
144248
144319
|
|
|
144249
144320
|
|
|
144250
144321
|
|
|
144251
|
-
var HQCHART_VERSION="1.1.
|
|
144322
|
+
var HQCHART_VERSION="1.1.14500";
|
|
144252
144323
|
|
|
144253
144324
|
function PrintHQChartVersion()
|
|
144254
144325
|
{
|
|
@@ -57455,6 +57455,8 @@ HQData.Report_APIIndex=function(data, callback)
|
|
|
57455
57455
|
HQData.APIIndex_CHANNEL_V2(data, callback);
|
|
57456
57456
|
else if (request.Data.indexname=="API_DRAWKLINE")
|
|
57457
57457
|
HQData.APIIndex_DRAWKLINE(data, callback);
|
|
57458
|
+
else if (request.Data.indexname=="API_TITLE")
|
|
57459
|
+
HQData.APIIndex_TITLE(data, callback);
|
|
57458
57460
|
}
|
|
57459
57461
|
|
|
57460
57462
|
|
|
@@ -58165,7 +58167,7 @@ HQData.APIIndex_MULTI_BAR=function(data, callback)
|
|
|
58165
58167
|
[
|
|
58166
58168
|
//{Date:20190916, Time: Value:15.5, Value2:0 },
|
|
58167
58169
|
],
|
|
58168
|
-
Width:10
|
|
58170
|
+
//Width:10
|
|
58169
58171
|
};
|
|
58170
58172
|
|
|
58171
58173
|
var point2=
|
|
@@ -58178,19 +58180,22 @@ HQData.APIIndex_MULTI_BAR=function(data, callback)
|
|
|
58178
58180
|
[
|
|
58179
58181
|
//{Date:20190916, Time: Value:15.5, Value2:0 },
|
|
58180
58182
|
],
|
|
58181
|
-
Width:10
|
|
58183
|
+
//Width:10
|
|
58182
58184
|
};
|
|
58183
58185
|
|
|
58184
58186
|
for(var i=0;i<kData.Data.length;++i)
|
|
58185
58187
|
{
|
|
58186
58188
|
var item=kData.Data[i];
|
|
58187
|
-
point.Point.push({Date:item.Date, Time:item.Time, Value:(item.High+item.Low)/2, Value2:item.High});
|
|
58188
|
-
point2.Point.push({Date:item.Date, Time:item.Time, Value:(item.High+item.Low)/2, Value2:item.Low});
|
|
58189
|
+
///point.Point.push({Date:item.Date, Time:item.Time, Value:(item.High+item.Low)/2, Value2:item.High});
|
|
58190
|
+
///point2.Point.push({Date:item.Date, Time:item.Time, Value:(item.High+item.Low)/2, Value2:item.Low});
|
|
58191
|
+
|
|
58192
|
+
point.Point.push({Date:item.Date, Time:item.Time, Value:(item.High+item.Low)/2+HQData.GetRandomTestData(2,10), Value2:item.High});
|
|
58193
|
+
point2.Point.push({Date:item.Date, Time:item.Time, Value:(item.High+item.Low)/2-HQData.GetRandomTestData(2,10), Value2:item.Low});
|
|
58189
58194
|
}
|
|
58190
58195
|
|
|
58191
58196
|
|
|
58192
58197
|
|
|
58193
|
-
|
|
58198
|
+
barData.Draw.DrawData.push(point);
|
|
58194
58199
|
barData.Draw.DrawData.push(point2);
|
|
58195
58200
|
|
|
58196
58201
|
var apiData=
|
|
@@ -58372,9 +58377,6 @@ HQData.APIIndex_DRAWKLINE=function(data, callback)
|
|
|
58372
58377
|
IsShowTitle:true,
|
|
58373
58378
|
};
|
|
58374
58379
|
|
|
58375
|
-
|
|
58376
|
-
var textData={ name:"", type:10, color:"rgb(148,0,211)", data:[], isshow:false }; //名字
|
|
58377
|
-
|
|
58378
58380
|
var aryDate=[];
|
|
58379
58381
|
var aryTime=[];
|
|
58380
58382
|
for(var i=100;i<kData.Data.length-100;++i)
|
|
@@ -58396,15 +58398,13 @@ HQData.APIIndex_DRAWKLINE=function(data, callback)
|
|
|
58396
58398
|
|
|
58397
58399
|
aryDate.push(kItem.Date);
|
|
58398
58400
|
aryTime.push(kItem.Time);
|
|
58399
|
-
|
|
58400
|
-
textData.data.push(kItem.YClose.toFixed(2));
|
|
58401
58401
|
}
|
|
58402
58402
|
|
|
58403
58403
|
var apiData=
|
|
58404
58404
|
{
|
|
58405
58405
|
code:0,
|
|
58406
58406
|
stock:{ name:hqchart.Name, symbol:hqchart.Symbol },
|
|
58407
|
-
outdata: { date:aryDate, time:aryTime, outvar:[
|
|
58407
|
+
outdata: { date:aryDate, time:aryTime, outvar:[ klineData] }
|
|
58408
58408
|
};
|
|
58409
58409
|
|
|
58410
58410
|
console.log('[HQData.APIIndex_DRAWKLINE] apiData ', apiData);
|
|
@@ -58412,6 +58412,48 @@ HQData.APIIndex_DRAWKLINE=function(data, callback)
|
|
|
58412
58412
|
}
|
|
58413
58413
|
|
|
58414
58414
|
|
|
58415
|
+
HQData.APIIndex_TITLE=function(data, callback)
|
|
58416
|
+
{
|
|
58417
|
+
data.PreventDefault=true;
|
|
58418
|
+
var hqchart=data.HQChart;
|
|
58419
|
+
var kData=hqchart.GetKData();
|
|
58420
|
+
|
|
58421
|
+
var textData={ name:"标题", type:10, color:"rgb(0,128,128)", data:[], }; //名字
|
|
58422
|
+
var closeData={ name:"收盘价", type:0, color:"rgb(255,165,0)", data:[] } ; //
|
|
58423
|
+
|
|
58424
|
+
var aryDate=[];
|
|
58425
|
+
var aryTime=[];
|
|
58426
|
+
for(var i=0;i<kData.Data.length-30;++i)
|
|
58427
|
+
{
|
|
58428
|
+
var kItem=kData.Data[i];
|
|
58429
|
+
|
|
58430
|
+
closeData.data.push(kItem.Close);
|
|
58431
|
+
|
|
58432
|
+
textData.data.push(
|
|
58433
|
+
[
|
|
58434
|
+
{ Name:`收`, Text:`${kItem.Close.toFixed(2)}`, Color:"rgb(200,10,10)",},
|
|
58435
|
+
{ Name:`开`, Text:`${kItem.Open.toFixed(2)}`, Color:"rgb(0,200,10)", LeftSpace:2 }
|
|
58436
|
+
]);
|
|
58437
|
+
|
|
58438
|
+
//textData.data.push(`价格:${kItem.Close.toFixed(2)}`);
|
|
58439
|
+
|
|
58440
|
+
aryDate.push(kItem.Date);
|
|
58441
|
+
aryTime.push(kItem.Time);
|
|
58442
|
+
}
|
|
58443
|
+
|
|
58444
|
+
|
|
58445
|
+
var apiData=
|
|
58446
|
+
{
|
|
58447
|
+
code:0,
|
|
58448
|
+
stock:{ name:hqchart.Name, symbol:hqchart.Symbol },
|
|
58449
|
+
outdata: { date:aryDate, time:aryTime, outvar:[ textData, closeData] }
|
|
58450
|
+
};
|
|
58451
|
+
|
|
58452
|
+
console.log('[HQData.APIIndex_TITLE] apiData ', apiData);
|
|
58453
|
+
callback(apiData);
|
|
58454
|
+
}
|
|
58455
|
+
|
|
58456
|
+
|
|
58415
58457
|
|
|
58416
58458
|
|
|
58417
58459
|
/*暴露外部用的方法*/
|
|
@@ -62132,7 +62132,7 @@ function DynamicChartTitlePainting()
|
|
|
62132
62132
|
return aryText;
|
|
62133
62133
|
}
|
|
62134
62134
|
|
|
62135
|
-
this.
|
|
62135
|
+
this.FormatKLineTitle=function(item, dataInfo)
|
|
62136
62136
|
{
|
|
62137
62137
|
var defaultfloatPrecision=GetfloatPrecision(dataInfo.Symbol);//价格小数位数
|
|
62138
62138
|
var upperSymbol="";
|
|
@@ -62210,6 +62210,35 @@ function DynamicChartTitlePainting()
|
|
|
62210
62210
|
return aryText;
|
|
62211
62211
|
}
|
|
62212
62212
|
|
|
62213
|
+
this.FormatIndexTitle=function(value, dataInfo)
|
|
62214
|
+
{
|
|
62215
|
+
if (!value) return null;
|
|
62216
|
+
|
|
62217
|
+
if (IFrameSplitOperator.IsString(value)) return { Text:value, ArrayText:null };
|
|
62218
|
+
|
|
62219
|
+
if (IFrameSplitOperator.IsNonEmptyArray(value))
|
|
62220
|
+
{
|
|
62221
|
+
var aryText=[];
|
|
62222
|
+
for(var i=0;i<value.length;++i)
|
|
62223
|
+
{
|
|
62224
|
+
var item=value[i];
|
|
62225
|
+
if (!item) continue;
|
|
62226
|
+
|
|
62227
|
+
var textItem={ Name:null, Text:null };
|
|
62228
|
+
if (item.Name) textItem.Name=item.Name;
|
|
62229
|
+
if (item.Text) textItem.Text=item.Text;
|
|
62230
|
+
if (item.Color) textItem.Color=item.Color;
|
|
62231
|
+
if (IFrameSplitOperator.IsNumber(item.LeftSpace)) textItem.LeftSpace=item.LeftSpace;
|
|
62232
|
+
|
|
62233
|
+
aryText.push(textItem);
|
|
62234
|
+
}
|
|
62235
|
+
|
|
62236
|
+
return { Text:null, ArrayText:aryText }
|
|
62237
|
+
}
|
|
62238
|
+
|
|
62239
|
+
return null;
|
|
62240
|
+
}
|
|
62241
|
+
|
|
62213
62242
|
this.GetColor=function(price,yClose)
|
|
62214
62243
|
{
|
|
62215
62244
|
if (!IFrameSplitOperator.IsNumber(yClose)) return this.UnchangeColor;
|
|
@@ -62707,15 +62736,14 @@ function DynamicChartTitlePainting()
|
|
|
62707
62736
|
}
|
|
62708
62737
|
else if (item.DataType=="DRAWKLINE")
|
|
62709
62738
|
{
|
|
62710
|
-
aryText=this.
|
|
62739
|
+
aryText=this.FormatKLineTitle(value, item);
|
|
62711
62740
|
if (!aryText) return null;
|
|
62712
62741
|
return { Text:null, ArrayText:aryText };
|
|
62713
62742
|
}
|
|
62714
62743
|
else if (item.DataType=="ChartIndexTitle")
|
|
62715
62744
|
{
|
|
62716
|
-
var
|
|
62717
|
-
|
|
62718
|
-
return { Text:text, ArrayText:null };
|
|
62745
|
+
var outTitle=this.FormatIndexTitle(value, item);
|
|
62746
|
+
return outTitle;
|
|
62719
62747
|
}
|
|
62720
62748
|
else if (g_ScriptIndexChartFactory.Has(item.DataType)) //外部挂接
|
|
62721
62749
|
{
|
|
@@ -63109,9 +63137,17 @@ function DynamicChartTitlePainting()
|
|
|
63109
63137
|
}
|
|
63110
63138
|
else if (item.DataType=="DRAWKLINE")
|
|
63111
63139
|
{
|
|
63112
|
-
aryText=this.
|
|
63140
|
+
aryText=this.FormatKLineTitle(value, item);
|
|
63113
63141
|
if (!aryText) continue;
|
|
63114
63142
|
}
|
|
63143
|
+
else if (item.DataType=="ChartIndexTitle")
|
|
63144
|
+
{
|
|
63145
|
+
var outTitle=this.FormatIndexTitle(value, item);
|
|
63146
|
+
if (!outTitle) continue;
|
|
63147
|
+
|
|
63148
|
+
valueText=outTitle.Text;
|
|
63149
|
+
aryText=outTitle.ArrayText;
|
|
63150
|
+
}
|
|
63115
63151
|
else
|
|
63116
63152
|
{
|
|
63117
63153
|
valueText=this.FormatValue(value,item);
|
|
@@ -63129,6 +63165,8 @@ function DynamicChartTitlePainting()
|
|
|
63129
63165
|
var textWidth=this.Canvas.measureText(text).width+2; //后空2个像素
|
|
63130
63166
|
if ((x+textWidth)>right) break;
|
|
63131
63167
|
|
|
63168
|
+
if (IFrameSplitOperator.IsNumber(titleItem.LeftSpace)) x+=titleItem.LeftSpace*pixelRatio;
|
|
63169
|
+
|
|
63132
63170
|
if (this.OverlayIndexType.BGColor)
|
|
63133
63171
|
{
|
|
63134
63172
|
this.Canvas.fillStyle=this.OverlayIndexType.BGColor;
|
|
@@ -125552,6 +125590,12 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
125552
125590
|
{
|
|
125553
125591
|
this.CreateLine(hqChart,windowIndex,item,i, item.Type);
|
|
125554
125592
|
}
|
|
125593
|
+
else if (item.Type==10)
|
|
125594
|
+
{
|
|
125595
|
+
this.CreateTitle(hqChart,windowIndex,item,i);
|
|
125596
|
+
}
|
|
125597
|
+
|
|
125598
|
+
|
|
125555
125599
|
|
|
125556
125600
|
var titleData=titleInfo.Data[i];
|
|
125557
125601
|
if (titleData)
|
|
@@ -126119,6 +126163,7 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
126119
126163
|
chart.Name=varItem.Name;
|
|
126120
126164
|
chart.ChartBorder=frame.Frame.ChartBorder;
|
|
126121
126165
|
chart.ChartFrame=frame.Frame;
|
|
126166
|
+
chart.Identify=overlayIndex.Identify;
|
|
126122
126167
|
if (varItem.Draw && varItem.Draw.DrawData)
|
|
126123
126168
|
{
|
|
126124
126169
|
var drawData=varItem.Draw.DrawData;
|
|
@@ -126130,6 +126175,32 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
126130
126175
|
frame.ChartPaint.push(chart);
|
|
126131
126176
|
}
|
|
126132
126177
|
|
|
126178
|
+
this.CreateTitle=function(hqChart,windowIndex,varItem,id)
|
|
126179
|
+
{
|
|
126180
|
+
var overlayIndex=this.OverlayIndex;
|
|
126181
|
+
var frame=overlayIndex.Frame;
|
|
126182
|
+
let chart=new ChartIndexTitle();
|
|
126183
|
+
chart.Canvas=hqChart.Canvas;
|
|
126184
|
+
|
|
126185
|
+
chart.Name=varItem.Name;
|
|
126186
|
+
chart.ChartBorder=frame.Frame.ChartBorder;
|
|
126187
|
+
chart.ChartFrame=frame.Frame;
|
|
126188
|
+
chart.Identify=overlayIndex.Identify;
|
|
126189
|
+
|
|
126190
|
+
if (varItem.Color) chart.Color=this.GetColor(varItem.Color);
|
|
126191
|
+
else chart.Color=this.GetDefaultColor(id);
|
|
126192
|
+
chart.Data.Data=varItem.Data;
|
|
126193
|
+
|
|
126194
|
+
var titleIndex=windowIndex+1;
|
|
126195
|
+
var titlePaint=hqChart.TitlePaint[titleIndex];
|
|
126196
|
+
var titleData=new DynamicTitleData(chart.Data,chart.Name,chart.Color);
|
|
126197
|
+
titleData.DataType="ChartIndexTitle";
|
|
126198
|
+
titlePaint.OverlayIndex.get(overlayIndex.Identify).Data[id]=titleData;
|
|
126199
|
+
|
|
126200
|
+
this.SetChartIndexName(chart);
|
|
126201
|
+
frame.ChartPaint.push(chart);
|
|
126202
|
+
}
|
|
126203
|
+
|
|
126133
126204
|
this.CreateStackedBar=function(hqChart,windowIndex,varItem,id)
|
|
126134
126205
|
{
|
|
126135
126206
|
var overlayIndex=this.OverlayIndex;
|
|
@@ -154077,7 +154148,7 @@ function HQChartScriptWorker()
|
|
|
154077
154148
|
|
|
154078
154149
|
|
|
154079
154150
|
|
|
154080
|
-
var HQCHART_VERSION="1.1.
|
|
154151
|
+
var HQCHART_VERSION="1.1.14500";
|
|
154081
154152
|
|
|
154082
154153
|
function PrintHQChartVersion()
|
|
154083
154154
|
{
|