hqchart 1.1.13385 → 1.1.13395
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 +38 -216
- package/package.json +1 -1
- package/src/jscommon/umychart.complier.js +17 -1
- package/src/jscommon/umychart.index.data.js +18 -1
- package/src/jscommon/umychart.js +61 -215
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +97 -218
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +97 -218
package/lib/umychart.vue.js
CHANGED
|
@@ -58,7 +58,7 @@ HISTORY_MINUTE_ID:103,//历史分钟 走势图
|
|
|
58
58
|
//K线周期
|
|
59
59
|
KLINE_DAY_ID:0,KLINE_WEEK_ID:1,KLINE_TWOWEEK_ID:21,KLINE_MONTH_ID:2,KLINE_QUARTER_ID:9,KLINE_YEAR_ID:3,KLINE_MINUTE_ID:4,KLINE_5_MINUTE_ID:5,KLINE_15_MINUTE_ID:6,KLINE_30_MINUTE_ID:7,KLINE_60_MINUTE_ID:8};//自定义的指标脚本
|
|
60
60
|
function CustomIndexScript(){this.DataMap=new _map2.default();//key=指标id, value=data {ID:, Name:指标名字, Description:指标描述信息 Args:参数 ......}
|
|
61
|
-
this.Get=function(id){if(!this.DataMap.has(id))return null;return this.DataMap.get(id);};this.Add=function(data){this.DataMap.set(data.ID,data);};}var g_CustomIndex=new CustomIndexScript();function JSIndexScript(){this.DataMap=new _map2.default([['MA',this.MA],['均线',this.MA],["MA4",this.MA4],["MA5",this.MA5],["MA6",this.MA6],["MA7",this.MA7],["MA8",this.MA8],['BOLL',this.BOLL],['BOLL副图',this.BOLL2],['BBI',this.BBI],['DKX',this.DKX],['MIKE',this.MIKE],['PBX',this.PBX],['ENE',this.ENE],['MACD',this.MACD],['KDJ',this.KDJ],["MACD2",this.MACD2],['VOL',this.VOL],["VOL_OVERLAY",this.VOL_OVERLAY],['RSI',this.RSI],['BRAR',this.BRAR],['WR',this.WR],['BIAS',this.BIAS],['OBV',this.OBV],['DMI',this.DMI],['CR',this.CR],['PSY',this.PSY],['CCI',this.CCI],['DMA',this.DMA],['TRIX',this.TRIX],['VR',this.VR],['EMV',this.EMV],['ROC',this.ROC],['MTM',this.MTM],['FSL',this.FSL],['CYR',this.CYR],['MASS',this.MASS],['WAD',this.WAD],['CHO',this.CHO],['ADTM',this.ADTM],['HSL',this.HSL],['BIAS36',this.BIAS36],['BIAS_QL',this.BIAS_QL],['DPO',this.DPO],['OSC',this.OSC],['ATR',this.ATR],['NVI',this.NVI],['PVI',this.PVI],['UOS',this.UOS],['CYW',this.CYW],['LON',this.LON],['NDB',this.NDB],['SKDJ',this.SKDJ],['KD',this.KD],['FKX',this.FKX],['DKCOL',this.DKCOL],['UDL',this.UDL],['MFI',this.MFI],['LWR',this.LWR],['MARSI',this.MARSI],['CYD',this.CYD],['CYF',this.CYF],['TAPI',this.TAPI],['VMACD',this.VMACD],['QACD',this.QACD],['VPT',this.VPT],['WVAD',this.WVAD],['DBQR',this.DBQR],['JS',this.JS],['CYE',this.CYE],['QR',this.QR],['GDX',this.GDX],['JLHB',this.JLHB],['PCNT',this.PCNT],['BTX',this.BTX],['AMO',this.AMO],['VRSI',this.VRSI],['HSCOL',this.HSCOL],['DBQRV',this.DBQRV],['DBLB',this.DBLB],['ACD',this.ACD],['EXPMA',this.EXPMA],['EXPMA_S',this.EXPMA_S],['HMA',this.HMA],['LMA',this.LMA],['VMA',this.VMA],['AMV',this.AMV],['BBIBOLL',this.BBIBOLL],['ALLIGAT',this.ALLIGAT],['ZX',this.ZX],['XS',this.XS],['XS2',this.XS2],['SG-XDT',this.SG_XDT],['SG-SMX',this.SG_SMX],['SG-LB',this.SG_LB],['SG-PF',this.SG_PF],['RAD',this.RAD],['SHT',this.SHT],['ZLJC',this.ZLJC],['ZLMM',this.ZLMM],['SLZT',this.SLZT],['ADVOL',this.ADVOL],['CYC',this.CYC],['CYS',this.CYS],['CYQKL',this.CYQKL],['SCR',this.SCR],['ASR',this.ASR],['SAR',this.SAR],['TJCJL',this.TJCJL],['量比',this.VOLRate],['平均K线',this.HeikinAshi],["ADL",this.ADL],["SQJZ",this.SQJZ],["XT",this.XT],["CFJT",this.CFJT],["CYX",this.CYX],["WAVE",this.WAVE],['VOL-TDX',this.VOL_TDX],['EMPTY',this.EMPTY],//什么都不显示的指标
|
|
61
|
+
this.Get=function(id){if(!this.DataMap.has(id))return null;return this.DataMap.get(id);};this.Add=function(data){this.DataMap.set(data.ID,data);};}var g_CustomIndex=new CustomIndexScript();function JSIndexScript(){this.DataMap=new _map2.default([['MA',this.MA],['均线',this.MA],["MA4",this.MA4],["MA5",this.MA5],["MA6",this.MA6],["MA7",this.MA7],["MA8",this.MA8],['BOLL',this.BOLL],['BOLL副图',this.BOLL2],['BBI',this.BBI],['DKX',this.DKX],['MIKE',this.MIKE],['PBX',this.PBX],['ENE',this.ENE],['MACD',this.MACD],['KDJ',this.KDJ],["MACD2",this.MACD2],['VOL',this.VOL],['VOL2',this.VOL2],["VOL_OVERLAY",this.VOL_OVERLAY],['RSI',this.RSI],['BRAR',this.BRAR],['WR',this.WR],['BIAS',this.BIAS],['OBV',this.OBV],['DMI',this.DMI],['CR',this.CR],['PSY',this.PSY],['CCI',this.CCI],['DMA',this.DMA],['TRIX',this.TRIX],['VR',this.VR],['EMV',this.EMV],['ROC',this.ROC],['MTM',this.MTM],['FSL',this.FSL],['CYR',this.CYR],['MASS',this.MASS],['WAD',this.WAD],['CHO',this.CHO],['ADTM',this.ADTM],['HSL',this.HSL],['BIAS36',this.BIAS36],['BIAS_QL',this.BIAS_QL],['DPO',this.DPO],['OSC',this.OSC],['ATR',this.ATR],['NVI',this.NVI],['PVI',this.PVI],['UOS',this.UOS],['CYW',this.CYW],['LON',this.LON],['NDB',this.NDB],['SKDJ',this.SKDJ],['KD',this.KD],['FKX',this.FKX],['DKCOL',this.DKCOL],['UDL',this.UDL],['MFI',this.MFI],['LWR',this.LWR],['MARSI',this.MARSI],['CYD',this.CYD],['CYF',this.CYF],['TAPI',this.TAPI],['VMACD',this.VMACD],['QACD',this.QACD],['VPT',this.VPT],['WVAD',this.WVAD],['DBQR',this.DBQR],['JS',this.JS],['CYE',this.CYE],['QR',this.QR],['GDX',this.GDX],['JLHB',this.JLHB],['PCNT',this.PCNT],['BTX',this.BTX],['AMO',this.AMO],['VRSI',this.VRSI],['HSCOL',this.HSCOL],['DBQRV',this.DBQRV],['DBLB',this.DBLB],['ACD',this.ACD],['EXPMA',this.EXPMA],['EXPMA_S',this.EXPMA_S],['HMA',this.HMA],['LMA',this.LMA],['VMA',this.VMA],['AMV',this.AMV],['BBIBOLL',this.BBIBOLL],['ALLIGAT',this.ALLIGAT],['ZX',this.ZX],['XS',this.XS],['XS2',this.XS2],['SG-XDT',this.SG_XDT],['SG-SMX',this.SG_SMX],['SG-LB',this.SG_LB],['SG-PF',this.SG_PF],['RAD',this.RAD],['SHT',this.SHT],['ZLJC',this.ZLJC],['ZLMM',this.ZLMM],['SLZT',this.SLZT],['ADVOL',this.ADVOL],['CYC',this.CYC],['CYS',this.CYS],['CYQKL',this.CYQKL],['SCR',this.SCR],['ASR',this.ASR],['SAR',this.SAR],['TJCJL',this.TJCJL],['量比',this.VOLRate],['平均K线',this.HeikinAshi],["ADL",this.ADL],["SQJZ",this.SQJZ],["XT",this.XT],["CFJT",this.CFJT],["CYX",this.CYX],["WAVE",this.WAVE],['VOL-TDX',this.VOL_TDX],['EMPTY',this.EMPTY],//什么都不显示的指标
|
|
62
62
|
['神奇九转',this.NineTurns],['EMA',this.EMA3],['EMA4',this.EMA4],['EMA5',this.EMA5],['EMA6',this.EMA6],["ICHIMOKU",this.ICHIMOKU],["CDP-STD",this.CDP_STD],["TBP-STD",this.TBP_STD],["ADX",this.ADX],//通达信特色指标
|
|
63
63
|
["散户线",this.ShareholderCount],["NXTS",this.NXTS],["FKX",this.FKX],["两融资金",this.Margin4],["ZSDB",this.ZSDB],['CJL2',this.CJL],//期货持仓量
|
|
64
64
|
['ASI',this.ASI],['DC',this.DC],['DEMA',this.DEMA],["VWAP",this.VWAP],//指南针
|
|
@@ -170,6 +170,9 @@ D:SMA(K,M2,1);\n\
|
|
|
170
170
|
J:3*K-2*D;'};return data;};JSIndexScript.prototype.VOL=function(){var data={Name:'VOL',Description:'成交量',IsMainIndex:false,FloatPrecision:0,Args:[{Name:'M1',Value:5},{Name:'M2',Value:10}],OutName:[{Name:'MA1',DynamicName:"MA{M1}"},{Name:'MA2',DynamicName:"MA{M2}"}],Script://脚本
|
|
171
171
|
'VOL:VOL,VOLSTICK;\n\
|
|
172
172
|
MA1:MA(VOL,M1);\n\
|
|
173
|
+
MA2:MA(VOL,M2);'};return data;};JSIndexScript.prototype.VOL2=function(){var data={Name:'VOL',Description:'成交量',IsMainIndex:false,FloatPrecision:0,Args:[{Name:'M1',Value:5},{Name:'M2',Value:10}],OutName:[{Name:'MA1',DynamicName:"MA{M1}"},{Name:'MA2',DynamicName:"MA{M2}"}],Script://脚本
|
|
174
|
+
'VOL:VOL,VOLSTICK,STICKTYPE(1);\n\
|
|
175
|
+
MA1:MA(VOL,M1);\n\
|
|
173
176
|
MA2:MA(VOL,M2);'};return data;};JSIndexScript.prototype.VOL_OVERLAY=function(){var data={Name:'VOL',Description:'成交量',IsMainIndex:false,FloatPrecision:0,Script://脚本
|
|
174
177
|
'VOL:VOL,VOLSTICK,UPCOLOR(RGBA(255,0,0,0.3)),DOWNCOLOR(RGBA(0,255,0,0.3));'};return data;};JSIndexScript.prototype.VOL_TDX=function(){var data={Name:'VOL-TDX',Description:'成交量(虚拟)',IsMainIndex:false,FloatPrecision:0,Args:[{Name:'M1',Value:5},{Name:'M2',Value:10}],Script://脚本
|
|
175
178
|
'TOTAL:=IF(PERIOD=1,5,IF(PERIOD=2,15,IF(PERIOD=3,30,IF(PERIOD=4,60,IF(PERIOD=5,TOTALFZNUM,1)))));\n\
|
|
@@ -1612,8 +1615,8 @@ var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_MOUSE_MOVE);var titleChart=t
|
|
|
1612
1615
|
if(titleChart)titleChart.OnMouseMoveEvent=null;this.StartStopDisplayLatest();};this.IsMouseOnClient=function(x,y){var rect={Left:this.Frame.ChartBorder.GetLeft(),Top:this.Frame.ChartBorder.GetTop(),Width:this.Frame.ChartBorder.GetWidth(),Height:this.Frame.ChartBorder.GetHeight()};rect.Right=rect.Left+rect.Width;rect.Bottom=rect.Top+rect.Height;if(x>=rect.Left&&x<=rect.Right&&y>=rect.Top&&y<=rect.Bottom)return true;return false;};this.UIOnContextMenu=function(e){if(this.ChartSplashPaint&&this.ChartSplashPaint.IsEnableSplash==true)return;if(!this.IsShowRightMenu)return;var x=e.clientX-this.UIElement.getBoundingClientRect().left;var y=e.clientY-this.UIElement.getBoundingClientRect().top;if(typeof this.OnRightMenu=='function')this.OnRightMenu(x,y,e);//右键菜单事件
|
|
1613
1616
|
return false;};this.UIOnDblClick=function(e){if(this.ChartSplashPaint&&this.ChartSplashPaint.IsEnableSplash)return;var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;this.OnDoubleClick(x,y,e);};//是否在拖拽Y轴上
|
|
1614
1617
|
this.TryYDrag=function(x,y){if(!this.EnableYDrag)return null;if(!this.EnableYDrag.Left&&!this.EnableYDrag.Right)return null;if(!this.Frame||!this.Frame.PtInFrameY)return null;var dragY=this.Frame.PtInFrameY(x,y);if(!dragY||dragY.Index<0)return null;if(dragY.IsOverlay===true){if(!dragY.Right||!this.EnableYDrag.Right)return null;if(this.Frame.IsEnableOverlayDragY(dragY.Index,dragY.OverlayIndex))return dragY;return null;}if(dragY.Left&&this.EnableYDrag.Left&&this.Frame.IsEnableDragY(dragY.Index)){return dragY;}if(dragY.Right&&this.EnableYDrag.Right&&this.Frame.IsEnableDragY(dragY.Index)){return dragY;}return null;};//是否可以上下拖拽
|
|
1615
|
-
this.TryUpDownDrag=function(x,y){var windowIndex=this.Frame.PtInFrame(x,y);if(windowIndex<0)return null;var item=this.Frame.SubFrame[windowIndex];if(!item||!item.Frame)return null;var frame=item.Frame;if(!frame.YSplitOperator||!frame.YSplitOperator.FixedYMaxMin)return null;return{Index:windowIndex,X:x,Y:y};};this.TryRectSelectDrag=function(x,y){var paint=this.GetRectSelectPaint();if(!paint)return null;if(paint.GetPointCount()<=0)return null;var item=paint.PtInPaint(x,y);return{Item:item,X:x,Y:y};};this.TryClickCrossCursor=function(x,y,e){if(!this.ChartCorssCursor)return;var button=this.ChartCorssCursor.PtInButton(x,y);if(!button)return false;var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CLICK_CROSSCURSOR_RIGHT);if(event&&event.Callback){var sendData={Button:button,e:e};event.Callback(event,sendData,this);}return true;};this.TryClickButton=function(x,y,e){var button=this.Frame.PtInButtons(x,y);if(button&&this.ClickFrameButton){this.ClickFrameButton(button,e);return true;}button=this.PtInExtendChartButtons(x,y);if(button&&this.ClickExtendChartButton){this.ClickExtendChartButton(button,e);return true;}button=this.PtInDrawPictureButtons(x,y);if(button&&this.ClickDrawPictureButton){this.ClickDrawPictureButton(button,e);return true;}button=this.PtInTitleButtons(x,y);if(button&&this.ClickTitleButton){this.ClickTitleButton(button,e);return true;}return false;};this.TryMouseMove_CustomChartDrag=function(sendData){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CUSTOM_DRAG_MOUSE_MOVE);if(!event||!event.Callback)return false;return event.Callback(event,sendData,this);};this.TryClick_CustomChartDrag=function(sendData){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CUSTOM_DRAG_MOUSE_DOWN);if(!event||!event.Callback)return false;sendData.ChartDrag=null;sendData.Cusrsor=null;event.Callback(event,sendData,this);this.CustomChartDrag=sendData.ChartDrag;this.SetCursor(sendData);};this.TryDragMove_CustomChartDrag=function(sendData){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CUSTOM_DRAG_DOC_MOUSE_MOVE);if(!event||!event.Callback)return;var e=sendData.e;var drag=sendData.Drag;if(Math.abs(drag.LastMove.Y-e.clientY)<2&&Math.abs(drag.LastMove.X-e.clientX)<2)return;if(event.Callback(event,sendData,this)){drag.LastMove.X=e.clientX;drag.LastMove.Y=e.clientY;}};this.TryMouseUp_CustomChartDrag=function(sendData){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CUSTOM_DRAG_DOC_MOUSE_UP);if(!event||!event.Callback)return;event.Callback(event,sendData,this);};this.UIOnMouseDown=function(e){var _this6=this;this.MoveOnChartDrawPicture=null;if(this.ChartSplashPaint&&this.ChartSplashPaint.IsEnableSplash==true)return;this.ClickDownPoint={X:e.clientX,Y:e.clientY};this.IsOnTouch=true;this.BorderDrag=null;this.YDrag=null;this.UpDownDrag=null;this.RectSelectDrag=null;this.IndexChartDrag=null;this.CustomChartDrag=null;var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;if(this.TryClickButton(x,y,e)){return;}var bDrawDynamicInfo=false;if(this.GlobalOption.SelectedBorder&&this.GlobalOption.SelectedBorder.Mode>=1){var item=this.GlobalOption.SelectedBorder;var frameId=this.Frame.PtInFrame(x,y);if(frameId>=0&&frameId!=item.SelFrame){item.SelFrame=frameId;bDrawDynamicInfo=true;}}var bRedraw=false;if(this.GlobalOption.SelectedXBorder&&this.GlobalOption.SelectedXBorder.Mode>=1){if(this.PtInMulitDayMinute){var item=this.GlobalOption.SelectedXBorder;var selectedDate=this.PtInMulitDayMinute(x,y);if(item.Date!=selectedDate){item.Date=selectedDate;bRedraw=true;}}}if(this.TryClickCrossCursor(x,y,e)){return;}if(this.TryClickChartTooltipData&&this.TryClickChartTooltipData(x,y,e))//预留给外部点击图标什么用的
|
|
1616
|
-
{return;}if(this.TryClickLock){//JSConsole.Chart.Log('[uielement.onmousedown] left, top ',e.clientX, e.clientY, this.getBoundingClientRect().left,this.getBoundingClientRect().top);
|
|
1618
|
+
this.TryUpDownDrag=function(x,y){var windowIndex=this.Frame.PtInFrame(x,y);if(windowIndex<0)return null;var item=this.Frame.SubFrame[windowIndex];if(!item||!item.Frame)return null;var frame=item.Frame;if(!frame.YSplitOperator||!frame.YSplitOperator.FixedYMaxMin)return null;return{Index:windowIndex,X:x,Y:y};};this.TryRectSelectDrag=function(x,y){var paint=this.GetRectSelectPaint();if(!paint)return null;if(paint.GetPointCount()<=0)return null;var item=paint.PtInPaint(x,y);return{Item:item,X:x,Y:y};};this.TryClickCrossCursor=function(x,y,e){if(!this.ChartCorssCursor)return;var button=this.ChartCorssCursor.PtInButton(x,y);if(!button)return false;var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CLICK_CROSSCURSOR_RIGHT);if(event&&event.Callback){var sendData={Button:button,e:e};event.Callback(event,sendData,this);}return true;};this.TryClickButton=function(x,y,e){var button=this.Frame.PtInButtons(x,y);if(button&&this.ClickFrameButton){this.ClickFrameButton(button,e);return true;}button=this.PtInExtendChartButtons(x,y);if(button&&this.ClickExtendChartButton){this.ClickExtendChartButton(button,e);return true;}button=this.PtInDrawPictureButtons(x,y);if(button&&this.ClickDrawPictureButton){this.ClickDrawPictureButton(button,e);return true;}button=this.PtInTitleButtons(x,y);if(button&&this.ClickTitleButton){this.ClickTitleButton(button,e);return true;}return false;};this.TryMouseMove_CustomChartDrag=function(sendData){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CUSTOM_DRAG_MOUSE_MOVE);if(!event||!event.Callback)return false;return event.Callback(event,sendData,this);};this.TryClick_CustomChartDrag=function(sendData){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CUSTOM_DRAG_MOUSE_DOWN);if(!event||!event.Callback)return false;sendData.ChartDrag=null;sendData.Cusrsor=null;event.Callback(event,sendData,this);this.CustomChartDrag=sendData.ChartDrag;this.SetCursor(sendData);};this.TryDragMove_CustomChartDrag=function(sendData){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CUSTOM_DRAG_DOC_MOUSE_MOVE);if(!event||!event.Callback)return;var e=sendData.e;var drag=sendData.Drag;if(Math.abs(drag.LastMove.Y-e.clientY)<2&&Math.abs(drag.LastMove.X-e.clientX)<2)return;if(event.Callback(event,sendData,this)){drag.LastMove.X=e.clientX;drag.LastMove.Y=e.clientY;}};this.TryMouseUp_CustomChartDrag=function(sendData){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CUSTOM_DRAG_DOC_MOUSE_UP);if(!event||!event.Callback)return;event.Callback(event,sendData,this);};this.UIOnMouseDown=function(e){var _this6=this;this.MoveOnChartDrawPicture=null;if(this.ChartSplashPaint&&this.ChartSplashPaint.IsEnableSplash==true)return;this.ClickDownPoint={X:e.clientX,Y:e.clientY};this.IsOnTouch=true;this.BorderDrag=null;this.YDrag=null;this.UpDownDrag=null;this.RectSelectDrag=null;this.IndexChartDrag=null;this.CustomChartDrag=null;var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;if(this.TryClickButton(x,y,e)){this.IsOnTouch=false;return;}var bDrawDynamicInfo=false;if(this.GlobalOption.SelectedBorder&&this.GlobalOption.SelectedBorder.Mode>=1){var item=this.GlobalOption.SelectedBorder;var frameId=this.Frame.PtInFrame(x,y);if(frameId>=0&&frameId!=item.SelFrame){item.SelFrame=frameId;bDrawDynamicInfo=true;}}var bRedraw=false;if(this.GlobalOption.SelectedXBorder&&this.GlobalOption.SelectedXBorder.Mode>=1){if(this.PtInMulitDayMinute){var item=this.GlobalOption.SelectedXBorder;var selectedDate=this.PtInMulitDayMinute(x,y);if(item.Date!=selectedDate){item.Date=selectedDate;bRedraw=true;}}}if(this.TryClickCrossCursor(x,y,e)){this.IsOnTouch=false;return;}if(this.TryClickChartTooltipData&&this.TryClickChartTooltipData(x,y,e))//预留给外部点击图标什么用的
|
|
1619
|
+
{this.IsOnTouch=false;return;}if(this.TryClickLock){//JSConsole.Chart.Log('[uielement.onmousedown] left, top ',e.clientX, e.clientY, this.getBoundingClientRect().left,this.getBoundingClientRect().top);
|
|
1617
1620
|
if(this.TryClickLock(x,y))return;}this.HideSelectRect();if(this.ChartPictureMenu)this.ChartPictureMenu.Hide();var paint=this.GetRectSelectPaint();if(paint&&paint.GetPointCount()>0){var item=paint.PtInPaint(x,y);if(item){if(item.Type==4){//this.UIElement.style.cursor="pointer";
|
|
1618
1621
|
this.SetCursor({Cursor:"pointer"});var obj={X:e.clientX};if(this.GetXDataIndex(obj)){this.RectSelectDrag={DataIndex:obj.DataIndex,Type:item.Type,X:e.clientX};JSConsole.Chart.Log("[JSChartContainer::UIOnMouseDown] drag sub rect select ",obj);}}else{//this.UIElement.style.cursor="ew-resize";
|
|
1619
1622
|
this.SetCursor({Cursor:"ew-resize"});this.RectSelectDrag={Index:item.PointIndex,Type:item.Type};JSConsole.Chart.Log("[JSChartContainer::UIOnMouseDown] drag rect select ",item);}}}if(!this.RectSelectDrag&&this.ClearRectSelect(false))this.Draw();if(this.EnableBorderDrag&&this.Frame){var dragBorder=this.Frame.PtInFrameBorder(x,y);if(dragBorder&&dragBorder.Index>=0){//this.UIElement.style.cursor="n-resize";
|
|
@@ -1882,7 +1885,8 @@ for(var i in this.ChartPaint)//框架内图形
|
|
|
1882
1885
|
{if(!obj)obj={Format:'image/png',ColorGB:'rgb(255,255,255)'};var imageData=this.SaveToImage(obj.Format,obj.ColorGB);var postData={"Base64":imageData,"BucketName":"downloadcache","Path":"hqchart/hq_snapshot"};var url=g_JSChartResource.Domain+'/API/FileUploadForBase64';JSNetwork.HttpRequest({url:url,method:"POST",dataType:"json",data:postData,success:function success(data){JSConsole.Chart.Log('[JSChartContainer::SaveToImageUrl] recv data',data);var result={Path:data.relativeurl,Domain:'http://127.0.0.1:8087'};result.Url=result.Domain+'/'+result.Path;if(callback)callback(true,result,'');},error:function error(request){JSConsole.Chart.Log('[JSChartContainer::SaveToImageUrl] error ',request);if(callback)callback(false,null,'upload failed');}});};this.ExportDataToCSV=function(data){var strCSV="";var strRow="";var rowCount=0;//标题
|
|
1883
1886
|
for(var i=0;i<data.length;++i){var item=data[i];strRow+='"'+item.Name+'"';if(i==data.length-1)strRow+="\r\n";else strRow+=",";if(IFrameSplitOperator.IsNonEmptyArray(item.Data))rowCount=Math.max(rowCount,item.Data.length);}strCSV+=strRow;for(var i=0,j=0;i<rowCount;++i){strRow="";for(j=0;j<data.length;++j){var item=data[j];var value=null;if(item.Data&&i<item.Data.length)value=item.Data[i];strRow+='"'+value+'"';if(j==data.length-1)strRow+="\r\n";else strRow+=",";}strCSV+=strRow;}strCSV='\uFEFF'+strCSV;return strCSV;};this.SetLanguage=function(language){var languageID=g_JSChartLocalization.GetLanguageID(language);if(!IFrameSplitOperator.IsNumber(languageID)){console.warn('[JSChartContainer::SetLanguage] language='+language+' error');return;}if(this.LanguageID==languageID)return;this.LanguageID=languageID;if(this.ChartCorssCursor&&this.ChartCorssCursor.StringFormatY)this.ChartCorssCursor.StringFormatY.LanguageID=this.LanguageID;for(var i=0;i<this.TitlePaint.length;++i)//标题
|
|
1884
1887
|
{var item=this.TitlePaint[i];if(item)item.LanguageID=this.LanguageID;}for(var i=0;i<this.ExtendChartPaint.length;++i)//tooltip 等扩展图形
|
|
1885
|
-
{var item=this.ExtendChartPaint[i];if(item)item.LanguageID=this.LanguageID;}if(this.Frame&&this.Frame.SetLanguage)this.Frame.SetLanguage(this.LanguageID)
|
|
1888
|
+
{var item=this.ExtendChartPaint[i];if(item)item.LanguageID=this.LanguageID;}if(this.Frame&&this.Frame.SetLanguage)this.Frame.SetLanguage(this.LanguageID);//this.Frame.ClearYCoordinateMaxMin();
|
|
1889
|
+
this.ResetFrameXYSplit();this.Frame.SetSizeChage(true);this.Draw();};this.ReloadTiltePaintResource=function(resource)//重新加载配置
|
|
1886
1890
|
{for(var i in this.TitlePaint){var item=this.TitlePaint[i];if(item.ReloadResource)item.ReloadResource(resource);}};this.ReloadExtendChartPaintResource=function(resource)//扩展画法重新加载配置
|
|
1887
1891
|
{for(var i in this.ExtendChartPaint){var item=this.ExtendChartPaint[i];if(item.ReloadResource)item.ReloadResource(resource);}};this.ReloadChartDrawPictureResource=function(resource){if(!IFrameSplitOperator.IsNonEmptyArray(this.ChartDrawPicture))return;for(var i=0;i<this.ChartDrawPicture.length;++i){var item=this.ChartDrawPicture[i];if(item.ReloadResource)item.ReloadResource(resource);}};this.ReloadResource=function(option){this.ReloadBorder(option);this.ReloadTiltePaintResource(option.Resource);this.ReloadChartPaint(option.Resource);this.ReloadFrame(option.Resource);this.ReloadExtendChartPaintResource(option.Resource);this.ReloadChartCorssCursor(option,option.Resource);this.ReloadChartDrawPictureResource(option.Resource);if(option.Update&&this.Update)this.Update({UpdateCursorIndexType:2});//是否立即更新并重绘
|
|
1888
1892
|
else if(option.Draw==true)this.Draw();//是否立即重绘
|
|
@@ -3208,6 +3212,7 @@ this.DrawType=0;// 0=实心K线柱子 1=收盘价线 2=美国线 3=空心K线
|
|
|
3208
3212
|
// 15=HLC Area
|
|
3209
3213
|
// 16=kagi
|
|
3210
3214
|
// 17=订单流样式4
|
|
3215
|
+
// 18=订单流样式5
|
|
3211
3216
|
this.CloseLineColor=g_JSChartResource.CloseLineColor;this.CloseLineAreaColor=g_JSChartResource.CloseLineAreaColor;this.CloseLineWidth=g_JSChartResource.CloseLineWidth;this.UpColor=g_JSChartResource.UpBarColor;this.DownColor=g_JSChartResource.DownBarColor;this.UnchagneColor=g_JSChartResource.UnchagneBarColor;//平盘
|
|
3212
3217
|
this.ColorData;//五彩K线颜色 >0:g_JSChartResource.UpBarColor 其他:g_JSChartResource.DownBarColor
|
|
3213
3218
|
this.TradeData;//交易系统 包含买卖数据{Buy:, Sell:, Name:指标名称 }
|
|
@@ -3357,199 +3362,7 @@ if(isHScreen){var pathBar=new Path2D();pathBar.rect(ToFixedRect(yBarBottom),ToFi
|
|
|
3357
3362
|
*/};//十字线
|
|
3358
3363
|
this.DrawColorKBar_Line=function(data,colorData,dataWidth,x,y,left,right,yLow,yHigh,yOpen,yClose,isHScreen){if(dataWidth>=4){if(colorData.Line){this.Canvas.strokeStyle=colorData.Line.Color;this.Canvas.beginPath();if(isHScreen){this.Canvas.moveTo(ToFixedPoint(yHigh),ToFixedPoint(x));this.Canvas.lineTo(ToFixedPoint(yLow),ToFixedPoint(x));}else{this.Canvas.moveTo(ToFixedPoint(x),ToFixedPoint(yHigh));this.Canvas.lineTo(ToFixedPoint(x),ToFixedPoint(yLow));}this.Canvas.stroke();}var barColor;if(colorData.Type==0)//空心柱子
|
|
3359
3364
|
{if(colorData.Border)barColor=colorData.Border.Color;else if(colorData.BarColor)barColor=colorData.BarColor;}else if(colorData.Type==1)//实心
|
|
3360
|
-
{if(colorData.Border)barColor=colorData.Border.Color;else if(colorData.BarColor)barColor=colorData.BarColor;}if(barColor){this.Canvas.strokeStyle=barColor;this.Canvas.beginPath();if(isHScreen){this.Canvas.moveTo(ToFixedPoint(yOpen),ToFixedPoint(left));this.Canvas.lineTo(ToFixedPoint(yOpen),ToFixedPoint(right));}else{this.Canvas.moveTo(ToFixedPoint(left),ToFixedPoint(yOpen));this.Canvas.lineTo(ToFixedPoint(right),ToFixedPoint(yOpen));}this.Canvas.stroke();}}else{if(colorData.Line){var xFixed=left+dataWidth/2;this.Canvas.strokeStyle=colorData.Line.Color;this.Canvas.beginPath();if(isHScreen){this.Canvas.moveTo(ToFixedPoint(yHigh),ToFixedPoint(x));this.Canvas.lineTo(ToFixedPoint(yLow),ToFixedPoint(x));}else{this.Canvas.moveTo(ToFixedPoint(x),ToFixedPoint(yHigh));this.Canvas.lineTo(ToFixedPoint(x),ToFixedPoint(yLow));}this.Canvas.stroke();}}}
|
|
3361
|
-
this.DrawKBarV2=function(data, colorData, dataWidth, x, y, left, right, yLow, yHigh, yOpen, yClose, isHScreen)
|
|
3362
|
-
{
|
|
3363
|
-
var isDrawBorder=false;
|
|
3364
|
-
var isEmptyBar=false;
|
|
3365
|
-
if (colorData.border) isDrawBorder=true;
|
|
3366
|
-
if (colorData.Type===0) isEmptyBar=true;
|
|
3367
|
-
|
|
3368
|
-
if (dataWidth>=4)
|
|
3369
|
-
{
|
|
3370
|
-
if (isDrawBorder)
|
|
3371
|
-
{
|
|
3372
|
-
if ((dataWidth%2)!=0) dataWidth-=1;
|
|
3373
|
-
}
|
|
3374
|
-
|
|
3375
|
-
if (data.High>data.Close) //上影线
|
|
3376
|
-
{
|
|
3377
|
-
if (colorData.Line)
|
|
3378
|
-
{
|
|
3379
|
-
this.Canvas.strokeStyle=colorData.Line.Color;
|
|
3380
|
-
this.Canvas.beginPath();
|
|
3381
|
-
if (isHScreen)
|
|
3382
|
-
{
|
|
3383
|
-
this.Canvas.moveTo(ToFixedPoint(y),ToFixedPoint(x));
|
|
3384
|
-
this.Canvas.lineTo(ToFixedPoint(Math.max(yClose,yOpen)),ToFixedPoint(x));
|
|
3385
|
-
}
|
|
3386
|
-
else
|
|
3387
|
-
{
|
|
3388
|
-
if (isDrawBorder)
|
|
3389
|
-
{
|
|
3390
|
-
var xFixed=left+dataWidth/2;
|
|
3391
|
-
this.Canvas.moveTo(ToFixedPoint(xFixed),ToFixedPoint(y));
|
|
3392
|
-
this.Canvas.lineTo(ToFixedPoint(xFixed),ToFixedPoint(Math.min(yClose,yOpen)));
|
|
3393
|
-
}
|
|
3394
|
-
else
|
|
3395
|
-
{
|
|
3396
|
-
this.Canvas.moveTo(ToFixedPoint(x),ToFixedPoint(y));
|
|
3397
|
-
this.Canvas.lineTo(ToFixedPoint(x),ToFixedPoint(Math.min(yClose,yOpen)));
|
|
3398
|
-
}
|
|
3399
|
-
}
|
|
3400
|
-
this.Canvas.stroke();
|
|
3401
|
-
}
|
|
3402
|
-
|
|
3403
|
-
y=yClose;
|
|
3404
|
-
}
|
|
3405
|
-
else
|
|
3406
|
-
{
|
|
3407
|
-
y=yClose;
|
|
3408
|
-
}
|
|
3409
|
-
|
|
3410
|
-
if (isHScreen)
|
|
3411
|
-
{
|
|
3412
|
-
//实心
|
|
3413
|
-
if (!isEmptyBar && colorData.BarColor)
|
|
3414
|
-
{
|
|
3415
|
-
this.Canvas.fillStyle=colorData.BarColor;
|
|
3416
|
-
if (Math.abs(yOpen-y)<1)
|
|
3417
|
-
{
|
|
3418
|
-
this.Canvas.fillRect(ToFixedRect(y),ToFixedRect(left),1,ToFixedRect(dataWidth)); //高度小于1,统一使用高度1
|
|
3419
|
-
}
|
|
3420
|
-
else
|
|
3421
|
-
{
|
|
3422
|
-
this.Canvas.fillRect(ToFixedRect(y),ToFixedRect(left),ToFixedRect(yOpen-y),ToFixedRect(dataWidth));
|
|
3423
|
-
}
|
|
3424
|
-
}
|
|
3425
|
-
|
|
3426
|
-
if (colorData.Border) //空心
|
|
3427
|
-
{
|
|
3428
|
-
if (Math.abs(yOpen-y)<1)
|
|
3429
|
-
{
|
|
3430
|
-
this.Canvas.fillStyle=colorData.Border.Color;
|
|
3431
|
-
this.Canvas.fillRect(ToFixedRect(y),ToFixedRect(left),1,ToFixedRect(dataWidth)); //高度小于1,统一使用高度1
|
|
3432
|
-
}
|
|
3433
|
-
else
|
|
3434
|
-
{
|
|
3435
|
-
this.Canvas.strokeStyle=colorData.Border.Color;
|
|
3436
|
-
this.Canvas.beginPath();
|
|
3437
|
-
this.Canvas.rect(ToFixedPoint(y),ToFixedPoint(left),ToFixedRect(yOpen-y),ToFixedRect(dataWidth));
|
|
3438
|
-
this.Canvas.stroke();
|
|
3439
|
-
}
|
|
3440
|
-
}
|
|
3441
|
-
}
|
|
3442
|
-
else
|
|
3443
|
-
{
|
|
3444
|
-
|
|
3445
|
-
//实心
|
|
3446
|
-
if (!isEmptyBar && colorData.BarColor)
|
|
3447
|
-
{
|
|
3448
|
-
this.Canvas.fillStyle=colorData.BarColor;
|
|
3449
|
-
if (Math.abs(yOpen-y)<1)
|
|
3450
|
-
{
|
|
3451
|
-
this.Canvas.fillRect(ToFixedRect(left),ToFixedRect(y),ToFixedRect(dataWidth),1); //高度小于1,统一使用高度1
|
|
3452
|
-
}
|
|
3453
|
-
else
|
|
3454
|
-
{
|
|
3455
|
-
this.Canvas.fillRect(ToFixedRect(left),ToFixedRect(Math.min(y,yOpen)),ToFixedRect(dataWidth),ToFixedRect(Math.abs(yOpen-y)));
|
|
3456
|
-
}
|
|
3457
|
-
}
|
|
3458
|
-
|
|
3459
|
-
if (colorData.Border) //空心
|
|
3460
|
-
{
|
|
3461
|
-
if (Math.abs(yOpen-y)<1)
|
|
3462
|
-
{
|
|
3463
|
-
this.Canvas.fillStyle=colorData.Border.Color;
|
|
3464
|
-
this.Canvas.fillRect(ToFixedRect(left),ToFixedRect(y),ToFixedRect(dataWidth),1); //高度小于1,统一使用高度1
|
|
3465
|
-
}
|
|
3466
|
-
else
|
|
3467
|
-
{
|
|
3468
|
-
this.Canvas.strokeStyle=colorData.Border.Color;
|
|
3469
|
-
this.Canvas.beginPath();
|
|
3470
|
-
this.Canvas.rect(ToFixedPoint(left),ToFixedPoint(y),ToFixedRect(dataWidth),ToFixedRect(yOpen-y));
|
|
3471
|
-
this.Canvas.stroke();
|
|
3472
|
-
}
|
|
3473
|
-
}
|
|
3474
|
-
}
|
|
3475
|
-
|
|
3476
|
-
if (data.Open>data.Low) //下影线
|
|
3477
|
-
{
|
|
3478
|
-
if (colorData.Line)
|
|
3479
|
-
{
|
|
3480
|
-
this.Canvas.strokeStyle=colorData.Line.Color;
|
|
3481
|
-
this.Canvas.beginPath();
|
|
3482
|
-
if (isHScreen)
|
|
3483
|
-
{
|
|
3484
|
-
this.Canvas.moveTo(ToFixedPoint(Math.min(yClose,yOpen)),ToFixedPoint(x));
|
|
3485
|
-
this.Canvas.lineTo(ToFixedPoint(yLow),ToFixedPoint(x));
|
|
3486
|
-
}
|
|
3487
|
-
else
|
|
3488
|
-
{
|
|
3489
|
-
if (isDrawBorder)
|
|
3490
|
-
{
|
|
3491
|
-
var xFixed=left+dataWidth/2;
|
|
3492
|
-
this.Canvas.moveTo(ToFixedPoint(xFixed),ToFixedPoint(Math.max(yClose,yOpen)));
|
|
3493
|
-
this.Canvas.lineTo(ToFixedPoint(xFixed),ToFixedPoint(yLow));
|
|
3494
|
-
}
|
|
3495
|
-
else
|
|
3496
|
-
{
|
|
3497
|
-
this.Canvas.moveTo(ToFixedPoint(x),ToFixedPoint(Math.max(yClose,yOpen)));
|
|
3498
|
-
this.Canvas.lineTo(ToFixedPoint(x),ToFixedPoint(yLow));
|
|
3499
|
-
}
|
|
3500
|
-
}
|
|
3501
|
-
this.Canvas.stroke();
|
|
3502
|
-
}
|
|
3503
|
-
}
|
|
3504
|
-
}
|
|
3505
|
-
else
|
|
3506
|
-
{
|
|
3507
|
-
var lineColor;
|
|
3508
|
-
if (isEmptyBar && colorData.Border)
|
|
3509
|
-
{
|
|
3510
|
-
lineColor=colorData.Border.Color;
|
|
3511
|
-
}
|
|
3512
|
-
else if (!isEmptyBar && colorData.BarColor)
|
|
3513
|
-
{
|
|
3514
|
-
lineColor=colorData.BarColor;
|
|
3515
|
-
}
|
|
3516
|
-
|
|
3517
|
-
if (lineColor)
|
|
3518
|
-
{
|
|
3519
|
-
this.Canvas.strokeStyle=lineColor;
|
|
3520
|
-
this.Canvas.beginPath();
|
|
3521
|
-
if (isHScreen)
|
|
3522
|
-
{
|
|
3523
|
-
if (data.High==data.Low)
|
|
3524
|
-
{
|
|
3525
|
-
this.Canvas.moveTo(yHigh,ToFixedPoint(x));
|
|
3526
|
-
this.Canvas.lineTo(yLow-1,ToFixedPoint(x));
|
|
3527
|
-
}
|
|
3528
|
-
else
|
|
3529
|
-
{
|
|
3530
|
-
this.Canvas.moveTo(yHigh,ToFixedPoint(x));
|
|
3531
|
-
this.Canvas.lineTo(yLow,ToFixedPoint(x));
|
|
3532
|
-
}
|
|
3533
|
-
}
|
|
3534
|
-
else
|
|
3535
|
-
{
|
|
3536
|
-
if (data.High==data.Low)
|
|
3537
|
-
{
|
|
3538
|
-
this.Canvas.moveTo(ToFixedPoint(x),yHigh);
|
|
3539
|
-
this.Canvas.lineTo(ToFixedPoint(x),yLow+1);
|
|
3540
|
-
}
|
|
3541
|
-
else
|
|
3542
|
-
{
|
|
3543
|
-
this.Canvas.moveTo(ToFixedPoint(x),yHigh);
|
|
3544
|
-
this.Canvas.lineTo(ToFixedPoint(x),yLow);
|
|
3545
|
-
}
|
|
3546
|
-
|
|
3547
|
-
}
|
|
3548
|
-
this.Canvas.stroke();
|
|
3549
|
-
}
|
|
3550
|
-
}
|
|
3551
|
-
}
|
|
3552
|
-
*/this.DrawVirtualBar=function(data,dataWidth,x,y,left,right,yLow,yHigh,yOpen,yClose,isHScreen){var yTop=Math.min(yHigh,yLow),yBottom=Math.max(yHigh,yLow);this.Canvas.strokeStyle=this.VirtualBarConfig.Color;this.Canvas.setLineDash(this.VirtualBarConfig.LineDash);if(isHScreen){if(dataWidth>=4){this.Canvas.strokeRect(ToFixedPoint(yTop),ToFixedPoint(left),ToFixedRect(yBottom-yTop),ToFixedRect(dataWidth));}else{this.Canvas.beginPath();this.Canvas.moveTo(yTop,ToFixedPoint(x));this.Canvas.lineTo(yBottom,ToFixedPoint(x));this.Canvas.stroke();}}else{if(dataWidth>=4){//this.Canvas.beginPath();
|
|
3365
|
+
{if(colorData.Border)barColor=colorData.Border.Color;else if(colorData.BarColor)barColor=colorData.BarColor;}if(barColor){this.Canvas.strokeStyle=barColor;this.Canvas.beginPath();if(isHScreen){this.Canvas.moveTo(ToFixedPoint(yOpen),ToFixedPoint(left));this.Canvas.lineTo(ToFixedPoint(yOpen),ToFixedPoint(right));}else{this.Canvas.moveTo(ToFixedPoint(left),ToFixedPoint(yOpen));this.Canvas.lineTo(ToFixedPoint(right),ToFixedPoint(yOpen));}this.Canvas.stroke();}}else{if(colorData.Line){var xFixed=left+dataWidth/2;this.Canvas.strokeStyle=colorData.Line.Color;this.Canvas.beginPath();if(isHScreen){this.Canvas.moveTo(ToFixedPoint(yHigh),ToFixedPoint(x));this.Canvas.lineTo(ToFixedPoint(yLow),ToFixedPoint(x));}else{this.Canvas.moveTo(ToFixedPoint(x),ToFixedPoint(yHigh));this.Canvas.lineTo(ToFixedPoint(x),ToFixedPoint(yLow));}this.Canvas.stroke();}}};this.DrawVirtualBar=function(data,dataWidth,x,y,left,right,yLow,yHigh,yOpen,yClose,isHScreen){var yTop=Math.min(yHigh,yLow),yBottom=Math.max(yHigh,yLow);this.Canvas.strokeStyle=this.VirtualBarConfig.Color;this.Canvas.setLineDash(this.VirtualBarConfig.LineDash);if(isHScreen){if(dataWidth>=4){this.Canvas.strokeRect(ToFixedPoint(yTop),ToFixedPoint(left),ToFixedRect(yBottom-yTop),ToFixedRect(dataWidth));}else{this.Canvas.beginPath();this.Canvas.moveTo(yTop,ToFixedPoint(x));this.Canvas.lineTo(yBottom,ToFixedPoint(x));this.Canvas.stroke();}}else{if(dataWidth>=4){//this.Canvas.beginPath();
|
|
3553
3366
|
this.Canvas.strokeRect(ToFixedPoint(left),ToFixedPoint(yTop),ToFixedRect(dataWidth),ToFixedRect(yBottom-yTop));//this.Canvas.stroke();
|
|
3554
3367
|
}else{this.Canvas.beginPath();this.Canvas.moveTo(ToFixedPoint(x),yTop);this.Canvas.lineTo(ToFixedPoint(x),yBottom);this.Canvas.stroke();}}this.Canvas.setLineDash([]);};this.DrawRenkoCandle=function()//砖型K线
|
|
3555
3368
|
{var isHScreen=this.ChartFrame.IsHScreen===true;var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var xPointCount=this.ChartFrame.XPointCount;if(isHScreen){var border=this.ChartBorder.GetHScreenBorder();var xOffset=border.TopEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;var chartright=border.BottomEx;}else{var border=this.ChartBorder.GetBorder();var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;var chartright=border.RightEx;}var ptMax={X:null,Y:null,Value:null,Align:'left'};var ptMin={X:null,Y:null,Value:null,Align:'left'};this.ShowRange.Start=this.Data.DataOffset;this.ShowRange.End=this.ShowRange.Start;this.ShowRange.DataCount=0;this.ShowRange.ShowCount=xPointCount;this.DrawKRange.Start=this.Data.DataOffset;for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j,xOffset+=dataWidth+distanceWidth,++this.ShowRange.DataCount){var data=this.Data.Data[i];this.ShowRange.End=i;if(data.Open==null||data.High==null||data.Low==null||data.Close==null)continue;var left=xOffset;var right=xOffset+dataWidth;if(right>chartright)break;var x=left+(right-left)/2;var yLow=this.GetYFromData(data.Low,false);var yHigh=this.GetYFromData(data.High,false);this.DrawKRange.End=i;if(ptMax.Value==null||ptMax.Value<data.High)//求最大值
|
|
@@ -3607,7 +3420,7 @@ this.Canvas.clip();};this.Draw=function(){if(!this.IsShow||this.ChartFrame.IsMin
|
|
|
3607
3420
|
this.PtMin={X:null,Y:null,Value:null,Align:'left'};//清空最小
|
|
3608
3421
|
this.DrawKRange={Start:null,End:null};this.AryPriceGapCache=[];this.ChartFrame.ChartKLine={Max:null,Min:null};//保存K线上 显示最大最小值坐标
|
|
3609
3422
|
this.DrawHeatMap();if(!this.IsShow)return;if(this.ChartFrame.IsMinSize&&this.Name=="Self Kline")return;if(ChartData.IsTickPeriod(this.Period))//分笔图
|
|
3610
|
-
{this.Canvas.save();if(this.DrawType==1){this.ClipClient(this.ChartFrame.IsHScreen);this.DrawCloseLine();}else if(this.DrawType==4){this.ClipClient(this.ChartFrame.IsHScreen);this.DrawCloseArea();}else{this.ClipTickClient(this.ChartFrame.IsHScreen);this.DrawTick();}this.Canvas.restore();return;}this.Canvas.save();this.ClipClient(this.ChartFrame.IsHScreen);if(this.DrawType==1){this.DrawCloseLine();this.Canvas.restore();if(this.PriceGap.Enable)this.DrawPriceGap();return;}else if(this.DrawType==2){this.DrawAKLine();}else if(this.DrawType==4){this.DrawCloseArea();}else if(this.DrawType==5){this.DrawOrderFlow();}else if(this.DrawType==7){this.DrawOrderFlow_Style2();}else if(this.DrawType==8){this.DrawOrderFlow_Style3();}else if(this.DrawType==9){this.DrawKBar();}else if(this.DrawType==10){this.DrawRenkoCandle();}else if(this.DrawType==12){this.DrawLineBreak();}else if(this.DrawType==13){this.DrawHighLow();}else if(this.DrawType==14){if(this.FFKChart&&this.FFKChart.Draw){this.FFKChart.Draw(this);}}else if(this.DrawType==15){this.DrawHLCArea();}else if(this.DrawType==16){this.DrawKagi();}else if(this.DrawType==17){this.DrawOrderFlow_Style4();}else{this.DrawKBar();}if(this.TradeIcon)this.DrawTradeIcon();else this.DrawTrade();this.Canvas.restore();if(this.PriceGap.Enable)this.DrawPriceGap();if(this.IsShowMaxMinPrice)//标注最大值最小值
|
|
3423
|
+
{this.Canvas.save();if(this.DrawType==1){this.ClipClient(this.ChartFrame.IsHScreen);this.DrawCloseLine();}else if(this.DrawType==4){this.ClipClient(this.ChartFrame.IsHScreen);this.DrawCloseArea();}else{this.ClipTickClient(this.ChartFrame.IsHScreen);this.DrawTick();}this.Canvas.restore();return;}this.Canvas.save();this.ClipClient(this.ChartFrame.IsHScreen);if(this.DrawType==1){this.DrawCloseLine();this.Canvas.restore();if(this.PriceGap.Enable)this.DrawPriceGap();return;}else if(this.DrawType==2){this.DrawAKLine();}else if(this.DrawType==4){this.DrawCloseArea();}else if(this.DrawType==5){this.DrawOrderFlow();}else if(this.DrawType==7){this.DrawOrderFlow_Style2();}else if(this.DrawType==8){this.DrawOrderFlow_Style3();}else if(this.DrawType==9){this.DrawKBar();}else if(this.DrawType==10){this.DrawRenkoCandle();}else if(this.DrawType==12){this.DrawLineBreak();}else if(this.DrawType==13){this.DrawHighLow();}else if(this.DrawType==14){if(this.FFKChart&&this.FFKChart.Draw){this.FFKChart.Draw(this);}}else if(this.DrawType==15){this.DrawHLCArea();}else if(this.DrawType==16){this.DrawKagi();}else if(this.DrawType==17){this.DrawOrderFlow_Style4();}else if(this.DrawType==18){this.DrawOrderFlow_Style5();}else{this.DrawKBar();}if(this.TradeIcon)this.DrawTradeIcon();else this.DrawTrade();this.Canvas.restore();if(this.PriceGap.Enable)this.DrawPriceGap();if(this.IsShowMaxMinPrice)//标注最大值最小值
|
|
3611
3424
|
{if(this.ChartFrame.IsHScreen===true)this.HScreenDrawMaxMinPrice(this.PtMax,this.PtMin);else this.DrawMaxMinPrice(this.PtMax,this.PtMin);}if(this.DrawType==14)//自定义图形 标注最大最小值
|
|
3612
3425
|
{if(this.FFKChart&&this.FFKChart.DrawMaxMinPrice){this.FFKChart.DrawMaxMinPrice();}}};this.DrawMaxMinPrice=function(ptMax,ptMin){if(ptMax.X==null||ptMax.Y==null||ptMax.Value==null)return;if(ptMin.X==null||ptMin.Y==null||ptMin.Value==null)return;var leftArrow=g_JSChartResource.KLine.MaxMin.LeftArrow;var rightArrow=g_JSChartResource.KLine.MaxMin.RightArrow;var highYOffset=g_JSChartResource.KLine.MaxMin.HighYOffset;var lowYOffset=g_JSChartResource.KLine.MaxMin.LowYOffset;var defaultfloatPrecision=GetfloatPrecision(this.Symbol);this.Canvas.font=this.TextFont;this.Canvas.fillStyle=this.TextColor;var top=this.ChartBorder.GetTopEx();var bottom=this.ChartBorder.GetBottomEx();var ptTop=ptMax;if(this.ChartFrame.CoordinateType==1)//反转坐标
|
|
3613
3426
|
{if(ptMax.Y<ptMin.Y)ptTop=ptMin;this.Canvas.textBaseline='top';}else{if(ptMax.Y>ptMin.Y)ptTop=ptMin;this.Canvas.textBaseline='bottom';}this.Canvas.textAlign=ptTop.Align;var left=ptTop.Align=='left'?ptTop.X:ptTop.X;if(IFrameSplitOperator.IsNumber(highYOffset))ptTop.Y+=highYOffset;var text=ptTop.Value.toFixed(defaultfloatPrecision);if(ptTop.Align=='left')text=leftArrow+text;else text=text+rightArrow;if(ptTop.Y>top-2){this.Canvas.fillText(text,left,ptTop.Y);this.ChartFrame.ChartKLine.Max={X:left,Y:ptTop.Y,Text:{BaseLine:'bottom'}};}var ptBottom=ptMin;if(this.ChartFrame.CoordinateType==1){if(ptMin.Y>ptMax.Y)ptBottom=ptMax;this.Canvas.textBaseline='bottom';}else{if(ptMax.Y>ptMin.Y)ptTop=ptMin;this.Canvas.textBaseline='top';}this.Canvas.textAlign=ptBottom.Align;var left=ptBottom.Align=='left'?ptBottom.X:ptBottom.X;if(IFrameSplitOperator.IsNumber(lowYOffset))ptBottom.Y+=lowYOffset;var text=ptMin.Value.toFixed(defaultfloatPrecision);if(ptBottom.Align=='left')text=leftArrow+text;else text=text+rightArrow;if(ptBottom.Y<bottom+1){this.Canvas.fillText(text,left,ptBottom.Y);this.ChartFrame.ChartKLine.Min={X:left,Y:ptBottom.Y,Text:{BaseLine:'top'}};}};this.HScreenDrawMaxMinPrice=function(ptMax,ptMin)//横屏模式下显示最大最小值
|
|
@@ -3701,7 +3514,9 @@ var max=orderFlow.Summary.VolMaxMin.Max,min=orderFlow.Summary.VolMaxMin.Min;for(
|
|
|
3701
3514
|
{this.Canvas.fillStyle=item.Vol.Color;if(item.Vol.Font){var itemFont=this.GetDynamicOrderFlowFont(cellHeight,barWidth/2,item.Vol.Font);this.Canvas.font=itemFont;this.Canvas.fillText(text,xKLine.Center+textXOffset,yPrice);this.Canvas.font=textFont;}else{this.Canvas.fillText(item.Vol.Text,rtDraw.Left+2,yPrice);}}preItem={Price:item.Price,Rect:rtDraw};}else if(IFrameSplitOperator.IsNumber(item.Vol.Value)){var barWidth=xKLine.Right-xKLine.Left;var volWidth=barWidth*(item.Vol.Value-min)/(max-min);var rect={Left:xKLine.Left,Right:xKLine.Right,Bottom:yPrice+cellHeight/2,Top:yPrice-cellHeight/2};rect.Right=rect.Left+volWidth;if(preItem&&item.Price>preItem.Price){rect.Bottom=preItem.Rect.Top-volBarSpace;}rect.Width=rect.Right-rect.Left;rect.Height=rect.Bottom-rect.Top;var rtDraw={Left:ToFixedRect(rect.Left),Top:ToFixedRect(rect.Top),Width:ToFixedRect(rect.Width),Height:ToFixedRect(rect.Height)};rtDraw.Bottom=rtDraw.Top+rtDraw.Height;rtDraw.Right=rtDraw.Left+rtDraw.Width;if(rtDraw.Width<1)rtDraw.Width=1;if(item.Vol.BG)//背景色
|
|
3702
3515
|
{this.Canvas.fillStyle=item.Vol.BG;this.Canvas.fillRect(rtDraw.Left,rtDraw.Top,rtDraw.Width,rtDraw.Height);}if(item.Vol.BorderColor)//边框
|
|
3703
3516
|
{this.Canvas.strokeStyle=item.Vol.BorderColor;this.Canvas.strokeRect(ToFixedPoint(rtDraw.Left),ToFixedPoint(rtDraw.Top),rtDraw.Width,rtDraw.Height);}if(item.Vol.Text&&this.IsShowOrderText)//文字
|
|
3704
|
-
{this.Canvas.fillStyle=item.Vol.Color;if(item.Vol.Font){var itemFont=this.GetDynamicOrderFlowFont(cellHeight,barWidth/2,item.Vol.Font);this.Canvas.font=itemFont;this.Canvas.fillText(text,xKLine.Center+textXOffset,yPrice);this.Canvas.font=textFont;}else{this.Canvas.fillText(item.Vol.Text,rtDraw.Left+2,yPrice);}}preItem={Price:item.Price,Rect:rtDraw};}else{continue;}}}}
|
|
3517
|
+
{this.Canvas.fillStyle=item.Vol.Color;if(item.Vol.Font){var itemFont=this.GetDynamicOrderFlowFont(cellHeight,barWidth/2,item.Vol.Font);this.Canvas.font=itemFont;this.Canvas.fillText(text,xKLine.Center+textXOffset,yPrice);this.Canvas.font=textFont;}else{this.Canvas.fillText(item.Vol.Text,rtDraw.Left+2,yPrice);}}preItem={Price:item.Price,Rect:rtDraw};}else{continue;}}}};////////////////////////////////////////////////////////////////////////////////
|
|
3518
|
+
//订单流样式5
|
|
3519
|
+
this.DrawOrderFlow_Style5=function(){};//////////////////////////////////////////////////////////////
|
|
3705
3520
|
// high low bar
|
|
3706
3521
|
//
|
|
3707
3522
|
///////////////////////////////////////////////////////////////
|
|
@@ -3935,20 +3750,26 @@ this.newMethod();delete this.newMethod;this.ClassName='ChartLineStick';this.Draw
|
|
|
3935
3750
|
function ChartVolStick(){this.newMethod=IChartPainting;//派生
|
|
3936
3751
|
this.newMethod();delete this.newMethod;this.UpColor=g_JSChartResource.UpBarColor;this.DownColor=g_JSChartResource.DownBarColor;this.HistoryData;//历史数据
|
|
3937
3752
|
this.KLineDrawType=0;this.ClassName='ChartVolStick';this.BarWidth;//固定宽度 目前只支持宽度为1
|
|
3938
|
-
this.
|
|
3939
|
-
|
|
3940
|
-
|
|
3941
|
-
{this.Canvas.
|
|
3753
|
+
this.BarType;//柱子状态 1=实心 0=空心 2=涨实跌空 如果设置了这个属性, 属性KLineDrawType无效
|
|
3754
|
+
this.PtInChart=this.PtInBar;this.DrawSelectedStatus=this.DrawLinePoint;this.ExportData=this.ExportArrayData;this.Draw=function(){if(!this.IsShow||this.ChartFrame.IsMinSize||!this.IsVisible)return;if(this.IsShowIndexTitleOnly())return;if(this.IsHideScriptIndex())return;if(this.ChartFrame.IsHScreen===true){this.HScreenDraw();return;}var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var border=this.ChartBorder.GetBorder();var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;var chartright=border.RightEx;var xPointCount=this.ChartFrame.XPointCount;var lockRect=this.GetLockRect();if(lockRect)chartright=lockRect.Left;var isMinute=this.IsMinuteFrame();var yBottom=this.ChartFrame.GetYFromData(0);if(dataWidth>=4&&!(this.BarWidth===1)){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;if(value==0)continue;var left=xOffset;var right=xOffset+dataWidth;if(right>chartright)break;var y=this.ChartFrame.GetYFromData(value);var barColor=this.GetBarColor(kItem);var bUp=barColor.IsUp;var height=ToFixedRect(Math.abs(yBottom-y)>=1?yBottom-y:1);//高度调整为整数, 如果小于1, 统一使用1
|
|
3755
|
+
y=yBottom-height;var bSolidBar=this.IsSolidBar(bUp);//实心柱子
|
|
3756
|
+
if(bSolidBar){this.Canvas.fillStyle=barColor.Color;this.Canvas.fillRect(ToFixedRect(left),y,ToFixedRect(dataWidth),height);}else{this.Canvas.strokeStyle=barColor.Color;this.Canvas.beginPath();this.Canvas.rect(ToFixedPoint(left),ToFixedPoint(y),ToFixedRect(dataWidth),height);this.Canvas.stroke();}}}else//太细了直接话线
|
|
3942
3757
|
{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);//分时图颜色单独计算
|
|
3943
3758
|
else barColor=this.GetBarColor(kItem);this.Canvas.strokeStyle=barColor.Color;//var x=this.ChartFrame.GetXFromIndex(j);
|
|
3944
3759
|
this.Canvas.beginPath();this.Canvas.moveTo(ToFixedPoint(x),y);this.Canvas.lineTo(ToFixedPoint(x),yBottom);this.Canvas.stroke();preKItem=kItem;}}};this.HScreenDraw=function()//横屏画法
|
|
3945
|
-
{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;
|
|
3946
|
-
|
|
3947
|
-
{this.Canvas.
|
|
3760
|
+
{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;var height=ToFixedRect(y-yBottom);//高度调整为整数
|
|
3761
|
+
var bSolidBar=this.IsSolidBar(bUp);//实心柱子
|
|
3762
|
+
if(bSolidBar){this.Canvas.fillStyle=barColor.Color;this.Canvas.fillRect(yBottom,ToFixedRect(left),height,ToFixedRect(dataWidth));}else{this.Canvas.strokeStyle=barColor.Color;this.Canvas.beginPath();this.Canvas.rect(ToFixedPoint(yBottom),ToFixedPoint(left),height,ToFixedRect(dataWidth));this.Canvas.stroke();}}}else//太细了直接话线
|
|
3948
3763
|
{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);//分时图颜色单独计算
|
|
3949
3764
|
else barColor=this.GetBarColor(kItem);var bUp=barColor.IsUp;this.Canvas.strokeStyle=barColor.Color;//var x=this.ChartFrame.GetXFromIndex(j);
|
|
3950
3765
|
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 start=this.Data.DataOffset;if(this.ChartFrame.GlobalOption&&this.ChartFrame.GlobalOption.IsValueFullRange){start=0;xPointCount=this.Data.Data.length;}var range={Min:null,Max:null};for(var i=start,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};//颜色, 是否是上涨
|
|
3951
|
-
else return{Color:this.DownColor,IsUp:false};}
|
|
3766
|
+
else return{Color:this.DownColor,IsUp:false};};//true=实心 false=空心
|
|
3767
|
+
this.IsSolidBar=function(bUp){var bSolidBar=true;//实心柱子
|
|
3768
|
+
if(this.BarType===0||this.BarType===1||this.BarType===2){if(this.BarType===0)//空心
|
|
3769
|
+
bSolidBar=false;else if(this.BarType===2)//涨实跌空
|
|
3770
|
+
bSolidBar=bUp;}else{if(this.KLineDrawType==6)//完全空心柱
|
|
3771
|
+
bSolidBar=false;else if(bUp&&(this.KLineDrawType==1||this.KLineDrawType==2||this.KLineDrawType==3))//空心柱子
|
|
3772
|
+
bSolidBar=false;}return bSolidBar;};this.GetMinuteBarColor=function(kItem,preItem){var prePrice=kItem.YClose;if(preItem)prePrice=preItem.Close;if(kItem.Close>=prePrice)return{Color:this.UpColor,IsUp:true};//颜色, 是否是上涨
|
|
3952
3773
|
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天新高画垂直虚线。
|
|
3953
3774
|
// 支持横屏
|
|
3954
3775
|
function ChartVericaltLine(){this.newMethod=IChartPainting;//派生
|
|
@@ -10662,7 +10483,7 @@ numberData.SingleValue=data2;numberData.DataType=1;if(IFrameSplitOperator.IsNumb
|
|
|
10662
10483
|
areaColor: 通道面积颜色 RGB(200,30,44) 不填使用默认颜色
|
|
10663
10484
|
dotted: 通道顶部和底部虚线设置 '3,4' , 不填默认 3,3
|
|
10664
10485
|
*/this.DRAWCHANNEL=function(condition,data,data2,borderColor,borderWidth,dotted,areaColor){var drawData=[];var result={DrawData:drawData,DrawType:'DRAWCHANNEL',Border:{}};if(condition.length<=0)return result;if(borderColor)result.Border.Color=borderColor;if(areaColor)result.AreaColor=areaColor;if(borderWidth>0)result.Border.Width=borderWidth;if(dotted){if(dotted=='0'){result.Border.Dotted=[];}else{var ary=dotted.split(',');result.Border.Dotted=[];for(var i in ary){var item=ary[i];if(!item)continue;var value=parseInt(ary[i]);if(!IFrameSplitOperator.IsNumber(value))continue;if(value<=0)continue;result.Border.Dotted.push(value);}if(result.Border.Dotted.length<=0)result.Border.Dotted=null;}}var IsNumber=typeof data=="number";var IsNumber2=typeof data2=="number";if(typeof condition=='number'){if(!condition)return result;//条件是否
|
|
10665
|
-
for(var i=0;i<this.SymbolData.Data.Data.length;++i){drawData[i]=null;if(IsNumber&&IsNumber2){drawData[i]={Value:data,Value2:data2};}else if(IsNumber&&!IsNumber2){if(isNaN(data2[i]))continue;drawData[i]={Value:data,Value2:data2[i]};}else if(!IsNumber&&IsNumber2){if(isNaN(data[i]))continue;drawData[i]={Value:data[i],Value2:data2};}else{if(isNaN(data[i])||isNaN(data2[i]))continue;drawData[i]={Value:data[i],Value2:data2[i]};}}}else{for(var i=0;i<condition.length;++i){drawData[i]=null;if(isNaN(condition[i])||!condition[i])continue;if(IsNumber&&IsNumber2){drawData[i]={Value:data,Value2:data2};}else if(IsNumber&&!IsNumber2){if(isNaN(data2[i]))continue;drawData[i]={Value:data,Value2:data2[i]};}else if(!IsNumber&&IsNumber2){if(isNaN(data[i]))continue;drawData[i]={Value:data[i],Value2:data2};}else{if(isNaN(data[i])||isNaN(data2[i]))continue;drawData[i]={Value:data[i],Value2:data2[i]};}}}return result;};this.RGB=function(r,g,b){var rgb='RGB('+r+','+g+','+b+')';return rgb;};this.RGBA=function(r,g,b,a){var rgba='RGB('+r+','+g+','+b+','+a+')';return rgba;};this.UPCOLOR=function(color){return color;};this.DOWNCOLOR=function(color){return color;};//数据左右偏移
|
|
10486
|
+
for(var i=0;i<this.SymbolData.Data.Data.length;++i){drawData[i]=null;if(IsNumber&&IsNumber2){drawData[i]={Value:data,Value2:data2};}else if(IsNumber&&!IsNumber2){if(isNaN(data2[i]))continue;drawData[i]={Value:data,Value2:data2[i]};}else if(!IsNumber&&IsNumber2){if(isNaN(data[i]))continue;drawData[i]={Value:data[i],Value2:data2};}else{if(isNaN(data[i])||isNaN(data2[i]))continue;drawData[i]={Value:data[i],Value2:data2[i]};}}}else{for(var i=0;i<condition.length;++i){drawData[i]=null;if(isNaN(condition[i])||!condition[i])continue;if(IsNumber&&IsNumber2){drawData[i]={Value:data,Value2:data2};}else if(IsNumber&&!IsNumber2){if(isNaN(data2[i]))continue;drawData[i]={Value:data,Value2:data2[i]};}else if(!IsNumber&&IsNumber2){if(isNaN(data[i]))continue;drawData[i]={Value:data[i],Value2:data2};}else{if(isNaN(data[i])||isNaN(data2[i]))continue;drawData[i]={Value:data[i],Value2:data2[i]};}}}return result;};this.RGB=function(r,g,b){var rgb='RGB('+r+','+g+','+b+')';return rgb;};this.RGBA=function(r,g,b,a){var rgba='RGB('+r+','+g+','+b+','+a+')';return rgba;};this.UPCOLOR=function(color){return color;};this.DOWNCOLOR=function(color){return color;};this.STICKTYPE=function(value){return value;};//数据左右偏移
|
|
10666
10487
|
this.XMOVE=function(offset){return offset;};//数据上下偏移
|
|
10667
10488
|
this.YMOVE=function(offset){return offset;};this.KLINETYPE=function(type){return type;};this.FIRSTDRAW=function(value){return value;};/*
|
|
10668
10489
|
SOUND 播放声音。用法:SOUND(NAME),播放NAME
|
|
@@ -11340,7 +11161,7 @@ if(item.Type==Syntax.ExpressionStatement&&item.Expression){if(item.Expression.Ty
|
|
|
11340
11161
|
{var draw=this.VarDrawTable.get(_varName);this.OutVarTable.push({Name:draw.Name,Draw:draw,Type:1});}else{var type=0;if(_outVar&&(typeof _outVar==='undefined'?'undefined':(0,_typeof3.default)(_outVar))=='object'&&_outVar.__Type__=='Object'){type=1000;}else if(!this.IsSectionMode&&!Array.isArray(_outVar)){if(typeof _outVar=='string'){var floatValue=parseFloat(_outVar);if(IFrameSplitOperator.IsNumber(floatValue)){_outVar=this.SingleDataToArrayData(floatValue);}else{_outVar=this.SingleDataToArrayData(_outVar);type=1001;}}else _outVar=this.SingleDataToArrayData(_outVar);}this.OutVarTable.push({Name:_varName,Data:_outVar,Type:type});}}}else if(item.Expression.Type==Syntax.CallExpression){var callItem=item.Expression;if(this.Draw.IsDrawFunction(callItem.Callee.Name)){var _draw=callItem.Draw;_draw.Name=callItem.Callee.Name;this.OutVarTable.push({Name:_draw.Name,Draw:_draw,Type:1});}else if(callItem.Callee.Name==="IFC"&&callItem.Draw){var _draw2=callItem.Draw;_draw2.Name=_draw2.DrawType;this.OutVarTable.push({Name:_draw2.Name,Draw:_draw2,Type:1});}else{var _outVar2=callItem.Out;varName='__temp_c_'+callItem.Callee.Name+'_'+i+'__';var type=0;if(!Array.isArray(_outVar2))_outVar2=this.SingleDataToArrayData(_outVar2);this.OutVarTable.push({Name:varName,Data:_outVar2,Type:type,NoneName:true});}}else if(item.Expression.Type==Syntax.Identifier){var _varName2=item.Expression.Name;var _outVar3=this.ReadVariable(_varName2,item.Expression);var type=0;if(_outVar3&&(typeof _outVar3==='undefined'?'undefined':(0,_typeof3.default)(_outVar3))=='object'&&_outVar3.__Type__=='Object'){type=1000;}else if(!this.IsSectionMode&&!Array.isArray(_outVar3)){if(typeof _outVar3=='string')_outVar3=this.SingleDataToArrayData(parseFloat(_outVar3));else _outVar3=this.SingleDataToArrayData(_outVar3);}_varName2="__temp_i_"+i+"__";this.OutVarTable.push({Name:_varName2,Data:_outVar3,Type:type,NoneName:true});}else if(item.Expression.Type==Syntax.Literal)//常量
|
|
11341
11162
|
{var _outVar4=item.Expression.Value;if(IFrameSplitOperator.IsString(_outVar4)&&_outVar4.indexOf("$")>0)_outVar4=this.SymbolData.GetOtherSymolCacheData({Literal:_outVar4});varName="__temp_li_"+i+"__";var type=0;if(!Array.isArray(_outVar4))_outVar4=this.SingleDataToArrayData(_outVar4);this.OutVarTable.push({Name:varName,Data:_outVar4,Type:type,NoneName:true});}else if(item.Expression.Type==Syntax.BinaryExpression){var varName="__temp_b_"+i+"__";var _outVar5=item.Expression.Out;var type=0;if(!Array.isArray(_outVar5))_outVar5=this.SingleDataToArrayData(_outVar5);this.OutVarTable.push({Name:varName,Data:_outVar5,Type:type,NoneName:true});}else if(item.Expression.Type==Syntax.LogicalExpression)//逻辑语句 如 T1 AND T2
|
|
11342
11163
|
{var varName="__temp_l_"+i+"__";var _outVar6=item.Expression.Out;var type=0;if(!Array.isArray(_outVar6))_outVar6=this.SingleDataToArrayData(_outVar6);this.OutVarTable.push({Name:varName,Data:_outVar6,Type:type,NoneName:true});}else if(item.Expression.Type==Syntax.UnaryExpression){var varName="__temp_u_"+i+"__";var varInfo={};if(this.ReadUnaryExpression(item.Expression,varInfo)){var type=0;this.OutVarTable.push({Name:varName,Data:varInfo.OutVar,Type:type,NoneName:true});}}else if(item.Expression.Type==Syntax.MemberExpression)//MA.MA2
|
|
11343
|
-
{var outVar=this.ReadMemberVariable(item.Expression);if(outVar){var type=0;var varName="__temp_di_"+i+"__";if(!Array.isArray(outVar))outVar=this.SingleDataToArrayData(outVar);this.OutVarTable.push({Name:varName,Data:outVar,Type:type,NoneName:true});}}else if(item.Expression.Type==Syntax.SequenceExpression){var _varName3=void 0;var _draw3=void 0;var color=void 0,upColor=void 0,downColor=void 0;var lineWidth=void 0;var colorStick=false;var pointDot=false;var upDownDot=false;var circleDot=false;var lineStick=false;var stick=false;var volStick=false;var lineArea=false;var stepLine=false;var isShow=true;var isExData=false;var isDotLine=false;var isOverlayLine=false;//叠加线
|
|
11164
|
+
{var outVar=this.ReadMemberVariable(item.Expression);if(outVar){var type=0;var varName="__temp_di_"+i+"__";if(!Array.isArray(outVar))outVar=this.SingleDataToArrayData(outVar);this.OutVarTable.push({Name:varName,Data:outVar,Type:type,NoneName:true});}}else if(item.Expression.Type==Syntax.SequenceExpression){var _varName3=void 0;var _draw3=void 0;var color=void 0,upColor=void 0,downColor=void 0,stickType=void 0;var lineWidth=void 0;var colorStick=false;var pointDot=false;var upDownDot=false;var circleDot=false;var lineStick=false;var stick=false;var volStick=false;var lineArea=false;var stepLine=false;var isShow=true;var isExData=false;var isDotLine=false;var isOverlayLine=false;//叠加线
|
|
11344
11165
|
var isNoneName=false;var isShowTitle=true;//显示在位置之上,对于DRAWTEXT和DRAWNUMBER等函数有用,放在语句的最后面(不能与LINETHICK等函数共用),比如:
|
|
11345
11166
|
//DRAWNUMBER(CLOSE>OPEN,HIGH,CLOSE),DRAWABOVE;
|
|
11346
11167
|
var isDrawAbove=false;var isDrawCenter=false;var isDrawBelow=false;//VALIGN0,VALIGN1,VALIGN2 设置文字垂直对齐方式(上中下)
|
|
@@ -11354,7 +11175,7 @@ else if(_value3.indexOf('LINEOVERLAY')==0)isOverlayLine=true;else if(_value3.ind
|
|
|
11354
11175
|
else if(_value3.indexOf("FONTSIZE")==0){var strFontSize=_value3.replace("FONTSIZE","");fontSize=parseInt(strFontSize);}else{if(_j14==0){_varName3=itemExpression.Name;var _varValue2=this.ReadVariable(_varName3,itemExpression);if(!Array.isArray(_varValue2))_varValue2=this.SingleDataToArrayData(_varValue2);_varName3="__temp_si_"+i+"__";isNoneName=true;this.VarTable.set(_varName3,_varValue2);//放到变量表里
|
|
11355
11176
|
}}}else if(itemExpression.Type==Syntax.Literal)//常量
|
|
11356
11177
|
{if(_j14==0){var aryValue=this.SingleDataToArrayData(itemExpression.Value);_varName3=itemExpression.Value.toString();this.VarTable.set(_varName3,aryValue);//把常量放到变量表里
|
|
11357
|
-
}}else if(itemExpression.Type==Syntax.CallExpression){if(_j14==0){if(this.Draw.IsDrawFunction(itemExpression.Callee.Name)){_draw3=itemExpression.Draw;_draw3.Name=itemExpression.Callee.Name;}else{var _varValue3=itemExpression.Out;_varName3='__temp_sc_'+itemExpression.Callee.Name+'_'+i+'__';isNoneName=true;this.VarTable.set(_varName3,_varValue3);}}else{if(itemExpression.Callee.Name=="RGB"||itemExpression.Callee.Name=="RGBA"){color=itemExpression.Out;}else if(itemExpression.Callee.Name=="UPCOLOR"){upColor=itemExpression.Out;}else if(itemExpression.Callee.Name=="DOWNCOLOR"){downColor=itemExpression.Out;}else if(itemExpression.Callee.Name=="XMOVE"){xOffset=itemExpression.Out;}else if(itemExpression.Callee.Name=="YMOVE"){yOffset=itemExpression.Out;}else if(itemExpression.Callee.Name=="FIRSTDRAW"){if(itemExpression.Out===0)isFirstDraw=false;else if(itemExpression.Out===1)isFirstDraw=true;}else if(itemExpression.Callee.Name=="SOUND"){var event=this.GetSoundEvent();if(event){}_varName3=null;}else if(itemExpression.Callee.Name=="ICON"){var drawCond=this.VarTable.get(_varName3);if(drawCond){_draw3=this.GetOutIconData(drawCond,itemExpression.Draw);if(_draw3)_draw3.Name=itemExpression.Callee.Name;}_varName3=null;}else if(itemExpression.Callee.Name=="BACKGROUND"){bgConfig=itemExpression.Draw;_varName3=null;}else if(itemExpression.Callee.Name=="CKLINE"){vLineConfig=itemExpression.Draw;_varName3=null;}else if(itemExpression.Callee.Name=="KLINETYPE"){klineType=itemExpression.Out;}}}else if(itemExpression.Type==Syntax.BinaryExpression){if(_j14==0){_varName3="__temp_sb_"+i+"__";var _aryValue=itemExpression.Out;isNoneName=true;this.VarTable.set(_varName3,_aryValue);}}else if(itemExpression.Type==Syntax.UnaryExpression){if(_j14==0){_varName3="__temp_su_"+i+"__";var varInfo={};if(this.ReadUnaryExpression(itemExpression,varInfo)){isNoneName=true;this.VarTable.set(_varName3,varInfo.OutVar);}}}else if(itemExpression.Type==Syntax.MemberExpression)//"MA.MA2"(5,12,29), COLORRED;
|
|
11178
|
+
}}else if(itemExpression.Type==Syntax.CallExpression){if(_j14==0){if(this.Draw.IsDrawFunction(itemExpression.Callee.Name)){_draw3=itemExpression.Draw;_draw3.Name=itemExpression.Callee.Name;}else{var _varValue3=itemExpression.Out;_varName3='__temp_sc_'+itemExpression.Callee.Name+'_'+i+'__';isNoneName=true;this.VarTable.set(_varName3,_varValue3);}}else{if(itemExpression.Callee.Name=="RGB"||itemExpression.Callee.Name=="RGBA"){color=itemExpression.Out;}else if(itemExpression.Callee.Name=="UPCOLOR"){upColor=itemExpression.Out;}else if(itemExpression.Callee.Name=="DOWNCOLOR"){downColor=itemExpression.Out;}else if(itemExpression.Callee.Name=="STICKTYPE"){stickType=itemExpression.Out;}else if(itemExpression.Callee.Name=="XMOVE"){xOffset=itemExpression.Out;}else if(itemExpression.Callee.Name=="YMOVE"){yOffset=itemExpression.Out;}else if(itemExpression.Callee.Name=="FIRSTDRAW"){if(itemExpression.Out===0)isFirstDraw=false;else if(itemExpression.Out===1)isFirstDraw=true;}else if(itemExpression.Callee.Name=="SOUND"){var event=this.GetSoundEvent();if(event){}_varName3=null;}else if(itemExpression.Callee.Name=="ICON"){var drawCond=this.VarTable.get(_varName3);if(drawCond){_draw3=this.GetOutIconData(drawCond,itemExpression.Draw);if(_draw3)_draw3.Name=itemExpression.Callee.Name;}_varName3=null;}else if(itemExpression.Callee.Name=="BACKGROUND"){bgConfig=itemExpression.Draw;_varName3=null;}else if(itemExpression.Callee.Name=="CKLINE"){vLineConfig=itemExpression.Draw;_varName3=null;}else if(itemExpression.Callee.Name=="KLINETYPE"){klineType=itemExpression.Out;}}}else if(itemExpression.Type==Syntax.BinaryExpression){if(_j14==0){_varName3="__temp_sb_"+i+"__";var _aryValue=itemExpression.Out;isNoneName=true;this.VarTable.set(_varName3,_aryValue);}}else if(itemExpression.Type==Syntax.UnaryExpression){if(_j14==0){_varName3="__temp_su_"+i+"__";var varInfo={};if(this.ReadUnaryExpression(itemExpression,varInfo)){isNoneName=true;this.VarTable.set(_varName3,varInfo.OutVar);}}}else if(itemExpression.Type==Syntax.MemberExpression)//"MA.MA2"(5,12,29), COLORRED;
|
|
11358
11179
|
{if(_j14==0){var outVar=this.ReadMemberVariable(itemExpression);if(outVar){if(!Array.isArray(outVar))varValue=this.SingleDataToArrayData(outVar);isNoneName=true;_varName3="__temp_di_"+i+"__";this.VarTable.set(_varName3,outVar);//把常量放到变量表里
|
|
11359
11180
|
}}}}if(pointDot&&_varName3)//圆点
|
|
11360
11181
|
{var _outVar7=this.VarTable.get(_varName3);if(!Array.isArray(_outVar7))_outVar7=this.SingleDataToArrayData(_outVar7);var _value4={Name:_varName3,Data:_outVar7,Radius:g_JSChartResource.POINTDOT.Radius,Type:3};if(color)_value4.Color=color;if(lineWidth)_value4.LineWidth=lineWidth;this.OutVarTable.push(_value4);}else if(circleDot&&_varName3)//圆点
|
|
@@ -11362,7 +11183,7 @@ else if(_value3.indexOf("FONTSIZE")==0){var strFontSize=_value3.replace("FONTSIZ
|
|
|
11362
11183
|
{var _outVar9=this.VarTable.get(_varName3);if(!Array.isArray(_outVar9))_outVar9=this.SingleDataToArrayData(_outVar9);var _value6={Name:_varName3,Data:_outVar9,Radius:g_JSChartResource.CIRCLEDOT.Radius,Type:3,UpDownDot:true};if(color)_value6.Color=color;if(lineWidth)_value6.LineWidth=lineWidth;this.OutVarTable.push(_value6);}else if(lineStick&&_varName3)//LINESTICK 同时画出柱状线和指标线
|
|
11363
11184
|
{var _outVar10=this.VarTable.get(_varName3);var _value7={Name:_varName3,Data:_outVar10,Type:4};if(color)_value7.Color=color;if(lineWidth)_value7.LineWidth=lineWidth;this.OutVarTable.push(_value7);}else if(stick&&_varName3)//STICK 画柱状线
|
|
11364
11185
|
{var _outVar11=this.VarTable.get(_varName3);var _value8={Name:_varName3,Data:_outVar11,Type:5};if(color)_value8.Color=color;if(lineWidth)_value8.LineWidth=lineWidth;this.OutVarTable.push(_value8);}else if(volStick&&_varName3)//VOLSTICK 画彩色柱状线
|
|
11365
|
-
{var _outVar12=this.VarTable.get(_varName3);var _value9={Name:_varName3,Data:_outVar12,Type:6};if(color)_value9.Color=color;if(upColor)_value9.UpColor=upColor;if(downColor)_value9.DownColor=downColor;if(lineWidth)_value9.LineWidth=lineWidth;this.OutVarTable.push(_value9);}else if(lineArea&&_varName3)//LINEAREA 面积
|
|
11186
|
+
{var _outVar12=this.VarTable.get(_varName3);var _value9={Name:_varName3,Data:_outVar12,Type:6};if(color)_value9.Color=color;if(upColor)_value9.UpColor=upColor;if(downColor)_value9.DownColor=downColor;if(lineWidth)_value9.LineWidth=lineWidth;if(IFrameSplitOperator.IsNumber(stickType))_value9.StickType=stickType;this.OutVarTable.push(_value9);}else if(lineArea&&_varName3)//LINEAREA 面积
|
|
11366
11187
|
{var _outVar13=this.VarTable.get(_varName3);var _value10={Name:_varName3,Data:_outVar13,Type:9};if(color)_value10.Color=color;if(upColor)_value10.UpColor=upColor;if(downColor)_value10.DownColor=downColor;if(lineWidth)_value10.LineWidth=lineWidth;this.OutVarTable.push(_value10);}else if(colorStick&&_varName3)//CYW: SUM(VAR4,10)/10000, COLORSTICK; 画上下柱子
|
|
11367
11188
|
{var _outVar14=this.VarTable.get(_varName3);var _value11={Name:_varName3,Data:_outVar14,Color:color,Type:2};if(lineWidth)_value11.LineWidth=lineWidth;if(color)_value11.Color=color;if(upColor)_value11.UpColor=upColor;if(downColor)_value11.DownColor=downColor;this.OutVarTable.push(_value11);}else if(_varName3&&color&&!_draw3){var _outVar15=this.VarTable.get(_varName3);if(!Array.isArray(_outVar15))_outVar15=this.SingleDataToArrayData(_outVar15);var _value12={Name:_varName3,Data:_outVar15,Color:color,Type:0};if(lineWidth)_value12.LineWidth=lineWidth;if(isShow==false)_value12.IsShow=false;if(isExData==true)_value12.IsExData=true;if(isDotLine==true)_value12.IsDotLine=true;if(isOverlayLine==true)_value12.IsOverlayLine=true;if(isNoneName==true)_value12.NoneName=true;if(isShowTitle==false)_value12.IsShowTitle=false;if(stepLine==true)_value12.Type=7;this.OutVarTable.push(_value12);}else if(_draw3)//画图函数
|
|
11368
11189
|
{var outVar={Name:_draw3.Name,Draw:_draw3,Type:1};if(color)outVar.Color=color;if(isDotLine==true)outVar.IsDotLine=true;if(lineWidth)outVar.LineWidth=lineWidth;if(isDrawAbove)outVar.IsDrawAbove=true;if(isDrawCenter)outVar.IsDrawCenter=true;if(isDrawBelow)outVar.IsDrawBelow=true;if(drawAlign>=0)outVar.DrawAlign=drawAlign;if(drawVAlign>=0)outVar.DrawVAlign=drawVAlign;if(fontSize>0)outVar.DrawFontSize=fontSize;if(bgConfig)outVar.Background=bgConfig;if(vLineConfig)outVar.VerticalLine=vLineConfig;if(IFrameSplitOperator.IsNumber(xOffset))outVar.XOffset=xOffset;if(IFrameSplitOperator.IsNumber(yOffset))outVar.YOffset=yOffset;if(IFrameSplitOperator.IsBool(isFirstDraw))outVar.IsFirstDraw=isFirstDraw;if(IFrameSplitOperator.IsNumber(klineType))outVar.KLineType=klineType;this.OutVarTable.push(outVar);}else if(_varName3){var _outVar16=this.VarTable.get(_varName3);var _value13={Name:_varName3,Data:_outVar16,Type:0};if(color)_value13.Color=color;if(lineWidth)_value13.LineWidth=lineWidth;if(isShow==false)_value13.IsShow=false;if(isExData==true)_value13.IsExData=true;if(isDotLine==true)_value13.IsDotLine=true;if(isOverlayLine==true)_value13.IsOverlayLine=true;if(isShowTitle==false)_value13.IsShowTitle=false;if(stepLine==true)_value13.Type=7;this.OutVarTable.push(_value13);}}}};this.ReadUnaryExpression=function(item,varInfo){var argument=item.Argument;var outVar=null;if(argument.Type==Syntax.Literal){outVar=argument.Value;if(!Array.isArray(outVar))outVar=this.SingleDataToArrayData(outVar);}else if(argument.Type==Syntax.Identifier){var varName=argument.Name;outVar=this.ReadVariable(varName,item.Expression);if(!Array.isArray(outVar))outVar=this.SingleDataToArrayData(outVar);}else if(argument.Type==Syntax.BinaryExpression){outVar=argument.Out;if(!Array.isArray(outVar))outVar=this.SingleDataToArrayData(outVar);}else if(argument.Type==Syntax.CallExpression){var callItem=argument;if(this.Draw.IsDrawFunction(callItem.Callee.Name)){return false;}else if(callItem.Callee.Name==="IFC"&&callItem.Draw){return false;}else{outVar=callItem.Out;if(!Array.isArray(outVar))outVar=this.SingleDataToArrayData(outVar);}}else{return false;}if(item.Operator=='-'){if(outVar)outVar=this.Algorithm.Subtract(0,outVar);}varInfo.OutVar=outVar;return true;};this.GetOutIconData=function(cond,iconDraw){if(Array.isArray(cond)){for(var i=0;i<cond.length&&i<iconDraw.DrawData.length;++i){var item=cond[i];if(item<=0)iconDraw.DrawData[i]=null;}return iconDraw;}if(cond)return iconDraw;return null;};this.GetSoundEvent=function(){if(!this.GetEventCallback)return null;return this.GetEventCallback(JSCHART_EVENT_ID.ON_PLAY_SOUND);};this.Run=function(){try{var data=this.RunAST();//执行脚本
|
|
@@ -11374,7 +11195,8 @@ if(item.Type==Syntax.BinaryExpression||item.Type==Syntax.LogicalExpression)value
|
|
|
11374
11195
|
var bResult=this.Algorithm.IFC(args[0]);var item=bResult?node.Arguments[1]:node.Arguments[2];var value;if(item.Type==Syntax.BinaryExpression||item.Type==Syntax.LogicalExpression)value=this.VisitBinaryExpression(item);else if(item.Type==Syntax.CallExpression)value=this.VisitCallExpression(item);else value=this.GetNodeValue(item);node.Out=value;if(item.Draw)node.Draw=item.Draw;return node.Out;}//JSConsole.Complier.Log('[JSExecute::VisitCallExpression]' , funcName, '(', args.toString() ,')');
|
|
11375
11196
|
if(g_JSComplierResource.IsCustomFunction(funcName)){var data=this.Algorithm.CallCustomFunction(funcName,args,this.SymbolData,node);node.Out=[];node.Draw=null;if(data){if(data.Out)node.Out=data.Out;if(data.Draw)node.Draw=data.Draw;}return node.Out;}switch(funcName){case'DYNAINFO'://行情最新数据
|
|
11376
11197
|
node.Out=this.SymbolData.GetLatestCacheData(args[0]);break;case'STICKLINE':node.Draw=this.Draw.STICKLINE(args[0],args[1],args[2],args[3],args[4]);node.Out=[];break;case'DRAWTEXT':node.Draw=this.Draw.DRAWTEXT(args[0],args[1],args[2]);node.Out=[];break;case'DRAWTEXT_FIX':node.Draw=this.Draw.DRAWTEXT_FIX(args[0],args[1],args[2],args[3],args[4]);node.Out=[];break;case'SUPERDRAWTEXT':node.Draw=this.Draw.SUPERDRAWTEXT(args[0],args[1],args[2],args[3],args[4]);node.Out=[];break;case'DRAWICON':node.Draw=this.Draw.DRAWICON(args[0],args[1],args[2]);node.Out=[];break;case"ICON":node.Draw=this.Draw.ICON(args[0],args[1]);node.Out=[];break;case"TIPICON":node.Draw=this.Draw.TIPICON(args[0],args[1],args[2],args[3]);node.Out=[];break;case"BACKGROUND":node.Draw=this.Draw.BACKGROUND(args[0],args[1],args[2],args[3],args[4],args[5]);node.Out=[];break;case"CKLINE":node.Draw=this.Draw.CKLINE(args[0],args[1],args[2],args[3],args[4]);node.Out=[];break;case'DRAWLINE':node.Draw=this.Draw.DRAWLINE(args[0],args[1],args[2],args[3],args[4]);node.Out=node.Draw.DrawData;break;case'DRAWBAND':node.Draw=this.Draw.DRAWBAND(args[0],args[1],args[2],args[3]);node.Out=[];break;case"FILLRGN":if(args.length>=4)node.Draw=this.Draw.FILLRGN2(args);else node.Draw=this.Draw.FILLRGN(args[0],args[1],args[2]);node.Out=[];break;case"FLOATRGN":node.Draw=this.Draw.FLOATRGN(args);node.Out=[];break;case"FILLTOPRGN":node.Draw=this.Draw.FILLBGRGN(1,args);node.Out=[];break;case"FILLBOTTOMRGN":node.Draw=this.Draw.FILLBGRGN(0,args);node.Out=[];break;case"FILLVERTICALRGN":node.Draw=this.Draw.FILLVERTICALRGN(args);node.Out=[];break;case'DRAWKLINE':case"DRAWKLINE1":node.Draw=this.Draw.DRAWKLINE(args[0],args[1],args[2],args[3]);node.Out=[];break;case'DRAWKLINE_IF':node.Draw=this.Draw.DRAWKLINE_IF(args[0],args[1],args[2],args[3],args[4]);node.Out=[];break;case"KLINETYPE"://K线类型 和DRAWKLINE连用
|
|
11377
|
-
node.Out=this.Draw.KLINETYPE(args[0]);break;case"DRAWOVERLAYKLINE":node.Draw=this.Draw.DRAWOVERLAYKLINE(args[0],args[1],args[2],args[3]);node.Out=[];break;case"DRAWCOLORKLINE":node.Draw=this.Draw.DRAWCOLORKLINE(args[0],args[1],args[2]);node.Out=[];break;case'PLOYLINE':case'POLYLINE':node.Draw=this.Draw.POLYLINE(args[0],args[1]);node.Out=node.Draw.DrawData;break;case'DRAWNUMBER':node.Draw=this.Draw.DRAWNUMBER(args[0],args[1],args[2],args[3]);node.Out=node.Draw.DrawData.Value;break;case"DRAWNUMBER_FIX":node.Draw=this.Draw.DRAWNUMBER_FIX(args[0],args[1],args[2],args[3],args[4]);node.Out=node.Draw.DrawData.Value;break;case"DRAWCHANNEL":node.Draw=this.Draw.DRAWCHANNEL(args[0],args[1],args[2],args[3],args[4],args[5],args[6]);node.Out=[];break;case'RGB':node.Out=this.Draw.RGB(args[0],args[1],args[2]);break;case"RGBA":node.Out=this.Draw.RGBA(args[0],args[1],args[2],args[3]);break;case"UPCOLOR":node.Out=this.Draw.UPCOLOR(args[0]);break;case"DOWNCOLOR":node.Out=this.Draw.DOWNCOLOR(args[0]);break;case"
|
|
11198
|
+
node.Out=this.Draw.KLINETYPE(args[0]);break;case"DRAWOVERLAYKLINE":node.Draw=this.Draw.DRAWOVERLAYKLINE(args[0],args[1],args[2],args[3]);node.Out=[];break;case"DRAWCOLORKLINE":node.Draw=this.Draw.DRAWCOLORKLINE(args[0],args[1],args[2]);node.Out=[];break;case'PLOYLINE':case'POLYLINE':node.Draw=this.Draw.POLYLINE(args[0],args[1]);node.Out=node.Draw.DrawData;break;case'DRAWNUMBER':node.Draw=this.Draw.DRAWNUMBER(args[0],args[1],args[2],args[3]);node.Out=node.Draw.DrawData.Value;break;case"DRAWNUMBER_FIX":node.Draw=this.Draw.DRAWNUMBER_FIX(args[0],args[1],args[2],args[3],args[4]);node.Out=node.Draw.DrawData.Value;break;case"DRAWCHANNEL":node.Draw=this.Draw.DRAWCHANNEL(args[0],args[1],args[2],args[3],args[4],args[5],args[6]);node.Out=[];break;case'RGB':node.Out=this.Draw.RGB(args[0],args[1],args[2]);break;case"RGBA":node.Out=this.Draw.RGBA(args[0],args[1],args[2],args[3]);break;case"UPCOLOR":node.Out=this.Draw.UPCOLOR(args[0]);break;case"DOWNCOLOR":node.Out=this.Draw.DOWNCOLOR(args[0]);break;case"STICKTYPE"://柱子类型
|
|
11199
|
+
node.Out=this.Draw.STICKTYPE(args[0]);break;case"XMOVE":node.Out=this.Draw.XMOVE(args[0]);break;case"YMOVE":node.Out=this.Draw.YMOVE(args[0]);break;case"FIRSTDRAW":node.Out=this.Draw.FIRSTDRAW(args[0]);break;case'PARTLINE':node.Draw=this.Draw.PARTLINE(args);node.Out=[];break;case'DRAWGBK':node.Draw=this.Draw.DRAWGBK(args[0],args[1],args[2],args[3]);node.Out=[];break;case'DRAWGBK2':node.Draw=this.Draw.DRAWGBK2(args[0],args[1],args[2],args[3]);node.Out=[];break;case"DRAWGBK_DIV":node.Draw=this.Draw.DRAWGBK_DIV(args[0],args[1],args[2],args[3],args[4]);node.Out=[];break;case'DRAWTEXT_LINE':node.Draw=this.Draw.DRAWTEXT_LINE(args[0],args[1],args[2],args[3],args[4],args[5],args[6]);node.Out=[];break;case'DRAWRECTREL':node.Draw=this.Draw.DRAWRECTREL(args[0],args[1],args[2],args[3],args[4]);node.Out=[];break;case"DRAWTEXTREL":node.Draw=this.Draw.DRAWTEXTREL(args[0],args[1],args[2]);node.Out=[];break;case"DRAWTEXTABS":node.Draw=this.Draw.DRAWTEXTABS(args[0],args[1],args[2]);node.Out=[];break;case"DRAWOVERLAYLINE":node.Draw=this.Draw.DRAWOVERLAYLINE(args[0],args[1],args[2]);node.Out=node.Draw.DrawData.Data;break;case"DRAWSL":node.Draw=this.Draw.DRAWSL(args[0],args[1],args[2],args[3],args[4]);node.Out=[];break;case"VERTLINE":node.Draw=this.Draw.VERTLINE(args[0],args[1]);node.Out=node.Draw.DrawData.Data;break;case"HORLINE":node.Draw=this.Draw.HORLINE(args[0],args[1],args[2],args[3]);node.Out=node.Draw.DrawData.Data;break;case'CODELIKE':node.Out=this.SymbolData.CODELIKE(args[0]);break;case'NAMELIKE':case"NAMEINCLUDE":node.Out=this.SymbolData.NAMELIKE(args[1]);break;case'REFDATE':node.Out=this.SymbolData.REFDATE(args[0],args[1]);break;case'FINANCE':node.Out=this.SymbolData.GetStockCacheData({FunctionName:funcName,Args:args,ArgCount:1,Node:node});break;case"FINVALUE":node.Out=this.SymbolData.GetStockCacheData({FunctionName:funcName,Args:args,ArgCount:1,Node:node});break;case"FINONE":node.Out=this.SymbolData.GetStockCacheData({FunctionName:funcName,Args:args,ArgCount:3,Node:node});break;case"GPJYVALUE":node.Out=this.SymbolData.GetStockCacheData({FunctionName:funcName,Args:args,ArgCount:3,Node:node});break;case"SCJYVALUE":node.Out=this.SymbolData.GetStockCacheData({FunctionName:funcName,Args:args,ArgCount:3,Node:node});break;case"MARGIN":node.Out=this.SymbolData.GetMarginCacheData(args[0],node);break;case"HK2SHSZ":node.Out=this.SymbolData.GetHKToSHSZCacheData(args[0],node);break;case"NEWS":node.Out=this.SymbolData.GetNewsAnalysisCacheData(args[0],node);break;case'UPCOUNT':case'DOWNCOUNT':node.Out=this.SymbolData.GetIndexIncreaseCacheData(funcName,args[0],node);break;case'SF':node.Out=this.SymbolData.GetSectionFinanceCacheData(args[0],args[1],args[2],node);break;case'LOADAPIDATA':node.Out=this.SymbolData.GetCustomApiData(args);break;case"STKINDI":case"CALCSTOCKINDEX":node.Out=this.SymbolData.GetScriptIndexOutData(args,node,funcName);break;case"SOUND":node.Draw=this.Draw.SOUND(args[0]);node.Out=[];break;case"PLAYSOUND":node.Draw=this.Draw.PLAYSOUND(args[0],args[1]);node.Out=[];break;case'CLOSE':case'C':case'VOL':case'V':case'OPEN':case'O':case'HIGH':case'H':case'LOW':case'L':case'AMOUNT':case'AMO':node.Out=this.SymbolData.GetOtherSymolCacheData({FunctionName:funcName,Args:args});break;case"INBLOCK":node.Out=this.SymbolData.IsInBlock(args[0],node);break;case'COVER_C':case'COVER_O':case'COVER_H':case'COVER_L':case'COVER_A':case'COVER_V':if(args.length==2)return this.SymbolData.GetSymbolPeriodCacheData2(JSComplierHelper.GetConvertValueName(funcName),args[0],args[1]);return this.SymbolData.GetSymbolPeriodCacheData(JSComplierHelper.GetConvertValueName(funcName),args[0]);case"SYSPARAM":return this.SymbolData.SysParam(args[0],this);case"TESTSKIP":var bExit=this.Algorithm.TESTSKIP(args[0],node);node.Out=null;if(bExit){this.Interrupt.Exit=true;if(node&&node.Marker){var marker=node.Marker;this.Interrupt.Line=marker.Line;this.Interrupt.Index=marker.Index;this.Interrupt.Column=marker.Column;}}break;//交易函数
|
|
11378
11200
|
case"BUY":node.Draw=this.Draw.BUY(args[0],args[1],args[2],args[3]);node.Out=node.Draw.DrawData.Data;break;case"SELL":node.Draw=this.Draw.SELL(args[0],args[1],args[2],args[3]);node.Out=node.Draw.DrawData.Data;break;case"SELLSHORT":node.Draw=this.Draw.SELLSHORT(args[0],args[1],args[2],args[3]);node.Out=node.Draw.DrawData.Data;break;case"BUYSHORT":node.Draw=this.Draw.BUYSHORT(args[0],args[1],args[2],args[3]);node.Out=node.Draw.DrawData.Data;break;default:node.Out=this.Algorithm.CallFunction(funcName,args,node,this.SymbolData);break;}return node.Out;};//赋值
|
|
11379
11201
|
this.VisitAssignmentExpression=function(node){var left=node.Left;if(left.Type!=Syntax.Identifier)this.ThrowUnexpectedNode(node);var varName=left.Name;var right=node.Right;var value=null,drawValue=null;if(right.Type==Syntax.BinaryExpression||right.Type==Syntax.LogicalExpression)value=this.VisitBinaryExpression(right);else if(right.Type==Syntax.CallExpression){value=this.VisitCallExpression(right);if(right.Draw)drawValue=right.Draw;}else if(right.Type==Syntax.Literal){value=right.Value;if(IFrameSplitOperator.IsString(value)&&right.Value.indexOf("$")>0)value=this.SymbolData.GetOtherSymolCacheData({Literal:value});}else if(right.Type==Syntax.Identifier)//右值是变量
|
|
11380
11202
|
value=this.ReadVariable(right.Name,right);else if(right.Type==Syntax.MemberExpression)value=this.ReadMemberVariable(right);else if(right.Type==Syntax.UnaryExpression)value=this.VisitUnaryExpression(right);if(JS_EXECUTE_DEBUG_LOG)JSConsole.Complier.Log('[JSExecute::VisitAssignmentExpression]',varName,' = ',value);if(drawValue)this.VarDrawTable.set(varName,drawValue);this.VarTable.set(varName,value);};//逻辑运算
|
|
@@ -11433,7 +11255,7 @@ else if(_value15.indexOf('LINEOVERLAY')==0)isOverlayLine=true;else if(_value15.i
|
|
|
11433
11255
|
this.VisitCallExpression=function(node){var funcName=node.Callee.Name;var args=[];for(var _i133 in node.Arguments){var _item21=node.Arguments[_i133];var _value25=void 0;if(_item21.Type==Syntax.BinaryExpression||_item21.Type==Syntax.LogicalExpression)_value25=this.VisitBinaryExpression(_item21);else if(_item21.Type==Syntax.CallExpression)_value25=this.VisitCallExpression(_item21);else _value25=this.GetNodeValue(_item21);args.push(_value25);}if(node.Callee.Type==Syntax.Literal){var dynamicName=node.Callee.Value;node.Out='\u6307\u6807\u5F15\u7528\''+dynamicName+'\'';return node.Out;}if(JS_EXECUTE_DEBUG_LOG)JSConsole.Complier.Log('[JSExplainer::VisitCallExpression]',funcName,'(',args.toString(),')');if(g_JSComplierResource.IsCustomFunction(funcName)){var functionInfo=g_JSComplierResource.CustomFunction.Data.get(funcName);if(!functionInfo.Description)node.Out='\u81EA\u5B9A\u4E49\u51FD\u6570'+funcName;else node.Out=functionInfo.Description;return node.Out;}node.Out=this.CallFunctionExplain(funcName,args,node);return node.Out;};this.FUNCTION_INFO_LIST=new _map2.default([["REF",{Name:"REF",Param:{Count:2},ToString:function ToString(args){return args[1]+'\u65E5\u524D\u7684'+args[0];}}],["REFX",{Name:"REFX",Param:{Count:2},ToString:function ToString(args){return args[1]+'\u65E5\u540E\u7684'+args[0];}}],["REFV",{Name:"REFV",Param:{Count:2},ToString:function ToString(args){return args[1]+'\u65E5\u524D\u7684(\u672A\u4F5C\u5E73\u6ED1\u5904\u7406)'+args[0];}}],["REFXV",{Name:"REFXV",Param:{Count:2},ToString:function ToString(args){return args[1]+'\u65E5\u540E\u7684(\u672A\u4F5C\u5E73\u6ED1\u5904\u7406)'+args[0];}}],["REFDATE",{Name:"REFDATE",Param:{Count:2},ToString:function ToString(args){return args[1]+'\u65E5'+args[0];}}],["COUNT",{Name:"COUNT",Param:{Count:2},ToString:function ToString(args){return'\u7EDF\u8BA1'+args[1]+'\u65E5\u4E2D\u6EE1\u8DB3'+args[0]+'\u7684\u5929\u6570';}}],["BARSLASTCOUNT",{Name:"BARSLASTCOUNT",Param:{Count:1},ToString:function ToString(args){return'\u6761\u4EF6'+args[0]+'\u8FDE\u7EED\u6210\u7ACB\u6B21\u6570';}}],["BARSCOUNT",{Name:"BARSCOUNT",Param:{Count:1},ToString:function ToString(args){return args[0]+'\u6709\u6548\u6570\u636E\u5468\u671F\u6570';}}],["BARSLAST",{Name:"BARSLAST",Param:{Count:1},ToString:function ToString(args){return'\u4E0A\u6B21'+args[0]+'\u4E0D\u4E3A0\u8DDD\u4ECA\u5929\u6570';}}],["BARSLASTS",{Name:"BARSLASTS",Param:{Count:2},ToString:function ToString(args){return'\u5012\u6570\u7B2CN\u6B21\u6210\u7ACB\u65F6\u8DDD\u4ECA\u7684\u5468\u671F\u6570';}}],["BARSNEXT",{Name:"BARSNEXT",Param:{Count:1},ToString:function ToString(args){return'\u4E0B\u6B21'+args[0]+'\u4E0D\u4E3A0\u8DDD\u4ECA\u5929\u6570';}}],["BARSSINCEN",{Name:"BARSSINCEN",Param:{Count:2},ToString:function ToString(args){return'\u5728'+args[1]+'\u5468\u671F\u5185\u9996\u6B21'+args[0]+'\u8DDD\u4ECA\u5929\u6570';}}],["BARSSINCE",{Name:"BARSSINCE",Param:{Count:1},ToString:function ToString(args){return'\u9996\u6B21'+args[0]+'\u8DDD\u4ECA\u5929\u6570';}}],["HHV",{Name:"HHV",Param:{Count:2},ToString:function ToString(args){return args[1]+'\u65E5\u5185'+args[0]+'\u7684\u6700\u9AD8\u503C';}}],["LLV",{Name:"LLV",Param:{Count:2},ToString:function ToString(args){return args[1]+'\u65E5\u5185'+args[0]+'\u7684\u6700\u4F4E\u503C';}}],["ZTPRICE",{Name:"ZTPRICE",Param:{Count:2},ToString:function ToString(args){return'计算涨停价';}}],["DTPRICE",{Name:"DTPRICE",Param:{Count:2},ToString:function ToString(args){return'计算跌停价';}}],["BACKSET",{Name:"BACKSET",Param:{Count:2},ToString:function ToString(args){return'\u82E5'+args[0]+'\u5219\u5C06\u6700\u8FD1'+args[1]+'\u5468\u671F\u7F6E\u4E3A1';}}],["HOD",{Name:"HOD",Param:{Count:2},ToString:function ToString(args){return args[1]+'\u65E5\u5185'+args[0]+'\u7684\u9AD8\u503C\u540D\u6B21';}}],["LOD",{Name:"LOD",Param:{Count:2},ToString:function ToString(args){return args[1]+'\u65E5\u5185'+args[0]+'\u7684\u4F4E\u503C\u540D\u6B21';}}],["REVERSE",{Name:"REVERSE",Param:{Count:1},ToString:function ToString(args){return args[0]+'\u7684\u76F8\u53CD\u6570';}}],["FILTER",{Name:"FILTER",Param:{Count:2},ToString:function ToString(args){return args[0]+'\u7684'+args[1]+'\u65E5\u8FC7\u6EE4';}}],["FILTERX",{Name:"FILTERX",Param:{Count:2},ToString:function ToString(args){return args[0]+'\u7684'+args[1]+'\u65E5\u53CD\u5411\u8FC7\u6EE4';}}],["TFILTER",{Name:"TFILTER",Param:{Count:3},ToString:function ToString(args){return'\u4FE1\u53F7\u8FC7\u6EE4(\u591A\u5934)';}}],["SUMBARS",{Name:"SUMBARS",Param:{Count:2},ToString:function ToString(args){return args[0]+'\u7D2F\u52A0\u81F3'+args[1]+'\u7684\u5929\u6570';}}],["MA",{Name:"MA",Param:{Count:2},ToString:function ToString(args){return args[0]+'\u7684'+args[1]+'\u65E5\u7B80\u5355\u79FB\u52A8\u5E73\u5747';}}],["SMA",{Name:"SMA",Param:{Count:3},ToString:function ToString(args){return args[0]+'\u7684'+args[1]+'\u65E5['+args[2]+'\u65E5\u6743\u91CD]\u79FB\u52A8\u5E73\u5747';}}],["MEMA",{Name:"MEMA",Param:{Count:2},ToString:function ToString(args){return args[0]+'\u7684'+args[1]+'\u65E5\u5E73\u6ED1\u79FB\u52A8\u5E73\u5747';}}],["EMA",{Name:"EMA",Param:{Count:2},ToString:function ToString(args){return args[0]+'\u7684'+args[1]+'\u65E5\u6307\u6570\u79FB\u52A8\u5E73\u5747';}}],["EXPMA",{Name:"EXPMA",Param:{Count:2},ToString:function ToString(args){return args[0]+'\u7684'+args[1]+'\u65E5\u6307\u6570\u79FB\u52A8\u5E73\u5747';}}],["EXPMEMA",{Name:"EXPMEMA",Param:{Count:2},ToString:function ToString(args){return args[0]+'\u7684'+args[1]+'\u65E5\u6307\u6570\u5E73\u6ED1\u79FB\u52A8\u5E73\u5747';}}],["WMA",{Name:"WMA",Param:{Count:2},ToString:function ToString(args){return args[0]+'\u7684'+args[1]+'\u65E5\u52A0\u6743\u79FB\u52A8\u5E73\u5747';}}],["DMA",{Name:"DMA",Param:{Count:2},ToString:function ToString(args){return'\u4EE5'+args[1]+'\u4E3A\u6743\u91CD'+args[0]+'\u7684\u52A8\u6001\u79FB\u52A8\u5E73\u5747';}}],["XMA",{Name:"XMA",Param:{Count:2},ToString:function ToString(args){return args[0]+'\u7684'+args[1]+'\u65E5\u504F\u79FB\u79FB\u52A8\u5E73\u5747';}}],["RANGE",{Name:"RANGE",Param:{Count:3},ToString:function ToString(args){return args[0]+'\u4F4D\u4E8E'+args[1]+'\u548C'+args[2]+'\u4E4B\u95F4';}}],["CONST",{Name:"CONST",Param:{Count:1},ToString:function ToString(args){return args[0]+'\u7684\u6700\u540E\u4E00\u65E5\u503C';}}],["TOPRANGE",{Name:"TOPRANGE",Param:{Count:1},ToString:function ToString(args){return'\u5F53\u524D\u503C\u662F\u8FD1'+args[0]+'\u5468\u671F\u7684\u6700\u5927\u503C';}}],["LOWRANGE",{Name:"LOWRANGE",Param:{Count:1},ToString:function ToString(args){return'\u5F53\u524D\u503C\u662F\u8FD1'+args[0]+'\u5468\u671F\u7684\u6700\u5C0F\u503C';}}],["FINDHIGH",{Name:"FINDHIGH",Param:{Count:4},ToString:function ToString(args){return args[0]+'\u5728'+args[1]+'\u65E5\u524D\u7684'+args[2]+'\u5929\u5185\u7B2C'+args[3]+'\u4E2A\u6700\u9AD8\u4EF7';}}],["FINDHIGHBARS",{Name:"FINDHIGHBARS",Param:{Count:4},ToString:function ToString(args){return args[0]+'\u5728'+args[1]+'\u65E5\u524D\u7684'+args[2]+'\u5929\u5185\u7B2C'+args[3]+'\u4E2A\u6700\u9AD8\u4EF7\u5230\u5F53\u524D\u5468\u671F\u7684\u5468\u671F\u6570';}}],["FINDLOW",{Name:"FINDLOW",Param:{Count:4},ToString:function ToString(args){return args[0]+'\u5728'+args[1]+'\u65E5\u524D\u7684'+args[2]+'\u5929\u5185\u7B2C'+args[3]+'\u4E2A\u6700\u4F4E\u4EF7';}}],["FINDLOWBARS",{Name:"FINDLOWBARS",Param:{Count:2},ToString:function ToString(args){return args[0]+'\u5728'+args[1]+'\u65E5\u524D\u7684'+args[2]+'\u5929\u5185\u7B2C'+args[3]+'\u4E2A\u6700\u4F4E\u4EF7\u5230\u5F53\u524D\u5468\u671F\u7684\u5468\u671F\u6570';}}],["SUM",{Name:"SUM",Param:{Count:2},ToString:function ToString(args){return''+args[0]+args[1]+'\u65E5\u7D2F\u52A0';}}],["MULAR",{Name:"MULAR",Param:{Count:2},ToString:function ToString(args){return args[0]+'\u548C'+args[1]+'\u65E5\u7D2F\u4E58';}}],["AMA",{Name:"AMA",Param:{Count:2},ToString:function ToString(args){return'\u4EE5'+args[1]+'\u4E3A\u6743\u91CD'+args[0]+'\u7684\u81EA\u9002\u5E94\u5747\u7EBF';}}],["TMA",{Name:"TMA",Param:{Count:3},ToString:function ToString(args){return args[0]+'\u7684'+args[1]+'\u65E5['+args[2]+'\u65E5\u6743\u91CD]\u79FB\u52A8\u5E73\u5747';}}],["CROSS",{Name:"CROSS",Param:{Count:2},ToString:function ToString(args){return args[0]+'\u4E0A\u7A7F'+args[1];}}],["LONGCROSS",{Name:"LONGCROSS",Param:{Count:3},ToString:function ToString(args){return args[0]+'\u5C0F\u4E8E'+args[1]+'\u4FDD\u6301'+args[2]+'\u4E2A\u4EA4\u6613\u65E5\u540E\u4EA4\u53C9\u4E0A\u7A7F';}}],["UPNDAY",{Name:"UPNDAY",Param:{Count:2},ToString:function ToString(args){return'\u6700\u8FD1'+args[1]+'\u65E5'+args[0]+'\u8FDE\u6DA8';}}],["DOWNNDAY",{Name:"DOWNNDAY",Param:{Count:2},ToString:function ToString(args){return'\u6700\u8FD1'+args[1]+'\u65E5'+args[0]+'\u8FDE\u8DCC';}}],["NDAY",{Name:"NDAY",Param:{Count:3},ToString:function ToString(args){return'\u6700\u8FD1'+args[2]+'\u65E5'+args[0]+'\u4E00\u76F4\u5927\u4E8E'+args[1];}}],["EXIST",{Name:"EXIST",Param:{Count:2},ToString:function ToString(args){return'\u6700\u8FD1'+args[1]+'\u65E5\u5B58\u5728'+args[0];}}],["EXISTR",{Name:"EXISTR",Param:{Count:3},ToString:function ToString(args){return'\u4ECE\u524D'+args[1]+'\u65E5\u5230\u524D'+args[2]+'\u65E5\u5B58\u5728'+args[0];}}],["EVERY",{Name:"EVERY",Param:{Count:2},ToString:function ToString(args){return'\u6700\u8FD1'+args[1]+'\u65E5\u4E00\u76F4\u5B58\u5728'+args[0];}}],["LAST",{Name:"LAST",Param:{Count:3},ToString:function ToString(args){return'\u4ECE\u524D'+args[1]+'\u65E5\u5230\u524D'+args[2]+'\u65E5\u6301\u7EED'+args[0];}}],["NOT",{Name:"NOT",Param:{Count:1},ToString:function ToString(args){return args[0]+'\u53D6\u53CD';}}],["IF",{Name:"IF",Param:{Count:3},ToString:function ToString(args){return'\u5982\u679C'+args[0]+',\u8FD4\u56DE'+args[1]+',\u5426\u5219\u8FD4\u56DE'+args[2];}}],["IFF",{Name:"IFF",Param:{Count:3},ToString:function ToString(args){return'\u5982\u679C'+args[0]+',\u8FD4\u56DE'+args[1]+',\u5426\u5219\u8FD4\u56DE'+args[2];}}],["IFN",{Name:"IFN",Param:{Count:3},ToString:function ToString(args){return'\u5982\u679C'+args[0]+',\u8FD4\u56DE'+args[1]+',\u5426\u5219\u8FD4\u56DE'+args[2];}}],["IFC",{Name:"IFC",Param:{Count:3},ToString:function ToString(args){return'\u5982\u679C'+args[0]+',\u8FD4\u56DE'+args[1]+',\u5426\u5219\u8FD4\u56DE'+args[2];}}],["TESTSKIP",{Name:"TESTSKIP",Param:{Count:1},ToString:function ToString(args){return'\u5982\u679C\u6EE1\u8DB3\u6761\u4EF6'+args[0]+',\u516C\u5F0F\u8FD4\u56DE';}}],["VALUEWHEN",{Name:"VALUEWHEN",Param:{Count:2},ToString:function ToString(args){return'\u5982\u679C'+args[0]+',\u8FD4\u56DE'+args[1]+',\u5426\u5219\u8FD4\u56DE\u4E0A\u4E2A\u8F93\u51FA\u503C ';}}],["MAX",{Name:"MAX",Param:{Count:2},ToString:function ToString(args){return args[0]+'\u548C'+args[1]+'\u7684\u8F83\u5927\u503C';}}],["MIN",{Name:"MIN",Param:{Count:2},ToString:function ToString(args){return args[0]+'\u548C'+args[1]+'\u7684\u8F83\u5C0F\u503C';}}],["ACOS",{Name:"ACOS",Param:{Count:1},ToString:function ToString(args){return args[0]+'\u7684\u53CD\u4F59\u5F26';}}],["ASIN",{Name:"ASIN",Param:{Count:1},ToString:function ToString(args){return args[0]+'\u7684\u53CD\u6B63\u5F26';}}],["ATAN",{Name:"ATAN",Param:{Count:1},ToString:function ToString(args){return args[0]+'\u7684\u53CD\u6B63\u5207';}}],["COS",{Name:"COS",Param:{Count:1},ToString:function ToString(args){return args[0]+'\u7684\u4F59\u5F26';}}],["SIN",{Name:"SIN",Param:{Count:1},ToString:function ToString(args){return args[0]+'\u7684\u6B63\u5F26';}}],["TAN",{Name:"TAN",Param:{Count:1},ToString:function ToString(args){return args[0]+'\u7684\u6B63\u5207';}}],["EXP",{Name:"EXP",Param:{Count:1},ToString:function ToString(args){return args[0]+'\u7684\u6307\u6570';}}],["LN",{Name:"LN",Param:{Count:1},ToString:function ToString(args){return args[0]+'\u7684\u81EA\u7136\u5BF9\u6570';}}],["LOG",{Name:"LOG",Param:{Count:1},ToString:function ToString(args){return args[0]+'\u7684\u5BF9\u6570';}}],["SQRT",{Name:"SQRT",Param:{Count:1},ToString:function ToString(args){return args[0]+'\u7684\u5F00\u65B9';}}],["ABS",{Name:"ABS",Param:{Count:1},ToString:function ToString(args){return args[0]+'\u7684\u7EDD\u5BF9\u503C';}}],["POW",{Name:"POW",Param:{Count:2},ToString:function ToString(args){return args[0]+'\u7684'+args[1]+'\u4E58\u5E42';}}],["CEILING",{Name:"CEILING",Param:{Count:1},ToString:function ToString(args){return args[0]+'\u7684\u5411\u4E0A\u820D\u5165';}}],["FLOOR",{Name:"FLOOR",Param:{Count:1},ToString:function ToString(args){return args[0]+'\u7684\u5411\u4E0A\u820D\u5165';}}],["INTPART",{Name:"INTPART",Param:{Count:1},ToString:function ToString(args){return args[0]+'\u7684\u6574\u6570\u90E8\u5206';}}],["BETWEEN",{Name:"BETWEEN",Param:{Count:3},ToString:function ToString(args){return args[0]+'\u4F4D\u4E8E'+args[1]+'\u548C'+args[2]+'\u4E4B\u95F4';}}],["FRACPART",{Name:"FRACPART",Param:{Count:1},ToString:function ToString(args){return args[0]+'\u7684\u5C0F\u6570\u90E8\u5206';}}],["ROUND",{Name:"ROUND",Param:{Count:1},ToString:function ToString(args){return'\u5BF9'+args[0]+'(\u8FDB\u884C)\u56DB\u820D\u4E94\u5165';}}],["ROUND2",{Name:"ROUND2",Param:{Count:2},ToString:function ToString(args){return'\u5BF9'+args[0]+'(\u8FDB\u884C)\u56DB\u820D\u4E94\u5165';}}],["SIGN",{Name:"SIGN",Param:{Count:1},ToString:function ToString(args){return args[0]+'\u7684\u7B26\u53F7';}}],["MOD",{Name:"MOD",Param:{Count:2},ToString:function ToString(args){return args[0]+'\u5173\u4E8E'+args[1]+'\u7684\u6A21';}}],["RAND",{Name:"RAND",Param:{Count:1},ToString:function ToString(args){return'\u968F\u673A\u6B63\u6574\u6570';}}],["AVEDEV",{Name:"AVEDEV",Param:{Count:2},ToString:function ToString(args){return args[0]+'\u7684'+args[1]+'\u65E5\u5E73\u5747\u7EDD\u5BF9\u504F\u5DEE';}}],["DEVSQ",{Name:"DEVSQ",Param:{Count:2},ToString:function ToString(args){return args[0]+'\u7684'+args[1]+'\u65E5\u6570\u636E\u504F\u5DEE\u5E73\u65B9\u548C';}}],["FORCAST",{Name:"FORCAST",Param:{Count:2},ToString:function ToString(args){return args[0]+'\u7684'+args[1]+'\u65E5\u7EBF\u6027\u56DE\u5F52\u9884\u6D4B\u503C';}}],["TSMA",{Name:"TSMA",Param:{Count:2},ToString:function ToString(args){return args[0]+'\u5728'+args[1]+'\u4E2A\u5468\u671F\u5185\u7684\u65F6\u95F4\u5E8F\u5217\u4E09\u89D2\u79FB\u52A8\u5E73\u5747';}}],["SLOPE",{Name:"SLOPE",Param:{Count:2},ToString:function ToString(args){return args[0]+'\u7684'+args[1]+'\u65E5\u7EBF\u6027\u56DE\u5F52\u659C\u7387';}}],["STD",{Name:"STD",Param:{Count:2},ToString:function ToString(args){return args[0]+'\u7684'+args[1]+'\u65E5\u4F30\u7B97\u6807\u51C6\u5DEE';}}],["STDP",{Name:"STDP",Param:{Count:2},ToString:function ToString(args){return args[0]+'\u7684'+args[1]+'\u65E5\u603B\u4F53\u6807\u51C6\u5DEE';}}],["STDDEV",{Name:"STDDEV",Param:{Count:2},ToString:function ToString(args){return args[0]+'\u7684'+args[1]+'\u65E5\u6807\u51C6\u504F\u5DEE';}}],["VAR",{Name:"VAR",Param:{Count:2},ToString:function ToString(args){return args[0]+'\u7684'+args[1]+'\u65E5\u4F30\u7B97\u6837\u672C\u65B9\u5DEE';}}],["VARP",{Name:"VARP",Param:{Count:2},ToString:function ToString(args){return args[0]+'\u7684'+args[1]+'\u65E5\u603B\u4F53\u6837\u672C\u65B9\u5DEE';}}],["COVAR",{Name:"COVAR",Param:{Count:3},ToString:function ToString(args){return args[0]+'\u548C'+args[1]+'\u7684'+args[2]+'\u5468\u671F\u7684\u534F\u65B9\u5DEE';}}],["RELATE",{Name:"RELATE",Param:{Count:3},ToString:function ToString(args){return args[0]+'\u548C'+args[1]+'\u7684'+args[0]+'\u5468\u671F\u7684\u76F8\u5173\u7CFB\u6570';}}],["BETA",{Name:"BETA",Param:{Count:1},ToString:function ToString(args){return'\u03B2(Beta)\u7CFB\u6570';}}],["BETAEX",{Name:"BETAEX",Param:{Count:3},ToString:function ToString(args){return args[0]+'\u548C'+args[1]+'\u7684'+args[2]+'\u5468\u671F\u7684\u76F8\u5173\u653E\u5927\u7CFB\u6570';}}],["COST",{Name:"COST",Param:{Count:1},ToString:function ToString(args){return'\u83B7\u5229\u76D8\u4E3A'+args[0]+'%\u7684\u6210\u672C\u5206\u5E03';}}],["WINNER",{Name:"WINNER",Param:{Count:1},ToString:function ToString(args){return'\u4EE5'+args[0]+'\u8BA1\u7B97\u7684\u83B7\u5229\u76D8\u6BD4\u4F8B';}}],["LWINNER",{Name:"LWINNER",Param:{Count:2},ToString:function ToString(args){return'\u6700\u8FD1'+args[0]+'\u65E5\u90A3\u90E8\u5206\u6210\u672C\u4EE5'+args[1]+'\u4EF7\u683C\u5356\u51FA\u7684\u83B7\u5229\u76D8\u6BD4\u4F8B';}}],["PWINNER",{Name:"PWINNER",Param:{Count:2},ToString:function ToString(args){return args[0]+'\u65E5\u524D\u90A3\u90E8\u5206\u6210\u672C\u4EE5'+args[1]+'\u4EF7\u683C\u5356\u51FA\u7684\u83B7\u5229\u76D8\u6BD4\u4F8B';}}],["COSTEX",{Name:"COSTEX",Param:{Count:2},ToString:function ToString(args){return'\u4F4D\u4E8E\u4EF7\u683C'+args[0]+'\u548C'+args[1]+'\u95F4\u7684\u6210\u672C';}}],["PPART",{Name:"PPART",Param:{Count:2},ToString:function ToString(args){return args[0]+'\u65E5\u524D\u90A3\u90E8\u5206\u6210\u672C\u5360\u603B\u6210\u672C\u7684\u6BD4\u4F8B';}}],["SAR",{Name:"SAR",Param:{Count:3},ToString:function ToString(args){return'\u6B65\u957F\u4E3A'+args[1]+'\u6781\u9650\u503C\u4E3A'+args[0]+'\u7684'+args[2]+'\u65E5\u629B\u7269\u8F6C\u5411';}}],["SARTURN",{Name:"SARTURN",Param:{Count:3},ToString:function ToString(args){return'\u6B65\u957F\u4E3A'+args[1]+'\u6781\u9650\u503C\u4E3A'+args[0]+'\u7684'+args[2]+'\u65E5\u629B\u7269\u8F6C\u5411\u70B9';}}],//字符串函数
|
|
11434
11256
|
["CON2STR",{Name:"CON2STR",Param:{Count:2},ToString:function ToString(args){return args[0]+'\u8F6C\u4E3A\u5B57\u7B26\u4E32';}}],["VAR2STR",{Name:"VAR2STR",Param:{Count:2},ToString:function ToString(args){return args[0]+'\u8F6C\u4E3A\u5B57\u7B26\u4E32';}}],["STR2CON",{Name:"STR2CON",Param:{Count:1},ToString:function ToString(args){return args[0]+'\u8F6C\u4E3A\u6570\u5B57';}}],["STRLEN",{Name:"STRLEN",Param:{Count:1},ToString:function ToString(args){return'\u5F97\u5230'+args[0]+'\u5B57\u7B26\u4E32\u957F\u5EA6';}}],["STRCAT",{Name:"STRCAT",Param:{Count:2},ToString:function ToString(args){return'\u5B57\u7B26\u4E32\u76F8\u52A0';}}],["VARCAT",{Name:"VARCAT",Param:{Count:2},ToString:function ToString(args){return'\u5B57\u7B26\u4E32\u76F8\u52A0';}}],["STRSPACE",{Name:"STRSPACE",Param:{Count:1},ToString:function ToString(args){return'\u5B57\u7B26\u4E32'+args[0]+'\u52A0\u4E00\u7A7A\u683C';}}],["SUBSTR",{Name:"SUBSTR",Param:{Count:3},ToString:function ToString(args){return'\u5B57\u7B26\u4E32'+args[0]+'\u4E2D\u53D6\u4E00\u90E8\u5206';}}],["STRCMP",{Name:"STRCMP",Param:{Count:2},ToString:function ToString(args){return'\u5B57\u7B26\u4E32'+args[0]+'\u548C\u5B57\u7B26\u4E32'+args[1]+'\u6BD4\u8F83';}}],["FINDSTR",{Name:"FINDSTR",Param:{Count:2},ToString:function ToString(args){return'\u5B57\u7B26\u4E32'+args[0]+'\u4E2D\u67E5\u627E\u5B57\u7B26\u4E32'+args[1];}}],["NAMEINCLUDE",{Name:"NAMEINCLUDE",Param:{Count:1},ToString:function ToString(args){return'\u67E5\u627E\u54C1\u79CD\u540D\u79F0\u4E2D\u5305\u542B'+args[0];}}],["CODELIKE",{Name:"CODELIKE",Param:{Count:1},ToString:function ToString(args){return'\u67E5\u627E\u54C1\u79CD\u540D\u79F0\u4E2D\u5305\u542B'+args[0];}}],["INBLOCK",{Name:"AVEDEV",Param:{Count:1},ToString:function ToString(args){return'\u5C5E\u4E8E'+args[0]+'\u677F\u5757';}}],["STKINDI",{Name:"STKINDI",Param:{Dynamic:true},ToString:function ToString(args){return"指标引用";}}],["STRFORMAT",{Name:"STRFORMAT",Param:{Dynamic:true},ToString:function ToString(args){return'\u683C\u5F0F\u5316'+args[0]+'\u5B57\u7B26\u4E32';}}],["NAMELIKE",{Name:"NAMELIKE",Param:{Count:1},ToString:function ToString(args){return'\u54C1\u79CD\u540D\u79F0\u662F\u5426\u4EE5\''+args[0]+'\'\u5F00\u5934';}}],["HHVBARS",{Name:"HHVBARS",Param:{Count:2},ToString:function ToString(args){if(args[1]==0)return'\u5386\u53F2'+args[0]+'\u65B0\u9AD8\u8DDD\u4ECA\u5929\u6570';return args[1]+'\u65E5\u5185'+args[0]+'\u65B0\u9AD8\u8DDD\u4ECA\u5929\u6570';}}],["LLVBARS",{Name:"LLVBARS",Param:{Count:2},ToString:function ToString(args){if(args[1]==0)return'\u5386\u53F2'+args[0]+'\u65B0\u4F4E\u8DDD\u4ECA\u5929\u6570';return args[1]+'\u65E5\u5185'+args[0]+'\u65B0\u4F4E\u8DDD\u4ECA\u5929\u6570';}}]]);this.CallFunctionExplain=function(funcName,args,node){if(this.FUNCTION_INFO_LIST.has(funcName)){var item=this.FUNCTION_INFO_LIST.get(funcName);if(item.Param.Dynamic===true)//动态参数
|
|
11435
11257
|
{}else{if(item.Param.Count!=args.length)this.ThrowUnexpectedNode(node,'\u51FD\u6570'+funcName+'\u53C2\u6570\u4E2A\u6570\u4E0D\u6B63\u786E. \u9700\u8981'+item.Param.Count+'\u4E2A\u53C2\u6570');}return item.ToString(args);}switch(funcName){case"CALCSTOCKINDEX":return'\u5F15\u7528'+args[0]+'\u7684'+args[1]+'\u6307\u6807\u7B2C'+args[2]+'\u4E2A\u8F93\u51FA\u503C';case"PEAK":case"PEAKBARS":case"ZIG":case"ZIGA":case"TROUGH":case"TROUGHBARS":return this.GetZIGExplain(funcName,args);case"FINANCE":return this.GetFinanceExplain(args);case"DYNAINFO":return this.GetDynainfoExplain(args);case'CLOSE':case'C':case'VOL':case'V':case'OPEN':case'O':case'HIGH':case'H':case'LOW':case'L':case'AMOUNT':case'AMO':return this.GetOtherSymbolExplain({FunctionName:funcName,Args:args},node);//绘图函数
|
|
11436
|
-
case"PLOYLINE":return'\u5F53\u6EE1\u8DB3\u6761\u4EF6'+args[0]+'\u65F6\u4EE5'+args[1]+'\u4F4D\u7F6E\u4E3A\u9876\u70B9\u753B\u6298\u7EBF\u8FDE\u63A5';case"DRAWLINE":return'\u5F53\u6EE1\u8DB3\u6761\u4EF6'+args[0]+'\u65F6,\u5728'+args[1]+'\u4F4D\u7F6E\u753B\u76F4\u7EBF\u8D77\u70B9\uFF0C\u5F53\u6EE1\u8DB3\u6761\u4EF6'+args[2]+'\u65F6,\u5728'+args[3]+'\u4F4D\u7F6E\u753B\u76F4\u7EBF\u7EC8\u70B9,'+args[4]+'\u8868\u793A\u662F\u5426\u5EF6\u957F';case"DRAWSL":return'\u5F53\u6EE1\u8DB3\u6761\u4EF6'+args[0]+'\u65F6,\u5728'+args[1]+'\u4F4D\u7F6E\u753B\u659C\u7EBF\u7EBF\u6027\u56DE\u5F52,'+args[2]+'\u659C\u7387,'+args[3]+'\u957F\u5EA6,'+args[4]+'\u65B9\u5411';case"DRAWKLINE":case"DRAWKLINE1":return'K线';case"DRAWICON":return'\u5F53\u6EE1\u8DB3\u6761\u4EF6'+args[0]+'\u65F6,\u5728'+args[1]+'\u4F4D\u7F6E\u753B'+args[2]+'\u53F7\u56FE\u6807';case"DRAWTEXT":return'\u5F53\u6EE1\u8DB3\u6761\u4EF6'+args[0]+'\u65F6,\u5728'+args[1]+'\u4F4D\u7F6E\u4E66\u5199\u6587\u5B57';case"DRAWTEXT_FIX":return'\u5F53\u6EE1\u8DB3\u6761\u4EF6'+args[0]+'\u65F6,\u5728\u6A2A\u8F74'+args[1]+'\u7EB5\u8F74'+args[2]+'\u4F4D\u7F6E\u4E66\u5199\u6587\u5B57';case"DRAWNUMBER":return'\u5F53\u6EE1\u8DB3\u6761\u4EF6'+args[0]+'\u65F6,\u5728'+args[1]+'\u4F4D\u7F6E\u4E66\u5199\u6570\u5B57';case"DRAWNUMBER_FIX":return'\u5F53\u6EE1\u8DB3\u6761\u4EF6'+args[0]+'\u65F6,\u5728\u6A2A\u8F74'+args[1]+'\u7EB5\u8F74'+args[2]+'\u4F4D\u7F6E\u4E66\u5199\u6570\u5B57';case"RGB":return'\u81EA\u5B9A\u8272['+args[0]+','+args[1]+','+args[2]+']';case"RGBA":return'\u81EA\u5B9A\u8272['+args[0]+','+args[1]+','+args[2]+','+args[3]+']';case"DRAWBAND":return'画带状线';case"DRAWRECTREL":return"相对位置上画矩形.";case"DRAWGBK":return"填充背景";case"TIPICON":return'\u5F53\u6EE1\u8DB3\u6761\u4EF6'+args[0]+'\u65F6,\u5728'+args[1]+'\u4F4D\u7F6E\u753B'+args[2]+'\u53F7\u56FE\u6807';case"STICKLINE":var barType="";if(args[4]==-1)barType="虚线空心柱";else if(args[4]==0)barType="实心柱";else barType="实线空心柱";return'\u5F53\u6EE1\u8DB3\u6761\u4EF6'+args[0]+'\u65F6, \u5728'+args[1]+'\u548C'+args[2]+'\u4F4D\u7F6E\u4E4B\u95F4\u753B\u67F1\u72B6\u7EBF,\u5BBD\u5EA6\u4E3A'+args[3]+','+barType;case"PARTLINE":return"画折线";case"SELL":return"卖出平仓";case"BUY":return"买入开仓";case"SELLSHORT":return"卖出开仓";case"BUYSHORT":return"买入平仓";case"YMOVE":return;case"BACKGROUND":return"绘制背景";case"UPCOLOR":return'\u4E0A\u6DA8\u989C\u8272'+args[0];case"DOWNCOLOR":return'\u4E0B\u8DCC\u989C\u8272'+args[0];case"FIRSTDRAW":return"";default:this.ThrowUnexpectedNode(node,'\u51FD\u6570'+funcName+'\u4E0D\u5B58\u5728');}};this.GetDynainfoExplain=function(args){var DATA_NAME_MAP=new _map2.default([[3,"前收盘价"],[4,"开盘价"],[5,"最高价"],[6,"最低价"],[7,"现价"],[8,'总量'],[9,"现量"],[10,"总金额"],[11,"均价"],[12,"日涨跌"],[13,"振幅"],[14,"涨幅"],[15,"开盘时的成交金额"],[16,"前5日每分钟均量"],[17,"量比"],[18,"上涨家数"],[19,"下跌家数"]]);var id=args[0];if(DATA_NAME_MAP.has(id))return DATA_NAME_MAP.get(id);return'\u5373\u65F6\u884C\u60C5['+id+']';};this.GetFinanceExplain=function(args){var DATA_NAME_MAP=new _map2.default([[1,"总股本"],[2,"市场类型"],[3,"沪深品种类型"],[4,"沪深行业代码"],[5,"B股"],[6,"H股"],[7,"流通股本[股]"],[8,"股东人数[户]"],[9,"资产负债率%"],[10,"总资产"],[11,"流动资产"],[12,"固定资产"],[13,"无形资产"],[15,"流动负债"],[16,"少数股东权益"]]);var id=args[0];if(DATA_NAME_MAP.has(id))return DATA_NAME_MAP.get(id);return'\u8D22\u52A1\u6570\u636E['+id+']';};this.GetZIGExplain=function(funcName,args){var value=args[0];if(value==0)value="开盘价";else if(value==1)value="最高价";else if(value==2)value="最低价";else if(value==3)value="收盘价";switch(funcName){case"PEAK":return value+'\u7684'+args[1]+'%\u4E4B\u5B57\u8F6C\u5411\u7684\u524D'+args[2]+'\u4E2A\u6CE2\u5CF0\u503C';case"PEAKBARS":return value+'\u7684'+args[1]+'5%\u4E4B\u5B57\u8F6C\u5411\u7684\u524D'+args[2]+'\u4E2A\u6CE2\u5CF0\u4F4D\u7F6E';case"ZIG":return value+'\u7684'+args[1]+'\u7684\u4E4B\u5B57\u8F6C\u5411';case"ZIGA":return value+'\u53D8\u5316'+args[1]+'\u7684\u4E4B\u5B57\u8F6C\u5411';case"TROUGH":return value+'\u7684'+args[1]+'%\u4E4B\u5B57\u8F6C\u5411\u7684\u524D'+args[2]+'\u4E2A\u6CE2\u8C37\u503C';case"TROUGHBARS":return value+'\u7684'+args[1]+'%\u4E4B\u5B57\u8F6C\u5411\u7684\u524D'+args[2]+'\u4E2A\u6CE2\u8C37\u4F4D\u7F6E';}};this.GetColorExplain=function(colorName){var COLOR_MAP=new _map2.default([['COLORBLACK','黑色'],['COLORBLUE','蓝色'],['COLORGREEN','绿色'],['COLORCYAN','青色'],['COLORRED','红色'],['COLORMAGENTA','洋红色'],['COLORBROWN','棕色'],['COLORLIGRAY','淡灰色'],['COLORGRAY','深灰色'],['COLORLIBLUE','淡蓝色'],['COLORLIGREEN','淡绿色'],['COLORLICYAN','淡青色'],['COLORLIRED','淡红色'],['COLORLIMAGENTA','淡洋红色'],['COLORWHITE','白色'],['COLORYELLOW','黄色']]);if(COLOR_MAP.has(colorName))return COLOR_MAP.get(colorName);//COLOR 自定义色
|
|
11258
|
+
case"PLOYLINE":return'\u5F53\u6EE1\u8DB3\u6761\u4EF6'+args[0]+'\u65F6\u4EE5'+args[1]+'\u4F4D\u7F6E\u4E3A\u9876\u70B9\u753B\u6298\u7EBF\u8FDE\u63A5';case"DRAWLINE":return'\u5F53\u6EE1\u8DB3\u6761\u4EF6'+args[0]+'\u65F6,\u5728'+args[1]+'\u4F4D\u7F6E\u753B\u76F4\u7EBF\u8D77\u70B9\uFF0C\u5F53\u6EE1\u8DB3\u6761\u4EF6'+args[2]+'\u65F6,\u5728'+args[3]+'\u4F4D\u7F6E\u753B\u76F4\u7EBF\u7EC8\u70B9,'+args[4]+'\u8868\u793A\u662F\u5426\u5EF6\u957F';case"DRAWSL":return'\u5F53\u6EE1\u8DB3\u6761\u4EF6'+args[0]+'\u65F6,\u5728'+args[1]+'\u4F4D\u7F6E\u753B\u659C\u7EBF\u7EBF\u6027\u56DE\u5F52,'+args[2]+'\u659C\u7387,'+args[3]+'\u957F\u5EA6,'+args[4]+'\u65B9\u5411';case"DRAWKLINE":case"DRAWKLINE1":return'K线';case"DRAWICON":return'\u5F53\u6EE1\u8DB3\u6761\u4EF6'+args[0]+'\u65F6,\u5728'+args[1]+'\u4F4D\u7F6E\u753B'+args[2]+'\u53F7\u56FE\u6807';case"DRAWTEXT":return'\u5F53\u6EE1\u8DB3\u6761\u4EF6'+args[0]+'\u65F6,\u5728'+args[1]+'\u4F4D\u7F6E\u4E66\u5199\u6587\u5B57';case"DRAWTEXT_FIX":return'\u5F53\u6EE1\u8DB3\u6761\u4EF6'+args[0]+'\u65F6,\u5728\u6A2A\u8F74'+args[1]+'\u7EB5\u8F74'+args[2]+'\u4F4D\u7F6E\u4E66\u5199\u6587\u5B57';case"DRAWNUMBER":return'\u5F53\u6EE1\u8DB3\u6761\u4EF6'+args[0]+'\u65F6,\u5728'+args[1]+'\u4F4D\u7F6E\u4E66\u5199\u6570\u5B57';case"DRAWNUMBER_FIX":return'\u5F53\u6EE1\u8DB3\u6761\u4EF6'+args[0]+'\u65F6,\u5728\u6A2A\u8F74'+args[1]+'\u7EB5\u8F74'+args[2]+'\u4F4D\u7F6E\u4E66\u5199\u6570\u5B57';case"RGB":return'\u81EA\u5B9A\u8272['+args[0]+','+args[1]+','+args[2]+']';case"RGBA":return'\u81EA\u5B9A\u8272['+args[0]+','+args[1]+','+args[2]+','+args[3]+']';case"DRAWBAND":return'画带状线';case"DRAWRECTREL":return"相对位置上画矩形.";case"DRAWGBK":return"填充背景";case"TIPICON":return'\u5F53\u6EE1\u8DB3\u6761\u4EF6'+args[0]+'\u65F6,\u5728'+args[1]+'\u4F4D\u7F6E\u753B'+args[2]+'\u53F7\u56FE\u6807';case"STICKLINE":var barType="";if(args[4]==-1)barType="虚线空心柱";else if(args[4]==0)barType="实心柱";else barType="实线空心柱";return'\u5F53\u6EE1\u8DB3\u6761\u4EF6'+args[0]+'\u65F6, \u5728'+args[1]+'\u548C'+args[2]+'\u4F4D\u7F6E\u4E4B\u95F4\u753B\u67F1\u72B6\u7EBF,\u5BBD\u5EA6\u4E3A'+args[3]+','+barType;case"PARTLINE":return"画折线";case"SELL":return"卖出平仓";case"BUY":return"买入开仓";case"SELLSHORT":return"卖出开仓";case"BUYSHORT":return"买入平仓";case"YMOVE":return;case"BACKGROUND":return"绘制背景";case"UPCOLOR":return'\u4E0A\u6DA8\u989C\u8272'+args[0];case"DOWNCOLOR":return'\u4E0B\u8DCC\u989C\u8272'+args[0];case"STICKTYPE":case"FIRSTDRAW":return"";default:this.ThrowUnexpectedNode(node,'\u51FD\u6570'+funcName+'\u4E0D\u5B58\u5728');}};this.GetDynainfoExplain=function(args){var DATA_NAME_MAP=new _map2.default([[3,"前收盘价"],[4,"开盘价"],[5,"最高价"],[6,"最低价"],[7,"现价"],[8,'总量'],[9,"现量"],[10,"总金额"],[11,"均价"],[12,"日涨跌"],[13,"振幅"],[14,"涨幅"],[15,"开盘时的成交金额"],[16,"前5日每分钟均量"],[17,"量比"],[18,"上涨家数"],[19,"下跌家数"]]);var id=args[0];if(DATA_NAME_MAP.has(id))return DATA_NAME_MAP.get(id);return'\u5373\u65F6\u884C\u60C5['+id+']';};this.GetFinanceExplain=function(args){var DATA_NAME_MAP=new _map2.default([[1,"总股本"],[2,"市场类型"],[3,"沪深品种类型"],[4,"沪深行业代码"],[5,"B股"],[6,"H股"],[7,"流通股本[股]"],[8,"股东人数[户]"],[9,"资产负债率%"],[10,"总资产"],[11,"流动资产"],[12,"固定资产"],[13,"无形资产"],[15,"流动负债"],[16,"少数股东权益"]]);var id=args[0];if(DATA_NAME_MAP.has(id))return DATA_NAME_MAP.get(id);return'\u8D22\u52A1\u6570\u636E['+id+']';};this.GetZIGExplain=function(funcName,args){var value=args[0];if(value==0)value="开盘价";else if(value==1)value="最高价";else if(value==2)value="最低价";else if(value==3)value="收盘价";switch(funcName){case"PEAK":return value+'\u7684'+args[1]+'%\u4E4B\u5B57\u8F6C\u5411\u7684\u524D'+args[2]+'\u4E2A\u6CE2\u5CF0\u503C';case"PEAKBARS":return value+'\u7684'+args[1]+'5%\u4E4B\u5B57\u8F6C\u5411\u7684\u524D'+args[2]+'\u4E2A\u6CE2\u5CF0\u4F4D\u7F6E';case"ZIG":return value+'\u7684'+args[1]+'\u7684\u4E4B\u5B57\u8F6C\u5411';case"ZIGA":return value+'\u53D8\u5316'+args[1]+'\u7684\u4E4B\u5B57\u8F6C\u5411';case"TROUGH":return value+'\u7684'+args[1]+'%\u4E4B\u5B57\u8F6C\u5411\u7684\u524D'+args[2]+'\u4E2A\u6CE2\u8C37\u503C';case"TROUGHBARS":return value+'\u7684'+args[1]+'%\u4E4B\u5B57\u8F6C\u5411\u7684\u524D'+args[2]+'\u4E2A\u6CE2\u8C37\u4F4D\u7F6E';}};this.GetColorExplain=function(colorName){var COLOR_MAP=new _map2.default([['COLORBLACK','黑色'],['COLORBLUE','蓝色'],['COLORGREEN','绿色'],['COLORCYAN','青色'],['COLORRED','红色'],['COLORMAGENTA','洋红色'],['COLORBROWN','棕色'],['COLORLIGRAY','淡灰色'],['COLORGRAY','深灰色'],['COLORLIBLUE','淡蓝色'],['COLORLIGREEN','淡绿色'],['COLORLICYAN','淡青色'],['COLORLIRED','淡红色'],['COLORLIMAGENTA','淡洋红色'],['COLORWHITE','白色'],['COLORYELLOW','黄色']]);if(COLOR_MAP.has(colorName))return COLOR_MAP.get(colorName);//COLOR 自定义色
|
|
11437
11259
|
//格式为COLOR+“RRGGBB”:RR、GG、BB表示红色、绿色和蓝色的分量,每种颜色的取值范围是00-FF,采用了16进制。
|
|
11438
11260
|
//例如:MA5:MA(CLOSE,5),COLOR00FFFF 表示纯红色与纯绿色的混合色:COLOR808000表示淡蓝色和淡绿色的混合色。
|
|
11439
11261
|
if(colorName.indexOf('COLOR')==0)return'#'+colorName.substr(5);return'rgb(30,144,255)';};this.GetLineWidthExplain=function(lineWidth){var width=parseInt(lineWidth.replace("LINETHICK",""));if(IFrameSplitOperator.IsPlusNumber(width))return width;return 1;};this.SymbolPeriodExplain=function(valueName,period){var mapStockDataName=new _map2.default([['CLOSE',"收盘价"],["C","收盘价"],['VOL',"成交量"],['V',"成交量"],['OPEN',"开盘价"],['O',"开盘价"],['HIGH',"最高价"],['H',"最高价"],['LOW',"最低价"],['L',"最低价"],['AMOUNT',"成交金额"],['AMO',"成交金额"],['VOLINSTK',"持仓量"]]);//MIN1,MIN5,MIN15,MIN30,MIN60,DAY,WEEK,MONTH,SEASON,YEAR
|
|
@@ -11572,7 +11394,7 @@ if(varItem.Draw.FixedPosition==="TOP")chartText.FixedPosition=1;else if(varItem.
|
|
|
11572
11394
|
this.SetChartIndexName(chartText);hqChart.ChartPaint.push(chartText);};//COLORSTICK
|
|
11573
11395
|
this.CreateMACD=function(hqChart,windowIndex,varItem,id){var chartMACD=new ChartMACD();chartMACD.Canvas=hqChart.Canvas;chartMACD.Identify=this.Guid;chartMACD.Name=varItem.Name;chartMACD.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chartMACD.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;if(varItem.LineWidth){var width=parseInt(varItem.LineWidth.replace("LINETHICK",""));if(!isNaN(width)&&width>0)chartMACD.LineWidth=width;}var titleIndex=windowIndex+1;chartMACD.Data.Data=varItem.Data;var clrTitle=this.GetDefaultColor(id);if(varItem.Color)clrTitle=this.GetColor(varItem.Color);if(varItem.UpColor)chartMACD.UpColor=varItem.UpColor;if(varItem.DownColor)chartMACD.DownColor=varItem.DownColor;this.ReloadChartResource(hqChart,windowIndex,chartMACD);hqChart.TitlePaint[titleIndex].Data[id]=new DynamicTitleData(chartMACD.Data,varItem.Name,clrTitle);this.SetChartIndexName(chartMACD);hqChart.ChartPaint.push(chartMACD);};this.CreatePointDot=function(hqChart,windowIndex,varItem,id,hisData){var pointDot=new ChartPointDot();pointDot.Canvas=hqChart.Canvas;pointDot.Name=varItem.Name;pointDot.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;pointDot.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;if(varItem.Color)pointDot.Color=this.GetColor(varItem.Color);else pointDot.Color=this.GetDefaultColor(id);if(varItem.Radius)pointDot.Radius=varItem.Radius;if(varItem.LineWidth){var width=parseInt(varItem.LineWidth.replace("LINETHICK",""));if(!isNaN(width)&&width>0)pointDot.Radius=width;}if(IFrameSplitOperator.IsBool(varItem.UpDownDot)){pointDot.EnableUpDownColor=varItem.UpDownDot;pointDot.HistoryData=hisData;}var titleIndex=windowIndex+1;pointDot.Data.Data=varItem.Data;hqChart.TitlePaint[titleIndex].Data[id]=new DynamicTitleData(pointDot.Data,varItem.Name,pointDot.Color);this.SetChartIndexName(pointDot);hqChart.ChartPaint.push(pointDot);};this.CreateStick=function(hqChart,windowIndex,varItem,id){var chart=new ChartStick();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;if(varItem.Color)chart.Color=this.GetColor(varItem.Color);else chart.Color=this.GetDefaultColor(id);if(varItem.LineWidth){var width=parseInt(varItem.LineWidth.replace("LINETHICK",""));if(!isNaN(width)&&width>0)chart.LineWidth=width;}var titleIndex=windowIndex+1;chart.Data.Data=varItem.Data;this.ReloadChartResource(hqChart,windowIndex,chart);hqChart.TitlePaint[titleIndex].Data[id]=new DynamicTitleData(chart.Data,varItem.Name,chart.Color);this.SetChartIndexName(chart);hqChart.ChartPaint.push(chart);};this.CreateLineStick=function(hqChart,windowIndex,varItem,id){var chart=new ChartLineStick();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;if(varItem.Color)chart.Color=this.GetColor(varItem.Color);else chart.Color=this.GetDefaultColor(id);if(varItem.LineWidth){var width=parseInt(varItem.LineWidth.replace("LINETHICK",""));if(!isNaN(width)&&width>0)chart.LineWidth=width;}var titleIndex=windowIndex+1;chart.Data.Data=varItem.Data;hqChart.TitlePaint[titleIndex].Data[id]=new DynamicTitleData(chart.Data,varItem.Name,chart.Color);hqChart.ChartPaint.push(chart);};this.CreateStraightLine=function(hqChart,windowIndex,varItem,id){var line=new ChartLine();line.DrawType=1;line.Canvas=hqChart.Canvas;line.Name=varItem.Name;line.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;line.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;if(varItem.Color)line.Color=this.GetColor(varItem.Color);else line.Color=this.GetDefaultColor(id);if(varItem.LineWidth){var width=parseInt(varItem.LineWidth.replace("LINETHICK",""));if(!isNaN(width)&&width>0)line.LineWidth=width;}var titleIndex=windowIndex+1;line.Data.Data=varItem.Draw.DrawData;if(varItem.Name=="DRAWLINE")hqChart.TitlePaint[titleIndex].Data[id]=new DynamicTitleData(line.Data,null,line.Color);//hqChart.TitlePaint[titleIndex].Data[id]=new DynamicTitleData(line.Data,varItem.Name,line.Color);
|
|
11574
11396
|
hqChart.ChartPaint.push(line);};this.CreateVolStick=function(hqChart,windowIndex,varItem,id,hisData){var chart=new ChartVolStick();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.KLineDrawType=hqChart.KLineDrawType;//设置K线显示类型
|
|
11575
|
-
chart.Identify=this.Guid;if(varItem.Color)chart.Color=this.GetColor(varItem.Color);else chart.Color=this.GetDefaultColor(id);if(varItem.UpColor)chart.UpColor=varItem.UpColor;if(varItem.DownColor)chart.DownColor=varItem.DownColor;if(varItem.LineWidth){var width=parseInt(varItem.LineWidth.replace("LINETHICK",""));if(IFrameSplitOperator.IsPlusNumber(width))chart.BarWidth=width;}var titleIndex=windowIndex+1;chart.Data.Data=varItem.Data;chart.HistoryData=hisData;this.ReloadChartResource(hqChart,windowIndex,chart);var titleData=new DynamicTitleData(chart.Data,varItem.Name,chart.Color);hqChart.TitlePaint[titleIndex].Data[id]=titleData;this.SetTitleData(titleData,chart);this.SetChartIndexName(chart);hqChart.ChartPaint.push(chart);};this.CreateBand=function(hqChart,windowIndex,varItem,id){var chart=new ChartBand();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.FirstColor=varItem.Draw.Color[0];chart.SecondColor=varItem.Draw.Color[1];chart.Data.Data=varItem.Draw.DrawData;if(IFrameSplitOperator.IsBool(varItem.IsFirstDraw))chart.IsDrawFirst=varItem.IsFirstDraw;this.SetChartIndexName(chart);hqChart.ChartPaint.push(chart);};this.CreateFillRGN=function(hqChart,windowIndex,varItem,id){var chart=new ChartLineArea();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.Data.Data=varItem.Draw.DrawData;if(varItem.Color)chart.Color=this.GetColor(varItem.Color);else chart.Color=this.GetDefaultColor(id);hqChart.ChartPaint.push(chart);};this.CreateFillRGN2=function(hqChart,windowIndex,varItem,id){var chart=new ChartFillRGN();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.Data.Data=varItem.Draw.DrawData;hqChart.ChartPaint.push(chart);};this.CreateFillBGRGN=function(hqChart,windowIndex,varItem,id){var chart=new ChartFillBGRGN();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.Data.Data=varItem.Draw.DrawData;hqChart.ChartPaint.push(chart);};this.CreateFLOATRGN=function(hqChart,windowIndex,varItem,id){var chart=new ChartFLOATRGN();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.Data.Data=varItem.Draw.DrawData;hqChart.ChartPaint.push(chart);};//创建K线图
|
|
11397
|
+
chart.Identify=this.Guid;if(varItem.Color)chart.Color=this.GetColor(varItem.Color);else chart.Color=this.GetDefaultColor(id);if(varItem.UpColor)chart.UpColor=varItem.UpColor;if(varItem.DownColor)chart.DownColor=varItem.DownColor;if(IFrameSplitOperator.IsNumber(varItem.StickType))chart.BarType=varItem.StickType;if(varItem.LineWidth){var width=parseInt(varItem.LineWidth.replace("LINETHICK",""));if(IFrameSplitOperator.IsPlusNumber(width))chart.BarWidth=width;}var titleIndex=windowIndex+1;chart.Data.Data=varItem.Data;chart.HistoryData=hisData;this.ReloadChartResource(hqChart,windowIndex,chart);var titleData=new DynamicTitleData(chart.Data,varItem.Name,chart.Color);hqChart.TitlePaint[titleIndex].Data[id]=titleData;this.SetTitleData(titleData,chart);this.SetChartIndexName(chart);hqChart.ChartPaint.push(chart);};this.CreateBand=function(hqChart,windowIndex,varItem,id){var chart=new ChartBand();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.FirstColor=varItem.Draw.Color[0];chart.SecondColor=varItem.Draw.Color[1];chart.Data.Data=varItem.Draw.DrawData;if(IFrameSplitOperator.IsBool(varItem.IsFirstDraw))chart.IsDrawFirst=varItem.IsFirstDraw;this.SetChartIndexName(chart);hqChart.ChartPaint.push(chart);};this.CreateFillRGN=function(hqChart,windowIndex,varItem,id){var chart=new ChartLineArea();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.Data.Data=varItem.Draw.DrawData;if(varItem.Color)chart.Color=this.GetColor(varItem.Color);else chart.Color=this.GetDefaultColor(id);hqChart.ChartPaint.push(chart);};this.CreateFillRGN2=function(hqChart,windowIndex,varItem,id){var chart=new ChartFillRGN();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.Data.Data=varItem.Draw.DrawData;hqChart.ChartPaint.push(chart);};this.CreateFillBGRGN=function(hqChart,windowIndex,varItem,id){var chart=new ChartFillBGRGN();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.Data.Data=varItem.Draw.DrawData;hqChart.ChartPaint.push(chart);};this.CreateFLOATRGN=function(hqChart,windowIndex,varItem,id){var chart=new ChartFLOATRGN();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.Data.Data=varItem.Draw.DrawData;hqChart.ChartPaint.push(chart);};//创建K线图
|
|
11576
11398
|
this.CreateKLine=function(hqChart,windowIndex,varItem,id){var chart=new ChartKLine();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.Identify=this.Guid;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.Data.Data=varItem.Draw.DrawData;chart.IsShowMaxMinPrice=false;chart.IsShowKTooltip=false;if(IFrameSplitOperator.IsNumber(varItem.KLineType))chart.DrawType=varItem.KLineType;if(varItem.Color)//如果设置了颜色,使用外面设置的颜色
|
|
11577
11399
|
chart.UnchagneColor=chart.DownColor=chart.UpColor=this.GetColor(varItem.Color);this.SetChartIndexName(chart);hqChart.ChartPaint.push(chart);};this.CreateOverlayKLine=function(hqChart,windowIndex,varItem,id){var chart=null;if(hqChart.IsKLineContainer())chart=new ChartOverlayKLine();else if(hqChart.IsMinuteContainer())chart=new ChartOverlayMinutePriceLine();else return;chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.Identify=this.Guid;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;if(varItem.Color)chart.Color=this.GetColor(varItem.Color);//如果设置了颜色,使用外面设置的颜色
|
|
11578
11400
|
else chart.Color=this.GetDefaultColor(id);chart.Data.Data=varItem.Draw.DrawData;chart.MainData=hqChart.ChartPaint[0].Data;//绑定K线
|
|
@@ -11705,7 +11527,7 @@ if(varItem.Draw.DrawData)chart.Data.Data=varItem.Draw.DrawData;chart.Text=varIte
|
|
|
11705
11527
|
frame.ChartPaint.push(chart);};//COLORSTICK
|
|
11706
11528
|
this.CreateMACD=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartMACD();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;var titleIndex=windowIndex+1;chart.Data.Data=varItem.Data;var titlePaint=hqChart.TitlePaint[titleIndex];var clrTitle=this.GetDefaultColor(id);if(varItem.Color)clrTitle=this.GetColor(varItem.Color);if(varItem.UpColor)chart.UpColor=varItem.UpColor;if(varItem.DownColor)chart.DownColor=varItem.DownColor;this.ReloadChartResource(hqChart,windowIndex,chart);titlePaint.OverlayIndex.get(overlayIndex.Identify).Data[id]=new DynamicTitleData(chart.Data,varItem.Name,clrTitle);this.SetChartIndexName(chart);frame.ChartPaint.push(chart);};this.CreatePointDot=function(hqChart,windowIndex,varItem,id,hisData){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartPointDot();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;if(varItem.Color)chart.Color=this.GetColor(varItem.Color);else chart.Color=this.GetDefaultColor(id);if(varItem.Radius)chart.Radius=varItem.Radius;if(varItem.LineWidth){var width=parseInt(varItem.LineWidth.replace("LINETHICK",""));if(!isNaN(width)&&width>0)chart.Radius=width;}if(IFrameSplitOperator.IsBool(varItem.UpDownDot)){chart.EnableUpDownColor=varItem.UpDownDot;chart.HistoryData=hisData;}var titleIndex=windowIndex+1;chart.Data.Data=varItem.Data;var titlePaint=hqChart.TitlePaint[titleIndex];titlePaint.OverlayIndex.get(overlayIndex.Identify).Data[id]=new DynamicTitleData(chart.Data,varItem.Name,chart.Color);this.SetChartIndexName(chart);frame.ChartPaint.push(chart);};this.CreateStick=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartStick();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;if(varItem.Color)chart.Color=this.GetColor(varItem.Color);else chart.Color=this.GetDefaultColor(id);if(varItem.LineWidth){var width=parseInt(varItem.LineWidth.replace("LINETHICK",""));if(!isNaN(width)&&width>0)chart.LineWidth=width;}var titleIndex=windowIndex+1;chart.Data.Data=varItem.Data;this.ReloadChartResource(hqChart,windowIndex,chart);var titlePaint=hqChart.TitlePaint[titleIndex];titlePaint.OverlayIndex.get(overlayIndex.Identify).Data[id]=new DynamicTitleData(chart.Data,varItem.Name,chart.Color);frame.ChartPaint.push(chart);};this.CreateLineStick=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartLineStick();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;if(varItem.Color)chart.Color=this.GetColor(varItem.Color);else chart.Color=this.GetDefaultColor(id);if(varItem.LineWidth){var width=parseInt(varItem.LineWidth.replace("LINETHICK",""));if(!isNaN(width)&&width>0)chart.LineWidth=width;}var titleIndex=windowIndex+1;chart.Data.Data=varItem.Data;var titlePaint=hqChart.TitlePaint[titleIndex];titlePaint.OverlayIndex.get(overlayIndex.Identify).Data[id]=new DynamicTitleData(chart.Data,varItem.Name,chart.Color);frame.ChartPaint.push(chart);};this.CreateStraightLine=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartLine();chart.DrawType=1;chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;if(varItem.Color)chart.Color=this.GetColor(varItem.Color);else chart.Color=this.GetDefaultColor(id);if(varItem.LineWidth){var width=parseInt(varItem.LineWidth.replace("LINETHICK",""));if(!isNaN(width)&&width>0)chart.LineWidth=width;}var titleIndex=windowIndex+1;chart.Data.Data=varItem.Draw.DrawData;//hqChart.TitlePaint[titleIndex].Data[id]=new DynamicTitleData(line.Data,varItem.Name,line.Color);
|
|
11707
11529
|
frame.ChartPaint.push(chart);};this.CreateVolStick=function(hqChart,windowIndex,varItem,id,hisData){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartVolStick();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.KLineDrawType=hqChart.KLineDrawType;//设置K线显示类型
|
|
11708
|
-
if(varItem.Color)chart.Color=this.GetColor(varItem.Color);else chart.Color=this.GetDefaultColor(id);if(varItem.UpColor)chart.UpColor=varItem.UpColor;if(varItem.DownColor)chart.DownColor=varItem.DownColor;if(varItem.LineWidth){var width=parseInt(varItem.LineWidth.replace("LINETHICK",""));if(IFrameSplitOperator.IsPlusNumber(width))chart.BarWidth=width;}var titleIndex=windowIndex+1;chart.Data.Data=varItem.Data;chart.HistoryData=hisData;this.ReloadChartResource(hqChart,windowIndex,chart);var titlePaint=hqChart.TitlePaint[titleIndex];var titleData=new DynamicTitleData(chart.Data,varItem.Name,chart.Color);titlePaint.OverlayIndex.get(overlayIndex.Identify).Data[id]=titleData;this.SetTitleData(titleData,chart);this.SetChartIndexName(chart);frame.ChartPaint.push(chart);};this.CreateBand=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartBand();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.FirstColor=varItem.Draw.Color[0];chart.SecondColor=varItem.Draw.Color[1];chart.Data.Data=varItem.Draw.DrawData;if(IFrameSplitOperator.IsBool(varItem.IsFirstDraw))chart.IsDrawFirst=varItem.IsFirstDraw;this.SetChartIndexName(chart);frame.ChartPaint.push(chart);};//创建K线图
|
|
11530
|
+
if(varItem.Color)chart.Color=this.GetColor(varItem.Color);else chart.Color=this.GetDefaultColor(id);if(varItem.UpColor)chart.UpColor=varItem.UpColor;if(varItem.DownColor)chart.DownColor=varItem.DownColor;if(IFrameSplitOperator.IsNumber(varItem.StickType))chart.BarType=varItem.StickType;if(varItem.LineWidth){var width=parseInt(varItem.LineWidth.replace("LINETHICK",""));if(IFrameSplitOperator.IsPlusNumber(width))chart.BarWidth=width;}var titleIndex=windowIndex+1;chart.Data.Data=varItem.Data;chart.HistoryData=hisData;this.ReloadChartResource(hqChart,windowIndex,chart);var titlePaint=hqChart.TitlePaint[titleIndex];var titleData=new DynamicTitleData(chart.Data,varItem.Name,chart.Color);titlePaint.OverlayIndex.get(overlayIndex.Identify).Data[id]=titleData;this.SetTitleData(titleData,chart);this.SetChartIndexName(chart);frame.ChartPaint.push(chart);};this.CreateBand=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartBand();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.FirstColor=varItem.Draw.Color[0];chart.SecondColor=varItem.Draw.Color[1];chart.Data.Data=varItem.Draw.DrawData;if(IFrameSplitOperator.IsBool(varItem.IsFirstDraw))chart.IsDrawFirst=varItem.IsFirstDraw;this.SetChartIndexName(chart);frame.ChartPaint.push(chart);};//创建K线图
|
|
11709
11531
|
this.CreateKLine=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartKLine();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.Data.Data=varItem.Draw.DrawData;chart.IsShowMaxMinPrice=false;chart.IsShowKTooltip=false;if(varItem.Color)//如果设置了颜色,使用外面设置的颜色
|
|
11710
11532
|
chart.UnchagneColor=chart.DownColor=chart.UpColor=this.GetColor(varItem.Color);frame.ChartPaint.push(chart);};this.CreatePolyLine=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartLine();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;if(varItem.Color)chart.Color=this.GetColor(varItem.Color);else chart.Color=this.GetDefaultColor(id);if(varItem.LineWidth){var width=parseInt(varItem.LineWidth.replace("LINETHICK",""));if(!isNaN(width)&&width>0)chart.LineWidth=width;}var titleIndex=windowIndex+1;chart.Data.Data=varItem.Draw.DrawData;var titlePaint=hqChart.TitlePaint[titleIndex];titlePaint.OverlayIndex.get(overlayIndex.Identify).Data[id]=new DynamicTitleData(line.Data,' ',line.Color);//给一个空的标题
|
|
11711
11533
|
frame.ChartPaint.push(chart);};this.CreateNumberText=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartSingleText();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.ReloadResource();chart.TextAlign="center";if(varItem.Color)chart.Color=this.GetColor(varItem.Color);else chart.Color=this.GetDefaultColor(id);if(varItem.IsDrawAbove)chart.Direction=1;else chart.Direction=2;if(varItem.Draw.Position)chart.Position=varItem.Draw.Position;//赋值坐标
|
|
@@ -13330,7 +13152,7 @@ hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,St
|
|
|
13330
13152
|
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);};}/********************************************************************************
|
|
13331
13153
|
* 版本信息输出
|
|
13332
13154
|
*
|
|
13333
|
-
*/var HQCHART_VERSION="1.1.
|
|
13155
|
+
*/var HQCHART_VERSION="1.1.13395";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();//把给外界调用的方法暴露出来
|
|
13334
13156
|
exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
|
|
13335
13157
|
// BaseIndex:BaseIndex,
|
|
13336
13158
|
// ChartLine:ChartLine,
|