hqchart 1.1.13269 → 1.1.13278
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 +6 -2
- package/lib/umychart.vue.js +18 -12
- package/package.json +1 -1
- package/src/jscommon/umychart.NetworkFilterTest.js +65 -8
- package/src/jscommon/umychart.js +73 -10
- package/src/jscommon/umychart.testdata.js +65 -8
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +74 -11
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.NetworkFilterTest.vue.js +65 -8
- package/src/jscommon/umychart.vue/umychart.vue.js +74 -11
|
@@ -12,8 +12,12 @@ HQData.RequestFlowCapitalData(data,callback);break;case'KLineChartContainer::Req
|
|
|
12
12
|
HQData.RequestHistoryMinuteData(data,callback);break;case'KLineChartContainer::RequestMinuteRealtimeData'://分钟增量数据更新
|
|
13
13
|
HQData.RequestMinuteRealtimeData(data,callback);break;case"JSSymbolData::GetVariantData"://额外的变量数据
|
|
14
14
|
HQData.RequestIndexVariantData(data,callback);break;case"JSSymbolData::GetOtherSymbolData":HQData.RequestOtherSymbolData(data,callback);break;case"AnnouncementInfo::RequestData":HQData.AnnouncementInfo_RequestData(data,callback);break;case"JSSymbolData::GetLatestData":HQData.RequestLatestData(data,callback);break;case"PforecastInfo::RequestData":HQData.PforecastInfo_RequestData(data,callback);break;case"InvestorInfo::RequestData":HQData.InvestorInfo_RequestData(data,callback);break;case"ResearchInfo::RequestData":break;case"BlockTrading::RequestData":HQData.BlockTrading_RequestData(data,callback);break;case"TradeDetail::RequestData":HQData.TradeDetail_RequestData(data,callback);break;}};HQData.RequestMinuteData=function(data,callback){data.PreventDefault=true;var symbol=data.Request.Data.symbol[0];//请求的股票代码
|
|
15
|
-
var
|
|
16
|
-
|
|
15
|
+
var callcation=data.Request.Data.callcation;//集合竞价
|
|
16
|
+
console.log("[HQData::RequestMinuteData] Symbol="+symbol);var srcStock=MINUTE_1DAY_DATA.stock[0];var stockItem={date:srcStock.date,minute:srcStock.minute,yclose:srcStock.yclose,symbol:srcStock.symbol,name:srcStock.name};if(callcation.Before){var before=[//[交易时间, 价格,成交量, 成交金额, 日期(可选,YYYYMMDD)],
|
|
17
|
+
[915,srcStock.yclose,0,0],[916,srcStock.yclose+0.01,0,0],[917,srcStock.yclose+0.03,0,0],[918,srcStock.yclose+0.02,0,0],[919,srcStock.yclose+0.02,0,0],[920,srcStock.yclose+0.01,0,0],[921,srcStock.yclose,0,0],[922,srcStock.yclose-0.02,0,0],[923,srcStock.yclose-0.03,0,0],[924,srcStock.yclose,0,0],[925,srcStock.yclose,0,0]];var beforeinfo={totalcount:11,ver:1.0};stockItem.before=before;stockItem.beforeinfo=beforeinfo;}var hqchartData={code:0,stock:[stockItem]};callback(hqchartData);};HQData.RequestMinuteDaysData=function(data,callback){data.PreventDefault=true;var symbol=data.Request.Data.symbol;//请求的股票代码
|
|
18
|
+
var dayCount=data.Request.Data.daycount;var callcation=data.Request.Data.callcation;//集合竞价
|
|
19
|
+
console.log("[HQData::RequestMinuteDaysData] Symbol="+symbol);var hqchartData={code:0,data:[]};hqchartData.symbol=MINUTE_5DAY_DATA.symbol;hqchartData.name=MINUTE_5DAY_DATA.symbol;for(var i=0;i<dayCount&&i<MINUTE_5DAY_DATA.data.length;++i){var item=MINUTE_5DAY_DATA.data[i];var dayItem={minute:item.minute,yclose:item.yclose,date:item.date};if(callcation.Before){var before=[//[交易时间, 价格,成交量, 成交金额, 日期(可选,YYYYMMDD)],
|
|
20
|
+
[915,item.yclose,0,0],[916,item.yclose+0.01,0,0],[917,item.yclose+0.03,0,0],[918,item.yclose+0.02,0,0],[919,item.yclose+0.02,0,0],[920,item.yclose+0.01,0,0],[921,item.yclose,0,0],[922,item.yclose-0.02,0,0],[923,item.yclose-0.03,0,0],[924,item.yclose,0,0],[925,item.yclose,0,0]];var beforeinfo={totalcount:11,ver:1.0};dayItem.before=before;dayItem.beforeinfo=beforeinfo;}hqchartData.data.push(dayItem);}callback(hqchartData);};HQData.RequestHistoryData=function(data,callback){data.PreventDefault=true;var symbol=data.Request.Data.symbol;//请求的股票代码
|
|
17
21
|
console.log("[HQData::RequestMinuteDaysData] Symbol="+symbol);var hqchartData=KLINE_DAY_DATA;hqchartData.symbol=symbol;hqchartData.name=symbol;callback(hqchartData);};HQData.RequestFlowCapitalData=function(data,callback){data.PreventDefault=true;var symbol=data.Request.Data.symbol;//请求的股票代码
|
|
18
22
|
console.log("[HQData::RequestFlowCapitalData] Symbol="+symbol);var hqchartData=KLINE_CAPITAL_DATA;callback(hqchartData);};HQData.RequestRealtimeData=function(data,callback){data.PreventDefault=true;var symbol=data.Request.Data.symbol[0];//请求的股票代码
|
|
19
23
|
console.log("[HQData::RequestRealtimeData] Symbol="+symbol);var hqchartData=KLINE_1DAY_DATA;hqchartData.stock[0].name=symbol;hqchartData.stock[0].symbol=symbol;callback(hqchartData);};HQData.RequestHistoryMinuteData=function(data,callback){data.PreventDefault=true;var symbol=data.Request.Data.symbol;//请求的股票代码
|
package/lib/umychart.vue.js
CHANGED
|
@@ -2000,7 +2000,11 @@ this.Draw();break;case JSCHART_MENU_ID.CMD_CHANGE_DEFAULTCURSOR_ID:if(!IFrameSpl
|
|
|
2000
2000
|
this.OnClickRightMenu=function(data){JSConsole.Chart.Log('[JSChartContainer::OnClickRightMenu] ',data);if(!data||!data.Data)return;var cmdID=data.Data.ID;//命令ID
|
|
2001
2001
|
var aryArgs=data.Data.Args;//参数
|
|
2002
2002
|
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_MENU_COMMAND);//回调通知外部
|
|
2003
|
-
if(event&&event.Callback){var data={PreventDefault:false,CommandID:cmdID,Args:aryArgs,SrcData:data};event.Callback(event,data,this);if(data.PreventDefault)return;}this.ExecuteMenuCommand(cmdID,aryArgs);};this.PopupRightMenuV2=function(data,e){var _this15=this;if(!this.JSPopMenu)return;var x=data.X,y=data.Y;var frameID=data.FrameID;var menuData={Menu:this.GetRightMenuData(frameID),Position:JSPopMenu.POSITION_ID.RIGHT_MENU_ID};menuData.ClickCallback=function(data){_this15.OnClickRightMenu(data);};var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CREATE_RIGHT_MENU);if(event&&event.Callback){var sendData={MenuData:menuData,FrameID:frameID};event.Callback(event,sendData,this);}this.PopupMenuByRClick(menuData,x,y);}
|
|
2003
|
+
if(event&&event.Callback){var data={PreventDefault:false,CommandID:cmdID,Args:aryArgs,SrcData:data};event.Callback(event,data,this);if(data.PreventDefault)return;}this.ExecuteMenuCommand(cmdID,aryArgs);};this.PopupRightMenuV2=function(data,e){var _this15=this;if(!this.JSPopMenu)return;var x=data.X,y=data.Y;var frameID=data.FrameID;var menuData={Menu:this.GetRightMenuData(frameID),Position:JSPopMenu.POSITION_ID.RIGHT_MENU_ID};menuData.ClickCallback=function(data){_this15.OnClickRightMenu(data);};var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CREATE_RIGHT_MENU);if(event&&event.Callback){var sendData={MenuData:menuData,FrameID:frameID};event.Callback(event,sendData,this);}this.PopupMenuByRClick(menuData,x,y);};//指标窗口扩展图形
|
|
2004
|
+
this.CreateChartPaintExtend=function(chart,windowIndex){if(windowIndex<0)return false;var subFrame=this.Frame.SubFrame[windowIndex];if(!subFrame||!subFrame.Frame)return false;var frame=subFrame.Frame;chart.Canvas=this.Canvas;chart.ChartBorder=frame.ChartBorder;chart.ChartFrame=frame;this.ChartPaintEx.push(chart);return true;};//删除指标窗口扩展图形 option={ ChartID:图形ID, WindowIndex:窗口 }
|
|
2005
|
+
this.DeleteChartPaintExtend=function(option,bCallDestroy){if(!option)return;if(!IFrameSplitOperator.IsNonEmptyArray(this.ChartPaintEx))return;if(IFrameSplitOperator.IsNumber(option.WindowIndex)){var windowIndex=option.WindowIndex;if(!this.Frame.SubFrame[windowIndex])return;var subFrame=this.Frame.SubFrame[windowIndex].Frame;if(!subFrame)return;var paint=[];//踢出当前窗口的指标画法
|
|
2006
|
+
var deleteCount=0;for(var i=0;i<this.ChartPaintEx.length;++i){var item=this.ChartPaintEx[i];var bFind=item.ChartFrame.Guid==subFrame.Guid||item.ChartFrame==subFrame;if(!bFind){paint.push(item);}else{++deleteCount;if(bCallDestroy===true){if(item&&item.OnDestroy)item.OnDestroy();//图形销毁
|
|
2007
|
+
}}}if(deleteCount>0)this.ChartPaintEx=paint;}};}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)//键盘事件
|
|
2004
2008
|
{if(this.JSChartContainer&&this.JSChartContainer.OnKeyDown)this.JSChartContainer.OnKeyDown(e);}function OnWheel(e)//上下滚动事件
|
|
2005
2009
|
{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;}Number.prototype.toFixed2=Number.prototype.toFixed;//备份下老的
|
|
2006
2010
|
Number.prototype.toFixed=function(precision){return ToFixed(this,precision);};function Guid(){function S4(){return((1+Math.random())*0x10000|0).toString(16).substring(1);}return"guid"+(S4()+S4()+"-"+S4()+"-"+S4()+"-"+S4()+"-"+S4()+S4()+S4());}function GetScrollPosition(){var scrollPos={};var scrollTop=0;var scrollLeft=0;if(document.documentElement&&(document.documentElement.scrollTop||document.documentElement.scrollLeft)){scrollTop=document.documentElement.scrollTop;scrollLeft=document.documentElement.scrollLeft;}else if(document.body){scrollTop=document.body.scrollTop;scrollLeft=document.body.scrollLeft;}scrollPos.Top=scrollTop;scrollPos.Left=scrollLeft;return scrollPos;}//修正线段有毛刺
|
|
@@ -7363,7 +7367,7 @@ this.ChangeCoordinateType=function(obj){if(!this.Frame)return;if(!IFrameSplitOpe
|
|
|
7363
7367
|
{frame.Frame.YSplitOperator.CoordinateType=2;}else{return;}}else{if(obj.Type>=0&&obj.Type<=5)frame.YSplitOperator.CoordinateType=obj.Type;if(obj.IsReverse===true)frame.CoordinateType=1;else if(obj.IsReverse==false)frame.CoordinateType=0;}//请求缓存的最大最小值
|
|
7364
7368
|
frame.YMaxMin.Max=null;frame.YMaxMin.Min=null;this.UpdateFrameMaxMin();//调整坐标最大 最小值
|
|
7365
7369
|
this.Frame.SetSizeChage(true);this.Draw();};//设置指标窗口个数
|
|
7366
|
-
this.ChangeIndexWindowCount=function(count,option){var _this22=this;if(count<=0)return;if(this.Frame.SubFrame.length==count)return;this.Frame.RestoreIndexWindows();var currentLength=this.Frame.SubFrame.length;if(currentLength>count){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_DELETE_FRAME);for(var i=currentLength-1;i>=count;--i){this.DeleteIndexPaint(i);this.Frame.SubFrame[i].Frame.ClearToolbar();if(event&&event.Callback){var sendData={SubFrame:this.Frame.SubFrame[i],WindowIndex:i};event.Callback(event,sendData,this);}}this.Frame.SubFrame.splice(count,currentLength-count);this.WindowIndex.splice(count,currentLength-count);this.TitlePaint.splice(count+1,currentLength-count);//最后一个显示X轴坐标
|
|
7370
|
+
this.ChangeIndexWindowCount=function(count,option){var _this22=this;if(count<=0)return;if(this.Frame.SubFrame.length==count)return;this.Frame.RestoreIndexWindows();var currentLength=this.Frame.SubFrame.length;if(currentLength>count){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_DELETE_FRAME);for(var i=currentLength-1;i>=count;--i){this.DeleteIndexPaint(i);this.DeleteChartPaintExtend({WindowIndex:i});this.Frame.SubFrame[i].Frame.ClearToolbar();if(event&&event.Callback){var sendData={SubFrame:this.Frame.SubFrame[i],WindowIndex:i};event.Callback(event,sendData,this);}}this.Frame.SubFrame.splice(count,currentLength-count);this.WindowIndex.splice(count,currentLength-count);this.TitlePaint.splice(count+1,currentLength-count);//最后一个显示X轴坐标
|
|
7367
7371
|
for(var i=0;i<this.Frame.SubFrame.length;++i){var item=this.Frame.SubFrame[i].Frame;if(i==this.Frame.SubFrame.length-1)item.XSplitOperator.ShowText=true;else item.XSplitOperator.ShowText=false;}this.Frame.SetSizeChage(true);this.ResetFrameXYSplit();this.UpdateFrameMaxMin();//调整坐标最大 最小值
|
|
7368
7372
|
this.Draw();}else{//创建新的指标窗口
|
|
7369
7373
|
var pixelRatio=GetDevicePixelRatio();for(var i=currentLength;i<count;++i){var subFrame=this.CreateSubFrameItem(i);subFrame.Frame.ChartBorder.TitleHeight*=pixelRatio;this.Frame.SubFrame[i]=subFrame;var titlePaint=new DynamicChartTitlePainting();titlePaint.Frame=this.Frame.SubFrame[i].Frame;titlePaint.Canvas=this.Canvas;titlePaint.LanguageID=this.LanguageID;titlePaint.GetEventCallback=function(id){return _this22.GetEventCallback(id);};titlePaint.SelectedChart=this.SelectedChart;this.TitlePaint[i+1]=titlePaint;}//最后一个显示X轴坐标
|
|
@@ -7393,7 +7397,7 @@ var aryOverlayIndex=[];if(IFrameSplitOperator.IsNonEmptyArray(option.OverlayInde
|
|
|
7393
7397
|
{this.BindIndexData(i,bindData);}for(var i=0;i<aryOverlayIndex.length;++i){var item=aryOverlayIndex[i];this.BindOverlayIndexData(item.Overlay,item.WindowsIndex,bindData);}this.UpdataDataoffset();//更新数据偏移
|
|
7394
7398
|
this.ResetFrameXYSplit();this.UpdateFrameMaxMin();//调整坐标最大 最小值
|
|
7395
7399
|
this.Draw();}else{if(!symbol)symbol=this.Symbol;var optionData={KLine:{}};if(IFrameSplitOperator.IsNumber(period))optionData.KLine.Period=period;if(IFrameSplitOperator.IsNumber(right))optionData.KLine.Right=right;this.ChangeSymbol(symbol,optionData);}};this.RemoveIndexWindow=function(id,option){JSConsole.Chart.Log('[KLineChartContainer::RemoveIndexWindow] remove id',id);if(id==0){if(option&&option.DeleteMainIndex)//删除指标
|
|
7396
|
-
{this.DeleteIndexPaint(id);this.WindowIndex[id]=null;this.Frame.SetSizeChage(true);this.UpdateFrameMaxMin();this.ResetFrameXYSplit();this.Draw();}return;}if(!this.Frame.SubFrame)return;if(id>=this.Frame.SubFrame.length)return;this.Frame.RestoreIndexWindows();var delFrame=this.Frame.SubFrame[id].Frame;this.DeleteIndexPaint(id);this.Frame.SubFrame[id].Frame.ClearToolbar();var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_DELETE_FRAME);if(event&&event.Callback){var sendData={SubFrame:this.Frame.SubFrame[id],WindowIndex:id};event.Callback(event,sendData,this);}this.Frame.SubFrame.splice(id,1);this.WindowIndex.splice(id,1);this.TitlePaint.splice(id+1,1);//删除对应的动态标题
|
|
7400
|
+
{this.DeleteIndexPaint(id);this.WindowIndex[id]=null;this.Frame.SetSizeChage(true);this.UpdateFrameMaxMin();this.ResetFrameXYSplit();this.Draw();}return;}if(!this.Frame.SubFrame)return;if(id>=this.Frame.SubFrame.length)return;this.Frame.RestoreIndexWindows();var delFrame=this.Frame.SubFrame[id].Frame;this.DeleteIndexPaint(id);this.DeleteChartPaintExtend({WindowIndex:id});this.Frame.SubFrame[id].Frame.ClearToolbar();var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_DELETE_FRAME);if(event&&event.Callback){var sendData={SubFrame:this.Frame.SubFrame[id],WindowIndex:id};event.Callback(event,sendData,this);}this.Frame.SubFrame.splice(id,1);this.WindowIndex.splice(id,1);this.TitlePaint.splice(id+1,1);//删除对应的动态标题
|
|
7397
7401
|
for(var i=0;i<this.Frame.SubFrame.length;++i){var item=this.Frame.SubFrame[i].Frame;if(i==this.Frame.SubFrame.length-1)item.XSplitOperator.ShowText=true;else item.XSplitOperator.ShowText=false;item.Identify=i;}if(this.ChartDrawPicture.length>0){var aryDrawPicture=[];for(var i in this.ChartDrawPicture){var item=this.ChartDrawPicture[i];if(item.Frame==delFrame)continue;aryDrawPicture.push(item);}this.ChartDrawPicture=aryDrawPicture;}this.Frame.SetSizeChage(true);this.UpdateFrameMaxMin();this.ResetFrameXYSplit();this.Draw();};this.CreateExtendChart=function(name,option)//创建扩展图形
|
|
7398
7402
|
{var chart;switch(name){case'筹码分布':chart=new StockChip();chart.Canvas=this.Canvas;chart.ChartBorder=this.Frame.ChartBorder;chart.ChartFrame=this.Frame;chart.HQChart=this;chart.Left=this.Frame.ChartBorder.Right;//左边间距使用当前框架间距
|
|
7399
7403
|
chart.SetOption(option);this.ExtendChartPaint.push(chart);this.Frame.ChartBorder.Right+=chart.Width;//创建筹码需要增加右边的间距
|
|
@@ -7760,10 +7764,10 @@ this.DayData;//多日分钟数据
|
|
|
7760
7764
|
this.LimitPrice;//涨停价格 { Max:null, Min:null };
|
|
7761
7765
|
this.IsShowBeforeData=false;//是否显示盘前集合竞价数据 (当日)
|
|
7762
7766
|
this.BeforeOpenData=null;//盘前集合竞价数据
|
|
7763
|
-
this.IsBeforeData=false;//是否支持显示盘前集合竞价数据
|
|
7767
|
+
this.IsBeforeData=false;//是否支持显示盘前集合竞价数据(当日)
|
|
7764
7768
|
this.IsShowAfterData=false;//收盘集合竞价
|
|
7765
7769
|
this.AfterCloseData=null;//收盘集合竞价数据
|
|
7766
|
-
this.IsAfterData=false;//是否支持显示收盘集合竞价数据
|
|
7770
|
+
this.IsAfterData=false;//是否支持显示收盘集合竞价数据(当日)
|
|
7767
7771
|
this.ShareAfterVol=0;//1=盘后数据成交量Y坐标和主图共享 2=盘后数据成交量Y坐标和盘前共享
|
|
7768
7772
|
this.ExtendWidth={Left:120,Right:120};//单日分时图 左右扩展图形宽度
|
|
7769
7773
|
this.IsShowLead=true;//指数是否显示领先指标
|
|
@@ -7771,7 +7775,7 @@ this.IsShowMultiDayBeforeData=false;//多日分时图 是否显示盘前集合
|
|
|
7771
7775
|
this.MultiDayBeforeOpenData=null;//多日分时图 盘前集合竞价数据
|
|
7772
7776
|
this.IsShowMultiDayAfterData=false;//多日分时图 是否显示收盘集合竞价
|
|
7773
7777
|
this.MultiDayAfterCloseData=null;//多日分时图 收盘集合竞价数据
|
|
7774
|
-
this.MultiDayExtendWidth={Left:
|
|
7778
|
+
this.MultiDayExtendWidth={Left:40,Right:20};//多日分时图 左右扩展图形宽度
|
|
7775
7779
|
this.ChartDrawStorage=new ChartDrawStorage();this.ChartDrawStorageCache=null;//首次需要创建的画图工具数据
|
|
7776
7780
|
this.MinuteApiUrl=g_JSChartResource.Domain+"/API/Stock";this.HistoryMinuteApiUrl=g_JSChartResource.Domain+'/API/StockMinuteData';//历史分钟数据
|
|
7777
7781
|
this.ColorLineData;//主图价格线颜色自定义配置
|
|
@@ -7903,7 +7907,7 @@ this.UpdateFrameMaxMin();//调整坐标最大 最小值
|
|
|
7903
7907
|
this.Draw();};this.ChangeIndex=function(windowIndex,indexName,option){if(this.Frame.SubFrame.length<3)return;if(option&&option.API)return this.ChangeAPIIndex(windowIndex,option);//查找系统指标
|
|
7904
7908
|
var scriptData=new JSIndexScript();var indexInfo=scriptData.Get(indexName);if(!indexInfo)return;if(windowIndex<2)windowIndex=2;if(windowIndex>=this.Frame.SubFrame.length)windowIndex=2;JSIndexScript.ModifyAttribute(indexInfo,option);return this.ChangeScriptIndex(windowIndex,indexInfo,option);};//设置指标窗口个数
|
|
7905
7909
|
this.ChangeIndexWindowCount=function(count){var _this32=this;if(count<2)return;//1,2个窗口固定的不能动
|
|
7906
|
-
if(this.Frame.SubFrame.length==count)return;var currentLength=this.Frame.SubFrame.length;if(currentLength>count){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_DELETE_FRAME);for(var i=currentLength-1;i>=count;--i){this.DeleteIndexPaint(i);var item=this.Frame.SubFrame[i].Frame;if(item.ClearToolbar)item.ClearToolbar();if(event&&event.Callback){var sendData={SubFrame:this.Frame.SubFrame[i],WindowIndex:i};event.Callback(event,sendData,this);}}this.Frame.SubFrame.splice(count,currentLength-count);this.WindowIndex.splice(count,currentLength-count);this.TitlePaint.splice(count+1,currentLength-count);}else{//创建新的指标窗口
|
|
7910
|
+
if(this.Frame.SubFrame.length==count)return;var currentLength=this.Frame.SubFrame.length;if(currentLength>count){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_DELETE_FRAME);for(var i=currentLength-1;i>=count;--i){this.DeleteIndexPaint(i);this.DeleteChartPaintExtend({WindowIndex:i});var item=this.Frame.SubFrame[i].Frame;if(item.ClearToolbar)item.ClearToolbar();if(event&&event.Callback){var sendData={SubFrame:this.Frame.SubFrame[i],WindowIndex:i};event.Callback(event,sendData,this);}}this.Frame.SubFrame.splice(count,currentLength-count);this.WindowIndex.splice(count,currentLength-count);this.TitlePaint.splice(count+1,currentLength-count);}else{//创建新的指标窗口
|
|
7907
7911
|
var mainFrame=this.Frame.SubFrame[0].Frame;for(var i=currentLength;i<count;++i){var subFrame=this.CreateSubFrameItem(i,mainFrame);this.Frame.SubFrame[i]=subFrame;var titlePaint=new DynamicChartTitlePainting();titlePaint.Frame=this.Frame.SubFrame[i].Frame;titlePaint.Canvas=this.Canvas;titlePaint.LanguageID=this.LanguageID;titlePaint.GetEventCallback=function(id){return _this32.GetEventCallback(id);};titlePaint.SelectedChart=this.SelectedChart;this.TitlePaint[i+1]=titlePaint;}//创建指标
|
|
7908
7912
|
var indexName=["RSI","MACD","DMA","DMI","KDJ","WR"];var scriptData=new JSIndexScript();for(var i=currentLength;i<count;++i){var name=indexName[i%indexName.length];var indexInfo=scriptData.Get(name);this.WindowIndex[i]=new ScriptIndex(indexInfo.Name,indexInfo.Script,indexInfo.Args,indexInfo);//脚本执行
|
|
7909
7913
|
var bindData=this.SourceData;this.BindIndexData(i,bindData);//执行脚本
|
|
@@ -7924,7 +7928,7 @@ for(var i=0;i<this.Frame.SubFrame.length;++i){var item=this.Frame.SubFrame[i].Fr
|
|
|
7924
7928
|
var aryOverlayIndex=[];if(IFrameSplitOperator.IsNonEmptyArray(option.OverlayIndex)){for(var i=0;i<option.OverlayIndex.length;++i){var item=option.OverlayIndex[i];if(item.Index)item.IndexName=item.Index;if(item.Windows>=0)item.WindowIndex=item.Windows;var overlay=this.CreateOverlayWindowsIndex(item);if(!overlay)continue;aryOverlayIndex.push({WindowsIndex:item.WindowIndex,Overlay:overlay});}}this.Frame.SetSizeChage(true);if(!bRefreshData){var bindData=this.SourceData;for(var i=0;i<count;++i){this.BindIndexData(i,bindData);//执行脚本
|
|
7925
7929
|
}for(var i=0;i<aryOverlayIndex.length;++i){var item=aryOverlayIndex[i];this.BindOverlayIndexData(item.Overlay,item.WindowsIndex,bindData);}this.UpdataDataoffset();//更新数据偏移
|
|
7926
7930
|
if(this.UpdateXShowText)this.UpdateXShowText();this.ResetFrameXYSplit();this.UpdateFrameMaxMin();//调整坐标最大 最小值
|
|
7927
|
-
this.Draw();}else{if(!symbol)symbol=this.Symbol;var option={};if(IFrameSplitOperator.IsNumber(dayCount))option.DayCount=dayCount;this.ChangeSymbol(symbol,option);}};this.RemoveIndexWindow=function(id){JSConsole.Chart.Log('[MinuteChartContainer::RemoveIndexWindow] remove id',id);if(id<2)return;if(!this.Frame.SubFrame)return;if(id>=this.Frame.SubFrame.length)return;this.Frame.RestoreIndexWindows();var delFrame=this.Frame.SubFrame[id].Frame;this.DeleteIndexPaint(id);this.Frame.SubFrame[id].Frame.ClearToolbar();var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_DELETE_FRAME);if(event&&event.Callback){var sendData={SubFrame:this.Frame.SubFrame[id],WindowIndex:id};event.Callback(event,sendData,this);}this.Frame.SubFrame.splice(id,1);this.WindowIndex.splice(id,1);this.TitlePaint.splice(id+1,1);//删除对应的动态标题
|
|
7931
|
+
this.Draw();}else{if(!symbol)symbol=this.Symbol;var option={};if(IFrameSplitOperator.IsNumber(dayCount))option.DayCount=dayCount;this.ChangeSymbol(symbol,option);}};this.RemoveIndexWindow=function(id){JSConsole.Chart.Log('[MinuteChartContainer::RemoveIndexWindow] remove id',id);if(id<2)return;if(!this.Frame.SubFrame)return;if(id>=this.Frame.SubFrame.length)return;this.Frame.RestoreIndexWindows();var delFrame=this.Frame.SubFrame[id].Frame;this.DeleteIndexPaint(id);this.DeleteChartPaintExtend({WindowIndex:id});this.Frame.SubFrame[id].Frame.ClearToolbar();var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_DELETE_FRAME);if(event&&event.Callback){var sendData={SubFrame:this.Frame.SubFrame[id],WindowIndex:id};event.Callback(event,sendData,this);}this.Frame.SubFrame.splice(id,1);this.WindowIndex.splice(id,1);this.TitlePaint.splice(id+1,1);//删除对应的动态标题
|
|
7928
7932
|
for(var i=0;i<this.Frame.SubFrame.length;++i){var item=this.Frame.SubFrame[i].Frame;if(i==this.Frame.SubFrame.length-1)item.XSplitOperator.ShowText=true;else item.XSplitOperator.ShowText=false;item.Identify=i;}/*
|
|
7929
7933
|
if (this.ChartDrawPicture.length>0)
|
|
7930
7934
|
{
|
|
@@ -7976,8 +7980,9 @@ this.UpdateFrameMaxMin();this.Draw();};this.ShowBeforeData=function(isShow,optio
|
|
|
7976
7980
|
this.ShowCallAuctionData=function(obj,option){if(!obj)return;var optionChanged=false;//配置修改
|
|
7977
7981
|
if(IFrameSplitOperator.IsBool(obj.Left)&&this.IsShowBeforeData!=obj.Left){this.IsShowBeforeData=obj.Left;optionChanged=true;}if(IFrameSplitOperator.IsBool(obj.Right)&&this.IsShowAfterData!=obj.Right){this.IsShowAfterData=obj.Right;optionChanged=true;}if(obj.MultiDay){var item=obj.MultiDay;if(IFrameSplitOperator.IsBool(item.Left)&&this.IsShowMultiDayBeforeData!=item.Left){this.IsShowMultiDayBeforeData=item.Left;optionChanged=true;}if(IFrameSplitOperator.IsBool(item.Right)&&this.IsShowMultiDayAfterData!=item.Right){this.IsShowMultiDayAfterData=item.Right;optionChanged=true;}}if(option){if(option.BeforeOpen){var item=option.BeforeOpen;if(IFrameSplitOperator.IsNumber(item.Left)&&this.ExtendWidth.Left!=item.Left){this.ExtendWidth.Left=item.Left;optionChanged=true;}}if(option.AfterClose){var item=option.AfterClose;if(IFrameSplitOperator.IsNumber(item.Right)&&this.ExtendWidth.Right!=item.Right){this.ExtendWidth.Right=item.Right;optionChanged=true;}}if(option.MultiDay){var item=option.MultiDay;if(IFrameSplitOperator.IsNumber(item.Left)&&this.MultiDayExtendWidth.Left!=item.Left){this.MultiDayExtendWidth.Left=item.Left;optionChanged=true;}if(IFrameSplitOperator.IsNumber(item.Right)&&this.MultiDayExtendWidth.Right!=item.Right){this.MultiDayExtendWidth.Right=item.Right;optionChanged=true;}}}if(optionChanged)this.RequestData();};this.RequestData=function(){if(this.DayCount<=1)this.RequestMinuteData();else this.RequestHistoryMinuteData();};this.ChangeDrawType=function(type){if(this.ChartPaint.length<=0)return;if(type==0)this.ChartPaint[0].IsDrawArea=true;else if(type==1)this.ChartPaint[0].IsDrawArea=false;else return;this.Draw();};this.UpdateDataOffset=function(){this.SourceData.DataOffset=this.DayOffset.DataOffset;for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(!item.Data)continue;item.Data.DataOffset=this.DayOffset.DataOffset;if(item.ClassName=="ChartMinuteVolumBar"||item.ClassName=="ChartMinutePriceLine")item.DayOffset=this.DayOffset;}for(var i=0;i<this.OverlayChartPaint.length;++i){var item=this.OverlayChartPaint[i];if(!item.Data)continue;item.Data.DataOffset=this.DayOffset.DataOffset;}//叠加指标当前显示的数据偏移
|
|
7978
7982
|
for(var i=0;i<this.Frame.SubFrame.length;++i){var subFrame=this.Frame.SubFrame[i];for(var j=0;j<subFrame.OverlayIndex.length;++j){var overlayItem=subFrame.OverlayIndex[j];for(var k=0;k<overlayItem.ChartPaint.length;++k){var item=overlayItem.ChartPaint[k];if(!item.Data)continue;item.Data.DataOffset=this.DayOffset.DataOffset;}}}};//请求历史分钟数据
|
|
7979
|
-
this.RequestHistoryMinuteData=function(){var self=this;this.IsBeforeData=false;this.IsAfterData=false;this.ChartSplashPaint.SetTitle(this.LoadDataSplashTitle);this.ChartSplashPaint.EnableSplash(true);this.Draw();if(this.NetworkFilter){var
|
|
7980
|
-
|
|
7983
|
+
this.RequestHistoryMinuteData=function(){var self=this;this.IsBeforeData=false;this.IsAfterData=false;this.ChartSplashPaint.SetTitle(this.LoadDataSplashTitle);this.ChartSplashPaint.EnableSplash(true);this.Draw();if(this.NetworkFilter){var callCation={Before:this.IsShowMultiDayBeforeData,After:this.IsShowMultiDayAfterData//集合竞价
|
|
7984
|
+
};var obj={Name:'MinuteChartContainer::RequestHistoryMinuteData',//类名::函数
|
|
7985
|
+
Explain:'多日分时数据',Request:{Url:self.HistoryMinuteApiUrl,Data:{daycount:self.DayCount,symbol:self.Symbol,callcation:callCation},Type:'POST'},Self:this,PreventDefault:false};this.NetworkFilter(obj,function(data){self.ChartSplashPaint.EnableSplash(false);self.RecvHistoryMinuteData(data);});if(obj.PreventDefault==true)return;//已被上层替换,不调用默认的网络请求
|
|
7981
7986
|
}JSNetwork.HttpRequest({url:self.HistoryMinuteApiUrl,data:{"symbol":self.Symbol,"daycount":self.DayCount},type:"post",dataType:"json",async:true,success:function success(data){self.ChartSplashPaint.EnableSplash(false);self.RecvHistoryMinuteData(data);}});};this.RecvHistoryMinuteData=function(data){if(this.EnableVerifyRecvData&&data.symbol!=this.Symbol){JSConsole.Chart.Warn('[MinuteChartContainer::RecvHistoryMinuteData] recv data symbol not match. HQChart['+this.Symbol+'] , Recv['+data.symbol+']');return;}this.DayData=MinuteChartContainer.JsonDataToMinuteDataArray(data);this.ColorLineData=MinuteChartContainer.JsonDataToHistoryMinuteLineColorData(data);this.MultiDayBeforeOpenData=MinuteChartContainer.JosnDataToBeforeOpenDataArray(data);this.MultiDayAfterCloseData=MinuteChartContainer.JosnDataToAfterCloseDataArray(data);var updateTime=MinuteChartContainer.JsonDataToHistoryMinuteLastUpdateTime(data);this.DataStatus.MultiDay=true;this.CaclutateCallCationYRange();this.Symbol=data.symbol;this.Name=data.name;this.SetCallCationDataBorder({Left:false,Right:false,MultiDay:{Left:this.IsShowMultiDayBeforeData,Right:this.IsShowMultiDayAfterData}});this.CaclutateLimitPrice(this.DayData[0].YClose,data.data[0].limitprice);//计算涨停价格
|
|
7982
7987
|
this.UpdateHistoryMinuteUI(updateTime);this.RecvMinuteDataEvent({FunctionName:"RecvHistoryMinuteData"});this.RequestOverlayHistoryMinuteData();this.BindAllOverlayIndexData(this.SourceData);this.AutoUpdateEvent(true,"MinuteChartContainer::RequestHistoryMinuteData");this.AutoUpdate();};this.CaclutateCallCationYRange=function(){//多日集合竞价Y轴统一成交量
|
|
7983
7988
|
var afterRange=null,beforeRange=null;if(IFrameSplitOperator.IsNonEmptyArray(this.MultiDayAfterCloseData)){var range={Max:null,Min:null};for(var i=0;i<this.MultiDayAfterCloseData.length;++i){var item=this.MultiDayAfterCloseData[i];if(range.Max==null)range.Max=item.VolMax;else if(range.Max<item.VolMax)range.Max=item.VolMax;if(range.Min==null)range.Min=item.VolMin;else if(range.Min>item.VolMin)range.Min=item.VolMin;}afterRange=range;}if(IFrameSplitOperator.IsNonEmptyArray(this.MultiDayBeforeOpenData)){var range={Max:null,Min:null};for(var i=0;i<this.MultiDayBeforeOpenData.length;++i){var item=this.MultiDayBeforeOpenData[i];if(range.Max==null)range.Max=item.VolMax;else if(range.Max<item.VolMax)range.Max=item.VolMax;if(range.Min==null)range.Min=item.VolMin;else if(range.Min>item.VolMin)range.Min=item.VolMin;}beforeRange=range;}if(this.ShareAfterVol==2)// 公用坐标
|
|
@@ -7999,7 +8004,8 @@ if(stock&&IFrameSplitOperator.IsNumber(stock.yclose))item.YClose=stock.yclose;if
|
|
|
7999
8004
|
this.UpdateLatestMinuteDataV2=function(minuteData){if(this.DayCount>1){if(!this.DayData)return;var findItem=null;for(var i=0;i<this.DayData.length;++i){var item=this.DayData[i];if(item.Date===date){findItem=item;break;}}if(!findItem)return;var findIndex=-1;var firstItem=minuteData.Data[0];for(var i=0;i<findItem.Data.length;++i){var item=findItem.Data[i];if(item.Date==firstItem.Date&&item.Time==firstItem.Time){findIndex=i;break;}}if(findIndex<0)findIndex=findItem.Data.length;for(var i=0,j=findIndex;i<minuteData.Data.length;++i,++j){var item=minuteData.Data[i];findItem.Data[j]=item;}}else{if(!this.SourceData)return;var findIndex=-1;var firstItem=minuteData.Data[0];for(var i=0;i<this.SourceData.Data.length;++i){var item=this.SourceData.Data[i];if(item.Date==firstItem.Date&&item.Time==firstItem.Time){findIndex=i;break;}}if(findIndex<0)findIndex=this.SourceData.Data.length;for(var i=0,j=findIndex;i<minuteData.Data.length;++i,++j){var item=minuteData.Data[i];this.SourceData.Data[j]=item;}}};//请求分钟数据
|
|
8000
8005
|
this.RequestMinuteData=function(){var self=this;var fields=["name","symbol","yclose","open","price","high","low","vol","amount","date","time","minute","minutecount"];var upperSymbol=this.Symbol.toUpperCase();if(MARKET_SUFFIX_NAME.IsFutures(upperSymbol)){//期货的需要加上结算价
|
|
8001
8006
|
fields.push("clearing");fields.push("yclearing");}// 盘前数据(A股)
|
|
8002
|
-
this.IsBeforeData=false;if(this.IsShowBeforeData&&this.DayCount===1&&MARKET_SUFFIX_NAME.IsSHSZStockA(self.Symbol)){this.IsBeforeData=true;fields.push('before');}this.IsAfterData=false;if(this.IsShowAfterData&&this.DayCount===1&&MARKET_SUFFIX_NAME.IsSHSZStockA(self.Symbol)){this.IsAfterData=true;}if(this.NetworkFilter){var dateRange=null;if(this.DayCount>1){if(IFrameSplitOperator.IsNonEmptyArray(this.DayData)){var dayData=this.DayData[0];dateRange=dayData.GetDateRange();}}else{if(this.SourceData)dateRange=this.SourceData.GetDateRange();}var callCation={Before:this.IsShowBeforeData
|
|
8007
|
+
this.IsBeforeData=false;if(this.IsShowBeforeData&&this.DayCount===1&&MARKET_SUFFIX_NAME.IsSHSZStockA(self.Symbol)){this.IsBeforeData=true;fields.push('before');}this.IsAfterData=false;if(this.IsShowAfterData&&this.DayCount===1&&MARKET_SUFFIX_NAME.IsSHSZStockA(self.Symbol)){this.IsAfterData=true;}if(this.NetworkFilter){var dateRange=null;if(this.DayCount>1){if(IFrameSplitOperator.IsNonEmptyArray(this.DayData)){var dayData=this.DayData[0];dateRange=dayData.GetDateRange();}}else{if(this.SourceData)dateRange=this.SourceData.GetDateRange();}var callCation={Before:this.IsShowBeforeData,After:this.IsShowAfterData//集合竞价
|
|
8008
|
+
};if(this.DayCount>1)callCation={Before:this.IsShowMultiDayBeforeData,After:this.IsShowMultiDayAfterData//多日集合竞价
|
|
8003
8009
|
};var obj={Name:'MinuteChartContainer::RequestMinuteData',//类名::函数名
|
|
8004
8010
|
Explain:'最新分时数据',Request:{Url:self.MinuteApiUrl,Data:{field:fields,symbol:[self.Symbol],callcation:callCation},Type:'POST'},Self:this,PreventDefault:false};if(dateRange)obj.DateRange=dateRange;//本地数据日期范围
|
|
8005
8011
|
this.NetworkFilter(obj,function(data){self.ChartSplashPaint.EnableSplash(false);self.RecvMinuteData(data);});if(obj.PreventDefault==true)return;//已被上层替换,不调用默认的网络请求
|
|
@@ -13208,7 +13214,7 @@ hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,St
|
|
|
13208
13214
|
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);};}/********************************************************************************
|
|
13209
13215
|
* 版本信息输出
|
|
13210
13216
|
*
|
|
13211
|
-
*/var HQCHART_VERSION="1.1.
|
|
13217
|
+
*/var HQCHART_VERSION="1.1.13277";function PrintHQChartVersion(){var log='*************************************************************************************************************\n*\n* HQChart Ver: '+HQCHART_VERSION+' \n* \n* License: Apache License 2.0 \n* Source: https://github.com/jones2000/HQChart\n*\n*************************************************************************************************************\n';console.log(log);}PrintHQChartVersion();//把给外界调用的方法暴露出来
|
|
13212
13218
|
exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
|
|
13213
13219
|
// BaseIndex:BaseIndex,
|
|
13214
13220
|
// ChartLine:ChartLine,
|
package/package.json
CHANGED
|
@@ -48757,13 +48757,38 @@ HQData.NetworkFilter=function(data, callback)
|
|
|
48757
48757
|
HQData.RequestMinuteData=function(data, callback)
|
|
48758
48758
|
{
|
|
48759
48759
|
data.PreventDefault=true;
|
|
48760
|
-
var symbol=data.Request.Data.symbol[0];
|
|
48761
|
-
var
|
|
48760
|
+
var symbol=data.Request.Data.symbol[0]; //请求的股票代码
|
|
48761
|
+
var callcation=data.Request.Data.callcation; //集合竞价
|
|
48762
48762
|
console.log(`[HQData::RequestMinuteData] Symbol=${symbol}`);
|
|
48763
48763
|
|
|
48764
|
-
var
|
|
48765
|
-
|
|
48766
|
-
|
|
48764
|
+
var srcStock=MINUTE_1DAY_DATA.stock[0];
|
|
48765
|
+
var stockItem={ date:srcStock.date, minute:srcStock.minute, yclose:srcStock.yclose, symbol:srcStock.symbol, name:srcStock.name };
|
|
48766
|
+
if (callcation.Before)
|
|
48767
|
+
{
|
|
48768
|
+
var before=
|
|
48769
|
+
[
|
|
48770
|
+
//[交易时间, 价格,成交量, 成交金额, 日期(可选,YYYYMMDD)],
|
|
48771
|
+
[915, srcStock.yclose,0,0],
|
|
48772
|
+
[916, srcStock.yclose+0.01,0,0],
|
|
48773
|
+
[917, srcStock.yclose+0.03,0,0],
|
|
48774
|
+
[918, srcStock.yclose+0.02,0,0],
|
|
48775
|
+
[919, srcStock.yclose+0.02,0,0],
|
|
48776
|
+
[920, srcStock.yclose+0.01,0,0],
|
|
48777
|
+
[921, srcStock.yclose,0,0],
|
|
48778
|
+
[922, srcStock.yclose-0.02,0,0],
|
|
48779
|
+
[923, srcStock.yclose-0.03,0,0],
|
|
48780
|
+
[924, srcStock.yclose,0,0],
|
|
48781
|
+
[925, srcStock.yclose,0,0],
|
|
48782
|
+
];
|
|
48783
|
+
|
|
48784
|
+
var beforeinfo={ totalcount:11, ver:1.0 };
|
|
48785
|
+
|
|
48786
|
+
stockItem.before=before;
|
|
48787
|
+
stockItem.beforeinfo=beforeinfo;
|
|
48788
|
+
}
|
|
48789
|
+
|
|
48790
|
+
var hqchartData={code:0, stock:[stockItem] };
|
|
48791
|
+
|
|
48767
48792
|
|
|
48768
48793
|
callback(hqchartData);
|
|
48769
48794
|
}
|
|
@@ -48773,12 +48798,44 @@ HQData.RequestMinuteDaysData=function(data, callback)
|
|
|
48773
48798
|
data.PreventDefault=true;
|
|
48774
48799
|
var symbol=data.Request.Data.symbol; //请求的股票代码
|
|
48775
48800
|
var dayCount=data.Request.Data.daycount;
|
|
48801
|
+
var callcation=data.Request.Data.callcation; //集合竞价
|
|
48776
48802
|
|
|
48777
48803
|
console.log(`[HQData::RequestMinuteDaysData] Symbol=${symbol}`);
|
|
48778
48804
|
|
|
48779
|
-
var hqchartData=
|
|
48780
|
-
hqchartData.symbol=symbol;
|
|
48781
|
-
hqchartData.name=symbol;
|
|
48805
|
+
var hqchartData={code:0, data:[] };
|
|
48806
|
+
hqchartData.symbol=MINUTE_5DAY_DATA.symbol;
|
|
48807
|
+
hqchartData.name=MINUTE_5DAY_DATA.symbol;
|
|
48808
|
+
|
|
48809
|
+
for(var i=0;i<dayCount && i<MINUTE_5DAY_DATA.data.length;++i)
|
|
48810
|
+
{
|
|
48811
|
+
var item=MINUTE_5DAY_DATA.data[i];
|
|
48812
|
+
var dayItem={minute:item.minute, yclose:item.yclose, date:item.date };
|
|
48813
|
+
if (callcation.Before)
|
|
48814
|
+
{
|
|
48815
|
+
var before=
|
|
48816
|
+
[
|
|
48817
|
+
//[交易时间, 价格,成交量, 成交金额, 日期(可选,YYYYMMDD)],
|
|
48818
|
+
[915, item.yclose,0,0],
|
|
48819
|
+
[916, item.yclose+0.01,0,0],
|
|
48820
|
+
[917, item.yclose+0.03,0,0],
|
|
48821
|
+
[918, item.yclose+0.02,0,0],
|
|
48822
|
+
[919, item.yclose+0.02,0,0],
|
|
48823
|
+
[920, item.yclose+0.01,0,0],
|
|
48824
|
+
[921, item.yclose,0,0],
|
|
48825
|
+
[922, item.yclose-0.02,0,0],
|
|
48826
|
+
[923, item.yclose-0.03,0,0],
|
|
48827
|
+
[924, item.yclose,0,0],
|
|
48828
|
+
[925, item.yclose,0,0],
|
|
48829
|
+
];
|
|
48830
|
+
|
|
48831
|
+
var beforeinfo={ totalcount:11, ver:1.0 };
|
|
48832
|
+
|
|
48833
|
+
dayItem.before=before;
|
|
48834
|
+
dayItem.beforeinfo=beforeinfo;
|
|
48835
|
+
}
|
|
48836
|
+
|
|
48837
|
+
hqchartData.data.push(dayItem);
|
|
48838
|
+
}
|
|
48782
48839
|
|
|
48783
48840
|
callback(hqchartData);
|
|
48784
48841
|
}
|
package/src/jscommon/umychart.js
CHANGED
|
@@ -9472,6 +9472,61 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
9472
9472
|
|
|
9473
9473
|
this.PopupMenuByRClick(menuData, x, y);
|
|
9474
9474
|
}
|
|
9475
|
+
|
|
9476
|
+
//指标窗口扩展图形
|
|
9477
|
+
this.CreateChartPaintExtend=function(chart, windowIndex)
|
|
9478
|
+
{
|
|
9479
|
+
if (windowIndex<0) return false;
|
|
9480
|
+
var subFrame=this.Frame.SubFrame[windowIndex];
|
|
9481
|
+
if (!subFrame || !subFrame.Frame) return false;
|
|
9482
|
+
|
|
9483
|
+
var frame=subFrame.Frame;
|
|
9484
|
+
chart.Canvas=this.Canvas;
|
|
9485
|
+
chart.ChartBorder=frame.ChartBorder;
|
|
9486
|
+
chart.ChartFrame=frame;
|
|
9487
|
+
|
|
9488
|
+
this.ChartPaintEx.push(chart);
|
|
9489
|
+
|
|
9490
|
+
return true;
|
|
9491
|
+
}
|
|
9492
|
+
|
|
9493
|
+
//删除指标窗口扩展图形 option={ ChartID:图形ID, WindowIndex:窗口 }
|
|
9494
|
+
this.DeleteChartPaintExtend=function(option, bCallDestroy)
|
|
9495
|
+
{
|
|
9496
|
+
if (!option) return;
|
|
9497
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(this.ChartPaintEx)) return;
|
|
9498
|
+
|
|
9499
|
+
if (IFrameSplitOperator.IsNumber(option.WindowIndex))
|
|
9500
|
+
{
|
|
9501
|
+
var windowIndex=option.WindowIndex;
|
|
9502
|
+
if (!this.Frame.SubFrame[windowIndex]) return;
|
|
9503
|
+
var subFrame=this.Frame.SubFrame[windowIndex].Frame;
|
|
9504
|
+
if (!subFrame) return;
|
|
9505
|
+
|
|
9506
|
+
var paint=[]; //踢出当前窗口的指标画法
|
|
9507
|
+
var deleteCount=0;
|
|
9508
|
+
for(var i=0;i<this.ChartPaintEx.length; ++i)
|
|
9509
|
+
{
|
|
9510
|
+
var item=this.ChartPaintEx[i];
|
|
9511
|
+
var bFind=(item.ChartFrame.Guid==subFrame.Guid || item.ChartFrame==subFrame);
|
|
9512
|
+
|
|
9513
|
+
if (!bFind)
|
|
9514
|
+
{
|
|
9515
|
+
paint.push(item);
|
|
9516
|
+
}
|
|
9517
|
+
else
|
|
9518
|
+
{
|
|
9519
|
+
++deleteCount;
|
|
9520
|
+
if (bCallDestroy===true)
|
|
9521
|
+
{
|
|
9522
|
+
if (item && item.OnDestroy) item.OnDestroy(); //图形销毁
|
|
9523
|
+
}
|
|
9524
|
+
}
|
|
9525
|
+
}
|
|
9526
|
+
|
|
9527
|
+
if (deleteCount>0) this.ChartPaintEx=paint;
|
|
9528
|
+
}
|
|
9529
|
+
}
|
|
9475
9530
|
}
|
|
9476
9531
|
|
|
9477
9532
|
function GetDevicePixelRatio()
|
|
@@ -71322,6 +71377,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
71322
71377
|
for(var i=currentLength-1;i>=count;--i)
|
|
71323
71378
|
{
|
|
71324
71379
|
this.DeleteIndexPaint(i);
|
|
71380
|
+
this.DeleteChartPaintExtend({WindowIndex:i});
|
|
71325
71381
|
this.Frame.SubFrame[i].Frame.ClearToolbar();
|
|
71326
71382
|
if (event && event.Callback)
|
|
71327
71383
|
{
|
|
@@ -71637,6 +71693,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
71637
71693
|
|
|
71638
71694
|
var delFrame=this.Frame.SubFrame[id].Frame;
|
|
71639
71695
|
this.DeleteIndexPaint(id);
|
|
71696
|
+
this.DeleteChartPaintExtend({WindowIndex:id});
|
|
71640
71697
|
this.Frame.SubFrame[id].Frame.ClearToolbar();
|
|
71641
71698
|
|
|
71642
71699
|
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_DELETE_FRAME);
|
|
@@ -75056,12 +75113,12 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
75056
75113
|
|
|
75057
75114
|
this.IsShowBeforeData=false; //是否显示盘前集合竞价数据 (当日)
|
|
75058
75115
|
this.BeforeOpenData=null; //盘前集合竞价数据
|
|
75059
|
-
this.IsBeforeData=false; //是否支持显示盘前集合竞价数据
|
|
75116
|
+
this.IsBeforeData=false; //是否支持显示盘前集合竞价数据(当日)
|
|
75060
75117
|
|
|
75061
75118
|
this.IsShowAfterData=false; //收盘集合竞价
|
|
75062
75119
|
this.AfterCloseData=null; //收盘集合竞价数据
|
|
75063
|
-
this.IsAfterData=false; //是否支持显示收盘集合竞价数据
|
|
75064
|
-
this.ShareAfterVol=0;
|
|
75120
|
+
this.IsAfterData=false; //是否支持显示收盘集合竞价数据(当日)
|
|
75121
|
+
this.ShareAfterVol=0; //1=盘后数据成交量Y坐标和主图共享 2=盘后数据成交量Y坐标和盘前共享
|
|
75065
75122
|
this.ExtendWidth={ Left: 120, Right:120 } ; //单日分时图 左右扩展图形宽度
|
|
75066
75123
|
|
|
75067
75124
|
this.IsShowLead=true; //指数是否显示领先指标
|
|
@@ -75071,7 +75128,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
75071
75128
|
this.IsShowMultiDayAfterData=false; //多日分时图 是否显示收盘集合竞价
|
|
75072
75129
|
this.MultiDayAfterCloseData=null; //多日分时图 收盘集合竞价数据
|
|
75073
75130
|
|
|
75074
|
-
this.MultiDayExtendWidth={ Left:
|
|
75131
|
+
this.MultiDayExtendWidth={ Left:40, Right:20 }; //多日分时图 左右扩展图形宽度
|
|
75075
75132
|
|
|
75076
75133
|
this.ChartDrawStorage=new ChartDrawStorage();
|
|
75077
75134
|
this.ChartDrawStorageCache=null; //首次需要创建的画图工具数据
|
|
@@ -77222,6 +77279,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
77222
77279
|
for(var i=currentLength-1;i>=count;--i)
|
|
77223
77280
|
{
|
|
77224
77281
|
this.DeleteIndexPaint(i);
|
|
77282
|
+
this.DeleteChartPaintExtend({WindowIndex:i});
|
|
77225
77283
|
var item=this.Frame.SubFrame[i].Frame;
|
|
77226
77284
|
if (item.ClearToolbar) item.ClearToolbar();
|
|
77227
77285
|
|
|
@@ -77461,6 +77519,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
77461
77519
|
|
|
77462
77520
|
var delFrame=this.Frame.SubFrame[id].Frame;
|
|
77463
77521
|
this.DeleteIndexPaint(id);
|
|
77522
|
+
this.DeleteChartPaintExtend({WindowIndex:id});
|
|
77464
77523
|
this.Frame.SubFrame[id].Frame.ClearToolbar();
|
|
77465
77524
|
|
|
77466
77525
|
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_DELETE_FRAME);
|
|
@@ -78058,11 +78117,17 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
78058
78117
|
|
|
78059
78118
|
if (this.NetworkFilter)
|
|
78060
78119
|
{
|
|
78120
|
+
var callCation=
|
|
78121
|
+
{
|
|
78122
|
+
Before:this.IsShowMultiDayBeforeData ,
|
|
78123
|
+
After:this.IsShowMultiDayAfterData
|
|
78124
|
+
} //集合竞价
|
|
78125
|
+
|
|
78061
78126
|
var obj=
|
|
78062
78127
|
{
|
|
78063
78128
|
Name:'MinuteChartContainer::RequestHistoryMinuteData', //类名::函数
|
|
78064
78129
|
Explain:'多日分时数据',
|
|
78065
|
-
Request:{ Url:self.HistoryMinuteApiUrl, Data:{daycount:self.DayCount, symbol:self.Symbol}, Type:'POST' },
|
|
78130
|
+
Request:{ Url:self.HistoryMinuteApiUrl, Data:{daycount:self.DayCount, symbol:self.Symbol, callcation:callCation }, Type:'POST' },
|
|
78066
78131
|
Self:this,
|
|
78067
78132
|
PreventDefault:false
|
|
78068
78133
|
};
|
|
@@ -78442,11 +78507,9 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
78442
78507
|
dateRange=this.SourceData.GetDateRange();
|
|
78443
78508
|
}
|
|
78444
78509
|
|
|
78445
|
-
var callCation=
|
|
78446
|
-
{
|
|
78447
|
-
|
|
78448
|
-
After:(this.IsShowAfterData && this.DayCount===1)
|
|
78449
|
-
} //集合竞价
|
|
78510
|
+
var callCation={ Before:this.IsShowBeforeData, After:this.IsShowAfterData } //集合竞价
|
|
78511
|
+
if (this.DayCount>1) callCation={ Before:this.IsShowMultiDayBeforeData, After:this.IsShowMultiDayAfterData } //多日集合竞价
|
|
78512
|
+
|
|
78450
78513
|
var obj=
|
|
78451
78514
|
{
|
|
78452
78515
|
Name:'MinuteChartContainer::RequestMinuteData', //类名::函数名
|
|
@@ -82,13 +82,38 @@ HQData.NetworkFilter=function(data, callback)
|
|
|
82
82
|
HQData.RequestMinuteData=function(data, callback)
|
|
83
83
|
{
|
|
84
84
|
data.PreventDefault=true;
|
|
85
|
-
var symbol=data.Request.Data.symbol[0];
|
|
86
|
-
var
|
|
85
|
+
var symbol=data.Request.Data.symbol[0]; //请求的股票代码
|
|
86
|
+
var callcation=data.Request.Data.callcation; //集合竞价
|
|
87
87
|
console.log(`[HQData::RequestMinuteData] Symbol=${symbol}`);
|
|
88
88
|
|
|
89
|
-
var
|
|
90
|
-
|
|
91
|
-
|
|
89
|
+
var srcStock=MINUTE_1DAY_DATA.stock[0];
|
|
90
|
+
var stockItem={ date:srcStock.date, minute:srcStock.minute, yclose:srcStock.yclose, symbol:srcStock.symbol, name:srcStock.name };
|
|
91
|
+
if (callcation.Before)
|
|
92
|
+
{
|
|
93
|
+
var before=
|
|
94
|
+
[
|
|
95
|
+
//[交易时间, 价格,成交量, 成交金额, 日期(可选,YYYYMMDD)],
|
|
96
|
+
[915, srcStock.yclose,0,0],
|
|
97
|
+
[916, srcStock.yclose+0.01,0,0],
|
|
98
|
+
[917, srcStock.yclose+0.03,0,0],
|
|
99
|
+
[918, srcStock.yclose+0.02,0,0],
|
|
100
|
+
[919, srcStock.yclose+0.02,0,0],
|
|
101
|
+
[920, srcStock.yclose+0.01,0,0],
|
|
102
|
+
[921, srcStock.yclose,0,0],
|
|
103
|
+
[922, srcStock.yclose-0.02,0,0],
|
|
104
|
+
[923, srcStock.yclose-0.03,0,0],
|
|
105
|
+
[924, srcStock.yclose,0,0],
|
|
106
|
+
[925, srcStock.yclose,0,0],
|
|
107
|
+
];
|
|
108
|
+
|
|
109
|
+
var beforeinfo={ totalcount:11, ver:1.0 };
|
|
110
|
+
|
|
111
|
+
stockItem.before=before;
|
|
112
|
+
stockItem.beforeinfo=beforeinfo;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
var hqchartData={code:0, stock:[stockItem] };
|
|
116
|
+
|
|
92
117
|
|
|
93
118
|
callback(hqchartData);
|
|
94
119
|
}
|
|
@@ -98,12 +123,44 @@ HQData.RequestMinuteDaysData=function(data, callback)
|
|
|
98
123
|
data.PreventDefault=true;
|
|
99
124
|
var symbol=data.Request.Data.symbol; //请求的股票代码
|
|
100
125
|
var dayCount=data.Request.Data.daycount;
|
|
126
|
+
var callcation=data.Request.Data.callcation; //集合竞价
|
|
101
127
|
|
|
102
128
|
console.log(`[HQData::RequestMinuteDaysData] Symbol=${symbol}`);
|
|
103
129
|
|
|
104
|
-
var hqchartData=
|
|
105
|
-
hqchartData.symbol=symbol;
|
|
106
|
-
hqchartData.name=symbol;
|
|
130
|
+
var hqchartData={code:0, data:[] };
|
|
131
|
+
hqchartData.symbol=MINUTE_5DAY_DATA.symbol;
|
|
132
|
+
hqchartData.name=MINUTE_5DAY_DATA.symbol;
|
|
133
|
+
|
|
134
|
+
for(var i=0;i<dayCount && i<MINUTE_5DAY_DATA.data.length;++i)
|
|
135
|
+
{
|
|
136
|
+
var item=MINUTE_5DAY_DATA.data[i];
|
|
137
|
+
var dayItem={minute:item.minute, yclose:item.yclose, date:item.date };
|
|
138
|
+
if (callcation.Before)
|
|
139
|
+
{
|
|
140
|
+
var before=
|
|
141
|
+
[
|
|
142
|
+
//[交易时间, 价格,成交量, 成交金额, 日期(可选,YYYYMMDD)],
|
|
143
|
+
[915, item.yclose,0,0],
|
|
144
|
+
[916, item.yclose+0.01,0,0],
|
|
145
|
+
[917, item.yclose+0.03,0,0],
|
|
146
|
+
[918, item.yclose+0.02,0,0],
|
|
147
|
+
[919, item.yclose+0.02,0,0],
|
|
148
|
+
[920, item.yclose+0.01,0,0],
|
|
149
|
+
[921, item.yclose,0,0],
|
|
150
|
+
[922, item.yclose-0.02,0,0],
|
|
151
|
+
[923, item.yclose-0.03,0,0],
|
|
152
|
+
[924, item.yclose,0,0],
|
|
153
|
+
[925, item.yclose,0,0],
|
|
154
|
+
];
|
|
155
|
+
|
|
156
|
+
var beforeinfo={ totalcount:11, ver:1.0 };
|
|
157
|
+
|
|
158
|
+
dayItem.before=before;
|
|
159
|
+
dayItem.beforeinfo=beforeinfo;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
hqchartData.data.push(dayItem);
|
|
163
|
+
}
|
|
107
164
|
|
|
108
165
|
callback(hqchartData);
|
|
109
166
|
}
|
|
@@ -13364,6 +13364,61 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
13364
13364
|
|
|
13365
13365
|
this.PopupMenuByRClick(menuData, x, y);
|
|
13366
13366
|
}
|
|
13367
|
+
|
|
13368
|
+
//指标窗口扩展图形
|
|
13369
|
+
this.CreateChartPaintExtend=function(chart, windowIndex)
|
|
13370
|
+
{
|
|
13371
|
+
if (windowIndex<0) return false;
|
|
13372
|
+
var subFrame=this.Frame.SubFrame[windowIndex];
|
|
13373
|
+
if (!subFrame || !subFrame.Frame) return false;
|
|
13374
|
+
|
|
13375
|
+
var frame=subFrame.Frame;
|
|
13376
|
+
chart.Canvas=this.Canvas;
|
|
13377
|
+
chart.ChartBorder=frame.ChartBorder;
|
|
13378
|
+
chart.ChartFrame=frame;
|
|
13379
|
+
|
|
13380
|
+
this.ChartPaintEx.push(chart);
|
|
13381
|
+
|
|
13382
|
+
return true;
|
|
13383
|
+
}
|
|
13384
|
+
|
|
13385
|
+
//删除指标窗口扩展图形 option={ ChartID:图形ID, WindowIndex:窗口 }
|
|
13386
|
+
this.DeleteChartPaintExtend=function(option, bCallDestroy)
|
|
13387
|
+
{
|
|
13388
|
+
if (!option) return;
|
|
13389
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(this.ChartPaintEx)) return;
|
|
13390
|
+
|
|
13391
|
+
if (IFrameSplitOperator.IsNumber(option.WindowIndex))
|
|
13392
|
+
{
|
|
13393
|
+
var windowIndex=option.WindowIndex;
|
|
13394
|
+
if (!this.Frame.SubFrame[windowIndex]) return;
|
|
13395
|
+
var subFrame=this.Frame.SubFrame[windowIndex].Frame;
|
|
13396
|
+
if (!subFrame) return;
|
|
13397
|
+
|
|
13398
|
+
var paint=[]; //踢出当前窗口的指标画法
|
|
13399
|
+
var deleteCount=0;
|
|
13400
|
+
for(var i=0;i<this.ChartPaintEx.length; ++i)
|
|
13401
|
+
{
|
|
13402
|
+
var item=this.ChartPaintEx[i];
|
|
13403
|
+
var bFind=(item.ChartFrame.Guid==subFrame.Guid || item.ChartFrame==subFrame);
|
|
13404
|
+
|
|
13405
|
+
if (!bFind)
|
|
13406
|
+
{
|
|
13407
|
+
paint.push(item);
|
|
13408
|
+
}
|
|
13409
|
+
else
|
|
13410
|
+
{
|
|
13411
|
+
++deleteCount;
|
|
13412
|
+
if (bCallDestroy===true)
|
|
13413
|
+
{
|
|
13414
|
+
if (item && item.OnDestroy) item.OnDestroy(); //图形销毁
|
|
13415
|
+
}
|
|
13416
|
+
}
|
|
13417
|
+
}
|
|
13418
|
+
|
|
13419
|
+
if (deleteCount>0) this.ChartPaintEx=paint;
|
|
13420
|
+
}
|
|
13421
|
+
}
|
|
13367
13422
|
}
|
|
13368
13423
|
|
|
13369
13424
|
function GetDevicePixelRatio()
|
|
@@ -75214,6 +75269,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
75214
75269
|
for(var i=currentLength-1;i>=count;--i)
|
|
75215
75270
|
{
|
|
75216
75271
|
this.DeleteIndexPaint(i);
|
|
75272
|
+
this.DeleteChartPaintExtend({WindowIndex:i});
|
|
75217
75273
|
this.Frame.SubFrame[i].Frame.ClearToolbar();
|
|
75218
75274
|
if (event && event.Callback)
|
|
75219
75275
|
{
|
|
@@ -75529,6 +75585,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
75529
75585
|
|
|
75530
75586
|
var delFrame=this.Frame.SubFrame[id].Frame;
|
|
75531
75587
|
this.DeleteIndexPaint(id);
|
|
75588
|
+
this.DeleteChartPaintExtend({WindowIndex:id});
|
|
75532
75589
|
this.Frame.SubFrame[id].Frame.ClearToolbar();
|
|
75533
75590
|
|
|
75534
75591
|
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_DELETE_FRAME);
|
|
@@ -78948,12 +79005,12 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
78948
79005
|
|
|
78949
79006
|
this.IsShowBeforeData=false; //是否显示盘前集合竞价数据 (当日)
|
|
78950
79007
|
this.BeforeOpenData=null; //盘前集合竞价数据
|
|
78951
|
-
this.IsBeforeData=false; //是否支持显示盘前集合竞价数据
|
|
79008
|
+
this.IsBeforeData=false; //是否支持显示盘前集合竞价数据(当日)
|
|
78952
79009
|
|
|
78953
79010
|
this.IsShowAfterData=false; //收盘集合竞价
|
|
78954
79011
|
this.AfterCloseData=null; //收盘集合竞价数据
|
|
78955
|
-
this.IsAfterData=false; //是否支持显示收盘集合竞价数据
|
|
78956
|
-
this.ShareAfterVol=0;
|
|
79012
|
+
this.IsAfterData=false; //是否支持显示收盘集合竞价数据(当日)
|
|
79013
|
+
this.ShareAfterVol=0; //1=盘后数据成交量Y坐标和主图共享 2=盘后数据成交量Y坐标和盘前共享
|
|
78957
79014
|
this.ExtendWidth={ Left: 120, Right:120 } ; //单日分时图 左右扩展图形宽度
|
|
78958
79015
|
|
|
78959
79016
|
this.IsShowLead=true; //指数是否显示领先指标
|
|
@@ -78963,7 +79020,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
78963
79020
|
this.IsShowMultiDayAfterData=false; //多日分时图 是否显示收盘集合竞价
|
|
78964
79021
|
this.MultiDayAfterCloseData=null; //多日分时图 收盘集合竞价数据
|
|
78965
79022
|
|
|
78966
|
-
this.MultiDayExtendWidth={ Left:
|
|
79023
|
+
this.MultiDayExtendWidth={ Left:40, Right:20 }; //多日分时图 左右扩展图形宽度
|
|
78967
79024
|
|
|
78968
79025
|
this.ChartDrawStorage=new ChartDrawStorage();
|
|
78969
79026
|
this.ChartDrawStorageCache=null; //首次需要创建的画图工具数据
|
|
@@ -81114,6 +81171,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
81114
81171
|
for(var i=currentLength-1;i>=count;--i)
|
|
81115
81172
|
{
|
|
81116
81173
|
this.DeleteIndexPaint(i);
|
|
81174
|
+
this.DeleteChartPaintExtend({WindowIndex:i});
|
|
81117
81175
|
var item=this.Frame.SubFrame[i].Frame;
|
|
81118
81176
|
if (item.ClearToolbar) item.ClearToolbar();
|
|
81119
81177
|
|
|
@@ -81353,6 +81411,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
81353
81411
|
|
|
81354
81412
|
var delFrame=this.Frame.SubFrame[id].Frame;
|
|
81355
81413
|
this.DeleteIndexPaint(id);
|
|
81414
|
+
this.DeleteChartPaintExtend({WindowIndex:id});
|
|
81356
81415
|
this.Frame.SubFrame[id].Frame.ClearToolbar();
|
|
81357
81416
|
|
|
81358
81417
|
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_DELETE_FRAME);
|
|
@@ -81950,11 +82009,17 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
81950
82009
|
|
|
81951
82010
|
if (this.NetworkFilter)
|
|
81952
82011
|
{
|
|
82012
|
+
var callCation=
|
|
82013
|
+
{
|
|
82014
|
+
Before:this.IsShowMultiDayBeforeData ,
|
|
82015
|
+
After:this.IsShowMultiDayAfterData
|
|
82016
|
+
} //集合竞价
|
|
82017
|
+
|
|
81953
82018
|
var obj=
|
|
81954
82019
|
{
|
|
81955
82020
|
Name:'MinuteChartContainer::RequestHistoryMinuteData', //类名::函数
|
|
81956
82021
|
Explain:'多日分时数据',
|
|
81957
|
-
Request:{ Url:self.HistoryMinuteApiUrl, Data:{daycount:self.DayCount, symbol:self.Symbol}, Type:'POST' },
|
|
82022
|
+
Request:{ Url:self.HistoryMinuteApiUrl, Data:{daycount:self.DayCount, symbol:self.Symbol, callcation:callCation }, Type:'POST' },
|
|
81958
82023
|
Self:this,
|
|
81959
82024
|
PreventDefault:false
|
|
81960
82025
|
};
|
|
@@ -82334,11 +82399,9 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
82334
82399
|
dateRange=this.SourceData.GetDateRange();
|
|
82335
82400
|
}
|
|
82336
82401
|
|
|
82337
|
-
var callCation=
|
|
82338
|
-
{
|
|
82339
|
-
|
|
82340
|
-
After:(this.IsShowAfterData && this.DayCount===1)
|
|
82341
|
-
} //集合竞价
|
|
82402
|
+
var callCation={ Before:this.IsShowBeforeData, After:this.IsShowAfterData } //集合竞价
|
|
82403
|
+
if (this.DayCount>1) callCation={ Before:this.IsShowMultiDayBeforeData, After:this.IsShowMultiDayAfterData } //多日集合竞价
|
|
82404
|
+
|
|
82342
82405
|
var obj=
|
|
82343
82406
|
{
|
|
82344
82407
|
Name:'MinuteChartContainer::RequestMinuteData', //类名::函数名
|
|
@@ -132137,7 +132200,7 @@ function ScrollBarBGChart()
|
|
|
132137
132200
|
|
|
132138
132201
|
|
|
132139
132202
|
|
|
132140
|
-
var HQCHART_VERSION="1.1.
|
|
132203
|
+
var HQCHART_VERSION="1.1.13277";
|
|
132141
132204
|
|
|
132142
132205
|
function PrintHQChartVersion()
|
|
132143
132206
|
{
|
|
@@ -48757,13 +48757,38 @@ HQData.NetworkFilter=function(data, callback)
|
|
|
48757
48757
|
HQData.RequestMinuteData=function(data, callback)
|
|
48758
48758
|
{
|
|
48759
48759
|
data.PreventDefault=true;
|
|
48760
|
-
var symbol=data.Request.Data.symbol[0];
|
|
48761
|
-
var
|
|
48760
|
+
var symbol=data.Request.Data.symbol[0]; //请求的股票代码
|
|
48761
|
+
var callcation=data.Request.Data.callcation; //集合竞价
|
|
48762
48762
|
console.log(`[HQData::RequestMinuteData] Symbol=${symbol}`);
|
|
48763
48763
|
|
|
48764
|
-
var
|
|
48765
|
-
|
|
48766
|
-
|
|
48764
|
+
var srcStock=MINUTE_1DAY_DATA.stock[0];
|
|
48765
|
+
var stockItem={ date:srcStock.date, minute:srcStock.minute, yclose:srcStock.yclose, symbol:srcStock.symbol, name:srcStock.name };
|
|
48766
|
+
if (callcation.Before)
|
|
48767
|
+
{
|
|
48768
|
+
var before=
|
|
48769
|
+
[
|
|
48770
|
+
//[交易时间, 价格,成交量, 成交金额, 日期(可选,YYYYMMDD)],
|
|
48771
|
+
[915, srcStock.yclose,0,0],
|
|
48772
|
+
[916, srcStock.yclose+0.01,0,0],
|
|
48773
|
+
[917, srcStock.yclose+0.03,0,0],
|
|
48774
|
+
[918, srcStock.yclose+0.02,0,0],
|
|
48775
|
+
[919, srcStock.yclose+0.02,0,0],
|
|
48776
|
+
[920, srcStock.yclose+0.01,0,0],
|
|
48777
|
+
[921, srcStock.yclose,0,0],
|
|
48778
|
+
[922, srcStock.yclose-0.02,0,0],
|
|
48779
|
+
[923, srcStock.yclose-0.03,0,0],
|
|
48780
|
+
[924, srcStock.yclose,0,0],
|
|
48781
|
+
[925, srcStock.yclose,0,0],
|
|
48782
|
+
];
|
|
48783
|
+
|
|
48784
|
+
var beforeinfo={ totalcount:11, ver:1.0 };
|
|
48785
|
+
|
|
48786
|
+
stockItem.before=before;
|
|
48787
|
+
stockItem.beforeinfo=beforeinfo;
|
|
48788
|
+
}
|
|
48789
|
+
|
|
48790
|
+
var hqchartData={code:0, stock:[stockItem] };
|
|
48791
|
+
|
|
48767
48792
|
|
|
48768
48793
|
callback(hqchartData);
|
|
48769
48794
|
}
|
|
@@ -48773,12 +48798,44 @@ HQData.RequestMinuteDaysData=function(data, callback)
|
|
|
48773
48798
|
data.PreventDefault=true;
|
|
48774
48799
|
var symbol=data.Request.Data.symbol; //请求的股票代码
|
|
48775
48800
|
var dayCount=data.Request.Data.daycount;
|
|
48801
|
+
var callcation=data.Request.Data.callcation; //集合竞价
|
|
48776
48802
|
|
|
48777
48803
|
console.log(`[HQData::RequestMinuteDaysData] Symbol=${symbol}`);
|
|
48778
48804
|
|
|
48779
|
-
var hqchartData=
|
|
48780
|
-
hqchartData.symbol=symbol;
|
|
48781
|
-
hqchartData.name=symbol;
|
|
48805
|
+
var hqchartData={code:0, data:[] };
|
|
48806
|
+
hqchartData.symbol=MINUTE_5DAY_DATA.symbol;
|
|
48807
|
+
hqchartData.name=MINUTE_5DAY_DATA.symbol;
|
|
48808
|
+
|
|
48809
|
+
for(var i=0;i<dayCount && i<MINUTE_5DAY_DATA.data.length;++i)
|
|
48810
|
+
{
|
|
48811
|
+
var item=MINUTE_5DAY_DATA.data[i];
|
|
48812
|
+
var dayItem={minute:item.minute, yclose:item.yclose, date:item.date };
|
|
48813
|
+
if (callcation.Before)
|
|
48814
|
+
{
|
|
48815
|
+
var before=
|
|
48816
|
+
[
|
|
48817
|
+
//[交易时间, 价格,成交量, 成交金额, 日期(可选,YYYYMMDD)],
|
|
48818
|
+
[915, item.yclose,0,0],
|
|
48819
|
+
[916, item.yclose+0.01,0,0],
|
|
48820
|
+
[917, item.yclose+0.03,0,0],
|
|
48821
|
+
[918, item.yclose+0.02,0,0],
|
|
48822
|
+
[919, item.yclose+0.02,0,0],
|
|
48823
|
+
[920, item.yclose+0.01,0,0],
|
|
48824
|
+
[921, item.yclose,0,0],
|
|
48825
|
+
[922, item.yclose-0.02,0,0],
|
|
48826
|
+
[923, item.yclose-0.03,0,0],
|
|
48827
|
+
[924, item.yclose,0,0],
|
|
48828
|
+
[925, item.yclose,0,0],
|
|
48829
|
+
];
|
|
48830
|
+
|
|
48831
|
+
var beforeinfo={ totalcount:11, ver:1.0 };
|
|
48832
|
+
|
|
48833
|
+
dayItem.before=before;
|
|
48834
|
+
dayItem.beforeinfo=beforeinfo;
|
|
48835
|
+
}
|
|
48836
|
+
|
|
48837
|
+
hqchartData.data.push(dayItem);
|
|
48838
|
+
}
|
|
48782
48839
|
|
|
48783
48840
|
callback(hqchartData);
|
|
48784
48841
|
}
|
|
@@ -13408,6 +13408,61 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
13408
13408
|
|
|
13409
13409
|
this.PopupMenuByRClick(menuData, x, y);
|
|
13410
13410
|
}
|
|
13411
|
+
|
|
13412
|
+
//指标窗口扩展图形
|
|
13413
|
+
this.CreateChartPaintExtend=function(chart, windowIndex)
|
|
13414
|
+
{
|
|
13415
|
+
if (windowIndex<0) return false;
|
|
13416
|
+
var subFrame=this.Frame.SubFrame[windowIndex];
|
|
13417
|
+
if (!subFrame || !subFrame.Frame) return false;
|
|
13418
|
+
|
|
13419
|
+
var frame=subFrame.Frame;
|
|
13420
|
+
chart.Canvas=this.Canvas;
|
|
13421
|
+
chart.ChartBorder=frame.ChartBorder;
|
|
13422
|
+
chart.ChartFrame=frame;
|
|
13423
|
+
|
|
13424
|
+
this.ChartPaintEx.push(chart);
|
|
13425
|
+
|
|
13426
|
+
return true;
|
|
13427
|
+
}
|
|
13428
|
+
|
|
13429
|
+
//删除指标窗口扩展图形 option={ ChartID:图形ID, WindowIndex:窗口 }
|
|
13430
|
+
this.DeleteChartPaintExtend=function(option, bCallDestroy)
|
|
13431
|
+
{
|
|
13432
|
+
if (!option) return;
|
|
13433
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(this.ChartPaintEx)) return;
|
|
13434
|
+
|
|
13435
|
+
if (IFrameSplitOperator.IsNumber(option.WindowIndex))
|
|
13436
|
+
{
|
|
13437
|
+
var windowIndex=option.WindowIndex;
|
|
13438
|
+
if (!this.Frame.SubFrame[windowIndex]) return;
|
|
13439
|
+
var subFrame=this.Frame.SubFrame[windowIndex].Frame;
|
|
13440
|
+
if (!subFrame) return;
|
|
13441
|
+
|
|
13442
|
+
var paint=[]; //踢出当前窗口的指标画法
|
|
13443
|
+
var deleteCount=0;
|
|
13444
|
+
for(var i=0;i<this.ChartPaintEx.length; ++i)
|
|
13445
|
+
{
|
|
13446
|
+
var item=this.ChartPaintEx[i];
|
|
13447
|
+
var bFind=(item.ChartFrame.Guid==subFrame.Guid || item.ChartFrame==subFrame);
|
|
13448
|
+
|
|
13449
|
+
if (!bFind)
|
|
13450
|
+
{
|
|
13451
|
+
paint.push(item);
|
|
13452
|
+
}
|
|
13453
|
+
else
|
|
13454
|
+
{
|
|
13455
|
+
++deleteCount;
|
|
13456
|
+
if (bCallDestroy===true)
|
|
13457
|
+
{
|
|
13458
|
+
if (item && item.OnDestroy) item.OnDestroy(); //图形销毁
|
|
13459
|
+
}
|
|
13460
|
+
}
|
|
13461
|
+
}
|
|
13462
|
+
|
|
13463
|
+
if (deleteCount>0) this.ChartPaintEx=paint;
|
|
13464
|
+
}
|
|
13465
|
+
}
|
|
13411
13466
|
}
|
|
13412
13467
|
|
|
13413
13468
|
function GetDevicePixelRatio()
|
|
@@ -75258,6 +75313,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
75258
75313
|
for(var i=currentLength-1;i>=count;--i)
|
|
75259
75314
|
{
|
|
75260
75315
|
this.DeleteIndexPaint(i);
|
|
75316
|
+
this.DeleteChartPaintExtend({WindowIndex:i});
|
|
75261
75317
|
this.Frame.SubFrame[i].Frame.ClearToolbar();
|
|
75262
75318
|
if (event && event.Callback)
|
|
75263
75319
|
{
|
|
@@ -75573,6 +75629,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
75573
75629
|
|
|
75574
75630
|
var delFrame=this.Frame.SubFrame[id].Frame;
|
|
75575
75631
|
this.DeleteIndexPaint(id);
|
|
75632
|
+
this.DeleteChartPaintExtend({WindowIndex:id});
|
|
75576
75633
|
this.Frame.SubFrame[id].Frame.ClearToolbar();
|
|
75577
75634
|
|
|
75578
75635
|
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_DELETE_FRAME);
|
|
@@ -78992,12 +79049,12 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
78992
79049
|
|
|
78993
79050
|
this.IsShowBeforeData=false; //是否显示盘前集合竞价数据 (当日)
|
|
78994
79051
|
this.BeforeOpenData=null; //盘前集合竞价数据
|
|
78995
|
-
this.IsBeforeData=false; //是否支持显示盘前集合竞价数据
|
|
79052
|
+
this.IsBeforeData=false; //是否支持显示盘前集合竞价数据(当日)
|
|
78996
79053
|
|
|
78997
79054
|
this.IsShowAfterData=false; //收盘集合竞价
|
|
78998
79055
|
this.AfterCloseData=null; //收盘集合竞价数据
|
|
78999
|
-
this.IsAfterData=false; //是否支持显示收盘集合竞价数据
|
|
79000
|
-
this.ShareAfterVol=0;
|
|
79056
|
+
this.IsAfterData=false; //是否支持显示收盘集合竞价数据(当日)
|
|
79057
|
+
this.ShareAfterVol=0; //1=盘后数据成交量Y坐标和主图共享 2=盘后数据成交量Y坐标和盘前共享
|
|
79001
79058
|
this.ExtendWidth={ Left: 120, Right:120 } ; //单日分时图 左右扩展图形宽度
|
|
79002
79059
|
|
|
79003
79060
|
this.IsShowLead=true; //指数是否显示领先指标
|
|
@@ -79007,7 +79064,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
79007
79064
|
this.IsShowMultiDayAfterData=false; //多日分时图 是否显示收盘集合竞价
|
|
79008
79065
|
this.MultiDayAfterCloseData=null; //多日分时图 收盘集合竞价数据
|
|
79009
79066
|
|
|
79010
|
-
this.MultiDayExtendWidth={ Left:
|
|
79067
|
+
this.MultiDayExtendWidth={ Left:40, Right:20 }; //多日分时图 左右扩展图形宽度
|
|
79011
79068
|
|
|
79012
79069
|
this.ChartDrawStorage=new ChartDrawStorage();
|
|
79013
79070
|
this.ChartDrawStorageCache=null; //首次需要创建的画图工具数据
|
|
@@ -81158,6 +81215,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
81158
81215
|
for(var i=currentLength-1;i>=count;--i)
|
|
81159
81216
|
{
|
|
81160
81217
|
this.DeleteIndexPaint(i);
|
|
81218
|
+
this.DeleteChartPaintExtend({WindowIndex:i});
|
|
81161
81219
|
var item=this.Frame.SubFrame[i].Frame;
|
|
81162
81220
|
if (item.ClearToolbar) item.ClearToolbar();
|
|
81163
81221
|
|
|
@@ -81397,6 +81455,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
81397
81455
|
|
|
81398
81456
|
var delFrame=this.Frame.SubFrame[id].Frame;
|
|
81399
81457
|
this.DeleteIndexPaint(id);
|
|
81458
|
+
this.DeleteChartPaintExtend({WindowIndex:id});
|
|
81400
81459
|
this.Frame.SubFrame[id].Frame.ClearToolbar();
|
|
81401
81460
|
|
|
81402
81461
|
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_DELETE_FRAME);
|
|
@@ -81994,11 +82053,17 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
81994
82053
|
|
|
81995
82054
|
if (this.NetworkFilter)
|
|
81996
82055
|
{
|
|
82056
|
+
var callCation=
|
|
82057
|
+
{
|
|
82058
|
+
Before:this.IsShowMultiDayBeforeData ,
|
|
82059
|
+
After:this.IsShowMultiDayAfterData
|
|
82060
|
+
} //集合竞价
|
|
82061
|
+
|
|
81997
82062
|
var obj=
|
|
81998
82063
|
{
|
|
81999
82064
|
Name:'MinuteChartContainer::RequestHistoryMinuteData', //类名::函数
|
|
82000
82065
|
Explain:'多日分时数据',
|
|
82001
|
-
Request:{ Url:self.HistoryMinuteApiUrl, Data:{daycount:self.DayCount, symbol:self.Symbol}, Type:'POST' },
|
|
82066
|
+
Request:{ Url:self.HistoryMinuteApiUrl, Data:{daycount:self.DayCount, symbol:self.Symbol, callcation:callCation }, Type:'POST' },
|
|
82002
82067
|
Self:this,
|
|
82003
82068
|
PreventDefault:false
|
|
82004
82069
|
};
|
|
@@ -82378,11 +82443,9 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
82378
82443
|
dateRange=this.SourceData.GetDateRange();
|
|
82379
82444
|
}
|
|
82380
82445
|
|
|
82381
|
-
var callCation=
|
|
82382
|
-
{
|
|
82383
|
-
|
|
82384
|
-
After:(this.IsShowAfterData && this.DayCount===1)
|
|
82385
|
-
} //集合竞价
|
|
82446
|
+
var callCation={ Before:this.IsShowBeforeData, After:this.IsShowAfterData } //集合竞价
|
|
82447
|
+
if (this.DayCount>1) callCation={ Before:this.IsShowMultiDayBeforeData, After:this.IsShowMultiDayAfterData } //多日集合竞价
|
|
82448
|
+
|
|
82386
82449
|
var obj=
|
|
82387
82450
|
{
|
|
82388
82451
|
Name:'MinuteChartContainer::RequestMinuteData', //类名::函数名
|
|
@@ -135567,7 +135630,7 @@ function HQChartScriptWorker()
|
|
|
135567
135630
|
|
|
135568
135631
|
|
|
135569
135632
|
|
|
135570
|
-
var HQCHART_VERSION="1.1.
|
|
135633
|
+
var HQCHART_VERSION="1.1.13277";
|
|
135571
135634
|
|
|
135572
135635
|
function PrintHQChartVersion()
|
|
135573
135636
|
{
|