hqchart 1.1.15428 → 1.1.15446

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.
@@ -1715,8 +1715,9 @@ ON_FORMAT_TVLONGPOSITION_LABEL:176,ON_FORMAT_COUNTDOWN_TEXT:177,//倒计时
1715
1715
  ON_CLICK_INDEX_LOCK:178,//点击指标锁
1716
1716
  ON_CORSSCURSOR_STATUS_CHANGE:179,//十字光标状态改变
1717
1717
  ON_BEFORE_DRAW_HLINE:180,//画图工具-水平线(ChartDrawPictureHorizontalLine) 绘图前
1718
- ON_HIDE_ALL_POP_DIV:181//隐藏所有弹框div
1719
- };var JSCHART_OPERATOR_ID={OP_SCROLL_LEFT:1,//往左移动
1718
+ ON_HIDE_ALL_POP_DIV:181,//隐藏所有弹框div
1719
+ //工具条
1720
+ ON_CLICK_STATUSBAR_ITEM:301};var JSCHART_OPERATOR_ID={OP_SCROLL_LEFT:1,//往左移动
1720
1721
  OP_SCROLL_RIGHT:2,//往右移动
1721
1722
  OP_ZOOM_OUT:3,//缩小
1722
1723
  OP_ZOOM_IN:4,//放大
@@ -5439,12 +5440,17 @@ for(var i=0;i<this.Data.AllChip.length;++i){var vol=this.Data.AllChip[i];if(!vol
5439
5440
  {var low=data.Low,high=data.High,maxPrice=data.MaxPrice,minPrice=data.MinPrice,maxVol=1;if(high-low==0)return;var averageVol=data.Vol/(high-low);for(var j=low;j<=high&&j<=maxPrice;++j){var index=j-minPrice;aryChip[index]+=averageVol;if(maxVol<aryChip[index])maxVol=aryChip[index];}data.MaxVol=maxVol;};this.TriangleDistribute=function(aryChip,data)//三角分布
5440
5441
  {var low=data.Low,high=data.High,maxPrice=data.MaxPrice,minPrice=data.MinPrice,maxVol=1;var ANGLE=45,PI=3.1415926535;var middlePrice=(high-low)/2.0+low;var totalValue=0;var aryVol=[];for(var i=low+1,j=1;i<=middlePrice;++i,++j){var y=Math.tan(ANGLE*PI/180)*j;totalValue+=y;aryVol.push({Index:i-minPrice,Value:y});}for(var i=high-1,j=1;i>middlePrice;--i,++j){var y=Math.tan(ANGLE*PI/180)*j;totalValue+=y;aryVol.push({Index:i-minPrice,Value:y});}if(totalValue>0){for(var i=0;i<aryVol.length;++i){var item=aryVol[i];aryChip[item.Index]+=item.Value*data.Vol/totalValue;if(maxVol<aryChip[item.Index])maxVol=aryChip[item.Index];}data.MaxVol=maxVol;}};this.CalculateDistribute=function(aryChip,data){if(this.CalculateType==1)this.TriangleDistribute(aryChip,data);else this.EvenlyDistribute(aryChip,data);};this.SendCalculateChipEvent=function(){var event=this.HQChart.GetEventCallback(JSCHART_EVENT_ID.ON_CALCULATE_CHIP_DATA);if(!event)return null;var bindData=this.HQChart.ChartPaint[0].Data;var curIndex=bindData.DataOffset+parseInt(this.HQChart.CursorIndex);var sendData={Symbol:this.HQChart.Symbol,Period:this.HQChart.Period,KData:bindData,CurrentIndex:curIndex,Y:this.HQChart.LastPoint.Y,HQChart:this.HQChart,ShowType:this.ShowType,CalculateType:this.CalculateType,PreventDefault:false,Result:null//true/false
5441
5442
  };event.Callback(event,sendData,this);return sendData;};this.CalculateChip=function()//计算筹码
5442
- {if(!this.HQChart)return false;if(!this.HQChart.FlowCapitalReady)return false;var symbol=this.HQChart.Symbol;if(!symbol)return false;var recvData=this.SendCalculateChipEvent();if(recvData&&recvData.PreventDefault)return recvData.Result;if(MARKET_SUFFIX_NAME.IsSHSZIndex(symbol))return false;//指数暂时不支持移动筹码
5443
+ {if(!this.HQChart)return false;if(!this.HQChart.FlowCapitalReady)return false;var symbol=this.HQChart.Symbol;if(!symbol)return false;var recvData=this.SendCalculateChipEvent();if(recvData&&recvData.PreventDefault)return recvData.Result;if(MARKET_SUFFIX_NAME.IsIncludes(symbol,ARRAY_CHINA_FUTURES_SUFFIX))return this.CalculateChip_Futrues();if(MARKET_SUFFIX_NAME.IsSHSZIndex(symbol))return false;//指数暂时不支持移动筹码
5443
5444
  var bindData=this.HQChart.ChartPaint[0].Data;//if (bindData.Period>=4) return false; //分钟K线不支持, 没时间做,以后再做吧
5444
5445
  var count=bindData.DataOffset+parseInt(this.HQChart.CursorIndex);if(count>=bindData.Data.length)count=bindData.Data.length-1;var selData=bindData.Data[count];var yPrice=selData.Close;var mouseY=this.HQChart.LastPoint.Y;if(mouseY)yPrice=this.HQChart.Frame.SubFrame[0].Frame.GetYData(mouseY);//JSConsole.Chart.Log("[StockChip::CalculateChip]",count,this.HQChart.CursorIndex,selData);
5445
5446
  var rate=1;var aryVol=[];var seed=1,vol,maxPrice,minPrice;for(var _i7=count;_i7>=0;--_i7){var item=bindData.Data[_i7];var changeRate=1;//换手率
5446
5447
  if(item.FlowCapital>0)changeRate=item.Vol/item.FlowCapital;if(_i7==count)vol=item.Vol*changeRate;else vol=item.Vol*seed;var dataItem={Vol:vol,High:item.High,Low:item.Low};aryVol.push(dataItem);seed*=1-changeRate*rate;if(!maxPrice||maxPrice<item.High)maxPrice=item.High;if(!minPrice||minPrice>item.Low)minPrice=item.Low;}//JSConsole.Chart.Log("[StockChip::CalculateChip]",maxPrice,minPrice);
5447
- if(!maxPrice||!minPrice)return true;var priceZoom=this.PriceZoom;maxPrice=parseInt(maxPrice*priceZoom);minPrice=parseInt(minPrice*priceZoom);var dataCount=maxPrice-minPrice;var aryChip=new Array();for(var _i8=0;_i8<=dataCount;++_i8){aryChip.push(0);}var dayChip=[];var distributeData;if(this.ShowType==2){var dayChip=[{Day:100,Color:this.DAY_COLOR[1][5]},{Day:60,Color:this.DAY_COLOR[1][4]},{Day:30,Color:this.DAY_COLOR[1][3]},{Day:20,Color:this.DAY_COLOR[1][2]},{Day:10,Color:this.DAY_COLOR[1][1]},{Day:5,Color:this.DAY_COLOR[1][0]}];for(var _i9 in aryVol){var item=aryVol[_i9];var high=parseInt(item.High*priceZoom);var low=parseInt(item.Low*priceZoom);var averageVol=item.Vol;if(high-low>0)averageVol=item.Vol/(high-low);if(averageVol<=0.000000001)continue;for(var k=0;k<dayChip.length;++k){if(_i9==dayChip[k].Day){dayChip[k].Chip=aryChip.slice(0);break;}}distributeData={Low:low,High:high,Vol:item.Vol,MaxPrice:maxPrice,MinPrice:minPrice};this.CalculateDistribute(aryChip,distributeData);}}else if(this.ShowType==1){var dayChip=[{Day:5,Color:this.DAY_COLOR[0][0]},{Day:10,Color:this.DAY_COLOR[0][1]},{Day:20,Color:this.DAY_COLOR[0][2]},{Day:30,Color:this.DAY_COLOR[0][3]},{Day:60,Color:this.DAY_COLOR[0][4]},{Day:100,Color:this.DAY_COLOR[0][5]}];for(var _i10=aryVol.length-1;_i10>=0;--_i10){var item=aryVol[_i10];var high=parseInt(item.High*priceZoom);var low=parseInt(item.Low*priceZoom);var averageVol=item.Vol;if(high-low>0)averageVol=item.Vol/(high-low);if(averageVol<=0.000000001)continue;for(var k=0;k<dayChip.length;++k){if(_i10==dayChip[k].Day){dayChip[k].Chip=aryChip.slice(0);break;}}distributeData={Low:low,High:high,Vol:item.Vol,MaxPrice:maxPrice,MinPrice:minPrice};this.CalculateDistribute(aryChip,distributeData);}}else{for(var _i11 in aryVol){var item=aryVol[_i11];var high=parseInt(item.High*priceZoom);var low=parseInt(item.Low*priceZoom);var averageVol=item.Vol;if(high-low>0)averageVol=item.Vol/(high-low);if(averageVol<=0.000000001)continue;distributeData={Low:low,High:high,Vol:item.Vol,MaxPrice:maxPrice,MinPrice:minPrice};this.CalculateDistribute(aryChip,distributeData);}}if(!distributeData)return false;this.Data={AllChip:aryChip,MaxVol:distributeData.MaxVol,MaxPrice:maxPrice,MinPrice:minPrice,SelectData:selData,DayChip:dayChip,YPrice:yPrice};return true;};this.DrawFrame=function()//X轴成交量坐标
5448
+ if(!maxPrice||!minPrice)return true;var priceZoom=this.PriceZoom;maxPrice=parseInt(maxPrice*priceZoom);minPrice=parseInt(minPrice*priceZoom);var dataCount=maxPrice-minPrice;var aryChip=new Array();for(var _i8=0;_i8<=dataCount;++_i8){aryChip.push(0);}var dayChip=[];var distributeData;if(this.ShowType==2){var dayChip=[{Day:100,Color:this.DAY_COLOR[1][5]},{Day:60,Color:this.DAY_COLOR[1][4]},{Day:30,Color:this.DAY_COLOR[1][3]},{Day:20,Color:this.DAY_COLOR[1][2]},{Day:10,Color:this.DAY_COLOR[1][1]},{Day:5,Color:this.DAY_COLOR[1][0]}];for(var _i9 in aryVol){var item=aryVol[_i9];var high=parseInt(item.High*priceZoom);var low=parseInt(item.Low*priceZoom);var averageVol=item.Vol;if(high-low>0)averageVol=item.Vol/(high-low);if(averageVol<=0.000000001)continue;for(var k=0;k<dayChip.length;++k){if(_i9==dayChip[k].Day){dayChip[k].Chip=aryChip.slice(0);break;}}distributeData={Low:low,High:high,Vol:item.Vol,MaxPrice:maxPrice,MinPrice:minPrice};this.CalculateDistribute(aryChip,distributeData);}}else if(this.ShowType==1){var dayChip=[{Day:5,Color:this.DAY_COLOR[0][0]},{Day:10,Color:this.DAY_COLOR[0][1]},{Day:20,Color:this.DAY_COLOR[0][2]},{Day:30,Color:this.DAY_COLOR[0][3]},{Day:60,Color:this.DAY_COLOR[0][4]},{Day:100,Color:this.DAY_COLOR[0][5]}];for(var _i10=aryVol.length-1;_i10>=0;--_i10){var item=aryVol[_i10];var high=parseInt(item.High*priceZoom);var low=parseInt(item.Low*priceZoom);var averageVol=item.Vol;if(high-low>0)averageVol=item.Vol/(high-low);if(averageVol<=0.000000001)continue;for(var k=0;k<dayChip.length;++k){if(_i10==dayChip[k].Day){dayChip[k].Chip=aryChip.slice(0);break;}}distributeData={Low:low,High:high,Vol:item.Vol,MaxPrice:maxPrice,MinPrice:minPrice};this.CalculateDistribute(aryChip,distributeData);}}else{for(var _i11 in aryVol){var item=aryVol[_i11];var high=parseInt(item.High*priceZoom);var low=parseInt(item.Low*priceZoom);var averageVol=item.Vol;if(high-low>0)averageVol=item.Vol/(high-low);if(averageVol<=0.000000001)continue;distributeData={Low:low,High:high,Vol:item.Vol,MaxPrice:maxPrice,MinPrice:minPrice};this.CalculateDistribute(aryChip,distributeData);}}if(!distributeData)return false;this.Data={AllChip:aryChip,MaxVol:distributeData.MaxVol,MaxPrice:maxPrice,MinPrice:minPrice,SelectData:selData,DayChip:dayChip,YPrice:yPrice};return true;};this.CalculateChip_Futrues=function()//计算期货筹码 (持仓和量计算的)
5449
+ {if(!this.HQChart)return false;var symbol=this.HQChart.Symbol;if(!symbol)return false;var upperSymbol=symbol.toUpperCase();if(!MARKET_SUFFIX_NAME.IsIncludes(symbol,ARRAY_CHINA_FUTURES_SUFFIX))return false;var bindData=this.HQChart.GetKData();//if (bindData.Period>=4) return false; //分钟K线不支持, 没时间做,以后再做吧
5450
+ var count=bindData.DataOffset+parseInt(this.HQChart.CursorIndex);if(count>=bindData.Data.length)count=bindData.Data.length-1;var selData=bindData.Data[count];var yPrice=selData.Close;var mouseY=this.HQChart.LastPoint.Y;if(mouseY)yPrice=this.HQChart.Frame.SubFrame[0].Frame.GetYData(mouseY);//JSConsole.Chart.Log("[StockChip::CalculateChip]",count,this.HQChart.CursorIndex,selData);
5451
+ var rate=1;var aryVol=[];var seed=1,vol,maxPrice,minPrice;for(var _i12=count;_i12>=0;--_i12){var item=bindData.Data[_i12];var changeRate=1;//换手率
5452
+ if(item.Position>0)changeRate=item.Vol/item.Position;if(_i12==count)vol=item.Vol*changeRate;else vol=item.Vol*seed;var dataItem={Vol:vol,High:item.High,Low:item.Low};aryVol.push(dataItem);seed*=1-changeRate*rate;if(!maxPrice||maxPrice<item.High)maxPrice=item.High;if(!minPrice||minPrice>item.Low)minPrice=item.Low;}//JSConsole.Chart.Log("[StockChip::CalculateChip]",maxPrice,minPrice);
5453
+ if(!maxPrice||!minPrice)return true;var priceZoom=this.PriceZoom;maxPrice=parseInt(maxPrice*priceZoom);minPrice=parseInt(minPrice*priceZoom);var dataCount=maxPrice-minPrice;var aryChip=new Array();for(var _i13=0;_i13<=dataCount;++_i13){aryChip.push(0);}var dayChip=[];var distributeData;if(this.ShowType==2){var dayChip=[{Day:100,Color:this.DAY_COLOR[1][5]},{Day:60,Color:this.DAY_COLOR[1][4]},{Day:30,Color:this.DAY_COLOR[1][3]},{Day:20,Color:this.DAY_COLOR[1][2]},{Day:10,Color:this.DAY_COLOR[1][1]},{Day:5,Color:this.DAY_COLOR[1][0]}];for(var _i14 in aryVol){var item=aryVol[_i14];var high=parseInt(item.High*priceZoom);var low=parseInt(item.Low*priceZoom);var averageVol=item.Vol;if(high-low>0)averageVol=item.Vol/(high-low);if(averageVol<=0.000000001)continue;for(var k=0;k<dayChip.length;++k){if(_i14==dayChip[k].Day){dayChip[k].Chip=aryChip.slice(0);break;}}distributeData={Low:low,High:high,Vol:item.Vol,MaxPrice:maxPrice,MinPrice:minPrice};this.CalculateDistribute(aryChip,distributeData);}}else if(this.ShowType==1){var dayChip=[{Day:5,Color:this.DAY_COLOR[0][0]},{Day:10,Color:this.DAY_COLOR[0][1]},{Day:20,Color:this.DAY_COLOR[0][2]},{Day:30,Color:this.DAY_COLOR[0][3]},{Day:60,Color:this.DAY_COLOR[0][4]},{Day:100,Color:this.DAY_COLOR[0][5]}];for(var _i15=aryVol.length-1;_i15>=0;--_i15){var item=aryVol[_i15];var high=parseInt(item.High*priceZoom);var low=parseInt(item.Low*priceZoom);var averageVol=item.Vol;if(high-low>0)averageVol=item.Vol/(high-low);if(averageVol<=0.000000001)continue;for(var k=0;k<dayChip.length;++k){if(_i15==dayChip[k].Day){dayChip[k].Chip=aryChip.slice(0);break;}}distributeData={Low:low,High:high,Vol:item.Vol,MaxPrice:maxPrice,MinPrice:minPrice};this.CalculateDistribute(aryChip,distributeData);}}else{for(var _i16 in aryVol){var item=aryVol[_i16];var high=parseInt(item.High*priceZoom);var low=parseInt(item.Low*priceZoom);var averageVol=item.Vol;if(high-low>0)averageVol=item.Vol/(high-low);if(averageVol<=0.000000001)continue;distributeData={Low:low,High:high,Vol:item.Vol,MaxPrice:maxPrice,MinPrice:minPrice};this.CalculateDistribute(aryChip,distributeData);}}if(!distributeData)return false;this.Data={AllChip:aryChip,MaxVol:distributeData.MaxVol,MaxPrice:maxPrice,MinPrice:minPrice,SelectData:selData,DayChip:dayChip,YPrice:yPrice};return true;};this.DrawFrame=function()//X轴成交量坐标
5448
5454
  {if(this.IsShowX==false)return;if(this.Data.MaxVol<=0)return;var isDrawXFrame=this.HQChart.Frame.SubFrame.length===1?false:true;//是否画X轴,如果只有1个窗口就不画
5449
5455
  var KLineFrame=this.HQChart.Frame.SubFrame[0].Frame;var chartBorder=KLineFrame.ChartBorder;var bottom=ToFixedPoint(chartBorder.GetBottomEx()+1);if(!isDrawXFrame)bottom=this.ClientRect.Top+this.ClientRect.Height;var left=this.ClientRect.Left;var right=left+this.ClientRect.Width;this.Canvas.strokeStyle=this.PenBorder;this.Canvas.beginPath();if(isDrawXFrame){this.Canvas.moveTo(left,bottom);this.Canvas.lineTo(right,bottom);}var showCount=this.ShowXCount;var maxValue=this.Data.MaxVol;var perValue=Math.floor(maxValue/showCount);this.Canvas.font=this.Font;this.Canvas.textBaseline='top';this.Canvas.fillStyle=this.InfoColor;var xOffset=10*GetDevicePixelRatio();for(var i=1;i<=showCount;++i){var vol=perValue*i;var x=vol/this.Data.MaxVol*this.ClientRect.Width+this.ClientRect.Left;x=ToFixedPoint(x);if(i==showCount)//最后一个刻度不要画线了
5450
5456
  {this.Canvas.textAlign='right';var text=IFrameSplitOperator.FormatValueString(maxValue,1);this.Canvas.fillText(text,x,bottom+2);}else{this.Canvas.moveTo(x,this.ClientRect.Top);this.Canvas.lineTo(x,bottom);this.Canvas.textAlign='center';var text=IFrameSplitOperator.FormatValueString(vol,1);var textWidth=this.Canvas.measureText(text).width;this.Canvas.fillText(text,Math.floor(x-textWidth*0.25),bottom+2);}}this.Canvas.stroke();};}//筹码分布手机版
@@ -7728,7 +7734,7 @@ BGColor:"rgb(255,255,255)"//鼠标区间选中
7728
7734
  LineWidth:1*GetDevicePixelRatio(),BGColor:"rgba(128,128,128,0.2)"//面积
7729
7735
  };this.DragMovePaint={TextColor:"rgb(0,0,0)",Font:14*GetDevicePixelRatio()+"px 微软雅黑"};this.SessionBreaksPaint={BGColor:[null,"rgb(245,246,246)"],SplitLine:{Color:'rgb(73,133,231)',Width:1*GetDevicePixelRatio(),Dash:[5*GetDevicePixelRatio(),5*GetDevicePixelRatio()]}};this.KLineCountDownPaint={Font:14*GetDevicePixelRatio()+'px \u5FAE\u8F6F\u96C5\u9ED1',TextMargin:{Left:0,Right:0,Bottom:2,Top:2,YOffset:0},LabelMargin:{Left:5,Right:5,Bottom:4,Top:2},Line:{IsShow:true,Width:1,Dash:[5*GetDevicePixelRatio(),5*GetDevicePixelRatio()]},Unchange:{BGColor:"rgb(0,0,0)",PriceColor:"rgb(250,250,250)",TimeColor:"rgb(190,190,190)"},Up:{BGColor:"rgb(238,21,21)",PriceColor:"rgb(250,250,250)",TimeColor:"rgb(190,190,190)"},Down:{BGColor:"rgb(25,158,0)",PriceColor:"rgb(250,250,250)",TimeColor:"rgb(190,190,190)"}//成交明细
7730
7736
  };this.DealList={BorderColor:'rgb(192,192,192)',//边框线
7731
- Header:{Color:"RGB(60,60,60)",Mergin:{Left:5,Right:5,Top:4,Bottom:2},Font:{Size:12,Name:"微软雅黑"}},Row:{Mergin:{Top:2,Bottom:2},Font:{Size:15,Name:"微软雅黑"},BarMergin:{Top:2,Left:3,Right:3,Bottom:2}},FieldColor:{Vol:"rgb(90,90,90)",//成交量
7737
+ Header:{Color:"RGB(60,60,60)",Mergin:{Left:5,Right:5,Top:4,Bottom:2},Font:{Size:14,Name:"微软雅黑"}},Row:{Mergin:{Top:2,Bottom:2},Font:{Size:14,Name:"微软雅黑"},BarMergin:{Top:2,Left:3,Right:3,Bottom:2}},FieldColor:{Vol:"rgb(90,90,90)",//成交量
7732
7738
  Time:"rgb(60,60,60)",//时间
7733
7739
  Deal:"rgb(90,90,90)",//成交笔数
7734
7740
  Index:"rgb(60,60,60)",//序号
@@ -7791,8 +7797,11 @@ TopLine:{Enable:false,Color:"rgb(192,192,192)"},//底部分割线
7791
7797
  CenterLine:{BuyColor:"rgb(228, 164, 54)",SellColor:"rgb(61, 147, 219)",NoneColor:"rgb(90,90,90)",Width:2*GetDevicePixelRatio()}},Table:{Font:14*GetDevicePixelRatio()+'px 微软雅黑',TitleColor:"rgb(90,90,90)",TextColor:"rgb(90,90,90)",Margin:{Left:0,Top:0,Bottom:0,Right:0},CellMargin:{Top:5,Bottom:5,Left:5,Right:5,YOffset:0}},UpTextColor:"rgb(238,21,21)",//上涨文字颜色
7792
7798
  DownTextColor:"rgb(25,158,0)",//下跌文字颜色
7793
7799
  UnchangeTextColor:"rgb(90,90,90)",//平盘文字颜色
7800
+ BorderColor:"rgb(192,192,192)"};this.StatusBar={Table:{Font:14*GetDevicePixelRatio()+'px 微软雅黑',TitleColor:"rgb(90,90,90)",AryTextColor:["rgb(90,90,90)","rgb(192,192,0)"],Margin:{Left:1*GetDevicePixelRatio(),Top:0,Bottom:0,Right:0},CellMargin:{Top:5*GetDevicePixelRatio(),Bottom:5*GetDevicePixelRatio(),Left:5*GetDevicePixelRatio(),Right:5*GetDevicePixelRatio(),YOffset:1*GetDevicePixelRatio()},Separator:{Left:10,Right:10,Line:{Width:1,Color:"rgb(192,192,192)",Top:2,Bottom:2}}},DateTime:{Font:14*GetDevicePixelRatio()+'px 微软雅黑',TitleColor:"rgb(90,90,90)",Format:"HH:MM:SS",MaxText:"99:99:99",Margin:{Left:2*GetDevicePixelRatio(),Top:5*GetDevicePixelRatio(),Bottom:5*GetDevicePixelRatio(),Right:5*GetDevicePixelRatio(),YOffset:1*GetDevicePixelRatio()}},RightToolbar:{Icon:{Family:"iconfont",Size:14*GetDevicePixelRatio()},Margin:{Left:1*GetDevicePixelRatio(),Top:0,Bottom:0,Right:2*GetDevicePixelRatio()},CellMargin:{Top:5*GetDevicePixelRatio(),Bottom:5*GetDevicePixelRatio(),Left:2*GetDevicePixelRatio(),Right:2*GetDevicePixelRatio(),YOffset:0}},UpTextColor:"rgb(238,21,21)",//上涨文字颜色
7801
+ DownTextColor:"rgb(25,158,0)",//下跌文字颜色
7802
+ UnchangeTextColor:"rgb(90,90,90)",//平盘文字颜色
7794
7803
  BorderColor:"rgb(192,192,192)"//自定义风格
7795
- };this.SetStyle=function(style){var T_SetButtonStyle=function T_SetButtonStyle(item,dest){if(!item)return;if(item.Color)dest.Color=item.Color;if(item.MoveOnColor)dest.MoveOnColor=item.MoveOnColor;if(item.SelectedColor)dest.SelectedColor=item.SelectedColor;if(item.Family)dest.Family=item.Family;if(item.Text)dest.Text=item.Text;if(IFrameSplitOperator.IsNumber(item.Size))dest.Size=item.Size;if(IFrameSplitOperator.IsNumber(item.MerginLeft))dest.MerginLeft=item.MerginLeft;};if(style.TooltipBGColor)this.TooltipBGColor=style.TooltipBGColor;if(style.TooltipAlpha)this.TooltipAlpha=style.TooltipAlpha;if(style.SelectRectBGColor)this.SelectRectBGColor=style.SelectRectBGColor;if(style.UpBarColor)this.UpBarColor=style.UpBarColor;if(style.DownBarColor)this.DownBarColor=style.DownBarColor;if(style.UnchagneBarColor)this.UnchagneBarColor=style.UnchagneBarColor;if(style.EmptyBarBGColor)this.EmptyBarBGColor=style.EmptyBarBGColor;if(style.HighLowBarColor)this.HighLowBarColor=style.HighLowBarColor;if(style.HighLowText){var dest=this.HighLowText;var item=style.HighLowText;if(item.FontName)dest.FontName=item.FontName;if(item.Color)dest.Color=item.Color;if(item.MaxText)dest.MaxText=item.MaxText;if(IFrameSplitOperator.IsPlusNumber(item.MaxSize))dest.MaxSize=item.MaxSize;if(IFrameSplitOperator.IsPlusNumber(item.MinSize))dest.MinSize=item.MinSize;}if(style.SplashScreen){var item=style.SplashScreen;if(item.BGColor)this.SplashScreen.BGColor=item.BGColor;if(item.Title)this.SplashScreen.Title=item.Title;if(item.TextColor)this.SplashScreen.TextColor=item.TextColor;if(item.Font)this.SplashScreen.Font=item.Font;}if(style.HLCArea){var item=style.HLCArea;if(item.HighLineColor)this.HLCArea.HighLineColor=item.HighLineColor;if(item.LowLineColor)this.HLCArea.LowLineColor=item.LowLineColor;if(item.CloseLineColor)this.HLCArea.CloseLineColor=item.CloseLineColor;if(item.UpAreaColor)this.HLCArea.UpAreaColor=item.UpAreaColor;if(item.DownAreaColor)this.HLCArea.DownAreaColor=item.DownAreaColor;if(IFrameSplitOperator.IsNumber(item.LineWidth))this.HLCArea.LineWidth=item.LineWidth;}if(style.Minute){if(style.Minute.VolBarColor)this.Minute.VolBarColor=style.Minute.VolBarColor;if(style.Minute.VolTitleColor)this.Minute.VolTitleColor=style.Minute.VolTitleColor;if(style.Minute.PriceColor)this.Minute.PriceColor=style.Minute.PriceColor;if(IFrameSplitOperator.IsNumber(style.Minute.PriceLineWidth))this.Minute.PriceLineWidth=style.Minute.PriceLineWidth;if(style.Minute.AvPriceColor)this.Minute.AvPriceColor=style.Minute.AvPriceColor;if(style.Minute.AreaPriceColor)this.Minute.AreaPriceColor=style.Minute.AreaPriceColor;if(style.Minute.PositionColor)this.Minute.PositionColor=style.Minute.PositionColor;if(style.Minute.FrameSplitTextColor)this.Minute.FrameSplitTextColor=style.Minute.FrameSplitTextColor;if(style.Minute.Before){var item=style.Minute.Before;if(item.BGColor)this.Minute.Before.BGColor=item.BGColor;if(item.LineColor)this.Minute.Before.LineColor=item.LineColor;if(item.VolColor)this.Minute.Before.VolColor=item.VolColor;if(item.AvPriceColor)this.Minute.Before.AvPriceColor=item.AvPriceColor;if(item.CloseIcon)T_SetButtonStyle(item.CloseIcon,this.Minute.Before.CloseIcon);if(item.Point){if(item.Point.Color)this.Minute.Before.Point.Color=item.Point.Color;if(item.Point.Radius)this.Minute.Before.Point.Radius=item.Point.Radius;}}if(style.Minute.After){var item=style.Minute.After;if(item.BGColor)this.Minute.After.BGColor=item.BGColor;if(item.LineColor)this.Minute.After.LineColor=item.LineColor;if(item.VolColor)this.Minute.After.VolColor=item.VolColor;if(item.AvPriceColor)this.Minute.After.AvPriceColor=item.AvPriceColor;if(item.Point){if(item.Point.Color)this.Minute.After.Point.Color=item.Point.Color;if(item.Point.Radius)this.Minute.After.Point.Radius=item.Point.Radius;}}if(style.Minute.NightDay){var item=style.Minute.NightDay;if(item.NightBGColor)this.Minute.NightDay.NightBGColor=item.NightBGColor;if(item.Font)this.Minute.NightDay.Font=item.Font;if(item.Day){var subItem=item.Day;if(subItem.Color)this.Minute.NightDay.Day.Color=subItem.Color;if(subItem.BGColor)this.Minute.NightDay.Day.BGColor=subItem.BGColor;if(subItem.BorderColor)this.Minute.NightDay.Day.BorderColor=subItem.BorderColor;CopyMarginConfig(this.Minute.NightDay.Day.Margin,subItem.Margin);}if(item.Night){var subItem=item.Night;if(subItem.Color)this.Minute.NightDay.Night.Color=subItem.Color;if(subItem.BGColor)this.Minute.NightDay.Night.BGColor=subItem.BGColor;if(subItem.BorderColor)this.Minute.NightDay.Night.BorderColor=subItem.BorderColor;CopyMarginConfig(this.Minute.NightDay.Night.Margin,subItem.Margin);}}if(style.Minute.BuySellBar){var item=style.Minute.BuySellBar;var dest=this.Minute.BuySellBar;if(item.BuyColor)dest.BuyColor=item.BuyColor;if(item.SellColor)dest.SellColor=item.SellColor;if(item.Font)dest.Font=item.Font;if(item.TextColor)dest.TextColor=item.TextColor;if(IFrameSplitOperator.IsNumber(item.BarWidth))dest.BarWidth=item.BarWidth;if(IFrameSplitOperator.IsNonEmptyArray(item.AryBarRange))dest.AryBarRange=item.AryBarRange;if(IFrameSplitOperator.IsNumber(item.YOffset))dest.YOffset=item.YOffset;}}if(style.PopMinuteChart){var item=style.PopMinuteChart;var dest=this.PopMinuteChart;if(item.BGColor)dest.BGColor=item.BGColor;if(item.BorderColor)dest.BorderColor=item.BorderColor;if(item.TitleColor)dest.TitleColor=item.TitleColor;if(item.TitleBGColor)dest.TitleBGColor=item.TitleBGColor;if(item.Mark){if(item.Mark.LineColor)dest.Mark.LineColor=item.Mark.LineColor;if(IFrameSplitOperator.IsNumber(item.Mark.LineWidth))dest.Mark.LineWidth=item.Mark.LineWidth;}if(item.Title){if(item.Title.Font)dest.Title.Font=item.Title.Font;}if(item.CorssCursor){if(item.CorssCursor.Font)dest.CorssCursor.Font=item.CorssCursor.Font;}if(item.Frame){if(item.Frame.Font)dest.Frame.Font=item.Frame.Font;}}if(style.PopKLineChart){var item=style.PopKLineChart;var dest=this.PopKLineChart;if(item.BGColor)dest.BGColor=item.BGColor;if(item.BorderColor)dest.BorderColor=item.BorderColor;if(item.TitleColor)dest.TitleColor=item.TitleColor;if(item.TitleBGColor)dest.TitleBGColor=item.TitleBGColor;}if(style.DefaultTextColor)this.DefaultTextColor=style.DefaultTextColor;if(style.DefaultTextFont)this.DefaultTextFont=style.DefaultTextFont;if(style.TitleFont)this.TitleFont=style.TitleFont;if(style.IndexTitleBGColor)this.IndexTitleBGColor=style.IndexTitleBGColor;if(style.IndexTitleBorderColor)this.IndexTitleBorderColor=style.IndexTitleBorderColor;if(style.IndexTitleBorderMoveOnColor)this.IndexTitleBorderMoveOnColor=style.IndexTitleBorderMoveOnColor;if(IFrameSplitOperator.IsNumber(style.IndexTitleBorderStyle))this.IndexTitleBorderStyle=style.IndexTitleBorderStyle;if(style.IndexTitleColor)this.IndexTitleColor=style.IndexTitleColor;if(style.IndexTitleSelectedColor)this.IndexTitleSelectedColor=style.IndexTitleSelectedColor;if(style.OverlayIndexTitleBGColor)this.OverlayIndexTitleBGColor=style.OverlayIndexTitleBGColor;if(style.UpTextColor)this.UpTextColor=style.UpTextColor;if(style.DownTextColor)this.DownTextColor=style.DownTextColor;if(style.UnchagneTextColor)this.UnchagneTextColor=style.UnchagneTextColor;if(style.CloseLineColor)this.CloseLineColor=style.CloseLineColor;if(style.CloseLineAreaColor)this.CloseLineAreaColor=style.CloseLineAreaColor;if(style.CloseLineWidth)this.CloseLineWidth=style.CloseLineWidth;if(style.FrameBorderPen)this.FrameBorderPen=style.FrameBorderPen;if(style.MultiDayBorderPen)this.MultiDayBorderPen=style.MultiDayBorderPen;if(style.FrameSplitPen)this.FrameSplitPen=style.FrameSplitPen;if(style.FrameDotSplitPen)this.FrameDotSplitPen=style.FrameDotSplitPen;if(style.FrameSplitTextColor)this.FrameSplitTextColor=style.FrameSplitTextColor;if(style.FrameSplitTextFont)this.FrameSplitTextFont=style.FrameSplitTextFont;if(style.FrameTitleBGColor)this.FrameTitleBGColor=style.FrameTitleBGColor;if(style.SelFrameBorderColor)this.SelFrameBorderColor=style.SelFrameBorderColor;if(IFrameSplitOperator.IsNumber(style.IndexTitleMerginLeft))this.IndexTitleMerginLeft=style.IndexTitleMerginLeft;if(style.IndexTitle){var item=style.IndexTitle;if(item.UpDownArrow){var subItem=item.UpDownArrow;if(subItem.UpColor)this.IndexTitle.UpDownArrow.UpColor=subItem.UpColor;if(subItem.DownColor)this.IndexTitle.UpDownArrow.DownColor=subItem.DownColor;if(subItem.UnchangeColor)this.IndexTitle.UpDownArrow.UnchangeColor=subItem.UnchangeColor;}if(IFrameSplitOperator.IsNumber(item.ArrowType))this.IndexTitle.ArrowType=item.ArrowType;if(IFrameSplitOperator.IsBool(item.EnableIndexArrow))this.IndexTitle.EnableIndexArrow=item.EnableIndexArrow;if(IFrameSplitOperator.IsBool(item.IsSinlgeLine))this.IndexTitle.IsSinlgeLine=item.IsSinlgeLine;if(item.NameArrow){var subItem=item.NameArrow;if(subItem.Color)this.IndexTitle.NameArrow.Color=subItem.Color;if(subItem.Symbol)this.IndexTitle.NameArrow.Symbol=subItem.Symbol;if(IFrameSplitOperator.IsNumber(subItem.Space))this.IndexTitle.NameArrow.Space=subItem.Space;}}if(style.Frame){if(style.Frame.XBottomOffset)this.Frame.XBottomOffset=style.Frame.XBottomOffset;if(style.Frame.YTopOffset)this.Frame.YTopOffset=style.Frame.YTopOffset;if(IFrameSplitOperator.IsNumber(style.Frame.XPointCount))this.Frame.XPointCount=style.Frame.XPointCount;if(style.Frame.PercentageText){var item=style.Frame.PercentageText;if(item.PriceColor)this.Frame.PercentageText.PriceColor=item.PriceColor;if(item.PercentageColor)this.Frame.PercentageText.PercentageColor=item.PercentageColor;if(item.SplitColor)this.Frame.PercentageText.SplitColor=item.SplitColor;if(item.Font)this.Frame.PercentageText.Font=item.Font;}}if(IFrameSplitOperator.IsNumber(style.ToolbarButtonStyle))this.ToolbarButtonStyle=style.ToolbarButtonStyle;if(IFrameSplitOperator.IsBool(style.IsDOMFrameTitle))this.IsDOMFrameTitle=style.IsDOMFrameTitle;if(style.FrameLatestPrice){var item=style.FrameLatestPrice;if(style.FrameLatestPrice.TextColor)this.FrameLatestPrice.TextColor=style.FrameLatestPrice.TextColor;if(style.FrameLatestPrice.UpBarColor)this.FrameLatestPrice.UpBarColor=style.FrameLatestPrice.UpBarColor;if(style.FrameLatestPrice.DownBarColor)this.FrameLatestPrice.DownBarColor=style.FrameLatestPrice.DownBarColor;if(style.FrameLatestPrice.UnchagneBarColor)this.FrameLatestPrice.UnchagneBarColor=style.FrameLatestPrice.UnchagneBarColor;if(style.FrameLatestPrice.BGAlpha)this.FrameLatestPrice.BGAlpha=style.FrameLatestPrice.BGAlpha;if(style.FrameLatestPrice.OverlayTextColor)this.FrameLatestPrice.OverlayTextColor=style.FrameLatestPrice.OverlayTextColor;if(item.EmptyBGColor)this.FrameLatestPrice.EmptyBGColor=item.EmptyBGColor;}if(style.OverlayFrame){var item=style.OverlayFrame;if(style.OverlayFrame.BolderPen)this.OverlayFrame.BolderPen=style.OverlayFrame.BolderPen;if(style.OverlayFrame.TitleColor)this.OverlayFrame.TitleColor=style.OverlayFrame.TitleColor;if(style.OverlayFrame.TitleFont)this.OverlayFrame.TitleFont=style.OverlayFrame.TitleFont;}if(style.CorssCursorBGColor)this.CorssCursorBGColor=style.CorssCursorBGColor;if(style.CorssCursorTextColor)this.CorssCursorTextColor=style.CorssCursorTextColor;if(style.CorssCursorTextFont)this.CorssCursorTextFont=style.CorssCursorTextFont;if(style.CorssCursorVPenColor)this.CorssCursorVPenColor=style.CorssCursorVPenColor;if(style.CorssCursorHPenColor)this.CorssCursorHPenColor=style.CorssCursorHPenColor;if(style.CorssCursorBorderColor)this.CorssCursorBorderColor=style.CorssCursorBorderColor;if(style.CorssCursorXRangeBGColor)this.CorssCursorXRangeBGColor=style.CorssCursorXRangeBGColor;if(style.CorssCursorLineDash)this.CorssCursorLineDash=style.CorssCursorLineDash.slice();if(style.CorssCursor&&style.CorssCursor.RightButton){var item=style.CorssCursor.RightButton;if(item.BGColor)this.CorssCursor.RightButton.BGColor=item.BGColor;if(item.PenColor)this.CorssCursor.RightButton.PenColor=item.PenColor;if(item.Icon)this.CorssCursor.RightButton.Icon=item.Icon;}if(style.CorssCursor&&style.CorssCursor.CorssPoint){var item=style.CorssCursor.CorssPoint;if(item.Center){var subItem=item.Center;var subDest=this.CorssCursor.CorssPoint.Center;if(IFrameSplitOperator.IsNumber(subItem.Radius))subDest.Radius=subItem.Radius;if(subItem.Color)subDest.Color=subItem.Color;}if(item.Border){var subItem=item.Border;var subDest=this.CorssCursor.CorssPoint.Border;if(IFrameSplitOperator.IsNumber(subItem.Width))subDest.Width=subItem.Width;if(subItem.Color)subDest.Color=subItem.Color;}}if(style.LatestPointFlash){var item=style.LatestPointFlash;var dest=this.LatestPointFlash;if(item.PointColor)dest.PointColor=item.PointColor;if(IFrameSplitOperator.IsNumber(item.PointRadius))dest.PointRadius=item.PointRadius;if(item.BGColor)dest.BGColor=item.BGColor;if(IFrameSplitOperator.IsNumber(item.BGRadius))dest.BGRadius=item.BGRadius;}if(style.KLine)this.KLine=style.KLine;if(style.VirtualKLine){var item=style.VirtualKLine;if(item.Color)this.VirtualKLine.Color=item.Color;if(item.LineDash)this.VirtualKLine.LineDash=item.LineDash;}if(style.PredictionKLine){if(style.PredictionKLine.Line){var item=style.PredictionKLine.Line;var dest=this.PredictionKLine.Line;if(item.Color)dest.Color=item.Color;if(item.LineDash)dest.LineDash=item.LineDash;if(IFrameSplitOperator.IsNumber(item.LineWidth))dest.LineWidth=item.LineWidth;}if(style.PredictionKLine.Bar){var item=style.PredictionKLine.Bar;var dest=this.PredictionKLine.Bar;if(item.UpColor)dest.UpColor=item.UpColor;if(item.DownColor)dest.DownColor=item.DownColor;if(item.UnchangeColor)dest.UnchangeColor=item.UnchangeColor;if(IFrameSplitOperator.IsNumber(item.DrawType)||item.DrawType===null)dest.DrawType=item.DrawType;}}if(style.PriceGapStyple){var item=style.PriceGapStyple;if(item.Line&&item.Line.Color)this.PriceGapStyple.Line.Color=item.Line.Color;if(item.Text){if(item.Text.Color)this.PriceGapStyple.Text.Color=item.Text.Color;if(item.Text.Font)this.PriceGapStyple.Text.Font=item.Text.Font;}}if(style.DaySummaryKLine){var item=style.DaySummaryKLine;var dest=this.DaySummaryKLine;if(item.Font)dest.Font=item.Font;if(item.TextColor)dest.TextColor=item.TextColor;if(IFrameSplitOperator.IsNumber(item.LeftMargin))dest.LeftMargin=item.LeftMargin;}if(style.Index){if(style.Index.LineColor)this.Index.LineColor=style.Index.LineColor;if(style.Index.NotSupport)this.Index.NotSupport=style.Index.NotSupport;}if(style.ColorArray)this.ColorArray=style.ColorArray;if(style.DrawPicture){var item=style.DrawPicture;if(item.LineColor)this.DrawPicture.LineColor=item.LineColor;if(item.PointColor)this.DrawPicture.PointColor=item.PointColor;if(item.XYCoordinate)this.DrawPicture.XYCoordinate=item.XYCoordinate;if(IFrameSplitOperator.IsNumber(item.PointType))this.DrawPicture.PointType=item.PointType;if(IFrameSplitOperator.IsBool(item.IsShowPoint))this.DrawPicture.IsShowPoint=item.IsShowPoint;}if(style.TooltipPaint){if(style.TooltipPaint.BGColor)this.TooltipPaint.BGColor=style.TooltipPaint.BGColor;if(style.TooltipPaint.BorderColor)this.TooltipPaint.BorderColor=style.TooltipPaint.BorderColor;if(style.TooltipPaint.TitleColor)this.TooltipPaint.TitleColor=style.TooltipPaint.TitleColor;if(style.TooltipPaint.TitleFont)this.TooltipPaint.TitleFont=style.TooltipPaint.TitleFont;if(style.TooltipPaint.DateTimeColor)this.TooltipPaint.DateTimeColor=style.TooltipPaint.DateTimeColor;if(style.TooltipPaint.VolColor)this.TooltipPaint.VolColor=style.TooltipPaint.VolColor;if(style.TooltipPaint.AmountColor)this.TooltipPaint.AmountColor=style.TooltipPaint.AmountColor;}if(style.PCTooltipPaint){var item=style.PCTooltipPaint;if(item.BGColor)this.PCTooltipPaint.BGColor=item.BGColor;if(item.BorderColor)this.PCTooltipPaint.BorderColor=item.BorderColor;if(item.TitleColor)this.PCTooltipPaint.TitleColor=item.TitleColor;if(item.TitleFont)this.PCTooltipPaint.TitleFont=item.TitleFont;if(item.DateTimeColor)this.PCTooltipPaint.DateTimeColor=item.DateTimeColor;if(item.VolColor)this.PCTooltipPaint.VolColor=item.VolColor;if(item.AmountColor)this.PCTooltipPaint.AmountColor=item.AmountColor;if(item.PositionColor)this.PCTooltipPaint.PositionColor=item.PositionColor;}if(style.DialogTooltip){var item=style.DialogTooltip;if(item.BGColor)this.DialogTooltip.BGColor=item.BGColor;if(item.BorderColor)this.DialogTooltip.BorderColor=item.BorderColor;if(item.TitleColor)this.DialogTooltip.TitleColor=item.TitleColor;if(item.TitleBGColor)this.DialogTooltip.TitleBGColor=item.TitleBGColor;if(item.DateTimeColor)this.DialogTooltip.DateTimeColor=item.DateTimeColor;if(item.VolColor)this.DialogTooltip.VolColor=item.VolColor;if(item.AmountColor)this.DialogTooltip.AmountColor=item.AmountColor;if(item.TurnoverRateColor)this.DialogTooltip.TurnoverRateColor=item.TurnoverRateColor;if(item.PositionColor)this.DialogTooltip.PositionColor=item.PositionColor;if(item.TextColor)this.DialogTooltip.TextColor=item.TextColor;if(item.ValueColor)this.DialogTooltip.ValueColor=item.ValueColor;}if(style.FloatTooltip){var item=style.FloatTooltip;if(item.BGColor)this.FloatTooltip.BGColor=item.BGColor;if(item.BorderColor)this.FloatTooltip.BorderColor=item.BorderColor;if(item.DateTimeColor)this.FloatTooltip.DateTimeColor=item.DateTimeColor;if(item.VolColor)this.FloatTooltip.VolColor=item.VolColor;if(item.AmountColor)this.FloatTooltip.AmountColor=item.AmountColor;if(item.TurnoverRateColor)this.FloatTooltip.TurnoverRateColor=item.TurnoverRateColor;if(item.PositionColor)this.FloatTooltip.PositionColor=item.PositionColor;if(item.TextColor)this.FloatTooltip.TextColor=item.TextColor;if(item.ValueColor)this.FloatTooltip.ValueColor=item.ValueColor;}if(style.DialogSelectRect){var item=style.DialogSelectRect;if(item.BGColor)this.DialogSelectRect.BGColor=item.BGColor;if(item.BorderColor)this.DialogSelectRect.BorderColor=item.BorderColor;if(item.TitleColor)this.DialogSelectRect.TitleColor=item.TitleColor;if(item.TextColor)this.DialogSelectRect.TextColor=item.TextColor;if(item.ValueColor)this.DialogSelectRect.ValueColor=item.ValueColor;if(item.VolColor)this.DialogSelectRect.VolColor=item.VolColor;if(item.AmountColor)this.DialogSelectRect.AmountColor=item.AmountColor;if(item.TurnoverRateColor)this.DialogSelectRect.TurnoverRateColor=item.TurnoverRateColor;if(item.PositionColor)this.DialogSelectRect.PositionColor=item.PositionColor;}if(style.DialogPopKeyboard){var item=style.DialogPopKeyboard;if(item.BGColor)this.DialogPopKeyboard.BGColor=item.BGColor;if(item.BorderColor)this.DialogPopKeyboard.BorderColor=item.BorderColor;if(item.TitleColor)this.DialogPopKeyboard.TitleColor=item.TitleColor;if(item.TitleBGColor)this.DialogTooltip.TitleBGColor=item.TitleBGColor;if(item.Input){var subItem=item.Input;if(subItem.BGColor)this.DialogPopKeyboard.Input.BGColor=subItem.BGColor;if(subItem.TextColor)this.DialogPopKeyboard.Input.TextColor=subItem.TextColor;}}if(style.MinuteInfo){var item=style.MinuteInfo;if(style.MinuteInfo.TextColor)this.MinuteInfo.TextColor=style.MinuteInfo.TextColor;if(style.MinuteInfo.Font)this.MinuteInfo.Font=style.MinuteInfo.Font;if(style.MinuteInfo.PointColor)this.MinuteInfo.PointColor=style.MinuteInfo.PointColor;if(style.MinuteInfo.LineColor)this.MinuteInfo.LineColor=style.MinuteInfo.LineColor;if(style.MinuteInfo.TextBGColor)this.MinuteInfo.TextBGColor=style.MinuteInfo.TextBGColor;if(IFrameSplitOperator.IsNumber(item.PointRadius))this.MinuteInfo.PointRadius=item.PointRadius;}if(style.Title){if(style.Title.TradeIndexColor)this.Title.TradeIndexColor=style.Title.TradeIndexColor;if(style.Title.ColorIndexColor)this.Title.ColorIndexColor=style.Title.ColorIndexColor;if(style.Title.VolColor)this.Title.VolColor=style.Title.VolColor;if(style.Title.AmountColor)this.Title.AmountColor=style.Title.AmountColor;if(style.Title.DateTimeColor)this.Title.DateTimeColor=style.Title.DateTimeColor;if(style.Title.NameColor)this.Title.NameColor=style.Title.NameColor;if(style.Title.SettingColor)this.Title.SettingColor=style.Title.SettingColor;if(style.Title.TurnoverRateColor)this.Title.TurnoverRateColor=style.Title.TurnoverRateColor;if(style.Title.PositionColor)this.Title.PositionColor=style.Title.PositionColor;}if(style.ChartSimpleTable)this.SetChartSimpleTable(style.ChartSimpleTable);if(style.ChartSimplePie)this.SetChartSimplePie(style.ChartSimplePie);if(style.ChartSimpleDoughnut)this.SetChartSimpleDoughnut(style.ChartSimpleDoughnut);if(style.ChartSimpleRadar)this.SetChartSimpleRadar(style.ChartSimpleRadar);if(style.ChartBaseLineBar)this.SetChartBaseLineBar(style.ChartBaseLineBar);if(style.ChartPointDot)this.SetChartPointDot(style.ChartPointDot);if(style.DRAWICON){if(style.DRAWICON.Icon){var item=style.DRAWICON.Icon;if(IFrameSplitOperator.IsPlusNumber(item.MaxSize))this.DRAWICON.Icon.MaxSize=item.MaxSize;if(IFrameSplitOperator.IsPlusNumber(item.MinSize))this.DRAWICON.Icon.MinSize=item.MinSize;if(item.Zoom)this.DRAWICON.Icon.Zoom=item.Zoom;if(IFrameSplitOperator.IsNumber(item.YOffset))this.DRAWICON.Icon.YOffset=item.YOffset;}if(style.DRAWICON.Text){var item=style.DRAWICON.Text;if(IFrameSplitOperator.IsPlusNumber(item.MaxSize))this.DRAWICON.Text.MaxSize=item.MaxSize;if(IFrameSplitOperator.IsPlusNumber(item.MinSize))this.DRAWICON.Text.MinSize=item.MinSize;if(item.Zoom)this.DRAWICON.Text.Zoom=item.Zoom;if(item.FontName)this.DRAWICON.Text.FontName=item.FontName;if(IFrameSplitOperator.IsNumber(item.YOffset))this.DRAWICON.Text.YOffset=item.YOffset;}}if(style.DRAWTEXT){var item=style.DRAWTEXT;if(IFrameSplitOperator.IsPlusNumber(item.MaxSize))this.DRAWICON.MaxSize=item.MaxSize;if(IFrameSplitOperator.IsPlusNumber(item.MinSize))this.DRAWICON.MinSize=item.MinSize;if(item.Zoom)this.DRAWTEXT.Zoom=item.Zoom;if(item.FontName)this.DRAWTEXT.FontName=item.FontName;if(IFrameSplitOperator.IsNumber(item.YOffset))this.DRAWTEXT.YOffset=item.YOffset;}if(style.DRAWTEXT_FIX){var item=style.DRAWTEXT_FIX;if(item.Font)this.DRAWTEXT_FIX.Font=item.Font;}if(style.DRAWNUMBER_FIX){var item=style.DRAWNUMBER_FIX;if(item.Font)this.DRAWNUMBER_FIX.Font=item.Font;}if(style.DRAWNUMBER){var item=style.DRAWNUMBER;if(IFrameSplitOperator.IsPlusNumber(item.MaxSize))this.DRAWNUMBER.MaxSize=item.MaxSize;if(IFrameSplitOperator.IsPlusNumber(item.MinSize))this.DRAWNUMBER.MinSize=item.MinSize;if(item.Zoom)this.DRAWNUMBER.Zoom=item.Zoom;if(item.FontName)this.DRAWNUMBER.FontName=item.FontName;if(IFrameSplitOperator.IsNumber(item.YOffset))this.DRAWNUMBER.YOffset=item.YOffset;}if(style.DRAWABOVE){var item=style.DRAWABOVE;if(IFrameSplitOperator.IsNumber(item.YOffset))this.DRAWABOVE.YOffset=item.YOffset;}if(style.DOTLINE)this.DOTLINE=style.DOTLINE;if(style.DRAWSL)this.DOTLINE=style.DRAWSL;if(style.DragSubFrameBorder)this.DragSubFrameBorder=style.DragSubFrameBorder;if(style.DepthMapPaint){var item=style.DepthMapPaint;if(item.LineColor)this.DepthMapPaint.LineColor=item.LineColor;if(item.AreaColor)this.DepthMapPaint.AreaColor=item.AreaColor;if(item.TextColor)this.DepthMapPaint.TextColor=item.TextColor;if(item.TextBGColor)this.DepthMapPaint.TextBGColor=item.TextBGColor;}if(style.KLineYAxisBGPaint){var item=style.KLineYAxisBGPaint;if(item.Font)this.KLineYAxisBGPaint.Font=item.Font;if(item.LineColor)this.KLineYAxisBGPaint.LineColor=item.LineColor;if(item.DiffValutTextColor)this.KLineYAxisBGPaint.DiffValutTextColor=item.DiffValutTextColor;if(item.DiffValueBGColor)this.KLineYAxisBGPaint.DiffValueBGColor=item.DiffValueBGColor;}if(style.StockChip){var item=style.StockChip;if(item.InfoColor)this.StockChip.InfoColor=item.InfoColor;if(item.DayInfoColor)this.StockChip.DayInfoColor=item.DayInfoColor;if(item.Font)this.StockChip.Font=item.Font;if(item.DefaultButton)T_SetButtonStyle(item.DefaultButton,this.StockChip.DefaultButton);if(item.LongButton)T_SetButtonStyle(item.LongButton,this.StockChip.LongButton);if(item.RecentButton)T_SetButtonStyle(item.RecentButton,this.StockChip.RecentButton);if(item.CloseButton)T_SetButtonStyle(item.CloseButton,this.StockChip.CloseButton);if(item.PhoneCloseButton){var subItem=item.PhoneCloseButton;if(subItem.Family)this.StockChip.PhoneCloseButton.Family=subItem.Family;if(subItem.Text)this.StockChip.PhoneCloseButton.Text=subItem.Text;if(subItem.Color)this.StockChip.PhoneCloseButton.Color=subItem.Color;if(IFrameSplitOperator.IsNumber(subItem.Size))this.StockChip.PhoneCloseButton.Size=subItem.Size;if(IFrameSplitOperator.IsBool(subItem.IsShow))this.StockChip.PhoneCloseButton.IsShow=subItem.IsShow;if(subItem.Border){if(subItem.Border.BGColor)this.StockChip.PhoneCloseButton.Border.BGColor=subItem.Border.BGColor;}}}if(style.DepthChart){var item=style.DepthChart;if(item.BidColor){if(item.BidColor.Line)this.DepthChart.BidColor.Line=item.BidColor.Line;if(item.BidColor.Area)this.DepthChart.BidColor.Area=item.BidColor.Area;}if(item.AskColor){if(item.AskColor.Line)this.DepthChart.AskColor.Line=item.AskColor.Line;if(item.AskColor.Area)this.DepthChart.AskColor.Area=item.AskColor.Area;}if(item.LineWidth)this.DepthChart.LineWidth=item.LineWidth;}if(style.DepthCorss){var item=style.DepthCorss;if(item.BidColor){if(item.BidColor.Line)this.DepthCorss.BidColor.Line=item.BidColor.Line;}if(item.AskColor){if(item.AskColor.Line)this.DepthCorss.AskColor.Line=item.AskColor.Line;}if(item.LineWidth)this.DepthCorss.LineWidth=item.LineWidth;if(item.LineDash)this.DepthCorss.LineDash=item.LineDash;if(item.Tooltip){var tooltip=item.Tooltip;if(tooltip.BGColor)this.DepthCorss.Tooltip.BGColor=tooltip.BGColor;if(tooltip.TextColor)this.DepthCorss.Tooltip.TextColor=tooltip.TextColor;if(tooltip.Font)this.DepthCorss.Tooltip.Font=tooltip.Font;if(tooltip.LineHeight)this.DepthCorss.Tooltip.LineHeight=tooltip.LineHeight;var border=tooltip.Border;if(IFrameSplitOperator.IsNumber(border.Top))this.DepthCorss.Tooltip.Border.Top=border.Top;if(IFrameSplitOperator.IsNumber(border.Bottom))this.DepthCorss.Tooltip.Border.Bottom=border.Bottom;if(IFrameSplitOperator.IsNumber(border.Left))this.DepthCorss.Tooltip.Border.Left=border.Left;if(IFrameSplitOperator.IsNumber(border.Right))this.DepthCorss.Tooltip.Border.Right=border.Right;if(IFrameSplitOperator.IsNumber(border.ItemSpace))this.DepthCorss.Tooltip.Border.ItemSpace=border.ItemSpace;}}if(style.CIRCLEDOT){var item=style.CIRCLEDOT;if(IFrameSplitOperator.IsNumber(item.Radius))this.CIRCLEDOT.Radius=item.Radius;}if(style.POINTDOT){var item=style.POINTDOT;if(IFrameSplitOperator.IsNumber(item.Radius))this.POINTDOT.Radius=item.Radius;}if(style.RectSelect){var item=style.RectSelect;if(item.LineColor)this.RectSelect.LineColor=item.LineColor;if(item.LineWidth>0)this.RectSelect.LineWidth=item.LineWidth;if(item.LineDotted)this.RectSelect.LineDotted=item.LineDotted;if(item.AreaColor)this.RectSelect.AreaColor=item.AreaColor;if(item.SubAreaColor)this.RectSelect.SubAreaColor=item.SubAreaColor;if(item.RangeTextColor)this.RectSelect.RangeTextColor=item.RangeTextColor;if(item.RangeTextFont)this.RectSelect.RangeTextFont=item.RangeTextFont;if(item.RangeTextBGColor)this.RectSelect.RangeTextBGColor=item.RangeTextBGColor;if(item.RangeTextSubColor)this.RectSelect.RangeTextSubColor=item.RangeTextSubColor;if(item.RangeTextSubFont)this.RectSelect.RangeTextSubFont=item.RangeTextSubFont;if(item.RangeTextSubBGColor)this.RectSelect.RangeTextSubBGColor=item.RangeTextSubBGColor;if(item.Mark){var subItem=item.Mark;if(subItem.Family)this.RectSelect.Mark.Family=subItem.Family;if(subItem.Text)this.RectSelect.Mark.Text=subItem.Text;if(subItem.Color)this.RectSelect.Mark.Color=subItem.Color;if(IFrameSplitOperator.IsNumber(subItem.Size))this.RectSelect.Mark.Size=subItem.Size;if(subItem.Position){if(subItem.Position.Top)this.RectSelect.Mark.Position.Top=subItem.Position.Top;if(IFrameSplitOperator.IsNumber(subItem.Position.Index))this.RectSelect.Mark.Position.Index=subItem.Position.Index;}}}if(style.RectDrag){var item=style.RectDrag;var dest=this.RectDrag;if(item.LineColor)dest.LineColor=item.LineColor;if(IFrameSplitOperator.IsPlusNumber(item.LineWidth))dest.LineWidth=item.LineWidth;if(item.BGColor)dest.BGColor=item.BGColor;}if(style.OrderFlow){item=style.OrderFlow;if(item.UpColor)this.OrderFlow.UpColor=item.UpColor;if(item.DownColor)this.OrderFlow.DownColor=item.DownColor;if(item.UnchagneColor)this.OrderFlow.UnchagneColor=item.UnchagneColor;if(item.Text)this.OrderFlow.Text=item.Text;if(item.Line)this.OrderFlow.Line=item.Line;}if(style.OrderFlow_Style2){item=style.OrderFlow_Style2;if(item.UpColor)this.OrderFlow_Style2.UpColor=item.UpColor;if(item.DownColor)this.OrderFlow_Style2.DownColor=item.DownColor;if(item.UnchagneColor)this.OrderFlow_Style2.UnchagneColor=item.UnchagneColor;if(IFrameSplitOperator.IsNumber(item.BarWidth))this.OrderFlow_Style2.BarWidth=item.BarWidth;}if(style.ChartOX){var item=style.ChartOX;if(item.Family)this.ChartOX.Family=item.Family;if(item.Up)this.ChartOX.Up=item.Up;if(item.Down)this.ChartOX.Down=item.Down;if(item.SquareLineColor)this.ChartOX.SquareLineColor=item.SquareLineColor;}if(style.DealList){var item=style.DealList;if(item.BorderColor)this.DealList.BorderColor=item.BorderColor;if(item.UpTextColor)this.DealList.UpTextColor=item.UpTextColor;if(item.DownTextColor)this.DealList.DownTextColor=item.DownTextColor;if(item.UnchagneTextColor)this.DealList.UnchagneTextColor=item.UnchagneTextColor;if(item.CloseLineColor)this.DealList.CloseLineColor=item.CloseLineColor;if(item.Header){var header=item.Header;if(header.Color)this.DealList.Header.Color=header.Color;if(header.Mergin){var mergin=header.Mergin;if(IFrameSplitOperator.IsNumber(mergin.Left))this.DealList.Header.Mergin.Left=mergin.Left;if(IFrameSplitOperator.IsNumber(mergin.Right))this.DealList.Header.Mergin.Right=mergin.Right;if(IFrameSplitOperator.IsNumber(mergin.Top))this.DealList.Header.Mergin.Top=mergin.Top;if(IFrameSplitOperator.IsNumber(mergin.Bottom))this.DealList.Header.Mergin.Bottom=mergin.Bottom;}if(header.Font){var font=header.Font;if(font.Name)this.DealList.Header.Font.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))this.DealList.Header.Font.Size=font.Size;}}if(item.Row){var row=item.Row;if(row.Mergin){var mergin=row.Mergin;if(IFrameSplitOperator.IsNumber(mergin.Top))this.DealList.Row.Mergin.Top=mergin.Top;if(IFrameSplitOperator.IsNumber(mergin.Bottom))this.DealList.Row.Mergin.Bottom=mergin.Bottom;}if(row.Font){var font=row.Font;if(font.Name)this.DealList.Row.Font.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))this.DealList.Row.Font.Size=font.Size;}if(row.BarMergin){var mergin=row.BarMergin;if(IFrameSplitOperator.IsNumber(mergin.Left))this.DealList.Row.BarMergin.Left=mergin.Left;if(IFrameSplitOperator.IsNumber(mergin.Top))this.DealList.Row.BarMergin.Top=mergin.Top;if(IFrameSplitOperator.IsNumber(mergin.Right))this.DealList.Row.BarMergin.Right=mergin.Right;if(IFrameSplitOperator.IsNumber(mergin.Bottom))this.DealList.Row.BarMergin.Bottom=mergin.Bottom;}}if(item.FieldColor){var filed=item.FieldColor;if(filed.Vol)this.DealList.FieldColor.Vol=filed.Vol;if(filed.Time)this.DealList.FieldColor.Time=filed.Time;if(filed.Deal)this.DealList.FieldColor.Deal=filed.Deal;if(filed.Index)this.DealList.FieldColor.Index=filed.Index;if(filed.BarTitle)this.DealList.FieldColor.BarTitle=filed.BarTitle;if(filed.Text)this.DealList.FieldColor.Text=filed.Text;if(IFrameSplitOperator.IsNonEmptyArray(filed.Bar)){for(var i=0;i<filed.Bar.length;++i){this.DealList.FieldColor.Bar[i]=filed.Bar[i];}}}if(item.Selected){var subItem=item.Selected;if(subItem.BGColor)this.DealList.Selected.BGColor=subItem.BGColor;if(subItem.LineColor)this.DealList.Selected.LineColor=subItem.LineColor;if(IFrameSplitOperator.IsPlusNumber(subItem.LineWidth))this.DealList.Selected.LineWidth=subItem.LineWidth;}}if(style.Report)this.SetReportStyle(style.Report);if(style.TReport)this.SetTReportStyle(style.TReport);if(style.SelectedChart){var item=style.SelectedChart;if(IFrameSplitOperator.IsNumber(item.LineWidth))this.SelectedChart.LineWidth=item.LineWidth;if(IFrameSplitOperator.IsNumber(item.Radius))this.SelectedChart.Radius=item.Radius;if(IFrameSplitOperator.IsNumber(item.MinSpace))this.SelectedChart.MinSpace=item.MinSpace;if(item.LineColor)this.SelectedChart.LineColor=item.LineColor;if(item.BGColor)this.SelectedChart.BGColor=item.BGColor;}if(style.DragMovePaint){var item=style.DragMovePaint;if(item.TextColor)this.DragMovePaint.TextColor=item.TextColor;if(item.Font)this.DragMovePaint.Font=item.Font;}if(style.SessionBreaksPaint){var item=style.SessionBreaksPaint;if(IFrameSplitOperator.IsNonEmptyArray(item.BGColor))this.SessionBreaksPaint.BGColor=item.BGColor.slice();if(item.SplitLine){var subItem=item.SplitLine;if(subItem.Color)this.SessionBreaksPaint.SplitLine.Color=subItem.Color;if(IFrameSplitOperator.IsNumber(subItem.Width))this.SessionBreaksPaint.SplitLine.Width=subItem.Width;this.SessionBreaksPaint.SplitLine.Dash=subItem.Dash;}}if(IFrameSplitOperator.IsNumber(style.ToolbarButtonStyle))this.ToolbarButtonStyle=style.ToolbarButtonStyle;if(style.Buttons){var buttons=style.Buttons;T_SetButtonStyle(buttons.CloseOverlayIndex,this.Buttons.CloseOverlayIndex);T_SetButtonStyle(buttons.CloseWindow,this.Buttons.CloseWindow);T_SetButtonStyle(buttons.ChangeIndex,this.Buttons.ChangeIndex);T_SetButtonStyle(buttons.OverlayIndex,this.Buttons.OverlayIndex);T_SetButtonStyle(buttons.ModifyIndexParam,this.Buttons.ModifyIndexParam);T_SetButtonStyle(buttons.MaxMinWindow,this.Buttons.MaxMinWindow);T_SetButtonStyle(buttons.TitleWindow,this.Buttons.TitleWindow);T_SetButtonStyle(buttons.ExportData,this.Buttons.ExportData);T_SetButtonStyle(buttons.AddIndexWindow,this.Buttons.AddIndexWindow);T_SetButtonStyle(buttons.IndexHelp,this.Buttons.IndexHelp);if(buttons.Tooltip){var item=buttons.Tooltip;var src=this.Buttons.Tooltip;if(item.Font)src.Font=item.Font;if(item.Color)src.Color=item.Color;if(item.ColorBG)src.ColorBG=item.ColorBG;if(item.ColorBorder)src.ColorBorder=item.ColorBorder;if(item.BorderRadius)src.BorderRadius=item.BorderRadius;if(item.Margin){if(IFrameSplitOperator.IsNumber(item.Margin.Left))src.Margin.Left=item.Margin.Left;if(IFrameSplitOperator.IsNumber(item.Margin.Top))src.Margin.Top=item.Margin.Top;if(IFrameSplitOperator.IsNumber(item.Margin.Bottom))src.Margin.Bottom=item.Margin.Bottom;if(IFrameSplitOperator.IsNumber(item.Margin.Right))src.Margin.Right=item.Margin.Right;}}}if(style.ChartDrawVolProfile){var item=style.ChartDrawVolProfile;if(item.UpVolColor)this.ChartDrawVolProfile.UpVolColor=item.UpVolColor;if(item.DownVolColor)this.ChartDrawVolProfile.DownVolColor=item.DownVolColor;if(item.AreaUpColor)this.ChartDrawVolProfile.AreaUpColor=item.AreaUpColor;if(item.AreaDonwColor)this.ChartDrawVolProfile.AreaDonwColor=item.AreaDonwColor;if(item.BGColor)this.ChartDrawVolProfile.BGColor=item.BGColor;if(item.BorderColor)this.ChartDrawVolProfile.BorderColor=item.BorderColor;if(item.VolLineColor)this.ChartDrawVolProfile.VolLineColor=item.VolLineColor;if(item.Text){if(item.Text.Color)this.ChartDrawVolProfile.Text.Color=item.Text.Color;if(item.Text.Family)this.ChartDrawVolProfile.Text.Family=item.Text.Family;if(IFrameSplitOperator.IsNumber(item.Text.FontMaxSize))this.ChartDrawVolProfile.Text.FontMaxSize=item.Text.FontMaxSize;if(IFrameSplitOperator.IsNumber(item.Text.FontMinSize))this.ChartDrawVolProfile.Text.FontMinSize=item.Text.FontMinSize;}}if(style.DisableLogo===true){if(this.FrameLogo)this.FrameLogo.Text=null;}if(style.ScrollBar){var item=style.ScrollBar;if(item.BorderColor)this.ScrollBar.BorderColor=item.BorderColor;if(item.XSplitTextFont)this.ScrollBar.XSplitTextFont=item.XSplitTextFont;if(item.XSplitTextColor)this.ScrollBar.XSplitTextColor=item.XSplitTextColor;if(item.XSplitLineColor)this.ScrollBar.XSplitLineColor=item.XSplitLineColor;if(item.Slider){var subItem=item.Slider;if(subItem.DateFont)this.ScrollBar.Slider.DateFont=subItem.DateFont;if(subItem.DateColor)this.ScrollBar.Slider.DateColor=subItem.DateColor;if(subItem.BarColor)this.ScrollBar.Slider.BarColor=subItem.BarColor;if(subItem.BarAreaColor)this.ScrollBar.Slider.BarAreaColor=subItem.BarAreaColor;if(IFrameSplitOperator.IsNumber(subItem.BarWidth))this.ScrollBar.Slider.BarWidth=subItem.BarWidth;if(IFrameSplitOperator.IsNumber(subItem.BarPadding))this.ScrollBar.Slider.BarPadding=subItem.BarPadding;if(IFrameSplitOperator.IsNumber(subItem.MinCenterWidth))this.ScrollBar.Slider.MinCenterWidth=subItem.MinCenterWidth;}if(item.BGChart){var subItem=item.BGChart;if(subItem.Color)this.ScrollBar.BGChart.Color=subItem.Color;if(subItem.AreaColor)this.ScrollBar.BGChart.AreaColor=subItem.AreaColor;if(IFrameSplitOperator.IsPlusNumber(subItem.LineWidth))this.ScrollBar.BGChart.LineWidth=subItem.LineWidth;}}if(style.FrameButtomToolbar)this.SetFrameButtomToolbar(style.FrameButtomToolbar);if(style.Keyboard)this.SetKeyboardStyle(style.Keyboard);if(style.MinuteToolbar)this.SetMinuteToolbar(style.MinuteToolbar);if(style.KLineToolbar)this.SetKLineToolbar(style.KLineToolbar);if(style.IndexLock)this.SetIndexLock(style.IndexLock);if(style.ChartScatterPlotV2)this.SetChartScatterPlotV2(style.ChartScatterPlotV2);if(style.ChartDrawTVLongPosition)this.SetChartDrawTVLongPosition(style.ChartDrawTVLongPosition);if(style.KLineCountDownPaint)this.SetKLineCountDownPaint(style.KLineCountDownPaint);if(style.SmallFloatTooltipV2)this.SetSmallFloatTooltipV2(style.SmallFloatTooltipV2);if(style.StockInfo)this.SetStockInfo(style.StockInfo);};this.SetStockInfo=function(style){var dest=this.StockInfo;if(style.BuySell){var item=style.BuySell;if(item.Font)dest.BuySell.Font=item.Font;if(item.TitleColor)dest.BuySell.TitleColor=item.TitleColor;if(item.VolColor)dest.BuySell.VolColor=item.VolColor;CopyMarginConfig(dest.BuySell.Margin,item.Margin);if(item.CellMargin){var subItem=item.CellMargin;CopyMarginConfig(dest.BuySell.CellMargin,subItem);if(IFrameSplitOperator.IsNumber(subItem.YOffset))dest.BuySell.CellMargin.YOffset=subItem.YOffset;}if(item.BottomLine){var subItem=item.BottomLine;if(subItem.Color)dest.BuySell.BottomLine.Color=subItem.Color;if(IFrameSplitOperator.IsBool(subItem.Enable))dest.BuySell.BottomLine.Enable=subItem.Enable;}if(item.TopLine){var subItem=item.TopLine;if(subItem.Color)dest.BuySell.TopLine.Color=subItem.Color;if(IFrameSplitOperator.IsBool(subItem.Enable))dest.BuySell.TopLine.Enable=subItem.Enable;}if(item.CenterLine){var subItem=item.CenterLine;if(subItem.BuyColor)dest.BuySell.CenterLine.BuyColor=subItem.BuyColor;if(subItem.SellColor)dest.BuySell.CenterLine.SellColor=subItem.SellColor;if(subItem.NoneColor)dest.BuySell.CenterLine.NoneColor=subItem.NoneColor;if(IFrameSplitOperator.IsNumber(subItem.Width))dest.BuySell.CenterLine.Width=subItem.Width;}}if(style.Table){var item=style.Table;if(item.Font)dest.Table.Font=item.Font;if(item.TitleColor)dest.Table.TitleColor=item.TitleColor;if(item.TextColor)dest.Table.TextColor=item.TextColor;CopyMarginConfig(dest.Table.Margin,item.Margin);if(item.CellMargin){var subItem=item.CellMargin;CopyMarginConfig(dest.Table.CellMargin,subItem);if(IFrameSplitOperator.IsNumber(subItem.YOffset))dest.Table.CellMargin.YOffset=subItem.YOffset;}}if(style.Header){var item=style.Header;if(item.Font)dest.Header.Font=item.Font;if(item.TextColor)dest.Header.TextColor=item.TextColor;if(item.Name){var subItem=item.Name;if(subItem.Font)dest.Header.Name.Font=subItem.Font;if(subItem.Color)dest.Header.Name.Color=subItem.Color;if(subItem.Margin){var margin=subItem.Margin;CopyMarginConfig(dest.Header.Name.Margin,margin);if(IFrameSplitOperator.IsNumber(margin.YOffset))dest.Header.Name.Margin.YOffset=margin.YOffset;}}if(item.Symbol){var subItem=item.Symbol;if(subItem.Font)dest.Header.Symbol.Font=subItem.Font;if(subItem.Color)dest.Header.Symbol.Color=subItem.Color;if(subItem.Margin){var margin=subItem.Margin;CopyMarginConfig(dest.Header.Symbol.Margin,margin);if(IFrameSplitOperator.IsNumber(margin.YOffset))dest.Header.Symbol.Margin.YOffset=margin.YOffset;}}if(IFrameSplitOperator.IsNonEmptyArray(item.AryCell)){for(var i=0;i<item.AryCell.length;++i){var subItem=item.AryCell[i];if(!dest.Header.AryCell[i])dest.Header.AryCell[i]={};var subDest=dest.Header.AryCell[i];if(subItem.Font)subDest.Font=subItem.Font;if(subItem.Margin){var margin=subItem.Margin;CopyMarginConfig(subDest.Margin,margin);if(IFrameSplitOperator.IsNumber(margin.YOffset))subDest.YOffset=margin.YOffset;}}}if(item.BottomLine){var subItem=item.BottomLine;if(subItem.Color)dest.Header.BottomLine.Color=subItem.Color;if(IFrameSplitOperator.IsBool(subItem.Enable))dest.Header.BottomLine.Enable=subItem.Enable;}}if(style.UpTextColor)dest.UpTextColor=style.UpTextColor;if(style.DownTextColor)dest.DownTextColor=style.DownTextColor;if(style.UnchangeTextColor)dest.UnchangeTextColor=style.UnchangeTextColor;if(style.BorderColor)dest.BorderColor=style.BorderColor;};this.SetSmallFloatTooltipV2=function(style){var dest=this.SmallFloatTooltipV2;if(style.BGColor)dest.BGColor=style.BGColor;if(style.BorderColor)dest.BorderColor=style.BorderColor;if(style.TextColor)dest.TextColor=style.TextColor;if(style.ValueColor)dest.ValueColor=style.ValueColor;};this.SetKLineCountDownPaint=function(style){var dest=this.KLineCountDownPaint;if(style.Font)dest.Font=style.Font;if(style.TextMargin){var item=style.TextMargin;CopyMarginConfig(dest.TextMargin,item);if(IFrameSplitOperator.IsNumber(item.YOffset))dest.TextMargin.YOffset=item.YOffset;}if(style.LabelMargin)CopyMarginConfig(dest.LabelMargin,style.LabelMargin);if(style.Line){var item=style.Line;if(IFrameSplitOperator.IsNumber(item.Width))dest.Line.Width=item.Width;if(IFrameSplitOperator.IsBool(item.IsShow))dest.Line.Width=item.Width;if(item.Dash)dest.Line.Dash=item.Dash;}if(style.Unchange){var item=style.Unchange;var subDest=dest.Unchange;if(item.BGColor)subDest.BGColor=item.BGColor;if(item.PriceColor)subDest.PriceColor=item.PriceColor;if(item.TimeColor)subDest.TimeColor=item.TimeColor;}if(style.Up){var item=style.Up;var subDest=dest.Up;if(item.BGColor)subDest.BGColor=item.BGColor;if(item.PriceColor)subDest.PriceColor=item.PriceColor;if(item.TimeColor)subDest.TimeColor=item.TimeColor;}if(style.Down){var item=style.Down;var subDest=dest.Down;if(item.BGColor)subDest.BGColor=item.BGColor;if(item.PriceColor)subDest.PriceColor=item.PriceColor;if(item.TimeColor)subDest.TimeColor=item.TimeColor;}};this.SetChartDrawTVLongPosition=function(style){if(style.TopArea){var item=style.TopArea;var dest=this.ChartDrawTVLongPosition.TopArea;if(item.AreaColor)dest.AreaColor=item.AreaColor;if(item.SelectedAreaColor)dest.SelectedAreaColor=item.SelectedAreaColor;if(item.TextBGColor)dest.TextBGColor=item.TextBGColor;if(item.TextColor)dest.BorderColor=item.TextColor;}if(style.BottomArea){var item=style.BottomArea;var dest=this.ChartDrawTVLongPosition.BottomArea;if(item.AreaColor)dest.AreaColor=item.AreaColor;if(item.SelectedAreaColor)dest.SelectedAreaColor=item.SelectedAreaColor;if(item.TextBGColor)dest.TextBGColor=item.TextBGColor;if(item.TextColor)dest.BorderColor=item.TextColor;}if(style.Label){var item=style.Label;var dest=this.ChartDrawTVLongPosition.Label;if(item.Font)dest.Font=item.Font;CopyMarginConfig(dest.Margin,item.Margin);}};this.SetKeyboardStyle=function(style){var item=style;var dest=this.Keyboard;if(item.BorderColor)dest.BorderColor=item.BorderColor;if(item.SelectedColor)dest.SelectedColor=item.SelectedColor;if(item.TextColor)dest.TextColor=item.TextColor;if(item.Item){var row=item.Item;if(row.Mergin){var mergin=row.Mergin;if(IFrameSplitOperator.IsNumber(mergin.Left))dest.Item.Mergin.Left=mergin.Left;if(IFrameSplitOperator.IsNumber(mergin.Right))dest.Item.Mergin.Right=mergin.Right;if(IFrameSplitOperator.IsNumber(mergin.Top))dest.Item.Mergin.Top=mergin.Top;if(IFrameSplitOperator.IsNumber(mergin.Bottom))dest.Item.Mergin.Bottom=mergin.Bottom;}if(row.Font){var font=row.Font;if(font.Name)dest.Item.Font.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))dest.Item.Font.Size=font.Size;}if(row.BarMergin){var mergin=row.BarMergin;if(IFrameSplitOperator.IsNumber(mergin.Left))dest.Item.BarMergin.Left=mergin.Left;if(IFrameSplitOperator.IsNumber(mergin.Top))dest.Item.BarMergin.Top=mergin.Top;if(IFrameSplitOperator.IsNumber(mergin.Right))dest.Item.BarMergin.Right=mergin.Right;if(IFrameSplitOperator.IsNumber(mergin.Bottom))dest.Item.BarMergin.Bottom=mergin.Bottom;}if(row.NameFont){var font=row.NameFont;if(font.Name)dest.Item.NameFont.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))dest.Item.NameFont.Size=font.Size;}if(row.SymbolFont){var font=row.SymbolFont;if(font.Name)dest.Item.SymbolFont.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))dest.Item.SymbolFont.Size=font.Size;}}if(item.VScrollbar){var scroll=item.VScrollbar;if(IFrameSplitOperator.IsNumber(scroll.ScrollBarHeight))dest.VScrollbar.ScrollBarHeight=scroll.ScrollBarHeight;if(scroll.ButtonColor)dest.VScrollbar.ButtonColor=scroll.ButtonColor;if(scroll.BarColor)dest.VScrollbar.BarColor=scroll.BarColor;if(scroll.BorderColor)dest.VScrollbar.BorderColor=scroll.BorderColor;if(scroll.BGColor)dest.VScrollbar.BGColor=scroll.BGColor;if(scroll.BarWidth){var subItem=scroll.BarWidth;if(IFrameSplitOperator.IsNumber(subItem.Size))dest.VScrollbar.BarWidth.Size=subItem.Size;}}};this.SetReportStyle=function(style){var item=style;var dest=this.Report;if(item.BorderColor)this.Report.BorderColor=item.BorderColor;if(item.UpTextColor)this.Report.UpTextColor=item.UpTextColor;if(item.DownTextColor)this.Report.DownTextColor=item.DownTextColor;if(item.UnchagneTextColor)this.Report.UnchagneTextColor=item.UnchagneTextColor;if(item.BorderColor)this.Report.SelectedColor=item.SelectedColor;if(item.SelectedLine){var subItem=item.SelectedLine;var subDest=this.Report.SelectedLine;if(subItem.Color)subDest.Color=subItem.Color;if(IFrameSplitOperator.IsNumber(subItem.Width))subDest.Width=subItem.Width;}if(item.CloseLine){var closeLine=item.CloseLine;if(closeLine.CloseColor)this.Report.CloseLine.CloseColor=closeLine.CloseColor;if(closeLine.YCloseColor)this.Report.CloseLine.YCloseColor=closeLine.YCloseColor;if(closeLine.AreaColor)this.Report.CloseLine.AreaColor=closeLine.AreaColor;if(closeLine.UpColor)this.Report.CloseLine.UpColor=closeLine.UpColor;if(closeLine.UpAreaColor)this.Report.CloseLine.UpAreaColor=closeLine.UpAreaColor;if(closeLine.DownColor)this.Report.CloseLine.DownColor=closeLine.DownColor;if(closeLine.DownAreaColor)this.Report.CloseLine.DownAreaColor=closeLine.DownAreaColor;if(closeLine.UnchangeColor)this.Report.CloseLine.UnchangeColor=closeLine.UnchangeColor;if(closeLine.UnchangeAreaColor)this.Report.CloseLine.UnchangeAreaColor=closeLine.UnchangeAreaColor;}if(item.KLine){var kline=item.KLine;if(kline.UpColor)this.Report.KLine.UpColor=kline.UpColor;if(kline.DownColor)this.Report.KLine.DownColor=kline.DownColor;if(kline.UnchagneColor)this.Report.KLine.UnchagneColor=kline.UnchagneColor;if(IFrameSplitOperator.IsNumber(kline.DataWidth))this.Report.KLine.DataWidth=kline.DataWidth;if(IFrameSplitOperator.IsNumber(kline.DistanceWidth))this.Report.KLine.DistanceWidth=kline.DistanceWidth;}if(item.Header){var header=item.Header;if(header.Color)this.Report.Header.Color=header.Color;if(header.Mergin){var mergin=header.Mergin;if(IFrameSplitOperator.IsNumber(mergin.Left))this.Report.Header.Mergin.Left=mergin.Left;if(IFrameSplitOperator.IsNumber(mergin.Right))this.Report.Header.Mergin.Left=mergin.Right;if(IFrameSplitOperator.IsNumber(mergin.Top))this.Report.Header.Mergin.Top=mergin.Top;if(IFrameSplitOperator.IsNumber(mergin.Bottom))this.Report.Header.Mergin.Bottom=mergin.Bottom;}if(header.Font){var font=header.Font;if(font.Name)this.Report.Header.Font.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))this.Report.Header.Font.Size=font.Size;}}if(item.SortIcon){var sort=item.SortIcon;if(IFrameSplitOperator.IsNonEmptyArray(sort.Color))this.Report.SortIcon.Color=sort.Color.slice();if(IFrameSplitOperator.IsNumber(sort.Size))this.Report.SortIcon.Size=sort.Size;if(sort.Family)this.Report.SortIcon.Family=sort.Family;if(IFrameSplitOperator.IsNonEmptyArray(sort.Arrow))this.Report.SortIcon.Arrow=sort.Arrow.slice();if(sort.Margin){var margin=sort.Margin;if(IFrameSplitOperator.IsNumber(margin.Left))this.Report.SortIcon.Margin.Left=margin.Left;if(IFrameSplitOperator.IsNumber(margin.Right))this.Report.SortIcon.Margin.Right=margin.Right;if(IFrameSplitOperator.IsNumber(margin.Top))this.Report.SortIcon.Margin.Top=margin.Top;if(IFrameSplitOperator.IsNumber(margin.Bottom))this.Report.SortIcon.Margin.Bottom=margin.Bottom;}}if(item.Item){var row=item.Item;if(row.Mergin){var mergin=row.Mergin;if(IFrameSplitOperator.IsNumber(mergin.Left))this.Report.Item.Mergin.Left=mergin.Left;if(IFrameSplitOperator.IsNumber(mergin.Right))this.Report.Item.Mergin.Right=mergin.Right;if(IFrameSplitOperator.IsNumber(mergin.Top))this.Report.Item.Mergin.Top=mergin.Top;if(IFrameSplitOperator.IsNumber(mergin.Bottom))this.Report.Item.Mergin.Bottom=mergin.Bottom;}if(row.Font){var font=row.Font;if(font.Name)this.Report.Item.Font.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))this.Report.Item.Font.Size=font.Size;}if(row.BarMergin){var mergin=row.BarMergin;if(IFrameSplitOperator.IsNumber(mergin.Left))this.Report.Item.BarMergin.Left=mergin.Left;if(IFrameSplitOperator.IsNumber(mergin.Top))this.Report.Item.BarMergin.Top=mergin.Top;if(IFrameSplitOperator.IsNumber(mergin.Right))this.Report.Item.BarMergin.Right=mergin.Right;if(IFrameSplitOperator.IsNumber(mergin.Bottom))this.Report.Item.BarMergin.Bottom=mergin.Bottom;}if(row.NameFont){var font=row.NameFont;if(font.Name)this.Report.Item.NameFont.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))this.Report.Item.NameFont.Size=font.Size;}if(row.SymbolFont){var font=row.SymbolFont;if(font.Name)this.Report.Item.SymbolFont.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))this.Report.Item.SymbolFont.Size=font.Size;}}if(item.FixedItem){var row=item.FixedItem;if(row.Font){var font=row.Font;if(font.Name)this.Report.FixedItem.Font.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))this.Report.FixedItem.Font.Size=font.Size;}}if(item.LimitBorder){var limit=item.LimitBorder;if(limit.Color)this.Report.LimitBorder.Color=limit.Color;if(limit.Mergin){var mergin=limit.Mergin;if(IFrameSplitOperator.IsNumber(mergin.Left))this.Report.LimitBorder.Mergin.Left=mergin.Left;if(IFrameSplitOperator.IsNumber(mergin.Top))this.Report.LimitBorder.Mergin.Top=mergin.Top;if(IFrameSplitOperator.IsNumber(mergin.Right))this.Report.LimitBorder.Mergin.Right=mergin.Right;if(IFrameSplitOperator.IsNumber(mergin.Bottom))this.Report.LimitBorder.Mergin.Bottom=mergin.Bottom;}}if(item.LimitColor){var limit=item.LimitColor;if(limit.UpColor)this.Report.LimitColor.UpColor=limit.UpColor;if(limit.DownColor)this.Report.LimitColor.DownColor=limit.DownColor;if(limit.TextColor)this.Report.LimitColor.UpColor=limit.TextColor;}if(item.FieldColor){var filed=item.FieldColor;if(filed.Name)this.Report.FieldColor.Name=filed.Name;if(filed.Symbol)this.Report.FieldColor.Symbol=filed.Symbol;if(filed.Vol)this.Report.FieldColor.Vol=filed.Vol;if(filed.Amount)this.Report.FieldColor.Amount=filed.Amount;if(filed.Index)this.Report.FieldColor.Index=filed.Index;if(filed.BarTitle)this.Report.FieldColor.BarTitle=filed.BarTitle;if(filed.Text)this.Report.FieldColor.Text=filed.Text;if(IFrameSplitOperator.IsNonEmptyArray(filed.Bar)){for(var i=0;i<filed.Bar.length;++i){this.Report.FieldColor.Bar[i]=filed.Bar[i];}}}if(item.NameSymbolV2){var nameSymbol=item.NameSymbolV2;if(nameSymbol.Name){var subItem=nameSymbol.Name;if(IFrameSplitOperator.IsNumber(subItem.Size))this.Report.NameSymbolV2.Name.Size=subItem.Size;if(subItem.Name)this.Report.NameSymbolV2.Name.Name=subItem.Name;if(subItem.Color)this.Report.NameSymbolV2.Name.Color=subItem.Color;}if(nameSymbol.Symbol){var subItem=nameSymbol.Symbol;if(IFrameSplitOperator.IsNumber(subItem.Size))this.Report.NameSymbolV2.Symbol.Size=subItem.Size;if(subItem.Name)this.Report.NameSymbolV2.Symbol.Name=subItem.Name;if(subItem.Color)this.Report.NameSymbolV2.Symbol.Color=subItem.Color;}}if(item.Tab){var tab=item.Tab;if(tab.Font){var font=tab.Font;if(font.Name)this.Report.Tab.Font.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))this.Report.Tab.Font.Size=font.Size;}if(IFrameSplitOperator.IsNumber(tab.ScrollBarWidth))this.Report.Tab.ScrollBarWidth=tab.ScrollBarWidth;if(tab.ButtonColor)this.Report.Tab.ButtonColor=tab.ButtonColor;if(tab.BarColor)this.Report.Tab.BarColor=tab.BarColor;if(tab.BorderColor)this.Report.Tab.BorderColor=tab.BorderColor;if(tab.TabTitleColor)this.Report.Tab.TabTitleColor=tab.TabTitleColor;if(tab.TabSelectedTitleColor)this.Report.Tab.TabSelectedTitleColor=tab.TabSelectedTitleColor;if(tab.TabSelectedBGColor)this.Report.Tab.TabSelectedBGColor=tab.TabSelectedBGColor;if(tab.TabMoveOnTitleColor)this.Report.Tab.TabMoveOnTitleColor=tab.TabMoveOnTitleColor;if(tab.TabBGColor)this.Report.Tab.TabBGColor=tab.TabBGColor;}if(item.PageInfo){var pageinfo=item.PageInfo;if(pageinfo.Font){var font=pageinfo.Font;if(font.Name)this.Report.PageInfo.Font.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))this.Report.PageInfo.Font.Size=font.Size;}if(pageinfo.TextColor)this.Report.PageInfo.TextColor=pageinfo.TextColor;if(pageinfo.BGColor)this.Report.PageInfo.BGColor=pageinfo.BGColor;if(pageinfo.Mergin){var mergin=pageinfo.Mergin;if(IFrameSplitOperator.IsNumber(mergin.Left))this.Report.PageInfo.Mergin.Left=mergin.Left;if(IFrameSplitOperator.IsNumber(mergin.Top))this.Report.PageInfo.Mergin.Top=mergin.Top;if(IFrameSplitOperator.IsNumber(mergin.Right))this.Report.PageInfo.Mergin.Right=mergin.Right;if(IFrameSplitOperator.IsNumber(mergin.Bottom))this.Report.PageInfo.Mergin.Bottom=mergin.Bottom;}}if(item.DragRow){var dragRow=item.DragRow;if(dragRow.Color)this.Report.DragRow.Color=dragRow.Color;if(dragRow.TextColor)this.Report.DragRow.TextColor=dragRow.TextColor;if(dragRow.MoveRowColor)this.Report.DragRow.MoveRowColor=dragRow.MoveRowColor;if(dragRow.SrcRowColor)this.Report.DragRow.SrcRowColor=dragRow.SrcRowColor;}if(item.VScrollbar){var subItem=item.VScrollbar;if(IFrameSplitOperator.IsNumber(subItem.ScrollBarHeight))dest.VScrollbar.ScrollBarHeight=subItem.ScrollBarHeight;if(subItem.ButtonColor)dest.VScrollbar.ButtonColor=subItem.ButtonColor;if(subItem.BarColor)dest.VScrollbar.BarColor=subItem.BarColor;if(subItem.BorderColor)dest.VScrollbar.BorderColor=subItem.BorderColor;if(subItem.BGColor)dest.VScrollbar.BGColor=subItem.BGColor;}if(item.CheckBox){var subItem=item.CheckBox;if(subItem.Family)dest.CheckBox.Family=subItem.Family;if(IFrameSplitOperator.IsNumber(subItem.Size))dest.CheckBox.Size=subItem.Size;if(subItem.Checked){var child=subItem.Checked;if(child.Color)dest.CheckBox.Checked.Color=child.Color;if(child.Symbol)dest.CheckBox.Checked.Symbol=child.Symbol;if(child.DisableColor)dest.CheckBox.Checked.DisableColor=child.DisableColor;}if(subItem.Unchecked){var child=subItem.Unchecked;if(child.Color)dest.CheckBox.Unchecked.Color=child.Color;if(child.Symbol)dest.CheckBox.Unchecked.Symbol=child.Symbol;if(child.DisableColor)dest.CheckBox.Unchecked.DisableColor=child.DisableColor;}CopyMarginConfig(dest.CheckBox.Margin,subItem.Margin);}if(item.Link){var subItem=item.Link;if(subItem.Font)dest.Link.Font=subItem.Font;if(subItem.TextColor)dest.Link.TextColor=subItem.TextColor;if(subItem.Disable&&subItem.Disable.TextColor)dest.Link.Disable.TextColor=subItem.Disable.TextColor;if(subItem.MouseOn&&subItem.MouseOn.TextColor)dest.Link.MouseOn.TextColor=subItem.MouseOn.TextColor;}if(item.ProgressBar){var subItem=item.ProgressBar;if(subItem.BGColor)dest.ProgressBar.BGColor=subItem.BGColor;if(subItem.BarColor)dest.ProgressBar.BarColor=subItem.BarColor;if(subItem.TextColor)dest.ProgressBar.TextColor=subItem.TextColor;if(subItem.Font)dest.ProgressBar.Font=subItem.Font;if(subItem.Disable){if(subItem.Disable.BGColor)dest.ProgressBar.Disable.BGColor=subItem.Disable.BGColor;if(subItem.Disable.BarColor)dest.ProgressBar.Disable.BarColor=subItem.Disable.BarColor;if(subItem.Disable.TextColor)dest.ProgressBar.Disable.TextColor=subItem.Disable.TextColor;}CopyMarginConfig(dest.ProgressBar.Margin,subItem.Margin);CopyMarginConfig(dest.ProgressBar.BarMargin,subItem.BarMargin);CopyMarginConfig(dest.ProgressBar.TextMargin,subItem.TextMargin);}if(item.Buttom){var subItem=item.Buttom;if(subItem.BGColor)dest.Buttom.BGColor=subItem.BGColor;if(subItem.TextColor)dest.Buttom.TextColor=subItem.TextColor;if(subItem.BorderColor)dest.Buttom.BorderColor=subItem.BorderColor;if(subItem.Font)dest.Buttom.Font=subItem.Font;if(subItem.Disable){if(subItem.Disable.BGColor)dest.Buttom.Disable.BGColor=subItem.Disable.BGColor;if(subItem.Disable.TextColor)dest.Buttom.Disable.TextColor=subItem.Disable.TextColor;}if(subItem.MouseOn){if(subItem.MouseOn.BGColor)dest.Buttom.MouseOn.BGColor=subItem.MouseOn.BGColor;if(subItem.MouseOn.TextColor)dest.Buttom.MouseOn.TextColor=subItem.MouseOn.TextColor;}CopyMarginConfig(dest.Buttom.Margin,subItem.Margin);CopyMarginConfig(dest.Buttom.TextMargin,subItem.TextMargin);}};this.SetTReportStyle=function(style){var item=style;var dest=this.TReport;if(item.BorderColor)dest.BorderColor=item.BorderColor;if(item.UpTextColor)dest.UpTextColor=item.UpTextColor;if(item.DownTextColor)dest.DownTextColor=item.DownTextColor;if(item.UnchangeTextColor)dest.UnchangeTextColor=item.UnchangeTextColor;if(item.BorderColor)dest.SelectedColor=item.SelectedColor;if(item.UpBGColor)dest.UpBGColor=item.UpBGColor;if(item.DownBGColor)dest.DownBGColor=item.DownBGColor;if(item.Header){var header=item.Header;if(header.Color)dest.Header.Color=header.Color;if(header.SortColor)dest.Header.SortColor=header.SortColor;if(header.Mergin){var mergin=header.Mergin;if(IFrameSplitOperator.IsNumber(mergin.Left))dest.Header.Mergin.Left=mergin.Left;if(IFrameSplitOperator.IsNumber(mergin.Right))dest.Header.Mergin.Left=mergin.Right;if(IFrameSplitOperator.IsNumber(mergin.Top))dest.Header.Mergin.Top=mergin.Top;if(IFrameSplitOperator.IsNumber(mergin.Bottom))dest.Header.Mergin.Bottom=mergin.Bottom;}if(header.Font){var font=header.Font;if(font.Name)dest.Header.Font.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))dest.Header.Font.Size=font.Size;}}if(item.CenterItem){var cell=item.CenterItem;if(cell.TextColor)dest.CenterItem.TextColor=cell.TextColor;if(cell.BaseTextColor)dest.CenterItem.BaseTextColor=cell.BaseTextColor;if(cell.BGColor)dest.CenterItem.BGColor=cell.BGColor;if(cell.MatchTextColor)dest.CenterItem.MatchTextColor=cell.MatchTextColor;}if(item.Item){var row=item.Item;if(row.Mergin){var mergin=row.Mergin;if(IFrameSplitOperator.IsNumber(mergin.Left))dest.Item.Mergin.Left=mergin.Left;if(IFrameSplitOperator.IsNumber(mergin.Right))dest.Item.Mergin.Right=mergin.Right;if(IFrameSplitOperator.IsNumber(mergin.Top))dest.Item.Mergin.Top=mergin.Top;if(IFrameSplitOperator.IsNumber(mergin.Bottom))dest.Item.Mergin.Bottom=mergin.Bottom;}if(row.Font){var font=row.Font;if(font.Name)dest.Item.Font.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))dest.Item.Font.Size=font.Size;}if(row.NameFont){var font=row.NameFont;if(font.Name)dest.Item.NameFont.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))dest.Item.NameFont.Size=font.Size;}if(row.SymbolFont){var font=row.SymbolFont;if(font.Name)dest.Item.SymbolFont.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))dest.Item.SymbolFont.Size=font.Size;}}if(item.FieldColor){var filed=item.FieldColor;if(filed.Name)dest.FieldColor.Name=filed.Name;if(filed.Symbol)dest.FieldColor.Symbol=filed.Symbol;if(filed.Vol)dest.FieldColor.Vol=filed.Vol;if(filed.Amount)dest.FieldColor.Amount=filed.Amount;if(filed.Index)dest.FieldColor.Index=filed.Index;if(filed.Text)dest.FieldColor.Text=filed.Text;if(filed.Position)dest.FieldColor.Position=filed.Position;}if(item.MarkBorder){var subIem=item.MarkBorder;if(subIem.MaxPositionColor)dest.MarkBorder.MaxPositionColor=subIem.MaxPositionColor;}if(item.FixedItem){var subIem=item.FixedItem;if(subIem.Font){var font=subIem.Font;if(font.Name)dest.FixedItem.Font.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))dest.FixedItem.Font.Size=font.Size;}}};this.SetFrameButtomToolbar=function(style){var dest=this.FrameButtomToolbar;if(style.BGColor)dest.BGColor=style.BGColor;if(style.BorderColor)dest.BorderColor=style.BorderColor;if(style.Button){var button=style.Button;if(button.BorderColor)dest.Button.BorderColor=button.BorderColor;if(button.Font){var item=button.Font;var destItem=this.FrameButtomToolbar.Button.Font;if(item.Family)destItem.Family=item.Family;if(IFrameSplitOperator.IsNumber(item.Size))destItem.Size=item.Size;}if(button.TitleColor){var item=button.TitleColor;var destItem=this.FrameButtomToolbar.Button.TitleColor;if(item.Selected)destItem.Selected=item.Selected;if(item.Default)destItem.Default=item.Default;if(item.MoveOn)destItem.MoveOn=item.MoveOn;}if(button.BGColor){var item=button.BGColor;var destItem=this.FrameButtomToolbar.Button.BGColor;if(item.Selected)destItem.Selected=item.Selected;if(item.Default)destItem.Default=item.Default;if(item.MoveOn)destItem.MoveOn=item.MoveOn;}if(button.Mergin){var item=button.Mergin;var destItem=this.FrameButtomToolbar.Button.Mergin;if(IFrameSplitOperator.IsNumber(item.Left))destItem.Left=item.Left;if(IFrameSplitOperator.IsNumber(item.Right))destItem.Left=item.Right;if(IFrameSplitOperator.IsNumber(item.Top))destItem.Top=item.Top;if(IFrameSplitOperator.IsNumber(item.Bottom))destItem.Bottom=item.Bottom;}if(button.SVG){var item=button.SVG;var destItem=this.FrameButtomToolbar.Button.SVG;if(IFrameSplitOperator.IsNumber(item.Size))destItem.Size=item.Size;if(IFrameSplitOperator.IsNumber(item.MerginLeft))destItem.MerginLeft=item.MerginLeft;if(item.Family)destItem.Family=item.Family;}}};this.SetMinuteToolbar=function(style){var dest=this.MinuteToolbar;if(IFrameSplitOperator.IsBool(style.ModifyIndex))dest.ModifyIndex=style.ModifyIndex;if(IFrameSplitOperator.IsBool(style.ChangeIndex))dest.ChangeIndex=style.ChangeIndex;if(IFrameSplitOperator.IsBool(style.CloseIndex))dest.CloseIndex=style.CloseIndex;if(IFrameSplitOperator.IsBool(style.OverlayIndex))dest.OverlayIndex=style.OverlayIndex;if(IFrameSplitOperator.IsBool(style.MaxMinWindow))dest.ModifyIndex=style.MaxMinWindow;if(IFrameSplitOperator.IsBool(style.TitleWindow))dest.ModifyIndex=style.TitleWindow;if(IFrameSplitOperator.IsBool(style.ExportData))dest.ModifyIndex=style.ExportData;if(IFrameSplitOperator.IsBool(style.AddIndexWindow))dest.AddIndexWindow=style.AddIndexWindow;if(IFrameSplitOperator.IsBool(style.IndexHelp))dest.IndexHelp=style.IndexHelp;if(IFrameSplitOperator.IsBool(style.IsShowOverlayToolbar))dest.IsShowOverlayToolbar=style.IsShowOverlayToolbar;if(IFrameSplitOperator.IsBool(style.IsShowOverlayFrame))dest.IsShowOverlayFrame=style.IsShowOverlayFrame;};this.SetKLineToolbar=function(style){var dest=this.KLineToolbar;if(IFrameSplitOperator.IsBool(style.ModifyIndex))dest.ModifyIndex=style.ModifyIndex;if(IFrameSplitOperator.IsBool(style.ChangeIndex))dest.ChangeIndex=style.ChangeIndex;if(IFrameSplitOperator.IsBool(style.CloseIndex))dest.CloseIndex=style.CloseIndex;if(IFrameSplitOperator.IsBool(style.OverlayIndex))dest.OverlayIndex=style.OverlayIndex;if(IFrameSplitOperator.IsBool(style.MaxMinWindow))dest.ModifyIndex=style.MaxMinWindow;if(IFrameSplitOperator.IsBool(style.TitleWindow))dest.ModifyIndex=style.TitleWindow;if(IFrameSplitOperator.IsBool(style.ExportData))dest.ModifyIndex=style.ExportData;if(IFrameSplitOperator.IsBool(style.AddIndexWindow))dest.AddIndexWindow=style.AddIndexWindow;if(IFrameSplitOperator.IsBool(style.IndexHelp))dest.IndexHelp=style.IndexHelp;};this.SetChartSimpleTable=function(style){var dest=this.ChartSimpleTable;if(style.TextColor)dest.TextColor=style.TextColor;if(style.BGColor)dest.BGColor=style.BGColor;if(style.BorderColor)dest.BorderColor=style.BorderColor;if(style.TextFont){var item=style.TextFont;if(item.Name)dest.TextFont.Name=item.Name;if(IFrameSplitOperator.IsNumber(item.Size))dest.TextFont.Size=item.Size;}if(style.ItemMargin){var margin=style.ItemMargin;if(IFrameSplitOperator.IsNumber(margin.Left))dest.ItemMargin.Left=margin.Left;if(IFrameSplitOperator.IsNumber(margin.Right))dest.ItemMargin.Right=margin.Right;if(IFrameSplitOperator.IsNumber(margin.Top))dest.ItemMargin.Top=margin.Top;if(IFrameSplitOperator.IsNumber(margin.Bottom))dest.ItemMargin.Bottom=margin.Bottom;}};this.SetChartSimplePie=function(style){var dest=this.ChartSimplePie;if(style.TextFont){var item=style.TextFont;if(item.Name)dest.TextFont.Name=item.Name;if(IFrameSplitOperator.IsNumber(item.Size))dest.TextFont.Size=item.Size;}if(style.BorderColor)dest.BorderColor=style.BorderColor;if(style.Offset){var item=style.Offset;if(IFrameSplitOperator.IsNumber(item.X))dest.Offset.X=item.X;if(IFrameSplitOperator.IsNumber(item.Y))dest.Offset.Y=item.Y;}};this.SetChartSimpleDoughnut=function(style){var dest=this.ChartSimpleDoughnut;if(style.TextFont){var item=style.TextFont;if(item.Name)dest.TextFont.Name=item.Name;if(IFrameSplitOperator.IsNumber(item.Size))dest.TextFont.Size=item.Size;}if(style.BorderColor)dest.BorderColor=style.BorderColor;if(style.Offset){var item=style.Offset;if(IFrameSplitOperator.IsNumber(item.X))dest.Offset.X=item.X;if(IFrameSplitOperator.IsNumber(item.Y))dest.Offset.Y=item.Y;}};this.SetChartSimpleRadar=function(style){var dest=this.ChartSimpleRadar;if(style.TextFont){var item=style.TextFont;if(item.Name)dest.TextFont.Name=item.Name;if(IFrameSplitOperator.IsNumber(item.Size))dest.TextFont.Size=item.Size;}if(style.BorderColor)dest.BorderColor=style.BorderColor;if(style.TextColor)dest.TextColor=style.TextColor;if(style.Offset){var item=style.Offset;if(IFrameSplitOperator.IsNumber(item.X))dest.Offset.X=item.X;if(IFrameSplitOperator.IsNumber(item.Y))dest.Offset.Y=item.Y;}if(IFrameSplitOperator.IsNonEmptyArray(style.AryBGColor))dest.AryBGColor=style.AryBGColor.slice();if(IFrameSplitOperator.IsNonEmptyArray(style.AryArea))dest.AryArea=style.AryArea.slice();};this.SetChartBaseLineBar=function(style){var dest=this.ChartBaseLineBar;if(style.UpColor)dest.UpColor=style.UpColor;if(style.DownColor)dest.DownColor=style.DownColor;};this.SetChartPointDot=function(style){var dest=this.ChartPointDot;if(style.UpColor)dest.UpColor=style.UpColor;if(style.DownColor)dest.DownColor=style.DownColor;};this.SetIndexLock=function(style){var item=style;var dest=this.IndexLock;if(item.BGColor)dest.BGColor=item.BGColor;if(item.TextColor)dest.TextColor=item.TextColor;if(item.Font)dest.Font=item.Font;if(item.Title)dest.Title=item.Title;};this.SetChartScatterPlotV2=function(style){var item=style;var dest=this.ChartScatterPlotV2;if(item.Color)dest.Color=item.Color;if(item.TextColor)dest.TextColor=item.TextColor;if(item.Font)dest.Font=item.Font;if(IFrameSplitOperator.IsNumber(item.Radius))dest.Radius=item.Radius;};}var g_JSChartResource=new JSChartResource();/////////////////////////////////////////////////////////////////////////////////
7804
+ };this.SetStyle=function(style){var T_SetButtonStyle=function T_SetButtonStyle(item,dest){if(!item)return;if(item.Color)dest.Color=item.Color;if(item.MoveOnColor)dest.MoveOnColor=item.MoveOnColor;if(item.SelectedColor)dest.SelectedColor=item.SelectedColor;if(item.Family)dest.Family=item.Family;if(item.Text)dest.Text=item.Text;if(IFrameSplitOperator.IsNumber(item.Size))dest.Size=item.Size;if(IFrameSplitOperator.IsNumber(item.MerginLeft))dest.MerginLeft=item.MerginLeft;};if(style.TooltipBGColor)this.TooltipBGColor=style.TooltipBGColor;if(style.TooltipAlpha)this.TooltipAlpha=style.TooltipAlpha;if(style.SelectRectBGColor)this.SelectRectBGColor=style.SelectRectBGColor;if(style.UpBarColor)this.UpBarColor=style.UpBarColor;if(style.DownBarColor)this.DownBarColor=style.DownBarColor;if(style.UnchagneBarColor)this.UnchagneBarColor=style.UnchagneBarColor;if(style.EmptyBarBGColor)this.EmptyBarBGColor=style.EmptyBarBGColor;if(style.HighLowBarColor)this.HighLowBarColor=style.HighLowBarColor;if(style.HighLowText){var dest=this.HighLowText;var item=style.HighLowText;if(item.FontName)dest.FontName=item.FontName;if(item.Color)dest.Color=item.Color;if(item.MaxText)dest.MaxText=item.MaxText;if(IFrameSplitOperator.IsPlusNumber(item.MaxSize))dest.MaxSize=item.MaxSize;if(IFrameSplitOperator.IsPlusNumber(item.MinSize))dest.MinSize=item.MinSize;}if(style.SplashScreen){var item=style.SplashScreen;if(item.BGColor)this.SplashScreen.BGColor=item.BGColor;if(item.Title)this.SplashScreen.Title=item.Title;if(item.TextColor)this.SplashScreen.TextColor=item.TextColor;if(item.Font)this.SplashScreen.Font=item.Font;}if(style.HLCArea){var item=style.HLCArea;if(item.HighLineColor)this.HLCArea.HighLineColor=item.HighLineColor;if(item.LowLineColor)this.HLCArea.LowLineColor=item.LowLineColor;if(item.CloseLineColor)this.HLCArea.CloseLineColor=item.CloseLineColor;if(item.UpAreaColor)this.HLCArea.UpAreaColor=item.UpAreaColor;if(item.DownAreaColor)this.HLCArea.DownAreaColor=item.DownAreaColor;if(IFrameSplitOperator.IsNumber(item.LineWidth))this.HLCArea.LineWidth=item.LineWidth;}if(style.Minute){if(style.Minute.VolBarColor)this.Minute.VolBarColor=style.Minute.VolBarColor;if(style.Minute.VolTitleColor)this.Minute.VolTitleColor=style.Minute.VolTitleColor;if(style.Minute.PriceColor)this.Minute.PriceColor=style.Minute.PriceColor;if(IFrameSplitOperator.IsNumber(style.Minute.PriceLineWidth))this.Minute.PriceLineWidth=style.Minute.PriceLineWidth;if(style.Minute.AvPriceColor)this.Minute.AvPriceColor=style.Minute.AvPriceColor;if(style.Minute.AreaPriceColor)this.Minute.AreaPriceColor=style.Minute.AreaPriceColor;if(style.Minute.PositionColor)this.Minute.PositionColor=style.Minute.PositionColor;if(style.Minute.FrameSplitTextColor)this.Minute.FrameSplitTextColor=style.Minute.FrameSplitTextColor;if(style.Minute.Before){var item=style.Minute.Before;if(item.BGColor)this.Minute.Before.BGColor=item.BGColor;if(item.LineColor)this.Minute.Before.LineColor=item.LineColor;if(item.VolColor)this.Minute.Before.VolColor=item.VolColor;if(item.AvPriceColor)this.Minute.Before.AvPriceColor=item.AvPriceColor;if(item.CloseIcon)T_SetButtonStyle(item.CloseIcon,this.Minute.Before.CloseIcon);if(item.Point){if(item.Point.Color)this.Minute.Before.Point.Color=item.Point.Color;if(item.Point.Radius)this.Minute.Before.Point.Radius=item.Point.Radius;}}if(style.Minute.After){var item=style.Minute.After;if(item.BGColor)this.Minute.After.BGColor=item.BGColor;if(item.LineColor)this.Minute.After.LineColor=item.LineColor;if(item.VolColor)this.Minute.After.VolColor=item.VolColor;if(item.AvPriceColor)this.Minute.After.AvPriceColor=item.AvPriceColor;if(item.Point){if(item.Point.Color)this.Minute.After.Point.Color=item.Point.Color;if(item.Point.Radius)this.Minute.After.Point.Radius=item.Point.Radius;}}if(style.Minute.NightDay){var item=style.Minute.NightDay;if(item.NightBGColor)this.Minute.NightDay.NightBGColor=item.NightBGColor;if(item.Font)this.Minute.NightDay.Font=item.Font;if(item.Day){var subItem=item.Day;if(subItem.Color)this.Minute.NightDay.Day.Color=subItem.Color;if(subItem.BGColor)this.Minute.NightDay.Day.BGColor=subItem.BGColor;if(subItem.BorderColor)this.Minute.NightDay.Day.BorderColor=subItem.BorderColor;CopyMarginConfig(this.Minute.NightDay.Day.Margin,subItem.Margin);}if(item.Night){var subItem=item.Night;if(subItem.Color)this.Minute.NightDay.Night.Color=subItem.Color;if(subItem.BGColor)this.Minute.NightDay.Night.BGColor=subItem.BGColor;if(subItem.BorderColor)this.Minute.NightDay.Night.BorderColor=subItem.BorderColor;CopyMarginConfig(this.Minute.NightDay.Night.Margin,subItem.Margin);}}if(style.Minute.BuySellBar){var item=style.Minute.BuySellBar;var dest=this.Minute.BuySellBar;if(item.BuyColor)dest.BuyColor=item.BuyColor;if(item.SellColor)dest.SellColor=item.SellColor;if(item.Font)dest.Font=item.Font;if(item.TextColor)dest.TextColor=item.TextColor;if(IFrameSplitOperator.IsNumber(item.BarWidth))dest.BarWidth=item.BarWidth;if(IFrameSplitOperator.IsNonEmptyArray(item.AryBarRange))dest.AryBarRange=item.AryBarRange;if(IFrameSplitOperator.IsNumber(item.YOffset))dest.YOffset=item.YOffset;}}if(style.PopMinuteChart){var item=style.PopMinuteChart;var dest=this.PopMinuteChart;if(item.BGColor)dest.BGColor=item.BGColor;if(item.BorderColor)dest.BorderColor=item.BorderColor;if(item.TitleColor)dest.TitleColor=item.TitleColor;if(item.TitleBGColor)dest.TitleBGColor=item.TitleBGColor;if(item.Mark){if(item.Mark.LineColor)dest.Mark.LineColor=item.Mark.LineColor;if(IFrameSplitOperator.IsNumber(item.Mark.LineWidth))dest.Mark.LineWidth=item.Mark.LineWidth;}if(item.Title){if(item.Title.Font)dest.Title.Font=item.Title.Font;}if(item.CorssCursor){if(item.CorssCursor.Font)dest.CorssCursor.Font=item.CorssCursor.Font;}if(item.Frame){if(item.Frame.Font)dest.Frame.Font=item.Frame.Font;}}if(style.PopKLineChart){var item=style.PopKLineChart;var dest=this.PopKLineChart;if(item.BGColor)dest.BGColor=item.BGColor;if(item.BorderColor)dest.BorderColor=item.BorderColor;if(item.TitleColor)dest.TitleColor=item.TitleColor;if(item.TitleBGColor)dest.TitleBGColor=item.TitleBGColor;}if(style.DefaultTextColor)this.DefaultTextColor=style.DefaultTextColor;if(style.DefaultTextFont)this.DefaultTextFont=style.DefaultTextFont;if(style.TitleFont)this.TitleFont=style.TitleFont;if(style.IndexTitleBGColor)this.IndexTitleBGColor=style.IndexTitleBGColor;if(style.IndexTitleBorderColor)this.IndexTitleBorderColor=style.IndexTitleBorderColor;if(style.IndexTitleBorderMoveOnColor)this.IndexTitleBorderMoveOnColor=style.IndexTitleBorderMoveOnColor;if(IFrameSplitOperator.IsNumber(style.IndexTitleBorderStyle))this.IndexTitleBorderStyle=style.IndexTitleBorderStyle;if(style.IndexTitleColor)this.IndexTitleColor=style.IndexTitleColor;if(style.IndexTitleSelectedColor)this.IndexTitleSelectedColor=style.IndexTitleSelectedColor;if(style.OverlayIndexTitleBGColor)this.OverlayIndexTitleBGColor=style.OverlayIndexTitleBGColor;if(style.UpTextColor)this.UpTextColor=style.UpTextColor;if(style.DownTextColor)this.DownTextColor=style.DownTextColor;if(style.UnchagneTextColor)this.UnchagneTextColor=style.UnchagneTextColor;if(style.CloseLineColor)this.CloseLineColor=style.CloseLineColor;if(style.CloseLineAreaColor)this.CloseLineAreaColor=style.CloseLineAreaColor;if(style.CloseLineWidth)this.CloseLineWidth=style.CloseLineWidth;if(style.FrameBorderPen)this.FrameBorderPen=style.FrameBorderPen;if(style.MultiDayBorderPen)this.MultiDayBorderPen=style.MultiDayBorderPen;if(style.FrameSplitPen)this.FrameSplitPen=style.FrameSplitPen;if(style.FrameDotSplitPen)this.FrameDotSplitPen=style.FrameDotSplitPen;if(style.FrameSplitTextColor)this.FrameSplitTextColor=style.FrameSplitTextColor;if(style.FrameSplitTextFont)this.FrameSplitTextFont=style.FrameSplitTextFont;if(style.FrameTitleBGColor)this.FrameTitleBGColor=style.FrameTitleBGColor;if(style.SelFrameBorderColor)this.SelFrameBorderColor=style.SelFrameBorderColor;if(IFrameSplitOperator.IsNumber(style.IndexTitleMerginLeft))this.IndexTitleMerginLeft=style.IndexTitleMerginLeft;if(style.IndexTitle){var item=style.IndexTitle;if(item.UpDownArrow){var subItem=item.UpDownArrow;if(subItem.UpColor)this.IndexTitle.UpDownArrow.UpColor=subItem.UpColor;if(subItem.DownColor)this.IndexTitle.UpDownArrow.DownColor=subItem.DownColor;if(subItem.UnchangeColor)this.IndexTitle.UpDownArrow.UnchangeColor=subItem.UnchangeColor;}if(IFrameSplitOperator.IsNumber(item.ArrowType))this.IndexTitle.ArrowType=item.ArrowType;if(IFrameSplitOperator.IsBool(item.EnableIndexArrow))this.IndexTitle.EnableIndexArrow=item.EnableIndexArrow;if(IFrameSplitOperator.IsBool(item.IsSinlgeLine))this.IndexTitle.IsSinlgeLine=item.IsSinlgeLine;if(item.NameArrow){var subItem=item.NameArrow;if(subItem.Color)this.IndexTitle.NameArrow.Color=subItem.Color;if(subItem.Symbol)this.IndexTitle.NameArrow.Symbol=subItem.Symbol;if(IFrameSplitOperator.IsNumber(subItem.Space))this.IndexTitle.NameArrow.Space=subItem.Space;}}if(style.Frame){if(style.Frame.XBottomOffset)this.Frame.XBottomOffset=style.Frame.XBottomOffset;if(style.Frame.YTopOffset)this.Frame.YTopOffset=style.Frame.YTopOffset;if(IFrameSplitOperator.IsNumber(style.Frame.XPointCount))this.Frame.XPointCount=style.Frame.XPointCount;if(style.Frame.PercentageText){var item=style.Frame.PercentageText;if(item.PriceColor)this.Frame.PercentageText.PriceColor=item.PriceColor;if(item.PercentageColor)this.Frame.PercentageText.PercentageColor=item.PercentageColor;if(item.SplitColor)this.Frame.PercentageText.SplitColor=item.SplitColor;if(item.Font)this.Frame.PercentageText.Font=item.Font;}}if(IFrameSplitOperator.IsNumber(style.ToolbarButtonStyle))this.ToolbarButtonStyle=style.ToolbarButtonStyle;if(IFrameSplitOperator.IsBool(style.IsDOMFrameTitle))this.IsDOMFrameTitle=style.IsDOMFrameTitle;if(style.FrameLatestPrice){var item=style.FrameLatestPrice;if(style.FrameLatestPrice.TextColor)this.FrameLatestPrice.TextColor=style.FrameLatestPrice.TextColor;if(style.FrameLatestPrice.UpBarColor)this.FrameLatestPrice.UpBarColor=style.FrameLatestPrice.UpBarColor;if(style.FrameLatestPrice.DownBarColor)this.FrameLatestPrice.DownBarColor=style.FrameLatestPrice.DownBarColor;if(style.FrameLatestPrice.UnchagneBarColor)this.FrameLatestPrice.UnchagneBarColor=style.FrameLatestPrice.UnchagneBarColor;if(style.FrameLatestPrice.BGAlpha)this.FrameLatestPrice.BGAlpha=style.FrameLatestPrice.BGAlpha;if(style.FrameLatestPrice.OverlayTextColor)this.FrameLatestPrice.OverlayTextColor=style.FrameLatestPrice.OverlayTextColor;if(item.EmptyBGColor)this.FrameLatestPrice.EmptyBGColor=item.EmptyBGColor;}if(style.OverlayFrame){var item=style.OverlayFrame;if(style.OverlayFrame.BolderPen)this.OverlayFrame.BolderPen=style.OverlayFrame.BolderPen;if(style.OverlayFrame.TitleColor)this.OverlayFrame.TitleColor=style.OverlayFrame.TitleColor;if(style.OverlayFrame.TitleFont)this.OverlayFrame.TitleFont=style.OverlayFrame.TitleFont;}if(style.CorssCursorBGColor)this.CorssCursorBGColor=style.CorssCursorBGColor;if(style.CorssCursorTextColor)this.CorssCursorTextColor=style.CorssCursorTextColor;if(style.CorssCursorTextFont)this.CorssCursorTextFont=style.CorssCursorTextFont;if(style.CorssCursorVPenColor)this.CorssCursorVPenColor=style.CorssCursorVPenColor;if(style.CorssCursorHPenColor)this.CorssCursorHPenColor=style.CorssCursorHPenColor;if(style.CorssCursorBorderColor)this.CorssCursorBorderColor=style.CorssCursorBorderColor;if(style.CorssCursorXRangeBGColor)this.CorssCursorXRangeBGColor=style.CorssCursorXRangeBGColor;if(style.CorssCursorLineDash)this.CorssCursorLineDash=style.CorssCursorLineDash.slice();if(style.CorssCursor&&style.CorssCursor.RightButton){var item=style.CorssCursor.RightButton;if(item.BGColor)this.CorssCursor.RightButton.BGColor=item.BGColor;if(item.PenColor)this.CorssCursor.RightButton.PenColor=item.PenColor;if(item.Icon)this.CorssCursor.RightButton.Icon=item.Icon;}if(style.CorssCursor&&style.CorssCursor.CorssPoint){var item=style.CorssCursor.CorssPoint;if(item.Center){var subItem=item.Center;var subDest=this.CorssCursor.CorssPoint.Center;if(IFrameSplitOperator.IsNumber(subItem.Radius))subDest.Radius=subItem.Radius;if(subItem.Color)subDest.Color=subItem.Color;}if(item.Border){var subItem=item.Border;var subDest=this.CorssCursor.CorssPoint.Border;if(IFrameSplitOperator.IsNumber(subItem.Width))subDest.Width=subItem.Width;if(subItem.Color)subDest.Color=subItem.Color;}}if(style.LatestPointFlash){var item=style.LatestPointFlash;var dest=this.LatestPointFlash;if(item.PointColor)dest.PointColor=item.PointColor;if(IFrameSplitOperator.IsNumber(item.PointRadius))dest.PointRadius=item.PointRadius;if(item.BGColor)dest.BGColor=item.BGColor;if(IFrameSplitOperator.IsNumber(item.BGRadius))dest.BGRadius=item.BGRadius;}if(style.KLine)this.KLine=style.KLine;if(style.VirtualKLine){var item=style.VirtualKLine;if(item.Color)this.VirtualKLine.Color=item.Color;if(item.LineDash)this.VirtualKLine.LineDash=item.LineDash;}if(style.PredictionKLine){if(style.PredictionKLine.Line){var item=style.PredictionKLine.Line;var dest=this.PredictionKLine.Line;if(item.Color)dest.Color=item.Color;if(item.LineDash)dest.LineDash=item.LineDash;if(IFrameSplitOperator.IsNumber(item.LineWidth))dest.LineWidth=item.LineWidth;}if(style.PredictionKLine.Bar){var item=style.PredictionKLine.Bar;var dest=this.PredictionKLine.Bar;if(item.UpColor)dest.UpColor=item.UpColor;if(item.DownColor)dest.DownColor=item.DownColor;if(item.UnchangeColor)dest.UnchangeColor=item.UnchangeColor;if(IFrameSplitOperator.IsNumber(item.DrawType)||item.DrawType===null)dest.DrawType=item.DrawType;}}if(style.PriceGapStyple){var item=style.PriceGapStyple;if(item.Line&&item.Line.Color)this.PriceGapStyple.Line.Color=item.Line.Color;if(item.Text){if(item.Text.Color)this.PriceGapStyple.Text.Color=item.Text.Color;if(item.Text.Font)this.PriceGapStyple.Text.Font=item.Text.Font;}}if(style.DaySummaryKLine){var item=style.DaySummaryKLine;var dest=this.DaySummaryKLine;if(item.Font)dest.Font=item.Font;if(item.TextColor)dest.TextColor=item.TextColor;if(IFrameSplitOperator.IsNumber(item.LeftMargin))dest.LeftMargin=item.LeftMargin;}if(style.Index){if(style.Index.LineColor)this.Index.LineColor=style.Index.LineColor;if(style.Index.NotSupport)this.Index.NotSupport=style.Index.NotSupport;}if(style.ColorArray)this.ColorArray=style.ColorArray;if(style.DrawPicture){var item=style.DrawPicture;if(item.LineColor)this.DrawPicture.LineColor=item.LineColor;if(item.PointColor)this.DrawPicture.PointColor=item.PointColor;if(item.XYCoordinate)this.DrawPicture.XYCoordinate=item.XYCoordinate;if(IFrameSplitOperator.IsNumber(item.PointType))this.DrawPicture.PointType=item.PointType;if(IFrameSplitOperator.IsBool(item.IsShowPoint))this.DrawPicture.IsShowPoint=item.IsShowPoint;}if(style.TooltipPaint){if(style.TooltipPaint.BGColor)this.TooltipPaint.BGColor=style.TooltipPaint.BGColor;if(style.TooltipPaint.BorderColor)this.TooltipPaint.BorderColor=style.TooltipPaint.BorderColor;if(style.TooltipPaint.TitleColor)this.TooltipPaint.TitleColor=style.TooltipPaint.TitleColor;if(style.TooltipPaint.TitleFont)this.TooltipPaint.TitleFont=style.TooltipPaint.TitleFont;if(style.TooltipPaint.DateTimeColor)this.TooltipPaint.DateTimeColor=style.TooltipPaint.DateTimeColor;if(style.TooltipPaint.VolColor)this.TooltipPaint.VolColor=style.TooltipPaint.VolColor;if(style.TooltipPaint.AmountColor)this.TooltipPaint.AmountColor=style.TooltipPaint.AmountColor;}if(style.PCTooltipPaint){var item=style.PCTooltipPaint;if(item.BGColor)this.PCTooltipPaint.BGColor=item.BGColor;if(item.BorderColor)this.PCTooltipPaint.BorderColor=item.BorderColor;if(item.TitleColor)this.PCTooltipPaint.TitleColor=item.TitleColor;if(item.TitleFont)this.PCTooltipPaint.TitleFont=item.TitleFont;if(item.DateTimeColor)this.PCTooltipPaint.DateTimeColor=item.DateTimeColor;if(item.VolColor)this.PCTooltipPaint.VolColor=item.VolColor;if(item.AmountColor)this.PCTooltipPaint.AmountColor=item.AmountColor;if(item.PositionColor)this.PCTooltipPaint.PositionColor=item.PositionColor;}if(style.DialogTooltip){var item=style.DialogTooltip;if(item.BGColor)this.DialogTooltip.BGColor=item.BGColor;if(item.BorderColor)this.DialogTooltip.BorderColor=item.BorderColor;if(item.TitleColor)this.DialogTooltip.TitleColor=item.TitleColor;if(item.TitleBGColor)this.DialogTooltip.TitleBGColor=item.TitleBGColor;if(item.DateTimeColor)this.DialogTooltip.DateTimeColor=item.DateTimeColor;if(item.VolColor)this.DialogTooltip.VolColor=item.VolColor;if(item.AmountColor)this.DialogTooltip.AmountColor=item.AmountColor;if(item.TurnoverRateColor)this.DialogTooltip.TurnoverRateColor=item.TurnoverRateColor;if(item.PositionColor)this.DialogTooltip.PositionColor=item.PositionColor;if(item.TextColor)this.DialogTooltip.TextColor=item.TextColor;if(item.ValueColor)this.DialogTooltip.ValueColor=item.ValueColor;}if(style.FloatTooltip){var item=style.FloatTooltip;if(item.BGColor)this.FloatTooltip.BGColor=item.BGColor;if(item.BorderColor)this.FloatTooltip.BorderColor=item.BorderColor;if(item.DateTimeColor)this.FloatTooltip.DateTimeColor=item.DateTimeColor;if(item.VolColor)this.FloatTooltip.VolColor=item.VolColor;if(item.AmountColor)this.FloatTooltip.AmountColor=item.AmountColor;if(item.TurnoverRateColor)this.FloatTooltip.TurnoverRateColor=item.TurnoverRateColor;if(item.PositionColor)this.FloatTooltip.PositionColor=item.PositionColor;if(item.TextColor)this.FloatTooltip.TextColor=item.TextColor;if(item.ValueColor)this.FloatTooltip.ValueColor=item.ValueColor;}if(style.DialogSelectRect){var item=style.DialogSelectRect;if(item.BGColor)this.DialogSelectRect.BGColor=item.BGColor;if(item.BorderColor)this.DialogSelectRect.BorderColor=item.BorderColor;if(item.TitleColor)this.DialogSelectRect.TitleColor=item.TitleColor;if(item.TextColor)this.DialogSelectRect.TextColor=item.TextColor;if(item.ValueColor)this.DialogSelectRect.ValueColor=item.ValueColor;if(item.VolColor)this.DialogSelectRect.VolColor=item.VolColor;if(item.AmountColor)this.DialogSelectRect.AmountColor=item.AmountColor;if(item.TurnoverRateColor)this.DialogSelectRect.TurnoverRateColor=item.TurnoverRateColor;if(item.PositionColor)this.DialogSelectRect.PositionColor=item.PositionColor;}if(style.DialogPopKeyboard){var item=style.DialogPopKeyboard;if(item.BGColor)this.DialogPopKeyboard.BGColor=item.BGColor;if(item.BorderColor)this.DialogPopKeyboard.BorderColor=item.BorderColor;if(item.TitleColor)this.DialogPopKeyboard.TitleColor=item.TitleColor;if(item.TitleBGColor)this.DialogTooltip.TitleBGColor=item.TitleBGColor;if(item.Input){var subItem=item.Input;if(subItem.BGColor)this.DialogPopKeyboard.Input.BGColor=subItem.BGColor;if(subItem.TextColor)this.DialogPopKeyboard.Input.TextColor=subItem.TextColor;}}if(style.MinuteInfo){var item=style.MinuteInfo;if(style.MinuteInfo.TextColor)this.MinuteInfo.TextColor=style.MinuteInfo.TextColor;if(style.MinuteInfo.Font)this.MinuteInfo.Font=style.MinuteInfo.Font;if(style.MinuteInfo.PointColor)this.MinuteInfo.PointColor=style.MinuteInfo.PointColor;if(style.MinuteInfo.LineColor)this.MinuteInfo.LineColor=style.MinuteInfo.LineColor;if(style.MinuteInfo.TextBGColor)this.MinuteInfo.TextBGColor=style.MinuteInfo.TextBGColor;if(IFrameSplitOperator.IsNumber(item.PointRadius))this.MinuteInfo.PointRadius=item.PointRadius;}if(style.Title){if(style.Title.TradeIndexColor)this.Title.TradeIndexColor=style.Title.TradeIndexColor;if(style.Title.ColorIndexColor)this.Title.ColorIndexColor=style.Title.ColorIndexColor;if(style.Title.VolColor)this.Title.VolColor=style.Title.VolColor;if(style.Title.AmountColor)this.Title.AmountColor=style.Title.AmountColor;if(style.Title.DateTimeColor)this.Title.DateTimeColor=style.Title.DateTimeColor;if(style.Title.NameColor)this.Title.NameColor=style.Title.NameColor;if(style.Title.SettingColor)this.Title.SettingColor=style.Title.SettingColor;if(style.Title.TurnoverRateColor)this.Title.TurnoverRateColor=style.Title.TurnoverRateColor;if(style.Title.PositionColor)this.Title.PositionColor=style.Title.PositionColor;}if(style.ChartSimpleTable)this.SetChartSimpleTable(style.ChartSimpleTable);if(style.ChartSimplePie)this.SetChartSimplePie(style.ChartSimplePie);if(style.ChartSimpleDoughnut)this.SetChartSimpleDoughnut(style.ChartSimpleDoughnut);if(style.ChartSimpleRadar)this.SetChartSimpleRadar(style.ChartSimpleRadar);if(style.ChartBaseLineBar)this.SetChartBaseLineBar(style.ChartBaseLineBar);if(style.ChartPointDot)this.SetChartPointDot(style.ChartPointDot);if(style.DRAWICON){if(style.DRAWICON.Icon){var item=style.DRAWICON.Icon;if(IFrameSplitOperator.IsPlusNumber(item.MaxSize))this.DRAWICON.Icon.MaxSize=item.MaxSize;if(IFrameSplitOperator.IsPlusNumber(item.MinSize))this.DRAWICON.Icon.MinSize=item.MinSize;if(item.Zoom)this.DRAWICON.Icon.Zoom=item.Zoom;if(IFrameSplitOperator.IsNumber(item.YOffset))this.DRAWICON.Icon.YOffset=item.YOffset;}if(style.DRAWICON.Text){var item=style.DRAWICON.Text;if(IFrameSplitOperator.IsPlusNumber(item.MaxSize))this.DRAWICON.Text.MaxSize=item.MaxSize;if(IFrameSplitOperator.IsPlusNumber(item.MinSize))this.DRAWICON.Text.MinSize=item.MinSize;if(item.Zoom)this.DRAWICON.Text.Zoom=item.Zoom;if(item.FontName)this.DRAWICON.Text.FontName=item.FontName;if(IFrameSplitOperator.IsNumber(item.YOffset))this.DRAWICON.Text.YOffset=item.YOffset;}}if(style.DRAWTEXT){var item=style.DRAWTEXT;if(IFrameSplitOperator.IsPlusNumber(item.MaxSize))this.DRAWICON.MaxSize=item.MaxSize;if(IFrameSplitOperator.IsPlusNumber(item.MinSize))this.DRAWICON.MinSize=item.MinSize;if(item.Zoom)this.DRAWTEXT.Zoom=item.Zoom;if(item.FontName)this.DRAWTEXT.FontName=item.FontName;if(IFrameSplitOperator.IsNumber(item.YOffset))this.DRAWTEXT.YOffset=item.YOffset;}if(style.DRAWTEXT_FIX){var item=style.DRAWTEXT_FIX;if(item.Font)this.DRAWTEXT_FIX.Font=item.Font;}if(style.DRAWNUMBER_FIX){var item=style.DRAWNUMBER_FIX;if(item.Font)this.DRAWNUMBER_FIX.Font=item.Font;}if(style.DRAWNUMBER){var item=style.DRAWNUMBER;if(IFrameSplitOperator.IsPlusNumber(item.MaxSize))this.DRAWNUMBER.MaxSize=item.MaxSize;if(IFrameSplitOperator.IsPlusNumber(item.MinSize))this.DRAWNUMBER.MinSize=item.MinSize;if(item.Zoom)this.DRAWNUMBER.Zoom=item.Zoom;if(item.FontName)this.DRAWNUMBER.FontName=item.FontName;if(IFrameSplitOperator.IsNumber(item.YOffset))this.DRAWNUMBER.YOffset=item.YOffset;}if(style.DRAWABOVE){var item=style.DRAWABOVE;if(IFrameSplitOperator.IsNumber(item.YOffset))this.DRAWABOVE.YOffset=item.YOffset;}if(style.DOTLINE)this.DOTLINE=style.DOTLINE;if(style.DRAWSL)this.DOTLINE=style.DRAWSL;if(style.DragSubFrameBorder)this.DragSubFrameBorder=style.DragSubFrameBorder;if(style.DepthMapPaint){var item=style.DepthMapPaint;if(item.LineColor)this.DepthMapPaint.LineColor=item.LineColor;if(item.AreaColor)this.DepthMapPaint.AreaColor=item.AreaColor;if(item.TextColor)this.DepthMapPaint.TextColor=item.TextColor;if(item.TextBGColor)this.DepthMapPaint.TextBGColor=item.TextBGColor;}if(style.KLineYAxisBGPaint){var item=style.KLineYAxisBGPaint;if(item.Font)this.KLineYAxisBGPaint.Font=item.Font;if(item.LineColor)this.KLineYAxisBGPaint.LineColor=item.LineColor;if(item.DiffValutTextColor)this.KLineYAxisBGPaint.DiffValutTextColor=item.DiffValutTextColor;if(item.DiffValueBGColor)this.KLineYAxisBGPaint.DiffValueBGColor=item.DiffValueBGColor;}if(style.StockChip){var item=style.StockChip;if(item.InfoColor)this.StockChip.InfoColor=item.InfoColor;if(item.DayInfoColor)this.StockChip.DayInfoColor=item.DayInfoColor;if(item.Font)this.StockChip.Font=item.Font;if(item.DefaultButton)T_SetButtonStyle(item.DefaultButton,this.StockChip.DefaultButton);if(item.LongButton)T_SetButtonStyle(item.LongButton,this.StockChip.LongButton);if(item.RecentButton)T_SetButtonStyle(item.RecentButton,this.StockChip.RecentButton);if(item.CloseButton)T_SetButtonStyle(item.CloseButton,this.StockChip.CloseButton);if(item.PhoneCloseButton){var subItem=item.PhoneCloseButton;if(subItem.Family)this.StockChip.PhoneCloseButton.Family=subItem.Family;if(subItem.Text)this.StockChip.PhoneCloseButton.Text=subItem.Text;if(subItem.Color)this.StockChip.PhoneCloseButton.Color=subItem.Color;if(IFrameSplitOperator.IsNumber(subItem.Size))this.StockChip.PhoneCloseButton.Size=subItem.Size;if(IFrameSplitOperator.IsBool(subItem.IsShow))this.StockChip.PhoneCloseButton.IsShow=subItem.IsShow;if(subItem.Border){if(subItem.Border.BGColor)this.StockChip.PhoneCloseButton.Border.BGColor=subItem.Border.BGColor;}}}if(style.DepthChart){var item=style.DepthChart;if(item.BidColor){if(item.BidColor.Line)this.DepthChart.BidColor.Line=item.BidColor.Line;if(item.BidColor.Area)this.DepthChart.BidColor.Area=item.BidColor.Area;}if(item.AskColor){if(item.AskColor.Line)this.DepthChart.AskColor.Line=item.AskColor.Line;if(item.AskColor.Area)this.DepthChart.AskColor.Area=item.AskColor.Area;}if(item.LineWidth)this.DepthChart.LineWidth=item.LineWidth;}if(style.DepthCorss){var item=style.DepthCorss;if(item.BidColor){if(item.BidColor.Line)this.DepthCorss.BidColor.Line=item.BidColor.Line;}if(item.AskColor){if(item.AskColor.Line)this.DepthCorss.AskColor.Line=item.AskColor.Line;}if(item.LineWidth)this.DepthCorss.LineWidth=item.LineWidth;if(item.LineDash)this.DepthCorss.LineDash=item.LineDash;if(item.Tooltip){var tooltip=item.Tooltip;if(tooltip.BGColor)this.DepthCorss.Tooltip.BGColor=tooltip.BGColor;if(tooltip.TextColor)this.DepthCorss.Tooltip.TextColor=tooltip.TextColor;if(tooltip.Font)this.DepthCorss.Tooltip.Font=tooltip.Font;if(tooltip.LineHeight)this.DepthCorss.Tooltip.LineHeight=tooltip.LineHeight;var border=tooltip.Border;if(IFrameSplitOperator.IsNumber(border.Top))this.DepthCorss.Tooltip.Border.Top=border.Top;if(IFrameSplitOperator.IsNumber(border.Bottom))this.DepthCorss.Tooltip.Border.Bottom=border.Bottom;if(IFrameSplitOperator.IsNumber(border.Left))this.DepthCorss.Tooltip.Border.Left=border.Left;if(IFrameSplitOperator.IsNumber(border.Right))this.DepthCorss.Tooltip.Border.Right=border.Right;if(IFrameSplitOperator.IsNumber(border.ItemSpace))this.DepthCorss.Tooltip.Border.ItemSpace=border.ItemSpace;}}if(style.CIRCLEDOT){var item=style.CIRCLEDOT;if(IFrameSplitOperator.IsNumber(item.Radius))this.CIRCLEDOT.Radius=item.Radius;}if(style.POINTDOT){var item=style.POINTDOT;if(IFrameSplitOperator.IsNumber(item.Radius))this.POINTDOT.Radius=item.Radius;}if(style.RectSelect){var item=style.RectSelect;if(item.LineColor)this.RectSelect.LineColor=item.LineColor;if(item.LineWidth>0)this.RectSelect.LineWidth=item.LineWidth;if(item.LineDotted)this.RectSelect.LineDotted=item.LineDotted;if(item.AreaColor)this.RectSelect.AreaColor=item.AreaColor;if(item.SubAreaColor)this.RectSelect.SubAreaColor=item.SubAreaColor;if(item.RangeTextColor)this.RectSelect.RangeTextColor=item.RangeTextColor;if(item.RangeTextFont)this.RectSelect.RangeTextFont=item.RangeTextFont;if(item.RangeTextBGColor)this.RectSelect.RangeTextBGColor=item.RangeTextBGColor;if(item.RangeTextSubColor)this.RectSelect.RangeTextSubColor=item.RangeTextSubColor;if(item.RangeTextSubFont)this.RectSelect.RangeTextSubFont=item.RangeTextSubFont;if(item.RangeTextSubBGColor)this.RectSelect.RangeTextSubBGColor=item.RangeTextSubBGColor;if(item.Mark){var subItem=item.Mark;if(subItem.Family)this.RectSelect.Mark.Family=subItem.Family;if(subItem.Text)this.RectSelect.Mark.Text=subItem.Text;if(subItem.Color)this.RectSelect.Mark.Color=subItem.Color;if(IFrameSplitOperator.IsNumber(subItem.Size))this.RectSelect.Mark.Size=subItem.Size;if(subItem.Position){if(subItem.Position.Top)this.RectSelect.Mark.Position.Top=subItem.Position.Top;if(IFrameSplitOperator.IsNumber(subItem.Position.Index))this.RectSelect.Mark.Position.Index=subItem.Position.Index;}}}if(style.RectDrag){var item=style.RectDrag;var dest=this.RectDrag;if(item.LineColor)dest.LineColor=item.LineColor;if(IFrameSplitOperator.IsPlusNumber(item.LineWidth))dest.LineWidth=item.LineWidth;if(item.BGColor)dest.BGColor=item.BGColor;}if(style.OrderFlow){item=style.OrderFlow;if(item.UpColor)this.OrderFlow.UpColor=item.UpColor;if(item.DownColor)this.OrderFlow.DownColor=item.DownColor;if(item.UnchagneColor)this.OrderFlow.UnchagneColor=item.UnchagneColor;if(item.Text)this.OrderFlow.Text=item.Text;if(item.Line)this.OrderFlow.Line=item.Line;}if(style.OrderFlow_Style2){item=style.OrderFlow_Style2;if(item.UpColor)this.OrderFlow_Style2.UpColor=item.UpColor;if(item.DownColor)this.OrderFlow_Style2.DownColor=item.DownColor;if(item.UnchagneColor)this.OrderFlow_Style2.UnchagneColor=item.UnchagneColor;if(IFrameSplitOperator.IsNumber(item.BarWidth))this.OrderFlow_Style2.BarWidth=item.BarWidth;}if(style.ChartOX){var item=style.ChartOX;if(item.Family)this.ChartOX.Family=item.Family;if(item.Up)this.ChartOX.Up=item.Up;if(item.Down)this.ChartOX.Down=item.Down;if(item.SquareLineColor)this.ChartOX.SquareLineColor=item.SquareLineColor;}if(style.DealList){var item=style.DealList;if(item.BorderColor)this.DealList.BorderColor=item.BorderColor;if(item.UpTextColor)this.DealList.UpTextColor=item.UpTextColor;if(item.DownTextColor)this.DealList.DownTextColor=item.DownTextColor;if(item.UnchagneTextColor)this.DealList.UnchagneTextColor=item.UnchagneTextColor;if(item.CloseLineColor)this.DealList.CloseLineColor=item.CloseLineColor;if(item.Header){var header=item.Header;if(header.Color)this.DealList.Header.Color=header.Color;if(header.Mergin){var mergin=header.Mergin;if(IFrameSplitOperator.IsNumber(mergin.Left))this.DealList.Header.Mergin.Left=mergin.Left;if(IFrameSplitOperator.IsNumber(mergin.Right))this.DealList.Header.Mergin.Right=mergin.Right;if(IFrameSplitOperator.IsNumber(mergin.Top))this.DealList.Header.Mergin.Top=mergin.Top;if(IFrameSplitOperator.IsNumber(mergin.Bottom))this.DealList.Header.Mergin.Bottom=mergin.Bottom;}if(header.Font){var font=header.Font;if(font.Name)this.DealList.Header.Font.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))this.DealList.Header.Font.Size=font.Size;}}if(item.Row){var row=item.Row;if(row.Mergin){var mergin=row.Mergin;if(IFrameSplitOperator.IsNumber(mergin.Top))this.DealList.Row.Mergin.Top=mergin.Top;if(IFrameSplitOperator.IsNumber(mergin.Bottom))this.DealList.Row.Mergin.Bottom=mergin.Bottom;}if(row.Font){var font=row.Font;if(font.Name)this.DealList.Row.Font.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))this.DealList.Row.Font.Size=font.Size;}if(row.BarMergin){var mergin=row.BarMergin;if(IFrameSplitOperator.IsNumber(mergin.Left))this.DealList.Row.BarMergin.Left=mergin.Left;if(IFrameSplitOperator.IsNumber(mergin.Top))this.DealList.Row.BarMergin.Top=mergin.Top;if(IFrameSplitOperator.IsNumber(mergin.Right))this.DealList.Row.BarMergin.Right=mergin.Right;if(IFrameSplitOperator.IsNumber(mergin.Bottom))this.DealList.Row.BarMergin.Bottom=mergin.Bottom;}}if(item.FieldColor){var filed=item.FieldColor;if(filed.Vol)this.DealList.FieldColor.Vol=filed.Vol;if(filed.Time)this.DealList.FieldColor.Time=filed.Time;if(filed.Deal)this.DealList.FieldColor.Deal=filed.Deal;if(filed.Index)this.DealList.FieldColor.Index=filed.Index;if(filed.BarTitle)this.DealList.FieldColor.BarTitle=filed.BarTitle;if(filed.Text)this.DealList.FieldColor.Text=filed.Text;if(IFrameSplitOperator.IsNonEmptyArray(filed.Bar)){for(var i=0;i<filed.Bar.length;++i){this.DealList.FieldColor.Bar[i]=filed.Bar[i];}}}if(item.Selected){var subItem=item.Selected;if(subItem.BGColor)this.DealList.Selected.BGColor=subItem.BGColor;if(subItem.LineColor)this.DealList.Selected.LineColor=subItem.LineColor;if(IFrameSplitOperator.IsPlusNumber(subItem.LineWidth))this.DealList.Selected.LineWidth=subItem.LineWidth;}}if(style.Report)this.SetReportStyle(style.Report);if(style.TReport)this.SetTReportStyle(style.TReport);if(style.SelectedChart){var item=style.SelectedChart;if(IFrameSplitOperator.IsNumber(item.LineWidth))this.SelectedChart.LineWidth=item.LineWidth;if(IFrameSplitOperator.IsNumber(item.Radius))this.SelectedChart.Radius=item.Radius;if(IFrameSplitOperator.IsNumber(item.MinSpace))this.SelectedChart.MinSpace=item.MinSpace;if(item.LineColor)this.SelectedChart.LineColor=item.LineColor;if(item.BGColor)this.SelectedChart.BGColor=item.BGColor;}if(style.DragMovePaint){var item=style.DragMovePaint;if(item.TextColor)this.DragMovePaint.TextColor=item.TextColor;if(item.Font)this.DragMovePaint.Font=item.Font;}if(style.SessionBreaksPaint){var item=style.SessionBreaksPaint;if(IFrameSplitOperator.IsNonEmptyArray(item.BGColor))this.SessionBreaksPaint.BGColor=item.BGColor.slice();if(item.SplitLine){var subItem=item.SplitLine;if(subItem.Color)this.SessionBreaksPaint.SplitLine.Color=subItem.Color;if(IFrameSplitOperator.IsNumber(subItem.Width))this.SessionBreaksPaint.SplitLine.Width=subItem.Width;this.SessionBreaksPaint.SplitLine.Dash=subItem.Dash;}}if(IFrameSplitOperator.IsNumber(style.ToolbarButtonStyle))this.ToolbarButtonStyle=style.ToolbarButtonStyle;if(style.Buttons){var buttons=style.Buttons;T_SetButtonStyle(buttons.CloseOverlayIndex,this.Buttons.CloseOverlayIndex);T_SetButtonStyle(buttons.CloseWindow,this.Buttons.CloseWindow);T_SetButtonStyle(buttons.ChangeIndex,this.Buttons.ChangeIndex);T_SetButtonStyle(buttons.OverlayIndex,this.Buttons.OverlayIndex);T_SetButtonStyle(buttons.ModifyIndexParam,this.Buttons.ModifyIndexParam);T_SetButtonStyle(buttons.MaxMinWindow,this.Buttons.MaxMinWindow);T_SetButtonStyle(buttons.TitleWindow,this.Buttons.TitleWindow);T_SetButtonStyle(buttons.ExportData,this.Buttons.ExportData);T_SetButtonStyle(buttons.AddIndexWindow,this.Buttons.AddIndexWindow);T_SetButtonStyle(buttons.IndexHelp,this.Buttons.IndexHelp);if(buttons.Tooltip){var item=buttons.Tooltip;var src=this.Buttons.Tooltip;if(item.Font)src.Font=item.Font;if(item.Color)src.Color=item.Color;if(item.ColorBG)src.ColorBG=item.ColorBG;if(item.ColorBorder)src.ColorBorder=item.ColorBorder;if(item.BorderRadius)src.BorderRadius=item.BorderRadius;if(item.Margin){if(IFrameSplitOperator.IsNumber(item.Margin.Left))src.Margin.Left=item.Margin.Left;if(IFrameSplitOperator.IsNumber(item.Margin.Top))src.Margin.Top=item.Margin.Top;if(IFrameSplitOperator.IsNumber(item.Margin.Bottom))src.Margin.Bottom=item.Margin.Bottom;if(IFrameSplitOperator.IsNumber(item.Margin.Right))src.Margin.Right=item.Margin.Right;}}}if(style.ChartDrawVolProfile){var item=style.ChartDrawVolProfile;if(item.UpVolColor)this.ChartDrawVolProfile.UpVolColor=item.UpVolColor;if(item.DownVolColor)this.ChartDrawVolProfile.DownVolColor=item.DownVolColor;if(item.AreaUpColor)this.ChartDrawVolProfile.AreaUpColor=item.AreaUpColor;if(item.AreaDonwColor)this.ChartDrawVolProfile.AreaDonwColor=item.AreaDonwColor;if(item.BGColor)this.ChartDrawVolProfile.BGColor=item.BGColor;if(item.BorderColor)this.ChartDrawVolProfile.BorderColor=item.BorderColor;if(item.VolLineColor)this.ChartDrawVolProfile.VolLineColor=item.VolLineColor;if(item.Text){if(item.Text.Color)this.ChartDrawVolProfile.Text.Color=item.Text.Color;if(item.Text.Family)this.ChartDrawVolProfile.Text.Family=item.Text.Family;if(IFrameSplitOperator.IsNumber(item.Text.FontMaxSize))this.ChartDrawVolProfile.Text.FontMaxSize=item.Text.FontMaxSize;if(IFrameSplitOperator.IsNumber(item.Text.FontMinSize))this.ChartDrawVolProfile.Text.FontMinSize=item.Text.FontMinSize;}}if(style.DisableLogo===true){if(this.FrameLogo)this.FrameLogo.Text=null;}if(style.ScrollBar){var item=style.ScrollBar;if(item.BorderColor)this.ScrollBar.BorderColor=item.BorderColor;if(item.XSplitTextFont)this.ScrollBar.XSplitTextFont=item.XSplitTextFont;if(item.XSplitTextColor)this.ScrollBar.XSplitTextColor=item.XSplitTextColor;if(item.XSplitLineColor)this.ScrollBar.XSplitLineColor=item.XSplitLineColor;if(item.Slider){var subItem=item.Slider;if(subItem.DateFont)this.ScrollBar.Slider.DateFont=subItem.DateFont;if(subItem.DateColor)this.ScrollBar.Slider.DateColor=subItem.DateColor;if(subItem.BarColor)this.ScrollBar.Slider.BarColor=subItem.BarColor;if(subItem.BarAreaColor)this.ScrollBar.Slider.BarAreaColor=subItem.BarAreaColor;if(IFrameSplitOperator.IsNumber(subItem.BarWidth))this.ScrollBar.Slider.BarWidth=subItem.BarWidth;if(IFrameSplitOperator.IsNumber(subItem.BarPadding))this.ScrollBar.Slider.BarPadding=subItem.BarPadding;if(IFrameSplitOperator.IsNumber(subItem.MinCenterWidth))this.ScrollBar.Slider.MinCenterWidth=subItem.MinCenterWidth;}if(item.BGChart){var subItem=item.BGChart;if(subItem.Color)this.ScrollBar.BGChart.Color=subItem.Color;if(subItem.AreaColor)this.ScrollBar.BGChart.AreaColor=subItem.AreaColor;if(IFrameSplitOperator.IsPlusNumber(subItem.LineWidth))this.ScrollBar.BGChart.LineWidth=subItem.LineWidth;}}if(style.FrameButtomToolbar)this.SetFrameButtomToolbar(style.FrameButtomToolbar);if(style.Keyboard)this.SetKeyboardStyle(style.Keyboard);if(style.MinuteToolbar)this.SetMinuteToolbar(style.MinuteToolbar);if(style.KLineToolbar)this.SetKLineToolbar(style.KLineToolbar);if(style.IndexLock)this.SetIndexLock(style.IndexLock);if(style.ChartScatterPlotV2)this.SetChartScatterPlotV2(style.ChartScatterPlotV2);if(style.ChartDrawTVLongPosition)this.SetChartDrawTVLongPosition(style.ChartDrawTVLongPosition);if(style.KLineCountDownPaint)this.SetKLineCountDownPaint(style.KLineCountDownPaint);if(style.SmallFloatTooltipV2)this.SetSmallFloatTooltipV2(style.SmallFloatTooltipV2);if(style.StockInfo)this.SetStockInfo(style.StockInfo);if(style.StatusBar)this.SetStatusBar(style.StatusBar);};this.SetStatusBar=function(style){var dest=this.StatusBar;if(style.Table){var item=style.Table;if(item.Font)dest.Table.Font=item.Font;if(item.TitleColor)dest.Table.TitleColor=item.TitleColor;if(IFrameSplitOperator.IsNonEmptyArray(item.AryTextColor))dest.Table.AryTextColor=item.AryTextColor.slice();CopyMarginConfig(dest.Table.Margin,item.Margin);if(item.CellMargin){var subItem=item.CellMargin;CopyMarginConfig(dest.Table.CellMargin,subItem);if(IFrameSplitOperator.IsNumber(subItem.YOffset))dest.Table.CellMargin.YOffset=subItem.YOffset;}if(item.Separator){var subItem=item.Separator;var subDest=dest.Table.Separator;if(IFrameSplitOperator.IsNumber(subItem.Left))subDest.Left=subItem.Left;if(IFrameSplitOperator.IsNumber(subItem.Right))subDest.Left=subItem.Right;if(subItem.Line){if(IFrameSplitOperator.IsNumber(subItem.Line.Width))subDest.Line.Width=subItem.Line.Width;if(IFrameSplitOperator.IsNumber(subItem.Line.Top))subDest.Line.Top=subItem.Line.Top;if(IFrameSplitOperator.IsNumber(subItem.Line.Bottom))subDest.Line.Bottom=subItem.Line.Bottom;if(subItem.Line.Color)subDest.Line.Color=subItem.Line.Color;}}}if(style.DateTime){var item=style.DateTime;if(item.Font)dest.DateTime.Font=item.Font;if(item.TitleColor)dest.DateTime.TitleColor=item.TitleColor;if(item.Format)dest.DateTime.Format=item.Format;if(item.MaxText)dest.DateTime.MaxText=item.MaxText;if(item.Margin){var subItem=item.Margin;CopyMarginConfig(dest.DateTime.Margin,subItem);if(IFrameSplitOperator.IsNumber(subItem.YOffset))dest.DateTime.Margin.YOffset=subItem.YOffset;}}if(style.UpTextColor)dest.UpTextColor=style.UpTextColor;if(style.DownTextColor)dest.DownTextColor=style.DownTextColor;if(style.UnchangeTextColor)dest.UnchangeTextColor=style.UnchangeTextColor;if(style.BorderColor)dest.BorderColor=style.BorderColor;};this.SetStockInfo=function(style){var dest=this.StockInfo;if(style.BuySell){var item=style.BuySell;if(item.Font)dest.BuySell.Font=item.Font;if(item.TitleColor)dest.BuySell.TitleColor=item.TitleColor;if(item.VolColor)dest.BuySell.VolColor=item.VolColor;CopyMarginConfig(dest.BuySell.Margin,item.Margin);if(item.CellMargin){var subItem=item.CellMargin;CopyMarginConfig(dest.BuySell.CellMargin,subItem);if(IFrameSplitOperator.IsNumber(subItem.YOffset))dest.BuySell.CellMargin.YOffset=subItem.YOffset;}if(item.BottomLine){var subItem=item.BottomLine;if(subItem.Color)dest.BuySell.BottomLine.Color=subItem.Color;if(IFrameSplitOperator.IsBool(subItem.Enable))dest.BuySell.BottomLine.Enable=subItem.Enable;}if(item.TopLine){var subItem=item.TopLine;if(subItem.Color)dest.BuySell.TopLine.Color=subItem.Color;if(IFrameSplitOperator.IsBool(subItem.Enable))dest.BuySell.TopLine.Enable=subItem.Enable;}if(item.CenterLine){var subItem=item.CenterLine;if(subItem.BuyColor)dest.BuySell.CenterLine.BuyColor=subItem.BuyColor;if(subItem.SellColor)dest.BuySell.CenterLine.SellColor=subItem.SellColor;if(subItem.NoneColor)dest.BuySell.CenterLine.NoneColor=subItem.NoneColor;if(IFrameSplitOperator.IsNumber(subItem.Width))dest.BuySell.CenterLine.Width=subItem.Width;}}if(style.Table){var item=style.Table;if(item.Font)dest.Table.Font=item.Font;if(item.TitleColor)dest.Table.TitleColor=item.TitleColor;if(item.TextColor)dest.Table.TextColor=item.TextColor;CopyMarginConfig(dest.Table.Margin,item.Margin);if(item.CellMargin){var subItem=item.CellMargin;CopyMarginConfig(dest.Table.CellMargin,subItem);if(IFrameSplitOperator.IsNumber(subItem.YOffset))dest.Table.CellMargin.YOffset=subItem.YOffset;}}if(style.Header){var item=style.Header;if(item.Font)dest.Header.Font=item.Font;if(item.TextColor)dest.Header.TextColor=item.TextColor;if(item.Name){var subItem=item.Name;if(subItem.Font)dest.Header.Name.Font=subItem.Font;if(subItem.Color)dest.Header.Name.Color=subItem.Color;if(subItem.Margin){var margin=subItem.Margin;CopyMarginConfig(dest.Header.Name.Margin,margin);if(IFrameSplitOperator.IsNumber(margin.YOffset))dest.Header.Name.Margin.YOffset=margin.YOffset;}}if(item.Symbol){var subItem=item.Symbol;if(subItem.Font)dest.Header.Symbol.Font=subItem.Font;if(subItem.Color)dest.Header.Symbol.Color=subItem.Color;if(subItem.Margin){var margin=subItem.Margin;CopyMarginConfig(dest.Header.Symbol.Margin,margin);if(IFrameSplitOperator.IsNumber(margin.YOffset))dest.Header.Symbol.Margin.YOffset=margin.YOffset;}}if(IFrameSplitOperator.IsNonEmptyArray(item.AryCell)){for(var i=0;i<item.AryCell.length;++i){var subItem=item.AryCell[i];if(!dest.Header.AryCell[i])dest.Header.AryCell[i]={};var subDest=dest.Header.AryCell[i];if(subItem.Font)subDest.Font=subItem.Font;if(subItem.Margin){var margin=subItem.Margin;CopyMarginConfig(subDest.Margin,margin);if(IFrameSplitOperator.IsNumber(margin.YOffset))subDest.YOffset=margin.YOffset;}}}if(item.BottomLine){var subItem=item.BottomLine;if(subItem.Color)dest.Header.BottomLine.Color=subItem.Color;if(IFrameSplitOperator.IsBool(subItem.Enable))dest.Header.BottomLine.Enable=subItem.Enable;}}if(style.UpTextColor)dest.UpTextColor=style.UpTextColor;if(style.DownTextColor)dest.DownTextColor=style.DownTextColor;if(style.UnchangeTextColor)dest.UnchangeTextColor=style.UnchangeTextColor;if(style.BorderColor)dest.BorderColor=style.BorderColor;};this.SetSmallFloatTooltipV2=function(style){var dest=this.SmallFloatTooltipV2;if(style.BGColor)dest.BGColor=style.BGColor;if(style.BorderColor)dest.BorderColor=style.BorderColor;if(style.TextColor)dest.TextColor=style.TextColor;if(style.ValueColor)dest.ValueColor=style.ValueColor;};this.SetKLineCountDownPaint=function(style){var dest=this.KLineCountDownPaint;if(style.Font)dest.Font=style.Font;if(style.TextMargin){var item=style.TextMargin;CopyMarginConfig(dest.TextMargin,item);if(IFrameSplitOperator.IsNumber(item.YOffset))dest.TextMargin.YOffset=item.YOffset;}if(style.LabelMargin)CopyMarginConfig(dest.LabelMargin,style.LabelMargin);if(style.Line){var item=style.Line;if(IFrameSplitOperator.IsNumber(item.Width))dest.Line.Width=item.Width;if(IFrameSplitOperator.IsBool(item.IsShow))dest.Line.Width=item.Width;if(item.Dash)dest.Line.Dash=item.Dash;}if(style.Unchange){var item=style.Unchange;var subDest=dest.Unchange;if(item.BGColor)subDest.BGColor=item.BGColor;if(item.PriceColor)subDest.PriceColor=item.PriceColor;if(item.TimeColor)subDest.TimeColor=item.TimeColor;}if(style.Up){var item=style.Up;var subDest=dest.Up;if(item.BGColor)subDest.BGColor=item.BGColor;if(item.PriceColor)subDest.PriceColor=item.PriceColor;if(item.TimeColor)subDest.TimeColor=item.TimeColor;}if(style.Down){var item=style.Down;var subDest=dest.Down;if(item.BGColor)subDest.BGColor=item.BGColor;if(item.PriceColor)subDest.PriceColor=item.PriceColor;if(item.TimeColor)subDest.TimeColor=item.TimeColor;}};this.SetChartDrawTVLongPosition=function(style){if(style.TopArea){var item=style.TopArea;var dest=this.ChartDrawTVLongPosition.TopArea;if(item.AreaColor)dest.AreaColor=item.AreaColor;if(item.SelectedAreaColor)dest.SelectedAreaColor=item.SelectedAreaColor;if(item.TextBGColor)dest.TextBGColor=item.TextBGColor;if(item.TextColor)dest.BorderColor=item.TextColor;}if(style.BottomArea){var item=style.BottomArea;var dest=this.ChartDrawTVLongPosition.BottomArea;if(item.AreaColor)dest.AreaColor=item.AreaColor;if(item.SelectedAreaColor)dest.SelectedAreaColor=item.SelectedAreaColor;if(item.TextBGColor)dest.TextBGColor=item.TextBGColor;if(item.TextColor)dest.BorderColor=item.TextColor;}if(style.Label){var item=style.Label;var dest=this.ChartDrawTVLongPosition.Label;if(item.Font)dest.Font=item.Font;CopyMarginConfig(dest.Margin,item.Margin);}};this.SetKeyboardStyle=function(style){var item=style;var dest=this.Keyboard;if(item.BorderColor)dest.BorderColor=item.BorderColor;if(item.SelectedColor)dest.SelectedColor=item.SelectedColor;if(item.TextColor)dest.TextColor=item.TextColor;if(item.Item){var row=item.Item;if(row.Mergin){var mergin=row.Mergin;if(IFrameSplitOperator.IsNumber(mergin.Left))dest.Item.Mergin.Left=mergin.Left;if(IFrameSplitOperator.IsNumber(mergin.Right))dest.Item.Mergin.Right=mergin.Right;if(IFrameSplitOperator.IsNumber(mergin.Top))dest.Item.Mergin.Top=mergin.Top;if(IFrameSplitOperator.IsNumber(mergin.Bottom))dest.Item.Mergin.Bottom=mergin.Bottom;}if(row.Font){var font=row.Font;if(font.Name)dest.Item.Font.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))dest.Item.Font.Size=font.Size;}if(row.BarMergin){var mergin=row.BarMergin;if(IFrameSplitOperator.IsNumber(mergin.Left))dest.Item.BarMergin.Left=mergin.Left;if(IFrameSplitOperator.IsNumber(mergin.Top))dest.Item.BarMergin.Top=mergin.Top;if(IFrameSplitOperator.IsNumber(mergin.Right))dest.Item.BarMergin.Right=mergin.Right;if(IFrameSplitOperator.IsNumber(mergin.Bottom))dest.Item.BarMergin.Bottom=mergin.Bottom;}if(row.NameFont){var font=row.NameFont;if(font.Name)dest.Item.NameFont.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))dest.Item.NameFont.Size=font.Size;}if(row.SymbolFont){var font=row.SymbolFont;if(font.Name)dest.Item.SymbolFont.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))dest.Item.SymbolFont.Size=font.Size;}}if(item.VScrollbar){var scroll=item.VScrollbar;if(IFrameSplitOperator.IsNumber(scroll.ScrollBarHeight))dest.VScrollbar.ScrollBarHeight=scroll.ScrollBarHeight;if(scroll.ButtonColor)dest.VScrollbar.ButtonColor=scroll.ButtonColor;if(scroll.BarColor)dest.VScrollbar.BarColor=scroll.BarColor;if(scroll.BorderColor)dest.VScrollbar.BorderColor=scroll.BorderColor;if(scroll.BGColor)dest.VScrollbar.BGColor=scroll.BGColor;if(scroll.BarWidth){var subItem=scroll.BarWidth;if(IFrameSplitOperator.IsNumber(subItem.Size))dest.VScrollbar.BarWidth.Size=subItem.Size;}}};this.SetReportStyle=function(style){var item=style;var dest=this.Report;if(item.BorderColor)this.Report.BorderColor=item.BorderColor;if(item.UpTextColor)this.Report.UpTextColor=item.UpTextColor;if(item.DownTextColor)this.Report.DownTextColor=item.DownTextColor;if(item.UnchagneTextColor)this.Report.UnchagneTextColor=item.UnchagneTextColor;if(item.BorderColor)this.Report.SelectedColor=item.SelectedColor;if(item.SelectedLine){var subItem=item.SelectedLine;var subDest=this.Report.SelectedLine;if(subItem.Color)subDest.Color=subItem.Color;if(IFrameSplitOperator.IsNumber(subItem.Width))subDest.Width=subItem.Width;}if(item.CloseLine){var closeLine=item.CloseLine;if(closeLine.CloseColor)this.Report.CloseLine.CloseColor=closeLine.CloseColor;if(closeLine.YCloseColor)this.Report.CloseLine.YCloseColor=closeLine.YCloseColor;if(closeLine.AreaColor)this.Report.CloseLine.AreaColor=closeLine.AreaColor;if(closeLine.UpColor)this.Report.CloseLine.UpColor=closeLine.UpColor;if(closeLine.UpAreaColor)this.Report.CloseLine.UpAreaColor=closeLine.UpAreaColor;if(closeLine.DownColor)this.Report.CloseLine.DownColor=closeLine.DownColor;if(closeLine.DownAreaColor)this.Report.CloseLine.DownAreaColor=closeLine.DownAreaColor;if(closeLine.UnchangeColor)this.Report.CloseLine.UnchangeColor=closeLine.UnchangeColor;if(closeLine.UnchangeAreaColor)this.Report.CloseLine.UnchangeAreaColor=closeLine.UnchangeAreaColor;}if(item.KLine){var kline=item.KLine;if(kline.UpColor)this.Report.KLine.UpColor=kline.UpColor;if(kline.DownColor)this.Report.KLine.DownColor=kline.DownColor;if(kline.UnchagneColor)this.Report.KLine.UnchagneColor=kline.UnchagneColor;if(IFrameSplitOperator.IsNumber(kline.DataWidth))this.Report.KLine.DataWidth=kline.DataWidth;if(IFrameSplitOperator.IsNumber(kline.DistanceWidth))this.Report.KLine.DistanceWidth=kline.DistanceWidth;}if(item.Header){var header=item.Header;if(header.Color)this.Report.Header.Color=header.Color;if(header.Mergin){var mergin=header.Mergin;if(IFrameSplitOperator.IsNumber(mergin.Left))this.Report.Header.Mergin.Left=mergin.Left;if(IFrameSplitOperator.IsNumber(mergin.Right))this.Report.Header.Mergin.Left=mergin.Right;if(IFrameSplitOperator.IsNumber(mergin.Top))this.Report.Header.Mergin.Top=mergin.Top;if(IFrameSplitOperator.IsNumber(mergin.Bottom))this.Report.Header.Mergin.Bottom=mergin.Bottom;}if(header.Font){var font=header.Font;if(font.Name)this.Report.Header.Font.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))this.Report.Header.Font.Size=font.Size;}}if(item.SortIcon){var sort=item.SortIcon;if(IFrameSplitOperator.IsNonEmptyArray(sort.Color))this.Report.SortIcon.Color=sort.Color.slice();if(IFrameSplitOperator.IsNumber(sort.Size))this.Report.SortIcon.Size=sort.Size;if(sort.Family)this.Report.SortIcon.Family=sort.Family;if(IFrameSplitOperator.IsNonEmptyArray(sort.Arrow))this.Report.SortIcon.Arrow=sort.Arrow.slice();if(sort.Margin){var margin=sort.Margin;if(IFrameSplitOperator.IsNumber(margin.Left))this.Report.SortIcon.Margin.Left=margin.Left;if(IFrameSplitOperator.IsNumber(margin.Right))this.Report.SortIcon.Margin.Right=margin.Right;if(IFrameSplitOperator.IsNumber(margin.Top))this.Report.SortIcon.Margin.Top=margin.Top;if(IFrameSplitOperator.IsNumber(margin.Bottom))this.Report.SortIcon.Margin.Bottom=margin.Bottom;}}if(item.Item){var row=item.Item;if(row.Mergin){var mergin=row.Mergin;if(IFrameSplitOperator.IsNumber(mergin.Left))this.Report.Item.Mergin.Left=mergin.Left;if(IFrameSplitOperator.IsNumber(mergin.Right))this.Report.Item.Mergin.Right=mergin.Right;if(IFrameSplitOperator.IsNumber(mergin.Top))this.Report.Item.Mergin.Top=mergin.Top;if(IFrameSplitOperator.IsNumber(mergin.Bottom))this.Report.Item.Mergin.Bottom=mergin.Bottom;}if(row.Font){var font=row.Font;if(font.Name)this.Report.Item.Font.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))this.Report.Item.Font.Size=font.Size;}if(row.BarMergin){var mergin=row.BarMergin;if(IFrameSplitOperator.IsNumber(mergin.Left))this.Report.Item.BarMergin.Left=mergin.Left;if(IFrameSplitOperator.IsNumber(mergin.Top))this.Report.Item.BarMergin.Top=mergin.Top;if(IFrameSplitOperator.IsNumber(mergin.Right))this.Report.Item.BarMergin.Right=mergin.Right;if(IFrameSplitOperator.IsNumber(mergin.Bottom))this.Report.Item.BarMergin.Bottom=mergin.Bottom;}if(row.NameFont){var font=row.NameFont;if(font.Name)this.Report.Item.NameFont.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))this.Report.Item.NameFont.Size=font.Size;}if(row.SymbolFont){var font=row.SymbolFont;if(font.Name)this.Report.Item.SymbolFont.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))this.Report.Item.SymbolFont.Size=font.Size;}}if(item.FixedItem){var row=item.FixedItem;if(row.Font){var font=row.Font;if(font.Name)this.Report.FixedItem.Font.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))this.Report.FixedItem.Font.Size=font.Size;}}if(item.LimitBorder){var limit=item.LimitBorder;if(limit.Color)this.Report.LimitBorder.Color=limit.Color;if(limit.Mergin){var mergin=limit.Mergin;if(IFrameSplitOperator.IsNumber(mergin.Left))this.Report.LimitBorder.Mergin.Left=mergin.Left;if(IFrameSplitOperator.IsNumber(mergin.Top))this.Report.LimitBorder.Mergin.Top=mergin.Top;if(IFrameSplitOperator.IsNumber(mergin.Right))this.Report.LimitBorder.Mergin.Right=mergin.Right;if(IFrameSplitOperator.IsNumber(mergin.Bottom))this.Report.LimitBorder.Mergin.Bottom=mergin.Bottom;}}if(item.LimitColor){var limit=item.LimitColor;if(limit.UpColor)this.Report.LimitColor.UpColor=limit.UpColor;if(limit.DownColor)this.Report.LimitColor.DownColor=limit.DownColor;if(limit.TextColor)this.Report.LimitColor.UpColor=limit.TextColor;}if(item.FieldColor){var filed=item.FieldColor;if(filed.Name)this.Report.FieldColor.Name=filed.Name;if(filed.Symbol)this.Report.FieldColor.Symbol=filed.Symbol;if(filed.Vol)this.Report.FieldColor.Vol=filed.Vol;if(filed.Amount)this.Report.FieldColor.Amount=filed.Amount;if(filed.Index)this.Report.FieldColor.Index=filed.Index;if(filed.BarTitle)this.Report.FieldColor.BarTitle=filed.BarTitle;if(filed.Text)this.Report.FieldColor.Text=filed.Text;if(IFrameSplitOperator.IsNonEmptyArray(filed.Bar)){for(var i=0;i<filed.Bar.length;++i){this.Report.FieldColor.Bar[i]=filed.Bar[i];}}}if(item.NameSymbolV2){var nameSymbol=item.NameSymbolV2;if(nameSymbol.Name){var subItem=nameSymbol.Name;if(IFrameSplitOperator.IsNumber(subItem.Size))this.Report.NameSymbolV2.Name.Size=subItem.Size;if(subItem.Name)this.Report.NameSymbolV2.Name.Name=subItem.Name;if(subItem.Color)this.Report.NameSymbolV2.Name.Color=subItem.Color;}if(nameSymbol.Symbol){var subItem=nameSymbol.Symbol;if(IFrameSplitOperator.IsNumber(subItem.Size))this.Report.NameSymbolV2.Symbol.Size=subItem.Size;if(subItem.Name)this.Report.NameSymbolV2.Symbol.Name=subItem.Name;if(subItem.Color)this.Report.NameSymbolV2.Symbol.Color=subItem.Color;}}if(item.Tab){var tab=item.Tab;if(tab.Font){var font=tab.Font;if(font.Name)this.Report.Tab.Font.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))this.Report.Tab.Font.Size=font.Size;}if(IFrameSplitOperator.IsNumber(tab.ScrollBarWidth))this.Report.Tab.ScrollBarWidth=tab.ScrollBarWidth;if(tab.ButtonColor)this.Report.Tab.ButtonColor=tab.ButtonColor;if(tab.BarColor)this.Report.Tab.BarColor=tab.BarColor;if(tab.BorderColor)this.Report.Tab.BorderColor=tab.BorderColor;if(tab.TabTitleColor)this.Report.Tab.TabTitleColor=tab.TabTitleColor;if(tab.TabSelectedTitleColor)this.Report.Tab.TabSelectedTitleColor=tab.TabSelectedTitleColor;if(tab.TabSelectedBGColor)this.Report.Tab.TabSelectedBGColor=tab.TabSelectedBGColor;if(tab.TabMoveOnTitleColor)this.Report.Tab.TabMoveOnTitleColor=tab.TabMoveOnTitleColor;if(tab.TabBGColor)this.Report.Tab.TabBGColor=tab.TabBGColor;}if(item.PageInfo){var pageinfo=item.PageInfo;if(pageinfo.Font){var font=pageinfo.Font;if(font.Name)this.Report.PageInfo.Font.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))this.Report.PageInfo.Font.Size=font.Size;}if(pageinfo.TextColor)this.Report.PageInfo.TextColor=pageinfo.TextColor;if(pageinfo.BGColor)this.Report.PageInfo.BGColor=pageinfo.BGColor;if(pageinfo.Mergin){var mergin=pageinfo.Mergin;if(IFrameSplitOperator.IsNumber(mergin.Left))this.Report.PageInfo.Mergin.Left=mergin.Left;if(IFrameSplitOperator.IsNumber(mergin.Top))this.Report.PageInfo.Mergin.Top=mergin.Top;if(IFrameSplitOperator.IsNumber(mergin.Right))this.Report.PageInfo.Mergin.Right=mergin.Right;if(IFrameSplitOperator.IsNumber(mergin.Bottom))this.Report.PageInfo.Mergin.Bottom=mergin.Bottom;}}if(item.DragRow){var dragRow=item.DragRow;if(dragRow.Color)this.Report.DragRow.Color=dragRow.Color;if(dragRow.TextColor)this.Report.DragRow.TextColor=dragRow.TextColor;if(dragRow.MoveRowColor)this.Report.DragRow.MoveRowColor=dragRow.MoveRowColor;if(dragRow.SrcRowColor)this.Report.DragRow.SrcRowColor=dragRow.SrcRowColor;}if(item.VScrollbar){var subItem=item.VScrollbar;if(IFrameSplitOperator.IsNumber(subItem.ScrollBarHeight))dest.VScrollbar.ScrollBarHeight=subItem.ScrollBarHeight;if(subItem.ButtonColor)dest.VScrollbar.ButtonColor=subItem.ButtonColor;if(subItem.BarColor)dest.VScrollbar.BarColor=subItem.BarColor;if(subItem.BorderColor)dest.VScrollbar.BorderColor=subItem.BorderColor;if(subItem.BGColor)dest.VScrollbar.BGColor=subItem.BGColor;}if(item.CheckBox){var subItem=item.CheckBox;if(subItem.Family)dest.CheckBox.Family=subItem.Family;if(IFrameSplitOperator.IsNumber(subItem.Size))dest.CheckBox.Size=subItem.Size;if(subItem.Checked){var child=subItem.Checked;if(child.Color)dest.CheckBox.Checked.Color=child.Color;if(child.Symbol)dest.CheckBox.Checked.Symbol=child.Symbol;if(child.DisableColor)dest.CheckBox.Checked.DisableColor=child.DisableColor;}if(subItem.Unchecked){var child=subItem.Unchecked;if(child.Color)dest.CheckBox.Unchecked.Color=child.Color;if(child.Symbol)dest.CheckBox.Unchecked.Symbol=child.Symbol;if(child.DisableColor)dest.CheckBox.Unchecked.DisableColor=child.DisableColor;}CopyMarginConfig(dest.CheckBox.Margin,subItem.Margin);}if(item.Link){var subItem=item.Link;if(subItem.Font)dest.Link.Font=subItem.Font;if(subItem.TextColor)dest.Link.TextColor=subItem.TextColor;if(subItem.Disable&&subItem.Disable.TextColor)dest.Link.Disable.TextColor=subItem.Disable.TextColor;if(subItem.MouseOn&&subItem.MouseOn.TextColor)dest.Link.MouseOn.TextColor=subItem.MouseOn.TextColor;}if(item.ProgressBar){var subItem=item.ProgressBar;if(subItem.BGColor)dest.ProgressBar.BGColor=subItem.BGColor;if(subItem.BarColor)dest.ProgressBar.BarColor=subItem.BarColor;if(subItem.TextColor)dest.ProgressBar.TextColor=subItem.TextColor;if(subItem.Font)dest.ProgressBar.Font=subItem.Font;if(subItem.Disable){if(subItem.Disable.BGColor)dest.ProgressBar.Disable.BGColor=subItem.Disable.BGColor;if(subItem.Disable.BarColor)dest.ProgressBar.Disable.BarColor=subItem.Disable.BarColor;if(subItem.Disable.TextColor)dest.ProgressBar.Disable.TextColor=subItem.Disable.TextColor;}CopyMarginConfig(dest.ProgressBar.Margin,subItem.Margin);CopyMarginConfig(dest.ProgressBar.BarMargin,subItem.BarMargin);CopyMarginConfig(dest.ProgressBar.TextMargin,subItem.TextMargin);}if(item.Buttom){var subItem=item.Buttom;if(subItem.BGColor)dest.Buttom.BGColor=subItem.BGColor;if(subItem.TextColor)dest.Buttom.TextColor=subItem.TextColor;if(subItem.BorderColor)dest.Buttom.BorderColor=subItem.BorderColor;if(subItem.Font)dest.Buttom.Font=subItem.Font;if(subItem.Disable){if(subItem.Disable.BGColor)dest.Buttom.Disable.BGColor=subItem.Disable.BGColor;if(subItem.Disable.TextColor)dest.Buttom.Disable.TextColor=subItem.Disable.TextColor;}if(subItem.MouseOn){if(subItem.MouseOn.BGColor)dest.Buttom.MouseOn.BGColor=subItem.MouseOn.BGColor;if(subItem.MouseOn.TextColor)dest.Buttom.MouseOn.TextColor=subItem.MouseOn.TextColor;}CopyMarginConfig(dest.Buttom.Margin,subItem.Margin);CopyMarginConfig(dest.Buttom.TextMargin,subItem.TextMargin);}};this.SetTReportStyle=function(style){var item=style;var dest=this.TReport;if(item.BorderColor)dest.BorderColor=item.BorderColor;if(item.UpTextColor)dest.UpTextColor=item.UpTextColor;if(item.DownTextColor)dest.DownTextColor=item.DownTextColor;if(item.UnchangeTextColor)dest.UnchangeTextColor=item.UnchangeTextColor;if(item.BorderColor)dest.SelectedColor=item.SelectedColor;if(item.UpBGColor)dest.UpBGColor=item.UpBGColor;if(item.DownBGColor)dest.DownBGColor=item.DownBGColor;if(item.Header){var header=item.Header;if(header.Color)dest.Header.Color=header.Color;if(header.SortColor)dest.Header.SortColor=header.SortColor;if(header.Mergin){var mergin=header.Mergin;if(IFrameSplitOperator.IsNumber(mergin.Left))dest.Header.Mergin.Left=mergin.Left;if(IFrameSplitOperator.IsNumber(mergin.Right))dest.Header.Mergin.Left=mergin.Right;if(IFrameSplitOperator.IsNumber(mergin.Top))dest.Header.Mergin.Top=mergin.Top;if(IFrameSplitOperator.IsNumber(mergin.Bottom))dest.Header.Mergin.Bottom=mergin.Bottom;}if(header.Font){var font=header.Font;if(font.Name)dest.Header.Font.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))dest.Header.Font.Size=font.Size;}}if(item.CenterItem){var cell=item.CenterItem;if(cell.TextColor)dest.CenterItem.TextColor=cell.TextColor;if(cell.BaseTextColor)dest.CenterItem.BaseTextColor=cell.BaseTextColor;if(cell.BGColor)dest.CenterItem.BGColor=cell.BGColor;if(cell.MatchTextColor)dest.CenterItem.MatchTextColor=cell.MatchTextColor;}if(item.Item){var row=item.Item;if(row.Mergin){var mergin=row.Mergin;if(IFrameSplitOperator.IsNumber(mergin.Left))dest.Item.Mergin.Left=mergin.Left;if(IFrameSplitOperator.IsNumber(mergin.Right))dest.Item.Mergin.Right=mergin.Right;if(IFrameSplitOperator.IsNumber(mergin.Top))dest.Item.Mergin.Top=mergin.Top;if(IFrameSplitOperator.IsNumber(mergin.Bottom))dest.Item.Mergin.Bottom=mergin.Bottom;}if(row.Font){var font=row.Font;if(font.Name)dest.Item.Font.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))dest.Item.Font.Size=font.Size;}if(row.NameFont){var font=row.NameFont;if(font.Name)dest.Item.NameFont.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))dest.Item.NameFont.Size=font.Size;}if(row.SymbolFont){var font=row.SymbolFont;if(font.Name)dest.Item.SymbolFont.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))dest.Item.SymbolFont.Size=font.Size;}}if(item.FieldColor){var filed=item.FieldColor;if(filed.Name)dest.FieldColor.Name=filed.Name;if(filed.Symbol)dest.FieldColor.Symbol=filed.Symbol;if(filed.Vol)dest.FieldColor.Vol=filed.Vol;if(filed.Amount)dest.FieldColor.Amount=filed.Amount;if(filed.Index)dest.FieldColor.Index=filed.Index;if(filed.Text)dest.FieldColor.Text=filed.Text;if(filed.Position)dest.FieldColor.Position=filed.Position;}if(item.MarkBorder){var subIem=item.MarkBorder;if(subIem.MaxPositionColor)dest.MarkBorder.MaxPositionColor=subIem.MaxPositionColor;}if(item.FixedItem){var subIem=item.FixedItem;if(subIem.Font){var font=subIem.Font;if(font.Name)dest.FixedItem.Font.Name=font.Name;if(IFrameSplitOperator.IsNumber(font.Size))dest.FixedItem.Font.Size=font.Size;}}};this.SetFrameButtomToolbar=function(style){var dest=this.FrameButtomToolbar;if(style.BGColor)dest.BGColor=style.BGColor;if(style.BorderColor)dest.BorderColor=style.BorderColor;if(style.Button){var button=style.Button;if(button.BorderColor)dest.Button.BorderColor=button.BorderColor;if(button.Font){var item=button.Font;var destItem=this.FrameButtomToolbar.Button.Font;if(item.Family)destItem.Family=item.Family;if(IFrameSplitOperator.IsNumber(item.Size))destItem.Size=item.Size;}if(button.TitleColor){var item=button.TitleColor;var destItem=this.FrameButtomToolbar.Button.TitleColor;if(item.Selected)destItem.Selected=item.Selected;if(item.Default)destItem.Default=item.Default;if(item.MoveOn)destItem.MoveOn=item.MoveOn;}if(button.BGColor){var item=button.BGColor;var destItem=this.FrameButtomToolbar.Button.BGColor;if(item.Selected)destItem.Selected=item.Selected;if(item.Default)destItem.Default=item.Default;if(item.MoveOn)destItem.MoveOn=item.MoveOn;}if(button.Mergin){var item=button.Mergin;var destItem=this.FrameButtomToolbar.Button.Mergin;if(IFrameSplitOperator.IsNumber(item.Left))destItem.Left=item.Left;if(IFrameSplitOperator.IsNumber(item.Right))destItem.Left=item.Right;if(IFrameSplitOperator.IsNumber(item.Top))destItem.Top=item.Top;if(IFrameSplitOperator.IsNumber(item.Bottom))destItem.Bottom=item.Bottom;}if(button.SVG){var item=button.SVG;var destItem=this.FrameButtomToolbar.Button.SVG;if(IFrameSplitOperator.IsNumber(item.Size))destItem.Size=item.Size;if(IFrameSplitOperator.IsNumber(item.MerginLeft))destItem.MerginLeft=item.MerginLeft;if(item.Family)destItem.Family=item.Family;}}};this.SetMinuteToolbar=function(style){var dest=this.MinuteToolbar;if(IFrameSplitOperator.IsBool(style.ModifyIndex))dest.ModifyIndex=style.ModifyIndex;if(IFrameSplitOperator.IsBool(style.ChangeIndex))dest.ChangeIndex=style.ChangeIndex;if(IFrameSplitOperator.IsBool(style.CloseIndex))dest.CloseIndex=style.CloseIndex;if(IFrameSplitOperator.IsBool(style.OverlayIndex))dest.OverlayIndex=style.OverlayIndex;if(IFrameSplitOperator.IsBool(style.MaxMinWindow))dest.ModifyIndex=style.MaxMinWindow;if(IFrameSplitOperator.IsBool(style.TitleWindow))dest.ModifyIndex=style.TitleWindow;if(IFrameSplitOperator.IsBool(style.ExportData))dest.ModifyIndex=style.ExportData;if(IFrameSplitOperator.IsBool(style.AddIndexWindow))dest.AddIndexWindow=style.AddIndexWindow;if(IFrameSplitOperator.IsBool(style.IndexHelp))dest.IndexHelp=style.IndexHelp;if(IFrameSplitOperator.IsBool(style.IsShowOverlayToolbar))dest.IsShowOverlayToolbar=style.IsShowOverlayToolbar;if(IFrameSplitOperator.IsBool(style.IsShowOverlayFrame))dest.IsShowOverlayFrame=style.IsShowOverlayFrame;};this.SetKLineToolbar=function(style){var dest=this.KLineToolbar;if(IFrameSplitOperator.IsBool(style.ModifyIndex))dest.ModifyIndex=style.ModifyIndex;if(IFrameSplitOperator.IsBool(style.ChangeIndex))dest.ChangeIndex=style.ChangeIndex;if(IFrameSplitOperator.IsBool(style.CloseIndex))dest.CloseIndex=style.CloseIndex;if(IFrameSplitOperator.IsBool(style.OverlayIndex))dest.OverlayIndex=style.OverlayIndex;if(IFrameSplitOperator.IsBool(style.MaxMinWindow))dest.ModifyIndex=style.MaxMinWindow;if(IFrameSplitOperator.IsBool(style.TitleWindow))dest.ModifyIndex=style.TitleWindow;if(IFrameSplitOperator.IsBool(style.ExportData))dest.ModifyIndex=style.ExportData;if(IFrameSplitOperator.IsBool(style.AddIndexWindow))dest.AddIndexWindow=style.AddIndexWindow;if(IFrameSplitOperator.IsBool(style.IndexHelp))dest.IndexHelp=style.IndexHelp;};this.SetChartSimpleTable=function(style){var dest=this.ChartSimpleTable;if(style.TextColor)dest.TextColor=style.TextColor;if(style.BGColor)dest.BGColor=style.BGColor;if(style.BorderColor)dest.BorderColor=style.BorderColor;if(style.TextFont){var item=style.TextFont;if(item.Name)dest.TextFont.Name=item.Name;if(IFrameSplitOperator.IsNumber(item.Size))dest.TextFont.Size=item.Size;}if(style.ItemMargin){var margin=style.ItemMargin;if(IFrameSplitOperator.IsNumber(margin.Left))dest.ItemMargin.Left=margin.Left;if(IFrameSplitOperator.IsNumber(margin.Right))dest.ItemMargin.Right=margin.Right;if(IFrameSplitOperator.IsNumber(margin.Top))dest.ItemMargin.Top=margin.Top;if(IFrameSplitOperator.IsNumber(margin.Bottom))dest.ItemMargin.Bottom=margin.Bottom;}};this.SetChartSimplePie=function(style){var dest=this.ChartSimplePie;if(style.TextFont){var item=style.TextFont;if(item.Name)dest.TextFont.Name=item.Name;if(IFrameSplitOperator.IsNumber(item.Size))dest.TextFont.Size=item.Size;}if(style.BorderColor)dest.BorderColor=style.BorderColor;if(style.Offset){var item=style.Offset;if(IFrameSplitOperator.IsNumber(item.X))dest.Offset.X=item.X;if(IFrameSplitOperator.IsNumber(item.Y))dest.Offset.Y=item.Y;}};this.SetChartSimpleDoughnut=function(style){var dest=this.ChartSimpleDoughnut;if(style.TextFont){var item=style.TextFont;if(item.Name)dest.TextFont.Name=item.Name;if(IFrameSplitOperator.IsNumber(item.Size))dest.TextFont.Size=item.Size;}if(style.BorderColor)dest.BorderColor=style.BorderColor;if(style.Offset){var item=style.Offset;if(IFrameSplitOperator.IsNumber(item.X))dest.Offset.X=item.X;if(IFrameSplitOperator.IsNumber(item.Y))dest.Offset.Y=item.Y;}};this.SetChartSimpleRadar=function(style){var dest=this.ChartSimpleRadar;if(style.TextFont){var item=style.TextFont;if(item.Name)dest.TextFont.Name=item.Name;if(IFrameSplitOperator.IsNumber(item.Size))dest.TextFont.Size=item.Size;}if(style.BorderColor)dest.BorderColor=style.BorderColor;if(style.TextColor)dest.TextColor=style.TextColor;if(style.Offset){var item=style.Offset;if(IFrameSplitOperator.IsNumber(item.X))dest.Offset.X=item.X;if(IFrameSplitOperator.IsNumber(item.Y))dest.Offset.Y=item.Y;}if(IFrameSplitOperator.IsNonEmptyArray(style.AryBGColor))dest.AryBGColor=style.AryBGColor.slice();if(IFrameSplitOperator.IsNonEmptyArray(style.AryArea))dest.AryArea=style.AryArea.slice();};this.SetChartBaseLineBar=function(style){var dest=this.ChartBaseLineBar;if(style.UpColor)dest.UpColor=style.UpColor;if(style.DownColor)dest.DownColor=style.DownColor;};this.SetChartPointDot=function(style){var dest=this.ChartPointDot;if(style.UpColor)dest.UpColor=style.UpColor;if(style.DownColor)dest.DownColor=style.DownColor;};this.SetIndexLock=function(style){var item=style;var dest=this.IndexLock;if(item.BGColor)dest.BGColor=item.BGColor;if(item.TextColor)dest.TextColor=item.TextColor;if(item.Font)dest.Font=item.Font;if(item.Title)dest.Title=item.Title;};this.SetChartScatterPlotV2=function(style){var item=style;var dest=this.ChartScatterPlotV2;if(item.Color)dest.Color=item.Color;if(item.TextColor)dest.TextColor=item.TextColor;if(item.Font)dest.Font=item.Font;if(IFrameSplitOperator.IsNumber(item.Radius))dest.Radius=item.Radius;};}var g_JSChartResource=new JSChartResource();/////////////////////////////////////////////////////////////////////////////////
7796
7805
  //
7797
7806
  //
7798
7807
  //
@@ -8695,13 +8704,13 @@ bNeedDonloadData=false;if(this.EnableFlowCapital)//强制下载流通股
8695
8704
  {if(MARKET_SUFFIX_NAME.IsBIT(upperSymbol)){if(this.EnableFlowCapital.BIT==true)bNeedDonloadData=true;}}if(!bNeedDonloadData){JSConsole.Chart.Log('[KLineChartContainer::RequestFlowCapitalData] symbol='+this.Symbol+' not need download data.');this.FlowCapitalReady=true;return;}var self=this;var fieldList=["name","date","symbol","capital.a"];if(this.NetworkFilter){var obj={Name:'KLineChartContainer::RequestFlowCapitalData',//类名::
8696
8705
  Explain:'流通股本数据',Request:{Url:self.StockHistoryDayApiUrl,Data:{symbol:[this.Symbol],orderfield:'date',field:fieldList},Type:'POST'},Self:this,PreventDefault:false};this.NetworkFilter(obj,function(data){self.RecvFlowCapitalData(data);});if(obj.PreventDefault==true)return;//已被上层替换,不调用默认的网络请求
8697
8706
  }//请求数据
8698
- JSNetwork.HttpRequest({url:this.StockHistoryDayApiUrl,data:{"field":fieldList,"symbol":[this.Symbol],"orderfield":"date"},type:"post",dataType:"json",async:true,success:function success(recvData){self.RecvFlowCapitalData(recvData);}});};this.RecvFlowCapitalData=function(data){if(!data.stock||data.stock.length!=1)return;var stock=data.stock[0];if(this.EnableVerifyRecvData&&stock.symbol!=this.Symbol){JSConsole.Chart.Warn('[MinuteChartContainer::RecvFlowCapitalData] recv data symbol not match. HQChart['+this.Symbol+'] , Recv['+stock.symbol+']');return;}var aryData=new Array();for(var _i12 in stock.stockday){var item=stock.stockday[_i12];var indexData=new SingleData();indexData.Date=item.date;var financeData=item.capital;if(!financeData)continue;if(financeData.a>0){indexData.Value=financeData.a;//流通股本(股)
8707
+ JSNetwork.HttpRequest({url:this.StockHistoryDayApiUrl,data:{"field":fieldList,"symbol":[this.Symbol],"orderfield":"date"},type:"post",dataType:"json",async:true,success:function success(recvData){self.RecvFlowCapitalData(recvData);}});};this.RecvFlowCapitalData=function(data){if(!data.stock||data.stock.length!=1)return;var stock=data.stock[0];if(this.EnableVerifyRecvData&&stock.symbol!=this.Symbol){JSConsole.Chart.Warn('[MinuteChartContainer::RecvFlowCapitalData] recv data symbol not match. HQChart['+this.Symbol+'] , Recv['+stock.symbol+']');return;}var aryData=new Array();for(var _i17 in stock.stockday){var item=stock.stockday[_i17];var indexData=new SingleData();indexData.Date=item.date;var financeData=item.capital;if(!financeData)continue;if(financeData.a>0){indexData.Value=financeData.a;//流通股本(股)
8699
8708
  aryData.push(indexData);}}if(this.IsApiPeriod){var klineData=this.ChartPaint[0].Data;var aryFixedData=null;if(ChartData.IsMinutePeriod(this.Period,true))//分钟数据
8700
8709
  {aryFixedData=klineData.GetMinuteFittingFinanceData(aryData);}else if(ChartData.IsDayPeriod(this.Period,true))//日线数据
8701
8710
  {aryFixedData=klineData.GetFittingFinanceData(aryData);}if(aryFixedData&&klineData.Data&&aryFixedData.length==klineData.Data.length){for(var i in klineData.Data){var item=klineData.Data[i];if(aryFixedData[i]&&IFrameSplitOperator.IsNumber(aryFixedData[i].Value))item.FlowCapital=aryFixedData[i].Value;}}}else{if(ChartData.IsMinutePeriod(this.Period,true))//分钟数据
8702
8711
  {var aryFixedData=this.SourceData.GetMinuteFittingFinanceData(aryData);for(var i=0;i<this.SourceData.Data.length;++i){var item=this.SourceData.Data[i];if(aryFixedData[i]&&IFrameSplitOperator.IsNumber(aryFixedData[i].Value))item.FlowCapital=aryFixedData[i].Value;}var bindData=this.ChartPaint[0].Data;var newBindData=new ChartData();newBindData.Data=this.SourceData.Data;if(bindData.Right>0&&this.RightFormula>=1)//复权
8703
8712
  {var rightData=newBindData.GetRightData(bindData.Right,{AlgorithmType:this.RightFormula});newBindData.Data=rightData;}if(ChartData.IsMinutePeriod(bindData.Period,false))//周期数据
8704
- {var periodData=newBindData.GetPeriodData(bindData.Period);newBindData.Data=periodData;}bindData.Data=newBindData.Data;}else{var aryFixedData=this.SourceData.GetFittingFinanceData(aryData);for(var _i13 in this.SourceData.Data){var item=this.SourceData.Data[_i13];if(aryFixedData[_i13]&&IFrameSplitOperator.IsNumber(aryFixedData[_i13].Value))item.FlowCapital=aryFixedData[_i13].Value;}var bindData=this.ChartPaint[0].Data;var newBindData=new ChartData();newBindData.Data=this.SourceData.Data;if(bindData.Right>0)//复权
8713
+ {var periodData=newBindData.GetPeriodData(bindData.Period);newBindData.Data=periodData;}bindData.Data=newBindData.Data;}else{var aryFixedData=this.SourceData.GetFittingFinanceData(aryData);for(var _i18 in this.SourceData.Data){var item=this.SourceData.Data[_i18];if(aryFixedData[_i18]&&IFrameSplitOperator.IsNumber(aryFixedData[_i18].Value))item.FlowCapital=aryFixedData[_i18].Value;}var bindData=this.ChartPaint[0].Data;var newBindData=new ChartData();newBindData.Data=this.SourceData.Data;if(bindData.Right>0)//复权
8705
8714
  {var rightData=newBindData.GetRightData(bindData.Right,{AlgorithmType:this.RightFormula});newBindData.Data=rightData;}if(ChartData.IsDayPeriod(bindData.Period,false))//周期数据
8706
8715
  {var periodData=newBindData.GetPeriodData(bindData.Period);newBindData.Data=periodData;}bindData.Data=newBindData.Data;}}this.FlowCapitalReady=true;var bDraw=false;for(var i in this.ExtendChartPaint){var item=this.ExtendChartPaint[i];if(item.ClassName=='StockChip'){bDraw=true;break;}}if(bDraw)this.Draw();};//创建画图工具
8707
8716
  this.CreateChartDrawPicture=function(name,option,callback){var drawPicture=null;var item=IChartDrawPicture.GetDrawPictureByName(name);if(item){drawPicture=item.Create();}if(!drawPicture)//iconfont图标
@@ -9387,7 +9396,7 @@ var showDayCount=this.DayOffset.ShowDayCount;this.Frame.SetDayCount(showDayCount
9387
9396
  if(this.BaselineType===1)dayItem=this.DayData[this.DayData.length-1];//多日前
9388
9397
  var yClose=dayItem.YClose;if(IFrameSplitOperator.IsNumber(dayItem.YClearing)&&isFutures)yClose=dayItem.YClearing;//期货使用前结算价
9389
9398
  this.BindMainData(sourceData,yClose);//外汇 均线暂时不用
9390
- if(MARKET_SUFFIX_NAME.IsForeignExchange(upperSymbol))this.ChartPaint[1].Data=null;for(var _i14=0;_i14<this.Frame.SubFrame.length;++_i14){var item=this.Frame.SubFrame[_i14];item.Frame.XSplitOperator.Symbol=this.Symbol;item.Frame.XSplitOperator.DayCount=showDayCount;item.Frame.XSplitOperator.DayData=this.DayData;item.Frame.XSplitOperator.Operator();//调整X轴个数
9399
+ if(MARKET_SUFFIX_NAME.IsForeignExchange(upperSymbol))this.ChartPaint[1].Data=null;for(var _i19=0;_i19<this.Frame.SubFrame.length;++_i19){var item=this.Frame.SubFrame[_i19];item.Frame.XSplitOperator.Symbol=this.Symbol;item.Frame.XSplitOperator.DayCount=showDayCount;item.Frame.XSplitOperator.DayData=this.DayData;item.Frame.XSplitOperator.Operator();//调整X轴个数
9391
9400
  item.Frame.XSplitOperator.IsBeforeData=this.IsBeforeData;item.Frame.XSplitOperator.IsAfterData=this.IsAfterData;item.Frame.YSplitOperator.Symbol=this.Symbol;item.Frame.YSplitOperator.IsBeforeData=this.IsBeforeData;item.Frame.YSplitOperator.IsAfterData=this.IsAfterData;for(var j in item.OverlayIndex)//子坐标X轴个数同步
9392
9401
  {var overlayItem=item.OverlayIndex[j];overlayItem.Frame.XPointCount=item.Frame.XPointCount;overlayItem.Frame.MinuteCount=item.Frame.MinuteCount;}}this.ChartCorssCursor.StringFormatY.Symbol=this.Symbol;this.ChartCorssCursor.StringFormatX.Symbol=this.Symbol;this.ChartCorssCursor.StringFormatX.IsBeforeData=this.IsBeforeData;this.ChartCorssCursor.StringFormatX.IsAfterData=this.IsAfterData;this.TitlePaint[0].IsShowDate=true;this.UpdateDataOffset();this.UpdateFrameMaxMin();//调整坐标最大 最小值
9393
9402
  this.CreateChartDrawPictureByStorage();//创建画图工具
@@ -9785,14 +9794,14 @@ var pageSize=this.Frame.GetCurrentPageSize();if(IFrameSplitOperator.IsNumber(pag
9785
9794
  if(!this.mapEvent.has(JSCHART_EVENT_ID.RECV_TRAIN_MOVE_STEP))return;var item=this.mapEvent.get(JSCHART_EVENT_ID.RECV_TRAIN_MOVE_STEP);if(!item.Callback)return;var data={TrainDataCount:this.TrainDataCount,BuySellData:this.BuySellData,KLine:{Start:{Index:this.TrainInfo.Start.Index,Date:this.TrainInfo.Start.Date},End:{Index:this.TrainInfo.End.Index,Date:this.TrainInfo.End.Date}},LastData:this.TrainInfo.LastData,LastShowData:this.TrainInfo.LastShowData};if(IFrameSplitOperator.IsNumber(this.TrainInfo.Start.Time))data.KLine.Start.Time=this.TrainInfo.Start.Time;if(IFrameSplitOperator.IsNumber(this.TrainInfo.End.Time))data.KLine.End.Time=this.TrainInfo.End.Time;if(description)data.Description=description;if(this.TrainDataCount<=0){data.Symbol=this.Symbol;data.Name=this.Name;}item.Callback(item,data,this);};this.FinishTrainData=function(){JSConsole.Chart.Log('[KLineTrainChartContainer::FinishTrainData] trian end ');};this.Stop=function(){if(this.AutoRunTimer!=null)clearInterval(this.AutoRunTimer);this.AutoRunTimer=null;};this.BuyOrSell=function(obj,bDraw)//{ Price:价格, Vol:数量, Op: 买/卖 0=buy 1=sell, ID:单号 } bDraw是否立即绘制图标
9786
9795
  {var kItem=this.TrainInfo.LastShowData;if(!kItem)return false;var buySellPaint=this.ChartPaintEx[0];if(!buySellPaint)return false;var hisData=this.ChartPaint[0].Data;if(!hisData||hisData.Data.length<=0)return false;var index=hisData.Data.length-1;//数据索引
9787
9796
  var buyItem={Date:this.TrainInfo.End.Date,Time:this.TrainInfo.End.Time,Price:obj.Price,Vol:obj.Vol,Op:0,ID:obj.ID};if(obj.Op==1)buyItem.Op=1;var key=index;buyItem.Key=key;this.BuySellData.push(buyItem);buySellPaint.AddTradeItem(buyItem);if(bDraw==true)this.Draw();};this.RestartTrain=function(option)// { Symbol:, Period:周期, Right:复权, Train:{ DataCount:, DateTime: } }
9788
- {JSConsole.Chart.Log('[KLineTrainChartContainer::RestartTrain] option ',option);this.TrainInfo={Start:{},End:{}};this.BuySellData=[];this.KLineSourceData=null;var buySellPaint=this.ChartPaintEx[0];if(buySellPaint){buySellPaint.Data=null;buySellPaint.ClearTradeData();}if(option.Symbol)this.Symbol=option.Symbol;if(IFrameSplitOperator.IsNumber(option.Period))this.Period=option.Period;if(IFrameSplitOperator.IsNumber(option.Right))this.Right=option.Right;if(option.Train){if(option.Train.DataCount>1)this.TrainDataCount=option.Train.DataCount;if(option.Train.DateTime)this.TrainStartDate=option.Train.DateTime;}var symbol=this.Symbol;this.ChangeSymbol(symbol);};this.RecvFlowCapitalData=function(data){if(!data.stock||data.stock.length!=1)return;var stock=data.stock[0];var aryData=new Array();for(var _i15 in stock.stockday){var item=stock.stockday[_i15];var indexData=new SingleData();indexData.Date=item.date;var financeData=item.capital;if(!financeData)continue;if(financeData.a>0){indexData.Value=financeData.a;//流通股本(股)
9797
+ {JSConsole.Chart.Log('[KLineTrainChartContainer::RestartTrain] option ',option);this.TrainInfo={Start:{},End:{}};this.BuySellData=[];this.KLineSourceData=null;var buySellPaint=this.ChartPaintEx[0];if(buySellPaint){buySellPaint.Data=null;buySellPaint.ClearTradeData();}if(option.Symbol)this.Symbol=option.Symbol;if(IFrameSplitOperator.IsNumber(option.Period))this.Period=option.Period;if(IFrameSplitOperator.IsNumber(option.Right))this.Right=option.Right;if(option.Train){if(option.Train.DataCount>1)this.TrainDataCount=option.Train.DataCount;if(option.Train.DateTime)this.TrainStartDate=option.Train.DateTime;}var symbol=this.Symbol;this.ChangeSymbol(symbol);};this.RecvFlowCapitalData=function(data){if(!data.stock||data.stock.length!=1)return;var stock=data.stock[0];var aryData=new Array();for(var _i20 in stock.stockday){var item=stock.stockday[_i20];var indexData=new SingleData();indexData.Date=item.date;var financeData=item.capital;if(!financeData)continue;if(financeData.a>0){indexData.Value=financeData.a;//流通股本(股)
9789
9798
  aryData.push(indexData);}}if(ChartData.IsMinutePeriod(this.Period,true))//分钟数据
9790
- {var aryFixedData=this.SourceData.GetMinuteFittingFinanceData(aryData);for(var _i16 in this.SourceData.Data){var item=this.SourceData.Data[_i16];if(!aryFixedData[_i16])continue;item.FlowCapital=aryFixedData[_i16].Value;}var bindData=this.ChartPaint[0].Data;var newBindData=new ChartData();newBindData.Data=this.SourceData.Data;if(ChartData.IsMinutePeriod(bindData.Period,false))//周期数据
9799
+ {var aryFixedData=this.SourceData.GetMinuteFittingFinanceData(aryData);for(var _i21 in this.SourceData.Data){var item=this.SourceData.Data[_i21];if(!aryFixedData[_i21])continue;item.FlowCapital=aryFixedData[_i21].Value;}var bindData=this.ChartPaint[0].Data;var newBindData=new ChartData();newBindData.Data=this.SourceData.Data;if(ChartData.IsMinutePeriod(bindData.Period,false))//周期数据
9791
9800
  {var periodData=newBindData.GetPeriodData(bindData.Period);newBindData.Data=periodData;}bindData.Data=newBindData.Data;var aryFixedData=this.KLineSourceData.GetMinuteFittingFinanceData(aryData);//数据添加到备份数据中
9792
- for(var _i17 in this.KLineSourceData.Data){var item=this.KLineSourceData.Data[_i17];if(!aryFixedData[_i17])continue;item.FlowCapital=aryFixedData[_i17].Value;}}else{var aryFixedData=this.SourceData.GetFittingFinanceData(aryData);for(var _i18 in this.SourceData.Data){var item=this.SourceData.Data[_i18];if(!aryFixedData[_i18])continue;item.FlowCapital=aryFixedData[_i18].Value;}var bindData=this.ChartPaint[0].Data;var newBindData=new ChartData();newBindData.Data=this.SourceData.Data;if(bindData.Right>0)//复权
9801
+ for(var _i22 in this.KLineSourceData.Data){var item=this.KLineSourceData.Data[_i22];if(!aryFixedData[_i22])continue;item.FlowCapital=aryFixedData[_i22].Value;}}else{var aryFixedData=this.SourceData.GetFittingFinanceData(aryData);for(var _i23 in this.SourceData.Data){var item=this.SourceData.Data[_i23];if(!aryFixedData[_i23])continue;item.FlowCapital=aryFixedData[_i23].Value;}var bindData=this.ChartPaint[0].Data;var newBindData=new ChartData();newBindData.Data=this.SourceData.Data;if(bindData.Right>0)//复权
9793
9802
  {var rightData=newBindData.GetRightData(bindData.Right,{AlgorithmType:this.RightFormula});newBindData.Data=rightData;}if(ChartData.IsDayPeriod(bindData.Period,false))//周期数据
9794
9803
  {var periodData=newBindData.GetPeriodData(bindData.Period);newBindData.Data=periodData;}bindData.Data=newBindData.Data;var aryFixedData=this.KLineSourceData.GetFittingFinanceData(aryData);//数据添加到备份数据中
9795
- for(var _i19 in this.KLineSourceData.Data){var item=this.KLineSourceData.Data[_i19];if(!aryFixedData[_i19])continue;item.FlowCapital=aryFixedData[_i19].Value;}}this.FlowCapitalReady=true;var bDraw=false;for(var i in this.ExtendChartPaint){var item=this.ExtendChartPaint[i];if(item.ClassName=='StockChip'){bDraw=true;break;}}if(bDraw)this.Draw();};this.AutoUpdate();{}}function KLineTrainSimpleChartContainer(uielement,bHScreen){this.newMethod=KLineTrainChartContainer;//派生
9804
+ for(var _i24 in this.KLineSourceData.Data){var item=this.KLineSourceData.Data[_i24];if(!aryFixedData[_i24])continue;item.FlowCapital=aryFixedData[_i24].Value;}}this.FlowCapitalReady=true;var bDraw=false;for(var i in this.ExtendChartPaint){var item=this.ExtendChartPaint[i];if(item.ClassName=='StockChip'){bDraw=true;break;}}if(bDraw)this.Draw();};this.AutoUpdate();{}}function KLineTrainSimpleChartContainer(uielement,bHScreen){this.newMethod=KLineTrainChartContainer;//派生
9796
9805
  this.newMethod(uielement,bHScreen);delete this.newMethod;this.IsHScreen=bHScreen;this.IsZoomLockRight=true;this.RightSpaceCount=0;this.RecvFlowCapitalData=function(data){this.Super_RecvFlowCapitalData(data);};this.BeforeBindMainData=function(funcName){};this.UpdateLastDataIcon=function(){if(!this.ChartPaintEx[0])return;var chart=this.ChartPaintEx[0];chart.LastDataIndex=this.TrainInfo.End.Index;};this.AfterBindMainData=function(funcName){if(!this.ChartPaintEx[0]){this.CreateBuySellPaint();this.ChartPaintEx[0].LastDataDrawType=1;}if(funcName!="Update"){var hisData=this.ChartOperator_Temp_GetHistoryData();if(!hisData)return false;var count=hisData.Data.length;var lEnd=count-this.TrainDataCount-20;var xPointcount=this.Frame.SubFrame[0].Frame.XPointCount;var findIndex=this.GetKDataIndexByDateTime(hisData.Data,this.TrainStartDate);if(findIndex>=0){lEnd=findIndex+1;if(count-lEnd<this.TrainDataCount)this.TrainDataCount=count-lEnd;}var xOffset=lEnd-xPointcount;hisData.DataOffset=xOffset;var index=lEnd-1;var kItem=hisData.Data[index];//最后一个显示数据
9797
9806
  this.TrainInfo.LastShowData=kItem;this.TrainInfo.LastData=kItem;//训练起始日期
9798
9807
  this.TrainInfo.Start.Index=index;this.TrainInfo.Start.Date=kItem.Date;this.TrainInfo.Start.Time=kItem.Time;//训练结束日期
@@ -9989,7 +9998,7 @@ this.newMethod(name);delete this.newMethod;this.Script=script;//脚本
9989
9998
  this.Arguments=[];//参数
9990
9999
  this.OutVar=[];//输出数据
9991
10000
  this.ApiUrl=g_JSChartResource.PyIndexDomain+'/hq/code';if(args)this.Arguments=args;this.RequestData=function(hqChart,windowIndex,hisData){this.OutVar=[];var self=this;var param={HQChart:hqChart,WindowIndex:windowIndex,HistoryData:hisData};//参数
9992
- var strParam='';for(var _i20 in this.Arguments){if(strParam.length>0)strParam+=',';var item=this.Arguments[_i20];strParam+='"'+item.Name+'"'+':'+item.Value;}strParam='{'+strParam+'}';var indexParam=JSON.parse(strParam);var data=(0,_stringify2.default)({code:this.Script,//脚本
10001
+ var strParam='';for(var _i25 in this.Arguments){if(strParam.length>0)strParam+=',';var item=this.Arguments[_i25];strParam+='"'+item.Name+'"'+':'+item.Value;}strParam='{'+strParam+'}';var indexParam=JSON.parse(strParam);var data=(0,_stringify2.default)({code:this.Script,//脚本
9993
10002
  symbol:param.HQChart.Symbol,//股票代码
9994
10003
  period:param.HQChart.Period,//周期 0=日线 1=周线 2=月线 3=年线 4=1分钟 5=5分钟 6=15分钟 7=30分钟 8=60分钟
9995
10004
  right:param.HQChart.Right,//复权 0 不复权 1 前复权 2 后复权
@@ -10005,10 +10014,10 @@ var indexInfo={Name:item.name,Type:item.graph,LineWidth:item.width,Data:bindData
10005
10014
  param.HQChart.UpdataDataoffset();//更新数据偏移
10006
10015
  param.HQChart.UpdateFrameMaxMin();//调整坐标最大 最小值
10007
10016
  param.HQChart.Draw();};this.BindData=function(hqChart,windowIndex,hisData){hqChart.DeleteIndexPaint(windowIndex);//清空指标图形
10008
- for(var _i21 in this.OutVar){var _item7=this.OutVar[_i21];switch(_item7.Type){case'line':this.CreateLine(hqChart,windowIndex,_item7,_i21);break;case'colorstick'://上下柱子
10009
- this.CreateColorStock(hqChart,windowIndex,_item7,_i21);break;}}var titleIndex=windowIndex+1;hqChart.TitlePaint[titleIndex].Title=this.Name;//这是指标名称
10017
+ for(var _i26 in this.OutVar){var _item7=this.OutVar[_i26];switch(_item7.Type){case'line':this.CreateLine(hqChart,windowIndex,_item7,_i26);break;case'colorstick'://上下柱子
10018
+ this.CreateColorStock(hqChart,windowIndex,_item7,_i26);break;}}var titleIndex=windowIndex+1;hqChart.TitlePaint[titleIndex].Title=this.Name;//这是指标名称
10010
10019
  var indexParam='';//指标参数
10011
- for(var _i22 in this.Arguments){var _item8=this.Arguments[_i22];if(indexParam.length>0)indexParam+=',';indexParam+=_item8.Value.toString();}if(indexParam.length>0)hqChart.TitlePaint[titleIndex].Title=this.Name+'('+indexParam+')';return true;};this.CreateLine=function(hqChart,windowIndex,varItem,id){var line=new ChartLine();line.Canvas=hqChart.Canvas;line.DrawType=1;line.Name=varItem.Name;line.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;line.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;if(varItem.Color)line.Color=varItem.Color;else line.Color=this.GetDefaultColor(id);if(varItem.LineWidth>0)line.LineWidth=varItem.LineWidth;if(varItem.IsShow==false)line.IsShow=false;var titleIndex=windowIndex+1;line.Data.Data=varItem.Data;hqChart.TitlePaint[titleIndex].Data[id]=new DynamicTitleData(line.Data,varItem.Name,line.Color);hqChart.ChartPaint.push(line);};this.CreateColorStock=function(hqChart,windowIndex,varItem,id){var chart=new ChartMACD();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;var titleIndex=windowIndex+1;chart.Data.Data=varItem.Data;hqChart.TitlePaint[titleIndex].Data[id]=new DynamicTitleData(chart.Data,varItem.Name,this.GetDefaultColor(id));hqChart.ChartPaint.push(chart);};//给一个默认的颜色
10020
+ for(var _i27 in this.Arguments){var _item8=this.Arguments[_i27];if(indexParam.length>0)indexParam+=',';indexParam+=_item8.Value.toString();}if(indexParam.length>0)hqChart.TitlePaint[titleIndex].Title=this.Name+'('+indexParam+')';return true;};this.CreateLine=function(hqChart,windowIndex,varItem,id){var line=new ChartLine();line.Canvas=hqChart.Canvas;line.DrawType=1;line.Name=varItem.Name;line.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;line.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;if(varItem.Color)line.Color=varItem.Color;else line.Color=this.GetDefaultColor(id);if(varItem.LineWidth>0)line.LineWidth=varItem.LineWidth;if(varItem.IsShow==false)line.IsShow=false;var titleIndex=windowIndex+1;line.Data.Data=varItem.Data;hqChart.TitlePaint[titleIndex].Data[id]=new DynamicTitleData(line.Data,varItem.Name,line.Color);hqChart.ChartPaint.push(line);};this.CreateColorStock=function(hqChart,windowIndex,varItem,id){var chart=new ChartMACD();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;var titleIndex=windowIndex+1;chart.Data.Data=varItem.Data;hqChart.TitlePaint[titleIndex].Data[id]=new DynamicTitleData(chart.Data,varItem.Name,this.GetDefaultColor(id));hqChart.ChartPaint.push(chart);};//给一个默认的颜色
10012
10021
  this.GetDefaultColor=function(id){var COLOR_ARRAY=["rgb(255,174,0)","rgb(25,199,255)","rgb(175,95,162)","rgb(236,105,65)","rgb(68,114,196)","rgb(229,0,79)","rgb(0,128,255)","rgb(252,96,154)","rgb(42,230,215)","rgb(24,71,178)"];var number=parseInt(id);return COLOR_ARRAY[number%(COLOR_ARRAY.length-1)];};}/*
10013
10022
  json格式数据指标 用来显示本地数据
10014
10023
  */function JsonDataIndex(name,script,args,option){this.newMethod=PyScriptIndex;//派生
@@ -10189,6 +10198,7 @@ CFFEX3:'.CF',//中期所 (China Financial Futures Exchange)
10189
10198
  DCE:'.DCE',//大连商品交易所(Dalian Commodity Exchange)
10190
10199
  CZCE:'.CZC',//郑州期货交易所
10191
10200
  GZFE:".GZFE",//广州期货交易所
10201
+ INE:".INE",//上海国际能源交易中心
10192
10202
  USA:'.USA',//美股
10193
10203
  FTSE:'.FTSE',//富时中国
10194
10204
  BIT:'.BIT',//数字货币 如比特币
@@ -10215,8 +10225,9 @@ var pos=upperSymbol.length-this.SH.length;var find=upperSymbol.indexOf(this.SH);
10215
10225
  IsSHSZCustomIndex:function IsSHSZCustomIndex(upperSymbol){var pos=upperSymbol.length-this.SHSZ_C_Index.length;var find=upperSymbol.indexOf(this.SHSZ_C_Index);return find==pos;},IsSHO:function IsSHO(upperSymbol){if(this.IsSH(upperSymbol))//10007211.sh
10216
10226
  {if(upperSymbol.length==11&&upperSymbol[0]=='1')return true;}var pos=upperSymbol.length-this.SHO.length;var find=upperSymbol.indexOf(this.SHO);return find==pos;},IsSZO:function IsSZO(upperSymbol){if(this.IsSZ(upperSymbol))//90004047.sz
10217
10227
  {if(upperSymbol.length==11&&upperSymbol[0]=='9')return true;}var pos=upperSymbol.length-this.SZO.length;var find=upperSymbol.indexOf(this.SZO);return find==pos;},IsHK:function IsHK(upperSymbol){var pos=upperSymbol.length-this.HK.length;var find=upperSymbol.indexOf(this.HK);return find==pos;},IsTW:function IsTW(upperSymbol){var pos=upperSymbol.length-this.TW.length;var find=upperSymbol.indexOf(this.TW);return find==pos;},IsJP:function IsJP(upperSymbol){var pos=upperSymbol.length-this.JP.length;var find=upperSymbol.indexOf(this.JP);return find==pos;},IsSHFE:function IsSHFE(upperSymbol){if(!upperSymbol)return false;if(upperSymbol.indexOf(this.SHFE)>0)return true;if(upperSymbol.indexOf(this.SHFE2)>0)return true;return false;},IsCFFEX:function IsCFFEX(upperSymbol){if(!upperSymbol)return false;if(upperSymbol.indexOf(this.CFFEX)>0)return true;if(upperSymbol.indexOf(this.CFFEX2)>0)return true;var index=upperSymbol.indexOf(this.CFFEX3);//必须已.CF结尾
10218
- if(index>0&&index+this.CFFEX3.length==upperSymbol.length)return true;return false;},IsDCE:function IsDCE(upperSymbol){if(!upperSymbol)return false;return upperSymbol.indexOf(this.DCE)>0;},IsCZCE:function IsCZCE(upperSymbol){if(!upperSymbol)return false;return upperSymbol.indexOf(this.CZCE)>0;},IsGZFE:function IsGZFE(upperSymbol){if(!upperSymbol)return false;return upperSymbol.indexOf(this.GZFE)>0;},IsChinaFutures:function IsChinaFutures(upperSymbol)//是否是国内期货 /期权
10219
- {return this.IsSHO(upperSymbol)||this.IsSZO(upperSymbol)||this.IsGZFE(upperSymbol)||this.IsCFFEX(upperSymbol)||this.IsCZCE(upperSymbol)||this.IsDCE(upperSymbol)||this.IsSHFE(upperSymbol);},IsFutures:function IsFutures(upperSymbol)//是否是期货 包含国外的
10228
+ if(index>0&&index+this.CFFEX3.length==upperSymbol.length)return true;return false;},IsDCE:function IsDCE(upperSymbol){if(!upperSymbol)return false;return upperSymbol.indexOf(this.DCE)>0;},IsCZCE:function IsCZCE(upperSymbol){if(!upperSymbol)return false;return upperSymbol.indexOf(this.CZCE)>0;},IsGZFE:function IsGZFE(upperSymbol){if(!upperSymbol)return false;return upperSymbol.indexOf(this.GZFE)>0;},IsINE:function IsINE(upperSymbol){if(!upperSymbol)return false;return upperSymbol.indexOf(this.INE)>0;},//是否包含某一个市场的
10229
+ IsIncludes:function IsIncludes(symbol,arySuffix){if(!symbol)return false;if(!IFrameSplitOperator.IsNonEmptyArray(arySuffix))return false;var upperSymbol=symbol.toUpperCase();var bMatch=false;for(var i=0;i<arySuffix.length;++i){var item=arySuffix[i];switch(item){case this.SHFE:case this.SHFE2:if(this.IsSHFE(upperSymbol))bMatch=true;break;case this.CFFEX2:case this.CFFEX:case this.CFFEX3:if(this.IsCFFEX(upperSymbol))bMatch=true;break;case this.DCE:if(this.IsDCE(upperSymbol))bMatch=true;break;case this.CZCE:if(this.IsCZCE(upperSymbol))bMatch=true;break;case this.GZFE:if(this.IsGZFE(upperSymbol))bMatch=true;break;case this.INE:if(this.IsINE(upperSymbol))bMatch=true;break;}if(bMatch)return true;}return false;},IsChinaFutures:function IsChinaFutures(upperSymbol)//是否是国内期货 /期权
10230
+ {if(!upperSymbol)return false;return this.IsSHO(upperSymbol)||this.IsSZO(upperSymbol)||this.IsGZFE(upperSymbol)||this.IsINE(upperSymbol)||this.IsCFFEX(upperSymbol)||this.IsCZCE(upperSymbol)||this.IsDCE(upperSymbol)||this.IsSHFE(upperSymbol);},IsFutures:function IsFutures(upperSymbol)//是否是期货 包含国外的
10220
10231
  {if(!upperSymbol)return false;return this.IsChinaFutures(upperSymbol)||this.IsNYMEX(upperSymbol)||this.IsCOMEX(upperSymbol)||this.IsNYBOT(upperSymbol)||this.IsCBOT(upperSymbol)||this.IsLME(upperSymbol)||this.IsTOCOM(upperSymbol);},IsSHSZ:function IsSHSZ(upperSymbol)//是否是沪深的股票
10221
10232
  {return this.IsSZ(upperSymbol)||this.IsSH(upperSymbol)||this.IsSHSZCustomIndex(upperSymbol);},IsSHSZETFOption:function IsSHSZETFOption(upperSymbol)//沪深ETF期权
10222
10233
  {if(!upperSymbol)return false;if(this.IsSH(upperSymbol)){var shortSymbol=JSChart.GetShortSymbol(upperSymbol);if(shortSymbol.charAt(0)=="1"&&shortSymbol.length==8)return true;}else if(this.IsSZ(upperSymbol)){var shortSymbol=JSChart.GetShortSymbol(upperSymbol);if(shortSymbol.charAt(0)=="9"&&shortSymbol.length==8)return true;}return false;},IsSHSZFund:function IsSHSZFund(upperSymbol)//是否是交易所基金
@@ -10281,8 +10292,9 @@ GetVolUnit:function GetVolUnit(upperSymbol){if(!upperSymbol)return 1;if(MARKET_S
10281
10292
  if(MARKET_SUFFIX_NAME.IsSHSZ(upperSymbol))return 100;//单位手=100股
10282
10293
  if(MARKET_SUFFIX_NAME.IsBJ(upperSymbol))return 100;//单位手=100股
10283
10294
  return 1;},//获取不带后缀的代码
10284
- GetShortSymbol:function GetShortSymbol(symbol){if(!IFrameSplitOperator.IsString(symbol))return null;var pos=symbol.lastIndexOf(".");if(pos<=0)return symbol;return symbol.slice(0,pos);}//走势图分钟数据对应的时间
10285
- };function MinuteTimeStringData(){this.SHSZ=null;//上海深证交易所时间
10295
+ GetShortSymbol:function GetShortSymbol(symbol){if(!IFrameSplitOperator.IsString(symbol))return null;var pos=symbol.lastIndexOf(".");if(pos<=0)return symbol;return symbol.slice(0,pos);}//国内期货市场
10296
+ };var ARRAY_CHINA_FUTURES_SUFFIX=[MARKET_SUFFIX_NAME.SHFE,MARKET_SUFFIX_NAME.CFFEX,MARKET_SUFFIX_NAME.DCE,MARKET_SUFFIX_NAME.CZCE,MARKET_SUFFIX_NAME.GZFE,MARKET_SUFFIX_NAME.INE];//走势图分钟数据对应的时间
10297
+ function MinuteTimeStringData(){this.SHSZ=null;//上海深证交易所时间
10286
10298
  this.BJ=null;this.SHO=null;//上海期权交易时间
10287
10299
  this.SZO=null;//深证期权交易时间
10288
10300
  this.HK=null;//香港交易所时间
@@ -10312,7 +10324,7 @@ var TIME_SPLIT=[{Start:1715,End:2359},{Start:0,End:300},{Start:915,End:1200},{St
10312
10324
  var TIME_SPLIT=[{Start:600,End:2359},{Start:0,End:559}];return this.CreateTimeData(TIME_SPLIT);};this.CreateBITData=function(){//数字货币 7:00 - 6:59
10313
10325
  var TIME_SPLIT=[{Start:600,End:2359},{Start:0,End:559}];return this.CreateTimeData(TIME_SPLIT);};this.CreateTimeData=function(timeSplit){var data=[];for(var i in timeSplit){var item=timeSplit[i];for(var j=item.Start;j<=item.End;++j){if(j%100>=60)continue;//大于60分钟的数据去掉
10314
10326
  data.push(j);}}return data;};this.GetTimeData=function(symbol,option){if(!symbol)return this.SHSZ;var upperSymbol=symbol.toLocaleUpperCase();//转成大写
10315
- if(MARKET_SUFFIX_NAME.IsSHO(upperSymbol))return this.GetSHO();if(MARKET_SUFFIX_NAME.IsSZO(upperSymbol))return this.GetSZO();if(MARKET_SUFFIX_NAME.IsSH(upperSymbol)||MARKET_SUFFIX_NAME.IsSZ(upperSymbol))return this.GetSHSZ(upperSymbol);if(MARKET_SUFFIX_NAME.IsSHSZCustomIndex(upperSymbol))return this.GetSHSZCustomIndex(upperSymbol);if(MARKET_SUFFIX_NAME.IsBJ(upperSymbol))return this.GetBJ(upperSymbol);if(MARKET_SUFFIX_NAME.IsHK(upperSymbol))return this.GetHK(upperSymbol);if(MARKET_SUFFIX_NAME.IsTW(upperSymbol))return this.GetTW(upperSymbol);if(MARKET_SUFFIX_NAME.IsJP(upperSymbol))return this.GetJP(upperSymbol);if(MARKET_SUFFIX_NAME.IsUSA(upperSymbol))return this.GetUSA(upperSymbol);if(MARKET_SUFFIX_NAME.IsCFFEX(upperSymbol)||MARKET_SUFFIX_NAME.IsCZCE(upperSymbol)||MARKET_SUFFIX_NAME.IsDCE(upperSymbol)||MARKET_SUFFIX_NAME.IsSHFE(upperSymbol)||MARKET_SUFFIX_NAME.IsGZFE(upperSymbol)){var splitData=g_FuturesTimeData.GetSplitData(upperSymbol,option);if(!splitData)return null;return this.GetFutures(splitData);}if(MARKET_SUFFIX_NAME.IsFTSE(upperSymbol))return this.GetFTSE();if(MARKET_SUFFIX_NAME.IsFHK(upperSymbol))return this.GetFHK();if(MARKET_SUFFIX_NAME.IsForeignExchange(upperSymbol))return this.GetForeignExchange(upperSymbol);if(MARKET_SUFFIX_NAME.IsET(upperSymbol))return this.GetET(upperSymbol);if(MARKET_SUFFIX_NAME.IsBIT(upperSymbol))return this.GetBIT(upperSymbol);//越南股市
10327
+ if(MARKET_SUFFIX_NAME.IsSHO(upperSymbol))return this.GetSHO();if(MARKET_SUFFIX_NAME.IsSZO(upperSymbol))return this.GetSZO();if(MARKET_SUFFIX_NAME.IsSH(upperSymbol)||MARKET_SUFFIX_NAME.IsSZ(upperSymbol))return this.GetSHSZ(upperSymbol);if(MARKET_SUFFIX_NAME.IsSHSZCustomIndex(upperSymbol))return this.GetSHSZCustomIndex(upperSymbol);if(MARKET_SUFFIX_NAME.IsBJ(upperSymbol))return this.GetBJ(upperSymbol);if(MARKET_SUFFIX_NAME.IsHK(upperSymbol))return this.GetHK(upperSymbol);if(MARKET_SUFFIX_NAME.IsTW(upperSymbol))return this.GetTW(upperSymbol);if(MARKET_SUFFIX_NAME.IsJP(upperSymbol))return this.GetJP(upperSymbol);if(MARKET_SUFFIX_NAME.IsUSA(upperSymbol))return this.GetUSA(upperSymbol);if(MARKET_SUFFIX_NAME.IsCFFEX(upperSymbol)||MARKET_SUFFIX_NAME.IsCZCE(upperSymbol)||MARKET_SUFFIX_NAME.IsDCE(upperSymbol)||MARKET_SUFFIX_NAME.IsSHFE(upperSymbol)||MARKET_SUFFIX_NAME.IsGZFE(upperSymbol)||MARKET_SUFFIX_NAME.IsINE(upperSymbol)){var splitData=g_FuturesTimeData.GetSplitData(upperSymbol,option);if(!splitData)return null;return this.GetFutures(splitData);}if(MARKET_SUFFIX_NAME.IsFTSE(upperSymbol))return this.GetFTSE();if(MARKET_SUFFIX_NAME.IsFHK(upperSymbol))return this.GetFHK();if(MARKET_SUFFIX_NAME.IsForeignExchange(upperSymbol))return this.GetForeignExchange(upperSymbol);if(MARKET_SUFFIX_NAME.IsET(upperSymbol))return this.GetET(upperSymbol);if(MARKET_SUFFIX_NAME.IsBIT(upperSymbol))return this.GetBIT(upperSymbol);//越南股市
10316
10328
  if(MARKET_SUFFIX_NAME.IsHSX(upperSymbol))return this.GetHSX(upperSymbol);if(MARKET_SUFFIX_NAME.IsHNX(upperSymbol))return this.GetHNX(upperSymbol);if(MARKET_SUFFIX_NAME.IsUPCOM(upperSymbol))return this.GetUPCOM(upperSymbol);if(MARKET_SUFFIX_NAME.IsNYMEX(upperSymbol))//纽约期货交易所
10317
10329
  {var splitData=g_NYMEXTimeData.GetSplitData(upperSymbol);if(!splitData)return null;return this.GetFutures(splitData);}if(MARKET_SUFFIX_NAME.IsCOMEX(upperSymbol))//纽约期货交易所
10318
10330
  {var splitData=g_COMEXTimeData.GetSplitData(upperSymbol);if(!splitData)return null;return this.GetFutures(splitData);}if(MARKET_SUFFIX_NAME.IsNYBOT(upperSymbol))//纽约期货交易所
@@ -10405,7 +10417,7 @@ var FTSE_MINUTE_X_COORDINATE={Full://完整模式
10405
10417
  [[0,1,"RGB(200,200,200)","09:00"],[60,1,"RGB(200,200,200)","11:00"],[270,0,"RGB(200,200,200)","13:30"]],Count:271,MiddleCount:151,GetData:function GetData(width){if(width<200)return this.Min;else if(width<450)return this.Simple;return this.Full;}// option=GlobalOption
10406
10418
  };this.GetCoordinateData=function(symbol,width,option){var data=null;if(!symbol){data=SHZE_MINUTE_X_COORDINATE;//默认沪深股票
10407
10419
  }else{var upperSymbol=symbol.toLocaleUpperCase();//转成大写
10408
- if(MARKET_SUFFIX_NAME.IsSHO(upperSymbol))data=this.GetSHOData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsSZO(upperSymbol))data=this.GetSZOData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsSH(upperSymbol)||MARKET_SUFFIX_NAME.IsSZ(upperSymbol)||MARKET_SUFFIX_NAME.IsSHSZIndex(upperSymbol))data=this.GetSHSZData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsBJ(upperSymbol))data=this.GetBJData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsHK(upperSymbol))data=this.GetHKData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsTW(upperSymbol))data=this.GetTWData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsJP(upperSymbol))data=this.GetJPData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsCFFEX(upperSymbol)||MARKET_SUFFIX_NAME.IsCZCE(upperSymbol)||MARKET_SUFFIX_NAME.IsDCE(upperSymbol)||MARKET_SUFFIX_NAME.IsSHFE(upperSymbol)||MARKET_SUFFIX_NAME.IsGZFE(upperSymbol))return this.GetChinatFuturesData(upperSymbol,width,option);else if(MARKET_SUFFIX_NAME.IsUSA(upperSymbol))data=this.GetUSAData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsFTSE(upperSymbol))data=this.GetFTSEData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsFHK(upperSymbol))data=this.GetFHKData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsForeignExchange(upperSymbol))data=this.GetForeignExchangeData(upperSymbol);else if(MARKET_SUFFIX_NAME.IsBIT(upperSymbol,width))data=this.GetBITData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsET(upperSymbol))data=this.GetETData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsNYMEX(upperSymbol))return data=this.GetNYMEXData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsCOMEX(upperSymbol))return data=this.GetCOMEXData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsNYBOT(upperSymbol))return data=this.GetNYBOTData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsCBOT(upperSymbol))return data=this.GetCBOTData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsLME(upperSymbol))return data=this.GetLMEData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsTOCOM(upperSymbol))return data=this.GetTOCOMData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsIPE(upperSymbol))return data=this.GetIPEData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsHSX(upperSymbol))return data=this.GetHSXData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsHNX(upperSymbol))return data=this.GetHNXData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsUPCOM(upperSymbol))return data=this.GetUPCOMData(upperSymbol,width);}//JSConsole.Chart.Log('[MiuteCoordinateData]', width);
10420
+ if(MARKET_SUFFIX_NAME.IsSHO(upperSymbol))data=this.GetSHOData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsSZO(upperSymbol))data=this.GetSZOData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsSH(upperSymbol)||MARKET_SUFFIX_NAME.IsSZ(upperSymbol)||MARKET_SUFFIX_NAME.IsSHSZIndex(upperSymbol))data=this.GetSHSZData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsBJ(upperSymbol))data=this.GetBJData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsHK(upperSymbol))data=this.GetHKData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsTW(upperSymbol))data=this.GetTWData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsJP(upperSymbol))data=this.GetJPData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsCFFEX(upperSymbol)||MARKET_SUFFIX_NAME.IsCZCE(upperSymbol)||MARKET_SUFFIX_NAME.IsDCE(upperSymbol)||MARKET_SUFFIX_NAME.IsSHFE(upperSymbol)||MARKET_SUFFIX_NAME.IsGZFE(upperSymbol)||MARKET_SUFFIX_NAME.IsINE(upperSymbol))return this.GetChinatFuturesData(upperSymbol,width,option);else if(MARKET_SUFFIX_NAME.IsUSA(upperSymbol))data=this.GetUSAData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsFTSE(upperSymbol))data=this.GetFTSEData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsFHK(upperSymbol))data=this.GetFHKData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsForeignExchange(upperSymbol))data=this.GetForeignExchangeData(upperSymbol);else if(MARKET_SUFFIX_NAME.IsBIT(upperSymbol,width))data=this.GetBITData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsET(upperSymbol))data=this.GetETData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsNYMEX(upperSymbol))return data=this.GetNYMEXData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsCOMEX(upperSymbol))return data=this.GetCOMEXData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsNYBOT(upperSymbol))return data=this.GetNYBOTData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsCBOT(upperSymbol))return data=this.GetCBOTData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsLME(upperSymbol))return data=this.GetLMEData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsTOCOM(upperSymbol))return data=this.GetTOCOMData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsIPE(upperSymbol))return data=this.GetIPEData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsHSX(upperSymbol))return data=this.GetHSXData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsHNX(upperSymbol))return data=this.GetHNXData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsUPCOM(upperSymbol))return data=this.GetUPCOMData(upperSymbol,width);}//JSConsole.Chart.Log('[MiuteCoordinateData]', width);
10409
10421
  var result={Count:data.Count,MiddleCount:data.MiddleCount,Data:data.GetData(width)};return result;};this.GetSHSZData=function(upperSymbol,width){var result=SHZE_MINUTE_X_COORDINATE;return result;};this.GetBJData=function(upperSymbol,width){var result=SHZE_MINUTE_X_COORDINATE;return result;};this.GetUSAData=function(upperSymbol,width){var result=USA_MINUTE_X_COORDINATE;return result;};this.GetHKData=function(upperSymbol,width){var result=HK_MINUTE_X_COORDINATE;return result;};this.GetTWData=function(upperSymbol,width){return TW_MINUTE_X_COORDINATE;};this.GetSHOData=function(upperSymbol,width){var result=SHO_MINUTE_X_COORDINATE;return result;};this.GetSZOData=function(upperSymbol,width){var result=SHO_MINUTE_X_COORDINATE;return result;};this.GetFuturesData=function(upperSymbol,width,timeData,option){var splitData=timeData.GetSplitData(upperSymbol,option);if(!splitData)return null;var stringData=g_MinuteTimeStringData.GetFutures(splitData);if(!stringData)return null;var result={Count:stringData.length};var coordinate=null;var minWidth=200,simpleWidth=480;/*
10410
10422
  if (splitData.Name =='21:00-1:00,9:00-10:15,10:30-11:30,13:30-15:00')
10411
10423
  {
@@ -10476,7 +10488,8 @@ function FuturesTimeData(){this.TIME_SPLIT=[//ID=0 9:00-10:15,10:31-11:30,13:31-
10476
10488
  [{Value:931,Text:'9:30'},{Value:1301,Text:'13:00'},{Value:1500,Text:'15:00'}]}}];this.MAP_TWOWORDS=new _map2.default([//大连商品交易所
10477
10489
  [MARKET_SUFFIX_NAME.DCE+'-JD',{Time:0,Decimal:0,Name:"鸡蛋"}],[MARKET_SUFFIX_NAME.DCE+'-FB',{Time:0,Decimal:2,Name:"纤板"}],[MARKET_SUFFIX_NAME.DCE+'-BB',{Time:0,Decimal:2,Name:"胶板"}],[MARKET_SUFFIX_NAME.DCE+'-PP',{Time:6,Decimal:0,Name:"丙烯"}],[MARKET_SUFFIX_NAME.DCE+'-JM',{Time:6,Decimal:1,Name:'焦煤'}],[MARKET_SUFFIX_NAME.DCE+'-EG',{Time:6,Decimal:0,Name:'乙二醇'}],[MARKET_SUFFIX_NAME.DCE+'-EB',{Time:6,Decimal:0,Name:'苯乙烯'}],[MARKET_SUFFIX_NAME.DCE+'-CS',{Time:6,Decimal:0,Name:'淀粉'}],[MARKET_SUFFIX_NAME.DCE+'-PG',{Time:6,Decimal:0,Name:'液化气'}],[MARKET_SUFFIX_NAME.DCE+'-RR',{Time:6,Decimal:0,Name:'梗米'}],[MARKET_SUFFIX_NAME.DCE+'-LH',{Time:0,Decimal:0,Name:'生猪'}],//上期所
10478
10490
  [MARKET_SUFFIX_NAME.SHFE+'-CU',{Time:4,Decimal:0,Name:"沪铜"}],[MARKET_SUFFIX_NAME.SHFE+'-AL',{Time:4,Decimal:0,Name:"沪铝"}],[MARKET_SUFFIX_NAME.SHFE+'-NI',{Time:4,Decimal:0,Name:"沪镍"}],[MARKET_SUFFIX_NAME.SHFE+'-SN',{Time:4,Decimal:0,Name:'沪锡'}],[MARKET_SUFFIX_NAME.SHFE+'-ZN',{Time:4,Decimal:0,Name:"沪锌"}],[MARKET_SUFFIX_NAME.SHFE+'-PB',{Time:4,Decimal:0,Name:'沪铅'}],[MARKET_SUFFIX_NAME.SHFE+'-RU',{Time:6,Decimal:0,Name:"天然橡胶"}],[MARKET_SUFFIX_NAME.SHFE+'-FU',{Time:6,Decimal:0,Name:"燃料油"}],[MARKET_SUFFIX_NAME.SHFE+'-RB',{Time:6,Decimal:0,Name:"螺纹钢"}],[MARKET_SUFFIX_NAME.SHFE+'-BU',{Time:6,Decimal:0,Name:'石油沥青'}],[MARKET_SUFFIX_NAME.SHFE+'-HC',{Time:6,Decimal:0,Name:"热轧卷板"}],[MARKET_SUFFIX_NAME.SHFE+'-SP',{Time:6,Decimal:0,Name:"纸浆"}],[MARKET_SUFFIX_NAME.SHFE+'-WR',{Time:0,Decimal:0,Name:"线材"}],[MARKET_SUFFIX_NAME.SHFE+'-AG',{Time:5,Decimal:0,Name:"白银"}],[MARKET_SUFFIX_NAME.SHFE+'-AU',{Time:5,Decimal:2,Name:"黄金"}],[MARKET_SUFFIX_NAME.SHFE+'-SS',{Time:4,Decimal:0,Name:'不锈钢'}],[MARKET_SUFFIX_NAME.SHFE+'-AO',{Time:4,Decimal:0,Name:'氧化铝'}],[MARKET_SUFFIX_NAME.SHFE+'-BR',{Time:6,Decimal:0,Name:'合成橡胶'}],[MARKET_SUFFIX_NAME.SHFE+'-AD',{Time:4,Decimal:0,Name:"铝合金"}],//上期所-能源
10479
- [MARKET_SUFFIX_NAME.SHFE+'-NR',{Time:6,Decimal:1,Name:'20号胶'}],[MARKET_SUFFIX_NAME.SHFE+'-SC',{Time:5,Decimal:1,Name:'原油'}],[MARKET_SUFFIX_NAME.SHFE+'-LU',{Time:6,Decimal:0,Name:'低硫燃油'}],[MARKET_SUFFIX_NAME.SHFE+'-BC',{Time:4,Decimal:0,Name:'国际铜'}],[MARKET_SUFFIX_NAME.SHFE+'-EC',{Time:0,Decimal:0,Name:'集运指数'}],//郑州期货交易所
10491
+ [MARKET_SUFFIX_NAME.SHFE+'-NR',{Time:6,Decimal:1,Name:'20号胶'}],[MARKET_SUFFIX_NAME.SHFE+'-SC',{Time:5,Decimal:1,Name:'原油'}],[MARKET_SUFFIX_NAME.SHFE+'-LU',{Time:6,Decimal:0,Name:'低硫燃油'}],[MARKET_SUFFIX_NAME.SHFE+'-BC',{Time:4,Decimal:0,Name:'国际铜'}],[MARKET_SUFFIX_NAME.SHFE+'-EC',{Time:0,Decimal:0,Name:'集运指数'}],//上海国际能源交易中心 独立的一个市场
10492
+ [MARKET_SUFFIX_NAME.INE+'-NR',{Time:6,Decimal:1,Name:'20号胶'}],[MARKET_SUFFIX_NAME.INE+'-SC',{Time:5,Decimal:1,Name:'原油'}],[MARKET_SUFFIX_NAME.INE+'-LU',{Time:6,Decimal:0,Name:'低硫燃油'}],[MARKET_SUFFIX_NAME.INE+'-BC',{Time:4,Decimal:0,Name:'国际铜'}],[MARKET_SUFFIX_NAME.INE+'-EC',{Time:0,Decimal:0,Name:'集运指数'}],//郑州期货交易所
10480
10493
  [MARKET_SUFFIX_NAME.CZCE+'-CF',{Time:6,Decimal:0,Name:"棉花"}],[MARKET_SUFFIX_NAME.CZCE+'-SR',{Time:6,Decimal:0,Name:"白糖"}],[MARKET_SUFFIX_NAME.CZCE+'-MA',{Time:6,Decimal:0,Name:"甲醇"}],[MARKET_SUFFIX_NAME.CZCE+'-ZC',{Time:6,Decimal:1,Name:'动力煤'}],[MARKET_SUFFIX_NAME.CZCE+'-TA',{Time:6,Decimal:0,Name:"精对苯二甲酸(PTA)"}],[MARKET_SUFFIX_NAME.CZCE+'-RM',{Time:6,Decimal:0,Name:'菜籽粕'}],[MARKET_SUFFIX_NAME.CZCE+'-OI',{Time:6,Decimal:0,Name:"菜籽油"}],[MARKET_SUFFIX_NAME.CZCE+'-ME',{Time:3,Decimal:0,Name:"甲醇(老)"}],[MARKET_SUFFIX_NAME.CZCE+'-FG',{Time:6,Decimal:0,Name:'平板玻璃'}],[MARKET_SUFFIX_NAME.CZCE+'-WS',{Time:0,Decimal:0}],[MARKET_SUFFIX_NAME.CZCE+'-WT',{Time:0,Decimal:0}],[MARKET_SUFFIX_NAME.CZCE+'-GN',{Time:0,Decimal:0}],[MARKET_SUFFIX_NAME.CZCE+'-RO',{Time:0,Decimal:0}],[MARKET_SUFFIX_NAME.CZCE+'-RS',{Time:0,Decimal:0,Name:"菜籽"}],[MARKET_SUFFIX_NAME.CZCE+'-ER',{Time:0,Decimal:0}],[MARKET_SUFFIX_NAME.CZCE+'-RI',{Time:0,Decimal:0,Name:"早籼稻"}],[MARKET_SUFFIX_NAME.CZCE+'-WH',{Time:0,Decimal:0,Name:"强麦"}],[MARKET_SUFFIX_NAME.CZCE+'-AP',{Time:0,Decimal:0,Name:"苹果"}],[MARKET_SUFFIX_NAME.CZCE+'-PM',{Time:0,Decimal:0,Name:"普麦"}],[MARKET_SUFFIX_NAME.CZCE+'-QM',{Time:0,Decimal:0}],[MARKET_SUFFIX_NAME.CZCE+'-TC',{Time:0,Decimal:0}],[MARKET_SUFFIX_NAME.CZCE+'-JR',{Time:0,Decimal:0,Name:"粳稻"}],[MARKET_SUFFIX_NAME.CZCE+'-LR',{Time:0,Decimal:0,Name:"晚籼稻"}],[MARKET_SUFFIX_NAME.CZCE+'-SF',{Time:0,Decimal:0,Name:"硅铁"}],[MARKET_SUFFIX_NAME.CZCE+'-SM',{Time:0,Decimal:0,Name:"锰硅"}],[MARKET_SUFFIX_NAME.CZCE+'-CJ',{Time:0,Decimal:2,Name:"红枣"}],[MARKET_SUFFIX_NAME.CZCE+'-CY',{Time:6,Decimal:0,Name:"棉纱"}],[MARKET_SUFFIX_NAME.CZCE+'-UR',{Time:0,Decimal:0,Name:"尿素"}],[MARKET_SUFFIX_NAME.CZCE+'-SA',{Time:6,Decimal:0,Name:"纯碱"}],[MARKET_SUFFIX_NAME.CZCE+'-PF',{Time:6,Decimal:0,Name:"短纤"}],[MARKET_SUFFIX_NAME.CZCE+'-PK',{Time:0,Decimal:0,Name:"花生"}],[MARKET_SUFFIX_NAME.CZCE+'-PR',{Time:6,Decimal:0,Name:"瓶片"}],//中期所
10481
10494
  [MARKET_SUFFIX_NAME.CFFEX+'-TF',{Time:1,Decimal:3,Name:"二债"}],[MARKET_SUFFIX_NAME.CFFEX+'-TS',{Time:1,Decimal:3,Name:"五债"}],[MARKET_SUFFIX_NAME.CFFEX+'-IH',{Time:2,Decimal:1,Name:'上证股指期货'}],[MARKET_SUFFIX_NAME.CFFEX+'-IC',{Time:2,Decimal:1,Name:'中证股指期货'}],[MARKET_SUFFIX_NAME.CFFEX+'-IF',{Time:2,Decimal:1,Name:'沪深股指期货'}],[MARKET_SUFFIX_NAME.CFFEX+'-IM',{Time:2,Decimal:1,Name:'中证1000股指期货'}],[MARKET_SUFFIX_NAME.CFFEX+'-IO',{Time:2,Decimal:1,Name:'沪深300股指期权'}],[MARKET_SUFFIX_NAME.CFFEX+'-MO',{Time:2,Decimal:1,Name:'中证1000股指期权'}],[MARKET_SUFFIX_NAME.CFFEX+'-HO',{Time:2,Decimal:1,Name:'上证50股指期权'}],//广州期货交易所
10482
10495
  [MARKET_SUFFIX_NAME.GZFE+'-SI',{Time:0,Decimal:2,Name:"工业硅"}],[MARKET_SUFFIX_NAME.GZFE+'-LC',{Time:0,Decimal:2,Name:"碳酸锂"}]]);this.MAP_ONEWORD=new _map2.default([//大连商品交易所
@@ -10488,7 +10501,8 @@ this.AddNewFutures=function(obj)//{ Suffix:后缀, Symbol:品种代码, Time:交
10488
10501
  {oneWordName=MARKET_SUFFIX_NAME.SHFE+'-'+oneWord;twoWordsName=MARKET_SUFFIX_NAME.SHFE+'-'+twoWords;}else if(MARKET_SUFFIX_NAME.IsCFFEX(upperSymbol))//中期所
10489
10502
  {oneWordName=MARKET_SUFFIX_NAME.CFFEX+'-'+oneWord;twoWordsName=MARKET_SUFFIX_NAME.CFFEX+'-'+twoWords;}else if(MARKET_SUFFIX_NAME.IsCZCE(upperSymbol))//郑州期货交易所
10490
10503
  {oneWordName=MARKET_SUFFIX_NAME.CZCE+'-'+oneWord;twoWordsName=MARKET_SUFFIX_NAME.CZCE+'-'+twoWords;}else if(MARKET_SUFFIX_NAME.IsGZFE(upperSymbol))//广州期货交易所
10491
- {oneWordName=MARKET_SUFFIX_NAME.GZFE+'-'+oneWord;twoWordsName=MARKET_SUFFIX_NAME.GZFE+'-'+twoWords;}if(this.MAP_TWOWORDS.has(twoWordsName)){return this.MAP_TWOWORDS.get(twoWordsName);}if(this.MAP_ONEWORD.has(oneWordName)){return this.MAP_ONEWORD.get(oneWordName);}return null;};this.GetSplitData=function(upperSymbol,option){var data=this.GetData(upperSymbol,option);if(!data)return null;return this.TIME_SPLIT[data.Time];};this.GetDecimal=function(upperSymbol){var data=this.GetData(upperSymbol);if(!data)return 2;return data.Decimal;};}//纽约商业交易所 交易时间数据
10504
+ {oneWordName=MARKET_SUFFIX_NAME.GZFE+'-'+oneWord;twoWordsName=MARKET_SUFFIX_NAME.GZFE+'-'+twoWords;}else if(MARKET_SUFFIX_NAME.IsINE(upperSymbol))//上海国际能源交易中心
10505
+ {oneWordName=MARKET_SUFFIX_NAME.INE+'-'+oneWord;twoWordsName=MARKET_SUFFIX_NAME.INE+'-'+twoWords;}if(this.MAP_TWOWORDS.has(twoWordsName)){return this.MAP_TWOWORDS.get(twoWordsName);}if(this.MAP_ONEWORD.has(oneWordName)){return this.MAP_ONEWORD.get(oneWordName);}return null;};this.GetSplitData=function(upperSymbol,option){var data=this.GetData(upperSymbol,option);if(!data)return null;return this.TIME_SPLIT[data.Time];};this.GetDecimal=function(upperSymbol){var data=this.GetData(upperSymbol);if(!data)return 2;return data.Decimal;};}//纽约商业交易所 交易时间数据
10492
10506
  function NYMEXTimeData(){//美国标准时间
10493
10507
  this.TIME_SPLIT=[{Name:'6:00-5:00',Data:[//6:00 - 5:00
10494
10508
  {Start:600,End:2359},{Start:0,End:500}],Coordinate:{Full://完整模式
@@ -10869,7 +10883,7 @@ if(type!=3&&start+id.length!=this.Index){var restore=this.Index;this.Index=start
10869
10883
  while(!this.IsEOF()){var ch=this.Source.charCodeAt(this.Index);if(ch==0x5C){this.Index=start;return this.GetComplexIdentifier();}else if(ch>=0xD800&&ch<0xDFFF){this.Index=start;return this.GetComplexIdentifier();}if(Character.IsIdentifierPart(ch))++this.Index;else break;}return this.Source.slice(start,this.Index);};this.GetComplexIdentifier=function(){var cp=this.CodePointAt(this.Index);var id=Character.FromCodePoint(cp);this.Index+=id.length;// '\u' (U+005C, U+0075) denotes an escaped character.
10870
10884
  var ch=void 0;if(cp===0x5C){if(this.Source.charCodeAt(this.Index)!==0x75)this.ThrowUnexpectedToken();++this.Index;if(this.Source[this.Index]==='{'){++this.Index;ch=this.ScanUnicodeCodePointEscape();}else{ch=this.ScanHexEscape('u');if(ch===null||ch==='\\'||!Character.IsIdentifierStart(ch.charCodeAt(0)))this.ThrowUnexpectedToken();}id=ch;}while(!this.IsEOF()){cp=this.CodePointAt(this.Index);if(!Character.IsIdentifierPart(cp))break;ch=Character.FromCodePoint(cp);id+=ch;this.Index+=ch.length;// '\u' (U+005C, U+0075) denotes an escaped character.
10871
10885
  if(cp===0x5C){id=id.substring(0,id.length-1);if(this.Source.charCodeAt(this.Index)!==0x75)this.ThrowUnexpectedToken();++this.Index;if(this.Source[this.Index]==='{'){++this.Index;ch=this.ScanUnicodeCodePointEscape();}else{ch=this.ScanHexEscape('u');if(ch===null||ch==='\\'||!Character.IsIdentifierPart(ch.charCodeAt(0)))this.ThrowUnexpectedToken();}id+=ch;}}return id;};this.ScanUnicodeCodePointEscape=function(){var result=this.TryToScanUnicodeCodePointEscape();if(result===null)return this.ThrowUnexpectedToken();return result;};this.TryToScanUnicodeCodePointEscape=function(){var ch=this.Source[this.Index];var code=0;// At least, one hex digit is required.
10872
- if(ch==='}')return null;while(!this.IsEOF()){ch=this.Source[this.Index++];if(!Character.IsHexDigit(ch.charCodeAt(0)))break;code=code*16+HexValue(ch);}if(code>0x10FFFF||ch!=='}')return null;return Character.FromCodePoint(code);};this.ScanHexEscape=function(prefix){var len=prefix==='u'?4:2;var code=0;for(var _i23=0;_i23<len;++_i23){if(!this.IsEOF()&&Character.IsHexDigit(this.Source.charCodeAt(this.Index))){code=code*16+HexValue(this.source[this.Index++]);}else{return null;}}return String.fromCharCode(code);};//操作符 https://tc39.github.io/ecma262/#sec-punctuators
10886
+ if(ch==='}')return null;while(!this.IsEOF()){ch=this.Source[this.Index++];if(!Character.IsHexDigit(ch.charCodeAt(0)))break;code=code*16+HexValue(ch);}if(code>0x10FFFF||ch!=='}')return null;return Character.FromCodePoint(code);};this.ScanHexEscape=function(prefix){var len=prefix==='u'?4:2;var code=0;for(var _i28=0;_i28<len;++_i28){if(!this.IsEOF()&&Character.IsHexDigit(this.Source.charCodeAt(this.Index))){code=code*16+HexValue(this.source[this.Index++]);}else{return null;}}return String.fromCharCode(code);};//操作符 https://tc39.github.io/ecma262/#sec-punctuators
10873
10887
  this.ScanPunctuator=function(){var start=this.Index;var str=this.Source[this.Index];switch(str){case'(':++this.Index;break;case')':case';':case',':++this.Index;break;case'.':++this.Index;/*if (this.Source[this.Index] === '.' && this.Source[this.Index + 1] === '.')
10874
10888
  {
10875
10889
  //Spread operator: ...
@@ -10951,7 +10965,7 @@ this.ParseStatement=function(){var statement=void 0;switch(this.LookAhead.Type){
10951
10965
  this.ParseEmptyStatement=function(){var node=this.CreateNode();this.Expect(';');return this.Finalize(node,this.Node.EmptyStatement());};//https://tc39.github.io/ecma262/#sec-labelled-statements
10952
10966
  this.ParseLabelledStatement=function(){var node=this.CreateNode();var expr=this.ParseExpression();this.ConsumeSemicolon();var statement=new this.Node.ExpressionStatement(expr);return this.Finalize(node,statement);};// https://tc39.github.io/ecma262/#sec-comma-operator
10953
10967
  this.ParseExpression=function(){var startToken=this.LookAhead;var expr=this.IsolateCoverGrammar(this.ParseAssignmentExpression);if(this.Match(',')){var expressions=[];expressions.push(expr);while(this.LookAhead.Type!=2/*EOF*/){if(!this.Match(','))break;this.NextToken();expressions.push(this.IsolateCoverGrammar(this.ParseAssignmentExpression));}expr=this.Finalize(this.StartNode(startToken),this.Node.SequenceExpression(expressions));}return expr;};this.ParseAssignmentExpression=function(){var expr=void 0;var startToken=this.LookAhead;var token=startToken;expr=this.ParseConditionalExpression();if(this.MatchAssign()){if(!this.Context.IsAssignmentTarget){var marker=expr.Marker;this.ThrowUnexpectedError(marker.Index,marker.Line,marker.Column,Messages.InvalidLHSInAssignment);}if(!this.Match('=')&&!this.Match(':')){this.Context.IsAssignmentTarget=false;this.Context.IsBindingElement=false;}else{this.ReinterpretExpressionAsPattern(expr);}token=this.NextToken();var operator=token.Value;var right=this.IsolateCoverGrammar(this.ParseAssignmentExpression);expr=this.Finalize(this.StartNode(startToken),this.Node.AssignmentExpression(operator,expr,right));this.Context.FirstCoverInitializedNameError=null;}return expr;};this.ParseConditionalExpression=function(){var startToken=this.LookAhead;var expr=this.InheritCoverGrammar(this.ParseBinaryExpression);return expr;};this.ParseBinaryExpression=function(){var startToken=this.LookAhead;var expr=this.InheritCoverGrammar(this.ParseExponentiationExpression);var token=this.LookAhead;var prec=this.BinaryPrecedence(token);if(prec>0){this.NextToken();this.Context.IsAssignmentTarget=false;this.Context.IsBindingElement=false;var markers=[startToken,this.LookAhead];var left=expr;var right=this.IsolateCoverGrammar(this.ParseExponentiationExpression);var stack=[left,token.Value,right];var precedences=[prec];while(true){prec=this.BinaryPrecedence(this.LookAhead);if(prec<=0)break;while(stack.length>2&&prec<=precedences[precedences.length-1]){right=stack.pop();var operator=stack.pop();precedences.pop();left=stack.pop();markers.pop();var node=this.StartNode(markers[markers.length-1]);stack.push(this.Finalize(node,this.Node.BinaryExpression(operator,left,right)));}//Shift
10954
- stack.push(this.NextToken().Value);precedences.push(prec);markers.push(this.LookAhead);stack.push(this.IsolateCoverGrammar(this.ParseExponentiationExpression));}var _i24=stack.length-1;expr=stack[_i24];var lastMarker=markers.pop();while(_i24>1){var marker=markers.pop();var lastLineStart=lastMarker&&lastMarker.LineStart;var _node=this.StartNode(marker,lastLineStart);var _operator=stack[_i24-1];expr=this.Finalize(_node,this.Node.BinaryExpression(_operator,stack[_i24-2],expr));_i24-=2;lastMarker=marker;}}return expr;};this.ParseExponentiationExpression=function(){var startToken=this.LookAhead;var expr=this.InheritCoverGrammar(this.ParseUnaryExpression);return expr;};this.ParseUnaryExpression=function(){var expr=void 0;if(this.Match('+')||this.Match('-')){var node=this.StartNode(this.LookAhead);var token=this.NextToken();expr=this.InheritCoverGrammar(this.ParseUnaryExpression);expr=this.Finalize(node,this.Node.UnaryExpression(token.Value,expr));this.Context.IsAssignmentTarget=false;this.Context.IsBindingElement=false;}else{expr=this.ParseUpdateExpression();}return expr;};// https://tc39.github.io/ecma262/#sec-update-expressions
10968
+ stack.push(this.NextToken().Value);precedences.push(prec);markers.push(this.LookAhead);stack.push(this.IsolateCoverGrammar(this.ParseExponentiationExpression));}var _i29=stack.length-1;expr=stack[_i29];var lastMarker=markers.pop();while(_i29>1){var marker=markers.pop();var lastLineStart=lastMarker&&lastMarker.LineStart;var _node=this.StartNode(marker,lastLineStart);var _operator=stack[_i29-1];expr=this.Finalize(_node,this.Node.BinaryExpression(_operator,stack[_i29-2],expr));_i29-=2;lastMarker=marker;}}return expr;};this.ParseExponentiationExpression=function(){var startToken=this.LookAhead;var expr=this.InheritCoverGrammar(this.ParseUnaryExpression);return expr;};this.ParseUnaryExpression=function(){var expr=void 0;if(this.Match('+')||this.Match('-')){var node=this.StartNode(this.LookAhead);var token=this.NextToken();expr=this.InheritCoverGrammar(this.ParseUnaryExpression);expr=this.Finalize(node,this.Node.UnaryExpression(token.Value,expr));this.Context.IsAssignmentTarget=false;this.Context.IsBindingElement=false;}else{expr=this.ParseUpdateExpression();}return expr;};// https://tc39.github.io/ecma262/#sec-update-expressions
10955
10969
  this.ParseUpdateExpression=function(){var expr=void 0;var startToken=this.LookAhead;expr=this.InheritCoverGrammar(this.ParseLeftHandSideExpressionAllowCall);return expr;};this.ParseLeftHandSideExpressionAllowCall=function(){var startToken=this.LookAhead;var expr=void 0;expr=this.InheritCoverGrammar(this.ParsePrimaryExpression);while(true){if(this.Match('.')){this.Context.IsBindingElement=false;this.Context.IsAssignmentTarget=true;this.Expect('.');var property=this.ParseMemberIdentifierName();expr=this.Finalize(this.StartNode(startToken),this.Node.StaticMemberExpression(expr,property,startToken));}else if(this.Match('(')){this.Context.IsBindingElement=false;this.Context.IsAssignmentTarget=false;var args=this.ParseArguments();//解析 调用参数
10956
10970
  expr=this.Finalize(this.StartNode(startToken),this.Node.CallExpression(expr,args,startToken));}else{break;}}return expr;};/*
10957
10971
  BooleanLiteral = 1,
@@ -10980,77 +10994,77 @@ this.LastMarker.Index=this.StartMarker.Index;this.LastMarker.Line=this.StartMark
10980
10994
  //相加
10981
10995
  this.Add=function(data,data2){var isNumber=typeof data=='number';var isNumber2=typeof data2=='number';//单数值相加
10982
10996
  if(isNumber&&isNumber2)return data+data2;//都是数组相加
10983
- var result=[];if(!isNumber&&!isNumber2){var count=Math.max(data.length,data2.length);for(var _i25=0;_i25<count;++_i25){result[_i25]=null;//初始化
10984
- if(_i25<data.length&&_i25<data2.length){if(this.IsNumber(data[_i25])&&this.IsNumber(data2[_i25]))result[_i25]=data[_i25]+data2[_i25];}}return result;}//单数据和数组相加
10985
- var value=void 0;var aryData=void 0;if(isNumber){value=data;aryData=data2;}else{value=data2;aryData=data;}for(var _i26 in aryData){result[_i26]=null;if(this.IsNumber(aryData[_i26])&&this.IsNumber(value))result[_i26]=value+aryData[_i26];}return result;};//相减
10997
+ var result=[];if(!isNumber&&!isNumber2){var count=Math.max(data.length,data2.length);for(var _i30=0;_i30<count;++_i30){result[_i30]=null;//初始化
10998
+ if(_i30<data.length&&_i30<data2.length){if(this.IsNumber(data[_i30])&&this.IsNumber(data2[_i30]))result[_i30]=data[_i30]+data2[_i30];}}return result;}//单数据和数组相加
10999
+ var value=void 0;var aryData=void 0;if(isNumber){value=data;aryData=data2;}else{value=data2;aryData=data;}for(var _i31 in aryData){result[_i31]=null;if(this.IsNumber(aryData[_i31])&&this.IsNumber(value))result[_i31]=value+aryData[_i31];}return result;};//相减
10986
11000
  this.Subtract=function(data,data2){var isNumber=typeof data=='number';var isNumber2=typeof data2=='number';//单数值相减
10987
11001
  if(isNumber&&isNumber2)return data-data2;//都是数组相减
10988
- var result=[];if(!isNumber&&!isNumber2){var count=Math.max(data.length,data2.length);for(var _i27=0;_i27<count;++_i27){result[_i27]=null;//初始化
10989
- if(_i27<data.length&&_i27<data2.length){if(this.IsNumber(data[_i27])&&this.IsNumber(data2[_i27]))result[_i27]=data[_i27]-data2[_i27];}}return result;}if(isNumber)//单数据-数组
10990
- {for(var _i28 in data2){result[_i28]=null;if(this.IsNumber(data)&&this.IsNumber(data2[_i28]))result[_i28]=data-data2[_i28];}}else//数组-单数据
10991
- {for(var _i29 in data){result[_i29]=null;if(this.IsNumber(data[_i29])&&this.IsNumber(data2))result[_i29]=data[_i29]-data2;}}return result;};//相乘
11002
+ var result=[];if(!isNumber&&!isNumber2){var count=Math.max(data.length,data2.length);for(var _i32=0;_i32<count;++_i32){result[_i32]=null;//初始化
11003
+ if(_i32<data.length&&_i32<data2.length){if(this.IsNumber(data[_i32])&&this.IsNumber(data2[_i32]))result[_i32]=data[_i32]-data2[_i32];}}return result;}if(isNumber)//单数据-数组
11004
+ {for(var _i33 in data2){result[_i33]=null;if(this.IsNumber(data)&&this.IsNumber(data2[_i33]))result[_i33]=data-data2[_i33];}}else//数组-单数据
11005
+ {for(var _i34 in data){result[_i34]=null;if(this.IsNumber(data[_i34])&&this.IsNumber(data2))result[_i34]=data[_i34]-data2;}}return result;};//相乘
10992
11006
  this.Multiply=function(data,data2){var isNumber=typeof data=='number';var isNumber2=typeof data2=='number';//单数值相乘
10993
11007
  if(isNumber&&isNumber2)return data*data2;//都是数组相乘
10994
- var result=[];if(!isNumber&&!isNumber2){var count=Math.max(data.length,data2.length);for(var _i30=0;_i30<count;++_i30){result[_i30]=null;//初始化
10995
- if(_i30<data.length&&_i30<data2.length){if(this.IsNumber(data[_i30])&&this.IsNumber(data2[_i30]))result[_i30]=data[_i30]*data2[_i30];}}return result;}//单数据和数组相乘
10996
- var value=void 0;var aryData=void 0;if(isNumber){value=data;aryData=data2;}else{value=data2;aryData=data;}for(var _i31 in aryData){result[_i31]=null;if(this.IsNumber(aryData[_i31])&&this.IsNumber(value))result[_i31]=value*aryData[_i31];}return result;};//相除
11008
+ var result=[];if(!isNumber&&!isNumber2){var count=Math.max(data.length,data2.length);for(var _i35=0;_i35<count;++_i35){result[_i35]=null;//初始化
11009
+ if(_i35<data.length&&_i35<data2.length){if(this.IsNumber(data[_i35])&&this.IsNumber(data2[_i35]))result[_i35]=data[_i35]*data2[_i35];}}return result;}//单数据和数组相乘
11010
+ var value=void 0;var aryData=void 0;if(isNumber){value=data;aryData=data2;}else{value=data2;aryData=data;}for(var _i36 in aryData){result[_i36]=null;if(this.IsNumber(aryData[_i36])&&this.IsNumber(value))result[_i36]=value*aryData[_i36];}return result;};//相除
10997
11011
  this.Divide=function(data,data2){var isNumber=typeof data=='number';var isNumber2=typeof data2=='number';//单数值相除
10998
11012
  if(isNumber&&isNumber2){if(data2==0)return null;//除0判断
10999
11013
  return data/data2;}//都是数组相除
11000
- var result=[];if(!isNumber&&!isNumber2){var count=Math.max(data.length,data2.length);for(var _i32=0;_i32<count;++_i32){result[_i32]=null;//初始化
11001
- if(_i32<data.length&&_i32<data2.length){if(this.IsNumber(data[_i32])&&this.IsDivideNumber(data2[_i32]))result[_i32]=data[_i32]/data2[_i32];}}return result;}if(isNumber)//单数据-数组
11002
- {for(var _i33 in data2){result[_i33]=null;if(this.IsNumber(data)&&this.IsDivideNumber(data2[_i33]))result[_i33]=data/data2[_i33];}}else//数组-单数据
11003
- {for(var _i34 in data){result[_i34]=null;if(this.IsNumber(data[_i34])&&this.IsDivideNumber(data2))result[_i34]=data[_i34]/data2;}}return result;};//大于
11014
+ var result=[];if(!isNumber&&!isNumber2){var count=Math.max(data.length,data2.length);for(var _i37=0;_i37<count;++_i37){result[_i37]=null;//初始化
11015
+ if(_i37<data.length&&_i37<data2.length){if(this.IsNumber(data[_i37])&&this.IsDivideNumber(data2[_i37]))result[_i37]=data[_i37]/data2[_i37];}}return result;}if(isNumber)//单数据-数组
11016
+ {for(var _i38 in data2){result[_i38]=null;if(this.IsNumber(data)&&this.IsDivideNumber(data2[_i38]))result[_i38]=data/data2[_i38];}}else//数组-单数据
11017
+ {for(var _i39 in data){result[_i39]=null;if(this.IsNumber(data[_i39])&&this.IsDivideNumber(data2))result[_i39]=data[_i39]/data2;}}return result;};//大于
11004
11018
  this.GT=function(data,data2){var isNumber=IFrameSplitOperator.IsNumber(data);var isNumber2=IFrameSplitOperator.IsNumber(data2);//单数值比较
11005
11019
  if(isNumber&&isNumber2)return data>data2?1:0;//都是数组比较
11006
- var result=[];if(Array.isArray(data)&&Array.isArray(data2)){var count=Math.max(data.length,data2.length);for(var _i35=0;_i35<count;++_i35){result[_i35]=null;//初始化
11007
- if(_i35<data.length&&_i35<data2.length){if(!IFrameSplitOperator.IsVaild(data[_i35]))continue;if(!IFrameSplitOperator.IsVaild(data2[_i35]))continue;if(!isNaN(data[_i35])&&!isNaN(data2[_i35]))result[_i35]=data[_i35]>data2[_i35]?1:0;}}return result;}if(isNumber&&Array.isArray(data2))//单数据-数组
11008
- {for(var _i36 in data2){result[_i36]=null;if(!IFrameSplitOperator.IsVaild(data))continue;if(!IFrameSplitOperator.IsVaild(data2[_i36]))continue;if(!isNaN(data)&&!isNaN(data2[_i36]))result[_i36]=data>data2[_i36]?1:0;}}else if(isNumber2&&Array.isArray(data))//数组-单数据
11009
- {for(var _i37 in data){result[_i37]=null;if(!IFrameSplitOperator.IsVaild(data[_i37]))continue;if(!IFrameSplitOperator.IsVaild(data2))continue;if(!isNaN(data[_i37])&&!isNaN(data2))result[_i37]=data[_i37]>data2?1:0;}}return result;};//大于等于
11020
+ var result=[];if(Array.isArray(data)&&Array.isArray(data2)){var count=Math.max(data.length,data2.length);for(var _i40=0;_i40<count;++_i40){result[_i40]=null;//初始化
11021
+ if(_i40<data.length&&_i40<data2.length){if(!IFrameSplitOperator.IsVaild(data[_i40]))continue;if(!IFrameSplitOperator.IsVaild(data2[_i40]))continue;if(!isNaN(data[_i40])&&!isNaN(data2[_i40]))result[_i40]=data[_i40]>data2[_i40]?1:0;}}return result;}if(isNumber&&Array.isArray(data2))//单数据-数组
11022
+ {for(var _i41 in data2){result[_i41]=null;if(!IFrameSplitOperator.IsVaild(data))continue;if(!IFrameSplitOperator.IsVaild(data2[_i41]))continue;if(!isNaN(data)&&!isNaN(data2[_i41]))result[_i41]=data>data2[_i41]?1:0;}}else if(isNumber2&&Array.isArray(data))//数组-单数据
11023
+ {for(var _i42 in data){result[_i42]=null;if(!IFrameSplitOperator.IsVaild(data[_i42]))continue;if(!IFrameSplitOperator.IsVaild(data2))continue;if(!isNaN(data[_i42])&&!isNaN(data2))result[_i42]=data[_i42]>data2?1:0;}}return result;};//大于等于
11010
11024
  this.GTE=function(data,data2){var isNumber=IFrameSplitOperator.IsNumber(data);var isNumber2=IFrameSplitOperator.IsNumber(data2);//单数值比较
11011
11025
  if(isNumber&&isNumber2)return data>=data2?1:0;//都是数组比较
11012
- var result=[];if(Array.isArray(data)&&Array.isArray(data2)){var count=Math.max(data.length,data2.length);for(var _i38=0;_i38<count;++_i38){result[_i38]=null;//初始化
11013
- if(_i38<data.length&&_i38<data2.length){if(!IFrameSplitOperator.IsVaild(data[_i38]))continue;if(!IFrameSplitOperator.IsVaild(data2[_i38]))continue;result[_i38]=data[_i38]>=data2[_i38]?1:0;}}return result;}if(isNumber&&Array.isArray(data2))//单数据-数组
11014
- {for(var _i39 in data2){result[_i39]=null;if(!IFrameSplitOperator.IsVaild(data))continue;if(!IFrameSplitOperator.IsVaild(data2[_i39]))continue;result[_i39]=data>=data2[_i39]?1:0;}}else if(isNumber2&&Array.isArray(data))//数组-单数据
11015
- {for(var _i40 in data){result[_i40]=null;if(!IFrameSplitOperator.IsVaild(data[_i40]))continue;if(!IFrameSplitOperator.IsVaild(data2))continue;result[_i40]=data[_i40]>=data2?1:0;}}return result;};//小于
11026
+ var result=[];if(Array.isArray(data)&&Array.isArray(data2)){var count=Math.max(data.length,data2.length);for(var _i43=0;_i43<count;++_i43){result[_i43]=null;//初始化
11027
+ if(_i43<data.length&&_i43<data2.length){if(!IFrameSplitOperator.IsVaild(data[_i43]))continue;if(!IFrameSplitOperator.IsVaild(data2[_i43]))continue;result[_i43]=data[_i43]>=data2[_i43]?1:0;}}return result;}if(isNumber&&Array.isArray(data2))//单数据-数组
11028
+ {for(var _i44 in data2){result[_i44]=null;if(!IFrameSplitOperator.IsVaild(data))continue;if(!IFrameSplitOperator.IsVaild(data2[_i44]))continue;result[_i44]=data>=data2[_i44]?1:0;}}else if(isNumber2&&Array.isArray(data))//数组-单数据
11029
+ {for(var _i45 in data){result[_i45]=null;if(!IFrameSplitOperator.IsVaild(data[_i45]))continue;if(!IFrameSplitOperator.IsVaild(data2))continue;result[_i45]=data[_i45]>=data2?1:0;}}return result;};//小于
11016
11030
  this.LT=function(data,data2){var isNumber=IFrameSplitOperator.IsNumber(data);var isNumber2=IFrameSplitOperator.IsNumber(data2);//单数值比较
11017
11031
  if(isNumber&&isNumber2)return data<data2?1:0;//都是数组比较
11018
- var result=[];if(Array.isArray(data)&&Array.isArray(data2)){var count=Math.max(data.length,data2.length);for(var _i41=0;_i41<count;++_i41){result[_i41]=null;//初始化
11019
- if(_i41<data.length&&_i41<data2.length){if(!IFrameSplitOperator.IsVaild(data[_i41]))continue;if(!IFrameSplitOperator.IsVaild(data2[_i41]))continue;result[_i41]=data[_i41]<data2[_i41]?1:0;}}return result;}if(isNumber&&Array.isArray(data2))//单数据-数组
11020
- {for(var _i42 in data2){result[_i42]=null;if(!IFrameSplitOperator.IsVaild(data))continue;if(!IFrameSplitOperator.IsVaild(data2[_i42]))continue;result[_i42]=data<data2[_i42]?1:0;}}else if(isNumber2&&Array.isArray(data))//数组-单数据
11021
- {for(var _i43 in data){result[_i43]=null;if(!IFrameSplitOperator.IsVaild(data[_i43]))continue;if(!IFrameSplitOperator.IsVaild(data2))continue;result[_i43]=data[_i43]<data2?1:0;}}return result;};//小于等于
11032
+ var result=[];if(Array.isArray(data)&&Array.isArray(data2)){var count=Math.max(data.length,data2.length);for(var _i46=0;_i46<count;++_i46){result[_i46]=null;//初始化
11033
+ if(_i46<data.length&&_i46<data2.length){if(!IFrameSplitOperator.IsVaild(data[_i46]))continue;if(!IFrameSplitOperator.IsVaild(data2[_i46]))continue;result[_i46]=data[_i46]<data2[_i46]?1:0;}}return result;}if(isNumber&&Array.isArray(data2))//单数据-数组
11034
+ {for(var _i47 in data2){result[_i47]=null;if(!IFrameSplitOperator.IsVaild(data))continue;if(!IFrameSplitOperator.IsVaild(data2[_i47]))continue;result[_i47]=data<data2[_i47]?1:0;}}else if(isNumber2&&Array.isArray(data))//数组-单数据
11035
+ {for(var _i48 in data){result[_i48]=null;if(!IFrameSplitOperator.IsVaild(data[_i48]))continue;if(!IFrameSplitOperator.IsVaild(data2))continue;result[_i48]=data[_i48]<data2?1:0;}}return result;};//小于等于
11022
11036
  this.LTE=function(data,data2){var isNumber=IFrameSplitOperator.IsNumber(data);var isNumber2=IFrameSplitOperator.IsNumber(data2);//单数值比较
11023
11037
  if(isNumber&&isNumber2)return data>=data2?1:0;//都是数组比较
11024
- var result=[];if(Array.isArray(data)&&Array.isArray(data2)){var count=Math.max(data.length,data2.length);for(var _i44=0;_i44<count;++_i44){result[_i44]=null;//初始化
11025
- if(_i44<data.length&&_i44<data2.length){if(!IFrameSplitOperator.IsVaild(data[_i44]))continue;if(!IFrameSplitOperator.IsVaild(data2[_i44]))continue;result[_i44]=data[_i44]<=data2[_i44]?1:0;}}return result;}if(isNumber&&Array.isArray(data2))//单数据-数组
11026
- {for(var _i45 in data2){result[_i45]=null;if(!IFrameSplitOperator.IsVaild(data))continue;if(!IFrameSplitOperator.IsVaild(data2[_i45]))continue;result[_i45]=data<=data2[_i45]?1:0;}}else if(isNumber2&&Array.isArray(data))//数组-单数据
11027
- {for(var _i46 in data){result[_i46]=null;if(!IFrameSplitOperator.IsVaild(data[_i46]))continue;if(!IFrameSplitOperator.IsVaild(data2))continue;result[_i46]=data[_i46]<=data2?1:0;}}return result;};//等于
11038
+ var result=[];if(Array.isArray(data)&&Array.isArray(data2)){var count=Math.max(data.length,data2.length);for(var _i49=0;_i49<count;++_i49){result[_i49]=null;//初始化
11039
+ if(_i49<data.length&&_i49<data2.length){if(!IFrameSplitOperator.IsVaild(data[_i49]))continue;if(!IFrameSplitOperator.IsVaild(data2[_i49]))continue;result[_i49]=data[_i49]<=data2[_i49]?1:0;}}return result;}if(isNumber&&Array.isArray(data2))//单数据-数组
11040
+ {for(var _i50 in data2){result[_i50]=null;if(!IFrameSplitOperator.IsVaild(data))continue;if(!IFrameSplitOperator.IsVaild(data2[_i50]))continue;result[_i50]=data<=data2[_i50]?1:0;}}else if(isNumber2&&Array.isArray(data))//数组-单数据
11041
+ {for(var _i51 in data){result[_i51]=null;if(!IFrameSplitOperator.IsVaild(data[_i51]))continue;if(!IFrameSplitOperator.IsVaild(data2))continue;result[_i51]=data[_i51]<=data2?1:0;}}return result;};//等于
11028
11042
  this.EQ=function(data,data2){var isNumber=IFrameSplitOperator.IsNumber(data);var isNumber2=IFrameSplitOperator.IsNumber(data2);//单数值比较
11029
11043
  if(isNumber&&isNumber2)return data==data2?1:0;//都是数组比较
11030
- var result=[];if(Array.isArray(data)&&Array.isArray(data2)){var count=Math.max(data.length,data2.length);for(var _i47=0;_i47<count;++_i47){result[_i47]=null;//初始化
11031
- if(_i47<data.length&&_i47<data2.length){if(!isNaN(data[_i47])&&!isNaN(data2[_i47]))result[_i47]=data[_i47]==data2[_i47]?1:0;}}return result;}if(isNumber&&Array.isArray(data2))//单数据-数组
11032
- {for(var _i48 in data2){result[_i48]=null;if(!isNaN(data)&&!isNaN(data2[_i48]))result[_i48]=data==data2[_i48]?1:0;}}else if(isNumber2&&Array.isArray(data))//数组-单数据
11033
- {for(var _i49 in data){result[_i49]=null;if(!isNaN(data[_i49])&&!isNaN(data2))result[_i49]=data[_i49]==data2?1:0;}}return result;};//不等于
11044
+ var result=[];if(Array.isArray(data)&&Array.isArray(data2)){var count=Math.max(data.length,data2.length);for(var _i52=0;_i52<count;++_i52){result[_i52]=null;//初始化
11045
+ if(_i52<data.length&&_i52<data2.length){if(!isNaN(data[_i52])&&!isNaN(data2[_i52]))result[_i52]=data[_i52]==data2[_i52]?1:0;}}return result;}if(isNumber&&Array.isArray(data2))//单数据-数组
11046
+ {for(var _i53 in data2){result[_i53]=null;if(!isNaN(data)&&!isNaN(data2[_i53]))result[_i53]=data==data2[_i53]?1:0;}}else if(isNumber2&&Array.isArray(data))//数组-单数据
11047
+ {for(var _i54 in data){result[_i54]=null;if(!isNaN(data[_i54])&&!isNaN(data2))result[_i54]=data[_i54]==data2?1:0;}}return result;};//不等于
11034
11048
  this.NEQ=function(data,data2){var isNumber=IFrameSplitOperator.IsNumber(data);var isNumber2=IFrameSplitOperator.IsNumber(data2);//单数值比较
11035
11049
  if(isNumber&&isNumber2)return data!=data2?1:0;//都是数组比较
11036
- var result=[];if(Array.isArray(data)&&Array.isArray(data2)){var count=Math.max(data.length,data2.length);for(var _i50=0;_i50<count;++_i50){result[_i50]=null;//初始化
11037
- if(_i50<data.length&&_i50<data2.length){if(!isNaN(data[_i50])&&!isNaN(data2[_i50]))result[_i50]=data[_i50]!=data2[_i50]?1:0;}}return result;}if(isNumber&&Array.isArray(data2))//单数据-数组
11038
- {for(var _i51 in data2){result[_i51]=null;if(!isNaN(data)&&!isNaN(data2[_i51]))result[_i51]=data!=data2[_i51]?1:0;}}else if(isNumber2&&Array.isArray(data))//数组-单数据
11039
- {for(var _i52 in data){result[_i52]=null;if(!isNaN(data[_i52])&&!isNaN(data2))result[_i52]=data[_i52]!=data2?1:0;}}return result;};//AND &&
11050
+ var result=[];if(Array.isArray(data)&&Array.isArray(data2)){var count=Math.max(data.length,data2.length);for(var _i55=0;_i55<count;++_i55){result[_i55]=null;//初始化
11051
+ if(_i55<data.length&&_i55<data2.length){if(!isNaN(data[_i55])&&!isNaN(data2[_i55]))result[_i55]=data[_i55]!=data2[_i55]?1:0;}}return result;}if(isNumber&&Array.isArray(data2))//单数据-数组
11052
+ {for(var _i56 in data2){result[_i56]=null;if(!isNaN(data)&&!isNaN(data2[_i56]))result[_i56]=data!=data2[_i56]?1:0;}}else if(isNumber2&&Array.isArray(data))//数组-单数据
11053
+ {for(var _i57 in data){result[_i57]=null;if(!isNaN(data[_i57])&&!isNaN(data2))result[_i57]=data[_i57]!=data2?1:0;}}return result;};//AND &&
11040
11054
  this.And=function(data,data2){var isNumber=typeof data=='number';var isNumber2=typeof data2=='number';//单数值 &&
11041
11055
  if(isNumber&&isNumber2)return data&&data2?1:0;//都是数组 &&
11042
- var result=[];if(!isNumber&&!isNumber2){var count=Math.max(data.length,data2.length);for(var _i53=0;_i53<count;++_i53){result[_i53]=null;//初始化
11043
- if(_i53<data.length&&_i53<data2.length){if(!isNaN(data[_i53])&&!isNaN(data2[_i53]))result[_i53]=data[_i53]&&data2[_i53]?1:0;}}return result;}if(isNumber)//单数据-数组
11044
- {for(var _i54 in data2){result[_i54]=null;if(!isNaN(data)&&!isNaN(data2[_i54]))result[_i54]=data&&data2[_i54]?1:0;}}else//数组-单数据
11045
- {for(var _i55 in data){result[_i55]=null;if(!isNaN(data[_i55])&&!isNaN(data2))result[_i55]=data[_i55]&&data2?1:0;}}return result;};//OR ||
11056
+ var result=[];if(!isNumber&&!isNumber2){var count=Math.max(data.length,data2.length);for(var _i58=0;_i58<count;++_i58){result[_i58]=null;//初始化
11057
+ if(_i58<data.length&&_i58<data2.length){if(!isNaN(data[_i58])&&!isNaN(data2[_i58]))result[_i58]=data[_i58]&&data2[_i58]?1:0;}}return result;}if(isNumber)//单数据-数组
11058
+ {for(var _i59 in data2){result[_i59]=null;if(!isNaN(data)&&!isNaN(data2[_i59]))result[_i59]=data&&data2[_i59]?1:0;}}else//数组-单数据
11059
+ {for(var _i60 in data){result[_i60]=null;if(!isNaN(data[_i60])&&!isNaN(data2))result[_i60]=data[_i60]&&data2?1:0;}}return result;};//OR ||
11046
11060
  this.Or=function(data,data2){var isNumber=typeof data=='number';var isNumber2=typeof data2=='number';//单数值 &&
11047
11061
  if(isNumber&&isNumber2)return data||data2?1:0;//都是数组 &&
11048
- var result=[];if(!isNumber&&!isNumber2){var count=Math.max(data.length,data2.length);for(var _i56=0;_i56<count;++_i56){result[_i56]=null;//初始化
11049
- if(_i56<data.length&&_i56<data2.length){if(!isNaN(data[_i56])&&!isNaN(data2[_i56]))result[_i56]=data[_i56]||data2[_i56]?1:0;}}return result;}if(isNumber)//单数据-数组
11050
- {for(var _i57 in data2){result[_i57]=null;if(!isNaN(data)&&!isNaN(data2[_i57]))result[_i57]=data||data2[_i57]?1:0;}}else//数组-单数据
11051
- {for(var _i58 in data){result[_i58]=null;if(!isNaN(data[_i58])&&!isNaN(data2))result[_i58]=data[_i58]||data2?1:0;}}return result;};this.IF=function(data,trueData,falseData){var isNumber=this.IsNumber(data);var isNumber2=this.IsNumber(trueData);var isNumber3=this.IsNumber(falseData);var isArray2=Array.isArray(trueData);var isArray3=Array.isArray(falseData);//单数值
11062
+ var result=[];if(!isNumber&&!isNumber2){var count=Math.max(data.length,data2.length);for(var _i61=0;_i61<count;++_i61){result[_i61]=null;//初始化
11063
+ if(_i61<data.length&&_i61<data2.length){if(!isNaN(data[_i61])&&!isNaN(data2[_i61]))result[_i61]=data[_i61]||data2[_i61]?1:0;}}return result;}if(isNumber)//单数据-数组
11064
+ {for(var _i62 in data2){result[_i62]=null;if(!isNaN(data)&&!isNaN(data2[_i62]))result[_i62]=data||data2[_i62]?1:0;}}else//数组-单数据
11065
+ {for(var _i63 in data){result[_i63]=null;if(!isNaN(data[_i63])&&!isNaN(data2))result[_i63]=data[_i63]||data2?1:0;}}return result;};this.IF=function(data,trueData,falseData){var isNumber=this.IsNumber(data);var isNumber2=this.IsNumber(trueData);var isNumber3=this.IsNumber(falseData);var isArray2=Array.isArray(trueData);var isArray3=Array.isArray(falseData);//单数值
11052
11066
  if(isNumber){if(isNumber2&&isNumber3)return data?trueData:falseData;return data?trueData:falseData;}//都是数组
11053
- var result=[];for(var _i59 in data){if(data[_i59]){if(isNumber2)result[_i59]=trueData;else if(isArray2)result[_i59]=trueData[_i59];else result[_i59]=null;}else{if(isNumber3)result[_i59]=falseData;else if(isArray3)result[_i59]=falseData[_i59];else result[_i59]=null;}}return result;};/*
11067
+ var result=[];for(var _i64 in data){if(data[_i64]){if(isNumber2)result[_i64]=trueData;else if(isArray2)result[_i64]=trueData[_i64];else result[_i64]=null;}else{if(isNumber3)result[_i64]=falseData;else if(isArray3)result[_i64]=falseData[_i64];else result[_i64]=null;}}return result;};/*
11054
11068
  根据条件求不同的值,同IF判断相反.
11055
11069
  用法: IFN(X,A,B)若X不为0则返回B,否则返回A
11056
11070
  例如: IFN(CLOSE>OPEN,HIGH,LOW)表示该周期收阴则返回最高值,否则返回最低值
@@ -11061,35 +11075,35 @@ var result=[];for(var _i59 in data){if(data[_i59]){if(isNumber2)result[_i59]=tru
11061
11075
  //例如: REF(CLOSE,BARSCOUNT(C)-1)表示第二根K线的收盘价.
11062
11076
  this.REF=function(data,n){var result=[];if(typeof n=='number'){if(IFrameSplitOperator.IsNumber(data))//单数值
11063
11077
  {if(n<0)return result;var kData=this.SymbolData.Data.Data;if(!kData||kData.length<=0)return result;var count=kData.length;for(var i=n;i<count;++i){result[i]=data;}}else{if(data.length<=0)return result;if(n>=data.length)return result;result=data.slice(0,data.length-n);//平滑处理
11064
- var firstData=data[0];for(var _i60=0;_i60<n;++_i60){result.unshift(firstData);}}}else//n 为数组的情况
11065
- {for(var _i61=0;_i61<data.length;++_i61){result[_i61]=null;if(_i61>=n.length)continue;var value=n[_i61];if(value>=0&&value<=_i61)result[_i61]=data[_i61-value];else if(_i61)result[_i61]=result[_i61-1];else result[_i61]=data[_i61];}}return result;};//引用若干周期前的数据(未作平滑处理).
11078
+ var firstData=data[0];for(var _i65=0;_i65<n;++_i65){result.unshift(firstData);}}}else//n 为数组的情况
11079
+ {for(var _i66=0;_i66<data.length;++_i66){result[_i66]=null;if(_i66>=n.length)continue;var value=n[_i66];if(value>=0&&value<=_i66)result[_i66]=data[_i66-value];else if(_i66)result[_i66]=result[_i66-1];else result[_i66]=data[_i66];}}return result;};//引用若干周期前的数据(未作平滑处理).
11066
11080
  //用法: REFV(X,A),引用A周期前的X值.A可以是变量.
11067
11081
  //平滑处理:当引用不到数据时进行的操作.
11068
11082
  //例如: REFV(CLOSE,BARSCOUNT(C)-1)表示第二根K线的收盘价.
11069
- this.REFV=function(data,n){var result=[];if(typeof n=='number'){if(data.length<=0)return result;if(n>=data.length)return result;result=data.slice(0,data.length-n);for(var _i62=0;_i62<n;++_i62){//不作平滑处理
11083
+ this.REFV=function(data,n){var result=[];if(typeof n=='number'){if(data.length<=0)return result;if(n>=data.length)return result;result=data.slice(0,data.length-n);for(var _i67=0;_i67<n;++_i67){//不作平滑处理
11070
11084
  result.unshift(null);}}else//n 为数组的情况
11071
- {for(var _i63=0;_i63<data.length;++_i63){result[_i63]=null;if(_i63>=n.length)continue;var value=n[_i63];if(value>=0&&value<=_i63)result[_i63]=data[_i63-value];}}return result;};//属于未来函数,引用若干周期后的数据(平滑处理).
11085
+ {for(var _i68=0;_i68<data.length;++_i68){result[_i68]=null;if(_i68>=n.length)continue;var value=n[_i68];if(value>=0&&value<=_i68)result[_i68]=data[_i68-value];}}return result;};//属于未来函数,引用若干周期后的数据(平滑处理).
11072
11086
  //用法: REFX(X,A),引用A周期后的X值.A可以是变量.
11073
11087
  //平滑处理:当引用不到数据时进行的操作.此函数中,平滑时使用上一个周期的引用值.
11074
11088
  //例如: TT:=IF(C>O,1,2);
11075
11089
  // REFX(CLOSE,TT);表示阳线引用下一周期的收盘价,阴线引用日后第二周期的收盘价.
11076
11090
  this.REFX=function(data,n){var result=[];if(typeof n=='number'){if(data.length<=0)return result;if(n>=data.length){if(data.length>0)return data[data.length-1];//取最后一个数据
11077
11091
  return result;}result=data.slice(n,data.length);//平滑处理
11078
- var lastData=data[data.length-1];for(var _i64=0;_i64<n;++_i64){result.push(lastData);}}else//n 为数组的情况
11079
- {var dataCount=data.length;for(var _i65=0;_i65<data.length;++_i65){result[_i65]=null;if(_i65>=n.length)continue;var value=n[_i65];if(value>=0&&value+_i65<dataCount)result[_i65]=data[_i65+value];else if(_i65)result[_i65]=result[_i65-1];else result[_i65]=data[_i65];}}return result;};//属于未来函数,引用若干周期后的数据(未作平滑处理).
11092
+ var lastData=data[data.length-1];for(var _i69=0;_i69<n;++_i69){result.push(lastData);}}else//n 为数组的情况
11093
+ {var dataCount=data.length;for(var _i70=0;_i70<data.length;++_i70){result[_i70]=null;if(_i70>=n.length)continue;var value=n[_i70];if(value>=0&&value+_i70<dataCount)result[_i70]=data[_i70+value];else if(_i70)result[_i70]=result[_i70-1];else result[_i70]=data[_i70];}}return result;};//属于未来函数,引用若干周期后的数据(未作平滑处理).
11080
11094
  //用法:REFXV(X,A),引用A周期后的X值.A可以是变量.
11081
11095
  //平滑处理:当引用不到数据时进行的操作.
11082
11096
  //例如: REFXV(CLOSE,1)表示下一周期的收盘价,在日线上就是明天收盘价
11083
11097
  this.REFXV=function(data,n){var result=[];if(typeof n=='number'){if(data.length<=0)return result;if(n>=data.length)return result;result=data.slice(n,data.length);//平滑处理
11084
- for(var _i66=0;_i66<n;++_i66){result.push(null);}}else//n 为数组的情况
11085
- {var dataCount=data.length;for(var _i67=0;_i67<data.length;++_i67){result[_i67]=null;if(_i67>=n.length)continue;var value=n[_i67];if(value>=0&&value+_i67<dataCount)result[_i67]=data[_i67+value];}}return result;};//求最大值.
11098
+ for(var _i71=0;_i71<n;++_i71){result.push(null);}}else//n 为数组的情况
11099
+ {var dataCount=data.length;for(var _i72=0;_i72<data.length;++_i72){result[_i72]=null;if(_i72>=n.length)continue;var value=n[_i72];if(value>=0&&value+_i72<dataCount)result[_i72]=data[_i72+value];}}return result;};//求最大值.
11086
11100
  //用法:MAX(A,B,C,D ..... ) 返回A,B,C,D ..... 中的较大值
11087
11101
  //例如: MAX(CLOSE-OPEN,0)表示若收盘价大于开盘价返回它们的差值,否则返回0
11088
11102
  this.MAX=function(args,node){if(args.length==0)this.ThrowUnexpectedNode(node,'MAX() Error: 参数个数不能为0');if(args.length==1)return args[0];var aryData=[],aryNumber=[];for(var i in args){var item=args[i];if(IFrameSplitOperator.IsNumber(item))aryNumber.push(item);else if(Array.isArray(item))aryData.push(item);}var maxNumber=null;if(aryNumber.length>0){maxNumber=aryNumber[0];for(var i=1;i<aryNumber.length;++i){maxNumber=Math.max(maxNumber,aryNumber[i]);}}var maxAryData=null;if(aryData.length>0){maxAryData=aryData[0].slice(0);for(var i=1;i<aryData.length;++i){var dataItem=aryData[i];for(var j in dataItem){var maxItem=maxAryData[j];var item=dataItem[j];if(!IFrameSplitOperator.IsNumber(maxItem))continue;if(!IFrameSplitOperator.IsNumber(item)){maxAryData[j]=null;continue;}maxAryData[j]=Math.max(maxItem,item);}}}if(maxAryData==null&&maxNumber!=null)return maxNumber;if(maxAryData&&maxNumber==null)return maxAryData;for(var i in maxAryData){if(!IFrameSplitOperator.IsNumber(maxAryData[i]))continue;maxAryData[i]=Math.max(maxAryData[i],maxNumber);}return maxAryData;};//求最小值.
11089
11103
  //用法:MIN(A,B, C, D .....)返回A,B, C ,D ......中的较小值
11090
11104
  //例如:MIN(CLOSE,OPEN)返回开盘价和收盘价中的较小值
11091
11105
  this.MIN=function(args,node){if(args.length==0)this.ThrowUnexpectedNode(node,'MIN() Error: 参数个数不能为0');if(args.length==1)return args[0];var aryData=[],aryNumber=[];for(var i in args){var item=args[i];if(IFrameSplitOperator.IsNumber(item))aryNumber.push(item);else if(Array.isArray(item))aryData.push(item);}var minNumber=null;if(aryNumber.length>0){minNumber=aryNumber[0];for(var i=1;i<aryNumber.length;++i){minNumber=Math.min(minNumber,aryNumber[i]);}}var minAryData=null;if(aryData.length>0){minAryData=aryData[0].slice(0);for(var i=1;i<aryData.length;++i){var dataItem=aryData[i];for(var j in dataItem){var minItem=minAryData[j];var item=dataItem[j];if(!IFrameSplitOperator.IsNumber(minItem))continue;if(!IFrameSplitOperator.IsNumber(item)){minAryData[j]=null;continue;}minAryData[j]=Math.min(minItem,item);}}}if(minAryData==null&&minNumber!=null)return minNumber;if(minAryData&&minNumber==null)return minAryData;for(var i in minAryData){if(!IFrameSplitOperator.IsNumber(minAryData[i]))continue;minAryData[i]=Math.min(minAryData[i],minNumber);}return minAryData;};//取正数
11092
- this.ABS=function(data){var result=[];for(var _i68 in data){result[_i68]=null;if(!isNaN(data[_i68]))result[_i68]=Math.abs(data[_i68]);}return result;};this.MA=function(data,dayCount){var result=[];if(dayCount<=0)return result;if(!Array.isArray(dayCount)){dayCount=parseInt(dayCount);//转整形
11106
+ this.ABS=function(data){var result=[];for(var _i73 in data){result[_i73]=null;if(!isNaN(data[_i73]))result[_i73]=Math.abs(data[_i73]);}return result;};this.MA=function(data,dayCount){var result=[];if(dayCount<=0)return result;if(!Array.isArray(dayCount)){dayCount=parseInt(dayCount);//转整形
11093
11107
  if(dayCount<=0)dayCount=1;if(!data||!data.length)return result;for(var i=0;i<data.length;++i){result[i]=null;if(this.IsNumber(data[i]))break;}var data=data.slice(0);//复制一份数据出来
11094
11108
  for(var days=0;i<data.length;++i,++days){if(days<dayCount-1){result[i]=null;continue;}var preValue=data[i-(dayCount-1)];var _sum=0;for(var _j=dayCount-1;_j>=0;--_j){var value=data[i-_j];if(!this.IsNumber(value)){value=preValue;//空数据就取上一个数据
11095
11109
  data[i-_j]=value;}else{preValue=value;}_sum+=value;}result[i]=_sum/dayCount;}}else{for(var i=0;i<data.length;++i){result[i]=null;if(i>=dayCount.length)continue;var sumCount=dayCount[i];if(!this.IsNumber(sumCount))continue;if(sumCount<=0)continue;var sum=0;var count=0;for(var j=i,k=0;j>=0&&k<sumCount;--j,++k){sum+=data[j];++count;}if(count>0)result[i]=sum/count;}}return result;};//指数平均数指标 EMA(close,10)
@@ -11215,14 +11229,14 @@ this.MULAR=function(data,n){var result=[];if(!Array.isArray(n)){if(data.length<n
11215
11229
  求总的周期数。
11216
11230
  用法: BARSCOUNT(X) 第一个有效数据到当前的天数。
11217
11231
  例如: BARSCOUNT(CLOSE) 对于日线数据取得上市以来总交易日数,对于分笔成交取得当日成交笔数,对于1分钟线取得当日交易分钟数。
11218
- */this.BARSCOUNT=function(data){var result=[];var days=null;for(var _i69 in data){result[_i69]=0;if(days==null){if(!this.IsNumber(data[_i69]))continue;days=0;}result[_i69]=days;++days;}return result;};//DEVSQ 数据偏差平方和
11232
+ */this.BARSCOUNT=function(data){var result=[];var days=null;for(var _i74 in data){result[_i74]=0;if(days==null){if(!this.IsNumber(data[_i74]))continue;days=0;}result[_i74]=days;++days;}return result;};//DEVSQ 数据偏差平方和
11219
11233
  //DEVSQ(X,N)  返回数据偏差平方和。
11220
11234
  this.DEVSQ=function(data,n){if(this.IsNumber(data)&&this.IsNumber(n))return 0;var result=[];if(Array.isArray(data)){var num=null;if(Array.isArray(n))//取最后一个有效数
11221
11235
  {for(var i=n.length-1;i>=0;--i){if(this.IsNumber(n[i])){num=parseInt(n[i]);break;}}}else{num=parseInt(n);}if(!this.IsNumber(num))return result;var datanum=data.length;var i=0,j=0,k=0;var E=0,DEV=0;for(i=0;i<datanum&&!this.IsNumber(data[i]);++i){result[i]=null;}if(num<1||i+num>datanum)return result;for(E=0;i<datanum&&j<num;++i,++j){E+=data[i]/num;}if(j==num){DEV=0;for(i--;k<num;k++){DEV+=(data[i-k]-E)*(data[i-k]-E);}result[i]=DEV;i++;}for(;i<datanum;++i){E+=(data[i]-data[i-num])/num;for(DEV=0,k=0;k<num;++k){DEV+=(data[i-k]-E)*(data[i-k]-E);}result[i]=DEV;}}return result;};//NOT 取反
11222
11236
  //求逻辑非。
11223
11237
  //用法: NOT(X) 返回非X,即当X=0时返回1,否则返回0。
11224
11238
  //例如: NOT(ISUP) 表示平盘或收阴。
11225
- this.NOT=function(data){var isNumber=typeof data=='number';if(isNumber)return data?0:1;var result=[];for(var _i70 in data){result[_i70]=null;if(this.IsNumber(data[_i70]))result[_i70]=data[_i70]?0:1;}return result;};//FORCAST 线性回归预测值
11239
+ this.NOT=function(data){var isNumber=typeof data=='number';if(isNumber)return data?0:1;var result=[];for(var _i75 in data){result[_i75]=null;if(this.IsNumber(data[_i75]))result[_i75]=data[_i75]?0:1;}return result;};//FORCAST 线性回归预测值
11226
11240
  //FORCAST(X,N)  返回线性回归预测值。
11227
11241
  this.FORCAST=function(data,n){var result=[];if(typeof n!='number')n=parseInt(n);//字符串的转成数值型
11228
11242
  var num=n;var datanum=data.length;if(num<1||num>=datanum)return result;var Ex=0,Ey=0,Sxy=0,Sxx=0,Const,Slope;var i,j,x;for(j=0;j<datanum&&!this.IsNumber(data[j]);++j){result[j]=null;}for(i=j+num-1;i<datanum;++i){Ex=Ey=Sxy=Sxx=0;for(j=0,x=num;j<num&&j<=i;++j,--x){Ex+=x;Ey+=data[i-j];}Ex/=num;Ey/=num;for(j=0,x=num;j<num&&j<=i;++j,--x){Sxy+=(x-Ex)*(data[i-j]-Ey);Sxx+=(x-Ex)*(x-Ex);}Slope=Sxy/Sxx;Const=Ey-Ex*Slope;result[i]=Slope*num+Const;}return result;};//TSMA(X,N):求X在N个周期内的时间序列三角移动平均
@@ -11239,9 +11253,9 @@ this.TSMA=function(data,n){var result=[];if(typeof n!='number')n=parseInt(n);//
11239
11253
  var num=n;var datanum=data.length;if(num<1||num>=datanum)return result;var Ex=0,Ey=0,Sxy=0,Sxx=0,Const,Slope;var i,j,x;for(j=0;j<datanum&&!this.IsNumber(data[j]);++j){result[j]=null;}for(i=j+num-1;i<datanum;++i){Ex=Ey=Sxy=Sxx=0;for(j=0,x=num;j<num&&j<=i;++j,--x){Ex+=x;Ey+=data[i-j];}Ex/=num;Ey/=num;for(j=0,x=num;j<num&&j<=i;++j,--x){Sxy+=(x-Ex)*(data[i-j]-Ey);Sxx+=(x-Ex)*(x-Ex);}Slope=Sxy/Sxx;Const=Ey-Ex*Slope;result[i]=Slope*num+Const+Slope;}return result;};//SLOPE 线性回归斜率
11240
11254
  //SLOPE(X,N)  返回线性回归斜率。
11241
11255
  this.SLOPE=function(data,n){var result=[];if(typeof n!='number')n=parseInt(n);//字符串的转成数值型
11242
- if(n<1||!data.length)return result;if(n>=data.length)return result;var start=0;for(var _i71=0;_i71<data.length;++_i71,++start){result[_i71]=null;if(this.IsNumber(data[_i71]))break;}var x=void 0,y=void 0,xy=void 0,xx=void 0;for(var _i72=start+n-1;_i72<data.length;++_i72){result[_i72]=null;x=y=xy=xx=0;for(var j=0;j<n&&j<=_i72;++j){x+=_i72-j;//数据索引相加
11243
- y+=data[_i72-j];//数据相加
11244
- }x=x/n;y=y/n;for(j=0;j<n&&j<=_i72;++j){xy+=(_i72-j-x)*(data[_i72-j]-y);xx+=(_i72-j-x)*(_i72-j-x);}if(xx)result[_i72]=xy/xx;else if(_i72)result[_i72]=result[_i72-1];}return result;};//STDP 总体标准差
11256
+ if(n<1||!data.length)return result;if(n>=data.length)return result;var start=0;for(var _i76=0;_i76<data.length;++_i76,++start){result[_i76]=null;if(this.IsNumber(data[_i76]))break;}var x=void 0,y=void 0,xy=void 0,xx=void 0;for(var _i77=start+n-1;_i77<data.length;++_i77){result[_i77]=null;x=y=xy=xx=0;for(var j=0;j<n&&j<=_i77;++j){x+=_i77-j;//数据索引相加
11257
+ y+=data[_i77-j];//数据相加
11258
+ }x=x/n;y=y/n;for(j=0;j<n&&j<=_i77;++j){xy+=(_i77-j-x)*(data[_i77-j]-y);xx+=(_i77-j-x)*(_i77-j-x);}if(xx)result[_i77]=xy/xx;else if(_i77)result[_i77]=result[_i77-1];}return result;};//STDP 总体标准差
11245
11259
  //STDP(X,N)  返回总体标准差。
11246
11260
  this.STDP=function(data,n){var result=[];if(!Array.isArray(data))return result;var nStart=this.GetFirstVaildIndex(data);if(!IFrameSplitOperator.IsNumber(n))return result;if(nStart+n>data.length||n<1)return result;var i=nStart,j=0,bFirst=true,dTotal=0,dAvg=0;for(i+=n-1;i<data.length;++i){dTotal=0;if(bFirst){bFirst=false;for(j=i-n+1;j<=i;++j){dAvg+=data[j];}dAvg/=n;}else{dAvg+=(data[i]-data[i-n])/n;}for(j=i-n+1;j<=i;++j){dTotal+=(data[j]-dAvg)*(data[j]-dAvg);}result[i]=Math.sqrt(dTotal/n);}return result;};//VAR 估算样本方差
11247
11261
  //VAR(X,N)  返回估算样本方差。
@@ -11249,13 +11263,13 @@ this.VAR=function(data,n){if(this.IsNumber(data)&&this.IsNumber(n))return 0;var
11249
11263
  //VARP(X,N)  返回总体样本方差 。
11250
11264
  this.VARP=function(data,n){var result=[];if(typeof n!='number')n=parseInt(n);//字符串的转成数值型
11251
11265
  var num=n;var datanum=data.length;if(num<1||num>=datanum)return result;var i=0,j=0;for(i=0;i<datanum&&!this.IsNumber(data[i]);++i){result[i]=null;}var SigmaPowerX=0,SigmaX=0;for(;i<datanum&&j<num;++i,++j){SigmaPowerX+=data[i]*data[i];SigmaX+=data[i];}if(j==num)result[i-1]=(num*SigmaPowerX-SigmaX*SigmaX)/(num*num);for(;i<datanum;++i){SigmaPowerX+=data[i]*data[i]-data[i-num]*data[i-num];SigmaX+=data[i]-data[i-num];result[i]=(num*SigmaPowerX-SigmaX*SigmaX)/(num*num);}return result;};//RANGE(A,B,C)表示A>B AND A<C;
11252
- this.RANGE=function(data,range,range2){var isNumber=typeof data=='number';var isNumber2=typeof range=='number';var isNumber3=typeof range2=='number';if(isNumber&&isNumber2&&isNumber3){if(data>Math.min(range,range2)&&data<Math.max(range,range2))return 1;else return 0;}var result=[];var value=void 0,rangeValue=void 0,rangValue2=void 0;for(var _i73=0;_i73<data.length;++_i73){result[_i73]=null;value=data[_i73];if(!this.IsNumber(value))continue;if(!isNumber2){if(_i73>=range.length)continue;rangeValue=range[_i73];}else{rangeValue=range;}if(!this.IsNumber(rangeValue))continue;if(!isNumber3){if(_i73>=range2.length)continue;rangeValue2=range2[_i73];}else{rangeValue2=range2;}if(!this.IsNumber(rangeValue2))continue;result[_i73]=value>Math.min(rangeValue,rangeValue2)&&value<Math.max(rangeValue,rangeValue2)?1:0;}return result;};/*
11266
+ this.RANGE=function(data,range,range2){var isNumber=typeof data=='number';var isNumber2=typeof range=='number';var isNumber3=typeof range2=='number';if(isNumber&&isNumber2&&isNumber3){if(data>Math.min(range,range2)&&data<Math.max(range,range2))return 1;else return 0;}var result=[];var value=void 0,rangeValue=void 0,rangValue2=void 0;for(var _i78=0;_i78<data.length;++_i78){result[_i78]=null;value=data[_i78];if(!this.IsNumber(value))continue;if(!isNumber2){if(_i78>=range.length)continue;rangeValue=range[_i78];}else{rangeValue=range;}if(!this.IsNumber(rangeValue))continue;if(!isNumber3){if(_i78>=range2.length)continue;rangeValue2=range2[_i78];}else{rangeValue2=range2;}if(!this.IsNumber(rangeValue2))continue;result[_i78]=value>Math.min(rangeValue,rangeValue2)&&value<Math.max(rangeValue,rangeValue2)?1:0;}return result;};/*
11253
11267
  是否存在.
11254
11268
  例如: EXIST(CLOSE>OPEN,10)
11255
11269
  表示10日内存在着阳线
11256
11270
  */this.EXIST=function(data,n){if(typeof data=='number')return 0;if(Array.isArray(n)){var result=[];if(data.length<=0)return result;for(var i in data)//初始化
11257
11271
  {result[i]=0;}for(var i=0;i<n.length&&i<data.length;++i){var period=n[i];if(!this.IsNumber(period))continue;period=parseInt(period);if(period<=0)continue;if(period>i+1)period=i+1;var bExist=false;var index=0,value=0;for(var j=0;j<period;++j){index=i-(period-j-1);value=data[i];if(this.IsNumber(value)&&value>0){bExist=true;break;}}result[i]=bExist?1:0;}return result;}else{n=parseInt(n);var latestID=null;//最新满足条件的数据索引
11258
- var result=[];var value;for(var _i74=0;_i74<data.length;++_i74){result[_i74]=null;value=data[_i74];if(this.IsNumber(value)&&value>0)latestID=_i74;if(latestID!=null&&_i74-latestID<n)result[_i74]=1;else result[_i74]=0;}return result;}};/*
11272
+ var result=[];var value;for(var _i79=0;_i79<data.length;++_i79){result[_i79]=null;value=data[_i79];if(this.IsNumber(value)&&value>0)latestID=_i79;if(latestID!=null&&_i79-latestID<n)result[_i79]=1;else result[_i79]=0;}return result;}};/*
11259
11273
  过滤连续出现的信号.
11260
11274
  用法:TFILTER(买入条件,卖出条件,N);过滤掉买入(卖出)信号发出后,下一个反向信号发出前的所有买入(卖出)信号.
11261
11275
 
@@ -11276,16 +11290,16 @@ var result=[];var value;for(var _i74=0;_i74<data.length;++_i74){result[_i74]=nul
11276
11290
  用法:FILTER(X,N):X满足条件后,将其后N周期内的数据置为0,N为常量.
11277
11291
  例如:
11278
11292
  FILTER(CLOSE>OPEN,5)查找阳线,5天内再次出现的阳线不被记录在内
11279
- */this.FILTER=function(data,n){var result=[];for(var _i75=0,_j2=0;_i75<data.length;++_i75){if(data[_i75]){result[_i75]=1;for(_j2=0;_j2<n&&_j2+_i75+1<data.length;++_j2){result[_j2+_i75+1]=0;}_i75+=n;}else{result[_i75]=0;}}return result;};//反向过滤连续出现的信号.
11293
+ */this.FILTER=function(data,n){var result=[];for(var _i80=0,_j2=0;_i80<data.length;++_i80){if(data[_i80]){result[_i80]=1;for(_j2=0;_j2<n&&_j2+_i80+1<data.length;++_j2){result[_j2+_i80+1]=0;}_i80+=n;}else{result[_i80]=0;}}return result;};//反向过滤连续出现的信号.
11280
11294
  //用法:FILTERX(X,N):X满足条件后,将其前N周期内的数据置为0,N为常量.
11281
11295
  //例如:FILTERX(CLOSE>OPEN,5)查找阳线,前5天内出现过的阳线不被记录在内
11282
11296
  this.FILTERX=function(data,n,node){var result=[];if(IFrameSplitOperator.IsNumber(n)){for(var i=data.length-1,j=0;i>=0;--i){if(data[i]){result[i]=1;for(j=0;j<n&&i-j-1>=0;++j){result[i-j-1]=0;}i-=n;}else{result[i]=0;}}}else if(Array.isArray(n)){for(var i=data.length-1,j=0;i>=0;--i){if(data[i]){result[i]=1;if(!IFrameSplitOperator.IsNumber(n[i]))continue;var period=parseInt(n[i]);if(period<=0)continue;for(j=0;j<period&&i-j-1>=0;++j){result[i-j-1]=0;}i-=period;}else{result[i]=0;}}}return result;};//上一次条件成立到当前的周期数.
11283
11297
  //用法:BARSLAST(X):上一次X不为0到现在的周期数
11284
11298
  //例如:BARSLAST(CLOSE/REF(CLOSE,1)>=1.1)表示上一个涨停板到当前的周期数
11285
- this.BARSLAST=function(data){var result=[];if(!data)return result;var day=null;for(var _i76=0;_i76<data.length;++_i76){result[_i76]=null;if(data[_i76]>0)day=0;else if(day!=null)++day;if(day!=null)result[_i76]=day;}return result;};//倒数第N次成立时距今的周期数.
11299
+ this.BARSLAST=function(data){var result=[];if(!data)return result;var day=null;for(var _i81=0;_i81<data.length;++_i81){result[_i81]=null;if(data[_i81]>0)day=0;else if(day!=null)++day;if(day!=null)result[_i81]=day;}return result;};//倒数第N次成立时距今的周期数.
11286
11300
  //用法:BARSLASTS(X,N):X倒数第N满足到现在的周期数,N支持变量
11287
11301
  this.BARSLASTS=function(data,n,node){var result=[];if(!data)return result;if(n<=0)n=data.length;var day=null;var SingleValue=0;//单词数
11288
- var periodCount=0;for(var _i77=0;_i77<data.length;++_i77){result[_i77]=null;var value=data[_i77];if(value>0){if(day==null){day=0;++periodCount;}else{++periodCount;if(periodCount>n)day-=SingleValue;}SingleValue=0;}else{if(day!=null){++day;++SingleValue;}}if(day!=null)result[_i77]=day;}return result;};/*
11302
+ var periodCount=0;for(var _i82=0;_i82<data.length;++_i82){result[_i82]=null;var value=data[_i82];if(value>0){if(day==null){day=0;++periodCount;}else{++periodCount;if(periodCount>n)day-=SingleValue;}SingleValue=0;}else{if(day!=null){++day;++SingleValue;}}if(day!=null)result[_i82]=day;}return result;};/*
11289
11303
  N周期内第一个条件成立到当前的周期数.
11290
11304
  用法:
11291
11305
  BARSSINCEN(X,N):N周期内第一次X不为0到现在的天数,N为常量
@@ -11297,7 +11311,7 @@ var periodCount=0;for(var _i77=0;_i77<data.length;++_i77){result[_i77]=null;var
11297
11311
  BARSSINCE(X):第一次X不为0到现在的天数
11298
11312
  例如:
11299
11313
  BARSSINCE(HIGH>10)表示股价超过10元时到当前的周期数
11300
- */this.BARSSINCE=function(data){var result=[];var day=null;for(var _i78=0;_i78<data.length;++_i78){result[_i78]=null;if(day==null){if(data[_i78])day=0;}else{++day;}if(day)result[_i78]=day;}return result;};/*三角函数调用 func 三角函数
11314
+ */this.BARSSINCE=function(data){var result=[];var day=null;for(var _i83=0;_i83<data.length;++_i83){result[_i83]=null;if(day==null){if(data[_i83])day=0;}else{++day;}if(day)result[_i83]=day;}return result;};/*三角函数调用 func 三角函数
11301
11315
  反正切值. 用法: ATAN(X)返回X的反正切值
11302
11316
  余弦值. 用法: COS(X)返回X的余弦值
11303
11317
  正弦值. 用法: SIN(X)返回X的正弦值
@@ -11307,9 +11321,9 @@ var periodCount=0;for(var _i77=0;_i77<data.length;++_i77){result[_i77]=null;var
11307
11321
  求10为底的对数. 用法: LOG(X)取得X的对数 例如: LOG(100)等于2
11308
11322
  指数. 用法: EXP(X)为e的X次幂 例如: EXP(CLOSE)返回e的CLOSE次幂
11309
11323
  开平方. 用法: SQRT(X)为X的平方根 例如: SQRT(CLOSE)收盘价的平方根
11310
- */this.Trigonometric=function(data,func){if(!Array.isArray(data)){if(this.IsNumber(data))return func(data);return null;}else{var result=[];for(var _i79 in data){var item=data[_i79];if(this.IsNumber(item))result[_i79]=func(item);else result[_i79]=null;}return result;}};//反正弦值. 用法: ASIN(X)返回X的反正弦值
11311
- this.ASIN=function(data){if(!Array.isArray(data)){if(this.IsNumber(data))return Math.acos(data);return null;}else{var result=[];for(var _i80 in data){var item=data[_i80];result[_i80]=null;if(this.IsNumber(item)){if(item>=-1&&item<=1){result[_i80]=Math.asin(item);}else if(_i80-1>=0){var preItem=result[_i80-1];if(this.IsNumber(preItem))result[_i80]=preItem;}}}return result;}};//反余弦值. 用法: ACOS(X)返回X的反余弦值
11312
- this.ACOS=function(data){if(!Array.isArray(data)){if(this.IsNumber(data))return Math.acos(data);return null;}else{var result=[];for(var _i81 in data){var item=data[_i81];result[_i81]=null;if(this.IsNumber(item)){if(item>=-1&&item<=1){result[_i81]=Math.acos(item);}else if(_i81-1>=0){var preItem=result[_i81-1];if(this.IsNumber(preItem))result[_i81]=preItem;}}}return result;}};/*
11324
+ */this.Trigonometric=function(data,func){if(!Array.isArray(data)){if(this.IsNumber(data))return func(data);return null;}else{var result=[];for(var _i84 in data){var item=data[_i84];if(this.IsNumber(item))result[_i84]=func(item);else result[_i84]=null;}return result;}};//反正弦值. 用法: ASIN(X)返回X的反正弦值
11325
+ this.ASIN=function(data){if(!Array.isArray(data)){if(this.IsNumber(data))return Math.acos(data);return null;}else{var result=[];for(var _i85 in data){var item=data[_i85];result[_i85]=null;if(this.IsNumber(item)){if(item>=-1&&item<=1){result[_i85]=Math.asin(item);}else if(_i85-1>=0){var preItem=result[_i85-1];if(this.IsNumber(preItem))result[_i85]=preItem;}}}return result;}};//反余弦值. 用法: ACOS(X)返回X的反余弦值
11326
+ this.ACOS=function(data){if(!Array.isArray(data)){if(this.IsNumber(data))return Math.acos(data);return null;}else{var result=[];for(var _i86 in data){var item=data[_i86];result[_i86]=null;if(this.IsNumber(item)){if(item>=-1&&item<=1){result[_i86]=Math.acos(item);}else if(_i86-1>=0){var preItem=result[_i86-1];if(this.IsNumber(preItem))result[_i86]=preItem;}}}return result;}};/*
11313
11327
  LAST(X,A,B):持续存在.
11314
11328
  用法:
11315
11329
  LAST(CLOSE>OPEN,10,5)
@@ -11512,42 +11526,42 @@ for(var i=startDay,j=0;i<kData.length;++i){var start=i-startDay;if(start<0)conti
11512
11526
  */this.LWINNER=function(n,data,node){var startDay=n;if(startDay<=0)this.ThrowUnexpectedNode(node,'LWINNER() 第1个参数错误');var result=[];var kData=this.SymbolData.Data.Data;if(!kData||kData.length<=0)return result;var aryCapital=this.SymbolData.GetStockCacheData({FunctionName:"FINANCE",Args:[7],ArgCount:1,Node:node});//流通股本
11513
11527
  var dTotalVol=0,dVol=0;for(var i=startDay-1,j=0,k=0;i<kData.length;++i){var index=i-startDay+1;var dMaxPrice=kData[index].High,dMinPrice=kData[index].Low;for(var j=0;j<startDay;++j){var item=kData[index+j];dMinPrice=Math.min(dMinPrice,item.Low);dMaxPrice=Math.max(dMaxPrice,item.High);}if(dMinPrice>5000||dMinPrice<0||dMaxPrice>5000||dMinPrice<0)this.ThrowUnexpectedNode(node,'LWINNER() 历史K线最大最小值错误, 超出(0,5000)范围');var lMaxPrice=parseInt(dMaxPrice*100+1);var lMinPrice=parseInt(dMinPrice*100-1);var lLow=0,lHigh=0,lClose=0;dMaxPrice=lMaxPrice/100.0;dMinPrice=lMinPrice/100.0;var lSpeed=lMaxPrice-lMinPrice+1;if(lSpeed<1)return result;var aryVolPrice=[],aryPerVol=[];for(var j=0;j<lSpeed;++j){aryVolPrice[j]=0;aryPerVol[j]=0;}for(j=0;j<startDay;++j){var capital=aryCapital[index+j];if(capital<1)continue;var kItem=kData[index+j];var dHSL=kItem.Vol/capital;for(k=0;k<lSpeed;k++){aryVolPrice[k]*=1-dHSL;}lLow=parseInt(Math.min(lMaxPrice,Math.max(lMinPrice,kItem.Low*100)))-lMinPrice;lHigh=parseInt(Math.min(lMaxPrice,Math.max(lMinPrice,kItem.High*100)))-lMinPrice;lClose=parseInt(Math.min(lMaxPrice,Math.max(lMinPrice,kItem.Close*100)))-lMinPrice;for(var k=0;k<lSpeed;++k){aryPerVol[k]=0;}var lHalf=parseInt((lLow+lHigh+2*lClose)/4);if(lHalf==lHigh||lHalf==lLow){aryPerVol[lHalf]+=kItem.Vol;}else{var dVH=kItem.Vol/(lHalf-lLow);for(var _k=lLow;_k<lHalf;++_k){aryPerVol[_k]+=(_k-lLow)*(dVH/(lHalf-lLow));}for(var _k2;_k2<=lHigh;++_k2){aryPerVol[_k2]+=(_k2-lHigh)*(dVH/(lHalf-lHigh));}}dTotalVol=0;for(var k=lLow;k<=lHigh;k++){aryVolPrice[k]+=aryPerVol[k];}}for(var j=0;j<lSpeed;j++){dTotalVol+=aryVolPrice[j];}if(Array.isArray(data))lHigh=parseInt(Math.min(data[i]*100-lMinPrice,lSpeed-1));else lHigh=parseInt(Math.min(data*100-lMinPrice,lSpeed-1));dVol=0;for(k=0;k<=lHigh;k++){dVol+=aryVolPrice[k];}if(dTotalVol>0&&dVol>0&&dVol<=dTotalVol)result[i]=dVol/dTotalVol;else if(i-1>=0)result[i]=result[i-1];}return result;};this.PWINNER=function(n,data,node){var result=[];return result;};//计算截至到某一天的历史所有筹码
11514
11528
  this.CalculateChip=function(index,exchangeData,hisData,dRate){var result={Min:null,Max:null,Data:[]};var seed=1;//筹码历史衰减换手系数
11515
- var max=null,min=null;for(var _i82=index;_i82>=0;--_i82){var _item9={};//Vol:量 High:最高 Low:最低
11516
- var kData=hisData[_i82];if(_i82==index)_item9.Vol=kData.Vol*exchangeData[_i82];else _item9.Vol=kData.Vol*seed;_item9.Date=kData.Date;_item9.High=kData.High;_item9.Low=kData.Low;if(max==null)max=_item9.High;else if(max<_item9.High)max=_item9.High;if(min==null)min=_item9.Low;else if(min<_item9.Low)min=_item9.Low;result.Data[_i82]=_item9;seed*=1-exchangeData[_i82]/100*dRate;//换手率累乘
11529
+ var max=null,min=null;for(var _i87=index;_i87>=0;--_i87){var _item9={};//Vol:量 High:最高 Low:最低
11530
+ var kData=hisData[_i87];if(_i87==index)_item9.Vol=kData.Vol*exchangeData[_i87];else _item9.Vol=kData.Vol*seed;_item9.Date=kData.Date;_item9.High=kData.High;_item9.Low=kData.Low;if(max==null)max=_item9.High;else if(max<_item9.High)max=_item9.High;if(min==null)min=_item9.Low;else if(min<_item9.Low)min=_item9.Low;result.Data[_i87]=_item9;seed*=1-exchangeData[_i87]/100*dRate;//换手率累乘
11517
11531
  }result.Max=max;result.Min=min;return result;};/*
11518
11532
  返回是否连涨周期数.
11519
11533
  用法:
11520
11534
  UPNDAY(CLOSE,M)
11521
11535
  表示连涨M个周期,M为常量
11522
- */this.UPNDAY=function(data,n){var result=[];if(n<1)return result;if(data==null||n>data.length)return result;var days=0;for(var _i83=0;_i83<data.length;++_i83){result[_i83]=0;if(_i83-1<0)continue;if(!this.IsNumber(data[_i83])||!this.IsNumber(data[_i83-1]))//无效数都不算连涨
11523
- {days=0;continue;}if(data[_i83]>data[_i83-1])++days;else days=0;if(days==n){result[_i83]=1;--days;}}return result;};/*
11536
+ */this.UPNDAY=function(data,n){var result=[];if(n<1)return result;if(data==null||n>data.length)return result;var days=0;for(var _i88=0;_i88<data.length;++_i88){result[_i88]=0;if(_i88-1<0)continue;if(!this.IsNumber(data[_i88])||!this.IsNumber(data[_i88-1]))//无效数都不算连涨
11537
+ {days=0;continue;}if(data[_i88]>data[_i88-1])++days;else days=0;if(days==n){result[_i88]=1;--days;}}return result;};/*
11524
11538
  返回是否连跌周期.
11525
11539
  用法:
11526
11540
  DOWNNDAY(CLOSE,M)
11527
11541
  表示连跌M个周期,M为常量
11528
- */this.DOWNNDAY=function(data,n){var result=[];if(n<1)return result;if(data==null||n>data.length)return result;var days=0;for(var _i84=0;_i84<data.length;++_i84){result[_i84]=0;if(_i84-1<0)continue;if(!this.IsNumber(data[_i84])||!this.IsNumber(data[_i84-1]))//无效数都不算连涨
11529
- {days=0;continue;}if(data[_i84]<data[_i84-1])++days;else days=0;if(days==n){result[_i84]=1;--days;}}return result;};/*
11542
+ */this.DOWNNDAY=function(data,n){var result=[];if(n<1)return result;if(data==null||n>data.length)return result;var days=0;for(var _i89=0;_i89<data.length;++_i89){result[_i89]=0;if(_i89-1<0)continue;if(!this.IsNumber(data[_i89])||!this.IsNumber(data[_i89-1]))//无效数都不算连涨
11543
+ {days=0;continue;}if(data[_i89]<data[_i89-1])++days;else days=0;if(days==n){result[_i89]=1;--days;}}return result;};/*
11530
11544
  返回是否持续存在X>Y
11531
11545
  用法:
11532
11546
  NDAY(CLOSE,OPEN,3)
11533
11547
  表示连续3日收阳线
11534
- */this.NDAY=function(data,data2,n){var result=[];if(n<1)return result;if(!Array.isArray(data)&&!Array.isArray(data2))return result;if(data==null||data2==null)return result;if(Array.isArray(data)&&Array.isArray(data2)){if(n>=data.length||n>=data2.length)return result;var count=Math.max(data.length,data2.length);var days=0;for(var _i85=0;_i85<count;++_i85){result[_i85]=0;if(_i85>=data.length||_i85>=data2.length)continue;if(!this.IsNumber(data[_i85])||!this.IsNumber(data2[_i85])){days=0;continue;}if(data[_i85]>data2[_i85])++days;else days=0;if(days==n){result[_i85]=1;--days;}}}else if(Array.isArray(data)&&!Array.isArray(data2)){if(n>=data.length||!this.IsNumber(data2))return;var days=0;for(var _i86 in data){result[_i86]=0;if(!this.IsNumber(data[_i86])){days=0;continue;}if(data[_i86]>data2)++days;else days=0;if(days==n){result[_i86]=1;--days;}}}else if(!Array.isArray(data)&&Array.isArray(data2)){if(n>=data2.length||!this.IsNumber(data))return;var days=0;for(var _i87 in data2){result[_i87]=0;if(!this.IsNumber(data2[_i87])){days=0;continue;}if(data>data2[_i87])++days;else days=0;if(days==n){result[_i87]=1;--days;}}}return result;};/*
11548
+ */this.NDAY=function(data,data2,n){var result=[];if(n<1)return result;if(!Array.isArray(data)&&!Array.isArray(data2))return result;if(data==null||data2==null)return result;if(Array.isArray(data)&&Array.isArray(data2)){if(n>=data.length||n>=data2.length)return result;var count=Math.max(data.length,data2.length);var days=0;for(var _i90=0;_i90<count;++_i90){result[_i90]=0;if(_i90>=data.length||_i90>=data2.length)continue;if(!this.IsNumber(data[_i90])||!this.IsNumber(data2[_i90])){days=0;continue;}if(data[_i90]>data2[_i90])++days;else days=0;if(days==n){result[_i90]=1;--days;}}}else if(Array.isArray(data)&&!Array.isArray(data2)){if(n>=data.length||!this.IsNumber(data2))return;var days=0;for(var _i91 in data){result[_i91]=0;if(!this.IsNumber(data[_i91])){days=0;continue;}if(data[_i91]>data2)++days;else days=0;if(days==n){result[_i91]=1;--days;}}}else if(!Array.isArray(data)&&Array.isArray(data2)){if(n>=data2.length||!this.IsNumber(data))return;var days=0;for(var _i92 in data2){result[_i92]=0;if(!this.IsNumber(data2[_i92])){days=0;continue;}if(data>data2[_i92])++days;else days=0;if(days==n){result[_i92]=1;--days;}}}return result;};/*
11535
11549
  两条线维持一定周期后交叉.
11536
11550
  用法:LONGCROSS(A,B,N)表示A在N周期内都小于B,本周期从下方向上穿过B时返回1,否则返回0
11537
- */this.LONGCROSS=function(data,data2,n){var result=[];var count=Math.max(data.length,data2.length);for(var _i88=0;_i88<count;++_i88){result[_i88]=0;if(_i88-1<0)continue;if(_i88>=data.length||_i88>=data2.length)continue;if(!this.IsNumber(data[_i88])||!this.IsNumber(data2[_i88])||!this.IsNumber(data[_i88-1])||!this.IsNumber(data2[_i88-1]))continue;if(data[_i88]>data2[_i88]&&data[_i88-1]<data2[_i88-1])result[_i88]=1;}for(var _i89=0,_j3=0;_i89<count;++_i89){if(!result[_i89])continue;for(_j3=1;_j3<=n&&_i89-_j3>=0;++_j3){if(data[_i89-_j3]>=data2[_i89-_j3]){result[_i89]=0;break;}}}return result;};this.ISVALID=function(data){if(Array.isArray(data)){var result=[];for(var i=0;i<data.length;++i){var item=data[i];if(item)result[i]=1;else result[i]=0;}return result;}else{if(data)return 1;else return 0;}};/*
11551
+ */this.LONGCROSS=function(data,data2,n){var result=[];var count=Math.max(data.length,data2.length);for(var _i93=0;_i93<count;++_i93){result[_i93]=0;if(_i93-1<0)continue;if(_i93>=data.length||_i93>=data2.length)continue;if(!this.IsNumber(data[_i93])||!this.IsNumber(data2[_i93])||!this.IsNumber(data[_i93-1])||!this.IsNumber(data2[_i93-1]))continue;if(data[_i93]>data2[_i93]&&data[_i93-1]<data2[_i93-1])result[_i93]=1;}for(var _i94=0,_j3=0;_i94<count;++_i94){if(!result[_i94])continue;for(_j3=1;_j3<=n&&_i94-_j3>=0;++_j3){if(data[_i94-_j3]>=data2[_i94-_j3]){result[_i94]=0;break;}}}return result;};this.ISVALID=function(data){if(Array.isArray(data)){var result=[];for(var i=0;i<data.length;++i){var item=data[i];if(item)result[i]=1;else result[i]=0;}return result;}else{if(data)return 1;else return 0;}};/*
11538
11552
  EXISTR(X,A,B):是否存在(前几日到前几日间).
11539
11553
  例如: EXISTR(CLOSE>OPEN,10,5)
11540
11554
  表示从前10日内到前5日内存在着阳线
11541
11555
  若A为0,表示从第一天开始,B为0,表示到最后日止
11542
- */this.EXISTR=function(data,n,n2){var result=[];if(!Array.isArray(data))return result;n=parseInt(n);n2=parseInt(n2);if(n<=0)n=data.length;if(n2<=0)n2=1;if(n2>n)return result;var result=[];var value;for(var _i90=0,_j4=0;_i90<data.length;++_i90){result[_i90]=null;if(_i90-n<0||_i90-n2<0)continue;result[_i90]=0;for(_j4=n;_j4>=n2;--_j4){var value=data[_i90-_j4];if(this.IsNumber(value)&&value){result[_i90]=1;break;}}}return result;};/*
11556
+ */this.EXISTR=function(data,n,n2){var result=[];if(!Array.isArray(data))return result;n=parseInt(n);n2=parseInt(n2);if(n<=0)n=data.length;if(n2<=0)n2=1;if(n2>n)return result;var result=[];var value;for(var _i95=0,_j4=0;_i95<data.length;++_i95){result[_i95]=null;if(_i95-n<0||_i95-n2<0)continue;result[_i95]=0;for(_j4=n;_j4>=n2;--_j4){var value=data[_i95-_j4];if(this.IsNumber(value)&&value){result[_i95]=1;break;}}}return result;};/*
11543
11557
  RELATE(X,Y,N) 返回X和Y的N周期的相关系数
11544
11558
  RELATE(X,Y,N)=(∑[(Xi-Avg(X))(Yi-Avg(y))])/N ÷ √((∑(Xi-Avg(X))^2)/N * (∑(Yi-Avg(Y))^2)/N)
11545
11559
  其中 avg(x)表示x的N周期均值: avg(X) = (∑Xi)/N
11546
11560
  √(...)表示开平方
11547
- */this.RELATE=function(data,data2,n){var result=[];if(n<1)n=1;if(!Array.isArray(data)||!Array.isArray(data2))return result;var dataAverage=this.CalculateAverage(data,n);var data2Average=this.CalculateAverage(data2,n);var count=Math.max(data.length,data2.length);for(var _i91=0,_j5=0;_i91<count;++_i91){result[_i91]=null;if(_i91>=data.length||_i91>=data2.length||_i91>=dataAverage.length||_i91>=data2Average.length)continue;var average=dataAverage[_i91];var average2=data2Average[_i91];var total=0,total2=0,total3=0;for(_j5=_i91-n+1;_j5<=_i91;++_j5){total+=(data[_j5]-average)*(data2[_j5]-average2);//∑[(Xi-Avg(X))(Yi-Avg(y))])
11561
+ */this.RELATE=function(data,data2,n){var result=[];if(n<1)n=1;if(!Array.isArray(data)||!Array.isArray(data2))return result;var dataAverage=this.CalculateAverage(data,n);var data2Average=this.CalculateAverage(data2,n);var count=Math.max(data.length,data2.length);for(var _i96=0,_j5=0;_i96<count;++_i96){result[_i96]=null;if(_i96>=data.length||_i96>=data2.length||_i96>=dataAverage.length||_i96>=data2Average.length)continue;var average=dataAverage[_i96];var average2=data2Average[_i96];var total=0,total2=0,total3=0;for(_j5=_i96-n+1;_j5<=_i96;++_j5){total+=(data[_j5]-average)*(data2[_j5]-average2);//∑[(Xi-Avg(X))(Yi-Avg(y))])
11548
11562
  total2+=Math.pow(data[_j5]-average,2);//∑(Xi-Avg(X))^2
11549
11563
  total3+=Math.pow(data2[_j5]-average2,2);//∑(Yi-Avg(Y))^2)
11550
- }result[_i91]=total/n/(Math.sqrt(total2/n)*Math.sqrt(total3/n));}return result;};//计算数组n周期内的均值
11564
+ }result[_i96]=total/n/(Math.sqrt(total2/n)*Math.sqrt(total3/n));}return result;};//计算数组n周期内的均值
11551
11565
  this.CalculateAverage=function(data,n){var result=[];if(n<1)return result;var total=0;for(var i=0;i<data.length;++i)//去掉开始的无效数
11552
11566
  {if(this.IsNumber(data[i]))break;}for(;i<data.length&&i<n;++i)//计算第1个周期的数据
11553
11567
  {result[i]=null;var value=data[i];if(!this.IsNumber(value))continue;total+=value;}result[i-1]=total/n;for(;i<data.length;++i)//计算后面的周期数据
@@ -11555,7 +11569,7 @@ this.CalculateAverage=function(data,n){var result=[];if(n<1)return result;var to
11555
11569
  if(!this.IsNumber(value))value=0;if(!this.IsNumber(preValue))preValue=0;total=total-preValue+value;//当前周期的数据 等于上一个周期数据 去掉上一个周期的第1个数据 加上这个周期的最后1个数据
11556
11570
  result[i]=total/n;}return result;};/*
11557
11571
  COVAR(X,Y,N) 返回X和Y的N周期的协方差
11558
- */this.COVAR=function(data,data2,n){if(this.IsNumber(data)||this.IsNumber(data2))return 0;var result=[];if(n<1)n=1;if(!Array.isArray(data)||!Array.isArray(data2))return result;var dataAverage=this.CalculateAverage(data,n);var data2Average=this.CalculateAverage(data2,n);var count=Math.max(data.length,data2.length);var count=Math.max(data.length,data2.length);for(var _i92=0,_j6=0;_i92<count;++_i92){result[_i92]=null;if(_i92>=data.length||_i92>=data2.length||_i92>=dataAverage.length||_i92>=data2Average.length)continue;var average=dataAverage[_i92];var average2=data2Average[_i92];var total=0;for(_j6=_i92-n+1;_j6<=_i92;++_j6){total+=(data[_j6]-average)*(data2[_j6]-average2);}result[_i92]=total/n;}return result;};/*
11572
+ */this.COVAR=function(data,data2,n){if(this.IsNumber(data)||this.IsNumber(data2))return 0;var result=[];if(n<1)n=1;if(!Array.isArray(data)||!Array.isArray(data2))return result;var dataAverage=this.CalculateAverage(data,n);var data2Average=this.CalculateAverage(data2,n);var count=Math.max(data.length,data2.length);var count=Math.max(data.length,data2.length);for(var _i97=0,_j6=0;_i97<count;++_i97){result[_i97]=null;if(_i97>=data.length||_i97>=data2.length||_i97>=dataAverage.length||_i97>=data2Average.length)continue;var average=dataAverage[_i97];var average2=data2Average[_i97];var total=0;for(_j6=_i97-n+1;_j6<=_i97;++_j6){total+=(data[_j6]-average)*(data2[_j6]-average2);}result[_i97]=total/n;}return result;};/*
11559
11573
  求上一高点到当前的周期数.
11560
11574
  用法:
11561
11575
  HHVBARS(X,N):求N周期内X最高值到当前周期数,N=0表示从第一个有效值开始统计
@@ -11579,7 +11593,7 @@ for(var i=0;i<data.length;++i){result[i]=null;if(this.IsNumber(data[i])){nMin=i;
11579
11593
  公式=股票和指数协方差/指数方差
11580
11594
  */this.BETA=function(n){var result=[];var stockData=this.SymbolData.Data;var indexData=this.SymbolData.IndexData;if(n<=0)n=1;var stockProfit=[];//股票涨幅
11581
11595
  var indexProfit=[];//指数涨幅
11582
- for(var _i93=0;_i93<stockData.Data.length;++_i93){stockProfit[_i93]=0;indexProfit[_i93]=0;var stockItem=stockData.Data[_i93];var indexItem=indexData.Data[_i93];if(stockItem.Close>0&&stockItem.YClose>0)stockProfit[_i93]=(stockItem.Close-stockItem.YClose)/stockItem.YClose;if(indexItem.Close>0&&indexItem.YClose>0)indexProfit[_i93]=(indexItem.Close-indexItem.YClose)/indexItem.YClose;}//计算均值数组
11596
+ for(var _i98=0;_i98<stockData.Data.length;++_i98){stockProfit[_i98]=0;indexProfit[_i98]=0;var stockItem=stockData.Data[_i98];var indexItem=indexData.Data[_i98];if(stockItem.Close>0&&stockItem.YClose>0)stockProfit[_i98]=(stockItem.Close-stockItem.YClose)/stockItem.YClose;if(indexItem.Close>0&&indexItem.YClose>0)indexProfit[_i98]=(indexItem.Close-indexItem.YClose)/indexItem.YClose;}//计算均值数组
11583
11597
  var averageStockProfit=this.CalculateAverage(stockProfit,n);var averageIndexProfit=this.CalculateAverage(indexProfit,n);for(var i=0,j=0;i<stockData.Data.length;++i){result[i]=null;if(i>=stockProfit.length||i>=indexProfit.length||i>=averageStockProfit.length||i>=averageIndexProfit.length)continue;var averageStock=averageStockProfit[i];var averageIndex=averageIndexProfit[i];var covariance=0;//协方差
11584
11598
  var variance=0;//方差
11585
11599
  for(j=i-n+1;j<=i;++j){var value=indexProfit[j]-averageIndex;var value2=stockProfit[j]-averageStock;covariance+=value*value2;variance+=value*value;}if(this.IsDivideNumber(variance)&&this.IsNumber(covariance))result[i]=covariance/variance;//(covariance/n)/(variance/n)=covariance/variance;
@@ -11632,8 +11646,8 @@ this.CON2STR=function(data,n){var result="";var dec=0;if(IFrameSplitOperator.IsN
11632
11646
  //用法: VAR2STR(C,3)表示取收盘价,以3位小数转为字符串
11633
11647
  this.VAR2STR=function(data,n){var result=[];var dec=0;if(IFrameSplitOperator.IsNumber(n))dec=n;if(Array.isArray(data)){for(var i=0;i<data.length;++i){result[i]=null;var item=data[i];if(this.IsNumber(item))result[i]=item.toFixed(dec);}}else{if(this.IsNumber(data))result=data.toFixed(dec);}return result;};this.MOD=function(data,data2){var result=[];var isNumber=typeof data=='number';var isNumber2=typeof data2=='number';//单数值
11634
11648
  if(isNumber&&isNumber2){return JSAlgorithm.MOD(data,data2);}else if(!isNumber&&!isNumber2)//都是数组相加
11635
- {var count=Math.max(data.length,data2.length);for(var _i94=0;_i94<count;++_i94){result[_i94]=null;//初始化
11636
- if(_i94<data.length&&_i94<data2.length){if(this.IsNumber(data[_i94])&&this.IsNumber(data2[_i94]))result[_i94]=JSAlgorithm.MOD(data[_i94],data2[_i94]);}}return result;}else if(isNumber&&!isNumber2)//单数字 数组
11649
+ {var count=Math.max(data.length,data2.length);for(var _i99=0;_i99<count;++_i99){result[_i99]=null;//初始化
11650
+ if(_i99<data.length&&_i99<data2.length){if(this.IsNumber(data[_i99])&&this.IsNumber(data2[_i99]))result[_i99]=JSAlgorithm.MOD(data[_i99],data2[_i99]);}}return result;}else if(isNumber&&!isNumber2)//单数字 数组
11637
11651
  {for(var i in data2){result[i]=null;if(this.IsNumber(data)&&this.IsNumber(data2[i]))result[i]=JSAlgorithm.MOD(data,data2[i]);}return result;}else if(!isNumber&&isNumber2)//数组 单数字
11638
11652
  {for(var i in data){result[i]=null;if(this.IsNumber(data[i])&&this.IsNumber(data2))result[i]=JSAlgorithm.MOD(data[i],data2);}return result;}return result;};this.POW=function(data,n){var result=[];if(Array.isArray(data)&&Array.isArray(n)){for(var i=0;i<data.length;++i){var value=data[i];var value2=n[i];if(this.IsNumber(value)&&this.IsNumber(value2))result[i]=Math.pow(value,value2);else result[i]=null;}}else if(IFrameSplitOperator.IsNumber(data)&&Array.isArray(n)){for(var i=0;i<n.length;++i){var item=n[i];if(this.IsNumber(item))result[i]=Math.pow(data,item);else result[i]=null;}}else if(IFrameSplitOperator.IsNumber(data)&&IFrameSplitOperator.IsNumber(n)){return Math.pow(data,n);}else if(Array.isArray(data)&&IFrameSplitOperator.IsNumber(n)){for(var i=0;i<data.length;++i){var item=data[i];if(this.IsNumber(item))result[i]=Math.pow(item,n);else result[i]=null;}}return result;};this.CEILING=function(data){var isNumber=typeof data=='number';if(isNumber)return parseInt(data);var result=[];for(var i in data){var item=data[i];if(this.IsNumber(item))result[i]=parseInt(item);else result[i]=null;}return result;};this.FLOOR=function(data){var isNumber=typeof data=='number';if(isNumber)return parseInt(data-1);var result=[];for(var i in data){var item=data[i];if(this.IsNumber(item))result[i]=parseInt(item-1);else result[i]=null;}return result;};this.ZTPRICE=function(data,rate){if(!this.IsNumber(rate))return null;if(Array.isArray(data)){var result=[];for(var i in data){var item=data[i];if(this.IsNumber(item))result[i]=(1+rate)*item;else result[i]=null;}return result;}else if(this.IsNumber(data)){var result=(1+rate)*data;return result;}};this.DTPRICE=function(data,rate){if(!this.IsNumber(rate))return null;if(Array.isArray(data)){var result=[];for(var i in data){var item=data[i];if(this.IsNumber(item))result[i]=(1-rate)*item;else result[i]=null;}return result;}else if(this.IsNumber(data)){var result=(1-rate)*data;return result;}};/*
11639
11653
  FRACPART(A) 取得小数部分
@@ -11809,20 +11823,20 @@ var IsNumber=typeof data=="number";var IsNumber2=typeof data2=="number";if(Array
11809
11823
  用法: DRAWLINE(COND1,PRICE1,COND2,PRICE2,EXPAND)
11810
11824
  当COND1条件满足时,在PRICE1位置画直线起点,当COND2条件满足时,在PRICE2位置画直线终点,EXPAND为延长类型。
11811
11825
  例如: DRAWLINE(HIGH>=HHV(HIGH,20),HIGH,LOW<=LLV(LOW,20),LOW,1) 表示在创20天新高与创20天新低之间画直线并且向右延长。
11812
- */this.DRAWLINE=function(condition,data,condition2,data2,expand){var drawData=[];var result={DrawData:drawData,DrawType:'DRAWLINE',Expand:expand};if(condition.length<=0)return result;var count=Math.max(condition.length,condition2.length);var bFirstPoint=false;var bSecondPont=false;var lineCache={Start:{},End:{},List:new Array()};function CopyLineData(aryDest,arySrc){if(!IFrameSplitOperator.IsNonEmptyArray(arySrc))return;for(var j=0;j<arySrc.length;++j){var item=arySrc[j];aryDest[item.ID]=item.Value;}}for(var _i95=0;_i95<count;++_i95){drawData[_i95]=null;if(_i95<condition.length&&_i95<condition2.length){if(bFirstPoint==false&&bSecondPont==false){if(condition[_i95]==null||!condition[_i95])continue;bFirstPoint=true;lineCache.Start={ID:_i95,Value:data[_i95]};//第1个点
11813
- }else if(bFirstPoint==true&&bSecondPont==false){var bCondition2=condition2[_i95]!=null&&condition2[_i95];//条件2
11814
- if(!bCondition2){if(condition[_i95])//条件1满足
11815
- lineCache.Start={ID:_i95,Value:data[_i95]};//移动第1个点
11816
- continue;}if(bCondition2){bSecondPont=true;lineCache.End={ID:_i95,Value:data2[_i95]};//第2个点
11817
- if(condition[_i95]){var lineData=this.CalculateDrawLine(lineCache);//计算2个点的线上 其他点的数值
11818
- CopyLineData(drawData,lineData);bFirstPoint=true;bSecondPont=false;lineCache.Start={ID:_i95,Value:data[_i95]};//第1个点
11819
- }}}else if(bFirstPoint==true&&bSecondPont==true){var bCondition2=condition2[_i95]!=null&&condition2[_i95];//条件2
11826
+ */this.DRAWLINE=function(condition,data,condition2,data2,expand){var drawData=[];var result={DrawData:drawData,DrawType:'DRAWLINE',Expand:expand};if(condition.length<=0)return result;var count=Math.max(condition.length,condition2.length);var bFirstPoint=false;var bSecondPont=false;var lineCache={Start:{},End:{},List:new Array()};function CopyLineData(aryDest,arySrc){if(!IFrameSplitOperator.IsNonEmptyArray(arySrc))return;for(var j=0;j<arySrc.length;++j){var item=arySrc[j];aryDest[item.ID]=item.Value;}}for(var _i100=0;_i100<count;++_i100){drawData[_i100]=null;if(_i100<condition.length&&_i100<condition2.length){if(bFirstPoint==false&&bSecondPont==false){if(condition[_i100]==null||!condition[_i100])continue;bFirstPoint=true;lineCache.Start={ID:_i100,Value:data[_i100]};//第1个点
11827
+ }else if(bFirstPoint==true&&bSecondPont==false){var bCondition2=condition2[_i100]!=null&&condition2[_i100];//条件2
11828
+ if(!bCondition2){if(condition[_i100])//条件1满足
11829
+ lineCache.Start={ID:_i100,Value:data[_i100]};//移动第1个点
11830
+ continue;}if(bCondition2){bSecondPont=true;lineCache.End={ID:_i100,Value:data2[_i100]};//第2个点
11831
+ if(condition[_i100]){var lineData=this.CalculateDrawLine(lineCache);//计算2个点的线上 其他点的数值
11832
+ CopyLineData(drawData,lineData);bFirstPoint=true;bSecondPont=false;lineCache.Start={ID:_i100,Value:data[_i100]};//第1个点
11833
+ }}}else if(bFirstPoint==true&&bSecondPont==true){var bCondition2=condition2[_i100]!=null&&condition2[_i100];//条件2
11820
11834
  if(bCondition2)//条件2满足
11821
- {lineCache.End={ID:_i95,Value:data2[_i95]};//移动第2个点
11822
- }else if(condition[_i95])//条件1满足
11835
+ {lineCache.End={ID:_i100,Value:data2[_i100]};//移动第2个点
11836
+ }else if(condition[_i100])//条件1满足
11823
11837
  {var lineData=this.CalculateDrawLine(lineCache);//计算2个点的线上 其他点的数值
11824
11838
  CopyLineData(drawData,lineData);if(expand==1)this.CalculateDrawDataExtendLine(drawData,lineCache.Start.ID-2);//右延长线
11825
- bFirstPoint=bSecondPont=false;lineCache={Start:{},End:{}};bFirstPoint=true;bSecondPont=false;lineCache.Start={ID:_i95,Value:data[_i95]};//第1个点
11839
+ bFirstPoint=bSecondPont=false;lineCache={Start:{},End:{}};bFirstPoint=true;bSecondPont=false;lineCache.Start={ID:_i100,Value:data[_i100]};//第1个点
11826
11840
  }}}//最后一组线
11827
11841
  if(bFirstPoint==true&&bSecondPont==true){var lineData=this.CalculateDrawLine(lineCache);CopyLineData(drawData,lineData);}}if(expand==1)this.CalculateDrawDataExtendLine(drawData);//右延长线
11828
11842
  return result;};/*
@@ -11837,8 +11851,8 @@ if(color)result.Color[0]=color.toLowerCase();if(color2)result.Color[1]=color2.to
11837
11851
  {for(var i in condition){drawData[i]=null;var condItem=condition[i];if(!condItem)continue;var value=this.GetDataByIndex(data,i);if(!value.Result)continue;var value2=this.GetDataByIndex(data2,i);if(!value2.Result)continue;var item={Value:value.Data,Value2:value2.Data};drawData[i]=item;}}else{if(condition){for(var i=0;i<this.SymbolData.Data.Data.length;++i)//以K线长度为数据长度
11838
11852
  {drawData[i]=null;var value=this.GetDataByIndex(data,i);if(!value.Result)continue;var value2=this.GetDataByIndex(data2,i);if(!value2.Result)continue;var item={Value:value.Data,Value2:value2.Data};drawData[i]=item;}}}return result;};//DRAWKLINE(HIGH,OPEN,LOW,CLOSE).
11839
11853
  //用法:以HIGH为最高价,OPEN为开盘价,LOW为最低,CLOSE收盘画K线
11840
- this.DRAWKLINE=function(high,open,low,close){var drawData=[];var result={DrawData:drawData,DrawType:'DRAWKLINE'};var count=Math.max(high.length,open.length,low.length,close.length);for(var _i96=0;_i96<count;++_i96){var _item10={Open:null,High:null,Low:null,Close:null};if(_i96<high.length&&_i96<open.length&&_i96<low.length&&_i96<close.length){_item10.Open=open[_i96];_item10.High=high[_i96];_item10.Low=low[_i96];_item10.Close=close[_i96];}drawData[_i96]=_item10;}return result;};//满足条件画一根K线
11841
- this.DRAWKLINE_IF=function(condition,high,open,low,close){var drawData=[];var result={DrawData:drawData,DrawType:'DRAWKLINE_IF'};var count=Math.max(condition.length,high.length,open.length,low.length,close.length);for(var _i97=0;_i97<count;++_i97){var _item11={Open:null,High:null,Low:null,Close:null};if(_i97<high.length&&_i97<open.length&&_i97<low.length&&_i97<close.length&&_i97<condition.length){if(condition[_i97]){_item11.Open=open[_i97];_item11.High=high[_i97];_item11.Low=low[_i97];_item11.Close=close[_i97];}}drawData[_i97]=_item11;}return result;};//叠加一个K线
11854
+ this.DRAWKLINE=function(high,open,low,close){var drawData=[];var result={DrawData:drawData,DrawType:'DRAWKLINE'};var count=Math.max(high.length,open.length,low.length,close.length);for(var _i101=0;_i101<count;++_i101){var _item10={Open:null,High:null,Low:null,Close:null};if(_i101<high.length&&_i101<open.length&&_i101<low.length&&_i101<close.length){_item10.Open=open[_i101];_item10.High=high[_i101];_item10.Low=low[_i101];_item10.Close=close[_i101];}drawData[_i101]=_item10;}return result;};//满足条件画一根K线
11855
+ this.DRAWKLINE_IF=function(condition,high,open,low,close){var drawData=[];var result={DrawData:drawData,DrawType:'DRAWKLINE_IF'};var count=Math.max(condition.length,high.length,open.length,low.length,close.length);for(var _i102=0;_i102<count;++_i102){var _item11={Open:null,High:null,Low:null,Close:null};if(_i102<high.length&&_i102<open.length&&_i102<low.length&&_i102<close.length&&_i102<condition.length){if(condition[_i102]){_item11.Open=open[_i102];_item11.High=high[_i102];_item11.Low=low[_i102];_item11.Close=close[_i102];}}drawData[_i102]=_item11;}return result;};//叠加一个K线
11842
11856
  this.DRAWOVERLAYKLINE=function(open,high,low,close){var drawData=[];var result={DrawData:drawData,DrawType:'DRAWOVERLAYKLINE'};var count=Math.max(high.length,open.length,low.length,close.length);var kData=this.SymbolData.Data.Data;for(var i=0;i<count;++i){var item={Open:null,High:null,Low:null,Close:null};var kItem=kData[i];if(i<high.length&&i<open.length&&i<low.length&&i<close.length&&IFrameSplitOperator.IsNumber(open[i])&&IFrameSplitOperator.IsNumber(high[i])&&IFrameSplitOperator.IsNumber(low[i])&&IFrameSplitOperator.IsNumber(low[i])){item.Open=open[i];item.High=high[i];item.Low=low[i];item.Close=close[i];item.Date=kItem.Date;if(IFrameSplitOperator.IsNumber(kItem.Time))item.Time=kItem.Time;}drawData[i]=item;}return result;};/*
11843
11857
  DRAWCOLORKLINE 绘制K线
11844
11858
  用法:
@@ -11862,8 +11876,8 @@ this.DRAWOVERLAYKLINE=function(open,high,low,close){var drawData=[];var result={
11862
11876
  }else if(bFirstPoint==true&&bSecondPont==false){if(!this.IsNumber(data[i]))continue;lineCache.End={ID:parseInt(i),Value:data[i]};//第2个点
11863
11877
  //根据起始点和结束点 计算中间各个点的数据
11864
11878
  var lineData=this.CalculateDrawLine(lineCache);//计算2个点的线上 其他点的数值
11865
- for(var _j7 in lineData){var _item12=lineData[_j7];drawData[_item12.ID]=_item12.Value;}var start={ID:lineCache.End.ID,Value:lineCache.End.Value};lineCache={Start:start,End:{}};}}this.CalculateDrawDataExtendLine(drawData);}else{var _lineCache={Start:{},End:{},List:[]};for(var _i98 in condition){drawData[_i98]=null;if(bFirstPoint==false&&bSecondPont==false){if(condition[_i98]==null||!condition[_i98])continue;if(_i98>=data.length||!this.IsNumber(data[_i98]))continue;bFirstPoint=true;_lineCache.Start={ID:parseInt(_i98),Value:data[_i98]};//第1个点
11866
- }else if(bFirstPoint==true&&bSecondPont==false){if(condition[_i98]==null||!condition[_i98])continue;if(_i98>=data.length||!this.IsNumber(data[_i98]))continue;_lineCache.End={ID:parseInt(_i98),Value:data[_i98]};//第2个点
11879
+ for(var _j7 in lineData){var _item12=lineData[_j7];drawData[_item12.ID]=_item12.Value;}var start={ID:lineCache.End.ID,Value:lineCache.End.Value};lineCache={Start:start,End:{}};}}this.CalculateDrawDataExtendLine(drawData);}else{var _lineCache={Start:{},End:{},List:[]};for(var _i103 in condition){drawData[_i103]=null;if(bFirstPoint==false&&bSecondPont==false){if(condition[_i103]==null||!condition[_i103])continue;if(_i103>=data.length||!this.IsNumber(data[_i103]))continue;bFirstPoint=true;_lineCache.Start={ID:parseInt(_i103),Value:data[_i103]};//第1个点
11880
+ }else if(bFirstPoint==true&&bSecondPont==false){if(condition[_i103]==null||!condition[_i103])continue;if(_i103>=data.length||!this.IsNumber(data[_i103]))continue;_lineCache.End={ID:parseInt(_i103),Value:data[_i103]};//第2个点
11867
11881
  //根据起始点和结束点 计算中间各个点的数据
11868
11882
  var _lineData=this.CalculateDrawLine(_lineCache);//计算2个点的线上 其他点的数值
11869
11883
  for(var _j8 in _lineData){var _item13=_lineData[_j8];drawData[_item13.ID]=_item13.Value;}var _start={ID:_lineCache.End.ID,Value:_lineCache.End.Value};_lineCache={Start:_start,End:{}};}}this.CalculateDrawDataExtendLine(drawData);}}return result;};this.CalculateDrawDataExtendLine=function(drawData,maxCount){if(maxCount<0)return;var x2=null;var count=drawData.length;if(this.IsNumber(maxCount)&&maxCount<count)count=maxCount;for(var i=count-1;i>=0;--i){if(this.IsNumber(drawData[i])){x2=i;break;}}//y3=(y1-y2)*(x3-x1)/(x2-x1)
@@ -12074,8 +12088,8 @@ this.DRAWLASTBARNUMBER=function(data,value,dec,color){var drawItem={Value:null,T
12074
12088
  this.TABLE_CELL=function(data,color,textAlign,bgColor){var text=null;if(IFrameSplitOperator.IsString(data)){text=data;}else if(IFrameSplitOperator.IsNonEmptyArray(data)){var precision=2;var lastValue=data[data.length-1];if(IFrameSplitOperator.IsNumber(lastValue))text=lastValue.toFixed(precision);else if(IFrameSplitOperator.IsString(lastValue))text=lastValue;}var cellItem={Text:text};if(color)cellItem.Color=color;if(bgColor)cellItem.BGColor=bgColor;if(IFrameSplitOperator.IsString(textAlign)){var strValue=textAlign.toLowerCase();//转小写
12075
12089
  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'};};//饼图
12076
12090
  this.PIE_CELL=function(data,color,text,textColor,lineColor){var value=null;if(IFrameSplitOperator.IsNumber(data)){value=data;}else if(IFrameSplitOperator.IsString(data)){value=parseFloat(data);}else if(IFrameSplitOperator.IsNonEmptyArray(data)){var lastValue=data[data.length-1];if(IFrameSplitOperator.IsNumber(lastValue))value=lastValue;else if(IFrameSplitOperator.IsString(lastValue))value=parseFloat(lastValue);}var cellItem={Value:value,Color:color};if(text)cellItem.Text=text;if(textColor)cellItem.TextColor=textColor;if(lineColor)cellItem.LineColor=lineColor;return cellItem;};//0=Radius半径
12077
- this.DRAWPIE=function(aryData){var radius=aryData[0];var aryCell=[];for(var i=1;i<aryData.length;++i){aryCell.push(aryData[i]);}return result={DrawData:{Data:aryCell,Radius:radius},DrawType:"DRAW_SIMPLE_PIE"};};this.RADAR_CELL=function(name,data,max,min){var cellItem={Name:name,Max:100,Min:0,Value:null};if(IFrameSplitOperator.IsNumber(data)){cellItem.Value=data;}else if(IFrameSplitOperator.IsString(data)){cellItem.Value=parseFloat(data);}else if(IFrameSplitOperator.IsNonEmptyArray(data)){var lastValue=data[data.length-1];if(IFrameSplitOperator.IsNumber(lastValue))cellItem.Value=lastValue;else if(IFrameSplitOperator.IsString(lastValue))cellItem.Value=parseFloat(lastValue);}if(IFrameSplitOperator.IsNumber(max))cellItem.Max=max;if(IFrameSplitOperator.IsNumber(min))cellItem.Min=min;return cellItem;};this.DRAWRADAR=function(args){var radius=args[0];var color=args[1];var aryIndex=[];var aryData=[];for(var i=2;i<args.length;++i){var item=args[i];aryIndex.push({Name:item.Name,Max:item.Max,Min:item.Min});aryData.push({Value:item.Value,Name:item.Name,Group:"Default"});}return result={DrawData:{Data:aryData,AryIndex:aryIndex,Radius:radius,AryArea:[{LineColor:color}]},DrawType:"DRAW_SIMPLE_RADAR"};};this.DRAWDOUGHNUT=function(aryData){var radius=aryData[0];var aryCell=[];for(var i=1;i<aryData.length;++i){aryCell.push(aryData[i]);}return result={DrawData:{Data:aryCell,Radius:radius,InnerRadius:radius/2},DrawType:"DRAW_SIMPLE_DOUGHNUT"};};}JSDraw.prototype.CalculateDrawLine=function(lineCache){lineCache.List=[];for(var _i99=lineCache.Start.ID;_i99<=lineCache.End.ID;++_i99){lineCache.List.push(_i99);}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个点
12078
- if(lineCache.Start.Value>lineCache.End.Value){for(var _i100=1;_i100<lineCache.List.length-1;++_i100){var value=height*(lineCache.List.length-1-_i100)/width+lineCache.End.Value;result.push({ID:lineCache.List[_i100],Value:value});}}else{for(var _i101=1;_i101<lineCache.List.length-1;++_i101){var value=height*_i101/width+lineCache.Start.Value;result.push({ID:lineCache.List[_i101],Value:value});}}result.push({ID:lineCache.End.ID,Value:lineCache.End.Value});//最后一个点
12091
+ this.DRAWPIE=function(aryData){var radius=aryData[0];var aryCell=[];for(var i=1;i<aryData.length;++i){aryCell.push(aryData[i]);}return result={DrawData:{Data:aryCell,Radius:radius},DrawType:"DRAW_SIMPLE_PIE"};};this.RADAR_CELL=function(name,data,max,min){var cellItem={Name:name,Max:100,Min:0,Value:null};if(IFrameSplitOperator.IsNumber(data)){cellItem.Value=data;}else if(IFrameSplitOperator.IsString(data)){cellItem.Value=parseFloat(data);}else if(IFrameSplitOperator.IsNonEmptyArray(data)){var lastValue=data[data.length-1];if(IFrameSplitOperator.IsNumber(lastValue))cellItem.Value=lastValue;else if(IFrameSplitOperator.IsString(lastValue))cellItem.Value=parseFloat(lastValue);}if(IFrameSplitOperator.IsNumber(max))cellItem.Max=max;if(IFrameSplitOperator.IsNumber(min))cellItem.Min=min;return cellItem;};this.DRAWRADAR=function(args){var radius=args[0];var color=args[1];var aryIndex=[];var aryData=[];for(var i=2;i<args.length;++i){var item=args[i];aryIndex.push({Name:item.Name,Max:item.Max,Min:item.Min});aryData.push({Value:item.Value,Name:item.Name,Group:"Default"});}return result={DrawData:{Data:aryData,AryIndex:aryIndex,Radius:radius,AryArea:[{LineColor:color}]},DrawType:"DRAW_SIMPLE_RADAR"};};this.DRAWDOUGHNUT=function(aryData){var radius=aryData[0];var aryCell=[];for(var i=1;i<aryData.length;++i){aryCell.push(aryData[i]);}return result={DrawData:{Data:aryCell,Radius:radius,InnerRadius:radius/2},DrawType:"DRAW_SIMPLE_DOUGHNUT"};};}JSDraw.prototype.CalculateDrawLine=function(lineCache){lineCache.List=[];for(var _i104=lineCache.Start.ID;_i104<=lineCache.End.ID;++_i104){lineCache.List.push(_i104);}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个点
12092
+ if(lineCache.Start.Value>lineCache.End.Value){for(var _i105=1;_i105<lineCache.List.length-1;++_i105){var value=height*(lineCache.List.length-1-_i105)/width+lineCache.End.Value;result.push({ID:lineCache.List[_i105],Value:value});}}else{for(var _i106=1;_i106<lineCache.List.length-1;++_i106){var value=height*_i106/width+lineCache.Start.Value;result.push({ID:lineCache.List[_i106],Value:value});}}result.push({ID:lineCache.End.ID,Value:lineCache.End.Value});//最后一个点
12079
12093
  return result;};//是否有是有效的数字
12080
12094
  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","DRAWPIE","DRAWRADAR","DRAWDOUGHNUT","DRAWFLAGTEXT"]);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
12081
12095
  var DYNAINFO_ARGUMENT_ID={YCLOSE:3,OPEN:4,HIGH:5,LOW:6,CLOSE:7,VOL:8,AMOUNT:10,UPDOWN:12,//DYNAINFO(12) 日涨跌 即时行情数据
@@ -12236,12 +12250,12 @@ if(periodInfo.Period==0)hisData=dayData.Data;else hisData=dayData.GetPeriodData(
12236
12250
  var result;if(curPeriodInfo.Period==periodInfo.Period){result=this.Data;}else{var hisData;if(this.IsApiPeriod){if(!this.PeriodData.has(periodName))return null;hisData=this.PeriodData.get(periodName);}else{if(ChartData.IsMinutePeriod(curPeriodInfo.Period,true)&&ChartData.IsDayPeriod(periodInfo.Period,true)){var dayData=this.PeriodData.get('DAY');//日线
12237
12251
  if(periodInfo.Period==0)hisData=dayData;else hisData=dayData.GetPeriodData(periodInfo.Period);//日线周期
12238
12252
  }else{var bindData=new ChartData();bindData.Data=this.SourceData.Data;bindData.Period=this.Period;bindData.Right=this.Right;if(ChartData.IsDayPeriod(periodInfo.Period,true)&&bindData.Right>0)//日线数据才复权
12239
- {var rightData=bindData.GetRightData(bindData.Right);bindData.Data=rightData;}hisData=bindData.GetPeriodData(periodInfo.Period);}}var data=this.Data.ConverPeriod(hisData,this.Period,periodInfo.Period);var result=new ChartData();result.Data=data;}if(IFrameSplitOperator.IsPlusNumber(n)){var refResult=new ChartData();var data=result.GetRef(n);refResult.Data=data;result=refResult;}var upperSymbol=this.Symbol.toUpperCase();switch(valueName){case'C':case"CLOSE":return result.GetClose();case'O':case"OPEN":return result.GetOpen();case'H':case"HIGH":return result.GetHigh();case'L':case"LOW":return result.GetLow();case'AMO':case"AMOUNT":return result.GetAmount();case'V':case"VOL":return result.GetVol(MARKET_SUFFIX_NAME.GetVolUnit(upperSymbol));case"VOLINSTK":return result.GetPosition();default:return null;}};this.GetCurrBarsCount=function(){var result=[];if(!this.Data||!this.Data.Data||!this.Data.Data.length)return result;var lCount=this.Data.Data.length;for(var _i102=lCount-1;_i102>=0;--_i102){result.push(_i102+1);}//数据从0开始
12253
+ {var rightData=bindData.GetRightData(bindData.Right);bindData.Data=rightData;}hisData=bindData.GetPeriodData(periodInfo.Period);}}var data=this.Data.ConverPeriod(hisData,this.Period,periodInfo.Period);var result=new ChartData();result.Data=data;}if(IFrameSplitOperator.IsPlusNumber(n)){var refResult=new ChartData();var data=result.GetRef(n);refResult.Data=data;result=refResult;}var upperSymbol=this.Symbol.toUpperCase();switch(valueName){case'C':case"CLOSE":return result.GetClose();case'O':case"OPEN":return result.GetOpen();case'H':case"HIGH":return result.GetHigh();case'L':case"LOW":return result.GetLow();case'AMO':case"AMOUNT":return result.GetAmount();case'V':case"VOL":return result.GetVol(MARKET_SUFFIX_NAME.GetVolUnit(upperSymbol));case"VOLINSTK":return result.GetPosition();default:return null;}};this.GetCurrBarsCount=function(){var result=[];if(!this.Data||!this.Data.Data||!this.Data.Data.length)return result;var lCount=this.Data.Data.length;for(var _i107=lCount-1;_i107>=0;--_i107){result.push(_i107+1);}//数据从0开始
12240
12254
  return result;};//BARPOS 返回从第一根K线开始到当前的周期数。
12241
12255
  //注:
12242
12256
  //1、BARPOS返回本地已有的K线根数,从本机上存在的数据开始算起。
12243
12257
  //2、本机已有的第一根K线上返回值为1。
12244
- this.GetBarPos=function(){var result=[];if(!this.Data||!this.Data.Data||!this.Data.Data.length)return result;var lCount=this.Data.Data.length;for(var _i103=0;_i103<lCount;++_i103){result.push(_i103+1);}return result;};this.GetTotalTradeMinuteCount=function(){var data=g_MinuteCoordinateData.GetCoordinateData(this.Symbol);if(data&&data.Count>0)return data.Count-1;return 242;};this.GetTotalBarsCount=function(){var lCount=this.Data.Data.length;return lCount;};this.GetIsLastBar=function(){var result=[];if(!this.Data||!this.Data.Data||!this.Data.Data.length)return result;var lCount=this.Data.Data.length;for(var _i104=0;_i104<lCount;++_i104){if(_i104==lCount-1)result.push(1);else result.push(0);}return result;};//BARSTATUS返回数据位置信息,1表示第一根K线,2表示最后一个数据,0表示中间位置.
12258
+ this.GetBarPos=function(){var result=[];if(!this.Data||!this.Data.Data||!this.Data.Data.length)return result;var lCount=this.Data.Data.length;for(var _i108=0;_i108<lCount;++_i108){result.push(_i108+1);}return result;};this.GetTotalTradeMinuteCount=function(){var data=g_MinuteCoordinateData.GetCoordinateData(this.Symbol);if(data&&data.Count>0)return data.Count-1;return 242;};this.GetTotalBarsCount=function(){var lCount=this.Data.Data.length;return lCount;};this.GetIsLastBar=function(){var result=[];if(!this.Data||!this.Data.Data||!this.Data.Data.length)return result;var lCount=this.Data.Data.length;for(var _i109=0;_i109<lCount;++_i109){if(_i109==lCount-1)result.push(1);else result.push(0);}return result;};//BARSTATUS返回数据位置信息,1表示第一根K线,2表示最后一个数据,0表示中间位置.
12245
12259
  //例如:BARSTATUS=2表示当天是该数据的最后一个周期.
12246
12260
  this.GetBarStatus=function(){var result=[];if(!this.Data||!this.Data.Data||!this.Data.Data.length)return result;var lCount=this.Data.Data.length;for(var i=0;i<lCount;++i){if(i==0)result[i]=1;else if(i==lCount-1)result[i]=2;else result[i]=0;}return result;};//求真实波幅, (最高-最低),(最高-昨收),(最低-昨收)三者绝对值中的最大值.
12247
12261
  //用法:
@@ -12262,7 +12276,7 @@ case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_SELL_REPAY://卖出信息-偿还量
12262
12276
  case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_SELL_NET://卖出信息-融券净卖出
12263
12277
  fieldList.push("margin.sell");break;}//请求数据
12264
12278
  JSNetwork.HttpRequest({url:this.StockHistoryDayApiUrl,data:{"field":fieldList,"symbol":[this.Symbol],"orderfield":"date"},type:"post",dataType:"json",async:true,success:function success(recvData){self.RecvMarginData(recvData,jobID);self.Execute.RunNextJob();}});};this.RecvMarginData=function(data,jobID){JSConsole.Complier.Log(data);if(!data.stock||data.stock.length!=1)return;var stock=data.stock[0];var aryData=new Array();var aryData2=[],aryData3=[],aryData4=[];//其他3个数据
12265
- for(var _i105 in stock.stockday){var item=stock.stockday[_i105];var marginData=item.margin;if(!marginData)continue;var indexData=new SingleData();indexData.Date=item.date;switch(jobID){case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_BALANCE:if(!this.IsNumber(marginData.balance))continue;indexData.Value=marginData.balance;//融资融券余额
12279
+ for(var _i110 in stock.stockday){var item=stock.stockday[_i110];var marginData=item.margin;if(!marginData)continue;var indexData=new SingleData();indexData.Date=item.date;switch(jobID){case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_BALANCE:if(!this.IsNumber(marginData.balance))continue;indexData.Value=marginData.balance;//融资融券余额
12266
12280
  aryData.push(indexData);break;case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_RATE:if(!this.IsNumber(marginData.rate))continue;indexData.Value=marginData.rate;//融资占比
12267
12281
  aryData.push(indexData);break;case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_BUY_BALANCE://买入信息-融资余额
12268
12282
  case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_BUY_AMOUNT://买入信息-买入额
@@ -12272,9 +12286,9 @@ var buyData=marginData.buy;if(!buyData)continue;if(!this.IsNumber(buyData.balanc
12272
12286
  case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_SELL_VOLUME://卖出信息-卖出量
12273
12287
  case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_SELL_REPAY://卖出信息-偿还量
12274
12288
  case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_SELL_NET://卖出信息-融券净卖出
12275
- var sellData=marginData.sell;if(!sellData)continue;if(!this.IsNumber(sellData.balance)||!this.IsNumber(sellData.volume)||!this.IsNumber(sellData.repay)||!this.IsNumber(sellData.net))continue;indexData.Value=buyData.balance;var indexData2=new SingleData();indexData2.Date=item.date;indexData2.Value=buyData.volume;var indexData3=new SingleData();indexData3.Date=item.date;indexData3.Value=buyData.repay;var indexData4=new SingleData();indexData4.Date=item.date;indexData4.Value=buyData.net;aryData.push(indexData);aryData2.push(indexData2);aryData3.push(indexData3);aryData4.push(indexData4);break;default:continue;}}var allData=[];if(jobID===JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_BALANCE||jobID===JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_RATE){allData.push({JobID:jobID,Data:aryData});}else if(jobID===JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_BUY_BALANCE||jobID===JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_BUY_AMOUNT||jobID===JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_BUY_REPAY||jobID===JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_BUY_NET){allData.push({JobID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_BUY_BALANCE,Data:aryData});allData.push({JobID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_BUY_AMOUNT,Data:aryData2});allData.push({JobID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_BUY_REPAY,Data:aryData3});allData.push({JobID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_BUY_NET,Data:aryData4});}else if(jobID===JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_SELL_BALANCE||jobID===JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_SELL_VOLUME||jobID===JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_SELL_REPAY||jobID===JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_SELL_NET){allData.push({JobID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_SELL_BALANCE,Data:aryData});allData.push({JobID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_SELL_VOLUME,Data:aryData2});allData.push({JobID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_SELL_REPAY,Data:aryData3});allData.push({JobID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_SELL_NET,Data:aryData4});}for(var _i106 in allData){var aryFixedData=this.SourceData.GetFittingData(allData[_i106].Data);var bindData=new ChartData();bindData.Data=aryFixedData;bindData.Period=this.Period;//周期
12289
+ var sellData=marginData.sell;if(!sellData)continue;if(!this.IsNumber(sellData.balance)||!this.IsNumber(sellData.volume)||!this.IsNumber(sellData.repay)||!this.IsNumber(sellData.net))continue;indexData.Value=buyData.balance;var indexData2=new SingleData();indexData2.Date=item.date;indexData2.Value=buyData.volume;var indexData3=new SingleData();indexData3.Date=item.date;indexData3.Value=buyData.repay;var indexData4=new SingleData();indexData4.Date=item.date;indexData4.Value=buyData.net;aryData.push(indexData);aryData2.push(indexData2);aryData3.push(indexData3);aryData4.push(indexData4);break;default:continue;}}var allData=[];if(jobID===JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_BALANCE||jobID===JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_RATE){allData.push({JobID:jobID,Data:aryData});}else if(jobID===JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_BUY_BALANCE||jobID===JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_BUY_AMOUNT||jobID===JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_BUY_REPAY||jobID===JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_BUY_NET){allData.push({JobID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_BUY_BALANCE,Data:aryData});allData.push({JobID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_BUY_AMOUNT,Data:aryData2});allData.push({JobID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_BUY_REPAY,Data:aryData3});allData.push({JobID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_BUY_NET,Data:aryData4});}else if(jobID===JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_SELL_BALANCE||jobID===JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_SELL_VOLUME||jobID===JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_SELL_REPAY||jobID===JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_SELL_NET){allData.push({JobID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_SELL_BALANCE,Data:aryData});allData.push({JobID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_SELL_VOLUME,Data:aryData2});allData.push({JobID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_SELL_REPAY,Data:aryData3});allData.push({JobID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_SELL_NET,Data:aryData4});}for(var _i111 in allData){var aryFixedData=this.SourceData.GetFittingData(allData[_i111].Data);var bindData=new ChartData();bindData.Data=aryFixedData;bindData.Period=this.Period;//周期
12276
12290
  if(bindData.Period>0)//周期数据
12277
- {var periodData=bindData.GetPeriodSingleData(bindData.Period);bindData.Data=periodData;}var _data=bindData.GetValue();this.MarginData.set(allData[_i106].JobID,_data);}};this.GetNewsAnalysisCacheData=function(id,node){var jobID=JS_EXECUTE_JOB_ID.GetNewsAnalysisID(id);if(!jobID)this.Execute.ThrowUnexpectedNode(node,'不支持NEWS('+id+')');if(this.NewsAnalysisData.has(jobID))return this.NewsAnalysisData.get(jobID);return[];};this.GetHKToSHSZData=function(job){var args=job.Args;var code=this.Symbol;if(args.length>0){var item=args[0];if(item.Type==Syntax.Literal){code=item.Value;}else if(item.Type==Syntax.Identifier)//变量 !!只支持默认的变量值
12291
+ {var periodData=bindData.GetPeriodSingleData(bindData.Period);bindData.Data=periodData;}var _data=bindData.GetValue();this.MarginData.set(allData[_i111].JobID,_data);}};this.GetNewsAnalysisCacheData=function(id,node){var jobID=JS_EXECUTE_JOB_ID.GetNewsAnalysisID(id);if(!jobID)this.Execute.ThrowUnexpectedNode(node,'不支持NEWS('+id+')');if(this.NewsAnalysisData.has(jobID))return this.NewsAnalysisData.get(jobID);return[];};this.GetHKToSHSZData=function(job){var args=job.Args;var code=this.Symbol;if(args.length>0){var item=args[0];if(item.Type==Syntax.Literal){code=item.Value;}else if(item.Type==Syntax.Identifier)//变量 !!只支持默认的变量值
12278
12292
  {var isFind=false;for(var j in this.Arguments){var argItem=this.Arguments[j];if(argItem.Name==item.Name){code=argItem.Value;isFind=true;break;}}if(!isFind){var token=job.Token;this.Execute.ErrorHandler.ThrowError(token.Index,token.Line,0,'HK2SHSZ() Error: can\'t read '+item.Name);}}}job.Symbol=code;if(code==1||code==2||code==3)//下载全市场数据
12279
12293
  this.GetHKToSHSZMarketData(code,job);else this.GetHKToSHSZStockData(code,job);//下载个股数据
12280
12294
  };this.GetHKToSHSZStockData=function(symbol,job){if(this.HKToSHSZData.has(symbol))return this.Execute.RunNextJob();var upperSymbol=symbol.toLowerCase();//代码小写
@@ -12287,9 +12301,9 @@ if(bindData.Period>0)//周期数据
12287
12301
  JSNetwork.HttpRequest({url:url,data:{"symbol":this.Symbol,'daycount':this.MaxRequestMinuteDayCount},type:"post",dataType:"json",async:true,success:function success(recvData){self.RecvMulitMinuteHKToSHSZData(recvData,job);self.Execute.RunNextJob();}});}else{//请求数据
12288
12302
  JSNetwork.HttpRequest({url:url,type:"get",dataType:"json",async:true,success:function success(recvData){if(dataType==0)self.RecvHKToSHSZData(recvData,job);else if(dataType==1)self.RecvMinuteHKToSHSZData(recvData,job);self.Execute.RunNextJob();}});}};this.RecvMinuteHKToSHSZData=function(data,job){var arySHSZData=[],arySHData=[],arySZData=[];if(this.IsBeforeData){for(i in this.SourceData.Data){var item=this.SourceData.Data[i];if(item.Before){arySHSZData.push(null);arySHData.push(null);arySZData.push(null);}else{break;}}for(var i=0;i<data.time.length;++i){var time=data.time[i];if(time===925)continue;var SHValue=data.hk2sh[i];var SZValue=data.hk2sz[i];var total=SHValue+SZValue;arySHSZData.push(total);arySHData.push(SHValue);arySZData.push(SZValue);}}else{for(var i=0;i<data.time.length;++i){var time=data.time[i];var SHValue=data.hk2sh[i];var SZValue=data.hk2sz[i];var total=SHValue+SZValue;arySHSZData.push(total);arySHData.push(SHValue);arySZData.push(SZValue);}}var allData=[{Data:arySHSZData,ID:1},{Data:arySHData,ID:2},{Data:arySZData,ID:3}];for(var i in allData){var item=allData[i];this.HKToSHSZData.set(item.ID,item.Data);}};this.RecvHKToSHSZData=function(data,job){var arySHSZData=[],arySHData=[],arySZData=[];for(var i=0;i<data.date.length;++i){var date=data.date[i];var SHValue=data.hk2sh[i]*1000000;//单位是百万
12289
12303
  var SZValue=data.hk2sz[i]*1000000;//单位是百万
12290
- var total=SHValue+SZValue;var itemSHSZData=new SingleData();itemSHSZData.Date=date;itemSHSZData.Value=total;var itemSHData=new SingleData();itemSHData.Date=date;itemSHData.Value=SHValue;var itemSZData=new SingleData();itemSZData.Date=date;itemSZData.Value=SZValue;arySHSZData.push(itemSHSZData);arySHData.push(itemSHData);arySZData.push(itemSZData);}var allData=[{Data:arySHSZData,ID:1},{Data:arySHData,ID:2},{Data:arySZData,ID:3}];for(var _i107 in allData){var aryFixedData=this.Data.GetFittingData(allData[_i107].Data);var bindData=new ChartData();bindData.Data=aryFixedData;bindData.Period=this.Period;//周期
12304
+ var total=SHValue+SZValue;var itemSHSZData=new SingleData();itemSHSZData.Date=date;itemSHSZData.Value=total;var itemSHData=new SingleData();itemSHData.Date=date;itemSHData.Value=SHValue;var itemSZData=new SingleData();itemSZData.Date=date;itemSZData.Value=SZValue;arySHSZData.push(itemSHSZData);arySHData.push(itemSHData);arySZData.push(itemSZData);}var allData=[{Data:arySHSZData,ID:1},{Data:arySHData,ID:2},{Data:arySZData,ID:3}];for(var _i112 in allData){var aryFixedData=this.Data.GetFittingData(allData[_i112].Data);var bindData=new ChartData();bindData.Data=aryFixedData;bindData.Period=this.Period;//周期
12291
12305
  if(bindData.Period>0)//周期数据
12292
- {var periodData=bindData.GetPeriodSingleData(bindData.Period);bindData.Data=periodData;}var _data2=bindData.GetValue();this.HKToSHSZData.set(allData[_i107].ID,_data2);}};this.RecvMulitMinuteHKToSHSZData=function(data,job)//多日分时图北上资金
12306
+ {var periodData=bindData.GetPeriodSingleData(bindData.Period);bindData.Data=periodData;}var _data2=bindData.GetValue();this.HKToSHSZData.set(allData[_i112].ID,_data2);}};this.RecvMulitMinuteHKToSHSZData=function(data,job)//多日分时图北上资金
12293
12307
  {if(!data.data||data.data.length<=0)return;var arySHSZData=[],arySHData=[],arySZData=[];for(var i=0,j=0;i<this.Data.Data.length&&j<data.data.length;){arySHSZData[i]=null;arySHData[i]=null;arySZData[i]=null;var item=this.Data.Data[i];var dateTime=item.DateTime;//日期加时间
12294
12308
  if(!dateTime){++i;continue;}var aryValue=dateTime.split(' ');if(aryValue.length!=2){++i;continue;}var date=parseInt(aryValue[0]);var day=data.data[j];if(!day.minute||day.minute.length<=0){++j;continue;}if(day.date>date){++i;continue;}else if(day.date<date){++j;continue;}for(var k in day.minute){var timeItem=day.minute[k];var SHValue=timeItem[1];var SZValue=timeItem[2];var total=SHValue+SZValue;arySHSZData[i]=total;arySHData[i]=SHValue;arySZData[i]=SZValue;++i;}++j;}var allData=[{Data:arySHSZData,ID:1},{Data:arySHData,ID:2},{Data:arySZData,ID:3}];for(var i in allData){var item=allData[i];this.HKToSHSZData.set(item.ID,item.Data);}};//北上资金函数
12295
12309
  this.GetHKToSHSZCacheData=function(code,node){//if (!this.HKToSHSZData.has(code)) this.Execute.ThrowUnexpectedNode(node,`不支持HK2SHSZ(${code})`);
@@ -12425,8 +12439,8 @@ if(list[i].length>up)item.Up=list[i][up];if(list[i].length>down)item.Down=list[i
12425
12439
  aryDayData.push(item);}return aryDayData;};this.JsonDataToMinuteHistoryData=function(data){var list=data.data;var aryDayData=new Array();var date=0,yclose=1,open=2,high=3,low=4,close=5,vol=6,amount=7,time=8;for(var i=0;i<list.length;++i){var _item14=new HistoryData();_item14.Date=list[i][date];_item14.Open=list[i][open];_item14.YClose=list[i][yclose];_item14.Close=list[i][close];_item14.High=list[i][high];_item14.Low=list[i][low];_item14.Vol=list[i][vol];//原始单位股
12426
12440
  _item14.Amount=list[i][amount];_item14.Time=list[i][time];// if (isNaN(item.Open) || item.Open<=0) continue; //停牌的数据剔除
12427
12441
  aryDayData.push(_item14);}// 无效数据处理
12428
- for(var _i108=0;_i108<aryDayData.length;++_i108){var minData=aryDayData[_i108];if(minData==null)coninue;if(isNaN(minData.Open)||minData.Open<=0||isNaN(minData.High)||minData.High<=0||isNaN(minData.Low)||minData.Low<=0||isNaN(minData.Close)||minData.Close<=0||isNaN(minData.YClose)||minData.YClose<=0){if(_i108==0){if(minData.YClose>0){minData.Open=minData.YClose;minData.High=minData.YClose;minData.Low=minData.YClose;minData.Close=minData.YClose;}}else// 用前一个有效数据填充
12429
- {for(var _j9=_i108-1;_j9>=0;--_j9){var minData2=aryDayData[_j9];if(minData2==null)coninue;if(minData2.Open>0&&minData2.High>0&&minData2.Low>0&&minData2.Close>0){if(minData.YClose<=0)minData.YClose=minData2.Close;minData.Open=minData2.Open;minData.High=minData2.High;minData.Low=minData2.Low;minData.Close=minData2.Close;break;}}}}}return aryDayData;};//API 返回数据 转化为array[]
12442
+ for(var _i113=0;_i113<aryDayData.length;++_i113){var minData=aryDayData[_i113];if(minData==null)coninue;if(isNaN(minData.Open)||minData.Open<=0||isNaN(minData.High)||minData.High<=0||isNaN(minData.Low)||minData.Low<=0||isNaN(minData.Close)||minData.Close<=0||isNaN(minData.YClose)||minData.YClose<=0){if(_i113==0){if(minData.YClose>0){minData.Open=minData.YClose;minData.High=minData.YClose;minData.Low=minData.YClose;minData.Close=minData.YClose;}}else// 用前一个有效数据填充
12443
+ {for(var _j9=_i113-1;_j9>=0;--_j9){var minData2=aryDayData[_j9];if(minData2==null)coninue;if(minData2.Open>0&&minData2.High>0&&minData2.Low>0&&minData2.Close>0){if(minData.YClose<=0)minData.YClose=minData2.Close;minData.Open=minData2.Open;minData.High=minData2.High;minData.Low=minData2.Low;minData.Close=minData2.Close;break;}}}}}return aryDayData;};//API 返回数据 转化为array[]
12430
12444
  this.JsonDataToMinuteData=function(data){var aryMinuteData=new Array();for(var i in data.stock[0].minute){var jsData=data.stock[0].minute[i];var item=new MinuteData();item.Close=jsData.price;item.Open=jsData.open;item.High=jsData.high;item.Low=jsData.low;item.Vol=jsData.vol;//股
12431
12445
  item.Amount=jsData.amount;if(i==0)//第1个数据 写死9:25
12432
12446
  item.DateTime=data.stock[0].date.toString()+" 0925";else item.DateTime=data.stock[0].date.toString()+" "+jsData.time.toString();item.Date=data.stock[0].date;item.Time=jsData.time;item.Increase=jsData.increase;item.Risefall=jsData.risefall;item.AvPrice=jsData.avprice;aryMinuteData[i]=item;}return aryMinuteData;};//多日日线数据API 转化成array[];
@@ -12444,23 +12458,23 @@ if(item.Open<=0)item.Open=null;if(item.Close<=0)item.Close=null;if(item.AvPrice<
12444
12458
  this.CODELIKE=function(value){if(this.Symbol&&this.Symbol.indexOf(value)==0)return 1;return 0;};this.NAMELIKE=function(value){if(this.Name&&this.Name.indexOf(value)==0)return 1;return 0;};/*
12445
12459
  SETCODE 市场类型
12446
12460
  0:深圳 1:上海,47:中金所期货 28:郑州商品 29:大连商品 30:上海商品,27:香港指数 31:香港主板,48:香港创业板...
12447
- */this.SETCODE=function(){if(this.Symbol.indexOf('.sh'))return 1;if(this.Symbol.indexOf('.sz'))return 0;return 0;};this.GetSymbol=function(){return this.Symbol;};this.GetName=function(){return this.Name;};this.DATE=function(){var result=[];if(!this.Data||!this.Data.Data||!this.Data.Data.length)return result;for(var _i109 in this.Data.Data){var item=this.Data.Data[_i109];result[_i109]=item.Date-19000000;}return result;};this.YEAR=function(){var result=[];if(!this.Data||!this.Data.Data||!this.Data.Data.length)return result;for(var _i110 in this.Data.Data){var item=this.Data.Data[_i110];if(this.IsNumber(item.Date))result[_i110]=parseInt(item.Date/10000);else result[_i110]=null;}return result;};this.DAY=function(){var result=[];if(!this.Data||!this.Data.Data||!this.Data.Data.length)return result;for(var _i111 in this.Data.Data){var item=this.Data.Data[_i111];if(this.IsNumber(item.Date))result[_i111]=parseInt(item.Date%100);else result[_i111]=null;}return result;};this.MONTH=function(){var result=[];if(!this.Data||!this.Data.Data||!this.Data.Data.length)return result;for(var _i112 in this.Data.Data){var item=this.Data.Data[_i112];if(this.IsNumber(item.Date))result[_i112]=parseInt(item.Date%10000/100);else result[_i112]=null;}return result;};this.TIME=function(){var result=[];if(!this.Data||!this.Data.Data||!this.Data.Data.length)return result;for(var _i113=0;_i113<this.Data.Data.length;++_i113){var item=this.Data.Data[_i113];if(this.IsNumber(item.Time))result[_i113]=item.Time;else result[_i113]=0;}return result;};/*
12461
+ */this.SETCODE=function(){if(this.Symbol.indexOf('.sh'))return 1;if(this.Symbol.indexOf('.sz'))return 0;return 0;};this.GetSymbol=function(){return this.Symbol;};this.GetName=function(){return this.Name;};this.DATE=function(){var result=[];if(!this.Data||!this.Data.Data||!this.Data.Data.length)return result;for(var _i114 in this.Data.Data){var item=this.Data.Data[_i114];result[_i114]=item.Date-19000000;}return result;};this.YEAR=function(){var result=[];if(!this.Data||!this.Data.Data||!this.Data.Data.length)return result;for(var _i115 in this.Data.Data){var item=this.Data.Data[_i115];if(this.IsNumber(item.Date))result[_i115]=parseInt(item.Date/10000);else result[_i115]=null;}return result;};this.DAY=function(){var result=[];if(!this.Data||!this.Data.Data||!this.Data.Data.length)return result;for(var _i116 in this.Data.Data){var item=this.Data.Data[_i116];if(this.IsNumber(item.Date))result[_i116]=parseInt(item.Date%100);else result[_i116]=null;}return result;};this.MONTH=function(){var result=[];if(!this.Data||!this.Data.Data||!this.Data.Data.length)return result;for(var _i117 in this.Data.Data){var item=this.Data.Data[_i117];if(this.IsNumber(item.Date))result[_i117]=parseInt(item.Date%10000/100);else result[_i117]=null;}return result;};this.TIME=function(){var result=[];if(!this.Data||!this.Data.Data||!this.Data.Data.length)return result;for(var _i118=0;_i118<this.Data.Data.length;++_i118){var item=this.Data.Data[_i118];if(this.IsNumber(item.Time))result[_i118]=item.Time;else result[_i118]=0;}return result;};/*
12448
12462
  取得该周期的时分秒,适用于日线以下周期.
12449
12463
  用法: TIME2
12450
12464
  函数返回有效值范围为(000000-235959)
12451
- */this.TIME2=function(){var result=[];if(!this.Data||!this.Data.Data||!this.Data.Data.length)return result;for(var _i114=0;_i114<this.Data.Data.length;++_i114){var item=this.Data.Data[_i114];if(this.IsNumber(item.Time))result[_i114]=item.Time*100;else result[_i114]=0;}return result;};this.DateTime=function(){var result=[];if(!this.Data||!this.Data.Data||!this.Data.Data.length)return result;var isKLineMinute=ChartData.IsMinutePeriod(this.Period,true);for(var i=0;i<this.Data.Data.length;++i){var item=this.Data.Data[i];if(isKLineMinute){result[i]=item.Date*10000+item.Time;}else{result[i]=item.Date;}}return result;};//星期 1-7
12452
- this.WEEK=function(){var result=[];if(!this.Data||!this.Data.Data||!this.Data.Data.length)return result;var tempDate=new Date();for(var _i115 in this.Data.Data){var item=this.Data.Data[_i115];result[_i115]=null;if(!this.IsNumber(item.Date))continue;var year=parseInt(item.Date/10000);var month=parseInt(item.Date%10000/100);var day=item.Date%100;tempDate.setFullYear(year,month-1,day);result[_i115]=tempDate.getDay();}return result;};/*
12465
+ */this.TIME2=function(){var result=[];if(!this.Data||!this.Data.Data||!this.Data.Data.length)return result;for(var _i119=0;_i119<this.Data.Data.length;++_i119){var item=this.Data.Data[_i119];if(this.IsNumber(item.Time))result[_i119]=item.Time*100;else result[_i119]=0;}return result;};this.DateTime=function(){var result=[];if(!this.Data||!this.Data.Data||!this.Data.Data.length)return result;var isKLineMinute=ChartData.IsMinutePeriod(this.Period,true);for(var i=0;i<this.Data.Data.length;++i){var item=this.Data.Data[i];if(isKLineMinute){result[i]=item.Date*10000+item.Time;}else{result[i]=item.Date;}}return result;};//星期 1-7
12466
+ this.WEEK=function(){var result=[];if(!this.Data||!this.Data.Data||!this.Data.Data.length)return result;var tempDate=new Date();for(var _i120 in this.Data.Data){var item=this.Data.Data[_i120];result[_i120]=null;if(!this.IsNumber(item.Date))continue;var year=parseInt(item.Date/10000);var month=parseInt(item.Date%10000/100);var day=item.Date%100;tempDate.setFullYear(year,month-1,day);result[_i120]=tempDate.getDay();}return result;};/*
12453
12467
  取得该周期的日期离今天的天数.
12454
12468
  用法: DAYSTOTODAY
12455
- */this.DAYSTOTODAY=function(){var result=[];if(!this.Data||!this.Data.Data||!this.Data.Data.length)return result;var nowDate=new Date();var endDate=new Date(nowDate.getFullYear(),nowDate.getMonth(),nowDate.getDate());for(var _i116=0;_i116<this.Data.Data.length;++_i116){var item=this.Data.Data[_i116];result[_i116]=null;if(!this.IsNumber(item.Date))continue;var year=parseInt(item.Date/10000);var month=parseInt(item.Date%10000/100);var day=item.Date%100;var beginDate=new Date(year,month-1,day);var diffDays=Math.ceil((endDate-beginDate)/(24*60*60*1000));result[_i116]=diffDays;}return result;};/*
12469
+ */this.DAYSTOTODAY=function(){var result=[];if(!this.Data||!this.Data.Data||!this.Data.Data.length)return result;var nowDate=new Date();var endDate=new Date(nowDate.getFullYear(),nowDate.getMonth(),nowDate.getDate());for(var _i121=0;_i121<this.Data.Data.length;++_i121){var item=this.Data.Data[_i121];result[_i121]=null;if(!this.IsNumber(item.Date))continue;var year=parseInt(item.Date/10000);var month=parseInt(item.Date%10000/100);var day=item.Date%100;var beginDate=new Date(year,month-1,day);var diffDays=Math.ceil((endDate-beginDate)/(24*60*60*1000));result[_i121]=diffDays;}return result;};/*
12456
12470
  取得该周是年内第几个周.
12457
12471
  用法:WEEKOFYEAR
12458
- */this.WEEKOFYEAR=function(){var result=[];if(!this.Data||!this.Data.Data||!this.Data.Data.length)return result;for(var _i117 in this.Data.Data){var item=this.Data.Data[_i117];result[_i117]=null;if(!this.IsNumber(item.Date))continue;var year=parseInt(item.Date/10000);var month=parseInt(item.Date%10000/100);var day=item.Date%100;var endDate=new Date(year,month-1,day);var beginDate=new Date(year,0,1);var diffDays=Math.ceil((endDate-beginDate)/(24*60*60*1000));diffDays+=beginDate.getDay()+1-1;var week=Math.ceil(diffDays/7);var value=week;result[_i117]=value;}return result;};this.GetYearWeek=function(endDate){var beginDate=new Date(endDate.getFullYear(),0,1);//星期从0-6,0代表星期天,6代表星期六
12472
+ */this.WEEKOFYEAR=function(){var result=[];if(!this.Data||!this.Data.Data||!this.Data.Data.length)return result;for(var _i122 in this.Data.Data){var item=this.Data.Data[_i122];result[_i122]=null;if(!this.IsNumber(item.Date))continue;var year=parseInt(item.Date/10000);var month=parseInt(item.Date%10000/100);var day=item.Date%100;var endDate=new Date(year,month-1,day);var beginDate=new Date(year,0,1);var diffDays=Math.ceil((endDate-beginDate)/(24*60*60*1000));diffDays+=beginDate.getDay()+1-1;var week=Math.ceil(diffDays/7);var value=week;result[_i122]=value;}return result;};this.GetYearWeek=function(endDate){var beginDate=new Date(endDate.getFullYear(),0,1);//星期从0-6,0代表星期天,6代表星期六
12459
12473
  var endWeek=endDate.getDay();if(endWeek==0)endWeek=7;var beginWeek=beginDate.getDay();if(beginWeek==0)beginWeek=7;//计算两个日期的天数差
12460
- var millisDiff=endDate.getTime()-beginDate.getTime();var dayDiff=Math.floor((millisDiff+(beginWeek-endWeek)*(24*60*60*1000))/86400000);return Math.ceil(dayDiff/7)+1;};this.REFDATE=function(data,date){var result=null;var findDate=null;if(Array.isArray(date)){if(date.length>0)findDate=date[date.length-1];}else if(this.IsNumber(date)){findDate=date;}if(findDate==null)return null;if(findDate<5000000)findDate+=19000000;var index=null;for(var _i118 in this.Data.Data)//查找日期对应的索引
12461
- {if(this.Data.Data[_i118].Date==findDate){index=parseInt(_i118);break;}}if(index==null||index>=data.length)return null;return data[index];};//用法:结果从0到11,依次分别是1/5/15/30/60分钟,日/周/月,多分钟,多日,季,年
12474
+ var millisDiff=endDate.getTime()-beginDate.getTime();var dayDiff=Math.floor((millisDiff+(beginWeek-endWeek)*(24*60*60*1000))/86400000);return Math.ceil(dayDiff/7)+1;};this.REFDATE=function(data,date){var result=null;var findDate=null;if(Array.isArray(date)){if(date.length>0)findDate=date[date.length-1];}else if(this.IsNumber(date)){findDate=date;}if(findDate==null)return null;if(findDate<5000000)findDate+=19000000;var index=null;for(var _i123 in this.Data.Data)//查找日期对应的索引
12475
+ {if(this.Data.Data[_i123].Date==findDate){index=parseInt(_i123);break;}}if(index==null||index>=data.length)return null;return data[index];};//用法:结果从0到11,依次分别是1/5/15/30/60分钟,日/周/月,多分钟,多日,季,年
12462
12476
  this.PERIOD=function(){//Period周期 0=日线 1=周线 2=月线 3=年线 9=季线 4=1分钟 5=5分钟 6=15分钟 7=30分钟 8=60分钟
12463
- var PERIOD_MAP=[5,6,7,11,0,1,2,3,4,5,9];if(this.Period>=0&&this.Period<=PERIOD_MAP.length-1)return PERIOD_MAP[this.Period];return this.Period;};this.GetDrawNull=function(){var result=[];if(!this.Data||!this.Data.Data||!this.Data.Data.length)return result;for(var _i119 in this.Data.Data){result[_i119]=null;}return result;};this.HOUR=function(){var result=[];if(!this.Data||!this.Data.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return result;for(var i=0;i<this.Data.Data.length;++i){var item=this.Data.Data[i];result[i]=0;if(IFrameSplitOperator.IsNumber(item.Time))result[i]=parseInt(item.Time/100);}return result;};this.MINUTE=function(){var result=[];if(!this.Data||!this.Data.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return result;for(var i=0;i<this.Data.Data.length;++i){var item=this.Data.Data[i];result[i]=0;if(IFrameSplitOperator.IsNumber(item.Time))result[i]=item.Time%100;}return result;};/*
12477
+ var PERIOD_MAP=[5,6,7,11,0,1,2,3,4,5,9];if(this.Period>=0&&this.Period<=PERIOD_MAP.length-1)return PERIOD_MAP[this.Period];return this.Period;};this.GetDrawNull=function(){var result=[];if(!this.Data||!this.Data.Data||!this.Data.Data.length)return result;for(var _i124 in this.Data.Data){result[_i124]=null;}return result;};this.HOUR=function(){var result=[];if(!this.Data||!this.Data.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return result;for(var i=0;i<this.Data.Data.length;++i){var item=this.Data.Data[i];result[i]=0;if(IFrameSplitOperator.IsNumber(item.Time))result[i]=parseInt(item.Time/100);}return result;};this.MINUTE=function(){var result=[];if(!this.Data||!this.Data.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return result;for(var i=0;i<this.Data.Data.length;++i){var item=this.Data.Data[i];result[i]=0;if(IFrameSplitOperator.IsNumber(item.Time))result[i]=item.Time%100;}return result;};/*
12464
12478
  飞狐函数 SYSPARAM
12465
12479
  SYSPARAM(1)画面上光标位置(K线序号)
12466
12480
  SYSPARAM(2)主图可见K线最初位置
@@ -12469,7 +12483,7 @@ var PERIOD_MAP=[5,6,7,11,0,1,2,3,4,5,9];if(this.Period>=0&&this.Period<=PERIOD_M
12469
12483
  SYSPARAM(5)主图可见K线最低价,注意:该函数仅K线图形分析且打开十字光标时有效,否则返回值不确定
12470
12484
  SYSPARAM(6)画面上光标数值,注意:该函数仅K线图形分析且打开十字光标时有效,否则返回值不确定
12471
12485
  */this.SysParam=function(id,jsExec){if(!this.DrawInfo)return[];if(id==2){jsExec.IsUsePageData=true;if(IFrameSplitOperator.IsNumber(this.DrawInfo.Start))return this.DrawInfo.Start+1;}else if(id==3){jsExec.IsUsePageData=true;if(IFrameSplitOperator.IsNumber(this.DrawInfo.End))return this.DrawInfo.End+1;}else if(id==4){jsExec.IsUsePageData=true;if(!IFrameSplitOperator.IsNumber(this.DrawInfo.End)||!IFrameSplitOperator.IsNumber(this.DrawInfo.Start))return[];if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return[];var high=null;for(var i=this.DrawInfo.Start;i<=this.DrawInfo.End&&i<this.Data.Data.length;++i){var item=this.Data.Data[i];if(!IFrameSplitOperator.IsNumber(item.High))continue;if(high==null)high=item.High;else if(high<item.High)high=item.High;}return high;}else if(id==5){jsExec.IsUsePageData=true;if(!IFrameSplitOperator.IsNumber(this.DrawInfo.End)||!IFrameSplitOperator.IsNumber(this.DrawInfo.Start))return[];if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return[];var low=null;for(var i=this.DrawInfo.Start;i<=this.DrawInfo.End&&i<this.Data.Data.length;++i){var item=this.Data.Data[i];if(!IFrameSplitOperator.IsNumber(item.Low))continue;if(low==null)low=item.Low;else if(low>item.Low)low=item.Low;}return low;}return[];};}//是否有是有效的数字
12472
- JSSymbolData.prototype.IsNumber=function(value){if(value==null)return false;if(isNaN(value))return false;return true;};JSSymbolData.prototype.IsDivideNumber=function(value){if(value==null)return false;if(isNaN(value))return false;if(value==0)return false;return true;};JSSymbolData.prototype.JsonDataToFinance=function(data){var financeData;for(var _i120=1;_i120<=4;++_i120){switch(_i120){case 1:var finance=data.finance1;var announcement=data.announcement1;break;case 2:var finance=data.finance2;var announcement=data.announcement2;break;case 3:var finance=data.finance3;var announcement=data.announcement3;break;case 4:var finance=data.finance4;var announcement=data.announcement4;break;default:break;}if(!finance||!announcement||!this.IsNumber(announcement.year)||!this.IsNumber(announcement.quarter))continue;if(financeData)//如果存在1天公布多个报告期数据 只取最新的一个公告期数据
12486
+ JSSymbolData.prototype.IsNumber=function(value){if(value==null)return false;if(isNaN(value))return false;return true;};JSSymbolData.prototype.IsDivideNumber=function(value){if(value==null)return false;if(isNaN(value))return false;if(value==0)return false;return true;};JSSymbolData.prototype.JsonDataToFinance=function(data){var financeData;for(var _i125=1;_i125<=4;++_i125){switch(_i125){case 1:var finance=data.finance1;var announcement=data.announcement1;break;case 2:var finance=data.finance2;var announcement=data.announcement2;break;case 3:var finance=data.finance3;var announcement=data.announcement3;break;case 4:var finance=data.finance4;var announcement=data.announcement4;break;default:break;}if(!finance||!announcement||!this.IsNumber(announcement.year)||!this.IsNumber(announcement.quarter))continue;if(financeData)//如果存在1天公布多个报告期数据 只取最新的一个公告期数据
12473
12487
  {if(financeData.Announcement.year<announcement.year)financeData={Date:data.date,Finance:finance,Announcement:announcement};}else{financeData={Date:data.date,Finance:finance,Announcement:announcement};}}return financeData;};var JS_EXECUTE_DEBUG_LOG=false;var JS_EXECUTE_JOB_ID={JOB_DOWNLOAD_SYMBOL_DATA:1,//下载股票的K线数据
12474
12488
  JOB_DOWNLOAD_INDEX_DATA:2,//下载大盘的K线数据
12475
12489
  JOB_DOWNLOAD_SYMBOL_LATEST_DATA:3,//最新的股票行情数据
@@ -12657,8 +12671,8 @@ this.ConstVarTable=new _map2.default([//个股数据
12657
12671
  this.UpdateUICallback=null;//回调
12658
12672
  this.CallbackParam=null;this.IsSectionMode=false;if(option){if(option.Callback)this.UpdateUICallback=option.Callback;if(option.CallbackParam){this.CallbackParam=option.CallbackParam;if(this.CallbackParam.HQChart)this.GetEventCallback=function(id){return _this56.CallbackParam.HQChart.GetEventCallback(id);};}if(option.Arguments)this.Arguments=option.Arguments;if(option.IsSectionMode)this.IsSectionMode=option.IsSectionMode;if(option.Self)this.IndexCtrl=option.Self;//调试模式信息
12659
12673
  if(IFrameSplitOperator.IsNumber(option.Debug))this.Debug=option.Debug;if(option.DebugFilter)this.DebugFilter=option.DebugFilter;}this.Execute=function(){this.OutVarTable=[];this.VarTable=new _map2.default();this.VarDrawTable=new _map2.default();//绘图变量表
12660
- JSConsole.Complier.Log('[JSExecute::Execute] Load Arguments',this.Arguments);for(var _i121 in this.Arguments)//预定义的变量
12661
- {var _item15=this.Arguments[_i121];this.VarTable.set(_item15.Name,_item15.Value);}this.RunNextJob();};this.RunNextJob=function(){if(this.JobList.length<=0)return;JSConsole.Complier.Log('[JSExecute::Execute] JobList',this.JobList);var jobItem=this.JobList.shift();switch(jobItem.ID){case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SYMBOL_DATA:return this.SymbolData.GetSymbolData();case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SYMBOL_PERIOD_DATA:return this.SymbolData.GetSymbolPeriodData(jobItem);case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_INDEX_DATA:return this.SymbolData.GetIndexData();case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_INDUSTRY_DATA:return this.SymbolData.GetIndustryData();case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_LATEST_INDEX_DATA:return this.SymbolData.GetLatestIndexData();case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_INDEX_INCREASE_DATA:return this.SymbolData.GetIndexIncreaseData(jobItem);case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SYMBOL_LATEST_DATA:return this.SymbolData.GetLatestData(jobItem);case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_VOLR_DATA://量比
12674
+ JSConsole.Complier.Log('[JSExecute::Execute] Load Arguments',this.Arguments);for(var _i126 in this.Arguments)//预定义的变量
12675
+ {var _item15=this.Arguments[_i126];this.VarTable.set(_item15.Name,_item15.Value);}this.RunNextJob();};this.RunNextJob=function(){if(this.JobList.length<=0)return;JSConsole.Complier.Log('[JSExecute::Execute] JobList',this.JobList);var jobItem=this.JobList.shift();switch(jobItem.ID){case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SYMBOL_DATA:return this.SymbolData.GetSymbolData();case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SYMBOL_PERIOD_DATA:return this.SymbolData.GetSymbolPeriodData(jobItem);case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_INDEX_DATA:return this.SymbolData.GetIndexData();case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_INDUSTRY_DATA:return this.SymbolData.GetIndustryData();case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_LATEST_INDEX_DATA:return this.SymbolData.GetLatestIndexData();case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_INDEX_INCREASE_DATA:return this.SymbolData.GetIndexIncreaseData(jobItem);case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SYMBOL_LATEST_DATA:return this.SymbolData.GetLatestData(jobItem);case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_VOLR_DATA://量比
12662
12676
  return this.SymbolData.GetVolRateData(jobItem);case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_OTHER_SYMBOL_DATA://指定股票数据
12663
12677
  return this.SymbolData.GetOtherSymbolData(jobItem);case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_BALANCE:case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_RATE:case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_BUY_BALANCE://买入信息-融资余额
12664
12678
  case JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_MARGIN_BUY_AMOUNT://买入信息-买入额
@@ -12691,7 +12705,7 @@ case'HY_INDEXA':case'HY_INDEXC':case'HY_INDEXH':case'HY_INDEXL':case'HY_INDEXO':
12691
12705
  this.ReadVariable=function(name,node){if(this.ConstVarTable.has(name)){var data=this.ConstVarTable.get(name);if(data==null)//动态加载,用到再加载
12692
12706
  {data=this.ReadSymbolData(name,node);this.ConstVarTable.set(name,data);}return data;}if(g_JSComplierResource.IsCustomVariant(name))return this.ReadCustomVariant(name,node);//读取自定义变量
12693
12707
  if(this.VarTable.has(name))return this.VarTable.get(name);if(name.indexOf('#')>0){var aryPeriod=name.split('#');return this.SymbolData.GetSymbolPeriodCacheData(aryPeriod[0],aryPeriod[1]);}if(name.indexOf("COLOR")==0){var colorValue=JSComplier.ColorVarToRGB(name);if(colorValue)return colorValue;}this.ThrowUnexpectedNode(node,'变量'+name+'不存在',name);return null;};this.ReadMemberVariable=function(node){var obj=node.Object;var member=node.Property;var maiObj=void 0;if(obj.Type==Syntax.BinaryExpression||obj.Type==Syntax.LogicalExpression)maiObj=this.VisitBinaryExpression(obj);else if(obj.Type==Syntax.CallExpression)maiObj=this.VisitCallExpression(obj);else maiObj=this.GetNodeValue(obj);if(!maiObj)return null;var value=maiObj[member.Name];if(value)return value;return null;};//单数据转成数组 个数和历史数据一致
12694
- this.SingleDataToArrayData=function(value){var count=this.SymbolData.Data.Data.length;var result=[];for(var _i122=0;_i122<count;++_i122){result[_i122]=value;}return result;};this.RunAST=function(){if(!this.AST)this.ThrowError();if(!this.AST.Body)this.ThrowError();for(var _i123=0;_i123<this.AST.Body.length;++_i123){var _item16=this.AST.Body[_i123];this.RunASTNode(_item16,_i123);if(this.Interrupt&&this.Interrupt.Exit){JSConsole.Complier.Log('[JSExecute::RunAST] Interrupt',this.Interrupt);//中断退出
12708
+ this.SingleDataToArrayData=function(value){var count=this.SymbolData.Data.Data.length;var result=[];for(var _i127=0;_i127<count;++_i127){result[_i127]=value;}return result;};this.RunAST=function(){if(!this.AST)this.ThrowError();if(!this.AST.Body)this.ThrowError();for(var _i128=0;_i128<this.AST.Body.length;++_i128){var _item16=this.AST.Body[_i128];this.RunASTNode(_item16,_i128);if(this.Interrupt&&this.Interrupt.Exit){JSConsole.Complier.Log('[JSExecute::RunAST] Interrupt',this.Interrupt);//中断退出
12695
12709
  break;}}JSConsole.Complier.Log('[JSExecute::RunAST]',this.VarTable);return this.OutVarTable;};this.RunASTNode=function(item,lineID){this.VisitNode(item);var i=lineID;//输出变量
12696
12710
  if(item.Type==Syntax.ExpressionStatement&&item.Expression){if(item.Expression.Type==Syntax.AssignmentExpression){if(item.Expression.Operator==':'&&item.Expression.Left){var assignmentItem=item.Expression;var _varName=assignmentItem.Left.Name;var _outVar=this.VarTable.get(_varName);if(this.VarDrawTable.has(_varName))//绘图函数赋值
12697
12711
  {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)//常量
@@ -12725,7 +12739,7 @@ else if(_value4.indexOf("FONTSIZE")==0){var strFontSize=_value4.replace("FONTSIZ
12725
12739
  {var _outVar14=this.VarTable.get(_varName3);var _value12={Name:_varName3,Data:_outVar14,Color:color,Type:2};if(lineWidth)_value12.LineWidth=lineWidth;if(color)_value12.Color=color;if(upColor)_value12.UpColor=upColor;if(downColor)_value12.DownColor=downColor;this.OutVarTable.push(_value12);}else if(_varName3&&color&&!_draw3){var _outVar15=this.VarTable.get(_varName3);if(!Array.isArray(_outVar15))_outVar15=this.SingleDataToArrayData(_outVar15);var _value13={Name:_varName3,Data:_outVar15,Color:color,Type:0};if(lineWidth)_value13.LineWidth=lineWidth;if(isShow==false)_value13.IsShow=false;if(isExData==true)_value13.IsExData=true;if(isDotLine==true)_value13.IsDotLine=true;if(IFrameSplitOperator.IsNonEmptyArray(lineDash))_value13.LineDash=lineDash;if(isOverlayLine==true)_value13.IsOverlayLine=true;if(isSingleLine==true)_value13.IsSingleLine=true;if(isNoneName==true)_value13.NoneName=true;if(isShowTitle==false)_value13.IsShowTitle=false;if(stepLine==true)_value13.Type=7;this.OutVarTable.push(_value13);}else if(_draw3)//画图函数
12726
12740
  {var outVar={Name:_draw3.Name,Draw:_draw3,Type:1};if(color)outVar.Color=color;if(isDotLine==true)outVar.IsDotLine=true;if(IFrameSplitOperator.IsNonEmptyArray(lineDash))outVar.LineDash=lineDash;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(font)outVar.Font=font;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 _value14={Name:_varName3,Data:_outVar16,Type:0};if(color)_value14.Color=color;if(lineWidth)_value14.LineWidth=lineWidth;if(isShow==false)_value14.IsShow=false;if(isExData==true)_value14.IsExData=true;if(isDotLine==true)_value14.IsDotLine=true;if(IFrameSplitOperator.IsNonEmptyArray(lineDash))_value14.LineDash=lineDash;if(isOverlayLine==true)_value14.IsOverlayLine=true;if(isSingleLine==true)_value14.IsSingleLine=true;if(isShowTitle==false)_value14.IsShowTitle=false;if(stepLine==true)_value14.Type=7;this.OutVarTable.push(_value14);}}}};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();//执行脚本
12727
12741
  JSConsole.Complier.Log('[JSComplier.Run] execute finish',data);if(this.IndexCtrl)this.IndexCtrl.Status=0;if(this.UpdateUICallback){JSConsole.Complier.Log('[JSComplier.Run] invoke UpdateUICallback.');if(this.CallbackParam&&this.CallbackParam.Job&&this.CallbackParam.Job.ID==JS_EXECUTE_JOB_ID.JOB_EXECUTE_INDEX){this.UpdateUICallback(data,this.CallbackParam,this.SymbolData);}else{if(this.CallbackParam&&this.CallbackParam.Self&&this.CallbackParam.Self.ClassName==='ScriptIndexConsole')this.CallbackParam.JSExecute=this;if(this.IsUsePageData==true)this.CallbackParam.Self.IsUsePageData=true;this.UpdateUICallback(data,this.CallbackParam);}}}catch(error){JSConsole.Complier.Log(error);if(error.Job){JSConsole.Complier.Log('[JSComplier.Run] download job and reexectue',error.Job);this.JobList.push(error.Job);this.JobList.push({ID:JS_EXECUTE_JOB_ID.JOB_RUN_SCRIPT});this.Execute();}else if(this.ErrorCallback){if(this.IndexCtrl)this.IndexCtrl.Status=0;this.ErrorCallback(error,this.CallbackParam);}}};this.DebugRun_End=function(){var data=this.OutVarTable;JSConsole.Complier.Log('[JSComplier.DebugRun_End] execute finish',data);if(this.IndexCtrl)this.IndexCtrl.Status=0;if(this.UpdateUICallback){JSConsole.Complier.Log('[JSComplier.DebugRun_End] invoke UpdateUICallback.');if(this.CallbackParam&&this.CallbackParam.Job&&this.CallbackParam.Job.ID==JS_EXECUTE_JOB_ID.JOB_EXECUTE_INDEX){this.UpdateUICallback(data,this.CallbackParam,this.SymbolData);}else{if(this.CallbackParam&&this.CallbackParam.Self&&this.CallbackParam.Self.ClassName==='ScriptIndexConsole')this.CallbackParam.JSExecute=this;if(this.IsUsePageData==true)this.CallbackParam.Self.IsUsePageData=true;this.UpdateUICallback(data,this.CallbackParam);}}};this.DebugRun_Next=function(debugCtrl){var _this57=this;if(debugCtrl.ExeLine<debugCtrl.LineCount){var item=this.AST.Body[debugCtrl.ExeLine];this.RunASTNode(item);++debugCtrl.ExeLine;this.DebugFilter(debugCtrl,function(){_this57.DebugRun_Next(debugCtrl);});}else{this.DebugRun_End();debugCtrl.Status=2;this.DebugFilter(debugCtrl,null);}};//debug模式
12728
- this.DebugRun=function(){var _this58=this;try{if(!this.AST)this.ThrowError();if(!this.AST.Body)this.ThrowError();var debugCtrl={LineCount:this.AST.Body.length,ExeLine:0,Self:this,Status:1};this.DebugFilter(debugCtrl,function(){_this58.DebugRun_Next(debugCtrl);});}catch(error){if(this.ErrorCallback){if(this.IndexCtrl)this.IndexCtrl.Status=0;this.ErrorCallback(error,this.CallbackParam);}}};this.VisitNode=function(node){switch(node.Type){case Syntax.SequenceExpression:this.VisitSequenceExpression(node);break;case Syntax.ExpressionStatement:this.VisitNode(node.Expression);break;case Syntax.AssignmentExpression:this.VisitAssignmentExpression(node);break;case Syntax.BinaryExpression:case Syntax.LogicalExpression:this.VisitBinaryExpression(node);break;case Syntax.CallExpression:this.VisitCallExpression(node);break;case Syntax.UnaryExpression:this.VisitUnaryExpression(node);break;}};this.VisitUnaryExpression=function(node){if(node.Operator=='-'){var tempValue=this.GetNodeValueEx(node.Argument);var value=this.Algorithm.Subtract(0,tempValue);}else{var value=node.Argument.Value;}return value;};this.VisitSequenceExpression=function(node){for(var _i124 in node.Expression){var _item17=node.Expression[_i124];this.VisitNode(_item17);}};this.GetDynamicScriptIndex=function(node,args){var dynamicName=node.Callee.Value;var aryValue=dynamicName.split(".");if(aryValue.length!=2){this.ThrowUnexpectedNode(node,'\u8C03\u7528\u6307\u6807\u683C\u5F0F\''+dynamicName+'\'\u9519\u8BEF');}var name=aryValue[0];var outName=aryValue[1];var period=null;var pos=outName.indexOf('#');if(pos!=-1){period=outName.slice(pos+1);//周期
12742
+ this.DebugRun=function(){var _this58=this;try{if(!this.AST)this.ThrowError();if(!this.AST.Body)this.ThrowError();var debugCtrl={LineCount:this.AST.Body.length,ExeLine:0,Self:this,Status:1};this.DebugFilter(debugCtrl,function(){_this58.DebugRun_Next(debugCtrl);});}catch(error){if(this.ErrorCallback){if(this.IndexCtrl)this.IndexCtrl.Status=0;this.ErrorCallback(error,this.CallbackParam);}}};this.VisitNode=function(node){switch(node.Type){case Syntax.SequenceExpression:this.VisitSequenceExpression(node);break;case Syntax.ExpressionStatement:this.VisitNode(node.Expression);break;case Syntax.AssignmentExpression:this.VisitAssignmentExpression(node);break;case Syntax.BinaryExpression:case Syntax.LogicalExpression:this.VisitBinaryExpression(node);break;case Syntax.CallExpression:this.VisitCallExpression(node);break;case Syntax.UnaryExpression:this.VisitUnaryExpression(node);break;}};this.VisitUnaryExpression=function(node){if(node.Operator=='-'){var tempValue=this.GetNodeValueEx(node.Argument);var value=this.Algorithm.Subtract(0,tempValue);}else{var value=node.Argument.Value;}return value;};this.VisitSequenceExpression=function(node){for(var _i129 in node.Expression){var _item17=node.Expression[_i129];this.VisitNode(_item17);}};this.GetDynamicScriptIndex=function(node,args){var dynamicName=node.Callee.Value;var aryValue=dynamicName.split(".");if(aryValue.length!=2){this.ThrowUnexpectedNode(node,'\u8C03\u7528\u6307\u6807\u683C\u5F0F\''+dynamicName+'\'\u9519\u8BEF');}var name=aryValue[0];var outName=aryValue[1];var period=null;var pos=outName.indexOf('#');if(pos!=-1){period=outName.slice(pos+1);//周期
12729
12743
  outName=outName.slice(0,pos);}var strValue="";for(var i=0;i<args.length;++i){var value=args[i];if(strValue.length>0)strValue+=",";strValue+=''+value;}var strArgs='('+strValue+')';var key=outName+'#'+strArgs;if(period)key+='#'+period;if(!this.VarTable.has(name))return null;var indexData=this.VarTable.get(name);var value=indexData[key];return value;};//函数调用
12730
12744
  this.VisitCallExpression=function(node){var funcName=node.Callee.Name;var args=[];for(var i=0;i<node.Arguments.length;++i){var item=node.Arguments[i];var value;if(funcName==="IFC"&&i>=1)break;//IFC先处理第1个条件参数
12731
12745
  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);args.push(value);}if(node.Callee.Type==Syntax.Literal){node.Out=[];node.Draw=null;var data=this.GetDynamicScriptIndex(node,args);if(data)node.Out=data;return node.Out;}if(funcName==="IFC"){//IFC(X,A,B)若X不为0则执行A,否则执行B.IFC与IF函数的区别:根据X的值来选择性执行A、B表达式.
@@ -12766,8 +12780,8 @@ this.ConstVarTable=new _map2.default([//个股数据
12766
12780
  ['HYBLOCK',"所属行业"],//所属行业板块
12767
12781
  ['DYBLOCK',"所属地域"],//所属地域板块
12768
12782
  ['GNBLOCK',"所属概念"],//所属概念
12769
- ["FGBLOCK","所属风格板块"],["ZSBLOCK","所属指数板块"],["ZHBLOCK",'所属组合板块'],["ZDBLOCK",'所属自定义板块'],["HYZSCODE","所属行业的板块指数代码"],["GNBLOCKNUM","所属概念板块的个数"],["FGBLOCKNUM","所属风格板块的个数"],["ZSBLOCKNUM","所属指数板块的个数"],["ZHBLOCKNUM","所属组合板块的个数"],["ZDBLOCKNUM","所属自定义板块的个数"],["HYSYL","指数市盈率或个股所属行业的市盈率"],["HYSJL","指数市净率或个股所属行业的市净率"],['DRAWNULL',"无效数据"],["TR","求真实波幅"],["LARGEINTRDVOL","逐笔买入大单成交量"],["LARGEOUTTRDVOL","逐笔卖出大单成交量"],["TRADENUM","逐笔成交总单数"],["TRADEINNUM","逐笔买入成交单数"],["TRADEOUTNUM","逐笔卖出成交单数"],["LARGETRDINNUM","逐笔买入大单成交单数"],["LARGETRDOUTNUM","逐笔卖出大单成交单数"],["CUR_BUYORDER","总委买量"],["CUR_SELLORDER","总委卖量"],["ACTINVOL","主动买成交量"],["ACTOUTVOL","主动卖成交量"],["BIDORDERVOL","累计总有效委买量"],["BIDCANCELVOL","累计总有效撤买量"],["AVGBIDPX","最新委买均价"],["OFFERORDERVOL","累计总有效委卖量"],["OFFERCANCELVOL","累计总有效撤卖量"],["AVGOFFERPX","最新委卖均价"],['COLORBLACK','黑色'],['COLORBLUE','蓝色'],['COLORGREEN','绿色'],['COLORCYAN','青色'],['COLORRED','红色'],['COLORMAGENTA','洋红色'],['COLORBROWN','棕色'],['COLORLIGRAY','淡灰色'],['COLORGRAY','深灰色'],['COLORLIBLUE','淡蓝色'],['COLORLIGREEN','淡绿色'],['COLORLICYAN','淡青色'],['COLORLIRED','淡红色'],['COLORLIMAGENTA','淡洋红色'],['COLORWHITE','白色'],['COLORYELLOW','黄色']]);if(option){if(option.Callback)this.UpdateUICallback=option.Callback;if(option.CallbackParam)this.CallbackParam=option.CallbackParam;if(option.Arguments)this.Arguments=option.Arguments;}this.Run=function(){try{this.OutVarTable=[];this.VarTable=new _map2.default();JSConsole.Complier.Log('[JSExecute::JSExplainer] Load Arguments',this.Arguments);for(var _i125 in this.Arguments)//预定义的变量
12770
- {var _item18=this.Arguments[_i125];this.VarTable.set(_item18.Name,_item18.Value);}var data=this.RunAST();//执行脚本
12783
+ ["FGBLOCK","所属风格板块"],["ZSBLOCK","所属指数板块"],["ZHBLOCK",'所属组合板块'],["ZDBLOCK",'所属自定义板块'],["HYZSCODE","所属行业的板块指数代码"],["GNBLOCKNUM","所属概念板块的个数"],["FGBLOCKNUM","所属风格板块的个数"],["ZSBLOCKNUM","所属指数板块的个数"],["ZHBLOCKNUM","所属组合板块的个数"],["ZDBLOCKNUM","所属自定义板块的个数"],["HYSYL","指数市盈率或个股所属行业的市盈率"],["HYSJL","指数市净率或个股所属行业的市净率"],['DRAWNULL',"无效数据"],["TR","求真实波幅"],["LARGEINTRDVOL","逐笔买入大单成交量"],["LARGEOUTTRDVOL","逐笔卖出大单成交量"],["TRADENUM","逐笔成交总单数"],["TRADEINNUM","逐笔买入成交单数"],["TRADEOUTNUM","逐笔卖出成交单数"],["LARGETRDINNUM","逐笔买入大单成交单数"],["LARGETRDOUTNUM","逐笔卖出大单成交单数"],["CUR_BUYORDER","总委买量"],["CUR_SELLORDER","总委卖量"],["ACTINVOL","主动买成交量"],["ACTOUTVOL","主动卖成交量"],["BIDORDERVOL","累计总有效委买量"],["BIDCANCELVOL","累计总有效撤买量"],["AVGBIDPX","最新委买均价"],["OFFERORDERVOL","累计总有效委卖量"],["OFFERCANCELVOL","累计总有效撤卖量"],["AVGOFFERPX","最新委卖均价"],['COLORBLACK','黑色'],['COLORBLUE','蓝色'],['COLORGREEN','绿色'],['COLORCYAN','青色'],['COLORRED','红色'],['COLORMAGENTA','洋红色'],['COLORBROWN','棕色'],['COLORLIGRAY','淡灰色'],['COLORGRAY','深灰色'],['COLORLIBLUE','淡蓝色'],['COLORLIGREEN','淡绿色'],['COLORLICYAN','淡青色'],['COLORLIRED','淡红色'],['COLORLIMAGENTA','淡洋红色'],['COLORWHITE','白色'],['COLORYELLOW','黄色']]);if(option){if(option.Callback)this.UpdateUICallback=option.Callback;if(option.CallbackParam)this.CallbackParam=option.CallbackParam;if(option.Arguments)this.Arguments=option.Arguments;}this.Run=function(){try{this.OutVarTable=[];this.VarTable=new _map2.default();JSConsole.Complier.Log('[JSExecute::JSExplainer] Load Arguments',this.Arguments);for(var _i130 in this.Arguments)//预定义的变量
12784
+ {var _item18=this.Arguments[_i130];this.VarTable.set(_item18.Name,_item18.Value);}var data=this.RunAST();//执行脚本
12771
12785
  JSConsole.Complier.Log('[JSExplainer.Run] explain finish',data);if(this.UpdateUICallback)//回调发送结果, 可以支持异步
12772
12786
  {JSConsole.Complier.Log('[JSExplainer.Run] invoke UpdateUICallback.');this.UpdateUICallback(data);}}catch(error){JSConsole.Complier.Log('[JSExplainer.Run] throw error ',error);if(this.ErrorCallback){this.ErrorCallback(error,this.OutVarTable);}}};this.RunAST=function(){if(!this.AST)this.ThrowError();if(!this.AST.Body)this.ThrowError();for(var i=0;i<this.AST.Body.length;++i){//console.log(`[JSExplainer::RunAST] ${i}`);
12773
12787
  var item=this.AST.Body[i];this.VisitNode(item);//输出变量
@@ -12790,8 +12804,8 @@ else if(_value16.indexOf('LINEOVERLAY')==0)isOverlayLine=true;else if(_value16.i
12790
12804
  {outValue+=",画柱状线";var _value20={Name:_varName8,Draw:outValue,Type:5};this.OutVarTable.push(_value20);}else if(volStick&&_varName8)//VOLSTICK 画彩色柱状线
12791
12805
  {outValue+=",画成交量柱状线";var _value21={Name:_varName8,Draw:outValue,Type:6};this.OutVarTable.push(_value21);}else if(_varName8&&color){var _value22={Name:_varName8,Data:outValue,Color:color,Type:0};this.OutVarTable.push(_value22);}else if(draw)//画图函数
12792
12806
  {var outVar={Name:_drawName,Draw:outValue,Type:1};this.OutVarTable.push(outVar);}else if(colorStick&&_varName8)//CYW: SUM(VAR4,10)/10000, COLORSTICK; 画上下柱子
12793
- {outValue+=",画彩色柱状线";var _value23={Name:_varName8,Draw:outValue,Color:color,Type:2};this.OutVarTable.push(_value23);}else if(_varName8){var _value24={Name:_varName8,Data:outValue,Type:0};this.OutVarTable.push(_value24);}}}}JSConsole.Complier.Log('[JSExplainer::Run]',this.VarTable);return this.OutVarTable;};this.VisitNode=function(node){switch(node.Type){case Syntax.SequenceExpression:this.VisitSequenceExpression(node);break;case Syntax.ExpressionStatement:this.VisitNode(node.Expression);break;case Syntax.AssignmentExpression:this.VisitAssignmentExpression(node);break;case Syntax.BinaryExpression:case Syntax.LogicalExpression:this.VisitBinaryExpression(node);break;case Syntax.CallExpression:this.VisitCallExpression(node);break;case Syntax.UnaryExpression:this.VisitUnaryExpression(node);break;}};this.VisitSequenceExpression=function(node){for(var _i126 in node.Expression){var _item19=node.Expression[_i126];this.VisitNode(_item19);}};this.VisitUnaryExpression=function(node){if(node.Operator=='-'){var _value25=this.GetNodeValueEx(node.Argument);return'-'+_value25;}return node.Argument.Value;};//函数调用
12794
- this.VisitCallExpression=function(node){var funcName=node.Callee.Name;var args=[];for(var _i127 in node.Arguments){var _item20=node.Arguments[_i127];var _value26=void 0;if(_item20.Type==Syntax.BinaryExpression||_item20.Type==Syntax.LogicalExpression)_value26=this.VisitBinaryExpression(_item20);else if(_item20.Type==Syntax.CallExpression)_value26=this.VisitCallExpression(_item20);else _value26=this.GetNodeValue(_item20);args.push(_value26);}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';}}],//字符串函数
12807
+ {outValue+=",画彩色柱状线";var _value23={Name:_varName8,Draw:outValue,Color:color,Type:2};this.OutVarTable.push(_value23);}else if(_varName8){var _value24={Name:_varName8,Data:outValue,Type:0};this.OutVarTable.push(_value24);}}}}JSConsole.Complier.Log('[JSExplainer::Run]',this.VarTable);return this.OutVarTable;};this.VisitNode=function(node){switch(node.Type){case Syntax.SequenceExpression:this.VisitSequenceExpression(node);break;case Syntax.ExpressionStatement:this.VisitNode(node.Expression);break;case Syntax.AssignmentExpression:this.VisitAssignmentExpression(node);break;case Syntax.BinaryExpression:case Syntax.LogicalExpression:this.VisitBinaryExpression(node);break;case Syntax.CallExpression:this.VisitCallExpression(node);break;case Syntax.UnaryExpression:this.VisitUnaryExpression(node);break;}};this.VisitSequenceExpression=function(node){for(var _i131 in node.Expression){var _item19=node.Expression[_i131];this.VisitNode(_item19);}};this.VisitUnaryExpression=function(node){if(node.Operator=='-'){var _value25=this.GetNodeValueEx(node.Argument);return'-'+_value25;}return node.Argument.Value;};//函数调用
12808
+ this.VisitCallExpression=function(node){var funcName=node.Callee.Name;var args=[];for(var _i132 in node.Arguments){var _item20=node.Arguments[_i132];var _value26=void 0;if(_item20.Type==Syntax.BinaryExpression||_item20.Type==Syntax.LogicalExpression)_value26=this.VisitBinaryExpression(_item20);else if(_item20.Type==Syntax.CallExpression)_value26=this.VisitCallExpression(_item20);else _value26=this.GetNodeValue(_item20);args.push(_value26);}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';}}],//字符串函数
12795
12809
  ["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';}}],["STRCAT6",{Name:"STRCAT6",Param:{Dynamic:true},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';}}],["VARCAT6",{Name:"VARCAT",Param:{Dynamic:true},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';}}],["L2_VOLNUM",{Name:"L2_VOLNUM",Param:{Count:2},ToString:function ToString(args){return'\u5355\u6570\u5206\u6863';}}],["L2_VOL",{Name:"L2_VOL",Param:{Count:2},ToString:function ToString(args){return'\u6210\u4EA4\u91CF\u5206\u6863';}}],["L2_AMO",{Name:"L2_AMO",Param:{Count:2},ToString:function ToString(args){return'\u6210\u4EA4\u989D\u5206\u6863';}}],["TABLE_CELL",{Name:"TABLE_CELL",Param:{Dynamic:true},ToString:function ToString(args){return'\u521B\u5EFA\u8868\u683C\u5355\u5143\u683C';}}],["TABLE_ROW",{Name:"TABLE_ROW",Param:{Dynamic:true},ToString:function ToString(args){return'\u521B\u5EFA\u8868\u683C\u884C';}}],["DRAWTABLE",{Name:"DRAWTABLE",Param:{Dynamic:true},ToString:function ToString(args){return'\u7ED8\u5236\u8868\u683C';}}],["MAX6",{Name:"MAX6",Param:{Dynamic:true},ToString:function ToString(args){return"较大值";}}],["MIN6",{Name:"MIN6",Param:{Dynamic:true},ToString:function ToString(args){return"较小值";}}]]);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)//动态参数
12796
12810
  {}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);//绘图函数
12797
12811
  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"DRAWFLAGTEXT":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"DRAWLASTBARNUMBER":return"在最后一根k线输出数值";case"DRAWLASTBARTEXT":return"在最后一根k线显示文字";case"DRAWLASTBARICON":return"在最后一根k线绘制图标";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 自定义色
@@ -12998,7 +13012,7 @@ chart.KLineColor=varItem.Draw.DrawData.KLine;if(varItem.Color)chart.Color=varIte
12998
13012
  if(varItem.IsShow==false)chart.IsShow=false;var titleIndex=windowIndex+1;chart.Data.Data=varItem.Draw.DrawData.Data;chart.MainData.Data=varItem.Draw.DrawData.MainData;if(varItem.Draw.DrawData.Title)hqChart.TitlePaint[titleIndex].Data[i]=new DynamicTitleData(chart.Data,varItem.Draw.DrawData.Title,chart.Color);hqChart.ChartPaint.push(chart);};//创建K线
12999
13013
  this.CreateSelfKLine=function(hqChart,windowIndex,hisData){var chart=new ChartKLine();chart.Canvas=hqChart.Canvas;chart.Name="Self Kline";chart.Identify=this.Guid;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.Data=hisData;chart.IsShowMaxMinPrice=false;chart.IsShowKTooltip=false;chart.DrawType=this.KLineType;hqChart.ChartPaint.push(chart);};this.BindInstructionData=function(hqChart,windowIndex,hisData)//绑定指示指标
13000
13014
  {if(this.OutVar==null||this.OutVar.length<0)return;//参数
13001
- var indexParam='';for(var _i128 in this.Arguments){var _item21=this.Arguments[_i128];if(indexParam.length>0)indexParam+=',';indexParam+=_item21.Value.toString();}if(indexParam.length>0)indexParam='('+indexParam+')';if(this.InstructionType==2)//五彩K线
13015
+ var indexParam='';for(var _i133 in this.Arguments){var _item21=this.Arguments[_i133];if(indexParam.length>0)indexParam+=',';indexParam+=_item21.Value.toString();}if(indexParam.length>0)indexParam='('+indexParam+')';if(this.InstructionType==2)//五彩K线
13002
13016
  {var varItem=this.OutVar[this.OutVar.length-1];//取最后一组数据作为指示数据
13003
13017
  hqChart.SetInstructionData(this.InstructionType,{Data:varItem.Data,Name:this.Name,Param:indexParam,ID:this.ID});//设置指示数据
13004
13018
  return true;}else if(this.InstructionType==1)//交易系统
@@ -13016,12 +13030,12 @@ if(this.YSplitScale)hqChart.Frame.SubFrame[windowIndex].Frame.YSplitScale=this.Y
13016
13030
  var testData={ Name:'MULTI_LINE', Type:1,Draw:{ DrawType:'MULTI_LINE', DrawData:[point1,point2] } };
13017
13031
  this.OutVar.push(testData);
13018
13032
  }
13019
- */for(var _i129=0;_i129<this.OutVar.length;++_i129){var _item23=this.OutVar[_i129];if(_item23.IsExData===true)continue;//扩展数据不显示图形
13033
+ */for(var _i134=0;_i134<this.OutVar.length;++_i134){var _item23=this.OutVar[_i134];if(_item23.IsExData===true)continue;//扩展数据不显示图形
13020
13034
  if(_item23.Type==1000||_item23.Type==1001)continue;//数据集合, 字符串
13021
- if(_item23.Type==0){if(_item23.IsOverlayLine)this.CreateOverlayLine(hqChart,windowIndex,_item23,_i129,_item23.Type);else if(_item23.IsSingleLine)this.CreateSingleLine(hqChart,windowIndex,_item23,_i129,_item23.Type);else this.CreateLine(hqChart,windowIndex,_item23,_i129,_item23.Type);}else if(_item23.Type==1){switch(_item23.Draw.DrawType){case'STICKLINE':this.CreateBar(hqChart,windowIndex,_item23,_i129);break;case'DRAWTEXT':this.CreateDrawTextV2(hqChart,windowIndex,_item23,_i129);break;case"DRAWFLAGTEXT":this.CreateDrawFlagText(hqChart,windowIndex,_item23,_i129);break;case'SUPERDRAWTEXT':this.CreateText(hqChart,windowIndex,_item23,_i129);break;case'DRAWLINE':this.CreateStraightLine(hqChart,windowIndex,_item23,_i129);break;case'DRAWBAND':this.CreateBand(hqChart,windowIndex,_item23,_i129);break;case"FILLRGN":this.CreateFillRGN(hqChart,windowIndex,_item23,_i129);break;case"FILLRGN2":this.CreateFillRGN2(hqChart,windowIndex,_item23,_i129);break;case"FILLTOPRGN":case"FILLBOTTOMRGN":case"FILLVERTICALRGN":this.CreateFillBGRGN(hqChart,windowIndex,_item23,_i129);break;case"FLOATRGN":this.CreateFLOATRGN(hqChart,windowIndex,_item23,_i129);break;case'DRAWKLINE':case"DRAWKLINE1":this.CreateKLine(hqChart,windowIndex,_item23,_i129);break;case"DRAWOVERLAYKLINE":this.CreateOverlayKLine(hqChart,windowIndex,_item23,_i129);break;case"DRAWCOLORKLINE":this.CreateDrawColorKLine(hqChart,windowIndex,_item23,_i129);break;case'DRAWKLINE_IF':this.CreateKLine(hqChart,windowIndex,_item23,_i129);break;case'POLYLINE':this.CreatePolyLine(hqChart,windowIndex,_item23,_i129);break;case'DRAWGBK':case"DRAWGBK2":this.CreateBackgroud(hqChart,windowIndex,_item23,_i129);break;case"DRAWGBK_DIV":this.CreateBackgroundDiv(hqChart,windowIndex,_item23,_i129);break;case'DRAWTEXT_LINE':this.CreateTextLine(hqChart,windowIndex,_item23,_i129);break;case'DRAWNUMBER':this.CreateDrawNumber(hqChart,windowIndex,_item23,_i129);break;case"DRAWNUMBER_FIX":this.CreateDrawNumber_Fix(hqChart,windowIndex,_item23,_i129);break;case'DRAWTEXT_FIX':this.CreateDrawText_Fix(hqChart,windowIndex,_item23,_i129);break;case'DRAWICON':this.CreateIcon(hqChart,windowIndex,_item23,_i129);break;case"ICON":this.CreateIcon(hqChart,windowIndex,_item23,_i129);break;case"TIPICON":this.CreateTipIcon(hqChart,windowIndex,_item23,_i129);break;case'DRAWCHANNEL':this.CreateChannel(hqChart,windowIndex,_item23,_i129);break;case'PARTLINE':this.CreatePartLine(hqChart,windowIndex,_item23,_i129);break;case'DRAWRECTREL':this.CreateRectangle(hqChart,windowIndex,_item23,_i129);break;case"DRAWTEXTABS":case"DRAWTEXTREL":this.CreateDrawText(hqChart,windowIndex,_item23,_i129);break;case"DRAWOVERLAYLINE":this.CreateScriptOverlayLine(hqChart,windowIndex,_item23,_i129);break;case"DRAWSL":this.CreateChartSlopeLine(hqChart,windowIndex,_item23,_i129);break;case"VERTLINE":this.CreateChartVericaltLine(hqChart,windowIndex,_item23,_i129);break;case"HORLINE":this.CreateChartHorizontalLine(hqChart,windowIndex,_item23,_i129);break;case'MULTI_LINE':this.CreateMultiLine(hqChart,windowIndex,_item23,_i129);break;case"MULTI_POINT":this.CreateMultiPoint(hqChart,windowIndex,_item23,_i129);break;case'MULTI_BAR':this.CreateMultiBar(hqChart,windowIndex,_item23,_i129);break;case'MULTI_TEXT':this.CreateMultiText(hqChart,windowIndex,_item23,_i129);break;case'MULTI_SVGICON':this.CreateMultiSVGIcon(hqChart,windowIndex,_item23,_i129);break;case"DRAWSVG":this.CreateChartDrawSVG(hqChart,windowIndex,_item23,_i129);break;case"DRAWTITLE":this.CreateTitle(hqChart,windowIndex,_item23,_i129);break;case"MULTI_HTMLDOM":this.CreateMulitHtmlDom(hqChart,windowIndex,_item23,_i129);break;case"COLOR_KLINE":this.CreateColorKLine(hqChart,windowIndex,_item23,_i129);break;case"KLINE_BG":this.CreateBackgroud(hqChart,windowIndex,_item23,_i129);break;case"MULTI_POINT_LINE":this.CreateLineMultiData(hqChart,windowIndex,_item23,_i129);break;case"DRAW_SIMPLE_TABLE":this.CreateSimpleTable(hqChart,windowIndex,_item23,_i129);break;case"DRAW_SIMPLE_PIE":this.CreateSimplePie(hqChart,windowIndex,_item23,_i129);break;case"DRAW_SIMPLE_RADAR":this.CreateSimpleRadar(hqChart,windowIndex,_item23,_i129);break;case"DRAW_SIMPLE_DOUGHNUT":this.CreateSimpleDoughnut(hqChart,windowIndex,_item23,_i129);break;case"BUY":case"SELL":case"SELLSHORT":case"BUYSHORT":this.CreateTradeIcon(hqChart,windowIndex,_item23,_i129);break;case"DRAWLASTBARICON":case"DRAWLASTBARNUMBER":case"DRAWLASTBARTEXT":this.CreateDrawLastBarText(hqChart,windowIndex,_item23,_i129);break;case SCRIPT_CHART_NAME.OVERLAY_BARS:this.CreateStackedBar(hqChart,windowIndex,_item23,_i129);break;case SCRIPT_CHART_NAME.KLINE_TABLE:this.CreateKLineTable(hqChart,windowIndex,_item23,_i129);break;case SCRIPT_CHART_NAME.SCATTER_PLOT:this.CreateScatterPlot(hqChart,windowIndex,_item23,_i129);break;case SCRIPT_CHART_NAME.SCATTER_PLOT_V2:this.CreateScatterPlotV2(hqChart,windowIndex,_item23,_i129);break;case SCRIPT_CHART_NAME.CLIP_COLOR_STICK:this.CreateClipColorStick(hqChart,windowIndex,_item23,_i129);break;case SCRIPT_CHART_NAME.BASELINE_BAR:this.CreateBaseLineBar(hqChart,windowIndex,_item23,_i129);break;default:{var find=g_ScriptIndexChartFactory.Get(_item23.Draw.DrawType);//外部挂接
13022
- if(find&&find.CreateChartCallback)find.CreateChartCallback(hqChart,windowIndex,_item23,_i129,this);}break;}}else if(_item23.Type==2){this.CreateMACD(hqChart,windowIndex,_item23,_i129);}else if(_item23.Type==3){this.CreatePointDot(hqChart,windowIndex,_item23,_i129,hisData);}else if(_item23.Type==4){this.CreateLineStick(hqChart,windowIndex,_item23,_i129);}else if(_item23.Type==5){this.CreateStick(hqChart,windowIndex,_item23,_i129);}else if(_item23.Type==6){this.CreateVolStick(hqChart,windowIndex,_item23,_i129,hisData);}else if(_item23.Type==7){this.CreateLine(hqChart,windowIndex,_item23,_i129,_item23.Type);}else if(_item23.Type==8){this.CreateLine(hqChart,windowIndex,_item23,_i129,_item23.Type);}else if(_item23.Type==9){this.CreateArea(hqChart,windowIndex,_item23,_i129);}var titlePaint=hqChart.TitlePaint[windowIndex+1];if(titlePaint&&titlePaint.Data&&_i129<titlePaint.Data.length)//设置标题数值 小数位数和格式
13023
- {if(this.StringFormat>0)titlePaint.Data[_i129].StringFormat=this.StringFormat;if(this.FloatPrecision>=0)titlePaint.Data[_i129].FloatPrecision=this.FloatPrecision;if(this.OutName&&this.OutName.length>0&&this.Arguments&&this.Arguments.length>0){titlePaint.SetDynamicTitle(this.OutName,this.Arguments);}}}var titleIndex=windowIndex+1;var titlePaint=hqChart.TitlePaint[titleIndex];titlePaint.Title=this.Name;titlePaint.Identify=this.Guid;//指标ID
13024
- titlePaint.ArgumentsText=null;titlePaint.Script=this;titlePaint.IsShowMainIndexTitle=this.IsShowIndexTitle;if(!this.IsShortTitle){var indexParam='';for(var _i130=0;_i130<this.Arguments.length;++_i130){var _item24=this.Arguments[_i130];if(indexParam.length>0)indexParam+=',';indexParam+=_item24.Value.toString();}if(indexParam.length>0)titlePaint.ArgumentsText='('+indexParam+')';}if(this.TitleFont)titlePaint.Font=this.TitleFont;return true;};//给一个默认的颜色
13035
+ if(_item23.Type==0){if(_item23.IsOverlayLine)this.CreateOverlayLine(hqChart,windowIndex,_item23,_i134,_item23.Type);else if(_item23.IsSingleLine)this.CreateSingleLine(hqChart,windowIndex,_item23,_i134,_item23.Type);else this.CreateLine(hqChart,windowIndex,_item23,_i134,_item23.Type);}else if(_item23.Type==1){switch(_item23.Draw.DrawType){case'STICKLINE':this.CreateBar(hqChart,windowIndex,_item23,_i134);break;case'DRAWTEXT':this.CreateDrawTextV2(hqChart,windowIndex,_item23,_i134);break;case"DRAWFLAGTEXT":this.CreateDrawFlagText(hqChart,windowIndex,_item23,_i134);break;case'SUPERDRAWTEXT':this.CreateText(hqChart,windowIndex,_item23,_i134);break;case'DRAWLINE':this.CreateStraightLine(hqChart,windowIndex,_item23,_i134);break;case'DRAWBAND':this.CreateBand(hqChart,windowIndex,_item23,_i134);break;case"FILLRGN":this.CreateFillRGN(hqChart,windowIndex,_item23,_i134);break;case"FILLRGN2":this.CreateFillRGN2(hqChart,windowIndex,_item23,_i134);break;case"FILLTOPRGN":case"FILLBOTTOMRGN":case"FILLVERTICALRGN":this.CreateFillBGRGN(hqChart,windowIndex,_item23,_i134);break;case"FLOATRGN":this.CreateFLOATRGN(hqChart,windowIndex,_item23,_i134);break;case'DRAWKLINE':case"DRAWKLINE1":this.CreateKLine(hqChart,windowIndex,_item23,_i134);break;case"DRAWOVERLAYKLINE":this.CreateOverlayKLine(hqChart,windowIndex,_item23,_i134);break;case"DRAWCOLORKLINE":this.CreateDrawColorKLine(hqChart,windowIndex,_item23,_i134);break;case'DRAWKLINE_IF':this.CreateKLine(hqChart,windowIndex,_item23,_i134);break;case'POLYLINE':this.CreatePolyLine(hqChart,windowIndex,_item23,_i134);break;case'DRAWGBK':case"DRAWGBK2":this.CreateBackgroud(hqChart,windowIndex,_item23,_i134);break;case"DRAWGBK_DIV":this.CreateBackgroundDiv(hqChart,windowIndex,_item23,_i134);break;case'DRAWTEXT_LINE':this.CreateTextLine(hqChart,windowIndex,_item23,_i134);break;case'DRAWNUMBER':this.CreateDrawNumber(hqChart,windowIndex,_item23,_i134);break;case"DRAWNUMBER_FIX":this.CreateDrawNumber_Fix(hqChart,windowIndex,_item23,_i134);break;case'DRAWTEXT_FIX':this.CreateDrawText_Fix(hqChart,windowIndex,_item23,_i134);break;case'DRAWICON':this.CreateIcon(hqChart,windowIndex,_item23,_i134);break;case"ICON":this.CreateIcon(hqChart,windowIndex,_item23,_i134);break;case"TIPICON":this.CreateTipIcon(hqChart,windowIndex,_item23,_i134);break;case'DRAWCHANNEL':this.CreateChannel(hqChart,windowIndex,_item23,_i134);break;case'PARTLINE':this.CreatePartLine(hqChart,windowIndex,_item23,_i134);break;case'DRAWRECTREL':this.CreateRectangle(hqChart,windowIndex,_item23,_i134);break;case"DRAWTEXTABS":case"DRAWTEXTREL":this.CreateDrawText(hqChart,windowIndex,_item23,_i134);break;case"DRAWOVERLAYLINE":this.CreateScriptOverlayLine(hqChart,windowIndex,_item23,_i134);break;case"DRAWSL":this.CreateChartSlopeLine(hqChart,windowIndex,_item23,_i134);break;case"VERTLINE":this.CreateChartVericaltLine(hqChart,windowIndex,_item23,_i134);break;case"HORLINE":this.CreateChartHorizontalLine(hqChart,windowIndex,_item23,_i134);break;case'MULTI_LINE':this.CreateMultiLine(hqChart,windowIndex,_item23,_i134);break;case"MULTI_POINT":this.CreateMultiPoint(hqChart,windowIndex,_item23,_i134);break;case'MULTI_BAR':this.CreateMultiBar(hqChart,windowIndex,_item23,_i134);break;case'MULTI_TEXT':this.CreateMultiText(hqChart,windowIndex,_item23,_i134);break;case'MULTI_SVGICON':this.CreateMultiSVGIcon(hqChart,windowIndex,_item23,_i134);break;case"DRAWSVG":this.CreateChartDrawSVG(hqChart,windowIndex,_item23,_i134);break;case"DRAWTITLE":this.CreateTitle(hqChart,windowIndex,_item23,_i134);break;case"MULTI_HTMLDOM":this.CreateMulitHtmlDom(hqChart,windowIndex,_item23,_i134);break;case"COLOR_KLINE":this.CreateColorKLine(hqChart,windowIndex,_item23,_i134);break;case"KLINE_BG":this.CreateBackgroud(hqChart,windowIndex,_item23,_i134);break;case"MULTI_POINT_LINE":this.CreateLineMultiData(hqChart,windowIndex,_item23,_i134);break;case"DRAW_SIMPLE_TABLE":this.CreateSimpleTable(hqChart,windowIndex,_item23,_i134);break;case"DRAW_SIMPLE_PIE":this.CreateSimplePie(hqChart,windowIndex,_item23,_i134);break;case"DRAW_SIMPLE_RADAR":this.CreateSimpleRadar(hqChart,windowIndex,_item23,_i134);break;case"DRAW_SIMPLE_DOUGHNUT":this.CreateSimpleDoughnut(hqChart,windowIndex,_item23,_i134);break;case"BUY":case"SELL":case"SELLSHORT":case"BUYSHORT":this.CreateTradeIcon(hqChart,windowIndex,_item23,_i134);break;case"DRAWLASTBARICON":case"DRAWLASTBARNUMBER":case"DRAWLASTBARTEXT":this.CreateDrawLastBarText(hqChart,windowIndex,_item23,_i134);break;case SCRIPT_CHART_NAME.OVERLAY_BARS:this.CreateStackedBar(hqChart,windowIndex,_item23,_i134);break;case SCRIPT_CHART_NAME.KLINE_TABLE:this.CreateKLineTable(hqChart,windowIndex,_item23,_i134);break;case SCRIPT_CHART_NAME.SCATTER_PLOT:this.CreateScatterPlot(hqChart,windowIndex,_item23,_i134);break;case SCRIPT_CHART_NAME.SCATTER_PLOT_V2:this.CreateScatterPlotV2(hqChart,windowIndex,_item23,_i134);break;case SCRIPT_CHART_NAME.CLIP_COLOR_STICK:this.CreateClipColorStick(hqChart,windowIndex,_item23,_i134);break;case SCRIPT_CHART_NAME.BASELINE_BAR:this.CreateBaseLineBar(hqChart,windowIndex,_item23,_i134);break;default:{var find=g_ScriptIndexChartFactory.Get(_item23.Draw.DrawType);//外部挂接
13036
+ if(find&&find.CreateChartCallback)find.CreateChartCallback(hqChart,windowIndex,_item23,_i134,this);}break;}}else if(_item23.Type==2){this.CreateMACD(hqChart,windowIndex,_item23,_i134);}else if(_item23.Type==3){this.CreatePointDot(hqChart,windowIndex,_item23,_i134,hisData);}else if(_item23.Type==4){this.CreateLineStick(hqChart,windowIndex,_item23,_i134);}else if(_item23.Type==5){this.CreateStick(hqChart,windowIndex,_item23,_i134);}else if(_item23.Type==6){this.CreateVolStick(hqChart,windowIndex,_item23,_i134,hisData);}else if(_item23.Type==7){this.CreateLine(hqChart,windowIndex,_item23,_i134,_item23.Type);}else if(_item23.Type==8){this.CreateLine(hqChart,windowIndex,_item23,_i134,_item23.Type);}else if(_item23.Type==9){this.CreateArea(hqChart,windowIndex,_item23,_i134);}var titlePaint=hqChart.TitlePaint[windowIndex+1];if(titlePaint&&titlePaint.Data&&_i134<titlePaint.Data.length)//设置标题数值 小数位数和格式
13037
+ {if(this.StringFormat>0)titlePaint.Data[_i134].StringFormat=this.StringFormat;if(this.FloatPrecision>=0)titlePaint.Data[_i134].FloatPrecision=this.FloatPrecision;if(this.OutName&&this.OutName.length>0&&this.Arguments&&this.Arguments.length>0){titlePaint.SetDynamicTitle(this.OutName,this.Arguments);}}}var titleIndex=windowIndex+1;var titlePaint=hqChart.TitlePaint[titleIndex];titlePaint.Title=this.Name;titlePaint.Identify=this.Guid;//指标ID
13038
+ titlePaint.ArgumentsText=null;titlePaint.Script=this;titlePaint.IsShowMainIndexTitle=this.IsShowIndexTitle;if(!this.IsShortTitle){var indexParam='';for(var _i135=0;_i135<this.Arguments.length;++_i135){var _item24=this.Arguments[_i135];if(indexParam.length>0)indexParam+=',';indexParam+=_item24.Value.toString();}if(indexParam.length>0)titlePaint.ArgumentsText='('+indexParam+')';}if(this.TitleFont)titlePaint.Font=this.TitleFont;return true;};//给一个默认的颜色
13025
13039
  this.GetDefaultColor=function(id){var COLOR_ARRAY=null;//使用全局线段配置
13026
13040
  if(g_JSChartResource&&g_JSChartResource.Index&&g_JSChartResource.Index.LineColor){COLOR_ARRAY=g_JSChartResource.Index.LineColor;}if(!COLOR_ARRAY||!Array.isArray(COLOR_ARRAY)){COLOR_ARRAY=["rgb(255,174,0)","rgb(25,199,255)","rgb(175,95,162)","rgb(236,105,65)","rgb(68,114,196)","rgb(229,0,79)","rgb(0,128,255)","rgb(252,96,154)","rgb(42,230,215)","rgb(24,71,178)"];}var number=parseInt(id);return COLOR_ARRAY[number%(COLOR_ARRAY.length-1)];};//获取颜色
13027
13041
  this.GetColor=function(colorName){if(colorName.indexOf("RGB(")==0)return colorName.toLowerCase();if(colorName.indexOf("rgb(")==0)return colorName;if(colorName.indexOf("RGBA(")==0)return colorName.toLowerCase();if(colorName.indexOf("rgba(")==0)return colorName;var color=JSComplier.ColorVarToRGB(colorName);if(color)return color;return'rgb(30,144,255)';/*
@@ -13482,7 +13496,9 @@ LineWidth:1*GetDevicePixelRatio(),LineDotted:[3,3],AreaColor:"rgba(26,13,7,0.5)"
13482
13496
  BGColor:"rgb(255,255,255)"},DragMovePaint:{TextColor:"rgb(255,255,255)"//Font:14*GetDevicePixelRatio() +"px 微软雅黑"
13483
13497
  },SessionBreaksPaint:{BGColor:[null,"rgb(42,46,57)"],SplitLine:{Color:'rgb(73,133,231)',Width:1*GetDevicePixelRatio(),Dash:[5*GetDevicePixelRatio(),5*GetDevicePixelRatio()]}},KLineCountDownPaint:{Unchange:{BGColor:"rgb(190, 190 ,190)",PriceColor:"rgb(0,0,0)",TimeColor:"rgb(50,50,50)"},Up:{BGColor:"rgb(238,21,21)",PriceColor:"rgb(250,250,250)",TimeColor:"rgb(190,190,190)"},Down:{BGColor:"rgb(25,158,0)",PriceColor:"rgb(250,250,250)",TimeColor:"rgb(190,190,190)"}},//成交明细
13484
13498
  DealList:{BorderColor:'rgb(38,38,41)',//边框线
13485
- Header:{Color:"RGB(245,245,245)",Mergin:{Left:5,Right:5,Top:4,Bottom:2},Font:{Size:12,Name:"微软雅黑"}},Row:{Mergin:{Top:2,Bottom:2},Font:{Size:15,Name:"微软雅黑"},BarMergin:{Top:2,Left:3,Right:3,Bottom:2}},FieldColor:{Vol:"rgb(192,192,0)",//成交量
13499
+ Header:{Color:"RGB(245,245,245)",Mergin:{Left:5,Right:5,Top:4,Bottom:2}//Font:{ Size:12, Name:"微软雅黑" }
13500
+ },Row:{Mergin:{Top:2,Bottom:2},//Font:{ Size:15, Name:"微软雅黑"},
13501
+ BarMergin:{Top:2,Left:3,Right:3,Bottom:2}},FieldColor:{Vol:"rgb(192,192,0)",//成交量
13486
13502
  Time:"rgb(245,245,245)",//时间
13487
13503
  Deal:"rgb(111,128,112)",//成交笔数
13488
13504
  Index:"rgb(245,245,245)",//序号
@@ -13548,6 +13564,23 @@ CenterLine:{NoneColor:"rgb(60,60,60)"}},Table:{Font:14*GetDevicePixelRatio()+'px
13548
13564
  DownTextColor:"rgb(25,158,0)",//下跌文字颜色
13549
13565
  UnchangeTextColor:"rgb(90,90,90)",//平盘文字颜色
13550
13566
  BorderColor:'rgb(38,38,41)'//边框线
13567
+ },StatusBar:{Table:{//Font:14*GetDevicePixelRatio() +'px 微软雅黑',
13568
+ TitleColor:"rgb(250,250,250)",AryTextColor:["rgb(250,250,250)","rgb(255, 185, 15)"],//Margin:{ Left:0, Top:0, Bottom:0, Right:0 },
13569
+ //CellMargin:{ Top:5, Bottom:5, Left:5, Right:5, YOffset:0 },
13570
+ //ItemSpace:20,
13571
+ Separator:{//Left:20,
13572
+ // Right:20,
13573
+ Line:{//Width:1,
13574
+ Color:"rgb(38,38,41)"//Top:2,
13575
+ //Bottom:2
13576
+ }}},DateTime:{//Font:14*GetDevicePixelRatio() +'px 微软雅黑',
13577
+ TitleColor:"rgb(250,250,250)"//Format:"HH:MM:SS",
13578
+ //MaxText:"99:99:99",
13579
+ //Margin:{ Left:2*GetDevicePixelRatio(), Top:5*GetDevicePixelRatio(), Bottom:5*GetDevicePixelRatio(), Right:5*GetDevicePixelRatio(), YOffset:1*GetDevicePixelRatio() },
13580
+ },UpTextColor:"rgb(238,21,21)",//上涨文字颜色
13581
+ DownTextColor:"rgb(25,158,0)",//下跌文字颜色
13582
+ UnchangeTextColor:"rgb(90,90,90)",//平盘文字颜色
13583
+ BorderColor:'rgb(38,38,41)'//边框线
13551
13584
  }};return BLACK_STYLE;}var STYLE_TYPE_ID={BLACK_ID:1,//黑色风格
13552
13585
  WHITE_ID:0//白色风格
13553
13586
  };function HQChartStyle(){}HQChartStyle.GetStyleConfig=function(styleid)//获取一个风格的配置变量
@@ -13619,7 +13652,7 @@ this.Canvas.lineWidth=pixelTatio;//手机端需要根据分辨率比调整线段
13619
13652
  if(this.ChartSplashPaint&&this.ChartSplashPaint.IsEnableSplash){this.Frame.Draw({IsEnableSplash:this.ChartSplashPaint.IsEnableSplash});this.ChartSplashPaint.Draw();return;}this.Frame.Draw();this.Frame.DrawLogo();//框架内图形
13620
13653
  for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(item.IsDrawFirst)item.Draw();}for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(!item.IsDrawFirst)item.Draw();}};this.ChangeSymbol=function(symbol,option){this.Symbol=symbol;this.Data={DataOffset:0,Data:[]};//分笔数据
13621
13654
  this.SourceData={DataOffset:0,Data:[]};//原始分笔数据
13622
- var chart=this.ChartPaint[0];if(chart)chart.Data=null;if(option&&IFrameSplitOperator.IsNumber(option.TradeDate))this.TradeDate=option.TradeDate;if(!this.Symbol){this.Draw();return;}this.RequestDealData();};this.CancelAutoUpdate=function()//关闭停止更新
13655
+ var chart=this.ChartPaint[0];if(chart)chart.Data=null;if(option){if(IFrameSplitOperator.IsNumber(option.TradeDate))this.TradeDate=option.TradeDate;if(IFrameSplitOperator.IsNonEmptyArray(option.Column))this.SetColumn(option.Column);}if(!this.Symbol){this.Draw();return;}this.RequestDealData();};this.CancelAutoUpdate=function()//关闭停止更新
13623
13656
  {if(typeof this.AutoUpdateTimer=='number'){clearTimeout(this.AutoUpdateTimer);this.AutoUpdateTimer=null;}};this.AutoUpdateEvent=function(bStart,explain)//自定更新事件, 是给websocket使用
13624
13657
  {var eventID=bStart?JSCHART_EVENT_ID.RECV_START_AUTOUPDATE:JSCHART_EVENT_ID.RECV_STOP_AUTOUPDATE;if(!this.mapEvent.has(eventID))return;var self=this;var event=this.mapEvent.get(eventID);var data={Stock:{Symbol:this.Symbol,Name:this.Name,DayCount:this.DayCount},Explain:explain};if(bStart){data.Callback=function(data)//数据到达更新回调
13625
13658
  {self.RecvDealUpdateData(data);};}event.Callback(event,data,this);};//全量数据下载
@@ -13627,7 +13660,7 @@ this.RequestDealData=function(){this.ChartSplashPaint.SetTitle(this.LoadDataSpla
13627
13660
  Explain:'成交明细',Request:{Data:{symbol:self.Symbol,tradeDate:self.TradeDate}},Self:this,PreventDefault:false};this.NetworkFilter(obj,function(data){self.ChartSplashPaint.EnableSplash(false);self.RecvDealData(data);self.AutoUpdateEvent(true,'JSDealChartContainer::RequestDealData');self.AutoUpdate();});if(obj.PreventDefault==true)return;//已被上层替换,不调用默认的网络请求
13628
13661
  }var cacheUrl=g_JSChartResource.CacheDomain+'/cache/dealday/today/'+this.Symbol+'.json';JSNetwork.HttpRequest({url:cacheUrl,type:"get",dataType:"json",async:true,success:function success(data){self.ChartSplashPaint.EnableSplash(false);self.RecvDealData(data);self.AutoUpdate(1);},error:function error(http,e){self.ChartSplashPaint.EnableSplash(false);self.AutoUpdate();//self.RecvError(http,e,param);;
13629
13662
  }});};this.RecvDealData=function(data){var chart=this.GetDealChart();if(!chart)return;var aryDeal=JSDealChartContainer.JsonDataToDealData(data);if(chart.ShowOrder===1&&IFrameSplitOperator.IsNonEmptyArray(aryDeal))//倒序
13630
- aryDeal=aryDeal.reverse();this.SourceData={DataOffset:0,Data:aryDeal};this.Data={DataOffset:0,Data:this.FilterData(this.CloneArray(aryDeal))};this.Symbol=data.symbol;this.Name=data.name;var chart=this.ChartPaint[0];chart.Data=this.Data;chart.Symbol=this.Symbol;chart.YClose=data.yclose;chart.Open=data.open;if(this.IsShowLastPage)this.SetLastPageDataOffset();//显示最后一屏
13663
+ aryDeal=aryDeal.reverse();this.SourceData={DataOffset:0,Data:aryDeal};this.Data={DataOffset:0,Data:this.FilterData(this.CloneArray(aryDeal))};this.Symbol=data.symbol;this.Name=data.name;var chart=this.ChartPaint[0];chart.Data=this.Data;chart.Symbol=this.Symbol;chart.YClose=data.yclose;chart.YFClose=data.yfclose;chart.Open=data.open;if(this.IsShowLastPage)this.SetLastPageDataOffset();//显示最后一屏
13631
13664
  this.Draw();};this.SetLastPageDataOffset=function(){var chart=this.GetDealChart();if(!chart)return;if(chart.ShowOrder===1){this.Data.DataOffset=0;}else{var dataCount=0;if(IFrameSplitOperator.IsNonEmptyArray(this.SourceData.Data))dataCount=this.SourceData.Data.length;var pageSize=chart.GetPageSize(true);var offset=dataCount-pageSize;if(offset<0)offset=0;this.Data.DataOffset=offset;}};//增量数据下载
13632
13665
  this.RequestDealUpdateData=function(){var self=this;if(this.NetworkFilter){var obj={Name:'JSDealChartContainer::RequestDealUpdateData',//类名::函数名
13633
13666
  Explain:'增量成交明细',Request:{Data:{symbol:self.Symbol}},Self:this,PreventDefault:false};if(this.Data&&IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)){var lastItem=this.Data.Data[this.Data.Data.length-1];//最后一条数据
@@ -13701,6 +13734,7 @@ this.ClassName='ChartDealList';//类名
13701
13734
  this.IsDrawFirst=false;this.GetEventCallback;this.Data;//数据 { Data:[ { Time:, Price:, Vol:, BS:, StrTime } ], Offset: }
13702
13735
  //this.Data={Offset:0, Data:[ {Time:925, Price:20.1, Vol:10000050, BS:1, Deal:45 }, {Time:925, Price:18.2, Vol:1150, BS:1, Deal:5 }] };
13703
13736
  this.Symbol;this.YClose;//昨收
13737
+ this.YFClose;//昨结算
13704
13738
  this.Open;//开盘价
13705
13739
  this.Decimal=2;//小数位数
13706
13740
  this.IsSingleTable=false;//单表模式
@@ -13773,11 +13807,11 @@ if(this.IsSingleTable)this.TableCount=1;this.TableWidth=clientWidth/this.TableCo
13773
13807
  }
13774
13808
  }
13775
13809
  else
13776
- */{for(var i=0,j=0;i<this.TableCount;++i){var tableLeft=left+this.TableWidth*i;var textLeft=tableLeft;var textTop=top;for(j=0;j<this.RowCount&&index<dataCount;++j,++index){var dataItem=this.Data.Data[index];var rtRow={Left:textLeft-this.HeaderMergin.Left,Top:textTop,Height:this.RowHeight,Width:this.TableWidth};rtRow.Right=rtRow.Left+rtRow.Width;rtRow.Bottom=rtRow.Top+rtRow.Height;if(dataItem.BGColor){this.Canvas.fillStyle=dataItem.BGColor;this.Canvas.fillRect(rtRow.Left+1,rtRow.Top+1,rtRow.Width-2,rtRow.Height-2);}if(this.DrawSelectedRow(dataItem,index,rtRow))selectedRowData={Rect:rtRow};this.DrawRow(dataItem,textLeft,textTop,index);this.AryCellRect.push({Rect:rtRow,Type:1,DataIndex:index});textTop+=this.RowHeight;}}if(selectedRowData&&this.SelectedStyle===2){var rtBG=selectedRowData.Rect;this.Canvas.fillStyle=this.SelectedConfig.LineColor;var lineWidth=this.SelectedConfig.LineWidth;this.Canvas.fillRect(rtBG.Left,rtBG.Bottom-lineWidth,rtBG.Width,lineWidth);}}};this.DrawRow=function(data,left,top,dataIndex,colIndex){var tableLeft=left;var tableRight=left+this.TableWidth;var borderRight=this.RectClient.Right;for(var i=0;i<this.Column.length;++i){var item=this.Column[i];var textColor=item.TextColor;var text=null;var itemWidth=item.Width;var textAlign=item.TextAlign;if(left+itemWidth>tableRight)break;if(i==this.Column.length-1)itemWidth=this.TableWidth-(left-tableLeft)-this.HeaderMergin.Right-this.HeaderMergin.Left;var drawInfo={Text:null,TextColor:item.TextColor,TextAlign:item.TextAlign,Tooltip:null,Index:dataIndex,ColumnIndex:i};var rtItem={Left:left,Top:top,Width:itemWidth,Height:this.RowHeight};rtItem.Right=rtItem.Left+rtItem.Width;rtItem.Bottom=rtItem.Top+rtItem.Height;drawInfo.Rect=rtItem;var bDrawV2=false;if(item.Type==DEAL_COLUMN_ID.TIME_ID){text=IFrameSplitOperator.FormatTimeString(data.Time,item.Foramt);}else if(item.Type==DEAL_COLUMN_ID.STRING_TIME_ID){text=data.StrTime;}else if(item.Type==DEAL_COLUMN_ID.PRICE_ID){if(data.Price>this.YClose)textColor=this.UpColor;else if(data.Price<this.YClose)textColor=this.DownColor;else textColor=this.UnchangeColor;text=data.Price.toFixed(this.Decimal);}else if(item.Type==DEAL_COLUMN_ID.VOL_ID){text=IFrameSplitOperator.FormatValueString(data.Vol,0);textColor=this.GetVolColor(item,data);}else if(item.Type==DEAL_COLUMN_ID.DEAL_ID){text=IFrameSplitOperator.FormatValueString(data.Deal,0);}else if(item.Type==DEAL_COLUMN_ID.BS_ID){if(data.BS==1){text="B";textColor=this.UpColor;}else if(data.BS==2){text="S";textColor=this.DownColor;}}else if(item.Type==DEAL_COLUMN_ID.UPDOWN_ID){if(IFrameSplitOperator.IsNumber(this.YClose)){var value=data.Price-this.YClose;text=value.toFixed(2);if(value>0)textColor=this.UpColor;else if(value<0)textColor=this.DownColor;else textColor=this.UnchangeColor;}}else if(item.Type==DEAL_COLUMN_ID.INDEX_ID){text=(dataIndex+1).toString();}else if(this.IsMulitBar(item.Type)){var rtItem={Left:left,Top:top,Width:itemWidth,Height:this.RowHeight};this.DrawMultiBar(item,data,rtItem);}else if(item.Type==DEAL_COLUMN_ID.CENTER_BAR_ID){var rtItem={Left:left,Top:top,Width:itemWidth,Height:this.RowHeight};this.DrawCenterBar(item,data,rtItem);}else if(item.Type==DEAL_COLUMN_ID.CUSTOM_TEXT_ID){var out={Text:null,TextColor:null,TextAlign:null};//输出
13810
+ */{for(var i=0,j=0;i<this.TableCount;++i){var tableLeft=left+this.TableWidth*i;var textLeft=tableLeft;var textTop=top;for(j=0;j<this.RowCount&&index<dataCount;++j,++index){var dataItem=this.Data.Data[index];var rtRow={Left:textLeft-this.HeaderMergin.Left,Top:textTop,Height:this.RowHeight,Width:this.TableWidth};rtRow.Right=rtRow.Left+rtRow.Width;rtRow.Bottom=rtRow.Top+rtRow.Height;if(dataItem.BGColor){this.Canvas.fillStyle=dataItem.BGColor;this.Canvas.fillRect(rtRow.Left+1,rtRow.Top+1,rtRow.Width-2,rtRow.Height-2);}if(this.DrawSelectedRow(dataItem,index,rtRow))selectedRowData={Rect:rtRow};this.DrawRow(dataItem,textLeft,textTop,index);this.AryCellRect.push({Rect:rtRow,Type:1,DataIndex:index});textTop+=this.RowHeight;}}if(selectedRowData&&this.SelectedStyle===2){var rtBG=selectedRowData.Rect;this.Canvas.fillStyle=this.SelectedConfig.LineColor;var lineWidth=this.SelectedConfig.LineWidth;this.Canvas.fillRect(rtBG.Left,rtBG.Bottom-lineWidth,rtBG.Width,lineWidth);}}};this.DrawRow=function(data,left,top,dataIndex,colIndex){var tableLeft=left;var tableRight=left+this.TableWidth;var borderRight=this.RectClient.Right;for(var i=0;i<this.Column.length;++i){var item=this.Column[i];var textColor=item.TextColor;var text=null;var itemWidth=item.Width;var textAlign=item.TextAlign;if(left+itemWidth>tableRight)break;if(i==this.Column.length-1)itemWidth=this.TableWidth-(left-tableLeft)-this.HeaderMergin.Right-this.HeaderMergin.Left;var drawInfo={Text:null,TextColor:item.TextColor,TextAlign:item.TextAlign,Tooltip:null,Index:dataIndex,ColumnIndex:i};var rtItem={Left:left,Top:top,Width:itemWidth,Height:this.RowHeight};rtItem.Right=rtItem.Left+rtItem.Width;rtItem.Bottom=rtItem.Top+rtItem.Height;drawInfo.Rect=rtItem;var bDrawV2=false;if(item.Type==DEAL_COLUMN_ID.TIME_ID){text=IFrameSplitOperator.FormatTimeString(data.Time,item.Foramt);}else if(item.Type==DEAL_COLUMN_ID.STRING_TIME_ID){text=data.StrTime;}else if(item.Type==DEAL_COLUMN_ID.PRICE_ID){textColor=this.GetPriceColor(data.Price);text=data.Price.toFixed(this.Decimal);}else if(item.Type==DEAL_COLUMN_ID.VOL_ID){text=IFrameSplitOperator.FormatValueString(data.Vol,0);textColor=this.GetVolColor(item,data);}else if(item.Type==DEAL_COLUMN_ID.DEAL_ID){text=IFrameSplitOperator.FormatValueString(data.Deal,0);}else if(item.Type==DEAL_COLUMN_ID.BS_ID){if(data.BS==1){text="B";textColor=this.UpColor;}else if(data.BS==2){text="S";textColor=this.DownColor;}}else if(item.Type==DEAL_COLUMN_ID.UPDOWN_ID){if(IFrameSplitOperator.IsNumber(this.YClose)){var value=data.Price-this.YClose;text=value.toFixed(2);if(value>0)textColor=this.UpColor;else if(value<0)textColor=this.DownColor;else textColor=this.UnchangeColor;}}else if(item.Type==DEAL_COLUMN_ID.INDEX_ID){text=(dataIndex+1).toString();}else if(this.IsMulitBar(item.Type)){var rtItem={Left:left,Top:top,Width:itemWidth,Height:this.RowHeight};this.DrawMultiBar(item,data,rtItem);}else if(item.Type==DEAL_COLUMN_ID.CENTER_BAR_ID){var rtItem={Left:left,Top:top,Width:itemWidth,Height:this.RowHeight};this.DrawCenterBar(item,data,rtItem);}else if(item.Type==DEAL_COLUMN_ID.CUSTOM_TEXT_ID){var out={Text:null,TextColor:null,TextAlign:null};//输出
13777
13811
  var rtItem={Left:left,Top:top,Width:itemWidth,Height:this.RowHeight};if(this.DrawCustomText(item,data,rtItem,dataIndex,i,out)){if(out.Text)text=out.Text;if(out.TextColor)textColor=out.TextColor;if(out.TextAlign)textAlign=out.TextAlign;}}else if(this.IsReserveString(item.Type)){this.FormatReserveString(item,data,drawInfo);bDrawV2=true;}else if(this.IsReserveNumber(item.Type)){this.FormatReserveNumber(item,data,drawInfo);bDrawV2=true;}if(bDrawV2){//this.DrawItemText(drawInfo.Text, drawInfo.TextColor, drawInfo.TextAlign, rtItem.Left, rtItem.Top, rtItem.Width, drawInfo.BGColor);
13778
13812
  this.DrawItemTextV2(drawInfo,rtItem);}else{this.DrawItemText(text,textColor,textAlign,left,top,itemWidth);}if(drawInfo.Tooltip){//Type:2=数据提示信息
13779
13813
  var tooltipData=(0,_defineProperty3.default)({Rect:rtItem,Data:data,Index:dataIndex,Column:item,Type:drawInfo.Tooltip.Type},'Data',drawInfo.Tooltip.Data);this.TooltipRect.push(tooltipData);}else if(item.ChartTooltip&&item.ChartTooltip.Enable&&IFrameSplitOperator.IsNumber(item.ChartTooltip.Type))//Type 20分时图 21K线图
13780
- {var tooltipData={Rect:rtItem,Data:data,Index:dataIndex,Column:item,Type:item.ChartTooltip.Type};this.TooltipRect.push(tooltipData);}left+=item.Width;}};this.FormatReserveNumber=function(column,data,drawInfo){if(column.DefaultText)drawInfo.Text=column.DefaultText;var fieldName=MAP_DEAL_COLUMN_FIELD.get(column.Type);if(!data||!fieldName)return;var value=data[fieldName];if(!IFrameSplitOperator.IsNumber(value))return;if(IFrameSplitOperator.IsNumber(column.ColorType)){if(column.ColorType==1){drawInfo.TextColor=this.GetUpDownColor(value,0);}else if(column.ColorType==2){drawInfo.TextColor=this.GetUpDownColorV2(value,0);}}var text=value.toFixed(column.FloatPrecision);if(column.Format&&IFrameSplitOperator.IsNumber(column.Format.Type)){var format=column.Format;switch(format.Type){case 1://原始数据
13814
+ {var tooltipData={Rect:rtItem,Data:data,Index:dataIndex,Column:item,Type:item.ChartTooltip.Type};this.TooltipRect.push(tooltipData);}left+=item.Width;}};this.GetPriceColor=function(price){var upperSymbol=null;if(this.Symbol)upperSymbol=this.Symbol.toUpperCase();if(MARKET_SUFFIX_NAME.IsChinaFutures(upperSymbol)){if(!IFrameSplitOperator.IsNumber(this.YFClose))return this.UnchangeColor;return this.GetUpDownColor(price,this.YFClose);}else{if(!IFrameSplitOperator.IsNumber(this.YClose))return this.UnchangeColor;return this.GetUpDownColor(price,this.YClose);}};this.GetUpDownColor=function(price,price2){if(price>price2)return this.UpColor;else if(price<price2)return this.DownColor;else return this.UnchangeColor;};this.FormatReserveNumber=function(column,data,drawInfo){if(column.DefaultText)drawInfo.Text=column.DefaultText;var fieldName=MAP_DEAL_COLUMN_FIELD.get(column.Type);if(!data||!fieldName)return;var value=data[fieldName];if(!IFrameSplitOperator.IsNumber(value))return;if(IFrameSplitOperator.IsNumber(column.ColorType)){if(column.ColorType==1){drawInfo.TextColor=this.GetUpDownColor(value,0);}else if(column.ColorType==2){drawInfo.TextColor=this.GetUpDownColorV2(value,0);}}var text=value.toFixed(column.FloatPrecision);if(column.Format&&IFrameSplitOperator.IsNumber(column.Format.Type)){var format=column.Format;switch(format.Type){case 1://原始数据
13781
13815
  text=value.toFixed(column.FloatPrecision);break;case 2://千分位分割
13782
13816
  text=IFrameSplitOperator.FormatValueThousandsString(value,column.FloatPrecision);break;case 3:var exfloatPrecision=1;if(IFrameSplitOperator.IsNumber(format.ExFloatPrecision))exfloatPrecision=format.ExFloatPrecision;text=IFrameSplitOperator.FormatValueStringV2(value,column.FloatPrecision,exfloatPrecision);break;}}if(column.StringFormat&&text){text=column.StringFormat.replace("{0}",text);}drawInfo.Text=text;};this.FormatReserveString=function(column,data,drawInfo){if(column.DefaultText)drawInfo.Text=column.DefaultText;var fieldName=MAP_DEAL_COLUMN_FIELD.get(column.Type);if(!data||!fieldName)return;var item=data[fieldName];if(IFrameSplitOperator.IsObject(item)){if(item.Text)drawInfo.Text=item.Text;if(item.TextColor)drawInfo.TextColor=item.TextColor;if(item.BGColor)drawInfo.BGColor=item.BGColor;}else if(IFrameSplitOperator.IsString(item)){drawInfo.Text=item;}if(item&&item.Tooltip&&IFrameSplitOperator.IsNonEmptyArray(item.Tooltip.AryText)){drawInfo.Tooltip={Type:2,Data:{AryText:item.Tooltip.AryText}};}};this.GetUpDownColor=function(price,price2){if(price>price2)return this.UpColor;else if(price<price2)return this.DownColor;else return this.UnchangeColor;};this.GetUpDownColorV2=function(price,price2){if(price>=price2)return this.UpColor;else return this.DownColor;};this.DrawSelectedRow=function(data,index,rtRow){if(!this.SelectedData)return false;if(!this.SelectedData.Enable)return false;if(!this.SelectedData.Guid||this.SelectedData.Guid!=data.Guid)return false;if(this.SelectedStyle==1){this.Canvas.fillStyle=this.SelectedConfig.BGColor;this.Canvas.fillRect(rtRow.Left+1,rtRow.Top+1,rtRow.Width-2,rtRow.Height-2);}return true;};this.DrawItemText=function(text,textColor,textAlign,left,top,width){var x=left;if(textAlign=='center'){x=left+width/2;this.Canvas.textAlign="center";}else if(textAlign=='right'){x=left+width;this.Canvas.textAlign="right";}else{this.Canvas.textAlign="left";}this.Canvas.textBaseline="bottom";this.Canvas.fillStyle=textColor;if(text)this.Canvas.fillText(text,x,top+this.RowHeight-2);};this.DrawItemTextV2=function(drawInfo,rtItem){if(drawInfo.BGColor){this.Canvas.fillStyle=drawInfo.BGColor;this.Canvas.fillRect(rtItem.Left,rtItem.Top,rtItem.Width,rtItem.Height);}if(drawInfo.Text){var text=drawInfo.Text;var x=rtItem.Left;if(drawInfo.TextAlign=='center'){x=rtItem.Left+rtItem.Width/2;this.Canvas.textAlign="center";}else if(drawInfo.TextAlign=='right'){x=rtItem.Left+rtItem.Width-2;this.Canvas.textAlign="right";}else{x+=2;this.Canvas.textAlign="left";}var textWidth=this.Canvas.measureText(text).width+1;this.Canvas.textBaseline="bottom";this.Canvas.fillStyle=drawInfo.TextColor;this.Canvas.fillText(text,x,rtItem.Top+this.RowHeight-2);}};this.DrawMultiBar=function(colunmInfo,data,rtItem){var fieldName=MAP_DEAL_COLUMN_FIELD.get(colunmInfo.Type);if(!data||!fieldName)return;var barData=data[fieldName];//{ Value:[0.4,0,2], Color:[0,1] };
13783
13817
  if(!barData)return false;if(!IFrameSplitOperator.IsNonEmptyArray(barData.Value))return false;var width=rtItem.Width-this.BarMergin.Left-this.BarMergin.Right;var left=rtItem.Left+this.BarMergin.Left;var top=rtItem.Top+this.RowMergin.Top+this.BarMergin.Top;var height=rtItem.Height-this.RowMergin.Top-this.RowMergin.Bottom-this.BarMergin.Top-this.BarMergin.Bottom;var right=left+width;for(var i=0;i<barData.Value.length;++i){var value=barData.Value[i];if(value<=0)continue;if(left>=right)break;var barWidth=width*value;if(barWidth<1)barWidth=1;if(left+barWidth>right)barWidth=right-left;var colorIndex=i;if(IFrameSplitOperator.IsNonEmptyArray(barData.Color)&&i<barData.Color.length)colorIndex=barData.Color[i];this.Canvas.fillStyle=g_JSChartResource.DealList.FieldColor.Bar[colorIndex];this.Canvas.fillRect(left,top,barWidth,height);left+=barWidth;}return true;};this.DrawCenterBar=function(colunmInfo,data,rtItem){if(!data.Source||!IFrameSplitOperator.IsNonEmptyArray(data.Source))return false;var barData=data.Source[colunmInfo.DataIndex];//{ Value:[0.4,0,2], Color:[0,1] };
@@ -14006,7 +14040,7 @@ this.ReadStockJsonData=function(stock,item){//0=证券代码 1=股票名称 2=
14006
14040
  //43=1m涨速% 44=3m涨速% 45=5m涨速% 46=10m涨速% 47=15m涨速%
14007
14041
  //80=整行背景色
14008
14042
  //101-199=数值型 201-299=字符型 301-350=进度条 351-400=按钮 401-499=日期时间
14009
- if(IFrameSplitOperator.IsString(item[1]))stock.Name=item[1];if(IFrameSplitOperator.IsNumber(item[2]))stock.YClose=item[2];if(IFrameSplitOperator.IsNumber(item[3]))stock.Open=item[3];if(IFrameSplitOperator.IsNumber(item[4]))stock.High=item[4];if(IFrameSplitOperator.IsNumber(item[5]))stock.Low=item[5];if(IFrameSplitOperator.IsNumber(item[6]))stock.Price=item[6];if(IFrameSplitOperator.IsNumber(item[7]))stock.Vol=item[7];if(IFrameSplitOperator.IsNumber(item[8]))stock.Amount=item[8];if(IFrameSplitOperator.IsNumber(item[9]))stock.BuyPrice=item[9];if(IFrameSplitOperator.IsNumber(item[10]))stock.BuyVol=item[10];if(IFrameSplitOperator.IsNumber(item[11]))stock.SellPrice=item[11];if(IFrameSplitOperator.IsNumber(item[12]))stock.SellVol=item[12];if(IFrameSplitOperator.IsNumber(item[13]))stock.AvPrice=item[13];//均价
14043
+ var upperSymbol=null;if(stock.Symbol)upperSymbol=stock.Symbol.toUpperCase();if(IFrameSplitOperator.IsString(item[1]))stock.Name=item[1];if(IFrameSplitOperator.IsNumber(item[2]))stock.YClose=item[2];if(IFrameSplitOperator.IsNumber(item[3]))stock.Open=item[3];if(IFrameSplitOperator.IsNumber(item[4]))stock.High=item[4];if(IFrameSplitOperator.IsNumber(item[5]))stock.Low=item[5];if(IFrameSplitOperator.IsNumber(item[6]))stock.Price=item[6];if(IFrameSplitOperator.IsNumber(item[7]))stock.Vol=item[7];if(IFrameSplitOperator.IsNumber(item[8]))stock.Amount=item[8];if(IFrameSplitOperator.IsNumber(item[9]))stock.BuyPrice=item[9];if(IFrameSplitOperator.IsNumber(item[10]))stock.BuyVol=item[10];if(IFrameSplitOperator.IsNumber(item[11]))stock.SellPrice=item[11];if(IFrameSplitOperator.IsNumber(item[12]))stock.SellVol=item[12];if(IFrameSplitOperator.IsNumber(item[13]))stock.AvPrice=item[13];//均价
14010
14044
  if(IFrameSplitOperator.IsNumber(item[14]))stock.OutShares=item[14];//流通股
14011
14045
  if(IFrameSplitOperator.IsNumber(item[15]))stock.TotalShares=item[15];//总股本
14012
14046
  if(IFrameSplitOperator.IsNumber(item[16]))stock.LimitHigh=item[16];//涨停价
@@ -14021,12 +14055,17 @@ if(IFrameSplitOperator.IsNumber(item[24]))stock.Amplitude=item[24];//振幅%
14021
14055
  if(IFrameSplitOperator.IsNumber(item[25]))stock.CircMarketValue=item[25];//流通市值
14022
14056
  if(IFrameSplitOperator.IsNumber(item[26]))stock.MarketValue=item[26];//总市值
14023
14057
  if(item[27])stock.NameEx=item[27];//扩展名字
14058
+ if(IFrameSplitOperator.IsNumber(item[38]))stock.Position=item[38];//持仓量
14059
+ if(IFrameSplitOperator.IsNumber(item[39]))stock.FClose=item[39];//结算价
14060
+ if(IFrameSplitOperator.IsNumber(item[40]))stock.YFClose=item[40];//昨结算价
14061
+ if(IFrameSplitOperator.IsNumber(item[41]))stock.OpenPosition=item[41];//开仓量
14062
+ if(IFrameSplitOperator.IsNumber(item[42]))stock.ClosePosition=item[42];//平仓量
14024
14063
  //衍生数据计算
14025
14064
  if(!IFrameSplitOperator.IsNumber(item[21]))//涨幅%
14026
- {if(IFrameSplitOperator.IsNumber(stock.Price)&&IFrameSplitOperator.IsNumber(stock.YClose)&&stock.YClose!=0)stock.Increase=(stock.Price-stock.YClose)/stock.YClose*100;}if(!IFrameSplitOperator.IsNumber(item[22]))//涨跌
14027
- {if(IFrameSplitOperator.IsNumber(stock.Price)&&IFrameSplitOperator.IsNumber(stock.YClose))stock.UpDown=stock.Price-stock.YClose;}if(!IFrameSplitOperator.IsNumber(item[23]))//换手率%
14065
+ {if(MARKET_SUFFIX_NAME.IsChinaFutures(upperSymbol)){if(IFrameSplitOperator.IsNumber(stock.Price)&&IFrameSplitOperator.IsNumber(stock.YFClose)&&stock.YFClose!=0)stock.Increase=(stock.Price-stock.YFClose)/stock.YFClose*100;}else{if(IFrameSplitOperator.IsNumber(stock.Price)&&IFrameSplitOperator.IsNumber(stock.YClose)&&stock.YClose!=0)stock.Increase=(stock.Price-stock.YClose)/stock.YClose*100;}}if(!IFrameSplitOperator.IsNumber(item[22]))//涨跌
14066
+ {if(MARKET_SUFFIX_NAME.IsChinaFutures(upperSymbol)){if(IFrameSplitOperator.IsNumber(stock.Price)&&IFrameSplitOperator.IsNumber(stock.YFClose))stock.UpDown=stock.Price-stock.YFClose;}else{if(IFrameSplitOperator.IsNumber(stock.Price)&&IFrameSplitOperator.IsNumber(stock.YClose))stock.UpDown=stock.Price-stock.YClose;}}if(!IFrameSplitOperator.IsNumber(item[23]))//换手率%
14028
14067
  {if(IFrameSplitOperator.IsNumber(stock.Vol)&&IFrameSplitOperator.IsNumber(stock.OutShares)&&stock.OutShares>0)stock.Exchange=stock.Vol/stock.OutShares*100;}if(!IFrameSplitOperator.IsNumber(item[24]))//振幅%
14029
- {if(IFrameSplitOperator.IsNumber(stock.High)&&IFrameSplitOperator.IsNumber(stock.Low)&&IFrameSplitOperator.IsNumber(stock.YClose)&&stock.YClose!=0)stock.Amplitude=(stock.High-stock.Low)/stock.YClose*100;}if(!IFrameSplitOperator.IsNumber(item[25]))//流通市值
14068
+ {if(MARKET_SUFFIX_NAME.IsChinaFutures(upperSymbol)){if(IFrameSplitOperator.IsNumber(stock.High)&&IFrameSplitOperator.IsNumber(stock.Low)&&IFrameSplitOperator.IsNumber(stock.YFClose)&&stock.YFClose!=0)stock.Amplitude=(stock.High-stock.Low)/stock.YFClose*100;}else{if(IFrameSplitOperator.IsNumber(stock.High)&&IFrameSplitOperator.IsNumber(stock.Low)&&IFrameSplitOperator.IsNumber(stock.YClose)&&stock.YClose!=0)stock.Amplitude=(stock.High-stock.Low)/stock.YClose*100;}}if(!IFrameSplitOperator.IsNumber(item[25]))//流通市值
14030
14069
  {if(IFrameSplitOperator.IsNumber(stock.OutShares)&&IFrameSplitOperator.IsNumber(stock.Price))stock.CircMarketValue=stock.OutShares*stock.Price;}if(!IFrameSplitOperator.IsNumber(item[26]))//总市值
14031
14070
  {if(IFrameSplitOperator.IsNumber(stock.TotalShares)&&IFrameSplitOperator.IsNumber(stock.Price))stock.MarketValue=stock.TotalShares*stock.Price;}if(item[30])stock.ExtendData=item[30];//30=全局扩展数据
14032
14071
  if(item[31])this.BlockData.set(stock.OriginalSymbol,item[31]);//31=当前板块数据
@@ -14034,12 +14073,7 @@ if(item[32])stock.CloseLine=item[32];//32=收盘价线
14034
14073
  if(item[33])stock.KLine=item[33];//33=K线
14035
14074
  if(IFrameSplitOperator.IsNumber(item[35]))stock.Time=item[35];//时间 hhmm / hhmmss / hhmmss.fff
14036
14075
  if(IFrameSplitOperator.IsNumber(item[36]))stock.Date=item[36];//日期
14037
- if(IFrameSplitOperator.IsBool(item[37]))stock.Checked=item[37];if(IFrameSplitOperator.IsNumber(item[38]))stock.Position=item[38];//持仓量
14038
- if(IFrameSplitOperator.IsNumber(item[39]))stock.FClose=item[39];//结算价
14039
- if(IFrameSplitOperator.IsNumber(item[40]))stock.YFClose=item[40];//昨结算价
14040
- if(IFrameSplitOperator.IsNumber(item[41]))stock.OpenPosition=item[41];//开仓量
14041
- if(IFrameSplitOperator.IsNumber(item[42]))stock.ClosePosition=item[42];//平仓量
14042
- //1,3,5,10,15 涨速%
14076
+ if(IFrameSplitOperator.IsBool(item[37]))stock.Checked=item[37];//1,3,5,10,15 涨速%
14043
14077
  if(IFrameSplitOperator.IsNumber(item[43]))stock.RSpeed1M=item[43];if(IFrameSplitOperator.IsNumber(item[44]))stock.RSpeed3M=item[44];if(IFrameSplitOperator.IsNumber(item[45]))stock.RSpeed5M=item[45];if(IFrameSplitOperator.IsNumber(item[46]))stock.RSpeed10M=item[46];if(IFrameSplitOperator.IsNumber(item[47]))stock.RSpeed15M=item[47];if(item[80]||item[80]===null)stock.BGColor=item[80];//整行背景色
14044
14078
  if(item[JSCHART_DATA_FIELD_ID.REPORT_EXTENDDATA])stock.ExtendDataV2=item[JSCHART_DATA_FIELD_ID.REPORT_EXTENDDATA];//扩展数据2
14045
14079
  //10个数值型 101-199
@@ -14421,7 +14455,7 @@ drawInfo.Data=item;if(IFrameSplitOperator.IsBool(item.Enable))drawInfo.Enable=it
14421
14455
  {drawInfo.Text=IFrameSplitOperator.FormatTimeString(stock.Time,"HH:MM");}else if(column.ValueType==1){drawInfo.Text=IFrameSplitOperator.FormatTimeString(stock.Time,"HH:MM:SS");}else if(column.ValueType==2){drawInfo.Text=IFrameSplitOperator.FormatTimeString(stock.Time,"HH:MM:SS.fff");}};this.FormaDateDrawInfo=function(column,stock,drawInfo,data){if(!stock||!IFrameSplitOperator.IsNumber(stock.Date))return;if(column.FormatType==0)drawInfo.Text=IFrameSplitOperator.FormatDateString(stock.Date,"YYYY-MM-DD");else if(column.FormatType==1)drawInfo.Text=IFrameSplitOperator.FormatDateString(stock.Date,"YYYY/MM/DD");else if(column.FormatType==2)drawInfo.Text=IFrameSplitOperator.FormatDateString(stock.Date,"YYYY/MM/DD/W");else if(column.FormatType==3)drawInfo.Text=IFrameSplitOperator.FormatDateString(stock.Date,"YYYY-MM");else if(column.FormatType==4)drawInfo.Text=IFrameSplitOperator.FormatDateString(stock.Date,"MM/DD");else if(column.FormatType==4)drawInfo.Text=IFrameSplitOperator.FormatDateString(stock.Date,"MM-DD");};//自定义图标
14422
14456
  this.GetCustomIconData=function(columnInfo,symbol,drawInfo,data){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_REPORT_DRAW_CUSTOM_ICON);if(!event||!event.Callback)return false;var sendData={Symbol:symbol,Column:columnInfo,Data:data,Out:{Text:null,TextColor:null,TextAlign:null,Font:null}};event.Callback(event,sendData,this);if(sendData.Out.Text)drawInfo.Text=sendData.Out.Text;if(sendData.Out.TextColor)drawInfo.TextColor=sendData.Out.TextColor;if(sendData.Out.TextAlign)drawInfo.TextAlign=sendData.Out.TextAlign;if(sendData.Out.BGColor)drawInfo.BGColor=sendData.Out.BGColor;if(sendData.Out.Font)drawInfo.Font=sendData.Out.Font;return true;};this.GetPriceDrawInfo=function(price,stock,data,drawInfo,option){if(!IFrameSplitOperator.IsNumber(price))return false;drawInfo.Text=price.toFixed(data.Decimal);var yClose=null;if(stock.PriceColorType===1)//昨结算价 计算颜色
14423
14457
  {if(IFrameSplitOperator.IsNumber(stock.YFClose))yClose=stock.YFClose;}else//昨收价 计算颜色
14424
- {if(IFrameSplitOperator.IsNumber(stock.YClose))yClose=stock.YClose;}if(!IFrameSplitOperator.IsNumber(yClose))drawInfo.TextColor=this.UnchagneColor;else drawInfo.TextColor=this.GetUpDownColor(price,yClose);if(option&&option.LimitBG){if(IFrameSplitOperator.IsNumber(stock.LimitHigh)){if(price>=stock.LimitHigh){drawInfo.BGColor=this.LimitUpBGColor;drawInfo.TextColor=this.LimitTextColor;}}if(IFrameSplitOperator.IsNumber(stock.LimitLow)){if(price<=stock.LimitLow){drawInfo.BGColor=this.LimitDownBGColor;drawInfo.TextColor=this.LimitTextColor;}}}};this.GetUpDownColor=function(price,price2){if(price>price2)return this.UpColor;else if(price<price2)return this.DownColor;else return this.UnchagneColor;};this.GetUpDownColorV2=function(price,price2){if(price>=price2)return this.UpColor;else return this.DownColor;};//单独处理成交量显示
14458
+ {var upperSymbol=null;if(stock.Symbol)upperSymbol=stock.Symbol.toUpperCase();if(MARKET_SUFFIX_NAME.IsChinaFutures(upperSymbol)&&IFrameSplitOperator.IsNumber(stock.YFClose)){yClose=stock.YFClose;}else{if(IFrameSplitOperator.IsNumber(stock.YClose))yClose=stock.YClose;}}if(!IFrameSplitOperator.IsNumber(yClose))drawInfo.TextColor=this.UnchagneColor;else drawInfo.TextColor=this.GetUpDownColor(price,yClose);if(option&&option.LimitBG){if(IFrameSplitOperator.IsNumber(stock.LimitHigh)){if(price>=stock.LimitHigh){drawInfo.BGColor=this.LimitUpBGColor;drawInfo.TextColor=this.LimitTextColor;}}if(IFrameSplitOperator.IsNumber(stock.LimitLow)){if(price<=stock.LimitLow){drawInfo.BGColor=this.LimitDownBGColor;drawInfo.TextColor=this.LimitTextColor;}}}};this.GetUpDownColor=function(price,price2){if(price>price2)return this.UpColor;else if(price<price2)return this.DownColor;else return this.UnchagneColor;};this.GetUpDownColorV2=function(price,price2){if(price>=price2)return this.UpColor;else return this.DownColor;};//单独处理成交量显示
14425
14459
  this.FormatVolString=function(value,languageID){return IFrameSplitOperator.FormatVolString(value,languageID);};this.DrawItemBG=function(drawInfo){if(!drawInfo.BGColor)return;var rtItem=drawInfo.Rect;//绘制背景色
14426
14460
  if(drawInfo.RectBG)rtItem=drawInfo.RectBG;if(rtItem){this.Canvas.fillStyle=drawInfo.BGColor;this.Canvas.fillRect(rtItem.Left,rtItem.Top,rtItem.Width,rtItem.Height);//画一个背景色, 不然是一个黑的背景
14427
14461
  }};this.DrawItemText=function(text,textColor,textAlign,left,top,width,bgColor){if(!text)return;var x=left;if(textAlign=='center'){x=left+width/2;this.Canvas.textAlign="center";}else if(textAlign=='right'){x=left+width-2;this.Canvas.textAlign="right";}else{x+=2;this.Canvas.textAlign="left";}var textWidth=this.Canvas.measureText(text).width+1;var bClip=false;if(textWidth>=width)//长度超过单元格 裁剪
@@ -15586,11 +15620,11 @@ var upperSymbol=this.HQChart.Symbol.toUpperCase();var unit=MARKET_SUFFIX_NAME.Ge
15586
15620
  {var item=data.Data.Data;if(!item)item={Vol:[]};if(data.Data.Ver===1){var timeForamt="HH:MM";aryText=[this.ForamtDate(item.Date,this.Style==1?"MM/DD/W":"YYYY/MM/DD/W",'DialogTooltip-Date'),this.FormatTime(item.Time,null,timeForamt,'DialogTooltip-Time'),this.ForamtPrice(item.Price,item.YClose,defaultfloatPrecision,'DialogTooltip-AC-Price',1),this.FormatIncrease(item.Price,item.YClose,defaultfloatPrecision,'DialogTooltip-AC-Increase',1),this.FormatVol(item.Vol[0]/unit,'DialogTooltip-AC-Vol')];}else if(data.Data.Ver===3){var timeForamt="HH:MM:SS";aryText=[this.ForamtDate(item.Date,this.Style==1?"MM/DD/W":"YYYY/MM/DD/W",'DialogTooltip-Date'),this.FormatTime(item.Time,null,timeForamt,'DialogTooltip-Time'),this.ForamtPrice(item.Price,item.YClose,defaultfloatPrecision,'DialogTooltip-AC-Price',1),this.FormatIncrease(item.Price,item.YClose,defaultfloatPrecision,'DialogTooltip-AC-Increase',1),this.FormatVol(item.Vol[0]/unit,'DialogTooltip-AC-Vol',2)];}else{var timeForamt="HH:MM:SS";aryText=[this.ForamtDate(item.Date,this.Style==1?"MM/DD/W":"YYYY/MM/DD/W",'DialogTooltip-Date'),this.FormatTime(item.Time,null,timeForamt,'DialogTooltip-Time'),this.ForamtPrice(item.Price,item.YClose,defaultfloatPrecision,'DialogTooltip-AC-Price',1),this.FormatIncrease(item.Price,item.YClose,defaultfloatPrecision,'DialogTooltip-AC-Increase',1),this.FormatVol(item.Vol[0]/unit,'DialogTooltip-AC-Vol',2),this.FormatVol(item.Vol[1]/unit,'DialogTooltip-AC-NotMatchVol',2)];}}else{}var event=this.HQChart.GetEventCallback(JSCHART_EVENT_ID.ON_FORMAT_DIALOG_TOOLTIP);if(event&&event.Callback){var sendData={AryText:aryText,Data:data,Symbol:this.HQChart.Symbol,HQChart:this.HQChart,IsMinute:true};event.Callback(event,sendData,this);}return aryText;};this.GetColor=function(price,yClose){if(price>yClose)return this.UpColor;else if(price<yClose)return this.DownColor;else return this.UnchangeColor;};this.GetPriceColor=function(price,yClose){var color=this.GetColor(price,yClose);return color;};//配色修改
15587
15621
  this.ReloadResource=function(option){this.UpColor=g_JSChartResource.UpTextColor;this.DownColor=g_JSChartResource.DownTextColor;this.UnchangeColor=g_JSChartResource.UnchagneTextColor;this.TitleColor=g_JSChartResource.DialogTooltip.TitleColor;this.TitleBGColor=g_JSChartResource.DialogTooltip.TitleBGColor;this.BGColor=g_JSChartResource.DialogTooltip.BGColor;this.BorderColor=g_JSChartResource.DialogTooltip.BorderColor;this.VolColor=g_JSChartResource.DialogTooltip.VolColor;this.AmountColor=g_JSChartResource.DialogTooltip.AmountColor;this.TurnoverRateColor=g_JSChartResource.DialogTooltip.TurnoverRateColor;this.PositionColor=g_JSChartResource.DialogTooltip.PositionColor;this.DateTimeColor=g_JSChartResource.DialogTooltip.DateTimeColor;this.TextColor=g_JSChartResource.DialogTooltip.TextColor;this.ValueColor=g_JSChartResource.DialogTooltip.ValueColor;if(!this.DivDialog)return;this.UpdateStyle();};this.UpdateStyle=function(){if(!this.DivDialog)return;if(this.BGColor)this.DivDialog.style['background-color']=this.BGColor;if(this.BorderColor)this.DivDialog.style['border-color']=this.BorderColor;if(this.TitleBGColor)this.TitleBox.DivTitle.style['background-color']=this.TitleBGColor;if(this.TitleColor)this.TitleBox.DivName.style['color']=this.TitleColor;this.UpdateTableDOM();};/////////////////////////////////////////////////////////////////////////////////////////////
15588
15622
  //数据格式化 format=0 点差+涨幅 1=涨幅
15589
- this.ForamtPrice=function(price,yClose,defaultfloatPrecision,TitleID,format){var item={Title:g_JSChartLocalization.GetText(TitleID,this.LanguageID),Text:"--.--",Color:this.ValueColor};if(!IFrameSplitOperator.IsNumber(price))return item;if(format==2){item.Text=price.toFixed(defaultfloatPrecision);item.Color=this.ValueColor;return item;}if(IFrameSplitOperator.IsNumber(yClose)&&format!=1){var value=(price-yClose)/yClose*100;item.Text=price.toFixed(defaultfloatPrecision)+'('+value.toFixed(2)+'%)';}else{item.Text=price.toFixed(defaultfloatPrecision);}item.Color=this.GetColor(price,yClose);return item;};this.ForamtValue=function(value,defaultfloatPrecision,TitleID){var item={Title:g_JSChartLocalization.GetText(TitleID,this.LanguageID),Text:'--',Color:this.ValueColor};if(!IFrameSplitOperator.IsNumber(value))return item;item.Text=IFrameSplitOperator.FormatValueStringV2(value,defaultfloatPrecision,2,this.LanguageID);return item;};this.FormatVol=function(vol,TitleID,floatPrecision){var item={Title:g_JSChartLocalization.GetText(TitleID,this.LanguageID),Text:'--',Color:this.VolColor};if(!IFrameSplitOperator.IsNumber(vol))return item;var decimal=0;//小数位数
15623
+ this.ForamtPrice=function(price,yClose,defaultfloatPrecision,TitleID,format){var item={Title:g_JSChartLocalization.GetText(TitleID,this.LanguageID),Text:"--.--",Color:this.ValueColor};if(!IFrameSplitOperator.IsNumber(price))return item;if(format==2){item.Text=price.toFixed(defaultfloatPrecision);item.Color=this.ValueColor;return item;}if(IFrameSplitOperator.IsNumber(yClose)&&format!=1&&yClose!=0){var value=(price-yClose)/yClose*100;item.Text=price.toFixed(defaultfloatPrecision)+'('+value.toFixed(2)+'%)';}else{item.Text=price.toFixed(defaultfloatPrecision);}item.Color=this.GetColor(price,yClose);return item;};this.ForamtValue=function(value,defaultfloatPrecision,TitleID){var item={Title:g_JSChartLocalization.GetText(TitleID,this.LanguageID),Text:'--',Color:this.ValueColor};if(!IFrameSplitOperator.IsNumber(value))return item;item.Text=IFrameSplitOperator.FormatValueStringV2(value,defaultfloatPrecision,2,this.LanguageID);return item;};this.FormatVol=function(vol,TitleID,floatPrecision){var item={Title:g_JSChartLocalization.GetText(TitleID,this.LanguageID),Text:'--',Color:this.VolColor};if(!IFrameSplitOperator.IsNumber(vol))return item;var decimal=0;//小数位数
15590
15624
  if(IFrameSplitOperator.IsNumber(floatPrecision))decimal=floatPrecision;item.Text=IFrameSplitOperator.FormatValueStringV2(vol,decimal,2,this.LanguageID);return item;};this.FormatAmount=function(amount,TitleID){var item={Title:g_JSChartLocalization.GetText(TitleID,this.LanguageID),Text:'--',Color:this.AmountColor};if(!IFrameSplitOperator.IsNumber(amount))return item;item.Text=IFrameSplitOperator.FormatValueString(amount,2,this.LanguageID);return item;};this.FormatIncrease=function(price,yClose,defaultfloatPrecision,TitleID,fromat){//涨幅
15591
- var item={Title:g_JSChartLocalization.GetText(TitleID,this.LanguageID),Text:"--.--",Color:this.ValueColor};if(!IFrameSplitOperator.IsNumber(price)||!IFrameSplitOperator.IsNumber(yClose))return item;var diffValue=price-yClose;var value=(price-yClose)/yClose;if(fromat==1){item.Text=(value*100).toFixed(2)+'%';}else{item.Text=diffValue.toFixed(defaultfloatPrecision)+'('+(value*100).toFixed(2)+'%)';}item.Color=this.GetColor(value,0);return item;};this.FormatRisefall=function(price,yClose,defaultfloatPrecision,TitleID){//涨跌
15625
+ var item={Title:g_JSChartLocalization.GetText(TitleID,this.LanguageID),Text:"--.--",Color:this.ValueColor};if(!IFrameSplitOperator.IsNumber(price)||!IFrameSplitOperator.IsNumber(yClose)||yClose===0)return item;var diffValue=price-yClose;var value=(price-yClose)/yClose;if(fromat==1){item.Text=(value*100).toFixed(2)+'%';}else{item.Text=diffValue.toFixed(defaultfloatPrecision)+'('+(value*100).toFixed(2)+'%)';}item.Color=this.GetColor(value,0);return item;};this.FormatRisefall=function(price,yClose,defaultfloatPrecision,TitleID){//涨跌
15592
15626
  var item={Title:g_JSChartLocalization.GetText(TitleID,this.LanguageID),Text:"--.--",Color:this.ValueColor};if(!IFrameSplitOperator.IsNumber(price)||!IFrameSplitOperator.IsNumber(yClose))return item;var value=price-yClose;item.Text=''+value.toFixed(defaultfloatPrecision);item.Color=this.GetColor(value,0);return item;};this.FormatAmplitude=function(high,low,yClose,defaultfloatPrecision,TitleID,fromat){//振幅
15593
- var item={Title:g_JSChartLocalization.GetText(TitleID,this.LanguageID),Text:"--.--",Color:this.ValueColor};if(!IFrameSplitOperator.IsNumber(high)||!IFrameSplitOperator.IsNumber(low)||!IFrameSplitOperator.IsNumber(yClose))return item;var diffValue=high-low;var value=(high-low)/yClose;if(fromat==1)item.Text=(value*100).toFixed(2)+'%';else item.Text=diffValue.toFixed(defaultfloatPrecision)+'('+(value*100).toFixed(2)+'%)';item.Color=this.GetColor(value,0);return item;};this.ForamtDate=function(date,format,TitleID){//日期
15627
+ var item={Title:g_JSChartLocalization.GetText(TitleID,this.LanguageID),Text:"--.--",Color:this.ValueColor};if(!IFrameSplitOperator.IsNumber(high)||!IFrameSplitOperator.IsNumber(low)||!IFrameSplitOperator.IsNumber(yClose)||yClose===0)return item;var diffValue=high-low;var value=(high-low)/yClose;if(fromat==1)item.Text=(value*100).toFixed(2)+'%';else item.Text=diffValue.toFixed(defaultfloatPrecision)+'('+(value*100).toFixed(2)+'%)';item.Color=this.GetColor(value,0);return item;};this.ForamtDate=function(date,format,TitleID){//日期
15594
15628
  var item={Title:g_JSChartLocalization.GetText('DialogTooltip-Date',this.LanguageID),Text:"----/--/--",Color:this.DateTimeColor};if(!IFrameSplitOperator.IsNumber(date))return item;item.Text=IFrameSplitOperator.FormatDateString(date,format);return item;};this.FormatTime=function(time,period,format,TitleID){//时间
15595
15629
  var item={Title:g_JSChartLocalization.GetText(TitleID,this.LanguageID),Text:'--:--',Color:this.DateTimeColor};if(!IFrameSplitOperator.IsNumber(time))return item;if(!format){format="HH:MM";if(ChartData.IsMinutePeriod(period,true))format='HH:MM';// 分钟周期
15596
15630
  else if(ChartData.IsSecondPeriod(period))format='HH:MM:SS';else if(ChartData.IsMilliSecondPeriod(period))format='HH:MM:SS.fff';}item.Text=IFrameSplitOperator.FormatTimeString(time,format);return item;};//换手率 成交量/流通股本
@@ -15833,7 +15867,7 @@ hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,St
15833
15867
  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);};}/********************************************************************************
15834
15868
  * 版本信息输出
15835
15869
  *
15836
- */var HQCHART_VERSION="1.1.15427";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();//把给外界调用的方法暴露出来
15870
+ */var HQCHART_VERSION="1.1.15445";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();//把给外界调用的方法暴露出来
15837
15871
  exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
15838
15872
  // BaseIndex:BaseIndex,
15839
15873
  // ChartLine:ChartLine,