hqchart 1.1.14179 → 1.1.14183
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/umychart.vue.js
CHANGED
|
@@ -1510,7 +1510,8 @@ ON_FORMAT_DIALOG_TOOLTIP:159,//格式化Tooltip对话框显示文字
|
|
|
1510
1510
|
ON_CHANGE_KLINE_RIGHT:160,//切换复权
|
|
1511
1511
|
ON_FORMAT_KLINE_FLOAT_TOOLTIP:161,//格式化k线浮动框显示文字
|
|
1512
1512
|
ON_FORMAT_KLINE_INFO_FLOAT_TOOLTIP:162,//格式化信息地雷显示文字
|
|
1513
|
-
SEARCH_DIALOG_ON_CLICK_INDEX:163
|
|
1513
|
+
SEARCH_DIALOG_ON_CLICK_INDEX:163,//切换指标-指标对话框
|
|
1514
|
+
ON_CALCULATE_CHIP_DATA:164//计算筹码数据 (筹码图用)
|
|
1514
1515
|
};var JSCHART_OPERATOR_ID={OP_SCROLL_LEFT:1,//往左移动
|
|
1515
1516
|
OP_SCROLL_RIGHT:2,//往右移动
|
|
1516
1517
|
OP_ZOOM_OUT:3,//缩小
|
|
@@ -3333,7 +3334,7 @@ var CUSTOM_MINUTE_PERIOD_START=20000,CUSTOM_MINUTE_PERIOD_END=29999;ChartData.Is
|
|
|
3333
3334
|
var CUSTOM_SECOND_PERIOD_START=30000,CUSTOM_SECOND_PERIOD_END=32000;ChartData.IsSecondPeriod=function(period){if(period>CUSTOM_SECOND_PERIOD_START&&period<=CUSTOM_SECOND_PERIOD_END)return true;return false;};var CUSTOM_MILLISECOND_PERIOD_START=50000,CUSTOM_MILLISECOND_PERIOD_END=60000;ChartData.IsMilliSecondPeriod=function(period){if(period>CUSTOM_MILLISECOND_PERIOD_START&&period<=CUSTOM_MILLISECOND_PERIOD_END)return true;return false;};//是否是分笔图 10=分笔
|
|
3334
3335
|
ChartData.IsTickPeriod=function(period){return period==10;};//获取周期名字
|
|
3335
3336
|
ChartData.GetPeriodName=function(period){var mapName=new _map2.default([[0,'日线'],[1,'周线'],[2,'月线'],[3,'年线'],[9,'季线'],[21,'双周'],[22,"半年"],[4,'1分'],[5,'5分'],[6,'15分'],[7,'30分'],[8,'60分'],[11,'2小时'],[12,'4小时'],[10,'分笔']]);if(mapName.has(period))return mapName.get(period);return'';};function TooltipData()//提示信息
|
|
3336
|
-
{this.ChartPaint;this.Data;this.Type=0;}function Rect(x,y,width,height){this.X=x,this.Y=y;this.Width=width;this.Height=height;}//图形外部挂接
|
|
3337
|
+
{this.ChartPaint;this.Data;this.Type=0;}function Rect(x,y,width,height){this.X=x,this.Y=y;this.Width=width;this.Height=height;this.PtInRect=function(x,y){var left=this.X,right=this.X+this.Width;var top=this.Y,bottom=this.Y+this.Height;if(x>=left&&x<=right&&y>=top&&y<=bottom)return true;return false;};}//图形外部挂接
|
|
3337
3338
|
function ChartPaintFactory(){//[key:name, { Create:function(option) { return new class(); }} ]
|
|
3338
3339
|
this.DataMap=new _map2.default([["ChartKLine",{Create:function Create(option){return new ChartKLine();}}],//K线图
|
|
3339
3340
|
["ChartMinuteVolumBar",{Create:function Create(option){return new ChartMinuteVolumBar();}}],//分时成交量柱子
|
|
@@ -4328,10 +4329,10 @@ this.BuildKey=function(item){if(IFrameSplitOperator.IsNumber(item.Time))return i
|
|
|
4328
4329
|
{if(isHScreen==true){var left=this.ChartBorder.GetLeft();var right=this.ChartBorder.GetRight();var top=this.ChartBorder.GetTop();var bottom=this.ChartBorder.GetBottom();}else{var left=this.ChartBorder.GetLeft();var right=this.ChartBorder.GetRight();var top=this.ChartBorder.GetTop();var bottom=this.ChartBorder.GetBottom();}this.Canvas.beginPath();this.Canvas.rect(left,top,right-left,bottom-top);//this.Canvas.stroke(); //调试用
|
|
4329
4330
|
this.Canvas.clip();};this.Draw=function(){this.IconRect=[];if(!this.IsShow||this.ChartFrame.IsMinSize||!this.IsVisible)return;if(this.IsShowIndexTitleOnly())return;if(this.IsHideScriptIndex())return;if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return;//k线数据
|
|
4330
4331
|
if(!this.Family)return;if(!this.MapCache||this.MapCache.size<=0)return;this.IsHScreen=this.ChartFrame.IsHScreen===true;var xPointCount=this.ChartFrame.XPointCount;var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var isMinute=this.IsMinuteFrame();var border=this.GetBorder();if(this.IsHScreen){var xOffset=border.TopEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;var chartright=border.BottomEx;var chartLeft=border.TopEx;}else{var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;var chartright=border.RightEx;var chartLeft=border.LeftEx;}this.Canvas.save();this.ClipClient(this.ChartFrame.IsHScreen);var fontSize=this.GetDynamicIconSize(dataWidth,distanceWidth,this.IconSize.Max,this.IconSize.Min,this.IconSize.Zoom);this.Canvas.font=fontSize+'px '+this.Family;var drawInfo={Left:chartLeft,Right:chartright,FontSize:fontSize,DataWidth:dataWidth,DistanceWidth:distanceWidth};for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j,xOffset+=dataWidth+distanceWidth){var kItem=this.Data.Data[i];var key=this.BuildKey(kItem);if(!this.MapCache.has(key))continue;var mapItem=this.MapCache.get(key);if(isMinute){var x=this.ChartFrame.GetXFromIndex(j);}else{var left=xOffset;var right=xOffset+dataWidth;if(right>chartright)break;var x=left+(right-left)/2;}this.DrawItem(mapItem,kItem,x,drawInfo);}this.Canvas.restore();};this.GetKValue=function(kItem,valueName){switch(valueName){case"HIGH":case"H":return kItem.High;case"L":case"LOW":return kItem.Low;case"C":case"CLOSE":return kItem.Close;case"O":case"OPEN":return KItem.Open;default:return null;}};this.DrawItem=function(groupItem,kItem,x,drawInfo){if(!IFrameSplitOperator.IsNonEmptyArray(groupItem.Data))return;var fontSize=drawInfo.FontSize;var left=drawInfo.Left,right=drawInfo.Right;var dataWidth=drawInfo.DataWidth;//var distanceWidth=drawInfo.DistanceWidth;
|
|
4331
|
-
for(var i=0;i<groupItem.Data.length;++i){var item=groupItem.Data[i];var value=item.Value;if(IFrameSplitOperator.IsString(item.Value))value=this.GetKValue(kItem,item.Value);if(!IFrameSplitOperator.IsNumber(value))continue;var y=this.ChartFrame.GetYFromData(item.Value,false);if(item.Color)this.Canvas.fillStyle=item.Color;else this.Canvas.fillStyle=this.Color;var textWidth=this.Canvas.measureText(item.Symbol).width;this.Canvas.textAlign='center';var rtIcon=new Rect(x-fontSize/2,y-fontSize/2,fontSize,fontSize);if(item.Baseline==1){this.Canvas.textBaseline='top';rtIcon.Y=y;}else if(item.Baseline==2){this.Canvas.textBaseline='bottom';rtIcon.Y=y-fontSize;}else{this.Canvas.textBaseline='middle';rtIcon.Y=y-fontSize/2;}if(this.IsHScreen){this.Canvas.save();this.Canvas.translate(y,x);this.Canvas.rotate(90*Math.PI/180);this.Canvas.fillText(item.Symbol,0,0);this.Canvas.restore();}else{if(IFrameSplitOperator.IsNumber(item.YMove))y+=item.YMove;this.Canvas.fillText(item.Symbol,x,y);if(item.Text)this.IconRect.push({Rect:rtIcon,Item:item,KItem:kItem});else if(IFrameSplitOperator.IsNonEmptyArray(item.AryText))this.IconRect.push({Rect:rtIcon,Item:item,KItem:kItem});}if(item.Line){var price=item.Line.KData=="H"?kItem.High:kItem.Low;var yPrice=this.ChartFrame.GetYFromData(price,false);var yText=y;if(Array.isArray(item.Line.Offset)&&item.Line.Offset.length==2){if(yText>yPrice)//文字在下方
|
|
4332
|
+
for(var i=0;i<groupItem.Data.length;++i){var item=groupItem.Data[i];var value=item.Value;if(IFrameSplitOperator.IsString(item.Value))value=this.GetKValue(kItem,item.Value);if(!IFrameSplitOperator.IsNumber(value))continue;var y=this.ChartFrame.GetYFromData(item.Value,false);if(item.Color)this.Canvas.fillStyle=item.Color;else this.Canvas.fillStyle=this.Color;var textWidth=this.Canvas.measureText(item.Symbol).width;this.Canvas.textAlign='center';var rtIcon=new Rect(x-fontSize/2,y-fontSize/2,fontSize,fontSize);if(item.Baseline==1){this.Canvas.textBaseline='top';rtIcon.Y=y;}else if(item.Baseline==2){this.Canvas.textBaseline='bottom';rtIcon.Y=y-fontSize;}else{this.Canvas.textBaseline='middle';rtIcon.Y=y-fontSize/2;}if(this.IsHScreen){this.Canvas.save();this.Canvas.translate(y,x);this.Canvas.rotate(90*Math.PI/180);this.Canvas.fillText(item.Symbol,0,0);this.Canvas.restore();}else{if(IFrameSplitOperator.IsNumber(item.YMove)){y+=item.YMove;rtIcon.Y+=item.YMove;}this.Canvas.fillText(item.Symbol,x,y);if(item.Text)this.IconRect.push({Rect:rtIcon,Item:item,KItem:kItem});else if(IFrameSplitOperator.IsNonEmptyArray(item.AryText))this.IconRect.push({Rect:rtIcon,Item:item,KItem:kItem});}if(item.Line){var price=item.Line.KData=="H"?kItem.High:kItem.Low;var yPrice=this.ChartFrame.GetYFromData(price,false);var yText=y;if(Array.isArray(item.Line.Offset)&&item.Line.Offset.length==2){if(yText>yPrice)//文字在下方
|
|
4332
4333
|
{yText-=item.Line.Offset[1];yPrice+=item.Line.Offset[0];}else if(yText<yPrice){yText+=item.Line.Offset[1];yPrice-=item.Line.Offset[0];}}this.Canvas.save();if(item.Line.Dash)this.Canvas.setLineDash(item.Line.Dash);//虚线
|
|
4333
4334
|
if(item.Line.Width>0)this.Canvas.lineWidth=item.Line.Width;//线宽
|
|
4334
|
-
this.Canvas.strokeStyle=item.Line.Color;this.Canvas.beginPath();if(this.IsHScreen){this.Canvas.moveTo(yText,ToFixedPoint(x));this.Canvas.lineTo(yPrice,ToFixedPoint(x));}else{this.Canvas.moveTo(ToFixedPoint(x),yText);this.Canvas.lineTo(ToFixedPoint(x),yPrice);}this.Canvas.stroke();this.Canvas.restore();}}};this.GetTooltipData=function(x,y,tooltip){if(!IFrameSplitOperator.IsNonEmptyArray(this.IconRect))return false;for(var i=0;i<this.IconRect.length;++i){var item=this.IconRect[i];if(!item.Rect)continue;var rect=item.Rect;
|
|
4335
|
+
this.Canvas.strokeStyle=item.Line.Color;this.Canvas.beginPath();if(this.IsHScreen){this.Canvas.moveTo(yText,ToFixedPoint(x));this.Canvas.lineTo(yPrice,ToFixedPoint(x));}else{this.Canvas.moveTo(ToFixedPoint(x),yText);this.Canvas.lineTo(ToFixedPoint(x),yPrice);}this.Canvas.stroke();this.Canvas.restore();}}};this.GetTooltipData=function(x,y,tooltip){if(!IFrameSplitOperator.IsNonEmptyArray(this.IconRect))return false;for(var i=0;i<this.IconRect.length;++i){var item=this.IconRect[i];if(!item.Rect)continue;var rect=item.Rect;if(rect&&rect.PtInRect(x,y)){JSConsole.Chart.Log('[ChartMultiSVGIconV2::GetTooltipData] icon ',item);tooltip.Data=item;tooltip.ChartPaint=this;tooltip.Type=4;//指标
|
|
4335
4336
|
return true;}}return false;};this.GetMaxMin=function(){this.IsHScreen=this.ChartFrame.IsHScreen===true;var range={Min:null,Max:null};if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return range;if(!this.MapCache||this.MapCache.size<=0)return;var xPointCount=this.ChartFrame.XPointCount;for(var i=this.Data.DataOffset,j=0,k=0;i<this.Data.Data.length&&j<xPointCount;++i,++j){var kItem=this.Data.Data[i];var key=this.BuildKey(kItem);if(!this.MapCache.has(key))continue;var mapItem=this.MapCache.get(key);if(!IFrameSplitOperator.IsNonEmptyArray(mapItem.Data))continue;for(k=0;k<mapItem.Data.length;++k){var item=mapItem.Data[k];var value=item.Value;if(IFrameSplitOperator.IsString(item.Value))value=this.GetKValue(kItem,item.Value);if(!IFrameSplitOperator.IsNumber(value))continue;if(range.Max==null)range.Max=value;else if(range.Max<value)range.Max=value;if(range.Min==null)range.Min=value;else if(range.Min>value)range.Min=value;}}return range;};}// 多dom节点
|
|
4336
4337
|
function ChartMultiHtmlDom(){this.newMethod=IChartPainting;//派生
|
|
4337
4338
|
this.newMethod();delete this.newMethod;this.ClassName="ChartMultiHtmlDom";this.Texts=[];//[ {Index:, Value:, Text: ] Text=dom内容
|
|
@@ -4701,8 +4702,9 @@ for(var i=0;i<this.Data.AllChip.length;++i){var vol=this.Data.AllChip[i];if(!vol
|
|
|
4701
4702
|
{this.DrawLines(aryProfitPoint,this.ColorBG);this.DrawLines(aryNoProfitPoint,this.ColorBG);}};this.CalculateCast=function()//计算 90% 70%的成本价
|
|
4702
4703
|
{if(!this.Data.ChipInfo||!this.Data.ChipInfo.Vol)return;var aryCast=[{Start:0.05,End:0.95,MaxPrice:0,MinPrice:0,Rate:0},{Start:0.15,End:0.85,MaxPrice:0,MinPrice:0,Rate:0}];var averagePrice=this.Data.ChipInfo.AveragePrice;var totalProfitVol=this.Data.ChipInfo.ProfitVol;var tempVol=0;for(var i=0,castCount=0;i<this.Data.AllChip.length;++i){if(castCount==4)break;var vol=this.Data.AllChip[i];if(vol<=0)continue;var price=(i+this.Data.MinPrice)/this.PriceZoom;tempVol+=vol;var rate=tempVol/totalProfitVol;for(var j in aryCast){var itemCast=aryCast[j];if(itemCast.MinPrice<=0&&rate>itemCast.Start){itemCast.MinPrice=price;++castCount;}if(itemCast.MaxPrice<=0&&rate>itemCast.End){itemCast.MaxPrice=price;++castCount;}}}for(var i in aryCast){var item=aryCast[i];var addPrice=item.MaxPrice+item.MinPrice;if(addPrice)item.Rate=Math.abs(item.MaxPrice-item.MinPrice)/addPrice*100;}this.Data.Cast=aryCast;};this.DrawArea=function(aryPoint,color){if(aryPoint.length<=0)return;this.Canvas.fillStyle=color;this.Canvas.beginPath();this.Canvas.moveTo(this.ClientRect.Left,aryPoint[0].Y);for(var i in aryPoint){var item=aryPoint[i];this.Canvas.lineTo(item.X,item.Y);}this.Canvas.lineTo(this.ClientRect.Left,aryPoint[aryPoint.length-1].Y);this.Canvas.fill();};this.DrawLines=function(aryPoint,color){if(aryPoint.length<=0)return;this.Canvas.strokeStyle=color;this.Canvas.beginPath();for(var i in aryPoint){var item=aryPoint[i];this.Canvas.moveTo(this.ClientRect.Left,item.Y);this.Canvas.lineTo(item.X,item.Y);}this.Canvas.stroke();};this.DrawAveragePriceLine=function(aryProfitPoint,aryNoProfitPoint,y,color){for(var i in aryProfitPoint){var item=aryProfitPoint[i];if(item.Y==y){this.Canvas.strokeStyle=color;this.Canvas.beginPath();this.Canvas.moveTo(this.ClientRect.Left,item.Y);this.Canvas.lineTo(item.X,item.Y);this.Canvas.stroke();return;}}for(var i in aryNoProfitPoint){var item=aryNoProfitPoint[i];if(item.Y==y){this.Canvas.strokeStyle=color;this.Canvas.beginPath();this.Canvas.moveTo(this.ClientRect.Left,item.Y);this.Canvas.lineTo(item.X,item.Y);this.Canvas.stroke();return;}}};this.DrawBorder=function(){this.Canvas.strokeStyle=this.PenBorder;this.Canvas.strokeRect(this.ClientRect.Left,this.ClientRect.Top,this.ClientRect.Width,this.ClientRect.Height);};this.EvenlyDistribute=function(aryChip,data)//平均分布 data={Low, High, Vol, MaxVol, MaxPrice, MinPrice }
|
|
4703
4704
|
{var low=data.Low,high=data.High,maxPrice=data.MaxPrice,minPrice=data.MinPrice,maxVol=1;if(high-low==0)return;var averageVol=data.Vol/(high-low);for(var j=low;j<=high&&j<=maxPrice;++j){var index=j-minPrice;aryChip[index]+=averageVol;if(maxVol<aryChip[index])maxVol=aryChip[index];}data.MaxVol=maxVol;};this.TriangleDistribute=function(aryChip,data)//三角分布
|
|
4704
|
-
{var low=data.Low,high=data.High,maxPrice=data.MaxPrice,minPrice=data.MinPrice,maxVol=1;var ANGLE=45,PI=3.1415926535;var middlePrice=(high-low)/2.0+low;var totalValue=0;var aryVol=[];for(var i=low+1,j=1;i<=middlePrice;++i,++j){var y=Math.tan(ANGLE*PI/180)*j;totalValue+=y;aryVol.push({Index:i-minPrice,Value:y});}for(var i=high-1,j=1;i>middlePrice;--i,++j){var y=Math.tan(ANGLE*PI/180)*j;totalValue+=y;aryVol.push({Index:i-minPrice,Value:y});}if(totalValue>0){for(var i=0;i<aryVol.length;++i){var item=aryVol[i];aryChip[item.Index]+=item.Value*data.Vol/totalValue;if(maxVol<aryChip[item.Index])maxVol=aryChip[item.Index];}data.MaxVol=maxVol;}};this.CalculateDistribute=function(aryChip,data){if(this.CalculateType==1)this.TriangleDistribute(aryChip,data);else this.EvenlyDistribute(aryChip,data);};this.
|
|
4705
|
-
|
|
4705
|
+
{var low=data.Low,high=data.High,maxPrice=data.MaxPrice,minPrice=data.MinPrice,maxVol=1;var ANGLE=45,PI=3.1415926535;var middlePrice=(high-low)/2.0+low;var totalValue=0;var aryVol=[];for(var i=low+1,j=1;i<=middlePrice;++i,++j){var y=Math.tan(ANGLE*PI/180)*j;totalValue+=y;aryVol.push({Index:i-minPrice,Value:y});}for(var i=high-1,j=1;i>middlePrice;--i,++j){var y=Math.tan(ANGLE*PI/180)*j;totalValue+=y;aryVol.push({Index:i-minPrice,Value:y});}if(totalValue>0){for(var i=0;i<aryVol.length;++i){var item=aryVol[i];aryChip[item.Index]+=item.Value*data.Vol/totalValue;if(maxVol<aryChip[item.Index])maxVol=aryChip[item.Index];}data.MaxVol=maxVol;}};this.CalculateDistribute=function(aryChip,data){if(this.CalculateType==1)this.TriangleDistribute(aryChip,data);else this.EvenlyDistribute(aryChip,data);};this.SendCalculateChipEvent=function(){var event=this.HQChart.GetEventCallback(JSCHART_EVENT_ID.ON_CALCULATE_CHIP_DATA);if(!event)return null;var bindData=this.HQChart.ChartPaint[0].Data;var curIndex=bindData.DataOffset+parseInt(this.HQChart.CursorIndex);var sendData={Symbol:this.HQChart.Symbol,Period:this.HQChart.Period,KData:bindData,CurrentIndex:curIndex,Y:this.HQChart.LastPoint.Y,HQChart:this.HQChart,ShowType:this.ShowType,CalculateType:this.CalculateType,PreventDefault:false,Result:null//true/false
|
|
4706
|
+
};event.Callback(event,sendData,this);return sendData;};this.CalculateChip=function()//计算筹码
|
|
4707
|
+
{if(!this.HQChart)return false;if(!this.HQChart.FlowCapitalReady)return false;var symbol=this.HQChart.Symbol;if(!symbol)return false;var recvData=this.SendCalculateChipEvent();if(recvData&&recvData.PreventDefault)return recvData.Result;if(MARKET_SUFFIX_NAME.IsSHSZIndex(symbol))return false;//指数暂时不支持移动筹码
|
|
4706
4708
|
var bindData=this.HQChart.ChartPaint[0].Data;//if (bindData.Period>=4) return false; //分钟K线不支持, 没时间做,以后再做吧
|
|
4707
4709
|
var count=bindData.DataOffset+parseInt(this.HQChart.CursorIndex);if(count>=bindData.Data.length)count=bindData.Data.length-1;var selData=bindData.Data[count];var yPrice=selData.Close;var mouseY=this.HQChart.LastPoint.Y;if(mouseY)yPrice=this.HQChart.Frame.SubFrame[0].Frame.GetYData(mouseY);//JSConsole.Chart.Log("[StockChip::CalculateChip]",count,this.HQChart.CursorIndex,selData);
|
|
4708
4710
|
var rate=1;var aryVol=[];var seed=1,vol,maxPrice,minPrice;for(var _i7=count;_i7>=0;--_i7){var item=bindData.Data[_i7];var changeRate=1;//换手率
|
|
@@ -13900,7 +13902,7 @@ hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,St
|
|
|
13900
13902
|
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);};}/********************************************************************************
|
|
13901
13903
|
* 版本信息输出
|
|
13902
13904
|
*
|
|
13903
|
-
*/var HQCHART_VERSION="1.1.
|
|
13905
|
+
*/var HQCHART_VERSION="1.1.14182";function PrintHQChartVersion(){var logo='\n\n*************************************************************************************************************************************************************************** \n* \n* :%@@- \n* :@@@@- \n* =@@@@ :#@@@ .:+#@@@#=: :=*@@@@@@#+-. *@@@@. \n* :@@@@@ .@@@@@ .#@@@@@@@@@@@- +@@@@@@@@@@@@@+ @@@@@ -%@@* \n* +@@@@% #@@@@# *@@@@@@@@@@@@@@%. =@@@@@@@@@@@@@@@- @@@@@ -@@@@+ \n* %@@@@* @@@@@+ .%@@@@@@@@@@@@@@@@%: #@@@@@@@@@@@@@@@% @@@@# *@@@@= \n* @@@@@= @@@@@- .%@@@@@@@*++*%@@@@@@% .%@@@@@@@%*+==+**= -@@@@+ #@@@@- \n* @@@@@. @@@@@. #@@@@@%= =@@@@@@* %@@@@@@#: *@@@@- :::. .-+*###+: ::: .+##+: -%%@@@@@%%%% \n* .@@@@@ .@@@@@. +@@@@@% .@@@@@@ *@@@@@@: %@@@@: +@@@@@%. :%@@@@@@@@@@: *@@@ :@@@@@* @@@@@@@@@@@@ \n* :@@@@@ :@@@@@ @@@@@% :@@@@@+ @@@@@@: %@@@@-@@@@@@@@@. @@@@@@@@@@@@@. :@@@%-@@@@@@.:@@@@@@@@@@@# \n* -@@@@% -@@@@@ =@@@@@. %@@@@% %@@@@@- %@@@@@@@@@@@@@@* %@@@@@@@@@@@@+ -@@@@@@@@@@# -@@@@@@@@@@@. \n* +@@@@%=========#@@@@% @@@@@# :@@@@@ .@@@@@% @@@@@@@@%@@@@@@@ -%+:. .#@@@@* +@@@@@@@%%@. .::+@@@@#:: \n* #@@@@@@@@@@@@@@@@@@@# .@@@@@ .@@@@@ :@@@@@. @@@@@@#. #@@@@@. -@@@@* #@@@@@@: *@@@@+ \n* %@@@@@@@@@@@@@@@@@@@+ :@@@@@ .@@@@@ -@@@@@ @@@@@+ @@@@@. :@@@@* @@@@@% #@@@@- \n* @@@@@@@@@@@@@@@@@@@@: :@@@@% :@@@@@ +@@@@% -@@@@+ @@@@@ -@@@@+ @@@@@. @@@@@. \n* .@@@@@@@@@@@@@@@@@@@@ :@@@@% -@@@@% *@@@@% #@@@@. @@@@@ .=*#%%%@@@@@= :@@@@# @@@@@. \n* -@@@@@:::::::::=@@@@@ :@@@@@ @@@@@* +@@@@% @@@@@ @@@@% -#@@@@@@@@@@@@: -@@@@* @@@@@ \n* =@@@@% =@@@@% .@@@@@ :@@@@@. -@@@@% @@@@@ .@@@@* +@@@@@@@@@@@@@@. =@@@@+ .@@@@@ \n* +@@@@# +@@@@# @@@@@# %@@@@% :@@@@@ .@@@@% =@@@@= -@@@@@*-:..%@@@@ +@@@@= :@@@@# \n* *@@@@* *@@@@* +@@@@@: #@@@@@+ .@@@@@@ :@@@@% *@@@@- @@@@@. @@@@% #@@@@: =@@@@+ \n* %@@@@= %@@@@+ @@@@@@- .%@@@@@# #@@@@@# :@@@@% #@@@@: @@@@% @@@@* %@@@@. #@@@@- \n* @@@@@- @@@@@= =@@@@@@#=...-*@@@@@@@: @@@@@@%=. :+**. :@@@@* %@@@@. .@@@@* *@@@@= @@@@@ %@@@@+ \n* .@@@@@: .@@@@@: *@@@@@@@@@@@@@@@@@@@# =@@@@@@@@%%%@@@@@@ +@@@@- @@@@@ .@@@@@: :%@@@@@- .@@@@% %@@@@@*+- \n* :@@@@@ :@@@@@ +@@@@@@@@@@@@@@@@@@@# =@@@@@@@@@@@@@@@@% %@@@@ @@@@@ @@@@@@@@@@@@@@@: -@@@@* *@@@@@@@@- \n* =@@@@@ -@@@@@ :@@@@@@@@@@@@@@@@@@@# :@@@@@@@@@@@@@@@% @@@@@ %@@@% #@@@@@@@@@#@@@@. +@@@@- .@@@@@@@@# \n* *@@@@# =@@@@% :#@@@@@@@#: :@@@@@= =@@@@@@@@@@@+. @@@@@ :@@@+ *@@@@@@@- %@@@ *@@@= =@@@@@@@* \n* =++++- -++++= .:::. .=*+: :-=+++=:. ****= .=+. .-++=: :+++ -+=: .-=+=:. \n* \n* \n* HQChart \n* Ver: '+HQCHART_VERSION+' \n* License: Apache License 2.0 \n* Source: https://github.com/jones2000/HQChart\n*\n************************************************************************************************************************************************************************** \n ';console.log(logo);}PrintHQChartVersion();//把给外界调用的方法暴露出来
|
|
13904
13906
|
exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
|
|
13905
13907
|
// BaseIndex:BaseIndex,
|
|
13906
13908
|
// ChartLine:ChartLine,
|
package/package.json
CHANGED
package/src/jscommon/umychart.js
CHANGED
|
@@ -2660,6 +2660,8 @@ var JSCHART_EVENT_ID=
|
|
|
2660
2660
|
ON_FORMAT_KLINE_INFO_FLOAT_TOOLTIP:162, //格式化信息地雷显示文字
|
|
2661
2661
|
|
|
2662
2662
|
SEARCH_DIALOG_ON_CLICK_INDEX:163, //切换指标-指标对话框
|
|
2663
|
+
|
|
2664
|
+
ON_CALCULATE_CHIP_DATA:164, //计算筹码数据 (筹码图用)
|
|
2663
2665
|
}
|
|
2664
2666
|
|
|
2665
2667
|
var JSCHART_OPERATOR_ID=
|
|
@@ -24258,6 +24260,16 @@ function Rect(x,y,width,height)
|
|
|
24258
24260
|
this.Y=y;
|
|
24259
24261
|
this.Width=width;
|
|
24260
24262
|
this.Height=height;
|
|
24263
|
+
|
|
24264
|
+
this.PtInRect=function(x,y)
|
|
24265
|
+
{
|
|
24266
|
+
var left=this.X, right=this.X+this.Width;
|
|
24267
|
+
var top=this.Y, bottom=this.Y+this.Height;
|
|
24268
|
+
|
|
24269
|
+
if (x>=left && x<=right && y>=top && y<=bottom) return true;
|
|
24270
|
+
|
|
24271
|
+
return false;
|
|
24272
|
+
}
|
|
24261
24273
|
}
|
|
24262
24274
|
|
|
24263
24275
|
//图形外部挂接
|
|
@@ -40578,7 +40590,11 @@ function ChartMultiSVGIconV2()
|
|
|
40578
40590
|
}
|
|
40579
40591
|
else
|
|
40580
40592
|
{
|
|
40581
|
-
if (IFrameSplitOperator.IsNumber(item.YMove))
|
|
40593
|
+
if (IFrameSplitOperator.IsNumber(item.YMove))
|
|
40594
|
+
{
|
|
40595
|
+
y+=item.YMove;
|
|
40596
|
+
rtIcon.Y+=item.YMove;
|
|
40597
|
+
}
|
|
40582
40598
|
this.Canvas.fillText(item.Symbol, x, y);
|
|
40583
40599
|
if (item.Text) this.IconRect.push({ Rect:rtIcon , Item:item, KItem:kItem });
|
|
40584
40600
|
else if (IFrameSplitOperator.IsNonEmptyArray(item.AryText)) this.IconRect.push({ Rect:rtIcon , Item:item, KItem:kItem });
|
|
@@ -40632,9 +40648,7 @@ function ChartMultiSVGIconV2()
|
|
|
40632
40648
|
var item=this.IconRect[i];
|
|
40633
40649
|
if (!item.Rect) continue;
|
|
40634
40650
|
var rect=item.Rect;
|
|
40635
|
-
|
|
40636
|
-
this.Canvas.rect(rect.X,rect.Y,rect.Width,rect.Height);
|
|
40637
|
-
if (this.Canvas.isPointInPath(x,y))
|
|
40651
|
+
if (rect && rect.PtInRect(x,y))
|
|
40638
40652
|
{
|
|
40639
40653
|
JSConsole.Chart.Log('[ChartMultiSVGIconV2::GetTooltipData] icon ', item);
|
|
40640
40654
|
tooltip.Data=item;
|
|
@@ -44375,12 +44389,38 @@ function StockChip()
|
|
|
44375
44389
|
else this.EvenlyDistribute(aryChip, data);
|
|
44376
44390
|
}
|
|
44377
44391
|
|
|
44392
|
+
this.SendCalculateChipEvent=function()
|
|
44393
|
+
{
|
|
44394
|
+
var event=this.HQChart.GetEventCallback(JSCHART_EVENT_ID.ON_CALCULATE_CHIP_DATA);
|
|
44395
|
+
if (!event) return null;
|
|
44396
|
+
|
|
44397
|
+
var bindData=this.HQChart.ChartPaint[0].Data;
|
|
44398
|
+
var curIndex=bindData.DataOffset+parseInt(this.HQChart.CursorIndex);
|
|
44399
|
+
var sendData=
|
|
44400
|
+
{
|
|
44401
|
+
Symbol:this.HQChart.Symbol, Period:this.HQChart.Period, KData:bindData,
|
|
44402
|
+
CurrentIndex:curIndex, Y:this.HQChart.LastPoint.Y, HQChart:this.HQChart,
|
|
44403
|
+
ShowType:this.ShowType, CalculateType:this.CalculateType,
|
|
44404
|
+
PreventDefault:false,
|
|
44405
|
+
Result:null, //true/false
|
|
44406
|
+
};
|
|
44407
|
+
|
|
44408
|
+
event.Callback(event, sendData, this);
|
|
44409
|
+
|
|
44410
|
+
return sendData;
|
|
44411
|
+
}
|
|
44412
|
+
|
|
44378
44413
|
this.CalculateChip=function() //计算筹码
|
|
44379
44414
|
{
|
|
44380
44415
|
if (!this.HQChart) return false;
|
|
44381
44416
|
if (!this.HQChart.FlowCapitalReady) return false;
|
|
44382
44417
|
var symbol=this.HQChart.Symbol;
|
|
44383
44418
|
if (!symbol) return false;
|
|
44419
|
+
|
|
44420
|
+
var recvData=this.SendCalculateChipEvent();
|
|
44421
|
+
if (recvData && recvData.PreventDefault)
|
|
44422
|
+
return recvData.Result;
|
|
44423
|
+
|
|
44384
44424
|
if (MARKET_SUFFIX_NAME.IsSHSZIndex(symbol)) return false; //指数暂时不支持移动筹码
|
|
44385
44425
|
|
|
44386
44426
|
var bindData=this.HQChart.ChartPaint[0].Data;
|
|
@@ -6585,6 +6585,8 @@ var JSCHART_EVENT_ID=
|
|
|
6585
6585
|
ON_FORMAT_KLINE_INFO_FLOAT_TOOLTIP:162, //格式化信息地雷显示文字
|
|
6586
6586
|
|
|
6587
6587
|
SEARCH_DIALOG_ON_CLICK_INDEX:163, //切换指标-指标对话框
|
|
6588
|
+
|
|
6589
|
+
ON_CALCULATE_CHIP_DATA:164, //计算筹码数据 (筹码图用)
|
|
6588
6590
|
}
|
|
6589
6591
|
|
|
6590
6592
|
var JSCHART_OPERATOR_ID=
|
|
@@ -28183,6 +28185,16 @@ function Rect(x,y,width,height)
|
|
|
28183
28185
|
this.Y=y;
|
|
28184
28186
|
this.Width=width;
|
|
28185
28187
|
this.Height=height;
|
|
28188
|
+
|
|
28189
|
+
this.PtInRect=function(x,y)
|
|
28190
|
+
{
|
|
28191
|
+
var left=this.X, right=this.X+this.Width;
|
|
28192
|
+
var top=this.Y, bottom=this.Y+this.Height;
|
|
28193
|
+
|
|
28194
|
+
if (x>=left && x<=right && y>=top && y<=bottom) return true;
|
|
28195
|
+
|
|
28196
|
+
return false;
|
|
28197
|
+
}
|
|
28186
28198
|
}
|
|
28187
28199
|
|
|
28188
28200
|
//图形外部挂接
|
|
@@ -44503,7 +44515,11 @@ function ChartMultiSVGIconV2()
|
|
|
44503
44515
|
}
|
|
44504
44516
|
else
|
|
44505
44517
|
{
|
|
44506
|
-
if (IFrameSplitOperator.IsNumber(item.YMove))
|
|
44518
|
+
if (IFrameSplitOperator.IsNumber(item.YMove))
|
|
44519
|
+
{
|
|
44520
|
+
y+=item.YMove;
|
|
44521
|
+
rtIcon.Y+=item.YMove;
|
|
44522
|
+
}
|
|
44507
44523
|
this.Canvas.fillText(item.Symbol, x, y);
|
|
44508
44524
|
if (item.Text) this.IconRect.push({ Rect:rtIcon , Item:item, KItem:kItem });
|
|
44509
44525
|
else if (IFrameSplitOperator.IsNonEmptyArray(item.AryText)) this.IconRect.push({ Rect:rtIcon , Item:item, KItem:kItem });
|
|
@@ -44557,9 +44573,7 @@ function ChartMultiSVGIconV2()
|
|
|
44557
44573
|
var item=this.IconRect[i];
|
|
44558
44574
|
if (!item.Rect) continue;
|
|
44559
44575
|
var rect=item.Rect;
|
|
44560
|
-
|
|
44561
|
-
this.Canvas.rect(rect.X,rect.Y,rect.Width,rect.Height);
|
|
44562
|
-
if (this.Canvas.isPointInPath(x,y))
|
|
44576
|
+
if (rect && rect.PtInRect(x,y))
|
|
44563
44577
|
{
|
|
44564
44578
|
JSConsole.Chart.Log('[ChartMultiSVGIconV2::GetTooltipData] icon ', item);
|
|
44565
44579
|
tooltip.Data=item;
|
|
@@ -48300,12 +48314,38 @@ function StockChip()
|
|
|
48300
48314
|
else this.EvenlyDistribute(aryChip, data);
|
|
48301
48315
|
}
|
|
48302
48316
|
|
|
48317
|
+
this.SendCalculateChipEvent=function()
|
|
48318
|
+
{
|
|
48319
|
+
var event=this.HQChart.GetEventCallback(JSCHART_EVENT_ID.ON_CALCULATE_CHIP_DATA);
|
|
48320
|
+
if (!event) return null;
|
|
48321
|
+
|
|
48322
|
+
var bindData=this.HQChart.ChartPaint[0].Data;
|
|
48323
|
+
var curIndex=bindData.DataOffset+parseInt(this.HQChart.CursorIndex);
|
|
48324
|
+
var sendData=
|
|
48325
|
+
{
|
|
48326
|
+
Symbol:this.HQChart.Symbol, Period:this.HQChart.Period, KData:bindData,
|
|
48327
|
+
CurrentIndex:curIndex, Y:this.HQChart.LastPoint.Y, HQChart:this.HQChart,
|
|
48328
|
+
ShowType:this.ShowType, CalculateType:this.CalculateType,
|
|
48329
|
+
PreventDefault:false,
|
|
48330
|
+
Result:null, //true/false
|
|
48331
|
+
};
|
|
48332
|
+
|
|
48333
|
+
event.Callback(event, sendData, this);
|
|
48334
|
+
|
|
48335
|
+
return sendData;
|
|
48336
|
+
}
|
|
48337
|
+
|
|
48303
48338
|
this.CalculateChip=function() //计算筹码
|
|
48304
48339
|
{
|
|
48305
48340
|
if (!this.HQChart) return false;
|
|
48306
48341
|
if (!this.HQChart.FlowCapitalReady) return false;
|
|
48307
48342
|
var symbol=this.HQChart.Symbol;
|
|
48308
48343
|
if (!symbol) return false;
|
|
48344
|
+
|
|
48345
|
+
var recvData=this.SendCalculateChipEvent();
|
|
48346
|
+
if (recvData && recvData.PreventDefault)
|
|
48347
|
+
return recvData.Result;
|
|
48348
|
+
|
|
48309
48349
|
if (MARKET_SUFFIX_NAME.IsSHSZIndex(symbol)) return false; //指数暂时不支持移动筹码
|
|
48310
48350
|
|
|
48311
48351
|
var bindData=this.HQChart.ChartPaint[0].Data;
|
|
@@ -140087,7 +140127,7 @@ function ScrollBarBGChart()
|
|
|
140087
140127
|
|
|
140088
140128
|
|
|
140089
140129
|
|
|
140090
|
-
var HQCHART_VERSION="1.1.
|
|
140130
|
+
var HQCHART_VERSION="1.1.14182";
|
|
140091
140131
|
|
|
140092
140132
|
function PrintHQChartVersion()
|
|
140093
140133
|
{
|
|
@@ -6629,6 +6629,8 @@ var JSCHART_EVENT_ID=
|
|
|
6629
6629
|
ON_FORMAT_KLINE_INFO_FLOAT_TOOLTIP:162, //格式化信息地雷显示文字
|
|
6630
6630
|
|
|
6631
6631
|
SEARCH_DIALOG_ON_CLICK_INDEX:163, //切换指标-指标对话框
|
|
6632
|
+
|
|
6633
|
+
ON_CALCULATE_CHIP_DATA:164, //计算筹码数据 (筹码图用)
|
|
6632
6634
|
}
|
|
6633
6635
|
|
|
6634
6636
|
var JSCHART_OPERATOR_ID=
|
|
@@ -28227,6 +28229,16 @@ function Rect(x,y,width,height)
|
|
|
28227
28229
|
this.Y=y;
|
|
28228
28230
|
this.Width=width;
|
|
28229
28231
|
this.Height=height;
|
|
28232
|
+
|
|
28233
|
+
this.PtInRect=function(x,y)
|
|
28234
|
+
{
|
|
28235
|
+
var left=this.X, right=this.X+this.Width;
|
|
28236
|
+
var top=this.Y, bottom=this.Y+this.Height;
|
|
28237
|
+
|
|
28238
|
+
if (x>=left && x<=right && y>=top && y<=bottom) return true;
|
|
28239
|
+
|
|
28240
|
+
return false;
|
|
28241
|
+
}
|
|
28230
28242
|
}
|
|
28231
28243
|
|
|
28232
28244
|
//图形外部挂接
|
|
@@ -44547,7 +44559,11 @@ function ChartMultiSVGIconV2()
|
|
|
44547
44559
|
}
|
|
44548
44560
|
else
|
|
44549
44561
|
{
|
|
44550
|
-
if (IFrameSplitOperator.IsNumber(item.YMove))
|
|
44562
|
+
if (IFrameSplitOperator.IsNumber(item.YMove))
|
|
44563
|
+
{
|
|
44564
|
+
y+=item.YMove;
|
|
44565
|
+
rtIcon.Y+=item.YMove;
|
|
44566
|
+
}
|
|
44551
44567
|
this.Canvas.fillText(item.Symbol, x, y);
|
|
44552
44568
|
if (item.Text) this.IconRect.push({ Rect:rtIcon , Item:item, KItem:kItem });
|
|
44553
44569
|
else if (IFrameSplitOperator.IsNonEmptyArray(item.AryText)) this.IconRect.push({ Rect:rtIcon , Item:item, KItem:kItem });
|
|
@@ -44601,9 +44617,7 @@ function ChartMultiSVGIconV2()
|
|
|
44601
44617
|
var item=this.IconRect[i];
|
|
44602
44618
|
if (!item.Rect) continue;
|
|
44603
44619
|
var rect=item.Rect;
|
|
44604
|
-
|
|
44605
|
-
this.Canvas.rect(rect.X,rect.Y,rect.Width,rect.Height);
|
|
44606
|
-
if (this.Canvas.isPointInPath(x,y))
|
|
44620
|
+
if (rect && rect.PtInRect(x,y))
|
|
44607
44621
|
{
|
|
44608
44622
|
JSConsole.Chart.Log('[ChartMultiSVGIconV2::GetTooltipData] icon ', item);
|
|
44609
44623
|
tooltip.Data=item;
|
|
@@ -48344,12 +48358,38 @@ function StockChip()
|
|
|
48344
48358
|
else this.EvenlyDistribute(aryChip, data);
|
|
48345
48359
|
}
|
|
48346
48360
|
|
|
48361
|
+
this.SendCalculateChipEvent=function()
|
|
48362
|
+
{
|
|
48363
|
+
var event=this.HQChart.GetEventCallback(JSCHART_EVENT_ID.ON_CALCULATE_CHIP_DATA);
|
|
48364
|
+
if (!event) return null;
|
|
48365
|
+
|
|
48366
|
+
var bindData=this.HQChart.ChartPaint[0].Data;
|
|
48367
|
+
var curIndex=bindData.DataOffset+parseInt(this.HQChart.CursorIndex);
|
|
48368
|
+
var sendData=
|
|
48369
|
+
{
|
|
48370
|
+
Symbol:this.HQChart.Symbol, Period:this.HQChart.Period, KData:bindData,
|
|
48371
|
+
CurrentIndex:curIndex, Y:this.HQChart.LastPoint.Y, HQChart:this.HQChart,
|
|
48372
|
+
ShowType:this.ShowType, CalculateType:this.CalculateType,
|
|
48373
|
+
PreventDefault:false,
|
|
48374
|
+
Result:null, //true/false
|
|
48375
|
+
};
|
|
48376
|
+
|
|
48377
|
+
event.Callback(event, sendData, this);
|
|
48378
|
+
|
|
48379
|
+
return sendData;
|
|
48380
|
+
}
|
|
48381
|
+
|
|
48347
48382
|
this.CalculateChip=function() //计算筹码
|
|
48348
48383
|
{
|
|
48349
48384
|
if (!this.HQChart) return false;
|
|
48350
48385
|
if (!this.HQChart.FlowCapitalReady) return false;
|
|
48351
48386
|
var symbol=this.HQChart.Symbol;
|
|
48352
48387
|
if (!symbol) return false;
|
|
48388
|
+
|
|
48389
|
+
var recvData=this.SendCalculateChipEvent();
|
|
48390
|
+
if (recvData && recvData.PreventDefault)
|
|
48391
|
+
return recvData.Result;
|
|
48392
|
+
|
|
48353
48393
|
if (MARKET_SUFFIX_NAME.IsSHSZIndex(symbol)) return false; //指数暂时不支持移动筹码
|
|
48354
48394
|
|
|
48355
48395
|
var bindData=this.HQChart.ChartPaint[0].Data;
|
|
@@ -149692,7 +149732,7 @@ function HQChartScriptWorker()
|
|
|
149692
149732
|
|
|
149693
149733
|
|
|
149694
149734
|
|
|
149695
|
-
var HQCHART_VERSION="1.1.
|
|
149735
|
+
var HQCHART_VERSION="1.1.14182";
|
|
149696
149736
|
|
|
149697
149737
|
function PrintHQChartVersion()
|
|
149698
149738
|
{
|