hqchart 1.1.15474 → 1.1.15494

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.
@@ -1711,6 +1711,8 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
1711
1711
  {
1712
1712
  var item=option.Frame[i];
1713
1713
  if (!chart.Frame.SubFrame[i]) continue;
1714
+ chart.SetSubFrameAttribute(chart.Frame.SubFrame[i], null, item);
1715
+ /*
1714
1716
  if (item.SplitCount) chart.Frame.SubFrame[i].Frame.YSplitOperator.SplitCount=item.SplitCount;
1715
1717
  if (item.StringFormat) chart.Frame.SubFrame[i].Frame.YSplitOperator.StringFormat=item.StringFormat;
1716
1718
  if (IFrameSplitOperator.IsNumber(item.FloatPrecision)) chart.Frame.SubFrame[i].Frame.YSplitOperator.FloatPrecision=item.FloatPrecision;
@@ -1720,6 +1722,7 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
1720
1722
 
1721
1723
  if (item.IsShowLeftText==false) chart.Frame.SubFrame[i].Frame.YSplitOperator.IsShowLeftText=item.IsShowLeftText; //显示左边刻度
1722
1724
  if (item.IsShowRightText==false) chart.Frame.SubFrame[i].Frame.YSplitOperator.IsShowRightText=item.IsShowRightText; //显示右边刻度
1725
+ */
1723
1726
  }
1724
1727
  }
1725
1728
 
@@ -1734,9 +1737,13 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
1734
1737
 
1735
1738
  if(option.KLineTitle) //股票名称 日期 周期
1736
1739
  {
1737
- if(option.KLineTitle.IsShowName==false) chart.TitlePaint[0].IsShowName=false;
1738
- if(option.KLineTitle.IsShowSettingInfo==false) chart.TitlePaint[0].IsShowSettingInfo=false;
1739
- if(option.KLineTitle.IsShow == false) chart.TitlePaint[0].IsShow = false;
1740
+ var item=option.KLineTitle;
1741
+ var chartTitle=chart.TitlePaint[0];
1742
+ if (IFrameSplitOperator.IsBool(item.IsShowName)) chartTitle.IsShowName=item.IsShowName;
1743
+ if (IFrameSplitOperator.IsBool(item.IsShowSettingInfo)) chartTitle.IsShowSettingInfo=item.IsShowSettingInfo;
1744
+ if (IFrameSplitOperator.IsBool(item.IsShow)) chartTitle.IsShow=item.IsShow;
1745
+ if (IFrameSplitOperator.IsBool(item.IsShowDateTime)) chartTitle.IsShowDateTime=item.IsShowDateTime;
1746
+ if (IFrameSplitOperator.IsBool(item.IsTitleShowLatestData)) chart.IsTitleShowLatestData=item.IsTitleShowLatestData;
1740
1747
  }
1741
1748
 
1742
1749
  if (IFrameSplitOperator.IsNonEmptyArray(option.Overlay)) //叠加股票
@@ -39482,6 +39489,125 @@ function ChartText()
39482
39489
  }
39483
39490
  }
39484
39491
 
39492
+ function ChartDrawIconV2()
39493
+ {
39494
+ this.newMethod=IChartPainting; //派生
39495
+ this.newMethod();
39496
+ delete this.newMethod;
39497
+
39498
+ this.ClassName="ChartDrawIconV2";
39499
+ this.bHScreen=false; //是否横屏
39500
+ this.Icon=null;
39501
+ this.TextAlign='left';
39502
+ this.Direction=0; //0=middle 1=bottom 2=top
39503
+ this.ShowOffset={ X:0, Y:0 }; //显示偏移
39504
+ this.Size=null;
39505
+
39506
+ this.Draw=function()
39507
+ {
39508
+ if (!this.IsShow || this.ChartFrame.IsMinSize) return;
39509
+ if (this.IsShowIndexTitleOnly()) return;
39510
+ if (this.IsHideScriptIndex()) return;
39511
+
39512
+ if (!this.Data || !this.Data.Data) return;
39513
+ if (!this.Icon) return;
39514
+
39515
+ this.bHScreen=(this.ChartFrame.IsHScreen===true);
39516
+ var xPointCount=this.ChartFrame.XPointCount;
39517
+ var bMinute=this.IsMinuteFrame();
39518
+ var dataWidth=this.ChartFrame.DataWidth;
39519
+ var distanceWidth=this.ChartFrame.DistanceWidth;
39520
+ var xOffset=this.ChartBorder.GetLeft()+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;
39521
+ var chartright=this.ChartBorder.GetRight();
39522
+ var top=this.ChartBorder.GetTopEx();
39523
+ var bottom=this.ChartBorder.GetBottomEx();
39524
+
39525
+ if (this.bHScreen)
39526
+ {
39527
+ chartright=this.ChartBorder.GetBottom();
39528
+ top=this.ChartBorder.GetRightEx();
39529
+ bottom=this.ChartBorder.GetLeftEx();
39530
+ xOffset=this.ChartBorder.GetTop()+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;
39531
+ }
39532
+
39533
+ var pixelTatio = GetDevicePixelRatio();
39534
+ var iconWidth=this.Icon.Width*pixelTatio;
39535
+ var iconHeight=this.Icon.Height*pixelTatio;
39536
+ if (IFrameSplitOperator.IsNumber(this.Size)) iconWidth=iconHeight=this.Size*pixelTatio;
39537
+
39538
+
39539
+
39540
+ this.Canvas.save();
39541
+ this.ClipClient(this.ChartFrame.IsHScreen);
39542
+
39543
+ for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j,xOffset+=(dataWidth+distanceWidth))
39544
+ {
39545
+ var value=this.Data.Data[i];
39546
+ if (value==null) continue;
39547
+
39548
+ if (bMinute)
39549
+ {
39550
+ var x=this.ChartFrame.GetXFromIndex(j);
39551
+ }
39552
+ else
39553
+ {
39554
+ var left=xOffset;
39555
+ var right=xOffset+dataWidth;
39556
+ if (right>chartright) break;
39557
+ var x=left+(right-left)/2;
39558
+ }
39559
+
39560
+ var y=this.ChartFrame.GetYFromData(value,false);
39561
+
39562
+ if (x>chartright) break;
39563
+
39564
+ if (this.TextAlign=="right") x-=iconWidth;
39565
+ else if (this.TextAlign=="center") x-=iconWidth/2;
39566
+
39567
+ if (this.Direction===0) y-=iconHeight/2;
39568
+ else if (this.Direction===1) y-=iconHeight;
39569
+
39570
+
39571
+ y+=this.ShowOffset.Y;
39572
+ x+=this.ShowOffset.X;
39573
+
39574
+ var drawInfo={ X:x, Y:y, Image:this.Icon.Image, Width:iconWidth, Height:iconHeight };
39575
+
39576
+ this.DrawIcon(drawInfo);
39577
+ }
39578
+
39579
+
39580
+
39581
+ this.Canvas.restore();
39582
+
39583
+ }
39584
+
39585
+ this.DrawIcon=function(drawInfo)
39586
+ {
39587
+ if (!drawInfo || !drawInfo.Image) return;
39588
+
39589
+ if (this.bHScreen)
39590
+ {
39591
+ /*
39592
+ var xCenter=drawInfo.X+drawInfo.Width/2;
39593
+ var yCenter=drawInfo.Y+drawInfo.Height/2;
39594
+ this.Canvas.save();
39595
+ this.Canvas.translate(yCenter,xCenter);
39596
+ this.Canvas.rotate(90 * Math.PI / 180);
39597
+ this.Canvas.drawImage(drawInfo.Image, 0, 0, drawInfo.Width, drawInfo.Height);
39598
+ this.Canvas.restore();
39599
+ */
39600
+
39601
+ this.Canvas.drawImage(drawInfo.Image, drawInfo.Y, drawInfo.X, drawInfo.Width, drawInfo.Height);
39602
+ }
39603
+ else
39604
+ {
39605
+ this.Canvas.drawImage(drawInfo.Image, drawInfo.X, drawInfo.Y, drawInfo.Width, drawInfo.Height);
39606
+ }
39607
+ }
39608
+ }
39609
+
39610
+
39485
39611
  /*
39486
39612
  文字输出 支持横屏
39487
39613
  数组(Data)不为null的数据中输出 this.Text文本
@@ -103006,6 +103132,26 @@ var MARKET_SUFFIX_NAME=
103006
103132
  return false;
103007
103133
  },
103008
103134
 
103135
+ IsCFFEXOption:function(upperSymbol) //中金所股票期权
103136
+ {
103137
+ if (!upperSymbol) return false;
103138
+ if (!this.IsCFFEX(upperSymbol)) return false;
103139
+ var shortSymbol=JSChart.GetShortSymbol(upperSymbol);
103140
+ //MO2602-C-6300.cffex
103141
+ var aryValue=shortSymbol.split("-");
103142
+ if (!aryValue || aryValue.length!=3) return false;
103143
+
103144
+ var strValue=aryValue[0];
103145
+ const regex = /([a-zA-Z]+)(\d+)/;
103146
+ const match = strValue.match(regex);
103147
+ if (!match || !match[1] || !match[2]) return false;
103148
+
103149
+ var prefix=match[1];
103150
+ if (["IM","IO","MO","HO"].includes(prefix)) return true;
103151
+
103152
+ return true;
103153
+ },
103154
+
103009
103155
  IsDCE: function (upperSymbol)
103010
103156
  {
103011
103157
  if (!upperSymbol) return false;
@@ -103612,6 +103758,23 @@ var MARKET_SUFFIX_NAME=
103612
103758
  if (pos<=0) return symbol;
103613
103759
 
103614
103760
  return symbol.slice(0,pos);
103761
+ },
103762
+
103763
+ SplitSymbol:function(symbol, format) //分析代码 返回对象
103764
+ {
103765
+ if (!format || !symbol) return null;
103766
+ var shortSymbol=this.GetShortSymbol(symbol);
103767
+ if (format=="A+D+")
103768
+ {
103769
+ var regex=/([a-zA-Z]+)(\d+)/;
103770
+ var match=shortSymbol.match(regex);
103771
+ if (!match || !match[1] || !match[2]) return null;
103772
+
103773
+ return { AryString:[match[1], match[2]], ShortSymbol:shortSymbol, Symbol:symbol, Market:symbol.slice(shortSymbol.length) };
103774
+ }
103775
+
103776
+
103777
+ return null;
103615
103778
  }
103616
103779
 
103617
103780
  }
@@ -1876,61 +1876,75 @@ function JSReportChartContainer(uielement)
1876
1876
  if (item[80] || item[80]===null) stock.BGColor=item[80]; //整行背景色
1877
1877
  if (item[JSCHART_DATA_FIELD_ID.REPORT_EXTENDDATA]) stock.ExtendDataV2=item[JSCHART_DATA_FIELD_ID.REPORT_EXTENDDATA]; //扩展数据2
1878
1878
 
1879
+ function __Temp_IsNumberOrObject(value)
1880
+ {
1881
+ if (IFrameSplitOperator.IsNumber(value)) return true;
1882
+ if (IFrameSplitOperator.IsObject(value)) return true;
1883
+ return false;
1884
+ }
1885
+
1886
+ function __Temp_IsStringOrObject(value)
1887
+ {
1888
+ if (IFrameSplitOperator.IsString(value)) return true;
1889
+ if (IFrameSplitOperator.IsObject(value)) return true;
1890
+ return false;
1891
+ }
1892
+
1879
1893
  //10个数值型 101-199
1880
- if (IFrameSplitOperator.IsNumber(item[101])) stock.ReserveNumber1=item[101];
1881
- if (IFrameSplitOperator.IsNumber(item[102])) stock.ReserveNumber2=item[102];
1882
- if (IFrameSplitOperator.IsNumber(item[103])) stock.ReserveNumber3=item[103];
1883
- if (IFrameSplitOperator.IsNumber(item[104])) stock.ReserveNumber4=item[104];
1884
- if (IFrameSplitOperator.IsNumber(item[105])) stock.ReserveNumber5=item[105];
1885
- if (IFrameSplitOperator.IsNumber(item[106])) stock.ReserveNumber6=item[106];
1886
- if (IFrameSplitOperator.IsNumber(item[107])) stock.ReserveNumber7=item[107];
1887
- if (IFrameSplitOperator.IsNumber(item[108])) stock.ReserveNumber8=item[108];
1888
- if (IFrameSplitOperator.IsNumber(item[109])) stock.ReserveNumber9=item[109];
1889
- if (IFrameSplitOperator.IsNumber(item[110])) stock.ReserveNumber10=item[110];
1890
- if (IFrameSplitOperator.IsNumber(item[111])) stock.ReserveNumber11=item[111];
1891
- if (IFrameSplitOperator.IsNumber(item[112])) stock.ReserveNumber12=item[112];
1892
- if (IFrameSplitOperator.IsNumber(item[113])) stock.ReserveNumber13=item[113];
1893
- if (IFrameSplitOperator.IsNumber(item[114])) stock.ReserveNumber14=item[114];
1894
- if (IFrameSplitOperator.IsNumber(item[115])) stock.ReserveNumber15=item[115];
1895
- if (IFrameSplitOperator.IsNumber(item[116])) stock.ReserveNumber16=item[116];
1896
- if (IFrameSplitOperator.IsNumber(item[117])) stock.ReserveNumber17=item[117];
1897
- if (IFrameSplitOperator.IsNumber(item[118])) stock.ReserveNumber18=item[118];
1898
- if (IFrameSplitOperator.IsNumber(item[119])) stock.ReserveNumber19=item[119];
1899
- if (IFrameSplitOperator.IsNumber(item[120])) stock.ReserveNumber20=item[120];
1894
+ if (__Temp_IsNumberOrObject(item[101])) stock.ReserveNumber1=item[101];
1895
+ if (__Temp_IsNumberOrObject(item[102])) stock.ReserveNumber2=item[102];
1896
+ if (__Temp_IsNumberOrObject(item[103])) stock.ReserveNumber3=item[103];
1897
+ if (__Temp_IsNumberOrObject(item[104])) stock.ReserveNumber4=item[104];
1898
+ if (__Temp_IsNumberOrObject(item[105])) stock.ReserveNumber5=item[105];
1899
+ if (__Temp_IsNumberOrObject(item[106])) stock.ReserveNumber6=item[106];
1900
+ if (__Temp_IsNumberOrObject(item[107])) stock.ReserveNumber7=item[107];
1901
+ if (__Temp_IsNumberOrObject(item[108])) stock.ReserveNumber8=item[108];
1902
+ if (__Temp_IsNumberOrObject(item[109])) stock.ReserveNumber9=item[109];
1903
+ if (__Temp_IsNumberOrObject(item[110])) stock.ReserveNumber10=item[110];
1904
+ if (__Temp_IsNumberOrObject(item[111])) stock.ReserveNumber11=item[111];
1905
+ if (__Temp_IsNumberOrObject(item[112])) stock.ReserveNumber12=item[112];
1906
+ if (__Temp_IsNumberOrObject(item[113])) stock.ReserveNumber13=item[113];
1907
+ if (__Temp_IsNumberOrObject(item[114])) stock.ReserveNumber14=item[114];
1908
+ if (__Temp_IsNumberOrObject(item[115])) stock.ReserveNumber15=item[115];
1909
+ if (__Temp_IsNumberOrObject(item[116])) stock.ReserveNumber16=item[116];
1910
+ if (__Temp_IsNumberOrObject(item[117])) stock.ReserveNumber17=item[117];
1911
+ if (__Temp_IsNumberOrObject(item[118])) stock.ReserveNumber18=item[118];
1912
+ if (__Temp_IsNumberOrObject(item[119])) stock.ReserveNumber19=item[119];
1913
+ if (__Temp_IsNumberOrObject(item[120])) stock.ReserveNumber20=item[120];
1900
1914
 
1901
1915
  //10个字符型 201-299
1902
- if (IFrameSplitOperator.IsString(item[201]) || IFrameSplitOperator.IsObject(item[201])) stock.ReserveString1=item[201];
1903
- if (IFrameSplitOperator.IsString(item[202]) || IFrameSplitOperator.IsObject(item[202])) stock.ReserveString2=item[202];
1904
- if (IFrameSplitOperator.IsString(item[203]) || IFrameSplitOperator.IsObject(item[203])) stock.ReserveString3=item[203];
1905
- if (IFrameSplitOperator.IsString(item[204]) || IFrameSplitOperator.IsObject(item[204])) stock.ReserveString4=item[204];
1906
- if (IFrameSplitOperator.IsString(item[205]) || IFrameSplitOperator.IsObject(item[205])) stock.ReserveString5=item[205];
1907
- if (IFrameSplitOperator.IsString(item[206]) || IFrameSplitOperator.IsObject(item[206])) stock.ReserveString6=item[206];
1908
- if (IFrameSplitOperator.IsString(item[207]) || IFrameSplitOperator.IsObject(item[207])) stock.ReserveString7=item[207];
1909
- if (IFrameSplitOperator.IsString(item[208]) || IFrameSplitOperator.IsObject(item[208])) stock.ReserveString8=item[208];
1910
- if (IFrameSplitOperator.IsString(item[209]) || IFrameSplitOperator.IsObject(item[209])) stock.ReserveString9=item[209];
1911
- if (IFrameSplitOperator.IsString(item[210]) || IFrameSplitOperator.IsObject(item[210])) stock.ReserveString10=item[210];
1912
- if (IFrameSplitOperator.IsString(item[211]) || IFrameSplitOperator.IsObject(item[211])) stock.ReserveString11=item[211];
1913
- if (IFrameSplitOperator.IsString(item[212]) || IFrameSplitOperator.IsObject(item[212])) stock.ReserveString12=item[212];
1914
- if (IFrameSplitOperator.IsString(item[213]) || IFrameSplitOperator.IsObject(item[213])) stock.ReserveString13=item[213];
1915
- if (IFrameSplitOperator.IsString(item[214]) || IFrameSplitOperator.IsObject(item[214])) stock.ReserveString14=item[214];
1916
- if (IFrameSplitOperator.IsString(item[215]) || IFrameSplitOperator.IsObject(item[215])) stock.ReserveString15=item[215];
1917
- if (IFrameSplitOperator.IsString(item[216]) || IFrameSplitOperator.IsObject(item[216])) stock.ReserveString16=item[216];
1918
- if (IFrameSplitOperator.IsString(item[217]) || IFrameSplitOperator.IsObject(item[217])) stock.ReserveString17=item[217];
1919
- if (IFrameSplitOperator.IsString(item[218]) || IFrameSplitOperator.IsObject(item[218])) stock.ReserveString18=item[218];
1920
- if (IFrameSplitOperator.IsString(item[219]) || IFrameSplitOperator.IsObject(item[219])) stock.ReserveString19=item[219];
1921
- if (IFrameSplitOperator.IsString(item[220]) || IFrameSplitOperator.IsObject(item[220])) stock.ReserveString20=item[220];
1916
+ if (__Temp_IsStringOrObject(item[201])) stock.ReserveString1=item[201];
1917
+ if (__Temp_IsStringOrObject(item[202])) stock.ReserveString2=item[202];
1918
+ if (__Temp_IsStringOrObject(item[203])) stock.ReserveString3=item[203];
1919
+ if (__Temp_IsStringOrObject(item[204])) stock.ReserveString4=item[204];
1920
+ if (__Temp_IsStringOrObject(item[205])) stock.ReserveString5=item[205];
1921
+ if (__Temp_IsStringOrObject(item[206])) stock.ReserveString6=item[206];
1922
+ if (__Temp_IsStringOrObject(item[207])) stock.ReserveString7=item[207];
1923
+ if (__Temp_IsStringOrObject(item[208])) stock.ReserveString8=item[208];
1924
+ if (__Temp_IsStringOrObject(item[209])) stock.ReserveString9=item[209];
1925
+ if (__Temp_IsStringOrObject(item[210])) stock.ReserveString10=item[210];
1926
+ if (__Temp_IsStringOrObject(item[211])) stock.ReserveString11=item[211];
1927
+ if (__Temp_IsStringOrObject(item[212])) stock.ReserveString12=item[212];
1928
+ if (__Temp_IsStringOrObject(item[213])) stock.ReserveString13=item[213];
1929
+ if (__Temp_IsStringOrObject(item[214])) stock.ReserveString14=item[214];
1930
+ if (__Temp_IsStringOrObject(item[215])) stock.ReserveString15=item[215];
1931
+ if (__Temp_IsStringOrObject(item[216])) stock.ReserveString16=item[216];
1932
+ if (__Temp_IsStringOrObject(item[217])) stock.ReserveString17=item[217];
1933
+ if (__Temp_IsStringOrObject(item[218])) stock.ReserveString18=item[218];
1934
+ if (__Temp_IsStringOrObject(item[219])) stock.ReserveString19=item[219];
1935
+ if (__Temp_IsStringOrObject(item[220])) stock.ReserveString20=item[220];
1922
1936
 
1923
1937
  //10个进度条 301-350 { Value:, BGColor: }
1924
- if (IFrameSplitOperator.IsNumber(item[301]) || IFrameSplitOperator.IsObject(item[301])) stock.ReserveProgressBar1=item[301];
1925
- if (IFrameSplitOperator.IsNumber(item[302]) || IFrameSplitOperator.IsObject(item[302])) stock.ReserveProgressBar2=item[302];
1926
- if (IFrameSplitOperator.IsNumber(item[303]) || IFrameSplitOperator.IsObject(item[303])) stock.ReserveProgressBar3=item[303];
1927
- if (IFrameSplitOperator.IsNumber(item[304]) || IFrameSplitOperator.IsObject(item[304])) stock.ReserveProgressBar4=item[304];
1928
- if (IFrameSplitOperator.IsNumber(item[305]) || IFrameSplitOperator.IsObject(item[305])) stock.ReserveProgressBar5=item[305];
1929
- if (IFrameSplitOperator.IsNumber(item[306]) || IFrameSplitOperator.IsObject(item[306])) stock.ReserveProgressBar6=item[306];
1930
- if (IFrameSplitOperator.IsNumber(item[307]) || IFrameSplitOperator.IsObject(item[307])) stock.ReserveProgressBar7=item[307];
1931
- if (IFrameSplitOperator.IsNumber(item[308]) || IFrameSplitOperator.IsObject(item[308])) stock.ReserveProgressBar8=item[308];
1932
- if (IFrameSplitOperator.IsNumber(item[309]) || IFrameSplitOperator.IsObject(item[309])) stock.ReserveProgressBar9=item[309];
1933
- if (IFrameSplitOperator.IsNumber(item[310]) || IFrameSplitOperator.IsObject(item[310])) stock.ReserveProgressBar10=item[310];
1938
+ if (__Temp_IsNumberOrObject(item[301])) stock.ReserveProgressBar1=item[301];
1939
+ if (__Temp_IsNumberOrObject(item[302])) stock.ReserveProgressBar2=item[302];
1940
+ if (__Temp_IsNumberOrObject(item[303])) stock.ReserveProgressBar3=item[303];
1941
+ if (__Temp_IsNumberOrObject(item[304])) stock.ReserveProgressBar4=item[304];
1942
+ if (__Temp_IsNumberOrObject(item[305])) stock.ReserveProgressBar5=item[305];
1943
+ if (__Temp_IsNumberOrObject(item[306])) stock.ReserveProgressBar6=item[306];
1944
+ if (__Temp_IsNumberOrObject(item[307])) stock.ReserveProgressBar7=item[307];
1945
+ if (__Temp_IsNumberOrObject(item[308])) stock.ReserveProgressBar8=item[308];
1946
+ if (__Temp_IsNumberOrObject(item[309])) stock.ReserveProgressBar9=item[309];
1947
+ if (__Temp_IsNumberOrObject(item[310])) stock.ReserveProgressBar10=item[310];
1934
1948
 
1935
1949
  //10个按钮 351-400 { Title, Enable:, BGColor, TextColor: }
1936
1950
  if (IFrameSplitOperator.IsObject(item[351])) stock.ReserveButton1=item[351];
@@ -7900,6 +7914,14 @@ function ChartReport()
7900
7914
  if (!data || !fieldName) return;
7901
7915
 
7902
7916
  var value=data[fieldName];
7917
+ var compareValue=null;
7918
+ if (IFrameSplitOperator.IsObject(data[fieldName]))
7919
+ {
7920
+ var item=data[fieldName];
7921
+ if (IFrameSplitOperator.IsNumber(item.Value)) value=item.Value;
7922
+ if (IFrameSplitOperator.IsNumber(item.CompareValue)) compareValue=item.CompareValue;
7923
+ }
7924
+
7903
7925
  if (!IFrameSplitOperator.IsNumber(value)) return;
7904
7926
 
7905
7927
  if (IFrameSplitOperator.IsNumber(column.ColorType))
@@ -7916,6 +7938,11 @@ function ChartReport()
7916
7938
  {
7917
7939
  drawInfo.TextColor=this.GetUpDownColor(value,data.YClose);
7918
7940
  }
7941
+ else if (column.ColorType==4)
7942
+ {
7943
+ if (IFrameSplitOperator.IsNumber(compareValue))
7944
+ drawInfo.TextColor=this.GetUpDownColor(value,compareValue);
7945
+ }
7919
7946
  }
7920
7947
 
7921
7948
  var text=value.toFixed(column.FloatPrecision);