hqchart 1.1.15326 → 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;};// 保存图片
|
|
@@ -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)
|
|
@@ -27732,6 +27728,7 @@ function ChartKLine()
|
|
|
27732
27728
|
// 16=kagi
|
|
27733
27729
|
// 17=订单流样式4
|
|
27734
27730
|
// 18=订单流样式5
|
|
27731
|
+
// 19=HLC bars
|
|
27735
27732
|
|
|
27736
27733
|
this.CloseLineColor=g_JSChartResource.CloseLineColor;
|
|
27737
27734
|
this.CloseLineAreaColor=g_JSChartResource.CloseLineAreaColor;
|
|
@@ -27790,6 +27787,12 @@ function ChartKLine()
|
|
|
27790
27787
|
DownAreaColor:g_JSChartResource.HLCArea.DownAreaColor,
|
|
27791
27788
|
}
|
|
27792
27789
|
|
|
27790
|
+
this.HLCBarConfig=
|
|
27791
|
+
{
|
|
27792
|
+
Color:g_JSChartResource.HLCBar.Color,
|
|
27793
|
+
Width:g_JSChartResource.HLCBar.Width,
|
|
27794
|
+
}
|
|
27795
|
+
|
|
27793
27796
|
//虚线柱子 (非交易日)
|
|
27794
27797
|
this.VirtualBarConfig={ Color:g_JSChartResource.VirtualKLine.Color, LineDash:g_JSChartResource.VirtualKLine.LineDash };
|
|
27795
27798
|
|
|
@@ -28243,6 +28246,139 @@ function ChartKLine()
|
|
|
28243
28246
|
this.PtMin=ptMin;
|
|
28244
28247
|
}
|
|
28245
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
|
+
|
|
28246
28382
|
this.DrawAKBar=function(data, dataWidth, isHScreen, coordinateInfo, colorInfo)
|
|
28247
28383
|
{
|
|
28248
28384
|
var barWidth=dataWidth/3;
|
|
@@ -30667,6 +30803,10 @@ function ChartKLine()
|
|
|
30667
30803
|
{
|
|
30668
30804
|
this.DrawOrderFlow_Style5();
|
|
30669
30805
|
}
|
|
30806
|
+
else if (this.DrawType==19)
|
|
30807
|
+
{
|
|
30808
|
+
this.DrawHLCBars();
|
|
30809
|
+
}
|
|
30670
30810
|
else
|
|
30671
30811
|
{
|
|
30672
30812
|
this.DrawKBar();
|
|
@@ -77916,6 +78056,12 @@ function JSChartResource()
|
|
|
77916
78056
|
DownAreaColor:"rgba(205,235,230, 0.5)",
|
|
77917
78057
|
};
|
|
77918
78058
|
|
|
78059
|
+
this.HLCBar=
|
|
78060
|
+
{
|
|
78061
|
+
Color:"rgb(41, 98, 255)",
|
|
78062
|
+
Width:1*GetDevicePixelRatio(),
|
|
78063
|
+
};
|
|
78064
|
+
|
|
77919
78065
|
this.Minute={};
|
|
77920
78066
|
this.Minute.VolBarColor=null; //分时图成交量柱子颜色 默认不用, 设置了柱子就不是红绿了
|
|
77921
78067
|
this.Minute.VolTitleColor="rgb(105,105,105)";
|
|
@@ -88633,6 +88779,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
88633
88779
|
{ Name:"Line Break", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID, Args:[12]}, Checked:klineType==12 },
|
|
88634
88780
|
{ Name:"High-low", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID, Args:[13]}, Checked:klineType==13 },
|
|
88635
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 },
|
|
88636
88783
|
]
|
|
88637
88784
|
},
|
|
88638
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)
|
|
@@ -31828,6 +31824,7 @@ function ChartKLine()
|
|
|
31828
31824
|
// 16=kagi
|
|
31829
31825
|
// 17=订单流样式4
|
|
31830
31826
|
// 18=订单流样式5
|
|
31827
|
+
// 19=HLC bars
|
|
31831
31828
|
|
|
31832
31829
|
this.CloseLineColor=g_JSChartResource.CloseLineColor;
|
|
31833
31830
|
this.CloseLineAreaColor=g_JSChartResource.CloseLineAreaColor;
|
|
@@ -31886,6 +31883,12 @@ function ChartKLine()
|
|
|
31886
31883
|
DownAreaColor:g_JSChartResource.HLCArea.DownAreaColor,
|
|
31887
31884
|
}
|
|
31888
31885
|
|
|
31886
|
+
this.HLCBarConfig=
|
|
31887
|
+
{
|
|
31888
|
+
Color:g_JSChartResource.HLCBar.Color,
|
|
31889
|
+
Width:g_JSChartResource.HLCBar.Width,
|
|
31890
|
+
}
|
|
31891
|
+
|
|
31889
31892
|
//虚线柱子 (非交易日)
|
|
31890
31893
|
this.VirtualBarConfig={ Color:g_JSChartResource.VirtualKLine.Color, LineDash:g_JSChartResource.VirtualKLine.LineDash };
|
|
31891
31894
|
|
|
@@ -32339,6 +32342,139 @@ function ChartKLine()
|
|
|
32339
32342
|
this.PtMin=ptMin;
|
|
32340
32343
|
}
|
|
32341
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
|
+
|
|
32342
32478
|
this.DrawAKBar=function(data, dataWidth, isHScreen, coordinateInfo, colorInfo)
|
|
32343
32479
|
{
|
|
32344
32480
|
var barWidth=dataWidth/3;
|
|
@@ -34763,6 +34899,10 @@ function ChartKLine()
|
|
|
34763
34899
|
{
|
|
34764
34900
|
this.DrawOrderFlow_Style5();
|
|
34765
34901
|
}
|
|
34902
|
+
else if (this.DrawType==19)
|
|
34903
|
+
{
|
|
34904
|
+
this.DrawHLCBars();
|
|
34905
|
+
}
|
|
34766
34906
|
else
|
|
34767
34907
|
{
|
|
34768
34908
|
this.DrawKBar();
|
|
@@ -82012,6 +82152,12 @@ function JSChartResource()
|
|
|
82012
82152
|
DownAreaColor:"rgba(205,235,230, 0.5)",
|
|
82013
82153
|
};
|
|
82014
82154
|
|
|
82155
|
+
this.HLCBar=
|
|
82156
|
+
{
|
|
82157
|
+
Color:"rgb(41, 98, 255)",
|
|
82158
|
+
Width:1*GetDevicePixelRatio(),
|
|
82159
|
+
};
|
|
82160
|
+
|
|
82015
82161
|
this.Minute={};
|
|
82016
82162
|
this.Minute.VolBarColor=null; //分时图成交量柱子颜色 默认不用, 设置了柱子就不是红绿了
|
|
82017
82163
|
this.Minute.VolTitleColor="rgb(105,105,105)";
|
|
@@ -92729,6 +92875,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
92729
92875
|
{ Name:"Line Break", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID, Args:[12]}, Checked:klineType==12 },
|
|
92730
92876
|
{ Name:"High-low", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID, Args:[13]}, Checked:klineType==13 },
|
|
92731
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 },
|
|
92732
92879
|
]
|
|
92733
92880
|
},
|
|
92734
92881
|
{
|
|
@@ -155177,7 +155324,7 @@ function ScrollBarBGChart()
|
|
|
155177
155324
|
|
|
155178
155325
|
|
|
155179
155326
|
|
|
155180
|
-
var HQCHART_VERSION="1.1.
|
|
155327
|
+
var HQCHART_VERSION="1.1.15328";
|
|
155181
155328
|
|
|
155182
155329
|
function PrintHQChartVersion()
|
|
155183
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)
|
|
@@ -31872,6 +31868,7 @@ function ChartKLine()
|
|
|
31872
31868
|
// 16=kagi
|
|
31873
31869
|
// 17=订单流样式4
|
|
31874
31870
|
// 18=订单流样式5
|
|
31871
|
+
// 19=HLC bars
|
|
31875
31872
|
|
|
31876
31873
|
this.CloseLineColor=g_JSChartResource.CloseLineColor;
|
|
31877
31874
|
this.CloseLineAreaColor=g_JSChartResource.CloseLineAreaColor;
|
|
@@ -31930,6 +31927,12 @@ function ChartKLine()
|
|
|
31930
31927
|
DownAreaColor:g_JSChartResource.HLCArea.DownAreaColor,
|
|
31931
31928
|
}
|
|
31932
31929
|
|
|
31930
|
+
this.HLCBarConfig=
|
|
31931
|
+
{
|
|
31932
|
+
Color:g_JSChartResource.HLCBar.Color,
|
|
31933
|
+
Width:g_JSChartResource.HLCBar.Width,
|
|
31934
|
+
}
|
|
31935
|
+
|
|
31933
31936
|
//虚线柱子 (非交易日)
|
|
31934
31937
|
this.VirtualBarConfig={ Color:g_JSChartResource.VirtualKLine.Color, LineDash:g_JSChartResource.VirtualKLine.LineDash };
|
|
31935
31938
|
|
|
@@ -32383,6 +32386,139 @@ function ChartKLine()
|
|
|
32383
32386
|
this.PtMin=ptMin;
|
|
32384
32387
|
}
|
|
32385
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
|
+
|
|
32386
32522
|
this.DrawAKBar=function(data, dataWidth, isHScreen, coordinateInfo, colorInfo)
|
|
32387
32523
|
{
|
|
32388
32524
|
var barWidth=dataWidth/3;
|
|
@@ -34807,6 +34943,10 @@ function ChartKLine()
|
|
|
34807
34943
|
{
|
|
34808
34944
|
this.DrawOrderFlow_Style5();
|
|
34809
34945
|
}
|
|
34946
|
+
else if (this.DrawType==19)
|
|
34947
|
+
{
|
|
34948
|
+
this.DrawHLCBars();
|
|
34949
|
+
}
|
|
34810
34950
|
else
|
|
34811
34951
|
{
|
|
34812
34952
|
this.DrawKBar();
|
|
@@ -82056,6 +82196,12 @@ function JSChartResource()
|
|
|
82056
82196
|
DownAreaColor:"rgba(205,235,230, 0.5)",
|
|
82057
82197
|
};
|
|
82058
82198
|
|
|
82199
|
+
this.HLCBar=
|
|
82200
|
+
{
|
|
82201
|
+
Color:"rgb(41, 98, 255)",
|
|
82202
|
+
Width:1*GetDevicePixelRatio(),
|
|
82203
|
+
};
|
|
82204
|
+
|
|
82059
82205
|
this.Minute={};
|
|
82060
82206
|
this.Minute.VolBarColor=null; //分时图成交量柱子颜色 默认不用, 设置了柱子就不是红绿了
|
|
82061
82207
|
this.Minute.VolTitleColor="rgb(105,105,105)";
|
|
@@ -92773,6 +92919,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
92773
92919
|
{ Name:"Line Break", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID, Args:[12]}, Checked:klineType==12 },
|
|
92774
92920
|
{ Name:"High-low", Data:{ ID: JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID, Args:[13]}, Checked:klineType==13 },
|
|
92775
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 },
|
|
92776
92923
|
]
|
|
92777
92924
|
},
|
|
92778
92925
|
{
|
|
@@ -167236,7 +167383,7 @@ function HQChartScriptWorker()
|
|
|
167236
167383
|
|
|
167237
167384
|
|
|
167238
167385
|
|
|
167239
|
-
var HQCHART_VERSION="1.1.
|
|
167386
|
+
var HQCHART_VERSION="1.1.15328";
|
|
167240
167387
|
|
|
167241
167388
|
function PrintHQChartVersion()
|
|
167242
167389
|
{
|