hqchart 1.1.15740 → 1.1.15763
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/umychart.vue.js +56 -26
- package/package.json +1 -1
- package/src/jscommon/umychart.NetworkFilterTest.js +8 -2
- package/src/jscommon/umychart.complier.js +8 -0
- package/src/jscommon/umychart.js +832 -39
- package/src/jscommon/umychart.resource/font/drawtool/demo_index.html +72 -3
- package/src/jscommon/umychart.resource/font/drawtool/iconfont.css +15 -3
- package/src/jscommon/umychart.resource/font/drawtool/iconfont.js +1 -1
- package/src/jscommon/umychart.resource/font/drawtool/iconfont.json +21 -0
- package/src/jscommon/umychart.resource/font/drawtool/iconfont.ttf +0 -0
- package/src/jscommon/umychart.resource/font/drawtool/iconfont.woff +0 -0
- package/src/jscommon/umychart.resource/font/drawtool/iconfont.woff2 +0 -0
- package/src/jscommon/umychart.resource/js/marked.min.js +69 -0
- package/src/jscommon/umychart.resource/js/purify.min.js +3 -0
- package/src/jscommon/umychart.testdata.js +8 -2
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +841 -40
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.NetworkFilterTest.vue.js +8 -2
- package/src/jscommon/umychart.vue/umychart.vue.js +841 -40
package/lib/umychart.vue.js
CHANGED
|
@@ -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";//倒计时
|
|
@@ -2433,11 +2433,11 @@ this.CreateMainScript=function(src){var scriptIndex=null;switch(src.ClassName){c
|
|
|
2433
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);//执行脚本
|
|
2434
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();}};//数据导出
|
|
2435
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线/分时数据
|
|
2436
|
-
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线/分时
|
|
2437
2437
|
if(!aryData)return null;//主图+附图指标
|
|
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});else aryData.push(subItem);}}}//叠加股票
|
|
2439
|
-
for(var i=0;i<this.OverlayChartPaint.length;++i){var item=this.OverlayChartPaint[i];if(!item.Data||!IFrameSplitOperator.IsNonEmptyArray(
|
|
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});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;};//重置指标计数器
|
|
2441
2441
|
this.ClearIndexRunCount=function(){//主图指标
|
|
2442
2442
|
for(var i=0;i<this.WindowIndex.length;++i){var item=this.WindowIndex[i];if(!item)continue;item.RunCount=0;}//叠加指标
|
|
2443
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;}}};//获取当前的显示的指标 包含叠加指标
|
|
@@ -2528,7 +2528,13 @@ this.UpdateTradeStatusData=function(data,option){if(option){//是否清空
|
|
|
2528
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;};//键盘下按暂停更新
|
|
2529
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:} } ]
|
|
2530
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);//设置锁
|
|
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;}}}
|
|
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)//键盘事件
|
|
2532
2538
|
{if(this.JSChartContainer&&this.JSChartContainer.OnKeyDown)this.JSChartContainer.OnKeyDown(e);}function OnKeyUp(e)//键盘事件
|
|
2533
2539
|
{if(this.JSChartContainer&&this.JSChartContainer.OnKeyUp)this.JSChartContainer.OnKeyUp(e);}function OnWheel(e)//上下滚动事件
|
|
2534
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;}//获取文字高度和宽度
|
|
@@ -3683,14 +3689,18 @@ this.FixKData=function(aryKData,period){if(ChartData.IsDayPeriod(period,true)){r
|
|
|
3683
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;//对应叠加数据的日期 调试用
|
|
3684
3690
|
item.ExTime=fItem.Time;//对应叠加数据的日期 调试用
|
|
3685
3691
|
result[i]=item;++i;}return result;};//获取K线的索引范围 start={ Date, Time };
|
|
3686
|
-
this.GetDataRange=function(start,end){if(!IFrameSplitOperator.IsNonEmptyArray(this.Data))return null;var range={};//{Start:{Date, Time, Index,}, End:{Date, Time, Index}}
|
|
3687
|
-
|
|
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;};//导出单数组数据
|
|
3688
3698
|
this.ExportArrayData=function(aryKData,option){if(!IFrameSplitOperator.IsNonEmptyArray(this.Data))return null;var start=0,end=this.Data.length-1;//限制范围
|
|
3689
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;//限制范围
|
|
3690
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线数据
|
|
3691
3701
|
this.ExportKLineData=function(option){if(!IFrameSplitOperator.IsNonEmptyArray(this.Data))return null;var start=0,end=this.Data.length-1;//限制范围
|
|
3692
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)//叠加股票不返回时间,日期
|
|
3693
|
-
{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;};//导出分时图数据
|
|
3694
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;//限制范围
|
|
3695
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)//叠加股票不返回时间,日期
|
|
3696
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
|
|
@@ -3718,6 +3728,7 @@ this.SelectedBGColor=g_JSChartResource.SelectedChart.BGColor;this.DrawSelectedSt
|
|
|
3718
3728
|
this.PtInChart;//function(x,y) { }
|
|
3719
3729
|
this.IsFullRangeMaxMin=false;//this.GetMaxMin() true=计算全部的最大最小值 false=计算可视范围的最大最小值
|
|
3720
3730
|
this.IsExcludeYValue=false;//不参与Y轴计算
|
|
3731
|
+
this.Description;//图形描述信息
|
|
3721
3732
|
this.Draw=function(){};this.BuildKey=function(item){if(IFrameSplitOperator.IsNumber(item.Time))return item.Date+'-'+item.Time;else return item.Date;};//保存图形状态
|
|
3722
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;
|
|
3723
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 }
|
|
@@ -3755,7 +3766,7 @@ this.PtInBar=function(x,y,option){if(!this.IsShow||this.ChartFrame.IsMinSize)ret
|
|
|
3755
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线
|
|
3756
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;};//是否隐藏指标
|
|
3757
3768
|
this.IsHideScriptIndex=function(){if(this.Script&&this.Script.IsShow==false)return true;return false;};//导出单数组数据
|
|
3758
|
-
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:数据索引 }
|
|
3759
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}];};}//缓存键值
|
|
3760
3771
|
IChartPainting.CACHE_KEY={SELECTED:"_Selected_Key_"//图形元素选中(单选)
|
|
3761
3772
|
//缩放因子
|
|
@@ -4403,7 +4414,7 @@ this.newMethod();delete this.newMethod;this.ClassName='ChartErrorMessage';//类
|
|
|
4403
4414
|
this.Draw=function(){if(!this.IsShow)return;if(this.NotSupportMessage)this.DrawNotSupportmessage();};}//线段 支持横屏
|
|
4404
4415
|
function ChartLine(){this.newMethod=IChartPainting;//派生
|
|
4405
4416
|
this.newMethod();delete this.newMethod;this.ClassName='ChartLine';//类名
|
|
4406
|
-
this.Color="rgb(255,193,37)";//线段颜色
|
|
4417
|
+
this.Description="线段";this.Color="rgb(255,193,37)";//线段颜色
|
|
4407
4418
|
this.LineWidth;//线段宽度
|
|
4408
4419
|
this.DrawType=0;//画图方式 0=无效数平滑 1=无效数不画断开
|
|
4409
4420
|
this.IsDotLine=false;//虚线
|
|
@@ -4536,7 +4547,7 @@ function ChartLineStick(){this.newMethod=ChartStick;//派生
|
|
|
4536
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 支持横屏
|
|
4537
4548
|
function ChartVolStick(){this.newMethod=IChartPainting;//派生
|
|
4538
4549
|
this.newMethod();delete this.newMethod;this.UpColor=g_JSChartResource.UpBarColor;this.DownColor=g_JSChartResource.DownBarColor;this.HistoryData;//历史数据
|
|
4539
|
-
this.KLineDrawType=0;this.ClassName='ChartVolStick';this.BarWidth;//固定宽度 目前只支持宽度为1
|
|
4550
|
+
this.KLineDrawType=0;this.ClassName='ChartVolStick';this.Description="柱子";this.BarWidth;//固定宽度 目前只支持宽度为1
|
|
4540
4551
|
this.BarType;//柱子状态 1=实心 0=空心 2=涨实跌空 如果设置了这个属性, 属性KLineDrawType无效
|
|
4541
4552
|
this.BarColorType=0;//0=柱子颜色跟K线走 1=正upcolor 负downcolor
|
|
4542
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
|
|
@@ -4990,12 +5001,12 @@ this.IconSize={Max:g_JSChartResource.DRAWICON.Icon.MaxSize,Min:g_JSChartResource
|
|
|
4990
5001
|
Zoom:{Type:g_JSChartResource.DRAWICON.Icon.Zoom.Type,Value:g_JSChartResource.DRAWICON.Icon.Zoom.Value//放大倍数
|
|
4991
5002
|
}};this.Family;this.Color=g_JSChartResource.DefaultTextColor;this.IsHScreen=false;this.IconRect=[];//0=序号,1=区域
|
|
4992
5003
|
this.MapCache=null;//key=date/date-time value={ Data:[] }
|
|
4993
|
-
this.GetKValue=ChartData.GetKValue;this.BuildKey=function(item){if(IFrameSplitOperator.IsNumber(item.Time))return item.Date+'-'+item.Time;else return item.Date;};this.BuildCacheData=function(){var mapData=new _map2.default();this.MapCache=mapData;if(!IFrameSplitOperator.IsNonEmptyArray(this.AryIcon))return;for(var i=0;i<this.AryIcon.length;++i){var item=this.AryIcon[i];var key=this.BuildKey(item);if(mapData.has(key)){var mapItem=mapData.get(key);mapItem.Data.push(item);}else{mapData.set(key,{Data:[item]});}}};this.ClipClient=function(isHScreen)//裁剪客户端
|
|
5004
|
+
this.GetKValue=ChartData.GetKValue;this.SetOption=function(option){if(!option)return;if(option.IconSize){var item=option.IconSize;if(IFrameSplitOperator.IsNumber(item.Max))this.IconSize.Max=item.Max;if(IFrameSplitOperator.IsNumber(item.Min))this.IconSize.Min=item.Min;if(item.Zoom){var subItem=item.Zoom;if(IFrameSplitOperator.IsNumber(subItem.Type))this.IconSize.Zoom.Type=subItem.Type;if(IFrameSplitOperator.IsNumber(subItem.Value))this.IconSize.Zoom.Value=subItem.Value;}}if(option.Color)this.Color=option.Color;};this.BuildKey=function(item){if(IFrameSplitOperator.IsNumber(item.Time))return item.Date+'-'+item.Time;else return item.Date;};this.BuildCacheData=function(){var mapData=new _map2.default();this.MapCache=mapData;if(!IFrameSplitOperator.IsNonEmptyArray(this.AryIcon))return;for(var i=0;i<this.AryIcon.length;++i){var item=this.AryIcon[i];var key=this.BuildKey(item);if(mapData.has(key)){var mapItem=mapData.get(key);mapItem.Data.push(item);}else{mapData.set(key,{Data:[item]});}}};this.ClipClient=function(isHScreen)//裁剪客户端
|
|
4994
5005
|
{if(isHScreen==true){var left=this.ChartBorder.GetLeft();var right=this.ChartBorder.GetRight();var top=this.ChartBorder.GetTop();var bottom=this.ChartBorder.GetBottom();}else{var left=this.ChartBorder.GetLeft();var right=this.ChartBorder.GetRight();var top=this.ChartBorder.GetTop();var bottom=this.ChartBorder.GetBottom();}this.Canvas.beginPath();this.Canvas.rect(left,top,right-left,bottom-top);//this.Canvas.stroke(); //调试用
|
|
4995
5006
|
this.Canvas.clip();};this.Draw=function(){this.IconRect=[];if(!this.IsShow||this.ChartFrame.IsMinSize||!this.IsVisible)return;if(this.IsShowIndexTitleOnly())return;if(this.IsHideScriptIndex())return;if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return;//k线数据
|
|
4996
5007
|
if(!this.Family)return;if(!this.MapCache||this.MapCache.size<=0)return;this.IsHScreen=this.ChartFrame.IsHScreen===true;var xPointCount=this.ChartFrame.XPointCount;var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var isMinute=this.IsMinuteFrame();var border=this.GetBorder();if(this.IsHScreen){var xOffset=border.TopEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;var chartright=border.BottomEx;var chartLeft=border.TopEx;}else{var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;var chartright=border.RightEx;var chartLeft=border.LeftEx;}this.Canvas.save();this.ClipClient(this.ChartFrame.IsHScreen);var fontSize=this.GetDynamicIconSize(dataWidth,distanceWidth,this.IconSize.Max,this.IconSize.Min,this.IconSize.Zoom);this.Canvas.font=fontSize+'px '+this.Family;var drawInfo={Left:chartLeft,Right:chartright,FontSize:fontSize,DataWidth:dataWidth,DistanceWidth:distanceWidth};for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j,xOffset+=dataWidth+distanceWidth){var kItem=this.Data.Data[i];var key=this.BuildKey(kItem);if(!this.MapCache.has(key))continue;var mapItem=this.MapCache.get(key);if(isMinute){var x=this.ChartFrame.GetXFromIndex(j);}else{var left=xOffset;var right=xOffset+dataWidth;if(right>chartright)break;var x=left+(right-left)/2;}this.DrawItem(mapItem,kItem,x,drawInfo);}this.Canvas.restore();};this.DrawItem=function(groupItem,kItem,x,drawInfo){if(!IFrameSplitOperator.IsNonEmptyArray(groupItem.Data))return;var fontSize=drawInfo.FontSize;var left=drawInfo.Left,right=drawInfo.Right;var dataWidth=drawInfo.DataWidth;//var distanceWidth=drawInfo.DistanceWidth;
|
|
4997
|
-
for(var i=0;i<groupItem.Data.length;++i){var item=groupItem.Data[i];var value=item.Value;if(IFrameSplitOperator.IsString(item.Value))value=this.GetKValue(kItem,item.Value);if(!IFrameSplitOperator.IsNumber(value))continue;var y=this.ChartFrame.GetYFromData(value,false);if(item.Image){var imageHeight=item.Image.Height;var imageWidth=item.Image.Width;if(this.IsHScreen){var xImage=x-imageWidth/2,yImage=y;if(item.Baseline==1)yImage=y-imageHeight;else if(item.Baseline==2)yImage=y;else yImage=y-imageHeight/2;if(IFrameSplitOperator.IsNumber(item.YMove)){yImage-=item.YMove;y-=item.YMove;}this.Canvas.save();this.Canvas.translate(yImage+imageWidth/2,xImage+imageHeight/2);this.Canvas.rotate(90*Math.PI/180);this.Canvas.drawImage(item.Image.Data,-imageWidth/2,-imageHeight/2,item.Image.Width,item.Image.Height);this.Canvas.restore();}else{var rtIcon=new Rect(x-imageWidth/2,y-imageHeight/2,imageWidth,imageHeight);if(item.Baseline==1)rtIcon.Y=y;else if(item.Baseline==2)rtIcon.Y=y-imageHeight;else rtIcon.Y=y-imageHeight/2;if(IFrameSplitOperator.IsNumber(item.YMove)){y+=item.YMove;rtIcon.Y+=item.YMove;}this.Canvas.drawImage(item.Image.Data,rtIcon.X,rtIcon.Y,item.Image.Width,item.Image.Height);if(item.Text)this.IconRect.push({Rect:rtIcon,Item:item,KItem:kItem});else if(IFrameSplitOperator.IsNonEmptyArray(item.AryText))this.IconRect.push({Rect:rtIcon,Item:item,KItem:kItem});}}else{if(item.Color)this.Canvas.fillStyle=item.Color;else this.Canvas.fillStyle=this.Color;//var textWidth=this.Canvas.measureText(item.Symbol).width;
|
|
4998
|
-
this.Canvas.textAlign='center';var rtIcon=new Rect(x-
|
|
5008
|
+
for(var i=0;i<groupItem.Data.length;++i){var item=groupItem.Data[i];var value=item.Value;if(IFrameSplitOperator.IsString(item.Value))value=this.GetKValue(kItem,item.Value);if(!IFrameSplitOperator.IsNumber(value))continue;var y=this.ChartFrame.GetYFromData(value,false);if(item.Image){var imageHeight=item.Image.Height;var imageWidth=item.Image.Width;if(this.IsHScreen){var xImage=x-imageWidth/2,yImage=y;if(item.Baseline==1)yImage=y-imageHeight;else if(item.Baseline==2)yImage=y;else yImage=y-imageHeight/2;if(IFrameSplitOperator.IsNumber(item.YMove)){yImage-=item.YMove;y-=item.YMove;}this.Canvas.save();this.Canvas.translate(yImage+imageWidth/2,xImage+imageHeight/2);this.Canvas.rotate(90*Math.PI/180);this.Canvas.drawImage(item.Image.Data,-imageWidth/2,-imageHeight/2,item.Image.Width,item.Image.Height);this.Canvas.restore();}else{var rtIcon=new Rect(x-imageWidth/2,y-imageHeight/2,imageWidth,imageHeight);if(item.Baseline==1)rtIcon.Y=y;else if(item.Baseline==2)rtIcon.Y=y-imageHeight;else rtIcon.Y=y-imageHeight/2;if(IFrameSplitOperator.IsNumber(item.YMove)){y+=item.YMove;rtIcon.Y+=item.YMove;}this.Canvas.drawImage(item.Image.Data,rtIcon.X,rtIcon.Y,item.Image.Width,item.Image.Height);if(item.Text)this.IconRect.push({Rect:rtIcon,Item:item,KItem:kItem});else if(IFrameSplitOperator.IsNonEmptyArray(item.AryText))this.IconRect.push({Rect:rtIcon,Item:item,KItem:kItem});}}else{if(item.Color)this.Canvas.fillStyle=item.Color;else this.Canvas.fillStyle=this.Color;var iconSize=fontSize;if(IFrameSplitOperator.IsNumber(item.Size))iconSize=item.Size;//var textWidth=this.Canvas.measureText(item.Symbol).width;
|
|
5009
|
+
this.Canvas.font=iconSize+'px '+this.Family;this.Canvas.textAlign='center';var rtIcon=new Rect(x-iconSize/2,y-iconSize/2,iconSize,iconSize);if(item.Baseline==1){this.Canvas.textBaseline='top';rtIcon.Y=y;}else if(item.Baseline==2){this.Canvas.textBaseline='bottom';rtIcon.Y=y-iconSize;}else{this.Canvas.textBaseline='middle';rtIcon.Y=y-iconSize/2;}if(this.IsHScreen){this.Canvas.save();this.Canvas.translate(y,x);this.Canvas.rotate(90*Math.PI/180);this.Canvas.fillText(item.Symbol,0,0);this.Canvas.restore();}else{if(IFrameSplitOperator.IsNumber(item.YMove)){y+=item.YMove;rtIcon.Y+=item.YMove;}this.Canvas.fillText(item.Symbol,x,y);if(item.Text)this.IconRect.push({Rect:rtIcon,Item:item,KItem:kItem});else if(IFrameSplitOperator.IsNonEmptyArray(item.AryText))this.IconRect.push({Rect:rtIcon,Item:item,KItem:kItem});}}if(item.Line){var price=item.Line.KData=="H"?kItem.High:kItem.Low;var yPrice=this.ChartFrame.GetYFromData(price,false);var yText=y;if(Array.isArray(item.Line.Offset)&&item.Line.Offset.length==2){if(yText>yPrice)//文字在下方
|
|
4999
5010
|
{yText-=item.Line.Offset[1];yPrice+=item.Line.Offset[0];}else if(yText<yPrice){yText+=item.Line.Offset[1];yPrice-=item.Line.Offset[0];}}this.Canvas.save();if(item.Line.Dash)this.Canvas.setLineDash(item.Line.Dash);//虚线
|
|
5000
5011
|
if(item.Line.Width>0)this.Canvas.lineWidth=item.Line.Width;//线宽
|
|
5001
5012
|
this.Canvas.strokeStyle=item.Line.Color;this.Canvas.beginPath();if(this.IsHScreen){this.Canvas.moveTo(yText,ToFixedPoint(x));this.Canvas.lineTo(yPrice,ToFixedPoint(x));}else{this.Canvas.moveTo(ToFixedPoint(x),yText);this.Canvas.lineTo(ToFixedPoint(x),yPrice);}this.Canvas.stroke();this.Canvas.restore();}}};this.GetTooltipData=function(x,y,tooltip){if(!IFrameSplitOperator.IsNonEmptyArray(this.IconRect))return false;for(var i=0;i<this.IconRect.length;++i){var item=this.IconRect[i];if(!item.Rect)continue;var rect=item.Rect;if(rect&&rect.PtInRect(x,y)){JSConsole.Chart.Log('[ChartMultiSVGIconV2::GetTooltipData] icon ',item);tooltip.Data=item;tooltip.ChartPaint=this;tooltip.Type=4;//指标
|
|
@@ -8909,7 +8920,15 @@ this.LockCorssCursor=function(option){if(option&&option.KItem)//指定日期时
|
|
|
8909
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)//超出图形框子, 调整为收盘价
|
|
8910
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线
|
|
8911
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: }
|
|
8912
|
-
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();};
|
|
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[]
|
|
8913
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;//是否是期货
|
|
8914
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;//结算价, 前结算价
|
|
8915
8934
|
var bfactor=11,afactor=12;//前, 后复权因子
|
|
@@ -9704,7 +9723,16 @@ IsShowCorss:this.ChartCorssCursor.IsShowCorss,//是否显示十字线
|
|
|
9704
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;//区间统计数据
|
|
9705
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;};//获取最新的一条盘前数据
|
|
9706
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;};//获取最新的一条盘后数据
|
|
9707
|
-
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;};}//盘前数据
|
|
9708
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;//前一个数据价格
|
|
9709
9737
|
var stockData=data.stock[0];var date=stockData.date;//日期
|
|
9710
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;//扩展数据序号
|
|
@@ -10100,9 +10128,9 @@ NetBuyRatio:item.netBuyRatio,//净买额占总成交比
|
|
|
10100
10128
|
Amount:item.amount//市场总成交额
|
|
10101
10129
|
};this.ReadArrayText(infoData,item);this.Data.push(infoData);}param.HQChart.UpdataChartInfo();param.HQChart.Draw();};}//新闻 2.0
|
|
10102
10130
|
function NewsInfo(){this.newMethod=IKLineInfo;//派生
|
|
10103
|
-
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,
|
|
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
|
|
10104
10132
|
function DividendInfo(){this.newMethod=IKLineInfo;//派生
|
|
10105
|
-
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,
|
|
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;//派生
|
|
10106
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;//分时图数据范围
|
|
10107
10135
|
var kData=hqChart.GetKData();if(kData)dataRange=kData.GetDateRange();var obj={Name:this.ClassName+'::RequestData',//类名::
|
|
10108
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;//已被上层替换,不调用默认的网络请求
|
|
@@ -10120,8 +10148,8 @@ if(item.Color)info.Color=item.Color;if(item.BGColor)info.BGColor=item.BGColor;if
|
|
|
10120
10148
|
// 分钟新闻
|
|
10121
10149
|
// { Date:yyyymmdd, Time:hhmm, Time2:hhmmss, Title, Type:1, ID: , Data:外部数据 }
|
|
10122
10150
|
function MinuteNewsInfo(){this.newMethod=IMinuteInfo;//派生
|
|
10123
|
-
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(
|
|
10124
|
-
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();};}//注意!!! 这个函数已经不用了
|
|
10125
10153
|
//是否是指数代码
|
|
10126
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)//自定义指数
|
|
10127
10155
|
{return true;}return false;}//注意!!! 这个函数已经不用了
|
|
@@ -12934,6 +12962,8 @@ this.Add=function(name,option){this.DataMap.set(name,{MinuteFittingCallback:opti
|
|
|
12934
12962
|
//name=指标名字 args=参数名字 参数值
|
|
12935
12963
|
function ScriptIndex(name,script,args,option){this.newMethod=BaseIndex;//派生
|
|
12936
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看的
|
|
12937
12967
|
this.FloatPrecision=2;//小数位数
|
|
12938
12968
|
this.StringFormat;this.IsShowIndexTitle=true;//是否显示指标标题
|
|
12939
12969
|
this.KLineType=null;//K线显示类型
|
|
@@ -12957,7 +12987,7 @@ this.IsSync=false;//是否是同步计算 (无数据请求)
|
|
|
12957
12987
|
this.IsShow=true;//是否显示图形
|
|
12958
12988
|
this.RunCount=0;//已执行次数
|
|
12959
12989
|
this.MaxRunCount=-1;//最大执行次数 -1=无限
|
|
12960
|
-
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;//指标上锁
|
|
12961
12991
|
if(option.Lock.Callback)this.LockCallback=option.Lock.Callback;//锁回调
|
|
12962
12992
|
if(option.Lock.ID)this.LockID=option.Lock.ID;//锁ID
|
|
12963
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轴的计算
|
|
@@ -13071,7 +13101,7 @@ chart.Lines=varItem.Draw.DrawData;if(varItem.Draw.Name)chart.Name=varItem.Draw.N
|
|
|
13071
13101
|
chart.PointGroup=varItem.Draw.DrawData;if(varItem.Draw.Name)chart.Name=varItem.Draw.Name;chart.BuildCacheData();this.SetChartIndexName(chart);hqChart.ChartPaint.push(chart);var titleIndex=windowIndex+1;var bShowTitle=true;if(varItem.IsShowTitle===false)bShowTitle=false;if(bShowTitle){var titleData=new DynamicTitleData(chart.Data,chart.Name,null);titleData.DataType="ChartMultiPoint";titleData.GetItemCallback=function(kItem){return chart.GetItem(kItem);};hqChart.TitlePaint[titleIndex].Data[i]=titleData;}};this.CreateMultiBar=function(hqChart,windowIndex,varItem,id){var chart=new ChartMultiBar();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.Data=hqChart.GetKData();//绑定K线
|
|
13072
13102
|
chart.Bars=varItem.Draw.DrawData;chart.BuildCacheData();this.SetChartIndexName(chart);hqChart.ChartPaint.push(chart);var titleIndex=windowIndex+1;var bShowTitle=true;if(varItem.IsShowTitle===false)bShowTitle=false;if(bShowTitle){var titleData=new DynamicTitleData(chart.Data,varItem.Name,null);titleData.DataType="ChartMultiBar";titleData.GetItemCallback=function(kItem){return chart.GetItem(kItem);};hqChart.TitlePaint[titleIndex].Data[id]=titleData;}};this.CreateMultiText=function(hqChart,windowIndex,varItem,i){var chart=new ChartMultiText();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.Data=hqChart.GetKData();//绑定K线
|
|
13073
13103
|
chart.Texts=varItem.Draw.DrawData;chart.BuildCacheData();this.SetChartIndexName(chart);hqChart.ChartPaint.push(chart);};this.CreateMultiSVGIcon=function(hqChart,windowIndex,varItem,i){var chart=new ChartMultiSVGIconV2();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.Data=hqChart.GetKData();//绑定K线
|
|
13074
|
-
chart.Family=varItem.Draw.DrawData.Family;chart.AryIcon=varItem.Draw.DrawData.Icon;chart.BuildCacheData();this.SetChartIndexName(chart);hqChart.ChartPaint.push(chart);};this.CreateChartDrawSVG=function(hqChart,windowIndex,varItem,i){var chart=new ChartDrawSVG();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.Data=hqChart.GetKData();if(IFrameSplitOperator.IsBool(varItem.Draw.DrawData.EnableTooltip))chart.EnableTooltip=varItem.Draw.DrawData.EnableTooltip;if(IFrameSplitOperator.IsBool(varItem.Draw.DrawData.IsDrawFirst))chart.IsDrawFirst=varItem.Draw.DrawData.IsDrawFirst;if(IFrameSplitOperator.IsBool(varItem.Draw.EnalbeDetailNoOverlap))chart.EnalbeDetailNoOverlap=varItem.Draw.EnalbeDetailNoOverlap;if(IFrameSplitOperator.IsBool(varItem.Draw.EnableClick))chart.EnableClick=varItem.Draw.EnableClick;if(varItem.Draw.BuildKeyCallback)chart.BuildKeyCallback=varItem.Draw.BuildKeyCallback;chart.Family=varItem.Draw.DrawData.Family;chart.TextFont=varItem.Draw.DrawData.TextFont;chart.Texts=varItem.Draw.DrawData.Data;chart.BuildCacheData();this.SetChartIndexName(chart);hqChart.ChartPaint.push(chart);};this.CreateMulitHtmlDom=function(hqChart,windowIndex,varItem,i){var chart=new ChartMultiHtmlDom();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.HQChart=hqChart;chart.Data=hqChart.ChartPaint[0].Data;//绑定K线
|
|
13104
|
+
chart.Family=varItem.Draw.DrawData.Family;chart.AryIcon=varItem.Draw.DrawData.Icon;if(varItem.Draw.Config)chart.SetOption(varItem.Draw.Config);chart.BuildCacheData();this.SetChartIndexName(chart);hqChart.ChartPaint.push(chart);};this.CreateChartDrawSVG=function(hqChart,windowIndex,varItem,i){var chart=new ChartDrawSVG();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.Data=hqChart.GetKData();if(IFrameSplitOperator.IsBool(varItem.Draw.DrawData.EnableTooltip))chart.EnableTooltip=varItem.Draw.DrawData.EnableTooltip;if(IFrameSplitOperator.IsBool(varItem.Draw.DrawData.IsDrawFirst))chart.IsDrawFirst=varItem.Draw.DrawData.IsDrawFirst;if(IFrameSplitOperator.IsBool(varItem.Draw.EnalbeDetailNoOverlap))chart.EnalbeDetailNoOverlap=varItem.Draw.EnalbeDetailNoOverlap;if(IFrameSplitOperator.IsBool(varItem.Draw.EnableClick))chart.EnableClick=varItem.Draw.EnableClick;if(varItem.Draw.BuildKeyCallback)chart.BuildKeyCallback=varItem.Draw.BuildKeyCallback;chart.Family=varItem.Draw.DrawData.Family;chart.TextFont=varItem.Draw.DrawData.TextFont;chart.Texts=varItem.Draw.DrawData.Data;chart.BuildCacheData();this.SetChartIndexName(chart);hqChart.ChartPaint.push(chart);};this.CreateMulitHtmlDom=function(hqChart,windowIndex,varItem,i){var chart=new ChartMultiHtmlDom();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.HQChart=hqChart;chart.Data=hqChart.ChartPaint[0].Data;//绑定K线
|
|
13075
13105
|
chart.Texts=varItem.Draw.DrawData;chart.DrawCallback=varItem.Draw.Callback;hqChart.ChartPaint.push(chart);};this.CreateStackedBar=function(hqChart,windowIndex,varItem,i){var chart=new ChartStackedBar();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.HQChart=hqChart;chart.Identify=this.Guid;chart.Data.Data=varItem.Draw.DrawData;if(IFrameSplitOperator.IsNonEmptyArray(varItem.Draw.BarColor))chart.BarColor=varItem.Draw.BarColor;if(IFrameSplitOperator.IsNonEmptyArray(varItem.Draw.BarName))chart.BarName=varItem.Draw.BarName;if(IFrameSplitOperator.IsNumber(varItem.Draw.LineWidth))chart.LineWidth=varItem.Draw.LineWidth;if(IFrameSplitOperator.IsNumber(varItem.Draw.BarType))chart.BarType=varItem.Draw.BarType;hqChart.ChartPaint.push(chart);var titleIndex=windowIndex+1;var titleData=new DynamicTitleData(chart.Data,chart.BarName,chart.BarColor);titleData.DataType="ChartStackedBar";hqChart.TitlePaint[titleIndex].Data[i]=titleData;};this.CreateKLineTable=function(hqChart,windowIndex,varItem,i){var chart=new ChartKLineTable();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.HQChart=hqChart;chart.Identify=this.Guid;chart.Data=hqChart.GetKData();//绑定K线
|
|
13076
13106
|
chart.AryTableData=varItem.Draw.DrawData;if(IFrameSplitOperator.IsNumber(varItem.Draw.RowCount))chart.RowCount=varItem.Draw.RowCount;if(IFrameSplitOperator.IsNonEmptyArray(varItem.Draw.RowName))chart.AryLabel=varItem.Draw.RowName;var config=varItem.Draw.Config;chart.SetOption(config);chart.BuildCacheData();this.SetChartIndexName(chart);hqChart.ChartPaint.push(chart);var bShowTitle=false;if(config&&IFrameSplitOperator.IsBool(config.IsShowTitle))bShowTitle=config.IsShowTitle;if(bShowTitle){var titleIndex=windowIndex+1;var titleData=new DynamicTitleData(chart.Data,chart.BarName,chart.BarColor);titleData.DataType="ChartKLineTable";hqChart.TitlePaint[titleIndex].Data[i]=titleData;}};this.CreateScatterPlot=function(hqChart,windowIndex,varItem,i){var chart=new ChartScatterPlot();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.HQChart=hqChart;chart.Identify=this.Guid;chart.Data.Data=varItem.Draw.DrawData;chart.Color=varItem.Draw.Color;chart.Radius=varItem.Draw.Radius;hqChart.ChartPaint.push(chart);};this.CreateScatterPlotV2=function(hqChart,windowIndex,varItem,i){var chart=new ChartScatterPlotV2();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.HQChart=hqChart;chart.Identify=this.Guid;chart.Data=hqChart.GetKData();//绑定K线
|
|
13077
13107
|
chart.AryPoint=varItem.Draw.DrawData;var config=varItem.Draw.Config;if(config){if(config.Color)chart.Color=config.Color;if(IFrameSplitOperator.IsNumber(config.Radius))chart.Radius=config.Radius;if(config.TextColor)chart.TextColor=config.TextColor;if(config.Font)chart.Font=config.Font;}chart.BuildCacheData();this.SetChartIndexName(chart);hqChart.ChartPaint.push(chart);};this.CreateBaseLineBar=function(hqChart,windowIndex,varItem,i){var chart=new ChartBaseLineBar();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.HQChart=hqChart;chart.Identify=this.Guid;chart.Data=hqChart.GetKData();//绑定K线
|
|
@@ -13219,7 +13249,7 @@ chart.Lines=varItem.Draw.DrawData;if(varItem.Draw.LineDash)chart.LineDash=varIte
|
|
|
13219
13249
|
chart.PointGroup=varItem.Draw.DrawData;chart.BuildCacheData();var titleIndex=windowIndex+1;var bShowTitle=true;if(varItem.IsShowTitle===false)bShowTitle=false;if(bShowTitle){var titlePaint=hqChart.TitlePaint[titleIndex];var titleData=new DynamicTitleData(chart.Data,varItem.Name,null);titleData.DataType="ChartMultiPoint";titleData.GetItemCallback=function(kItem){return chart.GetItem(kItem);};titlePaint.OverlayIndex.get(overlayIndex.Identify).Data[id]=titleData;}this.SetChartIndexName(chart);frame.ChartPaint.push(chart);};this.CreateBackgroud=function(hqChart,windowIndex,varItem,i){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartBackground();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;if(varItem.Draw&&varItem.Draw.DrawData){var drawData=varItem.Draw.DrawData;chart.Color=drawData.Color;chart.ColorAngle=drawData.Angle;if(drawData.Data)chart.Data.Data=drawData.Data;}frame.ChartPaint.push(chart);};this.CreateMultiBar=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartMultiBar();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.Data=hqChart.GetKData();//绑定K线
|
|
13220
13250
|
chart.Bars=varItem.Draw.DrawData;chart.BuildCacheData();var titleIndex=windowIndex+1;var bShowTitle=true;if(varItem.IsShowTitle===false)bShowTitle=false;if(bShowTitle){var titlePaint=hqChart.TitlePaint[titleIndex];var titleData=new DynamicTitleData(chart.Data,varItem.Name,null);titleData.DataType="ChartMultiBar";titleData.GetItemCallback=function(kItem){return chart.GetItem(kItem);};titlePaint.OverlayIndex.get(overlayIndex.Identify).Data[id]=titleData;}this.SetChartIndexName(chart);frame.ChartPaint.push(chart);};this.CreateMultiText=function(hqChart,windowIndex,varItem,i){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartMultiText();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.Data=hqChart.GetKData();//绑定K线
|
|
13221
13251
|
chart.Texts=varItem.Draw.DrawData;chart.BuildCacheData();this.SetChartIndexName(chart);frame.ChartPaint.push(chart);};this.CreateMultiSVGIcon=function(hqChart,windowIndex,varItem,i){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartMultiSVGIconV2();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.Data=hqChart.GetKData();//绑定K线
|
|
13222
|
-
chart.Family=varItem.Draw.DrawData.Family;chart.AryIcon=varItem.Draw.DrawData.Icon;chart.BuildCacheData();this.SetChartIndexName(chart);frame.ChartPaint.push(chart);};this.CreateChartDrawSVG=function(hqChart,windowIndex,varItem,i){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartDrawSVG();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.Data=hqChart.GetKData();if(IFrameSplitOperator.IsBool(varItem.Draw.DrawData.EnableTooltip))chart.EnableTooltip=varItem.Draw.DrawData.EnableTooltip;if(IFrameSplitOperator.IsBool(varItem.Draw.DrawData.IsDrawFirst))chart.IsDrawFirst=varItem.Draw.DrawData.IsDrawFirst;if(varItem.Draw.BuildKeyCallback)chart.BuildKeyCallback=varItem.Draw.BuildKeyCallback;chart.Family=varItem.Draw.DrawData.Family;chart.TextFont=varItem.Draw.DrawData.TextFont;chart.Texts=varItem.Draw.DrawData.Data;if(varItem.Draw.AutoPosition)chart.AutoPosition=varItem.Draw.AutoPosition;if(IFrameSplitOperator.IsBool(varItem.Draw.EnalbeDetailNoOverlap))chart.EnalbeDetailNoOverlap=varItem.Draw.EnalbeDetailNoOverlap;if(IFrameSplitOperator.IsBool(varItem.Draw.EnableClick))chart.EnableClick=varItem.Draw.EnableClick;this.ReloadChartResource(hqChart,windowIndex,chart);chart.BuildCacheData();this.SetChartIndexName(chart);frame.ChartPaint.push(chart);};this.CreateMulitHtmlDom=function(hqChart,windowIndex,varItem,i){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartMultiHtmlDom();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.HQChart=hqChart;chart.Data=hqChart.ChartPaint[0].Data;//绑定K线
|
|
13252
|
+
chart.Family=varItem.Draw.DrawData.Family;chart.AryIcon=varItem.Draw.DrawData.Icon;if(varItem.Draw.Config)chart.SetOption(varItem.Draw.Config);chart.BuildCacheData();this.SetChartIndexName(chart);frame.ChartPaint.push(chart);};this.CreateChartDrawSVG=function(hqChart,windowIndex,varItem,i){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartDrawSVG();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.Data=hqChart.GetKData();if(IFrameSplitOperator.IsBool(varItem.Draw.DrawData.EnableTooltip))chart.EnableTooltip=varItem.Draw.DrawData.EnableTooltip;if(IFrameSplitOperator.IsBool(varItem.Draw.DrawData.IsDrawFirst))chart.IsDrawFirst=varItem.Draw.DrawData.IsDrawFirst;if(varItem.Draw.BuildKeyCallback)chart.BuildKeyCallback=varItem.Draw.BuildKeyCallback;chart.Family=varItem.Draw.DrawData.Family;chart.TextFont=varItem.Draw.DrawData.TextFont;chart.Texts=varItem.Draw.DrawData.Data;if(varItem.Draw.AutoPosition)chart.AutoPosition=varItem.Draw.AutoPosition;if(IFrameSplitOperator.IsBool(varItem.Draw.EnalbeDetailNoOverlap))chart.EnalbeDetailNoOverlap=varItem.Draw.EnalbeDetailNoOverlap;if(IFrameSplitOperator.IsBool(varItem.Draw.EnableClick))chart.EnableClick=varItem.Draw.EnableClick;this.ReloadChartResource(hqChart,windowIndex,chart);chart.BuildCacheData();this.SetChartIndexName(chart);frame.ChartPaint.push(chart);};this.CreateMulitHtmlDom=function(hqChart,windowIndex,varItem,i){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartMultiHtmlDom();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.HQChart=hqChart;chart.Data=hqChart.ChartPaint[0].Data;//绑定K线
|
|
13223
13253
|
chart.Texts=varItem.Draw.DrawData;chart.DrawCallback=varItem.Draw.Callback;frame.ChartPaint.push(chart);};this.CreateSimpleTable=function(hqChart,windowIndex,varItem,i){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartSimpleTable();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.HQChart=hqChart;if(varItem.Draw&&varItem.Draw.DrawData){var drawData=varItem.Draw.DrawData;if(drawData.TableData)chart.Data.Data=drawData.TableData;if(drawData.BGColor)chart.BGColor=drawData.BGColor;if(drawData.BorderColor)chart.BorderColor=drawData.BorderColor;if(drawData.TextFont)chart.TextFontConfig=drawData.TextFont;if(drawData.TextColor)chart.TextColor=drawData.TextColor;if(IFrameSplitOperator.IsNumber(drawData.XOffset))chart.Offset.X=drawData.XOffset;if(IFrameSplitOperator.IsNumber(drawData.YOffset))chart.Offset.Y=drawData.YOffset;}frame.ChartPaint.push(chart);};this.CreateSimplePie=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartSimplePie();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.HQChart=hqChart;if(varItem.Draw&&varItem.Draw.DrawData){var drawData=varItem.Draw.DrawData;if(drawData.Data)chart.Data.Data=drawData.Data;if(drawData.BorderColor)chart.BorderColor=drawData.BorderColor;if(drawData.TextFont)chart.TextFontConfig=drawData.TextFont;if(drawData.TextColor)chart.TextColor=drawData.TextColor;if(IFrameSplitOperator.IsNumber(drawData.XOffset))chart.Offset.X=drawData.XOffset;if(IFrameSplitOperator.IsNumber(drawData.YOffset))chart.Offset.Y=drawData.YOffset;if(IFrameSplitOperator.IsPlusNumber(drawData.Radius))chart.Radius=drawData.Radius;}frame.ChartPaint.push(chart);};this.CreateSimpleDoughnut=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartSimpleDoughnut();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.HQChart=hqChart;if(varItem.Draw&&varItem.Draw.DrawData){var drawData=varItem.Draw.DrawData;if(drawData.Data)chart.Data.Data=drawData.Data;if(drawData.BorderColor)chart.BorderColor=drawData.BorderColor;if(drawData.TextFont)chart.TextFontConfig=drawData.TextFont;if(drawData.TextColor)chart.TextColor=drawData.TextColor;if(IFrameSplitOperator.IsNumber(drawData.XOffset))chart.Offset.X=drawData.XOffset;if(IFrameSplitOperator.IsNumber(drawData.YOffset))chart.Offset.Y=drawData.YOffset;if(IFrameSplitOperator.IsPlusNumber(drawData.Radius))chart.Radius=drawData.Radius;if(IFrameSplitOperator.IsPlusNumber(drawData.InnerRadius))chart.InnerRadius=drawData.InnerRadius;}frame.ChartPaint.push(chart);};this.CreateSimpleRadar=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartSimpleRadar();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.HQChart=hqChart;if(varItem.Draw&&varItem.Draw.DrawData){var drawData=varItem.Draw.DrawData;if(drawData.Data)chart.Data.Data=drawData.Data;if(drawData.AryIndex)chart.AryIndex=drawData.AryIndex;if(IFrameSplitOperator.IsPlusNumber(drawData.Radius))chart.Radius=drawData.Radius;if(drawData.BorderColor)chart.BorderColor=drawData.BorderColor;if(drawData.TextFont)chart.TextFontConfig=drawData.TextFont;if(drawData.TextColor)chart.TextColor=drawData.TextColor;if(drawData.BorderColor)chart.BorderColor=drawData.BorderColor;if(IFrameSplitOperator.IsNumber(drawData.XOffset))chart.Offset.X=drawData.XOffset;if(IFrameSplitOperator.IsNumber(drawData.YOffset))chart.Offset.Y=drawData.YOffset;if(IFrameSplitOperator.IsNonEmptyArray(drawData.AryArea))chart.AryAreaConfig=drawData.AryArea;chart.BuildCacheData();}frame.ChartPaint.push(chart);};this.CreateChartVericaltLine=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartVericaltLine();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.HQChart=hqChart;if(varItem.Color)chart.Color=this.GetColor(varItem.Color);else chart.Color=this.GetDefaultColor(id);if(varItem.LineWidth){var width=parseInt(varItem.LineWidth.replace("LINETHICK",""));if(!isNaN(width)&&width>0)chart.LineWidth=width;}this.SetChartLineDash(chart,varItem.Draw.DrawData);chart.Data.Data=varItem.Draw.DrawData.Data;frame.ChartPaint.push(chart);};this.CreateChartHorizontalLine=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartHorizontalLine();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.HQChart=hqChart;if(varItem.Color)chart.Color=this.GetColor(varItem.Color);else chart.Color=this.GetDefaultColor(id);if(varItem.LineWidth){var width=parseInt(varItem.LineWidth.replace("LINETHICK",""));if(!isNaN(width)&&width>0)chart.LineWidth=width;}this.SetChartLineDash(chart,varItem.Draw.DrawData);chart.ExtendType=varItem.Draw.DrawData.Extend;chart.Data.Data=varItem.Draw.DrawData.Data;frame.ChartPaint.push(chart);};//创建K线
|
|
13224
13254
|
this.CreateSelfKLine=function(hqChart,windowIndex,hisData){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartKLine();chart.Canvas=hqChart.Canvas;chart.Name="Self Kline";chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.Data=hisData;chart.IsShowMaxMinPrice=false;chart.IsShowKTooltip=false;chart.DrawType=this.KLineType;frame.ChartPaint.push(chart);};//给一个默认的颜色
|
|
13225
13255
|
this.GetDefaultColor=function(id){var COLOR_ARRAY=["rgb(24,71,178)","rgb(42,230,215)","rgb(252,96,154)","rgb(0,128,255)","rgb(229,0,79)","rgb(68,114,196)","rgb(255,174,0)","rgb(25,199,255)","rgb(175,95,162)","rgb(236,105,65)"];var number=parseInt(id);return COLOR_ARRAY[number%(COLOR_ARRAY.length-1)];};}//后台执行指标
|
|
@@ -13283,7 +13313,7 @@ if(item.isexdata==true)outVarItem.IsExData=true;if(item.BreakPoint)outVarItem.Br
|
|
|
13283
13313
|
{drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingArray(draw.DrawData,date,time,hqChart);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=="DRAWTEXT_FIX"||draw.DrawType=="DRAWNUMBER_FIX"){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData={Value:null,Text:null};drawItem.DrawData.Value=this.FittingArray(draw.DrawData.Value,date,time,hqChart);drawItem.DrawData.Text=this.FittingArray(draw.DrawData.Text,date,time,hqChart);drawItem.Position=draw.Position;outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=="VERTLINE")//竖线
|
|
13284
13314
|
{drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData={Data:this.FittingArray(draw.DrawData.Data,date,time,hqChart)};outVarItem.Draw=drawItem;if(draw.Config){var config=draw.Config;if(IFrameSplitOperator.IsString(config.LineWidth))outVarItem.LineWidth=config.LineWidth;if(IFrameSplitOperator.IsNumber(config.LineType))drawItem.DrawData.LineType=config.LineType;if(config.Color)outVarItem.Color=config.Color;}result.push(outVarItem);}else if(draw.DrawType=='STICKLINE')//柱子
|
|
13285
13315
|
{drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.Width=draw.Width;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingArray(draw.DrawData,date,time,hqChart,1);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=="DRAWBAND"){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingArray(draw.DrawData,date,time,hqChart,1);drawItem.Color=draw.Color;outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='MULTI_LINE'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingMultiLine(draw.DrawData,date,time,hqChart);if(IFrameSplitOperator.IsNonEmptyArray(drawItem.DrawData)){for(var k=0;k<drawItem.DrawData.length;++k){this.GetKLineData(drawItem.DrawData[k].Point,hqChart);}}outVarItem.Draw=drawItem;if(draw.LineDash)drawItem.LineDash=draw.LineDash;if(IFrameSplitOperator.IsBool(draw.IsFullRangeMaxMin))drawItem.IsFullRangeMaxMin=draw.IsFullRangeMaxMin;if(draw.Arrow)drawItem.Arrow=draw.Arrow;if(IFrameSplitOperator.IsNumber(draw.LineWidth))drawItem.LineWidth=draw.LineWidth;result.push(outVarItem);}else if(draw.DrawType=='MULTI_POINT'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData=draw.DrawData;outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='MULTI_BAR'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData=draw.DrawData;outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType==SCRIPT_CHART_NAME.OVERLAY_BARS){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.BarName=draw.BarName;drawItem.BarColor=draw.BarColor;drawItem.LineWidth=draw.LineWidth;drawItem.BarType=draw.BarType;drawItem.DrawData=this.FittingArray(draw.DrawData,date,time,hqChart,1);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType==SCRIPT_CHART_NAME.SCATTER_PLOT){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingArray(draw.DrawData,date,time,hqChart,1);//默认的值
|
|
13286
|
-
drawItem.Color=draw.Color;drawItem.Radius=draw.Radius;outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType==SCRIPT_CHART_NAME.SCATTER_PLOT_V2){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=draw.DrawData;drawItem.Config=draw.Config;outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType==SCRIPT_CHART_NAME.KLINE_TABLE){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=draw.DrawData;drawItem.RowCount=draw.RowCount;drawItem.RowName=draw.RowName;drawItem.Config=draw.Config;outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='MULTI_TEXT'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData=draw.DrawData;outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='MULTI_SVGICON'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData={Icon:draw.DrawData.Icon,Family:draw.DrawData.Family};outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='DRAWSVG'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;if(draw.AutoPosition)drawItem.AutoPosition=draw.AutoPosition;drawItem.EnalbeDetailNoOverlap=draw.EnalbeDetailNoOverlap;drawItem.EnableClick=draw.EnableClick;if(draw.BuildKeyCallback)drawItem.BuildKeyCallback=draw.BuildKeyCallback;drawItem.DrawData={Data:draw.Data,Family:draw.Family,TextFont:draw.TextFont,EnableTooltip:draw.EnableTooltip,IsDrawFirst:draw.IsDrawFirst};outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=="DRAWTITLE"){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=draw.DrawData;outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=="MULTI_HTMLDOM")//外部自己创建dom
|
|
13316
|
+
drawItem.Color=draw.Color;drawItem.Radius=draw.Radius;outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType==SCRIPT_CHART_NAME.SCATTER_PLOT_V2){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=draw.DrawData;drawItem.Config=draw.Config;outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType==SCRIPT_CHART_NAME.KLINE_TABLE){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=draw.DrawData;drawItem.RowCount=draw.RowCount;drawItem.RowName=draw.RowName;drawItem.Config=draw.Config;outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='MULTI_TEXT'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData=draw.DrawData;outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='MULTI_SVGICON'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData={Icon:draw.DrawData.Icon,Family:draw.DrawData.Family};if(draw.Config)drawItem.Config=draw.Config;outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='DRAWSVG'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;if(draw.AutoPosition)drawItem.AutoPosition=draw.AutoPosition;drawItem.EnalbeDetailNoOverlap=draw.EnalbeDetailNoOverlap;drawItem.EnableClick=draw.EnableClick;if(draw.BuildKeyCallback)drawItem.BuildKeyCallback=draw.BuildKeyCallback;drawItem.DrawData={Data:draw.Data,Family:draw.Family,TextFont:draw.TextFont,EnableTooltip:draw.EnableTooltip,IsDrawFirst:draw.IsDrawFirst};outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=="DRAWTITLE"){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=draw.DrawData;outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=="MULTI_HTMLDOM")//外部自己创建dom
|
|
13287
13317
|
{drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.Callback=draw.Callback;drawItem.DrawData=this.FittingMultiText(draw.DrawData,date,time,hqChart);this.GetKLineData(drawItem.DrawData,hqChart);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=="COLOR_KLINE"){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;var klineOption=this.FittingMultiText(draw.DrawData.KLine,date,time,hqChart);var mapKLineOption=new _map2.default();for(var i in klineOption){var item=klineOption[i];mapKLineOption.set(item.Index,item);}drawItem.DrawData={KLine:mapKLineOption};if(draw.Color)outVarItem.Color=draw.Color;outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=="KLINE_BG"){drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData={};drawItem.DrawData.Color=draw.Color;drawItem.DrawData.Angle=draw.Angle;if(draw.Ver==2.0)drawItem.DrawData.Data=this.FittingKLineBG_V2(draw.DrawData,hqChart);else drawItem.DrawData.Data=this.FittingKLineBG(draw.DrawData,hqChart);outVarItem.Draw=drawItem;outVarItem.Name=draw.DrawType;result.push(outVarItem);}else if(draw.DrawType=='MULTI_POINT_LINE'){drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData={};drawItem.DrawData.Color=draw.Color;drawItem.DrawData.PointRadius=draw.PointRadius;drawItem.DrawData.PointColor=draw.PointColor;drawItem.DrawData.LineWidth=draw.LineWidth;drawItem.DrawData.Data=this.FittingMultiPointLine(draw.DrawData,hqChart);outVarItem.Draw=drawItem;//outVarItem.Name=draw.DrawType;
|
|
13288
13318
|
result.push(outVarItem);}else if(draw.DrawType=="PARTLINE"){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingArray(draw.DrawData,date,time,hqChart,1);outVarItem.Draw=drawItem;if(IFrameSplitOperator.IsString(draw.LineWidth))outVarItem.LineWidth=draw.LineWidth;if(IFrameSplitOperator.IsBool(draw.IsDotLine))outVarItem.IsDotLine=draw.IsDotLine;if(IFrameSplitOperator.IsNonEmptyArray(draw.LineDash))outVarItem.LineDash=draw.LineDash;result.push(outVarItem);}else if(draw.DrawType==SCRIPT_CHART_NAME.CLIP_COLOR_STICK){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingArray(draw.Data,date,time,hqChart);outVarItem.Draw=drawItem;if(draw.LineWidth)outVarItem.LineWidth=draw.LineWidth;if(draw.UpColor)outVarItem.UpColor=draw.UpColor;if(draw.DownColor)outVarItem.DownColor=draw.DownColor;result.push(outVarItem);}else if(draw.DrawType=="DRAWCOLORKLINE"){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingArray(draw.DrawData,date,time,hqChart,1);outVarItem.Draw=drawItem;if(draw.Color)drawItem.Color=draw.Color;if(IFrameSplitOperator.IsBool(draw.IsEmptyBar))drawItem.IsEmptyBar=draw.IsEmptyBar;result.push(outVarItem);}else if(draw.DrawType=="DRAWTEXTREL"||draw.DrawType=="DRAWTEXTABS"){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=draw.DrawData;//{ Point: { X: 5,Y: 5 }, Text: "注意(居中):前方高能!!!!!" }
|
|
13289
13319
|
outVarItem.Draw=drawItem;if(draw.Font)outVarItem.Font=draw.Font;result.push(outVarItem);}else if(draw.DrawType=="DRAWTEXT_LINE"){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=draw.DrawData;//{ Price:, Text:{ Title:text, Color:textcolor }, Line:{ Type:linetype, Color:linecolor } };
|
|
@@ -16333,7 +16363,7 @@ if(this.MouseOnItem){if(this.MouseOnItem.Data==item)color=this.TextConfig.MouseO
|
|
|
16333
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;};}/********************************************************************************
|
|
16334
16364
|
* 版本信息输出
|
|
16335
16365
|
*
|
|
16336
|
-
*/var HQCHART_VERSION="1.1.
|
|
16366
|
+
*/var HQCHART_VERSION="1.1.15762";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();//把给外界调用的方法暴露出来
|
|
16337
16367
|
exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
|
|
16338
16368
|
// BaseIndex:BaseIndex,
|
|
16339
16369
|
// ChartLine:ChartLine,
|
package/package.json
CHANGED
|
@@ -59007,7 +59007,11 @@ HQData.APIIndex_MULTI_SVGICON=function(data, callback)
|
|
|
59007
59007
|
//{ Date:20190909, Value:15.4, Symbol:'\ue615', Color:'rgb(240,100,30)'}
|
|
59008
59008
|
]
|
|
59009
59009
|
},
|
|
59010
|
-
|
|
59010
|
+
Config:
|
|
59011
|
+
{
|
|
59012
|
+
//IconSize: {Max:40, Min:20 },
|
|
59013
|
+
//Color:"rgb(200,100,100)"
|
|
59014
|
+
}
|
|
59011
59015
|
|
|
59012
59016
|
} //绘制图标数组
|
|
59013
59017
|
};
|
|
@@ -59106,6 +59110,7 @@ HQData.APIIndex_MULTI_SVGICON=function(data, callback)
|
|
|
59106
59110
|
*/
|
|
59107
59111
|
}
|
|
59108
59112
|
|
|
59113
|
+
//iconItem.Size=50;
|
|
59109
59114
|
iconData.Draw.DrawData.Icon.push(iconItem);
|
|
59110
59115
|
++j;
|
|
59111
59116
|
}
|
|
@@ -59737,7 +59742,7 @@ HQData.APIIndex_SCATTER_PLOT_V2=function(data, callback)
|
|
|
59737
59742
|
{
|
|
59738
59743
|
var kItem=kData.Data[i];
|
|
59739
59744
|
|
|
59740
|
-
var item={ Date:kItem.Date, Time:kItem.Time, Value:kItem.High, Color:"rgb(0,0,0)", IsEmpty:true };
|
|
59745
|
+
var item={ Date:kItem.Date, Time:kItem.Time, Value:kItem.High, Color:"rgb(0,0,0)", IsEmpty:true, Radius2:5 };
|
|
59741
59746
|
if (kItem.Close>kItem.Open)
|
|
59742
59747
|
{
|
|
59743
59748
|
item.ColorBorder="rgb(0,250,0)";
|
|
@@ -59759,6 +59764,7 @@ HQData.APIIndex_SCATTER_PLOT_V2=function(data, callback)
|
|
|
59759
59764
|
item.Tooltip=
|
|
59760
59765
|
[
|
|
59761
59766
|
{Title:"日期", Text:`${kItem.Date}`},
|
|
59767
|
+
{Title:"Time", Text:`${kItem.Time}`},
|
|
59762
59768
|
{Title:"最高", Text:`${kItem.High.toFixed(2)}`, TextColor:"rgb(250,0,0)"},
|
|
59763
59769
|
{Title:"最低", Text:`${kItem.Low.toFixed(2)}`,TextColor:"rgb(0,255,0)" },
|
|
59764
59770
|
]
|
|
@@ -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
|
{
|
|
@@ -22913,6 +22917,8 @@ function ScriptIndex(name,script,args,option)
|
|
|
22913
22917
|
chart.Data=hqChart.GetKData();//绑定K线
|
|
22914
22918
|
chart.Family=varItem.Draw.DrawData.Family;
|
|
22915
22919
|
chart.AryIcon= varItem.Draw.DrawData.Icon;
|
|
22920
|
+
if (varItem.Draw.Config) chart.SetOption(varItem.Draw.Config);
|
|
22921
|
+
|
|
22916
22922
|
chart.BuildCacheData();
|
|
22917
22923
|
this.SetChartIndexName(chart);
|
|
22918
22924
|
hqChart.ChartPaint.push(chart);
|
|
@@ -25133,6 +25139,7 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
25133
25139
|
chart.Data=hqChart.GetKData();//绑定K线
|
|
25134
25140
|
chart.Family=varItem.Draw.DrawData.Family;
|
|
25135
25141
|
chart.AryIcon= varItem.Draw.DrawData.Icon;
|
|
25142
|
+
if (varItem.Draw.Config) chart.SetOption(varItem.Draw.Config);
|
|
25136
25143
|
chart.BuildCacheData();
|
|
25137
25144
|
this.SetChartIndexName(chart);
|
|
25138
25145
|
frame.ChartPaint.push(chart);
|
|
@@ -26392,6 +26399,7 @@ function APIScriptIndex(name,script,args,option, isOverlay)
|
|
|
26392
26399
|
drawItem.Name=draw.Name;
|
|
26393
26400
|
drawItem.DrawType=draw.DrawType;
|
|
26394
26401
|
drawItem.DrawData={ Icon:draw.DrawData.Icon, Family:draw.DrawData.Family };
|
|
26402
|
+
if (draw.Config) drawItem.Config=draw.Config;
|
|
26395
26403
|
outVarItem.Draw=drawItem;
|
|
26396
26404
|
|
|
26397
26405
|
result.push(outVarItem);
|