hqchart 1.1.15321 → 1.1.15329
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
CHANGED
|
@@ -2343,7 +2343,8 @@ if(step<=0)return false;return this.Frame.XCoordinateZoom(isMoveLeft);};//获取
|
|
|
2343
2343
|
this.GetSubFrameIndex=function(x,y){if(!this.Frame.SubFrame||this.Frame.SubFrame.length<=0)return-1;for(var i in this.Frame.SubFrame){var frame=this.Frame.SubFrame[i].Frame;var left=frame.ChartBorder.GetLeft();var top=frame.ChartBorder.GetTop();var height=frame.ChartBorder.GetHeight();var width=frame.ChartBorder.GetWidth();this.Canvas.beginPath();this.Canvas.rect(left,top,width,height);if(this.Canvas.isPointInPath(x,y))return parseInt(i);}return 0;};//根据X坐标获取数据索引
|
|
2344
2344
|
this.GetDataIndexByPoint=function(x){var frame=this.Frame;if(this.Frame.SubFrame&&this.Frame.SubFrame.length>0)frame=this.Frame.SubFrame[0].Frame;var data=null;if(this.Frame.Data)data=this.Frame.Data;else data=this.Frame.SubFrame[0].Frame.Data;if(!data||!frame)return;var index=parseInt(frame.GetXData(x));//JSConsole.Chart.Log('x='+ x +' date='+data.Data[data.DataOffset+index].Date);
|
|
2345
2345
|
return data.DataOffset+index;};//获取主数据
|
|
2346
|
-
this.GetSelectRectData=function(selectData){if(Math.abs(selectData.XStart-selectData.XEnd)<5)return false;var startClientPos=this.PtInClient(selectData.XStart,selectData.YStart);var endClientPos=this.PtInClient(selectData.XEnd,selectData.YEnd);var data=
|
|
2346
|
+
this.GetSelectRectData=function(selectData){if(Math.abs(selectData.XStart-selectData.XEnd)<5)return false;var startClientPos=this.PtInClient(selectData.XStart,selectData.YStart);var endClientPos=this.PtInClient(selectData.XEnd,selectData.YEnd);var data=this.GetKData();if(!data||!IFrameSplitOperator.IsNonEmptyArray(data.Data))return false;var start=this.GetDataIndexByPoint(selectData.XStart);var end=this.GetDataIndexByPoint(selectData.XEnd);if(end<0||start<0)return false;//if (Math.abs(start-end)<2) return false;
|
|
2347
|
+
selectData.Data=data;if(start>end){selectData.Start=end;selectData.End=start;}else{selectData.Start=start;selectData.End=end;}return true;};//获取当前的点对应的 画图工具的图形
|
|
2347
2348
|
//data.X data.Y 鼠标位置 返回 data.ChartDrawPicture 数据在画图工具 data.PointIndex 在画图工具对应点索引
|
|
2348
2349
|
this.GetChartDrawPictureByPoint=function(data){for(var i=0;i<this.ChartDrawPicture.length;++i){var item=this.ChartDrawPicture[i];var pointIndex=item.IsPointIn(data.X,data.Y,this.ChartDrawOption);if(pointIndex===false)continue;if(pointIndex>=0){data.ChartDrawPicture=item;data.PointIndex=pointIndex;if(item.GetCursorType)data.Cursor=item.GetCursorType(pointIndex);//鼠标形状
|
|
2349
2350
|
return true;}}return false;};// 保存图片
|
|
@@ -2900,7 +2901,7 @@ var textRightPrev=null;//上一次刻度输出右边x坐标
|
|
|
2900
2901
|
for(var i=0;i<this.VerticalInfo.length;++i){var item=this.VerticalInfo[i];var x=null;if(mapX&&mapX.has(item.Value))x=mapX.get(item.Value);else x=this.GetXFromIndex(item.Value);if(item.XOffset&&item.XOffset[0]){var subItem=item.XOffset[0];if(subItem.Position===1){x-=this.DataWidth/2;x-=this.DistanceWidth/2;}else if(subItem.Position===2){x+=this.DataWidth/2;x+=this.DistanceWidth/2;}}if(x>right)break;if(xPrev!=null&&Math.abs(x-xPrev)<this.MinXDistance)continue;var item=this.VerticalInfo[i];var xFixed=ToFixedPoint(x);if(this.IsShowXLine){if(item.LineType==2)//虚线
|
|
2901
2902
|
{this.Canvas.strokeStyle=this.VerticalInfo[i].LineColor;if(item.LineDash)this.Canvas.setLineDash(item.LineDash);else this.Canvas.setLineDash([5*pixelRatio,5*pixelRatio]);this.Canvas.beginPath();this.Canvas.moveTo(xFixed,top);this.Canvas.lineTo(xFixed,bottom);this.Canvas.stroke();this.Canvas.setLineDash([]);}else if(item.LineType==3){}else if(item.LineType>0)//实线
|
|
2902
2903
|
{if(g_JSChartResource.FrameXLineDash){this.Canvas.strokeStyle=this.VerticalInfo[i].LineColor;this.Canvas.setLineDash(g_JSChartResource.FrameXLineDash);//虚线
|
|
2903
|
-
this.Canvas.beginPath();this.Canvas.moveTo(xFixed,top);this.Canvas.lineTo(xFixed,bottom);this.Canvas.stroke();this.Canvas.setLineDash([]);}else{this.Canvas.strokeStyle=this.VerticalInfo[i].LineColor;this.Canvas.beginPath();this.Canvas.moveTo(xFixed,top);this.Canvas.lineTo(xFixed,bottom);this.Canvas.stroke();}}}if(item.BG&&this.DrawDayVertical)
|
|
2904
|
+
this.Canvas.beginPath();this.Canvas.moveTo(xFixed,top);this.Canvas.lineTo(xFixed,bottom);this.Canvas.stroke();this.Canvas.setLineDash([]);}else{this.Canvas.strokeStyle=this.VerticalInfo[i].LineColor;this.Canvas.beginPath();this.Canvas.moveTo(xFixed,top);this.Canvas.lineTo(xFixed,bottom);this.Canvas.stroke();}}}if(item.BG&&this.DrawDayVertical)this.DrawDayVertical(item,x,border);if(item.VBG&&this.DrawBGVertical)this.DrawBGVertical(item,x,border);if(item.Message[0]!=null&&this.ChartBorder.Bottom>5*pixelRatio){if(IFrameSplitOperator.IsObject(item.Message[0])){var textObj=item.Message[0];if(!textObj.Font)textObj.Font=item.Font;if(!textObj.TextColor)textObj.TextColor=item.TextColor;var drawInfo=this.GetMultiLineVTextSize(textObj);if(drawInfo){drawInfo.XCenter=x;var rtBottom={Left:0,Right:right,Top:bottom+2*pixelRatio,Bottom:border.Height};rtBottom.Width=rtBottom.Right-rtBottom.Left;rtBottom.Height=rtBottom.Bottom-rtBottom.Top;drawInfo.RectBottom=rtBottom;drawInfo.TextRightPrev=textRightPrev;this.DrawMultiLineVText(drawInfo);if(drawInfo.TextRight)textRightPrev=drawInfo.TextRight;}}else{if(item.Font)this.Canvas.font=item.Font;var textLeft=0;this.Canvas.strokeStyle=item.TextColor;var testWidth=this.Canvas.measureText(item.Message[0]).width;var textHeight=this.Canvas.measureText("擎").width;if(bottomTextExtend&&bottomTextExtend.Align==1){this.Canvas.textAlign="left";this.Canvas.textBaseline="top";textLeft=x;}else{if(x<testWidth/2){this.Canvas.textAlign="left";this.Canvas.textBaseline="top";textLeft=x;}else if(x+testWidth/2>=this.ChartBorder.GetChartWidth()){this.Canvas.textAlign="right";this.Canvas.textBaseline="top";textLeft=x-testWidth;}else{this.Canvas.textAlign="center";this.Canvas.textBaseline="top";textLeft=x-testWidth/2;}}if(textRightPrev==null||textLeft>textRightPrev){var yText=bottom;if(item.LineType==3){var lineLength=this.ShortXLineLength*pixelRatio;this.Canvas.beginPath();this.Canvas.moveTo(xFixed,yText);this.Canvas.lineTo(xFixed,yText+lineLength);this.Canvas.stroke();yText+=lineLength+2*pixelRatio;}if(bottomLineExtend){if(bottomLineExtend.Mode===1){if(item.Value>1){if(bottomLineExtend.Color)this.Canvas.strokeStyle=bottomLineExtend.Color;this.Canvas.beginPath();this.Canvas.moveTo(xFixed,bottom);this.Canvas.lineTo(xFixed,border.ChartHeight);this.Canvas.stroke();x+=1;}}else if(bottomLineExtend.Mode===2){if(bottomLineExtend.Width>=1){var lineLength=bottomLineExtend.Width;if(bottomLineExtend.Color)this.Canvas.strokeStyle=bottomLineExtend.Color;this.Canvas.beginPath();this.Canvas.moveTo(xFixed,yText);this.Canvas.lineTo(xFixed,yText+lineLength);this.Canvas.stroke();yText+=lineLength+2;}}}//item.TextBGColor="rgb(0,255,0)";
|
|
2904
2905
|
if(item.TextBGColor)//文字背景色
|
|
2905
2906
|
{var rtText={Left:textLeft,Top:yText+this.XBottomOffset,Width:testWidth,Height:textHeight};this.Canvas.fillStyle=item.TextBGColor;this.Canvas.fillRect(rtText.Left-1,rtText.Top,rtText.Width+2,rtText.Height);}this.Canvas.fillStyle=item.TextColor;this.Canvas.fillText(this.VerticalInfo[i].Message[0],x,yText+this.XBottomOffset);textRightPrev=textLeft+testWidth;}}}xPrev=x;}};//{Font:, AryText:[ { AryText:[{ Text:, Color: }], }, ] }
|
|
2906
2907
|
this.GetMultiLineVTextSize=function(obj){if(obj.Font)this.Canvas.font=obj.Font;var lineHeight=this.Canvas.measureText('擎').width;var aryLine=[];for(var i=0;i<obj.AryText.length;++i){var item=obj.AryText[i];var lineInfo={Width:0,Height:lineHeight,AryText:[],Align:2,Margin:{Top:1,Bottom:1},YOffset:-1};if(item.Margin){if(IFrameSplitOperator.IsNumber(item.Margin.Top))lineInfo.Margin.Top=item.Margin.Top;if(IFrameSplitOperator.IsNumber(item.Margin.Bottom))lineInfo.Margin.Bottom=item.Margin.Bottom;}if(IFrameSplitOperator.IsNumber(item.YOffset))lineInfo.YOffset=item.YOffset;if(IFrameSplitOperator.IsNumber(item.Align))lineInfo.Align=item.Align;lineInfo.Height=lineHeight+lineInfo.Margin.Top+lineInfo.Margin.Bottom;for(var j=0;j<item.AryText.length;++j){var subItem=item.AryText[j];if(!subItem||!subItem.Text)continue;var width=this.Canvas.measureText(subItem.Text).width;var textItem={Width:width,Text:subItem.Text,Color:obj.TextColor,Margin:{Left:0,Right:0}};if(subItem.Color)textItem.Color=subItem.Color;if(subItem.Margin){if(IFrameSplitOperator.IsNumber(subItem.Margin.Left))textItem.Margin.Left=subItem.Margin.Left;if(IFrameSplitOperator.IsNumber(subItem.Margin.Right))textItem.Margin.Right=subItem.Margin.Right;}textItem.Width=width+textItem.Margin.Right+textItem.Margin.Left;lineInfo.Width+=textItem.Width;lineInfo.AryText.push(textItem);}aryLine.push(lineInfo);}if(aryLine.length<=0)return null;var width=0,height=0;for(var i=0;i<aryLine.length;++i){var item=aryLine[i];if(width<item.Width)width=item.Width;height+=item.Height;}if(width<=0||height<=0)return null;var drawInfo={Width:width,Height:height,AryLine:aryLine,Align:2};//Align 1=left 2=center 3=right
|
|
@@ -3000,7 +3001,7 @@ var top=ToFixedPoint(border.Top);var bottom=ToFixedPoint(border.Bottom);this.Can
|
|
|
3000
3001
|
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CUSTOM_MINUTE_NIGHT_DAY_X_INDEX);if(!event||!event.Callback)return;var sendData={Symbol:symbol,XIndex:xIndex,MinuteTimeStringData:g_MinuteTimeStringData};event.Callback(event,sendData,this);xIndex=sendData.XIndex;if(xIndex<0)return;var border=this.ChartBorder.GetBorder();var x=this.GetXFromIndex(xIndex);var rtNight={Left:border.Left,Top:border.TopEx,Right:x,Bottom:border.Bottom};rtNight.Width=rtNight.Right-rtNight.Left;rtNight.Height=rtNight.Bottom-rtNight.Top;this.Canvas.fillStyle=this.NightDayConfig.NightBGColor;this.Canvas.fillRect(rtNight.Left,rtNight.Top,rtNight.Width,rtNight.Height);if(this.Identify!=0)return;//显示 日盘夜盘文字
|
|
3001
3002
|
this.Canvas.font=this.NightDayConfig.Font;this.Canvas.textBaseline="bottom";this.Canvas.textAlign='left';var aryTitle=[{Title:"夜盘",Position:1,Config:this.NightDayConfig.Night},{Title:"日盘",Position:0,Config:this.NightDayConfig.Day}];var textHeight=this.Canvas.measureText("擎").width;for(var i=0;i<aryTitle.length;++i){var item=aryTitle[i];var text=g_JSChartLocalization.GetText(item.Title,this.HQChart.LanguageID);var testWidth=this.Canvas.measureText(text).width;var rtItem={Width:testWidth+item.Config.Margin.Left+item.Config.Margin.Right,Height:textHeight+item.Config.Margin.Top+item.Config.Margin.Bottom,Bottom:border.Bottom};rtItem.Top=rtItem.Bottom-rtItem.Height;if(item.Position===1){rtItem.Right=x-1;rtItem.Left=rtItem.Right-rtItem.Width;}else{rtItem.Left=x+1;rtItem.Right=rtItem.Left+rtItem.Width;}if(item.Config.BGColor){this.Canvas.fillStyle=item.Config.BGColor;this.Canvas.fillRect(rtItem.Left,rtItem.Top,rtItem.Width,rtItem.Height);}if(item.Config.BorderColor){this.Canvas.strokeStyle=item.Config.BorderColor;this.Canvas.strokeRect(ToFixedPoint(rtItem.Left),ToFixedPoint(rtItem.Top),ToFixedRect(rtItem.Width),ToFixedRect(rtItem.Height));}this.Canvas.fillStyle=item.Config.Color;this.Canvas.fillText(text,rtItem.Left+item.Config.Margin.Left,rtItem.Bottom-item.Config.Margin.Bottom);}};//选中的画图工具X轴坐标信息
|
|
3002
3003
|
this.DrawPictureXCoordinate=function(drawPicture,range,option){if(this.IsHScreen)return;if(!range)return;if(!IFrameSplitOperator.IsNonEmptyArray(range.Points))return;var border=this.GetBorder();var left=border.Left;var right=border.Right;this.Canvas.font=this.DrawPicture.Font;var fontHeight=this.GetFontHeight();if(range.X){var xRange=range.X;var xLeft=xRange.Min.X;var xRight=xRange.Max.X;if(xLeft<left)xLeft=left;if(xRight>right)xRight=right;this.Canvas.fillStyle=this.DrawPicture.BGColor;this.Canvas.fillRect(xLeft,border.Bottom,xRight-xLeft,fontHeight);}for(var i=0;i<range.Points.length;++i){var item=range.Points[i];if(item.X<left||item.X>right)continue;var index=parseInt(this.GetXData(item.X));var kItem=this.GetKItem(index,option);if(kItem){//var text=IFrameSplitOperator.FormatDateString(kItem.Date,null);
|
|
3003
|
-
var text=IFrameSplitOperator.FormatTimeString(kItem.Time,"HH:MM");var textWidth=this.Canvas.measureText(text).width+2;var textLeft=item.X-textWidth/2;if(textLeft<left)textLeft=left;this.Canvas.fillStyle=this.DrawPicture.TextBGColor;this.Canvas.fillRect(textLeft,border.Bottom,textWidth,fontHeight);this.Canvas.fillStyle=this.DrawPicture.TextColor;var yCenter=border.Bottom+fontHeight;this.Canvas.fillText(text,textLeft+1,yCenter);}}};this.GetKItem=function(currentIndex,option){if(!this.Data)return null;if(!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return null;if(currentIndex<this.Data.Data.length){return this.Data.Data[currentIndex];}else{var kItem=this.Data.Data[this.Data.Data.length-1];var xDatetime=g_MinuteTimeStringData.GetTimeData(option.Symbol);var index=currentIndex%xDatetime.length;var timeItem=xDatetime[index];return{Date:kItem.Date,Time:timeItem};}};this.DrawDayVertical=function(dayItem,x,border){if(!dayItem.BG)return;var bgItem=dayItem.BG;var xStart=this.GetXFromIndex(bgItem.Index.Start);var xEnd=this.GetXFromIndex(bgItem.Index.End);var maxWidth=xEnd-xStart;var bgHeight=this.ChartBorder.Bottom;if(IFrameSplitOperator.IsNumber(bgItem.Height))bgHeight=bgItem.Height;if(bgItem.Color){this.Canvas.fillStyle=bgItem.Color;var rtBG={Left:xStart,Width:maxWidth,Top:border.Bottom,Height:bgHeight};this.Canvas.fillRect(rtBG.Left,rtBG.Top,rtBG.Width,rtBG.Height);}if(IFrameSplitOperator.IsNonEmptyArray(dayItem.AryText))//[ [{Text:, Color:},], []]
|
|
3004
|
+
var text=IFrameSplitOperator.FormatTimeString(kItem.Time,"HH:MM");var textWidth=this.Canvas.measureText(text).width+2;var textLeft=item.X-textWidth/2;if(textLeft<left)textLeft=left;this.Canvas.fillStyle=this.DrawPicture.TextBGColor;this.Canvas.fillRect(textLeft,border.Bottom,textWidth,fontHeight);this.Canvas.fillStyle=this.DrawPicture.TextColor;var yCenter=border.Bottom+fontHeight;this.Canvas.fillText(text,textLeft+1,yCenter);}}};this.GetKItem=function(currentIndex,option){if(!this.Data)return null;if(!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return null;if(currentIndex<this.Data.Data.length){return this.Data.Data[currentIndex];}else{var kItem=this.Data.Data[this.Data.Data.length-1];var xDatetime=g_MinuteTimeStringData.GetTimeData(option.Symbol);var index=currentIndex%xDatetime.length;var timeItem=xDatetime[index];return{Date:kItem.Date,Time:timeItem};}};this.DrawBGVertical=function(dayItem,x,border){if(!dayItem.VBG)return;var bgItem=dayItem.VBG;var xStart=this.GetXFromIndex(bgItem.Index.Start);var xEnd=this.GetXFromIndex(bgItem.Index.End);var maxWidth=xEnd-xStart;if(bgItem.Color){this.Canvas.fillStyle=bgItem.Color;var rtBG={Left:xStart,Width:maxWidth,Top:border.TopEx,Bottom:border.Bottom};rtBG.Height=rtBG.Bottom-rtBG.Top;rtBG.Right=rtBG.Left+rtBG.Width;this.Canvas.fillRect(rtBG.Left,rtBG.Top,rtBG.Width,rtBG.Height);}};this.DrawDayVertical=function(dayItem,x,border){if(!dayItem.BG)return;var bgItem=dayItem.BG;var xStart=this.GetXFromIndex(bgItem.Index.Start);var xEnd=this.GetXFromIndex(bgItem.Index.End);var maxWidth=xEnd-xStart;var bgHeight=this.ChartBorder.Bottom;if(IFrameSplitOperator.IsNumber(bgItem.Height))bgHeight=bgItem.Height;if(bgItem.Color){this.Canvas.fillStyle=bgItem.Color;var rtBG={Left:xStart,Width:maxWidth,Top:border.Bottom,Height:bgHeight};this.Canvas.fillRect(rtBG.Left,rtBG.Top,rtBG.Width,rtBG.Height);}if(IFrameSplitOperator.IsNonEmptyArray(dayItem.AryText))//[ [{Text:, Color:},], []]
|
|
3004
3005
|
{if(dayItem.Font)this.Canvas.font=dayItem.Font;this.Canvas.textAlign="left";this.Canvas.textBaseline="top";var yText=border.Bottom+2;var lineHeight=this.Canvas.measureText("擎").width+2;for(var i=0,j=0;i<dayItem.AryText.length;++i){var aryText=dayItem.AryText[i];var itemWidth=0;var aryOut=[];for(j=0;j<aryText.length;++j){var item=aryText[j];var textWidth=this.Canvas.measureText(item.Text).width;if(itemWidth+textWidth>maxWidth)break;var newItem={Text:item.Text,Width:textWidth,Color:item.Color,Space:item.Space};itemWidth+=textWidth;item.Width=textWidth;if(item.Space>=1)itemWidth+=item.Space;aryOut.push(newItem);}var xText=xStart+(maxWidth-itemWidth)/2;for(var j=0;j<aryOut.length;++j){var item=aryOut[j];if(!IFrameSplitOperator.IsNumber(item.Width))break;if(item.Color)this.Canvas.fillStyle=item.Color;else if(dayItem.TextColor)this.Canvas.fillStyle=dayItem.TextColor;this.Canvas.fillText(item.Text,xText,yText);xText+=item.Width;if(item.Space>=1)xText+=item.Space;}yText+=lineHeight;}}};//分割x,y轴坐标信息
|
|
3005
3006
|
this.SplitXYCoordinate=function(){if(this.XYSplit==false){//计算自定义刻度
|
|
3006
3007
|
if(this.YCustomSplit){if(this.YSplitOperator&&this.YSplitOperator.CustomCoordinate)this.YSplitOperator.CustomCoordinate();}return;}if(this.XSplitOperator!=null)this.XSplitOperator.Operator();if(this.YSplitOperator!=null)this.YSplitOperator.Operator();};this.GetMultiDayXFromIndex=function(index,border){var dayBorder=border.DayBorder;var minuteIndex=index%this.MinuteCount;var dayIndex=parseInt(index/this.MinuteCount);if(dayIndex>=dayBorder.length)dayIndex=dayBorder.length-1;var client=dayBorder[dayIndex];var count=this.MinuteCount-1;if(minuteIndex>=count){return client.RightEx;}else{var width=client.RightEx-client.LeftEx;var offset=client.LeftEx+width*minuteIndex/count;return offset;}};this.GetXFromIndex=function(index){var count=this.XPointCount-1;var border=this.ChartBorder.GetBorder();if(border.DayBorder)return this.GetMultiDayXFromIndex(index,border);if(count==1){if(index==0)return border.LeftEx;else return border.RightEx;}else if(count<=0){return border.LeftEx;}else if(index>=count){return border.RightEx;}else{var width=border.RightEx-border.LeftEx;var offset=border.LeftEx+width*index/count;return offset;}};this.GetMultiDayXData=function(x,border){var dayBorder=border.DayBorder;for(var i=0;i<dayBorder.length;++i){var client=dayBorder[i];if(x>=client.Left&&x<=client.Right){var count=this.MinuteCount-1;var dayMinuteCount=this.MinuteCount*i;if(x<=client.LeftEx)return 0+dayMinuteCount;if(x>=client.RightEx)return count+dayMinuteCount;var width=client.RightEx-client.LeftEx;return(x-client.LeftEx)*(count*1.0/width)+dayMinuteCount;}}};//X坐标转x轴数值
|
|
@@ -3895,6 +3896,7 @@ this.DrawType=0;// 0=实心K线柱子 1=收盘价线 2=美国线 3=空心K线
|
|
|
3895
3896
|
// 16=kagi
|
|
3896
3897
|
// 17=订单流样式4
|
|
3897
3898
|
// 18=订单流样式5
|
|
3899
|
+
// 19=HLC bars
|
|
3898
3900
|
this.CloseLineColor=g_JSChartResource.CloseLineColor;this.CloseLineAreaColor=g_JSChartResource.CloseLineAreaColor;this.CloseLineWidth=g_JSChartResource.CloseLineWidth;this.UpColor=g_JSChartResource.UpBarColor;this.DownColor=g_JSChartResource.DownBarColor;this.UnchagneColor=g_JSChartResource.UnchagneBarColor;//平盘
|
|
3899
3901
|
this.ColorData;//五彩K线颜色 >0:g_JSChartResource.UpBarColor 其他:g_JSChartResource.DownBarColor
|
|
3900
3902
|
this.TradeData;//交易系统 包含买卖数据{Buy:, Sell:, Name:指标名称 }
|
|
@@ -3917,7 +3919,7 @@ this.OneLimitBarType=0;//一字板颜色类型 4个价格全部都在同一个
|
|
|
3917
3919
|
this.UnchangeBarType=0;//0=使用unchange color 1=和昨收比较
|
|
3918
3920
|
this.EnableColorBar=false;//K线柱子是否支持自定义颜色
|
|
3919
3921
|
this.HighLowBarColor=g_JSChartResource.HighLowBarColor;this.HighLowTextConfig={FontName:g_JSChartResource.HighLowText.FontName,MaxSize:g_JSChartResource.HighLowText.MaxSize,MinSize:g_JSChartResource.HighLowText.MinSize,Color:g_JSChartResource.HighLowText.Color,//未用
|
|
3920
|
-
MaxText:g_JSChartResource.HighLowText.MaxText};this.HLCAreaConfig={HighLineColor:g_JSChartResource.HLCArea.HighLineColor,LowLineColor:g_JSChartResource.HLCArea.LowLineColor,CloseLineColor:g_JSChartResource.HLCArea.CloseLineColor,LineWidth:g_JSChartResource.HLCArea.LineWidth,UpAreaColor:g_JSChartResource.HLCArea.UpAreaColor,DownAreaColor:g_JSChartResource.HLCArea.DownAreaColor//虚线柱子 (非交易日)
|
|
3922
|
+
MaxText:g_JSChartResource.HighLowText.MaxText};this.HLCAreaConfig={HighLineColor:g_JSChartResource.HLCArea.HighLineColor,LowLineColor:g_JSChartResource.HLCArea.LowLineColor,CloseLineColor:g_JSChartResource.HLCArea.CloseLineColor,LineWidth:g_JSChartResource.HLCArea.LineWidth,UpAreaColor:g_JSChartResource.HLCArea.UpAreaColor,DownAreaColor:g_JSChartResource.HLCArea.DownAreaColor};this.HLCBarConfig={Color:g_JSChartResource.HLCBar.Color,Width:g_JSChartResource.HLCBar.Width//虚线柱子 (非交易日)
|
|
3921
3923
|
};this.VirtualBarConfig={Color:g_JSChartResource.VirtualKLine.Color,LineDash:g_JSChartResource.VirtualKLine.LineDash};//预测线配置
|
|
3922
3924
|
this.PredictionConfig={Line:{Color:g_JSChartResource.PredictionKLine.Line.Color,LineDash:g_JSChartResource.PredictionKLine.Line.LineDash,LineWidth:g_JSChartResource.PredictionKLine.Line.LineWidth},Bar:{UpColor:g_JSChartResource.PredictionKLine.Bar.UpColor,DownColor:g_JSChartResource.PredictionKLine.Bar.DownColor,UnchangeColor:g_JSChartResource.PredictionKLine.Bar.UnchangeColor,DrawType:g_JSChartResource.PredictionKLine.Bar.DrawType},Enable:false//是否启动
|
|
3923
3925
|
};this.AryPredictionCache=[];//预测数据
|
|
@@ -3959,7 +3961,11 @@ if(this.GetEventCallback){eventUnchangeKLine=this.GetEventCallback(JSCHART_EVENT
|
|
|
3959
3961
|
{if(i<this.ColorData.length)upColor=downColor=unchagneColor=this.ColorData[i]>0?this.UpColor:this.DownColor;else upColor=downColor=unchagneColor=this.DownColor;}if(this.IsThinAKBar==false&&dataWidth>=9){var coordinateInfo={YLow:yLow,YHigh:yHigh,YOpen:yOpen,YClose:yClose,X:x,Left:left,Right:right};var colorInfo={UpColor:upColor,DownColor:downColor,UnchangeColor:unchagneColor};this.DrawAKBar(data,dataWidth,isHScreen,coordinateInfo,colorInfo);}else{this.Canvas.beginPath();//最高-最低
|
|
3960
3962
|
if(isHScreen){if(data.High==data.Low&&dataWidth<4){this.Canvas.moveTo(yHigh,ToFixedPoint(x));this.Canvas.lineTo(yLow-1,ToFixedPoint(x));}else{this.Canvas.moveTo(yHigh,ToFixedPoint(x));this.Canvas.lineTo(yLow,ToFixedPoint(x));}}else{if(data.High==data.Low&&dataWidth<4){this.Canvas.moveTo(ToFixedPoint(x),yHigh);this.Canvas.lineTo(ToFixedPoint(x),yLow+1);}else{this.Canvas.moveTo(ToFixedPoint(x),yHigh);this.Canvas.lineTo(ToFixedPoint(x),yLow);}}this.Canvas.stroke();if(dataWidth>=4){this.Canvas.beginPath();//开盘
|
|
3961
3963
|
if(isHScreen){this.Canvas.moveTo(ToFixedPoint(yOpen),left);this.Canvas.lineTo(ToFixedPoint(yOpen),x);}else{this.Canvas.moveTo(left,ToFixedPoint(yOpen));this.Canvas.lineTo(x,ToFixedPoint(yOpen));}this.Canvas.stroke();this.Canvas.beginPath();//收盘
|
|
3962
|
-
if(isHScreen){this.Canvas.moveTo(ToFixedPoint(yClose),right);this.Canvas.lineTo(ToFixedPoint(yClose),x);}else{this.Canvas.moveTo(right,ToFixedPoint(yClose));this.Canvas.lineTo(x,ToFixedPoint(yClose));}this.Canvas.stroke();}}if(this.Data.DataType==0){var infoItem={Xleft:left,XRight:right,YMax:yHigh,XCenter:x,YMin:yLow,DayData:data,Index:j};this.DrawInfo(infoItem);}if(this.PriceGap.Enable&&preKItemInfo){this.CheckPriceGap(kItemInfo);var value=this.IsPriceGap(kItemInfo,preKItemInfo);if(value>0)this.AryPriceGapCache.push({Data:[preKItemInfo,kItemInfo],Type:value});}preKItemInfo=kItemInfo;}this.PtMax=ptMax;this.PtMin=ptMin;};this.
|
|
3964
|
+
if(isHScreen){this.Canvas.moveTo(ToFixedPoint(yClose),right);this.Canvas.lineTo(ToFixedPoint(yClose),x);}else{this.Canvas.moveTo(right,ToFixedPoint(yClose));this.Canvas.lineTo(x,ToFixedPoint(yClose));}this.Canvas.stroke();}}if(this.Data.DataType==0){var infoItem={Xleft:left,XRight:right,YMax:yHigh,XCenter:x,YMin:yLow,DayData:data,Index:j};this.DrawInfo(infoItem);}if(this.PriceGap.Enable&&preKItemInfo){this.CheckPriceGap(kItemInfo);var value=this.IsPriceGap(kItemInfo,preKItemInfo);if(value>0)this.AryPriceGapCache.push({Data:[preKItemInfo,kItemInfo],Type:value});}preKItemInfo=kItemInfo;}this.PtMax=ptMax;this.PtMin=ptMin;};this.DrawHLCBars=function(){var isHScreen=this.ChartFrame.IsHScreen===true;var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var xPointCount=this.ChartFrame.XPointCount;if(isHScreen){var border=this.ChartBorder.GetHScreenBorder();var xOffset=border.TopEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;var chartright=border.BottomEx;}else{var border=this.ChartBorder.GetBorder();var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;var chartright=border.RightEx;}var ptMax={X:null,Y:null,Value:null,Align:'left'};var ptMin={X:null,Y:null,Value:null,Align:'left'};this.ShowRange.Start=this.Data.DataOffset;this.ShowRange.End=this.ShowRange.Start;this.ShowRange.DataCount=0;this.ShowRange.ShowCount=xPointCount;this.DrawKRange.Start=this.Data.DataOffset;var preKItemInfo=null;for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j,xOffset+=dataWidth+distanceWidth,++this.ShowRange.DataCount){var data=this.Data.Data[i];this.ShowRange.End=i;if(data.Open==null||data.High==null||data.Low==null||data.Close==null)continue;var left=xOffset;var right=xOffset+dataWidth;if(right>chartright)break;var x=left+(right-left)/2;var yLow=this.GetYFromData(data.Low,false);var yHigh=this.GetYFromData(data.High,false);var yOpen=this.GetYFromData(data.Open,false);var yClose=this.GetYFromData(data.Close,false);this.DrawKRange.End=i;this.AddToDaySummary(data);var kItemInfo={Data:data,Coordinate:{X:x,Low:yLow,High:yHigh,Close:yClose,Open:yOpen,Left:left,Right:right}};if(ptMax.Value==null||ptMax.Value<data.High)//求最大值
|
|
3965
|
+
{ptMax.X=x;ptMax.Y=yHigh;ptMax.Value=data.High;ptMax.Align=j<xPointCount/2?'left':'right';}if(ptMin.Value==null||ptMin.Value>data.Low)//求最小值
|
|
3966
|
+
{ptMin.X=x;ptMin.Y=yLow;ptMin.Value=data.Low;ptMin.Align=j<xPointCount/2?'left':'right';}this.Canvas.strokeStyle=this.HLCBarConfig.Color;this.Canvas.beginPath();//最高-最低
|
|
3967
|
+
if(isHScreen){if(data.High==data.Low&&dataWidth<4){this.Canvas.moveTo(yHigh,ToFixedPoint(x));this.Canvas.lineTo(yLow-1,ToFixedPoint(x));}else{this.Canvas.moveTo(yHigh,ToFixedPoint(x));this.Canvas.lineTo(yLow,ToFixedPoint(x));}}else{if(data.High==data.Low&&dataWidth<4){this.Canvas.moveTo(ToFixedPoint(x),yHigh);this.Canvas.lineTo(ToFixedPoint(x),yLow+1);}else{this.Canvas.moveTo(ToFixedPoint(x),yHigh);this.Canvas.lineTo(ToFixedPoint(x),yLow);}}this.Canvas.stroke();if(dataWidth>=4){this.Canvas.beginPath();//收盘
|
|
3968
|
+
if(isHScreen){this.Canvas.moveTo(ToFixedPoint(yClose),right);this.Canvas.lineTo(ToFixedPoint(yClose),x);}else{this.Canvas.moveTo(right,ToFixedPoint(yClose));this.Canvas.lineTo(x,ToFixedPoint(yClose));}this.Canvas.stroke();}if(this.Data.DataType==0){var infoItem={Xleft:left,XRight:right,YMax:yHigh,XCenter:x,YMin:yLow,DayData:data,Index:j};this.DrawInfo(infoItem);}if(this.PriceGap.Enable&&preKItemInfo){this.CheckPriceGap(kItemInfo);var value=this.IsPriceGap(kItemInfo,preKItemInfo);if(value>0)this.AryPriceGapCache.push({Data:[preKItemInfo,kItemInfo],Type:value});}preKItemInfo=kItemInfo;}this.PtMax=ptMax;this.PtMin=ptMin;};this.DrawAKBar=function(data,dataWidth,isHScreen,coordinateInfo,colorInfo){var barWidth=dataWidth/3;var left=ToFixedRect(coordinateInfo.Left);var aryX=[left,ToFixedRect(left+barWidth),ToFixedRect(left+barWidth*2),ToFixedRect(left+barWidth*3)];var yHigh=coordinateInfo.YHigh,yLow=coordinateInfo.YLow,yOpen=coordinateInfo.YOpen,yClose=coordinateInfo.YClose;if(data.Open<data.Close){this.Canvas.strokeStyle=colorInfo.UpColor;//阳线
|
|
3963
3969
|
this.Canvas.fillStyle=colorInfo.UpColor;}else if(data.Open>data.Close){this.Canvas.strokeStyle=colorInfo.DownColor;//阳线
|
|
3964
3970
|
this.Canvas.fillStyle=colorInfo.DownColor;}else{this.Canvas.strokeStyle=colorInfo.UnchangeColor;//平线
|
|
3965
3971
|
this.Canvas.fillStyle=colorInfo.UnchangeColor;}//最高-最低
|
|
@@ -4130,7 +4136,7 @@ this.Canvas.clip();};this.ClearLastPoint=function(){this.LastPoint={};if(this.Ch
|
|
|
4130
4136
|
this.PtMin={X:null,Y:null,Value:null,Align:'left'};//清空最小
|
|
4131
4137
|
this.DrawKRange={Start:null,End:null};this.AryPriceGapCache=[];this.AryPredictionCache=[];this.ChartFrame.ChartKLine={Max:null,Min:null};//保存K线上 显示最大最小值坐标
|
|
4132
4138
|
this.DrawHeatMap();if(!this.IsShow)return;if(this.ChartFrame.IsMinSize&&this.Name=="Self Kline")return;if(ChartData.IsTickPeriod(this.Period))//分笔图
|
|
4133
|
-
{this.Canvas.save();if(this.DrawType==1){this.ClipClient(this.ChartFrame.IsHScreen);this.DrawCloseLine();}else if(this.DrawType==4){this.ClipClient(this.ChartFrame.IsHScreen);this.DrawCloseArea();}else{this.ClipTickClient(this.ChartFrame.IsHScreen);this.DrawTick();}this.Canvas.restore();return;}this.Canvas.save();this.ClipClient(this.ChartFrame.IsHScreen);if(this.DrawType==1){this.DrawCloseLine();this.Canvas.restore();this.DrawPredictionLine();if(this.PriceGap.Enable)this.DrawPriceGap();this.UpdateGlobalLatestPoint();return;}else if(this.DrawType==2){this.DrawAKLine();}else if(this.DrawType==4){this.DrawCloseArea();}else if(this.DrawType==5){this.DrawOrderFlow();}else if(this.DrawType==7){this.DrawOrderFlow_Style2();}else if(this.DrawType==8){this.DrawOrderFlow_Style3();}else if(this.DrawType==9){this.DrawKBar();}else if(this.DrawType==10){this.DrawRenkoCandle();}else if(this.DrawType==12){this.DrawLineBreak();}else if(this.DrawType==13){this.DrawHighLow();}else if(this.DrawType==14){if(this.FFKChart&&this.FFKChart.Draw){this.FFKChart.Draw(this);}}else if(this.DrawType==15){this.DrawHLCArea();}else if(this.DrawType==16){this.DrawKagi();}else if(this.DrawType==17){this.DrawOrderFlow_Style4();}else if(this.DrawType==18){this.DrawOrderFlow_Style5();}else{this.DrawKBar();}if(this.TradeIcon)this.DrawTradeIcon();else this.DrawTrade();if(this.PriceGap.Enable)this.DrawPriceGap();this.Canvas.restore();this.UpdateGlobalLatestPoint();this.DrawPredictionLine();if(this.IsShowMaxMinPrice)//标注最大值最小值
|
|
4139
|
+
{this.Canvas.save();if(this.DrawType==1){this.ClipClient(this.ChartFrame.IsHScreen);this.DrawCloseLine();}else if(this.DrawType==4){this.ClipClient(this.ChartFrame.IsHScreen);this.DrawCloseArea();}else{this.ClipTickClient(this.ChartFrame.IsHScreen);this.DrawTick();}this.Canvas.restore();return;}this.Canvas.save();this.ClipClient(this.ChartFrame.IsHScreen);if(this.DrawType==1){this.DrawCloseLine();this.Canvas.restore();this.DrawPredictionLine();if(this.PriceGap.Enable)this.DrawPriceGap();this.UpdateGlobalLatestPoint();return;}else if(this.DrawType==2){this.DrawAKLine();}else if(this.DrawType==4){this.DrawCloseArea();}else if(this.DrawType==5){this.DrawOrderFlow();}else if(this.DrawType==7){this.DrawOrderFlow_Style2();}else if(this.DrawType==8){this.DrawOrderFlow_Style3();}else if(this.DrawType==9){this.DrawKBar();}else if(this.DrawType==10){this.DrawRenkoCandle();}else if(this.DrawType==12){this.DrawLineBreak();}else if(this.DrawType==13){this.DrawHighLow();}else if(this.DrawType==14){if(this.FFKChart&&this.FFKChart.Draw){this.FFKChart.Draw(this);}}else if(this.DrawType==15){this.DrawHLCArea();}else if(this.DrawType==16){this.DrawKagi();}else if(this.DrawType==17){this.DrawOrderFlow_Style4();}else if(this.DrawType==18){this.DrawOrderFlow_Style5();}else if(this.DrawType==19){this.DrawHLCBars();}else{this.DrawKBar();}if(this.TradeIcon)this.DrawTradeIcon();else this.DrawTrade();if(this.PriceGap.Enable)this.DrawPriceGap();this.Canvas.restore();this.UpdateGlobalLatestPoint();this.DrawPredictionLine();if(this.IsShowMaxMinPrice)//标注最大值最小值
|
|
4134
4140
|
{if(this.ChartFrame.IsHScreen===true)this.HScreenDrawMaxMinPrice(this.PtMax,this.PtMin);else this.DrawMaxMinPrice(this.PtMax,this.PtMin);}if(this.DrawType==14)//自定义图形 标注最大最小值
|
|
4135
4141
|
{if(this.FFKChart&&this.FFKChart.DrawMaxMinPrice){this.FFKChart.DrawMaxMinPrice();}}this.DrawDaySummary();};this.OnFormatHighLowTitle=function(ptMax,ptMin){if(!ptMax||!ptMin)return null;if(!IFrameSplitOperator.IsNumber(ptMax.Value)||!IFrameSplitOperator.IsNumber(ptMin.Value))return null;var defaultfloatPrecision=GetfloatPrecision(this.Symbol);//小数位数
|
|
4136
4142
|
var title={High:ptMax.Value.toFixed(defaultfloatPrecision),Low:ptMin.Value.toFixed(defaultfloatPrecision)};if(!this.GetEventCallback)return title;var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_FORMAT_KLINE_HIGH_LOW_TITLE);if(!event||!event.Callback)return title;var data={Max:ptMax,Min:ptMin,Symbol:this.Symbol,Title:{High:title.High,Low:title.Low},Decimal:defaultfloatPrecision,PreventDefault:false};event.Callback(event,data,this);if(data.PreventDefault)return data.Title;//使用外部回调的数值
|
|
@@ -7441,7 +7447,7 @@ this.DownBarColor="rgb(25,158,0)";//下跌柱子颜色
|
|
|
7441
7447
|
this.UnchagneBarColor="rgb(0,0,0)";//平盘柱子颜色
|
|
7442
7448
|
this.EmptyBarBGColor="rgb(255,255,255)";//空心柱子背景色
|
|
7443
7449
|
this.HighLowBarColor='rgb(41,98,255)';//high low bar 颜色
|
|
7444
|
-
this.HighLowText={FontName:"arial",MaxSize:30,MinSize:4,Color:"rgb(41,98,255)",MaxText:"9999.9"};this.SplashScreen={BGColor:"rgba(112,128,144,0.5)",Title:"下载数据中......",TextColor:"rgb(43,54,69)",Font:14*GetDevicePixelRatio()+'px 微软雅黑'};this.HLCArea={HighLineColor:'rgb(242,54,69)',LowLineColor:"rgb(8,153,129)",CloseLineColor:"rgb(224,227,227)",LineWidth:2*GetDevicePixelRatio(),UpAreaColor:"rgba(253,214,218, 0.5)",DownAreaColor:"rgba(205,235,230, 0.5)"};this.Minute={};this.Minute.VolBarColor=null;//分时图成交量柱子颜色 默认不用, 设置了柱子就不是红绿了
|
|
7450
|
+
this.HighLowText={FontName:"arial",MaxSize:30,MinSize:4,Color:"rgb(41,98,255)",MaxText:"9999.9"};this.SplashScreen={BGColor:"rgba(112,128,144,0.5)",Title:"下载数据中......",TextColor:"rgb(43,54,69)",Font:14*GetDevicePixelRatio()+'px 微软雅黑'};this.HLCArea={HighLineColor:'rgb(242,54,69)',LowLineColor:"rgb(8,153,129)",CloseLineColor:"rgb(224,227,227)",LineWidth:2*GetDevicePixelRatio(),UpAreaColor:"rgba(253,214,218, 0.5)",DownAreaColor:"rgba(205,235,230, 0.5)"};this.HLCBar={Color:"rgb(41, 98, 255)",Width:1*GetDevicePixelRatio()};this.Minute={};this.Minute.VolBarColor=null;//分时图成交量柱子颜色 默认不用, 设置了柱子就不是红绿了
|
|
7445
7451
|
this.Minute.VolTitleColor="rgb(105,105,105)";this.Minute.PriceColor="rgb(50,171,205)";//分时图价格线颜色
|
|
7446
7452
|
this.Minute.PriceLineWidth=1*GetDevicePixelRatio();//价格线宽度
|
|
7447
7453
|
this.Minute.AreaPriceColor='rgba(50,171,205,0.1)';//价格的面积图
|
|
@@ -8694,7 +8700,7 @@ for(var i=0;i<this.OverlayChartPaint.length;++i){var item=this.OverlayChartPaint
|
|
|
8694
8700
|
var stockChipConfig={Name:'StockChip',ShowType:1,Width:230};//var stockChipConfig={Name:'StockChipPhone', Width:150 }; //手机版筹码
|
|
8695
8701
|
var bShowCorss=false;//十字光标十字线
|
|
8696
8702
|
var bCorssDrawKLine=false;var bCorssDrawVaildTime=false;var bCorssDrawPoint=false;var bCorssBCClick=false;var bCorssShowIncrease=false;var crossXTextAlign=-1;if(this.ChartCorssCursor){bShowCorss=this.ChartCorssCursor.IsShowCorss;bCorssDrawKLine=this.ChartCorssCursor.IsOnlyDrawKLine&&this.ChartCorssCursor.IsShowClose;bCorssDrawVaildTime=this.ChartCorssCursor.IsFixXLastTime;bCorssDrawPoint=this.ChartCorssCursor.CorssPointConfig.Enable;bCorssBCClick=this.ChartCorssCursor.EnableDBClick;bCorssShowIncrease=this.ChartCorssCursor.StringFormatX.RangeIncrease.IsShow;crossXTextAlign=this.ChartCorssCursor.BottomConfig.Align;}var bPopMinuteChart=false;if(this.PopMinuteChart)bPopMinuteChart=true;var bRButtonSelectRect=false,bLButtonSelectRect=false;if(this.ChartDragSelectRect){bRButtonSelectRect=this.ChartDragSelectRect.EnableRButton;bLButtonSelectRect=this.ChartDragSelectRect.EnableLButton;}var kItem=null;if(frameID>=0&&option&&IFrameSplitOperator.IsNumber(option.CursorIndex)){var kData=this.GetKData();if(kData&&IFrameSplitOperator.IsNonEmptyArray(kData.Data)){var dataIndex=kData.DataOffset+option.CursorIndex;if(dataIndex>=0&&dataIndex<kData.Data.length)kItem=kData.Data[dataIndex];}}//K线浮框 是否显示指标信息
|
|
8697
|
-
var bTooltipDialogShowIndexTitle=false;if(this.DialogTooltip){bTooltipDialogShowIndexTitle=this.DialogTooltip.IndexTitle.Enable;}var aryMenu=[{Name:"分析周期",SubMenu:[{Name:"日线",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[0]},Checked:this.Period==0},{Name:"周线",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[1]},Checked:this.Period==1},{Name:"双周线",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[21]},Checked:this.Period==21},{Name:"月线",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[2]},Checked:this.Period==2},{Name:"季线",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[9]},Checked:this.Period==9},{Name:"半年",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[22]},Checked:this.Period==22},{Name:"年线",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[3]},Checked:this.Period==3},{Name:"1分",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[4]},Checked:this.Period==4},{Name:"5分",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[5]},Checked:this.Period==5},{Name:"15分",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[6]},Checked:this.Period==6},{Name:"30分",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[7]},Checked:this.Period==7},{Name:"60分",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[8]},Checked:this.Period==8},{Name:"2小时",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[11]},Checked:this.Period==11},{Name:"4小时",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[12]},Checked:this.Period==12},{Name:"分笔",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[10]},Checked:this.Period==10},{Name:"自定义周期:3分钟",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[20003]},Checked:this.Period==20003},{Name:"自定义周期:35分钟",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[20035]},Checked:this.Period==20035},{Name:"自定义周期:8日",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[40008]},Checked:this.Period==40008}]},{Name:"指标切换",SubMenu:[{Name:"均线",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"均线"]}},{Name:"BOLL",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"BOLL"]}},{Name:"MACD",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"MACD"]}},{Name:"MACD(粗)",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"MACD2"]}},{Name:"KDJ",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"KDJ"]}},{Name:"VOL",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"VOL"]}},{Name:"RSI",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"RSI"]}},{Name:"BRAR",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"BRAR"]}},{Name:"WR",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"WR"]}}]},{Name:"五彩K线",SubMenu:[{Name:"十字星",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_COLOR_INDEX_ID,Args:["五彩K线-十字星"]}},{Name:"早晨之星",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_COLOR_INDEX_ID,Args:["五彩K线-早晨之星"]}},{Name:"垂死十字",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_COLOR_INDEX_ID,Args:["五彩K线-垂死十字"]}},{Name:"三只乌鸦",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_COLOR_INDEX_ID,Args:["五彩K线-三只乌鸦"]}},{Name:"光脚阴线",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_COLOR_INDEX_ID,Args:["五彩K线-光脚阴线"]}},{Name:"黄昏之星",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_COLOR_INDEX_ID,Args:["五彩K线-黄昏之星"]}}]},{Name:"专家系统",SubMenu:[{Name:"BIAS",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_TRADE_INDEX_ID,Args:["交易系统-BIAS"]}},{Name:"CCI",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_TRADE_INDEX_ID,Args:["交易系统-CCI"]}},{Name:"DMI",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_TRADE_INDEX_ID,Args:["交易系统-DMI"]}},{Name:"KD",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_TRADE_INDEX_ID,Args:["交易系统-KD"]}},{Name:"BOLL",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_TRADE_INDEX_ID,Args:["交易系统-BOLL"]}},{Name:"KDJ",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_TRADE_INDEX_ID,Args:["交易系统-KDJ"]}}]},{Name:"信息地雷",SubMenu:[{Name:"公告",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_INFO_ID,Args:["公告",!aryKLineInfo.includes("AnnouncementInfo")]},Checked:aryKLineInfo.includes("AnnouncementInfo")},{Name:"业绩预告",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_INFO_ID,Args:["业绩预告",!aryKLineInfo.includes("PforecastInfo")]},Checked:aryKLineInfo.includes("PforecastInfo")},{Name:"调研",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_INFO_ID,Args:["调研",!aryKLineInfo.includes("ResearchInfo")]},Checked:aryKLineInfo.includes("ResearchInfo")},{Name:"大宗交易",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_INFO_ID,Args:["大宗交易",!aryKLineInfo.includes("BlockTrading")]},Checked:aryKLineInfo.includes("BlockTrading")},{Name:"龙虎榜",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_INFO_ID,Args:["龙虎榜",!aryKLineInfo.includes("TradeDetail")]},Checked:aryKLineInfo.includes("TradeDetail")},{Name:"互动易",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_INFO_ID,Args:["互动易",!aryKLineInfo.includes("InvestorInfo")]},Checked:aryKLineInfo.includes("InvestorInfo")},{Name:JSPopMenu.SEPARATOR_LINE_NAME},{Name:"显示位置",SubMenu:[{Name:"底部",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INFO_POSITION_ID,Args:[1]},Checked:infoPosition===1},{Name:"K线上",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INFO_POSITION_ID,Args:[0]},Checked:infoPosition===0}]}]},{Name:"缺口提示",SubMenu:[{Name:"显示1个缺口",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PRICE_GAP_ID,Args:[true,1]},Checked:priceGap.Enable==true&&priceGap.Count==1},{Name:"显示2个缺口",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PRICE_GAP_ID,Args:[true,2]},Checked:priceGap.Enable==true&&priceGap.Count==2},{Name:"显示3个缺口",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PRICE_GAP_ID,Args:[true,3]},Checked:priceGap.Enable==true&&priceGap.Count==3},{Name:"隐藏缺口",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PRICE_GAP_ID,Args:[false]},Checked:priceGap.Enable==false}]},{Name:"叠加品种",SubMenu:[{Name:"上证指数",Data:{ID:JSCHART_MENU_ID.CMD_OVERLAY_SYMBOL_ID,Args:["000001.sh",!aryOverlaySymbol.includes("000001.sh")]},Checked:aryOverlaySymbol.includes("000001.sh")},{Name:"深证成指",Data:{ID:JSCHART_MENU_ID.CMD_OVERLAY_SYMBOL_ID,Args:["399001.sz",!aryOverlaySymbol.includes("399001.sz")]},Checked:aryOverlaySymbol.includes("399001.sz")},{Name:"中小板指",Data:{ID:JSCHART_MENU_ID.CMD_OVERLAY_SYMBOL_ID,Args:["399005.sz",!aryOverlaySymbol.includes("399005.sz")]},Checked:aryOverlaySymbol.includes("399005.sz")},{Name:"创业板指",Data:{ID:JSCHART_MENU_ID.CMD_OVERLAY_SYMBOL_ID,Args:["399006.sz",!aryOverlaySymbol.includes("399006.sz")]},Checked:aryOverlaySymbol.includes("399006.sz")},{Name:"沪深300",Data:{ID:JSCHART_MENU_ID.CMD_OVERLAY_SYMBOL_ID,Args:["000300.sh",!aryOverlaySymbol.includes("000300.sh")]},Checked:aryOverlaySymbol.includes("000300.sh")}]},{Name:"主图线型",SubMenu:[{Name:"K线(空心阳线)",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID,Args:[3]},Checked:klineType==3},{Name:"K线(实心阳线)",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID,Args:[0]},Checked:klineType==0},{Name:"美国线",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID,Args:[2,true,{IsThinAKBar:false}]},Checked:klineType==2&&!bThinAKBar},{Name:"美国线(细)",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID,Args:[2,true,{IsThinAKBar:true}]},Checked:klineType==2&&bThinAKBar},{Name:"收盘线",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID,Args:[1]},Checked:klineType==1},{Name:"收盘面积",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID,Args:[4]},Checked:klineType==4},{Name:"K线(空心阳线阴线)",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID,Args:[6]},Checked:klineType==6},{Name:"Heikin Ashi",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID,Args:[11]},Checked:klineType==11},{Name:"Line Break",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID,Args:[12]},Checked:klineType==12},{Name:"High-low",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID,Args:[13]},Checked:klineType==13},{Name:"HLC Area",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID,Args:[15]},Checked:klineType==15}]},{Name:"坐标类型",SubMenu:[{Name:"反转坐标",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_COORDINATETYPE_ID,Args:[{IsReverse:coordinateType==0}]},Checked:coordinateType==1},{Name:JSPopMenu.SEPARATOR_LINE_NAME},{Name:"普通坐标",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_COORDINATETYPE_ID,Args:[{Type:0}]},Checked:yCoordinateType==0},{Name:"百分比坐标",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_COORDINATETYPE_ID,Args:[{Type:1}]},Checked:yCoordinateType==1},{Name:"对数坐标",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_COORDINATETYPE_ID,Args:[{Type:2}]},Checked:yCoordinateType==2},{Name:"等比坐标",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_COORDINATETYPE_ID,Args:[{Type:3}]},Checked:yCoordinateType==3},{Name:"等分坐标",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_COORDINATETYPE_ID,Args:[{Type:4}]},Checked:yCoordinateType==4},{Name:"黄金分割",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_COORDINATETYPE_ID,Args:[{Type:5}]},Checked:yCoordinateType==5}]},{Name:"指标窗口个数",SubMenu:[{Name:"1个窗口",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_WINDOW_COUNT_ID,Args:[2]},Checked:2==windowCount},{Name:"2个窗口",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_WINDOW_COUNT_ID,Args:[3]},Checked:3==windowCount},{Name:"3个窗口",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_WINDOW_COUNT_ID,Args:[4]},Checked:4==windowCount},{Name:"4个窗口",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_WINDOW_COUNT_ID,Args:[5]},Checked:5==windowCount},{Name:"5个窗口",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_WINDOW_COUNT_ID,Args:[6]},Checked:6==windowCount}]},{Name:"十字光标",SubMenu:[{Name:"显示",Data:{ID:JSCHART_MENU_ID.CMD_SHOW_CORSS_LINE_ID,Args:[!bShowCorss]},Checked:bShowCorss},{Name:"显示在K线上",Data:{ID:JSCHART_MENU_ID.CMD_CORSS_ON_KLINE_ID,Args:[!bCorssDrawKLine]},Checked:bCorssDrawKLine},{Name:"画在有效X轴上",Data:{ID:JSCHART_MENU_ID.CMD_CORSS_ON_VAILD_TIME_ID,Args:[!bCorssDrawVaildTime]},Checked:bCorssDrawVaildTime},{Name:"画圆点",Data:{ID:JSCHART_MENU_ID.CMD_CORSS_POINT_ID,Args:[!bCorssDrawPoint]},Checked:bCorssDrawPoint},{Name:"双击显示/隐藏",Data:{ID:JSCHART_MENU_ID.CMD_CORSS_DBCLICK_ID,Args:[!bCorssBCClick]},Checked:bCorssBCClick},{Name:"至今涨幅显示/隐藏",Data:{ID:JSCHART_MENU_ID.CMD_CORSS_SHOW_INCREASE_ID,Args:[!bCorssShowIncrease]},Checked:bCorssShowIncrease},{Name:"底部文字对齐",SubMenu:[{Name:"居中",Data:{ID:JSCHART_MENU_ID.CMD_CORSS_X_TEXTALIGN_ID,Args:[1]},Checked:crossXTextAlign===1},{Name:"左对齐",Data:{ID:JSCHART_MENU_ID.CMD_CORSS_X_TEXTALIGN_ID,Args:[0]},Checked:crossXTextAlign===0}]}]},{Name:"其他设置",SubMenu:[{Name:"左键区间选择",Data:{ID:JSCHART_MENU_ID.CMD_LBUTTON_SELECT_RECT_ID,Args:[!bLButtonSelectRect]},Checked:bLButtonSelectRect},{Name:"右键区间选择",Data:{ID:JSCHART_MENU_ID.CMD_RBUTTON_SELECT_RECT_ID,Args:[!bRButtonSelectRect]},Checked:bRButtonSelectRect},{Name:JSPopMenu.SEPARATOR_LINE_NAME},{Name:"背景分割",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_BG_SPLIT_ID,Args:[!bBGSpit]},Checked:bBGSpit},{Name:"画图工具",Data:{ID:JSCHART_MENU_ID.CMD_SHOW_DRAWTOOL_ID,Args:[]},Checked:this.IsShowDrawToolDialog()},{Name:"移动筹码图",Data:{ID:bShowStockChip?JSCHART_MENU_ID.CMD_HIDE_STOCKCHIP_ID:JSCHART_MENU_ID.CMD_SHOW_STOCKCHIP_ID,Args:[stockChipConfig.Name,stockChipConfig]},Checked:bShowStockChip},{Name:"双击弹分时图",Data:{ID:JSCHART_MENU_ID.CMD_ENABLE_POP_MINUTE_CHART_ID,Args:[!bPopMinuteChart]},Checked:bPopMinuteChart},{Name:"显示走完剩余时间",Data:{ID:JSCHART_MENU_ID.CMD_ENABLE_KLINE_DAY_SUMMARY_ID,Args:[!bDaySummary]},Checked:bDaySummary},{Name:"拖动Y轴",Data:{ID:JSCHART_MENU_ID.CMD_ENABLE_ZOOM_Y_ID,Args:[{FrameID:0,Enable:!bZoomYCoordinate}]},Checked:bZoomYCoordinate},{Name:JSPopMenu.SEPARATOR_LINE_NAME},{Name:"鼠标形状",SubMenu:[{Name:"默认",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DEFAULTCURSOR_ID,Args:["default"]},Checked:this.DefaultCursor=="default"},{Name:"十字线",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DEFAULTCURSOR_ID,Args:["crosshair"]},Checked:this.DefaultCursor=="crosshair"}]},{Name:"语言设置",SubMenu:[{Name:"中文",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_LANGUAGE_ID,Args:["CN"]},Checked:this.LanguageID==JSCHART_LANGUAGE_ID.LANGUAGE_CHINESE_ID},{Name:"英语",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_LANGUAGE_ID,Args:["EN"]},Checked:this.LanguageID==JSCHART_LANGUAGE_ID.LANGUAGE_ENGLISH_ID},{Name:"繁体",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_LANGUAGE_ID,Args:["TC"]},Checked:this.LanguageID==JSCHART_LANGUAGE_ID.LANGUAGE_TRADITIONAL_CHINESE_ID}]},{Name:"区间选择样式",SubMenu:[{Name:"样式1(默认)",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DRAG_RECT_SHOW_MODE_ID,Args:[0]},Checked:0==this.ChartDragSelectRect.ShowMode},{Name:"样式2",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DRAG_RECT_SHOW_MODE_ID,Args:[1]},Checked:1==this.ChartDragSelectRect.ShowMode},{Name:"样式3",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DRAG_RECT_SHOW_MODE_ID,Args:[2]},Checked:2==this.ChartDragSelectRect.ShowMode}]},{Name:"K线浮动框",SubMenu:[{Name:"禁用",Data:{ID:JSCHART_MENU_ID.CMD_DIALOG_TOOLTIP_ATTRIBUTE,Args:[{Enable:false}]},Checked:!this.DialogTooltip},{Name:"样式1",Data:{ID:JSCHART_MENU_ID.CMD_DIALOG_TOOLTIP_ATTRIBUTE,Args:[{Enable:true,Style:0}]},Checked:this.DialogTooltip&&this.DialogTooltip.Style===0},{Name:"样式1-指标显示",Data:{ID:JSCHART_MENU_ID.CMD_DIALOG_TOOLTIP_ATTRIBUTE,Args:[{Enable:true,IndexTitle:{Enable:!bTooltipDialogShowIndexTitle}}]},Checked:bTooltipDialogShowIndexTitle},{Name:"样式2",Data:{ID:JSCHART_MENU_ID.CMD_DIALOG_TOOLTIP_ATTRIBUTE,Args:[{Enable:true,Style:1}]},Checked:this.DialogTooltip&&this.DialogTooltip.Style===1}]},{Name:"K线提示框",SubMenu:[{Name:"启用",Data:{ID:JSCHART_MENU_ID.CMD_KLINE_TOOLTIP_ATTRIBUTE,Args:[{Enable:!this.KLineTooltipConfig.Enable}]},Checked:this.KLineTooltipConfig.Enable},{Name:"键盘左右显示",Data:{ID:JSCHART_MENU_ID.CMD_KLINE_TOOLTIP_ATTRIBUTE,Args:[{EnableKeyDown:!this.KLineTooltipConfig.EnableKeyDown}]},Checked:this.KLineTooltipConfig.EnableKeyDown}]},{Name:"X轴拖动",SubMenu:[{Name:"启动",Data:{ID:JSCHART_MENU_ID.CMD_ENABLE_XDRAG_BOTTOM_ID,Args:[!this.EnableXDrag.Bottom]},Checked:this.EnableXDrag.Bottom},{Name:"左键拖动K线",Data:{ID:JSCHART_MENU_ID.CMD_ENABLE_XDRAG_BOTTOM_ID,Args:[null,this.EnableXDrag.LButton.Type===1?0:1]},Checked:this.EnableXDrag.LButton.Type===1&&this.EnableXDrag.Bottom},{Name:"左键缩放K线",Data:{ID:JSCHART_MENU_ID.CMD_ENABLE_XDRAG_BOTTOM_ID,Args:[null,this.EnableXDrag.LButton.Type===2?0:2]},Checked:this.EnableXDrag.LButton.Type===2&&this.EnableXDrag.Bottom},{Name:"右键拖动K线",Data:{ID:JSCHART_MENU_ID.CMD_ENABLE_XDRAG_BOTTOM_ID,Args:[null,null,this.EnableXDrag.RButton.Type===1?0:1]},Checked:this.EnableXDrag.RButton.Type===1&&this.EnableXDrag.Bottom},{Name:"右键缩放K线",Data:{ID:JSCHART_MENU_ID.CMD_ENABLE_XDRAG_BOTTOM_ID,Args:[null,null,this.EnableXDrag.RButton.Type===2?0:2]},Checked:this.EnableXDrag.RButton.Type===2&&this.EnableXDrag.Bottom}]},{Name:"K线拖动",SubMenu:[{Name:"禁用",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DRAG_MODE_ID,Args:[0]},Checked:0==this.DragMode},{Name:"左键拖拽",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DRAG_MODE_ID,Args:[1,false]},Checked:1==(this.DragMode&&!this.KLineDragConfig.EnableShfit)},{Name:"Shift+左键拖拽",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DRAG_MODE_ID,Args:[1,true]},Checked:1==(this.DragMode&&this.KLineDragConfig.EnableShfit)}]}]}];//复权
|
|
8703
|
+
var bTooltipDialogShowIndexTitle=false;if(this.DialogTooltip){bTooltipDialogShowIndexTitle=this.DialogTooltip.IndexTitle.Enable;}var aryMenu=[{Name:"分析周期",SubMenu:[{Name:"日线",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[0]},Checked:this.Period==0},{Name:"周线",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[1]},Checked:this.Period==1},{Name:"双周线",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[21]},Checked:this.Period==21},{Name:"月线",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[2]},Checked:this.Period==2},{Name:"季线",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[9]},Checked:this.Period==9},{Name:"半年",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[22]},Checked:this.Period==22},{Name:"年线",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[3]},Checked:this.Period==3},{Name:"1分",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[4]},Checked:this.Period==4},{Name:"5分",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[5]},Checked:this.Period==5},{Name:"15分",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[6]},Checked:this.Period==6},{Name:"30分",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[7]},Checked:this.Period==7},{Name:"60分",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[8]},Checked:this.Period==8},{Name:"2小时",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[11]},Checked:this.Period==11},{Name:"4小时",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[12]},Checked:this.Period==12},{Name:"分笔",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[10]},Checked:this.Period==10},{Name:"自定义周期:3分钟",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[20003]},Checked:this.Period==20003},{Name:"自定义周期:35分钟",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[20035]},Checked:this.Period==20035},{Name:"自定义周期:8日",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[40008]},Checked:this.Period==40008}]},{Name:"指标切换",SubMenu:[{Name:"均线",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"均线"]}},{Name:"BOLL",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"BOLL"]}},{Name:"MACD",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"MACD"]}},{Name:"MACD(粗)",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"MACD2"]}},{Name:"KDJ",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"KDJ"]}},{Name:"VOL",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"VOL"]}},{Name:"RSI",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"RSI"]}},{Name:"BRAR",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"BRAR"]}},{Name:"WR",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"WR"]}}]},{Name:"五彩K线",SubMenu:[{Name:"十字星",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_COLOR_INDEX_ID,Args:["五彩K线-十字星"]}},{Name:"早晨之星",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_COLOR_INDEX_ID,Args:["五彩K线-早晨之星"]}},{Name:"垂死十字",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_COLOR_INDEX_ID,Args:["五彩K线-垂死十字"]}},{Name:"三只乌鸦",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_COLOR_INDEX_ID,Args:["五彩K线-三只乌鸦"]}},{Name:"光脚阴线",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_COLOR_INDEX_ID,Args:["五彩K线-光脚阴线"]}},{Name:"黄昏之星",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_COLOR_INDEX_ID,Args:["五彩K线-黄昏之星"]}}]},{Name:"专家系统",SubMenu:[{Name:"BIAS",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_TRADE_INDEX_ID,Args:["交易系统-BIAS"]}},{Name:"CCI",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_TRADE_INDEX_ID,Args:["交易系统-CCI"]}},{Name:"DMI",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_TRADE_INDEX_ID,Args:["交易系统-DMI"]}},{Name:"KD",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_TRADE_INDEX_ID,Args:["交易系统-KD"]}},{Name:"BOLL",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_TRADE_INDEX_ID,Args:["交易系统-BOLL"]}},{Name:"KDJ",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_TRADE_INDEX_ID,Args:["交易系统-KDJ"]}}]},{Name:"信息地雷",SubMenu:[{Name:"公告",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_INFO_ID,Args:["公告",!aryKLineInfo.includes("AnnouncementInfo")]},Checked:aryKLineInfo.includes("AnnouncementInfo")},{Name:"业绩预告",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_INFO_ID,Args:["业绩预告",!aryKLineInfo.includes("PforecastInfo")]},Checked:aryKLineInfo.includes("PforecastInfo")},{Name:"调研",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_INFO_ID,Args:["调研",!aryKLineInfo.includes("ResearchInfo")]},Checked:aryKLineInfo.includes("ResearchInfo")},{Name:"大宗交易",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_INFO_ID,Args:["大宗交易",!aryKLineInfo.includes("BlockTrading")]},Checked:aryKLineInfo.includes("BlockTrading")},{Name:"龙虎榜",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_INFO_ID,Args:["龙虎榜",!aryKLineInfo.includes("TradeDetail")]},Checked:aryKLineInfo.includes("TradeDetail")},{Name:"互动易",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_INFO_ID,Args:["互动易",!aryKLineInfo.includes("InvestorInfo")]},Checked:aryKLineInfo.includes("InvestorInfo")},{Name:JSPopMenu.SEPARATOR_LINE_NAME},{Name:"显示位置",SubMenu:[{Name:"底部",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INFO_POSITION_ID,Args:[1]},Checked:infoPosition===1},{Name:"K线上",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INFO_POSITION_ID,Args:[0]},Checked:infoPosition===0}]}]},{Name:"缺口提示",SubMenu:[{Name:"显示1个缺口",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PRICE_GAP_ID,Args:[true,1]},Checked:priceGap.Enable==true&&priceGap.Count==1},{Name:"显示2个缺口",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PRICE_GAP_ID,Args:[true,2]},Checked:priceGap.Enable==true&&priceGap.Count==2},{Name:"显示3个缺口",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PRICE_GAP_ID,Args:[true,3]},Checked:priceGap.Enable==true&&priceGap.Count==3},{Name:"隐藏缺口",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PRICE_GAP_ID,Args:[false]},Checked:priceGap.Enable==false}]},{Name:"叠加品种",SubMenu:[{Name:"上证指数",Data:{ID:JSCHART_MENU_ID.CMD_OVERLAY_SYMBOL_ID,Args:["000001.sh",!aryOverlaySymbol.includes("000001.sh")]},Checked:aryOverlaySymbol.includes("000001.sh")},{Name:"深证成指",Data:{ID:JSCHART_MENU_ID.CMD_OVERLAY_SYMBOL_ID,Args:["399001.sz",!aryOverlaySymbol.includes("399001.sz")]},Checked:aryOverlaySymbol.includes("399001.sz")},{Name:"中小板指",Data:{ID:JSCHART_MENU_ID.CMD_OVERLAY_SYMBOL_ID,Args:["399005.sz",!aryOverlaySymbol.includes("399005.sz")]},Checked:aryOverlaySymbol.includes("399005.sz")},{Name:"创业板指",Data:{ID:JSCHART_MENU_ID.CMD_OVERLAY_SYMBOL_ID,Args:["399006.sz",!aryOverlaySymbol.includes("399006.sz")]},Checked:aryOverlaySymbol.includes("399006.sz")},{Name:"沪深300",Data:{ID:JSCHART_MENU_ID.CMD_OVERLAY_SYMBOL_ID,Args:["000300.sh",!aryOverlaySymbol.includes("000300.sh")]},Checked:aryOverlaySymbol.includes("000300.sh")}]},{Name:"主图线型",SubMenu:[{Name:"K线(空心阳线)",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID,Args:[3]},Checked:klineType==3},{Name:"K线(实心阳线)",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID,Args:[0]},Checked:klineType==0},{Name:"美国线",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID,Args:[2,true,{IsThinAKBar:false}]},Checked:klineType==2&&!bThinAKBar},{Name:"美国线(细)",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID,Args:[2,true,{IsThinAKBar:true}]},Checked:klineType==2&&bThinAKBar},{Name:"收盘线",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID,Args:[1]},Checked:klineType==1},{Name:"收盘面积",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID,Args:[4]},Checked:klineType==4},{Name:"K线(空心阳线阴线)",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID,Args:[6]},Checked:klineType==6},{Name:"Heikin Ashi",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID,Args:[11]},Checked:klineType==11},{Name:"Line Break",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID,Args:[12]},Checked:klineType==12},{Name:"High-low",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID,Args:[13]},Checked:klineType==13},{Name:"HLC Area",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID,Args:[15]},Checked:klineType==15},{Name:"HLC Bars",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID,Args:[19]},Checked:klineType==19}]},{Name:"坐标类型",SubMenu:[{Name:"反转坐标",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_COORDINATETYPE_ID,Args:[{IsReverse:coordinateType==0}]},Checked:coordinateType==1},{Name:JSPopMenu.SEPARATOR_LINE_NAME},{Name:"普通坐标",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_COORDINATETYPE_ID,Args:[{Type:0}]},Checked:yCoordinateType==0},{Name:"百分比坐标",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_COORDINATETYPE_ID,Args:[{Type:1}]},Checked:yCoordinateType==1},{Name:"对数坐标",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_COORDINATETYPE_ID,Args:[{Type:2}]},Checked:yCoordinateType==2},{Name:"等比坐标",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_COORDINATETYPE_ID,Args:[{Type:3}]},Checked:yCoordinateType==3},{Name:"等分坐标",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_COORDINATETYPE_ID,Args:[{Type:4}]},Checked:yCoordinateType==4},{Name:"黄金分割",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_COORDINATETYPE_ID,Args:[{Type:5}]},Checked:yCoordinateType==5}]},{Name:"指标窗口个数",SubMenu:[{Name:"1个窗口",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_WINDOW_COUNT_ID,Args:[2]},Checked:2==windowCount},{Name:"2个窗口",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_WINDOW_COUNT_ID,Args:[3]},Checked:3==windowCount},{Name:"3个窗口",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_WINDOW_COUNT_ID,Args:[4]},Checked:4==windowCount},{Name:"4个窗口",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_WINDOW_COUNT_ID,Args:[5]},Checked:5==windowCount},{Name:"5个窗口",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_WINDOW_COUNT_ID,Args:[6]},Checked:6==windowCount}]},{Name:"十字光标",SubMenu:[{Name:"显示",Data:{ID:JSCHART_MENU_ID.CMD_SHOW_CORSS_LINE_ID,Args:[!bShowCorss]},Checked:bShowCorss},{Name:"显示在K线上",Data:{ID:JSCHART_MENU_ID.CMD_CORSS_ON_KLINE_ID,Args:[!bCorssDrawKLine]},Checked:bCorssDrawKLine},{Name:"画在有效X轴上",Data:{ID:JSCHART_MENU_ID.CMD_CORSS_ON_VAILD_TIME_ID,Args:[!bCorssDrawVaildTime]},Checked:bCorssDrawVaildTime},{Name:"画圆点",Data:{ID:JSCHART_MENU_ID.CMD_CORSS_POINT_ID,Args:[!bCorssDrawPoint]},Checked:bCorssDrawPoint},{Name:"双击显示/隐藏",Data:{ID:JSCHART_MENU_ID.CMD_CORSS_DBCLICK_ID,Args:[!bCorssBCClick]},Checked:bCorssBCClick},{Name:"至今涨幅显示/隐藏",Data:{ID:JSCHART_MENU_ID.CMD_CORSS_SHOW_INCREASE_ID,Args:[!bCorssShowIncrease]},Checked:bCorssShowIncrease},{Name:"底部文字对齐",SubMenu:[{Name:"居中",Data:{ID:JSCHART_MENU_ID.CMD_CORSS_X_TEXTALIGN_ID,Args:[1]},Checked:crossXTextAlign===1},{Name:"左对齐",Data:{ID:JSCHART_MENU_ID.CMD_CORSS_X_TEXTALIGN_ID,Args:[0]},Checked:crossXTextAlign===0}]}]},{Name:"其他设置",SubMenu:[{Name:"左键区间选择",Data:{ID:JSCHART_MENU_ID.CMD_LBUTTON_SELECT_RECT_ID,Args:[!bLButtonSelectRect]},Checked:bLButtonSelectRect},{Name:"右键区间选择",Data:{ID:JSCHART_MENU_ID.CMD_RBUTTON_SELECT_RECT_ID,Args:[!bRButtonSelectRect]},Checked:bRButtonSelectRect},{Name:JSPopMenu.SEPARATOR_LINE_NAME},{Name:"背景分割",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_BG_SPLIT_ID,Args:[!bBGSpit]},Checked:bBGSpit},{Name:"画图工具",Data:{ID:JSCHART_MENU_ID.CMD_SHOW_DRAWTOOL_ID,Args:[]},Checked:this.IsShowDrawToolDialog()},{Name:"移动筹码图",Data:{ID:bShowStockChip?JSCHART_MENU_ID.CMD_HIDE_STOCKCHIP_ID:JSCHART_MENU_ID.CMD_SHOW_STOCKCHIP_ID,Args:[stockChipConfig.Name,stockChipConfig]},Checked:bShowStockChip},{Name:"双击弹分时图",Data:{ID:JSCHART_MENU_ID.CMD_ENABLE_POP_MINUTE_CHART_ID,Args:[!bPopMinuteChart]},Checked:bPopMinuteChart},{Name:"显示走完剩余时间",Data:{ID:JSCHART_MENU_ID.CMD_ENABLE_KLINE_DAY_SUMMARY_ID,Args:[!bDaySummary]},Checked:bDaySummary},{Name:"拖动Y轴",Data:{ID:JSCHART_MENU_ID.CMD_ENABLE_ZOOM_Y_ID,Args:[{FrameID:0,Enable:!bZoomYCoordinate}]},Checked:bZoomYCoordinate},{Name:JSPopMenu.SEPARATOR_LINE_NAME},{Name:"鼠标形状",SubMenu:[{Name:"默认",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DEFAULTCURSOR_ID,Args:["default"]},Checked:this.DefaultCursor=="default"},{Name:"十字线",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DEFAULTCURSOR_ID,Args:["crosshair"]},Checked:this.DefaultCursor=="crosshair"}]},{Name:"语言设置",SubMenu:[{Name:"中文",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_LANGUAGE_ID,Args:["CN"]},Checked:this.LanguageID==JSCHART_LANGUAGE_ID.LANGUAGE_CHINESE_ID},{Name:"英语",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_LANGUAGE_ID,Args:["EN"]},Checked:this.LanguageID==JSCHART_LANGUAGE_ID.LANGUAGE_ENGLISH_ID},{Name:"繁体",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_LANGUAGE_ID,Args:["TC"]},Checked:this.LanguageID==JSCHART_LANGUAGE_ID.LANGUAGE_TRADITIONAL_CHINESE_ID}]},{Name:"区间选择样式",SubMenu:[{Name:"样式1(默认)",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DRAG_RECT_SHOW_MODE_ID,Args:[0]},Checked:0==this.ChartDragSelectRect.ShowMode},{Name:"样式2",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DRAG_RECT_SHOW_MODE_ID,Args:[1]},Checked:1==this.ChartDragSelectRect.ShowMode},{Name:"样式3",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DRAG_RECT_SHOW_MODE_ID,Args:[2]},Checked:2==this.ChartDragSelectRect.ShowMode}]},{Name:"K线浮动框",SubMenu:[{Name:"禁用",Data:{ID:JSCHART_MENU_ID.CMD_DIALOG_TOOLTIP_ATTRIBUTE,Args:[{Enable:false}]},Checked:!this.DialogTooltip},{Name:"样式1",Data:{ID:JSCHART_MENU_ID.CMD_DIALOG_TOOLTIP_ATTRIBUTE,Args:[{Enable:true,Style:0}]},Checked:this.DialogTooltip&&this.DialogTooltip.Style===0},{Name:"样式1-指标显示",Data:{ID:JSCHART_MENU_ID.CMD_DIALOG_TOOLTIP_ATTRIBUTE,Args:[{Enable:true,IndexTitle:{Enable:!bTooltipDialogShowIndexTitle}}]},Checked:bTooltipDialogShowIndexTitle},{Name:"样式2",Data:{ID:JSCHART_MENU_ID.CMD_DIALOG_TOOLTIP_ATTRIBUTE,Args:[{Enable:true,Style:1}]},Checked:this.DialogTooltip&&this.DialogTooltip.Style===1}]},{Name:"K线提示框",SubMenu:[{Name:"启用",Data:{ID:JSCHART_MENU_ID.CMD_KLINE_TOOLTIP_ATTRIBUTE,Args:[{Enable:!this.KLineTooltipConfig.Enable}]},Checked:this.KLineTooltipConfig.Enable},{Name:"键盘左右显示",Data:{ID:JSCHART_MENU_ID.CMD_KLINE_TOOLTIP_ATTRIBUTE,Args:[{EnableKeyDown:!this.KLineTooltipConfig.EnableKeyDown}]},Checked:this.KLineTooltipConfig.EnableKeyDown}]},{Name:"X轴拖动",SubMenu:[{Name:"启动",Data:{ID:JSCHART_MENU_ID.CMD_ENABLE_XDRAG_BOTTOM_ID,Args:[!this.EnableXDrag.Bottom]},Checked:this.EnableXDrag.Bottom},{Name:"左键拖动K线",Data:{ID:JSCHART_MENU_ID.CMD_ENABLE_XDRAG_BOTTOM_ID,Args:[null,this.EnableXDrag.LButton.Type===1?0:1]},Checked:this.EnableXDrag.LButton.Type===1&&this.EnableXDrag.Bottom},{Name:"左键缩放K线",Data:{ID:JSCHART_MENU_ID.CMD_ENABLE_XDRAG_BOTTOM_ID,Args:[null,this.EnableXDrag.LButton.Type===2?0:2]},Checked:this.EnableXDrag.LButton.Type===2&&this.EnableXDrag.Bottom},{Name:"右键拖动K线",Data:{ID:JSCHART_MENU_ID.CMD_ENABLE_XDRAG_BOTTOM_ID,Args:[null,null,this.EnableXDrag.RButton.Type===1?0:1]},Checked:this.EnableXDrag.RButton.Type===1&&this.EnableXDrag.Bottom},{Name:"右键缩放K线",Data:{ID:JSCHART_MENU_ID.CMD_ENABLE_XDRAG_BOTTOM_ID,Args:[null,null,this.EnableXDrag.RButton.Type===2?0:2]},Checked:this.EnableXDrag.RButton.Type===2&&this.EnableXDrag.Bottom}]},{Name:"K线拖动",SubMenu:[{Name:"禁用",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DRAG_MODE_ID,Args:[0]},Checked:0==this.DragMode},{Name:"左键拖拽",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DRAG_MODE_ID,Args:[1,false]},Checked:1==(this.DragMode&&!this.KLineDragConfig.EnableShfit)},{Name:"Shift+左键拖拽",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DRAG_MODE_ID,Args:[1,true]},Checked:1==(this.DragMode&&this.KLineDragConfig.EnableShfit)}]}]}];//复权
|
|
8698
8704
|
if(!MARKET_SUFFIX_NAME.IsSHSZIndex(this.Symbol)&&!MARKET_SUFFIX_NAME.IsBIT(this.Symbol)){var rightMenu={Name:"复权处理",SubMenu:[{Name:"不复权",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_RIGHT_ID,Args:[0]},Checked:0==this.Right},{Name:"前复权",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_RIGHT_ID,Args:[1]},Checked:1==this.Right},{Name:"后复权",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_RIGHT_ID,Args:[2]},Checked:2==this.Right}]};aryMenu.splice(1,0,rightMenu);}//删除菜单
|
|
8699
8705
|
for(var i=0;i<aryMenu.length;++i){var item=aryMenu[i];if(item.Name=="五彩K线"){if(this.ColorIndex){item.SubMenu.push({Name:JSPopMenu.SEPARATOR_LINE_NAME});item.SubMenu.push({Name:"删除五彩K线",Data:{ID:JSCHART_MENU_ID.CMD_DELETE_COLOR_INDEX_ID}});}}else if(item.Name=="专家系统"){if(this.TradeIndex){item.SubMenu.push({Name:JSPopMenu.SEPARATOR_LINE_NAME});item.SubMenu.push({Name:"删除专家系统",Data:{ID:JSCHART_MENU_ID.CMD_DELETE_TRADE_INDEX_ID}});}}else if(item.Name=="叠加品种"){for(var j=0;j<item.SubMenu.length;++j){if(item.SubMenu[j].Checked){item.SubMenu.push({Name:JSPopMenu.SEPARATOR_LINE_NAME});item.SubMenu.push({Name:"取消叠加",Data:{ID:JSCHART_MENU_ID.CMD_DELETE_ALL_OVERLAY_SYMBOL_ID}});break;}}}else if(item.Name=="信息地雷"){for(var j=0;j<item.SubMenu.length;++j){if(item.SubMenu[j].Checked){item.SubMenu.push({Name:JSPopMenu.SEPARATOR_LINE_NAME});item.SubMenu.push({Name:"删除所有",Data:{ID:JSCHART_MENU_ID.CMD_DELETE_ALL_KLINE_INFO_ID}});break;}}}else if(item.Name=="十字光标"){if(kItem){var bLocked=this.IsLockCorssCursor();if(bLocked)item.SubMenu.push({Name:"锁十字光标",Data:{ID:JSCHART_MENU_ID.CMD_UNLOCK_CROSSCURSOR},Checked:bLocked});else item.SubMenu.push({Name:"锁十字光标",Data:{ID:JSCHART_MENU_ID.CMD_LOCK_CROSSCURSOR,Args:[{KItem:{Date:kItem.Date,Time:kItem.Time},Draw:true}]},Checked:bLocked});}}}return aryMenu;};this.PopupSelectRectMenuV2=function(data,e){var _this32=this;var aryMenu=[{Name:"区间统计",Data:{ID:JSCHART_MENU_ID.CMD_SELECTED_SUMMARY_ID,Args:[e,data.SelectData]}},{Name:"区间放大",Data:{ID:JSCHART_MENU_ID.CMD_SELECTED_ZOOM_ID,Args:[data.SelectData]}}];var menuData={Menu:aryMenu,Position:JSPopMenu.POSITION_ID.RIGHT_MENU_ID};menuData.ClickCallback=function(data){_this32.OnClickRightMenu(data);};var x=data.X,y=data.Y;this.PopupMenuByRClick(menuData,x,y);};//重新加载画图工具(切换股票|周期)
|
|
8700
8706
|
this.ReloadChartDrawPicture=function(){this.ChartDrawPicture=[];if(this.SelectChartDrawPicture)this.SelectChartDrawPicture.IsSelected=false;this.SelectChartDrawPicture=null;this.CurrentChartDrawPicture=null;if(this.ChartDrawStorage){this.ChartDrawStorageCache=this.ChartDrawStorage.GetDrawData({Symbol:this.Symbol,Period:this.Period});}var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_LOAD_DRAWPICTURE);if(event&&event.Callback){var sendData={Symbol:this.Symbol,Period:this.Period,DrawStorage:this.ChartDrawStorage,ChartDrawStorageCache:this.ChartDrawStorageCache};event.Callback(event,sendData,this);}};this.CreateChartDrawPictureByStorage=function()//把缓存(this.ChartDrawStorageCache) 画图工具创建出来
|
|
@@ -15744,7 +15750,7 @@ hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,St
|
|
|
15744
15750
|
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);};}/********************************************************************************
|
|
15745
15751
|
* 版本信息输出
|
|
15746
15752
|
*
|
|
15747
|
-
*/var HQCHART_VERSION="1.1.
|
|
15753
|
+
*/var HQCHART_VERSION="1.1.15328";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();//把给外界调用的方法暴露出来
|
|
15748
15754
|
exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
|
|
15749
15755
|
// BaseIndex:BaseIndex,
|
|
15750
15756
|
// ChartLine:ChartLine,
|
package/package.json
CHANGED
package/src/jscommon/umychart.js
CHANGED
|
@@ -9574,18 +9574,14 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
9574
9574
|
var startClientPos=this.PtInClient(selectData.XStart, selectData.YStart);
|
|
9575
9575
|
var endClientPos=this.PtInClient(selectData.XEnd, selectData.YEnd);
|
|
9576
9576
|
|
|
9577
|
-
var data=
|
|
9578
|
-
if (
|
|
9579
|
-
data=this.Frame.Data;
|
|
9580
|
-
else
|
|
9581
|
-
data=this.Frame.SubFrame[0].Frame.Data;
|
|
9582
|
-
|
|
9583
|
-
if (!data) return false;
|
|
9577
|
+
var data=this.GetKData();
|
|
9578
|
+
if (!data || !IFrameSplitOperator.IsNonEmptyArray(data.Data)) return false;
|
|
9584
9579
|
|
|
9585
9580
|
var start=this.GetDataIndexByPoint(selectData.XStart);
|
|
9586
9581
|
var end=this.GetDataIndexByPoint(selectData.XEnd);
|
|
9582
|
+
if (end<0 || start<0) return false;
|
|
9587
9583
|
|
|
9588
|
-
if (Math.abs(start-end)<2) return false;
|
|
9584
|
+
//if (Math.abs(start-end)<2) return false;
|
|
9589
9585
|
|
|
9590
9586
|
selectData.Data=data;
|
|
9591
9587
|
if (start>end)
|
|
@@ -15111,10 +15107,9 @@ function AverageWidthFrame()
|
|
|
15111
15107
|
}
|
|
15112
15108
|
}
|
|
15113
15109
|
|
|
15114
|
-
if (item.BG && this.DrawDayVertical)
|
|
15115
|
-
|
|
15116
|
-
|
|
15117
|
-
}
|
|
15110
|
+
if (item.BG && this.DrawDayVertical) this.DrawDayVertical(item, x, border);
|
|
15111
|
+
|
|
15112
|
+
if (item.VBG && this.DrawBGVertical) this.DrawBGVertical(item, x, border);
|
|
15118
15113
|
|
|
15119
15114
|
if (item.Message[0]!=null && this.ChartBorder.Bottom>5*pixelRatio)
|
|
15120
15115
|
{
|
|
@@ -17257,6 +17252,25 @@ function MinuteFrame()
|
|
|
17257
17252
|
}
|
|
17258
17253
|
}
|
|
17259
17254
|
|
|
17255
|
+
this.DrawBGVertical=function(dayItem, x, border)
|
|
17256
|
+
{
|
|
17257
|
+
if (!dayItem.VBG) return;
|
|
17258
|
+
|
|
17259
|
+
var bgItem=dayItem.VBG;
|
|
17260
|
+
var xStart=this.GetXFromIndex(bgItem.Index.Start);
|
|
17261
|
+
var xEnd=this.GetXFromIndex(bgItem.Index.End);
|
|
17262
|
+
var maxWidth=xEnd-xStart;
|
|
17263
|
+
|
|
17264
|
+
if (bgItem.Color)
|
|
17265
|
+
{
|
|
17266
|
+
this.Canvas.fillStyle=bgItem.Color;
|
|
17267
|
+
var rtBG={Left:xStart, Width:maxWidth, Top:border.TopEx, Bottom:border.Bottom };
|
|
17268
|
+
rtBG.Height=rtBG.Bottom-rtBG.Top;
|
|
17269
|
+
rtBG.Right=rtBG.Left+rtBG.Width;
|
|
17270
|
+
this.Canvas.fillRect(rtBG.Left, rtBG.Top, rtBG.Width, rtBG.Height);
|
|
17271
|
+
}
|
|
17272
|
+
}
|
|
17273
|
+
|
|
17260
17274
|
this.DrawDayVertical=function(dayItem, x, border)
|
|
17261
17275
|
{
|
|
17262
17276
|
if (!dayItem.BG) return;
|
|
@@ -27714,6 +27728,7 @@ function ChartKLine()
|
|
|
27714
27728
|
// 16=kagi
|
|
27715
27729
|
// 17=订单流样式4
|
|
27716
27730
|
// 18=订单流样式5
|
|
27731
|
+
// 19=HLC bars
|
|
27717
27732
|
|
|
27718
27733
|
this.CloseLineColor=g_JSChartResource.CloseLineColor;
|
|
27719
27734
|
this.CloseLineAreaColor=g_JSChartResource.CloseLineAreaColor;
|
|
@@ -27772,6 +27787,12 @@ function ChartKLine()
|
|
|
27772
27787
|
DownAreaColor:g_JSChartResource.HLCArea.DownAreaColor,
|
|
27773
27788
|
}
|
|
27774
27789
|
|
|
27790
|
+
this.HLCBarConfig=
|
|
27791
|
+
{
|
|
27792
|
+
Color:g_JSChartResource.HLCBar.Color,
|
|
27793
|
+
Width:g_JSChartResource.HLCBar.Width,
|
|
27794
|
+
}
|
|
27795
|
+
|
|
27775
27796
|
//虚线柱子 (非交易日)
|
|
27776
27797
|
this.VirtualBarConfig={ Color:g_JSChartResource.VirtualKLine.Color, LineDash:g_JSChartResource.VirtualKLine.LineDash };
|
|
27777
27798
|
|
|
@@ -28225,6 +28246,139 @@ function ChartKLine()
|
|
|
28225
28246
|
this.PtMin=ptMin;
|
|
28226
28247
|
}
|
|
28227
28248
|
|
|
28249
|
+
this.DrawHLCBars=function()
|
|
28250
|
+
{
|
|
28251
|
+
var isHScreen=(this.ChartFrame.IsHScreen===true);
|
|
28252
|
+
var dataWidth=this.ChartFrame.DataWidth;
|
|
28253
|
+
var distanceWidth=this.ChartFrame.DistanceWidth;
|
|
28254
|
+
var xPointCount=this.ChartFrame.XPointCount;
|
|
28255
|
+
|
|
28256
|
+
if (isHScreen)
|
|
28257
|
+
{
|
|
28258
|
+
var border=this.ChartBorder.GetHScreenBorder();
|
|
28259
|
+
var xOffset=border.TopEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;
|
|
28260
|
+
var chartright=border.BottomEx;
|
|
28261
|
+
}
|
|
28262
|
+
else
|
|
28263
|
+
{
|
|
28264
|
+
var border=this.ChartBorder.GetBorder();
|
|
28265
|
+
var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;
|
|
28266
|
+
var chartright=border.RightEx;
|
|
28267
|
+
}
|
|
28268
|
+
|
|
28269
|
+
var ptMax={X:null,Y:null,Value:null,Align:'left'};
|
|
28270
|
+
var ptMin={X:null,Y:null,Value:null,Align:'left'};
|
|
28271
|
+
this.ShowRange.Start=this.Data.DataOffset;
|
|
28272
|
+
this.ShowRange.End=this.ShowRange.Start;
|
|
28273
|
+
this.ShowRange.DataCount=0;
|
|
28274
|
+
this.ShowRange.ShowCount=xPointCount;
|
|
28275
|
+
this.DrawKRange.Start=this.Data.DataOffset;
|
|
28276
|
+
|
|
28277
|
+
var preKItemInfo=null;
|
|
28278
|
+
for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j,xOffset+=(dataWidth+distanceWidth),++this.ShowRange.DataCount)
|
|
28279
|
+
{
|
|
28280
|
+
var data=this.Data.Data[i];
|
|
28281
|
+
this.ShowRange.End=i;
|
|
28282
|
+
if (data.Open==null || data.High==null || data.Low==null || data.Close==null) continue;
|
|
28283
|
+
|
|
28284
|
+
var left=xOffset;
|
|
28285
|
+
var right=xOffset+dataWidth;
|
|
28286
|
+
if (right>chartright) break;
|
|
28287
|
+
var x=left+(right-left)/2;
|
|
28288
|
+
var yLow=this.GetYFromData(data.Low,false);
|
|
28289
|
+
var yHigh=this.GetYFromData(data.High,false);
|
|
28290
|
+
var yOpen=this.GetYFromData(data.Open,false);
|
|
28291
|
+
var yClose=this.GetYFromData(data.Close,false);
|
|
28292
|
+
this.DrawKRange.End=i;
|
|
28293
|
+
this.AddToDaySummary(data);
|
|
28294
|
+
|
|
28295
|
+
var kItemInfo={ Data:data, Coordinate:{ X:x, Low:yLow, High:yHigh, Close:yClose, Open:yOpen, Left:left, Right:right }};
|
|
28296
|
+
|
|
28297
|
+
if (ptMax.Value==null || ptMax.Value<data.High) //求最大值
|
|
28298
|
+
{
|
|
28299
|
+
ptMax.X=x;
|
|
28300
|
+
ptMax.Y=yHigh;
|
|
28301
|
+
ptMax.Value=data.High;
|
|
28302
|
+
ptMax.Align=j<xPointCount/2?'left':'right';
|
|
28303
|
+
}
|
|
28304
|
+
|
|
28305
|
+
if (ptMin.Value==null || ptMin.Value>data.Low) //求最小值
|
|
28306
|
+
{
|
|
28307
|
+
ptMin.X=x;
|
|
28308
|
+
ptMin.Y=yLow;
|
|
28309
|
+
ptMin.Value=data.Low;
|
|
28310
|
+
ptMin.Align=j<xPointCount/2?'left':'right';
|
|
28311
|
+
}
|
|
28312
|
+
|
|
28313
|
+
this.Canvas.strokeStyle=this.HLCBarConfig.Color;
|
|
28314
|
+
this.Canvas.beginPath(); //最高-最低
|
|
28315
|
+
if (isHScreen)
|
|
28316
|
+
{
|
|
28317
|
+
if (data.High==data.Low && dataWidth<4)
|
|
28318
|
+
{
|
|
28319
|
+
this.Canvas.moveTo(yHigh,ToFixedPoint(x));
|
|
28320
|
+
this.Canvas.lineTo(yLow-1,ToFixedPoint(x));
|
|
28321
|
+
}
|
|
28322
|
+
else
|
|
28323
|
+
{
|
|
28324
|
+
this.Canvas.moveTo(yHigh,ToFixedPoint(x));
|
|
28325
|
+
this.Canvas.lineTo(yLow,ToFixedPoint(x));
|
|
28326
|
+
}
|
|
28327
|
+
}
|
|
28328
|
+
else
|
|
28329
|
+
{
|
|
28330
|
+
if (data.High==data.Low && dataWidth<4)
|
|
28331
|
+
{
|
|
28332
|
+
this.Canvas.moveTo(ToFixedPoint(x),yHigh);
|
|
28333
|
+
this.Canvas.lineTo(ToFixedPoint(x),yLow+1);
|
|
28334
|
+
}
|
|
28335
|
+
else
|
|
28336
|
+
{
|
|
28337
|
+
this.Canvas.moveTo(ToFixedPoint(x),yHigh);
|
|
28338
|
+
this.Canvas.lineTo(ToFixedPoint(x),yLow);
|
|
28339
|
+
}
|
|
28340
|
+
}
|
|
28341
|
+
|
|
28342
|
+
this.Canvas.stroke();
|
|
28343
|
+
|
|
28344
|
+
if (dataWidth>=4)
|
|
28345
|
+
{
|
|
28346
|
+
this.Canvas.beginPath(); //收盘
|
|
28347
|
+
if (isHScreen)
|
|
28348
|
+
{
|
|
28349
|
+
this.Canvas.moveTo(ToFixedPoint(yClose),right);
|
|
28350
|
+
this.Canvas.lineTo(ToFixedPoint(yClose),x);
|
|
28351
|
+
}
|
|
28352
|
+
else
|
|
28353
|
+
{
|
|
28354
|
+
this.Canvas.moveTo(right,ToFixedPoint(yClose));
|
|
28355
|
+
this.Canvas.lineTo(x,ToFixedPoint(yClose));
|
|
28356
|
+
}
|
|
28357
|
+
this.Canvas.stroke();
|
|
28358
|
+
}
|
|
28359
|
+
|
|
28360
|
+
if(this.Data.DataType==0)
|
|
28361
|
+
{
|
|
28362
|
+
var infoItem={Xleft:left,XRight:right, YMax:yHigh, XCenter:x, YMin:yLow, DayData:data, Index:j};
|
|
28363
|
+
this.DrawInfo(infoItem);
|
|
28364
|
+
}
|
|
28365
|
+
|
|
28366
|
+
if (this.PriceGap.Enable && preKItemInfo)
|
|
28367
|
+
{
|
|
28368
|
+
this.CheckPriceGap(kItemInfo);
|
|
28369
|
+
|
|
28370
|
+
var value=this.IsPriceGap(kItemInfo,preKItemInfo);
|
|
28371
|
+
if (value>0)
|
|
28372
|
+
this.AryPriceGapCache.push({ Data:[preKItemInfo, kItemInfo], Type:value });
|
|
28373
|
+
}
|
|
28374
|
+
|
|
28375
|
+
preKItemInfo=kItemInfo;
|
|
28376
|
+
}
|
|
28377
|
+
|
|
28378
|
+
this.PtMax=ptMax;
|
|
28379
|
+
this.PtMin=ptMin;
|
|
28380
|
+
}
|
|
28381
|
+
|
|
28228
28382
|
this.DrawAKBar=function(data, dataWidth, isHScreen, coordinateInfo, colorInfo)
|
|
28229
28383
|
{
|
|
28230
28384
|
var barWidth=dataWidth/3;
|
|
@@ -30649,6 +30803,10 @@ function ChartKLine()
|
|
|
30649
30803
|
{
|
|
30650
30804
|
this.DrawOrderFlow_Style5();
|
|
30651
30805
|
}
|
|
30806
|
+
else if (this.DrawType==19)
|
|
30807
|
+
{
|
|
30808
|
+
this.DrawHLCBars();
|
|
30809
|
+
}
|
|
30652
30810
|
else
|
|
30653
30811
|
{
|
|
30654
30812
|
this.DrawKBar();
|
|
@@ -77898,6 +78056,12 @@ function JSChartResource()
|
|
|
77898
78056
|
DownAreaColor:"rgba(205,235,230, 0.5)",
|
|
77899
78057
|
};
|
|
77900
78058
|
|
|
78059
|
+
this.HLCBar=
|
|
78060
|
+
{
|
|
78061
|
+
Color:"rgb(41, 98, 255)",
|
|
78062
|
+
Width:1*GetDevicePixelRatio(),
|
|
78063
|
+
};
|
|
78064
|
+
|
|
77901
78065
|
this.Minute={};
|
|
77902
78066
|
this.Minute.VolBarColor=null; //分时图成交量柱子颜色 默认不用, 设置了柱子就不是红绿了
|
|
77903
78067
|
this.Minute.VolTitleColor="rgb(105,105,105)";
|
|
@@ -88615,6 +88779,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
88615
88779
|
{ Name:"Line Break", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID, Args:[12]}, Checked:klineType==12 },
|
|
88616
88780
|
{ Name:"High-low", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID, Args:[13]}, Checked:klineType==13 },
|
|
88617
88781
|
{ Name:"HLC Area", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID, Args:[15]}, Checked:klineType==15 },
|
|
88782
|
+
{ Name:"HLC Bars", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID, Args:[19]}, Checked:klineType==19 },
|
|
88618
88783
|
]
|
|
88619
88784
|
},
|
|
88620
88785
|
{
|
|
@@ -13670,18 +13670,14 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
13670
13670
|
var startClientPos=this.PtInClient(selectData.XStart, selectData.YStart);
|
|
13671
13671
|
var endClientPos=this.PtInClient(selectData.XEnd, selectData.YEnd);
|
|
13672
13672
|
|
|
13673
|
-
var data=
|
|
13674
|
-
if (
|
|
13675
|
-
data=this.Frame.Data;
|
|
13676
|
-
else
|
|
13677
|
-
data=this.Frame.SubFrame[0].Frame.Data;
|
|
13678
|
-
|
|
13679
|
-
if (!data) return false;
|
|
13673
|
+
var data=this.GetKData();
|
|
13674
|
+
if (!data || !IFrameSplitOperator.IsNonEmptyArray(data.Data)) return false;
|
|
13680
13675
|
|
|
13681
13676
|
var start=this.GetDataIndexByPoint(selectData.XStart);
|
|
13682
13677
|
var end=this.GetDataIndexByPoint(selectData.XEnd);
|
|
13678
|
+
if (end<0 || start<0) return false;
|
|
13683
13679
|
|
|
13684
|
-
if (Math.abs(start-end)<2) return false;
|
|
13680
|
+
//if (Math.abs(start-end)<2) return false;
|
|
13685
13681
|
|
|
13686
13682
|
selectData.Data=data;
|
|
13687
13683
|
if (start>end)
|
|
@@ -19207,10 +19203,9 @@ function AverageWidthFrame()
|
|
|
19207
19203
|
}
|
|
19208
19204
|
}
|
|
19209
19205
|
|
|
19210
|
-
if (item.BG && this.DrawDayVertical)
|
|
19211
|
-
|
|
19212
|
-
|
|
19213
|
-
}
|
|
19206
|
+
if (item.BG && this.DrawDayVertical) this.DrawDayVertical(item, x, border);
|
|
19207
|
+
|
|
19208
|
+
if (item.VBG && this.DrawBGVertical) this.DrawBGVertical(item, x, border);
|
|
19214
19209
|
|
|
19215
19210
|
if (item.Message[0]!=null && this.ChartBorder.Bottom>5*pixelRatio)
|
|
19216
19211
|
{
|
|
@@ -21353,6 +21348,25 @@ function MinuteFrame()
|
|
|
21353
21348
|
}
|
|
21354
21349
|
}
|
|
21355
21350
|
|
|
21351
|
+
this.DrawBGVertical=function(dayItem, x, border)
|
|
21352
|
+
{
|
|
21353
|
+
if (!dayItem.VBG) return;
|
|
21354
|
+
|
|
21355
|
+
var bgItem=dayItem.VBG;
|
|
21356
|
+
var xStart=this.GetXFromIndex(bgItem.Index.Start);
|
|
21357
|
+
var xEnd=this.GetXFromIndex(bgItem.Index.End);
|
|
21358
|
+
var maxWidth=xEnd-xStart;
|
|
21359
|
+
|
|
21360
|
+
if (bgItem.Color)
|
|
21361
|
+
{
|
|
21362
|
+
this.Canvas.fillStyle=bgItem.Color;
|
|
21363
|
+
var rtBG={Left:xStart, Width:maxWidth, Top:border.TopEx, Bottom:border.Bottom };
|
|
21364
|
+
rtBG.Height=rtBG.Bottom-rtBG.Top;
|
|
21365
|
+
rtBG.Right=rtBG.Left+rtBG.Width;
|
|
21366
|
+
this.Canvas.fillRect(rtBG.Left, rtBG.Top, rtBG.Width, rtBG.Height);
|
|
21367
|
+
}
|
|
21368
|
+
}
|
|
21369
|
+
|
|
21356
21370
|
this.DrawDayVertical=function(dayItem, x, border)
|
|
21357
21371
|
{
|
|
21358
21372
|
if (!dayItem.BG) return;
|
|
@@ -31810,6 +31824,7 @@ function ChartKLine()
|
|
|
31810
31824
|
// 16=kagi
|
|
31811
31825
|
// 17=订单流样式4
|
|
31812
31826
|
// 18=订单流样式5
|
|
31827
|
+
// 19=HLC bars
|
|
31813
31828
|
|
|
31814
31829
|
this.CloseLineColor=g_JSChartResource.CloseLineColor;
|
|
31815
31830
|
this.CloseLineAreaColor=g_JSChartResource.CloseLineAreaColor;
|
|
@@ -31868,6 +31883,12 @@ function ChartKLine()
|
|
|
31868
31883
|
DownAreaColor:g_JSChartResource.HLCArea.DownAreaColor,
|
|
31869
31884
|
}
|
|
31870
31885
|
|
|
31886
|
+
this.HLCBarConfig=
|
|
31887
|
+
{
|
|
31888
|
+
Color:g_JSChartResource.HLCBar.Color,
|
|
31889
|
+
Width:g_JSChartResource.HLCBar.Width,
|
|
31890
|
+
}
|
|
31891
|
+
|
|
31871
31892
|
//虚线柱子 (非交易日)
|
|
31872
31893
|
this.VirtualBarConfig={ Color:g_JSChartResource.VirtualKLine.Color, LineDash:g_JSChartResource.VirtualKLine.LineDash };
|
|
31873
31894
|
|
|
@@ -32321,6 +32342,139 @@ function ChartKLine()
|
|
|
32321
32342
|
this.PtMin=ptMin;
|
|
32322
32343
|
}
|
|
32323
32344
|
|
|
32345
|
+
this.DrawHLCBars=function()
|
|
32346
|
+
{
|
|
32347
|
+
var isHScreen=(this.ChartFrame.IsHScreen===true);
|
|
32348
|
+
var dataWidth=this.ChartFrame.DataWidth;
|
|
32349
|
+
var distanceWidth=this.ChartFrame.DistanceWidth;
|
|
32350
|
+
var xPointCount=this.ChartFrame.XPointCount;
|
|
32351
|
+
|
|
32352
|
+
if (isHScreen)
|
|
32353
|
+
{
|
|
32354
|
+
var border=this.ChartBorder.GetHScreenBorder();
|
|
32355
|
+
var xOffset=border.TopEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;
|
|
32356
|
+
var chartright=border.BottomEx;
|
|
32357
|
+
}
|
|
32358
|
+
else
|
|
32359
|
+
{
|
|
32360
|
+
var border=this.ChartBorder.GetBorder();
|
|
32361
|
+
var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;
|
|
32362
|
+
var chartright=border.RightEx;
|
|
32363
|
+
}
|
|
32364
|
+
|
|
32365
|
+
var ptMax={X:null,Y:null,Value:null,Align:'left'};
|
|
32366
|
+
var ptMin={X:null,Y:null,Value:null,Align:'left'};
|
|
32367
|
+
this.ShowRange.Start=this.Data.DataOffset;
|
|
32368
|
+
this.ShowRange.End=this.ShowRange.Start;
|
|
32369
|
+
this.ShowRange.DataCount=0;
|
|
32370
|
+
this.ShowRange.ShowCount=xPointCount;
|
|
32371
|
+
this.DrawKRange.Start=this.Data.DataOffset;
|
|
32372
|
+
|
|
32373
|
+
var preKItemInfo=null;
|
|
32374
|
+
for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j,xOffset+=(dataWidth+distanceWidth),++this.ShowRange.DataCount)
|
|
32375
|
+
{
|
|
32376
|
+
var data=this.Data.Data[i];
|
|
32377
|
+
this.ShowRange.End=i;
|
|
32378
|
+
if (data.Open==null || data.High==null || data.Low==null || data.Close==null) continue;
|
|
32379
|
+
|
|
32380
|
+
var left=xOffset;
|
|
32381
|
+
var right=xOffset+dataWidth;
|
|
32382
|
+
if (right>chartright) break;
|
|
32383
|
+
var x=left+(right-left)/2;
|
|
32384
|
+
var yLow=this.GetYFromData(data.Low,false);
|
|
32385
|
+
var yHigh=this.GetYFromData(data.High,false);
|
|
32386
|
+
var yOpen=this.GetYFromData(data.Open,false);
|
|
32387
|
+
var yClose=this.GetYFromData(data.Close,false);
|
|
32388
|
+
this.DrawKRange.End=i;
|
|
32389
|
+
this.AddToDaySummary(data);
|
|
32390
|
+
|
|
32391
|
+
var kItemInfo={ Data:data, Coordinate:{ X:x, Low:yLow, High:yHigh, Close:yClose, Open:yOpen, Left:left, Right:right }};
|
|
32392
|
+
|
|
32393
|
+
if (ptMax.Value==null || ptMax.Value<data.High) //求最大值
|
|
32394
|
+
{
|
|
32395
|
+
ptMax.X=x;
|
|
32396
|
+
ptMax.Y=yHigh;
|
|
32397
|
+
ptMax.Value=data.High;
|
|
32398
|
+
ptMax.Align=j<xPointCount/2?'left':'right';
|
|
32399
|
+
}
|
|
32400
|
+
|
|
32401
|
+
if (ptMin.Value==null || ptMin.Value>data.Low) //求最小值
|
|
32402
|
+
{
|
|
32403
|
+
ptMin.X=x;
|
|
32404
|
+
ptMin.Y=yLow;
|
|
32405
|
+
ptMin.Value=data.Low;
|
|
32406
|
+
ptMin.Align=j<xPointCount/2?'left':'right';
|
|
32407
|
+
}
|
|
32408
|
+
|
|
32409
|
+
this.Canvas.strokeStyle=this.HLCBarConfig.Color;
|
|
32410
|
+
this.Canvas.beginPath(); //最高-最低
|
|
32411
|
+
if (isHScreen)
|
|
32412
|
+
{
|
|
32413
|
+
if (data.High==data.Low && dataWidth<4)
|
|
32414
|
+
{
|
|
32415
|
+
this.Canvas.moveTo(yHigh,ToFixedPoint(x));
|
|
32416
|
+
this.Canvas.lineTo(yLow-1,ToFixedPoint(x));
|
|
32417
|
+
}
|
|
32418
|
+
else
|
|
32419
|
+
{
|
|
32420
|
+
this.Canvas.moveTo(yHigh,ToFixedPoint(x));
|
|
32421
|
+
this.Canvas.lineTo(yLow,ToFixedPoint(x));
|
|
32422
|
+
}
|
|
32423
|
+
}
|
|
32424
|
+
else
|
|
32425
|
+
{
|
|
32426
|
+
if (data.High==data.Low && dataWidth<4)
|
|
32427
|
+
{
|
|
32428
|
+
this.Canvas.moveTo(ToFixedPoint(x),yHigh);
|
|
32429
|
+
this.Canvas.lineTo(ToFixedPoint(x),yLow+1);
|
|
32430
|
+
}
|
|
32431
|
+
else
|
|
32432
|
+
{
|
|
32433
|
+
this.Canvas.moveTo(ToFixedPoint(x),yHigh);
|
|
32434
|
+
this.Canvas.lineTo(ToFixedPoint(x),yLow);
|
|
32435
|
+
}
|
|
32436
|
+
}
|
|
32437
|
+
|
|
32438
|
+
this.Canvas.stroke();
|
|
32439
|
+
|
|
32440
|
+
if (dataWidth>=4)
|
|
32441
|
+
{
|
|
32442
|
+
this.Canvas.beginPath(); //收盘
|
|
32443
|
+
if (isHScreen)
|
|
32444
|
+
{
|
|
32445
|
+
this.Canvas.moveTo(ToFixedPoint(yClose),right);
|
|
32446
|
+
this.Canvas.lineTo(ToFixedPoint(yClose),x);
|
|
32447
|
+
}
|
|
32448
|
+
else
|
|
32449
|
+
{
|
|
32450
|
+
this.Canvas.moveTo(right,ToFixedPoint(yClose));
|
|
32451
|
+
this.Canvas.lineTo(x,ToFixedPoint(yClose));
|
|
32452
|
+
}
|
|
32453
|
+
this.Canvas.stroke();
|
|
32454
|
+
}
|
|
32455
|
+
|
|
32456
|
+
if(this.Data.DataType==0)
|
|
32457
|
+
{
|
|
32458
|
+
var infoItem={Xleft:left,XRight:right, YMax:yHigh, XCenter:x, YMin:yLow, DayData:data, Index:j};
|
|
32459
|
+
this.DrawInfo(infoItem);
|
|
32460
|
+
}
|
|
32461
|
+
|
|
32462
|
+
if (this.PriceGap.Enable && preKItemInfo)
|
|
32463
|
+
{
|
|
32464
|
+
this.CheckPriceGap(kItemInfo);
|
|
32465
|
+
|
|
32466
|
+
var value=this.IsPriceGap(kItemInfo,preKItemInfo);
|
|
32467
|
+
if (value>0)
|
|
32468
|
+
this.AryPriceGapCache.push({ Data:[preKItemInfo, kItemInfo], Type:value });
|
|
32469
|
+
}
|
|
32470
|
+
|
|
32471
|
+
preKItemInfo=kItemInfo;
|
|
32472
|
+
}
|
|
32473
|
+
|
|
32474
|
+
this.PtMax=ptMax;
|
|
32475
|
+
this.PtMin=ptMin;
|
|
32476
|
+
}
|
|
32477
|
+
|
|
32324
32478
|
this.DrawAKBar=function(data, dataWidth, isHScreen, coordinateInfo, colorInfo)
|
|
32325
32479
|
{
|
|
32326
32480
|
var barWidth=dataWidth/3;
|
|
@@ -34745,6 +34899,10 @@ function ChartKLine()
|
|
|
34745
34899
|
{
|
|
34746
34900
|
this.DrawOrderFlow_Style5();
|
|
34747
34901
|
}
|
|
34902
|
+
else if (this.DrawType==19)
|
|
34903
|
+
{
|
|
34904
|
+
this.DrawHLCBars();
|
|
34905
|
+
}
|
|
34748
34906
|
else
|
|
34749
34907
|
{
|
|
34750
34908
|
this.DrawKBar();
|
|
@@ -81994,6 +82152,12 @@ function JSChartResource()
|
|
|
81994
82152
|
DownAreaColor:"rgba(205,235,230, 0.5)",
|
|
81995
82153
|
};
|
|
81996
82154
|
|
|
82155
|
+
this.HLCBar=
|
|
82156
|
+
{
|
|
82157
|
+
Color:"rgb(41, 98, 255)",
|
|
82158
|
+
Width:1*GetDevicePixelRatio(),
|
|
82159
|
+
};
|
|
82160
|
+
|
|
81997
82161
|
this.Minute={};
|
|
81998
82162
|
this.Minute.VolBarColor=null; //分时图成交量柱子颜色 默认不用, 设置了柱子就不是红绿了
|
|
81999
82163
|
this.Minute.VolTitleColor="rgb(105,105,105)";
|
|
@@ -92711,6 +92875,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
92711
92875
|
{ Name:"Line Break", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID, Args:[12]}, Checked:klineType==12 },
|
|
92712
92876
|
{ Name:"High-low", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID, Args:[13]}, Checked:klineType==13 },
|
|
92713
92877
|
{ Name:"HLC Area", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID, Args:[15]}, Checked:klineType==15 },
|
|
92878
|
+
{ Name:"HLC Bars", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID, Args:[19]}, Checked:klineType==19 },
|
|
92714
92879
|
]
|
|
92715
92880
|
},
|
|
92716
92881
|
{
|
|
@@ -155159,7 +155324,7 @@ function ScrollBarBGChart()
|
|
|
155159
155324
|
|
|
155160
155325
|
|
|
155161
155326
|
|
|
155162
|
-
var HQCHART_VERSION="1.1.
|
|
155327
|
+
var HQCHART_VERSION="1.1.15328";
|
|
155163
155328
|
|
|
155164
155329
|
function PrintHQChartVersion()
|
|
155165
155330
|
{
|
|
@@ -13714,18 +13714,14 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
13714
13714
|
var startClientPos=this.PtInClient(selectData.XStart, selectData.YStart);
|
|
13715
13715
|
var endClientPos=this.PtInClient(selectData.XEnd, selectData.YEnd);
|
|
13716
13716
|
|
|
13717
|
-
var data=
|
|
13718
|
-
if (
|
|
13719
|
-
data=this.Frame.Data;
|
|
13720
|
-
else
|
|
13721
|
-
data=this.Frame.SubFrame[0].Frame.Data;
|
|
13722
|
-
|
|
13723
|
-
if (!data) return false;
|
|
13717
|
+
var data=this.GetKData();
|
|
13718
|
+
if (!data || !IFrameSplitOperator.IsNonEmptyArray(data.Data)) return false;
|
|
13724
13719
|
|
|
13725
13720
|
var start=this.GetDataIndexByPoint(selectData.XStart);
|
|
13726
13721
|
var end=this.GetDataIndexByPoint(selectData.XEnd);
|
|
13722
|
+
if (end<0 || start<0) return false;
|
|
13727
13723
|
|
|
13728
|
-
if (Math.abs(start-end)<2) return false;
|
|
13724
|
+
//if (Math.abs(start-end)<2) return false;
|
|
13729
13725
|
|
|
13730
13726
|
selectData.Data=data;
|
|
13731
13727
|
if (start>end)
|
|
@@ -19251,10 +19247,9 @@ function AverageWidthFrame()
|
|
|
19251
19247
|
}
|
|
19252
19248
|
}
|
|
19253
19249
|
|
|
19254
|
-
if (item.BG && this.DrawDayVertical)
|
|
19255
|
-
|
|
19256
|
-
|
|
19257
|
-
}
|
|
19250
|
+
if (item.BG && this.DrawDayVertical) this.DrawDayVertical(item, x, border);
|
|
19251
|
+
|
|
19252
|
+
if (item.VBG && this.DrawBGVertical) this.DrawBGVertical(item, x, border);
|
|
19258
19253
|
|
|
19259
19254
|
if (item.Message[0]!=null && this.ChartBorder.Bottom>5*pixelRatio)
|
|
19260
19255
|
{
|
|
@@ -21397,6 +21392,25 @@ function MinuteFrame()
|
|
|
21397
21392
|
}
|
|
21398
21393
|
}
|
|
21399
21394
|
|
|
21395
|
+
this.DrawBGVertical=function(dayItem, x, border)
|
|
21396
|
+
{
|
|
21397
|
+
if (!dayItem.VBG) return;
|
|
21398
|
+
|
|
21399
|
+
var bgItem=dayItem.VBG;
|
|
21400
|
+
var xStart=this.GetXFromIndex(bgItem.Index.Start);
|
|
21401
|
+
var xEnd=this.GetXFromIndex(bgItem.Index.End);
|
|
21402
|
+
var maxWidth=xEnd-xStart;
|
|
21403
|
+
|
|
21404
|
+
if (bgItem.Color)
|
|
21405
|
+
{
|
|
21406
|
+
this.Canvas.fillStyle=bgItem.Color;
|
|
21407
|
+
var rtBG={Left:xStart, Width:maxWidth, Top:border.TopEx, Bottom:border.Bottom };
|
|
21408
|
+
rtBG.Height=rtBG.Bottom-rtBG.Top;
|
|
21409
|
+
rtBG.Right=rtBG.Left+rtBG.Width;
|
|
21410
|
+
this.Canvas.fillRect(rtBG.Left, rtBG.Top, rtBG.Width, rtBG.Height);
|
|
21411
|
+
}
|
|
21412
|
+
}
|
|
21413
|
+
|
|
21400
21414
|
this.DrawDayVertical=function(dayItem, x, border)
|
|
21401
21415
|
{
|
|
21402
21416
|
if (!dayItem.BG) return;
|
|
@@ -31854,6 +31868,7 @@ function ChartKLine()
|
|
|
31854
31868
|
// 16=kagi
|
|
31855
31869
|
// 17=订单流样式4
|
|
31856
31870
|
// 18=订单流样式5
|
|
31871
|
+
// 19=HLC bars
|
|
31857
31872
|
|
|
31858
31873
|
this.CloseLineColor=g_JSChartResource.CloseLineColor;
|
|
31859
31874
|
this.CloseLineAreaColor=g_JSChartResource.CloseLineAreaColor;
|
|
@@ -31912,6 +31927,12 @@ function ChartKLine()
|
|
|
31912
31927
|
DownAreaColor:g_JSChartResource.HLCArea.DownAreaColor,
|
|
31913
31928
|
}
|
|
31914
31929
|
|
|
31930
|
+
this.HLCBarConfig=
|
|
31931
|
+
{
|
|
31932
|
+
Color:g_JSChartResource.HLCBar.Color,
|
|
31933
|
+
Width:g_JSChartResource.HLCBar.Width,
|
|
31934
|
+
}
|
|
31935
|
+
|
|
31915
31936
|
//虚线柱子 (非交易日)
|
|
31916
31937
|
this.VirtualBarConfig={ Color:g_JSChartResource.VirtualKLine.Color, LineDash:g_JSChartResource.VirtualKLine.LineDash };
|
|
31917
31938
|
|
|
@@ -32365,6 +32386,139 @@ function ChartKLine()
|
|
|
32365
32386
|
this.PtMin=ptMin;
|
|
32366
32387
|
}
|
|
32367
32388
|
|
|
32389
|
+
this.DrawHLCBars=function()
|
|
32390
|
+
{
|
|
32391
|
+
var isHScreen=(this.ChartFrame.IsHScreen===true);
|
|
32392
|
+
var dataWidth=this.ChartFrame.DataWidth;
|
|
32393
|
+
var distanceWidth=this.ChartFrame.DistanceWidth;
|
|
32394
|
+
var xPointCount=this.ChartFrame.XPointCount;
|
|
32395
|
+
|
|
32396
|
+
if (isHScreen)
|
|
32397
|
+
{
|
|
32398
|
+
var border=this.ChartBorder.GetHScreenBorder();
|
|
32399
|
+
var xOffset=border.TopEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;
|
|
32400
|
+
var chartright=border.BottomEx;
|
|
32401
|
+
}
|
|
32402
|
+
else
|
|
32403
|
+
{
|
|
32404
|
+
var border=this.ChartBorder.GetBorder();
|
|
32405
|
+
var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;
|
|
32406
|
+
var chartright=border.RightEx;
|
|
32407
|
+
}
|
|
32408
|
+
|
|
32409
|
+
var ptMax={X:null,Y:null,Value:null,Align:'left'};
|
|
32410
|
+
var ptMin={X:null,Y:null,Value:null,Align:'left'};
|
|
32411
|
+
this.ShowRange.Start=this.Data.DataOffset;
|
|
32412
|
+
this.ShowRange.End=this.ShowRange.Start;
|
|
32413
|
+
this.ShowRange.DataCount=0;
|
|
32414
|
+
this.ShowRange.ShowCount=xPointCount;
|
|
32415
|
+
this.DrawKRange.Start=this.Data.DataOffset;
|
|
32416
|
+
|
|
32417
|
+
var preKItemInfo=null;
|
|
32418
|
+
for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j,xOffset+=(dataWidth+distanceWidth),++this.ShowRange.DataCount)
|
|
32419
|
+
{
|
|
32420
|
+
var data=this.Data.Data[i];
|
|
32421
|
+
this.ShowRange.End=i;
|
|
32422
|
+
if (data.Open==null || data.High==null || data.Low==null || data.Close==null) continue;
|
|
32423
|
+
|
|
32424
|
+
var left=xOffset;
|
|
32425
|
+
var right=xOffset+dataWidth;
|
|
32426
|
+
if (right>chartright) break;
|
|
32427
|
+
var x=left+(right-left)/2;
|
|
32428
|
+
var yLow=this.GetYFromData(data.Low,false);
|
|
32429
|
+
var yHigh=this.GetYFromData(data.High,false);
|
|
32430
|
+
var yOpen=this.GetYFromData(data.Open,false);
|
|
32431
|
+
var yClose=this.GetYFromData(data.Close,false);
|
|
32432
|
+
this.DrawKRange.End=i;
|
|
32433
|
+
this.AddToDaySummary(data);
|
|
32434
|
+
|
|
32435
|
+
var kItemInfo={ Data:data, Coordinate:{ X:x, Low:yLow, High:yHigh, Close:yClose, Open:yOpen, Left:left, Right:right }};
|
|
32436
|
+
|
|
32437
|
+
if (ptMax.Value==null || ptMax.Value<data.High) //求最大值
|
|
32438
|
+
{
|
|
32439
|
+
ptMax.X=x;
|
|
32440
|
+
ptMax.Y=yHigh;
|
|
32441
|
+
ptMax.Value=data.High;
|
|
32442
|
+
ptMax.Align=j<xPointCount/2?'left':'right';
|
|
32443
|
+
}
|
|
32444
|
+
|
|
32445
|
+
if (ptMin.Value==null || ptMin.Value>data.Low) //求最小值
|
|
32446
|
+
{
|
|
32447
|
+
ptMin.X=x;
|
|
32448
|
+
ptMin.Y=yLow;
|
|
32449
|
+
ptMin.Value=data.Low;
|
|
32450
|
+
ptMin.Align=j<xPointCount/2?'left':'right';
|
|
32451
|
+
}
|
|
32452
|
+
|
|
32453
|
+
this.Canvas.strokeStyle=this.HLCBarConfig.Color;
|
|
32454
|
+
this.Canvas.beginPath(); //最高-最低
|
|
32455
|
+
if (isHScreen)
|
|
32456
|
+
{
|
|
32457
|
+
if (data.High==data.Low && dataWidth<4)
|
|
32458
|
+
{
|
|
32459
|
+
this.Canvas.moveTo(yHigh,ToFixedPoint(x));
|
|
32460
|
+
this.Canvas.lineTo(yLow-1,ToFixedPoint(x));
|
|
32461
|
+
}
|
|
32462
|
+
else
|
|
32463
|
+
{
|
|
32464
|
+
this.Canvas.moveTo(yHigh,ToFixedPoint(x));
|
|
32465
|
+
this.Canvas.lineTo(yLow,ToFixedPoint(x));
|
|
32466
|
+
}
|
|
32467
|
+
}
|
|
32468
|
+
else
|
|
32469
|
+
{
|
|
32470
|
+
if (data.High==data.Low && dataWidth<4)
|
|
32471
|
+
{
|
|
32472
|
+
this.Canvas.moveTo(ToFixedPoint(x),yHigh);
|
|
32473
|
+
this.Canvas.lineTo(ToFixedPoint(x),yLow+1);
|
|
32474
|
+
}
|
|
32475
|
+
else
|
|
32476
|
+
{
|
|
32477
|
+
this.Canvas.moveTo(ToFixedPoint(x),yHigh);
|
|
32478
|
+
this.Canvas.lineTo(ToFixedPoint(x),yLow);
|
|
32479
|
+
}
|
|
32480
|
+
}
|
|
32481
|
+
|
|
32482
|
+
this.Canvas.stroke();
|
|
32483
|
+
|
|
32484
|
+
if (dataWidth>=4)
|
|
32485
|
+
{
|
|
32486
|
+
this.Canvas.beginPath(); //收盘
|
|
32487
|
+
if (isHScreen)
|
|
32488
|
+
{
|
|
32489
|
+
this.Canvas.moveTo(ToFixedPoint(yClose),right);
|
|
32490
|
+
this.Canvas.lineTo(ToFixedPoint(yClose),x);
|
|
32491
|
+
}
|
|
32492
|
+
else
|
|
32493
|
+
{
|
|
32494
|
+
this.Canvas.moveTo(right,ToFixedPoint(yClose));
|
|
32495
|
+
this.Canvas.lineTo(x,ToFixedPoint(yClose));
|
|
32496
|
+
}
|
|
32497
|
+
this.Canvas.stroke();
|
|
32498
|
+
}
|
|
32499
|
+
|
|
32500
|
+
if(this.Data.DataType==0)
|
|
32501
|
+
{
|
|
32502
|
+
var infoItem={Xleft:left,XRight:right, YMax:yHigh, XCenter:x, YMin:yLow, DayData:data, Index:j};
|
|
32503
|
+
this.DrawInfo(infoItem);
|
|
32504
|
+
}
|
|
32505
|
+
|
|
32506
|
+
if (this.PriceGap.Enable && preKItemInfo)
|
|
32507
|
+
{
|
|
32508
|
+
this.CheckPriceGap(kItemInfo);
|
|
32509
|
+
|
|
32510
|
+
var value=this.IsPriceGap(kItemInfo,preKItemInfo);
|
|
32511
|
+
if (value>0)
|
|
32512
|
+
this.AryPriceGapCache.push({ Data:[preKItemInfo, kItemInfo], Type:value });
|
|
32513
|
+
}
|
|
32514
|
+
|
|
32515
|
+
preKItemInfo=kItemInfo;
|
|
32516
|
+
}
|
|
32517
|
+
|
|
32518
|
+
this.PtMax=ptMax;
|
|
32519
|
+
this.PtMin=ptMin;
|
|
32520
|
+
}
|
|
32521
|
+
|
|
32368
32522
|
this.DrawAKBar=function(data, dataWidth, isHScreen, coordinateInfo, colorInfo)
|
|
32369
32523
|
{
|
|
32370
32524
|
var barWidth=dataWidth/3;
|
|
@@ -34789,6 +34943,10 @@ function ChartKLine()
|
|
|
34789
34943
|
{
|
|
34790
34944
|
this.DrawOrderFlow_Style5();
|
|
34791
34945
|
}
|
|
34946
|
+
else if (this.DrawType==19)
|
|
34947
|
+
{
|
|
34948
|
+
this.DrawHLCBars();
|
|
34949
|
+
}
|
|
34792
34950
|
else
|
|
34793
34951
|
{
|
|
34794
34952
|
this.DrawKBar();
|
|
@@ -82038,6 +82196,12 @@ function JSChartResource()
|
|
|
82038
82196
|
DownAreaColor:"rgba(205,235,230, 0.5)",
|
|
82039
82197
|
};
|
|
82040
82198
|
|
|
82199
|
+
this.HLCBar=
|
|
82200
|
+
{
|
|
82201
|
+
Color:"rgb(41, 98, 255)",
|
|
82202
|
+
Width:1*GetDevicePixelRatio(),
|
|
82203
|
+
};
|
|
82204
|
+
|
|
82041
82205
|
this.Minute={};
|
|
82042
82206
|
this.Minute.VolBarColor=null; //分时图成交量柱子颜色 默认不用, 设置了柱子就不是红绿了
|
|
82043
82207
|
this.Minute.VolTitleColor="rgb(105,105,105)";
|
|
@@ -92755,6 +92919,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
92755
92919
|
{ Name:"Line Break", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID, Args:[12]}, Checked:klineType==12 },
|
|
92756
92920
|
{ Name:"High-low", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID, Args:[13]}, Checked:klineType==13 },
|
|
92757
92921
|
{ Name:"HLC Area", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID, Args:[15]}, Checked:klineType==15 },
|
|
92922
|
+
{ Name:"HLC Bars", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID, Args:[19]}, Checked:klineType==19 },
|
|
92758
92923
|
]
|
|
92759
92924
|
},
|
|
92760
92925
|
{
|
|
@@ -167218,7 +167383,7 @@ function HQChartScriptWorker()
|
|
|
167218
167383
|
|
|
167219
167384
|
|
|
167220
167385
|
|
|
167221
|
-
var HQCHART_VERSION="1.1.
|
|
167386
|
+
var HQCHART_VERSION="1.1.15328";
|
|
167222
167387
|
|
|
167223
167388
|
function PrintHQChartVersion()
|
|
167224
167389
|
{
|