hqchart 1.1.14283 → 1.1.14286
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 +10 -7
- package/package.json +1 -1
- package/src/jscommon/umychart.complier.js +52 -1
- package/src/jscommon/umychart.js +5 -1
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +58 -3
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +58 -3
package/lib/umychart.vue.js
CHANGED
|
@@ -3862,7 +3862,7 @@ this.BorderColor=g_JSChartResource.ChartSimpleTable.BorderColor;//边框颜色
|
|
|
3862
3862
|
};this.CalculateSize=function(){this.AryColumnCache=[];var pixelRatio=GetDevicePixelRatio();this.TextFont=this.TextFontConfig.Size*pixelRatio+'px '+this.TextFontConfig.Name;this.TextFontHeight=this.GetFontHeight(this.TextFont,"擎");this.RowHeight=this.TextFontHeight+this.ItemMargin.Top+this.ItemMargin.Bottom;var rowCount=this.Data.Data.length;for(var i=0,j=0;i<rowCount;++i){var rowItem=this.Data.Data[i];for(j=0;j<rowItem.AryCell.length;++j){if(!this.AryColumnCache[j])this.AryColumnCache[j]={Width:this.DefaultCellWidth};var colItem=this.AryColumnCache[j];var cellItem=rowItem.AryCell[j];var textWidth=this.Canvas.measureText(cellItem.Text).width;if(colItem.Width<textWidth)colItem.Width=textWidth;}}var tableWidth=0;for(var i=0;i<this.AryColumnCache.length;++i){var item=this.AryColumnCache[i];item.Width+=this.ItemMargin.Left+this.ItemMargin.Right;//增加左右间距
|
|
3863
3863
|
tableWidth+=item.Width;}this.RectClient={Width:tableWidth,Height:this.RowHeight*rowCount};var border=this.ChartFrame.GetBorder();this.RectClient.Right=border.Right+this.Offset.X;this.RectClient.Top=border.TopEx+this.Offset.Y;this.RectClient.Left=this.RectClient.Right-this.RectClient.Width;this.RectClient.Bottom=this.RectClient.Top+this.RectClient.Height;};this.Draw=function(){if(!this.IsShow||this.ChartFrame.IsMinSize)return;if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return;var isHScreen=this.ChartFrame.IsHScreen===true;if(isHScreen)return;this.CalculateSize();if(this.BGColor){this.Canvas.fillStyle=this.BGColor;this.Canvas.fillRect(this.RectClient.Left,this.RectClient.Top,this.RectClient.Width,this.RectClient.Height);}var itemHeight=this.RowHeight;this.Canvas.font=this.TextFont;this.Canvas.textBaseline='bottom';this.Canvas.textAlign='left';var rtRow={Left:this.RectClient.Left,Top:this.RectClient.Top,Width:this.RectClient.Width,Height:itemHeight};rtRow.Right=rtRow.Left+rtRow.Width;rtRow.Bottom=rtRow.Top+rtRow.Height;var rowCount=this.Data.Data.length;for(var i=0;i<rowCount;++i){var rowItem=this.Data.Data[i];this.DrawRow(rowItem,rtRow);rtRow.Top+=itemHeight;rtRow.Bottom+=itemHeight;}this.DrawBorder();};this.DrawBorder=function(){if(!this.BorderColor)return;var rowCount=this.Data.Data.length;var colCount=this.AryColumnCache.length;this.Canvas.strokeStyle=this.BorderColor;this.Canvas.beginPath();//横线
|
|
3864
3864
|
var rowTop=this.RectClient.Top;var left=this.RectClient.Left,right=this.RectClient.Right;var bottom=this.RectClient.Bottom,top=this.RectClient.Top;for(var i=0;i<rowCount;++i){if(i==0){var drawTop=ToFixedPoint(rowTop);this.Canvas.moveTo(left,drawTop);this.Canvas.lineTo(right,drawTop);}var drawTop=ToFixedPoint(rowTop+this.RowHeight);this.Canvas.moveTo(left,drawTop);this.Canvas.lineTo(right,drawTop);rowTop+=this.RowHeight;}//竖线
|
|
3865
|
-
var columnLeft=this.RectClient.Left;for(var i=0;i<colCount;++i){var item=this.AryColumnCache[i];if(i==0){var drawLeft=ToFixedPoint(columnLeft);this.Canvas.moveTo(drawLeft,top);this.Canvas.lineTo(drawLeft,bottom);}var drawLeft=ToFixedPoint(columnLeft+item.Width);this.Canvas.moveTo(drawLeft,top);this.Canvas.lineTo(drawLeft,bottom);columnLeft+=item.Width;}this.Canvas.stroke();};this.DrawRow=function(data,rtRow){if(!IFrameSplitOperator.IsNonEmptyArray(data.AryCell))return;var x=rtRow.Left,y=rtRow.Top,width=rtRow.Width;for(var i=0;i<data.AryCell.length;++i){var item=data.AryCell[i];var colItem=this.AryColumnCache[i];var rtBG={Left:x,Top:rtRow.Top,Bottom:rtRow.Bottom,Height:this.RowHeight,Width:colItem.Width};rtBG.Right=rtBG.
|
|
3865
|
+
var columnLeft=this.RectClient.Left;for(var i=0;i<colCount;++i){var item=this.AryColumnCache[i];if(i==0){var drawLeft=ToFixedPoint(columnLeft);this.Canvas.moveTo(drawLeft,top);this.Canvas.lineTo(drawLeft,bottom);}var drawLeft=ToFixedPoint(columnLeft+item.Width);this.Canvas.moveTo(drawLeft,top);this.Canvas.lineTo(drawLeft,bottom);columnLeft+=item.Width;}this.Canvas.stroke();};this.DrawRow=function(data,rtRow){if(!IFrameSplitOperator.IsNonEmptyArray(data.AryCell))return;var x=rtRow.Left,y=rtRow.Top,width=rtRow.Width;for(var i=0;i<data.AryCell.length;++i){var item=data.AryCell[i];var colItem=this.AryColumnCache[i];var rtBG={Left:x,Top:rtRow.Top,Bottom:rtRow.Bottom,Height:this.RowHeight,Width:colItem.Width};rtBG.Right=rtBG.Left+rtBG.Width;if(item){if(item.BGColor){this.Canvas.fillStyle=item.BGColor;this.Canvas.fillRect(rtBG.Left,rtBG.Top,rtBG.Width,rtBG.Height);}if(item.Text&&rtBG.Width>10){if(item.Color)this.Canvas.fillStyle=item.Color;else this.Canvas.fillStyle=this.TextColor;var xText=x+this.ItemMargin.Left;var yText=rtBG.Bottom-this.ItemMargin.Bottom;if(item.TextAlign=='right'){var textWidth=this.Canvas.measureText(item.Text).width;xText=rtBG.Right-this.ItemMargin.Right-textWidth;}else if(item.TextAlign=='center'){var textWidth=this.Canvas.measureText(item.Text).width;xText=rtBG.Left+rtBG.Width/2-textWidth/2;}this.Canvas.fillText(item.Text,xText,yText);}}x+=rtBG.Width;}};this.GetMaxMin=function(){return{Min:null,Max:null};};}//分钟成交量 支持横屏
|
|
3866
3866
|
function ChartMinuteVolumBar(){this.newMethod=IChartPainting;//派生
|
|
3867
3867
|
this.newMethod();delete this.newMethod;this.ClassName='ChartMinuteVolumBar';//类名
|
|
3868
3868
|
this.UpColor=g_JSChartResource.UpBarColor;//上涨
|
|
@@ -7380,10 +7380,10 @@ this.AutoUpdateEvent(false,'KLineChartContainer::ChangePeriod');this.ResetScroll
|
|
|
7380
7380
|
this.ChangeRight=function(right){if(!MARKET_SUFFIX_NAME.IsEnableRight(this.Period,this.Symbol,this.RightFormula))return;var upperSymbol=this.Symbol.toUpperCase();if(MARKET_SUFFIX_NAME.IsBIT(upperSymbol))return;if(right<0||right>2)return;if(this.Right==right)return;var oldData={Period:this.Period,Right:this.Right,KLineDrawType:this.KLineDrawType,Symbol:this.Symbol};this.Right=right;var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CHANGE_KLINE_RIGHT);if(event&&event.Callback){var sendData={IsApiPeriod:this.IsApiPeriod,Old:oldData,Now:{Period:this.Period,Right:this.Right,KLineDrawType:this.KLineDrawType,Symbol:this.Symbol}};event.Callback(event,sendData,this);}if(!this.IsApiPeriod){this.Update();return;}else//API周期数据 重新请求数据
|
|
7381
7381
|
{if(ChartData.IsDayPeriod(this.Period,true)){this.CancelAutoUpdate();//先停止定时器
|
|
7382
7382
|
this.AutoUpdateEvent(false,'KLineChartContainer::ChangeRight');//切换复权先停止更新
|
|
7383
|
-
this.ClearIndexPaint();this.ResetOverlaySymbolStatus();this.ResetScrollBar();this.RequestHistoryData();//请求日线数据
|
|
7383
|
+
this.ClearIndexPaint();this.ResetOverlaySymbolStatus();this.ResetScrollBar();this.Frame.ClearYCoordinateMaxMin();this.RequestHistoryData();//请求日线数据
|
|
7384
7384
|
}else if(ChartData.IsMinutePeriod(this.Period,true)||ChartData.IsSecondPeriod(this.Period)||ChartData.IsMilliSecondPeriod(this.Period)){this.CancelAutoUpdate();//先停止定时器
|
|
7385
7385
|
this.AutoUpdateEvent(false,'KLineChartContainer::ChangeRight');//切换复权先停止更新
|
|
7386
|
-
this.ClearIndexPaint();this.ResetOverlaySymbolStatus();this.ResetScrollBar();this.RequestHistoryMinuteData();//请求分钟数据
|
|
7386
|
+
this.ClearIndexPaint();this.ResetOverlaySymbolStatus();this.ResetScrollBar();this.Frame.ClearYCoordinateMaxMin();this.RequestHistoryMinuteData();//请求分钟数据
|
|
7387
7387
|
}}};//设置第1屏的起始日期
|
|
7388
7388
|
this.SetFirstShowDate=function(obj){if(!obj||!obj.Date)return;var option={ID:JSCHART_OPERATOR_ID.OP_GOTO,Date:obj.Date};if(IFrameSplitOperator.IsNumber(obj.Time))option.Time=obj.Time;if(IFrameSplitOperator.IsNumber(obj.PageSize))option.PageSize=obj.PageSize;this.ChartOperator(option);};//删除某一个窗口的指标, bCallDestory=是否调用图形销毁函数
|
|
7389
7389
|
this.DeleteIndexPaint=function(windowIndex,bCallDestroy){if(!this.Frame.SubFrame[windowIndex])return;var subFrame=this.Frame.SubFrame[windowIndex].Frame;if(!subFrame)return;var paint=[];//踢出当前窗口的指标画法
|
|
@@ -10655,10 +10655,12 @@ this.DRAWLASTBARTEXT=function(data,text){var drawItem={Value:null,Text:text};if(
|
|
|
10655
10655
|
//DRAWLASTBARNUMBER(HIGH,(CLOSE-OPEN)/OPEN*100,2,COLORRED);//最后一根k线在最高价位置红色显示涨幅数值(相对开盘价的百分比,精确2位小数)。
|
|
10656
10656
|
//例2:
|
|
10657
10657
|
//DRAWLASTBARNUMBER(L,REF(C,1),2,COLORRED),ALIGN0,VALIGN0;//表示最后一根k线的最低价处以红色显示昨收盘价数值(精确2位小数),标注文字居左,居上对齐。
|
|
10658
|
-
this.DRAWLASTBARNUMBER=function(data,value,dec,color){var drawItem={Value:null,Text:null,Color:color};if(IFrameSplitOperator.IsNonEmptyArray(data))drawItem.Value=data[data.length-1];else drawItem.Value=data;var precision=2;if(IFrameSplitOperator.IsNumber(dec))precision=parseInt(dec);if(IFrameSplitOperator.IsNumber(value)){drawItem.Text=value.toFixed(precision);}else if(IFrameSplitOperator.IsNonEmptyArray(value)){var lastValue=value[value.length-1];if(IFrameSplitOperator.IsNumber(lastValue))drawItem.Text=lastValue.toFixed(precision);}var result={DrawData:drawItem,DrawType:'DRAWLASTBARNUMBER'};return result;}
|
|
10658
|
+
this.DRAWLASTBARNUMBER=function(data,value,dec,color){var drawItem={Value:null,Text:null,Color:color};if(IFrameSplitOperator.IsNonEmptyArray(data))drawItem.Value=data[data.length-1];else drawItem.Value=data;var precision=2;if(IFrameSplitOperator.IsNumber(dec))precision=parseInt(dec);if(IFrameSplitOperator.IsNumber(value)){drawItem.Text=value.toFixed(precision);}else if(IFrameSplitOperator.IsNonEmptyArray(value)){var lastValue=value[value.length-1];if(IFrameSplitOperator.IsNumber(lastValue))drawItem.Text=lastValue.toFixed(precision);}var result={DrawData:drawItem,DrawType:'DRAWLASTBARNUMBER'};return result;};//表格
|
|
10659
|
+
this.TABLE_CELL=function(text,color,textAlign){var cellItem={Text:text};if(color)cellItem.Color=color;if(IFrameSplitOperator.IsString(textAlign)){var strValue=textAlign.toLowerCase();//转小写
|
|
10660
|
+
cellItem.TextAlign=strValue;}return cellItem;};this.TABLE_ROW=function(aryData){var aryCell=[];for(var i=0;i<aryData.length;++i){var item=aryData[i];aryCell.push(item);}return aryCell;};this.DRAWTABLE=function(aryData){var tableData=[];for(var i=0;i<aryData.length;++i){var item=aryData[i];tableData.push({AryCell:item});}return result={DrawData:{TableData:tableData},DrawType:'DRAW_SIMPLE_TABLE'};};}JSDraw.prototype.CalculateDrawLine=function(lineCache){lineCache.List=[];for(var _i102=lineCache.Start.ID;_i102<=lineCache.End.ID;++_i102){lineCache.List.push(_i102);}var height=Math.abs(lineCache.Start.Value-lineCache.End.Value);var width=lineCache.List.length-1;var result=[];result.push({ID:lineCache.Start.ID,Value:lineCache.Start.Value});//第1个点
|
|
10659
10661
|
if(lineCache.Start.Value>lineCache.End.Value){for(var _i103=1;_i103<lineCache.List.length-1;++_i103){var value=height*(lineCache.List.length-1-_i103)/width+lineCache.End.Value;result.push({ID:lineCache.List[_i103],Value:value});}}else{for(var _i104=1;_i104<lineCache.List.length-1;++_i104){var value=height*_i104/width+lineCache.Start.Value;result.push({ID:lineCache.List[_i104],Value:value});}}result.push({ID:lineCache.End.ID,Value:lineCache.End.Value});//最后一个点
|
|
10660
10662
|
return result;};//是否有是有效的数字
|
|
10661
|
-
JSDraw.prototype.IsNumber=function(value){if(value==null)return false;if(isNaN(value))return false;return true;};JSDraw.prototype.IsDrawFunction=function(name){var setFunctionName=new _set2.default(["STICKLINE","DRAWTEXT",'SUPERDRAWTEXT','DRAWLINE','DRAWBAND','DRAWKLINE',"DRAWKLINE1",'DRAWKLINE_IF',"DRAWCOLORKLINE",'PLOYLINE',"DRAWOVERLAYKLINE",'POLYLINE','DRAWNUMBER',"DRAWNUMBER_FIX",'DRAWICON','DRAWCHANNEL','PARTLINE','DRAWTEXT_FIX','DRAWGBK','DRAWTEXT_LINE','DRAWRECTREL',"DRAWTEXTABS","DRAWTEXTREL",'DRAWOVERLAYLINE',"FILLRGN","FILLRGN2","FILLTOPRGN","FILLBOTTOMRGN","FILLVERTICALRGN","FLOATRGN","DRAWSL","DRAWGBK2","DRAWGBK_DIV","VERTLINE","HORLINE","TIPICON","BUY","SELL","SELLSHORT","BUYSHORT","DRAWLASTBARICON","DRAWLASTBARNUMBER","DRAWLASTBARTEXT"]);if(setFunctionName.has(name))return true;return false;};JSDraw.prototype.RemoveZero=function(strValue){while(strValue.length>0){var index=strValue.length-1;var ch=strValue[index];if(ch=="0"){strValue=strValue.substr(0,index);}else if(ch=="."){strValue=strValue.substr(0,index);break;}else{break;}}return strValue;};//http://www.newone.com.cn/helpcontroller/index?code=zszy_pc
|
|
10663
|
+
JSDraw.prototype.IsNumber=function(value){if(value==null)return false;if(isNaN(value))return false;return true;};JSDraw.prototype.IsDrawFunction=function(name){var setFunctionName=new _set2.default(["STICKLINE","DRAWTEXT",'SUPERDRAWTEXT','DRAWLINE','DRAWBAND','DRAWKLINE',"DRAWKLINE1",'DRAWKLINE_IF',"DRAWCOLORKLINE",'PLOYLINE',"DRAWOVERLAYKLINE",'POLYLINE','DRAWNUMBER',"DRAWNUMBER_FIX",'DRAWICON','DRAWCHANNEL','PARTLINE','DRAWTEXT_FIX','DRAWGBK','DRAWTEXT_LINE','DRAWRECTREL',"DRAWTEXTABS","DRAWTEXTREL",'DRAWOVERLAYLINE',"FILLRGN","FILLRGN2","FILLTOPRGN","FILLBOTTOMRGN","FILLVERTICALRGN","FLOATRGN","DRAWSL","DRAWGBK2","DRAWGBK_DIV","VERTLINE","HORLINE","TIPICON","BUY","SELL","SELLSHORT","BUYSHORT","DRAWLASTBARICON","DRAWLASTBARNUMBER","DRAWLASTBARTEXT","DRAWTABLE"]);if(setFunctionName.has(name))return true;return false;};JSDraw.prototype.RemoveZero=function(strValue){while(strValue.length>0){var index=strValue.length-1;var ch=strValue[index];if(ch=="0"){strValue=strValue.substr(0,index);}else if(ch=="."){strValue=strValue.substr(0,index);break;}else{break;}}return strValue;};//http://www.newone.com.cn/helpcontroller/index?code=zszy_pc
|
|
10662
10664
|
var DYNAINFO_ARGUMENT_ID={YCLOSE:3,OPEN:4,HIGH:5,LOW:6,CLOSE:7,VOL:8,AMOUNT:10,AMPLITUDE:13,//振幅
|
|
10663
10665
|
INCREASE:14,//涨幅
|
|
10664
10666
|
EXCHANGERATE:37//换手率
|
|
@@ -11301,7 +11303,8 @@ if(g_JSComplierResource.IsCustomFunction(funcName)){var data=this.Algorithm.Call
|
|
|
11301
11303
|
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连用
|
|
11302
11304
|
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"://柱子类型
|
|
11303
11305
|
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"LINEDASH":node.Out=this.Draw.LINEDASH(args);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"DRAWLASTBARICON":node.Draw=this.Draw.DRAWLASTBARICON(args[0],args[1]);node.Out=[];break;case"DRAWLASTBARNUMBER":node.Draw=this.Draw.DRAWLASTBARNUMBER(args[0],args[1],args[2],args[3]);node.Out=[];break;case"DRAWLASTBARTEXT":node.Draw=this.Draw.DRAWLASTBARTEXT(args[0],args[1]);node.Out=[];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":case"SCJYVALUE":case"BKJYVALUE":node.Out=this.SymbolData.GetStockCacheData({FunctionName:funcName,Args:args,ArgCount:3,Node:node});break;case"GPJYONE":case"SCJYONE":case"BKJYONE":node.Out=this.SymbolData.GetStockCacheData({FunctionName:funcName,Args:args,ArgCount:4,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":node.Out=this.SymbolData.SysParam(args[0],this);break;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;//交易函数
|
|
11304
|
-
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
|
|
11306
|
+
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;//表格函数
|
|
11307
|
+
case"TABLE_CELL":node.Out=this.Draw.TABLE_CELL(args[0],args[1],args[2]);break;case"TABLE_ROW":node.Out=this.Draw.TABLE_ROW(args);break;case"DRAWTABLE":node.Draw=this.Draw.DRAWTABLE(args);node.Out=[];break;default:node.Out=this.Algorithm.CallFunction(funcName,args,node,this.SymbolData);break;}return node.Out;};//赋值
|
|
11305
11308
|
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)//右值是变量
|
|
11306
11309
|
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);};//逻辑运算
|
|
11307
11310
|
this.VisitBinaryExpression=function(node){var stack=[];stack.push(node);var temp=null;while(stack.length!=0){temp=stack[stack.length-1];if(temp.Left&&node!=temp.Left&&node!=temp.Right){stack.push(temp.Left);}else if(temp.Right&&node!=temp.Right){stack.push(temp.Right);}else{var _value15=stack.pop();if(_value15.Type==Syntax.BinaryExpression)//只遍历操作符就可以
|
|
@@ -14041,7 +14044,7 @@ hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,St
|
|
|
14041
14044
|
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);};}/********************************************************************************
|
|
14042
14045
|
* 版本信息输出
|
|
14043
14046
|
*
|
|
14044
|
-
*/var HQCHART_VERSION="1.1.
|
|
14047
|
+
*/var HQCHART_VERSION="1.1.14285";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();//把给外界调用的方法暴露出来
|
|
14045
14048
|
exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
|
|
14046
14049
|
// BaseIndex:BaseIndex,
|
|
14047
14050
|
// ChartLine:ChartLine,
|
package/package.json
CHANGED
|
@@ -11487,6 +11487,45 @@ function JSDraw(errorHandler,symbolData)
|
|
|
11487
11487
|
|
|
11488
11488
|
return result;
|
|
11489
11489
|
}
|
|
11490
|
+
|
|
11491
|
+
//表格
|
|
11492
|
+
this.TABLE_CELL=function(text, color, textAlign)
|
|
11493
|
+
{
|
|
11494
|
+
var cellItem={ Text:text };
|
|
11495
|
+
if (color) cellItem.Color=color;
|
|
11496
|
+
if (IFrameSplitOperator.IsString(textAlign))
|
|
11497
|
+
{
|
|
11498
|
+
var strValue=textAlign.toLowerCase(); //转小写
|
|
11499
|
+
cellItem.TextAlign=strValue;
|
|
11500
|
+
}
|
|
11501
|
+
|
|
11502
|
+
return cellItem;
|
|
11503
|
+
}
|
|
11504
|
+
|
|
11505
|
+
this.TABLE_ROW=function(aryData)
|
|
11506
|
+
{
|
|
11507
|
+
var aryCell=[];
|
|
11508
|
+
for(var i=0;i<aryData.length;++i)
|
|
11509
|
+
{
|
|
11510
|
+
var item=aryData[i];
|
|
11511
|
+
aryCell.push(item)
|
|
11512
|
+
}
|
|
11513
|
+
|
|
11514
|
+
return aryCell;
|
|
11515
|
+
}
|
|
11516
|
+
|
|
11517
|
+
this.DRAWTABLE=function(aryData)
|
|
11518
|
+
{
|
|
11519
|
+
var tableData=[]
|
|
11520
|
+
for(var i=0;i<aryData.length;++i)
|
|
11521
|
+
{
|
|
11522
|
+
var item=aryData[i];
|
|
11523
|
+
tableData.push({ AryCell:item });
|
|
11524
|
+
}
|
|
11525
|
+
|
|
11526
|
+
|
|
11527
|
+
return result={ DrawData:{ TableData:tableData }, DrawType:'DRAW_SIMPLE_TABLE' };
|
|
11528
|
+
}
|
|
11490
11529
|
}
|
|
11491
11530
|
|
|
11492
11531
|
|
|
@@ -11541,7 +11580,7 @@ JSDraw.prototype.IsDrawFunction=function(name)
|
|
|
11541
11580
|
'DRAWOVERLAYLINE',"FILLRGN", "FILLRGN2","FILLTOPRGN", "FILLBOTTOMRGN", "FILLVERTICALRGN","FLOATRGN","DRAWSL", "DRAWGBK2","DRAWGBK_DIV",
|
|
11542
11581
|
"VERTLINE","HORLINE","TIPICON",
|
|
11543
11582
|
"BUY","SELL","SELLSHORT","BUYSHORT",
|
|
11544
|
-
"DRAWLASTBARICON","DRAWLASTBARNUMBER", "DRAWLASTBARTEXT",
|
|
11583
|
+
"DRAWLASTBARICON","DRAWLASTBARNUMBER", "DRAWLASTBARTEXT","DRAWTABLE",
|
|
11545
11584
|
]);
|
|
11546
11585
|
if (setFunctionName.has(name)) return true;
|
|
11547
11586
|
|
|
@@ -18411,6 +18450,18 @@ function JSExecute(ast,option)
|
|
|
18411
18450
|
node.Out=node.Draw.DrawData.Data;
|
|
18412
18451
|
break;
|
|
18413
18452
|
|
|
18453
|
+
//表格函数
|
|
18454
|
+
case "TABLE_CELL":
|
|
18455
|
+
node.Out=this.Draw.TABLE_CELL(args[0],args[1],args[2]);
|
|
18456
|
+
break;
|
|
18457
|
+
case "TABLE_ROW":
|
|
18458
|
+
node.Out=this.Draw.TABLE_ROW(args);
|
|
18459
|
+
break;
|
|
18460
|
+
case "DRAWTABLE":
|
|
18461
|
+
node.Draw=this.Draw.DRAWTABLE(args);
|
|
18462
|
+
node.Out=[];
|
|
18463
|
+
break;
|
|
18464
|
+
|
|
18414
18465
|
default:
|
|
18415
18466
|
node.Out=this.Algorithm.CallFunction(funcName, args, node, this.SymbolData);
|
|
18416
18467
|
break;
|
package/src/jscommon/umychart.js
CHANGED
|
@@ -31677,7 +31677,7 @@ function ChartSimpleTable()
|
|
|
31677
31677
|
var colItem=this.AryColumnCache[i];
|
|
31678
31678
|
|
|
31679
31679
|
var rtBG={Left:x, Top:rtRow.Top, Bottom:rtRow.Bottom, Height:this.RowHeight, Width:colItem.Width };
|
|
31680
|
-
rtBG.Right=rtBG.
|
|
31680
|
+
rtBG.Right=rtBG.Left+rtBG.Width;
|
|
31681
31681
|
|
|
31682
31682
|
if (item)
|
|
31683
31683
|
{
|
|
@@ -77037,6 +77037,8 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
77037
77037
|
}
|
|
77038
77038
|
else //API周期数据 重新请求数据
|
|
77039
77039
|
{
|
|
77040
|
+
|
|
77041
|
+
|
|
77040
77042
|
if (ChartData.IsDayPeriod(this.Period,true))
|
|
77041
77043
|
{
|
|
77042
77044
|
this.CancelAutoUpdate(); //先停止定时器
|
|
@@ -77044,6 +77046,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
77044
77046
|
this.ClearIndexPaint();
|
|
77045
77047
|
this.ResetOverlaySymbolStatus();
|
|
77046
77048
|
this.ResetScrollBar();
|
|
77049
|
+
this.Frame.ClearYCoordinateMaxMin();
|
|
77047
77050
|
this.RequestHistoryData(); //请求日线数据
|
|
77048
77051
|
}
|
|
77049
77052
|
else if (ChartData.IsMinutePeriod(this.Period,true) || ChartData.IsSecondPeriod(this.Period) || ChartData.IsMilliSecondPeriod(this.Period))
|
|
@@ -77053,6 +77056,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
77053
77056
|
this.ClearIndexPaint();
|
|
77054
77057
|
this.ResetOverlaySymbolStatus();
|
|
77055
77058
|
this.ResetScrollBar();
|
|
77059
|
+
this.Frame.ClearYCoordinateMaxMin();
|
|
77056
77060
|
this.RequestHistoryMinuteData(); //请求分钟数据
|
|
77057
77061
|
}
|
|
77058
77062
|
}
|
|
@@ -35602,7 +35602,7 @@ function ChartSimpleTable()
|
|
|
35602
35602
|
var colItem=this.AryColumnCache[i];
|
|
35603
35603
|
|
|
35604
35604
|
var rtBG={Left:x, Top:rtRow.Top, Bottom:rtRow.Bottom, Height:this.RowHeight, Width:colItem.Width };
|
|
35605
|
-
rtBG.Right=rtBG.
|
|
35605
|
+
rtBG.Right=rtBG.Left+rtBG.Width;
|
|
35606
35606
|
|
|
35607
35607
|
if (item)
|
|
35608
35608
|
{
|
|
@@ -80962,6 +80962,8 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
80962
80962
|
}
|
|
80963
80963
|
else //API周期数据 重新请求数据
|
|
80964
80964
|
{
|
|
80965
|
+
|
|
80966
|
+
|
|
80965
80967
|
if (ChartData.IsDayPeriod(this.Period,true))
|
|
80966
80968
|
{
|
|
80967
80969
|
this.CancelAutoUpdate(); //先停止定时器
|
|
@@ -80969,6 +80971,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
80969
80971
|
this.ClearIndexPaint();
|
|
80970
80972
|
this.ResetOverlaySymbolStatus();
|
|
80971
80973
|
this.ResetScrollBar();
|
|
80974
|
+
this.Frame.ClearYCoordinateMaxMin();
|
|
80972
80975
|
this.RequestHistoryData(); //请求日线数据
|
|
80973
80976
|
}
|
|
80974
80977
|
else if (ChartData.IsMinutePeriod(this.Period,true) || ChartData.IsSecondPeriod(this.Period) || ChartData.IsMilliSecondPeriod(this.Period))
|
|
@@ -80978,6 +80981,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
80978
80981
|
this.ClearIndexPaint();
|
|
80979
80982
|
this.ResetOverlaySymbolStatus();
|
|
80980
80983
|
this.ResetScrollBar();
|
|
80984
|
+
this.Frame.ClearYCoordinateMaxMin();
|
|
80981
80985
|
this.RequestHistoryMinuteData(); //请求分钟数据
|
|
80982
80986
|
}
|
|
80983
80987
|
}
|
|
@@ -111536,6 +111540,45 @@ function JSDraw(errorHandler,symbolData)
|
|
|
111536
111540
|
|
|
111537
111541
|
return result;
|
|
111538
111542
|
}
|
|
111543
|
+
|
|
111544
|
+
//表格
|
|
111545
|
+
this.TABLE_CELL=function(text, color, textAlign)
|
|
111546
|
+
{
|
|
111547
|
+
var cellItem={ Text:text };
|
|
111548
|
+
if (color) cellItem.Color=color;
|
|
111549
|
+
if (IFrameSplitOperator.IsString(textAlign))
|
|
111550
|
+
{
|
|
111551
|
+
var strValue=textAlign.toLowerCase(); //转小写
|
|
111552
|
+
cellItem.TextAlign=strValue;
|
|
111553
|
+
}
|
|
111554
|
+
|
|
111555
|
+
return cellItem;
|
|
111556
|
+
}
|
|
111557
|
+
|
|
111558
|
+
this.TABLE_ROW=function(aryData)
|
|
111559
|
+
{
|
|
111560
|
+
var aryCell=[];
|
|
111561
|
+
for(var i=0;i<aryData.length;++i)
|
|
111562
|
+
{
|
|
111563
|
+
var item=aryData[i];
|
|
111564
|
+
aryCell.push(item)
|
|
111565
|
+
}
|
|
111566
|
+
|
|
111567
|
+
return aryCell;
|
|
111568
|
+
}
|
|
111569
|
+
|
|
111570
|
+
this.DRAWTABLE=function(aryData)
|
|
111571
|
+
{
|
|
111572
|
+
var tableData=[]
|
|
111573
|
+
for(var i=0;i<aryData.length;++i)
|
|
111574
|
+
{
|
|
111575
|
+
var item=aryData[i];
|
|
111576
|
+
tableData.push({ AryCell:item });
|
|
111577
|
+
}
|
|
111578
|
+
|
|
111579
|
+
|
|
111580
|
+
return result={ DrawData:{ TableData:tableData }, DrawType:'DRAW_SIMPLE_TABLE' };
|
|
111581
|
+
}
|
|
111539
111582
|
}
|
|
111540
111583
|
|
|
111541
111584
|
|
|
@@ -111590,7 +111633,7 @@ JSDraw.prototype.IsDrawFunction=function(name)
|
|
|
111590
111633
|
'DRAWOVERLAYLINE',"FILLRGN", "FILLRGN2","FILLTOPRGN", "FILLBOTTOMRGN", "FILLVERTICALRGN","FLOATRGN","DRAWSL", "DRAWGBK2","DRAWGBK_DIV",
|
|
111591
111634
|
"VERTLINE","HORLINE","TIPICON",
|
|
111592
111635
|
"BUY","SELL","SELLSHORT","BUYSHORT",
|
|
111593
|
-
"DRAWLASTBARICON","DRAWLASTBARNUMBER", "DRAWLASTBARTEXT",
|
|
111636
|
+
"DRAWLASTBARICON","DRAWLASTBARNUMBER", "DRAWLASTBARTEXT","DRAWTABLE",
|
|
111594
111637
|
]);
|
|
111595
111638
|
if (setFunctionName.has(name)) return true;
|
|
111596
111639
|
|
|
@@ -118460,6 +118503,18 @@ function JSExecute(ast,option)
|
|
|
118460
118503
|
node.Out=node.Draw.DrawData.Data;
|
|
118461
118504
|
break;
|
|
118462
118505
|
|
|
118506
|
+
//表格函数
|
|
118507
|
+
case "TABLE_CELL":
|
|
118508
|
+
node.Out=this.Draw.TABLE_CELL(args[0],args[1],args[2]);
|
|
118509
|
+
break;
|
|
118510
|
+
case "TABLE_ROW":
|
|
118511
|
+
node.Out=this.Draw.TABLE_ROW(args);
|
|
118512
|
+
break;
|
|
118513
|
+
case "DRAWTABLE":
|
|
118514
|
+
node.Draw=this.Draw.DRAWTABLE(args);
|
|
118515
|
+
node.Out=[];
|
|
118516
|
+
break;
|
|
118517
|
+
|
|
118463
118518
|
default:
|
|
118464
118519
|
node.Out=this.Algorithm.CallFunction(funcName, args, node, this.SymbolData);
|
|
118465
118520
|
break;
|
|
@@ -141051,7 +141106,7 @@ function ScrollBarBGChart()
|
|
|
141051
141106
|
|
|
141052
141107
|
|
|
141053
141108
|
|
|
141054
|
-
var HQCHART_VERSION="1.1.
|
|
141109
|
+
var HQCHART_VERSION="1.1.14285";
|
|
141055
141110
|
|
|
141056
141111
|
function PrintHQChartVersion()
|
|
141057
141112
|
{
|
|
@@ -35646,7 +35646,7 @@ function ChartSimpleTable()
|
|
|
35646
35646
|
var colItem=this.AryColumnCache[i];
|
|
35647
35647
|
|
|
35648
35648
|
var rtBG={Left:x, Top:rtRow.Top, Bottom:rtRow.Bottom, Height:this.RowHeight, Width:colItem.Width };
|
|
35649
|
-
rtBG.Right=rtBG.
|
|
35649
|
+
rtBG.Right=rtBG.Left+rtBG.Width;
|
|
35650
35650
|
|
|
35651
35651
|
if (item)
|
|
35652
35652
|
{
|
|
@@ -81006,6 +81006,8 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
81006
81006
|
}
|
|
81007
81007
|
else //API周期数据 重新请求数据
|
|
81008
81008
|
{
|
|
81009
|
+
|
|
81010
|
+
|
|
81009
81011
|
if (ChartData.IsDayPeriod(this.Period,true))
|
|
81010
81012
|
{
|
|
81011
81013
|
this.CancelAutoUpdate(); //先停止定时器
|
|
@@ -81013,6 +81015,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
81013
81015
|
this.ClearIndexPaint();
|
|
81014
81016
|
this.ResetOverlaySymbolStatus();
|
|
81015
81017
|
this.ResetScrollBar();
|
|
81018
|
+
this.Frame.ClearYCoordinateMaxMin();
|
|
81016
81019
|
this.RequestHistoryData(); //请求日线数据
|
|
81017
81020
|
}
|
|
81018
81021
|
else if (ChartData.IsMinutePeriod(this.Period,true) || ChartData.IsSecondPeriod(this.Period) || ChartData.IsMilliSecondPeriod(this.Period))
|
|
@@ -81022,6 +81025,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
81022
81025
|
this.ClearIndexPaint();
|
|
81023
81026
|
this.ResetOverlaySymbolStatus();
|
|
81024
81027
|
this.ResetScrollBar();
|
|
81028
|
+
this.Frame.ClearYCoordinateMaxMin();
|
|
81025
81029
|
this.RequestHistoryMinuteData(); //请求分钟数据
|
|
81026
81030
|
}
|
|
81027
81031
|
}
|
|
@@ -111580,6 +111584,45 @@ function JSDraw(errorHandler,symbolData)
|
|
|
111580
111584
|
|
|
111581
111585
|
return result;
|
|
111582
111586
|
}
|
|
111587
|
+
|
|
111588
|
+
//表格
|
|
111589
|
+
this.TABLE_CELL=function(text, color, textAlign)
|
|
111590
|
+
{
|
|
111591
|
+
var cellItem={ Text:text };
|
|
111592
|
+
if (color) cellItem.Color=color;
|
|
111593
|
+
if (IFrameSplitOperator.IsString(textAlign))
|
|
111594
|
+
{
|
|
111595
|
+
var strValue=textAlign.toLowerCase(); //转小写
|
|
111596
|
+
cellItem.TextAlign=strValue;
|
|
111597
|
+
}
|
|
111598
|
+
|
|
111599
|
+
return cellItem;
|
|
111600
|
+
}
|
|
111601
|
+
|
|
111602
|
+
this.TABLE_ROW=function(aryData)
|
|
111603
|
+
{
|
|
111604
|
+
var aryCell=[];
|
|
111605
|
+
for(var i=0;i<aryData.length;++i)
|
|
111606
|
+
{
|
|
111607
|
+
var item=aryData[i];
|
|
111608
|
+
aryCell.push(item)
|
|
111609
|
+
}
|
|
111610
|
+
|
|
111611
|
+
return aryCell;
|
|
111612
|
+
}
|
|
111613
|
+
|
|
111614
|
+
this.DRAWTABLE=function(aryData)
|
|
111615
|
+
{
|
|
111616
|
+
var tableData=[]
|
|
111617
|
+
for(var i=0;i<aryData.length;++i)
|
|
111618
|
+
{
|
|
111619
|
+
var item=aryData[i];
|
|
111620
|
+
tableData.push({ AryCell:item });
|
|
111621
|
+
}
|
|
111622
|
+
|
|
111623
|
+
|
|
111624
|
+
return result={ DrawData:{ TableData:tableData }, DrawType:'DRAW_SIMPLE_TABLE' };
|
|
111625
|
+
}
|
|
111583
111626
|
}
|
|
111584
111627
|
|
|
111585
111628
|
|
|
@@ -111634,7 +111677,7 @@ JSDraw.prototype.IsDrawFunction=function(name)
|
|
|
111634
111677
|
'DRAWOVERLAYLINE',"FILLRGN", "FILLRGN2","FILLTOPRGN", "FILLBOTTOMRGN", "FILLVERTICALRGN","FLOATRGN","DRAWSL", "DRAWGBK2","DRAWGBK_DIV",
|
|
111635
111678
|
"VERTLINE","HORLINE","TIPICON",
|
|
111636
111679
|
"BUY","SELL","SELLSHORT","BUYSHORT",
|
|
111637
|
-
"DRAWLASTBARICON","DRAWLASTBARNUMBER", "DRAWLASTBARTEXT",
|
|
111680
|
+
"DRAWLASTBARICON","DRAWLASTBARNUMBER", "DRAWLASTBARTEXT","DRAWTABLE",
|
|
111638
111681
|
]);
|
|
111639
111682
|
if (setFunctionName.has(name)) return true;
|
|
111640
111683
|
|
|
@@ -118504,6 +118547,18 @@ function JSExecute(ast,option)
|
|
|
118504
118547
|
node.Out=node.Draw.DrawData.Data;
|
|
118505
118548
|
break;
|
|
118506
118549
|
|
|
118550
|
+
//表格函数
|
|
118551
|
+
case "TABLE_CELL":
|
|
118552
|
+
node.Out=this.Draw.TABLE_CELL(args[0],args[1],args[2]);
|
|
118553
|
+
break;
|
|
118554
|
+
case "TABLE_ROW":
|
|
118555
|
+
node.Out=this.Draw.TABLE_ROW(args);
|
|
118556
|
+
break;
|
|
118557
|
+
case "DRAWTABLE":
|
|
118558
|
+
node.Draw=this.Draw.DRAWTABLE(args);
|
|
118559
|
+
node.Out=[];
|
|
118560
|
+
break;
|
|
118561
|
+
|
|
118507
118562
|
default:
|
|
118508
118563
|
node.Out=this.Algorithm.CallFunction(funcName, args, node, this.SymbolData);
|
|
118509
118564
|
break;
|
|
@@ -150699,7 +150754,7 @@ function HQChartScriptWorker()
|
|
|
150699
150754
|
|
|
150700
150755
|
|
|
150701
150756
|
|
|
150702
|
-
var HQCHART_VERSION="1.1.
|
|
150757
|
+
var HQCHART_VERSION="1.1.14285";
|
|
150703
150758
|
|
|
150704
150759
|
function PrintHQChartVersion()
|
|
150705
150760
|
{
|