hqchart 1.1.13793 → 1.1.13802
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.NetworkFilterTest.vue.js +3 -2
- package/lib/umychart.vue.js +23 -50
- package/package.json +1 -1
- package/src/jscommon/umychart.NetworkFilterTest.js +130 -0
- package/src/jscommon/umychart.complier.js +79 -368
- package/src/jscommon/umychart.js +10 -2
- package/src/jscommon/umychart.testdata.js +130 -0
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +90 -371
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.NetworkFilterTest.vue.js +130 -0
- package/src/jscommon/umychart.vue/umychart.vue.js +90 -371
|
@@ -32,7 +32,7 @@ HQData.RequestLatestData(data,callback);break;case"KLineChartContainer::RequestO
|
|
|
32
32
|
//HQChart使用教程30-K线图如何对接第3方数据16-日K叠加股票
|
|
33
33
|
HQData.RequestOverlayHistoryData(data,callback);break;case"KLineChartContainer::RequestOverlayHistoryMinuteData"://HQChart使用教程30-K线图如何对接第3方数据17- 分钟K叠加股票
|
|
34
34
|
HQData.RequestOverlayHistoryMinuteData(data,callback);break;case"PforecastInfo::RequestData":HQData.PforecastInfo_RequestData(data,callback);break;case"InvestorInfo::RequestData":HQData.InvestorInfo_RequestData(data,callback);break;case"ResearchInfo::RequestData":HQData.ResearchInfo_RequestData(data,callback);break;case"BlockTrading::RequestData":HQData.BlockTrading_RequestData(data,callback);break;case"TradeDetail::RequestData":HQData.TradeDetail_RequestData(data,callback);break;case"JSSymbolData::GetFinance"://财务数据
|
|
35
|
-
HQData.Finance_RequestData(data,callback);break;//////////////////////////////////////////////////////
|
|
35
|
+
HQData.Finance_RequestData(data,callback);break;case"JSSymbolData::GetGPJYValue":HQData.GPJYValue_RequestData(data,callback);break;case"JSSymbolData::GetSCJYValue":HQData.SCJYValue_RequestData(data,callback);break;case"JSSymbolData::GetBKJYValue":HQData.BKJYValue_RequestData(data,callback);break;case"JSSymbolData::GetGPJYOne":HQData.GPJYOne_RequestData(data,callback);break;case"JSSymbolData::GetSCJYOne":HQData.SCJYOne_RequestData(data,callback);break;case"JSSymbolData::GetBKJYOne":HQData.BKJYOne_RequestData(data,callback);break;//////////////////////////////////////////////////////
|
|
36
36
|
//报价列表数据
|
|
37
37
|
case"JSReportChartContainer::RequestStockListData"://HQChart使用教程95-报价列表对接第3方数据1-码表数据
|
|
38
38
|
HQData.Report_RequestStockListData(data,callback);//码表
|
|
@@ -70,7 +70,8 @@ callback(hqchartData);}else if(varName=="LARGEINTRDVOL"){//测试数据
|
|
|
70
70
|
var kData=data.Self.Data;var hqchartData={DataType:2,Data:[]};var testValue=0.15;for(var i=0;i<kData.Data.length;++i){var kItem=kData.Data[i];hqchartData.Data.push({Date:kItem.Date,Time:kItem.Time,Value:kItem.Vol*testValue});testValue+=0.01;if(testValue>0.23)testValue=0.15;}callback(hqchartData);}else if(varName=="LARGEOUTTRDVOL"){//测试数据
|
|
71
71
|
var kData=data.Self.Data;var hqchartData={DataType:2,Data:[]};for(var i=0;i<kData.Data.length;++i){var kItem=kData.Data[i];hqchartData.Data.push({Date:kItem.Date,Time:kItem.Time,Value:kItem.Vol*0.17});}callback(hqchartData);}else{var error="\u53D8\u91CF'"+varName+"' \u6CA1\u6709\u5BF9\u63A5\u6570\u636E. [HQData.RequestIndexVariantData]";var hqchartData={Error:error};callback(hqchartData);}};HQData.CustomFunction_RequestData=function(data,callback){data.PreventDefault=true;var funcName=data.Request.Data.FunctionName;var hqchartData=null;if(funcName=='L2_VOL'){var args=data.Request.Data.JobItem.Args;var param=[args[0].Value,args[1].Value];var hqchartData={DataType:2,Data:[]};var kData=data.Self.Data;for(var i=0;i<kData.Data.length;++i){var kItem=kData.Data[i];hqchartData.Data.push({Date:kItem.Date,Time:kItem.Time,Value:kItem.Vol/3});}}else{var error="\u51FD\u6570'"+funcName+"' \u6CA1\u6709\u5BF9\u63A5\u6570\u636E. [HQData.CustomFunction_RequestData]";var hqchartData={Error:error};}callback(hqchartData);};HQData.CustomVarData_RequestData=function(data,callback){data.PreventDefault=true;var varName=data.Request.Data.VariantName;if(varName=="DCLOSE"){var hqchartData={DataType:2,Data:[]};var kData=data.Self.Data;for(var i=0;i<kData.Data.length;++i){var kItem=kData.Data[i];hqchartData.Data.push({Date:kItem.Date,Time:kItem.Time,Value:kItem.Close});}callback(hqchartData);}else{var error="\u53D8\u91CF'"+varName+"' \u6CA1\u6709\u5BF9\u63A5\u6570\u636E. [HQData.CustomVarData_RequestData]";var hqchartData={Error:error};callback(hqchartData);}};HQData.RequestOtherSymbolData=function(data,callback){data.PreventDefault=true;var symbol=data.Request.Data.symbol;var period=data.Request.Data.period;var right=data.Request.Data.right;var hqchartData=null;if(ChartData.IsDayPeriod(period,true))hqchartData=KLINE_DAY_DATA2;else if(ChartData.IsMinutePeriod(period,true))hqchartData=KLINE_MINUTE_DATA2;hqchartData.name=symbol;hqchartData.symbol=symbol;callback(hqchartData);};HQData.AnnouncementInfo_RequestData=function(data,callback){data.PreventDefault=true;var symbol=data.Request.Symbol;var hqchartData={symbol:symbol,report:[]};var kData=data.HQChart.ChartPaint[0].Data;for(var i=0,j=1;i<kData.Data.length;++i){var kItem=kData.Data[i];if(i%10!=4)continue;var itemReport={releasedate:kItem.Date,time:kItem.Time,title:"\u516C\u544A("+j+") xxxx"};hqchartData.report.push(itemReport);++j;}callback(hqchartData);};HQData.PforecastInfo_RequestData=function(data,callback){data.PreventDefault=true;var symbol=data.Request.Symbol;var hqchartData={symbol:symbol,report:[]};var kData=data.HQChart.ChartPaint[0].Data;for(var i=0,j=1;i<kData.Data.length;++i){var kItem=kData.Data[i];if(i%10!=4)continue;var year=parseInt(kItem.Date/10000);//年份
|
|
72
72
|
var month=parseInt(kItem.Date/100)%100;var reprotDate=0;if(month>10)reprotDate=year*10000+1231;else if(month>6)reprotDate=year*10000+930;else if(month>3)reprotDate=year*10000+630;else reprotDate=year*10000+331;var itemReport={date:kItem.Date,time:kItem.Time,title:"\u4E1A\u7EE9\u9884\u589E",reportdate:reprotDate,fweek:{week1:0.04,week4:0.02}};hqchartData.report.push(itemReport);++j;}callback(hqchartData);};HQData.InvestorInfo_RequestData=function(data,callback){data.PreventDefault=true;var symbol=data.Request.Symbol;callback(TEST_NEWSINTERACT_DATA);};HQData.ResearchInfo_RequestData=function(data,callback){data.PreventDefault=true;var symbol=data.Request.Symbol;var hqchartData={symbol:symbol,list:[]};var kData=data.HQChart.ChartPaint[0].Data;for(var i=0,j=1;i<kData.Data.length;++i){var kItem=kData.Data[i];if(i%20!=4)continue;var itemReport={researchdate:kItem.Date,id:i,level:[j%4],type:"xxx调研。"};hqchartData.list.push(itemReport);++j;}callback(hqchartData);};HQData.BlockTrading_RequestData=function(data,callback){data.PreventDefault=true;var symbol=data.Request.Symbol;callback(TEST_BLOCK_TRADING_DATA);};HQData.TradeDetail_RequestData=function(data,callback){data.PreventDefault=true;var symbol=data.Request.Symbol;callback(TEST_TRADE_DETAL_DATA);};HQData.RequestLatestData=function(data,callback){data.PreventDefault=true;var symbol=data.Request.Data.symbol[0];var id=data.Args[0];var value=1;switch(id){case 3:value=KLINE_1DAY_DATA.stock[0].yclose;break;case 4:value=KLINE_1DAY_DATA.stock[0].open;break;case 5:value=KLINE_1DAY_DATA.stock[0].high;break;case 6:value=KLINE_1DAY_DATA.stock[0].low;break;case 7:value=KLINE_1DAY_DATA.stock[0].price;break;case 8:value=KLINE_1DAY_DATA.stock[0].vol;break;}var hqchartData={symbol:symbol,ver:2.0,data:[{id:id,value:value}]};callback(hqchartData);};HQData.RequestOverlayHistoryData=function(data,callback){data.PreventDefault=true;var symbol=data.Request.Data.symbol;var hqchartData={symbol:symbol,name:symbol};if(symbol=="399001.sz")hqchartData.data=KLINE_DAY_OVERLAY_DATA2.data;else hqchartData.data=KLINE_DAY_OVERLAY_DATA.data;callback(hqchartData);};HQData.RequestOverlayHistoryMinuteData=function(data,callback){data.PreventDefault=true;var symbol=data.Request.Data.symbol;var hqchartData={symbol:symbol,name:symbol};hqchartData.data=KLINE_MINUTE_DATA2.data;callback(hqchartData);};HQData.Finance_RequestData=function(data,callback){data.PreventDefault=true;var id=data.Request.Data.id;var hqchartData=null;if(id==7)// 流通股本(随时间可能有变化)
|
|
73
|
-
{hqchartData=TEST_FINANCE_7.data;}else{var error="Finance("+id+") \u6CA1\u6709\u5BF9\u63A5\u6570\u636E. [HQData.Finance_RequestData]";hqchartData={Error:error};}if(hqchartData)callback(hqchartData);}
|
|
73
|
+
{hqchartData=TEST_FINANCE_7.data;}else{var error="Finance("+id+") \u6CA1\u6709\u5BF9\u63A5\u6570\u636E. [HQData.Finance_RequestData]";hqchartData={Error:error};}if(hqchartData)callback(hqchartData);};//GPJYVALUE(ID,N,TYPE),ID为数据编号,N表示第几个数据(取1或2),TYPE:为1表示做平滑处理,没有数据的周期返回上一周期的值;为0表示不做平滑处理;2表示没有数据则为0.
|
|
74
|
+
HQData.GPJYValue_RequestData=function(data,callback){data.PreventDefault=true;var symbol=data.Request.Data.symbol;var id=data.Request.Data.Args[0];var n=data.Request.Data.Args[1];var type=data.Request.Data.Args[2];var aryData=[];var kData=data.Self.Data;for(var i=0;i<kData.Data.length;++i){var kItem=kData.Data[i];if(i%50==15){var value=HQData.GetRandomTestData(10,100);aryData.push({Date:kItem.Date,Time:kItem.Time,Value:value});}}callback(aryData);};HQData.SCJYValue_RequestData=function(data,callback){data.PreventDefault=true;var symbol=data.Request.Data.symbol;var id=data.Request.Data.Args[0];var n=data.Request.Data.Args[1];var type=data.Request.Data.Args[2];var aryData=[];var kData=data.Self.Data;for(var i=0;i<kData.Data.length;++i){var kItem=kData.Data[i];if(i%50==20){var value=HQData.GetRandomTestData(1000,2000);aryData.push({Date:kItem.Date,Time:kItem.Time,Value:value});}}callback(aryData);};HQData.BKJYValue_RequestData=function(data,callback){data.PreventDefault=true;var symbol=data.Request.Data.symbol;var id=data.Request.Data.Args[0];var n=data.Request.Data.Args[1];var type=data.Request.Data.Args[2];var aryData=[];var kData=data.Self.Data;for(var i=0;i<kData.Data.length;++i){var kItem=kData.Data[i];if(i%60==33){var value=HQData.GetRandomTestData(500,1000);aryData.push({Date:kItem.Date,Time:kItem.Time,Value:value});}}callback(aryData);};HQData.GPJYOne_RequestData=function(data,callback){data.PreventDefault=true;var symbol=data.Request.Data.symbol;var id=data.Request.Data.Args[0];var n=data.Request.Data.Args[1];var year=data.Request.Data.Args[2];var day=data.Request.Data.Args[3];var value=HQData.GetRandomTestData(800,1200);callback({Date:20230509,Value:value});};HQData.SCJYOne_RequestData=function(data,callback){data.PreventDefault=true;var symbol=data.Request.Data.symbol;var id=data.Request.Data.Args[0];var n=data.Request.Data.Args[1];var year=data.Request.Data.Args[2];var day=data.Request.Data.Args[3];var value=HQData.GetRandomTestData(400,500);callback({Date:20230509,Value:value});};HQData.BKJYOne_RequestData=function(data,callback){data.PreventDefault=true;var symbol=data.Request.Data.symbol;var id=data.Request.Data.Args[0];var n=data.Request.Data.Args[1];var year=data.Request.Data.Args[2];var day=data.Request.Data.Args[3];var value=HQData.GetRandomTestData(900,2000);callback({Date:20230509,Value:value});};//////////////////////////////////////////////////////////////////////////////////////
|
|
74
75
|
// 报价列表
|
|
75
76
|
//
|
|
76
77
|
//
|
package/lib/umychart.vue.js
CHANGED
|
@@ -1916,7 +1916,7 @@ this.Tooltip.style.position="absolute";this.Tooltip.style.left=left+"px";this.To
|
|
|
1916
1916
|
{var left=x;var top=y;var format=g_DivTooltipDataForamt.Create('ScatterPlotDataStringFormat');format.Value=toolTip;format.Symbol=this.Symbol;format.Period=this.Period;format.LanguageID=this.LanguageID;if(!format.Operator())return;var width=format.Width;this.Tooltip.className='jchart-charscatterplot-tooltip';//OX指标数据
|
|
1917
1917
|
this.Tooltip.style.position="absolute";this.Tooltip.style.left=left+"px";this.Tooltip.style.top=top+xMove+"px";this.Tooltip.style.width=width+"px";this.Tooltip.style.height=null;this.Tooltip.innerHTML=format.Text;;this.Tooltip.style.display="block";}else if(toolTip.Type==7)//ChartDrawSVG
|
|
1918
1918
|
{var left=x;var top=y;var format=g_DivTooltipDataForamt.Create('ChartDrawSVGDataStringFormat');format.Value=toolTip;format.Symbol=this.Symbol;format.Period=this.Period;format.LanguageID=this.LanguageID;if(!format.Operator())return;var width=format.Width;this.Tooltip.className='jchart-chartdrawsvg-tooltip';//ChartDrawSVG指标数据
|
|
1919
|
-
this.Tooltip.style.position="absolute";this.Tooltip.style.left=left+"px";this.Tooltip.style.top=top+xMove+"px";this.Tooltip.style.width=width+"px";this.Tooltip.style.height=null;this.Tooltip.innerHTML=format.Text;this.Tooltip.style.display="block";}};this.UpdateDOMTooltip=function(toolTipType,data){var _this12=this;if(!this.TooltipCache.IsShow)return;if(this.TooltipCache.Type!=toolTipType)return;if(!this.TooltipCache.Data)return;if(this.TooltipCache.Type===0){if(!data||!IFrameSplitOperator.IsNonEmptyArray(data.Data))return;var lastItem=data.Data[data.Data.length-1];if(lastItem.Date!=this.TooltipCache.Data.Date)return;if(IFrameSplitOperator.IsNumber(lastItem.Time)&&lastItem.Time!=this.TooltipCache.Data.Time)return;var klinePaint=this.ChartPaint[0];var format=g_DivTooltipDataForamt.Create('HistoryDataStringFormat');format.Value={Data:lastItem,ChartPaint:klinePaint,Type:this.TooltipCache.Type};format.Symbol=this.Symbol;format.LanguageID=this.LanguageID;format.GetEventCallback=function(id){return _this12.GetEventCallback(id);};if(!format.Operator())return;if(format.Text==this.TooltipCache.InnerHTML)return;this.Tooltip.innerHTML=format.Text;this.TooltipCache.InnerHTML=format.Text;}};this.HideTooltip=function(){this.TooltipCache.IsShow=false;this.TooltipCache.Type=null;this.TooltipCache.InnerHTML=null;this.TooltipCache.Data=null;if(this.Tooltip.style.display!="none")this.Tooltip.style.display="none";};this.UpdateSelectRect=function(start,end){if(!this.ChartPaint[0].Data)return;var paint=this.GetRectSelectPaint();if(!paint)return;var data=this.ChartPaint[0].Data;var startItem=data.Data[start];var endItem=data.Data[end];JSConsole.Chart.Log('[JSChartContainer::UpdateSelectRect]',startItem,endItem);paint.SetPoint(startItem,{Index:0,DataIndex:start});paint.SetPoint(endItem,{Index:1,DataIndex:end});this.Draw();};this.HideSelectRect=function(){this.ClearDragSelectRect();};this.ResetFrameXYSplit=function(){if(typeof this.Frame.ResetXYSplit=='function')this.Frame.ResetXYSplit();};this.ResetFrameXSplit=function(){if(typeof this.Frame.ResetXSplit=='function')this.Frame.ResetXSplit();};this.ResetFrameYCustomSplit=function(windowIndex){if(typeof this.Frame.ResetYCustomSplit=='function')this.Frame.ResetYCustomSplit(windowIndex);};this.UpdateFrameMaxMinV2=function(){var mapFrame=new _map2.default();//key=frameid, value:{ ChartPaint:[] }
|
|
1919
|
+
this.Tooltip.style.position="absolute";this.Tooltip.style.left=left+"px";this.Tooltip.style.top=top+xMove+"px";this.Tooltip.style.width=width+"px";this.Tooltip.style.height=null;this.Tooltip.innerHTML=format.Text;this.Tooltip.style.display="block";}};this.UpdateDOMTooltip=function(toolTipType,data){var _this12=this;if(!this.TooltipCache.IsShow)return;if(this.TooltipCache.Type!=toolTipType)return;if(!this.TooltipCache.Data)return;if(this.TooltipCache.Type===0){if(!data||!IFrameSplitOperator.IsNonEmptyArray(data.Data))return;var lastItem=data.Data[data.Data.length-1];if(lastItem.Date!=this.TooltipCache.Data.Date)return;if(IFrameSplitOperator.IsNumber(lastItem.Time)&&lastItem.Time!=this.TooltipCache.Data.Time)return;var klinePaint=this.ChartPaint[0];var format=g_DivTooltipDataForamt.Create('HistoryDataStringFormat');format.Value={Data:lastItem,ChartPaint:klinePaint,Type:this.TooltipCache.Type};format.Symbol=this.Symbol;format.LanguageID=this.LanguageID;format.GetEventCallback=function(id){return _this12.GetEventCallback(id);};if(!format.Operator())return;if(format.Text==this.TooltipCache.InnerHTML)return;this.Tooltip.innerHTML=format.Text;this.TooltipCache.InnerHTML=format.Text;}};this.HideTooltip=function(){this.TooltipCache.IsShow=false;this.TooltipCache.Type=null;this.TooltipCache.InnerHTML=null;this.TooltipCache.Data=null;if(this.Tooltip.style.display!="none")this.Tooltip.style.display="none";};this.UpdateSelectRect=function(start,end){if(!this.ChartPaint[0].Data)return;var paint=this.GetRectSelectPaint();if(!paint)return;var data=this.ChartPaint[0].Data;var count=data.Data.length;if(end>=count)end=count-1;var startItem=data.Data[start];var endItem=data.Data[end];JSConsole.Chart.Log('[JSChartContainer::UpdateSelectRect]',startItem,endItem);paint.SetPoint(startItem,{Index:0,DataIndex:start});paint.SetPoint(endItem,{Index:1,DataIndex:end});this.Draw();};this.HideSelectRect=function(){this.ClearDragSelectRect();};this.ResetFrameXYSplit=function(){if(typeof this.Frame.ResetXYSplit=='function')this.Frame.ResetXYSplit();};this.ResetFrameXSplit=function(){if(typeof this.Frame.ResetXSplit=='function')this.Frame.ResetXSplit();};this.ResetFrameYCustomSplit=function(windowIndex){if(typeof this.Frame.ResetYCustomSplit=='function')this.Frame.ResetYCustomSplit(windowIndex);};this.UpdateFrameMaxMinV2=function(){var mapFrame=new _map2.default();//key=frameid, value:{ ChartPaint:[] }
|
|
1920
1920
|
for(var i=0;i<this.Frame.SubFrame.length;++i){var subItem=this.Frame.SubFrame[i];if(!subItem||!subItem.Frame)continue;var frame=subItem.Frame;//自定义刻度每次都调用
|
|
1921
1921
|
frame.YCustomSplit=true;var key=frame.Identify;var item={ID:key,Frame:frame,ChartPaint:[],Max:null,Min:null,OverlayFrame:[],//共享坐标
|
|
1922
1922
|
SingleOverlay:[],//独立坐标
|
|
@@ -7965,7 +7965,7 @@ var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_DRAG_SELECT_RECT_MOUSEUP);if
|
|
|
7965
7965
|
RectSelectPaint:paint,//区间选择背景
|
|
7966
7966
|
IsShowDialog:false};event.Callback(event,data,this);isShowDialog=data.IsShowDialog;}if(isShowDialog&&this.SelectRectDialog){e.data={Chart:this,X:x,Y:y,SelectData:selectData,//区间选择的数据
|
|
7967
7967
|
RectSelectPaint:paint//区间选择背景
|
|
7968
|
-
};this.SelectRectDialog.DoModal(e);}};this.UpdateSelectRect=function(start,end){if(!this.SourceData||!this.SourceData.Data)return;var paint=this.GetRectSelectPaint();if(!paint)return;var data=this.SourceData;if(!data||!IFrameSplitOperator.IsNonEmptyArray(data.Data))return;var count=data.Data.length;var startItem=data.Data[start];if(end>=count)end=count-1;var endItem=data.Data[end];JSConsole.Chart.Log('[MinuteChartContainer::UpdateSelectRect]',startItem,endItem);paint.SetPoint(startItem,{Index:0});paint.SetPoint(endItem,{Index:1});this.Draw();};this.MoveRectSelectPoint=function(obj){var paint=this.GetRectSelectPaint();if(!paint)return false;if(!this.SourceData||!this.SourceData.Data)return false;var kData=this.SourceData;if(!this.Frame.SubFrame[0])return false;var subFrame=this.Frame.SubFrame[0].Frame;if(!subFrame)false;var pixelTatio=GetDevicePixelRatio();var x=(obj.X-uielement.getBoundingClientRect().left)*pixelTatio;var index=subFrame.GetXData(x);index=parseInt(index.toFixed(0));var dataIndex=index+kData.DataOffset;if(dataIndex>=kData.Data.length)dataIndex=kData.Data.length-1;var item=kData.Data[dataIndex];JSConsole.Chart.Log("[MinuteChartContainer::MoveRectSelectPoint] point, item",obj.PointIndex,item);if(!paint.SetPoint(item,{Index:obj.PointIndex}))return false;var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_DRAG_SELECT_RECT);if(event){var selectData=paint.GetSelectRectData();var data={X:obj.X,Y:obj.Y,SelectData:selectData,RectSelectPaint:paint};event.Callback(event,data,this);}return true;};this.GetLastCursorIndex=function(obj){if(obj.DataType==1){for(var i=obj.Data.length-1;i>=0;--i){var item=obj.Data[i];if(!item||!item.DayItem||!item.DayItem.Data)continue;obj.IndexData.DayIndex=0;obj.IndexData.DataIndex=item.DayItem.Data.length-1;obj.IndexData.Type=item.Type;return;}}else if(obj.DataType==2){for(var i=obj.Data.length-1;i>=0;--i){var dayItem=obj.Data[i];for(var j=dayItem.length-1;j>=0;--j){var item=dayItem[j];if(!item||!item.DayItem||!item.DayItem.Data)continue;obj.IndexData.DayIndex=i;obj.IndexData.DataIndex=item.DayItem.Data.length-1;obj.IndexData.Type=item.Type;return;}}}};this.GetFirstCursorIndex=function(obj){if(obj.DataType==1){for(var i=0;i<obj.Data.length;++i){var item=obj.Data[i];if(!item||!item.DayItem||!item.DayItem.Data)continue;obj.IndexData.DayIndex=0;obj.IndexData.DataIndex=0;obj.IndexData.Type=item.Type;return;}}else if(obj.DataType==2){for(var i=0;i<obj.Data.length;++i){var dayItem=obj.Data[i];for(var j=0;j<dayItem.length;++j){var item=dayItem[j];if(!item||!item.DayItem||!item.DayItem.Data)continue;obj.IndexData.DayIndex=i;obj.IndexData.DataIndex=0;obj.IndexData.Type=item.Type;return;}}}};//获取单日 盘后集合竞价数据
|
|
7968
|
+
};this.SelectRectDialog.DoModal(e);}};this.UpdateSelectRect=function(start,end){if(!this.SourceData||!this.SourceData.Data)return;var paint=this.GetRectSelectPaint();if(!paint)return;var data=this.SourceData;if(!data||!IFrameSplitOperator.IsNonEmptyArray(data.Data))return;var count=data.Data.length;var startItem=data.Data[start];if(end>=count)end=count-1;var endItem=data.Data[end];if(!startItem||!endItem)return;JSConsole.Chart.Log('[MinuteChartContainer::UpdateSelectRect]',startItem,endItem);paint.SetPoint(startItem,{Index:0});paint.SetPoint(endItem,{Index:1});this.Draw();};this.MoveRectSelectPoint=function(obj){var paint=this.GetRectSelectPaint();if(!paint)return false;if(!this.SourceData||!this.SourceData.Data)return false;var kData=this.SourceData;if(!this.Frame.SubFrame[0])return false;var subFrame=this.Frame.SubFrame[0].Frame;if(!subFrame)false;var pixelTatio=GetDevicePixelRatio();var x=(obj.X-uielement.getBoundingClientRect().left)*pixelTatio;var index=subFrame.GetXData(x);index=parseInt(index.toFixed(0));var dataIndex=index+kData.DataOffset;if(dataIndex>=kData.Data.length)dataIndex=kData.Data.length-1;var item=kData.Data[dataIndex];JSConsole.Chart.Log("[MinuteChartContainer::MoveRectSelectPoint] point, item",obj.PointIndex,item);if(!paint.SetPoint(item,{Index:obj.PointIndex}))return false;var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_DRAG_SELECT_RECT);if(event){var selectData=paint.GetSelectRectData();var data={X:obj.X,Y:obj.Y,SelectData:selectData,RectSelectPaint:paint};event.Callback(event,data,this);}return true;};this.GetLastCursorIndex=function(obj){if(obj.DataType==1){for(var i=obj.Data.length-1;i>=0;--i){var item=obj.Data[i];if(!item||!item.DayItem||!item.DayItem.Data)continue;obj.IndexData.DayIndex=0;obj.IndexData.DataIndex=item.DayItem.Data.length-1;obj.IndexData.Type=item.Type;return;}}else if(obj.DataType==2){for(var i=obj.Data.length-1;i>=0;--i){var dayItem=obj.Data[i];for(var j=dayItem.length-1;j>=0;--j){var item=dayItem[j];if(!item||!item.DayItem||!item.DayItem.Data)continue;obj.IndexData.DayIndex=i;obj.IndexData.DataIndex=item.DayItem.Data.length-1;obj.IndexData.Type=item.Type;return;}}}};this.GetFirstCursorIndex=function(obj){if(obj.DataType==1){for(var i=0;i<obj.Data.length;++i){var item=obj.Data[i];if(!item||!item.DayItem||!item.DayItem.Data)continue;obj.IndexData.DayIndex=0;obj.IndexData.DataIndex=0;obj.IndexData.Type=item.Type;return;}}else if(obj.DataType==2){for(var i=0;i<obj.Data.length;++i){var dayItem=obj.Data[i];for(var j=0;j<dayItem.length;++j){var item=dayItem[j];if(!item||!item.DayItem||!item.DayItem.Data)continue;obj.IndexData.DayIndex=i;obj.IndexData.DataIndex=0;obj.IndexData.Type=item.Type;return;}}}};//获取单日 盘后集合竞价数据
|
|
7969
7969
|
this.GetAfterCloseData=function(){var dayItem=null;if(this.AfterCloseData&&this.IsShowAfterData)dayItem=this.AfterCloseData;return dayItem;};//获取单日 盘前集合竞价数据
|
|
7970
7970
|
this.GetBeforeOpenData=function(){var dayItem=null;if(this.BeforeOpenData&&this.IsShowBeforeData)dayItem=this.BeforeOpenData;return dayItem;};this.MoveCorssCursorIndex=function(option){if(!this.EnableNewIndex)return false;if(!this.Frame.SubFrame[0]||!this.Frame.SubFrame[0].Frame)return false;var frame=this.Frame.SubFrame[0].Frame;if(this.CorssCursorIndex.Type==1||this.CorssCursorIndex.Type==2||this.CorssCursorIndex.Type==3||this.CorssCursorIndex.Type==-1){var aryData=[];var dayItem=this.GetBeforeOpenData();aryData.push({DayItem:dayItem,Type:2});var dayItem=null;if(this.SourceData)dayItem=this.SourceData;aryData.push({DayItem:dayItem,Type:1});var dayItem=this.GetAfterCloseData();;aryData.push({DayItem:dayItem,Type:3});var obj={DataType:1,Data:aryData,IndexData:this.CorssCursorIndex,Point:{X:null,Y:null}};var step=1;if(option.IsMoveLeft){if(this.CorssCursorIndex.DayIndex<0&&this.CorssCursorIndex.DataIndex<0){this.GetLastCursorIndex(obj);step=0;}if(frame.MoveXIndexLeft(step,obj)){this.LastPoint.X=obj.Point.X;this.LastPoint.Y=obj.Point.Y;if(this.CorssCursorIndex.Type==1)this.CursorIndex=this.CorssCursorIndex.CursorIndex;var option={ParentFunction:'MoveCorssCursorIndex',Point:{X:obj.Point.X,Y:obj.Point.Y},IsPhone:false,ClientPos:this.CorssCursorIndex.Type};this.DrawDynamicInfo(option);}}else{if(this.CorssCursorIndex.DayIndex<0&&this.CorssCursorIndex.DataIndex<0){this.GetFirstCursorIndex(obj);step=0;}if(frame.MoveXIndexRight(step,obj)){this.LastPoint.X=obj.Point.X;this.LastPoint.Y=obj.Point.Y;if(this.CorssCursorIndex.Type==1)this.CursorIndex=this.CorssCursorIndex.CursorIndex;var option={ParentFunction:'MoveCorssCursorIndex',Point:{X:obj.Point.X,Y:obj.Point.Y},IsPhone:false,ClientPos:this.CorssCursorIndex.Type};this.DrawDynamicInfo(option);}}}else if(this.CorssCursorIndex.Type==10||this.CorssCursorIndex.Type==20||this.CorssCursorIndex.Type==30||this.CorssCursorIndex.Type==-2){var aryData=[];var offset=0,showDayCount=this.DayData.length;if(this.DayOffset){if(IFrameSplitOperator.IsNumber(this.DayOffset.Offset))offset=this.DayOffset.Offset;if(IFrameSplitOperator.IsNumber(this.DayOffset.ShowDayCount))showDayCount=this.DayOffset.ShowDayCount;}for(var i=offset,j=0;i<this.DayData.length&&j<showDayCount;++i,++j){var item=[];var dayItem=null;if(this.MultiDayBeforeOpenData&&this.IsShowMultiDayBeforeData)dayItem=this.MultiDayBeforeOpenData[i];item.push({DayItem:dayItem,Type:20});//倒序排的
|
|
7971
7971
|
var dayItem=null;if(this.DayData)dayItem=this.DayData[this.DayData.length-1-i];item.push({DayItem:dayItem,Type:10});var dayItem=null;if(this.MultiDayAfterCloseData&&this.IsShowMultiDayAfterData)dayItem=this.MultiDayAfterCloseData[i];item.push({DayItem:dayItem,Type:30});aryData.push(item);}var obj={DataType:2,Data:aryData,IndexData:this.CorssCursorIndex,Point:{X:null,Y:null}};var step=1;if(option.IsMoveLeft){if(this.CorssCursorIndex.DayIndex<0&&this.CorssCursorIndex.DataIndex<0){this.GetLastCursorIndex(obj);step=0;}if(frame.MoveXIndexLeft(step,obj)){this.LastPoint.X=obj.Point.X;this.LastPoint.Y=obj.Point.Y;if(this.CorssCursorIndex.Type==10)this.CursorIndex=this.CorssCursorIndex.CursorIndex;var option={ParentFunction:'MoveCorssCursorIndex',Point:{X:obj.Point.X,Y:obj.Point.Y},IsPhone:false,ClientPos:null};if(this.CorssCursorIndex.Type==10)option.ClientPos=1;else if(this.CorssCursorIndex.Type==20)option.ClientPos=this.CorssCursorIndex.DayIndex+200;else if(this.CorssCursorIndex.Type==30)option.ClientPos=this.CorssCursorIndex.DayIndex+300;this.DrawDynamicInfo(option);}}else{if(this.CorssCursorIndex.DayIndex<0&&this.CorssCursorIndex.DataIndex<0){this.GetFirstCursorIndex(obj);step=0;}if(frame.MoveXIndexRight(step,obj)){this.LastPoint.X=obj.Point.X;this.LastPoint.Y=obj.Point.Y;if(this.CorssCursorIndex.Type==10)this.CursorIndex=this.CorssCursorIndex.CursorIndex;var option={ParentFunction:'MoveCorssCursorIndex',Point:{X:obj.Point.X,Y:obj.Point.Y},IsPhone:false,ClientPos:null};if(this.CorssCursorIndex.Type==10)option.ClientPos=1;else if(this.CorssCursorIndex.Type==20)option.ClientPos=this.CorssCursorIndex.DayIndex+200;else if(this.CorssCursorIndex.Type==30)option.ClientPos=this.CorssCursorIndex.DayIndex+300;this.DrawDynamicInfo(option);}}}};this.SetCorssCursorIndex=function(option){if(!this.EnableNewIndex)return;JSConsole.Chart.Log("[MinuteChartContainer::SetCorssCursorIndex] option ",option);if(option.ParentFunction=="OnMouseMove"){this.CorssCursorIndex.Point.X=option.Point.X;this.CorssCursorIndex.Point.Y=option.Point.Y;var clientPos=this.PtInClient_V2(option.Point.X,option.Point.Y);JSConsole.Chart.Log("[MinuteChartContainer::SetCorssCursorIndex] clientPos ",clientPos);if(clientPos<=0){this.CorssCursorIndex={DayIndex:-1,DataIndex:-1,Point:{X:-1,Y:-1},Type:clientPos};return;}if(!this.Frame.SubFrame[0]||!this.Frame.SubFrame[0].Frame){this.CorssCursorIndex={DayIndex:-1,DataIndex:-1,Point:{X:-1,Y:-1},Type:-1};return;}var frame=this.Frame.SubFrame[0].Frame;if(clientPos==1||clientPos==2||clientPos==3){this.CorssCursorIndex.DayIndex=0;this.CorssCursorIndex.Type=clientPos;if(clientPos==2){frame.GetLeftExtendXValidData(option.Point.X,{Data:this.BeforeOpenData,IndexData:this.CorssCursorIndex});}else if(clientPos==3){frame.GetRightExtendXValidData(option.Point.X,{Data:this.AfterCloseData,IndexData:this.CorssCursorIndex});}else if(clientPos==1){var value=frame.GetXData(option.Point.X);this.CorssCursorIndex.DataIndex=parseInt(value.toFixed(0));}}else if(clientPos>=100&&clientPos<=199){this.CorssCursorIndex.DayIndex=clientPos-100;this.CorssCursorIndex.Type=10;var value=frame.GetXData(option.Point.X);var index=parseInt(value.toFixed(0));this.CorssCursorIndex.DataIndex=index%frame.MinuteCount;}else if(clientPos>=200&&clientPos<=299){this.CorssCursorIndex.DayIndex=clientPos-200;this.CorssCursorIndex.Type=20;var aryData=this.MultiDayBeforeOpenData;if(this.DayOffset){var offset=0,showDayCount=this.MultiDayBeforeOpenData.length;if(IFrameSplitOperator.IsNumber(this.DayOffset.Offset))offset=this.DayOffset.Offset;if(IFrameSplitOperator.IsNumber(this.DayOffset.ShowDayCount))showDayCount=this.DayOffset.ShowDayCount;aryData=this.MultiDayBeforeOpenData.slice(offset,offset+showDayCount);}frame.GetLeftExtendXValidData(option.Point.X,{Data:aryData,IndexData:this.CorssCursorIndex});}else if(clientPos>=300&&clientPos<=399){this.CorssCursorIndex.DayIndex=clientPos-300;this.CorssCursorIndex.Type=30;var aryData=this.MultiDayAfterCloseData;if(this.DayOffset&&this.MultiDayAfterCloseData){var offset=0,showDayCount=this.MultiDayAfterCloseData.length;if(IFrameSplitOperator.IsNumber(this.DayOffset.Offset))offset=this.DayOffset.Offset;if(IFrameSplitOperator.IsNumber(this.DayOffset.ShowDayCount))showDayCount=this.DayOffset.ShowDayCount;aryData=this.MultiDayAfterCloseData.slice(offset,offset+showDayCount);}frame.GetRightExtendXValidData(option.Point.X,{Data:aryData,IndexData:this.CorssCursorIndex});}this.LastPoint.X=this.CorssCursorIndex.Point.X;option.Point.X=this.CorssCursorIndex.Point.X;}};// 100-199=多日分时主图 200-299=盘前 300-399=盘后 1=主图 2=盘前 3=盘后
|
|
@@ -9068,13 +9068,13 @@ this.Create=function(){this.ID=Guid();var div=document.createElement('div');div.
|
|
|
9068
9068
|
</div>\
|
|
9069
9069
|
</div>";this.DivElement.appendChild(div);this.Dialog=div;//关闭按钮
|
|
9070
9070
|
(0,_jquery2.default)("#"+this.ID+" #close").click({divBox:this},function(event){event.data.divBox.Close();});};this.BindData=function(){var hqData=this.SelectData.Data;var start=this.SelectData.Start;var end=this.SelectData.End;this.HQChart.UpdateSelectRect(start,end);if(this.RectSelectPaint)this.RectSelectPaint.PreventClose=true;var showData={Open:0,Close:0,High:0,Low:0,//起始价格, 结束价格, 最高, 最低
|
|
9071
|
-
Vol:0,Amount:0,Date:{Start:{Time:null,Date:null},End:{Time:null,Date:null}},Count:0};for(var i=start;i<=end&&i<hqData.Data.length;++i){var item=hqData.Data[i];if(i==start){showData.Date.Start.Date=item.Date;showData.Date.Start.Time=item.Time;showData.Open=item.Close;showData.High=item.High;showData.Low=item.Low;}showData.Date.End.Date=item.Date;showData.Date.End.Time=item.Time;showData.Close=item.Close;showData.Vol+=item.Vol;showData.Amount+=item.Amount;++showData.Count;if(showData.High<item.High)showData.High=item.High;if(showData.Low>item.Low)showData.Low=item.Low;}if(showData.Vol>0)showData.AvPrice=showData.Amount/showData.Vol;//均价
|
|
9072
|
-
if(
|
|
9071
|
+
Vol:0,Amount:0,Date:{Start:{Time:null,Date:null},End:{Time:null,Date:null}},Count:0};for(var i=start;i<=end&&i<hqData.Data.length;++i){var item=hqData.Data[i];if(i==start){showData.Date.Start.Date=item.Date;showData.Date.Start.Time=item.Time;showData.Open=item.Close;showData.High=item.High;showData.Low=item.Low;}showData.Date.End.Date=item.Date;showData.Date.End.Time=item.Time;showData.Close=item.Close;showData.Vol+=item.Vol;showData.Amount+=item.Amount;++showData.Count;if(showData.High<item.High)showData.High=item.High;if(showData.Low>item.Low)showData.Low=item.Low;}if(showData.Count<=0)return false;if(showData.Vol>0)showData.AvPrice=showData.Amount/showData.Vol;//均价
|
|
9072
|
+
if(showData.Open>0){showData.Increase=(showData.Close-showData.Open)/showData.Open*100;//区间涨幅
|
|
9073
9073
|
showData.Amplitude=(showData.High-showData.Low)/showData.Open*100;//区间振幅
|
|
9074
9074
|
}// JSConsole.Chart.Log('[KLineSelectRectDialog::BindData]', showData);
|
|
9075
|
-
var defaultfloatPrecision=GetfloatPrecision(this.SelectData.Symbol);var startDate=IFrameSplitOperator.FormatDateString(showData.Date.Start.Date);var endDate=IFrameSplitOperator.FormatDateString(showData.Date.End.Date);startDate+=' '+IFrameSplitOperator.FormatTimeString(showData.Date.Start.Time,"HH:MM");endDate+=" "+IFrameSplitOperator.FormatTimeString(showData.Date.End.Time,"HH:MM");var startLeftClass="",startRightClass="",endLeftClass="",endRightClass="";if(start<=0)startLeftClass="BtnBackground";if(start>=end){startRightClass="BtnBackground";endLeftClass="BtnBackground";}if(end>=hqData.Data.length-1)endRightClass="BtnBackground";var div=document.createElement('div');div.className='jchart-select-table-right';div.innerHTML='<div class="jchart-select-date">\n'+' <span>开始: '+startDate+'<i class="start-date-left '+startLeftClass+'"><</i><i class="start-date-right '+startRightClass+'">></i></span>\n'+' <span>结束: '+endDate+'<i class="end-date-left '+endLeftClass+'"><</i><i class="end-date-right '+endRightClass+'">></i></span>\n'+' <span>总个数: '+showData.Count+'</span>\n'+' </div>\n'+' <table>\n'+' <tr><td><strong>起始价: </strong><span>'+showData.Open.toFixed(defaultfloatPrecision)+'</span></td>'+' <td><strong>终止价: </strong><span>'+showData.Close.toFixed(defaultfloatPrecision)+'</span></td>'+' <td><strong>均价: </strong><span>'+(IFrameSplitOperator.IsNumber(showData.AvPrice)?showData.AvPrice.toFixed(defaultfloatPrecision):"--.--")+'</span></td></tr>\n'+' <tr><td><strong>最低价: </strong><span>'+showData.Low.toFixed(defaultfloatPrecision)+'</span></td>'+' <td><strong>最高价: </strong><span>'+showData.High.toFixed(defaultfloatPrecision)+'</span></td>'+' <td><strong>涨跌幅: </strong><span class="'+IFrameSplitOperator.FormatValueColor(showData.Increase)+'">'+showData.Increase.toFixed(2)+'%</span></td></tr>\n'+' <tr><td><strong>振幅: </strong><span>'+showData.Amplitude.toFixed(2)+'%</span></td>'+' <td><strong>成交量: </strong><span>'+IFrameSplitOperator.FormatValueString(showData.Vol,2)+'股</span></td>'+' <td><strong>金额: </strong><span>'+IFrameSplitOperator.FormatValueString(showData.Amount,2)+'元</span></td></tr>\n'+' </table>';(0,_jquery2.default)(".parameter-content").html(div);this.BindEvent();};this.BindEvent=function(){var _self=this;if(_self.SelectData.Start>0){(0,_jquery2.default)(".jchart-select-date .start-date-left").click(function(){_self.SelectData.Start--;_self.BindData();_self.HQChart.UpdateSelectRect(_self.SelectData.Start,_self.SelectData.End);});}if(_self.SelectData.Start<_self.SelectData.End){(0,_jquery2.default)(".jchart-select-date .start-date-right").click(function(){_self.SelectData.Start++;_self.BindData();_self.HQChart.UpdateSelectRect(_self.SelectData.Start,_self.SelectData.End);});(0,_jquery2.default)(".jchart-select-date .end-date-left").click(function(){_self.SelectData.End--;_self.BindData();_self.HQChart.UpdateSelectRect(_self.SelectData.Start,_self.SelectData.End);});}if(_self.SelectData.End<_self.SelectData.Data.Data.length-1){(0,_jquery2.default)(".jchart-select-date .end-date-right").click(function(){_self.SelectData.End++;_self.BindData();_self.HQChart.UpdateSelectRect(_self.SelectData.Start,_self.SelectData.End);});}};//显示
|
|
9075
|
+
var defaultfloatPrecision=GetfloatPrecision(this.SelectData.Symbol);var startDate=IFrameSplitOperator.FormatDateString(showData.Date.Start.Date);var endDate=IFrameSplitOperator.FormatDateString(showData.Date.End.Date);startDate+=' '+IFrameSplitOperator.FormatTimeString(showData.Date.Start.Time,"HH:MM");endDate+=" "+IFrameSplitOperator.FormatTimeString(showData.Date.End.Time,"HH:MM");var startLeftClass="",startRightClass="",endLeftClass="",endRightClass="";if(start<=0)startLeftClass="BtnBackground";if(start>=end){startRightClass="BtnBackground";endLeftClass="BtnBackground";}if(end>=hqData.Data.length-1)endRightClass="BtnBackground";var div=document.createElement('div');div.className='jchart-select-table-right';div.innerHTML='<div class="jchart-select-date">\n'+' <span>开始: '+startDate+'<i class="start-date-left '+startLeftClass+'"><</i><i class="start-date-right '+startRightClass+'">></i></span>\n'+' <span>结束: '+endDate+'<i class="end-date-left '+endLeftClass+'"><</i><i class="end-date-right '+endRightClass+'">></i></span>\n'+' <span>总个数: '+showData.Count+'</span>\n'+' </div>\n'+' <table>\n'+' <tr><td><strong>起始价: </strong><span>'+showData.Open.toFixed(defaultfloatPrecision)+'</span></td>'+' <td><strong>终止价: </strong><span>'+showData.Close.toFixed(defaultfloatPrecision)+'</span></td>'+' <td><strong>均价: </strong><span>'+(IFrameSplitOperator.IsNumber(showData.AvPrice)?showData.AvPrice.toFixed(defaultfloatPrecision):"--.--")+'</span></td></tr>\n'+' <tr><td><strong>最低价: </strong><span>'+showData.Low.toFixed(defaultfloatPrecision)+'</span></td>'+' <td><strong>最高价: </strong><span>'+showData.High.toFixed(defaultfloatPrecision)+'</span></td>'+' <td><strong>涨跌幅: </strong><span class="'+IFrameSplitOperator.FormatValueColor(showData.Increase)+'">'+showData.Increase.toFixed(2)+'%</span></td></tr>\n'+' <tr><td><strong>振幅: </strong><span>'+showData.Amplitude.toFixed(2)+'%</span></td>'+' <td><strong>成交量: </strong><span>'+IFrameSplitOperator.FormatValueString(showData.Vol,2)+'股</span></td>'+' <td><strong>金额: </strong><span>'+IFrameSplitOperator.FormatValueString(showData.Amount,2)+'元</span></td></tr>\n'+' </table>';(0,_jquery2.default)(".parameter-content").html(div);this.BindEvent();return true;};this.BindEvent=function(){var _self=this;if(_self.SelectData.Start>0){(0,_jquery2.default)(".jchart-select-date .start-date-left").click(function(){_self.SelectData.Start--;_self.BindData();_self.HQChart.UpdateSelectRect(_self.SelectData.Start,_self.SelectData.End);});}if(_self.SelectData.Start<_self.SelectData.End){(0,_jquery2.default)(".jchart-select-date .start-date-right").click(function(){_self.SelectData.Start++;_self.BindData();_self.HQChart.UpdateSelectRect(_self.SelectData.Start,_self.SelectData.End);});(0,_jquery2.default)(".jchart-select-date .end-date-left").click(function(){_self.SelectData.End--;_self.BindData();_self.HQChart.UpdateSelectRect(_self.SelectData.Start,_self.SelectData.End);});}if(_self.SelectData.End<_self.SelectData.Data.Data.length-1){(0,_jquery2.default)(".jchart-select-date .end-date-right").click(function(){_self.SelectData.End++;_self.BindData();_self.HQChart.UpdateSelectRect(_self.SelectData.Start,_self.SelectData.End);});}};//显示
|
|
9076
9076
|
this.DoModal=function(event){var chart=event.data.Chart;if(this.ID==null)this.Create();//第1次 需要创建div
|
|
9077
|
-
this.SelectData=event.data.SelectData;this.RectSelectPaint=event.data.RectSelectPaint;this.HQChart=chart;this.HQChart.HideSelectRect();this.BindData();this.Show();//通过CSS居中显示
|
|
9077
|
+
this.SelectData=event.data.SelectData;this.RectSelectPaint=event.data.RectSelectPaint;this.HQChart=chart;this.HQChart.HideSelectRect();if(!this.BindData())return;this.Show();//通过CSS居中显示
|
|
9078
9078
|
};}//区间统计
|
|
9079
9079
|
function KLineSelectRectDialog(divElement){this.newMethod=IDivDialog;//派生
|
|
9080
9080
|
this.newMethod(divElement);delete this.newMethod;this.SelectData;this.Dialog;this.HQChart;this.RectSelectPaint;//隐藏窗口
|
|
@@ -9862,7 +9862,8 @@ var setVariantName=new _set2.default(["CAPITAL","TOTALCAPITAL","EXCHANGE","HYBLO
|
|
|
9862
9862
|
{var item={VariantName:varName,ID:JS_EXECUTE_JOB_ID.JOB_CUSTOM_VARIANT_DATA};if(token)item.Token={Index:token.Start,Line:token.LineNumber};this.FunctionData.push(item);return;}};this.VerifySymbolLiteral=function(value,token){if(IFrameSplitOperator.IsString(value)){if(value.indexOf('$')>0){var aryValue=value.split('$');if(aryValue.length!=2)return;var item={Literal:value,ID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_OTHER_SYMBOL_DATA};if(token)item.Token={Index:token.Start,Line:token.LineNumber};this.OtherSymbolData.push(item);}}};this.VerifySymbolFunction=function(callee,args,token){//自定义函数 可以覆盖系统内置函数
|
|
9863
9863
|
if(g_JSComplierResource.IsCustomFunction(callee.Name)){var item={FunctionName:callee.Name,ID:JS_EXECUTE_JOB_ID.JOB_CUSTOM_FUNCTION_DATA,Args:args};if(token)item.Token={Index:token.Start,Line:token.LineNumber};this.FunctionData.push(item);return;}//自定义数据函数
|
|
9864
9864
|
if(g_JSComplierResource.IsCustomDataFunction(callee.Name)){var item={FunctionName:callee.Name,ID:JS_EXECUTE_JOB_ID.JOB_CUSTOM_DATA_FUNCTION,Args:args};if(token)item.Token={Index:token.Start,Line:token.LineNumber};this.FunctionData.push(item);return;}if(callee.Name=='DYNAINFO'){var item={ID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SYMBOL_LATEST_DATA,Args:args,FunctionName:callee.Name};this.Dynainfo.push(item);return;}//财务函数
|
|
9865
|
-
if(callee.Name=='FINANCE'){var item={ID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_FINANCE,Args:args,FunctionName:callee.Name};if(token)item.Token={Index:token.Start,Line:token.LineNumber};this.FunctionData.push(item);return;}if(callee.Name=="FINVALUE"){var item={ID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_FINVALUE,Args:args,FunctionName:callee.Name};if(token)item.Token={Index:token.Start,Line:token.LineNumber};this.FunctionData.push(item);return;}if(callee.Name=="FINONE"){var item={ID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_FINONE,Args:args,FunctionName:callee.Name};if(token)item.Token={Index:token.Start,Line:token.LineNumber};this.FunctionData.push(item);return;}
|
|
9865
|
+
if(callee.Name=='FINANCE'){var item={ID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_FINANCE,Args:args,FunctionName:callee.Name};if(token)item.Token={Index:token.Start,Line:token.LineNumber};this.FunctionData.push(item);return;}if(callee.Name=="FINVALUE"){var item={ID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_FINVALUE,Args:args,FunctionName:callee.Name};if(token)item.Token={Index:token.Start,Line:token.LineNumber};this.FunctionData.push(item);return;}if(callee.Name=="FINONE"){var item={ID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_FINONE,Args:args,FunctionName:callee.Name};if(token)item.Token={Index:token.Start,Line:token.LineNumber};this.FunctionData.push(item);return;}//专业财务数据
|
|
9866
|
+
for(var i=0;i<JS_ARRAY_PROFESSIONAL_FINANCE.length;++i){var financeItem=JS_ARRAY_PROFESSIONAL_FINANCE[i];if(financeItem.Name==callee.Name){var item={ID:financeItem.JobID,Args:args,FunctionName:callee.Name};if(token)item.Token={Index:token.Start,Line:token.LineNumber};this.FunctionData.push(item);return;}}if(callee.Name==='MARGIN'){var jobID=JS_EXECUTE_JOB_ID.GetMarginJobID(args[0].Value);if(jobID&&!this.IsNeedMarginData.has(jobID))this.IsNeedMarginData.add(jobID);return;}if(callee.Name==='NEWS'){var _jobID=JS_EXECUTE_JOB_ID.GetNewsAnalysisID(args[0].Value);if(_jobID&&!this.IsNeedNewsAnalysisData.has(_jobID))this.IsNeedNewsAnalysisData.add(_jobID);return;}if(callee.Name==='HK2SHSZ')//北上资金
|
|
9866
9867
|
{var item={ID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_HK_TO_SHSZ,Args:args,FunctionName:callee.Name};if(token)item.Token={Index:token.Start,Line:token.LineNumber};this.NeedHK2SHSZData.push(item);return;}if(callee.Name=='COST'||callee.Name=='WINNER'||callee.Name=='PPART'||callee.Name=='COSTEX'||callee.Name=='LWINNER'||callee.Name=='PWINNER')//需要流通股
|
|
9867
9868
|
{//下载流通股
|
|
9868
9869
|
var item={ID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_FINANCE,Args:[7],FunctionName:"FINANCE",FunctionName2:callee.Name};if(token)item.Token={Index:token.Start,Line:token.LineNumber};this.FunctionData.push(item);return;}if(callee.Name=="INBLOCK"){var item={ID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_VARIANT,VariantName:"INBLOCK"};//下载所有板块
|
|
@@ -11186,13 +11187,10 @@ Explain:'财务数据FINONE(ID,Y,MMDD)',JobID:jobItem.ID,Request:{Url:self.Stock
|
|
|
11186
11187
|
Explain:'财务数据FINVALUE(ID)',JobID:jobItem.ID,Request:{Url:self.StockHistoryDayApiUrl,Type:'POST',Data:{id:lID,symbol:this.Symbol,daterange:dateRange}},Self:this,PreventDefault:false};this.NetworkFilter(obj,function(recvData){self.RecvStockValue(recvData,jobItem,key,0);self.Execute.RunNextJob();});if(obj.PreventDefault==true)return;//已被上层替换,不调用默认的网络请求
|
|
11187
11188
|
}var apiDownload=new DownloadFinValueData({Job:jobItem,Symbol:this.Symbol,Url:this.StockHistoryDayApiUrl,Args:aryArgs,DataKey:key,Callback:function Callback(recvData,jobItem,key){self.RecvStockValue(recvData,jobItem,key,0);self.Execute.RunNextJob();},ErrorCallback:function ErrorCallback(strError){self.AddStockValueError(key,strError);}});apiDownload.Download();};this.GetFinance=function(jobItem){var aryArgs=this.JobArgumentsToArray(jobItem,1);var lID=aryArgs[0];var key=this.GetStockDataKey(jobItem,aryArgs);if(this.StockData.has(key))return this.Execute.RunNextJob();var self=this;if(this.NetworkFilter){var dateRange=this.Data.GetDateRange();var obj={Name:'JSSymbolData::GetFinance',//类名::
|
|
11188
11189
|
Explain:'财务数据FINANCE(ID)',JobID:jobItem.ID,Request:{Url:self.RealtimeApiUrl,Type:'POST',Data:{id:lID,symbol:this.Symbol,daterange:dateRange}},Self:this,PreventDefault:false};this.NetworkFilter(obj,function(recvData){if(recvData.Error)self.AddStockValueError(key,recvData.Error);else self.RecvStockValue(recvData,jobItem,key,0);self.Execute.RunNextJob();});if(obj.PreventDefault==true)return;//已被上层替换,不调用默认的网络请求
|
|
11189
|
-
}var apiDownload=new DownloadFinanceData({Job:jobItem,Symbol:this.Symbol,Url:this.StockHistoryDayApiUrl,RealtimeUrl:this.RealtimeApiUrl,Args:aryArgs,DataKey:key,Callback:function Callback(recvData,jobItem,key){self.RecvStockValue(recvData,jobItem,key,0);self.Execute.RunNextJob();},ErrorCallback:function ErrorCallback(strError){self.AddStockValueError(key,strError);}});apiDownload.Download();};this.
|
|
11190
|
-
|
|
11191
|
-
Explain:
|
|
11192
|
-
}
|
|
11193
|
-
var dataType=aryArgs[2]==1?0:2;if(this.NetworkFilter){var dateRange=this.Data.GetDateRange();var obj={Name:'JSSymbolData::GetSCJYValue',//类名::
|
|
11194
|
-
Explain:'股票交易类数据SCJYVALUE(ID,N,TYPE)',JobID:jobItem.ID,Request:{Url:self.StockHistoryDayApiUrl,Type:'POST',Data:{Args:aryArgs,symbol:this.Symbol,daterange:dateRange}},Self:this,PreventDefault:false};this.NetworkFilter(obj,function(recvData){self.RecvStockValue(recvData,jobItem,key,dataType);self.Execute.RunNextJob();});if(obj.PreventDefault==true)return;//已被上层替换,不调用默认的网络请求
|
|
11195
|
-
}var apiDownload=new DownloadSCJYValue({Job:jobItem,Symbol:this.Symbol,Url:this.StockHistoryDayApiUrl,Args:aryArgs,DataKey:key,Callback:function Callback(recvData,jobItem,key){self.RecvStockValue(recvData,jobItem,key,dataType);self.Execute.RunNextJob();},ErrorCallback:function ErrorCallback(strError){self.AddStockValueError(key,strError);}});apiDownload.Download();};this.GetVariantData=function(jobItem){var key=jobItem.VariantName;if(this.StockData.has(key))return this.Execute.RunNextJob();var self=this;if(this.NetworkFilter){var dateRange=this.Data.GetDateRange();var obj={Name:'JSSymbolData::GetVariantData',//类名::函数名
|
|
11190
|
+
}var apiDownload=new DownloadFinanceData({Job:jobItem,Symbol:this.Symbol,Url:this.StockHistoryDayApiUrl,RealtimeUrl:this.RealtimeApiUrl,Args:aryArgs,DataKey:key,Callback:function Callback(recvData,jobItem,key){self.RecvStockValue(recvData,jobItem,key,0);self.Execute.RunNextJob();},ErrorCallback:function ErrorCallback(strError){self.AddStockValueError(key,strError);}});apiDownload.Download();};this.GetProFinance=function(jobItem){var jobID=jobItem.ID;var finder=null;for(var i=0;i<JS_ARRAY_PROFESSIONAL_FINANCE.length;++i){var item=JS_ARRAY_PROFESSIONAL_FINANCE[i];if(item.JobID==jobID){finder=item;break;}}if(!finder)return this.Execute.RunNextJob();var aryArgs=this.JobArgumentsToArray(jobItem,finder.ArgCount);var key=this.GetStockDataKey(jobItem,aryArgs);if(this.StockData.has(key))return this.Execute.RunNextJob();var self=this;var dataType=0;if([JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_GPJYVALUE,JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SCJYVALUE,JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_BKJYVALUE].includes(jobID)){dataType=aryArgs[2]==1?0:2;//TYPE:为1表示做平滑处理,没有数据的周期返回上一周期的值;为0表示不做平滑处理
|
|
11191
|
+
}if(this.NetworkFilter){var dateRange=this.Data.GetDateRange();var obj={Name:finder.FuncName,//类名::
|
|
11192
|
+
Explain:finder.Explain,JobID:jobID,Request:{Url:self.StockHistoryDayApiUrl,Type:'POST',Data:{Args:aryArgs,symbol:this.Symbol,daterange:dateRange}},Self:this,PreventDefault:false};this.NetworkFilter(obj,function(recvData){self.RecvStockValue(recvData,jobItem,key,dataType);self.Execute.RunNextJob();});if(obj.PreventDefault==true)return;//已被上层替换,不调用默认的网络请求
|
|
11193
|
+
}JSConsole.Chart.Warn('[JSSymbolData::GetProFinance] '+finder.FuncName+' Not implemented.');};this.GetVariantData=function(jobItem){var key=jobItem.VariantName;if(this.StockData.has(key))return this.Execute.RunNextJob();var self=this;if(this.NetworkFilter){var dateRange=this.Data.GetDateRange();var obj={Name:'JSSymbolData::GetVariantData',//类名::函数名
|
|
11196
11194
|
Explain:'变量数据下载',JobID:jobItem.ID,Request:{Url:"数据地址",Type:'POST',Data:{VariantName:jobItem.VariantName,symbol:this.Symbol,daterange:dateRange}},Self:this,PreventDefault:false};this.NetworkFilter(obj,function(recvData){if(recvData.Error){self.AddStockValueError(key,recvData.Error);}else{var dataType=0;if(IFrameSplitOperator.IsNumber(recvData.DataType))dataType=recvData.DataType;self.RecvStockValue(recvData.Data,jobItem,key,dataType);}self.Execute.RunNextJob();});if(obj.PreventDefault==true)return;//已被上层替换,不调用默认的网络请求
|
|
11197
11195
|
}var errorCallback=function errorCallback(strError){self.AddStockValueError(key,strError);};var apiDownload;if(jobItem.VariantName=="CAPITAL"||jobItem.VariantName=="TOTALCAPITAL"||jobItem.VariantName=="EXCHANGE"){var callback=function callback(recvData,jobItem,key){self.RecvStockValue(recvData,jobItem,key,0);self.Execute.RunNextJob();};apiDownload=new DownloadFinanceData({Job:jobItem,Symbol:this.Symbol,Url:this.StockHistoryDayApiUrl,RealtimeUrl:this.RealtimeApiUrl,Args:[jobItem.VariantName],DataKey:key,Callback:callback,ErrorCallback:errorCallback});}else if(jobItem.VariantName=="HYBLOCK"||jobItem.VariantName=="DYBLOCK"||jobItem.VariantName=="GNBLOCK"){var callback=function callback(recvData,jobItem,key,dataType){self.RecvStockValue(recvData,jobItem,key,dataType);self.Execute.RunNextJob();};apiDownload=new DownloadGroupData({Job:jobItem,Symbol:this.Symbol,Url:this.StockHistoryDayApiUrl,RealtimeUrl:this.RealtimeApiUrl,Args:[jobItem.VariantName],DataKey:key,Callback:callback,ErrorCallback:errorCallback});}else if(jobItem.VariantName=="INBLOCK"){var errorMessage=jobItem.VariantName+', \u8BF7\u5BF9\u63A5\u5916\u90E8\u6570\u636E.';this.AddStockValueError(key,errorMessage);this.Execute.RunNextJob();return;}else{var errorMessage='\u4E0D\u652F\u6301\u53D8\u91CF'+jobItem.VariantName+', \u8BF7\u5BF9\u63A5\u5916\u90E8\u6570\u636E.';this.AddStockValueError(key,errorMessage);this.Execute.RunNextJob();return;}apiDownload.Download();};//自定义变量数据下载
|
|
11198
11196
|
this.GetCustomVariantData=function(jobItem){var key=jobItem.VariantName;if(this.StockData.has(key))return this.Execute.RunNextJob();var variantInfo=g_JSComplierResource.CustomVariant.Data.get(key);var self=this;if(this.NetworkFilter){var dateRange=this.Data.GetDateRange();var obj={Name:'JSSymbolData::GetCustomVariantData',//类名::函数名
|
|
@@ -11364,6 +11362,10 @@ JOB_DOWNLOAD_FINANCE:303,//FINANCE(ID) 基础财务数据
|
|
|
11364
11362
|
JOB_DOWNLOAD_GPJYVALUE:304,//引用股票交易类数据 GPJYVALUE(ID,N,TYPE),ID为数据编号,N表示第几个数据,TYPE:为1表示做平滑处理,没有数据的周期返回上一周期的值;为0表示不做平滑处理
|
|
11365
11363
|
JOB_DOWNLOAD_VARIANT:305,//CAPITAL , TOTALCAPITAL, EXCHANGE
|
|
11366
11364
|
JOB_DOWNLOAD_SCJYVALUE:306,//引用市场总的交易类数据.SCJYVALUE(ID,N,TYPE),ID为数据编号,N表示第几个数据,TYPE:为1表示做平滑处理,没有数据的周期返回上一周期的值;为0表示不做平滑处理
|
|
11365
|
+
JOB_DOWNLOAD_GPJYONE:307,//GPJYONE(ID,N,Y,MMDD),ID为数据编号,N表示第几个数据(取1或2),Y和MMDD表示年和月日. 如果Y为0,MMDD为0,表示最新数据,MMDD为1,2,3...,表示倒数第2,3,4...个数据
|
|
11366
|
+
JOB_DOWNLOAD_SCJYONE:308,//SCJYONE(ID,N,Y,MMDD),ID为数据编号,N表示第几个数据(取1或2),Y和MMDD表示年和月日.如果Y为0,MMDD为0,表示最新数据,MMDD为1,2,3...,表示倒数第2,3,4...个数据
|
|
11367
|
+
JOB_DOWNLOAD_BKJYVALUE:309,//BKJYVALUE(ID,N,TYPE),ID为数据编号,N表示第几个数据(取1或2),TYPE:为1表示做平滑处理,没有数据的周期返回上一周期的值;为0表示不做平滑处理;2表示没有数据则为0.
|
|
11368
|
+
JOB_DOWNLOAD_BKJYONE:310,//BKJYONE(ID,N,Y,MMDD),ID为数据编号,N表示第几个数据(取1或2),Y和MMDD表示年和月日.如果Y为0,MMDD为0,表示最新数据,MMDD为1,2,3...,表示倒数第2,3,4...个数据
|
|
11367
11369
|
JOB_DOWNLOAD_MARGIN_BALANCE:1000,//融资融券余额
|
|
11368
11370
|
JOB_DOWNLOAD_MARGIN_RATE:1001,//融资占比
|
|
11369
11371
|
JOB_DOWNLOAD_MARGIN_BUY_BALANCE:1010,//买入信息-融资余额
|
|
@@ -11460,7 +11462,8 @@ GetMarginJobID:function GetMarginJobID(value){var dataMap=new _map2.default([[1,
|
|
|
11460
11462
|
[9,JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_NEWS_ANALYSIS_TOPMANAGERS],//NEWS(9) 高管要闻
|
|
11461
11463
|
[10,JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_NEWS_ANALYSIS_PLEDGE]]);if(dataMap.has(value))return dataMap.get(value);return null;},//财务截面数据 分报告期
|
|
11462
11464
|
GetSectionFinanceID:function GetSectionFinanceID(value){var dataMap=new _map2.default([['流动资产',JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SECTION_F_01],['货币资金',JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SECTION_F_02],['存货',JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SECTION_F_03],['流动负债',JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SECTION_F_04],['非流动负债',JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SECTION_F_05],['三项费用',JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SECTION_F_06],['投资收益',JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SECTION_F_07],['归母净利润',JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SECTION_F_08],['扣非净利润',JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SECTION_F_09],['扣非每股收益',JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SECTION_F_10],['加权平均净资产收益',JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SECTION_F_11],['在建工程',JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SECTION_F_12],['累计折旧',JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SECTION_F_13],['少数股东利润',JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SECTION_F_14],['汇兑损益',JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SECTION_F_15],['坏账计提',JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SECTION_F_16],['固定资产',JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SECTION_F_17],['当期折旧',JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SECTION_F_18],['营业总收入',JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SECTION_F_19],['主营业务利润',JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SECTION_F_20],['营业利润',JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SECTION_F_21],['净利润',JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SECTION_F_22],['应收账款',JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SECTION_F_23],['财务费用',JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SECTION_F_24],['经营性现金流',JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SECTION_F_25],['资产总计',JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SECTION_F_26],['负债总计',JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SECTION_F_27],['所有者权益总计',JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SECTION_F_28],['毛利率',JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SECTION_F_29],['每股资本公积金',JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SECTION_F_30],['每股未分配利润',JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SECTION_F_31],['每股收益',JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SECTION_F_32],['每股净资产',JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SECTION_F_33],['每股经营性现金流',JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SECTION_F_34],['扣非净利润涨幅',JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SECTION_F_35],['扣非净利润涨速',JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SECTION_F_36],['净利润涨幅',JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SECTION_F_37],['资产负债率',JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SECTION_F_38],['利润同比',JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SECTION_F_39]]);if(dataMap.has(value))return dataMap.get(value);return null;},//获取报告期 2018, 1
|
|
11463
|
-
GetSectionReportPeriod:function GetSectionReportPeriod(year,quarter){if(year>=2000&&quarter>=1&&quarter<=4)return{Year:year,Quarter:quarter};return null;}}
|
|
11465
|
+
GetSectionReportPeriod:function GetSectionReportPeriod(year,quarter){if(year>=2000&&quarter>=1&&quarter<=4)return{Year:year,Quarter:quarter};return null;}};//专业财务数据
|
|
11466
|
+
var JS_ARRAY_PROFESSIONAL_FINANCE=[{Name:"GPJYVALUE",JobID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_GPJYVALUE,Explain:"股票交易类数据GPJYVALUE(ID,N,TYPE)",FuncName:"JSSymbolData::GetGPJYValue",ArgCount:3},{Name:"GPJYONE",JobID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_GPJYONE,Explain:"股票交易类数据GPJYONE(ID,N,Y,MMDD)",FuncName:"JSSymbolData::GetGPJYOne",ArgCount:4},{Name:"SCJYVALUE",JobID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SCJYVALUE,Explain:"市场交易类数据SCJYVALUE(ID,N,TYPE)",FuncName:"JSSymbolData::GetSCJYValue",ArgCount:3},{Name:"SCJYONE",JobID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SCJYONE,Explain:"市场交易类数据SCJYONE(ID,N,Y,MMDD)",FuncName:"JSSymbolData::GetSCJYOne",ArgCount:4},{Name:"BKJYVALUE",JobID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_BKJYVALUE,Explain:"板块交易类数据BKJYVALUE(ID,N,TYPE)",FuncName:"JSSymbolData::GetBKJYValue",ArgCount:3},{Name:"BKJYONE",JobID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_BKJYONE,Explain:"板块交易类数据BKJYONE(ID,N,Y,MMDD)",FuncName:"JSSymbolData::GetBKJYOne",ArgCount:4}];function JSExecute(ast,option){var _this47=this;this.AST=ast;//语法树
|
|
11464
11467
|
this.ErrorHandler=new ErrorHandler();this.VarTable=new _map2.default();//变量表
|
|
11465
11468
|
this.VarDrawTable=new _map2.default();//绘图变量表
|
|
11466
11469
|
this.OutVarTable=[];//输出变量
|
|
@@ -11546,7 +11549,8 @@ case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_NEWS_ANALYSIS_COMPANYNEWS://官网新闻
|
|
|
11546
11549
|
case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_NEWS_ANALYSIS_TOPMANAGERS://高管要闻
|
|
11547
11550
|
case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_NEWS_ANALYSIS_PLEDGE://股权质押
|
|
11548
11551
|
return this.SymbolData.GetNewsAnalysisData(jobItem.ID);case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_HK_TO_SHSZ:return this.SymbolData.GetHKToSHSZData(jobItem);case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SECTION_SF:return this.SymbolData.GetSectionFinanceData(jobItem);//财务截面报告数据
|
|
11549
|
-
case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_FINONE:return this.SymbolData.GetFinOne(jobItem);case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_FINVALUE:return this.SymbolData.GetFinValue(jobItem);case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_FINANCE:return this.SymbolData.GetFinance(jobItem)
|
|
11552
|
+
case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_FINONE:return this.SymbolData.GetFinOne(jobItem);case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_FINVALUE:return this.SymbolData.GetFinValue(jobItem);case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_FINANCE:return this.SymbolData.GetFinance(jobItem);//专业财务数据
|
|
11553
|
+
case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_GPJYVALUE:case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_GPJYONE:case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SCJYVALUE:case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SCJYONE:case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_BKJYVALUE:case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_BKJYONE:return this.SymbolData.GetProFinance(jobItem);case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_VARIANT://CAPITAL, TOTALCAPITAL
|
|
11550
11554
|
return this.SymbolData.GetVariantData(jobItem);case JS_EXECUTE_JOB_ID.JOB_CUSTOM_VARIANT_DATA:return this.SymbolData.GetCustomVariantData(jobItem);case JS_EXECUTE_JOB_ID.JOB_CUSTOM_FUNCTION_DATA:return this.SymbolData.GetCustomFunctionData(jobItem);case JS_EXECUTE_JOB_ID.JOB_CUSTOM_DATA_FUNCTION:return this.SymbolData.GetCustomFunctionDataV2(jobItem);case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_CUSTOM_API_DATA:return this.SymbolData.DownloadCustomAPIData(jobItem);case JS_EXECUTE_JOB_ID.JOB_EXECUTE_INDEX:return this.SymbolData.CallScriptIndex(jobItem,this.VarTable);case JS_EXECUTE_JOB_ID.JOB_RUN_SCRIPT:if(this.Debug===1&&this.DebugFilter)return this.DebugRun();else return this.Run();}};this.ReadSymbolData=function(name,node){switch(name){case'CLOSE':case'C':case'VOL':case'V':case'OPEN':case'O':case'HIGH':case'H':case'LOW':case'L':case'AMOUNT':case'AMO':case"OPI":case'VOLINSTK':case"SETTLE":case"QHJSJ":case"ZSTJJ":case"ISEQUAL"://平盘
|
|
11551
11555
|
case"ISUP"://收阳
|
|
11552
11556
|
case"ISDOWN"://收阴
|
|
@@ -11598,7 +11602,7 @@ var bResult=this.Algorithm.IFC(args[0]);var item=bResult?node.Arguments[1]:node.
|
|
|
11598
11602
|
if(g_JSComplierResource.IsCustomFunction(funcName)){var data=this.Algorithm.CallCustomFunction(funcName,args,this.SymbolData,node);node.Out=[];node.Draw=null;if(data){if(data.Out)node.Out=data.Out;if(data.Draw)node.Draw=data.Draw;}return node.Out;}if(g_JSComplierResource.IsCustomDataFunction(funcName)){var functionInfo=g_JSComplierResource.CustomDataFunction.Data.get(funcName);node.Out=this.SymbolData.GetStockCacheData({FunctionName:funcName,Args:args,ArgCount:functionInfo.ArgCount,Node:node});node.Draw=null;return node.Out;}switch(funcName){case'DYNAINFO'://行情最新数据
|
|
11599
11603
|
node.Out=this.SymbolData.GetLatestCacheData(args[0]);break;case'STICKLINE':node.Draw=this.Draw.STICKLINE(args[0],args[1],args[2],args[3],args[4]);node.Out=[];break;case'DRAWTEXT':node.Draw=this.Draw.DRAWTEXT(args[0],args[1],args[2]);node.Out=[];break;case'DRAWTEXT_FIX':node.Draw=this.Draw.DRAWTEXT_FIX(args[0],args[1],args[2],args[3],args[4]);node.Out=[];break;case'SUPERDRAWTEXT':node.Draw=this.Draw.SUPERDRAWTEXT(args[0],args[1],args[2],args[3],args[4]);node.Out=[];break;case'DRAWICON':node.Draw=this.Draw.DRAWICON(args[0],args[1],args[2]);node.Out=[];break;case"ICON":node.Draw=this.Draw.ICON(args[0],args[1]);node.Out=[];break;case"TIPICON":node.Draw=this.Draw.TIPICON(args[0],args[1],args[2],args[3]);node.Out=[];break;case"BACKGROUND":node.Draw=this.Draw.BACKGROUND(args[0],args[1],args[2],args[3],args[4],args[5]);node.Out=[];break;case"CKLINE":node.Draw=this.Draw.CKLINE(args[0],args[1],args[2],args[3],args[4]);node.Out=[];break;case'DRAWLINE':node.Draw=this.Draw.DRAWLINE(args[0],args[1],args[2],args[3],args[4]);node.Out=node.Draw.DrawData;break;case'DRAWBAND':node.Draw=this.Draw.DRAWBAND(args[0],args[1],args[2],args[3]);node.Out=[];break;case"FILLRGN":if(args.length>=4)node.Draw=this.Draw.FILLRGN2(args);else node.Draw=this.Draw.FILLRGN(args[0],args[1],args[2]);node.Out=[];break;case"FLOATRGN":node.Draw=this.Draw.FLOATRGN(args);node.Out=[];break;case"FILLTOPRGN":node.Draw=this.Draw.FILLBGRGN(1,args);node.Out=[];break;case"FILLBOTTOMRGN":node.Draw=this.Draw.FILLBGRGN(0,args);node.Out=[];break;case"FILLVERTICALRGN":node.Draw=this.Draw.FILLVERTICALRGN(args);node.Out=[];break;case'DRAWKLINE':case"DRAWKLINE1":node.Draw=this.Draw.DRAWKLINE(args[0],args[1],args[2],args[3]);node.Out=[];break;case'DRAWKLINE_IF':node.Draw=this.Draw.DRAWKLINE_IF(args[0],args[1],args[2],args[3],args[4]);node.Out=[];break;case"KLINETYPE"://K线类型 和DRAWKLINE连用
|
|
11600
11604
|
node.Out=this.Draw.KLINETYPE(args[0]);break;case"DRAWOVERLAYKLINE":node.Draw=this.Draw.DRAWOVERLAYKLINE(args[0],args[1],args[2],args[3]);node.Out=[];break;case"DRAWCOLORKLINE":node.Draw=this.Draw.DRAWCOLORKLINE(args[0],args[1],args[2]);node.Out=[];break;case'PLOYLINE':case'POLYLINE':node.Draw=this.Draw.POLYLINE(args[0],args[1]);node.Out=node.Draw.DrawData;break;case'DRAWNUMBER':node.Draw=this.Draw.DRAWNUMBER(args[0],args[1],args[2],args[3]);node.Out=node.Draw.DrawData.Value;break;case"DRAWNUMBER_FIX":node.Draw=this.Draw.DRAWNUMBER_FIX(args[0],args[1],args[2],args[3],args[4]);node.Out=node.Draw.DrawData.Value;break;case"DRAWCHANNEL":node.Draw=this.Draw.DRAWCHANNEL(args[0],args[1],args[2],args[3],args[4],args[5],args[6]);node.Out=[];break;case'RGB':node.Out=this.Draw.RGB(args[0],args[1],args[2]);break;case"RGBA":node.Out=this.Draw.RGBA(args[0],args[1],args[2],args[3]);break;case"UPCOLOR":node.Out=this.Draw.UPCOLOR(args[0]);break;case"DOWNCOLOR":node.Out=this.Draw.DOWNCOLOR(args[0]);break;case"STICKTYPE"://柱子类型
|
|
11601
|
-
node.Out=this.Draw.STICKTYPE(args[0]);break;case"XMOVE":node.Out=this.Draw.XMOVE(args[0]);break;case"YMOVE":node.Out=this.Draw.YMOVE(args[0]);break;case"LINEDASH":node.Out=this.Draw.LINEDASH(args);break;case"FIRSTDRAW":node.Out=this.Draw.FIRSTDRAW(args[0]);break;case'PARTLINE':node.Draw=this.Draw.PARTLINE(args);node.Out=[];break;case'DRAWGBK':node.Draw=this.Draw.DRAWGBK(args[0],args[1],args[2],args[3]);node.Out=[];break;case'DRAWGBK2':node.Draw=this.Draw.DRAWGBK2(args[0],args[1],args[2],args[3]);node.Out=[];break;case"DRAWGBK_DIV":node.Draw=this.Draw.DRAWGBK_DIV(args[0],args[1],args[2],args[3],args[4]);node.Out=[];break;case'DRAWTEXT_LINE':node.Draw=this.Draw.DRAWTEXT_LINE(args[0],args[1],args[2],args[3],args[4],args[5],args[6]);node.Out=[];break;case'DRAWRECTREL':node.Draw=this.Draw.DRAWRECTREL(args[0],args[1],args[2],args[3],args[4]);node.Out=[];break;case"DRAWTEXTREL":node.Draw=this.Draw.DRAWTEXTREL(args[0],args[1],args[2]);node.Out=[];break;case"DRAWTEXTABS":node.Draw=this.Draw.DRAWTEXTABS(args[0],args[1],args[2]);node.Out=[];break;case"DRAWOVERLAYLINE":node.Draw=this.Draw.DRAWOVERLAYLINE(args[0],args[1],args[2]);node.Out=node.Draw.DrawData.Data;break;case"DRAWSL":node.Draw=this.Draw.DRAWSL(args[0],args[1],args[2],args[3],args[4]);node.Out=[];break;case"VERTLINE":node.Draw=this.Draw.VERTLINE(args[0],args[1]);node.Out=node.Draw.DrawData.Data;break;case"HORLINE":node.Draw=this.Draw.HORLINE(args[0],args[1],args[2],args[3]);node.Out=node.Draw.DrawData.Data;break;case'CODELIKE':node.Out=this.SymbolData.CODELIKE(args[0]);break;case'NAMELIKE':case"NAMEINCLUDE":node.Out=this.SymbolData.NAMELIKE(args[1]);break;case'REFDATE':node.Out=this.SymbolData.REFDATE(args[0],args[1]);break;case'FINANCE':node.Out=this.SymbolData.GetStockCacheData({FunctionName:funcName,Args:args,ArgCount:1,Node:node});break;case"FINVALUE":node.Out=this.SymbolData.GetStockCacheData({FunctionName:funcName,Args:args,ArgCount:1,Node:node});break;case"FINONE":node.Out=this.SymbolData.GetStockCacheData({FunctionName:funcName,Args:args,ArgCount:3,Node:node});break;case"GPJYVALUE":node.Out=this.SymbolData.GetStockCacheData({FunctionName:funcName,Args:args,ArgCount:3,Node:node});break;case"
|
|
11605
|
+
node.Out=this.Draw.STICKTYPE(args[0]);break;case"XMOVE":node.Out=this.Draw.XMOVE(args[0]);break;case"YMOVE":node.Out=this.Draw.YMOVE(args[0]);break;case"LINEDASH":node.Out=this.Draw.LINEDASH(args);break;case"FIRSTDRAW":node.Out=this.Draw.FIRSTDRAW(args[0]);break;case'PARTLINE':node.Draw=this.Draw.PARTLINE(args);node.Out=[];break;case'DRAWGBK':node.Draw=this.Draw.DRAWGBK(args[0],args[1],args[2],args[3]);node.Out=[];break;case'DRAWGBK2':node.Draw=this.Draw.DRAWGBK2(args[0],args[1],args[2],args[3]);node.Out=[];break;case"DRAWGBK_DIV":node.Draw=this.Draw.DRAWGBK_DIV(args[0],args[1],args[2],args[3],args[4]);node.Out=[];break;case'DRAWTEXT_LINE':node.Draw=this.Draw.DRAWTEXT_LINE(args[0],args[1],args[2],args[3],args[4],args[5],args[6]);node.Out=[];break;case'DRAWRECTREL':node.Draw=this.Draw.DRAWRECTREL(args[0],args[1],args[2],args[3],args[4]);node.Out=[];break;case"DRAWTEXTREL":node.Draw=this.Draw.DRAWTEXTREL(args[0],args[1],args[2]);node.Out=[];break;case"DRAWTEXTABS":node.Draw=this.Draw.DRAWTEXTABS(args[0],args[1],args[2]);node.Out=[];break;case"DRAWOVERLAYLINE":node.Draw=this.Draw.DRAWOVERLAYLINE(args[0],args[1],args[2]);node.Out=node.Draw.DrawData.Data;break;case"DRAWSL":node.Draw=this.Draw.DRAWSL(args[0],args[1],args[2],args[3],args[4]);node.Out=[];break;case"VERTLINE":node.Draw=this.Draw.VERTLINE(args[0],args[1]);node.Out=node.Draw.DrawData.Data;break;case"HORLINE":node.Draw=this.Draw.HORLINE(args[0],args[1],args[2],args[3]);node.Out=node.Draw.DrawData.Data;break;case'CODELIKE':node.Out=this.SymbolData.CODELIKE(args[0]);break;case'NAMELIKE':case"NAMEINCLUDE":node.Out=this.SymbolData.NAMELIKE(args[1]);break;case'REFDATE':node.Out=this.SymbolData.REFDATE(args[0],args[1]);break;case'FINANCE':node.Out=this.SymbolData.GetStockCacheData({FunctionName:funcName,Args:args,ArgCount:1,Node:node});break;case"FINVALUE":node.Out=this.SymbolData.GetStockCacheData({FunctionName:funcName,Args:args,ArgCount:1,Node:node});break;case"FINONE":node.Out=this.SymbolData.GetStockCacheData({FunctionName:funcName,Args:args,ArgCount:3,Node:node});break;case"GPJYVALUE":case"SCJYVALUE":case"BKJYVALUE":node.Out=this.SymbolData.GetStockCacheData({FunctionName:funcName,Args:args,ArgCount:3,Node:node});break;case"GPJYONE":case"SCJYONE":case"BKJYONE":node.Out=this.SymbolData.GetStockCacheData({FunctionName:funcName,Args:args,ArgCount:4,Node:node});break;case"MARGIN":node.Out=this.SymbolData.GetMarginCacheData(args[0],node);break;case"HK2SHSZ":node.Out=this.SymbolData.GetHKToSHSZCacheData(args[0],node);break;case"NEWS":node.Out=this.SymbolData.GetNewsAnalysisCacheData(args[0],node);break;case'UPCOUNT':case'DOWNCOUNT':node.Out=this.SymbolData.GetIndexIncreaseCacheData(funcName,args[0],node);break;case'SF':node.Out=this.SymbolData.GetSectionFinanceCacheData(args[0],args[1],args[2],node);break;case'LOADAPIDATA':node.Out=this.SymbolData.GetCustomApiData(args);break;case"STKINDI":case"CALCSTOCKINDEX":node.Out=this.SymbolData.GetScriptIndexOutData(args,node,funcName);break;case"SOUND":node.Draw=this.Draw.SOUND(args[0]);node.Out=[];break;case"PLAYSOUND":node.Draw=this.Draw.PLAYSOUND(args[0],args[1]);node.Out=[];break;case'CLOSE':case'C':case'VOL':case'V':case'OPEN':case'O':case'HIGH':case'H':case'LOW':case'L':case'AMOUNT':case'AMO':node.Out=this.SymbolData.GetOtherSymolCacheData({FunctionName:funcName,Args:args});break;case"INBLOCK":node.Out=this.SymbolData.IsInBlock(args[0],node);break;case'COVER_C':case'COVER_O':case'COVER_H':case'COVER_L':case'COVER_A':case'COVER_V':if(args.length==2)return this.SymbolData.GetSymbolPeriodCacheData2(JSComplierHelper.GetConvertValueName(funcName),args[0],args[1]);return this.SymbolData.GetSymbolPeriodCacheData(JSComplierHelper.GetConvertValueName(funcName),args[0]);case"SYSPARAM":node.Out=this.SymbolData.SysParam(args[0],this);break;case"TESTSKIP":var bExit=this.Algorithm.TESTSKIP(args[0],node);node.Out=null;if(bExit){this.Interrupt.Exit=true;if(node&&node.Marker){var marker=node.Marker;this.Interrupt.Line=marker.Line;this.Interrupt.Index=marker.Index;this.Interrupt.Column=marker.Column;}}break;//交易函数
|
|
11602
11606
|
case"BUY":node.Draw=this.Draw.BUY(args[0],args[1],args[2],args[3]);node.Out=node.Draw.DrawData.Data;break;case"SELL":node.Draw=this.Draw.SELL(args[0],args[1],args[2],args[3]);node.Out=node.Draw.DrawData.Data;break;case"SELLSHORT":node.Draw=this.Draw.SELLSHORT(args[0],args[1],args[2],args[3]);node.Out=node.Draw.DrawData.Data;break;case"BUYSHORT":node.Draw=this.Draw.BUYSHORT(args[0],args[1],args[2],args[3]);node.Out=node.Draw.DrawData.Data;break;default:node.Out=this.Algorithm.CallFunction(funcName,args,node,this.SymbolData);break;}return node.Out;};//赋值
|
|
11603
11607
|
this.VisitAssignmentExpression=function(node){var left=node.Left;if(left.Type!=Syntax.Identifier)this.ThrowUnexpectedNode(node);var varName=left.Name;var right=node.Right;var value=null,drawValue=null;if(right.Type==Syntax.BinaryExpression||right.Type==Syntax.LogicalExpression)value=this.VisitBinaryExpression(right);else if(right.Type==Syntax.CallExpression){value=this.VisitCallExpression(right);if(right.Draw)drawValue=right.Draw;}else if(right.Type==Syntax.Literal){value=right.Value;if(IFrameSplitOperator.IsString(value)&&right.Value.indexOf("$")>0)value=this.SymbolData.GetOtherSymolCacheData({Literal:value});}else if(right.Type==Syntax.Identifier)//右值是变量
|
|
11604
11608
|
value=this.ReadVariable(right.Name,right);else if(right.Type==Syntax.MemberExpression)value=this.ReadMemberVariable(right);else if(right.Type==Syntax.UnaryExpression)value=this.VisitUnaryExpression(right);if(JS_EXECUTE_DEBUG_LOG)JSConsole.Complier.Log('[JSExecute::VisitAssignmentExpression]',varName,' = ',value);if(drawValue)this.VarDrawTable.set(varName,drawValue);this.VarTable.set(varName,value);};//逻辑运算
|
|
@@ -12138,38 +12142,7 @@ case"TOTALCAPITAL":if(!stock.capital)return null;return{Date:date,Value:stock.ca
|
|
|
12138
12142
|
}};//历史数据转
|
|
12139
12143
|
this.ToHQChartData=function(recvData){if(!recvData.stock||recvData.stock.length!=1)return null;var aryData=[];var setDate=new _set2.default();//有重复数据 去掉
|
|
12140
12144
|
var stock=recvData.stock[0];var id=this.Args[0];for(var i in stock.stockday){var item=stock.stockday[i];var hqchartItem=this.ToHQChartItemData(item,id);if(hqchartItem&&!setDate.has(hqchartItem.Date)){aryData.push(hqchartItem);setDate.add(hqchartItem.Date);}}return aryData;};this.ToHQChartItemData=function(item,id){if(!item)return null;var date=item.date;switch(id){case 1:if(!item.capital)return null;return{Date:date,Value:item.capital.total};case 7:case"EXCHANGE"://换手率 历史流通股本
|
|
12141
|
-
if(!item.capital)return null;return{Date:date,Value:item.capital.a};default:return null;}};}function
|
|
12142
|
-
JSNetwork.HttpRequest({url:this.Url,data:{"field":fieldList,"symbol":[this.Symbol],"orderfield":"date","order":-1,"start":0,"end":5},type:"post",dataType:"json",async:true,success:function success(recvData){var data=self.ToHQChartData(recvData);if(data&&data.length>0){data.sort(function(a,b){return a.Date-b.Date;});}self.RecvCallback(data,self.Job,self.DataKey);}});};this.GetFieldList=function(){var id=this.Args[0];switch(id){case 1://1--股东人数 股东户数(户)
|
|
12143
|
-
return["shareholder","date","symbol"];case 2://2--龙虎榜 买入总计(万元) 卖出总计(万元)
|
|
12144
|
-
return["tradedetail.buy","tradedetail.sell","date","symbol"];case 3://3--融资融券1 融资余额(万元) 融券余量(股)
|
|
12145
|
-
return["margin","date","symbol"];case 4://4--大宗交易 成交均价(元) 成交额(万元)
|
|
12146
|
-
return["blocktrading.amount","blocktrading.price","date","symbol"];default:return null;}};this.ToHQChartData=function(recvData){if(!recvData.stock||recvData.stock.length!=1)return null;var aryData=[];var setDate=new _set2.default();//有重复数据 去掉
|
|
12147
|
-
var stock=recvData.stock[0];var id=this.Args[0];var subID=this.Args[1];for(var i in stock.stockday){var item=stock.stockday[i];var hqchartItem=this.ToHQChartItemData(item,id,subID);if(hqchartItem&&!setDate.has(hqchartItem.Date)){aryData.push(hqchartItem);setDate.add(hqchartItem.Date);}}return aryData;};this.ToHQChartItemData=function(item,id,subID){if(!item)return null;var date=item.date;switch(id){case 1:if(!item.shareholder)return null;return{Date:date,Value:item.shareholder.count};case 2:if(!item.tradedetail&&item.tradedetail[0])return null;if(subID==0)return{Date:date,Value:item.tradedetail[0].buy};else return{Date:date,Value:item.tradedetail[0].sell};case 3:if(!item.margin)return null;if(subID==0){if(item.margin.buy)return{Date:date,Value:item.margin.buy.balance};}else{if(item.margin.sell)return{Date:date,Value:item.margin.sell.balance};}return null;case 4:if(!item.blocktrading)return null;if(subID==0)return{Date:date,Value:item.blocktrading.price};else return{Date:date,Value:item.blocktrading.amount};default:return null;}};}/*
|
|
12148
|
-
引用市场总的交易类数据.如果指标支持云数据函数,则不需要[专业财务数据]下载.
|
|
12149
|
-
SCJYVALUE(ID,N,TYPE),ID为数据编号,N表示第几个数据,TYPE:为1表示做平滑处理,没有数据的周期返回上一周期的值;为0表示不做平滑处理
|
|
12150
|
-
|
|
12151
|
-
市场交易类数据函数,数据编号如下:
|
|
12152
|
-
1--融资融券 沪深融资余额(万元) 沪深融券余额(万元)
|
|
12153
|
-
2--陆股通资金流入 沪股通流入金额(亿元) 深股通流入金额(亿元)
|
|
12154
|
-
3--沪深涨停股个数 涨停股个数 曾涨停股个数 [注:该指标展示20160926日之后的数据]
|
|
12155
|
-
4--沪深跌停股个数 跌停股个数 曾跌停股个数
|
|
12156
|
-
5--上证50股指期货 净持仓(手)[注:该指标展示20171009日之后的数据]
|
|
12157
|
-
6--沪深300股指期货 净持仓(手) [注:该指标展示20171009日之后的数据]
|
|
12158
|
-
7--中证500股指期货 净持仓(手) [注:该指标展示20171009日之后的数据]
|
|
12159
|
-
8--ETF基金规模数据 ETF基金规模(亿) ETF净申赎(亿)
|
|
12160
|
-
9--每周新增投资者 新增投资者(万户)
|
|
12161
|
-
10--增减持统计 增持额(万元) 减持额(万元)[注:部分公司公告滞后,造成每天查看的数据可能会不一样]
|
|
12162
|
-
11--大宗交易 溢价的大宗交易额(万元) 折价的大宗交易额(万元)
|
|
12163
|
-
12--限售解禁 限售解禁计划额(亿元) 限售解禁股份实际上市金额(亿元)[注:该指标展示201802月之后的数据;部分股票的解禁日期延后,造成不同日期提取的某天的计划额可能不同]
|
|
12164
|
-
13--分红 市场总分红额(亿元)[注:除权派息日的A股市场总分红额]
|
|
12165
|
-
14--募资 市场总募资额(亿元)[注:发行日期/除权日期的首发、配股和增发的总募资额]
|
|
12166
|
-
15--打板资金 封板成功资金(亿元) 封板失败资金(亿元) [注:该指标展示20160926日之后的数据]
|
|
12167
|
-
*/function DownloadSCJYValue(obj){this.Url=obj.Url;//this.RealtimeUrl=obj.RealtimeUrl;
|
|
12168
|
-
this.Job=obj.Job;this.Symbol=obj.Symbol;this.Args=obj.Args;this.DataKey=obj.DataKey;this.RecvCallback=obj.Callback;this.ErrorCallback=obj.ErrorCallback;this.Download=function(){var self=this;var query=this.GetQueryCondtion();if(!query){message=this.Job.FunctionName+'('+this.Args[0]+', '+this.Args[1]+', '+this.Args[2]+') can\'t support.';this.ErrorCallback(message);self.RecvCallback(null,self.Job,self.DataKey,true);return;}//请求数据
|
|
12169
|
-
JSNetwork.HttpRequest({url:this.Url,data:{"field":query.Field,"symbol":query.Symbol,"condition":query.Cond,"start":0,"end":2000},type:"post",dataType:"json",async:true,success:function success(recvData){var data=self.ToHQChartData(recvData);if(data)//排序
|
|
12170
|
-
data.sort(function(a,b){return a.Date-b.Date;});self.RecvCallback(data,self.Job,self.DataKey);}});};this.GetQueryCondtion=function(){var day=new Date();var endDate=day.getFullYear()*10000+(day.getMonth()+1)*100+day.getDate();day.setDate(day.getDate()-100);//取最近1000条数据
|
|
12171
|
-
var startDate=day.getFullYear()*10000+(day.getMonth()+1)*100+day.getDate();var id=this.Args[0];switch(id){case 1:var data={Symbol:["CNA.ci"],Field:["margin"],Cond:[{"item":["date","int32","gte",startDate.toString(),"lte",endDate.toString()]},{"item":["margin","doc","exists","true"]}]};return data;}};this.ToHQChartData=function(recvData){if(!recvData.stock||recvData.stock.length!=1)return null;var aryData=[];var setDate=new _set2.default();//有重复数据 去掉
|
|
12172
|
-
var stock=recvData.stock[0];var id=this.Args[0];var subID=this.Args[1];for(var i in stock.stockday){var item=stock.stockday[i];var hqchartItem=this.ToHQChartItemData(item,id,subID);if(hqchartItem&&!setDate.has(hqchartItem.Date)){aryData.push(hqchartItem);setDate.add(hqchartItem.Date);}}return aryData;};this.ToHQChartItemData=function(item,id,subID){if(!item)return null;var date=item.date;var subItem=null;switch(id){case 1:if(!item.margin)return null;subItem=item.margin;if(subID==1){if(!subItem.buy||!IFrameSplitOperator.IsNumber(subItem.buy.balance))return null;return{Date:date,Value:subItem.buy.balance};}else{if(!IFrameSplitOperator.IsNumber(subItem.sell.balance))return null;return{Date:date,Value:subItem.sell.balance};}default:return null;}};}function DownloadGroupData(obj){this.Url=obj.Url;this.RealtimeUrl=obj.RealtimeUrl;this.Job=obj.Job;this.Symbol=obj.Symbol;this.Args=obj.Args;this.DataKey=obj.DataKey;this.RecvCallback=obj.Callback;this.ErrorCallback=obj.ErrorCallback;this.Download=function(){var varName=this.Args[0];switch(varName){case"HYBLOCK":case"DYBLOCK":case"GNBLOCK":this.DownloadGroupName(varName);break;}};this.DownloadGroupName=function(blockType){var self=this;var field=["name","symbol"];if(blockType=="HYBLOCK")field.push("industry");else if(blockType=="DYBLOCK")field.push("region");else if(blockType=="GNBLOCK")field.push("concept");JSNetwork.HttpRequest({url:self.RealtimeUrl,data:{"field":field,"symbol":[this.Symbol]},type:"post",dataType:"json",async:true,success:function success(recvData){var data=self.RecvGroupName(recvData);self.RecvCallback(data,self.Job,self.DataKey,1);},error:function error(request){self.ErrorCallback(request);}});};this.RecvGroupName=function(recvData){if(!recvData.stock||recvData.stock.length!=1)return null;var stock=recvData.stock[0];var varName=this.Args[0];var value=null;if(varName=="HYBLOCK"){var industry=stock.industry;if(!industry)return null;var value;for(var i in industry){var item=industry[i];value=item.name;}}else if(varName=="DYBLOCK"){var region=stock.region;if(!region)return null;for(var i in region){var item=region[i];value=item.name;}}else if(varName=="GNBLOCK"){var concept=stock.concept;if(!concept)return null;value="";for(var i in concept){var item=concept[i];if(value.length>0)value+=' ';value+=item.name;}}return{Value:value};};}/* 测试例子
|
|
12145
|
+
if(!item.capital)return null;return{Date:date,Value:item.capital.a};default:return null;}};}function DownloadGroupData(obj){this.Url=obj.Url;this.RealtimeUrl=obj.RealtimeUrl;this.Job=obj.Job;this.Symbol=obj.Symbol;this.Args=obj.Args;this.DataKey=obj.DataKey;this.RecvCallback=obj.Callback;this.ErrorCallback=obj.ErrorCallback;this.Download=function(){var varName=this.Args[0];switch(varName){case"HYBLOCK":case"DYBLOCK":case"GNBLOCK":this.DownloadGroupName(varName);break;}};this.DownloadGroupName=function(blockType){var self=this;var field=["name","symbol"];if(blockType=="HYBLOCK")field.push("industry");else if(blockType=="DYBLOCK")field.push("region");else if(blockType=="GNBLOCK")field.push("concept");JSNetwork.HttpRequest({url:self.RealtimeUrl,data:{"field":field,"symbol":[this.Symbol]},type:"post",dataType:"json",async:true,success:function success(recvData){var data=self.RecvGroupName(recvData);self.RecvCallback(data,self.Job,self.DataKey,1);},error:function error(request){self.ErrorCallback(request);}});};this.RecvGroupName=function(recvData){if(!recvData.stock||recvData.stock.length!=1)return null;var stock=recvData.stock[0];var varName=this.Args[0];var value=null;if(varName=="HYBLOCK"){var industry=stock.industry;if(!industry)return null;var value;for(var i in industry){var item=industry[i];value=item.name;}}else if(varName=="DYBLOCK"){var region=stock.region;if(!region)return null;for(var i in region){var item=region[i];value=item.name;}}else if(varName=="GNBLOCK"){var concept=stock.concept;if(!concept)return null;value="";for(var i in concept){var item=concept[i];if(value.length>0)value+=' ';value+=item.name;}}return{Value:value};};}/* 测试例子
|
|
12173
12146
|
var code1='VARHIGH:IF(VAR1<=REF(HH,-1),REF(H,BARSLAST(VAR1>=REF(HH,1))),DRAWNULL),COLORYELLOW;';
|
|
12174
12147
|
var code2='VAR1=((SMA(MAX((CLOSE - LC),0),3,1) / SMA(ABS((CLOSE - LC)),3,1)) * 100);';
|
|
12175
12148
|
var code3='mm1=1-2*-9+20;';
|
|
@@ -13790,7 +13763,7 @@ hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,St
|
|
|
13790
13763
|
this.ExecuteScript(item,data);}this.Status=0;}};this.OnExecuteFinish=function(data,indexInfo,jsExectute,jobInfo){var message={Data:data,IndexInfo:indexInfo,ID:JSCHART_WORKER_MESSAGE_ID.FINISH_EXECUTE_SCRIPT,JobInfo:jobInfo};postMessage(message);};this.OnExecuteError=function(error,indexInfo,jobData){var message={IndexInfo:indexInfo,ID:JSCHART_WORKER_MESSAGE_ID.ERROR_EXECUTE_SCRIPT,Error:error};postMessage(message);};}/********************************************************************************
|
|
13791
13764
|
* 版本信息输出
|
|
13792
13765
|
*
|
|
13793
|
-
*/var HQCHART_VERSION="1.1.
|
|
13766
|
+
*/var HQCHART_VERSION="1.1.13801";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();//把给外界调用的方法暴露出来
|
|
13794
13767
|
exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
|
|
13795
13768
|
// BaseIndex:BaseIndex,
|
|
13796
13769
|
// ChartLine:ChartLine,
|
package/package.json
CHANGED
|
@@ -48795,6 +48795,26 @@ HQData.NetworkFilter=function(data, callback)
|
|
|
48795
48795
|
HQData.Finance_RequestData(data,callback);
|
|
48796
48796
|
break;
|
|
48797
48797
|
|
|
48798
|
+
case "JSSymbolData::GetGPJYValue":
|
|
48799
|
+
HQData.GPJYValue_RequestData(data,callback);
|
|
48800
|
+
break;
|
|
48801
|
+
case "JSSymbolData::GetSCJYValue":
|
|
48802
|
+
HQData.SCJYValue_RequestData(data,callback);
|
|
48803
|
+
break;
|
|
48804
|
+
case "JSSymbolData::GetBKJYValue":
|
|
48805
|
+
HQData.BKJYValue_RequestData(data,callback);
|
|
48806
|
+
break;
|
|
48807
|
+
|
|
48808
|
+
case "JSSymbolData::GetGPJYOne":
|
|
48809
|
+
HQData.GPJYOne_RequestData(data,callback);
|
|
48810
|
+
break;
|
|
48811
|
+
case "JSSymbolData::GetSCJYOne":
|
|
48812
|
+
HQData.SCJYOne_RequestData(data,callback);
|
|
48813
|
+
break;
|
|
48814
|
+
case "JSSymbolData::GetBKJYOne":
|
|
48815
|
+
HQData.BKJYOne_RequestData(data,callback);
|
|
48816
|
+
break;
|
|
48817
|
+
|
|
48798
48818
|
//////////////////////////////////////////////////////
|
|
48799
48819
|
//报价列表数据
|
|
48800
48820
|
case "JSReportChartContainer::RequestStockListData":
|
|
@@ -49441,6 +49461,116 @@ HQData.Finance_RequestData=function(data,callback)
|
|
|
49441
49461
|
}
|
|
49442
49462
|
|
|
49443
49463
|
|
|
49464
|
+
//GPJYVALUE(ID,N,TYPE),ID为数据编号,N表示第几个数据(取1或2),TYPE:为1表示做平滑处理,没有数据的周期返回上一周期的值;为0表示不做平滑处理;2表示没有数据则为0.
|
|
49465
|
+
HQData.GPJYValue_RequestData=function(data,callback)
|
|
49466
|
+
{
|
|
49467
|
+
data.PreventDefault=true;
|
|
49468
|
+
var symbol=data.Request.Data.symbol;
|
|
49469
|
+
var id=data.Request.Data.Args[0];
|
|
49470
|
+
var n=data.Request.Data.Args[1];
|
|
49471
|
+
var type=data.Request.Data.Args[2];
|
|
49472
|
+
|
|
49473
|
+
var aryData=[];
|
|
49474
|
+
var kData=data.Self.Data;
|
|
49475
|
+
for(var i=0;i<kData.Data.length;++i)
|
|
49476
|
+
{
|
|
49477
|
+
var kItem=kData.Data[i];
|
|
49478
|
+
if (i%50==15)
|
|
49479
|
+
{
|
|
49480
|
+
var value=HQData.GetRandomTestData(10,100)
|
|
49481
|
+
aryData.push({ Date:kItem.Date, Time:kItem.Time, Value:value });
|
|
49482
|
+
}
|
|
49483
|
+
}
|
|
49484
|
+
|
|
49485
|
+
callback(aryData);
|
|
49486
|
+
}
|
|
49487
|
+
|
|
49488
|
+
HQData.SCJYValue_RequestData=function(data,callback)
|
|
49489
|
+
{
|
|
49490
|
+
data.PreventDefault=true;
|
|
49491
|
+
var symbol=data.Request.Data.symbol;
|
|
49492
|
+
var id=data.Request.Data.Args[0];
|
|
49493
|
+
var n=data.Request.Data.Args[1];
|
|
49494
|
+
var type=data.Request.Data.Args[2];
|
|
49495
|
+
|
|
49496
|
+
var aryData=[];
|
|
49497
|
+
var kData=data.Self.Data;
|
|
49498
|
+
for(var i=0;i<kData.Data.length;++i)
|
|
49499
|
+
{
|
|
49500
|
+
var kItem=kData.Data[i];
|
|
49501
|
+
if (i%50==20)
|
|
49502
|
+
{
|
|
49503
|
+
var value=HQData.GetRandomTestData(1000,2000)
|
|
49504
|
+
aryData.push({ Date:kItem.Date, Time:kItem.Time, Value:value });
|
|
49505
|
+
}
|
|
49506
|
+
}
|
|
49507
|
+
|
|
49508
|
+
callback(aryData);
|
|
49509
|
+
}
|
|
49510
|
+
|
|
49511
|
+
HQData.BKJYValue_RequestData=function(data,callback)
|
|
49512
|
+
{
|
|
49513
|
+
data.PreventDefault=true;
|
|
49514
|
+
var symbol=data.Request.Data.symbol;
|
|
49515
|
+
var id=data.Request.Data.Args[0];
|
|
49516
|
+
var n=data.Request.Data.Args[1];
|
|
49517
|
+
var type=data.Request.Data.Args[2];
|
|
49518
|
+
|
|
49519
|
+
var aryData=[];
|
|
49520
|
+
var kData=data.Self.Data;
|
|
49521
|
+
for(var i=0;i<kData.Data.length;++i)
|
|
49522
|
+
{
|
|
49523
|
+
var kItem=kData.Data[i];
|
|
49524
|
+
if (i%60==33)
|
|
49525
|
+
{
|
|
49526
|
+
var value=HQData.GetRandomTestData(500,1000)
|
|
49527
|
+
aryData.push({ Date:kItem.Date, Time:kItem.Time, Value:value });
|
|
49528
|
+
}
|
|
49529
|
+
}
|
|
49530
|
+
|
|
49531
|
+
callback(aryData);
|
|
49532
|
+
}
|
|
49533
|
+
|
|
49534
|
+
HQData.GPJYOne_RequestData=function(data,callback)
|
|
49535
|
+
{
|
|
49536
|
+
data.PreventDefault=true;
|
|
49537
|
+
var symbol=data.Request.Data.symbol;
|
|
49538
|
+
var id=data.Request.Data.Args[0];
|
|
49539
|
+
var n=data.Request.Data.Args[1];
|
|
49540
|
+
var year=data.Request.Data.Args[2];
|
|
49541
|
+
var day=data.Request.Data.Args[3];
|
|
49542
|
+
|
|
49543
|
+
var value=HQData.GetRandomTestData(800,1200);
|
|
49544
|
+
callback({ Date:20230509, Value:value});
|
|
49545
|
+
}
|
|
49546
|
+
|
|
49547
|
+
HQData.SCJYOne_RequestData=function(data,callback)
|
|
49548
|
+
{
|
|
49549
|
+
data.PreventDefault=true;
|
|
49550
|
+
var symbol=data.Request.Data.symbol;
|
|
49551
|
+
var id=data.Request.Data.Args[0];
|
|
49552
|
+
var n=data.Request.Data.Args[1];
|
|
49553
|
+
var year=data.Request.Data.Args[2];
|
|
49554
|
+
var day=data.Request.Data.Args[3];
|
|
49555
|
+
|
|
49556
|
+
var value=HQData.GetRandomTestData(400,500);
|
|
49557
|
+
callback({ Date:20230509, Value:value});
|
|
49558
|
+
}
|
|
49559
|
+
|
|
49560
|
+
HQData.BKJYOne_RequestData=function(data,callback)
|
|
49561
|
+
{
|
|
49562
|
+
data.PreventDefault=true;
|
|
49563
|
+
var symbol=data.Request.Data.symbol;
|
|
49564
|
+
var id=data.Request.Data.Args[0];
|
|
49565
|
+
var n=data.Request.Data.Args[1];
|
|
49566
|
+
var year=data.Request.Data.Args[2];
|
|
49567
|
+
var day=data.Request.Data.Args[3];
|
|
49568
|
+
|
|
49569
|
+
var value=HQData.GetRandomTestData(900,2000);
|
|
49570
|
+
callback({ Date:20230509, Value:value});
|
|
49571
|
+
}
|
|
49572
|
+
|
|
49573
|
+
|
|
49444
49574
|
//////////////////////////////////////////////////////////////////////////////////////
|
|
49445
49575
|
// 报价列表
|
|
49446
49576
|
//
|