hqchart 1.1.15738 → 1.1.15753

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.
@@ -1395,7 +1395,7 @@ this.ClearChartDrawPicture=function(drawPicture,option){if(this.JSChartContainer
1395
1395
  this.JSChartContainer.ClearChartDrawPicture(drawPicture,option);}};//复制一个画图
1396
1396
  this.PasteChartDrawPicture=function(data,frameID,option){if(this.JSChartContainer&&typeof this.JSChartContainer.PasteChartDrawPicture=='function'){JSConsole.Chart.Log('[JSChart:PasteChartDrawPicture] ',data,frameID,option);return this.JSChartContainer.PasteChartDrawPicture(data,frameID,option);}};//重新加载配置
1397
1397
  this.ReloadResource=function(option){if(this.JSChartContainer&&typeof this.JSChartContainer.ReloadResource=='function'){JSConsole.Chart.Log('[JSChart:ReloadResource] ');this.JSChartContainer.ReloadResource(option);}};this.EnableSplashScreen=function(enable,option){if(this.JSChartContainer&&typeof this.JSChartContainer.EnableSplashScreen=='function'){JSConsole.Chart.Log('[JSChart:EnableSplashScreen] ');this.JSChartContainer.EnableSplashScreen(enable,option);}};this.Draw=function(){if(this.JSChartContainer&&typeof this.JSChartContainer.Draw=='function'){JSConsole.Chart.Log('[JSChart:Draw] ');this.JSChartContainer.Draw();}};this.SetFocus=function(){if(this.JSChartContainer&&typeof this.JSChartContainer.SetFocus=='function'){JSConsole.Chart.Log('[JSChart:SetFocus] ');this.JSChartContainer.SetFocus();}};//数据导出, option={ Start:{ Date, Time:可选}, End:{Date: Time:可选} }
1398
- this.ExportData=function(option){if(this.JSChartContainer&&typeof this.JSChartContainer.ExportData=='function'){JSConsole.Chart.Log('[JSChart:ExportData] ');return this.JSChartContainer.ExportData(option);}};this.ChangePriceGap=function(option){if(this.JSChartContainer&&typeof this.JSChartContainer.ChangePriceGap=='function'){JSConsole.Chart.Log('[JSChart:ChangePriceGap] ');return this.JSChartContainer.ChangePriceGap(option);}};this.PopupMenuByTab=function(menuData,rtTab){if(this.JSChartContainer&&typeof this.JSChartContainer.PopupMenuByTab=='function'){JSConsole.Chart.Log('[JSChart:PopupMenuByTab] ');return this.JSChartContainer.PopupMenuByTab(menuData,rtTab);}};this.PopupMenuByDrapdown=function(menuData,rtButton){if(this.JSChartContainer&&typeof this.JSChartContainer.PopupMenuByDrapdown=='function'){JSConsole.Chart.Log('[JSChart:PopupMenuByDrapdown] ');return this.JSChartContainer.PopupMenuByDrapdown(menuData,rtButton);}};this.ExecuteMenuCommand=function(cmdID,aryArgs){if(this.JSChartContainer&&typeof this.JSChartContainer.ExecuteMenuCommand=='function'){JSConsole.Chart.Log('[JSChart:ExecuteMenuCommand] ');return this.JSChartContainer.ExecuteMenuCommand(cmdID,aryArgs);}};}JSChart.LastVersion=null;//最新的版本号
1398
+ this.ExportData=function(option){if(this.JSChartContainer&&typeof this.JSChartContainer.ExportData=='function'){JSConsole.Chart.Log('[JSChart:ExportData] ');return this.JSChartContainer.ExportData(option);}};this.ChangePriceGap=function(option){if(this.JSChartContainer&&typeof this.JSChartContainer.ChangePriceGap=='function'){JSConsole.Chart.Log('[JSChart:ChangePriceGap] ');return this.JSChartContainer.ChangePriceGap(option);}};this.PopupMenuByTab=function(menuData,rtTab){if(this.JSChartContainer&&typeof this.JSChartContainer.PopupMenuByTab=='function'){JSConsole.Chart.Log('[JSChart:PopupMenuByTab] ');return this.JSChartContainer.PopupMenuByTab(menuData,rtTab);}};this.PopupMenuByDrapdown=function(menuData,rtButton){if(this.JSChartContainer&&typeof this.JSChartContainer.PopupMenuByDrapdown=='function'){JSConsole.Chart.Log('[JSChart:PopupMenuByDrapdown] ');return this.JSChartContainer.PopupMenuByDrapdown(menuData,rtButton);}};this.ExecuteMenuCommand=function(cmdID,aryArgs){if(this.JSChartContainer&&typeof this.JSChartContainer.ExecuteMenuCommand=='function'){JSConsole.Chart.Log('[JSChart:ExecuteMenuCommand] ');return this.JSChartContainer.ExecuteMenuCommand(cmdID,aryArgs);}};this.GetGraphicsDescription=function(option){if(this.JSChartContainer&&typeof this.JSChartContainer.GetGraphicsDescription=='function'){JSConsole.Chart.Log('[JSChart:GetGraphicsDescription] ');return this.JSChartContainer.GetGraphicsDescription(option);}};}JSChart.LastVersion=null;//最新的版本号
1399
1399
  JSChart.EnableCanvasWillReadFrequently=false;//https://html.spec.whatwg.org/multipage/canvas.html#concept-canvas-will-read-frequently
1400
1400
  JSChart.CorssCursorCanvasKey="hqchart_corsscursor";JSChart.TooltipCursorCanvasKey="hqchart_tooltip";JSChart.RectDragCanvasKey="hqchart_drag_rect";JSChart.LatestPointFlashKey="hqchart_point_flash";//最新数据点闪烁
1401
1401
  JSChart.KLineCountDownKey="hqchart_kline_countdown";//倒计时
@@ -1943,7 +1943,8 @@ return this.MoveIndex({WindowIndex:startFrameID,IndexID:info.IndexID},{WindowInd
1943
1943
  this.GetSelectedChartInfo=function(selectedChart){if(!selectedChart)return null;var result={Type:0};var id=selectedChart.Identify;if(id=="Main-KLine"){result.Name=this.Name;result.Symbol=this.Symbol;result.Type=JSCHART_DRAGCHART_TYPE_ID.MAIN_KLINE;}else if(id.indexOf("Overlay-KLine-")==0){result.Name=selectedChart.Chart.Title;result.Symbol=selectedChart.Chart.Symbol;result.Type=JSCHART_DRAGCHART_TYPE_ID.OVERLAY_KLINE;}else if(id.indexOf("Overlay-Minute-")==0){result.Name=selectedChart.Chart.Title;result.Symbol=selectedChart.Chart.Symbol;result.Type=JSCHART_DRAGCHART_TYPE_ID.OVERLAY_MINUTE;}else if(id=="Minute-Line"){result.Name=this.Name;result.Symbol=this.Symbol;result.Type=JSCHART_DRAGCHART_TYPE_ID.MAIN_MINUTE;}else if(id=="Minute-Average-Line"){result.Name=this.Name;result.Symbol=this.Symbol;result.Type=JSCHART_DRAGCHART_TYPE_ID.MAIN_AVERAGE_MINUTE;}else if(id=="Minute-Vol-Bar"){result.Name=this.Name;result.Symbol=this.Symbol;result.Type=JSCHART_DRAGCHART_TYPE_ID.MAIN_MINUTE_VOL;}else if(id.indexOf("guid")==0){for(var i=0;i<this.TitlePaint.length;++i){var titleItem=this.TitlePaint[i];if(titleItem.ClassName!="DynamicChartTitlePainting")continue;if(titleItem.Identify==id){result.IndexName=titleItem.Title;result.IndexID=id;result.Type=JSCHART_DRAGCHART_TYPE_ID.MAIN_INDEX;break;}var _iteratorNormalCompletion3=true;var _didIteratorError3=false;var _iteratorError3=undefined;try{for(var _iterator3=(0,_getIterator3.default)(titleItem.OverlayIndex),_step3;!(_iteratorNormalCompletion3=(_step3=_iterator3.next()).done);_iteratorNormalCompletion3=true){var item=_step3.value;if(item[0]==id){result.IndexName=item[1].Title;result.IndexID=id;result.Type=JSCHART_DRAGCHART_TYPE_ID.OVERLAY_INDEX;break;}}}catch(err){_didIteratorError3=true;_iteratorError3=err;}finally{try{if(!_iteratorNormalCompletion3&&_iterator3.return){_iterator3.return();}}finally{if(_didIteratorError3){throw _iteratorError3;}}}if(result.Type>0)break;}}return result;};//点击事件
1944
1944
  this.ClickEvent=function(e){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CLICK);if(!event||!event.Callback)return false;if(this.ClickDownPoint.X!=e.clientX||this.ClickDownPoint.Y!=e.clientY)return false;var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-uielement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-uielement.getBoundingClientRect().top)*pixelTatio;var data={X:e.clientX,Y:e.clientY,FrameID:-1};var clientPos=this.PtInClient(x,y);if(clientPos>0){var yValueExtend={};var yValue=this.Frame.GetYData(y,yValueExtend);if(IFrameSplitOperator.IsNumber(yValueExtend.FrameID)&&yValueExtend.FrameID>=0){var xValue=this.Frame.GetXData(x);data.FrameID=yValueExtend.FrameID;data.Data={X:xValue,Y:yValue};}}event.Callback(event,data,this);return true;};//双击事件
1945
1945
  this.DBClickEvent=function(dbClickInfo,e){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_DBCLICK);if(!event||!event.Callback)return false;var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-uielement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-uielement.getBoundingClientRect().top)*pixelTatio;var data={X:e.clientX,Y:e.clientY,FrameID:-1,ClientPos:-1};var clientPos=this.PtInClient(x,y);data.ClientPos=clientPos;if(clientPos>0){var yValueExtend={};var yValue=this.Frame.GetYData(y,yValueExtend);if(IFrameSplitOperator.IsNumber(yValueExtend.FrameID)&&yValueExtend.FrameID>=0){var xValue=this.Frame.GetXData(x);data.FrameID=yValueExtend.FrameID;data.Data={X:xValue,Y:yValue};if(this.GetDataItem)data.Data.Item=this.GetDataItem({ClientPos:clientPos,Index:xValue,Point:{X:x,Y:y}});}}//选中图形
1946
- if(dbClickInfo&&dbClickInfo.SelectedChart){data.SelectedChart=this.GetSelectedChartInfo(dbClickInfo.SelectedChart);}event.Callback(event,data,this);return true;};this.PtInChartPaintTooltip=function(x,y,toolTip){for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(item.GetTooltipData(x,y,toolTip))return item;}return null;};//叠加指标提示信息
1946
+ if(dbClickInfo&&dbClickInfo.SelectedChart){data.SelectedChart=this.GetSelectedChartInfo(dbClickInfo.SelectedChart);}event.Callback(event,data,this);return true;};this.PtInChartPaintTooltip=function(x,y,toolTip){if(!IFrameSplitOperator.IsNonEmptyArray(this.ChartPaint))return null;//最后画的先检测
1947
+ for(var i=this.ChartPaint.length-1;i>=0;--i){var item=this.ChartPaint[i];if(item.GetTooltipData(x,y,toolTip))return item;}return null;};//叠加指标提示信息
1947
1948
  this.PtInOverlayIndexTooltip=function(x,y,tooltip){var windowIndex=this.Frame.PtInFrame(x,y);if(windowIndex<0)return null;if(!this.Frame.SubFrame[windowIndex])return null;var aryOverlay=this.Frame.SubFrame[windowIndex].OverlayIndex;if(!IFrameSplitOperator.IsNonEmptyArray(aryOverlay))return null;for(var i=0;i<aryOverlay.length;++i){var overlayItem=aryOverlay[i];if(!IFrameSplitOperator.IsNonEmptyArray(overlayItem.ChartPaint))continue;for(var j=0;j<overlayItem.ChartPaint.length;++j){var item=overlayItem.ChartPaint[j];if(!item.IsShow)continue;if(item.IsHideScriptIndex())continue;if(item.GetTooltipData(x,y,tooltip)){tooltip.OverlayIndex={WindowIndex:windowIndex,Identify:overlayItem.Identify};if(overlayItem.Script){tooltip.OverlayIndex.IndexName=overlayItem.Script.Name;tooltip.OverlayIndex.IndexID=overlayItem.Script.ID;}return item;}}}return null;};this.PtInOverlayChartPaintTooltip=function(x,y,toolTip){for(var i=0;i<this.OverlayChartPaint.length;++i){var item=this.OverlayChartPaint[i];if(item.GetTooltipData(x,y,toolTip))return item;}return null;};//扩展图形支持tooltip外部接口
1948
1949
  this.PtInExtendChartPaintTooltip=function(x,y,tooltip){return null;};this.TryClickPaintEvent=function(eventID,ptClick,e){var event=this.GetEventCallback(eventID);if(event&&event.Callback){if(ptClick.X==e.clientX&&ptClick.Y==e.clientY){var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-uielement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-uielement.getBoundingClientRect().top)*pixelTatio;var toolTip=new TooltipData();var stock=null;//主数据
1949
1950
  var paint=this.PtInChartPaintTooltip(x,y,toolTip);if(paint)stock={Symbol:this.Symbol,Name:this.Name};if(!paint)//叠加数据
@@ -2432,11 +2433,11 @@ this.CreateMainScript=function(src){var scriptIndex=null;switch(src.ClassName){c
2432
2433
  this.DeleteMainIndex=function(identify,windowIndex){var mainIndex=this.WindowIndex[windowIndex];if(!mainIndex)return false;var subFrame=this.Frame.SubFrame[windowIndex];if(!subFrame)return false;if(!IFrameSplitOperator.IsNonEmptyArray(subFrame.OverlayIndex)){this.RemoveIndexWindow(windowIndex,{DeleteMainIndex:true});}else{var overlayItem=subFrame.OverlayIndex[0];this.DeleteOverlayIndex(overlayItem.Identify,windowIndex);this.WindowIndex[windowIndex]=this.CreateMainScript(overlayItem.Script);var bindData=this.GetMainData();this.BindIndexData(windowIndex,bindData);//执行脚本
2433
2434
  }};this.GetMainData=function(){switch(this.ClassName){case"MinuteChartContainer":case"MinuteChartHScreenContainer":return this.SourceData;case"KLineChartContainer":case"KLineChartHScreenContainer":return this.ChartPaint[0].Data;}};this.CreateOverlayFrame=function(){switch(this.ClassName){case"KLineChartContainer":return new OverlayKLineFrame();case"KLineChartHScreenContainer":return new OverlayKLineHScreenFrame();case"MinuteChartContainer":return new OverlayMinuteFrame();case"MinuteChartHScreenContainer":return new OverlayMinuteHScreenFrame();}};//数据导出
2434
2435
  this.ExportData=function(option){if(!this.ExportMainData)return null;if(!this.ChartPaint[0])return null;var mainData=this.GetMainData();if(!mainData||!IFrameSplitOperator.IsNonEmptyArray(mainData.Data))return null;var range=null;var aryKData=mainData.Data;//K线/分时数据
2435
- if(option.Start&&option.End)range=mainData.GetDataRange(option.Start,option.End);var aryData=this.ExportMainData(mainData,range);//导出K线/分时
2436
+ if(option&&option.Start&&option.End)range=mainData.GetDataRange(option.Start,option.End);var aryData=this.ExportMainData(mainData,range);//导出K线/分时
2436
2437
  if(!aryData)return null;//主图+附图指标
2437
- for(var i=1;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(!item||!item.ExportData)continue;var data=item.ExportData(aryKData,range);if(data&&IFrameSplitOperator.IsNonEmptyArray(data)){for(var j=0;j<data.length;++j){var subItem=data[j];if(item.IndexName)aryData.push({Name:subItem.Name+'('+item.IndexName+')',Data:subItem.Data});else aryData.push(subItem);}}}//叠加股票
2438
- for(var i=0;i<this.OverlayChartPaint.length;++i){var item=this.OverlayChartPaint[i];if(!item.Data||!IFrameSplitOperator.IsNonEmptyArray(chart.Data.Data))continue;var data=this.ExportMainData(item.Data,{IsOverlay:true});if(data&&IFrameSplitOperator.IsNonEmptyArray(data)){for(var j=0;j<data.length;++j){var subItem=data[j];aryData.push({Name:subItem.Name+'('+item.Symbol+')',Data:subItem.Data});}}}//叠加指标
2439
- for(var i=0,j=0,k=0;i<this.Frame.SubFrame.length;++i){var item=this.Frame.SubFrame[i];for(j=0;j<item.OverlayIndex.length;++j){var overlayItem=item.OverlayIndex[j];if(IFrameSplitOperator.IsNonEmptyArray(overlayItem.ChartPaint)){for(k=0;k<overlayItem.ChartPaint.length;++k){var chart=overlayItem.ChartPaint[k];if(!chart||!chart.ExportData)continue;var data=chart.ExportData(aryKData,range);if(data&&IFrameSplitOperator.IsNonEmptyArray(data)){for(var index=0;index<data.length;++index){var subItem=data[index];if(chart.IndexName)aryData.push({Name:subItem.Name+'('+chart.IndexName+')',Data:subItem.Data});else aryData.push(subItem);}}}}}}if(option&&option.Type=="CSV"){return this.ExportDataToCSV(aryData);}return aryData;};//重置指标计数器
2438
+ for(var i=1;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(!item||!item.ExportData)continue;var data=item.ExportData(aryKData,range);if(data&&IFrameSplitOperator.IsNonEmptyArray(data)){for(var j=0;j<data.length;++j){var subItem=data[j];if(item.IndexName)aryData.push({Name:subItem.Name+'('+item.IndexName+')',Data:subItem.Data,Description:subItem.Description,Type:1});else aryData.push(subItem);}}}//叠加股票
2439
+ for(var i=0;i<this.OverlayChartPaint.length;++i){var item=this.OverlayChartPaint[i];if(!item.Data||!IFrameSplitOperator.IsNonEmptyArray(item.Data.Data))continue;var data=this.ExportMainData(item.Data,{IsOverlay:true});if(data&&IFrameSplitOperator.IsNonEmptyArray(data)){for(var j=0;j<data.length;++j){var subItem=data[j];aryData.push({Name:subItem.Name+'('+item.Symbol+')',Data:subItem.Data,Type:2});}}}//叠加指标
2440
+ for(var i=0,j=0,k=0;i<this.Frame.SubFrame.length;++i){var item=this.Frame.SubFrame[i];for(j=0;j<item.OverlayIndex.length;++j){var overlayItem=item.OverlayIndex[j];if(IFrameSplitOperator.IsNonEmptyArray(overlayItem.ChartPaint)){for(k=0;k<overlayItem.ChartPaint.length;++k){var chart=overlayItem.ChartPaint[k];if(!chart||!chart.ExportData)continue;var data=chart.ExportData(aryKData,range);if(data&&IFrameSplitOperator.IsNonEmptyArray(data)){for(var index=0;index<data.length;++index){var subItem=data[index];if(chart.IndexName)aryData.push({Name:subItem.Name+'('+chart.IndexName+')',Data:subItem.Data,Description:subItem.Description,Type:3});else aryData.push(subItem);}}}}}}if(option&&option.Type=="CSV"){return this.ExportDataToCSV(aryData);}return aryData;};//重置指标计数器
2440
2441
  this.ClearIndexRunCount=function(){//主图指标
2441
2442
  for(var i=0;i<this.WindowIndex.length;++i){var item=this.WindowIndex[i];if(!item)continue;item.RunCount=0;}//叠加指标
2442
2443
  for(var i=0;i<this.Frame.SubFrame.length;++i){var item=this.Frame.SubFrame[i];for(var j=0;j<item.OverlayIndex.length;++j){var overlayItem=item.OverlayIndex[j];if(overlayItem.Script)overlayItem.Script.RunCount=0;}}};//获取当前的显示的指标 包含叠加指标
@@ -2527,7 +2528,13 @@ this.UpdateTradeStatusData=function(data,option){if(option){//是否清空
2527
2528
  if(option.IsClear===true)this.GlobalOption.TradeStatus=null;}if(!data)return false;if(IFrameSplitOperator.IsNumber(data.Date)&&IFrameSplitOperator.IsNumber(data.Time)&&IFrameSplitOperator.IsNumber(data.Status)){this.GlobalOption.TradeStatus={Date:data.Date,Time:data.Time,Status:data.Status};return true;}return false;};//键盘下按暂停更新
2528
2529
  this.IsPauseUpdateByKeyboard=function(){if(!this.IsPressKeyboard)return false;if(!this.PressKeyboardConfig)return false;if(!this.PressKeyboardConfig.PauseUpdate)return false;return true;},//启动|关闭锁指标 aryIndex=[{ IndexID:指标ID, LockData:{IsLocked:} } ]
2529
2530
  this.EnableLockIndex=function(aryIndex){if(!IFrameSplitOperator.IsNonEmptyArray(aryIndex))return false;var mapIndex=new _map2.default();for(var i=0;i<aryIndex.length;++i){var item=aryIndex[i];if(item.IndexID&&item.LockData)mapIndex.set(item.IndexID,item);}var aryUpdate=[];for(var i=0;i<this.WindowIndex.length;++i){var item=this.WindowIndex[i];if(!item)continue;if(mapIndex.has(item.ID)){var mapItem=mapIndex.get(item.ID);item.SetLock(mapItem.LockData);//设置锁
2530
- aryUpdate.push({ID:i});}}for(var i=0;i<this.Frame.SubFrame.length;++i){var item=this.Frame.SubFrame[i];if(!IFrameSplitOperator.IsNonEmptyArray(item.OverlayIndex))continue;for(var j=0;j<item.OverlayIndex.length;++j){var overlayItem=item.OverlayIndex[j];var script=overlayItem.Script;if(mapIndex.has(script.ID)){var mapItem=mapIndex.get(script.ID);script.SetLock(mapItem.LockData);aryUpdate.push({OverlayID:overlayItem.Identify});}}}if(!IFrameSplitOperator.IsNonEmptyArray(aryUpdate))return false;this.UpdateWindowIndexV2(aryUpdate);return true;};this.TryClickLock=function(x,y){if(!this.Frame||!IFrameSplitOperator.IsNonEmptyArray(this.Frame.SubFrame))return false;for(var i=0;i<this.Frame.SubFrame.length;++i){var item=this.Frame.SubFrame[i];var chartLock=item.Frame.LockPaint;if(!chartLock||!chartLock.LockRect)continue;var tooltip=new TooltipData();if(!chartLock.GetTooltipData(x,y,tooltip))continue;tooltip.HQChart=this;var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CLICK_INDEX_LOCK);if(event&&event.Callback){var sendData={FrameID:item.Frame.Identify,Data:tooltip};event.Callback(event,sendData,this);}if(tooltip.Data.Callback)tooltip.Data.Callback(tooltip);return true;}return false;};this.RecvOverlayIndex=function(identify,data){var overlayIndex=this.GetOverlayIndexByIdentify(identify);if(overlayIndex==null){console.warn('[JSChartContainer::RecvOverlayIndex] can\'t find overlay index. [identify='+identify+']');return;}var script=overlayIndex.OverlayItem.Script;if(!script)return;if(typeof script.RecvSubscribeData!="function")return;var kData=this.GetKData();if(!kData)return;script.RecvSubscribeData(data,this,overlayIndex.WindowIndex,kData);};this.UpdateIndexTemporaryAttribute=function(windowIndex,aryAttribute){if(windowIndex<0)return;if(!IFrameSplitOperator.IsNonEmptyArray(aryAttribute))return;if(!this.Frame||!IFrameSplitOperator.IsNonEmptyArray(this.Frame.SubFrame))return;var mainFrame=this.Frame.SubFrame[windowIndex].Frame;this.IndexTemporaryAttribute[windowIndex]=[];var aryTemporaryAttribute=this.IndexTemporaryAttribute[windowIndex];for(var i=0;i<aryAttribute.length;++i){var item=aryAttribute[i];if(item.Name==JSCHART_TEMPORARY_ATTRIBUTE.MAINFRAME.BOTTOMSPACE){var backup=mainFrame.ChartBorder.BottomSpace;mainFrame.ChartBorder.BottomSpace=item.Value;aryTemporaryAttribute.push({Name:item.Name,Value:item.Value,BackupValue:backup});}else if(item.Name==JSCHART_TEMPORARY_ATTRIBUTE.MAINFRAME.TOPSPACE){var backup=mainFrame.ChartBorder.TopSpace;mainFrame.ChartBorder.TopSpace=item.Value;aryTemporaryAttribute.push({Name:item.Name,Value:item.Value,BackupValue:backup});}else if(item.Name==JSCHART_TEMPORARY_ATTRIBUTE.MAINFRAME.SHOWLEFTTEXT){var backup=mainFrame.YSplitOperator.IsShowLeftText;mainFrame.YSplitOperator.IsShowLeftText=item.Value;aryTemporaryAttribute.push({Name:item.Name,Value:item.Value,BackupValue:backup});}else if(item.Name==JSCHART_TEMPORARY_ATTRIBUTE.MAINFRAME.SHOWRIGHTTEXT){var backup=mainFrame.YSplitOperator.IsShowRightText;mainFrame.YSplitOperator.IsShowRightText=item.Value;aryTemporaryAttribute.push({Name:item.Name,Value:item.Value,BackupValue:backup});}else if(item.Name==JSCHART_TEMPORARY_ATTRIBUTE.MAINFRAME.SPLITTYPE){var backup=mainFrame.YSplitOperator.SplitType;mainFrame.YSplitOperator.SplitType=item.Value;aryTemporaryAttribute.push({Name:item.Name,Value:item.Value,BackupValue:backup});}else if(item.Name==JSCHART_TEMPORARY_ATTRIBUTE.MAINFRAME.HRESERVED){var backup=mainFrame.HorizontalReserved;mainFrame.HorizontalReserved=item.Value;aryTemporaryAttribute.push({Name:item.Name,Value:item.Value,BackupValue:backup});}else if(item.Name==JSCHART_TEMPORARY_ATTRIBUTE.MAINFRAME.TITLEHEIGHT){var backup=mainFrame.ChartBorder.TitleHeight;mainFrame.ChartBorder.TitleHeight=item.Value;aryTemporaryAttribute.push({Name:item.Name,Value:item.Value,BackupValue:backup});}}};this.RestoreIndexTemporaryAttribute=function(windowIndex){if(windowIndex<0)return;if(!this.Frame||!IFrameSplitOperator.IsNonEmptyArray(this.Frame.SubFrame))return;var aryTemporaryAttribute=this.IndexTemporaryAttribute[windowIndex];if(!IFrameSplitOperator.IsNonEmptyArray(aryTemporaryAttribute))return;var mainFrame=this.Frame.SubFrame[windowIndex].Frame;for(var i=0;i<aryTemporaryAttribute.length;++i){var item=aryTemporaryAttribute[i];if(item.Name==JSCHART_TEMPORARY_ATTRIBUTE.MAINFRAME.BOTTOMSPACE){mainFrame.ChartBorder.BottomSpace=item.BackupValue;}else if(item.Name==JSCHART_TEMPORARY_ATTRIBUTE.MAINFRAME.TOPSPACE){mainFrame.ChartBorder.TopSpace=item.BackupValue;}else if(item.Name==JSCHART_TEMPORARY_ATTRIBUTE.MAINFRAME.SHOWLEFTTEXT){mainFrame.YSplitOperator.IsShowLeftText=item.BackupValue;}else if(item.Name==JSCHART_TEMPORARY_ATTRIBUTE.MAINFRAME.SHOWRIGHTTEXT){mainFrame.YSplitOperator.IsShowRightText=item.BackupValue;}else if(item.Name==JSCHART_TEMPORARY_ATTRIBUTE.MAINFRAME.SPLITTYPE){mainFrame.YSplitOperator.SplitType=item.BackupValue;}else if(item.Name==JSCHART_TEMPORARY_ATTRIBUTE.MAINFRAME.HRESERVED){mainFrame.HorizontalReserved=item.BackupValue;}else if(item.Name==JSCHART_TEMPORARY_ATTRIBUTE.MAINFRAME.TITLEHEIGHT){mainFrame.ChartBorder.TitleHeight=item.BackupValue;}}};}function GetDevicePixelRatio(){if(typeof window=='undefined')return 1;return window.devicePixelRatio||1;}function GetFontHeight(context,font,word){if(!context)return null;if(font)context.font=font;var text='擎';if(IFrameSplitOperator.IsString(word))text=word;var fontInfo=context.measureText(text);var textHeight=fontInfo.fontBoundingBoxAscent+fontInfo.fontBoundingBoxDescent;if(!IFrameSplitOperator.IsNumber(textHeight))textHeight=fontInfo.width+2*GetDevicePixelRatio();return textHeight;}function IsPhoneWeb(){var userAgentInfo=navigator.userAgent;var Agents=new Array("Android","iPhone","SymbianOS","Windows Phone","iPad","iPod");for(var v=0;v<Agents.length;v++){if(userAgentInfo.indexOf(Agents[v])>0)return true;}return false;}function OnKeyDown(e)//键盘事件
2531
+ aryUpdate.push({ID:i});}}for(var i=0;i<this.Frame.SubFrame.length;++i){var item=this.Frame.SubFrame[i];if(!IFrameSplitOperator.IsNonEmptyArray(item.OverlayIndex))continue;for(var j=0;j<item.OverlayIndex.length;++j){var overlayItem=item.OverlayIndex[j];var script=overlayItem.Script;if(mapIndex.has(script.ID)){var mapItem=mapIndex.get(script.ID);script.SetLock(mapItem.LockData);aryUpdate.push({OverlayID:overlayItem.Identify});}}}if(!IFrameSplitOperator.IsNonEmptyArray(aryUpdate))return false;this.UpdateWindowIndexV2(aryUpdate);return true;};this.TryClickLock=function(x,y){if(!this.Frame||!IFrameSplitOperator.IsNonEmptyArray(this.Frame.SubFrame))return false;for(var i=0;i<this.Frame.SubFrame.length;++i){var item=this.Frame.SubFrame[i];var chartLock=item.Frame.LockPaint;if(!chartLock||!chartLock.LockRect)continue;var tooltip=new TooltipData();if(!chartLock.GetTooltipData(x,y,tooltip))continue;tooltip.HQChart=this;var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CLICK_INDEX_LOCK);if(event&&event.Callback){var sendData={FrameID:item.Frame.Identify,Data:tooltip};event.Callback(event,sendData,this);}if(tooltip.Data.Callback)tooltip.Data.Callback(tooltip);return true;}return false;};this.RecvOverlayIndex=function(identify,data){var overlayIndex=this.GetOverlayIndexByIdentify(identify);if(overlayIndex==null){console.warn('[JSChartContainer::RecvOverlayIndex] can\'t find overlay index. [identify='+identify+']');return;}var script=overlayIndex.OverlayItem.Script;if(!script)return;if(typeof script.RecvSubscribeData!="function")return;var kData=this.GetKData();if(!kData)return;script.RecvSubscribeData(data,this,overlayIndex.WindowIndex,kData);};this.UpdateIndexTemporaryAttribute=function(windowIndex,aryAttribute){if(windowIndex<0)return;if(!IFrameSplitOperator.IsNonEmptyArray(aryAttribute))return;if(!this.Frame||!IFrameSplitOperator.IsNonEmptyArray(this.Frame.SubFrame))return;var mainFrame=this.Frame.SubFrame[windowIndex].Frame;this.IndexTemporaryAttribute[windowIndex]=[];var aryTemporaryAttribute=this.IndexTemporaryAttribute[windowIndex];for(var i=0;i<aryAttribute.length;++i){var item=aryAttribute[i];if(item.Name==JSCHART_TEMPORARY_ATTRIBUTE.MAINFRAME.BOTTOMSPACE){var backup=mainFrame.ChartBorder.BottomSpace;mainFrame.ChartBorder.BottomSpace=item.Value;aryTemporaryAttribute.push({Name:item.Name,Value:item.Value,BackupValue:backup});}else if(item.Name==JSCHART_TEMPORARY_ATTRIBUTE.MAINFRAME.TOPSPACE){var backup=mainFrame.ChartBorder.TopSpace;mainFrame.ChartBorder.TopSpace=item.Value;aryTemporaryAttribute.push({Name:item.Name,Value:item.Value,BackupValue:backup});}else if(item.Name==JSCHART_TEMPORARY_ATTRIBUTE.MAINFRAME.SHOWLEFTTEXT){var backup=mainFrame.YSplitOperator.IsShowLeftText;mainFrame.YSplitOperator.IsShowLeftText=item.Value;aryTemporaryAttribute.push({Name:item.Name,Value:item.Value,BackupValue:backup});}else if(item.Name==JSCHART_TEMPORARY_ATTRIBUTE.MAINFRAME.SHOWRIGHTTEXT){var backup=mainFrame.YSplitOperator.IsShowRightText;mainFrame.YSplitOperator.IsShowRightText=item.Value;aryTemporaryAttribute.push({Name:item.Name,Value:item.Value,BackupValue:backup});}else if(item.Name==JSCHART_TEMPORARY_ATTRIBUTE.MAINFRAME.SPLITTYPE){var backup=mainFrame.YSplitOperator.SplitType;mainFrame.YSplitOperator.SplitType=item.Value;aryTemporaryAttribute.push({Name:item.Name,Value:item.Value,BackupValue:backup});}else if(item.Name==JSCHART_TEMPORARY_ATTRIBUTE.MAINFRAME.HRESERVED){var backup=mainFrame.HorizontalReserved;mainFrame.HorizontalReserved=item.Value;aryTemporaryAttribute.push({Name:item.Name,Value:item.Value,BackupValue:backup});}else if(item.Name==JSCHART_TEMPORARY_ATTRIBUTE.MAINFRAME.TITLEHEIGHT){var backup=mainFrame.ChartBorder.TitleHeight;mainFrame.ChartBorder.TitleHeight=item.Value;aryTemporaryAttribute.push({Name:item.Name,Value:item.Value,BackupValue:backup});}}};this.RestoreIndexTemporaryAttribute=function(windowIndex){if(windowIndex<0)return;if(!this.Frame||!IFrameSplitOperator.IsNonEmptyArray(this.Frame.SubFrame))return;var aryTemporaryAttribute=this.IndexTemporaryAttribute[windowIndex];if(!IFrameSplitOperator.IsNonEmptyArray(aryTemporaryAttribute))return;var mainFrame=this.Frame.SubFrame[windowIndex].Frame;for(var i=0;i<aryTemporaryAttribute.length;++i){var item=aryTemporaryAttribute[i];if(item.Name==JSCHART_TEMPORARY_ATTRIBUTE.MAINFRAME.BOTTOMSPACE){mainFrame.ChartBorder.BottomSpace=item.BackupValue;}else if(item.Name==JSCHART_TEMPORARY_ATTRIBUTE.MAINFRAME.TOPSPACE){mainFrame.ChartBorder.TopSpace=item.BackupValue;}else if(item.Name==JSCHART_TEMPORARY_ATTRIBUTE.MAINFRAME.SHOWLEFTTEXT){mainFrame.YSplitOperator.IsShowLeftText=item.BackupValue;}else if(item.Name==JSCHART_TEMPORARY_ATTRIBUTE.MAINFRAME.SHOWRIGHTTEXT){mainFrame.YSplitOperator.IsShowRightText=item.BackupValue;}else if(item.Name==JSCHART_TEMPORARY_ATTRIBUTE.MAINFRAME.SPLITTYPE){mainFrame.YSplitOperator.SplitType=item.BackupValue;}else if(item.Name==JSCHART_TEMPORARY_ATTRIBUTE.MAINFRAME.HRESERVED){mainFrame.HorizontalReserved=item.BackupValue;}else if(item.Name==JSCHART_TEMPORARY_ATTRIBUTE.MAINFRAME.TITLEHEIGHT){mainFrame.ChartBorder.TitleHeight=item.BackupValue;}}};//把图形数据格式化导出, 给AI分析
2532
+ this.GetGraphicsDescription=function(option){var data=this.GetGraphicsRawDescription(option);if(!data||!IFrameSplitOperator.IsNonEmptyArray(data.AryData))return null;var strTitle=data.Title;strTitle+="包含以下数据:\r\n";strContent="";for(var i=0;i<data.AryData.length;++i){var item=data.AryData[i];strTitle+=i+1+'. '+item.Title+'\r\n';strContent+=item.Content;}var date=new Date();strTitle+='\u6570\u636E\u521B\u5EFA\u65F6\u95F4:'+date+'\r\n';var strDescription=strTitle+"\r\n\r\n====================完整数据部分========================\r\n\r\n\r\n"+strContent;return{Symbol:this.Symbol,Name:this.Name,Data:strDescription};};//获取原始数据, 给AI分析
2533
+ this.GetGraphicsRawDescription=function(option){JSConsole.Chart.Warn('[JSChartContainer::GetGraphicsRawDescription] '+name+'::GetGraphicsRawDescription not implemented.');return null;};//指标数据
2534
+ this.GetIndexDataDescription=function(option){if(!IFrameSplitOperator.IsNonEmptyArray(this.WindowIndex))return null;var kData=this.GetKData();if(!kData||!IFrameSplitOperator.IsNonEmptyArray(kData.Data))return null;var range=null;if(option&&option.Start&&option.End)range=kData.GetDataRange(option.Start,option.End);var aryKData=kData.Data;var mapIndex=new _map2.default();//key=id, value={ IndexName:, ID:, AryData:[] }
2535
+ for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(!item||!item.ExportData)continue;if(["Main-KLine","Minute-Line","Minute-Average-Line","Minute-Vol-Bar","Minute-BuySell-Bar"].includes(item.Identify))continue;var guid=item.Identify;var data=item.ExportData(aryKData,range);if(!IFrameSplitOperator.IsNonEmptyArray(data))conintue;var indexData=null;if(mapIndex.has(guid)){indexData=mapIndex.get(guid);}else{indexData={Guid:guid,Name:item.IndexName,ID:item.IndexID,AryData:[]};mapIndex.set(guid,indexData);}for(var j=0;j<data.length;++j){var subItem=data[j];var outName="未定义名字";if(subItem.Name)outName=subItem.Name;indexData.AryData.push({Name:''+outName,Data:subItem.Data,Description:subItem.Description});}}//叠加指标
2536
+ for(var i=0,j=0,k=0;i<this.Frame.SubFrame.length;++i){var item=this.Frame.SubFrame[i];for(j=0;j<item.OverlayIndex.length;++j){var overlayItem=item.OverlayIndex[j];if(!IFrameSplitOperator.IsNonEmptyArray(overlayItem.ChartPaint))continue;for(k=0;k<overlayItem.ChartPaint.length;++k){var chart=overlayItem.ChartPaint[k];var guid=chart.Identify;if(!chart||!chart.ExportData)continue;var data=chart.ExportData(aryKData,range);if(!IFrameSplitOperator.IsNonEmptyArray(data))continue;var indexData=null;if(mapIndex.has(guid)){indexData=mapIndex.get(guid);}else{indexData={Guid:guid,Name:chart.IndexName,ID:chart.IndexID,AryData:[]};mapIndex.set(guid,indexData);}for(var index=0;index<data.length;++index){var subItem=data[index];var outName="未定义名字";if(subItem.Name)outName=subItem.Name;indexData.AryData.push({Name:''+outName,Data:subItem.Data,Description:subItem.Description});}}}}if(mapIndex.size<=0)return null;var aryData=[];var bMinutePeriod=ChartData.IsMinutePeriod(this.Period,true);var startIndex=0,endIndex=0;if(range){startIndex=range.Start.Index;endIndex=range.End.Index;}for(var i=0;i<this.WindowIndex.length;++i){var item=this.WindowIndex[i];if(!item)continue;var guid=item.Guid;if(!mapIndex.has(guid))continue;var indexData=mapIndex.get(guid);var data=this.GetIndexItemDescription(aryKData,indexData,item,range);if(data)aryData.push(data);}for(var i=0,j=0,k=0;i<this.Frame.SubFrame.length;++i){var item=this.Frame.SubFrame[i];for(j=0;j<item.OverlayIndex.length;++j){var overlayItem=item.OverlayIndex[j];var indexInfo=overlayItem.Script;var guid=overlayItem.Identify;if(!mapIndex.has(guid))continue;var indexData=mapIndex.get(guid);var data=this.GetIndexItemDescription(aryKData,indexData,indexInfo,range);if(data)aryData.push(data);}}return aryData;};this.GetIndexItemDescription=function(aryKData,indexData,indexInfo,range){var bMinuteChart=this.IsMinuteContainer();var bMinutePeriod=false;if(bMinuteChart)bMinutePeriod=true;else bMinutePeriod=ChartData.IsMinutePeriod(this.Period,true);var startIndex=0,endIndex=aryKData.length-1;if(range){startIndex=range.Start.Index;endIndex=range.End.Index;}var strTitle=this.Name+' '+this.Symbol+' '+indexInfo.Name+'\u6307\u6807\u6570\u636E';var strText='\u3010'+strTitle+'\u3011\r\n';var strValue=null;if(indexInfo.Description)strValue=indexInfo.Description;if(indexInfo.FullDescription)strValue=indexInfo.FullDescription;strText+='\u6307\u6807\u89E3\u91CA:'+strValue+'\r\n';if(indexInfo.Script)strText+='\u6307\u6807\u516C\u5F0F:\r\n----------------------\r\n'+indexInfo.Script+'\r\n------------------------\r\n';if(IFrameSplitOperator.IsNonEmptyArray(indexInfo.Arguments))//参数
2537
+ {strValue="";for(var i=0;i<indexInfo.Arguments.length;++i){var argItem=indexInfo.Arguments[i];strValue+=argItem.Name+'='+argItem.Value+',';}strText+='\u6307\u6807\u53C2\u6570:'+strValue+'\r\n';}strText+="字段说明\r\n";strText+="1. Date:日期 格式YYYYMMDD\r\n";strText+="2. Time:时间 格式hhmm\r\n";strText+="原始数据如下\r\n";strText+="Date,Time";for(var i=0;i<indexData.AryData.length;++i){var indexItem=indexData.AryData[i];strText+=','+indexItem.Name;}strText+="\r\n";for(var i=startIndex;i<=endIndex&&i<aryKData.length;++i){var kItem=aryKData[i];var time=null;if(bMinutePeriod)time=kItem.Time;strText+=kItem.Date+','+time;for(var j=0;j<indexData.AryData.length;++j){var indexItem=indexData.AryData[j];var value=null;if(indexItem.Data)value=indexItem.Data[i];strText+=','+value;}strText+="\r\n";}strText+="\r\n\r\n";return{Title:strTitle,Content:strText,Type:"指标数据"};};}function GetDevicePixelRatio(){if(typeof window=='undefined')return 1;return window.devicePixelRatio||1;}function GetFontHeight(context,font,word){if(!context)return null;if(font)context.font=font;var text='擎';if(IFrameSplitOperator.IsString(word))text=word;var fontInfo=context.measureText(text);var textHeight=fontInfo.fontBoundingBoxAscent+fontInfo.fontBoundingBoxDescent;if(!IFrameSplitOperator.IsNumber(textHeight))textHeight=fontInfo.width+2*GetDevicePixelRatio();return textHeight;}function IsPhoneWeb(){var userAgentInfo=navigator.userAgent;var Agents=new Array("Android","iPhone","SymbianOS","Windows Phone","iPad","iPod");for(var v=0;v<Agents.length;v++){if(userAgentInfo.indexOf(Agents[v])>0)return true;}return false;}function OnKeyDown(e)//键盘事件
2531
2538
  {if(this.JSChartContainer&&this.JSChartContainer.OnKeyDown)this.JSChartContainer.OnKeyDown(e);}function OnKeyUp(e)//键盘事件
2532
2539
  {if(this.JSChartContainer&&this.JSChartContainer.OnKeyUp)this.JSChartContainer.OnKeyUp(e);}function OnWheel(e)//上下滚动事件
2533
2540
  {if(this.JSChartContainer&&this.JSChartContainer.OnWheel)this.JSChartContainer.OnWheel(e);}function ToFixed(number,precision){var b=1;if(isNaN(number))return number;if(number<0)b=-1;var multiplier=Math.pow(10,precision);var value=Math.round(Math.abs(number)*multiplier)/multiplier*b;if(/^(\d+(?:\.\d+)?)(e)([\-]?\d+)$/.test(value))var s=value.toFixed2(precision);else var s=value.toString();var rs=s.indexOf('.');if(rs<0&&precision>0){rs=s.length;s+='.';}while(s.length<=rs+precision){s+='0';}return s;}function IsRectOverlap(rt,rt2){if(Math.max(rt.Left,rt2.Left)<Math.min(rt.Right,rt2.Right)&&Math.max(rt.Top,rt2.Top)<Math.min(rt.Bottom,rt2.Bottom))return true;return false;}//获取文字高度和宽度
@@ -3682,14 +3689,18 @@ this.FixKData=function(aryKData,period){if(ChartData.IsDayPeriod(period,true)){r
3682
3689
  result[i]=item;++i;}return result;};this.FixKData_Minute=function(aryKData){var result=[];var nOverlayDataCount=aryKData.length;for(var i=0,j=0;i<this.Data.length;){var kItem=this.Data[i];var kDateTime=ChartData.DateTimeToNumber(kItem);if(j<nOverlayDataCount){var fItem=aryKData[j];var fDateTime=ChartData.DateTimeToNumber(fItem);if(fDateTime>kDateTime){++i;continue;}}if(j+1<nOverlayDataCount){var fItem=aryKData[j];var fItem2=aryKData[j+1];var fDateTime=ChartData.DateTimeToNumber(fItem);var fDateTime2=ChartData.DateTimeToNumber(fItem2);if(fDateTime<kDateTime&&fDateTime2<=kDateTime){++j;continue;}}var item=new HistoryData();item.Date=kItem.Date;item.Time=kItem.Time;var index=j<nOverlayDataCount?j:nOverlayDataCount-1;var fItem=aryKData[index];item.Close=fItem.Close;item.High=fItem.High;item.Low=fItem.Low;item.Open=fItem.Open;item.YClose=fItem.YClose;item.Amount=fItem.Amount;item.Vol=fItem.Vol;item.ExDate=fItem.Date;//对应叠加数据的日期 调试用
3683
3690
  item.ExTime=fItem.Time;//对应叠加数据的日期 调试用
3684
3691
  result[i]=item;++i;}return result;};//获取K线的索引范围 start={ Date, Time };
3685
- this.GetDataRange=function(start,end){if(!IFrameSplitOperator.IsNonEmptyArray(this.Data))return null;var range={};//{Start:{Date, Time, Index,}, End:{Date, Time, Index}}
3686
- for(var i=0;i<this.Data.length;++i){var item=this.Data[i];if(item.Date==start.Date){if(IFrameSplitOperator.IsNumber(start.Time)){if(item.Time==start.Time)range.Start={Index:i,Date:item.Date,Time:item.Time};}else{range.Start={Index:i,Date:item.Date};}}if(item.Date=end.Date){if(IFrameSplitOperator.IsNumber(end.Time)){if(item.Time==end.Time)range.End={Index:i,Date:item.Date,Time:item.Time};}else{range.End={Index:i,Date:item.Date};}}if(range.Start&&range.End)return range;}return null;};//导出单数组数据
3692
+ this.GetDataRange=function(start,end){if(!IFrameSplitOperator.IsNonEmptyArray(this.Data))return null;var firstItem=this.Data[0];var endItem=this.Data[this.Data.length-1];var range={Start:{Index:0,Date:firstItem.Date,Time:firstItem.Time},End:{Index:this.Data.length-1,Date:endItem.Date,Time:endItem.Time}};//{Start:{Date, Time, Index,}, End:{Date, Time, Index}}
3693
+ //查找起始位置
3694
+ for(var i=0;i<this.Data.length;++i){var item=this.Data[i];var bFind=false;if(IFrameSplitOperator.IsNumber(start.Time))//日期+时间
3695
+ {if(item.Date>start.Date||item.Date===start.Date&&item.Time>=start.Time)bFind=true;}else{if(item.Date>=start.Date)bFind=true;}if(bFind){range.Start={Index:i,Date:item.Date};break;}}//查结束位置
3696
+ for(var i=this.Data.length-1;i>=0;--i){var item=this.Data[i];var bFind=false;if(IFrameSplitOperator.IsNumber(end.Time))//日期+时间
3697
+ {if(item.Date<end.Date||item.Date===end.Date&&item.Time<=end.Time)bFind=true;}else{if(item.Date<=end.Date)bFind=true;}if(bFind){range.End={Index:i,Date:item.Date};break;}}return range;};//导出单数组数据
3687
3698
  this.ExportArrayData=function(aryKData,option){if(!IFrameSplitOperator.IsNonEmptyArray(this.Data))return null;var start=0,end=this.Data.length-1;//限制范围
3688
3699
  if(option&&option.Start&&option.End&&IFrameSplitOperator.IsNumber(option.Start.Index)&&IFrameSplitOperator.IsNumber(option.End.Index)){start=option.Start.Index;end=option.End.Index;}var aryData=[];for(var i=start;i<=end&&i<this.Data.length;++i){aryData[i]=this.Data[i];}return aryData;};this.ExportBoolData=function(aryKData,option){if(!IFrameSplitOperator.IsNonEmptyArray(this.Data))return null;var start=0,end=this.Data.length-1;//限制范围
3689
3700
  if(option&&option.Start&&option.End&&IFrameSplitOperator.IsNumber(option.Start.Index)&&IFrameSplitOperator.IsNumber(option.End.Index)){start=option.Start.Index;end=option.End.Index;}var aryValue=[];for(var i=start;i<=end&&i<this.Data.length;++i){var item=this.Data[i];aryValue[i]=false;if(!IFrameSplitOperator.IsPlusNumber(item))continue;aryValue[i]=true;}return aryValue;};//导出K线数据
3690
3701
  this.ExportKLineData=function(option){if(!IFrameSplitOperator.IsNonEmptyArray(this.Data))return null;var start=0,end=this.Data.length-1;//限制范围
3691
3702
  if(option&&option.Start&&option.End&&IFrameSplitOperator.IsNumber(option.Start.Index)&&IFrameSplitOperator.IsNumber(option.End.Index)){start=option.Start.Index;end=option.End.Index;}var aryDate=[],aryOpen=[],aryHigh=[],aryLow=[],aryVol=[],aryAmount=[],aryClose=[],aryTime=[];for(var i=start;i<=end&&i<this.Data.length;++i){var item=this.Data[i];aryDate[i]=item.Date;aryOpen[i]=item.Open;aryHigh[i]=item.High;aryLow[i]=item.Low;aryClose[i]=item.Close;aryVol[i]=item.Vol;aryAmount[i]=item.Amount;aryTime[i]=item.Time;}if(option){if(option.IsOverlay)//叠加股票不返回时间,日期
3692
- {var result=[{Name:"Open",Data:aryOpen},{Name:"High",Data:aryHigh},{Name:"Low",Data:aryLow},{Name:"Close",Data:aryClose},{Name:"Vol",Data:aryVol},{Name:"Amount",Data:aryAmount}];return result;}}var result=[{Name:"Date",Data:aryDate}];if(ChartData.IsMinutePeriod(this.Period,true)||ChartData.IsSecondPeriod(this.Period)||ChartData.IsMilliSecondPeriod(this.Period))result.push({Name:"Time",Data:aryTime});result.push({Name:"Open",Data:aryOpen},{Name:"High",Data:aryHigh},{Name:"Low",Data:aryLow},{Name:"Close",Data:aryClose},{Name:"Vol",Data:aryVol},{Name:"Amount",Data:aryAmount});return result;};//导出分时图数据
3703
+ {var result=[{Name:"Open",Data:aryOpen},{Name:"High",Data:aryHigh},{Name:"Low",Data:aryLow},{Name:"Close",Data:aryClose},{Name:"Vol",Data:aryVol},{Name:"Amount",Data:aryAmount}];return result;}}var result=[{Name:"Date",Data:aryDate,Description:"日期"}];if(ChartData.IsMinutePeriod(this.Period,true)||ChartData.IsSecondPeriod(this.Period)||ChartData.IsMilliSecondPeriod(this.Period))result.push({Name:"Time",Data:aryTime,Description:"时间"});result.push({Name:"Open",Data:aryOpen,Description:"开盘价"},{Name:"High",Data:aryHigh,Description:"最高价"},{Name:"Low",Data:aryLow,Description:"最低价"},{Name:"Close",Data:aryClose,Description:"收盘价"},{Name:"Vol",Data:aryVol,Description:"成交量"},{Name:"Amount",Data:aryAmount,Description:"成交金额"});return result;};//导出分时图数据
3693
3704
  this.ExportMinuteData=function(option){if(!IFrameSplitOperator.IsNonEmptyArray(this.Data))return null;var aryDate=[],aryOpen=[],aryHigh=[],aryLow=[],aryVol=[],aryAmount=[],aryClose=[],aryTime=[];var aryPosition=[],aryAvPrice=[];var start=0,end=this.Data.length-1;//限制范围
3694
3705
  if(option&&option.Start&&option.End&&IFrameSplitOperator.IsNumber(option.Start.Index)&&IFrameSplitOperator.IsNumber(option.End.Index)){start=option.Start.Index;end=option.End.Index;}for(var i=start;i<=end&&i<this.Data.length;++i){var item=this.Data[i];aryDate[i]=item.Date;aryOpen[i]=item.Open;aryHigh[i]=item.High;aryLow[i]=item.Low;aryClose[i]=item.Close;aryVol[i]=item.Vol;aryAmount[i]=item.Amount;aryTime[i]=item.Time;aryAvPrice[i]=item.AvPrice;aryPosition[i]=item.Position;}var result=[{Name:"Open",Data:aryOpen},{Name:"High",Data:aryHigh},{Name:"Low",Data:aryLow},{Name:"Close",Data:aryClose},{Name:"Vol",Data:aryVol},{Name:"Amount",Data:aryAmount},{Name:"AvPrice",Data:aryAvPrice},{Name:"Position",Data:aryPosition}];if(option){if(option.IsOverlay)//叠加股票不返回时间,日期
3695
3706
  return result;}result.splice(0,0,{Name:"Date",Data:aryDate},{Name:"Time",Data:aryTime});return result;};}ChartData.DateTimeToNumber=function(kItem){return kItem.Date*10000+kItem.Time;};ChartData.GetKLineDataTime=function(kLineItem)//获取K线的 日期和时间 如果时间没有就用0
@@ -3717,6 +3728,7 @@ this.SelectedBGColor=g_JSChartResource.SelectedChart.BGColor;this.DrawSelectedSt
3717
3728
  this.PtInChart;//function(x,y) { }
3718
3729
  this.IsFullRangeMaxMin=false;//this.GetMaxMin() true=计算全部的最大最小值 false=计算可视范围的最大最小值
3719
3730
  this.IsExcludeYValue=false;//不参与Y轴计算
3731
+ this.Description;//图形描述信息
3720
3732
  this.Draw=function(){};this.BuildKey=function(item){if(IFrameSplitOperator.IsNumber(item.Time))return item.Date+'-'+item.Time;else return item.Date;};//保存图形状态
3721
3733
  this.SaveCacheData=function(name,value){if(!this.ChartFrame||!this.ChartFrame.GlobalOption)return false;var mapIndexCache=this.ChartFrame.GlobalOption.MapIndexChartCache;if(!mapIndexCache)return false;if(!this.Script||!this.Script.Guid)return false;if(!this.Name)return false;var id=this.Script.Guid;//指标ID;
3722
3734
  if(!mapIndexCache.has(id)){mapIndexCache.set(id,{MapData:new _map2.default()});}var mapItem=mapIndexCache.get(id);var key=this.Name+'-'+name;mapItem.MapData.set(key,value);return true;};//获取缓存数据 返回数据 out:{ Data, Key, IndexGuid }
@@ -3754,7 +3766,7 @@ this.PtInBar=function(x,y,option){if(!this.IsShow||this.ChartFrame.IsMinSize)ret
3754
3766
  if(option){if(option.BarWidth>0)barWidth=option.BarWidth;if(option.MinuteVolBar==true){isMinuteVolBar=true;barWidth=4;}else if(option.StackedBar==true){isStackedBar=true;}if(IFrameSplitOperator.IsNumber(option.VolUnit))volUnit=option.VolUnit;}for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j,xOffset+=dataWidth+distanceWidth){var value=this.Data.Data[i];if(value==null)continue;if(isMinute){var xLine=this.ChartFrame.GetXFromIndex(j);var left=xLine-barWidth/2;var right=left+barWidth;}else{var left=xOffset;var right=xOffset+dataWidth;if(right>chartright)break;}if(isMinuteVolBar){if(!IFrameSplitOperator.IsNumber(value.Vol))continue;var yBar=this.ChartFrame.GetYFromData(value.Vol/volUnit);var barTop=yBar,barBottom=yBottom;}else if(isStackedBar){var maxValue=0,minValue=0;if(!IFrameSplitOperator.IsNonEmptyArray(value))continue;for(var k=0;k<value.length;++k){var barValue=value[k];if(!IFrameSplitOperator.IsNumber(barValue))continue;if(barValue==0)continue;if(barValue>0)maxValue+=barValue;else if(barValue<0)minValue+=barValue;}var barTop=this.ChartFrame.GetYFromData(maxValue);var barBottom=this.ChartFrame.GetYFromData(minValue);}else{var yBar=this.ChartFrame.GetYFromData(value);var barTop=yBar,barBottom=yBottom;}if(barTop>barBottom){barTop=yBottom;barBottom=yBar;}var barLeft=left,barRight=right;if(barWidth>0){barLeft=left+(right-left)/2-barWidth/2;barRight=barLeft+barWidth;}if(x>=barLeft&&x<=barRight&&y>=barTop&&y<=barBottom)return{Identify:this.Identify,Chart:this};if(right>x)break;}return null;};this.PtInKBar=function(x,y,option){if(!this.IsShow||this.ChartFrame.IsMinSize)return null;var isHScreen=this.ChartFrame.IsHScreen===true;if(isHScreen)return null;var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var border=this.ChartBorder.GetBorder();var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;var chartright=border.RightEx;var xPointCount=this.ChartFrame.XPointCount;if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return null;if(isHScreen){var border=this.ChartBorder.GetHScreenBorder();xOffset=border.TopEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;chartright=border.BottomEx;}if(x<xOffset||x>chartright)return null;if(y>border.BottomEx||y<border.TopEx)return null;var firstOverlayOpen=null;var kBarType=0;var firstOpen=null;if(option&&option.OverlayKLine){kBarType=1;//叠加K线
3755
3767
  firstOpen=this.GetFirstOpen();}for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j,xOffset+=dataWidth+distanceWidth){var data=this.Data.Data[i];if(!data||data.Open==null||data.High==null||data.Low==null||data.Close==null)continue;if(firstOverlayOpen==null)firstOverlayOpen=data.Open;var left=xOffset;var right=xOffset+dataWidth;if(right>chartright)break;if(x>=left&&x<=right){if(kBarType==1){var yLow=this.GetYFromData(data.Low/firstOverlayOpen*firstOpen,false);var yHigh=this.GetYFromData(data.High/firstOverlayOpen*firstOpen,false);}else{var yLow=this.GetYFromData(data.Low,false);var yHigh=this.GetYFromData(data.High,false);}if(y<=yLow&&y>=yHigh)return{Identify:this.Identify,Chart:this};}if(right>x)break;}};this.IsShowIndexTitleOnly=function(){if(this.ChartFrame&&this.ChartFrame.ChartBorder&&this.ChartFrame.ChartBorder.IsShowTitleOnly)return true;return false;};//是否隐藏指标
3756
3768
  this.IsHideScriptIndex=function(){if(this.Script&&this.Script.IsShow==false)return true;return false;};//导出单数组数据
3757
- this.ExportArrayData=function(aryKData,option){var data=this.Data.ExportArrayData(aryKData,option);return[{Name:this.Name,Data:data}];};this.ExportBoolData=function(aryKData,option){var data=this.Data.ExportBoolData(aryKData,option);return[{Name:this.Name,Data:data}];};//获取单数组的数据某一个数据 indexData={ Index:数据索引 }
3769
+ this.ExportArrayData=function(aryKData,option){var data=this.Data.ExportArrayData(aryKData,option);return[{Name:this.Name,Data:data,Description:this.Description}];};this.ExportBoolData=function(aryKData,option){var data=this.Data.ExportBoolData(aryKData,option);return[{Name:this.Name,Data:data,Description:this.Description}];};//获取单数组的数据某一个数据 indexData={ Index:数据索引 }
3758
3770
  this.GetArrayItemData=function(indexData){if(!indexData)return null;if(!IFrameSplitOperator.IsNumber(indexData.Index))return null;if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return null;var index=indexData.Index;if(index<0||index>=this.Data.Data.length)return null;var item=this.Data.Data[index];return[{Value:item,Color:this.Color,Name:this.Name}];};}//缓存键值
3759
3771
  IChartPainting.CACHE_KEY={SELECTED:"_Selected_Key_"//图形元素选中(单选)
3760
3772
  //缩放因子
@@ -4402,7 +4414,7 @@ this.newMethod();delete this.newMethod;this.ClassName='ChartErrorMessage';//类
4402
4414
  this.Draw=function(){if(!this.IsShow)return;if(this.NotSupportMessage)this.DrawNotSupportmessage();};}//线段 支持横屏
4403
4415
  function ChartLine(){this.newMethod=IChartPainting;//派生
4404
4416
  this.newMethod();delete this.newMethod;this.ClassName='ChartLine';//类名
4405
- this.Color="rgb(255,193,37)";//线段颜色
4417
+ this.Description="线段";this.Color="rgb(255,193,37)";//线段颜色
4406
4418
  this.LineWidth;//线段宽度
4407
4419
  this.DrawType=0;//画图方式 0=无效数平滑 1=无效数不画断开
4408
4420
  this.IsDotLine=false;//虚线
@@ -4535,7 +4547,7 @@ function ChartLineStick(){this.newMethod=ChartStick;//派生
4535
4547
  this.newMethod();delete this.newMethod;this.ClassName='ChartLineStick';this.Draw=function(){if(!this.IsShow||this.ChartFrame.IsMinSize)return;if(this.IsShowIndexTitleOnly())return;if(this.IsHideScriptIndex())return;if(this.NotSupportMessage){this.DrawNotSupportmessage();return;}this.DrawStick();this.DrawLine();};}//通达信语法 VOLSTICK 支持横屏
4536
4548
  function ChartVolStick(){this.newMethod=IChartPainting;//派生
4537
4549
  this.newMethod();delete this.newMethod;this.UpColor=g_JSChartResource.UpBarColor;this.DownColor=g_JSChartResource.DownBarColor;this.HistoryData;//历史数据
4538
- this.KLineDrawType=0;this.ClassName='ChartVolStick';this.BarWidth;//固定宽度 目前只支持宽度为1
4550
+ this.KLineDrawType=0;this.ClassName='ChartVolStick';this.Description="柱子";this.BarWidth;//固定宽度 目前只支持宽度为1
4539
4551
  this.BarType;//柱子状态 1=实心 0=空心 2=涨实跌空 如果设置了这个属性, 属性KLineDrawType无效
4540
4552
  this.BarColorType=0;//0=柱子颜色跟K线走 1=正upcolor 负downcolor
4541
4553
  this.PtInChart=this.PtInBar;this.DrawSelectedStatus=this.DrawLinePoint;this.ExportData=this.ExportArrayData;this.Draw=function(){if(!this.IsShow||this.ChartFrame.IsMinSize||!this.IsVisible)return;if(this.IsShowIndexTitleOnly())return;if(this.IsHideScriptIndex())return;if(this.ChartFrame.IsHScreen===true){this.HScreenDraw();return;}var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var border=this.ChartBorder.GetBorder();var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;var chartright=border.RightEx;var xPointCount=this.ChartFrame.XPointCount;var lockRect=this.GetLockRect();if(lockRect)chartright=lockRect.Left;var isMinute=this.IsMinuteFrame();var yBottom=this.ChartFrame.GetYFromData(0);this.Canvas.save();if(dataWidth>=4&&!(this.BarWidth===1)){yBottom=ToFixedRect(yBottom);for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j,xOffset+=dataWidth+distanceWidth){var value=this.Data.Data[i];var kItem=this.HistoryData.Data[i];if(value==null||kItem==null)continue;if(!IFrameSplitOperator.IsNumber(value))continue;if(value==0)continue;var left=xOffset;var right=xOffset+dataWidth;if(right>chartright)break;var y=this.ChartFrame.GetYFromData(value);var barColor=this.GetBarColor(kItem,value);var bUp=barColor.IsUp;var height=ToFixedRect(Math.abs(yBottom-y)>=1?yBottom-y:1);//高度调整为整数, 如果小于1, 统一使用1
@@ -8908,7 +8920,15 @@ this.LockCorssCursor=function(option){if(option&&option.KItem)//指定日期时
8908
8920
  {var kData=this.GetKData();if(!kData||!IFrameSplitOperator.IsNonEmptyArray(kData.Data))return false;var kItem={Date:option.KItem.Date,Time:option.KItem.Time,Index:-1};kData.FindDataIndexByDateTime([kItem]);if(kItem.Index<0)return false;var xItem=this.GlobalOption.LockCorssCursor.X;xItem.KLine={DataIndex:kItem.Index,Date:kItem.Date,Time:kItem.Time};xItem.Enable=true;}else{if(this.CursorIndex<0)return false;var kData=this.GetKData();if(!kData||!IFrameSplitOperator.IsNonEmptyArray(kData.Data))return false;var dataIndex=kData.DataOffset+parseInt(this.CursorIndex.toFixed(0));var kItem=kData.Data[dataIndex];if(!kItem)return false;var xItem=this.GlobalOption.LockCorssCursor.X;xItem.KLine={DataIndex:dataIndex,Date:kItem.Date,Time:kItem.Time};xItem.Enable=true;}if(option&&option.Draw)this.Draw();return true;};this.GetCorssCursorPosition=function(){var position={LastPoint:{X:this.LastPoint.X,Y:this.LastPoint.Y},CursorIndex:this.CursorIndex};if(!this.GlobalOption||!this.GlobalOption.LockCorssCursor)return position;var xItem=this.GlobalOption.LockCorssCursor.X;if(xItem.Enable&&xItem.KLine){var kData=this.GetKData();if(!kData||!IFrameSplitOperator.IsNonEmptyArray(kData.Data))return position;position.CursorIndex=xItem.KLine.DataIndex-kData.DataOffset;position.LastPoint.X=this.Frame.GetXFromIndex(position.CursorIndex,false);var border=this.Frame.ChartBorder.GetBorder();if(position.LastPoint.Y<border.Top||position.LastPoint.Y>border.Bottom)//超出图形框子, 调整为收盘价
8909
8921
  {var kItem=kData.Data[xItem.KLine.DataIndex];var y=this.Frame.SubFrame[0].Frame.GetYFromData(kItem.Close);position.LastPoint.Y=y;}}return position;};this.GetDateTimeByPoint=function(x,y){var clientPos=this.PtInClient(x,y);if(clientPos<0)return null;if(!IFrameSplitOperator.IsNumber(x))return;if(!IFrameSplitOperator.IsNonEmptyArray(this.Frame.SubFrame))return null;var frame=this.Frame.SubFrame[0].Frame;if(!frame)return null;var kData=this.GetKData();if(!kData||!IFrameSplitOperator.IsNonEmptyArray(kData.Data))return null;var index=parseInt(frame.GetXData(x));var dataIndex=index+kData.DataOffset;if(dataIndex<0||dataIndex>=kData.Data.length)return null;var kItem=kData.Data[dataIndex];if(!kItem)return null;var result={Date:kItem.Date,Time:kItem.Time,DataIndex:dataIndex,Index:index,ClientPos:clientPos};return result;};//修正十字光标位置有效的K线
8910
8922
  this.FixCursorIndexValid=function(){var kData=this.GetKData();if(!kData||!IFrameSplitOperator.IsNonEmptyArray(kData.Data))return false;var dataIndex=this.CursorIndex+kData.DataOffset;if(dataIndex>=kData.Data.length){this.CursorIndex=kData.Data.length-kData.DataOffset-1;return true;}return false;};//option={ FrameID:, Enable: }
8911
- this.EnableZoomYCoordinate=function(option){if(!option)return false;if(!IFrameSplitOperator.IsNumber(option.FrameID))return false;if(!IFrameSplitOperator.IsBool(option.Enable))return false;if(!IFrameSplitOperator.IsNonEmptyArray(this.Frame.SubFrame))return false;if(option.FrameID<0||option.FrameID>this.Frame.SubFrame.length)return false;var item=this.Frame.SubFrame[option.FrameID];if(!item||!item.Frame||!item.Frame.YSplitOperator)return false;var frame=item.Frame;var splitOper=frame.YSplitOperator;if(option.Enable){var max=frame.HorizontalMax,min=frame.HorizontalMin;if(!IFrameSplitOperator.IsNumber(max)||!IFrameSplitOperator.IsNumber(min))return false;splitOper.FixedYMaxMin={Max:max,Min:min};splitOper.EnableZoomUpDown=true;frame.XYSplit=true;this.ChartDragSelectRect.EnableLButton=false;}else{splitOper.FixedYMaxMin=null;splitOper.EnableZoomUpDown=false;frame.XYSplit=true;}this.Draw();};}//API 返回数据 转化为array[]
8923
+ this.EnableZoomYCoordinate=function(option){if(!option)return false;if(!IFrameSplitOperator.IsNumber(option.FrameID))return false;if(!IFrameSplitOperator.IsBool(option.Enable))return false;if(!IFrameSplitOperator.IsNonEmptyArray(this.Frame.SubFrame))return false;if(option.FrameID<0||option.FrameID>this.Frame.SubFrame.length)return false;var item=this.Frame.SubFrame[option.FrameID];if(!item||!item.Frame||!item.Frame.YSplitOperator)return false;var frame=item.Frame;var splitOper=frame.YSplitOperator;if(option.Enable){var max=frame.HorizontalMax,min=frame.HorizontalMin;if(!IFrameSplitOperator.IsNumber(max)||!IFrameSplitOperator.IsNumber(min))return false;splitOper.FixedYMaxMin={Max:max,Min:min};splitOper.EnableZoomUpDown=true;frame.XYSplit=true;this.ChartDragSelectRect.EnableLButton=false;}else{splitOper.FixedYMaxMin=null;splitOper.EnableZoomUpDown=false;frame.XYSplit=true;}this.Draw();};this.GetGraphicsRawDescription=function(option){var strTitle='K线图及其指标数据.\r\n';strTitle+='K\u7EBF\u5468\u671F:'+this.GetPeriodName()+'\r\n';var aryData=[];//K线
8924
+ var data=this.GetKDataDescription(option);if(data)aryData.push(data);//指标数据
8925
+ var data=this.GetIndexDataDescription(option);if(IFrameSplitOperator.IsNonEmptyArray(data))aryData.push.apply(aryData,(0,_toConsumableArray3.default)(data));//信息地雷
8926
+ var data=this.GetMinesInfoDescription(option);if(IFrameSplitOperator.IsNonEmptyArray(data))aryData.push.apply(aryData,(0,_toConsumableArray3.default)(data));//叠加股票
8927
+ var data=this.GetOverlaySymbolDescription(option);if(IFrameSplitOperator.IsNonEmptyArray(data))aryData.push.apply(aryData,(0,_toConsumableArray3.default)(data));return{AryData:aryData,Title:strTitle};};//K线信息
8928
+ this.GetKDataDescription=function(option){var kData=this.GetKData();if(!kData||!IFrameSplitOperator.IsNonEmptyArray(kData.Data))return null;var startIndex=0,endIndex=kData.Data.length-1;if(option){if(option.Start&&option.End)//某一段时间的
8929
+ {var range=kData.GetDataRange(option.Start,option.End);if(!range)return null;startIndex=range.Start.Index;endIndex=range.End.Index;}}var strTitle=this.Name+' '+this.Symbol+' K\u7EBF\u6570\u636E';var strDescription='\u3010'+strTitle+'\u3011\r\n';strDescription+="字段说明\r\n";strDescription+="1. Date:日期 格式YYYYMMDD\r\n";strDescription+="2. Time:时间 格式hhmm\r\n";strDescription+="3. Open:开盘价\r\n";strDescription+="4. Close:收盘价\r\n";strDescription+="5. High:最高价\r\n";strDescription+="6. Low:最低价\r\n";strDescription+="7. Amount:成交金额\r\n";strDescription+="8. Vol:成交量\r\n";strDescription+="原始数据如下\r\n";var bMinutePeriod=ChartData.IsMinutePeriod(this.Period,true);strText="Date,Time,Open,High,Low,Close,Vol,Amount\r\n";for(var i=startIndex;i<kData.Data.length&&i<=endIndex;++i){var kItem=kData.Data[i];var time=null;if(bMinutePeriod)time=kItem.Time;strText+=kItem.Date+','+time+','+kItem.Open+','+kItem.High+','+kItem.Low+','+kItem.Close+','+kItem.Vol+','+kItem.Amount+'\r\n';}strDescription+=strText;strDescription+="\r\n\r\n";return{Title:strTitle,Content:strDescription,Type:"K线数据"};};//叠加股票信息
8930
+ this.GetOverlaySymbolDescription=function(){if(!IFrameSplitOperator.IsNonEmptyArray(this.OverlayChartPaint))return null;var aryData=[];var strDescription="";var bMinutePeriod=ChartData.IsMinutePeriod(this.Period,true);for(var i=0;i<this.OverlayChartPaint.length;++i){var item=this.OverlayChartPaint[i];if(!item)continue;var kData=item.Data;if(!kData||!IFrameSplitOperator.IsNonEmptyArray(kData.Data))continue;var strTitle=item.Title+' '+item.Symbol+' K\u7EBF\u6570\u636E';var strText='\u3010'+strTitle+'\u3011\r\n';strText+="字段说明\r\n";strText+="1. Date:日期 格式YYYYMMDD\r\n";strText+="2. Time:时间 hhmm\r\n";strText+="3. Open:开盘价\r\n";strText+="4. Close:收盘价\r\n";strText+="5. Low:最低价\r\n";strText+="6. High:最高价\r\n";strText+="7. Amount:成交金额\r\n";strText+="8. Vol:成交量\r\n";strText+="原始数据如下\r\n";strText+="Date,Time,Open,High,Low,Close,Vol,Amount\r\n";for(var j=0;j<kData.Data.length;++j){var kItem=kData.Data[j];var time=null;if(bMinutePeriod)time=kItem.Time;strText+=kItem.Date+','+time+','+kItem.Open+','+kItem.High+','+kItem.Low+','+kItem.Close+','+kItem.Vol+','+kItem.Amount+'\r\n';}strText+="\r\n\r\n";aryData.push({Title:strTitle,Content:strText,Type:"叠加股票"});}return aryData;};//信息地雷
8931
+ this.GetMinesInfoDescription=function(option){if(!IFrameSplitOperator.IsNonEmptyArray(this.ChartInfo))return null;var aryData=[];var strText="",strTitle="";for(var i=0;i<this.ChartInfo.length;++i){var item=this.ChartInfo[i];if(item.ClassName=="BlockTrading"){if(!IFrameSplitOperator.IsNonEmptyArray(item.Data))continue;strTitle=this.Name+' '+this.Symbol+' \u5927\u5B97\u4EA4\u6613\u6570\u636E';strText='\u3010'+strTitle+'\u3011\r\n';strText+="字段说明\r\n";strText+="1. Date:日期 格式YYYYMMDD\r\n";strText+="2. Price:交易价格\r\n";strText+="3. Vol:交易金额\r\n";strText+="原始数据如下\r\n";strText+="Date,Price,Vol\r\n";for(var j=0;j<item.Data.length;++j){var dataItem=item.Data[j];if(!dataItem||!dataItem.ExtendData||!IFrameSplitOperator.IsNumber(dataItem.Date))continue;var price=null,vol=null;var extendData=dataItem.ExtendData;if(IFrameSplitOperator.IsNumber(extendData.Price))price=extendData.Price;if(IFrameSplitOperator.IsNumber(extendData.Vol))vol=extendData.Vol;strText+=dataItem.Date+','+price+','+vol+'\r\n';}strText+="\r\n\r\n";aryData.push({Title:strTitle,Content:strText,Type:"大宗交易"});}else if(item.ClassName=="DragonTigerInfo"){if(!IFrameSplitOperator.IsNonEmptyArray(item.Data))continue;strTitle=this.Name+' '+this.Symbol+' \u9F99\u864E\u699C\u6570\u636E';strText='\u3010'+strTitle+'\u3011\r\n';strText+="字段说明\r\n";strText+="1. Date:日期 格式YYYYMMDD\r\n";strText+="2. Title:上榜原因\r\n";strText+="3. BuyAmount:机构买入总金额\r\n";strText+="4. SellAmount:机构卖出总金额\r\n";strText+="5. NetBuyAmount:机构买入净金额\r\n";strText+="6. NetBuyRatio:净买金额占总成交比\r\n";strText+="7. Amount:市场总成交金额\r\n";strText+="原始数据如下\r\n";strText+="Date,Title,BuyAmount,SellAmount,NetBuyAmount,NetBuyRatio,Amount\r\n";for(var j=0;j<item.Data.length;++j){var dataItem=item.Data[j];if(!dataItem||!dataItem.ExtendData||!IFrameSplitOperator.IsNumber(dataItem.Date))continue;var price=null,vol=null;var extendData=dataItem.ExtendData;strText+=dataItem.Date+','+dataItem.Title+','+extendData.BuyAmount+','+extendData.SellAmount+','+extendData.NetBuyAmount+','+extendData.NetBuyRatio+','+extendData.Amount+'\r\n';}strText+="\r\n\r\n";aryData.push({Title:strTitle,Content:strText,Type:"龙虎榜"});}else if(item.ClassName=="DividendInfo"){if(!IFrameSplitOperator.IsNonEmptyArray(item.Data))continue;strTitle=this.Name+' '+this.Symbol+' \u9664\u6743\u9664\u606F\u6570\u636E';strText='\u3010'+strTitle+'\u3011\r\n';strText+="字段说明\r\n";strText+="1. Date:日期 格式YYYYMMDD\r\n";strText+="2. Title:除权除息方案\r\n";strText+="原始数据如下\r\n";strText+="Date,Title\r\n";for(var j=0;j<item.Data.length;++j){var dataItem=item.Data[j];if(!dataItem||!IFrameSplitOperator.IsNumber(dataItem.Date))continue;strText+=dataItem.Date+','+dataItem.Title+'\r\n';}strText+="\r\n\r\n";aryData.push({Title:strTitle,Content:strText,Type:"除权除息"});}else if(item.ClassName=="NewsInfo"){if(!IFrameSplitOperator.IsNonEmptyArray(item.Data))continue;strTitle=this.Name+' '+this.Symbol+' \u65B0\u95FB\u5217\u8868\u6570\u636E';strText='\u3010'+strTitle+'\u3011\r\n';strText+="字段说明\r\n";strText+="1. Date:日期 格式YYYYMMDD\r\n";strText+="2. Title:标题\r\n";strText+="3. Url:原文链接\r\n";strText+="原始数据如下\r\n";strText+="Date,Title,Url\r\n";for(var j=0;j<item.Data.length;++j){var dataItem=item.Data[j];if(!dataItem||!IFrameSplitOperator.IsNumber(dataItem.Date))continue;var url=null;if(dataItem.ExtendData&&dataItem.ExtendData.Url)url=dataItem.ExtendData.Url;strText+=dataItem.Date+','+dataItem.Title+','+url+'\r\n';}strText+="\r\n\r\n";aryData.push({Title:strTitle,Content:strText,Type:"新闻列表"});}else if(item.ClassName=="ResearchInfo"){if(!IFrameSplitOperator.IsNonEmptyArray(item.Data))continue;strTitle=this.Name+' '+this.Symbol+' \u516C\u53F8\u8C03\u7814\u6570\u636E';strText='\u3010'+strTitle+'\u3011\r\n';strText+="字段说明\r\n";strText+="1. Date:日期 格式YYYYMMDD\r\n";strText+="2. Title:调研内容\r\n";strText+="原始数据如下\r\n";strText+="Date,Title,Url\r\n";for(var j=0;j<item.Data.length;++j){var dataItem=item.Data[j];if(!dataItem||!IFrameSplitOperator.IsNumber(dataItem.Date))continue;strText+=dataItem.Date+','+dataItem.Title+'\r\n';}strText+="\r\n\r\n";aryData.push({Title:strTitle,Content:strText,Type:"公司调研"});}else if(item.ClassName=="PforecastInfo"){if(!IFrameSplitOperator.IsNonEmptyArray(item.Data))continue;strTitle=this.Name+' '+this.Symbol+' \u4E1A\u7EE9\u9884\u544A\u6570\u636E';strText='\u3010'+strTitle+'\u3011\r\n';strText+="字段说明\r\n";strText+="1. Date:日期 格式YYYYMMDD\r\n";strText+="2. ReportDate:报告日期 格式YYYYMMDD\r\n";strText+="3. Content:内容\r\n";strText+="原始数据如下\r\n";strText+="Date,Title,Url\r\n";for(var j=0;j<item.Data.length;++j){var dataItem=item.Data[j];if(!dataItem||!IFrameSplitOperator.IsNumber(dataItem.Date))continue;var content="";if(dataItem.ExtendData&&IFrameSplitOperator.IsNonEmptyArray(dataItem.ExtendData.AryData)){for(var k=0;k<dataItem.ExtendData.AryData.length;++k){var subItem=dataItem.ExtendData.AryData[k];content+='\u9884\u6D4B\u6307\u6807:'+subItem.Name+' \u9884\u544A\u7C7B\u578B:'+subItem.Text+'.';}}strText+=dataItem.Date+','+dataItem.Title+','+content+'\r\n';}strText+="\r\n\r\n";aryData.push({Title:strTitle,Content:strText,Type:"业绩预告"});}else if(item.ClassName=="AnnouncementInfo"){if(!IFrameSplitOperator.IsNonEmptyArray(item.Data))continue;strTitle=this.Name+' '+this.Symbol+' \u516C\u544A\u6570\u636E';strText='\u3010'+strTitle+'\u3011\r\n';strText+="字段说明\r\n";strText+="1. Date:公告日期 格式YYYYMMDD\r\n";strText+="2. Title:公告标题\r\n";strText+="原始数据如下\r\n";strText+="Date,Title\r\n";for(var j=0;j<item.Data.length;++j){var dataItem=item.Data[j];if(!dataItem||!IFrameSplitOperator.IsNumber(dataItem.Date))continue;strText+=dataItem.Date+','+dataItem.Title+'\r\n';}strText+="\r\n\r\n";aryData.push({Title:strTitle,Content:strText,Type:"公告数据"});}}return aryData;};this.GetPeriodName=function(){var mapName=new _map2.default([[0,'日线'],[1,'周线'],[2,'月线'],[3,'年线'],[9,'季线'],[21,'双周'],[22,"半年"],[4,'1分'],[5,'5分'],[6,'15分'],[7,'30分'],[8,'60分'],[11,'2小时'],[12,'4小时']]);if(mapName.has(this.Period))return mapName.get(this.Period);return null;};}//API 返回数据 转化为array[]
8912
8932
  KLineChartContainer.JsonDataToHistoryData=function(data){var aryDayData=[];if(!data.data)return aryDayData;var upperSymbol=null;if(data.symbol)upperSymbol=data.symbol.toUpperCase();var isFutures=false;//是否是期货
8913
8933
  if(upperSymbol)isFutures=MARKET_SUFFIX_NAME.IsFutures(upperSymbol);var list=data.data;var date=0,yclose=1,open=2,high=3,low=4,close=5,vol=6,amount=7,position=8;var fclose=9,yfclose=10;//结算价, 前结算价
8914
8934
  var bfactor=11,afactor=12;//前, 后复权因子
@@ -9703,7 +9723,16 @@ IsShowCorss:this.ChartCorssCursor.IsShowCorss,//是否显示十字线
9703
9723
  MinItem:minuteItem,Symbol:this.Symbol,Name:this.Name,LastValue:this.ChartCorssCursor.LastValue};this.DialogTooltip.Update(sendData);return true;};this.DrawSelectRectDialog=function(e){if(!this.DialogSelectRect)return;this.UpdateSelectRectDialog(e);};this.UpdateSelectRectDialog=function(e){if(!this.DialogSelectRect)return false;var data=e.data;//区间统计数据
9704
9724
  var x,y;if(data&&IFrameSplitOperator.IsNumber(data.X)&&IFrameSplitOperator.IsNumber(data.Y)){var pixelRatio=GetDevicePixelRatio();var rtClient=this.UIElement.getBoundingClientRect();var rtScroll=GetScrollPosition();x=data.X;y=data.Y;x+=rtClient.left+rtScroll.Left;y+=rtClient.top+rtScroll.Top;}var sendData={Symbol:this.Symbol,Name:this.Name,SelectData:data.SelectData,X:x,Y:y,e:e};this.DialogSelectRect.Update(sendData);};this.GetKData=function(){if(!this.SourceData)return null;var data=this.SourceData;if(!data)return null;return data;};//获取最新的一条盘前数据
9705
9725
  this.GetLatestBeforeOpenItem=function(){var lastItem=null;if(this.DayCount>1){if(!IFrameSplitOperator.IsNonEmptyArray(this.MultiDayBeforeOpenData))return null;var dayItem=this.MultiDayBeforeOpenData[this.MultiDayBeforeOpenData.length-1];if(!dayItem||!IFrameSplitOperator.IsNonEmptyArray(dayItem.Data))return null;var finder=dayItem.Data.findLast(function(element){return element&&IFrameSplitOperator.IsNumber(element.Price);});if(finder)lastItem=finder;}else{if(!this.BeforeOpenData||!IFrameSplitOperator.IsNonEmptyArray(this.BeforeOpenData.Data))return null;var finder=this.BeforeOpenData.Data.findLast(function(element){return element&&IFrameSplitOperator.IsNumber(element.Price);});if(finder)lastItem=finder;}return lastItem;};//获取最新的一条盘后数据
9706
- this.GetLatestAfterCloseItem=function(){var lastItem=null;if(this.DayCount>1){if(!IFrameSplitOperator.IsNonEmptyArray(this.MultiDayAfterCloseData))return null;var dayItem=this.MultiDayAfterCloseData[this.MultiDayAfterCloseData.length-1];if(!dayItem||!IFrameSplitOperator.IsNonEmptyArray(dayItem.Data))return null;var finder=dayItem.Data.findLast(function(element){return element&&IFrameSplitOperator.IsNumber(element.Price);});if(finder)lastItem=finder;}else{if(!this.AfterCloseData||!IFrameSplitOperator.IsNonEmptyArray(this.AfterCloseData.Data))return null;var finder=this.AfterCloseData.Data.findLast(function(element){return element&&IFrameSplitOperator.IsNumber(element.Price);});if(finder)lastItem=finder;}return lastItem;};this.IsCallAuctionFrame=function(frameID){if(!IFrameSplitOperator.IsNonEmptyArray(this.ChartPaintEx))return false;if(!IFrameSplitOperator.IsNonEmptyArray(this.Frame.SubFrame))return false;if(frameID<0||frameID>=this.Frame.SubFrame.length)return false;var subItem=this.Frame.SubFrame[frameID];if(!subItem||!subItem.Frame)return false;var subFrame=subItem.Frame;for(var i=0;i<this.ChartPaintEx.length;++i){var item=this.ChartPaintEx[i];if(item.ChartFrame&&item.ChartFrame.Guid==subFrame.Guid)return true;}return false;};}//盘前数据
9726
+ this.GetLatestAfterCloseItem=function(){var lastItem=null;if(this.DayCount>1){if(!IFrameSplitOperator.IsNonEmptyArray(this.MultiDayAfterCloseData))return null;var dayItem=this.MultiDayAfterCloseData[this.MultiDayAfterCloseData.length-1];if(!dayItem||!IFrameSplitOperator.IsNonEmptyArray(dayItem.Data))return null;var finder=dayItem.Data.findLast(function(element){return element&&IFrameSplitOperator.IsNumber(element.Price);});if(finder)lastItem=finder;}else{if(!this.AfterCloseData||!IFrameSplitOperator.IsNonEmptyArray(this.AfterCloseData.Data))return null;var finder=this.AfterCloseData.Data.findLast(function(element){return element&&IFrameSplitOperator.IsNumber(element.Price);});if(finder)lastItem=finder;}return lastItem;};this.IsCallAuctionFrame=function(frameID){if(!IFrameSplitOperator.IsNonEmptyArray(this.ChartPaintEx))return false;if(!IFrameSplitOperator.IsNonEmptyArray(this.Frame.SubFrame))return false;if(frameID<0||frameID>=this.Frame.SubFrame.length)return false;var subItem=this.Frame.SubFrame[frameID];if(!subItem||!subItem.Frame)return false;var subFrame=subItem.Frame;for(var i=0;i<this.ChartPaintEx.length;++i){var item=this.ChartPaintEx[i];if(item.ChartFrame&&item.ChartFrame.Guid==subFrame.Guid)return true;}return false;};this.GetGraphicsRawDescription=function(option){var strTitle='分时图及其指标数据.\r\n';var aryData=[];//分钟线
9727
+ var data=this.GetMinuteDataDescription(option);if(data)aryData.push(data);//指标数据
9728
+ var data=this.GetIndexDataDescription(option);if(IFrameSplitOperator.IsNonEmptyArray(data))aryData.push.apply(aryData,(0,_toConsumableArray3.default)(data));var data=this.GetMinesInfoDescription(option);if(IFrameSplitOperator.IsNonEmptyArray(data))aryData.push.apply(aryData,(0,_toConsumableArray3.default)(data));//叠加股票
9729
+ var data=this.GetOverlaySymbolDescription(option);if(IFrameSplitOperator.IsNonEmptyArray(data))aryData.push.apply(aryData,(0,_toConsumableArray3.default)(data));return{AryData:aryData,Title:strTitle};};//分时数据信息
9730
+ this.GetMinuteDataDescription=function(option){var kData=this.GetKData();if(!kData||!IFrameSplitOperator.IsNonEmptyArray(kData.Data))return null;var startIndex=0,endIndex=kData.Data.length-1;if(option){if(option.Start&&option.End)//某一段时间的
9731
+ {var range=kData.GetDataRange(option.Start,option.End);if(!range)return null;startIndex=range.Start.Index;endIndex=range.End.Index;}}function __Temp_GetNumberValue(value){var defValue=arguments.length>1&&arguments[1]!==undefined?arguments[1]:null;if(IFrameSplitOperator.IsNumber(value))return value;return defValue;}var strTitle=this.Name+' '+this.Symbol+' \u5206\u65F6\u6570\u636E';var strDescription='\u3010'+strTitle+'\u3011\r\n';strDescription+="字段说明\r\n";strDescription+="1. Date:日期 格式YYYYMMDD\r\n";strDescription+="2. Time:时间 格式hhmm\r\n";strDescription+="3. Open:这一分钟起始价格\r\n";strDescription+="4. Close:这一分钟最后的价格\r\n";strDescription+="5. High:这一分钟内最高价\r\n";strDescription+="6. Low:这一分钟内最低价\r\n";strDescription+="7. Amount:这一分钟内总的成交金额\r\n";strDescription+="8. Vol:这一分钟内总的成交量\r\n";strDescription+="9. AvPrice:均价\r\n";strDescription+="10. YClose:昨收价\r\n";strDescription+="11. YClearing:昨结算价\r\n";strDescription+="12. Position:持仓量\r\n";strDescription+="原始数据如下\r\n";strText="Date,Time,Open,High,Low,Close,Vol,Amount,AvPrice,YClose,YClearing,Position,\r\n";for(var i=startIndex;i<kData.Data.length&&i<=endIndex;++i){var kItem=kData.Data[i];strText+=kItem.Date+','+kItem.Time+','+kItem.Open+','+kItem.High+','+kItem.Low+','+kItem.Close+','+kItem.Vol+','+kItem.Amount+','+__Temp_GetNumberValue(kItem.AvPrice)+','+__Temp_GetNumberValue(kItem.YClose)+','+__Temp_GetNumberValue(kItem.YClearing)+','+__Temp_GetNumberValue(kItem.Position)+'\r\n';}strDescription+=strText;strDescription+="\r\n\r\n";return{Title:strTitle,Content:strDescription,Type:"分时数据"};};//叠加股票信息
9732
+ this.GetOverlaySymbolDescription=function(){if(!IFrameSplitOperator.IsNonEmptyArray(this.OverlayChartPaint))return null;var aryData=[];var strDescription="";for(var i=0;i<this.OverlayChartPaint.length;++i){var item=this.OverlayChartPaint[i];if(!item)continue;var kData=item.Data;if(!kData||!IFrameSplitOperator.IsNonEmptyArray(kData.Data))continue;var strTitle=item.Title+' '+item.Symbol+' \u5206\u65F6\u6570\u636E';var strText='\u3010'+strTitle+'\u3011\r\n';strText+="字段说明\r\n";strText+="1. Date:日期 格式YYYYMMDD\r\n";strText+="2. Time:时间 hhmm\r\n";strText+="3. Close:这一分钟最后的价格\r\n";strText+="4. Amount:这一分钟内总的成交金额\r\n";strText+="5. Vol:这一分钟内总的成交量\r\n";strText+="原始数据如下\r\n";strText+="Date,Time,Close,Vol,Amount\r\n";for(var j=0;j<kData.Data.length;++j){var kItem=kData.Data[j];strText+=kItem.Date+','+kItem.Time+','+kItem.Close+','+kItem.Vol+','+kItem.Amount+'\r\n';}strText+="\r\n\r\n";aryData.push({Title:strTitle,Content:strText,Type:"叠加股票"});}return aryData;};//信息地雷
9733
+ this.GetMinesInfoDescription=function(option){if(!IFrameSplitOperator.IsNonEmptyArray(this.ChartInfo))return null;var aryData=[];for(var i=0;i<this.ChartInfo.length;++i){var item=this.ChartInfo[i];if(!item)continue;if(item.ClassName=="MarketEventInfo")//异动信息
9734
+ {if(!IFrameSplitOperator.IsNonEmptyArray(item.Data))continue;strTitle=this.Name+' '+this.Symbol+' \u5F02\u52A8\u6570\u636E';strText+="字段说明\r\n";strText+="1. Date:日期 格式YYYYMMDD\r\n";strText+="2. Time:时间 格式hhmm\r\n";strText+="3. Title:异动内容\r\n";strText+="原始数据如下\r\n";strText+="Date,Time,Title\r\n";for(var j=0;j<item.Data.length;++j){var dataItem=item.Data[j];if(!dataItem||!IFrameSplitOperator.IsNumber(dataItem.Date))continue;strText+=dataItem.Date+','+dataItem.Time+','+dataItem.Title+'\r\n';}strText+="\r\n\r\n";aryData.push({Title:strTitle,Content:strText,Type:"异动数据"});}else if(item.ClassName=="MinuteNewsInfo")//新闻
9735
+ {if(!IFrameSplitOperator.IsNonEmptyArray(item.Data))continue;strTitle=this.Name+' '+this.Symbol+' \u65B0\u95FB\u5217\u8868\u6570\u636E';strText='\u3010'+strTitle+'\u3011\r\n';strText+="字段说明\r\n";strText+="1. Date:日期 格式YYYYMMDD\r\n";strText+="2. Time:时间 格式hhmm\r\n";strText+="3. Title:标题\r\n";strText+="4. Url:原文地址\r\n";strText+="原始数据如下\r\n";strText+="Date,Time,Title,Url\r\n";for(var j=0;j<item.Data.length;++j){var dataItem=item.Data[j];if(!dataItem||!IFrameSplitOperator.IsNumber(dataItem.Date))continue;var url=null;var extendData=dataItem.ExtendData;if(extendData&&extendData.Url)url=extendData.Url;strText+=dataItem.Date+','+dataItem.Time+','+dataItem.Title+','+url+'\r\n';}strText+="\r\n\r\n";aryData.push({Title:strTitle,Content:strText,Type:"新闻列表"});}}return aryData;};}//盘前数据
9707
9736
  MinuteChartContainer.JsonDataToBeforeOpenData=function(data){var symbol=data.stock[0].symbol;var upperSymbol=symbol.toUpperCase();var isSHSZ=MARKET_SUFFIX_NAME.IsSHSZ(upperSymbol);var unit=MARKET_SUFFIX_NAME.GetVolUnit(upperSymbol);var yClose=data.stock[0].yclose;var preClose=data.stock[0].yclose;//前一个数据价格
9708
9737
  var stockData=data.stock[0];var date=stockData.date;//日期
9709
9738
  var beforeOpenData={Data:[],TotalCount:15,Ver:1.0,Date:date,YClose:stockData.yclose,YClearing:stockData.yclearing};var extendDataIndex=JSCHART_DATA_FIELD_ID.MINUTE_BEFOREOPEN_EXTENDDATA;//扩展数据序号
@@ -10099,9 +10128,9 @@ NetBuyRatio:item.netBuyRatio,//净买额占总成交比
10099
10128
  Amount:item.amount//市场总成交额
10100
10129
  };this.ReadArrayText(infoData,item);this.Data.push(infoData);}param.HQChart.UpdataChartInfo();param.HQChart.Draw();};}//新闻 2.0
10101
10130
  function NewsInfo(){this.newMethod=IKLineInfo;//派生
10102
- this.newMethod();delete this.newMethod;this.ClassName='NewsInfo';this.Explain='新闻';this.RecvData=function(recvData,param){if(!recvData||!IFrameSplitOperator.IsNonEmptyArray(recvData.list))return;for(var i=0;i<recvData.list.length;++i){var item=recvData.list[i];var infoData=new KLineInfoData();infoData.ID=item.id;infoData.Date=item.date;infoData.InfoType=KLINE_INFO_TYPE.NEWS;infoData.Title=item.title;infoData.ExtendData={Type:item.type,url:item.url};this.Data.push(infoData);}param.HQChart.UpdataChartInfo();param.HQChart.Draw();};}//除权 2.0
10131
+ this.newMethod();delete this.newMethod;this.ClassName='NewsInfo';this.Explain='新闻';this.RecvData=function(recvData,param){if(!recvData||!IFrameSplitOperator.IsNonEmptyArray(recvData.list))return;for(var i=0;i<recvData.list.length;++i){var item=recvData.list[i];var infoData=new KLineInfoData();infoData.ID=item.id;infoData.Date=item.date;infoData.InfoType=KLINE_INFO_TYPE.NEWS;infoData.Title=item.title;infoData.ExtendData={Type:item.type,Url:item.url};this.Data.push(infoData);}param.HQChart.UpdataChartInfo();param.HQChart.Draw();};}//除权 2.0
10103
10132
  function DividendInfo(){this.newMethod=IKLineInfo;//派生
10104
- this.newMethod();delete this.newMethod;this.ClassName='DividendInfo';this.Explain='除权';this.RecvData=function(recvData,param){if(!recvData||!IFrameSplitOperator.IsNonEmptyArray(recvData.list))return;for(var i=0;i<recvData.list.length;++i){var item=recvData.list[i];var infoData=new KLineInfoData();infoData.ID=item.id;infoData.Date=item.date;infoData.InfoType=KLINE_INFO_TYPE.DIVIDEND;infoData.Title=item.title;infoData.ExtendData={Type:item.type,url:item.url};this.Data.push(infoData);}param.HQChart.UpdataChartInfo();param.HQChart.Draw();};}function ExtendInfo(){this.newMethod=IKLineInfo;//派生
10133
+ this.newMethod();delete this.newMethod;this.ClassName='DividendInfo';this.Explain='除权';this.RecvData=function(recvData,param){if(!recvData||!IFrameSplitOperator.IsNonEmptyArray(recvData.list))return;for(var i=0;i<recvData.list.length;++i){var item=recvData.list[i];var infoData=new KLineInfoData();infoData.ID=item.id;infoData.Date=item.date;infoData.InfoType=KLINE_INFO_TYPE.DIVIDEND;infoData.Title=item.title;infoData.ExtendData={Type:item.type,Url:item.url};this.Data.push(infoData);}param.HQChart.UpdataChartInfo();param.HQChart.Draw();};}function ExtendInfo(){this.newMethod=IKLineInfo;//派生
10105
10134
  this.newMethod();delete this.newMethod;this.ClassName='ExtendInfo';this.Explain='扩展信息';this.RecvData=function(recvData,param){if(!recvData||!IFrameSplitOperator.IsNonEmptyArray(recvData.list))return;for(var i=0;i<recvData.list.length;++i){var item=recvData.list[i];var infoType=KLINE_INFO_TYPE.EXTEND_INFO_START;if(IFrameSplitOperator.IsNumber(item.infoType)){infoType=KLINE_INFO_TYPE.EXTEND_INFO_START+item.infoType;if(infoType>KLINE_INFO_TYPE.EXTEND_INFO_END)infoType=KLINE_INFO_TYPE.EXTEND_INFO_END;}var infoData=new KLineInfoData();infoData.ID=item.id;infoData.Date=item.date;infoData.InfoType=infoType;infoData.Title=item.title;infoData.ExtendData={Type:item.type,Data:item.data};this.ReadArrayText(infoData,item);this.Data.push(infoData);}param.HQChart.UpdataChartInfo();param.HQChart.Draw();};}function JSMinuteInfoMap(){}JSMinuteInfoMap.InfoMap=new _map2.default([["大盘异动",{Create:function Create(){return new MarketEventInfo();},ClassName:"MarketEventInfo"}],["新闻",{Create:function Create(){return new MinuteNewsInfo();},ClassName:"MinuteNewsInfo"}]]);JSMinuteInfoMap.Get=function(id){return JSMinuteInfoMap.InfoMap.get(id);};JSMinuteInfoMap.GetClassInfo=function(id){return JSMinuteInfoMap.Get(id);};function IMinuteInfo(){this.Data;this.ClassName='IMinuteInfo';this.Explain="";this.Clear=function(){this.Data=[];};this.ReadArrayText=function(infoData,recv){if(!IFrameSplitOperator.IsNonEmptyArray(recv.AryText))return;if(!infoData.ExtendData)infoData.ExtendData={};if(!Array.isArray(infoData.ExtendData.AryText))infoData.ExtendData.AryText=[];for(var i=0;i<recv.AryText.length;++i){var item=recv.AryText[i];var newItem={Name:item.Name,Type:item.Type};if(item.Text)newItem.Text=item.Text;if(item.Value)newItem.Value=item.Value;if(item.Color)newItem.Color=item.Color;infoData.ExtendData.AryText.push(newItem);}};this.RequestData=function(hqChart){var self=this;var param={HQChart:hqChart};if(hqChart.NetworkFilter){var dataRange=null;//分时图数据范围
10106
10135
  var kData=hqChart.GetKData();if(kData)dataRange=kData.GetDateRange();var obj={Name:this.ClassName+'::RequestData',//类名::
10107
10136
  Explain:this.Explain,Request:{Data:{Date:hqChart.TradeDate,Symbol:hqChart.Symbol,symbol:hqChart.Symbol}},DateRange:dataRange,Self:this,HQChart:hqChart,PreventDefault:false};hqChart.NetworkFilter(obj,function(data){self.RecvData(data,param);param.HQChart.UpdataChartInfo();param.HQChart.Draw();});if(obj.PreventDefault==true)return;//已被上层替换,不调用默认的网络请求
@@ -10119,8 +10148,8 @@ if(item.Color)info.Color=item.Color;if(item.BGColor)info.BGColor=item.BGColor;if
10119
10148
  // 分钟新闻
10120
10149
  // { Date:yyyymmdd, Time:hhmm, Time2:hhmmss, Title, Type:1, ID: , Data:外部数据 }
10121
10150
  function MinuteNewsInfo(){this.newMethod=IMinuteInfo;//派生
10122
- this.newMethod();delete this.newMethod;this.ClassName='MinuteNewsInfo';this.Explain="新闻";this.RecvData=function(recvData,param){this.Data=[];if(!recvData||!IFrameSplitOperator.IsNonEmptyArray(recvData.list))return;for(var i=0;i<recvData.list.length;++i){var item=recvData.list[i];var info={Date:item.Date,Time:item.Time,Title:item.Title,Type:1,ID:item.ID};if(item.Data)info.ExtendData={Data:item.Data};if(IFrameSplitOperator.IsNumber(item.Time2))info.Time2=item.Time2;//hhmmss
10123
- this.Data.push(info);}param.HQChart.UpdataChartInfo();param.HQChart.Draw();};}//注意!!! 这个函数已经不用了
10151
+ this.newMethod();delete this.newMethod;this.ClassName='MinuteNewsInfo';this.Explain="新闻";this.RecvData=function(recvData,param){this.Data=[];if(!recvData||!IFrameSplitOperator.IsNonEmptyArray(recvData.list))return;for(var i=0;i<recvData.list.length;++i){var item=recvData.list[i];var info={Date:item.Date,Time:item.Time,Title:item.Title,Type:1,ID:item.ID};if(IFrameSplitOperator.IsNumber(item.Time2))info.Time2=item.Time2;//hhmmss
10152
+ if(item.Data||item.Url){info.ExtendData={};if(item.Data)info.ExtendData.Data=item.Data;if(item.Url)info.ExtendData.Url=item.Url;}this.Data.push(info);}param.HQChart.UpdataChartInfo();param.HQChart.Draw();};}//注意!!! 这个函数已经不用了
10124
10153
  //是否是指数代码
10125
10154
  function IsIndexSymbol(symbol){var upperSymbol=symbol.toUpperCase();if(upperSymbol.indexOf('.SH')>0){upperSymbol=upperSymbol.replace('.SH','');if(upperSymbol.charAt(0)=='0'&&parseInt(upperSymbol)<=3000)return true;}else if(upperSymbol.indexOf('.SZ')>0){upperSymbol=upperSymbol.replace('.SZ','');if(upperSymbol.charAt(0)=='3'&&upperSymbol.charAt(1)=='9')return true;}else if(upperSymbol.indexOf('.CI')>0)//自定义指数
10126
10155
  {return true;}return false;}//注意!!! 这个函数已经不用了
@@ -12933,6 +12962,8 @@ this.Add=function(name,option){this.DataMap.set(name,{MinuteFittingCallback:opti
12933
12962
  //name=指标名字 args=参数名字 参数值
12934
12963
  function ScriptIndex(name,script,args,option){this.newMethod=BaseIndex;//派生
12935
12964
  this.newMethod(name);delete this.newMethod;this.ClassName="ScriptIndex";this.Script=script;this.Arguments=[];this.OutVar=[];this.ID;//指标ID
12965
+ this.Description;//指标描述
12966
+ this.FullDescription;//完整的描述信息,给AI看的
12936
12967
  this.FloatPrecision=2;//小数位数
12937
12968
  this.StringFormat;this.IsShowIndexTitle=true;//是否显示指标标题
12938
12969
  this.KLineType=null;//K线显示类型
@@ -12956,7 +12987,7 @@ this.IsSync=false;//是否是同步计算 (无数据请求)
12956
12987
  this.IsShow=true;//是否显示图形
12957
12988
  this.RunCount=0;//已执行次数
12958
12989
  this.MaxRunCount=-1;//最大执行次数 -1=无限
12959
- if(option){if(option.FloatPrecision>=0)this.FloatPrecision=option.FloatPrecision;if(option.StringFormat>0)this.StringFormat=option.StringFormat;if(IFrameSplitOperator.IsBool(option.IsShowIndexTitle))this.IsShowIndexTitle=option.IsShowIndexTitle;if(option.ID)this.ID=option.ID;if(option.KLineType>=0||option.KLineType===-1)this.KLineType=option.KLineType;if(option.InstructionType)this.InstructionType=option.InstructionType;if(option.YSpecificMaxMin)this.YSpecificMaxMin=option.YSpecificMaxMin;if(option.YSplitScale)this.YSplitScale=option.YSplitScale;if(option.Condition)this.Condition=option.Condition;if(option.TitleFont)this.TitleFont=option.TitleFont;if(option.IsShortTitle)this.IsShortTitle=option.IsShortTitle;if(option.OutName)this.OutName=option.OutName;if(IFrameSplitOperator.IsNumber(option.YSplitType))this.YSplitType=option.YSplitType;if(IFrameSplitOperator.IsBool(option.IsSync))this.IsSync=option.IsSync;if(IFrameSplitOperator.IsNumber(option.MaxRunCount))this.MaxRunCount=option.MaxRunCount;if(IFrameSplitOperator.IsBool(option.IsAuthorization))this.IsAuthorization=option.IsAuthorization;if(IFrameSplitOperator.IsBool(option.IsShow))this.IsShow=option.IsShow;if(option.Debug){if(IFrameSplitOperator.IsPlusNumber(option.Debug.Count)&&option.Debug.Callback){this.Debug={Count:option.Debug.Count,Callback:option.Debug.Callback};}}}if(option&&option.Lock){if(option.Lock.IsLocked==true)this.IsLocked=true;//指标上锁
12990
+ if(option){if(option.FloatPrecision>=0)this.FloatPrecision=option.FloatPrecision;if(option.StringFormat>0)this.StringFormat=option.StringFormat;if(IFrameSplitOperator.IsBool(option.IsShowIndexTitle))this.IsShowIndexTitle=option.IsShowIndexTitle;if(option.ID)this.ID=option.ID;if(option.KLineType>=0||option.KLineType===-1)this.KLineType=option.KLineType;if(option.InstructionType)this.InstructionType=option.InstructionType;if(option.YSpecificMaxMin)this.YSpecificMaxMin=option.YSpecificMaxMin;if(option.YSplitScale)this.YSplitScale=option.YSplitScale;if(option.Condition)this.Condition=option.Condition;if(option.TitleFont)this.TitleFont=option.TitleFont;if(option.IsShortTitle)this.IsShortTitle=option.IsShortTitle;if(option.OutName)this.OutName=option.OutName;if(IFrameSplitOperator.IsNumber(option.YSplitType))this.YSplitType=option.YSplitType;if(IFrameSplitOperator.IsBool(option.IsSync))this.IsSync=option.IsSync;if(IFrameSplitOperator.IsNumber(option.MaxRunCount))this.MaxRunCount=option.MaxRunCount;if(IFrameSplitOperator.IsBool(option.IsAuthorization))this.IsAuthorization=option.IsAuthorization;if(IFrameSplitOperator.IsBool(option.IsShow))this.IsShow=option.IsShow;if(option.Description)this.Description=option.Description;if(option.FullDescription)this.FullDescription=option.FullDescription;if(option.Debug){if(IFrameSplitOperator.IsPlusNumber(option.Debug.Count)&&option.Debug.Callback){this.Debug={Count:option.Debug.Count,Callback:option.Debug.Callback};}}}if(option&&option.Lock){if(option.Lock.IsLocked==true)this.IsLocked=true;//指标上锁
12960
12991
  if(option.Lock.Callback)this.LockCallback=option.Lock.Callback;//锁回调
12961
12992
  if(option.Lock.ID)this.LockID=option.Lock.ID;//锁ID
12962
12993
  if(option.Lock.BG)this.LockBG=option.Lock.BG;if(option.Lock.TextColor)this.LockTextColor=option.Lock.TextColor;if(option.Lock.Text)this.LockText=option.Lock.Text;if(option.Lock.Font)this.LockFont=option.Lock.Font;if(option.Lock.Count)this.LockCount=option.Lock.Count;if(option.Lock.MinWidth)this.LockMinWidth=option.Lock.MinWidth*GetDevicePixelRatio();if(IFrameSplitOperator.IsBool(option.Lock.IsFullFrame))this.IsLockFullFrame=option.Lock.IsFullFrame;}if(option&&option.YAxis){this.YAxis={};if(IFrameSplitOperator.IsNumber(option.YAxis.FloatPrecision))this.YAxis.FloatPrecision=option.YAxis.FloatPrecision;if(IFrameSplitOperator.IsNumber(option.YAxis.StringFormat))this.YAxis.StringFormat=option.YAxis.StringFormat;if(IFrameSplitOperator.IsBool(option.YAxis.EnableRemoveZero))this.YAxis.EnableRemoveZero=option.YAxis.EnableRemoveZero;if(IFrameSplitOperator.IsBool(option.YAxis.ExcludeValue))this.YAxis.ExcludeValue=option.YAxis.ExcludeValue;//不参数Y轴的计算
@@ -16332,7 +16363,7 @@ if(this.MouseOnItem){if(this.MouseOnItem.Data==item)color=this.TextConfig.MouseO
16332
16363
  */this.Canvas.restore();this.ResizeDataCount(endIndex);};this.ResizeDataCount=function(startIndex){if(!IFrameSplitOperator.IsNumber(startIndex))return;if(startIndex<=0)return;if(this.LimitCount<=0)return;if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.AryText))return;if(this.Data.AryText.length<=this.LimitCount)return;var delCount=this.Data.AryText.length-this.LimitCount;for(var i=0;i<delCount&&i<startIndex;++i){this.Data.AryText.shift();}};this.GetTooltipData=function(x,y,tooltip){var rtClient=this.GetClientRect();if(x>=rtClient.Left&&x<=rtClient.Right){for(var i=0;i<this.AryRect.length;++i){var item=this.AryRect[i];if(Path2DHelper.PtInRect(x,y,item.Rect)){tooltip.Data=item;tooltip.ChartPaint=this;tooltip.Type=1;return true;}}}return false;};this.ScrollStep=function(defaultStep){if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.AryText))return false;if(!this.FirstItem)return false;var moveStep=this.MoveStep;if(IFrameSplitOperator.IsNumber(defaultStep))moveStep=defaultStep;var rtClient=this.GetClientRect();var left=rtClient.Left;var right=rtClient.Right;var width=this.FirstItem.Move.Width;var xOffset=this.FirstItem.Move.XOffset+moveStep;if(right-xOffset+width<left){var startIndex=this.GetDataIndex(this.FirstItem);nextIndex=startIndex-1;if(nextIndex<0){var index=this.Data.AryText.length-1;this.FirstItem=this.Data.AryText[index];this.FirstItem.Move={XOffset:0};}else{this.FirstItem=this.Data.AryText[nextIndex];this.FirstItem.Move={XOffset:xOffset-width};}}else{this.FirstItem.Move.XOffset=xOffset;}return true;};}/********************************************************************************
16333
16364
  * 版本信息输出
16334
16365
  *
16335
- */var HQCHART_VERSION="1.1.15737";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();//把给外界调用的方法暴露出来
16366
+ */var HQCHART_VERSION="1.1.15752";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();//把给外界调用的方法暴露出来
16336
16367
  exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
16337
16368
  // BaseIndex:BaseIndex,
16338
16369
  // ChartLine:ChartLine,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hqchart",
3
- "version": "1.1.15738",
3
+ "version": "1.1.15753",
4
4
  "description": "HQChart - H5, 微信小程序 沪深/港股/数字货币/期货/美股 K线图(kline),走势图,缩放,拖拽,十字光标,画图工具,截图,筹码图. 分析家语法,通达信语法,(麦语法),第3方数据对接",
5
5
  "main": "lib/main.js",
6
6
  "scripts": {
@@ -20835,6 +20835,8 @@ function ScriptIndex(name,script,args,option)
20835
20835
  this.Arguments=[];
20836
20836
  this.OutVar=[];
20837
20837
  this.ID; //指标ID
20838
+ this.Description; //指标描述
20839
+ this.FullDescription; //完整的描述信息,给AI看的
20838
20840
  this.FloatPrecision=2; //小数位数
20839
20841
  this.StringFormat;
20840
20842
  this.IsShowIndexTitle=true; //是否显示指标标题
@@ -20892,6 +20894,8 @@ function ScriptIndex(name,script,args,option)
20892
20894
  if (IFrameSplitOperator.IsNumber(option.MaxRunCount)) this.MaxRunCount=option.MaxRunCount;
20893
20895
  if (IFrameSplitOperator.IsBool(option.IsAuthorization)) this.IsAuthorization=option.IsAuthorization;
20894
20896
  if (IFrameSplitOperator.IsBool(option.IsShow)) this.IsShow=option.IsShow;
20897
+ if (option.Description) this.Description=option.Description;
20898
+ if (option.FullDescription) this.FullDescription=option.FullDescription
20895
20899
 
20896
20900
  if (option.Debug)
20897
20901
  {