hqchart 1.1.12900 → 1.1.12920
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 +2 -2
- package/lib/umychart.vue.js +14 -8
- package/package.json +2 -1
- package/src/jscommon/umychart.NetworkFilterTest.js +21 -0
- package/src/jscommon/umychart.js +29 -6
- package/src/jscommon/umychart.node/umychart.node.js +11661 -8473
- package/src/jscommon/umychart.testdata/000001.sz.minute.kline.js +2681 -0
- package/src/jscommon/umychart.testdata/000151.sz.day.kline.js +6084 -0
- package/src/jscommon/umychart.testdata.js +21 -0
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +30 -7
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.NetworkFilterTest.vue.js +21 -0
- package/src/jscommon/umychart.vue/umychart.vue.js +30 -7
|
@@ -11,7 +11,7 @@ HQData.RequestRealtimeData(data,callback);break;case'KLineChartContainer::Reques
|
|
|
11
11
|
HQData.RequestFlowCapitalData(data,callback);break;case'KLineChartContainer::ReqeustHistoryMinuteData'://分钟全量数据下载
|
|
12
12
|
HQData.RequestHistoryMinuteData(data,callback);break;case'KLineChartContainer::RequestMinuteRealtimeData'://分钟增量数据更新
|
|
13
13
|
HQData.RequestMinuteRealtimeData(data,callback);break;case"JSSymbolData::GetVariantData"://额外的变量数据
|
|
14
|
-
HQData.RequestIndexVariantData(data,callback);break;case"AnnouncementInfo::RequestData":HQData.AnnouncementInfo_RequestData(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];//请求的股票代码
|
|
14
|
+
HQData.RequestIndexVariantData(data,callback);break;case"JSSymbolData::GetOtherSymbolData":HQData.RequestOtherSymbolData(data,callback);break;case"AnnouncementInfo::RequestData":HQData.AnnouncementInfo_RequestData(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
15
|
var dayCount=data.Request.Data.daycount;console.log("[HQData::RequestMinuteData] Symbol="+symbol);var hqchartData=MINUTE_1DAY_DATA;hqchartData.stock[0].symbol=symbol;hqchartData.stock[0].name=symbol;callback(hqchartData);};HQData.RequestMinuteDaysData=function(data,callback){data.PreventDefault=true;var symbol=data.Request.Data.symbol;//请求的股票代码
|
|
16
16
|
var dayCount=data.Request.Data.daycount;console.log("[HQData::RequestMinuteDaysData] Symbol="+symbol);var hqchartData=MINUTE_5DAY_DATA;hqchartData.symbol=symbol;hqchartData.name=symbol;callback(hqchartData);};HQData.RequestHistoryData=function(data,callback){data.PreventDefault=true;var symbol=data.Request.Data.symbol;//请求的股票代码
|
|
17
17
|
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;//请求的股票代码
|
|
@@ -20,4 +20,4 @@ console.log("[HQData::RequestRealtimeData] Symbol="+symbol);var hqchartData=KLIN
|
|
|
20
20
|
console.log("[HQData::RequestHistoryMinuteData] Symbol="+symbol);var hqchartData=KLINE_MINUTE_DATA;hqchartData.name=symbol;hqchartData.symbol=symbol;callback(hqchartData);};HQData.RequestMinuteRealtimeData=function(data,callback){data.PreventDefault=true;var symbol=data.Request.Data.symbol[0];//请求的股票代码
|
|
21
21
|
console.log("[HQData::RequestMinuteRealtimeData] Symbol="+symbol);var hqchartData=JSON.parse((0,_stringify2.default)(KLINE_1MINUTE_DATA));var kItem=hqchartData.data[0];var price=kItem[5];var value=Math.ceil(Math.random()*10)/1000*price;var bUp=Math.ceil(Math.random()*10)>=5;if(bUp)price+=value;else price-=value;kItem[5]=price;kItem[3]=Math.max(price,kItem[3]);kItem[4]=Math.min(price,kItem[4]);hqchartData.name=symbol;hqchartData.symbol=symbol;callback(hqchartData);};HQData.RequestIndexVariantData=function(data,callback){var varName=data.Request.Data.VariantName;//变量名称
|
|
22
22
|
if(varName=="FROMOPEN"){var hqchartData={};//单数据
|
|
23
|
-
hqchartData.Data={Date:20230707,Value:240};hqchartData.DataType=1;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 itemReport={date:kItem.Date,time:kItem.Time,title:"\u516C\u544A("+j+") xxxx"};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.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);};/*暴露外部用的方法*/exports.default={HQData:HQData};
|
|
23
|
+
hqchartData.Data={Date:20230707,Value:240};hqchartData.DataType=1;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 itemReport={date:kItem.Date,time:kItem.Time,title:"\u516C\u544A("+j+") xxxx"};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.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);};/*暴露外部用的方法*/exports.default={HQData:HQData};
|
package/lib/umychart.vue.js
CHANGED
|
@@ -2530,7 +2530,7 @@ this.IsOverlayMaxMin=function(obj){if(!this.ChartKLine)return false;if(!this.Cha
|
|
|
2530
2530
|
if(obj.Text.TextAlign==='right')obj.X-=textWidth;var max=this.ChartKLine.Max,min=this.ChartKLine.Min;var isOverlayMax=false,isOverlayMin=false;var textHeight=20;//字体高度
|
|
2531
2531
|
if(max.X>=obj.X&&max.X<=obj.X+textWidth)//最大值X 坐标不在 刻度文字范围内
|
|
2532
2532
|
{var y1=max.Y+textHeight,y2=max.Y-textHeight;if(y1>=obj.Y-textHeight&&y1<=obj.Y+textHeight||y2>=obj.Y-textHeight&&y2<=obj.Y+textHeight)isOverlayMax=true;}if(isOverlayMax==true)return true;if(min.X>=obj.X&&min.X<=obj.X+textWidth){var y1=min.Y+textHeight,y2=min.Y-textHeight;if(y1>=obj.Y-textHeight&&y1<=obj.Y+textHeight||y2>=obj.Y-textHeight&&y2<=obj.Y+textHeight)isOverlayMin=true;}return isOverlayMax||isOverlayMin;};//分割x,y轴坐标信息
|
|
2533
|
-
this.SplitXYCoordinate=function(){if(this.XYSplit==false){if(this.XSplit){if(this.XSplitOperator
|
|
2533
|
+
this.SplitXYCoordinate=function(){if(this.XYSplit==false){if(this.XSplit){if(this.XSplitOperator)this.XSplitOperator.Operator();if(this.YSplitOperator&&this.YSplitOperator.CustomCoordinate)this.YSplitOperator.CustomCoordinate();}return;}if(this.YSplitOperator!=null)this.YSplitOperator.Operator();if(this.XSplitOperator!=null)this.XSplitOperator.Operator();if(this.Logarithmic)this.SplitLogarithmicXYCoordinate();};this.SplitLogarithmicXYCoordinate=function(){var up=this.Logarithmic.Up;var down=this.Logarithmic.Down;var logHeight=0;//对数额外高度
|
|
2534
2534
|
var count=0;var maxCount=Math.max(up.length,down.length);var aryLogHeight=[];for(var i=0;i<maxCount;++i){aryLogHeight[i]=i*2;}for(var i=0,j=aryLogHeight.length-1;i<up.length;++i,--j){var item=up[i];item.LogHeight=aryLogHeight[j];logHeight+=item.LogHeight;++count;}for(var i=0,j=aryLogHeight.length-1;i<down.length;++i,--j){var item=down[i];item.LogHeight=aryLogHeight[j];logHeight+=item.LogHeight;++count;}var heightRate=2*GetDevicePixelRatio();var top=this.ChartBorder.GetTopEx();var bottom=this.ChartBorder.GetBottomEx();var height=bottom-top;var perHeight=(height-logHeight*heightRate)/count;if(perHeight<0){perHeight=0;heightRate=height/logHeight;}if(this.CoordinateType==1)//反转坐标
|
|
2535
2535
|
{var itemTop=top;for(var i=down.length-1;i>=0;--i)//上部
|
|
2536
2536
|
{var item=down[i];item.Height=perHeight+heightRate*item.LogHeight;item.Top=itemTop;item.Bottom=item.Top+item.Height;itemTop=item.Bottom;}var itemBottom=bottom;for(var i=up.length-1;i>=0;--i)//下部
|
|
@@ -4807,7 +4807,9 @@ this.EndDate;//{ Date:, Index: }
|
|
|
4807
4807
|
this.CenterDate;//{ Date:, Index: }
|
|
4808
4808
|
this.HQChart;this.DragRect;//拖拽边框区域数组 []
|
|
4809
4809
|
this.ShowRangeText={Enable:false,Position:0,//0顶部 1=中间 2=底部
|
|
4810
|
-
Font:g_JSChartResource.RectSelect.RangeTextFont,Color:g_JSChartResource.RectSelect.RangeTextColor,BGColor:g_JSChartResource.RectSelect.RangeTextBGColor,SubPosition:0,SubFont:g_JSChartResource.RectSelect.RangeTextSubFont,SubColor:g_JSChartResource.RectSelect.RangeTextSubColor,SubBGColor:g_JSChartResource.RectSelect.RangeTextSubBGColor};this.BorderCache
|
|
4810
|
+
Font:g_JSChartResource.RectSelect.RangeTextFont,Color:g_JSChartResource.RectSelect.RangeTextColor,BGColor:g_JSChartResource.RectSelect.RangeTextBGColor,SubPosition:0,SubFont:g_JSChartResource.RectSelect.RangeTextSubFont,SubColor:g_JSChartResource.RectSelect.RangeTextSubColor,SubBGColor:g_JSChartResource.RectSelect.RangeTextSubBGColor};this.BorderCache;this.IsOnlyOnePoint=false;//空格选中区间,单点模式
|
|
4811
|
+
this.IsFullFrame=false;//区间选择包含子窗口
|
|
4812
|
+
//设置参数接口
|
|
4811
4813
|
this.SetOption=function(option){if(option){if(option.LineColor)this.LineColor=option.LineColor;if(option.AreaColor)this.AreaColor=option.AreaColor;if(IFrameSplitOperator.IsBool(option.SpaceReselected))this.SpaceReselected=option.SpaceReselected;if(option.ShowRangeText){var item=option.ShowRangeText;if(IFrameSplitOperator.IsBool(item.Enable))this.ShowRangeText.Enable=item.Enable;if(IFrameSplitOperator.IsNumber(item.Position))this.ShowRangeText.Position=item.Position;if(IFrameSplitOperator.IsNumber(item.SubPosition))this.ShowRangeText.SubPosition=item.SubPosition;}}};this.ReloadResource=function(resource){this.LineColor=g_JSChartResource.RectSelect.LineColor;//竖线
|
|
4812
4814
|
this.LineWidth=g_JSChartResource.RectSelect.LineWidth;this.LineDotted=g_JSChartResource.RectSelect.LineDotted;this.AreaColor=g_JSChartResource.RectSelect.AreaColor;//面积
|
|
4813
4815
|
this.ShowRangeText.Font=g_JSChartResource.RectSelect.RangeTextFont;this.ShowRangeText.Color=g_JSChartResource.RectSelect.RangeTextColor;this.ShowRangeText.BGColor=g_JSChartResource.RectSelect.RangeTextBGColor;};this.IsMinuteChart=function(){var className=this.HQChart.ClassName;var isMinuteChart=className=="MinuteChartContainer"||className=="MinuteChartHScreenContainer"?true:false;return isMinuteChart;};this.GetKData=function(){if(!this.HQChart)return null;var isMinuteChart=this.IsMinuteChart();var data=null;if(isMinuteChart){if(!this.HQChart.SourceData)return null;data=this.HQChart.SourceData;}else{if(!this.HQChart.ChartPaint[0])return null;data=this.HQChart.ChartPaint[0].Data;if(!data)return null;}return data;};this.GetPointCount=function(){var count=0;if(this.FirstPoint)++count;if(this.SecondPoint)++count;return count;};this.DateToNumber=function(value,isMinuteChart){if(isMinuteChart){if(IFrameSplitOperator.IsNumber(value.Date))return value.Date*10000+value.Time;else return value.Time;}else{var period=this.HQChart.Period;if(ChartData.IsDayPeriod(period,true))return value.Date;//YYYYMMDD
|
|
@@ -4819,7 +4821,8 @@ if(this.SubClient.FirstPoint&&this.SubClient.SecondPoint){var firstValue=this.Da
|
|
|
4819
4821
|
if(this.SubClient.End.Date<=this.StartDate.Date||this.SubClient.Start.Date>=this.EndDate.Date){this.SubClient.Start=null;this.SubClient.End=null;}else{if(this.SubClient.Start.Date<this.StartDate.Date)this.SubClient.Start.Date=this.StartDate.Date;if(this.SubClient.End.Date>this.EndDate.Date)this.SubClient.End.Date=this.EndDate.Date;}}}};this.GetCenterPoint=function(){if(!this.FirstPoint||!this.SecondPoint)return null;if(!IFrameSplitOperator.IsNumber(this.FirstPoint.DataIndex))return null;if(!IFrameSplitOperator.IsNumber(this.SecondPoint.DataIndex))return null;var count=this.FirstPoint.DataIndex-this.SecondPoint.DataIndex;if(Math.abs(count)<3)return null;var centerIndex=parseInt(this.FirstPoint.DataIndex+(this.SecondPoint.DataIndex-this.FirstPoint.DataIndex)/2);if(centerIndex<0)return null;var data=this.GetKData();if(!data||!data.Data)return null;var kItem=data.Data[centerIndex];if(!kItem)return null;return{Date:kItem.Date,Time:kItem.Time,DataIndex:centerIndex};};this.MovePoint=function(offset){if(!this.FirstPoint||!this.SecondPoint)return false;var data=this.GetKData();if(!data||!data.Data)return false;var dataIndex=this.FirstPoint.DataIndex+offset;var kItem=data.Data[dataIndex];if(!kItem)return false;var firstPoint={Date:kItem.Date,Time:kItem.Time,DataIndex:dataIndex};var dataIndex=this.SecondPoint.DataIndex+offset;var kItem=data.Data[dataIndex];if(!kItem)return false;var secondPoint={Date:kItem.Date,Time:kItem.Time,DataIndex:dataIndex};var dataIndex=this.CenterPoint.DataIndex+offset;var kItem=data.Data[dataIndex];if(!kItem)return false;var centerPoint={Date:kItem.Date,Time:kItem.Time,DataIndex:dataIndex};this.FirstPoint=firstPoint;this.SecondPoint=secondPoint;this.CenterPoint=centerPoint;return true;};this.MoveSubRect=function(step,isLeft){if(!this.FirstPoint||!this.SecondPoint)return false;if(!this.SubClient||!this.SubClient.FirstPoint||!this.SubClient.SecondPoint)return false;var data=this.GetKData();if(!data||!data.Data)return false;//区间范围
|
|
4820
4822
|
var startIndex=Math.min(this.FirstPoint.DataIndex,this.SecondPoint.DataIndex);var endIndex=Math.max(this.FirstPoint.DataIndex,this.SecondPoint.DataIndex);var subStartPoint=this.SubClient.FirstPoint;var subEndPoint=this.SubClient.SecondPoint;if(this.SubClient.FirstPoint.DataIndex>this.SubClient.SecondPoint.DataIndex){var subStartPoint=this.SubClient.SecondPoint;var subEndPoint=this.SubClient.FirstPoint;}var subStartIndex=subStartPoint.DataIndex;var subEndIndex=subEndPoint.DataIndex;if(isLeft){if(subStartIndex<=startIndex)return false;subStartIndex-=step;subEndIndex-=step;}else{if(subEndPoint.DataIndex>=endIndex)return false;subStartIndex+=step;subEndIndex+=step;}var bChanged=false;if(subStartIndex!=subStartPoint.DataIndex){subStartPoint.DataIndex=subStartIndex;var kItem=data.Data[subStartIndex];subStartPoint.Date=kItem.Date;subStartPoint.Time=kItem.Time;bChanged=true;}if(subEndIndex!=subStartPoint.DataIndex){subEndPoint.DataIndex=subEndIndex;var kItem=data.Data[subEndIndex];subEndPoint.Date=kItem.Date;subEndPoint.Time=kItem.Time;bChanged=true;}return bChanged;};this.SetPoint=function(kItem,option){var dataIndex=null;if(option){if(IFrameSplitOperator.IsNumber(option.DataIndex))dataIndex=option.DataIndex;}if(option&&IFrameSplitOperator.IsNumber(option.Index)){switch(option.Index){case 0:this.FirstPoint={Date:kItem.Date,Time:kItem.Time,DataIndex:dataIndex};this.CenterPoint=this.GetCenterPoint();return true;case 1:this.SecondPoint={Date:kItem.Date,Time:kItem.Time,DataIndex:dataIndex};this.CenterPoint=this.GetCenterPoint();return true;case 2://中心偏移
|
|
4821
4823
|
var offset=dataIndex-this.CenterPoint.DataIndex;//this.CenterPoint={ Date:kItem.Date, Time:kItem.Time, DataIndex:dataIndex };
|
|
4822
|
-
if(Math.abs(offset)>0)return this.MovePoint(offset);return false;case 3:this.SubClient.FirstPoint={Date:kItem.Date,Time:kItem.Time,DataIndex:dataIndex};return true;case 4:this.SubClient.SecondPoint={Date:kItem.Date,Time:kItem.Time,DataIndex:dataIndex};return true;default:return false;}}else{if(!this.FirstPoint){this.FirstPoint={Date:kItem.Date,Time:kItem.Time,DataIndex:dataIndex};return true;}if(!this.SecondPoint){this.SecondPoint={Date:kItem.Date,Time:kItem.Time,DataIndex:dataIndex};this.CenterPoint=this.GetCenterPoint();return true;}return false;}};this.ClearPoint=function(){if(this.PreventClose)return false;var bRedraw=false;if(this.FirstPoint){this.FirstPoint=null;bRedraw=true;}if(this.SecondPoint){this.SecondPoint=null;bRedraw=true;}this.SubClient.FirstPoint=null;this.SubClient.SecondPoint=null;return bRedraw;};this.Draw=function(){this.BorderCache=null;this.StartDate=null;this.EndDate=null;this.CenterDate=null;this.DragRect=[];this.SubClient.Start=null;this.SubClient.End=null;if(!this.FirstPoint&&!this.SecondPoint)return;this.SortPoint();var data=this.GetKData();if(!data)return;this.Data=data;if(!this.ChartFrame||!this.ChartFrame.SubFrame)return;var subFrame=this.ChartFrame.SubFrame[0].Frame;if(!subFrame)return;var isHScreen=subFrame.IsHScreen===true;var dataWidth=subFrame.DataWidth;var distanceWidth=subFrame.DistanceWidth;var xPointCount=subFrame.XPointCount;if(isHScreen){var border=subFrame.GetBorder();var xOffset=border.TopEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;var chartright=border.BottomEx;this.BorderCache=border;}else{var border=subFrame.GetBorder();
|
|
4824
|
+
if(Math.abs(offset)>0)return this.MovePoint(offset);return false;case 3:this.SubClient.FirstPoint={Date:kItem.Date,Time:kItem.Time,DataIndex:dataIndex};return true;case 4:this.SubClient.SecondPoint={Date:kItem.Date,Time:kItem.Time,DataIndex:dataIndex};return true;default:return false;}}else{if(this.IsOnlyOnePoint){this.FirstPoint={Date:kItem.Date,Time:kItem.Time,DataIndex:dataIndex};return true;}if(!this.FirstPoint){this.FirstPoint={Date:kItem.Date,Time:kItem.Time,DataIndex:dataIndex};return true;}if(!this.SecondPoint){this.SecondPoint={Date:kItem.Date,Time:kItem.Time,DataIndex:dataIndex};this.CenterPoint=this.GetCenterPoint();return true;}return false;}};this.ClearPoint=function(){if(this.PreventClose)return false;var bRedraw=false;if(this.FirstPoint){this.FirstPoint=null;bRedraw=true;}if(this.SecondPoint){this.SecondPoint=null;bRedraw=true;}this.SubClient.FirstPoint=null;this.SubClient.SecondPoint=null;return bRedraw;};this.Draw=function(){this.BorderCache=null;this.StartDate=null;this.EndDate=null;this.CenterDate=null;this.DragRect=[];this.SubClient.Start=null;this.SubClient.End=null;if(!this.FirstPoint&&!this.SecondPoint)return;this.SortPoint();var data=this.GetKData();if(!data)return;this.Data=data;if(!this.ChartFrame||!this.ChartFrame.SubFrame)return;var subFrame=this.ChartFrame.SubFrame[0].Frame;if(!subFrame)return;var isHScreen=subFrame.IsHScreen===true;var dataWidth=subFrame.DataWidth;var distanceWidth=subFrame.DistanceWidth;var xPointCount=subFrame.XPointCount;if(isHScreen){var border=subFrame.GetBorder();var xOffset=border.TopEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;var chartright=border.BottomEx;this.BorderCache=border;}else{var border=subFrame.GetBorder();if(this.IsFullFrame)border=this.ChartFrame.ChartBorder.GetBorder();//全部指标窗口选中
|
|
4825
|
+
var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;var chartright=border.RightEx;var drawHeight=border.ChartHeight-border.TopTitle-5*GetDevicePixelRatio();var top=border.TopEx;var bottom=border.BottomEx;this.BorderCache=border;}this.Canvas.save();var isDayPeriod=ChartData.IsDayPeriod(this.HQChart.Period,true);var isMinuteChart=this.IsMinuteChart();var startPoint=null,endPoint=null,subStartPoint=null,subEndPoint=null;var startDate=null,startEnd=null;var aryLines=[];for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j,xOffset+=dataWidth+distanceWidth){var item=this.Data.Data[i];if(!item)continue;var left=xOffset;var right=xOffset+dataWidth;if(isMinuteChart)var x=subFrame.GetXFromIndex(j);else var x=left+(right-left)/2;var value=this.DateToNumber(item,isMinuteChart);if(this.StartDate&&value==this.StartDate.Date){startPoint={XIndex:i,X:x,Top:top,Bottom:bottom,PointIndex:this.StartDate.Index,Type:0,Item:item};aryLines.push(startPoint);}if(this.EndDate&&value==this.EndDate.Date){endPoint={XIndex:i,X:x,Top:top,Bottom:bottom,PointIndex:this.EndDate.Index,Type:1,Item:item};aryLines.push(endPoint);}if(this.CenterDate&&value==this.CenterDate.Date){var centerPoint={XIndex:i,X:x,Top:top,Bottom:bottom,PointIndex:this.CenterDate.Index,Type:2,Item:item};aryLines.push(centerPoint);}if(this.SubClient&&this.SubClient.Start&&this.SubClient.End){if(value==this.SubClient.Start.Date){this.SubClient.Start.Point={Date:value,X:x,Top:top,Bottom:bottom,KItem:item};}if(value==this.SubClient.End.Date){this.SubClient.End.Point={Date:value,X:x,Top:top,Bottom:bottom,kItem:item};}}if(!startDate){startDate={Date:value,X:x,Top:top,Bottom:bottom};startEnd={Date:value,X:x,Top:top,Bottom:bottom};}else{startEnd.Date=value;startEnd.X=x;}if(startPoint&&endPoint)break;}this.DrawLines(aryLines);this.DrawArea(startPoint,endPoint,startDate,startEnd,this.AreaColor);if(this.SubClient&&this.SubClient.Start&&this.SubClient.End){this.DrawArea(this.SubClient.Start.Point,this.SubClient.End.Point,startDate,startEnd,this.SubAreaColor,4);if(this.SubClient.Start.Point){var item=this.SubClient.Start.Point;var point={X:item.X,Top:item.Top,Bottom:item.Bottom,PointIndex:item.DataIndex,Type:3,Item:item.KItem};aryLines.push(point);}}this.DrawRangeText(aryLines);this.Canvas.restore();};this.DrawRangeText=function(aryLines){if(!this.ShowRangeText)return;if(this.ShowRangeText.Enable==false)return;//文字
|
|
4823
4826
|
var border=this.BorderCache;var isMinuteChart=this.IsMinuteChart();var period=this.HQChart.Period;var x,y,text;for(var i=0;i<aryLines.length;++i){var item=aryLines[i];if(item.Type===0||item.Type==1||item.Type==3)//第1个点,第2个点
|
|
4824
4827
|
{if(isMinuteChart){var strDate=IFrameSplitOperator.FormatDateString(item.Item.Date,"YYYY-MM-DD");var strTime=IFrameSplitOperator.FormatTimeString(item.Item.Time,"HH:MM");text=strDate+' '+strTime;}else{var strDate=IFrameSplitOperator.FormatDateString(item.Item.Date,"YYYY-MM-DD");var strTime=null;if(ChartData.IsMinutePeriod(period,true))strTime=IFrameSplitOperator.FormatTimeString(item.Item.Time,"HH:MM");else if(ChartData.IsSecondPeriod(period)||ChartData.IsTickPeriod(period))strTime=IFrameSplitOperator.FormatTimeString(item.Item.Time,"HH:MM:SS");if(strTime)text=strDate+' '+strTime;else text=strDate;}if(item.Type==3){var postion=this.ShowRangeText.SubPosition;var bgColor=this.ShowRangeText.SubBGColor;var textColor=this.ShowRangeText.SubColor;this.Canvas.font=this.ShowRangeText.SubFont;var textHeight=this.GetFontHeight();}else{var postion=this.ShowRangeText.Position;var bgColor=this.ShowRangeText.BGColor;var textColor=this.ShowRangeText.Color;this.Canvas.font=this.ShowRangeText.Font;var textHeight=this.GetFontHeight();}var textWidth=this.Canvas.measureText(text).width+4;var rtBG={Height:textHeight,Width:textWidth};if(item.Type==0||item.Type==3)//第1个点
|
|
4825
4828
|
{if(textWidth>item.X){this.Canvas.textAlign="left";this.Canvas.textBaseline="middle";x=item.X+2;rtBG.X=item.X;}else{this.Canvas.textAlign="right";this.Canvas.textBaseline="middle";x=item.X-2;rtBG.X=item.X-textWidth;}}else if(item.Type==1)//第2个点
|
|
@@ -5123,7 +5126,10 @@ this.Frame.HorizontalInfo.splice(0,0,item);}this.Frame.Logarithmic={Up:aryUp,Dow
|
|
|
5123
5126
|
if(!isFixedMaxMin)this.IntegerCoordinateSplit(splitData);this.Frame.HorizontalInfo=[];for(var i=0,value=splitData.Min;i<splitData.Count;++i,value+=splitData.Interval){this.Frame.HorizontalInfo[i]=new CoordinateInfo();this.Frame.HorizontalInfo[i].Value=value;if(this.IsShowLeftText)this.Frame.HorizontalInfo[i].Message[0]=value.toFixed(floatPrecision);if(this.IsShowRightText)this.Frame.HorizontalInfo[i].Message[1]=value.toFixed(floatPrecision);}};this.SplitFixed=function(splitData,floatPrecision)//固定分割坐标
|
|
5124
5127
|
{this.Frame.HorizontalInfo=[];for(var i=0,value=splitData.Min;i<splitData.Count;++i,value+=splitData.Interval){this.Frame.HorizontalInfo[i]=new CoordinateInfo();this.Frame.HorizontalInfo[i].Value=value;if(this.IsShowLeftText)this.Frame.HorizontalInfo[i].Message[0]=value.toFixed(floatPrecision);if(this.IsShowRightText)this.Frame.HorizontalInfo[i].Message[1]=value.toFixed(floatPrecision);}};this.SplitFixedV2=function(splitData,floatPrecision)//固定分割坐标
|
|
5125
5128
|
{this.Frame.HorizontalInfo=[];for(var i=0,value=splitData.Min;i<splitData.Count;++i,value+=splitData.Interval){this.Frame.HorizontalInfo[i]=new CoordinateInfo();this.Frame.HorizontalInfo[i].Value=value;if(this.IsShowLeftText)this.Frame.HorizontalInfo[i].Message[0]=value.toFixed(floatPrecision);if(this.IsShowRightText)this.Frame.HorizontalInfo[i].Message[1]=value.toFixed(floatPrecision);}if(!splitData.IsFixedMaxMin)//缩放不需要调整大小
|
|
5126
|
-
{if(floatPrecision==0){splitData.Max+=1;splitData.Min-=1;}else if(floatPrecision==1){splitData.Max+=0.1;splitData.Min-=0.1;}else if(floatPrecision==2){splitData.Max+=0.01;splitData.Min-=0.01;}}};this.CustomCoordinate=function(floatPrecision){
|
|
5129
|
+
{if(floatPrecision==0){splitData.Max+=1;splitData.Min-=1;}else if(floatPrecision==1){splitData.Max+=0.1;splitData.Min-=0.1;}else if(floatPrecision==2){splitData.Max+=0.01;splitData.Min-=0.01;}}};this.CustomCoordinate=function(floatPrecision){if(!IFrameSplitOperator.IsNumber(floatPrecision)){var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
|
|
5130
|
+
var width=this.Frame.ChartBorder.GetChartWidth();//画布的宽度
|
|
5131
|
+
var isPhoneModel=width<450*pixelTatio;floatPrecision=GetfloatPrecision(this.Symbol);if(isPhoneModel&&MARKET_SUFFIX_NAME.IsSHSZIndex(this.Symbol))floatPrecision=0;//手机端指数不显示小数位数,太长了
|
|
5132
|
+
if(this.FloatPrecision!=null)floatPrecision=this.FloatPrecision;}this.Frame.CustomHorizontalInfo=[];var data=this.InvokeCustomYCoordinateCallback();if(data&&data.PreventDefault==true)return;var lastCoordinate,pageLastCoordinate;for(var i=0;i<this.Custom.length;++i){var item=this.Custom[i];if(item.Type==JSCHART_CUSTOM_YCOORDINATE_ID.LATEST_VALUE_ID||item.Type==JSCHART_CUSTOM_YCOORDINATE_ID.PAGE_DATA_INCREASE||item.Type==JSCHART_CUSTOM_YCOORDINATE_ID.PAGE_LAST_PRICE_ID){var dec=floatPrecision;//外部设置小数位数
|
|
5127
5133
|
if(IFrameSplitOperator.IsNumber(item.FloatPrecision)&&item.FloatPrecision>=0)dec=item.FloatPrecision;var latestItem=this.GetLatestPrice(dec,item);if(latestItem){if(item.Type==JSCHART_CUSTOM_YCOORDINATE_ID.LATEST_VALUE_ID)lastCoordinate=latestItem;else if(item.Type==JSCHART_CUSTOM_YCOORDINATE_ID.PAGE_LAST_PRICE_ID)pageLastCoordinate=latestItem;else this.Frame.CustomHorizontalInfo.push(latestItem);}}else if(item.Type==JSCHART_CUSTOM_YCOORDINATE_ID.FIXED_VALUE_ID)//固定刻度
|
|
5128
5134
|
{this.CustomFixedCoordinate(item);}else if(item.Type==JSCHART_CUSTOM_YCOORDINATE_ID.PAGE_LAST_INDEX_VALUE_ID)//当前屏指标最后一个数据
|
|
5129
5135
|
{this.CustomLatestIndexDataCoordinate(item);}}//当前页最后一个数据和最新数据刻度如果相同,只显示一个
|
|
@@ -7387,7 +7393,7 @@ this.AddKLineInfo=function(infoName,bUpdate){var classInfo=JSKLineInfoMap.GetCla
|
|
|
7387
7393
|
return;}var infoItem=JSKLineInfoMap.Get(infoName);if(!infoItem)return;var item=infoItem.Create();item.MaxRequestDataCount=this.MaxRequestDataCount;this.ChartInfo.push(item);if(bUpdate==true){item.RequestData(this);//信息地雷信息
|
|
7388
7394
|
}};//删除信息地理
|
|
7389
7395
|
this.DeleteKLineInfo=function(infoName){var classInfo=JSKLineInfoMap.GetClassInfo(infoName);if(!classInfo){console.warn("[KLineChartContainer::DeleteKLineInfo] can't find infoname=",infoName);return;}for(var i in this.ChartInfo){var item=this.ChartInfo[i];if(item.ClassName==classInfo.ClassName){this.ChartInfo.splice(i,1);this.UpdataChartInfo();this.Draw();break;}}};//清空所有的信息地理
|
|
7390
|
-
this.ClearKLineInfo=function(){if(!this.ChartInfo||this.ChartInfo.length<=0)return;this.ChartInfo=[];var klinePaint=this.ChartPaint[0];klinePaint.InfoData=null;this.Draw();};//增加叠加股票
|
|
7396
|
+
this.ClearKLineInfo=function(){if(!this.ChartInfo||this.ChartInfo.length<=0)return;this.ChartInfo=[];var klinePaint=this.ChartPaint[0];klinePaint.InfoData=null;this.Draw();};//增加叠加股票
|
|
7391
7397
|
this.OverlaySymbol=function(symbol,option){for(var i in this.OverlayChartPaint){var item=this.OverlayChartPaint[i];if(item.Symbol===symbol){console.warn('[KLineChartContainer::OverlaySymbol] overlay symbol='+symbol+' exist.');return false;}}var paint=new ChartOverlayKLine();paint.Canvas=this.Canvas;paint.ChartBorder=this.Frame.SubFrame[0].Frame.ChartBorder;paint.ChartFrame=this.Frame.SubFrame[0].Frame;paint.Name="Overlay-KLine";paint.DrawType=this.KLineDrawType;paint.Symbol=symbol;paint.Identify='Overlay-KLine-'+symbol;if(option&&option.Color)paint.Color=option.Color;else paint.Color=g_JSChartResource.OverlaySymbol.Color[g_JSChartResource.OverlaySymbol.Random%g_JSChartResource.OverlaySymbol.Color.length];paint.SetOption(option);++g_JSChartResource.OverlaySymbol.Random;if(this.ChartPaint[0]&&this.ChartPaint[0].Data&&this.SourceData)paint.MainData=this.ChartPaint[0].Data;//绑定主图数据
|
|
7392
7398
|
this.OverlayChartPaint.push(paint);if(ChartData.IsDayPeriod(this.Period,true))this.RequestOverlayHistoryData();//请求日线数据
|
|
7393
7399
|
else if(ChartData.IsMinutePeriod(this.Period,true))this.RequestOverlayHistoryMinuteData();//请求分钟历史数据
|
|
@@ -8893,8 +8899,8 @@ SHO:'.SHO',//上海交易所 股票期权
|
|
|
8893
8899
|
SZO:".SZO",//深证交易所 股票期权
|
|
8894
8900
|
HK:'.HK',//港股
|
|
8895
8901
|
FHK:'.FHK',//港股期货
|
|
8896
|
-
SHFE:'.SHF',//上期所 (Shanghai Futures Exchange)
|
|
8897
|
-
SHFE2:'.SHFE',//上期所 (Shanghai Futures Exchange)
|
|
8902
|
+
SHFE:'.SHF',//上期所 (Shanghai Futures Exchange) | 上期所-能源
|
|
8903
|
+
SHFE2:'.SHFE',//上期所 (Shanghai Futures Exchange) | 上期所-能源
|
|
8898
8904
|
CFFEX:'.CFE',//中期所 (China Financial Futures Exchange)
|
|
8899
8905
|
DCE:'.DCE',//大连商品交易所(Dalian Commodity Exchange)
|
|
8900
8906
|
CZCE:'.CZC',//郑州期货交易所
|
|
@@ -12795,7 +12801,7 @@ hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,St
|
|
|
12795
12801
|
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);};}/********************************************************************************
|
|
12796
12802
|
* 版本信息输出
|
|
12797
12803
|
*
|
|
12798
|
-
*/var HQCHART_VERSION="1.1.
|
|
12804
|
+
*/var HQCHART_VERSION="1.1.12919";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();//把给外界调用的方法暴露出来
|
|
12799
12805
|
exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
|
|
12800
12806
|
// BaseIndex:BaseIndex,
|
|
12801
12807
|
// ChartLine:ChartLine,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hqchart",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.12920",
|
|
4
4
|
"description": "HQChart - H5, 微信小程序 沪深/港股/数字货币/期货/美股 K线图(kline),走势图,缩放,拖拽,十字光标,画图工具,截图,筹码图. 分析家语法,通达信语法,(麦语法),第3方数据对接",
|
|
5
5
|
"main": "lib/main.js",
|
|
6
6
|
"scripts": {
|
|
@@ -29,6 +29,7 @@
|
|
|
29
29
|
},
|
|
30
30
|
"homepage": "https://github.com/jones2000/HQChart#readme",
|
|
31
31
|
"devDependencies": {
|
|
32
|
+
"babel-runtime": "^6.26.0",
|
|
32
33
|
"jquery": "^3.7.1"
|
|
33
34
|
}
|
|
34
35
|
}
|
|
@@ -48718,10 +48718,17 @@ HQData.NetworkFilter=function(data, callback)
|
|
|
48718
48718
|
HQData.RequestIndexVariantData(data,callback);
|
|
48719
48719
|
break;
|
|
48720
48720
|
|
|
48721
|
+
case "JSSymbolData::GetOtherSymbolData":
|
|
48722
|
+
HQData.RequestOtherSymbolData(data, callback);
|
|
48723
|
+
break;
|
|
48724
|
+
|
|
48721
48725
|
case "AnnouncementInfo::RequestData":
|
|
48722
48726
|
HQData.AnnouncementInfo_RequestData(data,callback);
|
|
48723
48727
|
break;
|
|
48724
48728
|
|
|
48729
|
+
|
|
48730
|
+
|
|
48731
|
+
|
|
48725
48732
|
case "PforecastInfo::RequestData":
|
|
48726
48733
|
HQData.PforecastInfo_RequestData(data,callback);
|
|
48727
48734
|
break;
|
|
@@ -48866,6 +48873,20 @@ HQData.RequestIndexVariantData=function(data,callback)
|
|
|
48866
48873
|
|
|
48867
48874
|
}
|
|
48868
48875
|
|
|
48876
|
+
HQData.RequestOtherSymbolData=function(data, callback)
|
|
48877
|
+
{
|
|
48878
|
+
data.PreventDefault=true;
|
|
48879
|
+
var symbol=data.Request.Data.symbol;
|
|
48880
|
+
var period=data.Request.Data.period;
|
|
48881
|
+
var right=data.Request.Data.right;
|
|
48882
|
+
var hqchartData=null;
|
|
48883
|
+
if (ChartData.IsDayPeriod(period,true)) hqchartData=KLINE_DAY_DATA2;
|
|
48884
|
+
else if (ChartData.IsMinutePeriod(period,true)) hqchartData=KLINE_MINUTE_DATA2;
|
|
48885
|
+
hqchartData.name=symbol;
|
|
48886
|
+
hqchartData.symbol=symbol;
|
|
48887
|
+
callback(hqchartData);
|
|
48888
|
+
}
|
|
48889
|
+
|
|
48869
48890
|
HQData.AnnouncementInfo_RequestData=function(data,callback)
|
|
48870
48891
|
{
|
|
48871
48892
|
data.PreventDefault=true;
|
package/src/jscommon/umychart.js
CHANGED
|
@@ -5906,7 +5906,8 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
5906
5906
|
var sendData={ MouseStatus:null, X:x, Y:y, FrameID:frameID, e:e };
|
|
5907
5907
|
if (this.TryMouseMove_CustomChartDrag(sendData))
|
|
5908
5908
|
{
|
|
5909
|
-
if (sendData.MouseStatus)
|
|
5909
|
+
if (sendData.MouseStatus)
|
|
5910
|
+
mouseStatus=sendData.MouseStatus;
|
|
5910
5911
|
}
|
|
5911
5912
|
|
|
5912
5913
|
var bDrawPicture=false; //是否正在画图
|
|
@@ -5956,7 +5957,8 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
5956
5957
|
}
|
|
5957
5958
|
else
|
|
5958
5959
|
{
|
|
5959
|
-
if (!this.MouseDrag)
|
|
5960
|
+
if (!this.MouseDrag)
|
|
5961
|
+
this.SetCursor({Cursor:"default"}); //this.UIElement.style.cursor="default";
|
|
5960
5962
|
}
|
|
5961
5963
|
}
|
|
5962
5964
|
|
|
@@ -14375,8 +14377,10 @@ function KLineFrame()
|
|
|
14375
14377
|
{
|
|
14376
14378
|
if (this.XSplit)
|
|
14377
14379
|
{
|
|
14378
|
-
if (this.XSplitOperator
|
|
14380
|
+
if (this.XSplitOperator) this.XSplitOperator.Operator();
|
|
14381
|
+
if (this.YSplitOperator && this.YSplitOperator.CustomCoordinate) this.YSplitOperator.CustomCoordinate();
|
|
14379
14382
|
}
|
|
14383
|
+
|
|
14380
14384
|
return;
|
|
14381
14385
|
}
|
|
14382
14386
|
|
|
@@ -40732,6 +40736,8 @@ function RectSelectPaint()
|
|
|
40732
40736
|
};
|
|
40733
40737
|
|
|
40734
40738
|
this.BorderCache;
|
|
40739
|
+
this.IsOnlyOnePoint=false; //空格选中区间,单点模式
|
|
40740
|
+
this.IsFullFrame=false; //区间选择包含子窗口
|
|
40735
40741
|
|
|
40736
40742
|
//设置参数接口
|
|
40737
40743
|
this.SetOption=function(option)
|
|
@@ -41062,6 +41068,12 @@ function RectSelectPaint()
|
|
|
41062
41068
|
}
|
|
41063
41069
|
else
|
|
41064
41070
|
{
|
|
41071
|
+
if (this.IsOnlyOnePoint)
|
|
41072
|
+
{
|
|
41073
|
+
this.FirstPoint={ Date:kItem.Date, Time:kItem.Time, DataIndex:dataIndex };
|
|
41074
|
+
return true;
|
|
41075
|
+
}
|
|
41076
|
+
|
|
41065
41077
|
if (!this.FirstPoint)
|
|
41066
41078
|
{
|
|
41067
41079
|
this.FirstPoint={ Date:kItem.Date, Time:kItem.Time, DataIndex:dataIndex };
|
|
@@ -41136,6 +41148,7 @@ function RectSelectPaint()
|
|
|
41136
41148
|
else
|
|
41137
41149
|
{
|
|
41138
41150
|
var border=subFrame.GetBorder();
|
|
41151
|
+
if (this.IsFullFrame) border=this.ChartFrame.ChartBorder.GetBorder(); //全部指标窗口选中
|
|
41139
41152
|
var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;
|
|
41140
41153
|
var chartright=border.RightEx;
|
|
41141
41154
|
var drawHeight=border.ChartHeight-border.TopTitle-5*GetDevicePixelRatio();
|
|
@@ -44106,6 +44119,16 @@ function FrameSplitKLinePriceY()
|
|
|
44106
44119
|
|
|
44107
44120
|
this.CustomCoordinate=function(floatPrecision)
|
|
44108
44121
|
{
|
|
44122
|
+
if (!IFrameSplitOperator.IsNumber(floatPrecision))
|
|
44123
|
+
{
|
|
44124
|
+
var pixelTatio = GetDevicePixelRatio(); //获取设备的分辨率
|
|
44125
|
+
var width=this.Frame.ChartBorder.GetChartWidth(); //画布的宽度
|
|
44126
|
+
var isPhoneModel=width<450*pixelTatio;
|
|
44127
|
+
floatPrecision=GetfloatPrecision(this.Symbol);
|
|
44128
|
+
if (isPhoneModel && MARKET_SUFFIX_NAME.IsSHSZIndex(this.Symbol)) floatPrecision = 0; //手机端指数不显示小数位数,太长了
|
|
44129
|
+
if (this.FloatPrecision!=null) floatPrecision=this.FloatPrecision;
|
|
44130
|
+
}
|
|
44131
|
+
|
|
44109
44132
|
this.Frame.CustomHorizontalInfo=[];
|
|
44110
44133
|
|
|
44111
44134
|
var data=this.InvokeCustomYCoordinateCallback();
|
|
@@ -69015,7 +69038,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
69015
69038
|
this.Draw();
|
|
69016
69039
|
}
|
|
69017
69040
|
|
|
69018
|
-
//增加叠加股票
|
|
69041
|
+
//增加叠加股票
|
|
69019
69042
|
this.OverlaySymbol=function(symbol,option)
|
|
69020
69043
|
{
|
|
69021
69044
|
for(var i in this.OverlayChartPaint)
|
|
@@ -84731,8 +84754,8 @@ var MARKET_SUFFIX_NAME=
|
|
|
84731
84754
|
SZO:".SZO", //深证交易所 股票期权
|
|
84732
84755
|
HK:'.HK', //港股
|
|
84733
84756
|
FHK:'.FHK', //港股期货
|
|
84734
|
-
SHFE: '.SHF', //上期所 (Shanghai Futures Exchange)
|
|
84735
|
-
SHFE2:'.SHFE', //上期所 (Shanghai Futures Exchange)
|
|
84757
|
+
SHFE: '.SHF', //上期所 (Shanghai Futures Exchange) | 上期所-能源
|
|
84758
|
+
SHFE2:'.SHFE', //上期所 (Shanghai Futures Exchange) | 上期所-能源
|
|
84736
84759
|
CFFEX: '.CFE', //中期所 (China Financial Futures Exchange)
|
|
84737
84760
|
DCE: '.DCE', //大连商品交易所(Dalian Commodity Exchange)
|
|
84738
84761
|
CZCE: '.CZC', //郑州期货交易所
|