hqchart 1.1.13029 → 1.1.13051
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 +12 -9
- package/package.json +1 -1
- package/src/jscommon/umychart.complier.js +43 -23
- package/src/jscommon/umychart.js +14 -0
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +58 -24
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +58 -24
package/lib/umychart.vue.js
CHANGED
|
@@ -8808,7 +8808,7 @@ if(this.IsSHGEM(symbol))return{Max:0.2,Min:-0.2};//创业板 [20% - -20%]
|
|
|
8808
8808
|
if(!name)return null;if(name.indexOf('ST')>=0)return{Max:0.05,Min:-0.05};//ST 股票 [5% - -5%]
|
|
8809
8809
|
return{Max:0.1,Min:-0.1};//[10% - -10%]
|
|
8810
8810
|
},GetDefaultDecimal:function GetDefaultDecimal(symbol)//默认小数位数
|
|
8811
|
-
{return 2;},GetFHKDecimal:function GetFHKDecimal(symbol)//港股指数期货 小数位数
|
|
8811
|
+
{return 2;},GetSHDecimal:function GetSHDecimal(symbol){return 2;},GetSZDecimal:function GetSZDecimal(symbol){return 2;},GetFHKDecimal:function GetFHKDecimal(symbol)//港股指数期货 小数位数
|
|
8812
8812
|
{return 0;},GetFTSEDecimal:function GetFTSEDecimal(symbol)//富时中国A50期货 小数位数
|
|
8813
8813
|
{return 0;},GetBITDecimal:function GetBITDecimal(symbol){return 2;},GetSHODecimal:function GetSHODecimal(symbol){return 4;},GetETDecimal:function GetETDecimal(symbol){return 2;},GetHKDecimal:function GetHKDecimal(symbol){return 2;},GetTWDecimal:function GetTWDecimal(symbol){return 2;},GetJPDecimal:function GetJPDecimal(symbol){return 2;},GetHSXDecimal:function GetHSXDecimal(symbol){return 2;},GetHNXDecimal:function GetHNXDecimal(symbol){return 2;},GetUPCOMDecimal:function GetUPCOMDecimal(symbol){return 2;},GetForeignExchangeDecimal:function GetForeignExchangeDecimal(symbol){return 4;},GetNYMEXDecimal:function GetNYMEXDecimal(symbol)//纽约期货交易所
|
|
8814
8814
|
{return g_NYMEXTimeData.GetDecimal(symbol);},GetCOMEXDecimal:function GetCOMEXDecimal(symbol){return g_COMEXTimeData.GetDecimal(symbol);},GetNYBOTDecimal:function GetNYBOTDecimal(symbol){return g_NYBOTTimeData.GetDecimal(symbol);},GetCBOTDecimal:function GetCBOTDecimal(symbol){return g_CBOTTimeData.GetDecimal(symbol);},GetLMEDecimal:function GetLMEDecimal(symbol){return g_LMETimeData.GetDecimal(symbol);},GetTOCOMDecimal:function GetTOCOMDecimal(symbol){return g_TOCOMTimeData.GetDecimal(symbol);},GetIPEDecimal:function GetIPEDecimal(symbol){return g_IPETimeData.GetDecimal(symbol);},GetETMarketStatus:function GetETMarketStatus(symbol){// 0=闭市 1=盘前 2=盘中 3=盘后
|
|
@@ -9295,7 +9295,7 @@ this.TIME_SPLIT2=[//ID=0 09:00-07:00
|
|
|
9295
9295
|
if(!symbol)return defaultfloatPrecision;var upperSymbol=symbol.toUpperCase();//全部由外部控制
|
|
9296
9296
|
if(typeof MARKET_SUFFIX_NAME.GetCustomDecimal=='function')return MARKET_SUFFIX_NAME.GetCustomDecimal(upperSymbol);if(MARKET_SUFFIX_NAME.IsSHSZFund(upperSymbol))defaultfloatPrecision=3;//基金3位小数
|
|
9297
9297
|
else if(MARKET_SUFFIX_NAME.IsSHO(upperSymbol)||MARKET_SUFFIX_NAME.IsSZO(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetSHODecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsChinaFutures(upperSymbol))defaultfloatPrecision=g_FuturesTimeData.GetDecimal(upperSymbol);//期货小数位数读配置
|
|
9298
|
-
else if(MARKET_SUFFIX_NAME.IsFHK(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetFHKDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsFTSE(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetFTSEDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsBIT(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetBITDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsET(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetETDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsForeignExchange(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetForeignExchangeDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsNYMEX(upperSymbol))defaultfloatPrecision=g_NYMEXTimeData.GetDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsCOMEX(upperSymbol))defaultfloatPrecision=g_COMEXTimeData.GetDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsNYBOT(upperSymbol))defaultfloatPrecision=g_NYBOTTimeData.GetDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsCBOT(upperSymbol))defaultfloatPrecision=g_CBOTTimeData.GetDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsLME(upperSymbol))defaultfloatPrecision=g_LMETimeData.GetDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsTOCOM(upperSymbol))defaultfloatPrecision=g_TOCOMTimeData.GetDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsIPE(upperSymbol))defaultfloatPrecision=g_IPETimeData.GetDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsHK(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetHKDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsTW(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetTWDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsJP(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetJPDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsHSX(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetHSXDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsHNX(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetHNXDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsUPCOM(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetUPCOMDecimal(upperSymbol);else defaultfloatPrecision=MARKET_SUFFIX_NAME.GetDefaultDecimal(upperSymbol);return defaultfloatPrecision;}//把不连续的分时数据转成连续的分时数据
|
|
9298
|
+
else if(MARKET_SUFFIX_NAME.IsFHK(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetFHKDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsFTSE(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetFTSEDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsBIT(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetBITDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsET(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetETDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsForeignExchange(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetForeignExchangeDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsNYMEX(upperSymbol))defaultfloatPrecision=g_NYMEXTimeData.GetDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsCOMEX(upperSymbol))defaultfloatPrecision=g_COMEXTimeData.GetDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsNYBOT(upperSymbol))defaultfloatPrecision=g_NYBOTTimeData.GetDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsCBOT(upperSymbol))defaultfloatPrecision=g_CBOTTimeData.GetDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsLME(upperSymbol))defaultfloatPrecision=g_LMETimeData.GetDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsTOCOM(upperSymbol))defaultfloatPrecision=g_TOCOMTimeData.GetDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsIPE(upperSymbol))defaultfloatPrecision=g_IPETimeData.GetDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsHK(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetHKDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsTW(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetTWDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsJP(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetJPDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsHSX(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetHSXDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsHNX(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetHNXDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsUPCOM(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetUPCOMDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsSZ(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetSZDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsSH(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetSHDecimal(upperSymbol);else defaultfloatPrecision=MARKET_SUFFIX_NAME.GetDefaultDecimal(upperSymbol);return defaultfloatPrecision;}//把不连续的分时数据转成连续的分时数据
|
|
9299
9299
|
function GenerateMinuteStockJsonData(data){var stock={symbol:data.symbol,name:data.name,time:data.time,date:data.date,price:data.price,open:data.open,yclose:data.yclose,high:data.high,low:data.low,vol:data.vol,amount:data.amount,minute:[]};var mapMinute=new _map2.default();for(var i in data.minute){var item=data.minute[i];mapMinute.set(item.time,item);}var timeData=g_MinuteTimeStringData.GetTimeData(stock.symbol);for(var i in timeData)//根据交易时间产生数据
|
|
9300
9300
|
{var time=timeData[i];var minuteItem={time:time,vaild:false};if(mapMinute.has(time)){var find=mapMinute.get(time);minuteItem.vaild=true;minuteItem.price=find.price;minuteItem.open=find.open;minuteItem.high=find.high;minuteItem.low=find.low;minuteItem.avprice=find.avprice;minuteItem.vol=find.vol;minuteItem.amount=find.amount;if(IFrameSplitOperator.IsNumber(find.increase))minuteItem.increase=find.increase;if(IFrameSplitOperator.IsNumber(find.risefall))minuteItem.risefall=find.risefall;if(IFrameSplitOperator.IsNumber(find.position))minuteItem.position=find.position;}stock.minute.push(minuteItem);}var vaildCount=0;for(var i=stock.minute.length-1;i>=0;--i){vaildCount=i+1;var item=stock.minute[i];if(item.vaild==true)break;}stock.minute=stock.minute.slice(0,vaildCount);//去掉最后无用的数据
|
|
9301
9301
|
return stock;}function GetLocalTime(i)//得到标准时区的时间的函数
|
|
@@ -9572,14 +9572,16 @@ this.MAX=function(args,node){if(args.length==0)this.ThrowUnexpectedNode(node,'MA
|
|
|
9572
9572
|
//用法:MIN(A,B, C, D .....)返回A,B, C ,D ......中的较小值
|
|
9573
9573
|
//例如:MIN(CLOSE,OPEN)返回开盘价和收盘价中的较小值
|
|
9574
9574
|
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;};//取正数
|
|
9575
|
-
this.ABS=function(data){var result=[];for(var _i75 in data){result[_i75]=null;if(!isNaN(data[_i75]))result[_i75]=Math.abs(data[_i75]);}return result;};this.MA=function(data,dayCount){var result=[];if(dayCount<=0)return result;if(!Array.isArray(dayCount)){
|
|
9575
|
+
this.ABS=function(data){var result=[];for(var _i75 in data){result[_i75]=null;if(!isNaN(data[_i75]))result[_i75]=Math.abs(data[_i75]);}return result;};this.MA=function(data,dayCount){var result=[];if(dayCount<=0)return result;if(!Array.isArray(dayCount)){dayCount=parseInt(dayCount);//转整形
|
|
9576
|
+
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);//复制一份数据出来
|
|
9576
9577
|
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 _j2=dayCount-1;_j2>=0;--_j2){var value=data[i-_j2];if(!this.IsNumber(value)){value=preValue;//空数据就取上一个数据
|
|
9577
9578
|
data[i-_j2]=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)
|
|
9578
9579
|
//N 支持周期数组
|
|
9579
9580
|
this.EMA=function(data,dayCount){var result=[];if(data.length<=0)return result;if(Array.isArray(dayCount)){for(var i=0;i<dayCount.length;++i){var period=dayCount[i];if(!this.IsNumber(period))continue;period=parseInt(period);//周期用整数
|
|
9580
9581
|
if(period<=0)continue;if(period>i+1)period=i+1;//EMA(N) = 2/(N+1)*C + (N-1)/(N+1)*EMA', EMA'为前一天的ema
|
|
9581
9582
|
var EMAFactor=[2/(period+1),(period-1)/(period+1)];var ema=null;var lastEMA=null;for(var j=0;j<period;++j){var index=i-(period-j-1);var value=data[index];if(!this.IsNumber(value))coninue;if(lastEMA==null){ema=value;//第一个EMA为第一个数据的价格
|
|
9582
|
-
lastEMA=ema;}else{ema=EMAFactor[0]*value+EMAFactor[1]*lastEMA;lastEMA=ema;}}result[i]=ema;}}else{
|
|
9583
|
+
lastEMA=ema;}else{ema=EMAFactor[0]*value+EMAFactor[1]*lastEMA;lastEMA=ema;}}result[i]=ema;}}else{dayCount=parseInt(dayCount);//转整形
|
|
9584
|
+
if(dayCount<=0)return result;var offset=0;//取首个有效数据
|
|
9583
9585
|
for(;offset<data.length;++offset){if(data[offset]!=null&&!isNaN(data[offset]))break;}var p1Index=offset;var p2Index=offset+1;result[p1Index]=data[p1Index];for(var i=offset+1;i<data.length;++i,++p1Index,++p2Index){result[p2Index]=(2*data[p2Index]+(dayCount-1)*result[p1Index])/(dayCount+1);}}return result;};this.XMA=function(data,n){var result=[];var offset=0;for(;offset<data.length;++offset){if(this.IsNumber(data[offset]))break;}var p=parseInt((n-2)/2);var sum=0;var count=0,start=0,end=0;for(var i=offset,j=0;i<data.length;++i){start=i-p-1;end=i+(n-p)-1;for(j=start;j<end;++j){if(j>=0&&j<data.length){if(this.IsNumber(data[j])){sum+=data[j];++count;}}}if(count!=0)result[i]=sum/count;else result[i]=null;sum=0;count=0;}return result;};/*
|
|
9584
9586
|
SMA 移动平均
|
|
9585
9587
|
返回移动平均。
|
|
@@ -9626,7 +9628,7 @@ else if(period<0)period=i+1;count=0;for(var j=i,k=0;j>=0&&k<period;--j,++k)//当
|
|
|
9626
9628
|
求最高值。
|
|
9627
9629
|
用法: HHV(X,N) 求N周期内X最高值,N=0则从第一个有效值开始。
|
|
9628
9630
|
例如: HHV(HIGH,30) 表示求30日最高价。
|
|
9629
|
-
*/this.HHV=function(data,n){var result=[];if(Array.isArray(n)){var max=null;for(var i=0,j=0;i<data.length;++i){result[i]=null;if(i>=n.length)continue;max=null;var count=n[i];if(count>0&&count<=i){for(j=i-count;j<=i;++j){if(max==null||max<data[j])max=data[j];}}else{count=i;for(j=0;j<=i;++j){if(max==null||max<data[j])max=data[j];}}result[i]=max;}}else{if(!IFrameSplitOperator.IsNonEmptyArray(data))return result;if(n<=0)n=data.length;else if(n>data.length)n=data.length;var nStart=this.GetFirstVaildIndex(data);if(nStart>=data.length)return result;var nMax=nStart;if(nMax<data.length)result[nMax]=data[nMax];for(var i=nMax+1,j=2;i<data.length&&j<n;++i,++j){if(data[i]>=data[nMax])nMax=i;result[i]=data[nMax];}for(;i<data.length;++i){if(i-nMax<n){nMax=data[i]<data[nMax]?nMax:i;}else{for(j=nMax=i-n+1;j<=i;++j){nMax=data[j]<data[nMax]?nMax:j;}}result[i]=data[nMax];}}return result;};/*
|
|
9631
|
+
*/this.HHV=function(data,n){var result=[];if(Array.isArray(n)){var max=null;for(var i=0,j=0;i<data.length;++i){result[i]=null;if(i>=n.length)continue;max=null;var count=n[i];if(count>0&&count<=i){for(j=i-count;j<=i;++j){if(max==null||max<data[j])max=data[j];}}else{count=i;for(j=0;j<=i;++j){if(max==null||max<data[j])max=data[j];}}result[i]=max;}}else{if(!IFrameSplitOperator.IsNonEmptyArray(data))return result;n=parseInt(n);if(n<=0)n=data.length;else if(n>data.length)n=data.length;var nStart=this.GetFirstVaildIndex(data);if(nStart>=data.length)return result;var nMax=nStart;if(nMax<data.length)result[nMax]=data[nMax];for(var i=nMax+1,j=2;i<data.length&&j<n;++i,++j){if(data[i]>=data[nMax])nMax=i;result[i]=data[nMax];}for(;i<data.length;++i){if(i-nMax<n){nMax=data[i]<data[nMax]?nMax:i;}else{for(j=nMax=i-n+1;j<=i;++j){nMax=data[j]<data[nMax]?nMax:j;}}result[i]=data[nMax];}}return result;};/*
|
|
9630
9632
|
HV(X,N):求X在N个周期内(不包含当前k线)的最高值。
|
|
9631
9633
|
|
|
9632
9634
|
注:
|
|
@@ -9647,7 +9649,7 @@ else if(period<0)period=i+1;count=0;for(var j=i,k=0;j>=0&&k<period;--j,++k)//当
|
|
|
9647
9649
|
求最低值。
|
|
9648
9650
|
用法: LLV(X,N) 求N周期内X最低值,N=0则从第一个有效值开始。
|
|
9649
9651
|
例如: LLV(LOW,0) 表示求历史最低价。
|
|
9650
|
-
*/this.LLV=function(data,n){var result=[];if(Array.isArray(n)){for(var i=0;i<data.length;++i){result[i]=null;if(i>=n.length)continue;var min=null;var count=n[i];if(count>0&&count<=i){for(var j=i-count;j<=i;++j){if(min==null||min>data[j])min=data[j];}}else{count=i;for(var j=0;j<=i;++j){if(min==null||min>data[j])min=data[j];}}result[i]=min;}}else{if(!IFrameSplitOperator.IsNonEmptyArray(data))return result;if(n<=0)n=data.length;else if(n>data.length)n=data.length;var nStart=this.GetFirstVaildIndex(data);if(nStart>=data.length)return result;var nMin=nStart;if(nMin<data.length)result[nMin]=data[nMin];for(var i=nMin+1,j=2;i<data.length&&j<n;++i,++j){if(data[i]<=data[nMin])nMin=i;result[i]=data[nMin];}for(;i<data.length;++i){if(i-nMin<n){nMin=data[i]>data[nMin]?nMin:i;}else{for(j=nMin=i-n+1;j<=i;++j){nMin=data[j]>data[nMin]?nMin:j;}}result[i]=data[nMin];}}return result;};/*
|
|
9652
|
+
*/this.LLV=function(data,n){var result=[];if(Array.isArray(n)){for(var i=0;i<data.length;++i){result[i]=null;if(i>=n.length)continue;var min=null;var count=n[i];if(count>0&&count<=i){for(var j=i-count;j<=i;++j){if(min==null||min>data[j])min=data[j];}}else{count=i;for(var j=0;j<=i;++j){if(min==null||min>data[j])min=data[j];}}result[i]=min;}}else{if(!IFrameSplitOperator.IsNonEmptyArray(data))return result;n=parseInt(n);if(n<=0)n=data.length;else if(n>data.length)n=data.length;var nStart=this.GetFirstVaildIndex(data);if(nStart>=data.length)return result;var nMin=nStart;if(nMin<data.length)result[nMin]=data[nMin];for(var i=nMin+1,j=2;i<data.length&&j<n;++i,++j){if(data[i]<=data[nMin])nMin=i;result[i]=data[nMin];}for(;i<data.length;++i){if(i-nMin<n){nMin=data[i]>data[nMin]?nMin:i;}else{for(j=nMin=i-n+1;j<=i;++j){nMin=data[j]>data[nMin]?nMin:j;}}result[i]=data[nMin];}}return result;};/*
|
|
9651
9653
|
LV(X,N) 求X在N个周期内的最小值(不包含当前k线)
|
|
9652
9654
|
|
|
9653
9655
|
注:
|
|
@@ -11104,9 +11106,10 @@ else if(value.indexOf("FONTSIZE")==0){var strFontSize=value.replace("FONTSIZE","
|
|
|
11104
11106
|
{var _outVar14=this.VarTable.get(_varName3);var _value8={Name:_varName3,Data:_outVar14,Color:color,Type:2};if(lineWidth)_value8.LineWidth=lineWidth;if(color)_value8.Color=color;if(upColor)_value8.UpColor=upColor;if(downColor)_value8.DownColor=downColor;this.OutVarTable.push(_value8);}else if(_varName3&&color&&!_draw3){var _outVar15=this.VarTable.get(_varName3);if(!Array.isArray(_outVar15))_outVar15=this.SingleDataToArrayData(_outVar15);var _value9={Name:_varName3,Data:_outVar15,Color:color,Type:0};if(lineWidth)_value9.LineWidth=lineWidth;if(isShow==false)_value9.IsShow=false;if(isExData==true)_value9.IsExData=true;if(isDotLine==true)_value9.IsDotLine=true;if(isOverlayLine==true)_value9.IsOverlayLine=true;if(isNoneName==true)_value9.NoneName=true;if(isShowTitle==false)_value9.IsShowTitle=false;if(stepLine==true)_value9.Type=7;this.OutVarTable.push(_value9);}else if(_draw3)//画图函数
|
|
11105
11107
|
{var outVar={Name:_draw3.Name,Draw:_draw3,Type:1};if(color)outVar.Color=color;if(isDotLine==true)outVar.IsDotLine=true;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(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;this.OutVarTable.push(outVar);}else if(_varName3){var _outVar16=this.VarTable.get(_varName3);var _value10={Name:_varName3,Data:_outVar16,Type:0};if(color)_value10.Color=color;if(lineWidth)_value10.LineWidth=lineWidth;if(isShow==false)_value10.IsShow=false;if(isExData==true)_value10.IsExData=true;if(isDotLine==true)_value10.IsDotLine=true;if(isOverlayLine==true)_value10.IsOverlayLine=true;if(isShowTitle==false)_value10.IsShowTitle=false;if(stepLine==true)_value10.Type=7;this.OutVarTable.push(_value10);}}}};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();//执行脚本
|
|
11106
11108
|
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 _this46=this;if(debugCtrl.ExeLine<debugCtrl.LineCount){var item=this.AST.Body[debugCtrl.ExeLine];this.RunASTNode(item);++debugCtrl.ExeLine;this.DebugFilter(debugCtrl,function(){_this46.DebugRun_Next(debugCtrl);});}else{this.DebugRun_End();debugCtrl.Status=2;this.DebugFilter(debugCtrl,null);}};//debug模式
|
|
11107
|
-
this.DebugRun=function(){var _this47=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(){_this47.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 _i130 in node.Expression){var _item20=node.Expression[_i130];this.VisitNode(_item20);}}
|
|
11109
|
+
this.DebugRun=function(){var _this47=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(){_this47.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 _i130 in node.Expression){var _item20=node.Expression[_i130];this.VisitNode(_item20);}};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);//周期
|
|
11110
|
+
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;};//函数调用
|
|
11108
11111
|
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个条件参数
|
|
11109
|
-
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){
|
|
11112
|
+
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表达式.
|
|
11110
11113
|
var bResult=this.Algorithm.IFC(args[0]);var item=bResult?node.Arguments[1]:node.Arguments[2];var value;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);node.Out=value;if(item.Draw)node.Draw=item.Draw;return node.Out;}//JSConsole.Complier.Log('[JSExecute::VisitCallExpression]' , funcName, '(', args.toString() ,')');
|
|
11111
11114
|
if(g_JSComplierResource.IsCustomFunction(funcName)){var data=this.Algorithm.CallCustomFunction(funcName,args,this.SymbolData,node);node.Out=[];node.Draw=null;if(data){if(data.Out)node.Out=data.Out;if(data.Draw)node.Draw=data.Draw;}return node.Out;}switch(funcName){case'DYNAINFO'://行情最新数据
|
|
11112
11115
|
node.Out=this.SymbolData.GetLatestCacheData(args[0]);break;case'STICKLINE':node.Draw=this.Draw.STICKLINE(args[0],args[1],args[2],args[3],args[4]);node.Out=[];break;case'DRAWTEXT':node.Draw=this.Draw.DRAWTEXT(args[0],args[1],args[2]);node.Out=[];break;case'DRAWTEXT_FIX':node.Draw=this.Draw.DRAWTEXT_FIX(args[0],args[1],args[2],args[3],args[4]);node.Out=[];break;case'SUPERDRAWTEXT':node.Draw=this.Draw.SUPERDRAWTEXT(args[0],args[1],args[2],args[3],args[4]);node.Out=[];break;case'DRAWICON':node.Draw=this.Draw.DRAWICON(args[0],args[1],args[2]);node.Out=[];break;case"ICON":node.Draw=this.Draw.ICON(args[0],args[1]);node.Out=[];break;case"TIPICON":node.Draw=this.Draw.TIPICON(args[0],args[1],args[2],args[3]);node.Out=[];break;case"BACKGROUND":node.Draw=this.Draw.BACKGROUND(args[0],args[1],args[2],args[3],args[4],args[5]);node.Out=[];break;case"CKLINE":node.Draw=this.Draw.CKLINE(args[0],args[1],args[2],args[3],args[4]);node.Out=[];break;case'DRAWLINE':node.Draw=this.Draw.DRAWLINE(args[0],args[1],args[2],args[3],args[4]);node.Out=node.Draw.DrawData;break;case'DRAWBAND':node.Draw=this.Draw.DRAWBAND(args[0],args[1],args[2],args[3]);node.Out=[];break;case"FILLRGN":if(args.length>=4)node.Draw=this.Draw.FILLRGN2(args);else node.Draw=this.Draw.FILLRGN(args[0],args[1],args[2]);node.Out=[];break;case"FLOATRGN":node.Draw=this.Draw.FLOATRGN(args);node.Out=[];break;case"FILLTOPRGN":node.Draw=this.Draw.FILLBGRGN(1,args);node.Out=[];break;case"FILLBOTTOMRGN":node.Draw=this.Draw.FILLBGRGN(0,args);node.Out=[];break;case"FILLVERTICALRGN":node.Draw=this.Draw.FILLVERTICALRGN(args);node.Out=[];break;case'DRAWKLINE':case"DRAWKLINE1":node.Draw=this.Draw.DRAWKLINE(args[0],args[1],args[2],args[3]);node.Out=[];break;case'DRAWKLINE_IF':node.Draw=this.Draw.DRAWKLINE_IF(args[0],args[1],args[2],args[3],args[4]);node.Out=[];break;case"DRAWOVERLAYKLINE":node.Draw=this.Draw.DRAWOVERLAYKLINE(args[0],args[1],args[2],args[3]);node.Out=[];break;case"DRAWCOLORKLINE":node.Draw=this.Draw.DRAWCOLORKLINE(args[0],args[1],args[2]);node.Out=[];break;case'PLOYLINE':case'POLYLINE':node.Draw=this.Draw.POLYLINE(args[0],args[1]);node.Out=node.Draw.DrawData;break;case'DRAWNUMBER':node.Draw=this.Draw.DRAWNUMBER(args[0],args[1],args[2],args[3]);node.Out=node.Draw.DrawData.Value;break;case"DRAWNUMBER_FIX":node.Draw=this.Draw.DRAWNUMBER_FIX(args[0],args[1],args[2],args[3],args[4]);node.Out=node.Draw.DrawData.Value;break;case"DRAWCHANNEL":node.Draw=this.Draw.DRAWCHANNEL(args[0],args[1],args[2],args[3],args[4],args[5],args[6]);node.Out=[];break;case'RGB':node.Out=this.Draw.RGB(args[0],args[1],args[2]);break;case"RGBA":node.Out=this.Draw.RGBA(args[0],args[1],args[2],args[3]);break;case"UPCOLOR":node.Out=this.Draw.UPCOLOR(args[0]);break;case"DOWNCOLOR":node.Out=this.Draw.DOWNCOLOR(args[0]);break;case"XMOVE":node.Out=this.Draw.XMOVE(args[0]);break;case"YMOVE":node.Out=this.Draw.YMOVE(args[0]);break;case"FIRSTDRAW":node.Out=this.Draw.FIRSTDRAW(args[0]);break;case'PARTLINE':node.Draw=this.Draw.PARTLINE(args);node.Out=[];break;case'DRAWGBK':node.Draw=this.Draw.DRAWGBK(args[0],args[1],args[2],args[3]);node.Out=[];break;case'DRAWGBK2':node.Draw=this.Draw.DRAWGBK2(args[0],args[1],args[2],args[3]);node.Out=[];break;case"DRAWGBK_DIV":node.Draw=this.Draw.DRAWGBK_DIV(args[0],args[1],args[2],args[3],args[4]);node.Out=[];break;case'DRAWTEXT_LINE':node.Draw=this.Draw.DRAWTEXT_LINE(args[0],args[1],args[2],args[3],args[4],args[5],args[6]);node.Out=[];break;case'DRAWRECTREL':node.Draw=this.Draw.DRAWRECTREL(args[0],args[1],args[2],args[3],args[4]);node.Out=[];break;case"DRAWTEXTREL":node.Draw=this.Draw.DRAWTEXTREL(args[0],args[1],args[2]);node.Out=[];break;case"DRAWTEXTABS":node.Draw=this.Draw.DRAWTEXTABS(args[0],args[1],args[2]);node.Out=[];break;case"DRAWOVERLAYLINE":node.Draw=this.Draw.DRAWOVERLAYLINE(args[0],args[1],args[2]);node.Out=node.Draw.DrawData.Data;break;case"DRAWSL":node.Draw=this.Draw.DRAWSL(args[0],args[1],args[2],args[3],args[4]);node.Out=[];break;case"VERTLINE":node.Draw=this.Draw.VERTLINE(args[0],args[1]);node.Out=node.Draw.DrawData.Data;break;case"HORLINE":node.Draw=this.Draw.HORLINE(args[0],args[1],args[2],args[3]);node.Out=node.Draw.DrawData.Data;break;case'CODELIKE':node.Out=this.SymbolData.CODELIKE(args[0]);break;case'NAMELIKE':case"NAMEINCLUDE":node.Out=this.SymbolData.NAMELIKE(args[1]);break;case'REFDATE':node.Out=this.SymbolData.REFDATE(args[0],args[1]);break;case'FINANCE':node.Out=this.SymbolData.GetStockCacheData({FunctionName:funcName,Args:args,ArgCount:1,Node:node});break;case"FINVALUE":node.Out=this.SymbolData.GetStockCacheData({FunctionName:funcName,Args:args,ArgCount:1,Node:node});break;case"FINONE":node.Out=this.SymbolData.GetStockCacheData({FunctionName:funcName,Args:args,ArgCount:3,Node:node});break;case"GPJYVALUE":node.Out=this.SymbolData.GetStockCacheData({FunctionName:funcName,Args:args,ArgCount:3,Node:node});break;case"SCJYVALUE":node.Out=this.SymbolData.GetStockCacheData({FunctionName:funcName,Args:args,ArgCount:3,Node:node});break;case"MARGIN":node.Out=this.SymbolData.GetMarginCacheData(args[0],node);break;case"HK2SHSZ":node.Out=this.SymbolData.GetHKToSHSZCacheData(args[0],node);break;case"NEWS":node.Out=this.SymbolData.GetNewsAnalysisCacheData(args[0],node);break;case'UPCOUNT':case'DOWNCOUNT':node.Out=this.SymbolData.GetIndexIncreaseCacheData(funcName,args[0],node);break;case'SF':node.Out=this.SymbolData.GetSectionFinanceCacheData(args[0],args[1],args[2],node);break;case'LOADAPIDATA':node.Out=this.SymbolData.GetCustomApiData(args);break;case"STKINDI":case"CALCSTOCKINDEX":node.Out=this.SymbolData.GetScriptIndexOutData(args,node,funcName);break;case"SOUND":node.Draw=this.Draw.SOUND(args[0]);node.Out=[];break;case"PLAYSOUND":node.Draw=this.Draw.PLAYSOUND(args[0],args[1]);node.Out=[];break;case'CLOSE':case'C':case'VOL':case'V':case'OPEN':case'O':case'HIGH':case'H':case'LOW':case'L':case'AMOUNT':case'AMO':node.Out=this.SymbolData.GetOtherSymolCacheData({FunctionName:funcName,Args:args});break;case"INBLOCK":node.Out=this.SymbolData.IsInBlock(args[0],node);break;case'COVER_C':case'COVER_O':case'COVER_H':case'COVER_L':case'COVER_A':case'COVER_V':if(args.length==2)return this.SymbolData.GetSymbolPeriodCacheData2(JSComplierHelper.GetConvertValueName(funcName),args[0],args[1]);return this.SymbolData.GetSymbolPeriodCacheData(JSComplierHelper.GetConvertValueName(funcName),args[0]);case"SYSPARAM":return this.SymbolData.SysParam(args[0],this);case"TESTSKIP":var bExit=this.Algorithm.TESTSKIP(args[0],node);node.Out=null;if(bExit){this.Interrupt.Exit=true;if(node&&node.Marker){var marker=node.Marker;this.Interrupt.Line=marker.Line;this.Interrupt.Index=marker.Index;this.Interrupt.Column=marker.Column;}}break;//交易函数
|
|
@@ -12660,7 +12663,7 @@ hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,St
|
|
|
12660
12663
|
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);};}/********************************************************************************
|
|
12661
12664
|
* 版本信息输出
|
|
12662
12665
|
*
|
|
12663
|
-
*/var HQCHART_VERSION="1.1.
|
|
12666
|
+
*/var HQCHART_VERSION="1.1.13050";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();//把给外界调用的方法暴露出来
|
|
12664
12667
|
exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
|
|
12665
12668
|
// BaseIndex:BaseIndex,
|
|
12666
12669
|
// ChartLine:ChartLine,
|
package/package.json
CHANGED
|
@@ -3172,6 +3172,7 @@ function JSAlgorithm(errorHandler,symbolData)
|
|
|
3172
3172
|
|
|
3173
3173
|
if (!Array.isArray(dayCount))
|
|
3174
3174
|
{
|
|
3175
|
+
dayCount=parseInt(dayCount); //转整形
|
|
3175
3176
|
if (dayCount<=0) dayCount=1;
|
|
3176
3177
|
if (!data || !data.length) return result;
|
|
3177
3178
|
|
|
@@ -3279,6 +3280,7 @@ function JSAlgorithm(errorHandler,symbolData)
|
|
|
3279
3280
|
}
|
|
3280
3281
|
else
|
|
3281
3282
|
{
|
|
3283
|
+
dayCount=parseInt(dayCount); //转整形
|
|
3282
3284
|
if (dayCount<=0) return result;
|
|
3283
3285
|
|
|
3284
3286
|
var offset=0;
|
|
@@ -3809,6 +3811,7 @@ function JSAlgorithm(errorHandler,symbolData)
|
|
|
3809
3811
|
else
|
|
3810
3812
|
{
|
|
3811
3813
|
if (!IFrameSplitOperator.IsNonEmptyArray(data)) return result;
|
|
3814
|
+
n=parseInt(n);
|
|
3812
3815
|
if (n<=0) n=data.length;
|
|
3813
3816
|
else if (n>data.length) n=data.length;
|
|
3814
3817
|
|
|
@@ -3907,6 +3910,7 @@ function JSAlgorithm(errorHandler,symbolData)
|
|
|
3907
3910
|
else
|
|
3908
3911
|
{
|
|
3909
3912
|
if (!IFrameSplitOperator.IsNonEmptyArray(data)) return result;
|
|
3913
|
+
n=parseInt(n);
|
|
3910
3914
|
if (n<=0) n=data.length;
|
|
3911
3915
|
else if (n>data.length) n=data.length;
|
|
3912
3916
|
|
|
@@ -17710,6 +17714,42 @@ function JSExecute(ast,option)
|
|
|
17710
17714
|
}
|
|
17711
17715
|
}
|
|
17712
17716
|
|
|
17717
|
+
this.GetDynamicScriptIndex=function(node, args)
|
|
17718
|
+
{
|
|
17719
|
+
var dynamicName=node.Callee.Value;
|
|
17720
|
+
var aryValue=dynamicName.split(".");
|
|
17721
|
+
if (aryValue.length!=2)
|
|
17722
|
+
{
|
|
17723
|
+
this.ThrowUnexpectedNode(node,`调用指标格式'${dynamicName}'错误`);
|
|
17724
|
+
}
|
|
17725
|
+
|
|
17726
|
+
var name=aryValue[0];
|
|
17727
|
+
var outName=aryValue[1];
|
|
17728
|
+
var period=null;
|
|
17729
|
+
var pos=outName.indexOf('#');
|
|
17730
|
+
if (pos!=-1)
|
|
17731
|
+
{
|
|
17732
|
+
period=outName.slice(pos+1); //周期
|
|
17733
|
+
outName=outName.slice(0,pos);
|
|
17734
|
+
}
|
|
17735
|
+
|
|
17736
|
+
var strValue="";
|
|
17737
|
+
for(var i=0; i<args.length; ++i)
|
|
17738
|
+
{
|
|
17739
|
+
var value=args[i];
|
|
17740
|
+
if (strValue.length>0) strValue+=",";
|
|
17741
|
+
strValue+=`${value}`;
|
|
17742
|
+
}
|
|
17743
|
+
var strArgs=`(${strValue})`;
|
|
17744
|
+
var key=`${outName}#${strArgs}`;
|
|
17745
|
+
if (period) key+=`#${period}`;
|
|
17746
|
+
|
|
17747
|
+
if (!this.VarTable.has(name)) return null;
|
|
17748
|
+
var indexData=this.VarTable.get(name);
|
|
17749
|
+
var value=indexData[key];
|
|
17750
|
+
return value;
|
|
17751
|
+
}
|
|
17752
|
+
|
|
17713
17753
|
//函数调用
|
|
17714
17754
|
this.VisitCallExpression=function(node)
|
|
17715
17755
|
{
|
|
@@ -17735,30 +17775,10 @@ function JSExecute(ast,option)
|
|
|
17735
17775
|
|
|
17736
17776
|
if (node.Callee.Type==Syntax.Literal)
|
|
17737
17777
|
{
|
|
17738
|
-
var dynamicName=node.Callee.Value;
|
|
17739
|
-
var aryValue=dynamicName.split(".");
|
|
17740
|
-
if (aryValue.length!=2)
|
|
17741
|
-
{
|
|
17742
|
-
this.ThrowUnexpectedNode(node,`调用指标格式'${dynamicName}'错误`);
|
|
17743
|
-
}
|
|
17744
|
-
|
|
17745
|
-
var name=aryValue[0];
|
|
17746
|
-
var outName=aryValue[1];
|
|
17747
|
-
var strValue="";
|
|
17748
|
-
for(var i=0; i<args.length; ++i)
|
|
17749
|
-
{
|
|
17750
|
-
var value=args[i];
|
|
17751
|
-
if (strValue.length>0) strValue+=",";
|
|
17752
|
-
strValue+=`${value}`;
|
|
17753
|
-
}
|
|
17754
|
-
var strArgs=`(${strValue})`;
|
|
17755
|
-
var key=`${outName}#${strArgs}`;
|
|
17756
|
-
|
|
17757
17778
|
node.Out=[];
|
|
17758
|
-
|
|
17759
|
-
var
|
|
17760
|
-
|
|
17761
|
-
if (value) node.Out=value;
|
|
17779
|
+
node.Draw=null;
|
|
17780
|
+
var data=this.GetDynamicScriptIndex(node, args);
|
|
17781
|
+
if (data) node.Out=data;
|
|
17762
17782
|
return node.Out;
|
|
17763
17783
|
}
|
|
17764
17784
|
|
package/src/jscommon/umychart.js
CHANGED
|
@@ -86108,6 +86108,16 @@ var MARKET_SUFFIX_NAME=
|
|
|
86108
86108
|
return 2;
|
|
86109
86109
|
},
|
|
86110
86110
|
|
|
86111
|
+
GetSHDecimal:function(symbol)
|
|
86112
|
+
{
|
|
86113
|
+
return 2;
|
|
86114
|
+
},
|
|
86115
|
+
|
|
86116
|
+
GetSZDecimal:function(symbol)
|
|
86117
|
+
{
|
|
86118
|
+
return 2;
|
|
86119
|
+
},
|
|
86120
|
+
|
|
86111
86121
|
GetFHKDecimal:function(symbol) //港股指数期货 小数位数
|
|
86112
86122
|
{
|
|
86113
86123
|
return 0;
|
|
@@ -89453,6 +89463,10 @@ function GetfloatPrecision(symbol) //获取小数位数
|
|
|
89453
89463
|
else if (MARKET_SUFFIX_NAME.IsHSX(upperSymbol)) defaultfloatPrecision=MARKET_SUFFIX_NAME.GetHSXDecimal(upperSymbol);
|
|
89454
89464
|
else if (MARKET_SUFFIX_NAME.IsHNX(upperSymbol)) defaultfloatPrecision=MARKET_SUFFIX_NAME.GetHNXDecimal(upperSymbol);
|
|
89455
89465
|
else if (MARKET_SUFFIX_NAME.IsUPCOM(upperSymbol)) defaultfloatPrecision=MARKET_SUFFIX_NAME.GetUPCOMDecimal(upperSymbol);
|
|
89466
|
+
|
|
89467
|
+
else if (MARKET_SUFFIX_NAME.IsSZ(upperSymbol)) defaultfloatPrecision=MARKET_SUFFIX_NAME.GetSZDecimal(upperSymbol);
|
|
89468
|
+
else if (MARKET_SUFFIX_NAME.IsSH(upperSymbol)) defaultfloatPrecision=MARKET_SUFFIX_NAME.GetSHDecimal(upperSymbol);
|
|
89469
|
+
|
|
89456
89470
|
else defaultfloatPrecision=MARKET_SUFFIX_NAME.GetDefaultDecimal(upperSymbol);
|
|
89457
89471
|
|
|
89458
89472
|
return defaultfloatPrecision;
|
|
@@ -90000,6 +90000,16 @@ var MARKET_SUFFIX_NAME=
|
|
|
90000
90000
|
return 2;
|
|
90001
90001
|
},
|
|
90002
90002
|
|
|
90003
|
+
GetSHDecimal:function(symbol)
|
|
90004
|
+
{
|
|
90005
|
+
return 2;
|
|
90006
|
+
},
|
|
90007
|
+
|
|
90008
|
+
GetSZDecimal:function(symbol)
|
|
90009
|
+
{
|
|
90010
|
+
return 2;
|
|
90011
|
+
},
|
|
90012
|
+
|
|
90003
90013
|
GetFHKDecimal:function(symbol) //港股指数期货 小数位数
|
|
90004
90014
|
{
|
|
90005
90015
|
return 0;
|
|
@@ -93345,6 +93355,10 @@ function GetfloatPrecision(symbol) //获取小数位数
|
|
|
93345
93355
|
else if (MARKET_SUFFIX_NAME.IsHSX(upperSymbol)) defaultfloatPrecision=MARKET_SUFFIX_NAME.GetHSXDecimal(upperSymbol);
|
|
93346
93356
|
else if (MARKET_SUFFIX_NAME.IsHNX(upperSymbol)) defaultfloatPrecision=MARKET_SUFFIX_NAME.GetHNXDecimal(upperSymbol);
|
|
93347
93357
|
else if (MARKET_SUFFIX_NAME.IsUPCOM(upperSymbol)) defaultfloatPrecision=MARKET_SUFFIX_NAME.GetUPCOMDecimal(upperSymbol);
|
|
93358
|
+
|
|
93359
|
+
else if (MARKET_SUFFIX_NAME.IsSZ(upperSymbol)) defaultfloatPrecision=MARKET_SUFFIX_NAME.GetSZDecimal(upperSymbol);
|
|
93360
|
+
else if (MARKET_SUFFIX_NAME.IsSH(upperSymbol)) defaultfloatPrecision=MARKET_SUFFIX_NAME.GetSHDecimal(upperSymbol);
|
|
93361
|
+
|
|
93348
93362
|
else defaultfloatPrecision=MARKET_SUFFIX_NAME.GetDefaultDecimal(upperSymbol);
|
|
93349
93363
|
|
|
93350
93364
|
return defaultfloatPrecision;
|
|
@@ -96595,6 +96609,7 @@ function JSAlgorithm(errorHandler,symbolData)
|
|
|
96595
96609
|
|
|
96596
96610
|
if (!Array.isArray(dayCount))
|
|
96597
96611
|
{
|
|
96612
|
+
dayCount=parseInt(dayCount); //转整形
|
|
96598
96613
|
if (dayCount<=0) dayCount=1;
|
|
96599
96614
|
if (!data || !data.length) return result;
|
|
96600
96615
|
|
|
@@ -96702,6 +96717,7 @@ function JSAlgorithm(errorHandler,symbolData)
|
|
|
96702
96717
|
}
|
|
96703
96718
|
else
|
|
96704
96719
|
{
|
|
96720
|
+
dayCount=parseInt(dayCount); //转整形
|
|
96705
96721
|
if (dayCount<=0) return result;
|
|
96706
96722
|
|
|
96707
96723
|
var offset=0;
|
|
@@ -97232,6 +97248,7 @@ function JSAlgorithm(errorHandler,symbolData)
|
|
|
97232
97248
|
else
|
|
97233
97249
|
{
|
|
97234
97250
|
if (!IFrameSplitOperator.IsNonEmptyArray(data)) return result;
|
|
97251
|
+
n=parseInt(n);
|
|
97235
97252
|
if (n<=0) n=data.length;
|
|
97236
97253
|
else if (n>data.length) n=data.length;
|
|
97237
97254
|
|
|
@@ -97330,6 +97347,7 @@ function JSAlgorithm(errorHandler,symbolData)
|
|
|
97330
97347
|
else
|
|
97331
97348
|
{
|
|
97332
97349
|
if (!IFrameSplitOperator.IsNonEmptyArray(data)) return result;
|
|
97350
|
+
n=parseInt(n);
|
|
97333
97351
|
if (n<=0) n=data.length;
|
|
97334
97352
|
else if (n>data.length) n=data.length;
|
|
97335
97353
|
|
|
@@ -111133,6 +111151,42 @@ function JSExecute(ast,option)
|
|
|
111133
111151
|
}
|
|
111134
111152
|
}
|
|
111135
111153
|
|
|
111154
|
+
this.GetDynamicScriptIndex=function(node, args)
|
|
111155
|
+
{
|
|
111156
|
+
var dynamicName=node.Callee.Value;
|
|
111157
|
+
var aryValue=dynamicName.split(".");
|
|
111158
|
+
if (aryValue.length!=2)
|
|
111159
|
+
{
|
|
111160
|
+
this.ThrowUnexpectedNode(node,`调用指标格式'${dynamicName}'错误`);
|
|
111161
|
+
}
|
|
111162
|
+
|
|
111163
|
+
var name=aryValue[0];
|
|
111164
|
+
var outName=aryValue[1];
|
|
111165
|
+
var period=null;
|
|
111166
|
+
var pos=outName.indexOf('#');
|
|
111167
|
+
if (pos!=-1)
|
|
111168
|
+
{
|
|
111169
|
+
period=outName.slice(pos+1); //周期
|
|
111170
|
+
outName=outName.slice(0,pos);
|
|
111171
|
+
}
|
|
111172
|
+
|
|
111173
|
+
var strValue="";
|
|
111174
|
+
for(var i=0; i<args.length; ++i)
|
|
111175
|
+
{
|
|
111176
|
+
var value=args[i];
|
|
111177
|
+
if (strValue.length>0) strValue+=",";
|
|
111178
|
+
strValue+=`${value}`;
|
|
111179
|
+
}
|
|
111180
|
+
var strArgs=`(${strValue})`;
|
|
111181
|
+
var key=`${outName}#${strArgs}`;
|
|
111182
|
+
if (period) key+=`#${period}`;
|
|
111183
|
+
|
|
111184
|
+
if (!this.VarTable.has(name)) return null;
|
|
111185
|
+
var indexData=this.VarTable.get(name);
|
|
111186
|
+
var value=indexData[key];
|
|
111187
|
+
return value;
|
|
111188
|
+
}
|
|
111189
|
+
|
|
111136
111190
|
//函数调用
|
|
111137
111191
|
this.VisitCallExpression=function(node)
|
|
111138
111192
|
{
|
|
@@ -111158,30 +111212,10 @@ function JSExecute(ast,option)
|
|
|
111158
111212
|
|
|
111159
111213
|
if (node.Callee.Type==Syntax.Literal)
|
|
111160
111214
|
{
|
|
111161
|
-
var dynamicName=node.Callee.Value;
|
|
111162
|
-
var aryValue=dynamicName.split(".");
|
|
111163
|
-
if (aryValue.length!=2)
|
|
111164
|
-
{
|
|
111165
|
-
this.ThrowUnexpectedNode(node,`调用指标格式'${dynamicName}'错误`);
|
|
111166
|
-
}
|
|
111167
|
-
|
|
111168
|
-
var name=aryValue[0];
|
|
111169
|
-
var outName=aryValue[1];
|
|
111170
|
-
var strValue="";
|
|
111171
|
-
for(var i=0; i<args.length; ++i)
|
|
111172
|
-
{
|
|
111173
|
-
var value=args[i];
|
|
111174
|
-
if (strValue.length>0) strValue+=",";
|
|
111175
|
-
strValue+=`${value}`;
|
|
111176
|
-
}
|
|
111177
|
-
var strArgs=`(${strValue})`;
|
|
111178
|
-
var key=`${outName}#${strArgs}`;
|
|
111179
|
-
|
|
111180
111215
|
node.Out=[];
|
|
111181
|
-
|
|
111182
|
-
var
|
|
111183
|
-
|
|
111184
|
-
if (value) node.Out=value;
|
|
111216
|
+
node.Draw=null;
|
|
111217
|
+
var data=this.GetDynamicScriptIndex(node, args);
|
|
111218
|
+
if (data) node.Out=data;
|
|
111185
111219
|
return node.Out;
|
|
111186
111220
|
}
|
|
111187
111221
|
|
|
@@ -130107,7 +130141,7 @@ function ScrollBarBGChart()
|
|
|
130107
130141
|
|
|
130108
130142
|
|
|
130109
130143
|
|
|
130110
|
-
var HQCHART_VERSION="1.1.
|
|
130144
|
+
var HQCHART_VERSION="1.1.13050";
|
|
130111
130145
|
|
|
130112
130146
|
function PrintHQChartVersion()
|
|
130113
130147
|
{
|
|
@@ -90044,6 +90044,16 @@ var MARKET_SUFFIX_NAME=
|
|
|
90044
90044
|
return 2;
|
|
90045
90045
|
},
|
|
90046
90046
|
|
|
90047
|
+
GetSHDecimal:function(symbol)
|
|
90048
|
+
{
|
|
90049
|
+
return 2;
|
|
90050
|
+
},
|
|
90051
|
+
|
|
90052
|
+
GetSZDecimal:function(symbol)
|
|
90053
|
+
{
|
|
90054
|
+
return 2;
|
|
90055
|
+
},
|
|
90056
|
+
|
|
90047
90057
|
GetFHKDecimal:function(symbol) //港股指数期货 小数位数
|
|
90048
90058
|
{
|
|
90049
90059
|
return 0;
|
|
@@ -93389,6 +93399,10 @@ function GetfloatPrecision(symbol) //获取小数位数
|
|
|
93389
93399
|
else if (MARKET_SUFFIX_NAME.IsHSX(upperSymbol)) defaultfloatPrecision=MARKET_SUFFIX_NAME.GetHSXDecimal(upperSymbol);
|
|
93390
93400
|
else if (MARKET_SUFFIX_NAME.IsHNX(upperSymbol)) defaultfloatPrecision=MARKET_SUFFIX_NAME.GetHNXDecimal(upperSymbol);
|
|
93391
93401
|
else if (MARKET_SUFFIX_NAME.IsUPCOM(upperSymbol)) defaultfloatPrecision=MARKET_SUFFIX_NAME.GetUPCOMDecimal(upperSymbol);
|
|
93402
|
+
|
|
93403
|
+
else if (MARKET_SUFFIX_NAME.IsSZ(upperSymbol)) defaultfloatPrecision=MARKET_SUFFIX_NAME.GetSZDecimal(upperSymbol);
|
|
93404
|
+
else if (MARKET_SUFFIX_NAME.IsSH(upperSymbol)) defaultfloatPrecision=MARKET_SUFFIX_NAME.GetSHDecimal(upperSymbol);
|
|
93405
|
+
|
|
93392
93406
|
else defaultfloatPrecision=MARKET_SUFFIX_NAME.GetDefaultDecimal(upperSymbol);
|
|
93393
93407
|
|
|
93394
93408
|
return defaultfloatPrecision;
|
|
@@ -96639,6 +96653,7 @@ function JSAlgorithm(errorHandler,symbolData)
|
|
|
96639
96653
|
|
|
96640
96654
|
if (!Array.isArray(dayCount))
|
|
96641
96655
|
{
|
|
96656
|
+
dayCount=parseInt(dayCount); //转整形
|
|
96642
96657
|
if (dayCount<=0) dayCount=1;
|
|
96643
96658
|
if (!data || !data.length) return result;
|
|
96644
96659
|
|
|
@@ -96746,6 +96761,7 @@ function JSAlgorithm(errorHandler,symbolData)
|
|
|
96746
96761
|
}
|
|
96747
96762
|
else
|
|
96748
96763
|
{
|
|
96764
|
+
dayCount=parseInt(dayCount); //转整形
|
|
96749
96765
|
if (dayCount<=0) return result;
|
|
96750
96766
|
|
|
96751
96767
|
var offset=0;
|
|
@@ -97276,6 +97292,7 @@ function JSAlgorithm(errorHandler,symbolData)
|
|
|
97276
97292
|
else
|
|
97277
97293
|
{
|
|
97278
97294
|
if (!IFrameSplitOperator.IsNonEmptyArray(data)) return result;
|
|
97295
|
+
n=parseInt(n);
|
|
97279
97296
|
if (n<=0) n=data.length;
|
|
97280
97297
|
else if (n>data.length) n=data.length;
|
|
97281
97298
|
|
|
@@ -97374,6 +97391,7 @@ function JSAlgorithm(errorHandler,symbolData)
|
|
|
97374
97391
|
else
|
|
97375
97392
|
{
|
|
97376
97393
|
if (!IFrameSplitOperator.IsNonEmptyArray(data)) return result;
|
|
97394
|
+
n=parseInt(n);
|
|
97377
97395
|
if (n<=0) n=data.length;
|
|
97378
97396
|
else if (n>data.length) n=data.length;
|
|
97379
97397
|
|
|
@@ -111177,6 +111195,42 @@ function JSExecute(ast,option)
|
|
|
111177
111195
|
}
|
|
111178
111196
|
}
|
|
111179
111197
|
|
|
111198
|
+
this.GetDynamicScriptIndex=function(node, args)
|
|
111199
|
+
{
|
|
111200
|
+
var dynamicName=node.Callee.Value;
|
|
111201
|
+
var aryValue=dynamicName.split(".");
|
|
111202
|
+
if (aryValue.length!=2)
|
|
111203
|
+
{
|
|
111204
|
+
this.ThrowUnexpectedNode(node,`调用指标格式'${dynamicName}'错误`);
|
|
111205
|
+
}
|
|
111206
|
+
|
|
111207
|
+
var name=aryValue[0];
|
|
111208
|
+
var outName=aryValue[1];
|
|
111209
|
+
var period=null;
|
|
111210
|
+
var pos=outName.indexOf('#');
|
|
111211
|
+
if (pos!=-1)
|
|
111212
|
+
{
|
|
111213
|
+
period=outName.slice(pos+1); //周期
|
|
111214
|
+
outName=outName.slice(0,pos);
|
|
111215
|
+
}
|
|
111216
|
+
|
|
111217
|
+
var strValue="";
|
|
111218
|
+
for(var i=0; i<args.length; ++i)
|
|
111219
|
+
{
|
|
111220
|
+
var value=args[i];
|
|
111221
|
+
if (strValue.length>0) strValue+=",";
|
|
111222
|
+
strValue+=`${value}`;
|
|
111223
|
+
}
|
|
111224
|
+
var strArgs=`(${strValue})`;
|
|
111225
|
+
var key=`${outName}#${strArgs}`;
|
|
111226
|
+
if (period) key+=`#${period}`;
|
|
111227
|
+
|
|
111228
|
+
if (!this.VarTable.has(name)) return null;
|
|
111229
|
+
var indexData=this.VarTable.get(name);
|
|
111230
|
+
var value=indexData[key];
|
|
111231
|
+
return value;
|
|
111232
|
+
}
|
|
111233
|
+
|
|
111180
111234
|
//函数调用
|
|
111181
111235
|
this.VisitCallExpression=function(node)
|
|
111182
111236
|
{
|
|
@@ -111202,30 +111256,10 @@ function JSExecute(ast,option)
|
|
|
111202
111256
|
|
|
111203
111257
|
if (node.Callee.Type==Syntax.Literal)
|
|
111204
111258
|
{
|
|
111205
|
-
var dynamicName=node.Callee.Value;
|
|
111206
|
-
var aryValue=dynamicName.split(".");
|
|
111207
|
-
if (aryValue.length!=2)
|
|
111208
|
-
{
|
|
111209
|
-
this.ThrowUnexpectedNode(node,`调用指标格式'${dynamicName}'错误`);
|
|
111210
|
-
}
|
|
111211
|
-
|
|
111212
|
-
var name=aryValue[0];
|
|
111213
|
-
var outName=aryValue[1];
|
|
111214
|
-
var strValue="";
|
|
111215
|
-
for(var i=0; i<args.length; ++i)
|
|
111216
|
-
{
|
|
111217
|
-
var value=args[i];
|
|
111218
|
-
if (strValue.length>0) strValue+=",";
|
|
111219
|
-
strValue+=`${value}`;
|
|
111220
|
-
}
|
|
111221
|
-
var strArgs=`(${strValue})`;
|
|
111222
|
-
var key=`${outName}#${strArgs}`;
|
|
111223
|
-
|
|
111224
111259
|
node.Out=[];
|
|
111225
|
-
|
|
111226
|
-
var
|
|
111227
|
-
|
|
111228
|
-
if (value) node.Out=value;
|
|
111260
|
+
node.Draw=null;
|
|
111261
|
+
var data=this.GetDynamicScriptIndex(node, args);
|
|
111262
|
+
if (data) node.Out=data;
|
|
111229
111263
|
return node.Out;
|
|
111230
111264
|
}
|
|
111231
111265
|
|
|
@@ -130265,7 +130299,7 @@ function HQChartScriptWorker()
|
|
|
130265
130299
|
|
|
130266
130300
|
|
|
130267
130301
|
|
|
130268
|
-
var HQCHART_VERSION="1.1.
|
|
130302
|
+
var HQCHART_VERSION="1.1.13050";
|
|
130269
130303
|
|
|
130270
130304
|
function PrintHQChartVersion()
|
|
130271
130305
|
{
|