hqchart 1.1.14441 → 1.1.14450
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
|
@@ -1595,6 +1595,9 @@ CMD_MODIFY_INDEX_PARAM:45,//指标删除修改 [windowIndex, ]
|
|
|
1595
1595
|
CMD_MODIFY_OVERLAY_INDEX_PARAM:46,//叠加指标修改 [windowIndex, ID ]
|
|
1596
1596
|
CMD_LOCK_CROSSCURSOR:47,//锁十字光标
|
|
1597
1597
|
CMD_UNLOCK_CROSSCURSOR:48,//解锁十字光标
|
|
1598
|
+
CMD_CORSS_ON_CLOSE_LINE_ID:49,//十字光标在价格线上(分时图)
|
|
1599
|
+
CMD_CORSS_ON_VAILD_TIME_ID:50,//超出当前时间的,X轴调整到当前最后的时间(分时图)
|
|
1600
|
+
CMD_CORSS_ON_KLINE_ID:51,//十字光标只能画在K线上
|
|
1598
1601
|
CMD_REPORT_CHANGE_BLOCK_ID:100,//报价列表 切换板块ID
|
|
1599
1602
|
CMD_REPORT_COLUMN_SORT_ID:101,//报价列表 表头排序 Arg[列序号, 排序方向]
|
|
1600
1603
|
CMD_REPORT_COLUMN_DEL_ID:102,//报价列表 删除列
|
|
@@ -2147,7 +2150,7 @@ this.Draw();break;case JSCHART_MENU_ID.CMD_ENABLE_OVERLAY_SHARE_Y_ID:if(!srcPara
|
|
|
2147
2150
|
this.UpdateFrameMaxMin();//调整坐标最大 最小值
|
|
2148
2151
|
this.Draw();break;case JSCHART_MENU_ID.CMD_CHANGE_DEFAULTCURSOR_ID:if(!IFrameSplitOperator.IsString(srcParam))return;this.DefaultCursor=srcParam;this.UIElement.style.cursor=this.DefaultCursor;break;case JSCHART_MENU_ID.CMD_ADD_OVERLAY_INDEX_ID://叠加指标 0=windowIndex, 1=indexinfo
|
|
2149
2152
|
if(param==null||!aryArgs[1])return false;var obj=aryArgs[1];obj.WindowIndex=param;this.AddOverlayIndex(obj);break;case JSCHART_MENU_ID.CMD_CHANGE_LANGUAGE_ID:if(srcParam)this.SetLanguage(srcParam);break;case JSCHART_MENU_ID.CMD_CHANGE_DRAG_RECT_SHOW_MODE_ID:if(param!=null){if(this.ChartDragSelectRect)this.ChartDragSelectRect.ShowMode=param;}break;case JSCHART_MENU_ID.CMD_SHOW_CORSS_LINE_ID:if(IFrameSplitOperator.IsBool(srcParam)){if(this.ChartCorssCursor)this.ChartCorssCursor.IsShowCorss=srcParam;}break;case JSCHART_MENU_ID.CMD_ENABLE_POP_MINUTE_CHART_ID://双击弹分时图
|
|
2150
|
-
if(IFrameSplitOperator.IsBool(srcParam)){if(srcParam){this.DestroyPopMinuteChart();this.InitalPopMinuteChart({PopMinuteChart:{Enable:true}});}else{this.DestroyPopMinuteChart();}}break;case JSCHART_MENU_ID.CMD_CHANGE_INFO_POSITION_ID:if(param==null)return false;var klineChart=this.ChartPaint[0];if(!klineChart)return false;klineChart.InfoPosition=param;this.Draw();break;case JSCHART_MENU_ID.CMD_DIALOG_TOOLTIP_ATTRIBUTE:if(!aryArgs[0])return false;var option=aryArgs[0];if(!IFrameSplitOperator.IsBool(option.Enable))return false;if(option.Enable===false){this.DestroyTooltipDialog();}else{this.DestroyTooltipDialog();this.InitalTooltipDialog(option);}break;case JSCHART_MENU_ID.CMD_KLINE_TOOLTIP_ATTRIBUTE:if(!aryArgs[0])return false;var option=aryArgs[0];if(IFrameSplitOperator.IsBool(option.Enable))this.KLineTooltipConfig.Enable=option.Enable;if(IFrameSplitOperator.IsBool(option.EnableKeyDown))this.KLineTooltipConfig.EnableKeyDown=option.EnableKeyDown;break;case JSCHART_MENU_ID.CMD_MODIFY_INDEX_PARAM:if(param==null)return false;var sendData={e:null,WindowIndex:param,Type:1};this.ShowModifyIndexParamDialog(sendData);break;case JSCHART_MENU_ID.CMD_MODIFY_OVERLAY_INDEX_PARAM:if(param==null)return false;if(!aryArgs[1])return false;var sendData={e:null,WindowIndex:param,Type:2,Identify:aryArgs[1]};this.ShowModifyIndexParamDialog(sendData);break;case JSCHART_MENU_ID.CMD_LOCK_CROSSCURSOR:if(srcParam)this.LockCorssCursor(srcParam);break;case JSCHART_MENU_ID.CMD_UNLOCK_CROSSCURSOR:if(this.IsLockCorssCursor())this.UnlockCorssCursor({Draw:true});break;}};this.GetShowIndexMenuData=function(windowIndex,showType){var script=this.WindowIndex[windowIndex];if(!script)return null;var data={Name:script.IsShow?"隐藏指标":"显示指标",Data:{ID:JSCHART_MENU_ID.CMD_SHOW_INDEX_ID,Args:[windowIndex,0]}};return data;};this.GetModifyIndexMenuData=function(windowIndex){var data={Name:"参数修改",Data:{ID:JSCHART_MENU_ID.CMD_MODIFY_INDEX_PARAM,Args:[windowIndex]}};return data;};this.GetShowOverlayIndexMenuData=function(indexGuid,showType){var overlay=this.GetOverlayIndexByIdentify(indexGuid);if(!overlay||!overlay.OverlayItem||!overlay.OverlayItem.Script)return null;var script=overlay.OverlayItem.Script;var data={Name:script.IsShow?"隐藏指标":"显示指标",Data:{ID:JSCHART_MENU_ID.CMD_SHOW_OVERLAY_INDEX_ID,Args:[indexGuid,0]}};return data;};this.GetModifyOverlayIndexMenuData=function(indexGuid){var overlay=this.GetOverlayIndexByIdentify(indexGuid);if(!overlay)return null;var data={Name:"参数修改",Data:{ID:JSCHART_MENU_ID.CMD_MODIFY_OVERLAY_INDEX_PARAM,Args:[overlay.WindowIndex,indexGuid]}};return data;};this.GetShowOverlayIndexYAxisMenuData=function(indexGuid,showType){var overlay=this.GetOverlayIndexByIdentify(indexGuid);if(!overlay||!overlay.OverlayItem||!overlay.OverlayItem.Script)return null;var frame=overlay.OverlayItem.Frame;var data={Name:frame.IsShow?"隐藏Y轴":"显示Y轴",Data:{ID:JSCHART_MENU_ID.CMD_SHOW_OVERLAY_Y_AXIS_ID,Args:[indexGuid,0]}};return data;};this.GetOverlayIndexShareYMenuData=function(indexGuid,showType){var overlay=this.GetOverlayIndexByIdentify(indexGuid);if(!overlay||!overlay.OverlayItem||!overlay.OverlayItem.Script)return null;var frame=overlay.OverlayItem.Frame;var data={Name:"公用窗口Y轴",Data:{ID:JSCHART_MENU_ID.CMD_ENABLE_OVERLAY_SHARE_Y_ID,Args:[indexGuid,0]},Checked:frame.IsShareY};return data;};//点击右键菜单
|
|
2153
|
+
if(IFrameSplitOperator.IsBool(srcParam)){if(srcParam){this.DestroyPopMinuteChart();this.InitalPopMinuteChart({PopMinuteChart:{Enable:true}});}else{this.DestroyPopMinuteChart();}}break;case JSCHART_MENU_ID.CMD_CHANGE_INFO_POSITION_ID:if(param==null)return false;var klineChart=this.ChartPaint[0];if(!klineChart)return false;klineChart.InfoPosition=param;this.Draw();break;case JSCHART_MENU_ID.CMD_DIALOG_TOOLTIP_ATTRIBUTE:if(!aryArgs[0])return false;var option=aryArgs[0];if(!IFrameSplitOperator.IsBool(option.Enable))return false;if(option.Enable===false){this.DestroyTooltipDialog();}else{this.DestroyTooltipDialog();this.InitalTooltipDialog(option);}break;case JSCHART_MENU_ID.CMD_KLINE_TOOLTIP_ATTRIBUTE:if(!aryArgs[0])return false;var option=aryArgs[0];if(IFrameSplitOperator.IsBool(option.Enable))this.KLineTooltipConfig.Enable=option.Enable;if(IFrameSplitOperator.IsBool(option.EnableKeyDown))this.KLineTooltipConfig.EnableKeyDown=option.EnableKeyDown;break;case JSCHART_MENU_ID.CMD_MODIFY_INDEX_PARAM:if(param==null)return false;var sendData={e:null,WindowIndex:param,Type:1};this.ShowModifyIndexParamDialog(sendData);break;case JSCHART_MENU_ID.CMD_MODIFY_OVERLAY_INDEX_PARAM:if(param==null)return false;if(!aryArgs[1])return false;var sendData={e:null,WindowIndex:param,Type:2,Identify:aryArgs[1]};this.ShowModifyIndexParamDialog(sendData);break;case JSCHART_MENU_ID.CMD_LOCK_CROSSCURSOR:if(srcParam)this.LockCorssCursor(srcParam);break;case JSCHART_MENU_ID.CMD_UNLOCK_CROSSCURSOR:if(this.IsLockCorssCursor())this.UnlockCorssCursor({Draw:true});break;case JSCHART_MENU_ID.CMD_CORSS_ON_CLOSE_LINE_ID:if(IFrameSplitOperator.IsBool(srcParam)&&this.ChartCorssCursor)this.ChartCorssCursor.IsOnlyDrawMinute=srcParam;break;case JSCHART_MENU_ID.CMD_CORSS_ON_VAILD_TIME_ID:if(IFrameSplitOperator.IsBool(srcParam)&&this.ChartCorssCursor)this.ChartCorssCursor.IsFixXLastTime=srcParam;break;case JSCHART_MENU_ID.CMD_CORSS_ON_KLINE_ID:if(IFrameSplitOperator.IsBool(srcParam)&&this.ChartCorssCursor){this.ChartCorssCursor.IsOnlyDrawKLine=srcParam;this.ChartCorssCursor.IsShowClose=srcParam;}break;}};this.GetShowIndexMenuData=function(windowIndex,showType){var script=this.WindowIndex[windowIndex];if(!script)return null;var data={Name:script.IsShow?"隐藏指标":"显示指标",Data:{ID:JSCHART_MENU_ID.CMD_SHOW_INDEX_ID,Args:[windowIndex,0]}};return data;};this.GetModifyIndexMenuData=function(windowIndex){var data={Name:"参数修改",Data:{ID:JSCHART_MENU_ID.CMD_MODIFY_INDEX_PARAM,Args:[windowIndex]}};return data;};this.GetShowOverlayIndexMenuData=function(indexGuid,showType){var overlay=this.GetOverlayIndexByIdentify(indexGuid);if(!overlay||!overlay.OverlayItem||!overlay.OverlayItem.Script)return null;var script=overlay.OverlayItem.Script;var data={Name:script.IsShow?"隐藏指标":"显示指标",Data:{ID:JSCHART_MENU_ID.CMD_SHOW_OVERLAY_INDEX_ID,Args:[indexGuid,0]}};return data;};this.GetModifyOverlayIndexMenuData=function(indexGuid){var overlay=this.GetOverlayIndexByIdentify(indexGuid);if(!overlay)return null;var data={Name:"参数修改",Data:{ID:JSCHART_MENU_ID.CMD_MODIFY_OVERLAY_INDEX_PARAM,Args:[overlay.WindowIndex,indexGuid]}};return data;};this.GetShowOverlayIndexYAxisMenuData=function(indexGuid,showType){var overlay=this.GetOverlayIndexByIdentify(indexGuid);if(!overlay||!overlay.OverlayItem||!overlay.OverlayItem.Script)return null;var frame=overlay.OverlayItem.Frame;var data={Name:frame.IsShow?"隐藏Y轴":"显示Y轴",Data:{ID:JSCHART_MENU_ID.CMD_SHOW_OVERLAY_Y_AXIS_ID,Args:[indexGuid,0]}};return data;};this.GetOverlayIndexShareYMenuData=function(indexGuid,showType){var overlay=this.GetOverlayIndexByIdentify(indexGuid);if(!overlay||!overlay.OverlayItem||!overlay.OverlayItem.Script)return null;var frame=overlay.OverlayItem.Frame;var data={Name:"公用窗口Y轴",Data:{ID:JSCHART_MENU_ID.CMD_ENABLE_OVERLAY_SHARE_Y_ID,Args:[indexGuid,0]},Checked:frame.IsShareY};return data;};//点击右键菜单
|
|
2151
2154
|
this.OnClickRightMenu=function(data){JSConsole.Chart.Log('[JSChartContainer::OnClickRightMenu] ',data);if(!data||!data.Data)return;var cmdID=data.Data.ID;//命令ID
|
|
2152
2155
|
var aryArgs=data.Data.Args;//参数
|
|
2153
2156
|
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_MENU_COMMAND);//回调通知外部
|
|
@@ -4367,16 +4370,21 @@ this.Price;this.Draw=function(){if(!this.IsShow||this.ChartFrame.IsMinSize)retur
|
|
|
4367
4370
|
function ChartMultiBar(){this.newMethod=IChartPainting;//派生
|
|
4368
4371
|
this.newMethod();delete this.newMethod;this.ClassName="ChartMultiBar";this.Bars=[];// [ {Point:[ {Date, Time, Value, Value2 }, ], Color:, Width: , Type: 0 实心 1 空心 }, ]
|
|
4369
4372
|
this.IsHScreen=false;this.MapCache=null;//key=date/date-time value={ Data:[] }
|
|
4370
|
-
this.GetKValue=ChartData.GetKValue;this.GetItem=function(kItem){if(!this.MapCache||this.MapCache.size<=0)return null;var key=this.BuildKey(kItem);if(!this.MapCache.has(key))return null;return this.MapCache.get(key);};this.BuildCacheData=function(){var mapData=new _map2.default();this.MapCache=mapData;if(!IFrameSplitOperator.IsNonEmptyArray(this.Bars))return;for(var i=0;i<this.Bars.length;++i){var groupItem=this.Bars[i];if(!groupItem||!IFrameSplitOperator.IsNonEmptyArray(groupItem.Point))continue;var clrConfig={Color:groupItem.Color,Width:
|
|
4373
|
+
this.GetKValue=ChartData.GetKValue;this.GetItem=function(kItem){if(!this.MapCache||this.MapCache.size<=0)return null;var key=this.BuildKey(kItem);if(!this.MapCache.has(key))return null;return this.MapCache.get(key);};this.BuildCacheData=function(){var mapData=new _map2.default();this.MapCache=mapData;if(!IFrameSplitOperator.IsNonEmptyArray(this.Bars))return;for(var i=0;i<this.Bars.length;++i){var groupItem=this.Bars[i];if(!groupItem||!IFrameSplitOperator.IsNonEmptyArray(groupItem.Point))continue;var clrConfig={Color:groupItem.Color,BGColor:null,Width:null,Name:groupItem.Name,Type:0};if(IFrameSplitOperator.IsNumber(groupItem.Width))clrConfig.Width=groupItem.Width;if(IFrameSplitOperator.IsNumber(groupItem.Type))clrConfig.Type=groupItem.Type;if(groupItem.BorderColor)clrConfig.BorderColor=groupItem.BorderColor;for(var j=0;j<groupItem.Point.length;++j){var point=groupItem.Point[j];var key=this.BuildKey(point);var item={Data:point,ColorConfig:clrConfig};if(mapData.has(key)){var mapItem=mapData.get(key);mapItem.Data.push(item);}else{mapData.set(key,{Data:[item]});}}}};this.Draw=function(){if(!this.IsShow||this.ChartFrame.IsMinSize||!this.IsVisible)return;if(this.IsShowIndexTitleOnly())return;if(this.IsHideScriptIndex())return;if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return;//k线数据
|
|
4371
4374
|
if(!IFrameSplitOperator.IsNonEmptyArray(this.Bars))return;if(!this.MapCache||this.MapCache.size<=0)return;this.IsHScreen=this.ChartFrame.IsHScreen===true;var xPointCount=this.ChartFrame.XPointCount;var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var isMinute=this.IsMinuteFrame();var border=this.GetBorder();if(this.IsHScreen){var xOffset=border.TopEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;var chartright=border.BottomEx;var chartLeft=border.TopEx;}else{var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;var chartright=border.RightEx;var chartLeft=border.LeftEx;}//计算所有柱子位置
|
|
4372
|
-
var mapBar=new _map2.default();for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j,xOffset+=dataWidth+distanceWidth){var kItem=this.Data.Data[i];var key=this.BuildKey(kItem);if(!this.MapCache.has(key))continue;var mapItem=this.MapCache.get(key);if(!IFrameSplitOperator.IsNonEmptyArray(mapItem.Data))continue;if(isMinute){var x=this.ChartFrame.GetXFromIndex(j);}else{var left=xOffset;var right=xOffset+dataWidth;if(right>chartright)break;var x=left+(right-left)/2;}this.CalculateItem(mapItem,kItem,x,mapBar);}if(mapBar.size<=0)return;this.Canvas.save();this.ClipClient(this.IsHScreen);this.DrawAllBar(mapBar);this.Canvas.restore();};this.CalculateItem=function(groupItem,kItem,x,mapBar){for(var i=0;i<groupItem.Data.length;++i){var item=groupItem.Data[i];var value=item.Data.Value;if(IFrameSplitOperator.IsString(item.Data.Value))value=this.GetKValue(kItem,item.Data.Value);if(!IFrameSplitOperator.IsNumber(value))continue;var value2=item.Data.Value2;if(IFrameSplitOperator.IsString(item.Data.Value2))value2=this.GetKValue(kItem,item.Data.Value2);if(!IFrameSplitOperator.IsNumber(value2))continue;var y=this.ChartFrame.GetYFromData(value,false);var y2=this.ChartFrame.GetYFromData(value2,false);var strConfig=(0,_stringify2.default)(item.ColorConfig);if(!mapBar.has(strConfig))mapBar.set(strConfig,{AryBar:[]});var mapItem=mapBar.get(strConfig);mapItem.AryBar.push({X:x,Y:y,Y2:y2,Data:item});}};this.DrawAllBar=function(mapBar){var pixelRatio=GetDevicePixelRatio();var _iteratorNormalCompletion7=true;var _didIteratorError7=false;var _iteratorError7=undefined;try{for(var _iterator7=(0,_getIterator3.default)(mapBar),_step7;!(_iteratorNormalCompletion7=(_step7=_iterator7.next()).done);_iteratorNormalCompletion7=true){var mapItem=_step7.value;var aryBar=mapItem[1].AryBar;if(!IFrameSplitOperator.IsNonEmptyArray(aryBar))continue;var config=null;var path=new Path2D();var count=0;var drawType=-1;//1=直线 2=实心 3=空心
|
|
4373
|
-
var barWidth=
|
|
4375
|
+
var mapBar=new _map2.default();for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j,xOffset+=dataWidth+distanceWidth){var kItem=this.Data.Data[i];var key=this.BuildKey(kItem);if(!this.MapCache.has(key))continue;var mapItem=this.MapCache.get(key);if(!IFrameSplitOperator.IsNonEmptyArray(mapItem.Data))continue;if(isMinute){var x=this.ChartFrame.GetXFromIndex(j);}else{var left=xOffset;var right=xOffset+dataWidth;if(right>chartright)break;var x=left+(right-left)/2;}this.CalculateItem(mapItem,kItem,x,mapBar);}if(mapBar.size<=0)return;this.Canvas.save();this.ClipClient(this.IsHScreen);this.DrawAllBar(mapBar);this.Canvas.restore();};this.CalculateItem=function(groupItem,kItem,x,mapBar){for(var i=0;i<groupItem.Data.length;++i){var item=groupItem.Data[i];var value=item.Data.Value;if(IFrameSplitOperator.IsString(item.Data.Value))value=this.GetKValue(kItem,item.Data.Value);if(!IFrameSplitOperator.IsNumber(value))continue;var value2=item.Data.Value2;if(IFrameSplitOperator.IsString(item.Data.Value2))value2=this.GetKValue(kItem,item.Data.Value2);if(!IFrameSplitOperator.IsNumber(value2))continue;var y=this.ChartFrame.GetYFromData(value,false);var y2=this.ChartFrame.GetYFromData(value2,false);var strConfig=(0,_stringify2.default)(item.ColorConfig);if(!mapBar.has(strConfig))mapBar.set(strConfig,{AryBar:[]});var mapItem=mapBar.get(strConfig);mapItem.AryBar.push({X:x,Y:y,Y2:y2,Data:item});}};this.DrawAllBar=function(mapBar){var pixelRatio=GetDevicePixelRatio();var dataWidth=this.ChartFrame.DataWidth;var _iteratorNormalCompletion7=true;var _didIteratorError7=false;var _iteratorError7=undefined;try{for(var _iterator7=(0,_getIterator3.default)(mapBar),_step7;!(_iteratorNormalCompletion7=(_step7=_iterator7.next()).done);_iteratorNormalCompletion7=true){var mapItem=_step7.value;var aryBar=mapItem[1].AryBar;if(!IFrameSplitOperator.IsNonEmptyArray(aryBar))continue;var config=null;var path=new Path2D();var pathBG=new Path2D();var count=0;var drawType=-1;//1=直线 2=实心 3=空心 4=边框+背景
|
|
4376
|
+
var barWidth=dataWidth;//默认K线宽度
|
|
4377
|
+
this.Canvas.beginPath();for(var i=0;i<aryBar.length;++i){var item=aryBar[i];if(!config){barWidth=dataWidth;//默认K线宽度
|
|
4378
|
+
config=item.Data.ColorConfig;if(IFrameSplitOperator.IsNumber(config.Width))barWidth=config.Width*pixelRatio;if(barWidth>4){if(config.Type==0)drawType=2;//实心
|
|
4374
4379
|
else if(config.Type==1)drawType=3;//空心
|
|
4380
|
+
else if(config.Type==2)drawType=4;//边框+背景
|
|
4375
4381
|
else continue;}else//太细了, 直线
|
|
4376
4382
|
{drawType=1;}}if(drawType<=0)continue;if(drawType==1){if(this.IsHScreen){this.Canvas.moveTo(ToFixedPoint(item.Y),ToFixedPoint(item.X));this.Canvas.lineTo(ToFixedPoint(item.Y2),ToFixedPoint(item.X));}else{this.Canvas.moveTo(ToFixedPoint(item.X),ToFixedPoint(item.Y));this.Canvas.lineTo(ToFixedPoint(item.X),ToFixedPoint(item.Y2));}++count;}else if(drawType==2)//实心
|
|
4377
4383
|
{var x=item.X-barWidth/2;var y=Math.min(item.Y,item.Y2);var barWidth=barWidth;var barHeight=Math.abs(item.Y-item.Y2);var barPath=new Path2D();if(this.IsHScreen)barPath.rect(ToFixedRect(y),ToFixedRect(x),ToFixedRect(barHeight),ToFixedRect(barWidth));else barPath.rect(ToFixedRect(x),ToFixedRect(y),ToFixedRect(barWidth),ToFixedRect(barHeight));path.addPath(barPath);++count;}else if(drawType==3)//空心
|
|
4378
|
-
{var x=item.X-barWidth/2;var y=Math.min(item.Y,item.Y2);var barWidth=barWidth;var barHeight=Math.abs(item.Y-item.Y2);var barPath=new Path2D();if(this.IsHScreen)barPath.rect(ToFixedPoint(y),ToFixedPoint(x),ToFixedPoint(barHeight),ToFixedPoint(barWidth));else barPath.rect(ToFixedPoint(x),ToFixedPoint(y),ToFixedPoint(barWidth),ToFixedPoint(barHeight));path.addPath(barPath);++count;}
|
|
4379
|
-
|
|
4384
|
+
{var x=item.X-barWidth/2;var y=Math.min(item.Y,item.Y2);var barWidth=barWidth;var barHeight=Math.abs(item.Y-item.Y2);var barPath=new Path2D();if(this.IsHScreen)barPath.rect(ToFixedPoint(y),ToFixedPoint(x),ToFixedPoint(barHeight),ToFixedPoint(barWidth));else barPath.rect(ToFixedPoint(x),ToFixedPoint(y),ToFixedPoint(barWidth),ToFixedPoint(barHeight));path.addPath(barPath);++count;}else if(drawType==4)//背景+边框
|
|
4385
|
+
{var x=item.X-barWidth/2;var y=Math.min(item.Y,item.Y2);var barWidth=barWidth;var barHeight=Math.abs(item.Y-item.Y2);var barPath=new Path2D();if(this.IsHScreen)barPath.rect(ToFixedRect(y),ToFixedRect(x),ToFixedRect(barHeight),ToFixedRect(barWidth));else barPath.rect(ToFixedRect(x),ToFixedRect(y),ToFixedRect(barWidth),ToFixedRect(barHeight));pathBG.addPath(barPath);var barPath=new Path2D();if(this.IsHScreen)barPath.rect(ToFixedPoint(y),ToFixedPoint(x),ToFixedPoint(barHeight),ToFixedPoint(barWidth));else barPath.rect(ToFixedPoint(x),ToFixedPoint(y),ToFixedPoint(barWidth),ToFixedPoint(barHeight));path.addPath(barPath);++count;}}if(count>0&&drawType>0&&config){if(drawType==1){this.Canvas.lineWidth=1*pixelRatio;this.Canvas.strokeStyle=config.Color;this.Canvas.stroke();}else if(drawType==2){this.Canvas.fillStyle=config.Color;//背景填充颜色
|
|
4386
|
+
this.Canvas.fill(path);}else if(drawType==3){this.Canvas.lineWidth=1*pixelRatio;this.Canvas.strokeStyle=config.Color;this.Canvas.stroke(path);}else if(drawType==4){if(config.Color){this.Canvas.fillStyle=config.Color;//背景填充颜色
|
|
4387
|
+
this.Canvas.fill(path);}if(config.BorderColor){this.Canvas.lineWidth=1*pixelRatio;this.Canvas.strokeStyle=config.BorderColor;this.Canvas.stroke(path);}}}}}catch(err){_didIteratorError7=true;_iteratorError7=err;}finally{try{if(!_iteratorNormalCompletion7&&_iterator7.return){_iterator7.return();}}finally{if(_didIteratorError7){throw _iteratorError7;}}}};this.GetMaxMin=function(){var range={Min:null,Max:null};if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return range;if(!this.MapCache||this.MapCache.size<=0)return range;var xPointCount=this.ChartFrame.XPointCount;for(var i=this.Data.DataOffset,j=0,k=0;i<this.Data.Data.length&&j<xPointCount;++i,++j){var kItem=this.Data.Data[i];var key=this.BuildKey(kItem);if(!this.MapCache.has(key))continue;var mapItem=this.MapCache.get(key);if(!IFrameSplitOperator.IsNonEmptyArray(mapItem.Data))continue;for(k=0;k<mapItem.Data.length;++k){var item=mapItem.Data[k];var value=item.Data.Value;if(IFrameSplitOperator.IsString(item.Data.Value))value=this.GetKValue(kItem,item.Data.Value);if(!IFrameSplitOperator.IsNumber(value))continue;var value2=item.Data.Value2;if(IFrameSplitOperator.IsString(item.Data.Value2))value2=this.GetKValue(kItem,item.Data.Value2);if(!IFrameSplitOperator.IsNumber(value2))continue;var minValue=Math.min(value,value2);var maxValue=Math.max(value,value2);if(range.Max==null)range.Max=maxValue;else if(range.Max<maxValue)range.Max=maxValue;if(range.Min==null)range.Min=minValue;else if(range.Min>minValue)range.Min=minValue;}}return range;};}// 线段集合 支持横屏
|
|
4380
4388
|
function ChartMultiLine(){this.newMethod=IChartPainting;//派生
|
|
4381
4389
|
this.newMethod();delete this.newMethod;this.ClassName="ChartMultiLine";this.Lines=[];// [ {Point:[ {Index, Value }, ], Color: }, ]
|
|
4382
4390
|
this.LineDash;this.LineWidth=1;this.IsHScreen=false;//箭头配置
|
|
@@ -7878,9 +7886,9 @@ for(var i=0;i<this.ChartInfo.length;++i){var item=this.ChartInfo[i];if(item&&ite
|
|
|
7878
7886
|
for(var i=0;i<this.OverlayChartPaint.length;++i){var item=this.OverlayChartPaint[i];if(item&&item.Symbol)aryOverlaySymbol.push(item.Symbol);}var bBGSpit=false,bShowStockChip=false;if(this.GetExtendChartByClassName("SessionBreaksPaint"))bBGSpit=true;if(this.GetStockChipChart())bShowStockChip=true;//筹码
|
|
7879
7887
|
var stockChipConfig={Name:'StockChip',ShowType:1,Width:230};//var stockChipConfig={Name:'StockChipPhone', Width:150 }; //手机版筹码
|
|
7880
7888
|
var bShowCorss=false;//十字光标十字线
|
|
7881
|
-
if(this.ChartCorssCursor)bShowCorss=this.ChartCorssCursor.IsShowCorss;var bPopMinuteChart=false;if(this.PopMinuteChart)bPopMinuteChart=true;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];}}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_CHANGE_DRAG_MODE_ID,Args:[0]},Checked:0==this.DragMode},{Name:"启动拖拽",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DRAG_MODE_ID,Args:[1]},Checked:1==this.DragMode},{Name:"左键区间选择",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DRAG_MODE_ID,Args:[2]},Checked:2==this.DragMode},{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_SHOW_CORSS_LINE_ID,Args:[!bShowCorss]},Checked:bShowCorss},{Name:"双击弹分时图",Data:{ID:JSCHART_MENU_ID.CMD_ENABLE_POP_MINUTE_CHART_ID,Args:[!bPopMinuteChart]},Checked:bPopMinuteChart},{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:"样式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}]}]}];//复权
|
|
7889
|
+
var bCorssDrawKLine=false;var bCorssDrawVaildTime=false;if(this.ChartCorssCursor){bShowCorss=this.ChartCorssCursor.IsShowCorss;bCorssDrawKLine=this.ChartCorssCursor.IsOnlyDrawKLine&&this.ChartCorssCursor.IsShowClose;bCorssDrawVaildTime=this.ChartCorssCursor.IsFixXLastTime;}var bPopMinuteChart=false;if(this.PopMinuteChart)bPopMinuteChart=true;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];}}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:"其他设置",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]},Checked:1==this.DragMode},{Name:"左键区间选择",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DRAG_MODE_ID,Args:[2]},Checked:2==this.DragMode},{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: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:"样式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}]}]}];//复权
|
|
7882
7890
|
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);}//删除菜单
|
|
7883
|
-
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=="
|
|
7891
|
+
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 _this25=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){_this25.OnClickRightMenu(data);};var x=data.X,y=data.Y;this.PopupMenuByRClick(menuData,x,y);};//重新加载画图工具(切换股票|周期)
|
|
7884
7892
|
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) 画图工具创建出来
|
|
7885
7893
|
{if(!IFrameSplitOperator.IsNonEmptyArray(this.ChartDrawStorageCache))return;for(var i=0;i<this.ChartDrawStorageCache.length;++i){var item=this.ChartDrawStorageCache[i];if(item.FrameID<0||!this.Frame.SubFrame||this.Frame.SubFrame.length<item.FrameID)continue;var drawPicture=IChartDrawPicture.CreateChartDrawPicture(item);if(!drawPicture)continue;drawPicture.Canvas=this.Canvas;drawPicture.Status=10;drawPicture.Frame=this.Frame.SubFrame[item.FrameID].Frame;//绑定框架坐标
|
|
7886
7894
|
drawPicture.Option=this.ChartDrawOption;if(drawPicture.ImportStorageData)drawPicture.ImportStorageData(item);drawPicture.UpdateXValue();drawPicture.ValueToPoint();var self=this;drawPicture.GetActiveDrawPicture=function(){return self.GetActiveDrawPicture();};if(drawPicture.ClassName==='ChartDrawPictureText')drawPicture.IsInitialized=true;this.ChartDrawPicture.push(drawPicture);}this.ChartDrawStorageCache=null;//清空缓存
|
|
@@ -8271,8 +8279,9 @@ var frameId=this.Frame.PtInFrame(x*pixelTatio,y*pixelTatio);this.PopupRightMenuV
|
|
|
8271
8279
|
this.GetRightMenuData=function(frameID,option){var windowCount=this.Frame.SubFrame.length;//窗口个数
|
|
8272
8280
|
var aryOverlaySymbol=[];//叠加的股票列表
|
|
8273
8281
|
for(var i=0;i<this.OverlayChartPaint.length;++i){var item=this.OverlayChartPaint[i];if(item&&item.Symbol)aryOverlaySymbol.push(item.Symbol);}var bShowCorss=false;//十字光标十字线
|
|
8274
|
-
|
|
8275
|
-
{
|
|
8282
|
+
var bCorssDrawCloseLine=false;//十字光标只能画在走势图价格线上
|
|
8283
|
+
var bCorssDrawVaildTime=false;if(this.ChartCorssCursor){bShowCorss=this.ChartCorssCursor.IsShowCorss;bCorssDrawCloseLine=this.ChartCorssCursor.IsOnlyDrawMinute;bCorssDrawVaildTime=this.ChartCorssCursor.IsFixXLastTime;}var minItem=null;if(frameID>=0&&option&&IFrameSplitOperator.IsNumber(option.CursorIndex)){var kData=this.GetKData();if(kData&&IFrameSplitOperator.IsNonEmptyArray(kData.Data)){var dataIndex=kData.DataOffset+parseInt(option.CursorIndex.toFixed(0));if(dataIndex>=0&&dataIndex<kData.Data.length)minItem=kData.Data[dataIndex];}}var aryMenu=[{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:"当日分时图",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DAY_COUNT_ID,Args:[1]},Checked:this.DayCount==1},{Name:"最近2日",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DAY_COUNT_ID,Args:[2]},Checked:this.DayCount==2},{Name:"最近3日",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DAY_COUNT_ID,Args:[3]},Checked:this.DayCount==3},{Name:"最近4日",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DAY_COUNT_ID,Args:[4]},Checked:this.DayCount==4},{Name:"最近5日",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DAY_COUNT_ID,Args:[5]},Checked:this.DayCount==5},{Name:"基准线选择",SubMenu:[{Name:"最新昨收价",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_BASELINE_ID,Args:[0]},Checked:this.BaselineType===0},{Name:"多日前昨收价",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_BASELINE_ID,Args:[1]},Checked:this.BaselineType===1}]}]},{Name:"指标窗口个数",SubMenu:[{Name:"1个窗口",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_WINDOW_COUNT_ID,Args:[2]},Checked:3==windowCount},{Name:"2个窗口",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_WINDOW_COUNT_ID,Args:[3]},Checked:4==windowCount},{Name:"3个窗口",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_WINDOW_COUNT_ID,Args:[4]},Checked:5==windowCount},{Name:"4个窗口",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_WINDOW_COUNT_ID,Args:[5]},Checked:6==windowCount},{Name:"5个窗口",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_WINDOW_COUNT_ID,Args:[6]},Checked:7==windowCount}]},{Name:"指标切换",SubMenu:[{Name:"MACD",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"MACD"]}},{Name:"DMI",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"DMI"]}},{Name:"DMA",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"DMA"]}},{Name:"BRAR",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"BRAR"]}},{Name:"KDJ",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"KDJ"]}},{Name:"RSI",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"RSI"]}},{Name:"WR",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"WR"]}},{Name:"CCI",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"CCI"]}},{Name:"TRIX",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"TRIX"]}}]},{Name:"区间选择",Data:{ID:JSCHART_MENU_ID.CMD_ENABLE_SELECT_RECT_ID,Args:[!this.EnableSelectRect]},Checked:this.EnableSelectRect},{Name:"十字光标",SubMenu:[{Name:"显示",Data:{ID:JSCHART_MENU_ID.CMD_SHOW_CORSS_LINE_ID,Args:[!bShowCorss]},Checked:bShowCorss},{Name:"画在价格线上",Data:{ID:JSCHART_MENU_ID.CMD_CORSS_ON_CLOSE_LINE_ID,Args:[!bCorssDrawCloseLine]},Checked:bCorssDrawCloseLine},{Name:"画在有效X轴上",Data:{ID:JSCHART_MENU_ID.CMD_CORSS_ON_VAILD_TIME_ID,Args:[!bCorssDrawVaildTime]},Checked:bCorssDrawVaildTime}]},{Name:"其他设置",SubMenu:[{Name:"画图工具",Data:{ID:JSCHART_MENU_ID.CMD_SHOW_DRAWTOOL_ID,Args:[]},Checked:this.IsShowDrawToolDialog()},{Name:JSPopMenu.SEPARATOR_LINE_NAME},{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:"样式2",Data:{ID:JSCHART_MENU_ID.CMD_DIALOG_TOOLTIP_ATTRIBUTE,Args:[{Enable:true,Style:1}]},Checked:this.DialogTooltip&&this.DialogTooltip.Style===1}]}]}];if(MARKET_SUFFIX_NAME.IsSHSZStockA(this.Symbol)){var item={Name:"集合竞价",Data:{ID:JSCHART_MENU_ID.CMD_SHOW_BEFORE_DATA_ID,Args:[!this.IsShowBeforeData]},Checked:this.IsShowBeforeData};aryMenu.splice(4,0,item);}for(var i=0;i<aryMenu.length;++i){var item=aryMenu[i];if(item.Name=="叠加品种")//删除菜单
|
|
8284
|
+
{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=="十字光标"){if(minItem){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:minItem.Date,Time:minItem.Time},Draw:true}]},Checked:bLocked});}}}return aryMenu;};this.OnWheel=function(e){JSConsole.Chart.Log('[MinuteChartContainer::OnWheel]',e);};this.OnDoubleClick=function(x,y,e){JSConsole.Chart.Log("[MinuteChartContainer::OnDoubleClick]",e);if(this.EnableYDrag&&(this.EnableYDrag.Left||this.EnableYDrag.Right)&&this.Frame&&this.Frame.PtInFrameY){var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;var dragY=this.Frame.PtInFrameY(x,y);if(dragY&&dragY.Index>=0){this.CancelZoomUpDownFrameY(dragY);}}if(this.ClickChartTimer!=null){clearTimeout(this.ClickChartTimer);this.ClickChartTimer=null;}var selectedChart;//图形选中
|
|
8276
8285
|
if(this.SelectedChart.EnableSelected){selectedChart=this.PtInChart(x,y);}var dbClickInfo={SelectedChart:selectedChart};this.DBClickEvent(dbClickInfo,e);//没有图形选中,双击缩放窗口
|
|
8277
8286
|
if(!selectedChart&&this.EnableZoomIndexWindow){var frameId=this.Frame.PtInFrame(x,y);JSConsole.Chart.Log("[MinuteChartContainer::OnDoubleClick] frameId",frameId);if(frameId>=this.Frame.ZoomStartWindowIndex){if(this.ZoomIndexWindow(frameId,{X:x,Y:y})){this.Frame.SetSizeChage(true);this.Draw();}}}};this.GetDataItem=function(pointInfo){if(!pointInfo)return null;if(!IFrameSplitOperator.IsNumber(pointInfo.Index))return null;if(!this.SourceData||!this.SourceData.Data)return null;var data=this.SourceData;var clientPos=pointInfo.ClientPos;if(clientPos==2||clientPos==3||clientPos>=200&&clientPos<=299||clientPos>=300&&clientPos<=399){if(!this.ChartCorssCursor||!this.ChartCorssCursor.CallAcutionXOperator)return null;var isHScreen=this.Frame.IsHScreen===true;var callAcutionXOper=this.ChartCorssCursor.CallAcutionXOperator;callAcutionXOper.Value=isHScreen?pointInfo.Point.Y:pointInfo.Point.X;callAcutionXOper.Point={X:pointInfo.Point.X,Y:pointInfo.Point.Y};callAcutionXOper.ClientPos=clientPos;if(clientPos==2){if(!this.BeforeOpenData)return null;}else if(clientPos==3){if(!this.AfterCloseData)return null;}else if(clientPos>=200&&clientPos<=299){if(!this.MultiDayBeforeOpenData||!IFrameSplitOperator.IsNonEmptyArray(this.MultiDayBeforeOpenData))return;}else if(clientPos>=300&&tclientPos<=399){if(!this.MultiDayAfterCloseData||!IFrameSplitOperator.IsNonEmptyArray(this.MultiDayAfterCloseData))return;}if(callAcutionXOper.Operator()){var item=callAcutionXOper.Item;return{Type:clientPos,Item:item,Index:callAcutionXOper.DataIndex};}return null;}var index=parseInt(pointInfo.Index.toFixed(0));var dataIndex=index+data.DataOffset;if(dataIndex>=data.Data.length)return null;var item=data.Data[dataIndex];return{Type:clientPos,Item:item,Index:dataIndex};};this.UpdatePointByCursorIndex=function(){this.LastPoint.X=this.Frame.GetXFromIndex(this.CursorIndex);var index=this.CursorIndex;index=parseInt(index.toFixed(0));var data=this.Frame.SourceData;if(data.DataOffset+index>=data.Data.length){return;}var item=data.Data[data.DataOffset+index];var close=null;if(item.Before)close=item.Before.Close;else close=item.Close;this.LastPoint.Y=this.Frame.GetYFromData(close);};//创建
|
|
8278
8287
|
//windowCount 窗口个数
|
|
@@ -14330,7 +14339,7 @@ hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,St
|
|
|
14330
14339
|
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);};}/********************************************************************************
|
|
14331
14340
|
* 版本信息输出
|
|
14332
14341
|
*
|
|
14333
|
-
*/var HQCHART_VERSION="1.1.
|
|
14342
|
+
*/var HQCHART_VERSION="1.1.14449";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();//把给外界调用的方法暴露出来
|
|
14334
14343
|
exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
|
|
14335
14344
|
// BaseIndex:BaseIndex,
|
|
14336
14345
|
// ChartLine:ChartLine,
|
package/package.json
CHANGED
package/src/jscommon/umychart.js
CHANGED
|
@@ -2870,7 +2870,12 @@ var JSCHART_MENU_ID=
|
|
|
2870
2870
|
CMD_MODIFY_OVERLAY_INDEX_PARAM:46, //叠加指标修改 [windowIndex, ID ]
|
|
2871
2871
|
|
|
2872
2872
|
CMD_LOCK_CROSSCURSOR:47, //锁十字光标
|
|
2873
|
-
CMD_UNLOCK_CROSSCURSOR:48,
|
|
2873
|
+
CMD_UNLOCK_CROSSCURSOR:48, //解锁十字光标
|
|
2874
|
+
|
|
2875
|
+
CMD_CORSS_ON_CLOSE_LINE_ID:49, //十字光标在价格线上(分时图)
|
|
2876
|
+
CMD_CORSS_ON_VAILD_TIME_ID:50, //超出当前时间的,X轴调整到当前最后的时间(分时图)
|
|
2877
|
+
CMD_CORSS_ON_KLINE_ID:51, //十字光标只能画在K线上
|
|
2878
|
+
|
|
2874
2879
|
|
|
2875
2880
|
|
|
2876
2881
|
CMD_REPORT_CHANGE_BLOCK_ID:100, //报价列表 切换板块ID
|
|
@@ -10259,6 +10264,19 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
10259
10264
|
case JSCHART_MENU_ID.CMD_UNLOCK_CROSSCURSOR:
|
|
10260
10265
|
if (this.IsLockCorssCursor()) this.UnlockCorssCursor({ Draw:true })
|
|
10261
10266
|
break;
|
|
10267
|
+
case JSCHART_MENU_ID.CMD_CORSS_ON_CLOSE_LINE_ID:
|
|
10268
|
+
if (IFrameSplitOperator.IsBool(srcParam) && this.ChartCorssCursor) this.ChartCorssCursor.IsOnlyDrawMinute=srcParam;
|
|
10269
|
+
break;
|
|
10270
|
+
case JSCHART_MENU_ID.CMD_CORSS_ON_VAILD_TIME_ID:
|
|
10271
|
+
if (IFrameSplitOperator.IsBool(srcParam) && this.ChartCorssCursor) this.ChartCorssCursor.IsFixXLastTime=srcParam;
|
|
10272
|
+
break;
|
|
10273
|
+
case JSCHART_MENU_ID.CMD_CORSS_ON_KLINE_ID:
|
|
10274
|
+
if (IFrameSplitOperator.IsBool(srcParam) && this.ChartCorssCursor)
|
|
10275
|
+
{
|
|
10276
|
+
this.ChartCorssCursor.IsOnlyDrawKLine=srcParam;
|
|
10277
|
+
this.ChartCorssCursor.IsShowClose=srcParam;
|
|
10278
|
+
}
|
|
10279
|
+
break;
|
|
10262
10280
|
}
|
|
10263
10281
|
}
|
|
10264
10282
|
|
|
@@ -40800,9 +40818,10 @@ function ChartMultiBar()
|
|
|
40800
40818
|
var groupItem=this.Bars[i];
|
|
40801
40819
|
if (!groupItem || !IFrameSplitOperator.IsNonEmptyArray(groupItem.Point)) continue;
|
|
40802
40820
|
|
|
40803
|
-
var clrConfig= { Color:groupItem.Color, Width:
|
|
40821
|
+
var clrConfig= { Color:groupItem.Color, BGColor:null, Width:null, Name:groupItem.Name, Type:0 };
|
|
40804
40822
|
if (IFrameSplitOperator.IsNumber(groupItem.Width)) clrConfig.Width=groupItem.Width;
|
|
40805
40823
|
if (IFrameSplitOperator.IsNumber(groupItem.Type)) clrConfig.Type=groupItem.Type;
|
|
40824
|
+
if (groupItem.BorderColor) clrConfig.BorderColor=groupItem.BorderColor;
|
|
40806
40825
|
|
|
40807
40826
|
for(var j=0; j<groupItem.Point.length; ++j)
|
|
40808
40827
|
{
|
|
@@ -40915,7 +40934,7 @@ function ChartMultiBar()
|
|
|
40915
40934
|
this.DrawAllBar=function(mapBar)
|
|
40916
40935
|
{
|
|
40917
40936
|
var pixelRatio=GetDevicePixelRatio();
|
|
40918
|
-
|
|
40937
|
+
var dataWidth=this.ChartFrame.DataWidth;
|
|
40919
40938
|
for(var mapItem of mapBar)
|
|
40920
40939
|
{
|
|
40921
40940
|
var aryBar=mapItem[1].AryBar;
|
|
@@ -40923,21 +40942,24 @@ function ChartMultiBar()
|
|
|
40923
40942
|
|
|
40924
40943
|
var config=null;
|
|
40925
40944
|
var path=new Path2D();
|
|
40945
|
+
var pathBG=new Path2D();
|
|
40926
40946
|
var count=0;
|
|
40927
|
-
var drawType=-1;
|
|
40928
|
-
var barWidth=
|
|
40947
|
+
var drawType=-1; //1=直线 2=实心 3=空心 4=边框+背景
|
|
40948
|
+
var barWidth=dataWidth; //默认K线宽度
|
|
40929
40949
|
this.Canvas.beginPath();
|
|
40930
40950
|
for(var i=0;i<aryBar.length;++i)
|
|
40931
40951
|
{
|
|
40932
40952
|
var item=aryBar[i];
|
|
40933
40953
|
if (!config)
|
|
40934
40954
|
{
|
|
40955
|
+
barWidth=dataWidth; //默认K线宽度
|
|
40935
40956
|
config=item.Data.ColorConfig;
|
|
40936
|
-
barWidth=config.Width*pixelRatio;
|
|
40957
|
+
if (IFrameSplitOperator.IsNumber(config.Width)) barWidth=config.Width*pixelRatio;
|
|
40937
40958
|
if (barWidth>4)
|
|
40938
40959
|
{
|
|
40939
40960
|
if (config.Type==0) drawType=2; //实心
|
|
40940
40961
|
else if (config.Type==1) drawType=3; //空心
|
|
40962
|
+
else if (config.Type==2) drawType=4; //边框+背景
|
|
40941
40963
|
else continue;
|
|
40942
40964
|
}
|
|
40943
40965
|
else //太细了, 直线
|
|
@@ -40994,6 +41016,31 @@ function ChartMultiBar()
|
|
|
40994
41016
|
path.addPath(barPath);
|
|
40995
41017
|
++count;
|
|
40996
41018
|
}
|
|
41019
|
+
else if (drawType==4) //背景+边框
|
|
41020
|
+
{
|
|
41021
|
+
var x=item.X-(barWidth/2);
|
|
41022
|
+
var y=Math.min(item.Y,item.Y2);
|
|
41023
|
+
var barWidth=barWidth;
|
|
41024
|
+
var barHeight=Math.abs(item.Y-item.Y2);
|
|
41025
|
+
|
|
41026
|
+
var barPath = new Path2D();
|
|
41027
|
+
if (this.IsHScreen)
|
|
41028
|
+
barPath.rect(ToFixedRect(y),ToFixedRect(x),ToFixedRect(barHeight),ToFixedRect(barWidth))
|
|
41029
|
+
else
|
|
41030
|
+
barPath.rect(ToFixedRect(x),ToFixedRect(y),ToFixedRect(barWidth),ToFixedRect(barHeight))
|
|
41031
|
+
|
|
41032
|
+
pathBG.addPath(barPath);
|
|
41033
|
+
|
|
41034
|
+
var barPath = new Path2D();
|
|
41035
|
+
if (this.IsHScreen)
|
|
41036
|
+
barPath.rect(ToFixedPoint(y),ToFixedPoint(x),ToFixedPoint(barHeight),ToFixedPoint(barWidth))
|
|
41037
|
+
else
|
|
41038
|
+
barPath.rect(ToFixedPoint(x),ToFixedPoint(y),ToFixedPoint(barWidth),ToFixedPoint(barHeight))
|
|
41039
|
+
|
|
41040
|
+
path.addPath(barPath);
|
|
41041
|
+
|
|
41042
|
+
++count;
|
|
41043
|
+
}
|
|
40997
41044
|
}
|
|
40998
41045
|
|
|
40999
41046
|
|
|
@@ -41016,6 +41063,21 @@ function ChartMultiBar()
|
|
|
41016
41063
|
this.Canvas.strokeStyle=config.Color;
|
|
41017
41064
|
this.Canvas.stroke(path);
|
|
41018
41065
|
}
|
|
41066
|
+
else if (drawType==4)
|
|
41067
|
+
{
|
|
41068
|
+
if (config.Color)
|
|
41069
|
+
{
|
|
41070
|
+
this.Canvas.fillStyle=config.Color; //背景填充颜色
|
|
41071
|
+
this.Canvas.fill(path);
|
|
41072
|
+
}
|
|
41073
|
+
|
|
41074
|
+
if (config.BorderColor)
|
|
41075
|
+
{
|
|
41076
|
+
this.Canvas.lineWidth=1*pixelRatio;
|
|
41077
|
+
this.Canvas.strokeStyle=config.BorderColor;
|
|
41078
|
+
this.Canvas.stroke(path);
|
|
41079
|
+
}
|
|
41080
|
+
}
|
|
41019
41081
|
}
|
|
41020
41082
|
|
|
41021
41083
|
}
|
|
@@ -80857,7 +80919,14 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
80857
80919
|
//var stockChipConfig={Name:'StockChipPhone', Width:150 }; //手机版筹码
|
|
80858
80920
|
|
|
80859
80921
|
var bShowCorss=false; //十字光标十字线
|
|
80860
|
-
|
|
80922
|
+
var bCorssDrawKLine=false;
|
|
80923
|
+
var bCorssDrawVaildTime=false;
|
|
80924
|
+
if (this.ChartCorssCursor)
|
|
80925
|
+
{
|
|
80926
|
+
bShowCorss=this.ChartCorssCursor.IsShowCorss;
|
|
80927
|
+
bCorssDrawKLine=this.ChartCorssCursor.IsOnlyDrawKLine && this.ChartCorssCursor.IsShowClose;
|
|
80928
|
+
bCorssDrawVaildTime=this.ChartCorssCursor.IsFixXLastTime;
|
|
80929
|
+
}
|
|
80861
80930
|
|
|
80862
80931
|
var bPopMinuteChart=false;
|
|
80863
80932
|
if (this.PopMinuteChart) bPopMinuteChart=true;
|
|
@@ -81026,6 +81095,15 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
81026
81095
|
{ Name:"5个窗口", Data:{ ID:JSCHART_MENU_ID.CMD_CHANGE_WINDOW_COUNT_ID, Args:[6]}, Checked:6==windowCount },
|
|
81027
81096
|
]
|
|
81028
81097
|
},
|
|
81098
|
+
{
|
|
81099
|
+
Name:"十字光标",
|
|
81100
|
+
SubMenu:
|
|
81101
|
+
[
|
|
81102
|
+
{ Name:"显示", Data:{ ID:JSCHART_MENU_ID.CMD_SHOW_CORSS_LINE_ID, Args:[!bShowCorss]}, Checked:bShowCorss },
|
|
81103
|
+
{ Name:"显示在K线上", Data:{ ID:JSCHART_MENU_ID.CMD_CORSS_ON_KLINE_ID, Args:[!bCorssDrawKLine]}, Checked:bCorssDrawKLine },
|
|
81104
|
+
{ Name:"画在有效X轴上",Data:{ ID:JSCHART_MENU_ID.CMD_CORSS_ON_VAILD_TIME_ID, Args:[!bCorssDrawVaildTime]}, Checked:bCorssDrawVaildTime },
|
|
81105
|
+
]
|
|
81106
|
+
},
|
|
81029
81107
|
{
|
|
81030
81108
|
Name:"其他设置",
|
|
81031
81109
|
SubMenu:
|
|
@@ -81042,7 +81120,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
81042
81120
|
|
|
81043
81121
|
{ Name:"移动筹码图", Data:{ ID:bShowStockChip?JSCHART_MENU_ID.CMD_HIDE_STOCKCHIP_ID:JSCHART_MENU_ID.CMD_SHOW_STOCKCHIP_ID, Args:[stockChipConfig.Name, stockChipConfig]}, Checked:bShowStockChip},
|
|
81044
81122
|
|
|
81045
|
-
|
|
81123
|
+
|
|
81046
81124
|
|
|
81047
81125
|
{ Name:"双击弹分时图", Data:{ ID:JSCHART_MENU_ID.CMD_ENABLE_POP_MINUTE_CHART_ID, Args:[!bPopMinuteChart]}, Checked:bPopMinuteChart},
|
|
81048
81126
|
|
|
@@ -81155,7 +81233,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
81155
81233
|
}
|
|
81156
81234
|
}
|
|
81157
81235
|
}
|
|
81158
|
-
else if (item.Name=="
|
|
81236
|
+
else if (item.Name=="十字光标")
|
|
81159
81237
|
{
|
|
81160
81238
|
if (kItem)
|
|
81161
81239
|
{
|
|
@@ -85000,8 +85078,16 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
85000
85078
|
if (item && item.Symbol) aryOverlaySymbol.push(item.Symbol)
|
|
85001
85079
|
}
|
|
85002
85080
|
|
|
85003
|
-
var bShowCorss=false;
|
|
85004
|
-
|
|
85081
|
+
var bShowCorss=false; //十字光标十字线
|
|
85082
|
+
var bCorssDrawCloseLine=false; //十字光标只能画在走势图价格线上
|
|
85083
|
+
var bCorssDrawVaildTime=false;
|
|
85084
|
+
if (this.ChartCorssCursor)
|
|
85085
|
+
{
|
|
85086
|
+
bShowCorss=this.ChartCorssCursor.IsShowCorss;
|
|
85087
|
+
bCorssDrawCloseLine=this.ChartCorssCursor.IsOnlyDrawMinute;
|
|
85088
|
+
bCorssDrawVaildTime=this.ChartCorssCursor.IsFixXLastTime;
|
|
85089
|
+
}
|
|
85090
|
+
|
|
85005
85091
|
|
|
85006
85092
|
var minItem=null;
|
|
85007
85093
|
if (frameID>=0 && option && IFrameSplitOperator.IsNumber(option.CursorIndex))
|
|
@@ -85077,12 +85163,22 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
85077
85163
|
{
|
|
85078
85164
|
Name:"区间选择",Data:{ ID: JSCHART_MENU_ID.CMD_ENABLE_SELECT_RECT_ID, Args:[!this.EnableSelectRect]}, Checked:this.EnableSelectRect
|
|
85079
85165
|
},
|
|
85166
|
+
{
|
|
85167
|
+
Name:"十字光标",
|
|
85168
|
+
SubMenu:
|
|
85169
|
+
[
|
|
85170
|
+
{ Name:"显示", Data:{ ID:JSCHART_MENU_ID.CMD_SHOW_CORSS_LINE_ID, Args:[!bShowCorss]}, Checked:bShowCorss },
|
|
85171
|
+
{ Name:"画在价格线上", Data:{ ID:JSCHART_MENU_ID.CMD_CORSS_ON_CLOSE_LINE_ID, Args:[!bCorssDrawCloseLine]}, Checked:bCorssDrawCloseLine },
|
|
85172
|
+
{ Name:"画在有效X轴上",Data:{ ID:JSCHART_MENU_ID.CMD_CORSS_ON_VAILD_TIME_ID, Args:[!bCorssDrawVaildTime]}, Checked:bCorssDrawVaildTime },
|
|
85173
|
+
]
|
|
85174
|
+
},
|
|
85175
|
+
|
|
85080
85176
|
{
|
|
85081
85177
|
Name:"其他设置",
|
|
85082
85178
|
SubMenu:
|
|
85083
85179
|
[
|
|
85084
85180
|
{ Name:"画图工具", Data:{ ID:JSCHART_MENU_ID.CMD_SHOW_DRAWTOOL_ID, Args:[]}, Checked:this.IsShowDrawToolDialog()},
|
|
85085
|
-
|
|
85181
|
+
|
|
85086
85182
|
{ Name:JSPopMenu.SEPARATOR_LINE_NAME },
|
|
85087
85183
|
|
|
85088
85184
|
{
|
|
@@ -85125,7 +85221,6 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
85125
85221
|
var item={ Name:"集合竞价",Data:{ ID: JSCHART_MENU_ID.CMD_SHOW_BEFORE_DATA_ID, Args:[!this.IsShowBeforeData] }, Checked:this.IsShowBeforeData };
|
|
85126
85222
|
aryMenu.splice(4,0,item);
|
|
85127
85223
|
}
|
|
85128
|
-
|
|
85129
85224
|
|
|
85130
85225
|
|
|
85131
85226
|
for(var i=0;i<aryMenu.length;++i)
|
|
@@ -85143,7 +85238,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
85143
85238
|
}
|
|
85144
85239
|
}
|
|
85145
85240
|
}
|
|
85146
|
-
else if (item.Name=="
|
|
85241
|
+
else if (item.Name=="十字光标")
|
|
85147
85242
|
{
|
|
85148
85243
|
if (minItem)
|
|
85149
85244
|
{
|
|
@@ -6795,7 +6795,12 @@ var JSCHART_MENU_ID=
|
|
|
6795
6795
|
CMD_MODIFY_OVERLAY_INDEX_PARAM:46, //叠加指标修改 [windowIndex, ID ]
|
|
6796
6796
|
|
|
6797
6797
|
CMD_LOCK_CROSSCURSOR:47, //锁十字光标
|
|
6798
|
-
CMD_UNLOCK_CROSSCURSOR:48,
|
|
6798
|
+
CMD_UNLOCK_CROSSCURSOR:48, //解锁十字光标
|
|
6799
|
+
|
|
6800
|
+
CMD_CORSS_ON_CLOSE_LINE_ID:49, //十字光标在价格线上(分时图)
|
|
6801
|
+
CMD_CORSS_ON_VAILD_TIME_ID:50, //超出当前时间的,X轴调整到当前最后的时间(分时图)
|
|
6802
|
+
CMD_CORSS_ON_KLINE_ID:51, //十字光标只能画在K线上
|
|
6803
|
+
|
|
6799
6804
|
|
|
6800
6805
|
|
|
6801
6806
|
CMD_REPORT_CHANGE_BLOCK_ID:100, //报价列表 切换板块ID
|
|
@@ -14184,6 +14189,19 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
14184
14189
|
case JSCHART_MENU_ID.CMD_UNLOCK_CROSSCURSOR:
|
|
14185
14190
|
if (this.IsLockCorssCursor()) this.UnlockCorssCursor({ Draw:true })
|
|
14186
14191
|
break;
|
|
14192
|
+
case JSCHART_MENU_ID.CMD_CORSS_ON_CLOSE_LINE_ID:
|
|
14193
|
+
if (IFrameSplitOperator.IsBool(srcParam) && this.ChartCorssCursor) this.ChartCorssCursor.IsOnlyDrawMinute=srcParam;
|
|
14194
|
+
break;
|
|
14195
|
+
case JSCHART_MENU_ID.CMD_CORSS_ON_VAILD_TIME_ID:
|
|
14196
|
+
if (IFrameSplitOperator.IsBool(srcParam) && this.ChartCorssCursor) this.ChartCorssCursor.IsFixXLastTime=srcParam;
|
|
14197
|
+
break;
|
|
14198
|
+
case JSCHART_MENU_ID.CMD_CORSS_ON_KLINE_ID:
|
|
14199
|
+
if (IFrameSplitOperator.IsBool(srcParam) && this.ChartCorssCursor)
|
|
14200
|
+
{
|
|
14201
|
+
this.ChartCorssCursor.IsOnlyDrawKLine=srcParam;
|
|
14202
|
+
this.ChartCorssCursor.IsShowClose=srcParam;
|
|
14203
|
+
}
|
|
14204
|
+
break;
|
|
14187
14205
|
}
|
|
14188
14206
|
}
|
|
14189
14207
|
|
|
@@ -44725,9 +44743,10 @@ function ChartMultiBar()
|
|
|
44725
44743
|
var groupItem=this.Bars[i];
|
|
44726
44744
|
if (!groupItem || !IFrameSplitOperator.IsNonEmptyArray(groupItem.Point)) continue;
|
|
44727
44745
|
|
|
44728
|
-
var clrConfig= { Color:groupItem.Color, Width:
|
|
44746
|
+
var clrConfig= { Color:groupItem.Color, BGColor:null, Width:null, Name:groupItem.Name, Type:0 };
|
|
44729
44747
|
if (IFrameSplitOperator.IsNumber(groupItem.Width)) clrConfig.Width=groupItem.Width;
|
|
44730
44748
|
if (IFrameSplitOperator.IsNumber(groupItem.Type)) clrConfig.Type=groupItem.Type;
|
|
44749
|
+
if (groupItem.BorderColor) clrConfig.BorderColor=groupItem.BorderColor;
|
|
44731
44750
|
|
|
44732
44751
|
for(var j=0; j<groupItem.Point.length; ++j)
|
|
44733
44752
|
{
|
|
@@ -44840,7 +44859,7 @@ function ChartMultiBar()
|
|
|
44840
44859
|
this.DrawAllBar=function(mapBar)
|
|
44841
44860
|
{
|
|
44842
44861
|
var pixelRatio=GetDevicePixelRatio();
|
|
44843
|
-
|
|
44862
|
+
var dataWidth=this.ChartFrame.DataWidth;
|
|
44844
44863
|
for(var mapItem of mapBar)
|
|
44845
44864
|
{
|
|
44846
44865
|
var aryBar=mapItem[1].AryBar;
|
|
@@ -44848,21 +44867,24 @@ function ChartMultiBar()
|
|
|
44848
44867
|
|
|
44849
44868
|
var config=null;
|
|
44850
44869
|
var path=new Path2D();
|
|
44870
|
+
var pathBG=new Path2D();
|
|
44851
44871
|
var count=0;
|
|
44852
|
-
var drawType=-1;
|
|
44853
|
-
var barWidth=
|
|
44872
|
+
var drawType=-1; //1=直线 2=实心 3=空心 4=边框+背景
|
|
44873
|
+
var barWidth=dataWidth; //默认K线宽度
|
|
44854
44874
|
this.Canvas.beginPath();
|
|
44855
44875
|
for(var i=0;i<aryBar.length;++i)
|
|
44856
44876
|
{
|
|
44857
44877
|
var item=aryBar[i];
|
|
44858
44878
|
if (!config)
|
|
44859
44879
|
{
|
|
44880
|
+
barWidth=dataWidth; //默认K线宽度
|
|
44860
44881
|
config=item.Data.ColorConfig;
|
|
44861
|
-
barWidth=config.Width*pixelRatio;
|
|
44882
|
+
if (IFrameSplitOperator.IsNumber(config.Width)) barWidth=config.Width*pixelRatio;
|
|
44862
44883
|
if (barWidth>4)
|
|
44863
44884
|
{
|
|
44864
44885
|
if (config.Type==0) drawType=2; //实心
|
|
44865
44886
|
else if (config.Type==1) drawType=3; //空心
|
|
44887
|
+
else if (config.Type==2) drawType=4; //边框+背景
|
|
44866
44888
|
else continue;
|
|
44867
44889
|
}
|
|
44868
44890
|
else //太细了, 直线
|
|
@@ -44919,6 +44941,31 @@ function ChartMultiBar()
|
|
|
44919
44941
|
path.addPath(barPath);
|
|
44920
44942
|
++count;
|
|
44921
44943
|
}
|
|
44944
|
+
else if (drawType==4) //背景+边框
|
|
44945
|
+
{
|
|
44946
|
+
var x=item.X-(barWidth/2);
|
|
44947
|
+
var y=Math.min(item.Y,item.Y2);
|
|
44948
|
+
var barWidth=barWidth;
|
|
44949
|
+
var barHeight=Math.abs(item.Y-item.Y2);
|
|
44950
|
+
|
|
44951
|
+
var barPath = new Path2D();
|
|
44952
|
+
if (this.IsHScreen)
|
|
44953
|
+
barPath.rect(ToFixedRect(y),ToFixedRect(x),ToFixedRect(barHeight),ToFixedRect(barWidth))
|
|
44954
|
+
else
|
|
44955
|
+
barPath.rect(ToFixedRect(x),ToFixedRect(y),ToFixedRect(barWidth),ToFixedRect(barHeight))
|
|
44956
|
+
|
|
44957
|
+
pathBG.addPath(barPath);
|
|
44958
|
+
|
|
44959
|
+
var barPath = new Path2D();
|
|
44960
|
+
if (this.IsHScreen)
|
|
44961
|
+
barPath.rect(ToFixedPoint(y),ToFixedPoint(x),ToFixedPoint(barHeight),ToFixedPoint(barWidth))
|
|
44962
|
+
else
|
|
44963
|
+
barPath.rect(ToFixedPoint(x),ToFixedPoint(y),ToFixedPoint(barWidth),ToFixedPoint(barHeight))
|
|
44964
|
+
|
|
44965
|
+
path.addPath(barPath);
|
|
44966
|
+
|
|
44967
|
+
++count;
|
|
44968
|
+
}
|
|
44922
44969
|
}
|
|
44923
44970
|
|
|
44924
44971
|
|
|
@@ -44941,6 +44988,21 @@ function ChartMultiBar()
|
|
|
44941
44988
|
this.Canvas.strokeStyle=config.Color;
|
|
44942
44989
|
this.Canvas.stroke(path);
|
|
44943
44990
|
}
|
|
44991
|
+
else if (drawType==4)
|
|
44992
|
+
{
|
|
44993
|
+
if (config.Color)
|
|
44994
|
+
{
|
|
44995
|
+
this.Canvas.fillStyle=config.Color; //背景填充颜色
|
|
44996
|
+
this.Canvas.fill(path);
|
|
44997
|
+
}
|
|
44998
|
+
|
|
44999
|
+
if (config.BorderColor)
|
|
45000
|
+
{
|
|
45001
|
+
this.Canvas.lineWidth=1*pixelRatio;
|
|
45002
|
+
this.Canvas.strokeStyle=config.BorderColor;
|
|
45003
|
+
this.Canvas.stroke(path);
|
|
45004
|
+
}
|
|
45005
|
+
}
|
|
44944
45006
|
}
|
|
44945
45007
|
|
|
44946
45008
|
}
|
|
@@ -84782,7 +84844,14 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
84782
84844
|
//var stockChipConfig={Name:'StockChipPhone', Width:150 }; //手机版筹码
|
|
84783
84845
|
|
|
84784
84846
|
var bShowCorss=false; //十字光标十字线
|
|
84785
|
-
|
|
84847
|
+
var bCorssDrawKLine=false;
|
|
84848
|
+
var bCorssDrawVaildTime=false;
|
|
84849
|
+
if (this.ChartCorssCursor)
|
|
84850
|
+
{
|
|
84851
|
+
bShowCorss=this.ChartCorssCursor.IsShowCorss;
|
|
84852
|
+
bCorssDrawKLine=this.ChartCorssCursor.IsOnlyDrawKLine && this.ChartCorssCursor.IsShowClose;
|
|
84853
|
+
bCorssDrawVaildTime=this.ChartCorssCursor.IsFixXLastTime;
|
|
84854
|
+
}
|
|
84786
84855
|
|
|
84787
84856
|
var bPopMinuteChart=false;
|
|
84788
84857
|
if (this.PopMinuteChart) bPopMinuteChart=true;
|
|
@@ -84951,6 +85020,15 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
84951
85020
|
{ Name:"5个窗口", Data:{ ID:JSCHART_MENU_ID.CMD_CHANGE_WINDOW_COUNT_ID, Args:[6]}, Checked:6==windowCount },
|
|
84952
85021
|
]
|
|
84953
85022
|
},
|
|
85023
|
+
{
|
|
85024
|
+
Name:"十字光标",
|
|
85025
|
+
SubMenu:
|
|
85026
|
+
[
|
|
85027
|
+
{ Name:"显示", Data:{ ID:JSCHART_MENU_ID.CMD_SHOW_CORSS_LINE_ID, Args:[!bShowCorss]}, Checked:bShowCorss },
|
|
85028
|
+
{ Name:"显示在K线上", Data:{ ID:JSCHART_MENU_ID.CMD_CORSS_ON_KLINE_ID, Args:[!bCorssDrawKLine]}, Checked:bCorssDrawKLine },
|
|
85029
|
+
{ Name:"画在有效X轴上",Data:{ ID:JSCHART_MENU_ID.CMD_CORSS_ON_VAILD_TIME_ID, Args:[!bCorssDrawVaildTime]}, Checked:bCorssDrawVaildTime },
|
|
85030
|
+
]
|
|
85031
|
+
},
|
|
84954
85032
|
{
|
|
84955
85033
|
Name:"其他设置",
|
|
84956
85034
|
SubMenu:
|
|
@@ -84967,7 +85045,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
84967
85045
|
|
|
84968
85046
|
{ Name:"移动筹码图", Data:{ ID:bShowStockChip?JSCHART_MENU_ID.CMD_HIDE_STOCKCHIP_ID:JSCHART_MENU_ID.CMD_SHOW_STOCKCHIP_ID, Args:[stockChipConfig.Name, stockChipConfig]}, Checked:bShowStockChip},
|
|
84969
85047
|
|
|
84970
|
-
|
|
85048
|
+
|
|
84971
85049
|
|
|
84972
85050
|
{ Name:"双击弹分时图", Data:{ ID:JSCHART_MENU_ID.CMD_ENABLE_POP_MINUTE_CHART_ID, Args:[!bPopMinuteChart]}, Checked:bPopMinuteChart},
|
|
84973
85051
|
|
|
@@ -85080,7 +85158,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
85080
85158
|
}
|
|
85081
85159
|
}
|
|
85082
85160
|
}
|
|
85083
|
-
else if (item.Name=="
|
|
85161
|
+
else if (item.Name=="十字光标")
|
|
85084
85162
|
{
|
|
85085
85163
|
if (kItem)
|
|
85086
85164
|
{
|
|
@@ -88925,8 +89003,16 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
88925
89003
|
if (item && item.Symbol) aryOverlaySymbol.push(item.Symbol)
|
|
88926
89004
|
}
|
|
88927
89005
|
|
|
88928
|
-
var bShowCorss=false;
|
|
88929
|
-
|
|
89006
|
+
var bShowCorss=false; //十字光标十字线
|
|
89007
|
+
var bCorssDrawCloseLine=false; //十字光标只能画在走势图价格线上
|
|
89008
|
+
var bCorssDrawVaildTime=false;
|
|
89009
|
+
if (this.ChartCorssCursor)
|
|
89010
|
+
{
|
|
89011
|
+
bShowCorss=this.ChartCorssCursor.IsShowCorss;
|
|
89012
|
+
bCorssDrawCloseLine=this.ChartCorssCursor.IsOnlyDrawMinute;
|
|
89013
|
+
bCorssDrawVaildTime=this.ChartCorssCursor.IsFixXLastTime;
|
|
89014
|
+
}
|
|
89015
|
+
|
|
88930
89016
|
|
|
88931
89017
|
var minItem=null;
|
|
88932
89018
|
if (frameID>=0 && option && IFrameSplitOperator.IsNumber(option.CursorIndex))
|
|
@@ -89002,12 +89088,22 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
89002
89088
|
{
|
|
89003
89089
|
Name:"区间选择",Data:{ ID: JSCHART_MENU_ID.CMD_ENABLE_SELECT_RECT_ID, Args:[!this.EnableSelectRect]}, Checked:this.EnableSelectRect
|
|
89004
89090
|
},
|
|
89091
|
+
{
|
|
89092
|
+
Name:"十字光标",
|
|
89093
|
+
SubMenu:
|
|
89094
|
+
[
|
|
89095
|
+
{ Name:"显示", Data:{ ID:JSCHART_MENU_ID.CMD_SHOW_CORSS_LINE_ID, Args:[!bShowCorss]}, Checked:bShowCorss },
|
|
89096
|
+
{ Name:"画在价格线上", Data:{ ID:JSCHART_MENU_ID.CMD_CORSS_ON_CLOSE_LINE_ID, Args:[!bCorssDrawCloseLine]}, Checked:bCorssDrawCloseLine },
|
|
89097
|
+
{ Name:"画在有效X轴上",Data:{ ID:JSCHART_MENU_ID.CMD_CORSS_ON_VAILD_TIME_ID, Args:[!bCorssDrawVaildTime]}, Checked:bCorssDrawVaildTime },
|
|
89098
|
+
]
|
|
89099
|
+
},
|
|
89100
|
+
|
|
89005
89101
|
{
|
|
89006
89102
|
Name:"其他设置",
|
|
89007
89103
|
SubMenu:
|
|
89008
89104
|
[
|
|
89009
89105
|
{ Name:"画图工具", Data:{ ID:JSCHART_MENU_ID.CMD_SHOW_DRAWTOOL_ID, Args:[]}, Checked:this.IsShowDrawToolDialog()},
|
|
89010
|
-
|
|
89106
|
+
|
|
89011
89107
|
{ Name:JSPopMenu.SEPARATOR_LINE_NAME },
|
|
89012
89108
|
|
|
89013
89109
|
{
|
|
@@ -89050,7 +89146,6 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
89050
89146
|
var item={ Name:"集合竞价",Data:{ ID: JSCHART_MENU_ID.CMD_SHOW_BEFORE_DATA_ID, Args:[!this.IsShowBeforeData] }, Checked:this.IsShowBeforeData };
|
|
89051
89147
|
aryMenu.splice(4,0,item);
|
|
89052
89148
|
}
|
|
89053
|
-
|
|
89054
89149
|
|
|
89055
89150
|
|
|
89056
89151
|
for(var i=0;i<aryMenu.length;++i)
|
|
@@ -89068,7 +89163,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
89068
89163
|
}
|
|
89069
89164
|
}
|
|
89070
89165
|
}
|
|
89071
|
-
else if (item.Name=="
|
|
89166
|
+
else if (item.Name=="十字光标")
|
|
89072
89167
|
{
|
|
89073
89168
|
if (minItem)
|
|
89074
89169
|
{
|
|
@@ -143399,7 +143494,7 @@ function ScrollBarBGChart()
|
|
|
143399
143494
|
|
|
143400
143495
|
|
|
143401
143496
|
|
|
143402
|
-
var HQCHART_VERSION="1.1.
|
|
143497
|
+
var HQCHART_VERSION="1.1.14449";
|
|
143403
143498
|
|
|
143404
143499
|
function PrintHQChartVersion()
|
|
143405
143500
|
{
|
|
@@ -6839,7 +6839,12 @@ var JSCHART_MENU_ID=
|
|
|
6839
6839
|
CMD_MODIFY_OVERLAY_INDEX_PARAM:46, //叠加指标修改 [windowIndex, ID ]
|
|
6840
6840
|
|
|
6841
6841
|
CMD_LOCK_CROSSCURSOR:47, //锁十字光标
|
|
6842
|
-
CMD_UNLOCK_CROSSCURSOR:48,
|
|
6842
|
+
CMD_UNLOCK_CROSSCURSOR:48, //解锁十字光标
|
|
6843
|
+
|
|
6844
|
+
CMD_CORSS_ON_CLOSE_LINE_ID:49, //十字光标在价格线上(分时图)
|
|
6845
|
+
CMD_CORSS_ON_VAILD_TIME_ID:50, //超出当前时间的,X轴调整到当前最后的时间(分时图)
|
|
6846
|
+
CMD_CORSS_ON_KLINE_ID:51, //十字光标只能画在K线上
|
|
6847
|
+
|
|
6843
6848
|
|
|
6844
6849
|
|
|
6845
6850
|
CMD_REPORT_CHANGE_BLOCK_ID:100, //报价列表 切换板块ID
|
|
@@ -14228,6 +14233,19 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
14228
14233
|
case JSCHART_MENU_ID.CMD_UNLOCK_CROSSCURSOR:
|
|
14229
14234
|
if (this.IsLockCorssCursor()) this.UnlockCorssCursor({ Draw:true })
|
|
14230
14235
|
break;
|
|
14236
|
+
case JSCHART_MENU_ID.CMD_CORSS_ON_CLOSE_LINE_ID:
|
|
14237
|
+
if (IFrameSplitOperator.IsBool(srcParam) && this.ChartCorssCursor) this.ChartCorssCursor.IsOnlyDrawMinute=srcParam;
|
|
14238
|
+
break;
|
|
14239
|
+
case JSCHART_MENU_ID.CMD_CORSS_ON_VAILD_TIME_ID:
|
|
14240
|
+
if (IFrameSplitOperator.IsBool(srcParam) && this.ChartCorssCursor) this.ChartCorssCursor.IsFixXLastTime=srcParam;
|
|
14241
|
+
break;
|
|
14242
|
+
case JSCHART_MENU_ID.CMD_CORSS_ON_KLINE_ID:
|
|
14243
|
+
if (IFrameSplitOperator.IsBool(srcParam) && this.ChartCorssCursor)
|
|
14244
|
+
{
|
|
14245
|
+
this.ChartCorssCursor.IsOnlyDrawKLine=srcParam;
|
|
14246
|
+
this.ChartCorssCursor.IsShowClose=srcParam;
|
|
14247
|
+
}
|
|
14248
|
+
break;
|
|
14231
14249
|
}
|
|
14232
14250
|
}
|
|
14233
14251
|
|
|
@@ -44769,9 +44787,10 @@ function ChartMultiBar()
|
|
|
44769
44787
|
var groupItem=this.Bars[i];
|
|
44770
44788
|
if (!groupItem || !IFrameSplitOperator.IsNonEmptyArray(groupItem.Point)) continue;
|
|
44771
44789
|
|
|
44772
|
-
var clrConfig= { Color:groupItem.Color, Width:
|
|
44790
|
+
var clrConfig= { Color:groupItem.Color, BGColor:null, Width:null, Name:groupItem.Name, Type:0 };
|
|
44773
44791
|
if (IFrameSplitOperator.IsNumber(groupItem.Width)) clrConfig.Width=groupItem.Width;
|
|
44774
44792
|
if (IFrameSplitOperator.IsNumber(groupItem.Type)) clrConfig.Type=groupItem.Type;
|
|
44793
|
+
if (groupItem.BorderColor) clrConfig.BorderColor=groupItem.BorderColor;
|
|
44775
44794
|
|
|
44776
44795
|
for(var j=0; j<groupItem.Point.length; ++j)
|
|
44777
44796
|
{
|
|
@@ -44884,7 +44903,7 @@ function ChartMultiBar()
|
|
|
44884
44903
|
this.DrawAllBar=function(mapBar)
|
|
44885
44904
|
{
|
|
44886
44905
|
var pixelRatio=GetDevicePixelRatio();
|
|
44887
|
-
|
|
44906
|
+
var dataWidth=this.ChartFrame.DataWidth;
|
|
44888
44907
|
for(var mapItem of mapBar)
|
|
44889
44908
|
{
|
|
44890
44909
|
var aryBar=mapItem[1].AryBar;
|
|
@@ -44892,21 +44911,24 @@ function ChartMultiBar()
|
|
|
44892
44911
|
|
|
44893
44912
|
var config=null;
|
|
44894
44913
|
var path=new Path2D();
|
|
44914
|
+
var pathBG=new Path2D();
|
|
44895
44915
|
var count=0;
|
|
44896
|
-
var drawType=-1;
|
|
44897
|
-
var barWidth=
|
|
44916
|
+
var drawType=-1; //1=直线 2=实心 3=空心 4=边框+背景
|
|
44917
|
+
var barWidth=dataWidth; //默认K线宽度
|
|
44898
44918
|
this.Canvas.beginPath();
|
|
44899
44919
|
for(var i=0;i<aryBar.length;++i)
|
|
44900
44920
|
{
|
|
44901
44921
|
var item=aryBar[i];
|
|
44902
44922
|
if (!config)
|
|
44903
44923
|
{
|
|
44924
|
+
barWidth=dataWidth; //默认K线宽度
|
|
44904
44925
|
config=item.Data.ColorConfig;
|
|
44905
|
-
barWidth=config.Width*pixelRatio;
|
|
44926
|
+
if (IFrameSplitOperator.IsNumber(config.Width)) barWidth=config.Width*pixelRatio;
|
|
44906
44927
|
if (barWidth>4)
|
|
44907
44928
|
{
|
|
44908
44929
|
if (config.Type==0) drawType=2; //实心
|
|
44909
44930
|
else if (config.Type==1) drawType=3; //空心
|
|
44931
|
+
else if (config.Type==2) drawType=4; //边框+背景
|
|
44910
44932
|
else continue;
|
|
44911
44933
|
}
|
|
44912
44934
|
else //太细了, 直线
|
|
@@ -44963,6 +44985,31 @@ function ChartMultiBar()
|
|
|
44963
44985
|
path.addPath(barPath);
|
|
44964
44986
|
++count;
|
|
44965
44987
|
}
|
|
44988
|
+
else if (drawType==4) //背景+边框
|
|
44989
|
+
{
|
|
44990
|
+
var x=item.X-(barWidth/2);
|
|
44991
|
+
var y=Math.min(item.Y,item.Y2);
|
|
44992
|
+
var barWidth=barWidth;
|
|
44993
|
+
var barHeight=Math.abs(item.Y-item.Y2);
|
|
44994
|
+
|
|
44995
|
+
var barPath = new Path2D();
|
|
44996
|
+
if (this.IsHScreen)
|
|
44997
|
+
barPath.rect(ToFixedRect(y),ToFixedRect(x),ToFixedRect(barHeight),ToFixedRect(barWidth))
|
|
44998
|
+
else
|
|
44999
|
+
barPath.rect(ToFixedRect(x),ToFixedRect(y),ToFixedRect(barWidth),ToFixedRect(barHeight))
|
|
45000
|
+
|
|
45001
|
+
pathBG.addPath(barPath);
|
|
45002
|
+
|
|
45003
|
+
var barPath = new Path2D();
|
|
45004
|
+
if (this.IsHScreen)
|
|
45005
|
+
barPath.rect(ToFixedPoint(y),ToFixedPoint(x),ToFixedPoint(barHeight),ToFixedPoint(barWidth))
|
|
45006
|
+
else
|
|
45007
|
+
barPath.rect(ToFixedPoint(x),ToFixedPoint(y),ToFixedPoint(barWidth),ToFixedPoint(barHeight))
|
|
45008
|
+
|
|
45009
|
+
path.addPath(barPath);
|
|
45010
|
+
|
|
45011
|
+
++count;
|
|
45012
|
+
}
|
|
44966
45013
|
}
|
|
44967
45014
|
|
|
44968
45015
|
|
|
@@ -44985,6 +45032,21 @@ function ChartMultiBar()
|
|
|
44985
45032
|
this.Canvas.strokeStyle=config.Color;
|
|
44986
45033
|
this.Canvas.stroke(path);
|
|
44987
45034
|
}
|
|
45035
|
+
else if (drawType==4)
|
|
45036
|
+
{
|
|
45037
|
+
if (config.Color)
|
|
45038
|
+
{
|
|
45039
|
+
this.Canvas.fillStyle=config.Color; //背景填充颜色
|
|
45040
|
+
this.Canvas.fill(path);
|
|
45041
|
+
}
|
|
45042
|
+
|
|
45043
|
+
if (config.BorderColor)
|
|
45044
|
+
{
|
|
45045
|
+
this.Canvas.lineWidth=1*pixelRatio;
|
|
45046
|
+
this.Canvas.strokeStyle=config.BorderColor;
|
|
45047
|
+
this.Canvas.stroke(path);
|
|
45048
|
+
}
|
|
45049
|
+
}
|
|
44988
45050
|
}
|
|
44989
45051
|
|
|
44990
45052
|
}
|
|
@@ -84826,7 +84888,14 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
84826
84888
|
//var stockChipConfig={Name:'StockChipPhone', Width:150 }; //手机版筹码
|
|
84827
84889
|
|
|
84828
84890
|
var bShowCorss=false; //十字光标十字线
|
|
84829
|
-
|
|
84891
|
+
var bCorssDrawKLine=false;
|
|
84892
|
+
var bCorssDrawVaildTime=false;
|
|
84893
|
+
if (this.ChartCorssCursor)
|
|
84894
|
+
{
|
|
84895
|
+
bShowCorss=this.ChartCorssCursor.IsShowCorss;
|
|
84896
|
+
bCorssDrawKLine=this.ChartCorssCursor.IsOnlyDrawKLine && this.ChartCorssCursor.IsShowClose;
|
|
84897
|
+
bCorssDrawVaildTime=this.ChartCorssCursor.IsFixXLastTime;
|
|
84898
|
+
}
|
|
84830
84899
|
|
|
84831
84900
|
var bPopMinuteChart=false;
|
|
84832
84901
|
if (this.PopMinuteChart) bPopMinuteChart=true;
|
|
@@ -84995,6 +85064,15 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
84995
85064
|
{ Name:"5个窗口", Data:{ ID:JSCHART_MENU_ID.CMD_CHANGE_WINDOW_COUNT_ID, Args:[6]}, Checked:6==windowCount },
|
|
84996
85065
|
]
|
|
84997
85066
|
},
|
|
85067
|
+
{
|
|
85068
|
+
Name:"十字光标",
|
|
85069
|
+
SubMenu:
|
|
85070
|
+
[
|
|
85071
|
+
{ Name:"显示", Data:{ ID:JSCHART_MENU_ID.CMD_SHOW_CORSS_LINE_ID, Args:[!bShowCorss]}, Checked:bShowCorss },
|
|
85072
|
+
{ Name:"显示在K线上", Data:{ ID:JSCHART_MENU_ID.CMD_CORSS_ON_KLINE_ID, Args:[!bCorssDrawKLine]}, Checked:bCorssDrawKLine },
|
|
85073
|
+
{ Name:"画在有效X轴上",Data:{ ID:JSCHART_MENU_ID.CMD_CORSS_ON_VAILD_TIME_ID, Args:[!bCorssDrawVaildTime]}, Checked:bCorssDrawVaildTime },
|
|
85074
|
+
]
|
|
85075
|
+
},
|
|
84998
85076
|
{
|
|
84999
85077
|
Name:"其他设置",
|
|
85000
85078
|
SubMenu:
|
|
@@ -85011,7 +85089,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
85011
85089
|
|
|
85012
85090
|
{ Name:"移动筹码图", Data:{ ID:bShowStockChip?JSCHART_MENU_ID.CMD_HIDE_STOCKCHIP_ID:JSCHART_MENU_ID.CMD_SHOW_STOCKCHIP_ID, Args:[stockChipConfig.Name, stockChipConfig]}, Checked:bShowStockChip},
|
|
85013
85091
|
|
|
85014
|
-
|
|
85092
|
+
|
|
85015
85093
|
|
|
85016
85094
|
{ Name:"双击弹分时图", Data:{ ID:JSCHART_MENU_ID.CMD_ENABLE_POP_MINUTE_CHART_ID, Args:[!bPopMinuteChart]}, Checked:bPopMinuteChart},
|
|
85017
85095
|
|
|
@@ -85124,7 +85202,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
85124
85202
|
}
|
|
85125
85203
|
}
|
|
85126
85204
|
}
|
|
85127
|
-
else if (item.Name=="
|
|
85205
|
+
else if (item.Name=="十字光标")
|
|
85128
85206
|
{
|
|
85129
85207
|
if (kItem)
|
|
85130
85208
|
{
|
|
@@ -88969,8 +89047,16 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
88969
89047
|
if (item && item.Symbol) aryOverlaySymbol.push(item.Symbol)
|
|
88970
89048
|
}
|
|
88971
89049
|
|
|
88972
|
-
var bShowCorss=false;
|
|
88973
|
-
|
|
89050
|
+
var bShowCorss=false; //十字光标十字线
|
|
89051
|
+
var bCorssDrawCloseLine=false; //十字光标只能画在走势图价格线上
|
|
89052
|
+
var bCorssDrawVaildTime=false;
|
|
89053
|
+
if (this.ChartCorssCursor)
|
|
89054
|
+
{
|
|
89055
|
+
bShowCorss=this.ChartCorssCursor.IsShowCorss;
|
|
89056
|
+
bCorssDrawCloseLine=this.ChartCorssCursor.IsOnlyDrawMinute;
|
|
89057
|
+
bCorssDrawVaildTime=this.ChartCorssCursor.IsFixXLastTime;
|
|
89058
|
+
}
|
|
89059
|
+
|
|
88974
89060
|
|
|
88975
89061
|
var minItem=null;
|
|
88976
89062
|
if (frameID>=0 && option && IFrameSplitOperator.IsNumber(option.CursorIndex))
|
|
@@ -89046,12 +89132,22 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
89046
89132
|
{
|
|
89047
89133
|
Name:"区间选择",Data:{ ID: JSCHART_MENU_ID.CMD_ENABLE_SELECT_RECT_ID, Args:[!this.EnableSelectRect]}, Checked:this.EnableSelectRect
|
|
89048
89134
|
},
|
|
89135
|
+
{
|
|
89136
|
+
Name:"十字光标",
|
|
89137
|
+
SubMenu:
|
|
89138
|
+
[
|
|
89139
|
+
{ Name:"显示", Data:{ ID:JSCHART_MENU_ID.CMD_SHOW_CORSS_LINE_ID, Args:[!bShowCorss]}, Checked:bShowCorss },
|
|
89140
|
+
{ Name:"画在价格线上", Data:{ ID:JSCHART_MENU_ID.CMD_CORSS_ON_CLOSE_LINE_ID, Args:[!bCorssDrawCloseLine]}, Checked:bCorssDrawCloseLine },
|
|
89141
|
+
{ Name:"画在有效X轴上",Data:{ ID:JSCHART_MENU_ID.CMD_CORSS_ON_VAILD_TIME_ID, Args:[!bCorssDrawVaildTime]}, Checked:bCorssDrawVaildTime },
|
|
89142
|
+
]
|
|
89143
|
+
},
|
|
89144
|
+
|
|
89049
89145
|
{
|
|
89050
89146
|
Name:"其他设置",
|
|
89051
89147
|
SubMenu:
|
|
89052
89148
|
[
|
|
89053
89149
|
{ Name:"画图工具", Data:{ ID:JSCHART_MENU_ID.CMD_SHOW_DRAWTOOL_ID, Args:[]}, Checked:this.IsShowDrawToolDialog()},
|
|
89054
|
-
|
|
89150
|
+
|
|
89055
89151
|
{ Name:JSPopMenu.SEPARATOR_LINE_NAME },
|
|
89056
89152
|
|
|
89057
89153
|
{
|
|
@@ -89094,7 +89190,6 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
89094
89190
|
var item={ Name:"集合竞价",Data:{ ID: JSCHART_MENU_ID.CMD_SHOW_BEFORE_DATA_ID, Args:[!this.IsShowBeforeData] }, Checked:this.IsShowBeforeData };
|
|
89095
89191
|
aryMenu.splice(4,0,item);
|
|
89096
89192
|
}
|
|
89097
|
-
|
|
89098
89193
|
|
|
89099
89194
|
|
|
89100
89195
|
for(var i=0;i<aryMenu.length;++i)
|
|
@@ -89112,7 +89207,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
89112
89207
|
}
|
|
89113
89208
|
}
|
|
89114
89209
|
}
|
|
89115
|
-
else if (item.Name=="
|
|
89210
|
+
else if (item.Name=="十字光标")
|
|
89116
89211
|
{
|
|
89117
89212
|
if (minItem)
|
|
89118
89213
|
{
|
|
@@ -153211,7 +153306,7 @@ function HQChartScriptWorker()
|
|
|
153211
153306
|
|
|
153212
153307
|
|
|
153213
153308
|
|
|
153214
|
-
var HQCHART_VERSION="1.1.
|
|
153309
|
+
var HQCHART_VERSION="1.1.14449";
|
|
153215
153310
|
|
|
153216
153311
|
function PrintHQChartVersion()
|
|
153217
153312
|
{
|