hqchart 1.1.12431 → 1.1.12433
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 +7 -5
- package/package.json +1 -1
- package/src/jscommon/umychart.complier.js +37 -11
- package/src/jscommon/umychart.js +4 -0
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +42 -12
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +42 -12
package/lib/umychart.vue.js
CHANGED
|
@@ -2070,7 +2070,7 @@ return fixValue;}function ToFixedRect(value){// With a bitwise or.
|
|
|
2070
2070
|
// Finally, a left bitwise shift.
|
|
2071
2071
|
//value*=GetDevicePixelRatio();
|
|
2072
2072
|
var rounded;return rounded=0.5+value<<0;}//深拷贝
|
|
2073
|
-
function CloneData(data){if(!data)return null;var strData=(0,_stringify2.default)(data);var item=JSON.parse(strData);return item;}function Point(){this.X;this.Y;}function SelectRectData(){this.Data;//主数据
|
|
2073
|
+
function CloneData(data){if(!data)return null;var strData=(0,_stringify2.default)(data);var item=JSON.parse(strData);return item;}function IsRecvOverlap(rect1,rect2){return Math.max(rect1.Left,rect2.Left)<Math.min(rect1.Right,rect2.Right)&&Math.max(rect1.Top,rect2.Top)<Math.min(rect1.Bottom,rect2.Bottom);}function Point(){this.X;this.Y;}function SelectRectData(){this.Data;//主数据
|
|
2074
2074
|
this.JSChartContainer;//行情控件
|
|
2075
2075
|
this.Start;//数据起始位子
|
|
2076
2076
|
this.End;//数据结束位置
|
|
@@ -9431,8 +9431,9 @@ var result=[];for(var _i80 in data){if(data[_i80]){if(isNumber2)result[_i80]=tru
|
|
|
9431
9431
|
//用法: REF(X,A),引用A周期前的X值.A可以是变量.
|
|
9432
9432
|
//平滑处理:当引用不到数据时进行的操作.此函数中,平滑时使用上一个周期的引用值.
|
|
9433
9433
|
//例如: REF(CLOSE,BARSCOUNT(C)-1)表示第二根K线的收盘价.
|
|
9434
|
-
this.REF=function(data,n){var result=[];if(typeof n=='number'){if(
|
|
9435
|
-
var
|
|
9434
|
+
this.REF=function(data,n){var result=[];if(typeof n=='number'){if(IFrameSplitOperator.IsNumber(data))//单数值
|
|
9435
|
+
{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);//平滑处理
|
|
9436
|
+
var firstData=data[0];for(var _i81=0;_i81<n;++_i81){result.unshift(firstData);}}}else//n 为数组的情况
|
|
9436
9437
|
{for(var _i82=0;_i82<data.length;++_i82){result[_i82]=null;if(_i82>=n.length)continue;var value=n[_i82];if(value>=0&&value<=_i82)result[_i82]=data[_i82-value];else if(_i82)result[_i82]=result[_i82-1];else result[_i82]=data[_i82];}}return result;};//引用若干周期前的数据(未作平滑处理).
|
|
9437
9438
|
//用法: REFV(X,A),引用A周期前的X值.A可以是变量.
|
|
9438
9439
|
//平滑处理:当引用不到数据时进行的操作.
|
|
@@ -9574,7 +9575,8 @@ this.CROSS=function(data,data2){var result=[];if(Array.isArray(data)&&Array.isAr
|
|
|
9574
9575
|
CROSSUP(MA5,MA10),ICON(1,'ICO4');//MA5上穿MA10,标注红箭头。
|
|
9575
9576
|
//CROSSUP(MA5,MA10),ICON(1,'ICO4'); 与 CROSSUP(MA5,MA10)=1,ICON(1,'ICO4');表达同等意义
|
|
9576
9577
|
*/this.CROSSUP=function(data,data2){return this.CROSS(data,data2);};//累乘
|
|
9577
|
-
this.MULAR=function(data,n){var result=[];if(!Array.isArray(n)){if(data.length<n)return result;if(n==0){var index=n;for(;index<data.length;++index){if(this.IsNumber(data[index])){result[index]=data[index];break;}}for(++index;index<data.length;++index){result[index]=result[index-1]*data[index];}}else{for(var i=n-1,j=0;i<data.length;++i,++j){for(var k=0;k<n;++k){if(k==0)result[i]=data[k+j];else result[i]*=data[k+j];}}}}else{for(var i=0;i<data.length;++i){result[i]=null;var totalCount=n[i];if(!this.IsNumber(totalCount))continue;totalCount=parseInt(totalCount);if(totalCount<0)continue;for(var j=i,k=0;j>=0&&k<totalCount;--j,++k){if(k==0)result[i]=data[j];else result[i]*=data[j];}}}return result;};this.SUM=function(data,n){var result=[];if(!Array.isArray(n)){if(n==0){
|
|
9578
|
+
this.MULAR=function(data,n){var result=[];if(!Array.isArray(n)){if(data.length<n)return result;if(n==0){var index=n;for(;index<data.length;++index){if(this.IsNumber(data[index])){result[index]=data[index];break;}}for(++index;index<data.length;++index){result[index]=result[index-1]*data[index];}}else{for(var i=n-1,j=0;i<data.length;++i,++j){for(var k=0;k<n;++k){if(k==0)result[i]=data[k+j];else result[i]*=data[k+j];}}}}else{for(var i=0;i<data.length;++i){result[i]=null;var totalCount=n[i];if(!this.IsNumber(totalCount))continue;totalCount=parseInt(totalCount);if(totalCount<0)continue;for(var j=i,k=0;j>=0&&k<totalCount;--j,++k){if(k==0)result[i]=data[j];else result[i]*=data[j];}}}return result;};this.SUM=function(data,n){var result=[];if(!Array.isArray(n)){if(n==0){var start=-1;for(var i=0;i<data.length;++i)//取第1个有效数
|
|
9579
|
+
{if(IFrameSplitOperator.IsNumber(data[i])){start=i;break;}}if(start<0)return result;result[start]=data[start];for(var i=start+1;i<data.length;++i){result[i]=result[i-1]+data[i];}}else{for(var i=n-1,j=0;i<data.length;++i,++j){for(var k=0;k<n;++k){if(k==0)result[i]=data[k+j];else result[i]+=data[k+j];}}}}else{for(var i=0;i<data.length;++i){result[i]=null;var totalCount=n[i];if(!(totalCount>0))continue;for(var j=i,k=0;j>=0&&k<totalCount;--j,++k){if(k==0)result[i]=data[j];else result[i]+=data[j];}}}return result;};/*
|
|
9578
9580
|
BARSCOUNT 有效数据周期数
|
|
9579
9581
|
求总的周期数。
|
|
9580
9582
|
用法: BARSCOUNT(X) 第一个有效数据到当前的天数。
|
|
@@ -12466,7 +12468,7 @@ this.AreaColor=g_JSChartResource.ScrollBar.BGChart.AreaColor;//面积图颜色
|
|
|
12466
12468
|
};this.Draw=function(){if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return;this.Canvas.save();if(this.LineWidth>0)this.Canvas.lineWidth=this.LineWidth*GetDevicePixelRatio();var bottom=this.ChartBorder.GetBottom();this.Canvas.strokeStyle=this.Color;var bFirstPoint=true;var drawCount=0,x,y;var firstPoint={};for(var i=0;i<this.Data.Data.length;++i){var item=this.Data.Data[i];var value=item.Close;if(!IFrameSplitOperator.IsNumber(value))continue;x=this.ChartFrame.GetXFromIndex(i);y=this.ChartFrame.GetYFromData(value);if(bFirstPoint){this.Canvas.beginPath();this.Canvas.moveTo(x,y);bFirstPoint=false;firstPoint={X:x,Y:y};}else{this.Canvas.lineTo(x,y);}++drawCount;}if(drawCount>0){this.Canvas.stroke();this.Canvas.lineTo(x,bottom);this.Canvas.lineTo(firstPoint.X,bottom);this.Canvas.closePath();this.Canvas.fillStyle=this.AreaColor;this.Canvas.fill();}this.Canvas.restore();};this.GetMaxMin=function(){var range={Max:null,Min:null};if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return range;for(var i=0;i<this.Data.Data.length;++i){var item=this.Data.Data[i];var value=item.Close;if(!IFrameSplitOperator.IsNumber(value))continue;if(range.Max==null||range.Max<value)range.Max=value;if(range.Min==null||range.Min>value)range.Min=value;}return range;};}/********************************************************************************
|
|
12467
12469
|
* 版本信息输出
|
|
12468
12470
|
*
|
|
12469
|
-
*/var HQCHART_VERSION="1.1.
|
|
12471
|
+
*/var HQCHART_VERSION="1.1.12432";function PrintHQChartVersion(){var log='*************************************************************************************************************\n*\n* HQChart Ver: '+HQCHART_VERSION+' \n* \n* License: Apache License 2.0 \n* Source: https://github.com/jones2000/HQChart\n*\n*************************************************************************************************************\n';console.log(log);}PrintHQChartVersion();//把给外界调用的方法暴露出来
|
|
12470
12472
|
exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
|
|
12471
12473
|
// BaseIndex:BaseIndex,
|
|
12472
12474
|
// ChartLine:ChartLine,
|
package/package.json
CHANGED
|
@@ -2844,15 +2844,29 @@ function JSAlgorithm(errorHandler,symbolData)
|
|
|
2844
2844
|
let result=[];
|
|
2845
2845
|
if (typeof(n)=='number')
|
|
2846
2846
|
{
|
|
2847
|
-
if (data
|
|
2848
|
-
|
|
2849
|
-
|
|
2850
|
-
|
|
2851
|
-
|
|
2852
|
-
|
|
2853
|
-
|
|
2854
|
-
|
|
2855
|
-
|
|
2847
|
+
if (IFrameSplitOperator.IsNumber(data)) //单数值
|
|
2848
|
+
{
|
|
2849
|
+
if (n<0) return result;
|
|
2850
|
+
var kData=this.SymbolData.Data.Data;
|
|
2851
|
+
if (!kData || kData.length<=0) return result;
|
|
2852
|
+
var count=kData.length;
|
|
2853
|
+
for(var i=n;i<count;++i)
|
|
2854
|
+
{
|
|
2855
|
+
result[i]=data;
|
|
2856
|
+
}
|
|
2857
|
+
}
|
|
2858
|
+
else
|
|
2859
|
+
{
|
|
2860
|
+
if (data.length<=0) return result;
|
|
2861
|
+
if (n>=data.length) return result;
|
|
2862
|
+
|
|
2863
|
+
result=data.slice(0,data.length-n);
|
|
2864
|
+
|
|
2865
|
+
//平滑处理
|
|
2866
|
+
var firstData=data[0];
|
|
2867
|
+
for(let i=0;i<n;++i)
|
|
2868
|
+
result.unshift(firstData);
|
|
2869
|
+
}
|
|
2856
2870
|
}
|
|
2857
2871
|
else //n 为数组的情况
|
|
2858
2872
|
{
|
|
@@ -4130,9 +4144,21 @@ function JSAlgorithm(errorHandler,symbolData)
|
|
|
4130
4144
|
{
|
|
4131
4145
|
if (n==0)
|
|
4132
4146
|
{
|
|
4133
|
-
|
|
4147
|
+
var start=-1;
|
|
4148
|
+
for(var i=0; i<data.length; ++i) //取第1个有效数
|
|
4149
|
+
{
|
|
4150
|
+
if (IFrameSplitOperator.IsNumber(data[i]))
|
|
4151
|
+
{
|
|
4152
|
+
start=i;
|
|
4153
|
+
break;
|
|
4154
|
+
}
|
|
4155
|
+
}
|
|
4156
|
+
|
|
4157
|
+
if (start<0) return result;
|
|
4158
|
+
|
|
4159
|
+
result[start]=data[start];
|
|
4134
4160
|
|
|
4135
|
-
for (var i=1; i<data.length; ++i)
|
|
4161
|
+
for (var i=start+1; i<data.length; ++i)
|
|
4136
4162
|
{
|
|
4137
4163
|
result[i] = result[i-1]+data[i];
|
|
4138
4164
|
}
|
package/src/jscommon/umychart.js
CHANGED
|
@@ -8571,6 +8571,10 @@ function CloneData(data)
|
|
|
8571
8571
|
return item;
|
|
8572
8572
|
}
|
|
8573
8573
|
|
|
8574
|
+
function IsRecvOverlap(rect1, rect2)
|
|
8575
|
+
{
|
|
8576
|
+
return Math.max(rect1.Left,rect2.Left) < Math.min(rect1.Right,rect2.Right) && Math.max(rect1.Top,rect2.Top) < Math.min(rect1.Bottom,rect2.Bottom);
|
|
8577
|
+
}
|
|
8574
8578
|
|
|
8575
8579
|
|
|
8576
8580
|
function Point()
|
|
@@ -12651,6 +12651,10 @@ function CloneData(data)
|
|
|
12651
12651
|
return item;
|
|
12652
12652
|
}
|
|
12653
12653
|
|
|
12654
|
+
function IsRecvOverlap(rect1, rect2)
|
|
12655
|
+
{
|
|
12656
|
+
return Math.max(rect1.Left,rect2.Left) < Math.min(rect1.Right,rect2.Right) && Math.max(rect1.Top,rect2.Top) < Math.min(rect1.Bottom,rect2.Bottom);
|
|
12657
|
+
}
|
|
12654
12658
|
|
|
12655
12659
|
|
|
12656
12660
|
function Point()
|
|
@@ -94929,15 +94933,29 @@ function JSAlgorithm(errorHandler,symbolData)
|
|
|
94929
94933
|
let result=[];
|
|
94930
94934
|
if (typeof(n)=='number')
|
|
94931
94935
|
{
|
|
94932
|
-
if (data
|
|
94933
|
-
|
|
94934
|
-
|
|
94935
|
-
|
|
94936
|
-
|
|
94937
|
-
|
|
94938
|
-
|
|
94939
|
-
|
|
94940
|
-
|
|
94936
|
+
if (IFrameSplitOperator.IsNumber(data)) //单数值
|
|
94937
|
+
{
|
|
94938
|
+
if (n<0) return result;
|
|
94939
|
+
var kData=this.SymbolData.Data.Data;
|
|
94940
|
+
if (!kData || kData.length<=0) return result;
|
|
94941
|
+
var count=kData.length;
|
|
94942
|
+
for(var i=n;i<count;++i)
|
|
94943
|
+
{
|
|
94944
|
+
result[i]=data;
|
|
94945
|
+
}
|
|
94946
|
+
}
|
|
94947
|
+
else
|
|
94948
|
+
{
|
|
94949
|
+
if (data.length<=0) return result;
|
|
94950
|
+
if (n>=data.length) return result;
|
|
94951
|
+
|
|
94952
|
+
result=data.slice(0,data.length-n);
|
|
94953
|
+
|
|
94954
|
+
//平滑处理
|
|
94955
|
+
var firstData=data[0];
|
|
94956
|
+
for(let i=0;i<n;++i)
|
|
94957
|
+
result.unshift(firstData);
|
|
94958
|
+
}
|
|
94941
94959
|
}
|
|
94942
94960
|
else //n 为数组的情况
|
|
94943
94961
|
{
|
|
@@ -96215,9 +96233,21 @@ function JSAlgorithm(errorHandler,symbolData)
|
|
|
96215
96233
|
{
|
|
96216
96234
|
if (n==0)
|
|
96217
96235
|
{
|
|
96218
|
-
|
|
96236
|
+
var start=-1;
|
|
96237
|
+
for(var i=0; i<data.length; ++i) //取第1个有效数
|
|
96238
|
+
{
|
|
96239
|
+
if (IFrameSplitOperator.IsNumber(data[i]))
|
|
96240
|
+
{
|
|
96241
|
+
start=i;
|
|
96242
|
+
break;
|
|
96243
|
+
}
|
|
96244
|
+
}
|
|
96245
|
+
|
|
96246
|
+
if (start<0) return result;
|
|
96247
|
+
|
|
96248
|
+
result[start]=data[start];
|
|
96219
96249
|
|
|
96220
|
-
for (var i=1; i<data.length; ++i)
|
|
96250
|
+
for (var i=start+1; i<data.length; ++i)
|
|
96221
96251
|
{
|
|
96222
96252
|
result[i] = result[i-1]+data[i];
|
|
96223
96253
|
}
|
|
@@ -127607,7 +127637,7 @@ function ScrollBarBGChart()
|
|
|
127607
127637
|
|
|
127608
127638
|
|
|
127609
127639
|
|
|
127610
|
-
var HQCHART_VERSION="1.1.
|
|
127640
|
+
var HQCHART_VERSION="1.1.12432";
|
|
127611
127641
|
|
|
127612
127642
|
function PrintHQChartVersion()
|
|
127613
127643
|
{
|
|
@@ -12695,6 +12695,10 @@ function CloneData(data)
|
|
|
12695
12695
|
return item;
|
|
12696
12696
|
}
|
|
12697
12697
|
|
|
12698
|
+
function IsRecvOverlap(rect1, rect2)
|
|
12699
|
+
{
|
|
12700
|
+
return Math.max(rect1.Left,rect2.Left) < Math.min(rect1.Right,rect2.Right) && Math.max(rect1.Top,rect2.Top) < Math.min(rect1.Bottom,rect2.Bottom);
|
|
12701
|
+
}
|
|
12698
12702
|
|
|
12699
12703
|
|
|
12700
12704
|
function Point()
|
|
@@ -94973,15 +94977,29 @@ function JSAlgorithm(errorHandler,symbolData)
|
|
|
94973
94977
|
let result=[];
|
|
94974
94978
|
if (typeof(n)=='number')
|
|
94975
94979
|
{
|
|
94976
|
-
if (data
|
|
94977
|
-
|
|
94978
|
-
|
|
94979
|
-
|
|
94980
|
-
|
|
94981
|
-
|
|
94982
|
-
|
|
94983
|
-
|
|
94984
|
-
|
|
94980
|
+
if (IFrameSplitOperator.IsNumber(data)) //单数值
|
|
94981
|
+
{
|
|
94982
|
+
if (n<0) return result;
|
|
94983
|
+
var kData=this.SymbolData.Data.Data;
|
|
94984
|
+
if (!kData || kData.length<=0) return result;
|
|
94985
|
+
var count=kData.length;
|
|
94986
|
+
for(var i=n;i<count;++i)
|
|
94987
|
+
{
|
|
94988
|
+
result[i]=data;
|
|
94989
|
+
}
|
|
94990
|
+
}
|
|
94991
|
+
else
|
|
94992
|
+
{
|
|
94993
|
+
if (data.length<=0) return result;
|
|
94994
|
+
if (n>=data.length) return result;
|
|
94995
|
+
|
|
94996
|
+
result=data.slice(0,data.length-n);
|
|
94997
|
+
|
|
94998
|
+
//平滑处理
|
|
94999
|
+
var firstData=data[0];
|
|
95000
|
+
for(let i=0;i<n;++i)
|
|
95001
|
+
result.unshift(firstData);
|
|
95002
|
+
}
|
|
94985
95003
|
}
|
|
94986
95004
|
else //n 为数组的情况
|
|
94987
95005
|
{
|
|
@@ -96259,9 +96277,21 @@ function JSAlgorithm(errorHandler,symbolData)
|
|
|
96259
96277
|
{
|
|
96260
96278
|
if (n==0)
|
|
96261
96279
|
{
|
|
96262
|
-
|
|
96280
|
+
var start=-1;
|
|
96281
|
+
for(var i=0; i<data.length; ++i) //取第1个有效数
|
|
96282
|
+
{
|
|
96283
|
+
if (IFrameSplitOperator.IsNumber(data[i]))
|
|
96284
|
+
{
|
|
96285
|
+
start=i;
|
|
96286
|
+
break;
|
|
96287
|
+
}
|
|
96288
|
+
}
|
|
96289
|
+
|
|
96290
|
+
if (start<0) return result;
|
|
96291
|
+
|
|
96292
|
+
result[start]=data[start];
|
|
96263
96293
|
|
|
96264
|
-
for (var i=1; i<data.length; ++i)
|
|
96294
|
+
for (var i=start+1; i<data.length; ++i)
|
|
96265
96295
|
{
|
|
96266
96296
|
result[i] = result[i-1]+data[i];
|
|
96267
96297
|
}
|
|
@@ -127651,7 +127681,7 @@ function ScrollBarBGChart()
|
|
|
127651
127681
|
|
|
127652
127682
|
|
|
127653
127683
|
|
|
127654
|
-
var HQCHART_VERSION="1.1.
|
|
127684
|
+
var HQCHART_VERSION="1.1.12432";
|
|
127655
127685
|
|
|
127656
127686
|
function PrintHQChartVersion()
|
|
127657
127687
|
{
|