hqchart 1.1.12472 → 1.1.12480
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/umychart.vue.js +34 -28
- package/package.json +1 -1
- package/src/jscommon/umychart.complier.js +63 -14
- package/src/jscommon/umychart.js +40 -10
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +104 -25
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +104 -25
package/src/jscommon/umychart.js
CHANGED
|
@@ -613,7 +613,7 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
613
613
|
|
|
614
614
|
if (IFrameSplitOperator.IsNumber(item.TitleHeight)) chart.Frame.SubFrame[i].Frame.ChartBorder.TitleHeight=item.TitleHeight;
|
|
615
615
|
else item.TitleHeight=chart.Frame.SubFrame[i].Frame.ChartBorder.TitleHeight;
|
|
616
|
-
if (item.
|
|
616
|
+
if (IFrameSplitOperator.IsNumber(item.IsShowTitleArrow)) chart.Frame.SubFrame[i].Frame.IsShowTitleArrow=item.IsShowTitleArrow;
|
|
617
617
|
if (item.IsShowIndexName==false) chart.Frame.SubFrame[i].Frame.IsShowIndexName=false;
|
|
618
618
|
if (item.IsShowOverlayIndexName==false) chart.Frame.SubFrame[i].Frame.IsShowOverlayIndexName=false;
|
|
619
619
|
if (IFrameSplitOperator.IsNumber(item.IndexParamSpace)) chart.Frame.SubFrame[i].Frame.IndexParamSpace=item.IndexParamSpace;
|
|
@@ -1048,9 +1048,9 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
1048
1048
|
if (IFrameSplitOperator.IsNumber(item.YSplitType)) chart.Frame.SubFrame[index].Frame.YSplitOperator.SplitType=item.YSplitType;
|
|
1049
1049
|
if (!isNaN(item.TitleHeight)) chart.Frame.SubFrame[index].Frame.ChartBorder.TitleHeight=item.TitleHeight;
|
|
1050
1050
|
if (IFrameSplitOperator.IsBool(item.IsDrawTitleBG)) chart.Frame.SubFrame[index].Frame.IsDrawTitleBG=item.IsDrawTitleBG;
|
|
1051
|
-
if (IFrameSplitOperator.IsBool(item.IsShowNameArrow)) chart.Frame.SubFrame[
|
|
1051
|
+
if (IFrameSplitOperator.IsBool(item.IsShowNameArrow)) chart.Frame.SubFrame[index].Frame.IsShowNameArrow=item.IsShowNameArrow;
|
|
1052
1052
|
|
|
1053
|
-
if (item.
|
|
1053
|
+
if (IFrameSplitOperator.IsBool(item.IsShowTitleArrow)) chart.Frame.SubFrame[index].Frame.IsShowTitleArrow=item.IsShowTitleArrow;
|
|
1054
1054
|
if (item.IsShowIndexName==false) chart.Frame.SubFrame[index].Frame.IsShowIndexName=false;
|
|
1055
1055
|
if (item.IsShowOverlayIndexName==false) chart.Frame.SubFrame[index].Frame.IsShowOverlayIndexName=false;
|
|
1056
1056
|
}
|
|
@@ -1451,7 +1451,7 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
1451
1451
|
|
|
1452
1452
|
if (IFrameSplitOperator.IsNumber(item.TitleHeight)) chart.Frame.SubFrame[i].Frame.ChartBorder.TitleHeight=item.TitleHeight;
|
|
1453
1453
|
|
|
1454
|
-
if (item.
|
|
1454
|
+
if (IFrameSplitOperator.IsBool(item.IsShowTitleArrow)) chart.Frame.SubFrame[i].Frame.IsShowTitleArrow=item.IsShowTitleArrow;
|
|
1455
1455
|
if (item.IsShowIndexName==false) chart.Frame.SubFrame[i].Frame.IsShowIndexName=false;
|
|
1456
1456
|
if (item.IsShowOverlayIndexName==false) chart.Frame.SubFrame[i].Frame.IsShowOverlayIndexName=false;
|
|
1457
1457
|
if (IFrameSplitOperator.IsNumber(item.IndexParamSpace)) chart.Frame.SubFrame[i].Frame.IndexParamSpace=item.IndexParamSpace;
|
|
@@ -7719,7 +7719,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
7719
7719
|
if (IFrameSplitOperator.IsNumber(windowItem.TitleHeight)) frame.ChartBorder.TitleHeight=windowItem.TitleHeight;
|
|
7720
7720
|
else windowItem.TitleHeight=frame.ChartBorder.TitleHeight;
|
|
7721
7721
|
|
|
7722
|
-
if (IFrameSplitOperator.IsBool(windowItem.
|
|
7722
|
+
if (IFrameSplitOperator.IsBool(windowItem.IsShowTitleArrow)) frame.IsShowTitleArrow=windowItem.IsShowTitleArrow;
|
|
7723
7723
|
if (IFrameSplitOperator.IsBool(windowItem.IsShowIndexName)) frame.IsShowIndexName=windowItem.IsShowIndexName;
|
|
7724
7724
|
if (IFrameSplitOperator.IsNumber(windowItem.IndexParamSpace)) frame.IndexParamSpace=windowItem.IndexParamSpace;
|
|
7725
7725
|
if (IFrameSplitOperator.IsNumber(windowItem.IndexTitleSpace)) frame.IndexTitleSpace=windowItem.IndexTitleSpace;
|
|
@@ -7770,7 +7770,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
7770
7770
|
|
|
7771
7771
|
if (IFrameSplitOperator.IsNumber(option.SplitCount)) subFrame.Frame.YSplitOperator.SplitCount=option.SplitCount;
|
|
7772
7772
|
if (IFrameSplitOperator.IsNumber(option.TitleHeight)) subFrame.Frame.ChartBorder.TitleHeight=option.TitleHeight;
|
|
7773
|
-
if (IFrameSplitOperator.IsBool(option.
|
|
7773
|
+
if (IFrameSplitOperator.IsBool(option.IsShowTitleArrow)) subFrame.Frame.IsShowTitleArrow=option.IsShowTitleArrow;
|
|
7774
7774
|
if (IFrameSplitOperator.IsBool(option.IsShowIndexName)) subFrame.Frame.IsShowIndexName=option.IsShowIndexName;
|
|
7775
7775
|
if (IFrameSplitOperator.IsBool(option.IsShowOverlayIndexName)) subFrame.Frame.IsShowOverlayIndexName=option.IsShowOverlayIndexName;
|
|
7776
7776
|
if (IFrameSplitOperator.IsNumber(option.IndexParamSpace)) subFrame.Frame.IndexParamSpace=option.IndexParamSpace;
|
|
@@ -8991,7 +8991,7 @@ function IChartFramePainting()
|
|
|
8991
8991
|
|
|
8992
8992
|
this.YSpecificMaxMin=null; //指定Y轴最大最小值
|
|
8993
8993
|
this.IsShowBorder = true; //是否显示边框
|
|
8994
|
-
this.
|
|
8994
|
+
this.IsShowTitleArrow=true; //是否显示指标信息上涨下跌箭头
|
|
8995
8995
|
this.IsShowIndexName=true; //是否显示指标名字
|
|
8996
8996
|
this.IsShowOverlayIndexName=true; //是否显示叠加指标名字
|
|
8997
8997
|
//this.OverlayIndexType= { Position:0, LineSpace:5 };
|
|
@@ -29063,6 +29063,7 @@ function ChartVolStick()
|
|
|
29063
29063
|
}
|
|
29064
29064
|
else //太细了直接话线
|
|
29065
29065
|
{
|
|
29066
|
+
var preKItem=null;
|
|
29066
29067
|
for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j,xOffset+=(dataWidth+distanceWidth))
|
|
29067
29068
|
{
|
|
29068
29069
|
var value=this.Data.Data[i];
|
|
@@ -29083,7 +29084,15 @@ function ChartVolStick()
|
|
|
29083
29084
|
|
|
29084
29085
|
if (x>chartright) break;
|
|
29085
29086
|
|
|
29086
|
-
|
|
29087
|
+
if (isMinute)
|
|
29088
|
+
{
|
|
29089
|
+
var barColor=this.GetMinuteBarColor(kItem,preKItem); //分时图颜色单独计算
|
|
29090
|
+
}
|
|
29091
|
+
else
|
|
29092
|
+
{
|
|
29093
|
+
var barColor=this.GetBarColor(kItem);
|
|
29094
|
+
}
|
|
29095
|
+
|
|
29087
29096
|
this.Canvas.strokeStyle=barColor.Color;
|
|
29088
29097
|
|
|
29089
29098
|
//var x=this.ChartFrame.GetXFromIndex(j);
|
|
@@ -29091,6 +29100,8 @@ function ChartVolStick()
|
|
|
29091
29100
|
this.Canvas.moveTo(ToFixedPoint(x),y);
|
|
29092
29101
|
this.Canvas.lineTo(ToFixedPoint(x),yBottom);
|
|
29093
29102
|
this.Canvas.stroke();
|
|
29103
|
+
|
|
29104
|
+
preKItem=kItem;
|
|
29094
29105
|
}
|
|
29095
29106
|
}
|
|
29096
29107
|
}
|
|
@@ -29190,6 +29201,15 @@ function ChartVolStick()
|
|
|
29190
29201
|
else return { Color:this.DownColor, IsUp:false };
|
|
29191
29202
|
}
|
|
29192
29203
|
|
|
29204
|
+
this.GetMinuteBarColor=function(kItem, preItem)
|
|
29205
|
+
{
|
|
29206
|
+
var prePrice=kItem.YClose;
|
|
29207
|
+
if (preItem) prePrice=preItem.Close;
|
|
29208
|
+
|
|
29209
|
+
if (kItem.Close>=prePrice) return { Color:this.UpColor, IsUp:true }; //颜色, 是否是上涨
|
|
29210
|
+
else return { Color:this.DownColor, IsUp:false };
|
|
29211
|
+
}
|
|
29212
|
+
|
|
29193
29213
|
this.GetItemData=function(indexData)
|
|
29194
29214
|
{
|
|
29195
29215
|
if (!indexData) return null;
|
|
@@ -42552,6 +42572,16 @@ IFrameSplitOperator.IsFloat=function(value)
|
|
|
42552
42572
|
return value!=parseInt(value);
|
|
42553
42573
|
}
|
|
42554
42574
|
|
|
42575
|
+
//是否有效
|
|
42576
|
+
IFrameSplitOperator.IsVaild=function(value)
|
|
42577
|
+
{
|
|
42578
|
+
if (isNaN(value)) return false;
|
|
42579
|
+
if (value==null) return false;
|
|
42580
|
+
if (value===undefined) return false;
|
|
42581
|
+
|
|
42582
|
+
return true;
|
|
42583
|
+
}
|
|
42584
|
+
|
|
42555
42585
|
IFrameSplitOperator.RemoveZero=function(strValue)
|
|
42556
42586
|
{
|
|
42557
42587
|
while(strValue.length>0)
|
|
@@ -49326,7 +49356,7 @@ function DynamicChartTitlePainting()
|
|
|
49326
49356
|
this.IsKLineFrame= this.Frame.ClassName=='KLineFrame' || this.Frame.ClassName=='KLineHScreenFrame';
|
|
49327
49357
|
this.IsDrawTitleBG=this.Frame.IsDrawTitleBG;
|
|
49328
49358
|
this.IsShowNameArrow=this.Frame.IsShowNameArrow;
|
|
49329
|
-
this.IsShowUpDownArrow=this.Frame.
|
|
49359
|
+
this.IsShowUpDownArrow=this.Frame.IsShowTitleArrow;
|
|
49330
49360
|
this.IsShowIndexName=this.Frame.IsShowIndexName;
|
|
49331
49361
|
this.IsShowOverlayIndexName=this.Frame.IsShowOverlayIndexName;
|
|
49332
49362
|
this.OverlayIndexType.Position=this.Frame.OverlayIndexType.Position;
|
|
@@ -66832,7 +66862,7 @@ function KLineChartContainer(uielement,OffscreenElement)
|
|
|
66832
66862
|
|
|
66833
66863
|
if (IFrameSplitOperator.IsNumber(item.TitleHeight)) this.Frame.SubFrame[i].Frame.ChartBorder.TitleHeight=item.TitleHeight;
|
|
66834
66864
|
else item.TitleHeight=this.Frame.SubFrame[i].Frame.ChartBorder.TitleHeight;
|
|
66835
|
-
if (item.
|
|
66865
|
+
if (IFrameSplitOperator.IsNumber(item.IsShowTitleArrow)) this.Frame.SubFrame[i].Frame.IsShowTitleArrow=item.IsShowTitleArrow;
|
|
66836
66866
|
if (item.IsShowIndexName==false) this.Frame.SubFrame[i].Frame.IsShowIndexName=false;
|
|
66837
66867
|
if (item.IsShowOverlayIndexName==false) this.Frame.SubFrame[i].Frame.IsShowOverlayIndexName=false;
|
|
66838
66868
|
if (IFrameSplitOperator.IsNumber(item.IndexParamSpace)) this.Frame.SubFrame[i].Frame.IndexParamSpace=item.IndexParamSpace;
|
|
@@ -4693,7 +4693,7 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
4693
4693
|
|
|
4694
4694
|
if (IFrameSplitOperator.IsNumber(item.TitleHeight)) chart.Frame.SubFrame[i].Frame.ChartBorder.TitleHeight=item.TitleHeight;
|
|
4695
4695
|
else item.TitleHeight=chart.Frame.SubFrame[i].Frame.ChartBorder.TitleHeight;
|
|
4696
|
-
if (item.
|
|
4696
|
+
if (IFrameSplitOperator.IsNumber(item.IsShowTitleArrow)) chart.Frame.SubFrame[i].Frame.IsShowTitleArrow=item.IsShowTitleArrow;
|
|
4697
4697
|
if (item.IsShowIndexName==false) chart.Frame.SubFrame[i].Frame.IsShowIndexName=false;
|
|
4698
4698
|
if (item.IsShowOverlayIndexName==false) chart.Frame.SubFrame[i].Frame.IsShowOverlayIndexName=false;
|
|
4699
4699
|
if (IFrameSplitOperator.IsNumber(item.IndexParamSpace)) chart.Frame.SubFrame[i].Frame.IndexParamSpace=item.IndexParamSpace;
|
|
@@ -5128,9 +5128,9 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
5128
5128
|
if (IFrameSplitOperator.IsNumber(item.YSplitType)) chart.Frame.SubFrame[index].Frame.YSplitOperator.SplitType=item.YSplitType;
|
|
5129
5129
|
if (!isNaN(item.TitleHeight)) chart.Frame.SubFrame[index].Frame.ChartBorder.TitleHeight=item.TitleHeight;
|
|
5130
5130
|
if (IFrameSplitOperator.IsBool(item.IsDrawTitleBG)) chart.Frame.SubFrame[index].Frame.IsDrawTitleBG=item.IsDrawTitleBG;
|
|
5131
|
-
if (IFrameSplitOperator.IsBool(item.IsShowNameArrow)) chart.Frame.SubFrame[
|
|
5131
|
+
if (IFrameSplitOperator.IsBool(item.IsShowNameArrow)) chart.Frame.SubFrame[index].Frame.IsShowNameArrow=item.IsShowNameArrow;
|
|
5132
5132
|
|
|
5133
|
-
if (item.
|
|
5133
|
+
if (IFrameSplitOperator.IsBool(item.IsShowTitleArrow)) chart.Frame.SubFrame[index].Frame.IsShowTitleArrow=item.IsShowTitleArrow;
|
|
5134
5134
|
if (item.IsShowIndexName==false) chart.Frame.SubFrame[index].Frame.IsShowIndexName=false;
|
|
5135
5135
|
if (item.IsShowOverlayIndexName==false) chart.Frame.SubFrame[index].Frame.IsShowOverlayIndexName=false;
|
|
5136
5136
|
}
|
|
@@ -5531,7 +5531,7 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
5531
5531
|
|
|
5532
5532
|
if (IFrameSplitOperator.IsNumber(item.TitleHeight)) chart.Frame.SubFrame[i].Frame.ChartBorder.TitleHeight=item.TitleHeight;
|
|
5533
5533
|
|
|
5534
|
-
if (item.
|
|
5534
|
+
if (IFrameSplitOperator.IsBool(item.IsShowTitleArrow)) chart.Frame.SubFrame[i].Frame.IsShowTitleArrow=item.IsShowTitleArrow;
|
|
5535
5535
|
if (item.IsShowIndexName==false) chart.Frame.SubFrame[i].Frame.IsShowIndexName=false;
|
|
5536
5536
|
if (item.IsShowOverlayIndexName==false) chart.Frame.SubFrame[i].Frame.IsShowOverlayIndexName=false;
|
|
5537
5537
|
if (IFrameSplitOperator.IsNumber(item.IndexParamSpace)) chart.Frame.SubFrame[i].Frame.IndexParamSpace=item.IndexParamSpace;
|
|
@@ -11799,7 +11799,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
11799
11799
|
if (IFrameSplitOperator.IsNumber(windowItem.TitleHeight)) frame.ChartBorder.TitleHeight=windowItem.TitleHeight;
|
|
11800
11800
|
else windowItem.TitleHeight=frame.ChartBorder.TitleHeight;
|
|
11801
11801
|
|
|
11802
|
-
if (IFrameSplitOperator.IsBool(windowItem.
|
|
11802
|
+
if (IFrameSplitOperator.IsBool(windowItem.IsShowTitleArrow)) frame.IsShowTitleArrow=windowItem.IsShowTitleArrow;
|
|
11803
11803
|
if (IFrameSplitOperator.IsBool(windowItem.IsShowIndexName)) frame.IsShowIndexName=windowItem.IsShowIndexName;
|
|
11804
11804
|
if (IFrameSplitOperator.IsNumber(windowItem.IndexParamSpace)) frame.IndexParamSpace=windowItem.IndexParamSpace;
|
|
11805
11805
|
if (IFrameSplitOperator.IsNumber(windowItem.IndexTitleSpace)) frame.IndexTitleSpace=windowItem.IndexTitleSpace;
|
|
@@ -11850,7 +11850,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
11850
11850
|
|
|
11851
11851
|
if (IFrameSplitOperator.IsNumber(option.SplitCount)) subFrame.Frame.YSplitOperator.SplitCount=option.SplitCount;
|
|
11852
11852
|
if (IFrameSplitOperator.IsNumber(option.TitleHeight)) subFrame.Frame.ChartBorder.TitleHeight=option.TitleHeight;
|
|
11853
|
-
if (IFrameSplitOperator.IsBool(option.
|
|
11853
|
+
if (IFrameSplitOperator.IsBool(option.IsShowTitleArrow)) subFrame.Frame.IsShowTitleArrow=option.IsShowTitleArrow;
|
|
11854
11854
|
if (IFrameSplitOperator.IsBool(option.IsShowIndexName)) subFrame.Frame.IsShowIndexName=option.IsShowIndexName;
|
|
11855
11855
|
if (IFrameSplitOperator.IsBool(option.IsShowOverlayIndexName)) subFrame.Frame.IsShowOverlayIndexName=option.IsShowOverlayIndexName;
|
|
11856
11856
|
if (IFrameSplitOperator.IsNumber(option.IndexParamSpace)) subFrame.Frame.IndexParamSpace=option.IndexParamSpace;
|
|
@@ -13071,7 +13071,7 @@ function IChartFramePainting()
|
|
|
13071
13071
|
|
|
13072
13072
|
this.YSpecificMaxMin=null; //指定Y轴最大最小值
|
|
13073
13073
|
this.IsShowBorder = true; //是否显示边框
|
|
13074
|
-
this.
|
|
13074
|
+
this.IsShowTitleArrow=true; //是否显示指标信息上涨下跌箭头
|
|
13075
13075
|
this.IsShowIndexName=true; //是否显示指标名字
|
|
13076
13076
|
this.IsShowOverlayIndexName=true; //是否显示叠加指标名字
|
|
13077
13077
|
//this.OverlayIndexType= { Position:0, LineSpace:5 };
|
|
@@ -33143,6 +33143,7 @@ function ChartVolStick()
|
|
|
33143
33143
|
}
|
|
33144
33144
|
else //太细了直接话线
|
|
33145
33145
|
{
|
|
33146
|
+
var preKItem=null;
|
|
33146
33147
|
for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j,xOffset+=(dataWidth+distanceWidth))
|
|
33147
33148
|
{
|
|
33148
33149
|
var value=this.Data.Data[i];
|
|
@@ -33163,7 +33164,15 @@ function ChartVolStick()
|
|
|
33163
33164
|
|
|
33164
33165
|
if (x>chartright) break;
|
|
33165
33166
|
|
|
33166
|
-
|
|
33167
|
+
if (isMinute)
|
|
33168
|
+
{
|
|
33169
|
+
var barColor=this.GetMinuteBarColor(kItem,preKItem); //分时图颜色单独计算
|
|
33170
|
+
}
|
|
33171
|
+
else
|
|
33172
|
+
{
|
|
33173
|
+
var barColor=this.GetBarColor(kItem);
|
|
33174
|
+
}
|
|
33175
|
+
|
|
33167
33176
|
this.Canvas.strokeStyle=barColor.Color;
|
|
33168
33177
|
|
|
33169
33178
|
//var x=this.ChartFrame.GetXFromIndex(j);
|
|
@@ -33171,6 +33180,8 @@ function ChartVolStick()
|
|
|
33171
33180
|
this.Canvas.moveTo(ToFixedPoint(x),y);
|
|
33172
33181
|
this.Canvas.lineTo(ToFixedPoint(x),yBottom);
|
|
33173
33182
|
this.Canvas.stroke();
|
|
33183
|
+
|
|
33184
|
+
preKItem=kItem;
|
|
33174
33185
|
}
|
|
33175
33186
|
}
|
|
33176
33187
|
}
|
|
@@ -33270,6 +33281,15 @@ function ChartVolStick()
|
|
|
33270
33281
|
else return { Color:this.DownColor, IsUp:false };
|
|
33271
33282
|
}
|
|
33272
33283
|
|
|
33284
|
+
this.GetMinuteBarColor=function(kItem, preItem)
|
|
33285
|
+
{
|
|
33286
|
+
var prePrice=kItem.YClose;
|
|
33287
|
+
if (preItem) prePrice=preItem.Close;
|
|
33288
|
+
|
|
33289
|
+
if (kItem.Close>=prePrice) return { Color:this.UpColor, IsUp:true }; //颜色, 是否是上涨
|
|
33290
|
+
else return { Color:this.DownColor, IsUp:false };
|
|
33291
|
+
}
|
|
33292
|
+
|
|
33273
33293
|
this.GetItemData=function(indexData)
|
|
33274
33294
|
{
|
|
33275
33295
|
if (!indexData) return null;
|
|
@@ -46632,6 +46652,16 @@ IFrameSplitOperator.IsFloat=function(value)
|
|
|
46632
46652
|
return value!=parseInt(value);
|
|
46633
46653
|
}
|
|
46634
46654
|
|
|
46655
|
+
//是否有效
|
|
46656
|
+
IFrameSplitOperator.IsVaild=function(value)
|
|
46657
|
+
{
|
|
46658
|
+
if (isNaN(value)) return false;
|
|
46659
|
+
if (value==null) return false;
|
|
46660
|
+
if (value===undefined) return false;
|
|
46661
|
+
|
|
46662
|
+
return true;
|
|
46663
|
+
}
|
|
46664
|
+
|
|
46635
46665
|
IFrameSplitOperator.RemoveZero=function(strValue)
|
|
46636
46666
|
{
|
|
46637
46667
|
while(strValue.length>0)
|
|
@@ -53406,7 +53436,7 @@ function DynamicChartTitlePainting()
|
|
|
53406
53436
|
this.IsKLineFrame= this.Frame.ClassName=='KLineFrame' || this.Frame.ClassName=='KLineHScreenFrame';
|
|
53407
53437
|
this.IsDrawTitleBG=this.Frame.IsDrawTitleBG;
|
|
53408
53438
|
this.IsShowNameArrow=this.Frame.IsShowNameArrow;
|
|
53409
|
-
this.IsShowUpDownArrow=this.Frame.
|
|
53439
|
+
this.IsShowUpDownArrow=this.Frame.IsShowTitleArrow;
|
|
53410
53440
|
this.IsShowIndexName=this.Frame.IsShowIndexName;
|
|
53411
53441
|
this.IsShowOverlayIndexName=this.Frame.IsShowOverlayIndexName;
|
|
53412
53442
|
this.OverlayIndexType.Position=this.Frame.OverlayIndexType.Position;
|
|
@@ -70912,7 +70942,7 @@ function KLineChartContainer(uielement,OffscreenElement)
|
|
|
70912
70942
|
|
|
70913
70943
|
if (IFrameSplitOperator.IsNumber(item.TitleHeight)) this.Frame.SubFrame[i].Frame.ChartBorder.TitleHeight=item.TitleHeight;
|
|
70914
70944
|
else item.TitleHeight=this.Frame.SubFrame[i].Frame.ChartBorder.TitleHeight;
|
|
70915
|
-
if (item.
|
|
70945
|
+
if (IFrameSplitOperator.IsNumber(item.IsShowTitleArrow)) this.Frame.SubFrame[i].Frame.IsShowTitleArrow=item.IsShowTitleArrow;
|
|
70916
70946
|
if (item.IsShowIndexName==false) this.Frame.SubFrame[i].Frame.IsShowIndexName=false;
|
|
70917
70947
|
if (item.IsShowOverlayIndexName==false) this.Frame.SubFrame[i].Frame.IsShowOverlayIndexName=false;
|
|
70918
70948
|
if (IFrameSplitOperator.IsNumber(item.IndexParamSpace)) this.Frame.SubFrame[i].Frame.IndexParamSpace=item.IndexParamSpace;
|
|
@@ -94792,6 +94822,9 @@ function JSAlgorithm(errorHandler,symbolData)
|
|
|
94792
94822
|
|
|
94793
94823
|
if (i<data.length && i<data2.length)
|
|
94794
94824
|
{
|
|
94825
|
+
if (!IFrameSplitOperator.IsVaild(data[i])) continue;
|
|
94826
|
+
if (!IFrameSplitOperator.IsVaild(data2[i])) continue;
|
|
94827
|
+
|
|
94795
94828
|
if ( !isNaN(data[i]) && !isNaN(data2[i]) ) result[i]=(data[i]>data2[i] ? 1:0);
|
|
94796
94829
|
}
|
|
94797
94830
|
}
|
|
@@ -94804,6 +94837,9 @@ function JSAlgorithm(errorHandler,symbolData)
|
|
|
94804
94837
|
for(let i in data2)
|
|
94805
94838
|
{
|
|
94806
94839
|
result[i]=null;
|
|
94840
|
+
if (!IFrameSplitOperator.IsVaild(data)) continue;
|
|
94841
|
+
if (!IFrameSplitOperator.IsVaild(data2[i])) continue;
|
|
94842
|
+
|
|
94807
94843
|
if ( !isNaN(data) && !isNaN(data2[i]) ) result[i]=(data>data2[i] ? 1 : 0);
|
|
94808
94844
|
}
|
|
94809
94845
|
}
|
|
@@ -94812,6 +94848,9 @@ function JSAlgorithm(errorHandler,symbolData)
|
|
|
94812
94848
|
for(let i in data)
|
|
94813
94849
|
{
|
|
94814
94850
|
result[i]=null;
|
|
94851
|
+
if (!IFrameSplitOperator.IsVaild(data[i])) continue;
|
|
94852
|
+
if (!IFrameSplitOperator.IsVaild(data2)) continue;
|
|
94853
|
+
|
|
94815
94854
|
if ( !isNaN(data[i]) && !isNaN(data2) ) result[i]=(data[i]>data2 ? 1 : 0);
|
|
94816
94855
|
}
|
|
94817
94856
|
}
|
|
@@ -94839,7 +94878,10 @@ function JSAlgorithm(errorHandler,symbolData)
|
|
|
94839
94878
|
|
|
94840
94879
|
if (i<data.length && i<data2.length)
|
|
94841
94880
|
{
|
|
94842
|
-
if (
|
|
94881
|
+
if (!IFrameSplitOperator.IsVaild(data[i])) continue;
|
|
94882
|
+
if (!IFrameSplitOperator.IsVaild(data2[i])) continue;
|
|
94883
|
+
|
|
94884
|
+
result[i]=(data[i]>=data2[i] ? 1:0);
|
|
94843
94885
|
}
|
|
94844
94886
|
}
|
|
94845
94887
|
|
|
@@ -94851,7 +94893,10 @@ function JSAlgorithm(errorHandler,symbolData)
|
|
|
94851
94893
|
for(let i in data2)
|
|
94852
94894
|
{
|
|
94853
94895
|
result[i]=null;
|
|
94854
|
-
if (
|
|
94896
|
+
if (!IFrameSplitOperator.IsVaild(data)) continue;
|
|
94897
|
+
if (!IFrameSplitOperator.IsVaild(data2[i])) continue;
|
|
94898
|
+
|
|
94899
|
+
result[i]=(data>=data2[i] ? 1 : 0);
|
|
94855
94900
|
}
|
|
94856
94901
|
}
|
|
94857
94902
|
else if (isNumber2 && Array.isArray(data)) //数组-单数据
|
|
@@ -94859,7 +94904,10 @@ function JSAlgorithm(errorHandler,symbolData)
|
|
|
94859
94904
|
for(let i in data)
|
|
94860
94905
|
{
|
|
94861
94906
|
result[i]=null;
|
|
94862
|
-
if (
|
|
94907
|
+
if (!IFrameSplitOperator.IsVaild(data[i])) continue;
|
|
94908
|
+
if (!IFrameSplitOperator.IsVaild(data2)) continue;
|
|
94909
|
+
|
|
94910
|
+
result[i]=(data[i]>=data2 ? 1 : 0);
|
|
94863
94911
|
}
|
|
94864
94912
|
}
|
|
94865
94913
|
|
|
@@ -94886,7 +94934,10 @@ function JSAlgorithm(errorHandler,symbolData)
|
|
|
94886
94934
|
|
|
94887
94935
|
if (i<data.length && i<data2.length)
|
|
94888
94936
|
{
|
|
94889
|
-
if (
|
|
94937
|
+
if (!IFrameSplitOperator.IsVaild(data[i])) continue;
|
|
94938
|
+
if (!IFrameSplitOperator.IsVaild(data2[i])) continue;
|
|
94939
|
+
|
|
94940
|
+
result[i]=(data[i]<data2[i] ? 1:0);
|
|
94890
94941
|
}
|
|
94891
94942
|
}
|
|
94892
94943
|
|
|
@@ -94898,7 +94949,10 @@ function JSAlgorithm(errorHandler,symbolData)
|
|
|
94898
94949
|
for(let i in data2)
|
|
94899
94950
|
{
|
|
94900
94951
|
result[i]=null;
|
|
94901
|
-
if (
|
|
94952
|
+
if (!IFrameSplitOperator.IsVaild(data)) continue;
|
|
94953
|
+
if (!IFrameSplitOperator.IsVaild(data2[i])) continue;
|
|
94954
|
+
|
|
94955
|
+
result[i]=(data<data2[i] ? 1 : 0);
|
|
94902
94956
|
}
|
|
94903
94957
|
}
|
|
94904
94958
|
else if (isNumber2 && Array.isArray(data)) //数组-单数据
|
|
@@ -94906,7 +94960,10 @@ function JSAlgorithm(errorHandler,symbolData)
|
|
|
94906
94960
|
for(let i in data)
|
|
94907
94961
|
{
|
|
94908
94962
|
result[i]=null;
|
|
94909
|
-
if (
|
|
94963
|
+
if (!IFrameSplitOperator.IsVaild(data[i])) continue;
|
|
94964
|
+
if (!IFrameSplitOperator.IsVaild(data2)) continue;
|
|
94965
|
+
|
|
94966
|
+
result[i]=(data[i]<data2 ? 1 : 0);
|
|
94910
94967
|
}
|
|
94911
94968
|
}
|
|
94912
94969
|
|
|
@@ -94933,7 +94990,10 @@ function JSAlgorithm(errorHandler,symbolData)
|
|
|
94933
94990
|
|
|
94934
94991
|
if (i<data.length && i<data2.length)
|
|
94935
94992
|
{
|
|
94936
|
-
if (
|
|
94993
|
+
if (!IFrameSplitOperator.IsVaild(data[i])) continue;
|
|
94994
|
+
if (!IFrameSplitOperator.IsVaild(data2[i])) continue;
|
|
94995
|
+
|
|
94996
|
+
result[i]=(data[i]<=data2[i] ? 1:0);
|
|
94937
94997
|
}
|
|
94938
94998
|
}
|
|
94939
94999
|
|
|
@@ -94945,7 +95005,10 @@ function JSAlgorithm(errorHandler,symbolData)
|
|
|
94945
95005
|
for(let i in data2)
|
|
94946
95006
|
{
|
|
94947
95007
|
result[i]=null;
|
|
94948
|
-
if (
|
|
95008
|
+
if (!IFrameSplitOperator.IsVaild(data)) continue;
|
|
95009
|
+
if (!IFrameSplitOperator.IsVaild(data2[i])) continue;
|
|
95010
|
+
|
|
95011
|
+
result[i]=(data<=data2[i] ? 1 : 0);
|
|
94949
95012
|
}
|
|
94950
95013
|
}
|
|
94951
95014
|
else if (isNumber2 && Array.isArray(data)) //数组-单数据
|
|
@@ -94953,7 +95016,10 @@ function JSAlgorithm(errorHandler,symbolData)
|
|
|
94953
95016
|
for(let i in data)
|
|
94954
95017
|
{
|
|
94955
95018
|
result[i]=null;
|
|
94956
|
-
if (
|
|
95019
|
+
if (!IFrameSplitOperator.IsVaild(data[i])) continue;
|
|
95020
|
+
if (!IFrameSplitOperator.IsVaild(data2)) continue;
|
|
95021
|
+
|
|
95022
|
+
result[i]=(data[i]<=data2 ? 1 : 0);
|
|
94957
95023
|
}
|
|
94958
95024
|
}
|
|
94959
95025
|
|
|
@@ -96040,9 +96106,16 @@ function JSAlgorithm(errorHandler,symbolData)
|
|
|
96040
96106
|
for(var i=0;i<n.length;++i)
|
|
96041
96107
|
{
|
|
96042
96108
|
var period=n[i];
|
|
96043
|
-
|
|
96044
|
-
|
|
96045
|
-
|
|
96109
|
+
|
|
96110
|
+
if (period==0)
|
|
96111
|
+
{
|
|
96112
|
+
result[i]=0;
|
|
96113
|
+
continue;
|
|
96114
|
+
}
|
|
96115
|
+
|
|
96116
|
+
if (!IFrameSplitOperator.IsNumber(period) ) period=i+1; //无效周期 第一个有效值开始.
|
|
96117
|
+
else if (period<0) period=i+1;
|
|
96118
|
+
|
|
96046
96119
|
count=0;
|
|
96047
96120
|
for(var j=i, k=0 ;j>=0 && k<period ;--j,++k) //当前往前period天 统计
|
|
96048
96121
|
{
|
|
@@ -96506,7 +96579,7 @@ function JSAlgorithm(errorHandler,symbolData)
|
|
|
96506
96579
|
|
|
96507
96580
|
if (!Array.isArray(n))
|
|
96508
96581
|
{
|
|
96509
|
-
if (n
|
|
96582
|
+
if (n<=0)
|
|
96510
96583
|
{
|
|
96511
96584
|
var start=-1;
|
|
96512
96585
|
for(var i=0; i<data.length; ++i) //取第1个有效数
|
|
@@ -96529,6 +96602,12 @@ function JSAlgorithm(errorHandler,symbolData)
|
|
|
96529
96602
|
}
|
|
96530
96603
|
else
|
|
96531
96604
|
{
|
|
96605
|
+
result[0]=data[0];
|
|
96606
|
+
for(var i=1;i<n && i<data.length;++i) //前面小于N周期的累加
|
|
96607
|
+
{
|
|
96608
|
+
result[i] = result[i-1]+data[i];
|
|
96609
|
+
}
|
|
96610
|
+
|
|
96532
96611
|
for(var i=n-1,j=0;i<data.length;++i,++j)
|
|
96533
96612
|
{
|
|
96534
96613
|
for(var k=0;k<n;++k)
|
|
@@ -104951,7 +105030,7 @@ function JSSymbolData(ast,option,jsExecute)
|
|
|
104951
105030
|
return this.Data.GetClose();
|
|
104952
105031
|
case 'VOL':
|
|
104953
105032
|
case 'V':
|
|
104954
|
-
if (MARKET_SUFFIX_NAME.IsSHSZ(upperSymbol))
|
|
105033
|
+
if (MARKET_SUFFIX_NAME.IsSHSZ(upperSymbol) && this.DataType==HQ_DATA_TYPE.KLINE_ID) //!! A股K线量单位时股,分时图单位还是手
|
|
104955
105034
|
return this.Data.GetVol(100); //A股的 把股转成手
|
|
104956
105035
|
return this.Data.GetVol();
|
|
104957
105036
|
case 'OPEN':
|
|
@@ -127966,7 +128045,7 @@ function ScrollBarBGChart()
|
|
|
127966
128045
|
|
|
127967
128046
|
|
|
127968
128047
|
|
|
127969
|
-
var HQCHART_VERSION="1.1.
|
|
128048
|
+
var HQCHART_VERSION="1.1.12479";
|
|
127970
128049
|
|
|
127971
128050
|
function PrintHQChartVersion()
|
|
127972
128051
|
{
|