hqchart 1.1.12442 → 1.1.12448
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/umychart.vue.js +7 -5
- package/package.json +1 -1
- package/src/jscommon/umychart.complier.js +39 -0
- package/src/jscommon/umychart.js +45 -0
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +85 -1
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +85 -1
- package/src/jscommon/umychart.wechat/umychart.complier.wechat.js +39 -0
- package/src/jscommon/umychart.wechat/umychart.version.wechat.js +1 -1
package/lib/umychart.vue.js
CHANGED
|
@@ -7714,7 +7714,9 @@ drawPicture.Symbol=this.Symbol;drawPicture.Period=888888888;if(obj.Value)drawPic
|
|
|
7714
7714
|
{if(!this.ChartDrawStorageCache||this.ChartDrawStorageCache.length<=0)return;for(var i in this.ChartDrawStorageCache){var item=this.ChartDrawStorageCache[i];if(item.FrameID<0||!this.Frame.SubFrame||this.Frame.SubFrame.length<item.FrameID)continue;var drawPicture=IChartDrawPicture.CreateChartDrawPicture(item);if(!drawPicture)continue;drawPicture.Canvas=this.Canvas;drawPicture.Status=10;drawPicture.Frame=this.Frame.SubFrame[item.FrameID].Frame;//绑定框架坐标
|
|
7715
7715
|
drawPicture.UpdateXValue();drawPicture.ValueToPoint();if(drawPicture.ClassName==='ChartDrawPictureText')drawPicture.IsInitialized=true;this.ChartDrawPicture.push(drawPicture);}this.ChartDrawStorageCache=null;//清空缓存
|
|
7716
7716
|
};this.SetSizeChange=function(bChanged){this.Frame.SetSizeChage(bChanged);for(var i in this.ExtendChartPaint){var item=this.ExtendChartPaint[i];item.SizeChange=bChanged;}};this.SetSizeChage=this.SetSizeChange;//根据X坐标获取数据索引
|
|
7717
|
-
this.GetDataIndexByPoint=function(x){var frame=this.Frame;if(this.Frame.SubFrame&&this.Frame.SubFrame.length>0)frame=this.Frame.SubFrame[0].Frame;if(!frame)return;var value=frame.GetXData(x);var index=parseInt(value.toFixed(0));return index;}
|
|
7717
|
+
this.GetDataIndexByPoint=function(x){var frame=this.Frame;if(this.Frame.SubFrame&&this.Frame.SubFrame.length>0)frame=this.Frame.SubFrame[0].Frame;if(!frame)return;var value=frame.GetXData(x);var index=parseInt(value.toFixed(0));return index;};//不支持未来时间 目前只支持主图
|
|
7718
|
+
this.GetDateTimeByPoint=function(x,y){var clientPos=this.PtInClient_V2(x,y);// 100-199=多日分时主图 200-299=盘前 300-399=盘后 1=主图 2=盘前 3=盘后
|
|
7719
|
+
if(clientPos<=0)return null;if(!this.Frame.SubFrame[0]||!this.Frame.SubFrame[0].Frame)return null;var frame=this.Frame.SubFrame[0].Frame;var data=this.Frame.SourceData;if(!data||!IFrameSplitOperator.IsNonEmptyArray(data.Data))return null;var index=-1;var result={ClientPos:clientPos};if(clientPos==1){var value=frame.GetXData(x);index=parseInt(value);}else if(clientPos>=100&&clientPos<=199){var dayIndex=clientPos-100;var value=frame.GetXData(x);index=parseInt(value);var dataIndex=index%frame.MinuteCount;result.DayIndex=dayIndex;result.DataIndex=dataIndex;}else{return null;}if(index<0||index>=data.Data.length)return null;result.Index=index;var item=data.Data[index];if(!item)return null;result.Date=item.Date;result.Time=item.Time;return result;};//获取主数据
|
|
7718
7720
|
this.GetSelectRectData=function(selectData){if(Math.abs(selectData.XStart-selectData.XEnd)<5)return false;var startClientPos=this.PtInClient(selectData.XStart,selectData.YStart);var endClientPos=this.PtInClient(selectData.XEnd,selectData.YEnd);selectData.StartClientPos=startClientPos;selectData.EndClientPos=endClientPos;var data=this.SourceData;if(!data)return false;if(!IFrameSplitOperator.IsNonEmptyArray(data.Data))return false;var start=this.GetDataIndexByPoint(selectData.XStart);var end=this.GetDataIndexByPoint(selectData.XEnd);if(Math.abs(start-end)<2)return false;selectData.Data=data;var offset=data.DataOffset;start+=offset;end+=offset;if(start>end){selectData.Start=end;selectData.End=start;}else{selectData.Start=start;selectData.End=end;}var count=data.Data.length;if(selectData.End>=count)selectData.End=count-1;return true;};this.Super_UpdateFrameMaxMin=this.UpdateFrameMaxMin;this.UpdateFrameMaxMin=function(){this.Super_UpdateFrameMaxMin();if(this.DayCount==1)//集合竞价多坐标,Y轴强制都计算
|
|
7719
7721
|
{var subFrame=this.Frame.SubFrame[1];if(subFrame.Frame)subFrame.Frame.XYSplit=true;}};this.ExportMainData=function(data,option){var aryData=data.ExportMinuteData(option);//导出K线
|
|
7720
7722
|
return aryData;};this.DisplayLatest=function(){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_DISPLAY_LATEST);//选中画图工具事件
|
|
@@ -10728,7 +10730,7 @@ var endWeek=endDate.getDay();if(endWeek==0)endWeek=7;var beginWeek=beginDate.get
|
|
|
10728
10730
|
var millisDiff=endDate.getTime()-beginDate.getTime();var dayDiff=Math.floor((millisDiff+(beginWeek-endWeek)*(24*60*60*1000))/86400000);return Math.ceil(dayDiff/7)+1;};this.REFDATE=function(data,date){var result=null;var findDate=null;if(Array.isArray(date)){if(date.length>0)findDate=date[date.length-1];}else if(this.IsNumber(date)){findDate=date;}if(findDate==null)return null;if(findDate<5000000)findDate+=19000000;var index=null;for(var _i138 in this.Data.Data)//查找日期对应的索引
|
|
10729
10731
|
{if(this.Data.Data[_i138].Date==findDate){index=parseInt(_i138);break;}}if(index==null||index>=data.length)return null;return data[index];};//用法:结果从0到11,依次分别是1/5/15/30/60分钟,日/周/月,多分钟,多日,季,年
|
|
10730
10732
|
this.PERIOD=function(){//Period周期 0=日线 1=周线 2=月线 3=年线 9=季线 4=1分钟 5=5分钟 6=15分钟 7=30分钟 8=60分钟
|
|
10731
|
-
var PERIOD_MAP=[5,6,7,11,0,1,2,3,4,5,9];if(this.Period>=0&&this.Period<=PERIOD_MAP.length-1)return PERIOD_MAP[this.Period];return this.Period;};this.GetDrawNull=function(){var result=[];if(!this.Data||!this.Data.Data||!this.Data.Data.length)return result;for(var _i139 in this.Data.Data){result[_i139]=null;}return result;};/*
|
|
10733
|
+
var PERIOD_MAP=[5,6,7,11,0,1,2,3,4,5,9];if(this.Period>=0&&this.Period<=PERIOD_MAP.length-1)return PERIOD_MAP[this.Period];return this.Period;};this.GetDrawNull=function(){var result=[];if(!this.Data||!this.Data.Data||!this.Data.Data.length)return result;for(var _i139 in this.Data.Data){result[_i139]=null;}return result;};this.HOUR=function(){var result=[];if(!this.Data||!this.Data.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return result;for(var i=0;i<this.Data.Data.length;++i){var item=this.Data.Data[i];result[i]=0;if(IFrameSplitOperator.IsNumber(item.Time))result[i]=parseInt(item.Time/100);}return result;};this.MINUTE=function(){var result=[];if(!this.Data||!this.Data.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return result;for(var i=0;i<this.Data.Data.length;++i){var item=this.Data.Data[i];result[i]=0;if(IFrameSplitOperator.IsNumber(item.Time))result[i]=item.Time%100;}return result;};/*
|
|
10732
10734
|
飞狐函数 SYSPARAM
|
|
10733
10735
|
SYSPARAM(1)画面上光标位置(K线序号)
|
|
10734
10736
|
SYSPARAM(2)主图可见K线最初位置
|
|
@@ -10861,7 +10863,7 @@ this.ConstVarTable=new _map2.default([//个股数据
|
|
|
10861
10863
|
["ZSTJJ",null],//分时图均价线,对于分时图周期指标有效.
|
|
10862
10864
|
["ISEQUAL",null],["ISUP",null],["ISDOWN"],//ISUP=收阳 ISEQUAL=平盘 ISDOWN=收阴
|
|
10863
10865
|
//日期类
|
|
10864
|
-
['DATE',null],['YEAR',null],['MONTH',null],['PERIOD',null],['WEEK',null],['WEEKDAY',null],["TIME",null],["DAY",null],["DATETIME",null],["TIME2",null],["WEEKOFYEAR",null],["DAYSTOTODAY",null],//大盘数据
|
|
10866
|
+
['DATE',null],['YEAR',null],['MONTH',null],['PERIOD',null],['WEEK',null],['WEEKDAY',null],["TIME",null],["DAY",null],["DATETIME",null],["TIME2",null],["WEEKOFYEAR",null],["DAYSTOTODAY",null],["HOUR",null],["MINUTE",null],//大盘数据
|
|
10865
10867
|
['INDEXA',null],['INDEXC',null],['INDEXH',null],['INDEXL',null],['INDEXO',null],['INDEXV',null],['INDEXADV',null],['INDEXDEC',null],["ADVANCE",null],['DECLINE',null],['FROMOPEN',null],//已开盘有多长分钟
|
|
10866
10868
|
['TOTALFZNUM',null],//该品种的每天的总交易分钟数.
|
|
10867
10869
|
['CURRBARSCOUNT',null],//到最后交易日的周期数
|
|
@@ -10920,7 +10922,7 @@ return this.SymbolData.GetVariantData(jobItem);case JS_EXECUTE_JOB_ID.JOB_CUSTOM
|
|
|
10920
10922
|
case"ISUP"://收阳
|
|
10921
10923
|
case"ISDOWN"://收阴
|
|
10922
10924
|
return this.SymbolData.GetSymbolCacheData(name);case'VOLR':return this.SymbolData.GetVolRateCacheData(node);//大盘数据
|
|
10923
|
-
case'INDEXA':case'INDEXC':case'INDEXH':case'INDEXH':case'INDEXO':case'INDEXV':case'INDEXL':case'INDEXADV':case'INDEXDEC':return this.SymbolData.GetIndexCacheData(name);case'CURRBARSCOUNT':return this.SymbolData.GetCurrBarsCount();case"BARPOS":return this.SymbolData.GetBarPos();case"TOTALBARSCOUNT":return this.SymbolData.GetTotalBarsCount();case"TOTALFZNUM":return this.SymbolData.GetTotalTradeMinuteCount();case'ISLASTBAR':return this.SymbolData.GetIsLastBar();case"BARSTATUS":return this.SymbolData.GetBarStatus();case"TOTALCAPITAL":case'CAPITAL':case'EXCHANGE':case"HYBLOCK":case"DYBLOCK":case"GNBLOCK":case"FGBLOCK":case"ZSBLOCK":case"ZHBLOCK":case"ZDBLOCK":case"HYZSCODE":case"GNBLOCKNUM":case"FGBLOCKNUM":case"ZSBLOCKNUM":case"ZHBLOCKNUM":case"ZDBLOCKNUM":case"HYSYL":case"HYSJL":return this.SymbolData.GetStockCacheData({VariantName:name,Node:node});case'SETCODE':return this.SymbolData.SETCODE();case'CODE':return this.SymbolData.GetSymbol();case'STKNAME':return this.SymbolData.GetName();case"TIME":return this.SymbolData.TIME();case"TIME2":return this.SymbolData.TIME2();case'DATE':return this.SymbolData.DATE();case"DATETIME":return this.SymbolData.DateTime();case'YEAR':return this.SymbolData.YEAR();case'MONTH':return this.SymbolData.MONTH();case'WEEK':case"WEEKDAY":return this.SymbolData.WEEK();case"DAY":return this.SymbolData.DAY();case'PERIOD':return this.SymbolData.PERIOD();case'FROMOPEN':return this.SymbolData.GetLatestIndexCacheData('FROMOPEN');case'DRAWNULL':case"NULL":return this.SymbolData.GetDrawNull();case'ADVANCE':case'DECLINE':return this.SymbolData.GetIndexIncreaseCacheData(name,this.SymbolData.Symbol,node);case"TQFLAG":return this.SymbolData.Right;case"MACHINEDATE":{var now=new Date();return now.getFullYear()*10000+now.getMonth()*1*100+now.getDate()-19000000;}case"MACHINETIME":{var now=new Date();return now.getHours()*10000+now.getMinutes()*1*100+now.getSeconds();}case"MACHINEWEEK":{var now=new Date();return now.getDay();}case"WEEKOFYEAR":return this.SymbolData.WEEKOFYEAR();case"DAYSTOTODAY":return this.SymbolData.DAYSTOTODAY();}};this.ReadCustomVariant=function(name,node){return this.SymbolData.GetStockCacheData({VariantName:name,Node:node});};//读取变量
|
|
10925
|
+
case'INDEXA':case'INDEXC':case'INDEXH':case'INDEXH':case'INDEXO':case'INDEXV':case'INDEXL':case'INDEXADV':case'INDEXDEC':return this.SymbolData.GetIndexCacheData(name);case'CURRBARSCOUNT':return this.SymbolData.GetCurrBarsCount();case"BARPOS":return this.SymbolData.GetBarPos();case"TOTALBARSCOUNT":return this.SymbolData.GetTotalBarsCount();case"TOTALFZNUM":return this.SymbolData.GetTotalTradeMinuteCount();case'ISLASTBAR':return this.SymbolData.GetIsLastBar();case"BARSTATUS":return this.SymbolData.GetBarStatus();case"TOTALCAPITAL":case'CAPITAL':case'EXCHANGE':case"HYBLOCK":case"DYBLOCK":case"GNBLOCK":case"FGBLOCK":case"ZSBLOCK":case"ZHBLOCK":case"ZDBLOCK":case"HYZSCODE":case"GNBLOCKNUM":case"FGBLOCKNUM":case"ZSBLOCKNUM":case"ZHBLOCKNUM":case"ZDBLOCKNUM":case"HYSYL":case"HYSJL":return this.SymbolData.GetStockCacheData({VariantName:name,Node:node});case'SETCODE':return this.SymbolData.SETCODE();case'CODE':return this.SymbolData.GetSymbol();case'STKNAME':return this.SymbolData.GetName();case"TIME":return this.SymbolData.TIME();case"TIME2":return this.SymbolData.TIME2();case'DATE':return this.SymbolData.DATE();case"DATETIME":return this.SymbolData.DateTime();case'YEAR':return this.SymbolData.YEAR();case'MONTH':return this.SymbolData.MONTH();case'WEEK':case"WEEKDAY":return this.SymbolData.WEEK();case"DAY":return this.SymbolData.DAY();case'PERIOD':return this.SymbolData.PERIOD();case'FROMOPEN':return this.SymbolData.GetLatestIndexCacheData('FROMOPEN');case"HOUR":return this.SymbolData.HOUR();case"MINUTE":return this.SymbolData.MINUTE();case'DRAWNULL':case"NULL":return this.SymbolData.GetDrawNull();case'ADVANCE':case'DECLINE':return this.SymbolData.GetIndexIncreaseCacheData(name,this.SymbolData.Symbol,node);case"TQFLAG":return this.SymbolData.Right;case"MACHINEDATE":{var now=new Date();return now.getFullYear()*10000+now.getMonth()*1*100+now.getDate()-19000000;}case"MACHINETIME":{var now=new Date();return now.getHours()*10000+now.getMinutes()*1*100+now.getSeconds();}case"MACHINEWEEK":{var now=new Date();return now.getDay();}case"WEEKOFYEAR":return this.SymbolData.WEEKOFYEAR();case"DAYSTOTODAY":return this.SymbolData.DAYSTOTODAY();}};this.ReadCustomVariant=function(name,node){return this.SymbolData.GetStockCacheData({VariantName:name,Node:node});};//读取变量
|
|
10924
10926
|
this.ReadVariable=function(name,node){if(this.ConstVarTable.has(name)){var data=this.ConstVarTable.get(name);if(data==null)//动态加载,用到再加载
|
|
10925
10927
|
{data=this.ReadSymbolData(name,node);this.ConstVarTable.set(name,data);}return data;}if(g_JSComplierResource.IsCustomVariant(name))return this.ReadCustomVariant(name,node);//读取自定义变量
|
|
10926
10928
|
if(this.VarTable.has(name))return this.VarTable.get(name);if(name.indexOf('#')>0){var aryPeriod=name.split('#');return this.SymbolData.GetSymbolPeriodCacheData(aryPeriod[0],aryPeriod[1]);}if(name.indexOf("COLOR")==0){var colorValue=JSComplier.ColorVarToRGB(name);if(colorValue)return colorValue;}this.ThrowUnexpectedNode(node,'变量'+name+'不存在',name);return null;};this.ReadMemberVariable=function(node){var obj=node.Object;var member=node.Property;var maiObj=void 0;if(obj.Type==Syntax.BinaryExpression||obj.Type==Syntax.LogicalExpression)maiObj=this.VisitBinaryExpression(obj);else if(obj.Type==Syntax.CallExpression)maiObj=this.VisitCallExpression(obj);else maiObj=this.GetNodeValue(obj);if(!maiObj)return null;var value=maiObj[member.Name];if(value)return value;return null;};//单数据转成数组 个数和历史数据一致
|
|
@@ -12469,7 +12471,7 @@ this.AreaColor=g_JSChartResource.ScrollBar.BGChart.AreaColor;//面积图颜色
|
|
|
12469
12471
|
};this.Draw=function(){if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return;this.Canvas.save();if(this.LineWidth>0)this.Canvas.lineWidth=this.LineWidth*GetDevicePixelRatio();var bottom=this.ChartBorder.GetBottom();this.Canvas.strokeStyle=this.Color;var bFirstPoint=true;var drawCount=0,x,y;var firstPoint={};for(var i=0;i<this.Data.Data.length;++i){var item=this.Data.Data[i];var value=item.Close;if(!IFrameSplitOperator.IsNumber(value))continue;x=this.ChartFrame.GetXFromIndex(i);y=this.ChartFrame.GetYFromData(value);if(bFirstPoint){this.Canvas.beginPath();this.Canvas.moveTo(x,y);bFirstPoint=false;firstPoint={X:x,Y:y};}else{this.Canvas.lineTo(x,y);}++drawCount;}if(drawCount>0){this.Canvas.stroke();this.Canvas.lineTo(x,bottom);this.Canvas.lineTo(firstPoint.X,bottom);this.Canvas.closePath();this.Canvas.fillStyle=this.AreaColor;this.Canvas.fill();}this.Canvas.restore();};this.GetMaxMin=function(){var range={Max:null,Min:null};if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return range;for(var i=0;i<this.Data.Data.length;++i){var item=this.Data.Data[i];var value=item.Close;if(!IFrameSplitOperator.IsNumber(value))continue;if(range.Max==null||range.Max<value)range.Max=value;if(range.Min==null||range.Min>value)range.Min=value;}return range;};}/********************************************************************************
|
|
12470
12472
|
* 版本信息输出
|
|
12471
12473
|
*
|
|
12472
|
-
*/var HQCHART_VERSION="1.1.
|
|
12474
|
+
*/var HQCHART_VERSION="1.1.12447";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();//把给外界调用的方法暴露出来
|
|
12473
12475
|
exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
|
|
12474
12476
|
// BaseIndex:BaseIndex,
|
|
12475
12477
|
// ChartLine:ChartLine,
|
package/package.json
CHANGED
|
@@ -15699,6 +15699,38 @@ function JSSymbolData(ast,option,jsExecute)
|
|
|
15699
15699
|
return result;
|
|
15700
15700
|
}
|
|
15701
15701
|
|
|
15702
|
+
this.HOUR=function()
|
|
15703
|
+
{
|
|
15704
|
+
var result=[];
|
|
15705
|
+
if (!this.Data || !this.Data.Data || !IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) return result;
|
|
15706
|
+
|
|
15707
|
+
for(var i=0;i<this.Data.Data.length;++i)
|
|
15708
|
+
{
|
|
15709
|
+
var item=this.Data.Data[i];
|
|
15710
|
+
|
|
15711
|
+
result[i]=0;
|
|
15712
|
+
if (IFrameSplitOperator.IsNumber(item.Time)) result[i]=parseInt(item.Time/100);
|
|
15713
|
+
}
|
|
15714
|
+
|
|
15715
|
+
return result;
|
|
15716
|
+
}
|
|
15717
|
+
|
|
15718
|
+
this.MINUTE=function()
|
|
15719
|
+
{
|
|
15720
|
+
var result=[];
|
|
15721
|
+
if (!this.Data || !this.Data.Data || !IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) return result;
|
|
15722
|
+
|
|
15723
|
+
for(var i=0;i<this.Data.Data.length;++i)
|
|
15724
|
+
{
|
|
15725
|
+
var item=this.Data.Data[i];
|
|
15726
|
+
|
|
15727
|
+
result[i]=0;
|
|
15728
|
+
if (IFrameSplitOperator.IsNumber(item.Time)) result[i]=item.Time%100;
|
|
15729
|
+
}
|
|
15730
|
+
|
|
15731
|
+
return result;
|
|
15732
|
+
}
|
|
15733
|
+
|
|
15702
15734
|
/*
|
|
15703
15735
|
飞狐函数 SYSPARAM
|
|
15704
15736
|
SYSPARAM(1)画面上光标位置(K线序号)
|
|
@@ -16071,6 +16103,8 @@ function JSExecute(ast,option)
|
|
|
16071
16103
|
['DATE',null],['YEAR',null],['MONTH',null],['PERIOD', null],['WEEK',null],['WEEKDAY',null],["TIME",null],["DAY",null],["DATETIME",null],["TIME2",null],
|
|
16072
16104
|
["WEEKOFYEAR", null],["DAYSTOTODAY", null],
|
|
16073
16105
|
|
|
16106
|
+
["HOUR",null],["MINUTE",null],
|
|
16107
|
+
|
|
16074
16108
|
//大盘数据
|
|
16075
16109
|
['INDEXA',null],['INDEXC',null],['INDEXH',null],['INDEXL',null],['INDEXO',null],['INDEXV',null],
|
|
16076
16110
|
['INDEXADV',null],['INDEXDEC',null],
|
|
@@ -16359,6 +16393,11 @@ function JSExecute(ast,option)
|
|
|
16359
16393
|
case 'FROMOPEN':
|
|
16360
16394
|
return this.SymbolData.GetLatestIndexCacheData('FROMOPEN');
|
|
16361
16395
|
|
|
16396
|
+
case "HOUR":
|
|
16397
|
+
return this.SymbolData.HOUR();
|
|
16398
|
+
case "MINUTE":
|
|
16399
|
+
return this.SymbolData.MINUTE();
|
|
16400
|
+
|
|
16362
16401
|
case 'DRAWNULL':
|
|
16363
16402
|
case "NULL":
|
|
16364
16403
|
return this.SymbolData.GetDrawNull();
|
package/src/jscommon/umychart.js
CHANGED
|
@@ -74527,6 +74527,51 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
74527
74527
|
return index;
|
|
74528
74528
|
}
|
|
74529
74529
|
|
|
74530
|
+
//不支持未来时间 目前只支持主图
|
|
74531
|
+
this.GetDateTimeByPoint=function(x,y)
|
|
74532
|
+
{
|
|
74533
|
+
var clientPos=this.PtInClient_V2(x,y); // 100-199=多日分时主图 200-299=盘前 300-399=盘后 1=主图 2=盘前 3=盘后
|
|
74534
|
+
if (clientPos<=0) return null;
|
|
74535
|
+
|
|
74536
|
+
if (!this.Frame.SubFrame[0] || !this.Frame.SubFrame[0].Frame) return null;
|
|
74537
|
+
var frame=this.Frame.SubFrame[0].Frame;
|
|
74538
|
+
var data=this.Frame.SourceData;
|
|
74539
|
+
if (!data || !IFrameSplitOperator.IsNonEmptyArray(data.Data)) return null;
|
|
74540
|
+
|
|
74541
|
+
var index=-1;
|
|
74542
|
+
var result={ ClientPos:clientPos };
|
|
74543
|
+
if (clientPos==1)
|
|
74544
|
+
{
|
|
74545
|
+
var value=frame.GetXData(x);
|
|
74546
|
+
index=parseInt(value);
|
|
74547
|
+
}
|
|
74548
|
+
else if (clientPos>=100 && clientPos<=199)
|
|
74549
|
+
{
|
|
74550
|
+
var dayIndex=clientPos-100;
|
|
74551
|
+
var value=frame.GetXData(x);
|
|
74552
|
+
index=parseInt(value);
|
|
74553
|
+
var dataIndex=index%frame.MinuteCount;
|
|
74554
|
+
|
|
74555
|
+
result.DayIndex=dayIndex;
|
|
74556
|
+
result.DataIndex=dataIndex;
|
|
74557
|
+
}
|
|
74558
|
+
else
|
|
74559
|
+
{
|
|
74560
|
+
return null;
|
|
74561
|
+
}
|
|
74562
|
+
|
|
74563
|
+
if (index<0 || index>=data.Data.length) return null;
|
|
74564
|
+
|
|
74565
|
+
result.Index=index;
|
|
74566
|
+
var item=data.Data[index];
|
|
74567
|
+
if (!item) return null;
|
|
74568
|
+
|
|
74569
|
+
result.Date=item.Date;
|
|
74570
|
+
result.Time=item.Time;
|
|
74571
|
+
|
|
74572
|
+
return result;
|
|
74573
|
+
}
|
|
74574
|
+
|
|
74530
74575
|
//获取主数据
|
|
74531
74576
|
this.GetSelectRectData=function(selectData)
|
|
74532
74577
|
{
|
|
@@ -78607,6 +78607,51 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
78607
78607
|
return index;
|
|
78608
78608
|
}
|
|
78609
78609
|
|
|
78610
|
+
//不支持未来时间 目前只支持主图
|
|
78611
|
+
this.GetDateTimeByPoint=function(x,y)
|
|
78612
|
+
{
|
|
78613
|
+
var clientPos=this.PtInClient_V2(x,y); // 100-199=多日分时主图 200-299=盘前 300-399=盘后 1=主图 2=盘前 3=盘后
|
|
78614
|
+
if (clientPos<=0) return null;
|
|
78615
|
+
|
|
78616
|
+
if (!this.Frame.SubFrame[0] || !this.Frame.SubFrame[0].Frame) return null;
|
|
78617
|
+
var frame=this.Frame.SubFrame[0].Frame;
|
|
78618
|
+
var data=this.Frame.SourceData;
|
|
78619
|
+
if (!data || !IFrameSplitOperator.IsNonEmptyArray(data.Data)) return null;
|
|
78620
|
+
|
|
78621
|
+
var index=-1;
|
|
78622
|
+
var result={ ClientPos:clientPos };
|
|
78623
|
+
if (clientPos==1)
|
|
78624
|
+
{
|
|
78625
|
+
var value=frame.GetXData(x);
|
|
78626
|
+
index=parseInt(value);
|
|
78627
|
+
}
|
|
78628
|
+
else if (clientPos>=100 && clientPos<=199)
|
|
78629
|
+
{
|
|
78630
|
+
var dayIndex=clientPos-100;
|
|
78631
|
+
var value=frame.GetXData(x);
|
|
78632
|
+
index=parseInt(value);
|
|
78633
|
+
var dataIndex=index%frame.MinuteCount;
|
|
78634
|
+
|
|
78635
|
+
result.DayIndex=dayIndex;
|
|
78636
|
+
result.DataIndex=dataIndex;
|
|
78637
|
+
}
|
|
78638
|
+
else
|
|
78639
|
+
{
|
|
78640
|
+
return null;
|
|
78641
|
+
}
|
|
78642
|
+
|
|
78643
|
+
if (index<0 || index>=data.Data.length) return null;
|
|
78644
|
+
|
|
78645
|
+
result.Index=index;
|
|
78646
|
+
var item=data.Data[index];
|
|
78647
|
+
if (!item) return null;
|
|
78648
|
+
|
|
78649
|
+
result.Date=item.Date;
|
|
78650
|
+
result.Time=item.Time;
|
|
78651
|
+
|
|
78652
|
+
return result;
|
|
78653
|
+
}
|
|
78654
|
+
|
|
78610
78655
|
//获取主数据
|
|
78611
78656
|
this.GetSelectRectData=function(selectData)
|
|
78612
78657
|
{
|
|
@@ -107792,6 +107837,38 @@ function JSSymbolData(ast,option,jsExecute)
|
|
|
107792
107837
|
return result;
|
|
107793
107838
|
}
|
|
107794
107839
|
|
|
107840
|
+
this.HOUR=function()
|
|
107841
|
+
{
|
|
107842
|
+
var result=[];
|
|
107843
|
+
if (!this.Data || !this.Data.Data || !IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) return result;
|
|
107844
|
+
|
|
107845
|
+
for(var i=0;i<this.Data.Data.length;++i)
|
|
107846
|
+
{
|
|
107847
|
+
var item=this.Data.Data[i];
|
|
107848
|
+
|
|
107849
|
+
result[i]=0;
|
|
107850
|
+
if (IFrameSplitOperator.IsNumber(item.Time)) result[i]=parseInt(item.Time/100);
|
|
107851
|
+
}
|
|
107852
|
+
|
|
107853
|
+
return result;
|
|
107854
|
+
}
|
|
107855
|
+
|
|
107856
|
+
this.MINUTE=function()
|
|
107857
|
+
{
|
|
107858
|
+
var result=[];
|
|
107859
|
+
if (!this.Data || !this.Data.Data || !IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) return result;
|
|
107860
|
+
|
|
107861
|
+
for(var i=0;i<this.Data.Data.length;++i)
|
|
107862
|
+
{
|
|
107863
|
+
var item=this.Data.Data[i];
|
|
107864
|
+
|
|
107865
|
+
result[i]=0;
|
|
107866
|
+
if (IFrameSplitOperator.IsNumber(item.Time)) result[i]=item.Time%100;
|
|
107867
|
+
}
|
|
107868
|
+
|
|
107869
|
+
return result;
|
|
107870
|
+
}
|
|
107871
|
+
|
|
107795
107872
|
/*
|
|
107796
107873
|
飞狐函数 SYSPARAM
|
|
107797
107874
|
SYSPARAM(1)画面上光标位置(K线序号)
|
|
@@ -108164,6 +108241,8 @@ function JSExecute(ast,option)
|
|
|
108164
108241
|
['DATE',null],['YEAR',null],['MONTH',null],['PERIOD', null],['WEEK',null],['WEEKDAY',null],["TIME",null],["DAY",null],["DATETIME",null],["TIME2",null],
|
|
108165
108242
|
["WEEKOFYEAR", null],["DAYSTOTODAY", null],
|
|
108166
108243
|
|
|
108244
|
+
["HOUR",null],["MINUTE",null],
|
|
108245
|
+
|
|
108167
108246
|
//大盘数据
|
|
108168
108247
|
['INDEXA',null],['INDEXC',null],['INDEXH',null],['INDEXL',null],['INDEXO',null],['INDEXV',null],
|
|
108169
108248
|
['INDEXADV',null],['INDEXDEC',null],
|
|
@@ -108452,6 +108531,11 @@ function JSExecute(ast,option)
|
|
|
108452
108531
|
case 'FROMOPEN':
|
|
108453
108532
|
return this.SymbolData.GetLatestIndexCacheData('FROMOPEN');
|
|
108454
108533
|
|
|
108534
|
+
case "HOUR":
|
|
108535
|
+
return this.SymbolData.HOUR();
|
|
108536
|
+
case "MINUTE":
|
|
108537
|
+
return this.SymbolData.MINUTE();
|
|
108538
|
+
|
|
108455
108539
|
case 'DRAWNULL':
|
|
108456
108540
|
case "NULL":
|
|
108457
108541
|
return this.SymbolData.GetDrawNull();
|
|
@@ -127641,7 +127725,7 @@ function ScrollBarBGChart()
|
|
|
127641
127725
|
|
|
127642
127726
|
|
|
127643
127727
|
|
|
127644
|
-
var HQCHART_VERSION="1.1.
|
|
127728
|
+
var HQCHART_VERSION="1.1.12447";
|
|
127645
127729
|
|
|
127646
127730
|
function PrintHQChartVersion()
|
|
127647
127731
|
{
|
|
@@ -78651,6 +78651,51 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
78651
78651
|
return index;
|
|
78652
78652
|
}
|
|
78653
78653
|
|
|
78654
|
+
//不支持未来时间 目前只支持主图
|
|
78655
|
+
this.GetDateTimeByPoint=function(x,y)
|
|
78656
|
+
{
|
|
78657
|
+
var clientPos=this.PtInClient_V2(x,y); // 100-199=多日分时主图 200-299=盘前 300-399=盘后 1=主图 2=盘前 3=盘后
|
|
78658
|
+
if (clientPos<=0) return null;
|
|
78659
|
+
|
|
78660
|
+
if (!this.Frame.SubFrame[0] || !this.Frame.SubFrame[0].Frame) return null;
|
|
78661
|
+
var frame=this.Frame.SubFrame[0].Frame;
|
|
78662
|
+
var data=this.Frame.SourceData;
|
|
78663
|
+
if (!data || !IFrameSplitOperator.IsNonEmptyArray(data.Data)) return null;
|
|
78664
|
+
|
|
78665
|
+
var index=-1;
|
|
78666
|
+
var result={ ClientPos:clientPos };
|
|
78667
|
+
if (clientPos==1)
|
|
78668
|
+
{
|
|
78669
|
+
var value=frame.GetXData(x);
|
|
78670
|
+
index=parseInt(value);
|
|
78671
|
+
}
|
|
78672
|
+
else if (clientPos>=100 && clientPos<=199)
|
|
78673
|
+
{
|
|
78674
|
+
var dayIndex=clientPos-100;
|
|
78675
|
+
var value=frame.GetXData(x);
|
|
78676
|
+
index=parseInt(value);
|
|
78677
|
+
var dataIndex=index%frame.MinuteCount;
|
|
78678
|
+
|
|
78679
|
+
result.DayIndex=dayIndex;
|
|
78680
|
+
result.DataIndex=dataIndex;
|
|
78681
|
+
}
|
|
78682
|
+
else
|
|
78683
|
+
{
|
|
78684
|
+
return null;
|
|
78685
|
+
}
|
|
78686
|
+
|
|
78687
|
+
if (index<0 || index>=data.Data.length) return null;
|
|
78688
|
+
|
|
78689
|
+
result.Index=index;
|
|
78690
|
+
var item=data.Data[index];
|
|
78691
|
+
if (!item) return null;
|
|
78692
|
+
|
|
78693
|
+
result.Date=item.Date;
|
|
78694
|
+
result.Time=item.Time;
|
|
78695
|
+
|
|
78696
|
+
return result;
|
|
78697
|
+
}
|
|
78698
|
+
|
|
78654
78699
|
//获取主数据
|
|
78655
78700
|
this.GetSelectRectData=function(selectData)
|
|
78656
78701
|
{
|
|
@@ -107836,6 +107881,38 @@ function JSSymbolData(ast,option,jsExecute)
|
|
|
107836
107881
|
return result;
|
|
107837
107882
|
}
|
|
107838
107883
|
|
|
107884
|
+
this.HOUR=function()
|
|
107885
|
+
{
|
|
107886
|
+
var result=[];
|
|
107887
|
+
if (!this.Data || !this.Data.Data || !IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) return result;
|
|
107888
|
+
|
|
107889
|
+
for(var i=0;i<this.Data.Data.length;++i)
|
|
107890
|
+
{
|
|
107891
|
+
var item=this.Data.Data[i];
|
|
107892
|
+
|
|
107893
|
+
result[i]=0;
|
|
107894
|
+
if (IFrameSplitOperator.IsNumber(item.Time)) result[i]=parseInt(item.Time/100);
|
|
107895
|
+
}
|
|
107896
|
+
|
|
107897
|
+
return result;
|
|
107898
|
+
}
|
|
107899
|
+
|
|
107900
|
+
this.MINUTE=function()
|
|
107901
|
+
{
|
|
107902
|
+
var result=[];
|
|
107903
|
+
if (!this.Data || !this.Data.Data || !IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) return result;
|
|
107904
|
+
|
|
107905
|
+
for(var i=0;i<this.Data.Data.length;++i)
|
|
107906
|
+
{
|
|
107907
|
+
var item=this.Data.Data[i];
|
|
107908
|
+
|
|
107909
|
+
result[i]=0;
|
|
107910
|
+
if (IFrameSplitOperator.IsNumber(item.Time)) result[i]=item.Time%100;
|
|
107911
|
+
}
|
|
107912
|
+
|
|
107913
|
+
return result;
|
|
107914
|
+
}
|
|
107915
|
+
|
|
107839
107916
|
/*
|
|
107840
107917
|
飞狐函数 SYSPARAM
|
|
107841
107918
|
SYSPARAM(1)画面上光标位置(K线序号)
|
|
@@ -108208,6 +108285,8 @@ function JSExecute(ast,option)
|
|
|
108208
108285
|
['DATE',null],['YEAR',null],['MONTH',null],['PERIOD', null],['WEEK',null],['WEEKDAY',null],["TIME",null],["DAY",null],["DATETIME",null],["TIME2",null],
|
|
108209
108286
|
["WEEKOFYEAR", null],["DAYSTOTODAY", null],
|
|
108210
108287
|
|
|
108288
|
+
["HOUR",null],["MINUTE",null],
|
|
108289
|
+
|
|
108211
108290
|
//大盘数据
|
|
108212
108291
|
['INDEXA',null],['INDEXC',null],['INDEXH',null],['INDEXL',null],['INDEXO',null],['INDEXV',null],
|
|
108213
108292
|
['INDEXADV',null],['INDEXDEC',null],
|
|
@@ -108496,6 +108575,11 @@ function JSExecute(ast,option)
|
|
|
108496
108575
|
case 'FROMOPEN':
|
|
108497
108576
|
return this.SymbolData.GetLatestIndexCacheData('FROMOPEN');
|
|
108498
108577
|
|
|
108578
|
+
case "HOUR":
|
|
108579
|
+
return this.SymbolData.HOUR();
|
|
108580
|
+
case "MINUTE":
|
|
108581
|
+
return this.SymbolData.MINUTE();
|
|
108582
|
+
|
|
108499
108583
|
case 'DRAWNULL':
|
|
108500
108584
|
case "NULL":
|
|
108501
108585
|
return this.SymbolData.GetDrawNull();
|
|
@@ -127685,7 +127769,7 @@ function ScrollBarBGChart()
|
|
|
127685
127769
|
|
|
127686
127770
|
|
|
127687
127771
|
|
|
127688
|
-
var HQCHART_VERSION="1.1.
|
|
127772
|
+
var HQCHART_VERSION="1.1.12447";
|
|
127689
127773
|
|
|
127690
127774
|
function PrintHQChartVersion()
|
|
127691
127775
|
{
|
|
@@ -12054,6 +12054,38 @@ function JSSymbolData(ast,option,jsExecute)
|
|
|
12054
12054
|
|
|
12055
12055
|
return result;
|
|
12056
12056
|
}
|
|
12057
|
+
|
|
12058
|
+
this.HOUR=function()
|
|
12059
|
+
{
|
|
12060
|
+
var result=[];
|
|
12061
|
+
if (!this.Data || !this.Data.Data || !IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) return result;
|
|
12062
|
+
|
|
12063
|
+
for(var i=0;i<this.Data.Data.length;++i)
|
|
12064
|
+
{
|
|
12065
|
+
var item=this.Data.Data[i];
|
|
12066
|
+
|
|
12067
|
+
result[i]=0;
|
|
12068
|
+
if (IFrameSplitOperator.IsNumber(item.Time)) result[i]=parseInt(item.Time/100);
|
|
12069
|
+
}
|
|
12070
|
+
|
|
12071
|
+
return result;
|
|
12072
|
+
}
|
|
12073
|
+
|
|
12074
|
+
this.MINUTE=function()
|
|
12075
|
+
{
|
|
12076
|
+
var result=[];
|
|
12077
|
+
if (!this.Data || !this.Data.Data || !IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) return result;
|
|
12078
|
+
|
|
12079
|
+
for(var i=0;i<this.Data.Data.length;++i)
|
|
12080
|
+
{
|
|
12081
|
+
var item=this.Data.Data[i];
|
|
12082
|
+
|
|
12083
|
+
result[i]=0;
|
|
12084
|
+
if (IFrameSplitOperator.IsNumber(item.Time)) result[i]=item.Time%100;
|
|
12085
|
+
}
|
|
12086
|
+
|
|
12087
|
+
return result;
|
|
12088
|
+
}
|
|
12057
12089
|
}
|
|
12058
12090
|
|
|
12059
12091
|
//是否有是有效的数字
|
|
@@ -12244,6 +12276,8 @@ function JSExecute(ast,option)
|
|
|
12244
12276
|
['DATE', null], ['YEAR', null], ['MONTH', null], ['PERIOD', null], ['WEEK', null],['WEEKDAY',null],["TIME",null],["DATETIME",null],["TIME2",null],
|
|
12245
12277
|
["WEEKOFYEAR", null],["DAYSTOTODAY", null],
|
|
12246
12278
|
|
|
12279
|
+
["HOUR",null],["MINUTE",null],
|
|
12280
|
+
|
|
12247
12281
|
//大盘数据
|
|
12248
12282
|
['INDEXA',null],['INDEXC',null],['INDEXH',null],['INDEXL',null],['INDEXO',null],['INDEXV',null],
|
|
12249
12283
|
['INDEXADV', null], ['INDEXDEC', null],
|
|
@@ -12489,6 +12523,11 @@ function JSExecute(ast,option)
|
|
|
12489
12523
|
case "NULL":
|
|
12490
12524
|
return this.SymbolData.GetDrawNull();
|
|
12491
12525
|
|
|
12526
|
+
case "HOUR":
|
|
12527
|
+
return this.SymbolData.HOUR();
|
|
12528
|
+
case "MINUTE":
|
|
12529
|
+
return this.SymbolData.MINUTE();
|
|
12530
|
+
|
|
12492
12531
|
case "TQFLAG":
|
|
12493
12532
|
return this.SymbolData.Right;
|
|
12494
12533
|
|