hqchart 1.1.12490 → 1.1.12499
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 +26 -21
- package/package.json +1 -1
- package/src/jscommon/umychart.js +74 -18
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +75 -19
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +75 -19
- package/src/jscommon/umychart.wechat/umychart.chartpaint.wechat.js +22 -11
- package/src/jscommon/umychart.wechat/umychart.version.wechat.js +1 -1
package/lib/umychart.vue.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
'use strict';Object.defineProperty(exports,"__esModule",{value:true});var _promise=require('babel-runtime/core-js/promise');var _promise2=_interopRequireDefault(_promise);var _log=require('babel-runtime/core-js/math/log10');var _log2=_interopRequireDefault(_log);var _defineProperties=require('babel-runtime/core-js/object/define-properties');var _defineProperties2=_interopRequireDefault(_defineProperties);var _create=require('babel-runtime/core-js/object/create');var _create2=_interopRequireDefault(_create);var _from=require('babel-runtime/core-js/array/from');var _from2=_interopRequireDefault(_from);var _typeof2=require('babel-runtime/helpers/typeof');var _typeof3=_interopRequireDefault(_typeof2);var
|
|
1
|
+
'use strict';Object.defineProperty(exports,"__esModule",{value:true});var _promise=require('babel-runtime/core-js/promise');var _promise2=_interopRequireDefault(_promise);var _log=require('babel-runtime/core-js/math/log10');var _log2=_interopRequireDefault(_log);var _defineProperties=require('babel-runtime/core-js/object/define-properties');var _defineProperties2=_interopRequireDefault(_defineProperties);var _create=require('babel-runtime/core-js/object/create');var _create2=_interopRequireDefault(_create);var _from=require('babel-runtime/core-js/array/from');var _from2=_interopRequireDefault(_from);var _typeof2=require('babel-runtime/helpers/typeof');var _typeof3=_interopRequireDefault(_typeof2);var _set=require('babel-runtime/core-js/set');var _set2=_interopRequireDefault(_set);var _defineProperty2=require('babel-runtime/helpers/defineProperty');var _defineProperty3=_interopRequireDefault(_defineProperty2);var _stringify=require('babel-runtime/core-js/json/stringify');var _stringify2=_interopRequireDefault(_stringify);var _getIterator2=require('babel-runtime/core-js/get-iterator');var _getIterator3=_interopRequireDefault(_getIterator2);var _map=require('babel-runtime/core-js/map');var _map2=_interopRequireDefault(_map);var _jsChartInit$jsChartS;var _jquery=require('jquery');var _jquery2=_interopRequireDefault(_jquery);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}//日志输出类
|
|
2
2
|
var JSConsole={Chart:{Log:console.log,Warn:console.warn},//图形日志
|
|
3
3
|
Complier:{Log:console.log,Warn:console.warn},//编译器日志
|
|
4
4
|
JSTable:{Log:console.log,Warn:console.warn//表格日志
|
|
@@ -1760,9 +1760,9 @@ return true;};this.DocOnMouseUp=function(e){//清空事件
|
|
|
1760
1760
|
document.onmousemove=null;document.onmouseup=null;var IsMinuteChart=this.ClassName=="MinuteChartContainer"||this.ClassName=="MinuteChartHScreenContainer"?true:false;var isDragSelectRect=this.RectSelectDrag&&this.RectSelectDrag.Index>=0;var isDragSubSelectRect=this.RectSelectDrag&&this.RectSelectDrag.Type==4;var bClearDrawPicture=true;if(this.CurrentChartDrawPicture){var drawPicture=this.CurrentChartDrawPicture;if(drawPicture.Status==2||drawPicture.Status==1||drawPicture.Status==3){drawPicture.PointStatus=drawPicture.Status;if(this.FinishChartDrawPicturePoint())this.DrawDynamicInfo();else bClearDrawPicture=false;}else if(drawPicture.Status==20){if(this.FinishMoveChartDrawPicture())this.DrawDynamicInfo();}}else if(this.IndexChartDrag&&this.IndexChartDrag.SelectedChart){var chartMove=this.GetExtendChartByClassName("DragMovePaint");if(chartMove&&chartMove.Chart)chartMove.Chart.Clear();if(!this.OnDragChart(this.IndexChartDrag))this.DrawDynamicInfo();this.UIElement.style.cursor="default";}else if(this.CustomChartDrag){var sendData={e:e,ChartDrag:this.CustomChartDrag,Drag:this.MouseDrag};this.TryMouseUp_CustomChartDrag(sendData);}else if(isDragSelectRect)//区间选择拖动范围
|
|
1761
1761
|
{if(this.OnDragSelectRectMouseUp)this.OnDragSelectRectMouseUp(e);}else if(isDragSubSelectRect){if(this.OnDragSubSelectRectMouseUp)this.OnDragSubSelectRectMouseUp(e);}else if(IsMinuteChart){if(this.OnMinuteSelectRectMouseUp)this.OnMinuteSelectRectMouseUp(e);}else if(this.DragMode==2)//区间选择
|
|
1762
1762
|
{var drag=this.MouseDrag;drag.LastMove.X=e.clientX;drag.LastMove.Y=e.clientY;var selectData=new SelectRectData();var pixelTatio=GetDevicePixelRatio();//区间起始位置 结束位子
|
|
1763
|
-
selectData.XStart=(drag.Click.X-uielement.getBoundingClientRect().left)*pixelTatio;selectData.YStart=(drag.Click.Y-uielement.getBoundingClientRect().top)*pixelTatio;selectData.XEnd=(drag.LastMove.X-uielement.getBoundingClientRect().left)*pixelTatio;selectData.YEnd=(drag.LastMove.Y-uielement.getBoundingClientRect().top)*pixelTatio;selectData.JSChartContainer=this;selectData.Stock={Symbol:this.Symbol,Name:this.Name};if(!this.BorderDrag&&this.GetSelectRectData(selectData)){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_SELECT_RECT);var paint=this.GetRectSelectPaint();var isShowMenu=true;if(event&&event.Callback){var data={X:drag.LastMove.X-uielement.getBoundingClientRect().left,Y:drag.LastMove.Y-uielement.getBoundingClientRect().top,SelectData:selectData,//区间选择的数据
|
|
1763
|
+
selectData.XStart=(drag.Click.X-uielement.getBoundingClientRect().left)*pixelTatio;selectData.YStart=(drag.Click.Y-uielement.getBoundingClientRect().top)*pixelTatio;selectData.XEnd=(drag.LastMove.X-uielement.getBoundingClientRect().left)*pixelTatio;selectData.YEnd=(drag.LastMove.Y-uielement.getBoundingClientRect().top)*pixelTatio;selectData.JSChartContainer=this;selectData.Stock={Symbol:this.Symbol,Name:this.Name};if(!this.BorderDrag&&this.GetSelectRectData(selectData)){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_SELECT_RECT);var paint=this.GetRectSelectPaint();var isShowMenu=true;if(event&&event.Callback){var data=(0,_defineProperty3.default)({X:drag.LastMove.X-uielement.getBoundingClientRect().left,Y:drag.LastMove.Y-uielement.getBoundingClientRect().top,SelectData:selectData,//区间选择的数据
|
|
1764
1764
|
RectSelectPaint:paint,//区间选择背景
|
|
1765
|
-
IsShowMenu:true};event.Callback(event,data,this);isShowMenu=data.IsShowMenu;}if(IsMinuteChart)//分时图直接显示显示区间选择
|
|
1765
|
+
IsShowMenu:true,e:e},'e',e);event.Callback(event,data,this);isShowMenu=data.IsShowMenu;}if(IsMinuteChart)//分时图直接显示显示区间选择
|
|
1766
1766
|
{this.HideSelectRect();this.UpdateSelectRect(selectData.Start,selectData.End);}else{if(isShowMenu&&this.SelectRectRightMenu){e.data={Chart:this,X:drag.LastMove.X-uielement.getBoundingClientRect().left,Y:drag.LastMove.Y-uielement.getBoundingClientRect().top,SelectData:selectData,//区间选择的数据
|
|
1767
1767
|
RectSelectPaint:paint//区间选择背景
|
|
1768
1768
|
};this.SelectRectRightMenu.DoModal(e);}}}else{this.TryClickPaintEvent(JSCHART_EVENT_ID.ON_CLICKUP_CHART_PAINT,this.ClickDownPoint,e);}}else{this.TryClickPaintEvent(JSCHART_EVENT_ID.ON_CLICKUP_CHART_PAINT,this.ClickDownPoint,e);this.ClickEvent(e);}//清空数据
|
|
@@ -2148,7 +2148,7 @@ this.IsDrawTitleBottomLine=false;this.BorderLine=null;//1=上 2=下 4=左 8=右
|
|
|
2148
2148
|
this.Buttons=[];//按钮事件
|
|
2149
2149
|
this.LeftButtonWidth=0;//左侧按钮的宽度
|
|
2150
2150
|
this.IsMinSize=false;//窗口是否最小化
|
|
2151
|
-
this.LogoTextColor=g_JSChartResource.FrameLogo.TextColor;this.LogoTextFont=g_JSChartResource.FrameLogo.Font;this.GlobalOption;this.PtInButtons=function(x,y)//坐标是否在按钮上
|
|
2151
|
+
this.LogoTextColor=g_JSChartResource.FrameLogo.TextColor;this.LogoTextFont=g_JSChartResource.FrameLogo.Font;this.LogoBGColor=g_JSChartResource.FrameLogo.BGColor;this.GlobalOption;this.PtInButtons=function(x,y)//坐标是否在按钮上
|
|
2152
2152
|
{for(var i=0;i<this.Buttons.length;++i){var item=this.Buttons[i];if(!item.Rect)continue;var rect=item.Rect;this.Canvas.beginPath();this.Canvas.rect(rect.Left,rect.Top,rect.Width,rect.Height);if(this.Canvas.isPointInPath(x,y)){return{ID:item.ID,Rect:rect};}}return null;};this.GetBorder=function(){if(this.IsHScreen)return this.ChartBorder.GetHScreenBorder();else return this.ChartBorder.GetBorder();};this.Draw=function(){this.Buttons=[];this.DrawFrame();this.DrawBorder();this.SizeChange=false;this.XYSplit=false;};this.DrawFrame=function(){};this.ClearCoordinateText=function(option){if(IFrameSplitOperator.IsNonEmptyArray(this.HorizontalInfo)){for(var i=0;i<this.HorizontalInfo.length;++i){var item=this.HorizontalInfo[i];if(item&&item.Message&&Array.isArray(item.Message))item.Message[0]=item.Message[1]=null;}}if(IFrameSplitOperator.IsNonEmptyArray(this.VerticalInfo)){for(var i=0;i<this.VerticalInfo.length;++i){var item=this.VerticalInfo[i];if(item&&item.Message&&Array.isArray(item.Message))item.Message[0]=item.Message[1]=null;}}};//画边框
|
|
2153
2153
|
this.DrawBorder=function(){if(!this.IsShowBorder)return;if(this.IsMinSize)return;var border=this.IsHScreen==true?this.ChartBorder.GetHScreenBorder():this.ChartBorder.GetBorder();var left=ToFixedPoint(border.Left);var top=ToFixedPoint(border.Top);//var top=ToFixedPoint(border.TopEx);
|
|
2154
2154
|
var right=ToFixedPoint(border.Right);var bottom=ToFixedPoint(border.Bottom);var width=right-left;var height=bottom-top;//JSConsole.Chart.Log(`[IChartFramePainting.DrawBorder] left=${left} `);
|
|
@@ -2158,7 +2158,7 @@ if(this.BorderLine==null){this.Canvas.strokeStyle=this.PenBorder;this.Canvas.str
|
|
|
2158
2158
|
{this.Canvas.moveTo(left,bottom);this.Canvas.lineTo(right,bottom);}if((this.BorderLine&4)>0)//左
|
|
2159
2159
|
{this.Canvas.moveTo(left,top);this.Canvas.lineTo(left,bottom);}if((this.BorderLine&8)>0)//右
|
|
2160
2160
|
{this.Canvas.moveTo(right,top);this.Canvas.lineTo(right,bottom);}this.Canvas.stroke();}};//画标题背景色
|
|
2161
|
-
this.DrawTitleBG=function(){if(this.ChartBorder.TitleHeight<=0)return;var border=this.GetBorder();var left=ToFixedPoint(border.Left);var top=ToFixedPoint(border.Top);var right=ToFixedPoint(border.Right);var bottom=ToFixedPoint(this.ChartBorder.GetTopTitle());var width=right-left;var height=bottom-top;this.Canvas.fillStyle=this.TitleBGColor;this.Canvas.fillRect(left,top,width,height);if(this.IsDrawTitleBottomLine){this.Canvas.strokeStyle=this.PenBorder;this.Canvas.beginPath();this.Canvas.moveTo(left,ToFixedPoint(border.TopTitle));this.Canvas.lineTo(right,ToFixedPoint(border.TopTitle));this.Canvas.stroke();}};this.DrawLock=function(){if(this.IsLocked){if(this.LockPaint==null)this.LockPaint=new ChartLock();this.LockPaint.Canvas=this.Canvas;this.LockPaint.ChartBorder=this.ChartBorder;this.LockPaint.ChartFrame=this;this.LockPaint.Draw(true);}};this.DrawLogo=function(){var border=this.GetBorder();var text=g_JSChartResource.FrameLogo.Text;if(!IFrameSplitOperator.IsString(text))return;this.Canvas.
|
|
2161
|
+
this.DrawTitleBG=function(){if(this.ChartBorder.TitleHeight<=0)return;var border=this.GetBorder();var left=ToFixedPoint(border.Left);var top=ToFixedPoint(border.Top);var right=ToFixedPoint(border.Right);var bottom=ToFixedPoint(this.ChartBorder.GetTopTitle());var width=right-left;var height=bottom-top;this.Canvas.fillStyle=this.TitleBGColor;this.Canvas.fillRect(left,top,width,height);if(this.IsDrawTitleBottomLine){this.Canvas.strokeStyle=this.PenBorder;this.Canvas.beginPath();this.Canvas.moveTo(left,ToFixedPoint(border.TopTitle));this.Canvas.lineTo(right,ToFixedPoint(border.TopTitle));this.Canvas.stroke();}};this.DrawLock=function(){if(this.IsLocked){if(this.LockPaint==null)this.LockPaint=new ChartLock();this.LockPaint.Canvas=this.Canvas;this.LockPaint.ChartBorder=this.ChartBorder;this.LockPaint.ChartFrame=this;this.LockPaint.Draw(true);}};this.DrawLogo=function(){var border=this.GetBorder();var text=g_JSChartResource.FrameLogo.Text;if(!IFrameSplitOperator.IsString(text))return;this.Canvas.font=this.LogoTextFont;this.Canvas.textAlign='left';this.Canvas.textBaseline='bottom';var height=this.Canvas.measureText("擎").width;var width=this.Canvas.measureText(text).width;if(this.IsHScreen){var x=border.Left+5;var y=border.Top+5;this.Canvas.save();this.Canvas.translate(x,y);this.Canvas.rotate(90*Math.PI/180);var rtBG={Left:0,Bottom:0,Width:width+4,Height:height+4};rtBG.Top=rtBG.Bottom-rtBG.Height;rtBG.Right=rtBG.Left+rtBG.Width;if(this.LogoBGColor){this.Canvas.fillStyle=this.LogoBGColor;this.Canvas.fillRect(rtBG.Left,rtBG.Top,rtBG.Width,rtBG.Height);}this.Canvas.fillStyle=this.LogoTextColor;this.Canvas.fillText(text,1,0);this.Canvas.restore();}else{var rtBG={Left:border.Left+5,Bottom:border.Bottom-5,Width:width+4,Height:height+4};rtBG.Top=rtBG.Bottom-rtBG.Height;rtBG.Right=rtBG.Left+rtBG.Width;if(this.LogoBGColor){this.Canvas.fillStyle=this.LogoBGColor;this.Canvas.fillRect(rtBG.Left,rtBG.Top,rtBG.Width,rtBG.Height);}var x=rtBG.Left+1;var y=rtBG.Bottom-1;this.Canvas.fillStyle=this.LogoTextColor;this.Canvas.fillText(text,x,y);}};this.CalculateLock=function(){if(this.IsLocked){if(this.LockPaint==null)this.LockPaint=new ChartLock();this.LockPaint.Canvas=this.Canvas;this.LockPaint.ChartBorder=this.ChartBorder;this.LockPaint.ChartFrame=this;this.LockPaint.Draw(false);}};//设施上锁
|
|
2162
2162
|
this.SetLock=function(lockData){if(!lockData)//空数据不上锁
|
|
2163
2163
|
{this.IsLocked=false;return;}this.IsLocked=true;if(!this.LockPaint)this.LockPaint=new ChartLock();//创建锁
|
|
2164
2164
|
if(lockData.Callback)this.LockPaint.Callback=lockData.Callback;//回调
|
|
@@ -3841,14 +3841,15 @@ this.KLineDrawType=0;this.ClassName='ChartVolStick';this.PtInChart=this.PtInBar;
|
|
|
3841
3841
|
y=yBottom-height;if(this.KLineDrawType==6)//完全空心柱
|
|
3842
3842
|
{this.Canvas.strokeStyle=barColor.Color;this.Canvas.beginPath();this.Canvas.rect(ToFixedPoint(left),ToFixedPoint(y),ToFixedRect(dataWidth),height);this.Canvas.stroke();}else if(bUp&&(this.KLineDrawType==1||this.KLineDrawType==2||this.KLineDrawType==3))//空心柱子
|
|
3843
3843
|
{this.Canvas.strokeStyle=this.UpColor;this.Canvas.beginPath();this.Canvas.rect(ToFixedPoint(left),ToFixedPoint(y),ToFixedRect(dataWidth),height);this.Canvas.stroke();}else{this.Canvas.fillRect(ToFixedRect(left),y,ToFixedRect(dataWidth),height);}}}else//太细了直接话线
|
|
3844
|
-
{var preKItem=null;for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j,xOffset+=dataWidth+distanceWidth){var value=this.Data.Data[i];var kItem=this.HistoryData.Data[i];if(value==null||kItem==null)continue;var y=this.ChartFrame.GetYFromData(value);if(isMinute){var x=this.ChartFrame.GetXFromIndex(j);}else{var left=xOffset;var right=xOffset+dataWidth;var x=left+(right-left)/2;}if(x>chartright)break;if(isMinute)
|
|
3845
|
-
|
|
3844
|
+
{var preKItem=null;var barColor=null;for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j,xOffset+=dataWidth+distanceWidth){var value=this.Data.Data[i];var kItem=this.HistoryData.Data[i];if(value==null||kItem==null)continue;var y=this.ChartFrame.GetYFromData(value);if(isMinute){var x=this.ChartFrame.GetXFromIndex(j);}else{var left=xOffset;var right=xOffset+dataWidth;var x=left+(right-left)/2;}if(x>chartright)break;if(isMinute)barColor=this.GetMinuteBarColor(kItem,preKItem);//分时图颜色单独计算
|
|
3845
|
+
else barColor=this.GetBarColor(kItem);this.Canvas.strokeStyle=barColor.Color;//var x=this.ChartFrame.GetXFromIndex(j);
|
|
3846
3846
|
this.Canvas.beginPath();this.Canvas.moveTo(ToFixedPoint(x),y);this.Canvas.lineTo(ToFixedPoint(x),yBottom);this.Canvas.stroke();preKItem=kItem;}}};this.HScreenDraw=function()//横屏画法
|
|
3847
|
-
{var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var border=this.ChartBorder.GetHScreenBorder();var xOffset=border.TopEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;var chartBottom=border.BottomEx;var xPointCount=this.ChartFrame.XPointCount;var lockRect=this.GetLockRect();if(lockRect)chartBottom=lockRect.Top;var yBottom=this.ChartFrame.GetYFromData(0);if(dataWidth>=4){yBottom=ToFixedRect(yBottom);for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j,xOffset+=dataWidth+distanceWidth){var value=this.Data.Data[i];var kItem=this.HistoryData.Data[i];if(value==null||kItem==null)continue;var left=xOffset;var right=xOffset+dataWidth;if(right>chartBottom)break;var y=this.ChartFrame.GetYFromData(value);var barColor=this.GetBarColor(kItem);var bUp=barColor.IsUp;this.Canvas.fillStyle=barColor.Color;var height=ToFixedRect(y-yBottom);//高度调整为整数
|
|
3847
|
+
{var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var border=this.ChartBorder.GetHScreenBorder();var xOffset=border.TopEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;var chartBottom=border.BottomEx;var xPointCount=this.ChartFrame.XPointCount;var lockRect=this.GetLockRect();if(lockRect)chartBottom=lockRect.Top;var isMinute=this.IsMinuteFrame();var yBottom=this.ChartFrame.GetYFromData(0);if(dataWidth>=4){yBottom=ToFixedRect(yBottom);for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j,xOffset+=dataWidth+distanceWidth){var value=this.Data.Data[i];var kItem=this.HistoryData.Data[i];if(value==null||kItem==null)continue;var left=xOffset;var right=xOffset+dataWidth;if(right>chartBottom)break;var y=this.ChartFrame.GetYFromData(value);var barColor=this.GetBarColor(kItem);var bUp=barColor.IsUp;this.Canvas.fillStyle=barColor.Color;var height=ToFixedRect(y-yBottom);//高度调整为整数
|
|
3848
3848
|
if(bUp&&(this.KLineDrawType==1||this.KLineDrawType==2||this.KLineDrawType==3))//空心柱子
|
|
3849
3849
|
{this.Canvas.strokeStyle=this.UpColor;this.Canvas.beginPath();this.Canvas.rect(ToFixedPoint(yBottom),ToFixedPoint(left),height,ToFixedRect(dataWidth));this.Canvas.stroke();}else{this.Canvas.fillRect(yBottom,ToFixedRect(left),height,ToFixedRect(dataWidth));}}}else//太细了直接话线
|
|
3850
|
-
{for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j,xOffset+=dataWidth+distanceWidth){var value=this.Data.Data[i];var kItem=this.HistoryData.Data[i];if(value==null||kItem==null)continue;var y=this.ChartFrame.GetYFromData(value);var x=this.ChartFrame.GetXFromIndex(j);if(x>chartBottom)break;
|
|
3851
|
-
this.
|
|
3850
|
+
{var preKItem=null;var barColor=null;for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j,xOffset+=dataWidth+distanceWidth){var value=this.Data.Data[i];var kItem=this.HistoryData.Data[i];if(value==null||kItem==null)continue;var y=this.ChartFrame.GetYFromData(value);if(isMinute){var x=this.ChartFrame.GetXFromIndex(j);}else{var left=xOffset;var right=xOffset+dataWidth;var x=left+(right-left)/2;}if(x>chartBottom)break;if(isMinute)barColor=this.GetMinuteBarColor(kItem,preKItem);//分时图颜色单独计算
|
|
3851
|
+
else barColor=this.GetBarColor(kItem);var bUp=barColor.IsUp;this.Canvas.strokeStyle=barColor.Color;//var x=this.ChartFrame.GetXFromIndex(j);
|
|
3852
|
+
this.Canvas.beginPath();this.Canvas.moveTo(y,ToFixedPoint(x));this.Canvas.lineTo(yBottom,ToFixedPoint(x));this.Canvas.stroke();preKItem=kItem;}}};this.GetMaxMin=function(){var xPointCount=this.ChartFrame.XPointCount;var range={};range.Min=null;range.Max=null;for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j){var value=this.Data.Data[i];if(!IFrameSplitOperator.IsNumber(range.Max)||range.Max<value)range.Max=value;if(!IFrameSplitOperator.IsNumber(range.Min)||range.Min>value)range.Min=value;}if(range.Max>0&&range.Min>0)range.Min=0;else if(range.Max<0&&range.Min<0)range.Max=0;return range;};this.GetBarColor=function(kItem){if(kItem.Close>=kItem.Open)return{Color:this.UpColor,IsUp:true};//颜色, 是否是上涨
|
|
3852
3853
|
else return{Color:this.DownColor,IsUp:false};};this.GetMinuteBarColor=function(kItem,preItem){var prePrice=kItem.YClose;if(preItem)prePrice=preItem.Close;if(kItem.Close>=prePrice)return{Color:this.UpColor,IsUp:true};//颜色, 是否是上涨
|
|
3853
3854
|
else return{Color:this.DownColor,IsUp:false};};this.GetItemData=function(indexData){if(!indexData)return null;if(!IFrameSplitOperator.IsNumber(indexData.Index))return null;if(!this.HistoryData||!IFrameSplitOperator.IsNonEmptyArray(this.HistoryData.Data))return null;if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return null;var index=indexData.Index;if(index<0||index>=this.Data.Data.length||index>=this.HistoryData.Data.length)return null;var item=this.Data.Data[index];var kItem=this.HistoryData.Data[index];return[{Value:item,Color:this.GetBarColor(kItem).Color,Name:this.Name}];};}// VERTLINE(HIGH>=HHV(HIGH,20),1)表示在创20天新高画垂直虚线。
|
|
3854
3855
|
// 支持横屏
|
|
@@ -6177,8 +6178,8 @@ this.FrameSplitTextFont=14*GetDevicePixelRatio()+"px 微软雅黑";//坐标刻
|
|
|
6177
6178
|
this.FrameTitleBGColor="rgb(246,251,253)";//标题栏背景色
|
|
6178
6179
|
this.Frame={XBottomOffset:1*GetDevicePixelRatio(),//X轴文字向下偏移
|
|
6179
6180
|
YTopOffset:2*GetDevicePixelRatio(),//Y轴顶部文字向下偏移
|
|
6180
|
-
YTextPadding:[2,2]};this.ToolbarButtonStyle=0;this.FrameLogo={TextColor:'rgb(178,34,34)',Font:"bold "+16*GetDevicePixelRatio()+"px 微软雅黑",Text:"*仅学习使用*"
|
|
6181
|
-
};//百分比坐标文字颜色
|
|
6181
|
+
YTextPadding:[2,2]};this.ToolbarButtonStyle=0;this.FrameLogo={TextColor:'rgb(178,34,34)',Font:"bold "+16*GetDevicePixelRatio()+"px 微软雅黑",Text:"*仅学习使用*",//不要修改声明, 任何修改声明产生的任何法律责任由修改者自行独立承担,与HQChart插件作者无关。
|
|
6182
|
+
BGColor:"rgba(230,230,230, 0.5)"};//百分比坐标文字颜色
|
|
6182
6183
|
this.Frame.PercentageText={PriceColor:'rgb(117,125,129)',PercentageColor:"rgb(117,125,129)",SplitColor:"rgb(117,125,129)",Font:14*GetDevicePixelRatio()+"px 微软雅黑"};//对数坐标
|
|
6183
6184
|
this.FrameLogarithmic={OpenPriceFont:"bold "+14*GetDevicePixelRatio()+"px 微软雅黑",//开盘价刻度文字字体
|
|
6184
6185
|
MinInterval:45*GetDevicePixelRatio()//刻度最小间距
|
|
@@ -7419,8 +7420,8 @@ this.OnDragMode_One=function(moveData,e){var drag=this.MouseDrag;var moveSetp=mo
|
|
|
7419
7420
|
{if(moveSetp<5)return;var obj={X:e.clientX,Y:e.clientY,PointIndex:this.RectSelectDrag.Index,Name:"MoveRectSelectLine"};if(this.MoveRectSelectPoint(obj)){drag.LastMove.X=e.clientX;this.Draw();}}else{if(moveSetp<5&&yMoveSetp<5)return;if(!this.EnableSelectRect)return;this.UIElement.style.cursor="default";var x=drag.Click.X-uielement.getBoundingClientRect().left;var y=drag.Click.Y-uielement.getBoundingClientRect().top;var x2=e.clientX-uielement.getBoundingClientRect().left;var y2=e.clientY-uielement.getBoundingClientRect().top;this.ShowSelectRect(x,y,x2,y2);drag.LastMove.X=e.clientX;drag.LastMove.Y=e.clientY;}};this.OnMinuteSelectRectMouseUp=function(e){var drag=this.MouseDrag;drag.LastMove.X=e.clientX;drag.LastMove.Y=e.clientY;var selectData=new SelectRectData();var pixelTatio=GetDevicePixelRatio();//区间起始位置 结束位子
|
|
7420
7421
|
selectData.XStart=(drag.Click.X-uielement.getBoundingClientRect().left)*pixelTatio;selectData.YStart=(drag.Click.Y-uielement.getBoundingClientRect().top)*pixelTatio;selectData.XEnd=(drag.LastMove.X-uielement.getBoundingClientRect().left)*pixelTatio;selectData.YEnd=(drag.LastMove.Y-uielement.getBoundingClientRect().top)*pixelTatio;selectData.JSChartContainer=this;selectData.Stock={Symbol:this.Symbol,Name:this.Name};if(this.EnableSelectRect&&!this.BorderDrag&&this.GetSelectRectData(selectData)){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_SELECT_RECT);var paint=this.GetRectSelectPaint();var isShowDialog=true;//是否显示内置区间选择框
|
|
7421
7422
|
if(event&&event.Callback){var data={X:drag.LastMove.X-uielement.getBoundingClientRect().left,Y:drag.LastMove.Y-uielement.getBoundingClientRect().top,SelectData:selectData,//区间选择的数据
|
|
7422
|
-
RectSelectPaint:paint
|
|
7423
|
-
};event.Callback(event,data,this);isShowDialog=false;//外部调用了区间选择事件,不弹框
|
|
7423
|
+
RectSelectPaint:paint,//区间选择背景
|
|
7424
|
+
e:e};event.Callback(event,data,this);isShowDialog=false;//外部调用了区间选择事件,不弹框
|
|
7424
7425
|
}if(isShowDialog&&this.SelectRectDialog){e.data={Chart:this,X:drag.LastMove.X-uielement.getBoundingClientRect().left,Y:drag.LastMove.Y-uielement.getBoundingClientRect().top,SelectData:selectData,//区间选择的数据
|
|
7425
7426
|
RectSelectPaint:paint//区间选择背景
|
|
7426
7427
|
};this.SelectRectDialog.DoModal(e);}else{this.HideSelectRect();this.UpdateSelectRect(selectData.Start,selectData.End);}}else{this.TryClickPaintEvent(JSCHART_EVENT_ID.ON_CLICKUP_CHART_PAINT,this.ClickDownPoint,e);this.ClickEvent(e);}};this.OnDragSelectRectMouseUp=function(e){var paint=this.GetRectSelectPaint();if(!paint)return;var selectData=paint.GetSelectRectData();if(!selectData)return;var pixelTatio=GetDevicePixelRatio();var corssCursor=this.ChartCorssCursor;//十字光标
|
|
@@ -8285,14 +8286,17 @@ this.UpdateData=function(aryData){if(!aryData||aryData.length<=0)return;var setK
|
|
|
8285
8286
|
for(var i in this.Data){var item=this.Data[i];var strKey=item.Date+'-'+item.Time+'-'+item.InfoType+'-'+item.Title;setKeys.add(strKey);}var count=0;for(var i in aryData){var item=aryData[i];var strKey=item.Date+'-'+item.Time+'-'+item.InfoType+'-'+item.Title;if(setKeys.has(strKey))continue;this.Data.push(item);++count;}JSConsole.Chart.Log('[AnnouncementInfo::UpdateData] add new count='+count);};this.RecvError=function(http,e,param){console.warn("[AnnouncementInfo::RecvError] error, http ",e,http);//if (param.HQChart.ScriptErrorCallback) param.HQChart.ScriptErrorCallback(e);
|
|
8286
8287
|
};}//业绩预告
|
|
8287
8288
|
function PforecastInfo(){this.newMethod=IKLineInfo;//派生
|
|
8288
|
-
this.newMethod();delete this.newMethod;this.ClassName='PforecastInfo';this.RequestData=function(hqChart,obj){var self=this;var param={HQChart:hqChart};this.Data=[];var url=g_JSChartResource.Domain+g_JSChartResource.KLine.Info.Pforecast.ApiUrl
|
|
8289
|
+
this.newMethod();delete this.newMethod;this.ClassName='PforecastInfo';this.Explain='业绩预告';this.RequestData=function(hqChart,obj){var self=this;var param={HQChart:hqChart};this.Data=[];var url=g_JSChartResource.Domain+g_JSChartResource.KLine.Info.Pforecast.ApiUrl;if(this.NetworkFilter(hqChart,obj))return;//已被上层替换,不调用默认的网络请求
|
|
8290
|
+
//请求数据
|
|
8289
8291
|
JSNetwork.HttpRequest({url:url,data:{"field":["pforecast.type","pforecast.reportdate","fweek"],"condition":[{"item":["pforecast.reportdate","int32","gte",this.StartDate]}],"symbol":[param.HQChart.Symbol],"start":0,"end":this.MaxRequestDataCount},type:"post",dataType:"json",async:true,success:function success(recvData){self.RecvData(recvData,param);}});return true;};this.RecvData=function(recvData,param){if(recvData.stock.length!=1)return;if(recvData.stock[0].stockday.length<=0)return;for(var i in recvData.stock[0].stockday){var item=recvData.stock[0].stockday[i];if(item.pforecast.length>0){var dataItem=item.pforecast[0];var infoData=new KLineInfoData();infoData.Date=item.date;infoData.Title=dataItem.type;infoData.InfoType=KLINE_INFO_TYPE.PFORECAST;infoData.ExtendData={Type:dataItem.type,ReportDate:dataItem.reportdate};if(item.fweek)//未来周涨幅
|
|
8290
8292
|
{infoData.ExtendData.FWeek={};if(item.fweek.week1!=null)infoData.ExtendData.FWeek.Week1=item.fweek.week1;if(item.fweek.week4!=null)infoData.ExtendData.FWeek.Week4=item.fweek.week4;}this.Data.push(infoData);}}param.HQChart.UpdataChartInfo();param.HQChart.Draw();};}//投资者关系 (调研)
|
|
8291
8293
|
function ResearchInfo(){this.newMethod=IKLineInfo;//派生
|
|
8292
|
-
this.newMethod();delete this.newMethod;this.ClassName='ResearchInfo';this.RequestData=function(hqChart,obj){var self=this;var param={HQChart:hqChart};this.Data=[];var url=g_JSChartResource.Domain+g_JSChartResource.KLine.Info.Research.ApiUrl
|
|
8294
|
+
this.newMethod();delete this.newMethod;this.ClassName='ResearchInfo';this.Explain='调研';this.RequestData=function(hqChart,obj){var self=this;var param={HQChart:hqChart};this.Data=[];var url=g_JSChartResource.Domain+g_JSChartResource.KLine.Info.Research.ApiUrl;if(this.NetworkFilter(hqChart,obj))return;//已被上层替换,不调用默认的网络请求
|
|
8295
|
+
//请求数据
|
|
8293
8296
|
JSNetwork.HttpRequest({url:url,data:{"filed":["releasedate","researchdate","level","symbol","id",'type'],"querydate":{"StartDate":this.StartDate,"EndDate":this.GetToday()},"symbol":[param.HQChart.Symbol],"start":0,"end":this.MaxRequestDataCount},type:"post",dataType:"json",async:true,success:function success(recvData){self.RecvData(recvData,param);}});return true;};this.RecvData=function(recvData,param){if(recvData.list.length<=0)return;for(var i in recvData.list){var item=recvData.list[i];var infoData=new KLineInfoData();infoData.ID=item.id;infoData.Date=item.researchdate;infoData.InfoType=KLINE_INFO_TYPE.RESEARCH;infoData.ExtendData={Level:item.level,Type:item.type};this.Data.push(infoData);}param.HQChart.UpdataChartInfo();param.HQChart.Draw();};}//大宗交易
|
|
8294
8297
|
function BlockTrading(){this.newMethod=IKLineInfo;//派生
|
|
8295
|
-
this.newMethod();delete this.newMethod;this.ClassName='BlockTrading';this.RequestData=function(hqChart,obj){var self=this;var param={HQChart:hqChart};this.Data=[];var url=g_JSChartResource.Domain+g_JSChartResource.KLine.Info.BlockTrading.ApiUrl
|
|
8298
|
+
this.newMethod();delete this.newMethod;this.ClassName='BlockTrading';this.Explain='大宗交易';this.RequestData=function(hqChart,obj){var self=this;var param={HQChart:hqChart};this.Data=[];var url=g_JSChartResource.Domain+g_JSChartResource.KLine.Info.BlockTrading.ApiUrl;if(this.NetworkFilter(hqChart,obj))return;//已被上层替换,不调用默认的网络请求
|
|
8299
|
+
//请求数据
|
|
8296
8300
|
JSNetwork.HttpRequest({url:url,data:{"field":["blocktrading.price","blocktrading.vol","blocktrading.premium","fweek","price"],"condition":[{"item":["date","int32","gte",this.StartDate]},{"item":["blocktrading.vol","int32","gte","0"]}],"symbol":[param.HQChart.Symbol],"start":0,"end":this.MaxRequestDataCount},type:"post",dataType:"json",async:true,success:function success(recvData){self.RecvData(recvData,param);}});return true;};this.RecvData=function(recvData,param){if(recvData.stock.length!=1)return;if(recvData.stock[0].stockday.length<=0)return;for(var i in recvData.stock[0].stockday){var item=recvData.stock[0].stockday[i];var infoData=new KLineInfoData();infoData.Date=item.date;infoData.InfoType=KLINE_INFO_TYPE.BLOCKTRADING;infoData.ExtendData={Price:item.blocktrading.price,//交易价格
|
|
8297
8301
|
Premium:item.blocktrading.premium,//溢价 (百分比%)
|
|
8298
8302
|
Vol:item.blocktrading.vol,//交易金额单位(万元)
|
|
@@ -8300,7 +8304,8 @@ ClosePrice:item.price//收盘价
|
|
|
8300
8304
|
};if(item.fweek)//未来周涨幅
|
|
8301
8305
|
{infoData.ExtendData.FWeek={};if(item.fweek.week1!=null)infoData.ExtendData.FWeek.Week1=item.fweek.week1;if(item.fweek.week4!=null)infoData.ExtendData.FWeek.Week4=item.fweek.week4;}this.Data.push(infoData);}param.HQChart.UpdataChartInfo();param.HQChart.Draw();};}//龙虎榜
|
|
8302
8306
|
function TradeDetail(){this.newMethod=IKLineInfo;//派生
|
|
8303
|
-
this.newMethod();delete this.newMethod;this.ClassName='TradeDetail';this.RequestData=function(hqChart,obj){var self=this;var param={HQChart:hqChart};this.Data=[];var url=g_JSChartResource.Domain+g_JSChartResource.KLine.Info.TradeDetail.ApiUrl
|
|
8307
|
+
this.newMethod();delete this.newMethod;this.ClassName='TradeDetail';this.Explain='大宗交易';this.RequestData=function(hqChart,obj){var self=this;var param={HQChart:hqChart};this.Data=[];var url=g_JSChartResource.Domain+g_JSChartResource.KLine.Info.TradeDetail.ApiUrl;if(this.NetworkFilter(hqChart,obj))return;//已被上层替换,不调用默认的网络请求
|
|
8308
|
+
//请求数据
|
|
8304
8309
|
JSNetwork.HttpRequest({url:url,data:{"field":["tradedetail.typeexplain","tradedetail.type","fweek"],"condition":[{"item":["date","int32","gte",this.StartDate]},{"item":["tradedetail.type","int32","gte","0"]}],"symbol":[param.HQChart.Symbol],"start":0,"end":this.MaxRequestDataCount},type:"post",dataType:"json",async:true,success:function success(recvData){self.RecvData(recvData,param);}});return true;};this.RecvData=function(recvData,param){if(recvData.stock.length!=1)return;if(recvData.stock[0].stockday.length<=0)return;for(var i in recvData.stock[0].stockday){var item=recvData.stock[0].stockday[i];var infoData=new KLineInfoData();infoData.Date=item.date;infoData.InfoType=KLINE_INFO_TYPE.TRADEDETAIL;infoData.ExtendData={Detail:new Array()};for(var j in item.tradedetail){var tradeItem=item.tradedetail[j];infoData.ExtendData.Detail.push({"Type":tradeItem.type,"TypeExplain":tradeItem.typeexplain});}if(item.fweek)//未来周涨幅
|
|
8305
8310
|
{infoData.ExtendData.FWeek={};if(item.fweek.week1!=null)infoData.ExtendData.FWeek.Week1=item.fweek.week1;if(item.fweek.week4!=null)infoData.ExtendData.FWeek.Week4=item.fweek.week4;}this.Data.push(infoData);}param.HQChart.UpdataChartInfo();param.HQChart.Draw();};}function JSMinuteInfoMap(){}JSMinuteInfoMap.InfoMap=new _map2.default([["大盘异动",{Create:function Create(){return new MarketEventInfo();}}]]);JSMinuteInfoMap.Get=function(id){return JSMinuteInfoMap.InfoMap.get(id);};function IMinuteInfo(){this.Data;this.ClassName='IMinuteInfo';}//////////////////////////////////////////////////////////////////////
|
|
8306
8311
|
// 大盘异动
|
|
@@ -10562,7 +10567,7 @@ case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_SELL_REPAY://卖出信息-偿还量
|
|
|
10562
10567
|
case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_SELL_NET://卖出信息-融券净卖出
|
|
10563
10568
|
var sellData=marginData.sell;if(!sellData)continue;if(!this.IsNumber(sellData.balance)||!this.IsNumber(sellData.volume)||!this.IsNumber(sellData.repay)||!this.IsNumber(sellData.net))continue;indexData.Value=buyData.balance;var indexData2=new SingleData();indexData2.Date=item.date;indexData2.Value=buyData.volume;var indexData3=new SingleData();indexData3.Date=item.date;indexData3.Value=buyData.repay;var indexData4=new SingleData();indexData4.Date=item.date;indexData4.Value=buyData.net;aryData.push(indexData);aryData2.push(indexData2);aryData3.push(indexData3);aryData4.push(indexData4);break;default:continue;}}var allData=[];if(jobID===JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_BALANCE||jobID===JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_RATE){allData.push({JobID:jobID,Data:aryData});}else if(jobID===JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_BUY_BALANCE||jobID===JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_BUY_AMOUNT||jobID===JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_BUY_REPAY||jobID===JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_BUY_NET){allData.push({JobID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_BUY_BALANCE,Data:aryData});allData.push({JobID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_BUY_AMOUNT,Data:aryData2});allData.push({JobID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_BUY_REPAY,Data:aryData3});allData.push({JobID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_BUY_NET,Data:aryData4});}else if(jobID===JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_SELL_BALANCE||jobID===JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_SELL_VOLUME||jobID===JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_SELL_REPAY||jobID===JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_SELL_NET){allData.push({JobID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_SELL_BALANCE,Data:aryData});allData.push({JobID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_SELL_VOLUME,Data:aryData2});allData.push({JobID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_SELL_REPAY,Data:aryData3});allData.push({JobID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_SELL_NET,Data:aryData4});}for(var _i126 in allData){var aryFixedData=this.SourceData.GetFittingData(allData[_i126].Data);var bindData=new ChartData();bindData.Data=aryFixedData;bindData.Period=this.Period;//周期
|
|
10564
10569
|
if(bindData.Period>0)//周期数据
|
|
10565
|
-
{var periodData=bindData.GetPeriodSingleData(bindData.Period);bindData.Data=periodData;}var
|
|
10570
|
+
{var periodData=bindData.GetPeriodSingleData(bindData.Period);bindData.Data=periodData;}var _data2=bindData.GetValue();this.MarginData.set(allData[_i126].JobID,_data2);}};this.GetNewsAnalysisCacheData=function(id,node){var jobID=JS_EXECUTE_JOB_ID.GetNewsAnalysisID(id);if(!jobID)this.Execute.ThrowUnexpectedNode(node,'不支持NEWS('+id+')');if(this.NewsAnalysisData.has(jobID))return this.NewsAnalysisData.get(jobID);return[];};this.GetHKToSHSZData=function(job){var args=job.Args;var code=this.Symbol;if(args.length>0){var item=args[0];if(item.Type==Syntax.Literal){code=item.Value;}else if(item.Type==Syntax.Identifier)//变量 !!只支持默认的变量值
|
|
10566
10571
|
{var isFind=false;for(var j in this.Arguments){var argItem=this.Arguments[j];if(argItem.Name==item.Name){code=argItem.Value;isFind=true;break;}}if(!isFind){var token=job.Token;this.Execute.ErrorHandler.ThrowError(token.Index,token.Line,0,'HK2SHSZ() Error: can\'t read '+item.Name);}}}job.Symbol=code;if(code==1||code==2||code==3)//下载全市场数据
|
|
10567
10572
|
this.GetHKToSHSZMarketData(code,job);else this.GetHKToSHSZStockData(code,job);//下载个股数据
|
|
10568
10573
|
};this.GetHKToSHSZStockData=function(symbol,job){if(this.HKToSHSZData.has(symbol))return this.Execute.RunNextJob();var upperSymbol=symbol.toLowerCase();//代码小写
|
|
@@ -10577,7 +10582,7 @@ JSNetwork.HttpRequest({url:url,type:"get",dataType:"json",async:true,success:fun
|
|
|
10577
10582
|
var SZValue=data.hk2sz[i]*1000000;//单位是百万
|
|
10578
10583
|
var total=SHValue+SZValue;var itemSHSZData=new SingleData();itemSHSZData.Date=date;itemSHSZData.Value=total;var itemSHData=new SingleData();itemSHData.Date=date;itemSHData.Value=SHValue;var itemSZData=new SingleData();itemSZData.Date=date;itemSZData.Value=SZValue;arySHSZData.push(itemSHSZData);arySHData.push(itemSHData);arySZData.push(itemSZData);}var allData=[{Data:arySHSZData,ID:1},{Data:arySHData,ID:2},{Data:arySZData,ID:3}];for(var _i127 in allData){var aryFixedData=this.Data.GetFittingData(allData[_i127].Data);var bindData=new ChartData();bindData.Data=aryFixedData;bindData.Period=this.Period;//周期
|
|
10579
10584
|
if(bindData.Period>0)//周期数据
|
|
10580
|
-
{var periodData=bindData.GetPeriodSingleData(bindData.Period);bindData.Data=periodData;}var
|
|
10585
|
+
{var periodData=bindData.GetPeriodSingleData(bindData.Period);bindData.Data=periodData;}var _data3=bindData.GetValue();this.HKToSHSZData.set(allData[_i127].ID,_data3);}};this.RecvMulitMinuteHKToSHSZData=function(data,job)//多日分时图北上资金
|
|
10581
10586
|
{if(!data.data||data.data.length<=0)return;var arySHSZData=[],arySHData=[],arySZData=[];for(var i=0,j=0;i<this.Data.Data.length&&j<data.data.length;){arySHSZData[i]=null;arySHData[i]=null;arySZData[i]=null;var item=this.Data.Data[i];var dateTime=item.DateTime;//日期加时间
|
|
10582
10587
|
if(!dateTime){++i;continue;}var aryValue=dateTime.split(' ');if(aryValue.length!=2){++i;continue;}var date=parseInt(aryValue[0]);var day=data.data[j];if(!day.minute||day.minute.length<=0){++j;continue;}if(day.date>date){++i;continue;}else if(day.date<date){++j;continue;}for(var k in day.minute){var timeItem=day.minute[k];var SHValue=timeItem[1];var SZValue=timeItem[2];var total=SHValue+SZValue;arySHSZData[i]=total;arySHData[i]=SHValue;arySZData[i]=SZValue;++i;}++j;}var allData=[{Data:arySHSZData,ID:1},{Data:arySHData,ID:2},{Data:arySZData,ID:3}];for(var i in allData){var item=allData[i];this.HKToSHSZData.set(item.ID,item.Data);}};//北上资金函数
|
|
10583
10588
|
this.GetHKToSHSZCacheData=function(code,node){//if (!this.HKToSHSZData.has(code)) this.Execute.ThrowUnexpectedNode(node,`不支持HK2SHSZ(${code})`);
|
|
@@ -12490,7 +12495,7 @@ function HQChartScriptWorker(){this.Create=function(){var _this60=this;addEventL
|
|
|
12490
12495
|
hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,Stock:{Symbol:message.Symbol},Request:{MaxDataCount:500,MaxMinuteDayCount:5},Period:message.Period,Right:message.Right,Data:hisData};if(IFrameSplitOperator.IsNumber(message.HQDataType))stockObj.HQDataType=message.HQDataType;indexConsole.ExecuteScript(stockObj);};this.OnRecvMessage=function(message){var data=message.data;if(!data)return;if(data.ID==JSCHART_WORKER_MESSAGE_ID.EXECUTE_SCRIPT){if(!IFrameSplitOperator.IsNonEmptyArray(data.AryIndex))return;for(var i=0;i<data.AryIndex.length;++i){var item=data.AryIndex[i];this.ExecuteScript(item,data);}}};this.OnExecuteFinish=function(data,indexInfo,jsExectute){var message={Data:data,IndexInfo:indexInfo,ID:JSCHART_WORKER_MESSAGE_ID.FINISH_EXECUTE_SCRIPT};postMessage(message);};this.OnExecuteError=function(error,indexInfo){var message={IndexInfo:indexInfo,ID:JSCHART_WORKER_MESSAGE_ID.ERROR_EXECUTE_SCRIPT,Error:error};postMessage(message);};}/********************************************************************************
|
|
12491
12496
|
* 版本信息输出
|
|
12492
12497
|
*
|
|
12493
|
-
*/var HQCHART_VERSION="1.1.
|
|
12498
|
+
*/var HQCHART_VERSION="1.1.12498";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();//把给外界调用的方法暴露出来
|
|
12494
12499
|
exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
|
|
12495
12500
|
// BaseIndex:BaseIndex,
|
|
12496
12501
|
// ChartLine:ChartLine,
|
package/package.json
CHANGED
package/src/jscommon/umychart.js
CHANGED
|
@@ -3842,7 +3842,8 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
3842
3842
|
Y:drag.LastMove.Y-uielement.getBoundingClientRect().top,
|
|
3843
3843
|
SelectData:selectData, //区间选择的数据
|
|
3844
3844
|
RectSelectPaint:paint, //区间选择背景
|
|
3845
|
-
IsShowMenu:true
|
|
3845
|
+
IsShowMenu:true,
|
|
3846
|
+
e,e
|
|
3846
3847
|
};
|
|
3847
3848
|
event.Callback(event,data,this);
|
|
3848
3849
|
isShowMenu=data.IsShowMenu;
|
|
@@ -9009,6 +9010,7 @@ function IChartFramePainting()
|
|
|
9009
9010
|
|
|
9010
9011
|
this.LogoTextColor=g_JSChartResource.FrameLogo.TextColor;
|
|
9011
9012
|
this.LogoTextFont=g_JSChartResource.FrameLogo.Font;
|
|
9013
|
+
this.LogoBGColor=g_JSChartResource.FrameLogo.BGColor;
|
|
9012
9014
|
this.GlobalOption;
|
|
9013
9015
|
|
|
9014
9016
|
this.PtInButtons=function(x,y) //坐标是否在按钮上
|
|
@@ -9173,10 +9175,12 @@ function IChartFramePainting()
|
|
|
9173
9175
|
var text=g_JSChartResource.FrameLogo.Text;
|
|
9174
9176
|
if (!IFrameSplitOperator.IsString(text)) return;
|
|
9175
9177
|
|
|
9176
|
-
|
|
9178
|
+
|
|
9177
9179
|
this.Canvas.font=this.LogoTextFont;
|
|
9178
9180
|
this.Canvas.textAlign = 'left';
|
|
9179
9181
|
this.Canvas.textBaseline = 'bottom';
|
|
9182
|
+
var height=this.Canvas.measureText("擎").width;
|
|
9183
|
+
var width=this.Canvas.measureText(text).width;
|
|
9180
9184
|
if (this.IsHScreen)
|
|
9181
9185
|
{
|
|
9182
9186
|
var x=border.Left+5;
|
|
@@ -9184,13 +9188,36 @@ function IChartFramePainting()
|
|
|
9184
9188
|
this.Canvas.save();
|
|
9185
9189
|
this.Canvas.translate(x,y);
|
|
9186
9190
|
this.Canvas.rotate(90 * Math.PI / 180);
|
|
9187
|
-
|
|
9191
|
+
|
|
9192
|
+
var rtBG={ Left:0, Bottom:0, Width:width+4, Height:height+4 };
|
|
9193
|
+
rtBG.Top=rtBG.Bottom-rtBG.Height;
|
|
9194
|
+
rtBG.Right=rtBG.Left+rtBG.Width;
|
|
9195
|
+
|
|
9196
|
+
if (this.LogoBGColor)
|
|
9197
|
+
{
|
|
9198
|
+
this.Canvas.fillStyle=this.LogoBGColor;
|
|
9199
|
+
this.Canvas.fillRect(rtBG.Left,rtBG.Top,rtBG.Width,rtBG.Height);
|
|
9200
|
+
}
|
|
9201
|
+
|
|
9202
|
+
this.Canvas.fillStyle=this.LogoTextColor;
|
|
9203
|
+
this.Canvas.fillText(text,1,0);
|
|
9188
9204
|
this.Canvas.restore();
|
|
9189
9205
|
}
|
|
9190
9206
|
else
|
|
9191
9207
|
{
|
|
9192
|
-
var
|
|
9193
|
-
|
|
9208
|
+
var rtBG={ Left:border.Left+5, Bottom:border.Bottom-5, Width:width+4, Height:height+4 };
|
|
9209
|
+
rtBG.Top=rtBG.Bottom-rtBG.Height;
|
|
9210
|
+
rtBG.Right=rtBG.Left+rtBG.Width;
|
|
9211
|
+
|
|
9212
|
+
if (this.LogoBGColor)
|
|
9213
|
+
{
|
|
9214
|
+
this.Canvas.fillStyle=this.LogoBGColor;
|
|
9215
|
+
this.Canvas.fillRect(rtBG.Left,rtBG.Top,rtBG.Width,rtBG.Height);
|
|
9216
|
+
}
|
|
9217
|
+
|
|
9218
|
+
var x=rtBG.Left+1;
|
|
9219
|
+
var y=rtBG.Bottom-1;
|
|
9220
|
+
this.Canvas.fillStyle=this.LogoTextColor;
|
|
9194
9221
|
this.Canvas.fillText(text,x,y);
|
|
9195
9222
|
}
|
|
9196
9223
|
}
|
|
@@ -29064,6 +29091,7 @@ function ChartVolStick()
|
|
|
29064
29091
|
else //太细了直接话线
|
|
29065
29092
|
{
|
|
29066
29093
|
var preKItem=null;
|
|
29094
|
+
var barColor=null;
|
|
29067
29095
|
for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j,xOffset+=(dataWidth+distanceWidth))
|
|
29068
29096
|
{
|
|
29069
29097
|
var value=this.Data.Data[i];
|
|
@@ -29084,14 +29112,8 @@ function ChartVolStick()
|
|
|
29084
29112
|
|
|
29085
29113
|
if (x>chartright) break;
|
|
29086
29114
|
|
|
29087
|
-
if (isMinute)
|
|
29088
|
-
|
|
29089
|
-
var barColor=this.GetMinuteBarColor(kItem,preKItem); //分时图颜色单独计算
|
|
29090
|
-
}
|
|
29091
|
-
else
|
|
29092
|
-
{
|
|
29093
|
-
var barColor=this.GetBarColor(kItem);
|
|
29094
|
-
}
|
|
29115
|
+
if (isMinute) barColor=this.GetMinuteBarColor(kItem,preKItem); //分时图颜色单独计算
|
|
29116
|
+
else barColor=this.GetBarColor(kItem);
|
|
29095
29117
|
|
|
29096
29118
|
this.Canvas.strokeStyle=barColor.Color;
|
|
29097
29119
|
|
|
@@ -29117,6 +29139,7 @@ function ChartVolStick()
|
|
|
29117
29139
|
var lockRect=this.GetLockRect();
|
|
29118
29140
|
if (lockRect) chartBottom=lockRect.Top;
|
|
29119
29141
|
|
|
29142
|
+
var isMinute=this.IsMinuteFrame();
|
|
29120
29143
|
var yBottom=this.ChartFrame.GetYFromData(0);
|
|
29121
29144
|
|
|
29122
29145
|
if (dataWidth>=4)
|
|
@@ -29153,6 +29176,8 @@ function ChartVolStick()
|
|
|
29153
29176
|
}
|
|
29154
29177
|
else //太细了直接话线
|
|
29155
29178
|
{
|
|
29179
|
+
var preKItem=null;
|
|
29180
|
+
var barColor=null;
|
|
29156
29181
|
for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j,xOffset+=(dataWidth+distanceWidth))
|
|
29157
29182
|
{
|
|
29158
29183
|
var value=this.Data.Data[i];
|
|
@@ -29160,10 +29185,23 @@ function ChartVolStick()
|
|
|
29160
29185
|
if (value==null || kItem==null) continue;
|
|
29161
29186
|
|
|
29162
29187
|
var y=this.ChartFrame.GetYFromData(value);
|
|
29163
|
-
|
|
29188
|
+
|
|
29189
|
+
if (isMinute)
|
|
29190
|
+
{
|
|
29191
|
+
var x=this.ChartFrame.GetXFromIndex(j);
|
|
29192
|
+
}
|
|
29193
|
+
else
|
|
29194
|
+
{
|
|
29195
|
+
var left=xOffset;
|
|
29196
|
+
var right=xOffset+dataWidth;
|
|
29197
|
+
var x=left+(right-left)/2;
|
|
29198
|
+
}
|
|
29199
|
+
|
|
29164
29200
|
if (x>chartBottom) break;
|
|
29165
29201
|
|
|
29166
|
-
|
|
29202
|
+
if (isMinute) barColor=this.GetMinuteBarColor(kItem,preKItem); //分时图颜色单独计算
|
|
29203
|
+
else barColor=this.GetBarColor(kItem);
|
|
29204
|
+
|
|
29167
29205
|
var bUp=barColor.IsUp;
|
|
29168
29206
|
this.Canvas.strokeStyle=barColor.Color;
|
|
29169
29207
|
|
|
@@ -29172,6 +29210,8 @@ function ChartVolStick()
|
|
|
29172
29210
|
this.Canvas.moveTo(y,ToFixedPoint(x));
|
|
29173
29211
|
this.Canvas.lineTo(yBottom,ToFixedPoint(x));
|
|
29174
29212
|
this.Canvas.stroke();
|
|
29213
|
+
|
|
29214
|
+
preKItem=kItem;
|
|
29175
29215
|
}
|
|
29176
29216
|
}
|
|
29177
29217
|
}
|
|
@@ -59608,7 +59648,8 @@ function JSChartResource()
|
|
|
59608
59648
|
{
|
|
59609
59649
|
TextColor:'rgb(178,34,34)',
|
|
59610
59650
|
Font:"bold "+ 16*GetDevicePixelRatio() +"px 微软雅黑",
|
|
59611
|
-
Text:"*仅学习使用*" //不要修改声明, 任何修改声明产生的任何法律责任由修改者自行独立承担,与HQChart插件作者无关。
|
|
59651
|
+
Text:"*仅学习使用*", //不要修改声明, 任何修改声明产生的任何法律责任由修改者自行独立承担,与HQChart插件作者无关。
|
|
59652
|
+
BGColor:"rgba(230,230,230, 0.5)",
|
|
59612
59653
|
};
|
|
59613
59654
|
|
|
59614
59655
|
//百分比坐标文字颜色
|
|
@@ -70566,7 +70607,8 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
70566
70607
|
X:drag.LastMove.X-uielement.getBoundingClientRect().left,
|
|
70567
70608
|
Y:drag.LastMove.Y-uielement.getBoundingClientRect().top,
|
|
70568
70609
|
SelectData:selectData, //区间选择的数据
|
|
70569
|
-
RectSelectPaint:paint //区间选择背景
|
|
70610
|
+
RectSelectPaint:paint, //区间选择背景
|
|
70611
|
+
e:e
|
|
70570
70612
|
};
|
|
70571
70613
|
event.Callback(event,data,this);
|
|
70572
70614
|
isShowDialog=false; //外部调用了区间选择事件,不弹框
|
|
@@ -80499,6 +80541,7 @@ function PforecastInfo()
|
|
|
80499
80541
|
delete this.newMethod;
|
|
80500
80542
|
|
|
80501
80543
|
this.ClassName='PforecastInfo';
|
|
80544
|
+
this.Explain='业绩预告';
|
|
80502
80545
|
|
|
80503
80546
|
this.RequestData=function(hqChart,obj)
|
|
80504
80547
|
{
|
|
@@ -80511,6 +80554,9 @@ function PforecastInfo()
|
|
|
80511
80554
|
this.Data=[];
|
|
80512
80555
|
|
|
80513
80556
|
var url=g_JSChartResource.Domain+g_JSChartResource.KLine.Info.Pforecast.ApiUrl;
|
|
80557
|
+
|
|
80558
|
+
if (this.NetworkFilter(hqChart, obj)) return; //已被上层替换,不调用默认的网络请求
|
|
80559
|
+
|
|
80514
80560
|
//请求数据
|
|
80515
80561
|
JSNetwork.HttpRequest({
|
|
80516
80562
|
url: url,
|
|
@@ -80577,6 +80623,7 @@ function ResearchInfo()
|
|
|
80577
80623
|
delete this.newMethod;
|
|
80578
80624
|
|
|
80579
80625
|
this.ClassName='ResearchInfo';
|
|
80626
|
+
this.Explain='调研';
|
|
80580
80627
|
|
|
80581
80628
|
this.RequestData=function(hqChart,obj)
|
|
80582
80629
|
{
|
|
@@ -80588,6 +80635,9 @@ function ResearchInfo()
|
|
|
80588
80635
|
|
|
80589
80636
|
this.Data=[];
|
|
80590
80637
|
var url=g_JSChartResource.Domain+g_JSChartResource.KLine.Info.Research.ApiUrl;
|
|
80638
|
+
|
|
80639
|
+
if (this.NetworkFilter(hqChart, obj)) return; //已被上层替换,不调用默认的网络请求
|
|
80640
|
+
|
|
80591
80641
|
//请求数据
|
|
80592
80642
|
JSNetwork.HttpRequest({
|
|
80593
80643
|
url: url,
|
|
@@ -80641,6 +80691,7 @@ function BlockTrading()
|
|
|
80641
80691
|
delete this.newMethod;
|
|
80642
80692
|
|
|
80643
80693
|
this.ClassName='BlockTrading';
|
|
80694
|
+
this.Explain='大宗交易';
|
|
80644
80695
|
|
|
80645
80696
|
this.RequestData=function(hqChart,obj)
|
|
80646
80697
|
{
|
|
@@ -80653,6 +80704,8 @@ function BlockTrading()
|
|
|
80653
80704
|
this.Data=[];
|
|
80654
80705
|
var url=g_JSChartResource.Domain+g_JSChartResource.KLine.Info.BlockTrading.ApiUrl;
|
|
80655
80706
|
|
|
80707
|
+
if (this.NetworkFilter(hqChart, obj)) return; //已被上层替换,不调用默认的网络请求
|
|
80708
|
+
|
|
80656
80709
|
//请求数据
|
|
80657
80710
|
JSNetwork.HttpRequest({
|
|
80658
80711
|
url: url,
|
|
@@ -80724,7 +80777,8 @@ function TradeDetail()
|
|
|
80724
80777
|
delete this.newMethod;
|
|
80725
80778
|
|
|
80726
80779
|
this.ClassName='TradeDetail';
|
|
80727
|
-
|
|
80780
|
+
this.Explain='大宗交易';
|
|
80781
|
+
|
|
80728
80782
|
this.RequestData=function(hqChart, obj)
|
|
80729
80783
|
{
|
|
80730
80784
|
var self = this;
|
|
@@ -80736,6 +80790,8 @@ function TradeDetail()
|
|
|
80736
80790
|
this.Data=[];
|
|
80737
80791
|
var url=g_JSChartResource.Domain+g_JSChartResource.KLine.Info.TradeDetail.ApiUrl;
|
|
80738
80792
|
|
|
80793
|
+
if (this.NetworkFilter(hqChart, obj)) return; //已被上层替换,不调用默认的网络请求
|
|
80794
|
+
|
|
80739
80795
|
//请求数据
|
|
80740
80796
|
JSNetwork.HttpRequest({
|
|
80741
80797
|
url: url,
|
|
@@ -7922,7 +7922,8 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
7922
7922
|
Y:drag.LastMove.Y-uielement.getBoundingClientRect().top,
|
|
7923
7923
|
SelectData:selectData, //区间选择的数据
|
|
7924
7924
|
RectSelectPaint:paint, //区间选择背景
|
|
7925
|
-
IsShowMenu:true
|
|
7925
|
+
IsShowMenu:true,
|
|
7926
|
+
e,e
|
|
7926
7927
|
};
|
|
7927
7928
|
event.Callback(event,data,this);
|
|
7928
7929
|
isShowMenu=data.IsShowMenu;
|
|
@@ -13089,6 +13090,7 @@ function IChartFramePainting()
|
|
|
13089
13090
|
|
|
13090
13091
|
this.LogoTextColor=g_JSChartResource.FrameLogo.TextColor;
|
|
13091
13092
|
this.LogoTextFont=g_JSChartResource.FrameLogo.Font;
|
|
13093
|
+
this.LogoBGColor=g_JSChartResource.FrameLogo.BGColor;
|
|
13092
13094
|
this.GlobalOption;
|
|
13093
13095
|
|
|
13094
13096
|
this.PtInButtons=function(x,y) //坐标是否在按钮上
|
|
@@ -13253,10 +13255,12 @@ function IChartFramePainting()
|
|
|
13253
13255
|
var text=g_JSChartResource.FrameLogo.Text;
|
|
13254
13256
|
if (!IFrameSplitOperator.IsString(text)) return;
|
|
13255
13257
|
|
|
13256
|
-
|
|
13258
|
+
|
|
13257
13259
|
this.Canvas.font=this.LogoTextFont;
|
|
13258
13260
|
this.Canvas.textAlign = 'left';
|
|
13259
13261
|
this.Canvas.textBaseline = 'bottom';
|
|
13262
|
+
var height=this.Canvas.measureText("擎").width;
|
|
13263
|
+
var width=this.Canvas.measureText(text).width;
|
|
13260
13264
|
if (this.IsHScreen)
|
|
13261
13265
|
{
|
|
13262
13266
|
var x=border.Left+5;
|
|
@@ -13264,13 +13268,36 @@ function IChartFramePainting()
|
|
|
13264
13268
|
this.Canvas.save();
|
|
13265
13269
|
this.Canvas.translate(x,y);
|
|
13266
13270
|
this.Canvas.rotate(90 * Math.PI / 180);
|
|
13267
|
-
|
|
13271
|
+
|
|
13272
|
+
var rtBG={ Left:0, Bottom:0, Width:width+4, Height:height+4 };
|
|
13273
|
+
rtBG.Top=rtBG.Bottom-rtBG.Height;
|
|
13274
|
+
rtBG.Right=rtBG.Left+rtBG.Width;
|
|
13275
|
+
|
|
13276
|
+
if (this.LogoBGColor)
|
|
13277
|
+
{
|
|
13278
|
+
this.Canvas.fillStyle=this.LogoBGColor;
|
|
13279
|
+
this.Canvas.fillRect(rtBG.Left,rtBG.Top,rtBG.Width,rtBG.Height);
|
|
13280
|
+
}
|
|
13281
|
+
|
|
13282
|
+
this.Canvas.fillStyle=this.LogoTextColor;
|
|
13283
|
+
this.Canvas.fillText(text,1,0);
|
|
13268
13284
|
this.Canvas.restore();
|
|
13269
13285
|
}
|
|
13270
13286
|
else
|
|
13271
13287
|
{
|
|
13272
|
-
var
|
|
13273
|
-
|
|
13288
|
+
var rtBG={ Left:border.Left+5, Bottom:border.Bottom-5, Width:width+4, Height:height+4 };
|
|
13289
|
+
rtBG.Top=rtBG.Bottom-rtBG.Height;
|
|
13290
|
+
rtBG.Right=rtBG.Left+rtBG.Width;
|
|
13291
|
+
|
|
13292
|
+
if (this.LogoBGColor)
|
|
13293
|
+
{
|
|
13294
|
+
this.Canvas.fillStyle=this.LogoBGColor;
|
|
13295
|
+
this.Canvas.fillRect(rtBG.Left,rtBG.Top,rtBG.Width,rtBG.Height);
|
|
13296
|
+
}
|
|
13297
|
+
|
|
13298
|
+
var x=rtBG.Left+1;
|
|
13299
|
+
var y=rtBG.Bottom-1;
|
|
13300
|
+
this.Canvas.fillStyle=this.LogoTextColor;
|
|
13274
13301
|
this.Canvas.fillText(text,x,y);
|
|
13275
13302
|
}
|
|
13276
13303
|
}
|
|
@@ -33144,6 +33171,7 @@ function ChartVolStick()
|
|
|
33144
33171
|
else //太细了直接话线
|
|
33145
33172
|
{
|
|
33146
33173
|
var preKItem=null;
|
|
33174
|
+
var barColor=null;
|
|
33147
33175
|
for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j,xOffset+=(dataWidth+distanceWidth))
|
|
33148
33176
|
{
|
|
33149
33177
|
var value=this.Data.Data[i];
|
|
@@ -33164,14 +33192,8 @@ function ChartVolStick()
|
|
|
33164
33192
|
|
|
33165
33193
|
if (x>chartright) break;
|
|
33166
33194
|
|
|
33167
|
-
if (isMinute)
|
|
33168
|
-
|
|
33169
|
-
var barColor=this.GetMinuteBarColor(kItem,preKItem); //分时图颜色单独计算
|
|
33170
|
-
}
|
|
33171
|
-
else
|
|
33172
|
-
{
|
|
33173
|
-
var barColor=this.GetBarColor(kItem);
|
|
33174
|
-
}
|
|
33195
|
+
if (isMinute) barColor=this.GetMinuteBarColor(kItem,preKItem); //分时图颜色单独计算
|
|
33196
|
+
else barColor=this.GetBarColor(kItem);
|
|
33175
33197
|
|
|
33176
33198
|
this.Canvas.strokeStyle=barColor.Color;
|
|
33177
33199
|
|
|
@@ -33197,6 +33219,7 @@ function ChartVolStick()
|
|
|
33197
33219
|
var lockRect=this.GetLockRect();
|
|
33198
33220
|
if (lockRect) chartBottom=lockRect.Top;
|
|
33199
33221
|
|
|
33222
|
+
var isMinute=this.IsMinuteFrame();
|
|
33200
33223
|
var yBottom=this.ChartFrame.GetYFromData(0);
|
|
33201
33224
|
|
|
33202
33225
|
if (dataWidth>=4)
|
|
@@ -33233,6 +33256,8 @@ function ChartVolStick()
|
|
|
33233
33256
|
}
|
|
33234
33257
|
else //太细了直接话线
|
|
33235
33258
|
{
|
|
33259
|
+
var preKItem=null;
|
|
33260
|
+
var barColor=null;
|
|
33236
33261
|
for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j,xOffset+=(dataWidth+distanceWidth))
|
|
33237
33262
|
{
|
|
33238
33263
|
var value=this.Data.Data[i];
|
|
@@ -33240,10 +33265,23 @@ function ChartVolStick()
|
|
|
33240
33265
|
if (value==null || kItem==null) continue;
|
|
33241
33266
|
|
|
33242
33267
|
var y=this.ChartFrame.GetYFromData(value);
|
|
33243
|
-
|
|
33268
|
+
|
|
33269
|
+
if (isMinute)
|
|
33270
|
+
{
|
|
33271
|
+
var x=this.ChartFrame.GetXFromIndex(j);
|
|
33272
|
+
}
|
|
33273
|
+
else
|
|
33274
|
+
{
|
|
33275
|
+
var left=xOffset;
|
|
33276
|
+
var right=xOffset+dataWidth;
|
|
33277
|
+
var x=left+(right-left)/2;
|
|
33278
|
+
}
|
|
33279
|
+
|
|
33244
33280
|
if (x>chartBottom) break;
|
|
33245
33281
|
|
|
33246
|
-
|
|
33282
|
+
if (isMinute) barColor=this.GetMinuteBarColor(kItem,preKItem); //分时图颜色单独计算
|
|
33283
|
+
else barColor=this.GetBarColor(kItem);
|
|
33284
|
+
|
|
33247
33285
|
var bUp=barColor.IsUp;
|
|
33248
33286
|
this.Canvas.strokeStyle=barColor.Color;
|
|
33249
33287
|
|
|
@@ -33252,6 +33290,8 @@ function ChartVolStick()
|
|
|
33252
33290
|
this.Canvas.moveTo(y,ToFixedPoint(x));
|
|
33253
33291
|
this.Canvas.lineTo(yBottom,ToFixedPoint(x));
|
|
33254
33292
|
this.Canvas.stroke();
|
|
33293
|
+
|
|
33294
|
+
preKItem=kItem;
|
|
33255
33295
|
}
|
|
33256
33296
|
}
|
|
33257
33297
|
}
|
|
@@ -63688,7 +63728,8 @@ function JSChartResource()
|
|
|
63688
63728
|
{
|
|
63689
63729
|
TextColor:'rgb(178,34,34)',
|
|
63690
63730
|
Font:"bold "+ 16*GetDevicePixelRatio() +"px 微软雅黑",
|
|
63691
|
-
Text:"*仅学习使用*" //不要修改声明, 任何修改声明产生的任何法律责任由修改者自行独立承担,与HQChart插件作者无关。
|
|
63731
|
+
Text:"*仅学习使用*", //不要修改声明, 任何修改声明产生的任何法律责任由修改者自行独立承担,与HQChart插件作者无关。
|
|
63732
|
+
BGColor:"rgba(230,230,230, 0.5)",
|
|
63692
63733
|
};
|
|
63693
63734
|
|
|
63694
63735
|
//百分比坐标文字颜色
|
|
@@ -74646,7 +74687,8 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
74646
74687
|
X:drag.LastMove.X-uielement.getBoundingClientRect().left,
|
|
74647
74688
|
Y:drag.LastMove.Y-uielement.getBoundingClientRect().top,
|
|
74648
74689
|
SelectData:selectData, //区间选择的数据
|
|
74649
|
-
RectSelectPaint:paint //区间选择背景
|
|
74690
|
+
RectSelectPaint:paint, //区间选择背景
|
|
74691
|
+
e:e
|
|
74650
74692
|
};
|
|
74651
74693
|
event.Callback(event,data,this);
|
|
74652
74694
|
isShowDialog=false; //外部调用了区间选择事件,不弹框
|
|
@@ -84579,6 +84621,7 @@ function PforecastInfo()
|
|
|
84579
84621
|
delete this.newMethod;
|
|
84580
84622
|
|
|
84581
84623
|
this.ClassName='PforecastInfo';
|
|
84624
|
+
this.Explain='业绩预告';
|
|
84582
84625
|
|
|
84583
84626
|
this.RequestData=function(hqChart,obj)
|
|
84584
84627
|
{
|
|
@@ -84591,6 +84634,9 @@ function PforecastInfo()
|
|
|
84591
84634
|
this.Data=[];
|
|
84592
84635
|
|
|
84593
84636
|
var url=g_JSChartResource.Domain+g_JSChartResource.KLine.Info.Pforecast.ApiUrl;
|
|
84637
|
+
|
|
84638
|
+
if (this.NetworkFilter(hqChart, obj)) return; //已被上层替换,不调用默认的网络请求
|
|
84639
|
+
|
|
84594
84640
|
//请求数据
|
|
84595
84641
|
JSNetwork.HttpRequest({
|
|
84596
84642
|
url: url,
|
|
@@ -84657,6 +84703,7 @@ function ResearchInfo()
|
|
|
84657
84703
|
delete this.newMethod;
|
|
84658
84704
|
|
|
84659
84705
|
this.ClassName='ResearchInfo';
|
|
84706
|
+
this.Explain='调研';
|
|
84660
84707
|
|
|
84661
84708
|
this.RequestData=function(hqChart,obj)
|
|
84662
84709
|
{
|
|
@@ -84668,6 +84715,9 @@ function ResearchInfo()
|
|
|
84668
84715
|
|
|
84669
84716
|
this.Data=[];
|
|
84670
84717
|
var url=g_JSChartResource.Domain+g_JSChartResource.KLine.Info.Research.ApiUrl;
|
|
84718
|
+
|
|
84719
|
+
if (this.NetworkFilter(hqChart, obj)) return; //已被上层替换,不调用默认的网络请求
|
|
84720
|
+
|
|
84671
84721
|
//请求数据
|
|
84672
84722
|
JSNetwork.HttpRequest({
|
|
84673
84723
|
url: url,
|
|
@@ -84721,6 +84771,7 @@ function BlockTrading()
|
|
|
84721
84771
|
delete this.newMethod;
|
|
84722
84772
|
|
|
84723
84773
|
this.ClassName='BlockTrading';
|
|
84774
|
+
this.Explain='大宗交易';
|
|
84724
84775
|
|
|
84725
84776
|
this.RequestData=function(hqChart,obj)
|
|
84726
84777
|
{
|
|
@@ -84733,6 +84784,8 @@ function BlockTrading()
|
|
|
84733
84784
|
this.Data=[];
|
|
84734
84785
|
var url=g_JSChartResource.Domain+g_JSChartResource.KLine.Info.BlockTrading.ApiUrl;
|
|
84735
84786
|
|
|
84787
|
+
if (this.NetworkFilter(hqChart, obj)) return; //已被上层替换,不调用默认的网络请求
|
|
84788
|
+
|
|
84736
84789
|
//请求数据
|
|
84737
84790
|
JSNetwork.HttpRequest({
|
|
84738
84791
|
url: url,
|
|
@@ -84804,7 +84857,8 @@ function TradeDetail()
|
|
|
84804
84857
|
delete this.newMethod;
|
|
84805
84858
|
|
|
84806
84859
|
this.ClassName='TradeDetail';
|
|
84807
|
-
|
|
84860
|
+
this.Explain='大宗交易';
|
|
84861
|
+
|
|
84808
84862
|
this.RequestData=function(hqChart, obj)
|
|
84809
84863
|
{
|
|
84810
84864
|
var self = this;
|
|
@@ -84816,6 +84870,8 @@ function TradeDetail()
|
|
|
84816
84870
|
this.Data=[];
|
|
84817
84871
|
var url=g_JSChartResource.Domain+g_JSChartResource.KLine.Info.TradeDetail.ApiUrl;
|
|
84818
84872
|
|
|
84873
|
+
if (this.NetworkFilter(hqChart, obj)) return; //已被上层替换,不调用默认的网络请求
|
|
84874
|
+
|
|
84819
84875
|
//请求数据
|
|
84820
84876
|
JSNetwork.HttpRequest({
|
|
84821
84877
|
url: url,
|
|
@@ -128047,7 +128103,7 @@ function ScrollBarBGChart()
|
|
|
128047
128103
|
|
|
128048
128104
|
|
|
128049
128105
|
|
|
128050
|
-
var HQCHART_VERSION="1.1.
|
|
128106
|
+
var HQCHART_VERSION="1.1.12498";
|
|
128051
128107
|
|
|
128052
128108
|
function PrintHQChartVersion()
|
|
128053
128109
|
{
|
|
@@ -7966,7 +7966,8 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
7966
7966
|
Y:drag.LastMove.Y-uielement.getBoundingClientRect().top,
|
|
7967
7967
|
SelectData:selectData, //区间选择的数据
|
|
7968
7968
|
RectSelectPaint:paint, //区间选择背景
|
|
7969
|
-
IsShowMenu:true
|
|
7969
|
+
IsShowMenu:true,
|
|
7970
|
+
e,e
|
|
7970
7971
|
};
|
|
7971
7972
|
event.Callback(event,data,this);
|
|
7972
7973
|
isShowMenu=data.IsShowMenu;
|
|
@@ -13133,6 +13134,7 @@ function IChartFramePainting()
|
|
|
13133
13134
|
|
|
13134
13135
|
this.LogoTextColor=g_JSChartResource.FrameLogo.TextColor;
|
|
13135
13136
|
this.LogoTextFont=g_JSChartResource.FrameLogo.Font;
|
|
13137
|
+
this.LogoBGColor=g_JSChartResource.FrameLogo.BGColor;
|
|
13136
13138
|
this.GlobalOption;
|
|
13137
13139
|
|
|
13138
13140
|
this.PtInButtons=function(x,y) //坐标是否在按钮上
|
|
@@ -13297,10 +13299,12 @@ function IChartFramePainting()
|
|
|
13297
13299
|
var text=g_JSChartResource.FrameLogo.Text;
|
|
13298
13300
|
if (!IFrameSplitOperator.IsString(text)) return;
|
|
13299
13301
|
|
|
13300
|
-
|
|
13302
|
+
|
|
13301
13303
|
this.Canvas.font=this.LogoTextFont;
|
|
13302
13304
|
this.Canvas.textAlign = 'left';
|
|
13303
13305
|
this.Canvas.textBaseline = 'bottom';
|
|
13306
|
+
var height=this.Canvas.measureText("擎").width;
|
|
13307
|
+
var width=this.Canvas.measureText(text).width;
|
|
13304
13308
|
if (this.IsHScreen)
|
|
13305
13309
|
{
|
|
13306
13310
|
var x=border.Left+5;
|
|
@@ -13308,13 +13312,36 @@ function IChartFramePainting()
|
|
|
13308
13312
|
this.Canvas.save();
|
|
13309
13313
|
this.Canvas.translate(x,y);
|
|
13310
13314
|
this.Canvas.rotate(90 * Math.PI / 180);
|
|
13311
|
-
|
|
13315
|
+
|
|
13316
|
+
var rtBG={ Left:0, Bottom:0, Width:width+4, Height:height+4 };
|
|
13317
|
+
rtBG.Top=rtBG.Bottom-rtBG.Height;
|
|
13318
|
+
rtBG.Right=rtBG.Left+rtBG.Width;
|
|
13319
|
+
|
|
13320
|
+
if (this.LogoBGColor)
|
|
13321
|
+
{
|
|
13322
|
+
this.Canvas.fillStyle=this.LogoBGColor;
|
|
13323
|
+
this.Canvas.fillRect(rtBG.Left,rtBG.Top,rtBG.Width,rtBG.Height);
|
|
13324
|
+
}
|
|
13325
|
+
|
|
13326
|
+
this.Canvas.fillStyle=this.LogoTextColor;
|
|
13327
|
+
this.Canvas.fillText(text,1,0);
|
|
13312
13328
|
this.Canvas.restore();
|
|
13313
13329
|
}
|
|
13314
13330
|
else
|
|
13315
13331
|
{
|
|
13316
|
-
var
|
|
13317
|
-
|
|
13332
|
+
var rtBG={ Left:border.Left+5, Bottom:border.Bottom-5, Width:width+4, Height:height+4 };
|
|
13333
|
+
rtBG.Top=rtBG.Bottom-rtBG.Height;
|
|
13334
|
+
rtBG.Right=rtBG.Left+rtBG.Width;
|
|
13335
|
+
|
|
13336
|
+
if (this.LogoBGColor)
|
|
13337
|
+
{
|
|
13338
|
+
this.Canvas.fillStyle=this.LogoBGColor;
|
|
13339
|
+
this.Canvas.fillRect(rtBG.Left,rtBG.Top,rtBG.Width,rtBG.Height);
|
|
13340
|
+
}
|
|
13341
|
+
|
|
13342
|
+
var x=rtBG.Left+1;
|
|
13343
|
+
var y=rtBG.Bottom-1;
|
|
13344
|
+
this.Canvas.fillStyle=this.LogoTextColor;
|
|
13318
13345
|
this.Canvas.fillText(text,x,y);
|
|
13319
13346
|
}
|
|
13320
13347
|
}
|
|
@@ -33188,6 +33215,7 @@ function ChartVolStick()
|
|
|
33188
33215
|
else //太细了直接话线
|
|
33189
33216
|
{
|
|
33190
33217
|
var preKItem=null;
|
|
33218
|
+
var barColor=null;
|
|
33191
33219
|
for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j,xOffset+=(dataWidth+distanceWidth))
|
|
33192
33220
|
{
|
|
33193
33221
|
var value=this.Data.Data[i];
|
|
@@ -33208,14 +33236,8 @@ function ChartVolStick()
|
|
|
33208
33236
|
|
|
33209
33237
|
if (x>chartright) break;
|
|
33210
33238
|
|
|
33211
|
-
if (isMinute)
|
|
33212
|
-
|
|
33213
|
-
var barColor=this.GetMinuteBarColor(kItem,preKItem); //分时图颜色单独计算
|
|
33214
|
-
}
|
|
33215
|
-
else
|
|
33216
|
-
{
|
|
33217
|
-
var barColor=this.GetBarColor(kItem);
|
|
33218
|
-
}
|
|
33239
|
+
if (isMinute) barColor=this.GetMinuteBarColor(kItem,preKItem); //分时图颜色单独计算
|
|
33240
|
+
else barColor=this.GetBarColor(kItem);
|
|
33219
33241
|
|
|
33220
33242
|
this.Canvas.strokeStyle=barColor.Color;
|
|
33221
33243
|
|
|
@@ -33241,6 +33263,7 @@ function ChartVolStick()
|
|
|
33241
33263
|
var lockRect=this.GetLockRect();
|
|
33242
33264
|
if (lockRect) chartBottom=lockRect.Top;
|
|
33243
33265
|
|
|
33266
|
+
var isMinute=this.IsMinuteFrame();
|
|
33244
33267
|
var yBottom=this.ChartFrame.GetYFromData(0);
|
|
33245
33268
|
|
|
33246
33269
|
if (dataWidth>=4)
|
|
@@ -33277,6 +33300,8 @@ function ChartVolStick()
|
|
|
33277
33300
|
}
|
|
33278
33301
|
else //太细了直接话线
|
|
33279
33302
|
{
|
|
33303
|
+
var preKItem=null;
|
|
33304
|
+
var barColor=null;
|
|
33280
33305
|
for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j,xOffset+=(dataWidth+distanceWidth))
|
|
33281
33306
|
{
|
|
33282
33307
|
var value=this.Data.Data[i];
|
|
@@ -33284,10 +33309,23 @@ function ChartVolStick()
|
|
|
33284
33309
|
if (value==null || kItem==null) continue;
|
|
33285
33310
|
|
|
33286
33311
|
var y=this.ChartFrame.GetYFromData(value);
|
|
33287
|
-
|
|
33312
|
+
|
|
33313
|
+
if (isMinute)
|
|
33314
|
+
{
|
|
33315
|
+
var x=this.ChartFrame.GetXFromIndex(j);
|
|
33316
|
+
}
|
|
33317
|
+
else
|
|
33318
|
+
{
|
|
33319
|
+
var left=xOffset;
|
|
33320
|
+
var right=xOffset+dataWidth;
|
|
33321
|
+
var x=left+(right-left)/2;
|
|
33322
|
+
}
|
|
33323
|
+
|
|
33288
33324
|
if (x>chartBottom) break;
|
|
33289
33325
|
|
|
33290
|
-
|
|
33326
|
+
if (isMinute) barColor=this.GetMinuteBarColor(kItem,preKItem); //分时图颜色单独计算
|
|
33327
|
+
else barColor=this.GetBarColor(kItem);
|
|
33328
|
+
|
|
33291
33329
|
var bUp=barColor.IsUp;
|
|
33292
33330
|
this.Canvas.strokeStyle=barColor.Color;
|
|
33293
33331
|
|
|
@@ -33296,6 +33334,8 @@ function ChartVolStick()
|
|
|
33296
33334
|
this.Canvas.moveTo(y,ToFixedPoint(x));
|
|
33297
33335
|
this.Canvas.lineTo(yBottom,ToFixedPoint(x));
|
|
33298
33336
|
this.Canvas.stroke();
|
|
33337
|
+
|
|
33338
|
+
preKItem=kItem;
|
|
33299
33339
|
}
|
|
33300
33340
|
}
|
|
33301
33341
|
}
|
|
@@ -63732,7 +63772,8 @@ function JSChartResource()
|
|
|
63732
63772
|
{
|
|
63733
63773
|
TextColor:'rgb(178,34,34)',
|
|
63734
63774
|
Font:"bold "+ 16*GetDevicePixelRatio() +"px 微软雅黑",
|
|
63735
|
-
Text:"*仅学习使用*" //不要修改声明, 任何修改声明产生的任何法律责任由修改者自行独立承担,与HQChart插件作者无关。
|
|
63775
|
+
Text:"*仅学习使用*", //不要修改声明, 任何修改声明产生的任何法律责任由修改者自行独立承担,与HQChart插件作者无关。
|
|
63776
|
+
BGColor:"rgba(230,230,230, 0.5)",
|
|
63736
63777
|
};
|
|
63737
63778
|
|
|
63738
63779
|
//百分比坐标文字颜色
|
|
@@ -74690,7 +74731,8 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
74690
74731
|
X:drag.LastMove.X-uielement.getBoundingClientRect().left,
|
|
74691
74732
|
Y:drag.LastMove.Y-uielement.getBoundingClientRect().top,
|
|
74692
74733
|
SelectData:selectData, //区间选择的数据
|
|
74693
|
-
RectSelectPaint:paint //区间选择背景
|
|
74734
|
+
RectSelectPaint:paint, //区间选择背景
|
|
74735
|
+
e:e
|
|
74694
74736
|
};
|
|
74695
74737
|
event.Callback(event,data,this);
|
|
74696
74738
|
isShowDialog=false; //外部调用了区间选择事件,不弹框
|
|
@@ -84623,6 +84665,7 @@ function PforecastInfo()
|
|
|
84623
84665
|
delete this.newMethod;
|
|
84624
84666
|
|
|
84625
84667
|
this.ClassName='PforecastInfo';
|
|
84668
|
+
this.Explain='业绩预告';
|
|
84626
84669
|
|
|
84627
84670
|
this.RequestData=function(hqChart,obj)
|
|
84628
84671
|
{
|
|
@@ -84635,6 +84678,9 @@ function PforecastInfo()
|
|
|
84635
84678
|
this.Data=[];
|
|
84636
84679
|
|
|
84637
84680
|
var url=g_JSChartResource.Domain+g_JSChartResource.KLine.Info.Pforecast.ApiUrl;
|
|
84681
|
+
|
|
84682
|
+
if (this.NetworkFilter(hqChart, obj)) return; //已被上层替换,不调用默认的网络请求
|
|
84683
|
+
|
|
84638
84684
|
//请求数据
|
|
84639
84685
|
JSNetwork.HttpRequest({
|
|
84640
84686
|
url: url,
|
|
@@ -84701,6 +84747,7 @@ function ResearchInfo()
|
|
|
84701
84747
|
delete this.newMethod;
|
|
84702
84748
|
|
|
84703
84749
|
this.ClassName='ResearchInfo';
|
|
84750
|
+
this.Explain='调研';
|
|
84704
84751
|
|
|
84705
84752
|
this.RequestData=function(hqChart,obj)
|
|
84706
84753
|
{
|
|
@@ -84712,6 +84759,9 @@ function ResearchInfo()
|
|
|
84712
84759
|
|
|
84713
84760
|
this.Data=[];
|
|
84714
84761
|
var url=g_JSChartResource.Domain+g_JSChartResource.KLine.Info.Research.ApiUrl;
|
|
84762
|
+
|
|
84763
|
+
if (this.NetworkFilter(hqChart, obj)) return; //已被上层替换,不调用默认的网络请求
|
|
84764
|
+
|
|
84715
84765
|
//请求数据
|
|
84716
84766
|
JSNetwork.HttpRequest({
|
|
84717
84767
|
url: url,
|
|
@@ -84765,6 +84815,7 @@ function BlockTrading()
|
|
|
84765
84815
|
delete this.newMethod;
|
|
84766
84816
|
|
|
84767
84817
|
this.ClassName='BlockTrading';
|
|
84818
|
+
this.Explain='大宗交易';
|
|
84768
84819
|
|
|
84769
84820
|
this.RequestData=function(hqChart,obj)
|
|
84770
84821
|
{
|
|
@@ -84777,6 +84828,8 @@ function BlockTrading()
|
|
|
84777
84828
|
this.Data=[];
|
|
84778
84829
|
var url=g_JSChartResource.Domain+g_JSChartResource.KLine.Info.BlockTrading.ApiUrl;
|
|
84779
84830
|
|
|
84831
|
+
if (this.NetworkFilter(hqChart, obj)) return; //已被上层替换,不调用默认的网络请求
|
|
84832
|
+
|
|
84780
84833
|
//请求数据
|
|
84781
84834
|
JSNetwork.HttpRequest({
|
|
84782
84835
|
url: url,
|
|
@@ -84848,7 +84901,8 @@ function TradeDetail()
|
|
|
84848
84901
|
delete this.newMethod;
|
|
84849
84902
|
|
|
84850
84903
|
this.ClassName='TradeDetail';
|
|
84851
|
-
|
|
84904
|
+
this.Explain='大宗交易';
|
|
84905
|
+
|
|
84852
84906
|
this.RequestData=function(hqChart, obj)
|
|
84853
84907
|
{
|
|
84854
84908
|
var self = this;
|
|
@@ -84860,6 +84914,8 @@ function TradeDetail()
|
|
|
84860
84914
|
this.Data=[];
|
|
84861
84915
|
var url=g_JSChartResource.Domain+g_JSChartResource.KLine.Info.TradeDetail.ApiUrl;
|
|
84862
84916
|
|
|
84917
|
+
if (this.NetworkFilter(hqChart, obj)) return; //已被上层替换,不调用默认的网络请求
|
|
84918
|
+
|
|
84863
84919
|
//请求数据
|
|
84864
84920
|
JSNetwork.HttpRequest({
|
|
84865
84921
|
url: url,
|
|
@@ -128200,7 +128256,7 @@ function HQChartScriptWorker()
|
|
|
128200
128256
|
|
|
128201
128257
|
|
|
128202
128258
|
|
|
128203
|
-
var HQCHART_VERSION="1.1.
|
|
128259
|
+
var HQCHART_VERSION="1.1.12498";
|
|
128204
128260
|
|
|
128205
128261
|
function PrintHQChartVersion()
|
|
128206
128262
|
{
|
|
@@ -7068,6 +7068,7 @@ function ChartVolStick()
|
|
|
7068
7068
|
else //太细了直接话线
|
|
7069
7069
|
{
|
|
7070
7070
|
var preKItem=null;
|
|
7071
|
+
var barColor=null;
|
|
7071
7072
|
for (var i = this.Data.DataOffset, j = 0; i < this.Data.Data.length && j < xPointCount; ++i, ++j, xOffset += (dataWidth + distanceWidth))
|
|
7072
7073
|
{
|
|
7073
7074
|
var value = this.Data.Data[i];
|
|
@@ -7089,14 +7090,8 @@ function ChartVolStick()
|
|
|
7089
7090
|
|
|
7090
7091
|
if (x > chartright) break;
|
|
7091
7092
|
|
|
7092
|
-
if (isMinute)
|
|
7093
|
-
|
|
7094
|
-
var barColor=this.GetMinuteBarColor(kItem,preKItem); //分时图颜色单独计算
|
|
7095
|
-
}
|
|
7096
|
-
else
|
|
7097
|
-
{
|
|
7098
|
-
var barColor=this.GetBarColor(kItem);
|
|
7099
|
-
}
|
|
7093
|
+
if (isMinute) barColor=this.GetMinuteBarColor(kItem,preKItem); //分时图颜色单独计算
|
|
7094
|
+
else barColor=this.GetBarColor(kItem);
|
|
7100
7095
|
|
|
7101
7096
|
this.Canvas.strokeStyle=barColor.Color;
|
|
7102
7097
|
|
|
@@ -7133,7 +7128,7 @@ function ChartVolStick()
|
|
|
7133
7128
|
var xOffset = this.ChartBorder.GetTop() + distanceWidth / 2.0 + 2.0;
|
|
7134
7129
|
var chartBottom = this.ChartBorder.GetBottom();
|
|
7135
7130
|
var xPointCount = this.ChartFrame.XPointCount;
|
|
7136
|
-
|
|
7131
|
+
var isMinute=this.IsMinuteFrame();
|
|
7137
7132
|
var yBottom = this.ChartFrame.GetYFromData(0);
|
|
7138
7133
|
|
|
7139
7134
|
if (dataWidth >= this.MinBarWidth)
|
|
@@ -7171,6 +7166,8 @@ function ChartVolStick()
|
|
|
7171
7166
|
}
|
|
7172
7167
|
else //太细了直接话线
|
|
7173
7168
|
{
|
|
7169
|
+
var preKItem=null;
|
|
7170
|
+
var barColor=null;
|
|
7174
7171
|
for (var i = this.Data.DataOffset, j = 0; i < this.Data.Data.length && j < xPointCount; ++i, ++j, xOffset += (dataWidth + distanceWidth))
|
|
7175
7172
|
{
|
|
7176
7173
|
var value = this.Data.Data[i];
|
|
@@ -7178,10 +7175,22 @@ function ChartVolStick()
|
|
|
7178
7175
|
if (value == null || kItem == null) continue;
|
|
7179
7176
|
|
|
7180
7177
|
var y = this.ChartFrame.GetYFromData(value);
|
|
7181
|
-
|
|
7178
|
+
|
|
7179
|
+
if (isMinute)
|
|
7180
|
+
{
|
|
7181
|
+
var x=this.ChartFrame.GetXFromIndex(j);
|
|
7182
|
+
}
|
|
7183
|
+
else
|
|
7184
|
+
{
|
|
7185
|
+
var left=xOffset;
|
|
7186
|
+
var right=xOffset+dataWidth;
|
|
7187
|
+
var x=left+(right-left)/2;
|
|
7188
|
+
}
|
|
7182
7189
|
if (x > chartBottom) break;
|
|
7183
7190
|
|
|
7184
|
-
|
|
7191
|
+
if (isMinute) barColor=this.GetMinuteBarColor(kItem,preKItem); //分时图颜色单独计算
|
|
7192
|
+
else barColor=this.GetBarColor(kItem);
|
|
7193
|
+
|
|
7185
7194
|
this.Canvas.strokeStyle=barColor.Color;
|
|
7186
7195
|
|
|
7187
7196
|
//var x = this.ChartFrame.GetXFromIndex(j);
|
|
@@ -7189,6 +7198,8 @@ function ChartVolStick()
|
|
|
7189
7198
|
this.Canvas.moveTo(y, ToFixedPoint(x));
|
|
7190
7199
|
this.Canvas.lineTo(yBottom, ToFixedPoint(x));
|
|
7191
7200
|
this.Canvas.stroke();
|
|
7201
|
+
|
|
7202
|
+
preKItem=kItem;
|
|
7192
7203
|
}
|
|
7193
7204
|
}
|
|
7194
7205
|
}
|