hqchart 1.1.14482 → 1.1.14487
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 +19 -11
- package/package.json +1 -1
- package/src/jscommon/umychart.NetworkFilterTest.js +2 -1
- package/src/jscommon/umychart.complier.js +34 -1
- package/src/jscommon/umychart.js +126 -4
- package/src/jscommon/umychart.testdata.js +2 -1
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +161 -6
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.NetworkFilterTest.vue.js +2 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +161 -6
package/lib/umychart.vue.js
CHANGED
|
@@ -2182,11 +2182,11 @@ this.OnChangeCorssCursorStatus=function(data,obj){if(data.Type==1){if(!data.IsSh
|
|
|
2182
2182
|
{this.HideTooltip();this.CloseTooltipDialog();}}};//手动更新指标 [ {ID:主图指标ID, OverlayID:叠加指标ID }]
|
|
2183
2183
|
this.UpdateWindowIndexV2=function(aryIndex,option){if(!this.Frame||!this.Frame.SubFrame)return false;var kData=this.GetKData();if(!kData||!IFrameSplitOperator.IsNonEmptyArray(kData.Data))return false;if(!IFrameSplitOperator.IsNonEmptyArray(aryIndex))return false;var setMainIndex=new _set2.default();//主图指标
|
|
2184
2184
|
var setOverlayIndex=new _set2.default();//附图指标
|
|
2185
|
-
for(var i=0;aryIndex.length;++i){var item=aryIndex[i];if(!item)continue;if(item.ID)setMainIndex.
|
|
2185
|
+
for(var i=0;i<aryIndex.length;++i){var item=aryIndex[i];if(!item)continue;if(item.ID)setMainIndex.add(item.ID);if(item.OverlayID)setOverlayIndex.add(item.OverlayID);}if(setMainIndex.size<=0&&setOverlayIndex.size<0)return false;//K线数据
|
|
2186
2186
|
var bindData=new ChartData();if(kData)bindData.Data=kData.Data;if(this.IsKLineContainer())//K线
|
|
2187
2187
|
{bindData.Period=this.Period;bindData.Right=this.Right;}//主图指标
|
|
2188
2188
|
if(setMainIndex.size>0){for(var i=0;i<this.WindowIndex.length;++i){var item=this.WindowIndex[i];if(!item)continue;if(setMainIndex.has(item.ID)){this.BindIndexData(i,bindData);}}}//叠加指标
|
|
2189
|
-
if(setOverlayIndex.size>0){for(var i=0;i<this.Frame.SubFrame.length;++i){var item=this.Frame.SubFrame[i];for(var j=0;j<item.OverlayIndex.length;++j){var overlayItem=item.OverlayIndex[j];if(setOverlayIndex.has(overlayItem.Identify)){this.BindOverlayIndexData(overlayItem,i,
|
|
2189
|
+
if(setOverlayIndex.size>0){for(var i=0;i<this.Frame.SubFrame.length;++i){var item=this.Frame.SubFrame[i];for(var j=0;j<item.OverlayIndex.length;++j){var overlayItem=item.OverlayIndex[j];if(setOverlayIndex.has(overlayItem.Identify)){this.BindOverlayIndexData(overlayItem,i,bindData);}}}}var bDraw=true;if(option&&option.Draw===false)bDraw=false;if(bDraw){this.UpdataDataoffset();//更新数据偏移
|
|
2190
2190
|
this.UpdateFrameMaxMin();//调整坐标最大 最小值
|
|
2191
2191
|
this.Draw();}return true;};this.GetKData=function(){return null;};}function GetDevicePixelRatio(){if(typeof window=='undefined')return 1;return window.devicePixelRatio||1;}function GetFontHeight(context,font,word){if(!context)return null;if(font)context.font=font;var text='擎';if(IFrameSplitOperator.IsString(word))text=word;var fontInfo=context.measureText(text);var textHeight=fontInfo.fontBoundingBoxAscent+fontInfo.fontBoundingBoxDescent;if(!IFrameSplitOperator.IsNumber(textHeight))textHeight=fontInfo.width+2*GetDevicePixelRatio();return textHeight;}function IsPhoneWeb(){var userAgentInfo=navigator.userAgent;var Agents=new Array("Android","iPhone","SymbianOS","Windows Phone","iPad","iPod");for(var v=0;v<Agents.length;v++){if(userAgentInfo.indexOf(Agents[v])>0)return true;}return false;}function OnKeyDown(e)//键盘事件
|
|
2192
2192
|
{if(this.JSChartContainer&&this.JSChartContainer.OnKeyDown)this.JSChartContainer.OnKeyDown(e);}function OnWheel(e)//上下滚动事件
|
|
@@ -4075,7 +4075,7 @@ var bSolidBar=this.IsSolidBar(bUp);//实心柱子
|
|
|
4075
4075
|
if(bSolidBar){this.Canvas.fillStyle=barColor.Color;this.Canvas.fillRect(yBottom,ToFixedRect(left),height,ToFixedRect(dataWidth));}else{this.Canvas.strokeStyle=barColor.Color;this.Canvas.beginPath();this.Canvas.rect(ToFixedPoint(yBottom),ToFixedPoint(left),height,ToFixedRect(dataWidth));this.Canvas.stroke();}}}else//太细了直接话线
|
|
4076
4076
|
{var preKItem=null;var barColor=null;for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j,xOffset+=dataWidth+distanceWidth){var value=this.Data.Data[i];var kItem=this.HistoryData.Data[i];if(value==null||kItem==null)continue;var y=this.ChartFrame.GetYFromData(value);if(isMinute){var x=this.ChartFrame.GetXFromIndex(j);}else{var left=xOffset;var right=xOffset+dataWidth;var x=left+(right-left)/2;}if(x>chartBottom)break;if(isMinute)barColor=this.GetMinuteBarColor(kItem,preKItem);//分时图颜色单独计算
|
|
4077
4077
|
else barColor=this.GetBarColor(kItem,value);var bUp=barColor.IsUp;this.Canvas.strokeStyle=barColor.Color;//var x=this.ChartFrame.GetXFromIndex(j);
|
|
4078
|
-
this.Canvas.beginPath();this.Canvas.moveTo(y,ToFixedPoint(x));this.Canvas.lineTo(yBottom,ToFixedPoint(x));this.Canvas.stroke();preKItem=kItem;}}};this.GetMaxMin=function(){var xPointCount=this.ChartFrame.XPointCount;var start=this.Data.DataOffset;if(this.ChartFrame.GlobalOption&&this.ChartFrame.GlobalOption.IsValueFullRange){start=0;xPointCount=this.Data.Data.length;}var range={Min:null,Max:null};for(var i=start,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j){var value=this.Data.Data[i];if(!IFrameSplitOperator.IsNumber(range.Max)||range.Max<value)range.Max=value;if(!IFrameSplitOperator.IsNumber(range.Min)||range.Min>value)range.Min=value;}if(range.Max>0&&range.Min>0)range.Min=0;else if(range.Max<0&&range.Min<0)range.Max=0;return range;};this.GetBarColor=function(kItem,value){if(this.BarColorType===1)//更具正负决定柱子颜色
|
|
4078
|
+
this.Canvas.beginPath();this.Canvas.moveTo(y,ToFixedPoint(x));this.Canvas.lineTo(yBottom,ToFixedPoint(x));this.Canvas.stroke();preKItem=kItem;}}};this.GetMaxMin=function(){var xPointCount=this.ChartFrame.XPointCount;var start=this.Data.DataOffset;if(this.ChartFrame.GlobalOption&&this.ChartFrame.GlobalOption.IsValueFullRange){start=0;xPointCount=this.Data.Data.length;}var range={Min:null,Max:null};for(var i=start,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j){var value=this.Data.Data[i];if(!IFrameSplitOperator.IsNumber(value))continue;if(!IFrameSplitOperator.IsNumber(range.Max)||range.Max<value)range.Max=value;if(!IFrameSplitOperator.IsNumber(range.Min)||range.Min>value)range.Min=value;}if(range.Max>0&&range.Min>0)range.Min=0;else if(range.Max<0&&range.Min<0)range.Max=0;return range;};this.GetBarColor=function(kItem,value){if(this.BarColorType===1)//更具正负决定柱子颜色
|
|
4079
4079
|
{if(value>=0)return{Color:this.UpColor,IsUp:true};//颜色, 是否是上涨
|
|
4080
4080
|
else return{Color:this.DownColor,IsUp:false};}//平盘K线,使用昨收盘比较
|
|
4081
4081
|
if(kItem.Close>kItem.Open)return{Color:this.UpColor,IsUp:true};//颜色, 是否是上涨
|
|
@@ -6002,14 +6002,21 @@ this.SelectedChart;//选中的图形
|
|
|
6002
6002
|
this.ArgumentsText;//参数信息
|
|
6003
6003
|
this.MerginLeft=g_JSChartResource.IndexTitleMerginLeft;//标题输出左边间距
|
|
6004
6004
|
this.Buttons=[];//按钮
|
|
6005
|
-
this.UpDownArrowConfig={UpColor:g_JSChartResource.IndexTitle.UpDownArrow.UpColor,DownColor:g_JSChartResource.IndexTitle.UpDownArrow.DownColor,UnchangeColor:g_JSChartResource.IndexTitle.UpDownArrow.UnchangeColor}
|
|
6005
|
+
this.UpDownArrowConfig={UpColor:g_JSChartResource.IndexTitle.UpDownArrow.UpColor,DownColor:g_JSChartResource.IndexTitle.UpDownArrow.DownColor,UnchangeColor:g_JSChartResource.IndexTitle.UpDownArrow.UnchangeColor};//K线标题颜色
|
|
6006
|
+
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.NameColor=g_JSChartResource.Title.NameColor;this.PositionColor=g_JSChartResource.Title.PositionColor;//持仓
|
|
6007
|
+
//动态标题
|
|
6006
6008
|
//动态标题
|
|
6007
6009
|
this.DynamicTitle={OutName:null,OutValue:null};this.OverlayDynamicTitle=new _map2.default();//key , value={ OutName, OutValue }
|
|
6008
6010
|
this.IsShowMainIndexTitle=true;//是否显示主图指标标题
|
|
6009
6011
|
this.MainTitlePaint=null;//主标题
|
|
6010
|
-
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;
|
|
6012
|
+
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;//持仓
|
|
6013
|
+
};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)//是否点击了指标标题
|
|
6011
6014
|
{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;};//多变量输出
|
|
6012
|
-
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.
|
|
6015
|
+
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.FromatKLineTitle=function(item,dataInfo){var defaultfloatPrecision=GetfloatPrecision(dataInfo.Symbol);//价格小数位数
|
|
6016
|
+
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});}//涨幅
|
|
6017
|
+
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))//成交量
|
|
6018
|
+
{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))//成交金额
|
|
6019
|
+
{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;}//十字光标锁定状态 禁用显示最后一个数据
|
|
6013
6020
|
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;//当前屏数据索引
|
|
6014
6021
|
}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();/* 测试用
|
|
6015
6022
|
if (this.TitleRect)
|
|
@@ -6030,7 +6037,7 @@ var value=null;var preVaildItem=null;if(item.DataType=="StraightLine")//直线
|
|
|
6030
6037
|
{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;//显示最后一个数据
|
|
6031
6038
|
}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")//多线段数据
|
|
6032
6039
|
{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")//当前值无效,上一个值延续
|
|
6033
|
-
{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(g_ScriptIndexChartFactory.Has(item.DataType))//外部挂接
|
|
6040
|
+
{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.FromatKLineTitle(value,item);if(!aryText)return null;return{Text:null,ArrayText:aryText};}else if(g_ScriptIndexChartFactory.Has(item.DataType))//外部挂接
|
|
6034
6041
|
{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")//默认不输出
|
|
6035
6042
|
return null;var arrowSuper=null;//独立颜色
|
|
6036
6043
|
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);//动态标题
|
|
@@ -6048,7 +6055,7 @@ for(var i=0;i<aryText.length;++i){var item=aryText[i];if(!item.Text)continue;var
|
|
|
6048
6055
|
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个指标一行
|
|
6049
6056
|
{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};//保存下标题的坐标
|
|
6050
6057
|
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个数据
|
|
6051
|
-
{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{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个像素
|
|
6058
|
+
{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.FromatKLineTitle(value,item);if(!aryText)continue;}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个像素
|
|
6052
6059
|
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};//保存下标题的坐标
|
|
6053
6060
|
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个像素
|
|
6054
6061
|
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};//保存下标题的坐标
|
|
@@ -11807,7 +11814,8 @@ chart.Identify=this.Guid;if(varItem.Color)chart.Color=this.GetColor(varItem.Colo
|
|
|
11807
11814
|
{}else if(IFrameSplitOperator.IsString(varItem.Name)&&varItem.Name.indexOf("NOTEXT")==0)//标题中包含NOTEXT不绘制标题
|
|
11808
11815
|
{}else{var titleData=new DynamicTitleData(chart.Data,varItem.Name,chart.Color);hqChart.TitlePaint[titleIndex].Data[id]=titleData;this.SetTitleData(titleData,chart);}this.SetChartIndexName(chart);hqChart.ChartPaint.push(chart);};this.CreateBand=function(hqChart,windowIndex,varItem,id){var chart=new ChartBand();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.FirstColor=varItem.Draw.Color[0];chart.SecondColor=varItem.Draw.Color[1];chart.Data.Data=varItem.Draw.DrawData;if(IFrameSplitOperator.IsBool(varItem.IsFirstDraw))chart.IsDrawFirst=varItem.IsFirstDraw;var titleIndex=windowIndex+1;var titleData=new DynamicTitleData(chart.Data,varItem.Name,chart.Color);titleData.DataType=chart.ClassName;titleData.ExtendData={Color:[chart.FirstColor,chart.SecondColor]};hqChart.TitlePaint[titleIndex].Data[id]=titleData;this.SetChartIndexName(chart);hqChart.ChartPaint.push(chart);};this.CreateFillRGN=function(hqChart,windowIndex,varItem,id){var chart=new ChartLineArea();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.Data.Data=varItem.Draw.DrawData;if(varItem.Color)chart.Color=this.GetColor(varItem.Color);else chart.Color=this.GetDefaultColor(id);hqChart.ChartPaint.push(chart);};this.CreateFillRGN2=function(hqChart,windowIndex,varItem,id){var chart=new ChartFillRGN();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.Data.Data=varItem.Draw.DrawData;hqChart.ChartPaint.push(chart);};this.CreateFillBGRGN=function(hqChart,windowIndex,varItem,id){var chart=new ChartFillBGRGN();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.Data.Data=varItem.Draw.DrawData;hqChart.ChartPaint.push(chart);};this.CreateFLOATRGN=function(hqChart,windowIndex,varItem,id){var chart=new ChartFLOATRGN();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.Data.Data=varItem.Draw.DrawData;hqChart.ChartPaint.push(chart);};//创建K线图
|
|
11809
11816
|
this.CreateKLine=function(hqChart,windowIndex,varItem,id){var chart=new ChartKLine();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.Identify=this.Guid;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.Data.Data=varItem.Draw.DrawData;chart.IsShowMaxMinPrice=false;chart.IsShowKTooltip=false;if(IFrameSplitOperator.IsNumber(varItem.KLineType))chart.DrawType=varItem.KLineType;if(varItem.Color)//如果设置了颜色,使用外面设置的颜色
|
|
11810
|
-
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;}
|
|
11817
|
+
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;var titleData=new DynamicTitleData(chart.Data,varItem.Name,chart.Color);//标题
|
|
11818
|
+
titleData.DataType="DRAWKLINE";titleData.Symbol=chart.Symbol;hqChart.TitlePaint[titleIndex].Data[id]=titleData;}this.SetChartIndexName(chart);hqChart.ChartPaint.push(chart);};this.CreateOverlayKLine=function(hqChart,windowIndex,varItem,id){var chart=null;if(hqChart.IsKLineContainer())chart=new ChartOverlayKLine();else if(hqChart.IsMinuteContainer())chart=new ChartOverlayMinutePriceLine();else return;chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.Identify=this.Guid;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;if(varItem.Color)chart.Color=this.GetColor(varItem.Color);//如果设置了颜色,使用外面设置的颜色
|
|
11811
11819
|
else chart.Color=this.GetDefaultColor(id);chart.Data.Data=varItem.Draw.DrawData;chart.MainData=hqChart.ChartPaint[0].Data;//绑定K线
|
|
11812
11820
|
hqChart.ChartPaint.push(chart);};this.CreateDrawColorKLine=function(hqChart,windowIndex,varItem,i){var chart=new ChartColorKline();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.DrawName="DRAWCOLORKLINE";chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;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;hqChart.ChartPaint.push(chart);};this.CreatePolyLine=function(hqChart,windowIndex,varItem,id){var line=new ChartLine();line.Canvas=hqChart.Canvas;line.Name=varItem.Name;line.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;line.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;if(varItem.Color)line.Color=this.GetColor(varItem.Color);else line.Color=this.GetDefaultColor(id);if(varItem.IsDotLine)line.IsDotLine=true;//虚线
|
|
11813
11821
|
if(varItem.LineWidth){var width=parseInt(varItem.LineWidth.replace("LINETHICK",""));if(!isNaN(width)&&width>0)line.LineWidth=width;}var titleIndex=windowIndex+1;line.Data.Data=varItem.Draw.DrawData;hqChart.TitlePaint[titleIndex].Data[id]=new DynamicTitleData(line.Data,' ',line.Color);//给一个空的标题
|
|
@@ -11940,7 +11948,7 @@ this.CreateMACD=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.O
|
|
|
11940
11948
|
frame.ChartPaint.push(chart);};this.CreateVolStick=function(hqChart,windowIndex,varItem,id,hisData){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartVolStick();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.KLineDrawType=hqChart.KLineDrawType;//设置K线显示类型
|
|
11941
11949
|
if(varItem.Color)chart.Color=this.GetColor(varItem.Color);else chart.Color=this.GetDefaultColor(id);if(varItem.UpColor)chart.UpColor=varItem.UpColor;if(varItem.DownColor)chart.DownColor=varItem.DownColor;if(IFrameSplitOperator.IsNumber(varItem.StickType))chart.BarType=varItem.StickType;if(IFrameSplitOperator.IsNumber(varItem.BarColorType))chart.BarColorType=varItem.BarColorType;if(varItem.LineWidth){var width=parseInt(varItem.LineWidth.replace("LINETHICK",""));if(IFrameSplitOperator.IsPlusNumber(width))chart.BarWidth=width;}var titleIndex=windowIndex+1;chart.Data.Data=varItem.Data;chart.HistoryData=hisData;this.ReloadChartResource(hqChart,windowIndex,chart);var titlePaint=hqChart.TitlePaint[titleIndex];var titleData=new DynamicTitleData(chart.Data,varItem.Name,chart.Color);titlePaint.OverlayIndex.get(overlayIndex.Identify).Data[id]=titleData;this.SetTitleData(titleData,chart);this.SetChartIndexName(chart);frame.ChartPaint.push(chart);};this.CreateBand=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartBand();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.FirstColor=varItem.Draw.Color[0];chart.SecondColor=varItem.Draw.Color[1];chart.Data.Data=varItem.Draw.DrawData;if(IFrameSplitOperator.IsBool(varItem.IsFirstDraw))chart.IsDrawFirst=varItem.IsFirstDraw;this.SetChartIndexName(chart);frame.ChartPaint.push(chart);};//创建K线图
|
|
11942
11950
|
this.CreateKLine=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartKLine();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.Data.Data=varItem.Draw.DrawData;chart.IsShowMaxMinPrice=false;chart.IsShowKTooltip=false;if(varItem.Color)//如果设置了颜色,使用外面设置的颜色
|
|
11943
|
-
chart.UnchagneColor=chart.DownColor=chart.UpColor=this.GetColor(varItem.Color);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);//给一个空的标题
|
|
11951
|
+
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);//给一个空的标题
|
|
11944
11952
|
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;//赋值坐标
|
|
11945
11953
|
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);
|
|
11946
11954
|
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);};//创建图标
|
|
@@ -14355,7 +14363,7 @@ hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,St
|
|
|
14355
14363
|
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);};}/********************************************************************************
|
|
14356
14364
|
* 版本信息输出
|
|
14357
14365
|
*
|
|
14358
|
-
*/var HQCHART_VERSION="1.1.
|
|
14366
|
+
*/var HQCHART_VERSION="1.1.14486";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();//把给外界调用的方法暴露出来
|
|
14359
14367
|
exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
|
|
14360
14368
|
// BaseIndex:BaseIndex,
|
|
14361
14369
|
// ChartLine:ChartLine,
|
package/package.json
CHANGED
|
@@ -58350,7 +58350,8 @@ HQData.APIIndex_DRAWKLINE=function(data, callback)
|
|
|
58350
58350
|
DrawType:"DRAWKLINE",
|
|
58351
58351
|
DrawData:[],
|
|
58352
58352
|
Config:{ IsShowMaxMinPrice:true, IsShowKTooltip:true, Symbol:"000001.sh", Name:"上证指数11" }
|
|
58353
|
-
}
|
|
58353
|
+
},
|
|
58354
|
+
IsShowTitle:true,
|
|
58354
58355
|
};
|
|
58355
58356
|
|
|
58356
58357
|
var aryDate=[];
|
|
@@ -21336,6 +21336,17 @@ function ScriptIndex(name,script,args,option)
|
|
|
21336
21336
|
if (config.Name) chart.Title=config.Name;
|
|
21337
21337
|
}
|
|
21338
21338
|
|
|
21339
|
+
var bShowTitle=false;
|
|
21340
|
+
if (IFrameSplitOperator.IsBool(varItem.IsShowTitle)) bShowTitle=varItem.IsShowTitle;
|
|
21341
|
+
if (bShowTitle)
|
|
21342
|
+
{
|
|
21343
|
+
let titleIndex=windowIndex+1;
|
|
21344
|
+
var titleData=new DynamicTitleData(chart.Data,varItem.Name,chart.Color); //标题
|
|
21345
|
+
titleData.DataType="DRAWKLINE";
|
|
21346
|
+
titleData.Symbol=chart.Symbol;
|
|
21347
|
+
hqChart.TitlePaint[titleIndex].Data[id]=titleData;
|
|
21348
|
+
}
|
|
21349
|
+
|
|
21339
21350
|
this.SetChartIndexName(chart);
|
|
21340
21351
|
hqChart.ChartPaint.push(chart);
|
|
21341
21352
|
}
|
|
@@ -23444,7 +23455,7 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
23444
23455
|
{
|
|
23445
23456
|
var overlayIndex=this.OverlayIndex;
|
|
23446
23457
|
var frame=overlayIndex.Frame;
|
|
23447
|
-
|
|
23458
|
+
var chart=new ChartKLine();
|
|
23448
23459
|
chart.Canvas=hqChart.Canvas;
|
|
23449
23460
|
chart.Name=varItem.Name;
|
|
23450
23461
|
chart.ChartBorder=frame.Frame.ChartBorder;
|
|
@@ -23458,6 +23469,28 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
23458
23469
|
if (varItem.Color) //如果设置了颜色,使用外面设置的颜色
|
|
23459
23470
|
chart.UnchagneColor=chart.DownColor=chart.UpColor=this.GetColor(varItem.Color);
|
|
23460
23471
|
|
|
23472
|
+
if (varItem.Draw.Config)
|
|
23473
|
+
{
|
|
23474
|
+
var config=varItem.Draw.Config;
|
|
23475
|
+
if (IFrameSplitOperator.IsBool(config.IsShowMaxMinPrice)) chart.IsShowMaxMinPrice=config.IsShowMaxMinPrice;
|
|
23476
|
+
if (IFrameSplitOperator.IsBool(config.IsShowKTooltip)) chart.IsShowKTooltip=config.IsShowKTooltip;
|
|
23477
|
+
if (config.Symbol) chart.Symbol=config.Symbol;
|
|
23478
|
+
if (config.Name) chart.Title=config.Name;
|
|
23479
|
+
}
|
|
23480
|
+
|
|
23481
|
+
var bShowTitle=false;
|
|
23482
|
+
if (IFrameSplitOperator.IsBool(varItem.IsShowTitle)) bShowTitle=varItem.IsShowTitle;
|
|
23483
|
+
if (bShowTitle)
|
|
23484
|
+
{
|
|
23485
|
+
var titleIndex=windowIndex+1;
|
|
23486
|
+
chart.Data.Data=varItem.Draw.DrawData;
|
|
23487
|
+
var titlePaint=hqChart.TitlePaint[titleIndex];
|
|
23488
|
+
var titleData=new DynamicTitleData(chart.Data,varItem.Name,chart.Color);
|
|
23489
|
+
titleData.DataType="DRAWKLINE";
|
|
23490
|
+
titleData.Symbol=chart.Symbol;
|
|
23491
|
+
titlePaint.OverlayIndex.get(overlayIndex.Identify).Data[id]=titleData;
|
|
23492
|
+
}
|
|
23493
|
+
|
|
23461
23494
|
frame.ChartPaint.push(chart);
|
|
23462
23495
|
}
|
|
23463
23496
|
|
package/src/jscommon/umychart.js
CHANGED
|
@@ -10631,13 +10631,13 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
10631
10631
|
var setMainIndex=new Set(); //主图指标
|
|
10632
10632
|
var setOverlayIndex=new Set(); //附图指标
|
|
10633
10633
|
|
|
10634
|
-
for(var i=0;aryIndex.length;++i)
|
|
10634
|
+
for(var i=0;i<aryIndex.length;++i)
|
|
10635
10635
|
{
|
|
10636
10636
|
var item=aryIndex[i];
|
|
10637
10637
|
if (!item) continue;
|
|
10638
10638
|
|
|
10639
|
-
if (item.ID) setMainIndex.
|
|
10640
|
-
if (item.OverlayID) setOverlayIndex.
|
|
10639
|
+
if (item.ID) setMainIndex.add(item.ID);
|
|
10640
|
+
if (item.OverlayID) setOverlayIndex.add(item.OverlayID);
|
|
10641
10641
|
}
|
|
10642
10642
|
|
|
10643
10643
|
if (setMainIndex.size<=0 && setOverlayIndex.size<0) return false;
|
|
@@ -10678,7 +10678,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
10678
10678
|
|
|
10679
10679
|
if (setOverlayIndex.has(overlayItem.Identify))
|
|
10680
10680
|
{
|
|
10681
|
-
this.BindOverlayIndexData(overlayItem,i,
|
|
10681
|
+
this.BindOverlayIndexData(overlayItem,i,bindData)
|
|
10682
10682
|
}
|
|
10683
10683
|
}
|
|
10684
10684
|
}
|
|
@@ -35076,6 +35076,8 @@ function ChartVolStick()
|
|
|
35076
35076
|
for(var i=start,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j)
|
|
35077
35077
|
{
|
|
35078
35078
|
var value=this.Data.Data[i];
|
|
35079
|
+
if (!IFrameSplitOperator.IsNumber(value)) continue;
|
|
35080
|
+
|
|
35079
35081
|
if (!IFrameSplitOperator.IsNumber(range.Max) || range.Max<value) range.Max=value;
|
|
35080
35082
|
if (!IFrameSplitOperator.IsNumber(range.Min) || range.Min>value) range.Min=value
|
|
35081
35083
|
}
|
|
@@ -57782,6 +57784,19 @@ function DynamicChartTitlePainting()
|
|
|
57782
57784
|
DownColor:g_JSChartResource.IndexTitle.UpDownArrow.DownColor,
|
|
57783
57785
|
UnchangeColor:g_JSChartResource.IndexTitle.UpDownArrow.UnchangeColor
|
|
57784
57786
|
};
|
|
57787
|
+
|
|
57788
|
+
|
|
57789
|
+
//K线标题颜色
|
|
57790
|
+
this.UpColor=g_JSChartResource.UpTextColor;
|
|
57791
|
+
this.DownColor=g_JSChartResource.DownTextColor;
|
|
57792
|
+
this.UnchangeColor=g_JSChartResource.UnchagneTextColor;
|
|
57793
|
+
|
|
57794
|
+
this.VolColor=g_JSChartResource.Title.VolColor;
|
|
57795
|
+
this.AmountColor=g_JSChartResource.Title.AmountColor;
|
|
57796
|
+
this.DateTimeColor=g_JSChartResource.Title.DateTimeColor;
|
|
57797
|
+
this.NameColor = g_JSChartResource.Title.NameColor;
|
|
57798
|
+
this.PositionColor=g_JSChartResource.Title.PositionColor; //持仓
|
|
57799
|
+
|
|
57785
57800
|
|
|
57786
57801
|
|
|
57787
57802
|
//动态标题
|
|
@@ -57802,6 +57817,15 @@ function DynamicChartTitlePainting()
|
|
|
57802
57817
|
this.BGColor=g_JSChartResource.IndexTitleBGColor;
|
|
57803
57818
|
this.BGBorderColor=g_JSChartResource.IndexTitleBorderColor;
|
|
57804
57819
|
this.BGBorderMoveOnColor=g_JSChartResource.IndexTitleBorderMoveOnColor;
|
|
57820
|
+
|
|
57821
|
+
this.UpColor=g_JSChartResource.UpTextColor;
|
|
57822
|
+
this.DownColor=g_JSChartResource.DownTextColor;
|
|
57823
|
+
this.UnchangeColor=g_JSChartResource.UnchagneTextColor;
|
|
57824
|
+
|
|
57825
|
+
this.VolColor=g_JSChartResource.Title.VolColor;
|
|
57826
|
+
this.AmountColor=g_JSChartResource.Title.AmountColor;
|
|
57827
|
+
this.DateTimeColor=g_JSChartResource.Title.DateTimeColor;
|
|
57828
|
+
this.PositionColor=g_JSChartResource.Title.PositionColor; //持仓
|
|
57805
57829
|
}
|
|
57806
57830
|
|
|
57807
57831
|
this.SetDynamicTitleData=function(outName, args, data)
|
|
@@ -58025,6 +58049,93 @@ function DynamicChartTitlePainting()
|
|
|
58025
58049
|
return aryText;
|
|
58026
58050
|
}
|
|
58027
58051
|
|
|
58052
|
+
this.FromatKLineTitle=function(item, dataInfo)
|
|
58053
|
+
{
|
|
58054
|
+
var defaultfloatPrecision=GetfloatPrecision(dataInfo.Symbol);//价格小数位数
|
|
58055
|
+
var upperSymbol="";
|
|
58056
|
+
if (dataInfo.Symbol) upperSymbol=dataInfo.Symbol.toUpperCase();
|
|
58057
|
+
var pixelRatio=GetDevicePixelRatio();
|
|
58058
|
+
var leftSpace=3*pixelRatio;
|
|
58059
|
+
|
|
58060
|
+
var aryText=[];
|
|
58061
|
+
|
|
58062
|
+
|
|
58063
|
+
if (IFrameSplitOperator.IsNumber(item.Date))
|
|
58064
|
+
{
|
|
58065
|
+
var text=IFrameSplitOperator.FormatDateString(item.Date);
|
|
58066
|
+
aryText.push({ Text:text, Color:this.DateTimeColor });
|
|
58067
|
+
}
|
|
58068
|
+
|
|
58069
|
+
if (IFrameSplitOperator.IsNumber(item.Open))
|
|
58070
|
+
{
|
|
58071
|
+
var color=this.GetColor(item.Open,item.YClose);
|
|
58072
|
+
var text=g_JSChartLocalization.GetText('KTitle-Open',this.LanguageID)+item.Open.toFixed(defaultfloatPrecision);
|
|
58073
|
+
aryText.push({ Text:text, Color:color, LeftSpace:leftSpace});
|
|
58074
|
+
}
|
|
58075
|
+
|
|
58076
|
+
if (IFrameSplitOperator.IsNumber(item.High))
|
|
58077
|
+
{
|
|
58078
|
+
var color=this.GetColor(item.High,item.YClose);
|
|
58079
|
+
var text=g_JSChartLocalization.GetText('KTitle-High',this.LanguageID)+item.High.toFixed(defaultfloatPrecision);
|
|
58080
|
+
aryText.push({ Text:text, Color:color, LeftSpace:leftSpace });
|
|
58081
|
+
}
|
|
58082
|
+
|
|
58083
|
+
if (IFrameSplitOperator.IsNumber(item.Low))
|
|
58084
|
+
{
|
|
58085
|
+
var color=this.GetColor(item.Low,item.YClose);
|
|
58086
|
+
var text=g_JSChartLocalization.GetText('KTitle-Low',this.LanguageID)+item.Low.toFixed(defaultfloatPrecision);
|
|
58087
|
+
aryText.push({ Text:text, Color:color, LeftSpace:leftSpace});
|
|
58088
|
+
}
|
|
58089
|
+
|
|
58090
|
+
if (IFrameSplitOperator.IsNumber(item.Close))
|
|
58091
|
+
{
|
|
58092
|
+
var color=this.GetColor(item.Close,item.YClose);
|
|
58093
|
+
var text=g_JSChartLocalization.GetText('KTitle-Close',this.LanguageID)+item.Close.toFixed(defaultfloatPrecision);
|
|
58094
|
+
aryText.push({ Text:text, Color:color, LeftSpace:leftSpace});
|
|
58095
|
+
}
|
|
58096
|
+
|
|
58097
|
+
//涨幅
|
|
58098
|
+
if (item.YFClose>0 && MARKET_SUFFIX_NAME.IsChinaFutures(upperSymbol))
|
|
58099
|
+
{
|
|
58100
|
+
var value=(item.Close-item.YFClose)/item.YFClose*100;
|
|
58101
|
+
var color = this.GetColor(value, 0);
|
|
58102
|
+
var text = g_JSChartLocalization.GetText('KTitle-Increase',this.LanguageID) + value.toFixed(2)+'%';
|
|
58103
|
+
aryText.push({ Text:text, Color:color, LeftSpace:leftSpace});
|
|
58104
|
+
}
|
|
58105
|
+
else if (item.YClose>0)
|
|
58106
|
+
{
|
|
58107
|
+
var value=(item.Close-item.YClose)/item.YClose*100;
|
|
58108
|
+
var color = this.GetColor(value, 0);
|
|
58109
|
+
var text = g_JSChartLocalization.GetText('KTitle-Increase',this.LanguageID) + value.toFixed(2)+'%';
|
|
58110
|
+
aryText.push({ Text:text, Color:color, LeftSpace:leftSpace});
|
|
58111
|
+
}
|
|
58112
|
+
|
|
58113
|
+
if (IFrameSplitOperator.IsNumber(item.Vol)) //成交量
|
|
58114
|
+
{
|
|
58115
|
+
var unit=MARKET_SUFFIX_NAME.GetVolUnit(upperSymbol);
|
|
58116
|
+
var vol=item.Vol/unit;
|
|
58117
|
+
var text=g_JSChartLocalization.GetText('KTitle-Vol',this.LanguageID)+IFrameSplitOperator.FromatIntegerString(vol,2,this.LanguageID);
|
|
58118
|
+
aryText.push({ Text:text, Color:this.VolColor, LeftSpace:leftSpace});
|
|
58119
|
+
}
|
|
58120
|
+
|
|
58121
|
+
if (IFrameSplitOperator.IsNumber(item.Amount)) //成交金额
|
|
58122
|
+
{
|
|
58123
|
+
var text=g_JSChartLocalization.GetText('KTitle-Amount',this.LanguageID)+IFrameSplitOperator.FormatValueString(item.Amount,2,this.LanguageID);
|
|
58124
|
+
aryText.push({ Text:text, Color:this.AmountColor, LeftSpace:leftSpace});
|
|
58125
|
+
}
|
|
58126
|
+
|
|
58127
|
+
return aryText;
|
|
58128
|
+
}
|
|
58129
|
+
|
|
58130
|
+
this.GetColor=function(price,yClose)
|
|
58131
|
+
{
|
|
58132
|
+
if (!IFrameSplitOperator.IsNumber(yClose)) return this.UnchangeColor;
|
|
58133
|
+
|
|
58134
|
+
if(price>yClose) return this.UpColor;
|
|
58135
|
+
else if (price<yClose) return this.DownColor;
|
|
58136
|
+
else return this.UnchangeColor;
|
|
58137
|
+
}
|
|
58138
|
+
|
|
58028
58139
|
this.ForamtMultiLineTitle=function(dataIndex, dataInfo)
|
|
58029
58140
|
{
|
|
58030
58141
|
if (!IFrameSplitOperator.IsNonEmptyArray(dataInfo.Lines)) return null;
|
|
@@ -58510,6 +58621,12 @@ function DynamicChartTitlePainting()
|
|
|
58510
58621
|
if (!aryText) return null;
|
|
58511
58622
|
return { Text:null, ArrayText:aryText };
|
|
58512
58623
|
}
|
|
58624
|
+
else if (item.DataType=="DRAWKLINE")
|
|
58625
|
+
{
|
|
58626
|
+
aryText=this.FromatKLineTitle(value, item);
|
|
58627
|
+
if (!aryText) return null;
|
|
58628
|
+
return { Text:null, ArrayText:aryText };
|
|
58629
|
+
}
|
|
58513
58630
|
else if (g_ScriptIndexChartFactory.Has(item.DataType)) //外部挂接
|
|
58514
58631
|
{
|
|
58515
58632
|
var find=g_ScriptIndexChartFactory.Get(item.DataType);
|
|
@@ -58900,6 +59017,11 @@ function DynamicChartTitlePainting()
|
|
|
58900
59017
|
aryText=this.ForamtMultiBarTitle(dataIndex, item);
|
|
58901
59018
|
if (!aryText) continue;
|
|
58902
59019
|
}
|
|
59020
|
+
else if (item.DataType=="DRAWKLINE")
|
|
59021
|
+
{
|
|
59022
|
+
aryText=this.FromatKLineTitle(value, item);
|
|
59023
|
+
if (!aryText) continue;
|
|
59024
|
+
}
|
|
58903
59025
|
else
|
|
58904
59026
|
{
|
|
58905
59027
|
valueText=this.FormatValue(value,item);
|
|
@@ -2836,7 +2836,8 @@ HQData.APIIndex_DRAWKLINE=function(data, callback)
|
|
|
2836
2836
|
DrawType:"DRAWKLINE",
|
|
2837
2837
|
DrawData:[],
|
|
2838
2838
|
Config:{ IsShowMaxMinPrice:true, IsShowKTooltip:true, Symbol:"000001.sh", Name:"上证指数11" }
|
|
2839
|
-
}
|
|
2839
|
+
},
|
|
2840
|
+
IsShowTitle:true,
|
|
2840
2841
|
};
|
|
2841
2842
|
|
|
2842
2843
|
var aryDate=[];
|
|
@@ -14556,13 +14556,13 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
14556
14556
|
var setMainIndex=new Set(); //主图指标
|
|
14557
14557
|
var setOverlayIndex=new Set(); //附图指标
|
|
14558
14558
|
|
|
14559
|
-
for(var i=0;aryIndex.length;++i)
|
|
14559
|
+
for(var i=0;i<aryIndex.length;++i)
|
|
14560
14560
|
{
|
|
14561
14561
|
var item=aryIndex[i];
|
|
14562
14562
|
if (!item) continue;
|
|
14563
14563
|
|
|
14564
|
-
if (item.ID) setMainIndex.
|
|
14565
|
-
if (item.OverlayID) setOverlayIndex.
|
|
14564
|
+
if (item.ID) setMainIndex.add(item.ID);
|
|
14565
|
+
if (item.OverlayID) setOverlayIndex.add(item.OverlayID);
|
|
14566
14566
|
}
|
|
14567
14567
|
|
|
14568
14568
|
if (setMainIndex.size<=0 && setOverlayIndex.size<0) return false;
|
|
@@ -14603,7 +14603,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
14603
14603
|
|
|
14604
14604
|
if (setOverlayIndex.has(overlayItem.Identify))
|
|
14605
14605
|
{
|
|
14606
|
-
this.BindOverlayIndexData(overlayItem,i,
|
|
14606
|
+
this.BindOverlayIndexData(overlayItem,i,bindData)
|
|
14607
14607
|
}
|
|
14608
14608
|
}
|
|
14609
14609
|
}
|
|
@@ -39001,6 +39001,8 @@ function ChartVolStick()
|
|
|
39001
39001
|
for(var i=start,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j)
|
|
39002
39002
|
{
|
|
39003
39003
|
var value=this.Data.Data[i];
|
|
39004
|
+
if (!IFrameSplitOperator.IsNumber(value)) continue;
|
|
39005
|
+
|
|
39004
39006
|
if (!IFrameSplitOperator.IsNumber(range.Max) || range.Max<value) range.Max=value;
|
|
39005
39007
|
if (!IFrameSplitOperator.IsNumber(range.Min) || range.Min>value) range.Min=value
|
|
39006
39008
|
}
|
|
@@ -61707,6 +61709,19 @@ function DynamicChartTitlePainting()
|
|
|
61707
61709
|
DownColor:g_JSChartResource.IndexTitle.UpDownArrow.DownColor,
|
|
61708
61710
|
UnchangeColor:g_JSChartResource.IndexTitle.UpDownArrow.UnchangeColor
|
|
61709
61711
|
};
|
|
61712
|
+
|
|
61713
|
+
|
|
61714
|
+
//K线标题颜色
|
|
61715
|
+
this.UpColor=g_JSChartResource.UpTextColor;
|
|
61716
|
+
this.DownColor=g_JSChartResource.DownTextColor;
|
|
61717
|
+
this.UnchangeColor=g_JSChartResource.UnchagneTextColor;
|
|
61718
|
+
|
|
61719
|
+
this.VolColor=g_JSChartResource.Title.VolColor;
|
|
61720
|
+
this.AmountColor=g_JSChartResource.Title.AmountColor;
|
|
61721
|
+
this.DateTimeColor=g_JSChartResource.Title.DateTimeColor;
|
|
61722
|
+
this.NameColor = g_JSChartResource.Title.NameColor;
|
|
61723
|
+
this.PositionColor=g_JSChartResource.Title.PositionColor; //持仓
|
|
61724
|
+
|
|
61710
61725
|
|
|
61711
61726
|
|
|
61712
61727
|
//动态标题
|
|
@@ -61727,6 +61742,15 @@ function DynamicChartTitlePainting()
|
|
|
61727
61742
|
this.BGColor=g_JSChartResource.IndexTitleBGColor;
|
|
61728
61743
|
this.BGBorderColor=g_JSChartResource.IndexTitleBorderColor;
|
|
61729
61744
|
this.BGBorderMoveOnColor=g_JSChartResource.IndexTitleBorderMoveOnColor;
|
|
61745
|
+
|
|
61746
|
+
this.UpColor=g_JSChartResource.UpTextColor;
|
|
61747
|
+
this.DownColor=g_JSChartResource.DownTextColor;
|
|
61748
|
+
this.UnchangeColor=g_JSChartResource.UnchagneTextColor;
|
|
61749
|
+
|
|
61750
|
+
this.VolColor=g_JSChartResource.Title.VolColor;
|
|
61751
|
+
this.AmountColor=g_JSChartResource.Title.AmountColor;
|
|
61752
|
+
this.DateTimeColor=g_JSChartResource.Title.DateTimeColor;
|
|
61753
|
+
this.PositionColor=g_JSChartResource.Title.PositionColor; //持仓
|
|
61730
61754
|
}
|
|
61731
61755
|
|
|
61732
61756
|
this.SetDynamicTitleData=function(outName, args, data)
|
|
@@ -61950,6 +61974,93 @@ function DynamicChartTitlePainting()
|
|
|
61950
61974
|
return aryText;
|
|
61951
61975
|
}
|
|
61952
61976
|
|
|
61977
|
+
this.FromatKLineTitle=function(item, dataInfo)
|
|
61978
|
+
{
|
|
61979
|
+
var defaultfloatPrecision=GetfloatPrecision(dataInfo.Symbol);//价格小数位数
|
|
61980
|
+
var upperSymbol="";
|
|
61981
|
+
if (dataInfo.Symbol) upperSymbol=dataInfo.Symbol.toUpperCase();
|
|
61982
|
+
var pixelRatio=GetDevicePixelRatio();
|
|
61983
|
+
var leftSpace=3*pixelRatio;
|
|
61984
|
+
|
|
61985
|
+
var aryText=[];
|
|
61986
|
+
|
|
61987
|
+
|
|
61988
|
+
if (IFrameSplitOperator.IsNumber(item.Date))
|
|
61989
|
+
{
|
|
61990
|
+
var text=IFrameSplitOperator.FormatDateString(item.Date);
|
|
61991
|
+
aryText.push({ Text:text, Color:this.DateTimeColor });
|
|
61992
|
+
}
|
|
61993
|
+
|
|
61994
|
+
if (IFrameSplitOperator.IsNumber(item.Open))
|
|
61995
|
+
{
|
|
61996
|
+
var color=this.GetColor(item.Open,item.YClose);
|
|
61997
|
+
var text=g_JSChartLocalization.GetText('KTitle-Open',this.LanguageID)+item.Open.toFixed(defaultfloatPrecision);
|
|
61998
|
+
aryText.push({ Text:text, Color:color, LeftSpace:leftSpace});
|
|
61999
|
+
}
|
|
62000
|
+
|
|
62001
|
+
if (IFrameSplitOperator.IsNumber(item.High))
|
|
62002
|
+
{
|
|
62003
|
+
var color=this.GetColor(item.High,item.YClose);
|
|
62004
|
+
var text=g_JSChartLocalization.GetText('KTitle-High',this.LanguageID)+item.High.toFixed(defaultfloatPrecision);
|
|
62005
|
+
aryText.push({ Text:text, Color:color, LeftSpace:leftSpace });
|
|
62006
|
+
}
|
|
62007
|
+
|
|
62008
|
+
if (IFrameSplitOperator.IsNumber(item.Low))
|
|
62009
|
+
{
|
|
62010
|
+
var color=this.GetColor(item.Low,item.YClose);
|
|
62011
|
+
var text=g_JSChartLocalization.GetText('KTitle-Low',this.LanguageID)+item.Low.toFixed(defaultfloatPrecision);
|
|
62012
|
+
aryText.push({ Text:text, Color:color, LeftSpace:leftSpace});
|
|
62013
|
+
}
|
|
62014
|
+
|
|
62015
|
+
if (IFrameSplitOperator.IsNumber(item.Close))
|
|
62016
|
+
{
|
|
62017
|
+
var color=this.GetColor(item.Close,item.YClose);
|
|
62018
|
+
var text=g_JSChartLocalization.GetText('KTitle-Close',this.LanguageID)+item.Close.toFixed(defaultfloatPrecision);
|
|
62019
|
+
aryText.push({ Text:text, Color:color, LeftSpace:leftSpace});
|
|
62020
|
+
}
|
|
62021
|
+
|
|
62022
|
+
//涨幅
|
|
62023
|
+
if (item.YFClose>0 && MARKET_SUFFIX_NAME.IsChinaFutures(upperSymbol))
|
|
62024
|
+
{
|
|
62025
|
+
var value=(item.Close-item.YFClose)/item.YFClose*100;
|
|
62026
|
+
var color = this.GetColor(value, 0);
|
|
62027
|
+
var text = g_JSChartLocalization.GetText('KTitle-Increase',this.LanguageID) + value.toFixed(2)+'%';
|
|
62028
|
+
aryText.push({ Text:text, Color:color, LeftSpace:leftSpace});
|
|
62029
|
+
}
|
|
62030
|
+
else if (item.YClose>0)
|
|
62031
|
+
{
|
|
62032
|
+
var value=(item.Close-item.YClose)/item.YClose*100;
|
|
62033
|
+
var color = this.GetColor(value, 0);
|
|
62034
|
+
var text = g_JSChartLocalization.GetText('KTitle-Increase',this.LanguageID) + value.toFixed(2)+'%';
|
|
62035
|
+
aryText.push({ Text:text, Color:color, LeftSpace:leftSpace});
|
|
62036
|
+
}
|
|
62037
|
+
|
|
62038
|
+
if (IFrameSplitOperator.IsNumber(item.Vol)) //成交量
|
|
62039
|
+
{
|
|
62040
|
+
var unit=MARKET_SUFFIX_NAME.GetVolUnit(upperSymbol);
|
|
62041
|
+
var vol=item.Vol/unit;
|
|
62042
|
+
var text=g_JSChartLocalization.GetText('KTitle-Vol',this.LanguageID)+IFrameSplitOperator.FromatIntegerString(vol,2,this.LanguageID);
|
|
62043
|
+
aryText.push({ Text:text, Color:this.VolColor, LeftSpace:leftSpace});
|
|
62044
|
+
}
|
|
62045
|
+
|
|
62046
|
+
if (IFrameSplitOperator.IsNumber(item.Amount)) //成交金额
|
|
62047
|
+
{
|
|
62048
|
+
var text=g_JSChartLocalization.GetText('KTitle-Amount',this.LanguageID)+IFrameSplitOperator.FormatValueString(item.Amount,2,this.LanguageID);
|
|
62049
|
+
aryText.push({ Text:text, Color:this.AmountColor, LeftSpace:leftSpace});
|
|
62050
|
+
}
|
|
62051
|
+
|
|
62052
|
+
return aryText;
|
|
62053
|
+
}
|
|
62054
|
+
|
|
62055
|
+
this.GetColor=function(price,yClose)
|
|
62056
|
+
{
|
|
62057
|
+
if (!IFrameSplitOperator.IsNumber(yClose)) return this.UnchangeColor;
|
|
62058
|
+
|
|
62059
|
+
if(price>yClose) return this.UpColor;
|
|
62060
|
+
else if (price<yClose) return this.DownColor;
|
|
62061
|
+
else return this.UnchangeColor;
|
|
62062
|
+
}
|
|
62063
|
+
|
|
61953
62064
|
this.ForamtMultiLineTitle=function(dataIndex, dataInfo)
|
|
61954
62065
|
{
|
|
61955
62066
|
if (!IFrameSplitOperator.IsNonEmptyArray(dataInfo.Lines)) return null;
|
|
@@ -62435,6 +62546,12 @@ function DynamicChartTitlePainting()
|
|
|
62435
62546
|
if (!aryText) return null;
|
|
62436
62547
|
return { Text:null, ArrayText:aryText };
|
|
62437
62548
|
}
|
|
62549
|
+
else if (item.DataType=="DRAWKLINE")
|
|
62550
|
+
{
|
|
62551
|
+
aryText=this.FromatKLineTitle(value, item);
|
|
62552
|
+
if (!aryText) return null;
|
|
62553
|
+
return { Text:null, ArrayText:aryText };
|
|
62554
|
+
}
|
|
62438
62555
|
else if (g_ScriptIndexChartFactory.Has(item.DataType)) //外部挂接
|
|
62439
62556
|
{
|
|
62440
62557
|
var find=g_ScriptIndexChartFactory.Get(item.DataType);
|
|
@@ -62825,6 +62942,11 @@ function DynamicChartTitlePainting()
|
|
|
62825
62942
|
aryText=this.ForamtMultiBarTitle(dataIndex, item);
|
|
62826
62943
|
if (!aryText) continue;
|
|
62827
62944
|
}
|
|
62945
|
+
else if (item.DataType=="DRAWKLINE")
|
|
62946
|
+
{
|
|
62947
|
+
aryText=this.FromatKLineTitle(value, item);
|
|
62948
|
+
if (!aryText) continue;
|
|
62949
|
+
}
|
|
62828
62950
|
else
|
|
62829
62951
|
{
|
|
62830
62952
|
valueText=this.FormatValue(value,item);
|
|
@@ -123558,6 +123680,17 @@ function ScriptIndex(name,script,args,option)
|
|
|
123558
123680
|
if (config.Name) chart.Title=config.Name;
|
|
123559
123681
|
}
|
|
123560
123682
|
|
|
123683
|
+
var bShowTitle=false;
|
|
123684
|
+
if (IFrameSplitOperator.IsBool(varItem.IsShowTitle)) bShowTitle=varItem.IsShowTitle;
|
|
123685
|
+
if (bShowTitle)
|
|
123686
|
+
{
|
|
123687
|
+
let titleIndex=windowIndex+1;
|
|
123688
|
+
var titleData=new DynamicTitleData(chart.Data,varItem.Name,chart.Color); //标题
|
|
123689
|
+
titleData.DataType="DRAWKLINE";
|
|
123690
|
+
titleData.Symbol=chart.Symbol;
|
|
123691
|
+
hqChart.TitlePaint[titleIndex].Data[id]=titleData;
|
|
123692
|
+
}
|
|
123693
|
+
|
|
123561
123694
|
this.SetChartIndexName(chart);
|
|
123562
123695
|
hqChart.ChartPaint.push(chart);
|
|
123563
123696
|
}
|
|
@@ -125666,7 +125799,7 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
125666
125799
|
{
|
|
125667
125800
|
var overlayIndex=this.OverlayIndex;
|
|
125668
125801
|
var frame=overlayIndex.Frame;
|
|
125669
|
-
|
|
125802
|
+
var chart=new ChartKLine();
|
|
125670
125803
|
chart.Canvas=hqChart.Canvas;
|
|
125671
125804
|
chart.Name=varItem.Name;
|
|
125672
125805
|
chart.ChartBorder=frame.Frame.ChartBorder;
|
|
@@ -125680,6 +125813,28 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
125680
125813
|
if (varItem.Color) //如果设置了颜色,使用外面设置的颜色
|
|
125681
125814
|
chart.UnchagneColor=chart.DownColor=chart.UpColor=this.GetColor(varItem.Color);
|
|
125682
125815
|
|
|
125816
|
+
if (varItem.Draw.Config)
|
|
125817
|
+
{
|
|
125818
|
+
var config=varItem.Draw.Config;
|
|
125819
|
+
if (IFrameSplitOperator.IsBool(config.IsShowMaxMinPrice)) chart.IsShowMaxMinPrice=config.IsShowMaxMinPrice;
|
|
125820
|
+
if (IFrameSplitOperator.IsBool(config.IsShowKTooltip)) chart.IsShowKTooltip=config.IsShowKTooltip;
|
|
125821
|
+
if (config.Symbol) chart.Symbol=config.Symbol;
|
|
125822
|
+
if (config.Name) chart.Title=config.Name;
|
|
125823
|
+
}
|
|
125824
|
+
|
|
125825
|
+
var bShowTitle=false;
|
|
125826
|
+
if (IFrameSplitOperator.IsBool(varItem.IsShowTitle)) bShowTitle=varItem.IsShowTitle;
|
|
125827
|
+
if (bShowTitle)
|
|
125828
|
+
{
|
|
125829
|
+
var titleIndex=windowIndex+1;
|
|
125830
|
+
chart.Data.Data=varItem.Draw.DrawData;
|
|
125831
|
+
var titlePaint=hqChart.TitlePaint[titleIndex];
|
|
125832
|
+
var titleData=new DynamicTitleData(chart.Data,varItem.Name,chart.Color);
|
|
125833
|
+
titleData.DataType="DRAWKLINE";
|
|
125834
|
+
titleData.Symbol=chart.Symbol;
|
|
125835
|
+
titlePaint.OverlayIndex.get(overlayIndex.Identify).Data[id]=titleData;
|
|
125836
|
+
}
|
|
125837
|
+
|
|
125683
125838
|
frame.ChartPaint.push(chart);
|
|
125684
125839
|
}
|
|
125685
125840
|
|
|
@@ -143923,7 +144078,7 @@ function ScrollBarBGChart()
|
|
|
143923
144078
|
|
|
143924
144079
|
|
|
143925
144080
|
|
|
143926
|
-
var HQCHART_VERSION="1.1.
|
|
144081
|
+
var HQCHART_VERSION="1.1.14486";
|
|
143927
144082
|
|
|
143928
144083
|
function PrintHQChartVersion()
|
|
143929
144084
|
{
|
|
@@ -58368,7 +58368,8 @@ HQData.APIIndex_DRAWKLINE=function(data, callback)
|
|
|
58368
58368
|
DrawType:"DRAWKLINE",
|
|
58369
58369
|
DrawData:[],
|
|
58370
58370
|
Config:{ IsShowMaxMinPrice:true, IsShowKTooltip:true, Symbol:"000001.sh", Name:"上证指数11" }
|
|
58371
|
-
}
|
|
58371
|
+
},
|
|
58372
|
+
IsShowTitle:true,
|
|
58372
58373
|
};
|
|
58373
58374
|
|
|
58374
58375
|
var aryDate=[];
|
|
@@ -14600,13 +14600,13 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
14600
14600
|
var setMainIndex=new Set(); //主图指标
|
|
14601
14601
|
var setOverlayIndex=new Set(); //附图指标
|
|
14602
14602
|
|
|
14603
|
-
for(var i=0;aryIndex.length;++i)
|
|
14603
|
+
for(var i=0;i<aryIndex.length;++i)
|
|
14604
14604
|
{
|
|
14605
14605
|
var item=aryIndex[i];
|
|
14606
14606
|
if (!item) continue;
|
|
14607
14607
|
|
|
14608
|
-
if (item.ID) setMainIndex.
|
|
14609
|
-
if (item.OverlayID) setOverlayIndex.
|
|
14608
|
+
if (item.ID) setMainIndex.add(item.ID);
|
|
14609
|
+
if (item.OverlayID) setOverlayIndex.add(item.OverlayID);
|
|
14610
14610
|
}
|
|
14611
14611
|
|
|
14612
14612
|
if (setMainIndex.size<=0 && setOverlayIndex.size<0) return false;
|
|
@@ -14647,7 +14647,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
14647
14647
|
|
|
14648
14648
|
if (setOverlayIndex.has(overlayItem.Identify))
|
|
14649
14649
|
{
|
|
14650
|
-
this.BindOverlayIndexData(overlayItem,i,
|
|
14650
|
+
this.BindOverlayIndexData(overlayItem,i,bindData)
|
|
14651
14651
|
}
|
|
14652
14652
|
}
|
|
14653
14653
|
}
|
|
@@ -39045,6 +39045,8 @@ function ChartVolStick()
|
|
|
39045
39045
|
for(var i=start,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j)
|
|
39046
39046
|
{
|
|
39047
39047
|
var value=this.Data.Data[i];
|
|
39048
|
+
if (!IFrameSplitOperator.IsNumber(value)) continue;
|
|
39049
|
+
|
|
39048
39050
|
if (!IFrameSplitOperator.IsNumber(range.Max) || range.Max<value) range.Max=value;
|
|
39049
39051
|
if (!IFrameSplitOperator.IsNumber(range.Min) || range.Min>value) range.Min=value
|
|
39050
39052
|
}
|
|
@@ -61751,6 +61753,19 @@ function DynamicChartTitlePainting()
|
|
|
61751
61753
|
DownColor:g_JSChartResource.IndexTitle.UpDownArrow.DownColor,
|
|
61752
61754
|
UnchangeColor:g_JSChartResource.IndexTitle.UpDownArrow.UnchangeColor
|
|
61753
61755
|
};
|
|
61756
|
+
|
|
61757
|
+
|
|
61758
|
+
//K线标题颜色
|
|
61759
|
+
this.UpColor=g_JSChartResource.UpTextColor;
|
|
61760
|
+
this.DownColor=g_JSChartResource.DownTextColor;
|
|
61761
|
+
this.UnchangeColor=g_JSChartResource.UnchagneTextColor;
|
|
61762
|
+
|
|
61763
|
+
this.VolColor=g_JSChartResource.Title.VolColor;
|
|
61764
|
+
this.AmountColor=g_JSChartResource.Title.AmountColor;
|
|
61765
|
+
this.DateTimeColor=g_JSChartResource.Title.DateTimeColor;
|
|
61766
|
+
this.NameColor = g_JSChartResource.Title.NameColor;
|
|
61767
|
+
this.PositionColor=g_JSChartResource.Title.PositionColor; //持仓
|
|
61768
|
+
|
|
61754
61769
|
|
|
61755
61770
|
|
|
61756
61771
|
//动态标题
|
|
@@ -61771,6 +61786,15 @@ function DynamicChartTitlePainting()
|
|
|
61771
61786
|
this.BGColor=g_JSChartResource.IndexTitleBGColor;
|
|
61772
61787
|
this.BGBorderColor=g_JSChartResource.IndexTitleBorderColor;
|
|
61773
61788
|
this.BGBorderMoveOnColor=g_JSChartResource.IndexTitleBorderMoveOnColor;
|
|
61789
|
+
|
|
61790
|
+
this.UpColor=g_JSChartResource.UpTextColor;
|
|
61791
|
+
this.DownColor=g_JSChartResource.DownTextColor;
|
|
61792
|
+
this.UnchangeColor=g_JSChartResource.UnchagneTextColor;
|
|
61793
|
+
|
|
61794
|
+
this.VolColor=g_JSChartResource.Title.VolColor;
|
|
61795
|
+
this.AmountColor=g_JSChartResource.Title.AmountColor;
|
|
61796
|
+
this.DateTimeColor=g_JSChartResource.Title.DateTimeColor;
|
|
61797
|
+
this.PositionColor=g_JSChartResource.Title.PositionColor; //持仓
|
|
61774
61798
|
}
|
|
61775
61799
|
|
|
61776
61800
|
this.SetDynamicTitleData=function(outName, args, data)
|
|
@@ -61994,6 +62018,93 @@ function DynamicChartTitlePainting()
|
|
|
61994
62018
|
return aryText;
|
|
61995
62019
|
}
|
|
61996
62020
|
|
|
62021
|
+
this.FromatKLineTitle=function(item, dataInfo)
|
|
62022
|
+
{
|
|
62023
|
+
var defaultfloatPrecision=GetfloatPrecision(dataInfo.Symbol);//价格小数位数
|
|
62024
|
+
var upperSymbol="";
|
|
62025
|
+
if (dataInfo.Symbol) upperSymbol=dataInfo.Symbol.toUpperCase();
|
|
62026
|
+
var pixelRatio=GetDevicePixelRatio();
|
|
62027
|
+
var leftSpace=3*pixelRatio;
|
|
62028
|
+
|
|
62029
|
+
var aryText=[];
|
|
62030
|
+
|
|
62031
|
+
|
|
62032
|
+
if (IFrameSplitOperator.IsNumber(item.Date))
|
|
62033
|
+
{
|
|
62034
|
+
var text=IFrameSplitOperator.FormatDateString(item.Date);
|
|
62035
|
+
aryText.push({ Text:text, Color:this.DateTimeColor });
|
|
62036
|
+
}
|
|
62037
|
+
|
|
62038
|
+
if (IFrameSplitOperator.IsNumber(item.Open))
|
|
62039
|
+
{
|
|
62040
|
+
var color=this.GetColor(item.Open,item.YClose);
|
|
62041
|
+
var text=g_JSChartLocalization.GetText('KTitle-Open',this.LanguageID)+item.Open.toFixed(defaultfloatPrecision);
|
|
62042
|
+
aryText.push({ Text:text, Color:color, LeftSpace:leftSpace});
|
|
62043
|
+
}
|
|
62044
|
+
|
|
62045
|
+
if (IFrameSplitOperator.IsNumber(item.High))
|
|
62046
|
+
{
|
|
62047
|
+
var color=this.GetColor(item.High,item.YClose);
|
|
62048
|
+
var text=g_JSChartLocalization.GetText('KTitle-High',this.LanguageID)+item.High.toFixed(defaultfloatPrecision);
|
|
62049
|
+
aryText.push({ Text:text, Color:color, LeftSpace:leftSpace });
|
|
62050
|
+
}
|
|
62051
|
+
|
|
62052
|
+
if (IFrameSplitOperator.IsNumber(item.Low))
|
|
62053
|
+
{
|
|
62054
|
+
var color=this.GetColor(item.Low,item.YClose);
|
|
62055
|
+
var text=g_JSChartLocalization.GetText('KTitle-Low',this.LanguageID)+item.Low.toFixed(defaultfloatPrecision);
|
|
62056
|
+
aryText.push({ Text:text, Color:color, LeftSpace:leftSpace});
|
|
62057
|
+
}
|
|
62058
|
+
|
|
62059
|
+
if (IFrameSplitOperator.IsNumber(item.Close))
|
|
62060
|
+
{
|
|
62061
|
+
var color=this.GetColor(item.Close,item.YClose);
|
|
62062
|
+
var text=g_JSChartLocalization.GetText('KTitle-Close',this.LanguageID)+item.Close.toFixed(defaultfloatPrecision);
|
|
62063
|
+
aryText.push({ Text:text, Color:color, LeftSpace:leftSpace});
|
|
62064
|
+
}
|
|
62065
|
+
|
|
62066
|
+
//涨幅
|
|
62067
|
+
if (item.YFClose>0 && MARKET_SUFFIX_NAME.IsChinaFutures(upperSymbol))
|
|
62068
|
+
{
|
|
62069
|
+
var value=(item.Close-item.YFClose)/item.YFClose*100;
|
|
62070
|
+
var color = this.GetColor(value, 0);
|
|
62071
|
+
var text = g_JSChartLocalization.GetText('KTitle-Increase',this.LanguageID) + value.toFixed(2)+'%';
|
|
62072
|
+
aryText.push({ Text:text, Color:color, LeftSpace:leftSpace});
|
|
62073
|
+
}
|
|
62074
|
+
else if (item.YClose>0)
|
|
62075
|
+
{
|
|
62076
|
+
var value=(item.Close-item.YClose)/item.YClose*100;
|
|
62077
|
+
var color = this.GetColor(value, 0);
|
|
62078
|
+
var text = g_JSChartLocalization.GetText('KTitle-Increase',this.LanguageID) + value.toFixed(2)+'%';
|
|
62079
|
+
aryText.push({ Text:text, Color:color, LeftSpace:leftSpace});
|
|
62080
|
+
}
|
|
62081
|
+
|
|
62082
|
+
if (IFrameSplitOperator.IsNumber(item.Vol)) //成交量
|
|
62083
|
+
{
|
|
62084
|
+
var unit=MARKET_SUFFIX_NAME.GetVolUnit(upperSymbol);
|
|
62085
|
+
var vol=item.Vol/unit;
|
|
62086
|
+
var text=g_JSChartLocalization.GetText('KTitle-Vol',this.LanguageID)+IFrameSplitOperator.FromatIntegerString(vol,2,this.LanguageID);
|
|
62087
|
+
aryText.push({ Text:text, Color:this.VolColor, LeftSpace:leftSpace});
|
|
62088
|
+
}
|
|
62089
|
+
|
|
62090
|
+
if (IFrameSplitOperator.IsNumber(item.Amount)) //成交金额
|
|
62091
|
+
{
|
|
62092
|
+
var text=g_JSChartLocalization.GetText('KTitle-Amount',this.LanguageID)+IFrameSplitOperator.FormatValueString(item.Amount,2,this.LanguageID);
|
|
62093
|
+
aryText.push({ Text:text, Color:this.AmountColor, LeftSpace:leftSpace});
|
|
62094
|
+
}
|
|
62095
|
+
|
|
62096
|
+
return aryText;
|
|
62097
|
+
}
|
|
62098
|
+
|
|
62099
|
+
this.GetColor=function(price,yClose)
|
|
62100
|
+
{
|
|
62101
|
+
if (!IFrameSplitOperator.IsNumber(yClose)) return this.UnchangeColor;
|
|
62102
|
+
|
|
62103
|
+
if(price>yClose) return this.UpColor;
|
|
62104
|
+
else if (price<yClose) return this.DownColor;
|
|
62105
|
+
else return this.UnchangeColor;
|
|
62106
|
+
}
|
|
62107
|
+
|
|
61997
62108
|
this.ForamtMultiLineTitle=function(dataIndex, dataInfo)
|
|
61998
62109
|
{
|
|
61999
62110
|
if (!IFrameSplitOperator.IsNonEmptyArray(dataInfo.Lines)) return null;
|
|
@@ -62479,6 +62590,12 @@ function DynamicChartTitlePainting()
|
|
|
62479
62590
|
if (!aryText) return null;
|
|
62480
62591
|
return { Text:null, ArrayText:aryText };
|
|
62481
62592
|
}
|
|
62593
|
+
else if (item.DataType=="DRAWKLINE")
|
|
62594
|
+
{
|
|
62595
|
+
aryText=this.FromatKLineTitle(value, item);
|
|
62596
|
+
if (!aryText) return null;
|
|
62597
|
+
return { Text:null, ArrayText:aryText };
|
|
62598
|
+
}
|
|
62482
62599
|
else if (g_ScriptIndexChartFactory.Has(item.DataType)) //外部挂接
|
|
62483
62600
|
{
|
|
62484
62601
|
var find=g_ScriptIndexChartFactory.Get(item.DataType);
|
|
@@ -62869,6 +62986,11 @@ function DynamicChartTitlePainting()
|
|
|
62869
62986
|
aryText=this.ForamtMultiBarTitle(dataIndex, item);
|
|
62870
62987
|
if (!aryText) continue;
|
|
62871
62988
|
}
|
|
62989
|
+
else if (item.DataType=="DRAWKLINE")
|
|
62990
|
+
{
|
|
62991
|
+
aryText=this.FromatKLineTitle(value, item);
|
|
62992
|
+
if (!aryText) continue;
|
|
62993
|
+
}
|
|
62872
62994
|
else
|
|
62873
62995
|
{
|
|
62874
62996
|
valueText=this.FormatValue(value,item);
|
|
@@ -123602,6 +123724,17 @@ function ScriptIndex(name,script,args,option)
|
|
|
123602
123724
|
if (config.Name) chart.Title=config.Name;
|
|
123603
123725
|
}
|
|
123604
123726
|
|
|
123727
|
+
var bShowTitle=false;
|
|
123728
|
+
if (IFrameSplitOperator.IsBool(varItem.IsShowTitle)) bShowTitle=varItem.IsShowTitle;
|
|
123729
|
+
if (bShowTitle)
|
|
123730
|
+
{
|
|
123731
|
+
let titleIndex=windowIndex+1;
|
|
123732
|
+
var titleData=new DynamicTitleData(chart.Data,varItem.Name,chart.Color); //标题
|
|
123733
|
+
titleData.DataType="DRAWKLINE";
|
|
123734
|
+
titleData.Symbol=chart.Symbol;
|
|
123735
|
+
hqChart.TitlePaint[titleIndex].Data[id]=titleData;
|
|
123736
|
+
}
|
|
123737
|
+
|
|
123605
123738
|
this.SetChartIndexName(chart);
|
|
123606
123739
|
hqChart.ChartPaint.push(chart);
|
|
123607
123740
|
}
|
|
@@ -125710,7 +125843,7 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
125710
125843
|
{
|
|
125711
125844
|
var overlayIndex=this.OverlayIndex;
|
|
125712
125845
|
var frame=overlayIndex.Frame;
|
|
125713
|
-
|
|
125846
|
+
var chart=new ChartKLine();
|
|
125714
125847
|
chart.Canvas=hqChart.Canvas;
|
|
125715
125848
|
chart.Name=varItem.Name;
|
|
125716
125849
|
chart.ChartBorder=frame.Frame.ChartBorder;
|
|
@@ -125724,6 +125857,28 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
125724
125857
|
if (varItem.Color) //如果设置了颜色,使用外面设置的颜色
|
|
125725
125858
|
chart.UnchagneColor=chart.DownColor=chart.UpColor=this.GetColor(varItem.Color);
|
|
125726
125859
|
|
|
125860
|
+
if (varItem.Draw.Config)
|
|
125861
|
+
{
|
|
125862
|
+
var config=varItem.Draw.Config;
|
|
125863
|
+
if (IFrameSplitOperator.IsBool(config.IsShowMaxMinPrice)) chart.IsShowMaxMinPrice=config.IsShowMaxMinPrice;
|
|
125864
|
+
if (IFrameSplitOperator.IsBool(config.IsShowKTooltip)) chart.IsShowKTooltip=config.IsShowKTooltip;
|
|
125865
|
+
if (config.Symbol) chart.Symbol=config.Symbol;
|
|
125866
|
+
if (config.Name) chart.Title=config.Name;
|
|
125867
|
+
}
|
|
125868
|
+
|
|
125869
|
+
var bShowTitle=false;
|
|
125870
|
+
if (IFrameSplitOperator.IsBool(varItem.IsShowTitle)) bShowTitle=varItem.IsShowTitle;
|
|
125871
|
+
if (bShowTitle)
|
|
125872
|
+
{
|
|
125873
|
+
var titleIndex=windowIndex+1;
|
|
125874
|
+
chart.Data.Data=varItem.Draw.DrawData;
|
|
125875
|
+
var titlePaint=hqChart.TitlePaint[titleIndex];
|
|
125876
|
+
var titleData=new DynamicTitleData(chart.Data,varItem.Name,chart.Color);
|
|
125877
|
+
titleData.DataType="DRAWKLINE";
|
|
125878
|
+
titleData.Symbol=chart.Symbol;
|
|
125879
|
+
titlePaint.OverlayIndex.get(overlayIndex.Identify).Data[id]=titleData;
|
|
125880
|
+
}
|
|
125881
|
+
|
|
125727
125882
|
frame.ChartPaint.push(chart);
|
|
125728
125883
|
}
|
|
125729
125884
|
|
|
@@ -153743,7 +153898,7 @@ function HQChartScriptWorker()
|
|
|
153743
153898
|
|
|
153744
153899
|
|
|
153745
153900
|
|
|
153746
|
-
var HQCHART_VERSION="1.1.
|
|
153901
|
+
var HQCHART_VERSION="1.1.14486";
|
|
153747
153902
|
|
|
153748
153903
|
function PrintHQChartVersion()
|
|
153749
153904
|
{
|