hqchart 1.1.12396 → 1.1.12414
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 +24 -127
- package/package.json +1 -1
- package/src/jscommon/umychart.complier.js +34 -1
- package/src/jscommon/umychart.js +162 -116
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +197 -118
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +197 -118
- package/src/jscommon/umychart.wechat/umychart.chartpaint.wechat.js +2 -2
- package/src/jscommon/umychart.wechat/umychart.complier.wechat.js +2 -1
- package/src/jscommon/umychart.wechat/umychart.index.wechat.js +29 -0
- package/src/jscommon/umychart.wechat/umychart.version.wechat.js +1 -1
- package/src/jscommon/umychart.wechat/umychart.wechat.3.0.js +30 -0
package/lib/umychart.vue.js
CHANGED
|
@@ -1379,7 +1379,7 @@ if(IFrameSplitOperator.IsBool(option.CorssCursorInfo.IsFixXLastTime))chart.Chart
|
|
|
1379
1379
|
}if(item.IsShowRightText==false){chart.Frame.SubFrame[i].Frame.IsShowYText[1]=item.IsShowRightText;chart.Frame.SubFrame[i].Frame.YSplitOperator.IsShowRightText=item.IsShowRightText;//显示右边刻度
|
|
1380
1380
|
}if(item.Height>=0)chart.Frame.SubFrame[i].Height=item.Height;if(item.Custom)chart.Frame.SubFrame[i].Frame.YSplitOperator.Custom=item.Custom;if(item.RightTextFormat>0)chart.Frame.SubFrame[i].Frame.YSplitOperator.RightTextFormat=item.RightTextFormat;if(IFrameSplitOperator.IsNumber(item.TitleHeight))chart.Frame.SubFrame[i].Frame.ChartBorder.TitleHeight=item.TitleHeight;if(IFrameSplitOperator.IsNumber(item.BorderLine))chart.Frame.SubFrame[i].Frame.BorderLine=item.BorderLine;if(IFrameSplitOperator.IsBool(item.EnableRemoveZero))chart.Frame.SubFrame[i].Frame.YSplitOperator.EnableRemoveZero=item.EnableRemoveZero;if(IFrameSplitOperator.IsNumber(item.FloatPrecision))chart.Frame.SubFrame[i].Frame.YSplitOperator.FloatPrecision=item.FloatPrecision;if(IFrameSplitOperator.IsBool(item.IsShowXLine))chart.Frame.SubFrame[i].Frame.IsShowXLine=item.IsShowXLine;if(IFrameSplitOperator.IsBool(item.IsShowYLine))chart.Frame.SubFrame[i].Frame.IsShowYLine=item.IsShowYLine;if(IFrameSplitOperator.IsNumber(item.YTextBaseline))chart.Frame.SubFrame[i].Frame.YTextBaseline=item.YTextBaseline;if(item.TopSpace>=0)chart.Frame.SubFrame[i].Frame.ChartBorder.TopSpace=item.TopSpace;if(item.BottomSpace>=0)chart.Frame.SubFrame[i].Frame.ChartBorder.BottomSpace=item.BottomSpace;}chart.UpdateXShowText();}if(option.ExtendChart){for(var i=0;i<option.ExtendChart.length;++i){var item=option.ExtendChart[i];chart.CreateExtendChart(item.Name,item);}}//叠加股票
|
|
1381
1381
|
if(option.Overlay){for(var i=0;i<option.Overlay.length;++i){var item=option.Overlay[i];chart.OverlaySymbol(item.Symbol,item);}}if(option.MinuteLine){if(option.MinuteLine.IsDrawAreaPrice==false)chart.ChartPaint[0].IsDrawArea=false;if(option.MinuteLine.IsShowLead==false)chart.IsShowLead=false;if(option.MinuteLine.IsShowAveragePrice==false){chart.ChartPaint[1].IsShow=false;chart.TitlePaint[0].IsShowAveragePrice=false;//标题栏均线也不显示
|
|
1382
|
-
for(var i=0;i<chart.ExtendChartPaint.length;++i){var item=chart.ExtendChartPaint[i];if(item.ClassName=="MinuteTooltipPaint")item.IsShowAveragePrice=false;}}if(option.MinuteLine.SplitType>0)chart.Frame.SubFrame[0].Frame.YSplitOperator.SplitType=option.MinuteLine.SplitType;}if(option.MinuteVol){var item=option.MinuteVol;if(IFrameSplitOperator.IsNumber(item.BarColorType))chart.ChartPaint[2].BarColorType=item.BarColorType;}if(option.MinuteTitle){var item=option.MinuteTitle;if(IFrameSplitOperator.IsBool(item.IsShowName))chart.TitlePaint[0].IsShowName=item.IsShowName;if(IFrameSplitOperator.IsBool(item.IsShowDate))chart.TitlePaint[0].IsShowDate=item.IsShowDate;if(IFrameSplitOperator.IsBool(item.IsShowTime))chart.TitlePaint[0].IsShowTime=item.IsShowTime;if(IFrameSplitOperator.IsBool(item.IsTitleShowLatestData))chart.IsTitleShowLatestData=item.IsTitleShowLatestData;if(IFrameSplitOperator.IsBool(item.IsAlwaysShowLastData))chart.TitlePaint[0].IsAlwaysShowLastData=item.IsAlwaysShowLastData;if(IFrameSplitOperator.IsNumber(item.ShowLastDataFormat))chart.TitlePaint[0].ShowLastDataFormat=item.ShowLastDataFormat;if(item.TimeFormat)chart.TitlePaint[0].TimeFormat=item.TimeFormat;}if(option.CorssCursorTouchEnd===true)chart.CorssCursorTouchEnd=option.CorssCursorTouchEnd;if(option.IsShowBeforeData===true)chart.IsShowBeforeData=option.IsShowBeforeData;//分钟数据指标从第3个指标窗口设置
|
|
1382
|
+
for(var i=0;i<chart.ExtendChartPaint.length;++i){var item=chart.ExtendChartPaint[i];if(item.ClassName=="MinuteTooltipPaint")item.IsShowAveragePrice=false;}}if(option.MinuteLine.SplitType>0)chart.Frame.SubFrame[0].Frame.YSplitOperator.SplitType=option.MinuteLine.SplitType;}if(option.MinuteVol){var item=option.MinuteVol;if(IFrameSplitOperator.IsNumber(item.BarColorType))chart.ChartPaint[2].BarColorType=item.BarColorType;}if(option.MinuteTitle){var item=option.MinuteTitle;if(IFrameSplitOperator.IsBool(item.IsShowName))chart.TitlePaint[0].IsShowName=item.IsShowName;if(IFrameSplitOperator.IsBool(item.IsShowDate))chart.TitlePaint[0].IsShowDate=item.IsShowDate;if(IFrameSplitOperator.IsBool(item.IsShowTime))chart.TitlePaint[0].IsShowTime=item.IsShowTime;if(IFrameSplitOperator.IsBool(item.IsTitleShowLatestData))chart.IsTitleShowLatestData=item.IsTitleShowLatestData;if(IFrameSplitOperator.IsBool(item.IsAlwaysShowLastData))chart.TitlePaint[0].IsAlwaysShowLastData=item.IsAlwaysShowLastData;if(IFrameSplitOperator.IsNumber(item.ShowLastDataFormat))chart.TitlePaint[0].ShowLastDataFormat=item.ShowLastDataFormat;if(IFrameSplitOperator.IsNumber(item.TitleBaseLine))chart.TitlePaint[0].TitleBaseLine=item.TitleBaseLine;if(item.TimeFormat)chart.TitlePaint[0].TimeFormat=item.TimeFormat;}if(option.CorssCursorTouchEnd===true)chart.CorssCursorTouchEnd=option.CorssCursorTouchEnd;if(option.IsShowBeforeData===true)chart.IsShowBeforeData=option.IsShowBeforeData;//分钟数据指标从第3个指标窗口设置
|
|
1383
1383
|
if(IFrameSplitOperator.IsNonEmptyArray(option.Windows)){var scriptData=new JSIndexScript();for(var i=0;i<option.Windows.length;++i){var index=2+i;var item=option.Windows[i];if(item.Script){chart.WindowIndex[index]=new ScriptIndex(item.Name,item.Script,item.Args,item);//脚本执行
|
|
1384
1384
|
}else if(item.API)//使用API挂接指标数据 API:{ Name:指标名字, Script:指标脚本可以为空, Args:参数可以为空, Url:指标执行地址 }
|
|
1385
1385
|
{var apiItem=item.API;chart.WindowIndex[index]=new APIScriptIndex(apiItem.Name,apiItem.Script,apiItem.Args,item);}else{var indexItem=JSIndexMap.Get(item.Index);if(indexItem){chart.WindowIndex[index]=indexItem.Create();//创建子窗口的指标
|
|
@@ -3103,7 +3103,7 @@ this.Canvas.clip();};this.GetYFromData=function(value,isLimit){return this.Chart
|
|
|
3103
3103
|
else if (dataWidth < 13) font =12*pixelTatio +'px Arial';
|
|
3104
3104
|
else if (dataWidth < 15) font =14*pixelTatio + 'px Arial';
|
|
3105
3105
|
else font =16*pixelTatio + 'px Arial';
|
|
3106
|
-
*/return font;};this.GetLockRect=function(){return this.ChartFrame.GetLockRect();};this.SetFillStyle=function(color,x0,y0,x1,y1){if(Array.isArray(color)){var gradient=this.Canvas.createLinearGradient(x0,y0,x1,y1);var offset=1/color.length;for(var i
|
|
3106
|
+
*/return font;};this.GetLockRect=function(){return this.ChartFrame.GetLockRect();};this.SetFillStyle=function(color,x0,y0,x1,y1){if(Array.isArray(color)){var gradient=this.Canvas.createLinearGradient(x0,y0,x1,y1);var offset=1/(color.length-1);for(var i=0;i<color.length;++i){var value=i*offset;gradient.addColorStop(value,color[i]);}this.Canvas.fillStyle=gradient;}else{this.Canvas.fillStyle=color;}};this.GetDynamicIconSize=function(dataWidth,distanceWidth,maxSize,minSize,zoom){var pixelTatio=GetDevicePixelRatio();maxSize*=pixelTatio;minSize*=pixelTatio;if(maxSize==minSize)return maxSize;var iconSize=dataWidth+distanceWidth-2*pixelTatio;if(zoom){if(zoom.Type==0){if(zoom.Value>0)iconSize=dataWidth*zoom.Value;}else if(zoom.Type==1){if(zoom.Value>0)iconSize=(dataWidth+distanceWidth)*zoom.Value;}else if(zoom.Type==2){if(IFrameSplitOperator.IsNumber(zoom.Value))iconSize=dataWidth+distanceWidth+2*zoom.Value*pixelTatio;}}if(iconSize<minSize)iconSize=minSize;else if(iconSize>maxSize)iconSize=maxSize;return iconSize;};this.GetFontHeight=function(font){return GetFontHeight(this.Canvas,font,"擎");};//选中图形画点
|
|
3107
3107
|
this.DrawLinePoint=function(option){var bHScreen=this.ChartFrame.IsHScreen===true;if(bHScreen)return;if(!this.IsShow)return;var isMinute=this.IsMinuteFrame();var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var xPointCount=this.ChartFrame.XPointCount;if(bHScreen){var border=this.ChartBorder.GetHScreenBorder();var chartright=border.BottomEx;var xOffset=border.TopEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;}else{var border=this.ChartBorder.GetBorder();var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;var chartright=border.RightEx;}var lockRect=this.GetLockRect();if(lockRect){if(bHScreen)chartright=lockRect.Top;else chartright=lockRect.Left;}var pixelRatio=GetDevicePixelRatio();this.Canvas.save();this.ClipClient(bHScreen);this.Canvas.lineWidth=this.SelectedLineWidth*pixelRatio;this.Canvas.strokeStyle=this.SelectedLineColor;if(this.SelectedBGColor)this.Canvas.fillStyle=this.SelectedBGColor;var radius=this.SelectedRadius;var pointSpace=Math.ceil(this.SelectedPointMinSpace/(dataWidth+distanceWidth));if(pointSpace<=0)pointSpace=1;if(isMinute){var barWidth=(border.Right-border.Left)/xPointCount;pointSpace=Math.ceil(this.SelectedPointMinSpace/barWidth);}var valueType=0;var firstOpen=null,firstOverlayOpen=null;if(option){if(option.KLineClose)valueType=1;//K线收盘价
|
|
3108
3108
|
else if(option.MinuteVolBar){valueType=2;//分时图柱子
|
|
3109
3109
|
}else if(option.MinuteOverlayPrice)//叠加分时图价格
|
|
@@ -4148,11 +4148,19 @@ function ChartDrawSVG(){this.newMethod=IChartPainting;//派生
|
|
|
4148
4148
|
this.newMethod();delete this.newMethod;this.ClassName="ChartDrawSVG";this.Family;this.TextFont;this.Texts=[];//[ { Index:, Value:, Symbol:, Text:, Size: } ] SVG:图标 Text:文字 Size:图标大小
|
|
4149
4149
|
this.IsHScreen=false;//是否横屏
|
|
4150
4150
|
this.IsDestroy=false;//是否已销毁
|
|
4151
|
-
this.EnableTooltip=true;this.TooltipRect=[]
|
|
4152
|
-
this.
|
|
4151
|
+
this.EnableTooltip=true;this.TooltipRect=[];this.ExcludeArea=null;//排除区域 { Left, Top, Width, Height, Type:0 }
|
|
4152
|
+
this.AutoPosition=null;//{ Direction:0, MaxYOffset:40 } //自动调整Y轴偏移,防止文字重叠
|
|
4153
|
+
this.AryDrawRect=[];//已经绘制的区域
|
|
4154
|
+
this.AutoYOffset=0;//this.Data; 存K线数据
|
|
4155
|
+
this.Draw=function(){this.TooltipRect=[];this.AryDrawRect=[];this.AutoYOffset=0;if(!this.IsShow||this.ChartFrame.IsMinSize||!this.IsVisible)return;if(this.IsShowIndexTitleOnly())return;if(this.IsHideScriptIndex())return;this.DrawSVG();};this.DrawDetail=function(rtSVG,data){if(!IFrameSplitOperator.IsNonEmptyArray(data.Content))return;var lefMargin=2;var rightMargin=2;var itemSpace=2;var rtBorder={Left:rtSVG.Right,Right:rtSVG.Right,Bottom:rtSVG.Bottom};var rightBorder=0;//右边的边界 0=div的宽度 1=图形框架边框
|
|
4153
4156
|
if(IFrameSplitOperator.IsNumber(data.ItemSpace))itemSpace=data.ItemSpace;if(IFrameSplitOperator.IsNumber(data.YOffset))rtBorder.Bottom+=data.YOffset;if(IFrameSplitOperator.IsNumber(data.XOffset))rtBorder.Left+=data.XOffset;if(IFrameSplitOperator.IsNumber(data.LeftMargin))lefMargin=data.LeftMargin;if(IFrameSplitOperator.IsNumber(data.RightMargin))rightMargin=data.RightMargin;if(IFrameSplitOperator.IsNumber(data.RightBorder))rightBorder=data.RightBorder;if(data.Font)this.Canvas.font=data.Font;else this.Canvas.font=this.TextFont;this.Canvas.textBaseline='bottom';this.Canvas.textAlign='left';var textHeight=this.Canvas.measureText("擎").width+2;rtBorder.Height=textHeight+5;var yText=rtBorder.Bottom-(rtBorder.Height-textHeight)/2;var xText=rtBorder.Left+lefMargin;var aryText=[];for(var i=0;i<data.Content.length;++i){if(aryText.length>0)xText+=itemSpace;var item=data.Content[i];if(!item.Text)continue;var textWidth=this.Canvas.measureText(item.Text).width+2;aryText.push({X:xText,Y:yText,Width:textWidth,Data:item});xText+=textWidth;rtBorder.Right=xText;}rtBorder.Right+=rightMargin;rtBorder.Width=rtBorder.Right-rtBorder.Left;rtBorder.Top=rtBorder.Bottom-rtBorder.Height;var right=this.ChartBorder.GetChartWidth()-1;if(rightBorder==1)right=this.ChartBorder.GetRight();if(rtBorder.Right>right)//右边显示不下,显示在左边
|
|
4154
|
-
{rtBorder.Right=rtSVG.Left;if(IFrameSplitOperator.IsNumber(data.XOffset))rtBorder.Right-=data.XOffset;rtBorder.Left=rtBorder.Right-rtBorder.Width;var xText=rtBorder.Left+lefMargin;for(var i=0;i<aryText.length;++i){if(i>0)xText+=itemSpace;var item=aryText[i];item.X=xText;xText+=item.Width;}}if(data.BGColor){this.Canvas.fillStyle=data.BGColor;this.Canvas.fillRect(rtBorder.Left,rtBorder.Top,rtBorder.Width,rtBorder.Height);}if(data.BorderColor){this.Canvas.strokeStyle=data.BorderColor;this.Canvas.strokeRect(ToFixedPoint(rtBorder.Left),ToFixedPoint(rtBorder.Top),ToFixedRect(rtBorder.Width),ToFixedRect(rtBorder.Height));}for(var i=0;i<aryText.length;++i){var item=aryText[i];this.Canvas.fillStyle=item.Data.Color;this.Canvas.fillText(item.Data.Text,item.X,item.Y);}
|
|
4155
|
-
|
|
4157
|
+
{rtBorder.Right=rtSVG.Left;if(IFrameSplitOperator.IsNumber(data.XOffset))rtBorder.Right-=data.XOffset;rtBorder.Left=rtBorder.Right-rtBorder.Width;var xText=rtBorder.Left+lefMargin;for(var i=0;i<aryText.length;++i){if(i>0)xText+=itemSpace;var item=aryText[i];item.X=xText;xText+=item.Width;}}if(data.BGColor){this.Canvas.fillStyle=data.BGColor;this.Canvas.fillRect(rtBorder.Left,rtBorder.Top,rtBorder.Width,rtBorder.Height);}if(data.BorderColor){this.Canvas.strokeStyle=data.BorderColor;this.Canvas.strokeRect(ToFixedPoint(rtBorder.Left),ToFixedPoint(rtBorder.Top),ToFixedRect(rtBorder.Width),ToFixedRect(rtBorder.Height));}for(var i=0;i<aryText.length;++i){var item=aryText[i];this.Canvas.fillStyle=item.Data.Color;this.Canvas.fillText(item.Data.Text,item.X,item.Y);}this.AryDrawRect.push({Left:rtBorder.Left,Top:rtBorder.Top,Right:rtBorder.Right,Bottom:rtBorder.Bottom,Type:"Detail"});};this.GetDetailPosition=function(rtSVG,data){if(!IFrameSplitOperator.IsNonEmptyArray(data.Content))return null;var lefMargin=2;var rightMargin=2;var itemSpace=2;var rtBorder={Left:rtSVG.Right,Right:rtSVG.Right,Bottom:rtSVG.Bottom};var rightBorder=0;//右边的边界 0=div的宽度 1=图形框架边框
|
|
4158
|
+
if(IFrameSplitOperator.IsNumber(data.ItemSpace))itemSpace=data.ItemSpace;if(IFrameSplitOperator.IsNumber(data.YOffset))rtBorder.Bottom+=data.YOffset;if(IFrameSplitOperator.IsNumber(data.XOffset))rtBorder.Left+=data.XOffset;if(IFrameSplitOperator.IsNumber(data.LeftMargin))lefMargin=data.LeftMargin;if(IFrameSplitOperator.IsNumber(data.RightMargin))rightMargin=data.RightMargin;if(IFrameSplitOperator.IsNumber(data.RightBorder))rightBorder=data.RightBorder;if(data.Font)this.Canvas.font=data.Font;else this.Canvas.font=this.TextFont;var textHeight=this.Canvas.measureText("擎").width+2;rtBorder.Height=textHeight+5;var yText=rtBorder.Bottom-(rtBorder.Height-textHeight)/2;var xText=rtBorder.Left+lefMargin;var bFrist=true;for(var i=0;i<data.Content.length;++i){if(!bFrist)xText+=itemSpace;var item=data.Content[i];if(!item.Text)continue;var textWidth=this.Canvas.measureText(item.Text).width+2;xText+=textWidth;rtBorder.Right=xText;bFrist=false;}rtBorder.Right+=rightMargin;rtBorder.Width=rtBorder.Right-rtBorder.Left;rtBorder.Top=rtBorder.Bottom-rtBorder.Height;var right=this.ChartBorder.GetChartWidth()-1;if(rightBorder==1)right=this.ChartBorder.GetRight();if(rtBorder.Right>right)//右边显示不下,显示在左边
|
|
4159
|
+
{rtBorder.Right=rtSVG.Left;if(IFrameSplitOperator.IsNumber(data.XOffset))rtBorder.Right-=data.XOffset;rtBorder.Left=rtBorder.Right-rtBorder.Width;}return rtBorder;};this.CalculateShowPosition=function(item,pt){var x=pt.X,y=pt.Y;var svgItem=item.SVG;if(IFrameSplitOperator.IsNumber(svgItem.YOffset))y+=svgItem.YOffset;var fontSVG=svgItem.Size+'px '+this.Family;this.Canvas.font=fontSVG;var halfSize=svgItem.Size/2;var rtSVG={Left:x-halfSize,Right:x+halfSize,Top:y-svgItem.Size,Bottom:y,Height:svgItem.Size,Width:svgItem.Size};if(svgItem.VAlign===0)//top
|
|
4160
|
+
{rtSVG.Top=y;rtSVG.Bottom=rtSVG.Top+svgItem.Size;}else if(svgItem.VAlign===1)//middle
|
|
4161
|
+
{rtSVG.Top=y-svgItem.Size/2;rtSVG.Bottom=rtSVG.Top+svgItem.Size;}if(rtSVG.Top<0){rtSVG.Top=0;rtSVG.Bottom=svgItem.Size;y=rtSVG.Bottom;}var rtContent=null;if(item.Detail)rtContent=this.GetDetailPosition(rtSVG,item.Detail);var yOffset=0,yMoveStep=-5;for(var i=0;i<20;++i){if(rtSVG&&!rtContent){if(!this.IsRectOverlap(rtSVG))break;}else if(rtSVG&&rtContent){if(!this.IsRectOverlap(rtSVG)&&!this.IsRectOverlap(rtContent))break;}yOffset+=yMoveStep;if(Math.abs(yOffset)>=this.AutoPosition.MaxYOffset)break;rtSVG.Top+=yMoveStep;rtSVG.Bottom+=yMoveStep;if(rtContent){rtContent.Top+=yMoveStep;rtContent.Bottom+=yMoveStep;}}pt.X=x;pt.Y=y+yOffset;};this.IsRectOverlap=function(rect){for(var i=0;i<this.AryDrawRect.length;++i){var item=this.AryDrawRect[i];if((rect.Left>=item.Left&&rect.Left<=item.Right||rect.Right>=item.Left&&rect.Right<=item.Right)&&(rect.Top>=item.Top&&rect.Top<=item.Bottom||rect.Bottom>=item.Top&&rect.Bottom<=item.Bottom)){return true;}}return false;};this.DrawSVG=function(){if(!this.IsShow||this.ChartFrame.IsMinSize)return;if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return;if(!IFrameSplitOperator.IsNonEmptyArray(this.Texts))return;if(!this.Family)return;this.IsHScreen=this.ChartFrame.IsHScreen===true;var xPointCount=this.ChartFrame.XPointCount;var offset=this.Data.DataOffset;var top=this.ChartBorder.GetTopEx();var bottom=this.ChartBorder.GetBottomEx();var pixelRatio=GetDevicePixelRatio();var x=0,y=0;for(var i=0;i<this.Texts.length;++i){var item=this.Texts[i];if(!item.SVG||!item.SVG.Symbol)continue;if(!IFrameSplitOperator.IsNumber(item.Index))continue;var isMinuteFrame=this.IsMinuteFrame();var index=item.Index-offset;var kItem=this.Data.Data[item.Index];if(index<0||index>=xPointCount)continue;x=this.ChartFrame.GetXFromIndex(index);if(item.Value=="Top")y=top;else if(item.Value=="Bottom")y=bottom;else y=this.ChartFrame.GetYFromData(item.Value);if(IFrameSplitOperator.IsNumber(item.YOffset))y+=item.YOffset;//Y轴偏移
|
|
4162
|
+
if(this.AutoPosition){var pt={X:x,Y:y};this.CalculateShowPosition(item,pt);//重新计算位置
|
|
4163
|
+
x=pt.X;y=pt.Y;}var svgItem=item.SVG;if(IFrameSplitOperator.IsNumber(svgItem.YOffset))y+=svgItem.YOffset;var fontSVG=svgItem.Size+'px '+this.Family;this.Canvas.font=fontSVG;var halfSize=svgItem.Size/2;var textBaseline='bottom';var rtSVG={Left:x-halfSize,Right:x+halfSize,Top:y-svgItem.Size,Bottom:y,Height:svgItem.Size,Width:svgItem.Size};if(svgItem.VAlign===0){textBaseline="top";rtSVG.Top=y;rtSVG.Bottom=rtSVG.Top+svgItem.Size;}else if(svgItem.VAlign===1){textBaseline='middle';rtSVG.Top=y-svgItem.Size/2;rtSVG.Bottom=rtSVG.Top+svgItem.Size;}if(rtSVG.Top<0){rtSVG.Top=0;rtSVG.Bottom=svgItem.Size;y=rtSVG.Bottom;}this.Canvas.textBaseline=textBaseline;this.Canvas.textAlign='center';this.Canvas.fillStyle=svgItem.Color;this.Canvas.fillText(svgItem.Symbol,x,y);this.AryDrawRect.push({Left:rtSVG.Left,Top:rtSVG.Top,Right:rtSVG.Right,Bottom:rtSVG.Bottom,Type:"SVG"});if(this.EnableTooltip)this.TooltipRect.push({Rect:rtSVG,Index:i});//文字
|
|
4156
4164
|
if(item.Text&&item.Text.Content&&this.TextFont){var textItem=item.Text;this.Canvas.font=this.TextFont;this.Canvas.fillStyle=textItem.Color;var yText=y;if(IFrameSplitOperator.IsNumber(textItem.YOffset))yText+=textItem.YOffset;this.Canvas.fillText(textItem.Content,x,yText);}if(item.Detail){this.DrawDetail(rtSVG,item.Detail);}//连线
|
|
4157
4165
|
if(item.Line){var lineItem=item.Line;var price;var kItem=this.Data.Data[item.Index];switch(lineItem.Value){case"C":price=kItem.Close;break;case"H":price=kItem.High;break;case"L":price=kItem.Low;break;}if(!IFrameSplitOperator.IsNumber(price))continue;var yPrice=this.ChartFrame.GetYFromData(price);if(yPrice>=rtSVG.Top&&yPrice<=rtSVG.Bottom)continue;var yText;if(yPrice<rtSVG.Top){yText=rtSVG.Top;if(IFrameSplitOperator.IsNumber(lineItem.SVGBlank)){//yPrice+=lineItem.Blank;
|
|
4158
4166
|
yText-=lineItem.SVGBlank;}}else{yText=rtSVG.Bottom;if(IFrameSplitOperator.IsNumber(lineItem.SVGBlank)){//yPrice-=lineItem.Blank;
|
|
@@ -5333,119 +5341,7 @@ this.Canvas.font=this.Font;if(isHScreen){if(this.Frame.ChartBorder.Right<5*pixel
|
|
|
5333
5341
|
var xText=border.ChartWidth;var yText=border.Top;this.Canvas.translate(xText,yText);this.Canvas.rotate(90*Math.PI/180);}else{if(this.Frame.ChartBorder.Top<5*pixelRatio)return;}this.Canvas.textAlign="left";if(this.TitleBaseLine==0)//上
|
|
5334
5342
|
{this.Canvas.textBaseline="top";bottom=2*pixelRatio;}else if(this.TitleBaseLine==2)//下
|
|
5335
5343
|
{this.Canvas.textBaseline="bottom";var bottom=border.Top;}else//中
|
|
5336
|
-
{this.Canvas.textBaseline="middle";}var position={Left:left,Bottom:bottom,IsHScreen:isHScreen};var titleData=this.GetFormatTitle({Data:item,IsLastOne:isLastOne});if(titleData&&IFrameSplitOperator.IsNonEmptyArray(titleData.AryText)){for(var i=0;i<titleData.AryText.length;++i){var item=titleData.AryText[i];if(!this.DrawText(item.Text,item.Color,position))break;}}
|
|
5337
|
-
if(this.IsShowName)
|
|
5338
|
-
{
|
|
5339
|
-
if (!this.DrawText(this.Name,this.NameColor,position)) return;
|
|
5340
|
-
}
|
|
5341
|
-
|
|
5342
|
-
if (this.IsShowDate || this.IsShowTime)
|
|
5343
|
-
{
|
|
5344
|
-
var bShowUpdateTime=false; //是否显示了更新时间
|
|
5345
|
-
if (isLastOne && this.ShowLastDataFormat==1)
|
|
5346
|
-
{
|
|
5347
|
-
if (this.Data && this.Data.UpdateTime && IFrameSplitOperator.IsNumber(this.Data.UpdateTime.Date) && IFrameSplitOperator.IsNumber(this.Data.UpdateTime.Time))
|
|
5348
|
-
{
|
|
5349
|
-
var text=IFrameSplitOperator.FormatTimeString(this.Data.UpdateTime.Time, "HH:MM:SS");
|
|
5350
|
-
if (!this.DrawText(text,this.DateTimeColor,position)) return;
|
|
5351
|
-
bShowUpdateTime=true;
|
|
5352
|
-
}
|
|
5353
|
-
}
|
|
5354
|
-
|
|
5355
|
-
if (!bShowUpdateTime)
|
|
5356
|
-
{
|
|
5357
|
-
if (this.TimeFormat) //指定时间格式
|
|
5358
|
-
{
|
|
5359
|
-
var strDate=null, strTime=null, text=null;
|
|
5360
|
-
if (this.IsShowDate) strDate=IFrameSplitOperator.FormatDateString("YYYY-MM-DD", item.Date);
|
|
5361
|
-
if (this.IsShowTime) strTime=IFrameSplitOperator.FormatTimeString(item.Time,this.TimeFormat);
|
|
5362
|
-
if (strDate && strTime) text=`${strDate} ${strTime}`;
|
|
5363
|
-
else if (strDate) text=strDate;
|
|
5364
|
-
else if (strTime) text=strTime;
|
|
5365
|
-
if (text) if (!this.DrawText(text,this.DateTimeColor,position)) return;
|
|
5366
|
-
}
|
|
5367
|
-
else
|
|
5368
|
-
{
|
|
5369
|
-
var text=IFrameSplitOperator.FormatDateTimeString(item.DateTime,this.IsShowDate, this.IsShowTime);
|
|
5370
|
-
if (!this.DrawText(text,this.DateTimeColor,position)) return;
|
|
5371
|
-
}
|
|
5372
|
-
}
|
|
5373
|
-
}
|
|
5374
|
-
|
|
5375
|
-
var close=item.Close;
|
|
5376
|
-
var increase=item.Increase;
|
|
5377
|
-
var vol=item.Vol;
|
|
5378
|
-
var amount=item.Amount;
|
|
5379
|
-
if (item.Before) //读取盘前数据
|
|
5380
|
-
{
|
|
5381
|
-
close=item.Before.Close;
|
|
5382
|
-
increase=item.Before.Increase;
|
|
5383
|
-
vol=item.Before.Vol;
|
|
5384
|
-
amount=item.Before.Amount;
|
|
5385
|
-
}
|
|
5386
|
-
|
|
5387
|
-
if (close)
|
|
5388
|
-
{
|
|
5389
|
-
var color=this.GetColor(close,this.YClose);
|
|
5390
|
-
var text=g_JSChartLocalization.GetText('MTitle-Close',this.LanguageID)+close.toFixed(defaultfloatPrecision);
|
|
5391
|
-
if (!this.DrawText(text,color,position)) return;
|
|
5392
|
-
}
|
|
5393
|
-
|
|
5394
|
-
if (increase!=null)
|
|
5395
|
-
{
|
|
5396
|
-
var color=this.GetColor(increase,0);
|
|
5397
|
-
var text=g_JSChartLocalization.GetText('MTitle-Increase',this.LanguageID)+increase.toFixed(2)+'%';
|
|
5398
|
-
if (!this.DrawText(text,color,position)) return;
|
|
5399
|
-
}
|
|
5400
|
-
|
|
5401
|
-
var isShowAvPrice=true;
|
|
5402
|
-
var upperSymbol=this.Symbol.toUpperCase();
|
|
5403
|
-
if (MARKET_SUFFIX_NAME.IsET(upperSymbol) && !MARKET_SUFFIX_NAME.IsETShowAvPrice(upperSymbol)) isShowAvPrice=false;
|
|
5404
|
-
else if (MARKET_SUFFIX_NAME.IsShowAvPrice && !MARKET_SUFFIX_NAME.IsShowAvPrice(upperSymbol)) isShowAvPrice=false;
|
|
5405
|
-
|
|
5406
|
-
if (item.AvPrice && isShowAvPrice && this.IsShowAveragePrice)
|
|
5407
|
-
{
|
|
5408
|
-
var color=this.GetColor(item.AvPrice,this.YClose);
|
|
5409
|
-
var text=g_JSChartLocalization.GetText('MTitle-AvPrice',this.LanguageID)+item.AvPrice.toFixed(defaultfloatPrecision);
|
|
5410
|
-
if (!this.DrawText(text,color,position)) return;
|
|
5411
|
-
}
|
|
5412
|
-
|
|
5413
|
-
var text=g_JSChartLocalization.GetText('MTitle-Vol',this.LanguageID)+IFrameSplitOperator.FromatIntegerString(vol,2,this.LanguageID);
|
|
5414
|
-
if (!this.DrawText(text,this.VolColor,position)) return;
|
|
5415
|
-
|
|
5416
|
-
if (IFrameSplitOperator.IsNumber(amount))
|
|
5417
|
-
{
|
|
5418
|
-
var text=g_JSChartLocalization.GetText('MTitle-Amount',this.LanguageID)+IFrameSplitOperator.FormatValueString(amount,2,this.LanguageID);
|
|
5419
|
-
if (!this.DrawText(text,this.AmountColor,position)) return;
|
|
5420
|
-
}
|
|
5421
|
-
|
|
5422
|
-
if (IFrameSplitOperator.IsNumber(item.Position))
|
|
5423
|
-
{
|
|
5424
|
-
var text=g_JSChartLocalization.GetText('MTitle-Position',this.LanguageID)+IFrameSplitOperator.FromatIntegerString(item.Position,2,this.LanguageID);
|
|
5425
|
-
if (!this.DrawText(text,this.VolColor,position)) return;
|
|
5426
|
-
}
|
|
5427
|
-
|
|
5428
|
-
if (isLastOne && this.ShowLastDataFormat==0) //显示数据最后的更新时间
|
|
5429
|
-
{
|
|
5430
|
-
if (this.Data && this.Data.UpdateTime && IFrameSplitOperator.IsNumber(this.Data.UpdateTime.Date) && IFrameSplitOperator.IsNumber(this.Data.UpdateTime.Time))
|
|
5431
|
-
{
|
|
5432
|
-
var text=g_JSChartLocalization.GetText('MTitle-UpdateTime',this.LanguageID)+IFrameSplitOperator.FormatTimeString(this.Data.UpdateTime.Time, "HH:MM:SS");
|
|
5433
|
-
if (!this.DrawText(text,this.DateTimeColor,position)) return;
|
|
5434
|
-
}
|
|
5435
|
-
}
|
|
5436
|
-
|
|
5437
|
-
//叠加股票的名字
|
|
5438
|
-
for(var i in this.OverlayChartPaint)
|
|
5439
|
-
{
|
|
5440
|
-
var item=this.OverlayChartPaint[i];
|
|
5441
|
-
if (!item.Symbol || !item.Title) continue;
|
|
5442
|
-
|
|
5443
|
-
var name=item.Title;
|
|
5444
|
-
var clrText=item.Color;
|
|
5445
|
-
var text='['+name+']';
|
|
5446
|
-
if (!this.DrawText(text,clrText,position)) return;
|
|
5447
|
-
}
|
|
5448
|
-
*/};//盘前 盘后数据格式化
|
|
5344
|
+
{this.Canvas.textBaseline="middle";}var position={Left:left,Bottom:bottom,IsHScreen:isHScreen};var titleData=this.GetFormatTitle({Data:item,IsLastOne:isLastOne});if(titleData&&IFrameSplitOperator.IsNonEmptyArray(titleData.AryText)){for(var i=0;i<titleData.AryText.length;++i){var item=titleData.AryText[i];if(!this.DrawText(item.Text,item.Color,position))break;}}};//盘前 盘后数据格式化
|
|
5449
5345
|
this.FormatCallAuctionTitle=function(data){var aryText=[];//{ Color: Text: }
|
|
5450
5346
|
var defaultfloatPrecision=GetfloatPrecision(this.Symbol);//价格小数位数
|
|
5451
5347
|
//股票名称
|
|
@@ -10959,7 +10855,7 @@ this.ConstVarTable=new _map2.default([//个股数据
|
|
|
10959
10855
|
["ZSTJJ",null],//分时图均价线,对于分时图周期指标有效.
|
|
10960
10856
|
["ISEQUAL",null],["ISUP",null],["ISDOWN"],//ISUP=收阳 ISEQUAL=平盘 ISDOWN=收阴
|
|
10961
10857
|
//日期类
|
|
10962
|
-
['DATE',null],['YEAR',null],['MONTH',null],['PERIOD',null],['WEEK',null],["TIME",null],["DAY",null],["DATETIME",null],["TIME2",null],["WEEKOFYEAR",null],["DAYSTOTODAY",null],//大盘数据
|
|
10858
|
+
['DATE',null],['YEAR',null],['MONTH',null],['PERIOD',null],['WEEK',null],['WEEKDAY',null],["TIME",null],["DAY",null],["DATETIME",null],["TIME2",null],["WEEKOFYEAR",null],["DAYSTOTODAY",null],//大盘数据
|
|
10963
10859
|
['INDEXA',null],['INDEXC',null],['INDEXH',null],['INDEXL',null],['INDEXO',null],['INDEXV',null],['INDEXADV',null],['INDEXDEC',null],["ADVANCE",null],['DECLINE',null],['FROMOPEN',null],//已开盘有多长分钟
|
|
10964
10860
|
['TOTALFZNUM',null],//该品种的每天的总交易分钟数.
|
|
10965
10861
|
['CURRBARSCOUNT',null],//到最后交易日的周期数
|
|
@@ -11018,7 +10914,7 @@ return this.SymbolData.GetVariantData(jobItem);case JS_EXECUTE_JOB_ID.JOB_CUSTOM
|
|
|
11018
10914
|
case"ISUP"://收阳
|
|
11019
10915
|
case"ISDOWN"://收阴
|
|
11020
10916
|
return this.SymbolData.GetSymbolCacheData(name);case'VOLR':return this.SymbolData.GetVolRateCacheData(node);//大盘数据
|
|
11021
|
-
case'INDEXA':case'INDEXC':case'INDEXH':case'INDEXH':case'INDEXO':case'INDEXV':case'INDEXL':case'INDEXADV':case'INDEXDEC':return this.SymbolData.GetIndexCacheData(name);case'CURRBARSCOUNT':return this.SymbolData.GetCurrBarsCount();case"BARPOS":return this.SymbolData.GetBarPos();case"TOTALBARSCOUNT":return this.SymbolData.GetTotalBarsCount();case"TOTALFZNUM":return this.SymbolData.GetTotalTradeMinuteCount();case'ISLASTBAR':return this.SymbolData.GetIsLastBar();case"BARSTATUS":return this.SymbolData.GetBarStatus();case"TOTALCAPITAL":case'CAPITAL':case'EXCHANGE':case"HYBLOCK":case"DYBLOCK":case"GNBLOCK":case"FGBLOCK":case"ZSBLOCK":case"ZHBLOCK":case"ZDBLOCK":case"HYZSCODE":case"GNBLOCKNUM":case"FGBLOCKNUM":case"ZSBLOCKNUM":case"ZHBLOCKNUM":case"ZDBLOCKNUM":case"HYSYL":case"HYSJL":return this.SymbolData.GetStockCacheData({VariantName:name,Node:node});case'SETCODE':return this.SymbolData.SETCODE();case'CODE':return this.SymbolData.GetSymbol();case'STKNAME':return this.SymbolData.GetName();case"TIME":return this.SymbolData.TIME();case"TIME2":return this.SymbolData.TIME2();case'DATE':return this.SymbolData.DATE();case"DATETIME":return this.SymbolData.DateTime();case'YEAR':return this.SymbolData.YEAR();case'MONTH':return this.SymbolData.MONTH();case'WEEK':return this.SymbolData.WEEK();case"DAY":return this.SymbolData.DAY();case'PERIOD':return this.SymbolData.PERIOD();case'FROMOPEN':return this.SymbolData.GetLatestIndexCacheData('FROMOPEN');case'DRAWNULL':case"NULL":return this.SymbolData.GetDrawNull();case'ADVANCE':case'DECLINE':return this.SymbolData.GetIndexIncreaseCacheData(name,this.SymbolData.Symbol,node);case"TQFLAG":return this.SymbolData.Right;case"MACHINEDATE":{var now=new Date();return now.getFullYear()*10000+now.getMonth()*1*100+now.getDate()-19000000;}case"MACHINETIME":{var now=new Date();return now.getHours()*10000+now.getMinutes()*1*100+now.getSeconds();}case"MACHINEWEEK":{var now=new Date();return now.getDay();}case"WEEKOFYEAR":return this.SymbolData.WEEKOFYEAR();case"DAYSTOTODAY":return this.SymbolData.DAYSTOTODAY();}};this.ReadCustomVariant=function(name,node){return this.SymbolData.GetStockCacheData({VariantName:name,Node:node});};//读取变量
|
|
10917
|
+
case'INDEXA':case'INDEXC':case'INDEXH':case'INDEXH':case'INDEXO':case'INDEXV':case'INDEXL':case'INDEXADV':case'INDEXDEC':return this.SymbolData.GetIndexCacheData(name);case'CURRBARSCOUNT':return this.SymbolData.GetCurrBarsCount();case"BARPOS":return this.SymbolData.GetBarPos();case"TOTALBARSCOUNT":return this.SymbolData.GetTotalBarsCount();case"TOTALFZNUM":return this.SymbolData.GetTotalTradeMinuteCount();case'ISLASTBAR':return this.SymbolData.GetIsLastBar();case"BARSTATUS":return this.SymbolData.GetBarStatus();case"TOTALCAPITAL":case'CAPITAL':case'EXCHANGE':case"HYBLOCK":case"DYBLOCK":case"GNBLOCK":case"FGBLOCK":case"ZSBLOCK":case"ZHBLOCK":case"ZDBLOCK":case"HYZSCODE":case"GNBLOCKNUM":case"FGBLOCKNUM":case"ZSBLOCKNUM":case"ZHBLOCKNUM":case"ZDBLOCKNUM":case"HYSYL":case"HYSJL":return this.SymbolData.GetStockCacheData({VariantName:name,Node:node});case'SETCODE':return this.SymbolData.SETCODE();case'CODE':return this.SymbolData.GetSymbol();case'STKNAME':return this.SymbolData.GetName();case"TIME":return this.SymbolData.TIME();case"TIME2":return this.SymbolData.TIME2();case'DATE':return this.SymbolData.DATE();case"DATETIME":return this.SymbolData.DateTime();case'YEAR':return this.SymbolData.YEAR();case'MONTH':return this.SymbolData.MONTH();case'WEEK':case"WEEKDAY":return this.SymbolData.WEEK();case"DAY":return this.SymbolData.DAY();case'PERIOD':return this.SymbolData.PERIOD();case'FROMOPEN':return this.SymbolData.GetLatestIndexCacheData('FROMOPEN');case'DRAWNULL':case"NULL":return this.SymbolData.GetDrawNull();case'ADVANCE':case'DECLINE':return this.SymbolData.GetIndexIncreaseCacheData(name,this.SymbolData.Symbol,node);case"TQFLAG":return this.SymbolData.Right;case"MACHINEDATE":{var now=new Date();return now.getFullYear()*10000+now.getMonth()*1*100+now.getDate()-19000000;}case"MACHINETIME":{var now=new Date();return now.getHours()*10000+now.getMinutes()*1*100+now.getSeconds();}case"MACHINEWEEK":{var now=new Date();return now.getDay();}case"WEEKOFYEAR":return this.SymbolData.WEEKOFYEAR();case"DAYSTOTODAY":return this.SymbolData.DAYSTOTODAY();}};this.ReadCustomVariant=function(name,node){return this.SymbolData.GetStockCacheData({VariantName:name,Node:node});};//读取变量
|
|
11022
10918
|
this.ReadVariable=function(name,node){if(this.ConstVarTable.has(name)){var data=this.ConstVarTable.get(name);if(data==null)//动态加载,用到再加载
|
|
11023
10919
|
{data=this.ReadSymbolData(name,node);this.ConstVarTable.set(name,data);}return data;}if(g_JSComplierResource.IsCustomVariant(name))return this.ReadCustomVariant(name,node);//读取自定义变量
|
|
11024
10920
|
if(this.VarTable.has(name))return this.VarTable.get(name);if(name.indexOf('#')>0){var aryPeriod=name.split('#');return this.SymbolData.GetSymbolPeriodCacheData(aryPeriod[0],aryPeriod[1]);}if(name.indexOf("COLOR")==0){var colorValue=JSComplier.ColorVarToRGB(name);if(colorValue)return colorValue;}this.ThrowUnexpectedNode(node,'变量'+name+'不存在',name);return null;};this.ReadMemberVariable=function(node){var obj=node.Object;var member=node.Property;var maiObj=void 0;if(obj.Type==Syntax.BinaryExpression||obj.Type==Syntax.LogicalExpression)maiObj=this.VisitBinaryExpression(obj);else if(obj.Type==Syntax.CallExpression)maiObj=this.VisitCallExpression(obj);else maiObj=this.GetNodeValue(obj);if(!maiObj)return null;var value=maiObj[member.Name];if(value)return value;return null;};//单数据转成数组 个数和历史数据一致
|
|
@@ -11332,7 +11228,7 @@ this.ShowConditionError=function(param,msg){var hqChart=param.HQChart;var window
|
|
|
11332
11228
|
if(IFrameSplitOperator.IsNumber(this.YSplitType))this.OverlayIndex.Frame.Frame.YSplitOperator.SplitType=this.YSplitType;//指标名字
|
|
11333
11229
|
var titleInfo={Data:[],Title:this.Name,Frame:this.OverlayIndex.Frame.Frame,Script:this};var indexParam='';for(var i in this.Arguments){var _item33=this.Arguments[i];if(indexParam.length>0)indexParam+=',';indexParam+=_item33.Value.toString();}if(indexParam.length>0)titleInfo.Title=this.Name+'('+indexParam+')';var titleIndex=windowIndex+1;var titlePaint=hqChart.TitlePaint[titleIndex];titlePaint.OverlayIndex.set(this.OverlayIndex.Identify,titleInfo);this.OverlayIndex.Frame.Frame.Title=titleInfo.Title;//给子框架设置标题
|
|
11334
11230
|
if(this.OutName&&this.OutName.length>0&&this.Arguments&&this.Arguments.length>0){titlePaint.SetDynamicTitle(this.OutName,this.Arguments,this.OverlayIndex.Identify);}for(var i=0;i<this.OutVar.length;++i){var _item34=this.OutVar[i];if(_item34.IsExData===true)continue;//扩展数据不显示图形
|
|
11335
|
-
if(_item34.Type==0){this.CreateLine(hqChart,windowIndex,_item34,i,_item34.Type);}else if(_item34.Type==1){switch(_item34.Draw.DrawType){case'STICKLINE':this.CreateBar(hqChart,windowIndex,_item34,i);break;case'DRAWTEXT':this.CreateDrawTextV2(hqChart,windowIndex,_item34,i);break;case'SUPERDRAWTEXT':this.CreateText(hqChart,windowIndex,_item34,i);break;case'DRAWLINE':this.CreateStraightLine(hqChart,windowIndex,_item34,i);break;case'DRAWBAND':this.CreateBand(hqChart,windowIndex,_item34,i);break;case'DRAWKLINE':this.CreateKLine(hqChart,windowIndex,_item34,i);break;case'DRAWKLINE_IF':this.CreateKLine(hqChart,windowIndex,_item34,i);break;case'POLYLINE':this.CreatePolyLine(hqChart,windowIndex,_item34,i);break;case'DRAWNUMBER':case"DRAWNUMBER_FIX":case'DRAWTEXT_FIX':this.CreateNumberText(hqChart,windowIndex,_item34,i);break;case'DRAWICON':this.CreateIcon(hqChart,windowIndex,_item34,i);break;case'DRAWCHANNEL':this.CreateChannel(hqChart,windowIndex,_item34,i);break;case'DRAWTEXT_LINE':this.CreateTextLine(hqChart,windowIndex,_item34,i);break;case"VERTLINE":this.CreateChartVericaltLine(hqChart,windowIndex,_item34,i);break;case"HORLINE":this.CreateChartHorizontalLine(hqChart,windowIndex,_item34,i);break;case'MULTI_LINE':this.CreateMultiLine(hqChart,windowIndex,_item34,i);break;case"MULTI_POINT":this.CreateMultiPoint(hqChart,windowIndex,_item34,i);break;case'MULTI_BAR':this.CreateMultiBar(hqChart,windowIndex,_item34,i);break;case'MULTI_TEXT':this.CreateMultiText(hqChart,windowIndex,_item34,i);break;case'MULTI_SVGICON':this.CreateMultiSVGIcon(hqChart,windowIndex,_item34,i);break;case"DRAWSVG":this.CreateChartDrawSVG(hqChart,windowIndex,_item34,i);break;case"MULTI_HTMLDOM":this.CreateMulitHtmlDom(hqChart,windowIndex,_item34,i);break;case"KLINE_BG":this.CreateBackgroud(hqChart,windowIndex,_item34,i);break;case'PARTLINE':this.CreatePartLine(hqChart,windowIndex,_item34,i);break;case SCRIPT_CHART_NAME.OVERLAY_BARS:this.CreateStackedBar(hqChart,windowIndex,_item34,i);break;default:{var find=g_ScriptIndexChartFactory.Get(_item34.Draw.DrawType);//外部挂接
|
|
11231
|
+
if(_item34.Type==0){this.CreateLine(hqChart,windowIndex,_item34,i,_item34.Type);}else if(_item34.Type==1){switch(_item34.Draw.DrawType){case'STICKLINE':this.CreateBar(hqChart,windowIndex,_item34,i);break;case'DRAWTEXT':this.CreateDrawTextV2(hqChart,windowIndex,_item34,i);break;case'SUPERDRAWTEXT':this.CreateText(hqChart,windowIndex,_item34,i);break;case'DRAWLINE':this.CreateStraightLine(hqChart,windowIndex,_item34,i);break;case'DRAWBAND':this.CreateBand(hqChart,windowIndex,_item34,i);break;case'DRAWKLINE':this.CreateKLine(hqChart,windowIndex,_item34,i);break;case'DRAWKLINE_IF':this.CreateKLine(hqChart,windowIndex,_item34,i);break;case'POLYLINE':this.CreatePolyLine(hqChart,windowIndex,_item34,i);break;case'DRAWNUMBER':case"DRAWNUMBER_FIX":case'DRAWTEXT_FIX':this.CreateNumberText(hqChart,windowIndex,_item34,i);break;case'DRAWICON':this.CreateIcon(hqChart,windowIndex,_item34,i);break;case'DRAWCHANNEL':this.CreateChannel(hqChart,windowIndex,_item34,i);break;case'DRAWTEXT_LINE':this.CreateTextLine(hqChart,windowIndex,_item34,i);break;case"VERTLINE":this.CreateChartVericaltLine(hqChart,windowIndex,_item34,i);break;case"HORLINE":this.CreateChartHorizontalLine(hqChart,windowIndex,_item34,i);break;case'MULTI_LINE':this.CreateMultiLine(hqChart,windowIndex,_item34,i);break;case"MULTI_POINT":this.CreateMultiPoint(hqChart,windowIndex,_item34,i);break;case'MULTI_BAR':this.CreateMultiBar(hqChart,windowIndex,_item34,i);break;case'MULTI_TEXT':this.CreateMultiText(hqChart,windowIndex,_item34,i);break;case'MULTI_SVGICON':this.CreateMultiSVGIcon(hqChart,windowIndex,_item34,i);break;case"DRAWSVG":this.CreateChartDrawSVG(hqChart,windowIndex,_item34,i);break;case"MULTI_HTMLDOM":this.CreateMulitHtmlDom(hqChart,windowIndex,_item34,i);break;case"KLINE_BG":this.CreateBackgroud(hqChart,windowIndex,_item34,i);break;case'PARTLINE':this.CreatePartLine(hqChart,windowIndex,_item34,i);break;case"DRAWTEXTABS":case"DRAWTEXTREL":this.CreateDrawText(hqChart,windowIndex,_item34,i);break;case SCRIPT_CHART_NAME.OVERLAY_BARS:this.CreateStackedBar(hqChart,windowIndex,_item34,i);break;default:{var find=g_ScriptIndexChartFactory.Get(_item34.Draw.DrawType);//外部挂接
|
|
11336
11232
|
if(find&&find.CreateChartCallback)find.CreateChartCallback(hqChart,windowIndex,_item34,i,this);}break;}}else if(_item34.Type==2){this.CreateMACD(hqChart,windowIndex,_item34,i);}else if(_item34.Type==3){this.CreatePointDot(hqChart,windowIndex,_item34,i,hisData);}else if(_item34.Type==4){this.CreateLineStick(hqChart,windowIndex,_item34,i);}else if(_item34.Type==5){this.CreateStick(hqChart,windowIndex,_item34,i);}else if(_item34.Type==6){this.CreateVolStick(hqChart,windowIndex,_item34,i,hisData);}else if(_item34.Type==7){this.CreateLine(hqChart,windowIndex,_item34,i,_item34.Type);}else if(_item34.Type==8){this.CreateLine(hqChart,windowIndex,_item34,i,_item34.Type);}var titleData=titleInfo.Data[i];if(titleData){if(this.FloatPrecision>=0)titleData.FloatPrecision=this.FloatPrecision;}}/*
|
|
11337
11233
|
hqChart.TitlePaint[titleIndex].Title=this.Name;
|
|
11338
11234
|
|
|
@@ -11356,7 +11252,8 @@ if(!event||!event.Callback)return;var overlayIndex=this.OverlayIndex;var frame=o
|
|
|
11356
11252
|
/////////////////////////////////////////////////////////////////////////////////////
|
|
11357
11253
|
this.CreateLine=function(hqChart,windowIndex,varItem,id,lineType){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;if(lineType==7)var chart=new ChartStepLine();else var chart=new ChartLine();chart.Canvas=hqChart.Canvas;chart.DrawType=1;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(lineType==8){chart.DrawType=2;chart.BreakPoint=varItem.BreakPoint;}if(varItem.LineWidth){var width=parseInt(varItem.LineWidth.replace("LINETHICK",""));if(!isNaN(width)&&width>0)chart.LineWidth=width;}if(varItem.IsShow==false)chart.IsShow=false;chart.Data.Data=varItem.Data;this.ReloadChartResource(hqChart,windowIndex,chart);var titleIndex=windowIndex+1;var titlePaint=hqChart.TitlePaint[titleIndex];var titleData=new DynamicTitleData(chart.Data,varItem.Name,chart.Color);this.SetTitleData(titleData,chart);titlePaint.OverlayIndex.get(overlayIndex.Identify).Data[id]=titleData;this.SetChartIndexName(chart);frame.ChartPaint.push(chart);};//创建柱子
|
|
11358
11254
|
this.CreateBar=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartStickLine();chart.Canvas=hqChart.Canvas;if(varItem.Draw.Width>0)chart.Width=varItem.Draw.Width;else chart.Width=1;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);var titleIndex=windowIndex+1;chart.Data.Data=varItem.Draw.DrawData;//hqChart.TitlePaint[titleIndex].Data[id]=new DynamicTitleData(bar.Data,varItem.Name,bar.Color);
|
|
11359
|
-
this.SetChartIndexName(chart);frame.ChartPaint.push(chart);}
|
|
11255
|
+
this.SetChartIndexName(chart);frame.ChartPaint.push(chart);};this.CreateDrawText=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();if(varItem.Color)chart.Color=this.GetColor(varItem.Color);else chart.Color=this.GetDefaultColor(id);if(varItem.IsDrawAbove)chart.Direction=1;else chart.Direction=0;chart.DrawData=varItem.Draw.DrawData;if(varItem.DrawFontSize>0)chart.TextFont=varItem.DrawFontSize*GetDevicePixelRatio()+'px \u5FAE\u8F6F\u96C5\u9ED1';//临时用下吧
|
|
11256
|
+
frame.ChartPaint.push(chart);};//DRAWTEXT
|
|
11360
11257
|
this.CreateDrawTextV2=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chartText=new ChartDrawText();chartText.Canvas=hqChart.Canvas;chartText.Name=varItem.Name;chartText.ChartBorder=frame.Frame.ChartBorder;chartText.ChartFrame=frame.Frame;chartText.Identify=overlayIndex.Identify;chartText.ReloadResource();if(varItem.Color)chartText.Color=this.GetColor(varItem.Color);else chartText.Color=this.GetDefaultColor(id);if(varItem.IsDrawCenter===true)chartText.TextAlign='center';if(varItem.IsDrawAbove===true)chartText.TextBaseline='bottom';if(varItem.IsDrawBelow===true)chartText.TextBaseline='top';if(varItem.Draw.DrawData)chartText.Data.Data=varItem.Draw.DrawData;chartText.Text=varItem.Draw.Text;if(varItem.Draw.Direction>0)chartText.Direction=varItem.Draw.Direction;if(varItem.Draw.YOffset>0)chartText.YOffset=varItem.Draw.YOffset;if(varItem.Draw.TextAlign)chartText.TextAlign=varItem.Draw.TextAlign;//指定输出位置
|
|
11361
11258
|
if(varItem.Draw.FixedPosition==="TOP")chartText.FixedPosition=1;else if(varItem.Draw.FixedPosition==="BOTTOM")chartText.FixedPosition=2;if(varItem.DrawVAlign>=0){if(varItem.DrawVAlign==0)chartText.TextBaseline='top';else if(varItem.DrawVAlign==1)chartText.TextBaseline='middle';else if(varItem.DrawVAlign==2)chartText.TextBaseline='bottom';}if(varItem.DrawAlign>=0){if(varItem.DrawAlign==0)chartText.TextAlign="left";else if(varItem.DrawAlign==1)chartText.TextAlign="center";else if(varItem.DrawAlign==2)chartText.TextAlign='right';}if(varItem.DrawFontSize>0)chartText.FixedFontSize=varItem.DrawFontSize;if(varItem.Background)chartText.TextBG=varItem.Background;if(varItem.VerticalLine)chartText.VerticalLine=varItem.VerticalLine;if(IFrameSplitOperator.IsNumber(varItem.XOffset))chartText.ShowOffset.X=varItem.XOffset;if(IFrameSplitOperator.IsNumber(varItem.YOffset))chartText.ShowOffset.Y=varItem.YOffset;//let titleIndex=windowIndex+1;
|
|
11362
11259
|
frame.ChartPaint.push(chartText);};//创建文本
|
|
@@ -11383,7 +11280,7 @@ chart.PointGroup=varItem.Draw.DrawData;frame.ChartPaint.push(chart);};this.Creat
|
|
|
11383
11280
|
chart.Bars=varItem.Draw.DrawData;var titleIndex=windowIndex+1;var titlePaint=hqChart.TitlePaint[titleIndex];var titleData=new DynamicTitleData({KData:chart.Data,BarData:chart.Bars},varItem.Name,null);titleData.IsShow=false;titleData.DataType="MULTI_BAR";titlePaint.OverlayIndex.get(overlayIndex.Identify).Data[id]=titleData;frame.ChartPaint.push(chart);};this.CreateMultiText=function(hqChart,windowIndex,varItem,i){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartMultiText();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.Data=hqChart.ChartPaint[0].Data;//绑定K线
|
|
11384
11281
|
chart.Texts=varItem.Draw.DrawData;frame.ChartPaint.push(chart);};this.CreateMultiSVGIcon=function(hqChart,windowIndex,varItem,i){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartMultiSVGIcon();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.Data=hqChart.ChartPaint[0].Data;//绑定K线
|
|
11385
11282
|
chart.Family=varItem.Draw.DrawData.Family;chart.Icon=varItem.Draw.DrawData.Icon;frame.ChartPaint.push(chart);};this.CreateChartDrawSVG=function(hqChart,windowIndex,varItem,i){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;if(hqChart.ChartPaint[0].IsMinuteFrame())chart.Data=hqChart.SourceData;else chart.Data=hqChart.ChartPaint[0].Data;//绑定K线
|
|
11386
|
-
if(IFrameSplitOperator.IsBool(varItem.Draw.DrawData.EnableTooltip))chart.EnableTooltip=varItem.Draw.DrawData.EnableTooltip;if(IFrameSplitOperator.IsBool(varItem.Draw.DrawData.IsDrawFirst))chart.IsDrawFirst=varItem.Draw.DrawData.IsDrawFirst;chart.Family=varItem.Draw.DrawData.Family;chart.TextFont=varItem.Draw.DrawData.TextFont;chart.Texts=varItem.Draw.DrawData.Data;this.ReloadChartResource(hqChart,windowIndex,chart);frame.ChartPaint.push(chart);};this.CreateMulitHtmlDom=function(hqChart,windowIndex,varItem,i){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartMultiHtmlDom();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.HQChart=hqChart;chart.Data=hqChart.ChartPaint[0].Data;//绑定K线
|
|
11283
|
+
if(IFrameSplitOperator.IsBool(varItem.Draw.DrawData.EnableTooltip))chart.EnableTooltip=varItem.Draw.DrawData.EnableTooltip;if(IFrameSplitOperator.IsBool(varItem.Draw.DrawData.IsDrawFirst))chart.IsDrawFirst=varItem.Draw.DrawData.IsDrawFirst;chart.Family=varItem.Draw.DrawData.Family;chart.TextFont=varItem.Draw.DrawData.TextFont;chart.Texts=varItem.Draw.DrawData.Data;if(varItem.Draw.AutoPosition)chart.AutoPosition=varItem.Draw.AutoPosition;this.ReloadChartResource(hqChart,windowIndex,chart);frame.ChartPaint.push(chart);};this.CreateMulitHtmlDom=function(hqChart,windowIndex,varItem,i){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartMultiHtmlDom();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.HQChart=hqChart;chart.Data=hqChart.ChartPaint[0].Data;//绑定K线
|
|
11387
11284
|
chart.Texts=varItem.Draw.DrawData;chart.DrawCallback=varItem.Draw.Callback;frame.ChartPaint.push(chart);};this.CreateChartVericaltLine=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartVericaltLine();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.HQChart=hqChart;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;}this.SetChartLineDash(chart,varItem.Draw.DrawData);chart.Data.Data=varItem.Draw.DrawData.Data;frame.ChartPaint.push(chart);};this.CreateChartHorizontalLine=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartHorizontalLine();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.HQChart=hqChart;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;}this.SetChartLineDash(chart,varItem.Draw.DrawData);chart.ExtendType=varItem.Draw.DrawData.Extend;chart.Data.Data=varItem.Draw.DrawData.Data;frame.ChartPaint.push(chart);};//创建K线
|
|
11388
11285
|
this.CreateSelfKLine=function(hqChart,windowIndex,hisData){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartKLine();chart.Canvas=hqChart.Canvas;chart.Name="Self Kline";chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.Data=hisData;chart.IsShowMaxMinPrice=false;chart.IsShowKTooltip=false;chart.DrawType=this.KLineType;frame.ChartPaint.push(chart);};//给一个默认的颜色
|
|
11389
11286
|
this.GetDefaultColor=function(id){var COLOR_ARRAY=["rgb(24,71,178)","rgb(42,230,215)","rgb(252,96,154)","rgb(0,128,255)","rgb(229,0,79)","rgb(68,114,196)","rgb(255,174,0)","rgb(25,199,255)","rgb(175,95,162)","rgb(236,105,65)"];var number=parseInt(id);return COLOR_ARRAY[number%(COLOR_ARRAY.length-1)];};}//后台执行指标
|
|
@@ -11441,7 +11338,7 @@ var result=[];if(!outVar)return result;for(var i=0;i<outVar.length;++i){var item
|
|
|
11441
11338
|
{drawItem.Icon=draw.Icon;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingArray(draw.DrawData,date,time,hqChart);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='DRAWTEXT')//文本
|
|
11442
11339
|
{drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingArray(draw.DrawData,date,time,hqChart);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='STICKLINE')//柱子
|
|
11443
11340
|
{drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.Width=draw.Width;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingArray(draw.DrawData,date,time,hqChart,1);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=="DRAWBAND"){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingArray(draw.DrawData,date,time,hqChart,1);drawItem.Color=draw.Color;outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='MULTI_LINE'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingMultiLine(draw.DrawData,date,time,hqChart);if(IFrameSplitOperator.IsNonEmptyArray(drawItem.DrawData)){for(var k=0;k<drawItem.DrawData.length;++k){this.GetKLineData(drawItem.DrawData[k].Point,hqChart);}}outVarItem.Draw=drawItem;if(draw.LineDash)drawItem.LineDash=draw.LineDash;if(IFrameSplitOperator.IsBool(draw.IsFullRangeMaxMin))drawItem.IsFullRangeMaxMin=draw.IsFullRangeMaxMin;if(draw.Arrow)drawItem.Arrow=draw.Arrow;if(IFrameSplitOperator.IsNumber(draw.LineWidth))drawItem.LineWidth=draw.LineWidth;result.push(outVarItem);}else if(draw.DrawType=='MULTI_POINT'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingMultiLine(draw.DrawData,date,time,hqChart);if(IFrameSplitOperator.IsNonEmptyArray(drawItem.DrawData)){for(var k=0;k<drawItem.DrawData.length;++k){this.GetKLineData(drawItem.DrawData[k].Point,hqChart);}}outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='MULTI_BAR'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingMultiLine(draw.DrawData,date,time,hqChart);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType==SCRIPT_CHART_NAME.OVERLAY_BARS){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.BarName=draw.BarName;drawItem.BarColor=draw.BarColor;drawItem.LineWidth=draw.LineWidth;drawItem.BarType=draw.BarType;drawItem.DrawData=this.FittingArray(draw.DrawData,date,time,hqChart,1);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType==SCRIPT_CHART_NAME.SCATTER_PLOT){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingArray(draw.DrawData,date,time,hqChart,1);//默认的值
|
|
11444
|
-
drawItem.Color=draw.Color;drawItem.Radius=draw.Radius;outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType==SCRIPT_CHART_NAME.KLINE_TABLE){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingArray(draw.DrawData,date,time,hqChart,1);drawItem.RowCount=draw.RowCount;drawItem.RowName=draw.RowName;drawItem.IsShowRowName=draw.IsShowRowName;drawItem.BGColor=draw.BGColor;outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='MULTI_TEXT'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingMultiText(draw.DrawData,date,time,hqChart);this.GetKLineData(drawItem.DrawData,hqChart);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='MULTI_SVGICON'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData={Icon:this.FittingMultiText(draw.DrawData.Icon,date,time,hqChart),Family:draw.DrawData.Family};this.GetKLineData(drawItem.DrawData.Icon,hqChart);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='DRAWSVG'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData={Data:this.FittingMultiText(draw.Data,date,time,hqChart),Family:draw.Family,TextFont:draw.TextFont,EnableTooltip:draw.EnableTooltip,IsDrawFirst:draw.IsDrawFirst};this.GetKLineData(drawItem.DrawData.Data,hqChart);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=="MULTI_HTMLDOM")//外部自己创建dom
|
|
11341
|
+
drawItem.Color=draw.Color;drawItem.Radius=draw.Radius;outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType==SCRIPT_CHART_NAME.KLINE_TABLE){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingArray(draw.DrawData,date,time,hqChart,1);drawItem.RowCount=draw.RowCount;drawItem.RowName=draw.RowName;drawItem.IsShowRowName=draw.IsShowRowName;drawItem.BGColor=draw.BGColor;outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='MULTI_TEXT'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingMultiText(draw.DrawData,date,time,hqChart);this.GetKLineData(drawItem.DrawData,hqChart);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='MULTI_SVGICON'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData={Icon:this.FittingMultiText(draw.DrawData.Icon,date,time,hqChart),Family:draw.DrawData.Family};this.GetKLineData(drawItem.DrawData.Icon,hqChart);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='DRAWSVG'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;if(draw.AutoPosition)drawItem.AutoPosition=draw.AutoPosition;drawItem.DrawData={Data:this.FittingMultiText(draw.Data,date,time,hqChart),Family:draw.Family,TextFont:draw.TextFont,EnableTooltip:draw.EnableTooltip,IsDrawFirst:draw.IsDrawFirst};this.GetKLineData(drawItem.DrawData.Data,hqChart);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=="MULTI_HTMLDOM")//外部自己创建dom
|
|
11445
11342
|
{drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.Callback=draw.Callback;drawItem.DrawData=this.FittingMultiText(draw.DrawData,date,time,hqChart);this.GetKLineData(drawItem.DrawData,hqChart);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=="COLOR_KLINE"){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;var klineOption=this.FittingMultiText(draw.DrawData.KLine,date,time,hqChart);var mapKLineOption=new _map2.default();for(var i in klineOption){var item=klineOption[i];mapKLineOption.set(item.Index,item);}drawItem.DrawData={KLine:mapKLineOption};if(draw.Color)outVarItem.Color=draw.Color;outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=="KLINE_BG"){drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData={};drawItem.DrawData.Color=draw.Color;drawItem.DrawData.Angle=draw.Angle;if(draw.Ver==2.0)drawItem.DrawData.Data=this.FittingKLineBG_V2(draw.DrawData,hqChart);else drawItem.DrawData.Data=this.FittingKLineBG(draw.DrawData,hqChart);outVarItem.Draw=drawItem;outVarItem.Name=draw.DrawType;result.push(outVarItem);}else if(draw.DrawType=='MULTI_POINT_LINE'){drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData={};drawItem.DrawData.Color=draw.Color;drawItem.DrawData.PointRadius=draw.PointRadius;drawItem.DrawData.PointColor=draw.PointColor;drawItem.DrawData.LineWidth=draw.LineWidth;drawItem.DrawData.Data=this.FittingMultiPointLine(draw.DrawData,hqChart);outVarItem.Draw=drawItem;//outVarItem.Name=draw.DrawType;
|
|
11446
11343
|
result.push(outVarItem);}else if(draw.DrawType=="PARTLINE"){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingArray(draw.DrawData,date,time,hqChart,1);outVarItem.Draw=drawItem;if(draw.LineWidth)outVarItem.LineWidth=draw.LineWidth;result.push(outVarItem);}else{var find=g_ScriptIndexChartFactory.Get(draw.DrawType);//外部挂接
|
|
11447
11344
|
if(find&&find.KLineFittingCallback){if(find.KLineFittingCallback(item,outVarItem,{Date:date,Time:time,HQChart:hqChart},this))result.push(outVarItem);}}}}return result;};// h, high, low l. c, close
|
|
@@ -11457,7 +11354,7 @@ var result=[];if(ChartData.IsDayPeriod(hqChart.Period,true))//日线
|
|
|
11457
11354
|
{var aryRange=[];for(var i=0;i<data.length;++i){var item=data[i];var startDatetime=item.Start.Date*10000;if(IFrameSplitOperator.IsNumber(item.Start.Time))startDatetime+=item.Start.Time;var endDatetime=item.End.Date*10000;if(IFrameSplitOperator.IsNumber(item.End.Time))endDatetime+=item.End.Time;aryRange.push({Start:startDatetime,End:endDatetime});}var bFill=false;for(var i=0,j=0;i<kData.Data.length;++i){result[i]=0;var kItem=kData.Data[i];var date=kItem.Date*10000+kItem.Time;for(j=0;j<aryRange.length;++j){var rangeItem=aryRange[j];if(date>=rangeItem.Start&&date<=rangeItem.End){result[i]=1;bFill=true;break;}}}if(bFill)return result;}return null;};this.FittingMinuteData=function(jsonData,hqChart){var outVar=jsonData.outvar;var date=jsonData.date;var time=jsonData.time;var result=[];for(var i=0;i<outVar.length;++i){var item=outVar[i];var outVarItem={Name:item.name,Type:item.type};if(item.data){outVarItem.Data=this.FittingMinuteArray(item.data,date,time,hqChart);if(item.color)outVarItem.Color=item.color;if(item.linewidth>=1)outVarItem.LineWidth=item.linewidth;if(item.isshow==false)outVarItem.IsShow=false;if(item.isexdata==true)outVarItem.IsExData=true;if(item.BreakPoint)outVarItem.BreakPoint=item.BreakPoint;result.push(outVarItem);}else if(item.Draw){var draw=item.Draw;var drawItem={};if(draw.DrawType=='DRAWICON')//图标
|
|
11458
11355
|
{drawItem.Icon=draw.Icon;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingMinuteArray(draw.DrawData,date,time,hqChart);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='DRAWTEXT')//文本
|
|
11459
11356
|
{drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingMinuteArray(draw.DrawData,date,time,hqChart);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='STICKLINE')//柱子
|
|
11460
|
-
{drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.Width=draw.Width;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingMinuteArray(draw.DrawData,date,time,hqChart,1);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType==SCRIPT_CHART_NAME.OVERLAY_BARS){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.BarName=draw.BarName;drawItem.BarColor=draw.BarColor;drawItem.LineWidth=draw.LineWidth;drawItem.DrawData=this.FittingMinuteArray(draw.DrawData,date,time,hqChart,1);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='MULTI_LINE'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingMultiLine(draw.DrawData,date,time,hqChart);for(var k in drawItem.DrawData){this.GetKLineData(drawItem.DrawData[k].Point,hqChart);}outVarItem.Draw=drawItem;if(draw.LineDash)drawItem.LineDash=draw.LineDash;if(draw.Arrow)drawItem.Arrow=draw.Arrow;result.push(outVarItem);}else if(draw.DrawType=='MULTI_POINT'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingMultiLine(draw.DrawData,date,time,hqChart);if(IFrameSplitOperator.IsNonEmptyArray(drawItem.DrawData)){for(var k=0;k<drawItem.DrawData.length;++k){this.GetKLineData(drawItem.DrawData[k].Point,hqChart);}}outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='MULTI_TEXT'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingMultiText(draw.DrawData,date,time,hqChart);this.GetKLineData(drawItem.DrawData,hqChart);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='MULTI_SVGICON'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData={Icon:this.FittingMultiText(draw.DrawData.Icon,date,time,hqChart),Family:draw.DrawData.Family};this.GetKLineData(drawItem.DrawData.Icon,hqChart);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='DRAWSVG'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData={Data:this.FittingMultiText(draw.Data,date,time,hqChart),Family:draw.Family,TextFont:draw.TextFont,EnableTooltip:draw.EnableTooltip,IsDrawFirst:draw.IsDrawFirst};this.GetKLineData(drawItem.DrawData.Data,hqChart);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=="MULTI_HTMLDOM")//外部自己创建dom
|
|
11357
|
+
{drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.Width=draw.Width;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingMinuteArray(draw.DrawData,date,time,hqChart,1);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType==SCRIPT_CHART_NAME.OVERLAY_BARS){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.BarName=draw.BarName;drawItem.BarColor=draw.BarColor;drawItem.LineWidth=draw.LineWidth;drawItem.DrawData=this.FittingMinuteArray(draw.DrawData,date,time,hqChart,1);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='MULTI_LINE'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingMultiLine(draw.DrawData,date,time,hqChart);for(var k in drawItem.DrawData){this.GetKLineData(drawItem.DrawData[k].Point,hqChart);}outVarItem.Draw=drawItem;if(draw.LineDash)drawItem.LineDash=draw.LineDash;if(draw.Arrow)drawItem.Arrow=draw.Arrow;result.push(outVarItem);}else if(draw.DrawType=='MULTI_POINT'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingMultiLine(draw.DrawData,date,time,hqChart);if(IFrameSplitOperator.IsNonEmptyArray(drawItem.DrawData)){for(var k=0;k<drawItem.DrawData.length;++k){this.GetKLineData(drawItem.DrawData[k].Point,hqChart);}}outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='MULTI_TEXT'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingMultiText(draw.DrawData,date,time,hqChart);this.GetKLineData(drawItem.DrawData,hqChart);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='MULTI_SVGICON'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData={Icon:this.FittingMultiText(draw.DrawData.Icon,date,time,hqChart),Family:draw.DrawData.Family};this.GetKLineData(drawItem.DrawData.Icon,hqChart);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='DRAWSVG'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;if(draw.AutoPosition)drawItem.AutoPosition=draw.AutoPosition;drawItem.DrawData={Data:this.FittingMultiText(draw.Data,date,time,hqChart),Family:draw.Family,TextFont:draw.TextFont,EnableTooltip:draw.EnableTooltip,IsDrawFirst:draw.IsDrawFirst};this.GetKLineData(drawItem.DrawData.Data,hqChart);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=="MULTI_HTMLDOM")//外部自己创建dom
|
|
11461
11358
|
{drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.Callback=draw.Callback;drawItem.DrawData=this.FittingMultiText(draw.DrawData,date,time,hqChart);this.GetKLineData(drawItem.DrawData,hqChart);outVarItem.Draw=drawItem;result.push(outVarItem);}else{var find=g_ScriptIndexChartFactory.Get(draw.DrawType);//外部挂接
|
|
11462
11359
|
if(find&&find.MinuteFittingCallback){if(find.MinuteFittingCallback(item,outVarItem,{Date:date,Time:time,HQChart:hqChart},this))result.push(outVarItem);}}}}return result;};//matchType 0=精确匹配(默认) 5=模糊匹配
|
|
11463
11360
|
this.FittingMinuteArray=function(sourceData,date,time,hqChart,matchType){var minutedata=hqChart.SourceData;;//分钟线
|
|
@@ -12566,7 +12463,7 @@ this.AreaColor=g_JSChartResource.ScrollBar.BGChart.AreaColor;//面积图颜色
|
|
|
12566
12463
|
};this.Draw=function(){if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return;this.Canvas.save();if(this.LineWidth>0)this.Canvas.lineWidth=this.LineWidth*GetDevicePixelRatio();var bottom=this.ChartBorder.GetBottom();this.Canvas.strokeStyle=this.Color;var bFirstPoint=true;var drawCount=0,x,y;var firstPoint={};for(var i=0;i<this.Data.Data.length;++i){var item=this.Data.Data[i];var value=item.Close;if(!IFrameSplitOperator.IsNumber(value))continue;x=this.ChartFrame.GetXFromIndex(i);y=this.ChartFrame.GetYFromData(value);if(bFirstPoint){this.Canvas.beginPath();this.Canvas.moveTo(x,y);bFirstPoint=false;firstPoint={X:x,Y:y};}else{this.Canvas.lineTo(x,y);}++drawCount;}if(drawCount>0){this.Canvas.stroke();this.Canvas.lineTo(x,bottom);this.Canvas.lineTo(firstPoint.X,bottom);this.Canvas.closePath();this.Canvas.fillStyle=this.AreaColor;this.Canvas.fill();}this.Canvas.restore();};this.GetMaxMin=function(){var range={Max:null,Min:null};if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return range;for(var i=0;i<this.Data.Data.length;++i){var item=this.Data.Data[i];var value=item.Close;if(!IFrameSplitOperator.IsNumber(value))continue;if(range.Max==null||range.Max<value)range.Max=value;if(range.Min==null||range.Min>value)range.Min=value;}return range;};}/********************************************************************************
|
|
12567
12464
|
* 版本信息输出
|
|
12568
12465
|
*
|
|
12569
|
-
*/var HQCHART_VERSION="1.1.
|
|
12466
|
+
*/var HQCHART_VERSION="1.1.12413";function PrintHQChartVersion(){var log='*************************************************************************************************************\n*\n* HQChart Ver: '+HQCHART_VERSION+' \n* \n* License: Apache License 2.0 \n* Source: https://github.com/jones2000/HQChart\n*\n*************************************************************************************************************\n';console.log(log);}PrintHQChartVersion();//把给外界调用的方法暴露出来
|
|
12570
12467
|
exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
|
|
12571
12468
|
// BaseIndex:BaseIndex,
|
|
12572
12469
|
// ChartLine:ChartLine,
|
package/package.json
CHANGED
|
@@ -16042,7 +16042,7 @@ function JSExecute(ast,option)
|
|
|
16042
16042
|
["ISEQUAL",null], ["ISUP",null],["ISDOWN"], //ISUP=收阳 ISEQUAL=平盘 ISDOWN=收阴
|
|
16043
16043
|
|
|
16044
16044
|
//日期类
|
|
16045
|
-
['DATE',null],['YEAR',null],['MONTH',null],['PERIOD', null],['WEEK',null],["TIME",null],["DAY",null],["DATETIME",null],["TIME2",null],
|
|
16045
|
+
['DATE',null],['YEAR',null],['MONTH',null],['PERIOD', null],['WEEK',null],['WEEKDAY',null],["TIME",null],["DAY",null],["DATETIME",null],["TIME2",null],
|
|
16046
16046
|
["WEEKOFYEAR", null],["DAYSTOTODAY", null],
|
|
16047
16047
|
|
|
16048
16048
|
//大盘数据
|
|
@@ -16324,6 +16324,7 @@ function JSExecute(ast,option)
|
|
|
16324
16324
|
case 'MONTH':
|
|
16325
16325
|
return this.SymbolData.MONTH();
|
|
16326
16326
|
case 'WEEK':
|
|
16327
|
+
case "WEEKDAY":
|
|
16327
16328
|
return this.SymbolData.WEEK();
|
|
16328
16329
|
case "DAY":
|
|
16329
16330
|
return this.SymbolData.DAY();
|
|
@@ -21057,6 +21058,11 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
21057
21058
|
this.CreatePartLine(hqChart,windowIndex,item,i);
|
|
21058
21059
|
break;
|
|
21059
21060
|
|
|
21061
|
+
case "DRAWTEXTABS":
|
|
21062
|
+
case "DRAWTEXTREL":
|
|
21063
|
+
this.CreateDrawText(hqChart,windowIndex,item,i);
|
|
21064
|
+
break;
|
|
21065
|
+
|
|
21060
21066
|
case SCRIPT_CHART_NAME.OVERLAY_BARS:
|
|
21061
21067
|
this.CreateStackedBar(hqChart,windowIndex,item,i);
|
|
21062
21068
|
break;
|
|
@@ -21234,6 +21240,30 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
21234
21240
|
frame.ChartPaint.push(chart);
|
|
21235
21241
|
}
|
|
21236
21242
|
|
|
21243
|
+
this.CreateDrawText=function(hqChart,windowIndex,varItem,id)
|
|
21244
|
+
{
|
|
21245
|
+
var overlayIndex=this.OverlayIndex;
|
|
21246
|
+
var frame=overlayIndex.Frame;
|
|
21247
|
+
var chart=new ChartSingleText();
|
|
21248
|
+
chart.Canvas=hqChart.Canvas;
|
|
21249
|
+
chart.Name=varItem.Name;
|
|
21250
|
+
chart.ChartBorder=frame.Frame.ChartBorder;
|
|
21251
|
+
chart.ChartFrame=frame.Frame;
|
|
21252
|
+
chart.Identify=overlayIndex.Identify;
|
|
21253
|
+
chart.ReloadResource();
|
|
21254
|
+
|
|
21255
|
+
if (varItem.Color) chart.Color=this.GetColor(varItem.Color);
|
|
21256
|
+
else chart.Color=this.GetDefaultColor(id);
|
|
21257
|
+
|
|
21258
|
+
if (varItem.IsDrawAbove) chart.Direction=1;
|
|
21259
|
+
else chart.Direction=0;
|
|
21260
|
+
|
|
21261
|
+
chart.DrawData=varItem.Draw.DrawData;
|
|
21262
|
+
if (varItem.DrawFontSize>0) chart.TextFont=`${varItem.DrawFontSize*GetDevicePixelRatio()}px 微软雅黑`; //临时用下吧
|
|
21263
|
+
|
|
21264
|
+
frame.ChartPaint.push(chart);
|
|
21265
|
+
}
|
|
21266
|
+
|
|
21237
21267
|
//DRAWTEXT
|
|
21238
21268
|
this.CreateDrawTextV2=function(hqChart,windowIndex,varItem,id)
|
|
21239
21269
|
{
|
|
@@ -21885,6 +21915,7 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
21885
21915
|
chart.Family=varItem.Draw.DrawData.Family;
|
|
21886
21916
|
chart.TextFont=varItem.Draw.DrawData.TextFont;
|
|
21887
21917
|
chart.Texts= varItem.Draw.DrawData.Data;
|
|
21918
|
+
if (varItem.Draw.AutoPosition) chart.AutoPosition=varItem.Draw.AutoPosition;
|
|
21888
21919
|
|
|
21889
21920
|
this.ReloadChartResource(hqChart, windowIndex, chart);
|
|
21890
21921
|
|
|
@@ -22956,6 +22987,7 @@ function APIScriptIndex(name,script,args,option, isOverlay)
|
|
|
22956
22987
|
drawItem.Text=draw.Text;
|
|
22957
22988
|
drawItem.Name=draw.Name;
|
|
22958
22989
|
drawItem.DrawType=draw.DrawType;
|
|
22990
|
+
if (draw.AutoPosition) drawItem.AutoPosition=draw.AutoPosition;
|
|
22959
22991
|
drawItem.DrawData={ Data:this.FittingMultiText(draw.Data,date,time,hqChart), Family:draw.Family, TextFont:draw.TextFont, EnableTooltip:draw.EnableTooltip, IsDrawFirst:draw.IsDrawFirst };
|
|
22960
22992
|
this.GetKLineData(drawItem.DrawData.Data, hqChart);
|
|
22961
22993
|
outVarItem.Draw=drawItem;
|
|
@@ -23356,6 +23388,7 @@ function APIScriptIndex(name,script,args,option, isOverlay)
|
|
|
23356
23388
|
drawItem.Text=draw.Text;
|
|
23357
23389
|
drawItem.Name=draw.Name;
|
|
23358
23390
|
drawItem.DrawType=draw.DrawType;
|
|
23391
|
+
if (draw.AutoPosition) drawItem.AutoPosition=draw.AutoPosition;
|
|
23359
23392
|
drawItem.DrawData={ Data:this.FittingMultiText(draw.Data,date,time,hqChart), Family:draw.Family, TextFont:draw.TextFont ,EnableTooltip:draw.EnableTooltip,IsDrawFirst:draw.IsDrawFirst };
|
|
23360
23393
|
this.GetKLineData(drawItem.DrawData.Data, hqChart);
|
|
23361
23394
|
outVarItem.Draw=drawItem;
|