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.
@@ -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.Top+rtBG.Height;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};};}//分钟成交量 支持横屏
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;};}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个点
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;default:node.Out=this.Algorithm.CallFunction(funcName,args,node,this.SymbolData);break;}return node.Out;};//赋值
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.14282";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();//把给外界调用的方法暴露出来
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hqchart",
3
- "version": "1.1.14283",
3
+ "version": "1.1.14286",
4
4
  "description": "HQChart - H5, 微信小程序 沪深/港股/数字货币/期货/美股 K线图(kline),走势图,缩放,拖拽,十字光标,画图工具,截图,筹码图. 分析家语法,通达信语法,(麦语法),第3方数据对接",
5
5
  "main": "lib/main.js",
6
6
  "scripts": {
@@ -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;
@@ -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.Top+rtBG.Height;
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.Top+rtBG.Height;
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.14282";
141109
+ var HQCHART_VERSION="1.1.14285";
141055
141110
 
141056
141111
  function PrintHQChartVersion()
141057
141112
  {
@@ -5,7 +5,7 @@
5
5
 
6
6
 
7
7
 
8
- var HQCHART_VERSION="1.1.14282";
8
+ var HQCHART_VERSION="1.1.14285";
9
9
 
10
10
  function PrintHQChartVersion()
11
11
  {
@@ -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.Top+rtBG.Height;
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.14282";
150757
+ var HQCHART_VERSION="1.1.14285";
150703
150758
 
150704
150759
  function PrintHQChartVersion()
150705
150760
  {