hqchart 1.1.15364 → 1.1.15368
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 +22 -17
- package/package.json +1 -1
- package/src/jscommon/umychart.NetworkFilterTest.js +63 -2
- package/src/jscommon/umychart.complier.js +47 -7
- package/src/jscommon/umychart.js +27 -25
- package/src/jscommon/umychart.report.js +2 -2
- package/src/jscommon/umychart.testdata.js +63 -2
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +77 -35
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.NetworkFilterTest.vue.js +63 -2
- package/src/jscommon/umychart.vue/umychart.vue.js +77 -35
package/lib/umychart.vue.js
CHANGED
|
@@ -1753,7 +1753,7 @@ CHIP_CLOSE:45,//关闭筹码图
|
|
|
1753
1753
|
INDEX_HELP:46//指标帮助
|
|
1754
1754
|
};var JSCHART_DATA_FIELD_ID={KLINE_ORDERFLOW:99,MINUTE_MULTI_DAY_EXTENDDATA:21,//多日分时图扩展数据序号
|
|
1755
1755
|
MINUTE_DAY_EXTENDDATA:21,MINUTE_BEFOREOPEN_EXTENDDATA:21,MINUTE_AFTERCLOSE_EXTENDDATA:21,KLINE_COLOR_DATA:66,//K线自定义颜色数据
|
|
1756
|
-
KLINE_DAY_EXTENDDATA:25,KLINE_MINUTE_EXTENDDATA:25,//OrderBook Heatmap
|
|
1756
|
+
KLINE_DAY_EXTENDDATA:25,KLINE_MINUTE_EXTENDDATA:25,KLINE_TICK_EXTENDDATA:25,//OrderBook Heatmap
|
|
1757
1757
|
KLINE_HEATMAP:67,//报价列表
|
|
1758
1758
|
REPORT_EXTENDDATA:81//报价列表扩展数据
|
|
1759
1759
|
};var JSCHART_WORKER_MESSAGE_ID={EXECUTE_SCRIPT:1,//工作线程执行脚本
|
|
@@ -8417,14 +8417,14 @@ this.UpdateFrameMaxMin();//调整坐标最大 最小值
|
|
|
8417
8417
|
this.Frame.SetSizeChage(true);this.Draw();this.UpdatePointByCursorIndex();//更新十字光标位子
|
|
8418
8418
|
//叠加指标
|
|
8419
8419
|
this.BindAllOverlayIndexData(bindData);if(this.mapEvent.has(JSCHART_EVENT_ID.RECV_HISTROY_DATA)){var event=this.mapEvent.get(JSCHART_EVENT_ID.RECV_HISTROY_DATA);var data={HistoryData:bindData,Stock:{Symbol:this.Symbol,Name:this.Name}};event.Callback(event,data,this);}};//请求最新的分笔数据
|
|
8420
|
-
this.RequestTickRealtimeData=function(){var self=this;var start=0;
|
|
8421
|
-
Explain:'当天最新分笔数据',Request:{Url:self.TickApiUrl,Data:{symbol:self.Symbol,
|
|
8422
|
-
}
|
|
8423
|
-
else
|
|
8424
|
-
if(!aryDayData
|
|
8420
|
+
this.RequestTickRealtimeData=function(){var self=this;var start=0;var hisData=this.GetKData();var dateRange=hisData.GetDateRange();if(this.NetworkFilter){var kLineDrawType=this.GetKLineDrawType();var obj={Name:'KLineChartContainer::RequestTickRealtimeData',//类名::
|
|
8421
|
+
Explain:'当天最新分笔数据',Request:{Url:self.TickApiUrl,Data:{symbol:self.Symbol,period:this.Period,right:this.Right,dateRange:dateRange,klineDrawType:kLineDrawType},Type:'POST'},Self:this,PreventDefault:false};this.NetworkFilter(obj,function(data){self.ChartSplashPaint.EnableSplash(false);self.RecvTickRealtimeData(data);self.AutoUpdate();});if(obj.PreventDefault==true)return;//已被上层替换,不调用默认的网络请求
|
|
8422
|
+
}};this.RecvTickRealtimeData=function(data){var aryDayData=null;if(data.ver==2.0)aryDayData=KLineChartContainer.JsonDataToTickDataV2(data);//增量数据
|
|
8423
|
+
else aryDayData=KLineChartContainer.JsonDataToTickData(data);//增量数据
|
|
8424
|
+
if(!IFrameSplitOperator.IsNonEmptyArray(aryDayData))return;var redraw=false;//强制重绘
|
|
8425
8425
|
if(data.redraw==true)redraw=true;//更新原始数据
|
|
8426
8426
|
var source=this.SourceData.Data;var lastDataCount=this.SourceData.Data.length;//上一个的数据长度
|
|
8427
|
-
var lastTime=0;if(source.length>0)lastTime=source[source.length-1].Time;var newCount=0;for(var i
|
|
8427
|
+
var lastTime=0;if(source.length>0)lastTime=source[source.length-1].Time;var newCount=0;for(var i=0;i<aryDayData.length;++i){var item=aryDayData[i];if(item.Time<=lastTime)continue;source.push(item);++newCount;}if(newCount<=0&&redraw==false)return;//显示的数据
|
|
8428
8428
|
var bindData=new ChartData();bindData.Data=source;bindData.Right=this.Right;bindData.Period=this.Period;bindData.DataType=2;//绑定数据
|
|
8429
8429
|
this.Symbol=data.symbol;this.Name=data.name;this.UpdateMainData(bindData,lastDataCount);this.BindInstructionIndexData(bindData);//执行指示脚本
|
|
8430
8430
|
for(var i=0;i<this.Frame.SubFrame.length;++i){this.BindIndexData(i,bindData);}//this.CreateChartDrawPictureByStorage(); //创建画图工具
|
|
@@ -8963,8 +8963,9 @@ if(!IFrameSplitOperator.IsNumber(item.YClose)){if(IFrameSplitOperator.IsNumber(y
|
|
|
8963
8963
|
item.Vol=tick[2];//原始单位股
|
|
8964
8964
|
item.Amount=tick[3];item.Flag=tick[4];if(!IFrameSplitOperator.IsNumber(item.Open))continue;//停牌的数据剔除
|
|
8965
8965
|
//yClose=item.Close;
|
|
8966
|
-
aryDayData.push(item);}return aryDayData;};KLineChartContainer.JsonDataToTickDataV2=function(data){var aryDayData=[];if(!IFrameSplitOperator.IsNonEmptyArray(data.data))return aryDayData;for(var i=0;i<data.data.length;++i){var item=new HistoryData();var tick=data.data[i];//[ date, time, yClose, price,
|
|
8967
|
-
if(!tick)continue;item.Date=tick[0];item.Time=tick[1];item.YClose=tick[2];item.Low=item.High=item.Close=item.Open=tick[3];
|
|
8966
|
+
aryDayData.push(item);}return aryDayData;};KLineChartContainer.JsonDataToTickDataV2=function(data){var aryDayData=[];if(!IFrameSplitOperator.IsNonEmptyArray(data.data))return aryDayData;var extendDataIndex=JSCHART_DATA_FIELD_ID.KLINE_TICK_EXTENDDATA;for(var i=0;i<data.data.length;++i){var item=new HistoryData();var tick=data.data[i];//[ date, time, yClose, price, vol, amount, flag,]
|
|
8967
|
+
if(!tick)continue;item.Date=tick[0];item.Time=tick[1];item.YClose=tick[2];item.Low=item.High=item.Close=item.Open=tick[3];item.Vol=tick[4];//原始单位股
|
|
8968
|
+
item.Amount=tick[5];item.Flag=tick[6];aryDayData.push(item);if(tick[extendDataIndex])item.ExtendData=tick[extendDataIndex];}return aryDayData;};///////////////////////////////////////////////////////////////////////////////////////////
|
|
8968
8969
|
// 走势图
|
|
8969
8970
|
//
|
|
8970
8971
|
function MinuteChartContainer(uielement,offscreenElement,cacheElement){this.newMethod=JSChartContainer;//派生
|
|
@@ -11595,14 +11596,17 @@ this.STRCAT=function(str1,str2){var result="";if(IFrameSplitOperator.IsString(st
|
|
|
11595
11596
|
//用法: STRCAT6('多头','开仓','或者','空头','平仓','')将六个字符串相加成一个字符串
|
|
11596
11597
|
this.STRCAT6=function(str1,str2,str3,str4,str5,str6){var result="";if(IFrameSplitOperator.IsString(str1))result+=str1;if(IFrameSplitOperator.IsString(str2))result+=str2;if(IFrameSplitOperator.IsString(str3))result+=str3;if(IFrameSplitOperator.IsString(str4))result+=str4;if(IFrameSplitOperator.IsString(str5))result+=str5;if(IFrameSplitOperator.IsString(str6))result+=str6;return result;};//VARCAT(A,B):将两个字符串A,B相加成一个字符串C.
|
|
11597
11598
|
//用法: DRAWTEXT(CLOSE>OPEN,LOW,VARCAT('多头',VAR2STR(C,2))) 将两个字符串相加成一个字符串并按条件显示出来
|
|
11598
|
-
this.VARCAT=function(data,data2){var result=[];if(Array.isArray(data)&&Array.isArray(data2)){var nCount=Math.max(data.length,data2.length);var strValue="";for(var i=0;i<nCount;++i){result[i]=null;strValue="";if(i<data.length){var item=data[i];if(IFrameSplitOperator.IsString(item))strValue+=item;}if(i<data2.length){var item=data2[i];if(IFrameSplitOperator.IsString(item))strValue+=item;}if(strValue!="")result[i]=strValue;}}else if(IFrameSplitOperator.IsString(data)&&Array.isArray(data2)){for(var i=0;i<data2.length;++i){result[i]=null;var item=data2[i];if(IFrameSplitOperator.IsString(item)){result[i]=data+item;}}}else if(Array.isArray(data)&&IFrameSplitOperator.IsString(data2)){for(var i=0;i<data.length;++i){result[i]=null;var item=data[i];if(IFrameSplitOperator.IsString(item)){result[i]=item+data2;}}}else if(IFrameSplitOperator.IsString(data)&&IFrameSplitOperator.IsString(data2)){result=data+data2;}return result;};//
|
|
11599
|
+
this.VARCAT=function(data,data2){var result=[];if(Array.isArray(data)&&Array.isArray(data2)){var nCount=Math.max(data.length,data2.length);var strValue="";for(var i=0;i<nCount;++i){result[i]=null;strValue="";if(i<data.length){var item=data[i];if(IFrameSplitOperator.IsString(item))strValue+=item;}if(i<data2.length){var item=data2[i];if(IFrameSplitOperator.IsString(item))strValue+=item;}if(strValue!="")result[i]=strValue;}}else if(IFrameSplitOperator.IsString(data)&&Array.isArray(data2)){for(var i=0;i<data2.length;++i){result[i]=null;var item=data2[i];if(IFrameSplitOperator.IsString(item)){result[i]=data+item;}}}else if(Array.isArray(data)&&IFrameSplitOperator.IsString(data2)){for(var i=0;i<data.length;++i){result[i]=null;var item=data[i];if(IFrameSplitOperator.IsString(item)){result[i]=item+data2;}}}else if(IFrameSplitOperator.IsString(data)&&IFrameSplitOperator.IsString(data2)){result=data+data2;}return result;};//VARCAT6(A,B,C,D,E,F):将六个字符串A,B,C,D,E,F相加成一个字符串.
|
|
11600
|
+
//每个数据都进行序列运算,若用于多股选股,建议换用STRCAT6
|
|
11601
|
+
//用法: VARCAT6('多头',VAR2STR(C,2),' ',VAR2STR(O,2),' ',VAR2STR(MA(C,5),2))将六个字符串相加成一个字符串
|
|
11602
|
+
this.VARCAT6=function(data,data2,data3,data4,data5){var aryData=[];if(Array.isArray(data)||IFrameSplitOperator.IsString(data))aryData.push(data);if(Array.isArray(data2)||IFrameSplitOperator.IsString(data2))aryData.push(data2);if(Array.isArray(data3)||IFrameSplitOperator.IsString(data3))aryData.push(data3);if(Array.isArray(data4)||IFrameSplitOperator.IsString(data4))aryData.push(data4);if(Array.isArray(data5)||IFrameSplitOperator.IsString(data5))aryData.push(data5);if(!IFrameSplitOperator.IsNonEmptyArray(aryData))return[];if(aryData.length==1)return data;var tempData=this.VARCAT(aryData[0],aryData[1]);var result=tempData;for(var i=2;i<aryData.length;++i){result=this.VARCAT(tempData,aryData[i]);tempData=result;}return result;};//FINDSTR(A,B):在字符串A中查找字符串B,如果找到返回1,否则返回0.
|
|
11599
11603
|
//用法: FINDSTR('多头开仓','开仓')在字符串'多头开仓'中查找字符串'开仓',返回1
|
|
11600
11604
|
this.FINDSTR=function(data,data2){var result=[];var str,str2;if(IFrameSplitOperator.IsNumber(data))str=data.toString();else str=data;if(IFrameSplitOperator.IsNumber(data2))str2=data2.toString();else str2=data2;if(IFrameSplitOperator.IsString(str)&&IFrameSplitOperator.IsString(str2)){if(str.indexOf(str2)>=0)return 1;else return 0;}else if(Array.isArray(data)&&IFrameSplitOperator.IsString(str2)){for(var i=0;i<data.length;++i){var item=data[i];if(IFrameSplitOperator.IsString(item)){result[i]=item.indexOf(str2)>=0?1:0;}else if(IFrameSplitOperator.IsNumber(item)){str=item.toString();result[i]=str.indexOf(str2)>=0?1:0;}else{result[i]=0;}}}return result;};this.STRLEN=function(data){if(IFrameSplitOperator.IsString(data))return data.length;if(Array.isArray(data)){var result=[];for(var i=0;i<data.length;++i){var item=data[i];if(IFrameSplitOperator.IsString(item))result[i]=item.length;else result[i]=null;}return result;}return null;};this.STRCMP=function(data,data2){if(IFrameSplitOperator.IsString(data)&&IFrameSplitOperator.IsString(data2)){return data==data2?1:0;}return null;};//STRSPACE(A):字符串附带一空格
|
|
11601
11605
|
this.STRSPACE=function(data){var result=[];if(Array.isArray(data)){for(var i=0;i<data.length;++i){result[i]=null;var item=data[i];if(IFrameSplitOperator.IsString(item))result[i]=item+' ';}}else{if(IFrameSplitOperator.IsString(data))result=data+" ";}return result;};//CON2STR(A,N):取A最后的值(非序列值)转为字符串,小数位数N.
|
|
11602
11606
|
//用法: CON2STR(FINANCE(20),3)表示取营业收入,以3位小数转为字符串
|
|
11603
11607
|
this.CON2STR=function(data,n){var result="";var dec=0;if(IFrameSplitOperator.IsNumber(n))dec=n;if(Array.isArray(data)){for(var i=data.length-1;i>=0;--i){var item=data[i];if(this.IsNumber(item)){result=item.toFixed(dec);return result;}}}else{if(this.IsNumber(data))result=data.toFixed(dec);}return result;};//VAR2STR(A,N):取A的每一个值转为字符串,小数位数N.
|
|
11604
11608
|
//用法: VAR2STR(C,3)表示取收盘价,以3位小数转为字符串
|
|
11605
|
-
this.VAR2STR=function(data,n){var result=[];if(Array.isArray(data)){for(var i=0;i<data.length;++i){result[i]=null;var item=data[i];if(this.IsNumber(item))result[i]=item.toFixed(
|
|
11609
|
+
this.VAR2STR=function(data,n){var result=[];var dec=0;if(IFrameSplitOperator.IsNumber(n))dec=n;if(Array.isArray(data)){for(var i=0;i<data.length;++i){result[i]=null;var item=data[i];if(this.IsNumber(item))result[i]=item.toFixed(dec);}}else{if(this.IsNumber(data))result=data.toFixed(dec);}return result;};this.MOD=function(data,data2){var result=[];var isNumber=typeof data=='number';var isNumber2=typeof data2=='number';//单数值
|
|
11606
11610
|
if(isNumber&&isNumber2){return JSAlgorithm.MOD(data,data2);}else if(!isNumber&&!isNumber2)//都是数组相加
|
|
11607
11611
|
{var count=Math.max(data.length,data2.length);for(var _i94=0;_i94<count;++_i94){result[_i94]=null;//初始化
|
|
11608
11612
|
if(_i94<data.length&&_i94<data2.length){if(this.IsNumber(data[_i94])&&this.IsNumber(data2[_i94]))result[_i94]=JSAlgorithm.MOD(data[_i94],data2[_i94]);}}return result;}else if(isNumber&&!isNumber2)//单数字 数组
|
|
@@ -11742,7 +11746,7 @@ var maxIndex=-1;for(var i=0;i<aryParam.length;++i){var item=aryParam[i];if(item.
|
|
|
11742
11746
|
var maxCount=0;for(var i=1;i<args.length;++i){var item=args[i];if(Array.isArray(item)){isArray=true;if(maxCount<item.length)maxCount=item.length;}}if(isArray){var result=[];for(var i=0;i<maxCount;++i){var strItem=strFormat;var _iteratorNormalCompletion21=true;var _didIteratorError21=false;var _iteratorError21=undefined;try{for(var _iterator21=(0,_getIterator3.default)(mapParam),_step21;!(_iteratorNormalCompletion21=(_step21=_iterator21.next()).done);_iteratorNormalCompletion21=true){var item=_step21.value;var paramInfo=item[1];var paramItem=args[paramInfo.Index+1];var text="null";if(paramItem){if(Array.isArray(paramItem)){var value=paramItem[i];if(value){if(IFrameSplitOperator.IsNumber(paramInfo.Decimal))text=''+value.toFixed(paramInfo.Decimal);else text=''+value;}}else{text=''+paramItem;}}strItem=strItem.replace(paramInfo.Src,text);}}catch(err){_didIteratorError21=true;_iteratorError21=err;}finally{try{if(!_iteratorNormalCompletion21&&_iterator21.return){_iterator21.return();}}finally{if(_didIteratorError21){throw _iteratorError21;}}}result[i]=strItem;}return result;}else{var result=strFormat;var _iteratorNormalCompletion22=true;var _didIteratorError22=false;var _iteratorError22=undefined;try{for(var _iterator22=(0,_getIterator3.default)(mapParam),_step22;!(_iteratorNormalCompletion22=(_step22=_iterator22.next()).done);_iteratorNormalCompletion22=true){var item=_step22.value;var paramInfo=item[1];var paramItem=args[paramInfo.Index+1];var text="null";if(paramItem){text=''+paramItem;}result=result.replace(paramInfo.Src,text);}}catch(err){_didIteratorError22=true;_iteratorError22=err;}finally{try{if(!_iteratorNormalCompletion22&&_iterator22.return){_iterator22.return();}}finally{if(_didIteratorError22){throw _iteratorError22;}}}return result;}};//函数调用
|
|
11743
11747
|
this.CallFunction=function(name,args,node,symbolData){switch(name){case'MAX':case"MAX6":return this.MAX(args,node);case'MIN':case"MIN6":return this.MIN(args,node);case'REF':return this.REF(args[0],args[1]);case"REFV":return this.REFV(args[0],args[1]);case'REFX':return this.REFX(args[0],args[1]);case"REFXV":return this.REFXV(args[0],args[1]);case"REFX1"://文华函数
|
|
11744
11748
|
return this.REFX(args[0],args[1]);case'ABS':return this.ABS(args[0]);case'MA':return this.MA(args[0],args[1]);case"EMA":return this.EMA(args[0],args[1]);case"SMA":return this.SMA(args[0],args[1],args[2]);case"DMA":return this.DMA(args[0],args[1]);case"XMA":return this.XMA(args[0],args[1]);case'EXPMA':return this.EXPMA(args[0],args[1]);case'EXPMEMA':return this.EXPMEMA(args[0],args[1]);case'COUNT':return this.COUNT(args[0],args[1]);case'LLV':return this.LLV(args[0],args[1]);case"LV":return this.LV(args[0],args[1]);case'LLVBARS':return this.LLVBARS(args[0],args[1]);case'HHV':return this.HHV(args[0],args[1]);case'HV':return this.HV(args[0],args[1]);case'HHVBARS':return this.HHVBARS(args[0],args[1]);case'MULAR':return this.MULAR(args[0],args[1]);case'CROSS':return this.CROSS(args[0],args[1]);case'LONGCROSS':return this.LONGCROSS(args[0],args[1],args[2]);case"ISVALID":return this.ISVALID(args[0]);case"CROSSDOWN":return this.CROSSDOWN(args[0],args[1]);case"CROSSUP":return this.CROSSUP(args[0],args[1]);case'AVEDEV':return this.AVEDEV(args[0],args[1]);case'STD':return this.STD(args[0],args[1]);case"STDDEV":return this.STDDEV(args[0],args[1]);case'IF':case'IFF':case"IFELSE":return this.IF(args[0],args[1],args[2]);case'IFN':return this.IFN(args[0],args[1],args[2]);case'NOT':return this.NOT(args[0]);case'SUM':return this.SUM(args[0],args[1]);case'RANGE':return this.RANGE(args[0],args[1],args[2]);case'EXIST':return this.EXIST(args[0],args[1]);case'EXISTR':return this.EXISTR(args[0],args[1],args[2]);case'FILTER':return this.FILTER(args[0],args[1]);case'TFILTER':return this.TFILTER(args[0],args[1],args[2]);case"FILTERX":return this.FILTERX(args[0],args[1],node);case'SLOPE':return this.SLOPE(args[0],args[1]);case'BARSLAST':return this.BARSLAST(args[0]);case"BARSLASTS"://this.ThrowUnexpectedNode(node,`函数'BARSLASTS'还在开发中`, name);
|
|
11745
|
-
return this.BARSLASTS(args[0],args[1],node);case'BARSCOUNT':return this.BARSCOUNT(args[0]);case'BARSSINCEN':return this.BARSSINCEN(args[0],args[1]);case'BARSSINCE':return this.BARSSINCE(args[0]);case'LAST':return this.LAST(args[0],args[1],args[2]);case'EVERY':return this.EVERY(args[0],args[1]);case'DEVSQ':return this.DEVSQ(args[0],args[1]);case'ZIG':return this.ZIG(args[0],args[1]);case'TROUGHBARS':return this.TROUGHBARS(args[0],args[1],args[2]);case"TROUGH":return this.TROUGH(args[0],args[1],args[2]);case'PEAKBARS':return this.PEAKBARS(args[0],args[1],args[2]);case'PEAK':return this.PEAK(args[0],args[1],args[2]);case'COST':return this.COST(args[0]);case'WINNER':return this.WINNER(args[0],node);case'PPART':return this.PPART(args[0],node);case"COSTEX":return this.COSTEX(args[0],args[1],node);case"LWINNER":return this.LWINNER(args[0],args[1],node);case"PWINNER":return this.PWINNER(args[0],args[1],node);case'FORCAST':return this.FORCAST(args[0],args[1]);case"TSMA":return this.TSMA(args[0],args[1]);case'STDP':return this.STDP(args[0],args[1]);case'VAR':return this.VAR(args[0],args[1]);case'VARP':return this.VARP(args[0],args[1]);case'UPNDAY':return this.UPNDAY(args[0],args[1]);case'DOWNNDAY':return this.DOWNNDAY(args[0],args[1]);case'NDAY':return this.NDAY(args[0],args[1],args[2]);case'RELATE':return this.RELATE(args[0],args[1],args[2]);case'COVAR':return this.COVAR(args[0],args[1],args[2]);case'BETA':return this.BETA(args[0]);case'BETA2':return this.BETA2(args[0],args[1],args[2]);case'WMA':return this.WMA(args[0],args[1]);case'MEMA':return this.MEMA(args[0],args[1]);case'SUMBARS':return this.SUMBARS(args[0],args[1]);case'REVERSE':return this.REVERSE(args[0]);case'SAR':return this.SAR(args[0],args[1],args[2]);case'SARTURN':return this.SARTURN(args[0],args[1],args[2]);case'BACKSET':return this.BACKSET(args[0],args[1]);case'BETWEEN':return this.BETWEEN(args[0],args[1],args[2]);case'STRCAT':return this.STRCAT(args[0],args[1]);case"STRCAT6":return this.STRCAT6(args[0],args[1],args[2],args[3],args[4],args[5]);case'CON2STR':return this.CON2STR(args[0],args[1]);case"VAR2STR":return this.VAR2STR(args[0],args[1]);case"VARCAT":return this.VARCAT(args[0],args[1]);case"STRSPACE":return this.STRSPACE(args[0]);case"FINDSTR":return this.FINDSTR(args[0],args[1]);case"STRCMP":return this.STRCMP(args[0],args[1]);case"STRLEN":return this.STRLEN(args[0]);case"STRFORMAT":return this.STRFORMAT(args[0],args,node);case'DTPRICE':return this.DTPRICE(args[0],args[1]);case'ZTPRICE':return this.ZTPRICE(args[0],args[1]);case'MOD':return this.MOD(args[0],args[1]);case'POW':return this.POW(args[0],args[1]);case'CEILING':return this.CEILING(args[0]);case'FLOOR':return this.FLOOR(args[0]);case'FRACPART':return this.FRACPART(args[0]);case"SIGN":return this.SIGN(args[0]);case'BARSLASTCOUNT':return this.BARSLASTCOUNT(args[0]);case'INTPART':return this.INTPART(args[0]);case"CONST":return this.CONST(args[0]);case"TOPRANGE":return this.TOPRANGE(args[0]);case"LOWRANGE":return this.LOWRANGE(args[0]);case"FINDLOW":return this.FINDLOW(args[0],args[1],args[2],args[3]);case"FINDLOWBARS":return this.FINDLOWBARS(args[0],args[1],args[2],args[3]);case"FINDHIGH":return this.FINDHIGH(args[0],args[1],args[2],args[3]);case"FINDHIGHBARS":return this.FINDHIGHBARS(args[0],args[1],args[2],args[3]);case"BARSNEXT":return this.BARSNEXT(args[0]);case"HOD":return this.HOD(args[0],args[1]);case"LOD":return this.LOD(args[0],args[1]);case"AMA":return this.AMA(args[0],args[1]);case"TMA":return this.TMA(args[0],args[1],args[2]);case"ROUND":return this.ROUND(args[0]);case"ROUND2":return this.ROUND2(args[0],args[1]);case"TRMA":return this.TRMA(args[0],args[1]);case"VALUEWHEN":return this.VALUEWHEN(args[0],args[1]);case"HARMEAN":return this.HARMEAN(args[0],args[1]);case"DATETODAY":return this.DATETODAY(args[0]);case"DAYTODATE":return this.DAYTODATE(args[0]);case"TIMETOSEC":return this.TIMETOSEC(args[0]);case"SECTOTIME":return this.SECTOTIME(args[0]);case"ANY":return this.ANY(args[0],args[1]);case"ALL":return this.ALL(args[0],args[1]);case"TESTSKIP":return this.TESTSKIP(args[0],node);case"SUMBARS":return this.SUMBARS(args[0],args[1]);case"ALIGNRIGHT":return this.ALIGNRIGHT(args[0]);//三角函数
|
|
11749
|
+
return this.BARSLASTS(args[0],args[1],node);case'BARSCOUNT':return this.BARSCOUNT(args[0]);case'BARSSINCEN':return this.BARSSINCEN(args[0],args[1]);case'BARSSINCE':return this.BARSSINCE(args[0]);case'LAST':return this.LAST(args[0],args[1],args[2]);case'EVERY':return this.EVERY(args[0],args[1]);case'DEVSQ':return this.DEVSQ(args[0],args[1]);case'ZIG':return this.ZIG(args[0],args[1]);case'TROUGHBARS':return this.TROUGHBARS(args[0],args[1],args[2]);case"TROUGH":return this.TROUGH(args[0],args[1],args[2]);case'PEAKBARS':return this.PEAKBARS(args[0],args[1],args[2]);case'PEAK':return this.PEAK(args[0],args[1],args[2]);case'COST':return this.COST(args[0]);case'WINNER':return this.WINNER(args[0],node);case'PPART':return this.PPART(args[0],node);case"COSTEX":return this.COSTEX(args[0],args[1],node);case"LWINNER":return this.LWINNER(args[0],args[1],node);case"PWINNER":return this.PWINNER(args[0],args[1],node);case'FORCAST':return this.FORCAST(args[0],args[1]);case"TSMA":return this.TSMA(args[0],args[1]);case'STDP':return this.STDP(args[0],args[1]);case'VAR':return this.VAR(args[0],args[1]);case'VARP':return this.VARP(args[0],args[1]);case'UPNDAY':return this.UPNDAY(args[0],args[1]);case'DOWNNDAY':return this.DOWNNDAY(args[0],args[1]);case'NDAY':return this.NDAY(args[0],args[1],args[2]);case'RELATE':return this.RELATE(args[0],args[1],args[2]);case'COVAR':return this.COVAR(args[0],args[1],args[2]);case'BETA':return this.BETA(args[0]);case'BETA2':return this.BETA2(args[0],args[1],args[2]);case'WMA':return this.WMA(args[0],args[1]);case'MEMA':return this.MEMA(args[0],args[1]);case'SUMBARS':return this.SUMBARS(args[0],args[1]);case'REVERSE':return this.REVERSE(args[0]);case'SAR':return this.SAR(args[0],args[1],args[2]);case'SARTURN':return this.SARTURN(args[0],args[1],args[2]);case'BACKSET':return this.BACKSET(args[0],args[1]);case'BETWEEN':return this.BETWEEN(args[0],args[1],args[2]);case'STRCAT':return this.STRCAT(args[0],args[1]);case"STRCAT6":return this.STRCAT6(args[0],args[1],args[2],args[3],args[4],args[5]);case'CON2STR':return this.CON2STR(args[0],args[1]);case"VAR2STR":return this.VAR2STR(args[0],args[1]);case"VARCAT":return this.VARCAT(args[0],args[1]);case"VARCAT6":return this.VARCAT6(args[0],args[1],args[2],args[3],args[4],args[5]);case"STRSPACE":return this.STRSPACE(args[0]);case"FINDSTR":return this.FINDSTR(args[0],args[1]);case"STRCMP":return this.STRCMP(args[0],args[1]);case"STRLEN":return this.STRLEN(args[0]);case"STRFORMAT":return this.STRFORMAT(args[0],args,node);case'DTPRICE':return this.DTPRICE(args[0],args[1]);case'ZTPRICE':return this.ZTPRICE(args[0],args[1]);case'MOD':return this.MOD(args[0],args[1]);case'POW':return this.POW(args[0],args[1]);case'CEILING':return this.CEILING(args[0]);case'FLOOR':return this.FLOOR(args[0]);case'FRACPART':return this.FRACPART(args[0]);case"SIGN":return this.SIGN(args[0]);case'BARSLASTCOUNT':return this.BARSLASTCOUNT(args[0]);case'INTPART':return this.INTPART(args[0]);case"CONST":return this.CONST(args[0]);case"TOPRANGE":return this.TOPRANGE(args[0]);case"LOWRANGE":return this.LOWRANGE(args[0]);case"FINDLOW":return this.FINDLOW(args[0],args[1],args[2],args[3]);case"FINDLOWBARS":return this.FINDLOWBARS(args[0],args[1],args[2],args[3]);case"FINDHIGH":return this.FINDHIGH(args[0],args[1],args[2],args[3]);case"FINDHIGHBARS":return this.FINDHIGHBARS(args[0],args[1],args[2],args[3]);case"BARSNEXT":return this.BARSNEXT(args[0]);case"HOD":return this.HOD(args[0],args[1]);case"LOD":return this.LOD(args[0],args[1]);case"AMA":return this.AMA(args[0],args[1]);case"TMA":return this.TMA(args[0],args[1],args[2]);case"ROUND":return this.ROUND(args[0]);case"ROUND2":return this.ROUND2(args[0],args[1]);case"TRMA":return this.TRMA(args[0],args[1]);case"VALUEWHEN":return this.VALUEWHEN(args[0],args[1]);case"HARMEAN":return this.HARMEAN(args[0],args[1]);case"DATETODAY":return this.DATETODAY(args[0]);case"DAYTODATE":return this.DAYTODATE(args[0]);case"TIMETOSEC":return this.TIMETOSEC(args[0]);case"SECTOTIME":return this.SECTOTIME(args[0]);case"ANY":return this.ANY(args[0],args[1]);case"ALL":return this.ALL(args[0],args[1]);case"TESTSKIP":return this.TESTSKIP(args[0],node);case"SUMBARS":return this.SUMBARS(args[0],args[1]);case"ALIGNRIGHT":return this.ALIGNRIGHT(args[0]);//三角函数
|
|
11746
11750
|
case'ATAN':return this.Trigonometric(args[0],Math.atan);case'ACOS':return this.ACOS(args[0]);case'ASIN':return this.ASIN(args[0]);case'COS':return this.Trigonometric(args[0],Math.cos);case'SIN':return this.Trigonometric(args[0],Math.sin);case'TAN':return this.Trigonometric(args[0],Math.tan);case'LN':return this.Trigonometric(args[0],Math.log);case'LOG':return this.Trigonometric(args[0],_log2.default);case'EXP':return this.Trigonometric(args[0],Math.exp);case'SQRT':return this.Trigonometric(args[0],Math.sqrt);case"RAND":return this.RAND(args[0]);default:this.ThrowUnexpectedNode(node,'函数'+name+'不存在',name);}};//调用自定义函数 返回数据格式{Out:输出数据, Draw:绘图数据(可选)}
|
|
11747
11751
|
this.CallCustomFunction=function(name,args,symbolData,node){var functionInfo=g_JSComplierResource.CustomFunction.Data.get(name);var dwonloadData=symbolData.GetStockCacheData({CustomName:name,Node:node});if(!functionInfo.Invoke)return{Out:dwonloadData};JSConsole.Complier.Log('[JSAlgorithm::CallCustomFunction] call custom function functionInfo=',functionInfo);var self=this;var obj={Name:name,Args:args,Symbol:symbolData.Symbol,Period:symbolData.Period,Right:symbolData.Right,KData:symbolData.Data,//K线数据
|
|
11748
11752
|
DownloadData:dwonloadData,ThrowError:function ThrowError(error){self.ThrowUnexpectedNode(node,error);}};return functionInfo.Invoke(obj);};this.ThrowUnexpectedNode=function(node,message,word){var marker=node.Marker;var msg=message||"执行异常";return this.ErrorHandler.ThrowError(marker.Index,marker.Line,marker.Column,msg,word);};}//是否有是有效的数字
|
|
@@ -11759,7 +11763,8 @@ var value=Math.abs(Math.abs(divisor)*(Math.floor(absNumber/absDivisor)+1)-Math.a
|
|
|
11759
11763
|
*/function JSDraw(errorHandler,symbolData){this.ErrorHandler=errorHandler;this.SymbolData=symbolData;//绘制随光标移动的浮动文字。
|
|
11760
11764
|
//用法: DRAWFLAGTEXT(COND,PRICE,TEXT),光标处当COND条件满足时,在PRICE位置用半透明窗口显示文字TEXT,随光标移动而移动。将\\n插入TEXT内容中可实现文字换行。
|
|
11761
11765
|
//例如:DRAWFLAGTEXT(CLOSE/OPEN>1.08,LOW,'大阳线')表示当光标移动到涨幅大于8%的地方,在最低价位置显示'大阳线'字样的浮动窗口。
|
|
11762
|
-
this.DRAWFLAGTEXT=function(condition,price,text){var drawData=[];var result={DrawData:drawData,DrawType:'DRAWFLAGTEXT'};if(!text)return result;
|
|
11766
|
+
this.DRAWFLAGTEXT=function(condition,price,text){var drawData=[];var result={DrawData:drawData,DrawType:'DRAWFLAGTEXT'};if(!text)return result;var bArrayText=Array.isArray(text);//是否是数组字符串
|
|
11767
|
+
if(Array.isArray(condition)){if(condition.length<=0)return result;var bSinglePrice=IFrameSplitOperator.IsNumber(price);for(var i=0;i<condition.length;++i){drawData[i]=null;if(isNaN(condition[i])||!condition[i])continue;var outText=null;if(!bArrayText)outText=text;else if(bArrayText&&text[i])outText=text[i];if(bSinglePrice){drawData[i]={YValue:price,Text:outText};}else{if(IFrameSplitOperator.IsNumber(price[i]))drawData[i]={YValue:price[i],Text:outText};}}}else if(IFrameSplitOperator.IsPlusNumber(condition)){var bSinglePrice=IFrameSplitOperator.IsNumber(price);for(var i=0;i<this.SymbolData.Data.Data.length;++i){var outText=null;if(!bArrayText)outText=text;else if(bArrayText&&text[i])outText=text[i];if(bSinglePrice){drawData[i]={YValue:price,Text:outText};}else{if(IFrameSplitOperator.IsNumber(price[i]))drawData[i]={YValue:price[i],Text:outText};}}}return result;};//只有条件==1 才显示文字
|
|
11763
11768
|
this.DRAWTEXT=function(condition,price,text){var drawData=[];var result={DrawData:drawData,DrawType:'DRAWTEXT',Text:text};if(Array.isArray(condition)){if(condition.length<=0)return result;var IsNumber=this.IsNumber(price);var isFixedPosition=false;if(price==="TOP"||price==="BOTTOM"){result.FixedPosition=price;isFixedPosition=true;}for(var i=0;i<condition.length;++i){drawData[i]=null;if(condition[i]!==1)continue;if(IsNumber||isFixedPosition){drawData[i]=price;}else{if(this.IsNumber(price[i]))drawData[i]=price[i];}}}else if(this.IsNumber(condition)&&condition===1){var IsNumber=this.IsNumber(price);var isFixedPosition=false;if(price==="TOP"||price==="BOTTOM"){result.FixedPosition=price;isFixedPosition=true;}for(var i=0;i<this.SymbolData.Data.Data.length;++i){if(IsNumber||isFixedPosition){drawData[i]=price;}else{if(this.IsNumber(price[i]))drawData[i]=price[i];}}}return result;};//1.固定位置显示文字;2.在指标排序中显示字符串栏目.
|
|
11764
11769
|
//用法:DRAWTEXT_FIX(COND,X,Y,TYPE,TEXT),COND中一般需要加ISLASTBAR,当COND条件满足时,在当前指标窗口内(X,Y)位置书写文字TEXT,X,Y为书写点在窗口中相对于左上角的百分比,TYPE:0为左对齐,1为右对齐,2=居中.
|
|
11765
11770
|
//例如:DRAWTEXT_FIX(ISLASTBAR AND CLOSE/OPEN>1.08,0.5,0.5,0,'大阳线')表示最后一个交易日实体阳线大于8%时在窗口中间位置显示'大阳线'字样.若文字中含有&,则进行折行.最多只能显示250个字符
|
|
@@ -12753,7 +12758,7 @@ else if(_value16.indexOf('LINEOVERLAY')==0)isOverlayLine=true;else if(_value16.i
|
|
|
12753
12758
|
{var outVar={Name:_drawName,Draw:outValue,Type:1};this.OutVarTable.push(outVar);}else if(colorStick&&_varName8)//CYW: SUM(VAR4,10)/10000, COLORSTICK; 画上下柱子
|
|
12754
12759
|
{outValue+=",画彩色柱状线";var _value23={Name:_varName8,Draw:outValue,Color:color,Type:2};this.OutVarTable.push(_value23);}else if(_varName8){var _value24={Name:_varName8,Data:outValue,Type:0};this.OutVarTable.push(_value24);}}}}JSConsole.Complier.Log('[JSExplainer::Run]',this.VarTable);return this.OutVarTable;};this.VisitNode=function(node){switch(node.Type){case Syntax.SequenceExpression:this.VisitSequenceExpression(node);break;case Syntax.ExpressionStatement:this.VisitNode(node.Expression);break;case Syntax.AssignmentExpression:this.VisitAssignmentExpression(node);break;case Syntax.BinaryExpression:case Syntax.LogicalExpression:this.VisitBinaryExpression(node);break;case Syntax.CallExpression:this.VisitCallExpression(node);break;case Syntax.UnaryExpression:this.VisitUnaryExpression(node);break;}};this.VisitSequenceExpression=function(node){for(var _i126 in node.Expression){var _item19=node.Expression[_i126];this.VisitNode(_item19);}};this.VisitUnaryExpression=function(node){if(node.Operator=='-'){var _value25=this.GetNodeValueEx(node.Argument);return'-'+_value25;}return node.Argument.Value;};//函数调用
|
|
12755
12760
|
this.VisitCallExpression=function(node){var funcName=node.Callee.Name;var args=[];for(var _i127 in node.Arguments){var _item20=node.Arguments[_i127];var _value26=void 0;if(_item20.Type==Syntax.BinaryExpression||_item20.Type==Syntax.LogicalExpression)_value26=this.VisitBinaryExpression(_item20);else if(_item20.Type==Syntax.CallExpression)_value26=this.VisitCallExpression(_item20);else _value26=this.GetNodeValue(_item20);args.push(_value26);}if(node.Callee.Type==Syntax.Literal){var dynamicName=node.Callee.Value;node.Out='\u6307\u6807\u5F15\u7528\''+dynamicName+'\'';return node.Out;}if(JS_EXECUTE_DEBUG_LOG)JSConsole.Complier.Log('[JSExplainer::VisitCallExpression]',funcName,'(',args.toString(),')');if(g_JSComplierResource.IsCustomFunction(funcName)){var functionInfo=g_JSComplierResource.CustomFunction.Data.get(funcName);if(!functionInfo.Description)node.Out='\u81EA\u5B9A\u4E49\u51FD\u6570'+funcName;else node.Out=functionInfo.Description;return node.Out;}node.Out=this.CallFunctionExplain(funcName,args,node);return node.Out;};this.FUNCTION_INFO_LIST=new _map2.default([["REF",{Name:"REF",Param:{Count:2},ToString:function ToString(args){return args[1]+'\u65E5\u524D\u7684'+args[0];}}],["REFX",{Name:"REFX",Param:{Count:2},ToString:function ToString(args){return args[1]+'\u65E5\u540E\u7684'+args[0];}}],["REFV",{Name:"REFV",Param:{Count:2},ToString:function ToString(args){return args[1]+'\u65E5\u524D\u7684(\u672A\u4F5C\u5E73\u6ED1\u5904\u7406)'+args[0];}}],["REFXV",{Name:"REFXV",Param:{Count:2},ToString:function ToString(args){return args[1]+'\u65E5\u540E\u7684(\u672A\u4F5C\u5E73\u6ED1\u5904\u7406)'+args[0];}}],["REFDATE",{Name:"REFDATE",Param:{Count:2},ToString:function ToString(args){return args[1]+'\u65E5'+args[0];}}],["COUNT",{Name:"COUNT",Param:{Count:2},ToString:function ToString(args){return'\u7EDF\u8BA1'+args[1]+'\u65E5\u4E2D\u6EE1\u8DB3'+args[0]+'\u7684\u5929\u6570';}}],["BARSLASTCOUNT",{Name:"BARSLASTCOUNT",Param:{Count:1},ToString:function ToString(args){return'\u6761\u4EF6'+args[0]+'\u8FDE\u7EED\u6210\u7ACB\u6B21\u6570';}}],["BARSCOUNT",{Name:"BARSCOUNT",Param:{Count:1},ToString:function ToString(args){return args[0]+'\u6709\u6548\u6570\u636E\u5468\u671F\u6570';}}],["BARSLAST",{Name:"BARSLAST",Param:{Count:1},ToString:function ToString(args){return'\u4E0A\u6B21'+args[0]+'\u4E0D\u4E3A0\u8DDD\u4ECA\u5929\u6570';}}],["BARSLASTS",{Name:"BARSLASTS",Param:{Count:2},ToString:function ToString(args){return'\u5012\u6570\u7B2CN\u6B21\u6210\u7ACB\u65F6\u8DDD\u4ECA\u7684\u5468\u671F\u6570';}}],["BARSNEXT",{Name:"BARSNEXT",Param:{Count:1},ToString:function ToString(args){return'\u4E0B\u6B21'+args[0]+'\u4E0D\u4E3A0\u8DDD\u4ECA\u5929\u6570';}}],["BARSSINCEN",{Name:"BARSSINCEN",Param:{Count:2},ToString:function ToString(args){return'\u5728'+args[1]+'\u5468\u671F\u5185\u9996\u6B21'+args[0]+'\u8DDD\u4ECA\u5929\u6570';}}],["BARSSINCE",{Name:"BARSSINCE",Param:{Count:1},ToString:function ToString(args){return'\u9996\u6B21'+args[0]+'\u8DDD\u4ECA\u5929\u6570';}}],["HHV",{Name:"HHV",Param:{Count:2},ToString:function ToString(args){return args[1]+'\u65E5\u5185'+args[0]+'\u7684\u6700\u9AD8\u503C';}}],["LLV",{Name:"LLV",Param:{Count:2},ToString:function ToString(args){return args[1]+'\u65E5\u5185'+args[0]+'\u7684\u6700\u4F4E\u503C';}}],["ZTPRICE",{Name:"ZTPRICE",Param:{Count:2},ToString:function ToString(args){return'计算涨停价';}}],["DTPRICE",{Name:"DTPRICE",Param:{Count:2},ToString:function ToString(args){return'计算跌停价';}}],["BACKSET",{Name:"BACKSET",Param:{Count:2},ToString:function ToString(args){return'\u82E5'+args[0]+'\u5219\u5C06\u6700\u8FD1'+args[1]+'\u5468\u671F\u7F6E\u4E3A1';}}],["HOD",{Name:"HOD",Param:{Count:2},ToString:function ToString(args){return args[1]+'\u65E5\u5185'+args[0]+'\u7684\u9AD8\u503C\u540D\u6B21';}}],["LOD",{Name:"LOD",Param:{Count:2},ToString:function ToString(args){return args[1]+'\u65E5\u5185'+args[0]+'\u7684\u4F4E\u503C\u540D\u6B21';}}],["REVERSE",{Name:"REVERSE",Param:{Count:1},ToString:function ToString(args){return args[0]+'\u7684\u76F8\u53CD\u6570';}}],["FILTER",{Name:"FILTER",Param:{Count:2},ToString:function ToString(args){return args[0]+'\u7684'+args[1]+'\u65E5\u8FC7\u6EE4';}}],["FILTERX",{Name:"FILTERX",Param:{Count:2},ToString:function ToString(args){return args[0]+'\u7684'+args[1]+'\u65E5\u53CD\u5411\u8FC7\u6EE4';}}],["TFILTER",{Name:"TFILTER",Param:{Count:3},ToString:function ToString(args){return'\u4FE1\u53F7\u8FC7\u6EE4(\u591A\u5934)';}}],["SUMBARS",{Name:"SUMBARS",Param:{Count:2},ToString:function ToString(args){return args[0]+'\u7D2F\u52A0\u81F3'+args[1]+'\u7684\u5929\u6570';}}],["MA",{Name:"MA",Param:{Count:2},ToString:function ToString(args){return args[0]+'\u7684'+args[1]+'\u65E5\u7B80\u5355\u79FB\u52A8\u5E73\u5747';}}],["SMA",{Name:"SMA",Param:{Count:3},ToString:function ToString(args){return args[0]+'\u7684'+args[1]+'\u65E5['+args[2]+'\u65E5\u6743\u91CD]\u79FB\u52A8\u5E73\u5747';}}],["MEMA",{Name:"MEMA",Param:{Count:2},ToString:function ToString(args){return args[0]+'\u7684'+args[1]+'\u65E5\u5E73\u6ED1\u79FB\u52A8\u5E73\u5747';}}],["EMA",{Name:"EMA",Param:{Count:2},ToString:function ToString(args){return args[0]+'\u7684'+args[1]+'\u65E5\u6307\u6570\u79FB\u52A8\u5E73\u5747';}}],["EXPMA",{Name:"EXPMA",Param:{Count:2},ToString:function ToString(args){return args[0]+'\u7684'+args[1]+'\u65E5\u6307\u6570\u79FB\u52A8\u5E73\u5747';}}],["EXPMEMA",{Name:"EXPMEMA",Param:{Count:2},ToString:function ToString(args){return args[0]+'\u7684'+args[1]+'\u65E5\u6307\u6570\u5E73\u6ED1\u79FB\u52A8\u5E73\u5747';}}],["WMA",{Name:"WMA",Param:{Count:2},ToString:function ToString(args){return args[0]+'\u7684'+args[1]+'\u65E5\u52A0\u6743\u79FB\u52A8\u5E73\u5747';}}],["DMA",{Name:"DMA",Param:{Count:2},ToString:function ToString(args){return'\u4EE5'+args[1]+'\u4E3A\u6743\u91CD'+args[0]+'\u7684\u52A8\u6001\u79FB\u52A8\u5E73\u5747';}}],["XMA",{Name:"XMA",Param:{Count:2},ToString:function ToString(args){return args[0]+'\u7684'+args[1]+'\u65E5\u504F\u79FB\u79FB\u52A8\u5E73\u5747';}}],["RANGE",{Name:"RANGE",Param:{Count:3},ToString:function ToString(args){return args[0]+'\u4F4D\u4E8E'+args[1]+'\u548C'+args[2]+'\u4E4B\u95F4';}}],["CONST",{Name:"CONST",Param:{Count:1},ToString:function ToString(args){return args[0]+'\u7684\u6700\u540E\u4E00\u65E5\u503C';}}],["TOPRANGE",{Name:"TOPRANGE",Param:{Count:1},ToString:function ToString(args){return'\u5F53\u524D\u503C\u662F\u8FD1'+args[0]+'\u5468\u671F\u7684\u6700\u5927\u503C';}}],["LOWRANGE",{Name:"LOWRANGE",Param:{Count:1},ToString:function ToString(args){return'\u5F53\u524D\u503C\u662F\u8FD1'+args[0]+'\u5468\u671F\u7684\u6700\u5C0F\u503C';}}],["FINDHIGH",{Name:"FINDHIGH",Param:{Count:4},ToString:function ToString(args){return args[0]+'\u5728'+args[1]+'\u65E5\u524D\u7684'+args[2]+'\u5929\u5185\u7B2C'+args[3]+'\u4E2A\u6700\u9AD8\u4EF7';}}],["FINDHIGHBARS",{Name:"FINDHIGHBARS",Param:{Count:4},ToString:function ToString(args){return args[0]+'\u5728'+args[1]+'\u65E5\u524D\u7684'+args[2]+'\u5929\u5185\u7B2C'+args[3]+'\u4E2A\u6700\u9AD8\u4EF7\u5230\u5F53\u524D\u5468\u671F\u7684\u5468\u671F\u6570';}}],["FINDLOW",{Name:"FINDLOW",Param:{Count:4},ToString:function ToString(args){return args[0]+'\u5728'+args[1]+'\u65E5\u524D\u7684'+args[2]+'\u5929\u5185\u7B2C'+args[3]+'\u4E2A\u6700\u4F4E\u4EF7';}}],["FINDLOWBARS",{Name:"FINDLOWBARS",Param:{Count:2},ToString:function ToString(args){return args[0]+'\u5728'+args[1]+'\u65E5\u524D\u7684'+args[2]+'\u5929\u5185\u7B2C'+args[3]+'\u4E2A\u6700\u4F4E\u4EF7\u5230\u5F53\u524D\u5468\u671F\u7684\u5468\u671F\u6570';}}],["SUM",{Name:"SUM",Param:{Count:2},ToString:function ToString(args){return''+args[0]+args[1]+'\u65E5\u7D2F\u52A0';}}],["MULAR",{Name:"MULAR",Param:{Count:2},ToString:function ToString(args){return args[0]+'\u548C'+args[1]+'\u65E5\u7D2F\u4E58';}}],["AMA",{Name:"AMA",Param:{Count:2},ToString:function ToString(args){return'\u4EE5'+args[1]+'\u4E3A\u6743\u91CD'+args[0]+'\u7684\u81EA\u9002\u5E94\u5747\u7EBF';}}],["TMA",{Name:"TMA",Param:{Count:3},ToString:function ToString(args){return args[0]+'\u7684'+args[1]+'\u65E5['+args[2]+'\u65E5\u6743\u91CD]\u79FB\u52A8\u5E73\u5747';}}],["CROSS",{Name:"CROSS",Param:{Count:2},ToString:function ToString(args){return args[0]+'\u4E0A\u7A7F'+args[1];}}],["LONGCROSS",{Name:"LONGCROSS",Param:{Count:3},ToString:function ToString(args){return args[0]+'\u5C0F\u4E8E'+args[1]+'\u4FDD\u6301'+args[2]+'\u4E2A\u4EA4\u6613\u65E5\u540E\u4EA4\u53C9\u4E0A\u7A7F';}}],["UPNDAY",{Name:"UPNDAY",Param:{Count:2},ToString:function ToString(args){return'\u6700\u8FD1'+args[1]+'\u65E5'+args[0]+'\u8FDE\u6DA8';}}],["DOWNNDAY",{Name:"DOWNNDAY",Param:{Count:2},ToString:function ToString(args){return'\u6700\u8FD1'+args[1]+'\u65E5'+args[0]+'\u8FDE\u8DCC';}}],["NDAY",{Name:"NDAY",Param:{Count:3},ToString:function ToString(args){return'\u6700\u8FD1'+args[2]+'\u65E5'+args[0]+'\u4E00\u76F4\u5927\u4E8E'+args[1];}}],["EXIST",{Name:"EXIST",Param:{Count:2},ToString:function ToString(args){return'\u6700\u8FD1'+args[1]+'\u65E5\u5B58\u5728'+args[0];}}],["EXISTR",{Name:"EXISTR",Param:{Count:3},ToString:function ToString(args){return'\u4ECE\u524D'+args[1]+'\u65E5\u5230\u524D'+args[2]+'\u65E5\u5B58\u5728'+args[0];}}],["EVERY",{Name:"EVERY",Param:{Count:2},ToString:function ToString(args){return'\u6700\u8FD1'+args[1]+'\u65E5\u4E00\u76F4\u5B58\u5728'+args[0];}}],["LAST",{Name:"LAST",Param:{Count:3},ToString:function ToString(args){return'\u4ECE\u524D'+args[1]+'\u65E5\u5230\u524D'+args[2]+'\u65E5\u6301\u7EED'+args[0];}}],["NOT",{Name:"NOT",Param:{Count:1},ToString:function ToString(args){return args[0]+'\u53D6\u53CD';}}],["IF",{Name:"IF",Param:{Count:3},ToString:function ToString(args){return'\u5982\u679C'+args[0]+',\u8FD4\u56DE'+args[1]+',\u5426\u5219\u8FD4\u56DE'+args[2];}}],["IFF",{Name:"IFF",Param:{Count:3},ToString:function ToString(args){return'\u5982\u679C'+args[0]+',\u8FD4\u56DE'+args[1]+',\u5426\u5219\u8FD4\u56DE'+args[2];}}],["IFN",{Name:"IFN",Param:{Count:3},ToString:function ToString(args){return'\u5982\u679C'+args[0]+',\u8FD4\u56DE'+args[1]+',\u5426\u5219\u8FD4\u56DE'+args[2];}}],["IFC",{Name:"IFC",Param:{Count:3},ToString:function ToString(args){return'\u5982\u679C'+args[0]+',\u8FD4\u56DE'+args[1]+',\u5426\u5219\u8FD4\u56DE'+args[2];}}],["TESTSKIP",{Name:"TESTSKIP",Param:{Count:1},ToString:function ToString(args){return'\u5982\u679C\u6EE1\u8DB3\u6761\u4EF6'+args[0]+',\u516C\u5F0F\u8FD4\u56DE';}}],["VALUEWHEN",{Name:"VALUEWHEN",Param:{Count:2},ToString:function ToString(args){return'\u5982\u679C'+args[0]+',\u8FD4\u56DE'+args[1]+',\u5426\u5219\u8FD4\u56DE\u4E0A\u4E2A\u8F93\u51FA\u503C ';}}],["MAX",{Name:"MAX",Param:{Count:2},ToString:function ToString(args){return args[0]+'\u548C'+args[1]+'\u7684\u8F83\u5927\u503C';}}],["MIN",{Name:"MIN",Param:{Count:2},ToString:function ToString(args){return args[0]+'\u548C'+args[1]+'\u7684\u8F83\u5C0F\u503C';}}],["ACOS",{Name:"ACOS",Param:{Count:1},ToString:function ToString(args){return args[0]+'\u7684\u53CD\u4F59\u5F26';}}],["ASIN",{Name:"ASIN",Param:{Count:1},ToString:function ToString(args){return args[0]+'\u7684\u53CD\u6B63\u5F26';}}],["ATAN",{Name:"ATAN",Param:{Count:1},ToString:function ToString(args){return args[0]+'\u7684\u53CD\u6B63\u5207';}}],["COS",{Name:"COS",Param:{Count:1},ToString:function ToString(args){return args[0]+'\u7684\u4F59\u5F26';}}],["SIN",{Name:"SIN",Param:{Count:1},ToString:function ToString(args){return args[0]+'\u7684\u6B63\u5F26';}}],["TAN",{Name:"TAN",Param:{Count:1},ToString:function ToString(args){return args[0]+'\u7684\u6B63\u5207';}}],["EXP",{Name:"EXP",Param:{Count:1},ToString:function ToString(args){return args[0]+'\u7684\u6307\u6570';}}],["LN",{Name:"LN",Param:{Count:1},ToString:function ToString(args){return args[0]+'\u7684\u81EA\u7136\u5BF9\u6570';}}],["LOG",{Name:"LOG",Param:{Count:1},ToString:function ToString(args){return args[0]+'\u7684\u5BF9\u6570';}}],["SQRT",{Name:"SQRT",Param:{Count:1},ToString:function ToString(args){return args[0]+'\u7684\u5F00\u65B9';}}],["ABS",{Name:"ABS",Param:{Count:1},ToString:function ToString(args){return args[0]+'\u7684\u7EDD\u5BF9\u503C';}}],["POW",{Name:"POW",Param:{Count:2},ToString:function ToString(args){return args[0]+'\u7684'+args[1]+'\u4E58\u5E42';}}],["CEILING",{Name:"CEILING",Param:{Count:1},ToString:function ToString(args){return args[0]+'\u7684\u5411\u4E0A\u820D\u5165';}}],["FLOOR",{Name:"FLOOR",Param:{Count:1},ToString:function ToString(args){return args[0]+'\u7684\u5411\u4E0A\u820D\u5165';}}],["INTPART",{Name:"INTPART",Param:{Count:1},ToString:function ToString(args){return args[0]+'\u7684\u6574\u6570\u90E8\u5206';}}],["BETWEEN",{Name:"BETWEEN",Param:{Count:3},ToString:function ToString(args){return args[0]+'\u4F4D\u4E8E'+args[1]+'\u548C'+args[2]+'\u4E4B\u95F4';}}],["FRACPART",{Name:"FRACPART",Param:{Count:1},ToString:function ToString(args){return args[0]+'\u7684\u5C0F\u6570\u90E8\u5206';}}],["ROUND",{Name:"ROUND",Param:{Count:1},ToString:function ToString(args){return'\u5BF9'+args[0]+'(\u8FDB\u884C)\u56DB\u820D\u4E94\u5165';}}],["ROUND2",{Name:"ROUND2",Param:{Count:2},ToString:function ToString(args){return'\u5BF9'+args[0]+'(\u8FDB\u884C)\u56DB\u820D\u4E94\u5165';}}],["SIGN",{Name:"SIGN",Param:{Count:1},ToString:function ToString(args){return args[0]+'\u7684\u7B26\u53F7';}}],["MOD",{Name:"MOD",Param:{Count:2},ToString:function ToString(args){return args[0]+'\u5173\u4E8E'+args[1]+'\u7684\u6A21';}}],["RAND",{Name:"RAND",Param:{Count:1},ToString:function ToString(args){return'\u968F\u673A\u6B63\u6574\u6570';}}],["AVEDEV",{Name:"AVEDEV",Param:{Count:2},ToString:function ToString(args){return args[0]+'\u7684'+args[1]+'\u65E5\u5E73\u5747\u7EDD\u5BF9\u504F\u5DEE';}}],["DEVSQ",{Name:"DEVSQ",Param:{Count:2},ToString:function ToString(args){return args[0]+'\u7684'+args[1]+'\u65E5\u6570\u636E\u504F\u5DEE\u5E73\u65B9\u548C';}}],["FORCAST",{Name:"FORCAST",Param:{Count:2},ToString:function ToString(args){return args[0]+'\u7684'+args[1]+'\u65E5\u7EBF\u6027\u56DE\u5F52\u9884\u6D4B\u503C';}}],["TSMA",{Name:"TSMA",Param:{Count:2},ToString:function ToString(args){return args[0]+'\u5728'+args[1]+'\u4E2A\u5468\u671F\u5185\u7684\u65F6\u95F4\u5E8F\u5217\u4E09\u89D2\u79FB\u52A8\u5E73\u5747';}}],["SLOPE",{Name:"SLOPE",Param:{Count:2},ToString:function ToString(args){return args[0]+'\u7684'+args[1]+'\u65E5\u7EBF\u6027\u56DE\u5F52\u659C\u7387';}}],["STD",{Name:"STD",Param:{Count:2},ToString:function ToString(args){return args[0]+'\u7684'+args[1]+'\u65E5\u4F30\u7B97\u6807\u51C6\u5DEE';}}],["STDP",{Name:"STDP",Param:{Count:2},ToString:function ToString(args){return args[0]+'\u7684'+args[1]+'\u65E5\u603B\u4F53\u6807\u51C6\u5DEE';}}],["STDDEV",{Name:"STDDEV",Param:{Count:2},ToString:function ToString(args){return args[0]+'\u7684'+args[1]+'\u65E5\u6807\u51C6\u504F\u5DEE';}}],["VAR",{Name:"VAR",Param:{Count:2},ToString:function ToString(args){return args[0]+'\u7684'+args[1]+'\u65E5\u4F30\u7B97\u6837\u672C\u65B9\u5DEE';}}],["VARP",{Name:"VARP",Param:{Count:2},ToString:function ToString(args){return args[0]+'\u7684'+args[1]+'\u65E5\u603B\u4F53\u6837\u672C\u65B9\u5DEE';}}],["COVAR",{Name:"COVAR",Param:{Count:3},ToString:function ToString(args){return args[0]+'\u548C'+args[1]+'\u7684'+args[2]+'\u5468\u671F\u7684\u534F\u65B9\u5DEE';}}],["RELATE",{Name:"RELATE",Param:{Count:3},ToString:function ToString(args){return args[0]+'\u548C'+args[1]+'\u7684'+args[0]+'\u5468\u671F\u7684\u76F8\u5173\u7CFB\u6570';}}],["BETA",{Name:"BETA",Param:{Count:1},ToString:function ToString(args){return'\u03B2(Beta)\u7CFB\u6570';}}],["BETAEX",{Name:"BETAEX",Param:{Count:3},ToString:function ToString(args){return args[0]+'\u548C'+args[1]+'\u7684'+args[2]+'\u5468\u671F\u7684\u76F8\u5173\u653E\u5927\u7CFB\u6570';}}],["COST",{Name:"COST",Param:{Count:1},ToString:function ToString(args){return'\u83B7\u5229\u76D8\u4E3A'+args[0]+'%\u7684\u6210\u672C\u5206\u5E03';}}],["WINNER",{Name:"WINNER",Param:{Count:1},ToString:function ToString(args){return'\u4EE5'+args[0]+'\u8BA1\u7B97\u7684\u83B7\u5229\u76D8\u6BD4\u4F8B';}}],["LWINNER",{Name:"LWINNER",Param:{Count:2},ToString:function ToString(args){return'\u6700\u8FD1'+args[0]+'\u65E5\u90A3\u90E8\u5206\u6210\u672C\u4EE5'+args[1]+'\u4EF7\u683C\u5356\u51FA\u7684\u83B7\u5229\u76D8\u6BD4\u4F8B';}}],["PWINNER",{Name:"PWINNER",Param:{Count:2},ToString:function ToString(args){return args[0]+'\u65E5\u524D\u90A3\u90E8\u5206\u6210\u672C\u4EE5'+args[1]+'\u4EF7\u683C\u5356\u51FA\u7684\u83B7\u5229\u76D8\u6BD4\u4F8B';}}],["COSTEX",{Name:"COSTEX",Param:{Count:2},ToString:function ToString(args){return'\u4F4D\u4E8E\u4EF7\u683C'+args[0]+'\u548C'+args[1]+'\u95F4\u7684\u6210\u672C';}}],["PPART",{Name:"PPART",Param:{Count:2},ToString:function ToString(args){return args[0]+'\u65E5\u524D\u90A3\u90E8\u5206\u6210\u672C\u5360\u603B\u6210\u672C\u7684\u6BD4\u4F8B';}}],["SAR",{Name:"SAR",Param:{Count:3},ToString:function ToString(args){return'\u6B65\u957F\u4E3A'+args[1]+'\u6781\u9650\u503C\u4E3A'+args[0]+'\u7684'+args[2]+'\u65E5\u629B\u7269\u8F6C\u5411';}}],["SARTURN",{Name:"SARTURN",Param:{Count:3},ToString:function ToString(args){return'\u6B65\u957F\u4E3A'+args[1]+'\u6781\u9650\u503C\u4E3A'+args[0]+'\u7684'+args[2]+'\u65E5\u629B\u7269\u8F6C\u5411\u70B9';}}],//字符串函数
|
|
12756
|
-
["CON2STR",{Name:"CON2STR",Param:{Count:2},ToString:function ToString(args){return args[0]+'\u8F6C\u4E3A\u5B57\u7B26\u4E32';}}],["VAR2STR",{Name:"VAR2STR",Param:{Count:2},ToString:function ToString(args){return args[0]+'\u8F6C\u4E3A\u5B57\u7B26\u4E32';}}],["STR2CON",{Name:"STR2CON",Param:{Count:1},ToString:function ToString(args){return args[0]+'\u8F6C\u4E3A\u6570\u5B57';}}],["STRLEN",{Name:"STRLEN",Param:{Count:1},ToString:function ToString(args){return'\u5F97\u5230'+args[0]+'\u5B57\u7B26\u4E32\u957F\u5EA6';}}],["STRCAT",{Name:"STRCAT",Param:{Count:2},ToString:function ToString(args){return'\u5B57\u7B26\u4E32\u76F8\u52A0';}}],["STRCAT6",{Name:"STRCAT6",Param:{Dynamic:true},ToString:function ToString(args){return'\u5B57\u7B26\u4E32\u76F8\u52A0';}}],["VARCAT",{Name:"VARCAT",Param:{Count:2},ToString:function ToString(args){return'\u5B57\u7B26\u4E32\u76F8\u52A0';}}],["STRSPACE",{Name:"STRSPACE",Param:{Count:1},ToString:function ToString(args){return'\u5B57\u7B26\u4E32'+args[0]+'\u52A0\u4E00\u7A7A\u683C';}}],["SUBSTR",{Name:"SUBSTR",Param:{Count:3},ToString:function ToString(args){return'\u5B57\u7B26\u4E32'+args[0]+'\u4E2D\u53D6\u4E00\u90E8\u5206';}}],["STRCMP",{Name:"STRCMP",Param:{Count:2},ToString:function ToString(args){return'\u5B57\u7B26\u4E32'+args[0]+'\u548C\u5B57\u7B26\u4E32'+args[1]+'\u6BD4\u8F83';}}],["FINDSTR",{Name:"FINDSTR",Param:{Count:2},ToString:function ToString(args){return'\u5B57\u7B26\u4E32'+args[0]+'\u4E2D\u67E5\u627E\u5B57\u7B26\u4E32'+args[1];}}],["NAMEINCLUDE",{Name:"NAMEINCLUDE",Param:{Count:1},ToString:function ToString(args){return'\u67E5\u627E\u54C1\u79CD\u540D\u79F0\u4E2D\u5305\u542B'+args[0];}}],["CODELIKE",{Name:"CODELIKE",Param:{Count:1},ToString:function ToString(args){return'\u67E5\u627E\u54C1\u79CD\u540D\u79F0\u4E2D\u5305\u542B'+args[0];}}],["INBLOCK",{Name:"AVEDEV",Param:{Count:1},ToString:function ToString(args){return'\u5C5E\u4E8E'+args[0]+'\u677F\u5757';}}],["STKINDI",{Name:"STKINDI",Param:{Dynamic:true},ToString:function ToString(args){return"指标引用";}}],["STRFORMAT",{Name:"STRFORMAT",Param:{Dynamic:true},ToString:function ToString(args){return'\u683C\u5F0F\u5316'+args[0]+'\u5B57\u7B26\u4E32';}}],["NAMELIKE",{Name:"NAMELIKE",Param:{Count:1},ToString:function ToString(args){return'\u54C1\u79CD\u540D\u79F0\u662F\u5426\u4EE5\''+args[0]+'\'\u5F00\u5934';}}],["HHVBARS",{Name:"HHVBARS",Param:{Count:2},ToString:function ToString(args){if(args[1]==0)return'\u5386\u53F2'+args[0]+'\u65B0\u9AD8\u8DDD\u4ECA\u5929\u6570';return args[1]+'\u65E5\u5185'+args[0]+'\u65B0\u9AD8\u8DDD\u4ECA\u5929\u6570';}}],["LLVBARS",{Name:"LLVBARS",Param:{Count:2},ToString:function ToString(args){if(args[1]==0)return'\u5386\u53F2'+args[0]+'\u65B0\u4F4E\u8DDD\u4ECA\u5929\u6570';return args[1]+'\u65E5\u5185'+args[0]+'\u65B0\u4F4E\u8DDD\u4ECA\u5929\u6570';}}],["L2_VOLNUM",{Name:"L2_VOLNUM",Param:{Count:2},ToString:function ToString(args){return'\u5355\u6570\u5206\u6863';}}],["L2_VOL",{Name:"L2_VOL",Param:{Count:2},ToString:function ToString(args){return'\u6210\u4EA4\u91CF\u5206\u6863';}}],["L2_AMO",{Name:"L2_AMO",Param:{Count:2},ToString:function ToString(args){return'\u6210\u4EA4\u989D\u5206\u6863';}}],["TABLE_CELL",{Name:"TABLE_CELL",Param:{Dynamic:true},ToString:function ToString(args){return'\u521B\u5EFA\u8868\u683C\u5355\u5143\u683C';}}],["TABLE_ROW",{Name:"TABLE_ROW",Param:{Dynamic:true},ToString:function ToString(args){return'\u521B\u5EFA\u8868\u683C\u884C';}}],["DRAWTABLE",{Name:"DRAWTABLE",Param:{Dynamic:true},ToString:function ToString(args){return'\u7ED8\u5236\u8868\u683C';}}],["MAX6",{Name:"MAX6",Param:{Dynamic:true},ToString:function ToString(args){return"较大值";}}],["MIN6",{Name:"MIN6",Param:{Dynamic:true},ToString:function ToString(args){return"较小值";}}]]);this.CallFunctionExplain=function(funcName,args,node){if(this.FUNCTION_INFO_LIST.has(funcName)){var item=this.FUNCTION_INFO_LIST.get(funcName);if(item.Param.Dynamic===true)//动态参数
|
|
12761
|
+
["CON2STR",{Name:"CON2STR",Param:{Count:2},ToString:function ToString(args){return args[0]+'\u8F6C\u4E3A\u5B57\u7B26\u4E32';}}],["VAR2STR",{Name:"VAR2STR",Param:{Count:2},ToString:function ToString(args){return args[0]+'\u8F6C\u4E3A\u5B57\u7B26\u4E32';}}],["STR2CON",{Name:"STR2CON",Param:{Count:1},ToString:function ToString(args){return args[0]+'\u8F6C\u4E3A\u6570\u5B57';}}],["STRLEN",{Name:"STRLEN",Param:{Count:1},ToString:function ToString(args){return'\u5F97\u5230'+args[0]+'\u5B57\u7B26\u4E32\u957F\u5EA6';}}],["STRCAT",{Name:"STRCAT",Param:{Count:2},ToString:function ToString(args){return'\u5B57\u7B26\u4E32\u76F8\u52A0';}}],["STRCAT6",{Name:"STRCAT6",Param:{Dynamic:true},ToString:function ToString(args){return'\u5B57\u7B26\u4E32\u76F8\u52A0';}}],["VARCAT",{Name:"VARCAT",Param:{Count:2},ToString:function ToString(args){return'\u5B57\u7B26\u4E32\u76F8\u52A0';}}],["VARCAT6",{Name:"VARCAT",Param:{Dynamic:true},ToString:function ToString(args){return'\u5B57\u7B26\u4E32\u76F8\u52A0';}}],["STRSPACE",{Name:"STRSPACE",Param:{Count:1},ToString:function ToString(args){return'\u5B57\u7B26\u4E32'+args[0]+'\u52A0\u4E00\u7A7A\u683C';}}],["SUBSTR",{Name:"SUBSTR",Param:{Count:3},ToString:function ToString(args){return'\u5B57\u7B26\u4E32'+args[0]+'\u4E2D\u53D6\u4E00\u90E8\u5206';}}],["STRCMP",{Name:"STRCMP",Param:{Count:2},ToString:function ToString(args){return'\u5B57\u7B26\u4E32'+args[0]+'\u548C\u5B57\u7B26\u4E32'+args[1]+'\u6BD4\u8F83';}}],["FINDSTR",{Name:"FINDSTR",Param:{Count:2},ToString:function ToString(args){return'\u5B57\u7B26\u4E32'+args[0]+'\u4E2D\u67E5\u627E\u5B57\u7B26\u4E32'+args[1];}}],["NAMEINCLUDE",{Name:"NAMEINCLUDE",Param:{Count:1},ToString:function ToString(args){return'\u67E5\u627E\u54C1\u79CD\u540D\u79F0\u4E2D\u5305\u542B'+args[0];}}],["CODELIKE",{Name:"CODELIKE",Param:{Count:1},ToString:function ToString(args){return'\u67E5\u627E\u54C1\u79CD\u540D\u79F0\u4E2D\u5305\u542B'+args[0];}}],["INBLOCK",{Name:"AVEDEV",Param:{Count:1},ToString:function ToString(args){return'\u5C5E\u4E8E'+args[0]+'\u677F\u5757';}}],["STKINDI",{Name:"STKINDI",Param:{Dynamic:true},ToString:function ToString(args){return"指标引用";}}],["STRFORMAT",{Name:"STRFORMAT",Param:{Dynamic:true},ToString:function ToString(args){return'\u683C\u5F0F\u5316'+args[0]+'\u5B57\u7B26\u4E32';}}],["NAMELIKE",{Name:"NAMELIKE",Param:{Count:1},ToString:function ToString(args){return'\u54C1\u79CD\u540D\u79F0\u662F\u5426\u4EE5\''+args[0]+'\'\u5F00\u5934';}}],["HHVBARS",{Name:"HHVBARS",Param:{Count:2},ToString:function ToString(args){if(args[1]==0)return'\u5386\u53F2'+args[0]+'\u65B0\u9AD8\u8DDD\u4ECA\u5929\u6570';return args[1]+'\u65E5\u5185'+args[0]+'\u65B0\u9AD8\u8DDD\u4ECA\u5929\u6570';}}],["LLVBARS",{Name:"LLVBARS",Param:{Count:2},ToString:function ToString(args){if(args[1]==0)return'\u5386\u53F2'+args[0]+'\u65B0\u4F4E\u8DDD\u4ECA\u5929\u6570';return args[1]+'\u65E5\u5185'+args[0]+'\u65B0\u4F4E\u8DDD\u4ECA\u5929\u6570';}}],["L2_VOLNUM",{Name:"L2_VOLNUM",Param:{Count:2},ToString:function ToString(args){return'\u5355\u6570\u5206\u6863';}}],["L2_VOL",{Name:"L2_VOL",Param:{Count:2},ToString:function ToString(args){return'\u6210\u4EA4\u91CF\u5206\u6863';}}],["L2_AMO",{Name:"L2_AMO",Param:{Count:2},ToString:function ToString(args){return'\u6210\u4EA4\u989D\u5206\u6863';}}],["TABLE_CELL",{Name:"TABLE_CELL",Param:{Dynamic:true},ToString:function ToString(args){return'\u521B\u5EFA\u8868\u683C\u5355\u5143\u683C';}}],["TABLE_ROW",{Name:"TABLE_ROW",Param:{Dynamic:true},ToString:function ToString(args){return'\u521B\u5EFA\u8868\u683C\u884C';}}],["DRAWTABLE",{Name:"DRAWTABLE",Param:{Dynamic:true},ToString:function ToString(args){return'\u7ED8\u5236\u8868\u683C';}}],["MAX6",{Name:"MAX6",Param:{Dynamic:true},ToString:function ToString(args){return"较大值";}}],["MIN6",{Name:"MIN6",Param:{Dynamic:true},ToString:function ToString(args){return"较小值";}}]]);this.CallFunctionExplain=function(funcName,args,node){if(this.FUNCTION_INFO_LIST.has(funcName)){var item=this.FUNCTION_INFO_LIST.get(funcName);if(item.Param.Dynamic===true)//动态参数
|
|
12757
12762
|
{}else{if(item.Param.Count!=args.length)this.ThrowUnexpectedNode(node,'\u51FD\u6570'+funcName+'\u53C2\u6570\u4E2A\u6570\u4E0D\u6B63\u786E. \u9700\u8981'+item.Param.Count+'\u4E2A\u53C2\u6570');}return item.ToString(args);}switch(funcName){case"CALCSTOCKINDEX":return'\u5F15\u7528'+args[0]+'\u7684'+args[1]+'\u6307\u6807\u7B2C'+args[2]+'\u4E2A\u8F93\u51FA\u503C';case"PEAK":case"PEAKBARS":case"ZIG":case"ZIGA":case"TROUGH":case"TROUGHBARS":return this.GetZIGExplain(funcName,args);case"FINANCE":return this.GetFinanceExplain(args);case"DYNAINFO":return this.GetDynainfoExplain(args);case'CLOSE':case'C':case'VOL':case'V':case'OPEN':case'O':case'HIGH':case'H':case'LOW':case'L':case'AMOUNT':case'AMO':return this.GetOtherSymbolExplain({FunctionName:funcName,Args:args},node);//绘图函数
|
|
12758
12763
|
case"PLOYLINE":return'\u5F53\u6EE1\u8DB3\u6761\u4EF6'+args[0]+'\u65F6\u4EE5'+args[1]+'\u4F4D\u7F6E\u4E3A\u9876\u70B9\u753B\u6298\u7EBF\u8FDE\u63A5';case"DRAWLINE":return'\u5F53\u6EE1\u8DB3\u6761\u4EF6'+args[0]+'\u65F6,\u5728'+args[1]+'\u4F4D\u7F6E\u753B\u76F4\u7EBF\u8D77\u70B9\uFF0C\u5F53\u6EE1\u8DB3\u6761\u4EF6'+args[2]+'\u65F6,\u5728'+args[3]+'\u4F4D\u7F6E\u753B\u76F4\u7EBF\u7EC8\u70B9,'+args[4]+'\u8868\u793A\u662F\u5426\u5EF6\u957F';case"DRAWSL":return'\u5F53\u6EE1\u8DB3\u6761\u4EF6'+args[0]+'\u65F6,\u5728'+args[1]+'\u4F4D\u7F6E\u753B\u659C\u7EBF\u7EBF\u6027\u56DE\u5F52,'+args[2]+'\u659C\u7387,'+args[3]+'\u957F\u5EA6,'+args[4]+'\u65B9\u5411';case"DRAWKLINE":case"DRAWKLINE1":return'K线';case"DRAWICON":return'\u5F53\u6EE1\u8DB3\u6761\u4EF6'+args[0]+'\u65F6,\u5728'+args[1]+'\u4F4D\u7F6E\u753B'+args[2]+'\u53F7\u56FE\u6807';case"DRAWTEXT":return'\u5F53\u6EE1\u8DB3\u6761\u4EF6'+args[0]+'\u65F6,\u5728'+args[1]+'\u4F4D\u7F6E\u4E66\u5199\u6587\u5B57';case"DRAWFLAGTEXT":return'\u5F53\u6EE1\u8DB3\u6761\u4EF6'+args[0]+'\u65F6,\u5728'+args[1]+'\u4F4D\u7F6E\u4E66\u5199\u6587\u5B57';case"DRAWTEXT_FIX":return'\u5F53\u6EE1\u8DB3\u6761\u4EF6'+args[0]+'\u65F6,\u5728\u6A2A\u8F74'+args[1]+'\u7EB5\u8F74'+args[2]+'\u4F4D\u7F6E\u4E66\u5199\u6587\u5B57';case"DRAWNUMBER":return'\u5F53\u6EE1\u8DB3\u6761\u4EF6'+args[0]+'\u65F6,\u5728'+args[1]+'\u4F4D\u7F6E\u4E66\u5199\u6570\u5B57';case"DRAWNUMBER_FIX":return'\u5F53\u6EE1\u8DB3\u6761\u4EF6'+args[0]+'\u65F6,\u5728\u6A2A\u8F74'+args[1]+'\u7EB5\u8F74'+args[2]+'\u4F4D\u7F6E\u4E66\u5199\u6570\u5B57';case"RGB":return'\u81EA\u5B9A\u8272['+args[0]+','+args[1]+','+args[2]+']';case"RGBA":return'\u81EA\u5B9A\u8272['+args[0]+','+args[1]+','+args[2]+','+args[3]+']';case"DRAWBAND":return'画带状线';case"DRAWRECTREL":return"相对位置上画矩形.";case"DRAWGBK":return"填充背景";case"TIPICON":return'\u5F53\u6EE1\u8DB3\u6761\u4EF6'+args[0]+'\u65F6,\u5728'+args[1]+'\u4F4D\u7F6E\u753B'+args[2]+'\u53F7\u56FE\u6807';case"STICKLINE":var barType="";if(args[4]==-1)barType="虚线空心柱";else if(args[4]==0)barType="实心柱";else barType="实线空心柱";return'\u5F53\u6EE1\u8DB3\u6761\u4EF6'+args[0]+'\u65F6, \u5728'+args[1]+'\u548C'+args[2]+'\u4F4D\u7F6E\u4E4B\u95F4\u753B\u67F1\u72B6\u7EBF,\u5BBD\u5EA6\u4E3A'+args[3]+','+barType;case"PARTLINE":return"画折线";case"SELL":return"卖出平仓";case"BUY":return"买入开仓";case"SELLSHORT":return"卖出开仓";case"BUYSHORT":return"买入平仓";case"DRAWLASTBARNUMBER":return"在最后一根k线输出数值";case"DRAWLASTBARTEXT":return"在最后一根k线显示文字";case"DRAWLASTBARICON":return"在最后一根k线绘制图标";case"YMOVE":return;case"BACKGROUND":return"绘制背景";case"UPCOLOR":return'\u4E0A\u6DA8\u989C\u8272'+args[0];case"DOWNCOLOR":return'\u4E0B\u8DCC\u989C\u8272'+args[0];case"STICKTYPE":case"FIRSTDRAW":return"";default:this.ThrowUnexpectedNode(node,'\u51FD\u6570'+funcName+'\u4E0D\u5B58\u5728');}};this.GetDynainfoExplain=function(args){var DATA_NAME_MAP=new _map2.default([[3,"前收盘价"],[4,"开盘价"],[5,"最高价"],[6,"最低价"],[7,"现价"],[8,'总量'],[9,"现量"],[10,"总金额"],[11,"均价"],[12,"日涨跌"],[13,"振幅"],[14,"涨幅"],[15,"开盘时的成交金额"],[16,"前5日每分钟均量"],[17,"量比"],[18,"上涨家数"],[19,"下跌家数"]]);var id=args[0];if(DATA_NAME_MAP.has(id))return DATA_NAME_MAP.get(id);return'\u5373\u65F6\u884C\u60C5['+id+']';};this.GetFinanceExplain=function(args){var DATA_NAME_MAP=new _map2.default([[1,"总股本"],[2,"市场类型"],[3,"沪深品种类型"],[4,"沪深行业代码"],[5,"B股"],[6,"H股"],[7,"流通股本[股]"],[8,"股东人数[户]"],[9,"资产负债率%"],[10,"总资产"],[11,"流动资产"],[12,"固定资产"],[13,"无形资产"],[15,"流动负债"],[16,"少数股东权益"]]);var id=args[0];if(DATA_NAME_MAP.has(id))return DATA_NAME_MAP.get(id);return'\u8D22\u52A1\u6570\u636E['+id+']';};this.GetZIGExplain=function(funcName,args){var value=args[0];if(value==0)value="开盘价";else if(value==1)value="最高价";else if(value==2)value="最低价";else if(value==3)value="收盘价";switch(funcName){case"PEAK":return value+'\u7684'+args[1]+'%\u4E4B\u5B57\u8F6C\u5411\u7684\u524D'+args[2]+'\u4E2A\u6CE2\u5CF0\u503C';case"PEAKBARS":return value+'\u7684'+args[1]+'5%\u4E4B\u5B57\u8F6C\u5411\u7684\u524D'+args[2]+'\u4E2A\u6CE2\u5CF0\u4F4D\u7F6E';case"ZIG":return value+'\u7684'+args[1]+'\u7684\u4E4B\u5B57\u8F6C\u5411';case"ZIGA":return value+'\u53D8\u5316'+args[1]+'\u7684\u4E4B\u5B57\u8F6C\u5411';case"TROUGH":return value+'\u7684'+args[1]+'%\u4E4B\u5B57\u8F6C\u5411\u7684\u524D'+args[2]+'\u4E2A\u6CE2\u8C37\u503C';case"TROUGHBARS":return value+'\u7684'+args[1]+'%\u4E4B\u5B57\u8F6C\u5411\u7684\u524D'+args[2]+'\u4E2A\u6CE2\u8C37\u4F4D\u7F6E';}};this.GetColorExplain=function(colorName){var COLOR_MAP=new _map2.default([['COLORBLACK','黑色'],['COLORBLUE','蓝色'],['COLORGREEN','绿色'],['COLORCYAN','青色'],['COLORRED','红色'],['COLORMAGENTA','洋红色'],['COLORBROWN','棕色'],['COLORLIGRAY','淡灰色'],['COLORGRAY','深灰色'],['COLORLIBLUE','淡蓝色'],['COLORLIGREEN','淡绿色'],['COLORLICYAN','淡青色'],['COLORLIRED','淡红色'],['COLORLIMAGENTA','淡洋红色'],['COLORWHITE','白色'],['COLORYELLOW','黄色']]);if(COLOR_MAP.has(colorName))return COLOR_MAP.get(colorName);//COLOR 自定义色
|
|
12759
12764
|
//格式为COLOR+“RRGGBB”:RR、GG、BB表示红色、绿色和蓝色的分量,每种颜色的取值范围是00-FF,采用了16进制。
|
|
@@ -14356,8 +14361,8 @@ drawInfo.Data=barData;if(IFrameSplitOperator.IsBool(barData.Enable))drawInfo.Ena
|
|
|
14356
14361
|
text=value.toFixed(column.FloatPrecision);break;case 2://千分位分割
|
|
14357
14362
|
text=IFrameSplitOperator.FormatValueThousandsString(value,column.FloatPrecision);break;case 3:var exfloatPrecision=1;if(IFrameSplitOperator.IsNumber(format.ExFloatPrecision))exfloatPrecision=format.ExFloatPrecision;text=IFrameSplitOperator.FormatValueStringV2(value,column.FloatPrecision,exfloatPrecision);break;}}if(column.StringFormat&&text){text=column.StringFormat.replace("{0}",text);}drawInfo.Text=text;};this.FormatReserveString=function(column,data,drawInfo){if(column.DefaultText)drawInfo.Text=column.DefaultText;var fieldName=MAP_COLUMN_FIELD.get(column.Type);if(!data||!fieldName)return;var item=data[fieldName];if(IFrameSplitOperator.IsObject(item)){if(item.Text)drawInfo.Text=item.Text;if(item.TextColor)drawInfo.TextColor=item.TextColor;if(item.BGColor)drawInfo.BGColor=item.BGColor;if(IFrameSplitOperator.IsNonEmptyArray(item.AryText))drawInfo.AryText=item.AryText;if(item.Tooltip&&IFrameSplitOperator.IsNonEmptyArray(item.Tooltip.AryText)){drawInfo.Tooltip={Type:4,Data:{AryText:item.Tooltip.AryText,EnableCallback:item.Tooltip.EnableCallback}};}}else if(IFrameSplitOperator.IsString(item)){drawInfo.Text=item;}};this.GetReserveDateTimePreItem=function(colIndex){if(!this.CreateTempCache)return null;if(!this.TempCache.MapReserveDateTime)return null;var mapData=this.TempCache.MapReserveDateTime;if(!mapData.has(colIndex))return null;return mapData.get(colIndex);};this.SetReserveDateTimePreItem=function(colIndex,data){if(!this.CreateTempCache)return false;if(!this.TempCache.MapReserveDateTime)return false;var mapData=this.TempCache.MapReserveDateTime;if(mapData.has(colIndex)){var item=mapData.get(colIndex);item.PreItem.Date=data.Date;}else{mapData.set(colIndex,{PreItem:{Date:data.Date}});}return true;};this.FormatReserveDateTime=function(column,data,drawInfo){if(column.DefaultText)drawInfo.Text=column.DefaultText;var fieldName=MAP_COLUMN_FIELD.get(column.Type);if(!data||!fieldName)return;var item=data[fieldName];if(!IFrameSplitOperator.IsObject(item))return;var cacheItem=this.GetReserveDateTimePreItem(drawInfo.ColumnIndex);if(item.DateTime){var date=item.DateTime.getFullYear()*10000+(item.DateTime.getMonth()+1)*100+item.DateTime.getDate();var format=column.DateTimeFormat;if(cacheItem&&cacheItem.PreItem&&date==cacheItem.PreItem.Date){if(column.SubDateTimeFormat)format=column.SubDateTimeFormat;}else{this.SetReserveDateTimePreItem(drawInfo.ColumnIndex,{Date:date});}drawInfo.Text=IFrameSplitOperator.FormatDateTimeStringV2(item.DateTime,format);}if(item.TextColor)drawInfo.TextColor=item.TextColor;if(item.BGColor)drawInfo.BGColor=item.BGColor;};this.FormatReserveProgressBar=function(column,data,drawInfo){var fieldName=MAP_COLUMN_FIELD.get(column.Type);if(!data||!fieldName)return;var item=data[fieldName];if(IFrameSplitOperator.IsNumber(item)){drawInfo.ProgressBar=column.ProgressBar;drawInfo.Enable=true;drawInfo.Value=item;//占比
|
|
14358
14363
|
drawInfo.Data={Value:item};}else if(IFrameSplitOperator.IsObject(item)){if(item.Title)drawInfo.Text=item.Title;drawInfo.ProgressBar=column.ProgressBar;drawInfo.Enable=true;drawInfo.Value=item.Value;//占比
|
|
14359
|
-
drawInfo.Data=item;if(IFrameSplitOperator.IsBool(item.Enable))drawInfo.Enable=item.Enable;if(item.TextColor)drawInfo.TextColor=item.TextColor;if(item.BarColor)drawInfo.BarColor=item.BarColor;if(item.BGColor)drawInfo.BGColor=item.BGColor;}};this.FormatReserveButton=function(column,data,drawInfo){var fieldName=MAP_COLUMN_FIELD.get(column.Type);if(!data||!fieldName)return;var item=data[fieldName];if(!item)return;drawInfo.Text=item.Title;drawInfo.Button=column.Button;drawInfo.Font=column.Button.Font;drawInfo.Enable=true;drawInfo.Data=item;if(IFrameSplitOperator.IsBool(item.Enable))drawInfo.Enable=item.Enable;};this.FormaTimeDrawInfo=function(column,stock,drawInfo,data){if(!IFrameSplitOperator.IsNumber(stock.Time))return;if(column.ValueType==0)//0=hhmm 1=hhmmss 2=hhmmss.fff
|
|
14360
|
-
{drawInfo.Text=IFrameSplitOperator.FormatTimeString(stock.Time,"HH:MM");}else if(column.ValueType==1){drawInfo.Text=IFrameSplitOperator.FormatTimeString(stock.Time,"HH:MM:SS");}else if(column.ValueType==2){drawInfo.Text=IFrameSplitOperator.FormatTimeString(stock.Time,"HH:MM:SS.fff");}};this.FormaDateDrawInfo=function(column,stock,drawInfo,data){if(!IFrameSplitOperator.IsNumber(stock.Date))return;if(column.FormatType==0)drawInfo.Text=IFrameSplitOperator.FormatDateString(stock.Date,"YYYY-MM-DD");else if(column.FormatType==1)drawInfo.Text=IFrameSplitOperator.FormatDateString(stock.Date,"YYYY/MM/DD");else if(column.FormatType==2)drawInfo.Text=IFrameSplitOperator.FormatDateString(stock.Date,"YYYY/MM/DD/W");else if(column.FormatType==3)drawInfo.Text=IFrameSplitOperator.FormatDateString(stock.Date,"YYYY-MM");else if(column.FormatType==4)drawInfo.Text=IFrameSplitOperator.FormatDateString(stock.Date,"MM/DD");else if(column.FormatType==4)drawInfo.Text=IFrameSplitOperator.FormatDateString(stock.Date,"MM-DD");};//自定义图标
|
|
14364
|
+
drawInfo.Data=item;if(IFrameSplitOperator.IsBool(item.Enable))drawInfo.Enable=item.Enable;if(item.TextColor)drawInfo.TextColor=item.TextColor;if(item.BarColor)drawInfo.BarColor=item.BarColor;if(item.BGColor)drawInfo.BGColor=item.BGColor;}};this.FormatReserveButton=function(column,data,drawInfo){var fieldName=MAP_COLUMN_FIELD.get(column.Type);if(!data||!fieldName)return;var item=data[fieldName];if(!item)return;drawInfo.Text=item.Title;drawInfo.Button=column.Button;drawInfo.Font=column.Button.Font;drawInfo.Enable=true;drawInfo.Data=item;if(IFrameSplitOperator.IsBool(item.Enable))drawInfo.Enable=item.Enable;};this.FormaTimeDrawInfo=function(column,stock,drawInfo,data){if(!stock||!IFrameSplitOperator.IsNumber(stock.Time))return;if(column.ValueType==0)//0=hhmm 1=hhmmss 2=hhmmss.fff
|
|
14365
|
+
{drawInfo.Text=IFrameSplitOperator.FormatTimeString(stock.Time,"HH:MM");}else if(column.ValueType==1){drawInfo.Text=IFrameSplitOperator.FormatTimeString(stock.Time,"HH:MM:SS");}else if(column.ValueType==2){drawInfo.Text=IFrameSplitOperator.FormatTimeString(stock.Time,"HH:MM:SS.fff");}};this.FormaDateDrawInfo=function(column,stock,drawInfo,data){if(!stock||!IFrameSplitOperator.IsNumber(stock.Date))return;if(column.FormatType==0)drawInfo.Text=IFrameSplitOperator.FormatDateString(stock.Date,"YYYY-MM-DD");else if(column.FormatType==1)drawInfo.Text=IFrameSplitOperator.FormatDateString(stock.Date,"YYYY/MM/DD");else if(column.FormatType==2)drawInfo.Text=IFrameSplitOperator.FormatDateString(stock.Date,"YYYY/MM/DD/W");else if(column.FormatType==3)drawInfo.Text=IFrameSplitOperator.FormatDateString(stock.Date,"YYYY-MM");else if(column.FormatType==4)drawInfo.Text=IFrameSplitOperator.FormatDateString(stock.Date,"MM/DD");else if(column.FormatType==4)drawInfo.Text=IFrameSplitOperator.FormatDateString(stock.Date,"MM-DD");};//自定义图标
|
|
14361
14366
|
this.GetCustomIconData=function(columnInfo,symbol,drawInfo,data){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_REPORT_DRAW_CUSTOM_ICON);if(!event||!event.Callback)return false;var sendData={Symbol:symbol,Column:columnInfo,Data:data,Out:{Text:null,TextColor:null,TextAlign:null,Font:null}};event.Callback(event,sendData,this);if(sendData.Out.Text)drawInfo.Text=sendData.Out.Text;if(sendData.Out.TextColor)drawInfo.TextColor=sendData.Out.TextColor;if(sendData.Out.TextAlign)drawInfo.TextAlign=sendData.Out.TextAlign;if(sendData.Out.BGColor)drawInfo.BGColor=sendData.Out.BGColor;if(sendData.Out.Font)drawInfo.Font=sendData.Out.Font;return true;};this.GetPriceDrawInfo=function(price,stock,data,drawInfo,option){if(!IFrameSplitOperator.IsNumber(price))return false;drawInfo.Text=price.toFixed(data.Decimal);var yClose=null;if(stock.PriceColorType===1)//昨结算价 计算颜色
|
|
14362
14367
|
{if(IFrameSplitOperator.IsNumber(stock.YFClose))yClose=stock.YFClose;}else//昨收价 计算颜色
|
|
14363
14368
|
{if(IFrameSplitOperator.IsNumber(stock.YClose))yClose=stock.YClose;}if(!IFrameSplitOperator.IsNumber(yClose))drawInfo.TextColor=this.UnchagneColor;else drawInfo.TextColor=this.GetUpDownColor(price,yClose);if(option&&option.LimitBG){if(IFrameSplitOperator.IsNumber(stock.LimitHigh)){if(price>=stock.LimitHigh){drawInfo.BGColor=this.LimitUpBGColor;drawInfo.TextColor=this.LimitTextColor;}}if(IFrameSplitOperator.IsNumber(stock.LimitLow)){if(price<=stock.LimitLow){drawInfo.BGColor=this.LimitDownBGColor;drawInfo.TextColor=this.LimitTextColor;}}}};this.GetUpDownColor=function(price,price2){if(price>price2)return this.UpColor;else if(price<price2)return this.DownColor;else return this.UnchagneColor;};this.GetUpDownColorV2=function(price,price2){if(price>=price2)return this.UpColor;else return this.DownColor;};//单独处理成交量显示
|
|
@@ -15772,7 +15777,7 @@ hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,St
|
|
|
15772
15777
|
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);};}/********************************************************************************
|
|
15773
15778
|
* 版本信息输出
|
|
15774
15779
|
*
|
|
15775
|
-
*/var HQCHART_VERSION="1.1.
|
|
15780
|
+
*/var HQCHART_VERSION="1.1.15367";function PrintHQChartVersion(){var logo='\n\n*************************************************************************************************************************************************************************** \n* \n* :%@@- \n* :@@@@- \n* =@@@@ :#@@@ .:+#@@@#=: :=*@@@@@@#+-. *@@@@. \n* :@@@@@ .@@@@@ .#@@@@@@@@@@@- +@@@@@@@@@@@@@+ @@@@@ -%@@* \n* +@@@@% #@@@@# *@@@@@@@@@@@@@@%. =@@@@@@@@@@@@@@@- @@@@@ -@@@@+ \n* %@@@@* @@@@@+ .%@@@@@@@@@@@@@@@@%: #@@@@@@@@@@@@@@@% @@@@# *@@@@= \n* @@@@@= @@@@@- .%@@@@@@@*++*%@@@@@@% .%@@@@@@@%*+==+**= -@@@@+ #@@@@- \n* @@@@@. @@@@@. #@@@@@%= =@@@@@@* %@@@@@@#: *@@@@- :::. .-+*###+: ::: .+##+: -%%@@@@@%%%% \n* .@@@@@ .@@@@@. +@@@@@% .@@@@@@ *@@@@@@: %@@@@: +@@@@@%. :%@@@@@@@@@@: *@@@ :@@@@@* @@@@@@@@@@@@ \n* :@@@@@ :@@@@@ @@@@@% :@@@@@+ @@@@@@: %@@@@-@@@@@@@@@. @@@@@@@@@@@@@. :@@@%-@@@@@@.:@@@@@@@@@@@# \n* -@@@@% -@@@@@ =@@@@@. %@@@@% %@@@@@- %@@@@@@@@@@@@@@* %@@@@@@@@@@@@+ -@@@@@@@@@@# -@@@@@@@@@@@. \n* +@@@@%=========#@@@@% @@@@@# :@@@@@ .@@@@@% @@@@@@@@%@@@@@@@ -%+:. .#@@@@* +@@@@@@@%%@. .::+@@@@#:: \n* #@@@@@@@@@@@@@@@@@@@# .@@@@@ .@@@@@ :@@@@@. @@@@@@#. #@@@@@. -@@@@* #@@@@@@: *@@@@+ \n* %@@@@@@@@@@@@@@@@@@@+ :@@@@@ .@@@@@ -@@@@@ @@@@@+ @@@@@. :@@@@* @@@@@% #@@@@- \n* @@@@@@@@@@@@@@@@@@@@: :@@@@% :@@@@@ +@@@@% -@@@@+ @@@@@ -@@@@+ @@@@@. @@@@@. \n* .@@@@@@@@@@@@@@@@@@@@ :@@@@% -@@@@% *@@@@% #@@@@. @@@@@ .=*#%%%@@@@@= :@@@@# @@@@@. \n* -@@@@@:::::::::=@@@@@ :@@@@@ @@@@@* +@@@@% @@@@@ @@@@% -#@@@@@@@@@@@@: -@@@@* @@@@@ \n* =@@@@% =@@@@% .@@@@@ :@@@@@. -@@@@% @@@@@ .@@@@* +@@@@@@@@@@@@@@. =@@@@+ .@@@@@ \n* +@@@@# +@@@@# @@@@@# %@@@@% :@@@@@ .@@@@% =@@@@= -@@@@@*-:..%@@@@ +@@@@= :@@@@# \n* *@@@@* *@@@@* +@@@@@: #@@@@@+ .@@@@@@ :@@@@% *@@@@- @@@@@. @@@@% #@@@@: =@@@@+ \n* %@@@@= %@@@@+ @@@@@@- .%@@@@@# #@@@@@# :@@@@% #@@@@: @@@@% @@@@* %@@@@. #@@@@- \n* @@@@@- @@@@@= =@@@@@@#=...-*@@@@@@@: @@@@@@%=. :+**. :@@@@* %@@@@. .@@@@* *@@@@= @@@@@ %@@@@+ \n* .@@@@@: .@@@@@: *@@@@@@@@@@@@@@@@@@@# =@@@@@@@@%%%@@@@@@ +@@@@- @@@@@ .@@@@@: :%@@@@@- .@@@@% %@@@@@*+- \n* :@@@@@ :@@@@@ +@@@@@@@@@@@@@@@@@@@# =@@@@@@@@@@@@@@@@% %@@@@ @@@@@ @@@@@@@@@@@@@@@: -@@@@* *@@@@@@@@- \n* =@@@@@ -@@@@@ :@@@@@@@@@@@@@@@@@@@# :@@@@@@@@@@@@@@@% @@@@@ %@@@% #@@@@@@@@@#@@@@. +@@@@- .@@@@@@@@# \n* *@@@@# =@@@@% :#@@@@@@@#: :@@@@@= =@@@@@@@@@@@+. @@@@@ :@@@+ *@@@@@@@- %@@@ *@@@= =@@@@@@@* \n* =++++- -++++= .:::. .=*+: :-=+++=:. ****= .=+. .-++=: :+++ -+=: .-=+=:. \n* \n* \n* HQChart \n* Ver: '+HQCHART_VERSION+' \n* License: Apache License 2.0 \n* Source: https://github.com/jones2000/HQChart\n*\n************************************************************************************************************************************************************************** \n ';console.log(logo);}PrintHQChartVersion();//把给外界调用的方法暴露出来
|
|
15776
15781
|
exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
|
|
15777
15782
|
// BaseIndex:BaseIndex,
|
|
15778
15783
|
// ChartLine:ChartLine,
|
package/package.json
CHANGED
|
@@ -55576,6 +55576,15 @@ HQData.NetworkFilter=function(data, callback)
|
|
|
55576
55576
|
HQData.RequestMinuteRealtimeData(data,callback);
|
|
55577
55577
|
break;
|
|
55578
55578
|
|
|
55579
|
+
case "KLineChartContainer::RequestTickData":
|
|
55580
|
+
//HQChart使用教程30-K线图如何对接第3方数据5-逐笔数据
|
|
55581
|
+
HQData.RequestKLineTickData(data,callback);
|
|
55582
|
+
break;
|
|
55583
|
+
case "KLineChartContainer::RequestTickRealtimeData":
|
|
55584
|
+
//HQChart使用教程30-K线图如何对接第3方数据16-轮询增量更新逐笔数据
|
|
55585
|
+
HQData.RequestTickRealtimeData(data,callback);
|
|
55586
|
+
break;
|
|
55587
|
+
|
|
55579
55588
|
case "JSSymbolData::GetVariantData": //额外的变量数据
|
|
55580
55589
|
//HQChart使用教程30-K线图如何对接第3方数据29-板块字符串函数数据[GNBLOCK,GNBLOCKNUM......]
|
|
55581
55590
|
HQData.RequestIndexVariantData(data,callback);
|
|
@@ -56744,6 +56753,50 @@ HQData.RequestMinuteRealtimeData=function(data,callback)
|
|
|
56744
56753
|
}
|
|
56745
56754
|
|
|
56746
56755
|
|
|
56756
|
+
HQData.RequestKLineTickData=function(data,callback)
|
|
56757
|
+
{
|
|
56758
|
+
data.PreventDefault=true;
|
|
56759
|
+
var symbol=data.Request.Data.symbol;
|
|
56760
|
+
console.log(`[HQData::RequestKLineTickData] Symbol=${symbol}`);
|
|
56761
|
+
|
|
56762
|
+
var hqchartData={ code:0, symbol:symbol, name:symbol, data:[], ver:2.0 };
|
|
56763
|
+
for(var i=0;i<MSECOND_TEST_DATA.data.length-100;++i)
|
|
56764
|
+
{
|
|
56765
|
+
var item=MSECOND_TEST_DATA.data[i];
|
|
56766
|
+
var flag=HQData.GetRandomTestData(1,10)%3;
|
|
56767
|
+
var kItem=[item[0], parseInt(item[8]/1000), item[1], item[5], item[6]*1000, item[7], flag ];
|
|
56768
|
+
hqchartData.data.push(kItem);
|
|
56769
|
+
}
|
|
56770
|
+
|
|
56771
|
+
callback(hqchartData);
|
|
56772
|
+
}
|
|
56773
|
+
|
|
56774
|
+
HQData.RequestTickRealtimeData=function(data,callback)
|
|
56775
|
+
{
|
|
56776
|
+
data.PreventDefault=true;
|
|
56777
|
+
var symbol=data.Request.Data.symbol; //请求的股票代码
|
|
56778
|
+
var dateRange=data.Request.Data.dateRange;
|
|
56779
|
+
var endTime=dateRange.End.Time;
|
|
56780
|
+
var endDate=dateRange.End.Date;
|
|
56781
|
+
|
|
56782
|
+
var hqchartData={ code:0, symbol:symbol, name:symbol, data:[], ver:2.0 };
|
|
56783
|
+
for(var i=0;i<MSECOND_TEST_DATA.data.length;++i)
|
|
56784
|
+
{
|
|
56785
|
+
var item=MSECOND_TEST_DATA.data[i];
|
|
56786
|
+
var time=parseInt(item[8]/1000);
|
|
56787
|
+
if (time>endTime)
|
|
56788
|
+
{
|
|
56789
|
+
var flag=HQData.GetRandomTestData(1,10)%3;
|
|
56790
|
+
var kItem=[item[0], time, item[1], item[5], item[6]*1000, item[7], flag ];
|
|
56791
|
+
hqchartData.data.push(kItem);
|
|
56792
|
+
break;
|
|
56793
|
+
}
|
|
56794
|
+
}
|
|
56795
|
+
|
|
56796
|
+
callback(hqchartData);
|
|
56797
|
+
}
|
|
56798
|
+
|
|
56799
|
+
|
|
56747
56800
|
HQData.RequestIndexVariantData=function(data,callback)
|
|
56748
56801
|
{
|
|
56749
56802
|
data.PreventDefault=true;
|
|
@@ -59411,7 +59464,13 @@ HQData.APIIndex_KLINE_TABLE=function(data, callback)
|
|
|
59411
59464
|
DrawType:'KLINE_TABLE',
|
|
59412
59465
|
DrawData:[ ] , //数据 [ [ { Text, Color: BGColor }, ...... ], [],]
|
|
59413
59466
|
RowCount:4,
|
|
59414
|
-
RowName:
|
|
59467
|
+
RowName:
|
|
59468
|
+
[
|
|
59469
|
+
{Name:"账户[*9993]",TextAlign:"center", Color:"rgb(124, 252, 0)"},
|
|
59470
|
+
{Name:"账户[*8881]",TextAlign:"center", Color:"rgb(238, 99, 9)", BGColor:"rgb(100,0,200)" },
|
|
59471
|
+
{Name:"账户3",TextAlign:"center"},
|
|
59472
|
+
{Name:"账户4", TextAlign:"center"}
|
|
59473
|
+
],
|
|
59415
59474
|
|
|
59416
59475
|
Config:
|
|
59417
59476
|
{
|
|
@@ -59422,7 +59481,9 @@ HQData.APIIndex_KLINE_TABLE=function(data, callback)
|
|
|
59422
59481
|
RowNamePosition:3,
|
|
59423
59482
|
TextFont:{ Family:'微软雅黑' , FontMaxSize:14*GetDevicePixelRatio(), },
|
|
59424
59483
|
RowHeightType:0,
|
|
59425
|
-
Style:1
|
|
59484
|
+
Style:1,
|
|
59485
|
+
|
|
59486
|
+
AryBorderColor:[null, "rgb(100,20,200)", "rgb(200,0,100)"]
|
|
59426
59487
|
}
|
|
59427
59488
|
},
|
|
59428
59489
|
|
|
@@ -7544,6 +7544,32 @@ function JSAlgorithm(errorHandler,symbolData)
|
|
|
7544
7544
|
return result;
|
|
7545
7545
|
}
|
|
7546
7546
|
|
|
7547
|
+
//VARCAT6(A,B,C,D,E,F):将六个字符串A,B,C,D,E,F相加成一个字符串.
|
|
7548
|
+
//每个数据都进行序列运算,若用于多股选股,建议换用STRCAT6
|
|
7549
|
+
//用法: VARCAT6('多头',VAR2STR(C,2),' ',VAR2STR(O,2),' ',VAR2STR(MA(C,5),2))将六个字符串相加成一个字符串
|
|
7550
|
+
this.VARCAT6=function(data,data2,data3,data4,data5)
|
|
7551
|
+
{
|
|
7552
|
+
var aryData=[];
|
|
7553
|
+
if (Array.isArray(data) || IFrameSplitOperator.IsString(data)) aryData.push(data);
|
|
7554
|
+
if (Array.isArray(data2) || IFrameSplitOperator.IsString(data2)) aryData.push(data2);
|
|
7555
|
+
if (Array.isArray(data3) || IFrameSplitOperator.IsString(data3)) aryData.push(data3);
|
|
7556
|
+
if (Array.isArray(data4) || IFrameSplitOperator.IsString(data4)) aryData.push(data4);
|
|
7557
|
+
if (Array.isArray(data5) || IFrameSplitOperator.IsString(data5)) aryData.push(data5);
|
|
7558
|
+
|
|
7559
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(aryData)) return [];
|
|
7560
|
+
if (aryData.length==1) return data;
|
|
7561
|
+
|
|
7562
|
+
var tempData=this.VARCAT(aryData[0], aryData[1]);
|
|
7563
|
+
var result=tempData;
|
|
7564
|
+
for(var i=2;i<aryData.length;++i)
|
|
7565
|
+
{
|
|
7566
|
+
result=this.VARCAT(tempData,aryData[i]);
|
|
7567
|
+
tempData=result;
|
|
7568
|
+
}
|
|
7569
|
+
|
|
7570
|
+
return result;
|
|
7571
|
+
}
|
|
7572
|
+
|
|
7547
7573
|
//FINDSTR(A,B):在字符串A中查找字符串B,如果找到返回1,否则返回0.
|
|
7548
7574
|
//用法: FINDSTR('多头开仓','开仓')在字符串'多头开仓'中查找字符串'开仓',返回1
|
|
7549
7575
|
this.FINDSTR=function(data, data2)
|
|
@@ -7670,6 +7696,8 @@ function JSAlgorithm(errorHandler,symbolData)
|
|
|
7670
7696
|
this.VAR2STR=function(data,n)
|
|
7671
7697
|
{
|
|
7672
7698
|
var result=[];
|
|
7699
|
+
var dec=0;
|
|
7700
|
+
if (IFrameSplitOperator.IsNumber(n)) dec=n;
|
|
7673
7701
|
if (Array.isArray(data))
|
|
7674
7702
|
{
|
|
7675
7703
|
for(var i=0;i<data.length;++i)
|
|
@@ -7677,13 +7705,13 @@ function JSAlgorithm(errorHandler,symbolData)
|
|
|
7677
7705
|
result[i]=null;
|
|
7678
7706
|
var item=data[i];
|
|
7679
7707
|
if (this.IsNumber(item))
|
|
7680
|
-
result[i]=item.toFixed(
|
|
7708
|
+
result[i]=item.toFixed(dec);
|
|
7681
7709
|
}
|
|
7682
7710
|
}
|
|
7683
7711
|
else
|
|
7684
7712
|
{
|
|
7685
7713
|
if (this.IsNumber(data))
|
|
7686
|
-
result=data.toFixed(
|
|
7714
|
+
result=data.toFixed(dec);
|
|
7687
7715
|
}
|
|
7688
7716
|
|
|
7689
7717
|
return result;
|
|
@@ -9395,6 +9423,8 @@ function JSAlgorithm(errorHandler,symbolData)
|
|
|
9395
9423
|
return this.VAR2STR(args[0], args[1]);
|
|
9396
9424
|
case "VARCAT":
|
|
9397
9425
|
return this.VARCAT(args[0], args[1]);
|
|
9426
|
+
case "VARCAT6":
|
|
9427
|
+
return this.VARCAT6(args[0], args[1],args[2], args[3],args[4], args[5]);
|
|
9398
9428
|
case "STRSPACE":
|
|
9399
9429
|
return this.STRSPACE(args[0]);
|
|
9400
9430
|
case "FINDSTR":
|
|
@@ -9607,7 +9637,8 @@ function JSDraw(errorHandler,symbolData)
|
|
|
9607
9637
|
var drawData=[];
|
|
9608
9638
|
var result={ DrawData:drawData, DrawType:'DRAWFLAGTEXT' };
|
|
9609
9639
|
if (!text) return result;
|
|
9610
|
-
|
|
9640
|
+
var bArrayText=Array.isArray(text); //是否是数组字符串
|
|
9641
|
+
|
|
9611
9642
|
if (Array.isArray(condition))
|
|
9612
9643
|
{
|
|
9613
9644
|
if (condition.length<=0) return result;
|
|
@@ -9618,14 +9649,18 @@ function JSDraw(errorHandler,symbolData)
|
|
|
9618
9649
|
drawData[i]=null;
|
|
9619
9650
|
|
|
9620
9651
|
if (isNaN(condition[i]) || !condition[i]) continue;
|
|
9652
|
+
|
|
9653
|
+
var outText=null;
|
|
9654
|
+
if (!bArrayText) outText=text;
|
|
9655
|
+
else if (bArrayText && text[i]) outText=text[i];
|
|
9621
9656
|
|
|
9622
9657
|
if (bSinglePrice)
|
|
9623
9658
|
{
|
|
9624
|
-
drawData[i]={ YValue:price, Text:
|
|
9659
|
+
drawData[i]={ YValue:price, Text:outText };
|
|
9625
9660
|
}
|
|
9626
9661
|
else
|
|
9627
9662
|
{
|
|
9628
|
-
if (IFrameSplitOperator.IsNumber(price[i])) drawData[i]={ YValue:price[i], Text:
|
|
9663
|
+
if (IFrameSplitOperator.IsNumber(price[i])) drawData[i]={ YValue:price[i], Text:outText };
|
|
9629
9664
|
}
|
|
9630
9665
|
}
|
|
9631
9666
|
}
|
|
@@ -9634,13 +9669,17 @@ function JSDraw(errorHandler,symbolData)
|
|
|
9634
9669
|
var bSinglePrice=IFrameSplitOperator.IsNumber(price);
|
|
9635
9670
|
for(var i=0;i<this.SymbolData.Data.Data.length;++i)
|
|
9636
9671
|
{
|
|
9672
|
+
var outText=null;
|
|
9673
|
+
if (!bArrayText) outText=text;
|
|
9674
|
+
else if (bArrayText && text[i]) outText=text[i];
|
|
9675
|
+
|
|
9637
9676
|
if (bSinglePrice)
|
|
9638
9677
|
{
|
|
9639
|
-
drawData[i]={ YValue:price, Text:
|
|
9678
|
+
drawData[i]={ YValue:price, Text:outText };
|
|
9640
9679
|
}
|
|
9641
9680
|
else
|
|
9642
9681
|
{
|
|
9643
|
-
if (IFrameSplitOperator.IsNumber(price[i])) drawData[i]={ YValue:price[i], Text:
|
|
9682
|
+
if (IFrameSplitOperator.IsNumber(price[i])) drawData[i]={ YValue:price[i], Text:outText };
|
|
9644
9683
|
}
|
|
9645
9684
|
}
|
|
9646
9685
|
}
|
|
@@ -19838,6 +19877,7 @@ function JSExplainer(ast,option)
|
|
|
19838
19877
|
["STRCAT", { Name:"STRCAT", Param:{ Count:2 }, ToString:function(args) { return `字符串相加`; } } ],
|
|
19839
19878
|
["STRCAT6",{ Name:"STRCAT6", Param:{ Dynamic:true }, ToString:function(args) { return `字符串相加`; } } ],
|
|
19840
19879
|
["VARCAT", { Name:"VARCAT", Param:{ Count:2 }, ToString:function(args) { return `字符串相加`; } } ],
|
|
19880
|
+
["VARCAT6", { Name:"VARCAT", Param:{ Dynamic:true }, ToString:function(args) { return `字符串相加`; } } ],
|
|
19841
19881
|
["STRSPACE", { Name:"STRSPACE", Param:{ Count:1 }, ToString:function(args) { return `字符串${args[0]}加一空格`; } } ],
|
|
19842
19882
|
["SUBSTR", { Name:"SUBSTR", Param:{ Count:3 }, ToString:function(args) { return `字符串${args[0]}中取一部分`; } } ],
|
|
19843
19883
|
["STRCMP", { Name:"STRCMP", Param:{ Count:2 }, ToString:function(args) { return `字符串${args[0]}和字符串${args[1]}比较`; } } ],
|