hqchart 1.1.10813 → 1.1.10826
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
CHANGED
|
@@ -6664,13 +6664,14 @@ CBOT:".CBOT",//芝商所
|
|
|
6664
6664
|
LME:".LME",//伦敦金属交易所
|
|
6665
6665
|
TOCOM:".TOCOM",//东京商品交易所(TOCOM)
|
|
6666
6666
|
IPE:".IPE",//美国洲际交易所 (ICE EUROPE)
|
|
6667
|
-
TW:".TW",//台湾股票
|
|
6667
|
+
TW:".TW",//台湾股票 9:00-13:30
|
|
6668
|
+
JP:".JP",//日本股票 9:00-11:30, 12:30-15:00
|
|
6668
6669
|
ET:'.ET',//其他未知的品种
|
|
6669
6670
|
IsET:function IsET(upperSymbol){if(!upperSymbol)return false;return upperSymbol.indexOf(this.ET)>0;},IsETShowAvPrice:function IsETShowAvPrice(upperSymbol)//是否显示均价
|
|
6670
6671
|
{return false;},IsNYMEX:function IsNYMEX(upperSymbol){if(!upperSymbol)return false;return upperSymbol.indexOf(this.NYMEX)>0;},IsCOMEX:function IsCOMEX(upperSymbol){if(!upperSymbol)return false;return upperSymbol.indexOf(this.COMEX)>0;},IsNYBOT:function IsNYBOT(upperSymbol){if(!upperSymbol)return false;return upperSymbol.indexOf(this.NYBOT)>0;},IsCBOT:function IsCBOT(upperSymbol){if(!upperSymbol)return false;return upperSymbol.indexOf(this.CBOT)>0;},IsLME:function IsLME(upperSymbol){if(!upperSymbol)return false;return upperSymbol.indexOf(this.LME)>0;},IsTOCOM:function IsTOCOM(upperSymbol){if(!upperSymbol)return false;return upperSymbol.indexOf(this.TOCOM)>0;},IsIPE:function IsIPE(upperSymbol){if(!upperSymbol)return false;return upperSymbol.indexOf(this.IPE)>0;},IsForeignExchange:function IsForeignExchange(upperSymbol){if(!upperSymbol)return false;return upperSymbol.indexOf(this.FOREX)>0;},IsFTSE:function IsFTSE(upperSymbol){if(!upperSymbol)return false;return upperSymbol.indexOf(this.FTSE)>0;},IsFHK:function IsFHK(upperSymbol){if(!upperSymbol)return false;return upperSymbol.indexOf(this.FHK)>0;},IsBIT:function IsBIT(upperSymbol){if(!upperSymbol)return false;if(upperSymbol.indexOf(this.BIT)>0)return true;if(upperSymbol.indexOf(this.BIZ)>0)return true;return false;},IsUSA:function IsUSA(upperSymbol)//是否是美股
|
|
6671
6672
|
{if(!upperSymbol)return false;return upperSymbol.indexOf(this.USA)>0;},IsSH:function IsSH(upperSymbol){//需要精确匹配最后3位
|
|
6672
6673
|
var pos=upperSymbol.length-this.SH.length;var find=upperSymbol.indexOf(this.SH);return find==pos;},IsSZ:function IsSZ(upperSymbol){var pos=upperSymbol.length-this.SZ.length;var find=upperSymbol.indexOf(this.SZ);return find==pos;},IsBJ:function IsBJ(upperSymbol){var pos=upperSymbol.length-this.BJ.length;var find=upperSymbol.indexOf(this.BJ);return find==pos;},//自定义指数
|
|
6673
|
-
IsSHSZCustomIndex:function IsSHSZCustomIndex(upperSymbol){var pos=upperSymbol.length-this.SHSZ_C_Index.length;var find=upperSymbol.indexOf(this.SHSZ_C_Index);return find==pos;},IsSHO:function IsSHO(upperSymbol){var pos=upperSymbol.length-this.SHO.length;var find=upperSymbol.indexOf(this.SHO);return find==pos;},IsSZO:function IsSZO(upperSymbol){var pos=upperSymbol.length-this.SZO.length;var find=upperSymbol.indexOf(this.SZO);return find==pos;},IsHK:function IsHK(upperSymbol){var pos=upperSymbol.length-this.HK.length;var find=upperSymbol.indexOf(this.HK);return find==pos;},IsTW:function IsTW(upperSymbol){var pos=upperSymbol.length-this.TW.length;var find=upperSymbol.indexOf(this.TW);return find==pos;},IsSHFE:function IsSHFE(upperSymbol){if(!upperSymbol)return false;if(upperSymbol.indexOf(this.SHFE)>0)return true;if(upperSymbol.indexOf(this.SHFE2)>0)return true;return false;},IsCFFEX:function IsCFFEX(upperSymbol){if(!upperSymbol)return false;if(upperSymbol.indexOf(this.CFFEX)>0)return true;return false;},IsDCE:function IsDCE(upperSymbol){if(!upperSymbol)return false;return upperSymbol.indexOf(this.DCE)>0;},IsCZCE:function IsCZCE(upperSymbol){if(!upperSymbol)return false;return upperSymbol.indexOf(this.CZCE)>0;},IsChinaFutures:function IsChinaFutures(upperSymbol)//是否是国内期货 /期权
|
|
6674
|
+
IsSHSZCustomIndex:function IsSHSZCustomIndex(upperSymbol){var pos=upperSymbol.length-this.SHSZ_C_Index.length;var find=upperSymbol.indexOf(this.SHSZ_C_Index);return find==pos;},IsSHO:function IsSHO(upperSymbol){var pos=upperSymbol.length-this.SHO.length;var find=upperSymbol.indexOf(this.SHO);return find==pos;},IsSZO:function IsSZO(upperSymbol){var pos=upperSymbol.length-this.SZO.length;var find=upperSymbol.indexOf(this.SZO);return find==pos;},IsHK:function IsHK(upperSymbol){var pos=upperSymbol.length-this.HK.length;var find=upperSymbol.indexOf(this.HK);return find==pos;},IsTW:function IsTW(upperSymbol){var pos=upperSymbol.length-this.TW.length;var find=upperSymbol.indexOf(this.TW);return find==pos;},IsJP:function IsJP(upperSymbol){var pos=upperSymbol.length-this.JP.length;var find=upperSymbol.indexOf(this.JP);return find==pos;},IsSHFE:function IsSHFE(upperSymbol){if(!upperSymbol)return false;if(upperSymbol.indexOf(this.SHFE)>0)return true;if(upperSymbol.indexOf(this.SHFE2)>0)return true;return false;},IsCFFEX:function IsCFFEX(upperSymbol){if(!upperSymbol)return false;if(upperSymbol.indexOf(this.CFFEX)>0)return true;return false;},IsDCE:function IsDCE(upperSymbol){if(!upperSymbol)return false;return upperSymbol.indexOf(this.DCE)>0;},IsCZCE:function IsCZCE(upperSymbol){if(!upperSymbol)return false;return upperSymbol.indexOf(this.CZCE)>0;},IsChinaFutures:function IsChinaFutures(upperSymbol)//是否是国内期货 /期权
|
|
6674
6675
|
{return this.IsSHO(upperSymbol)||this.IsSZO(upperSymbol)||this.IsCFFEX(upperSymbol)||this.IsCZCE(upperSymbol)||this.IsDCE(upperSymbol)||this.IsSHFE(upperSymbol);},IsFutures:function IsFutures(upperSymbol)//是否是期货 包含国外的
|
|
6675
6676
|
{return this.IsChinaFutures(upperSymbol)||this.IsNYMEX(upperSymbol)||this.IsCOMEX(upperSymbol)||this.IsNYBOT(upperSymbol)||this.IsCBOT(upperSymbol)||this.IsLME(upperSymbol)||this.IsTOCOM(upperSymbol);},IsSHSZ:function IsSHSZ(upperSymbol)//是否是沪深的股票
|
|
6676
6677
|
{return this.IsSZ(upperSymbol)||this.IsSH(upperSymbol)||this.IsSHSZCustomIndex(upperSymbol);},IsSHSZFund:function IsSHSZFund(upperSymbol)//是否是交易所基金
|
|
@@ -6696,7 +6697,9 @@ if(time>=900&&time<=2359)return 2;if(time>=0&&time<=320)return 2;return 0;}else
|
|
|
6696
6697
|
{if(day==6||day==0)return 0;//周末
|
|
6697
6698
|
if(time>1630)return 3;if(time<925)return 1;return 2;}else if(this.IsTW(upperSymbol))//台湾股票 上午9:00——下午1:30
|
|
6698
6699
|
{if(day==6||day==0)return 0;//周末
|
|
6699
|
-
if(time>1410)return 3;if(time<820)return 1;return 2;}else if(this.
|
|
6700
|
+
if(time>1410)return 3;if(time<820)return 1;return 2;}else if(this.IsJP(upperSymbol))//日本股票 9:00-11:30 12:30-15:00
|
|
6701
|
+
{if(day==6||day==0)return 0;//周末
|
|
6702
|
+
if(time>1520)return 3;if(time<830)return 1;return 2;}else if(this.IsNYMEX(upperSymbol)){return this.GetNYMEXMarketStatus(upperSymbol);}else if(this.IsCOMEX(upperSymbol)){return this.GetCOMEXMarketStatus(upperSymbol);}else if(this.IsNYBOT(upperSymbol)){return this.GetNYBOTMarketStatus(upperSymbol);}else if(this.IsCBOT(upperSymbol)){return this.GetCBOTMarketStatus(upperSymbol);}else if(this.IsLME(upperSymbol)){return this.GetLMEMarketStatus(upperSymbol);}else if(this.IsTOCOM(upperSymbol)){return this.GetTOCOMMarketStatus(upperSymbol);}else if(this.IsChinaFutures(upperSymbol))//国内期货
|
|
6700
6703
|
{if(day==6||day==0)return 0;//周末
|
|
6701
6704
|
//21:00-2:30
|
|
6702
6705
|
if(time>=2100)return 2;if(time<=240)return 2;//8:55-11:30, 13:00-15:00
|
|
@@ -6709,7 +6712,7 @@ return{Max:0.1,Min:-0.1};//[10% - -10%]
|
|
|
6709
6712
|
},GetDefaultDecimal:function GetDefaultDecimal(symbol)//默认小数位数
|
|
6710
6713
|
{return 2;},GetFHKDecimal:function GetFHKDecimal(symbol)//港股指数期货 小数位数
|
|
6711
6714
|
{return 0;},GetFTSEDecimal:function GetFTSEDecimal(symbol)//富时中国A50期货 小数位数
|
|
6712
|
-
{return 0;},GetBITDecimal:function GetBITDecimal(symbol){return 2;},GetSHODecimal:function GetSHODecimal(symbol){return 4;},GetETDecimal:function GetETDecimal(symbol){return 2;},GetHKDecimal:function GetHKDecimal(symbol){return 2;},GetTWDecimal:function GetTWDecimal(symbol){return 2;},GetForeignExchangeDecimal:function GetForeignExchangeDecimal(symbol){return 4;},GetNYMEXDecimal:function GetNYMEXDecimal(symbol)//纽约期货交易所
|
|
6715
|
+
{return 0;},GetBITDecimal:function GetBITDecimal(symbol){return 2;},GetSHODecimal:function GetSHODecimal(symbol){return 4;},GetETDecimal:function GetETDecimal(symbol){return 2;},GetHKDecimal:function GetHKDecimal(symbol){return 2;},GetTWDecimal:function GetTWDecimal(symbol){return 2;},GetJPDecimal:function GetJPDecimal(symbol){return 2;},GetForeignExchangeDecimal:function GetForeignExchangeDecimal(symbol){return 4;},GetNYMEXDecimal:function GetNYMEXDecimal(symbol)//纽约期货交易所
|
|
6713
6716
|
{return g_NYMEXTimeData.GetDecimal(symbol);},GetCOMEXDecimal:function GetCOMEXDecimal(symbol){return g_COMEXTimeData.GetDecimal(symbol);},GetNYBOTDecimal:function GetNYBOTDecimal(symbol){return g_NYBOTTimeData.GetDecimal(symbol);},GetCBOTDecimal:function GetCBOTDecimal(symbol){return g_CBOTTimeData.GetDecimal(symbol);},GetLMEDecimal:function GetLMEDecimal(symbol){return g_LMETimeData.GetDecimal(symbol);},GetTOCOMDecimal:function GetTOCOMDecimal(symbol){return g_TOCOMTimeData.GetDecimal(symbol);},GetIPEDecimal:function GetIPEDecimal(symbol){return g_IPETimeData.GetDecimal(symbol);},GetETMarketStatus:function GetETMarketStatus(symbol){// 0=闭市 1=盘前 2=盘中 3=盘后
|
|
6714
6717
|
return 2;},GetNYMEXMarketStatus:function GetNYMEXMarketStatus(symbol){return g_NYMEXTimeData.GetMarketStatus(symbol);},GetCOMEXMarketStatus:function GetCOMEXMarketStatus(symbol){return g_COMEXTimeData.GetMarketStatus(symbol);},GetNYBOTMarketStatus:function GetNYBOTMarketStatus(symbol){return g_NYBOTTimeData.GetMarketStatus(symbol);},GetCBOTMarketStatus:function GetCBOTMarketStatus(symbol){return g_CBOTTimeData.GetMarketStatus(symbol);},GetLMEMarketStatus:function GetLMEMarketStatus(symbol){return g_LMETimeData.GetMarketStatus(symbol);},GetTOCOMMarketStatus:function GetTOCOMMarketStatus(symbol){return g_TOCOMTimeData.GetMarketStatus(symbol);},GetIPEMarketStatus:function GetIPEMarketStatus(symbol){return g_IPETimeData.GetMarketStatus(symbol);},IsShowMinuteVolTitle:function IsShowMinuteVolTitle(symbol)//是否画走势图成交量标题
|
|
6715
6718
|
{if(!symbol)return false;var upperSymbol=symbol.toUpperCase();//if (this.IsChinaFutures(upperSymbol)) return true;
|
|
@@ -6728,12 +6731,14 @@ this.FTSE=null;//富时中国
|
|
|
6728
6731
|
this.FHK=null;//港股指数期货
|
|
6729
6732
|
this.ForeEx=null;//外汇
|
|
6730
6733
|
this.BIT=null;//数字货币
|
|
6731
|
-
this.TW=null
|
|
6734
|
+
this.TW=null;//台湾股票
|
|
6735
|
+
this.JP=null;//日本股票
|
|
6736
|
+
this.Initialize=function()//初始化 默认只初始化沪深的 其他市场动态生成
|
|
6732
6737
|
{//this.SHSZ = this.CreateSHSZData();
|
|
6733
6738
|
//this.HK = this.CreateHKData();
|
|
6734
6739
|
};this.GetET=function(upperSymbol)//当天所有的分钟
|
|
6735
6740
|
{throw{Name:'MinuteTimeStringData::GetET',Error:'not implement'};};this.GetSHSZ=function(upperSymbol)//动态创建
|
|
6736
|
-
{if(!this.SHSZ)this.SHSZ=this.CreateSHSZData();return this.SHSZ;};this.GetBJ=function(upperSymbol){if(!this.BJ)this.BJ=this.CreateBJData();return this.BJ;};this.GetSHO=function(){if(!this.SHO)this.SHO=this.CreateSHOData();return this.SHO;};this.GetHK=function(upperSymbol){if(!this.HK)this.HK=this.CreateHKData();return this.HK;};this.GetTW=function(upperSymbol){if(this.TW)this.TW=this.CreateTWData();return this.TW;};this.GetFutures=function(splitData){if(!this.Futures.has(splitData.Name)){var data=this.CreateTimeData(splitData.Data);this.Futures.set(splitData.Name,data);}return this.Futures.get(splitData.Name);};this.GetUSA=function(){if(!this.USA)this.USA=this.CreateUSAData(0);return this.USA;};this.GetFTSE=function(){if(!this.FTSE)this.FTSE=this.CreateFTSEData();return this.FTSE;};this.GetFHK=function(){if(!this.FHK)this.FHK=this.CreateFHKData();return this.FHK;};this.GetForeignExchange=function(){if(!this.ForeEx)this.ForeEx=this.CreateForeignExchangeData();return this.ForeEx;};this.GetBIT=function(upperSymbol){if(!this.BIT)this.BIT=this.CreateBITData();return this.BIT;};this.CreateSHSZData=function(){var TIME_SPLIT=[{Start:925,End:925},{Start:930,End:1130},{Start:1300,End:1500}];return this.CreateTimeData(TIME_SPLIT);};this.CreateBJData=function(){var TIME_SPLIT=[{Start:925,End:925},{Start:930,End:1130},{Start:1300,End:1500}];return this.CreateTimeData(TIME_SPLIT);};this.CreateSHOData=function(){var TIME_SPLIT=[{Start:930,End:1129},{Start:1300,End:1500}];return this.CreateTimeData(TIME_SPLIT);};this.CreateHKData=function(){var TIME_SPLIT=[{Start:930,End:1200},{Start:1300,End:1600}];return this.CreateTimeData(TIME_SPLIT);};this.CreateTWData=function(){var TIME_SPLIT=[{Start:900,End:1330}];return this.CreateTimeData(TIME_SPLIT);};this.CreateFTSEData=function(){var TIME_SPLIT=[{Start:1700,End:2359},{Start:0,End:445},{Start:900,End:1630}];return this.CreateTimeData(TIME_SPLIT);};this.CreateFHKData=function(){//港股指数期货 9:15-12:00 13:00-16:30 17:15-03:00
|
|
6741
|
+
{if(!this.SHSZ)this.SHSZ=this.CreateSHSZData();return this.SHSZ;};this.GetBJ=function(upperSymbol){if(!this.BJ)this.BJ=this.CreateBJData();return this.BJ;};this.GetSHO=function(){if(!this.SHO)this.SHO=this.CreateSHOData();return this.SHO;};this.GetHK=function(upperSymbol){if(!this.HK)this.HK=this.CreateHKData();return this.HK;};this.GetTW=function(upperSymbol){if(this.TW)this.TW=this.CreateTWData();return this.TW;};this.GetJP=function(upperSymbol){if(this.JP)this.JP=this.CreateJPData();return this.JP;};this.GetFutures=function(splitData){if(!this.Futures.has(splitData.Name)){var data=this.CreateTimeData(splitData.Data);this.Futures.set(splitData.Name,data);}return this.Futures.get(splitData.Name);};this.GetUSA=function(){if(!this.USA)this.USA=this.CreateUSAData(0);return this.USA;};this.GetFTSE=function(){if(!this.FTSE)this.FTSE=this.CreateFTSEData();return this.FTSE;};this.GetFHK=function(){if(!this.FHK)this.FHK=this.CreateFHKData();return this.FHK;};this.GetForeignExchange=function(){if(!this.ForeEx)this.ForeEx=this.CreateForeignExchangeData();return this.ForeEx;};this.GetBIT=function(upperSymbol){if(!this.BIT)this.BIT=this.CreateBITData();return this.BIT;};this.CreateSHSZData=function(){var TIME_SPLIT=[{Start:925,End:925},{Start:930,End:1130},{Start:1300,End:1500}];return this.CreateTimeData(TIME_SPLIT);};this.CreateBJData=function(){var TIME_SPLIT=[{Start:925,End:925},{Start:930,End:1130},{Start:1300,End:1500}];return this.CreateTimeData(TIME_SPLIT);};this.CreateSHOData=function(){var TIME_SPLIT=[{Start:930,End:1129},{Start:1300,End:1500}];return this.CreateTimeData(TIME_SPLIT);};this.CreateHKData=function(){var TIME_SPLIT=[{Start:930,End:1200},{Start:1300,End:1600}];return this.CreateTimeData(TIME_SPLIT);};this.CreateTWData=function(){var TIME_SPLIT=[{Start:900,End:1330}];return this.CreateTimeData(TIME_SPLIT);};this.CreateJPData=function(){var TIME_SPLIT=[{Start:900,End:1130},{Start:1230,End:1500}];return this.CreateTimeData(TIME_SPLIT);};this.CreateFTSEData=function(){var TIME_SPLIT=[{Start:1700,End:2359},{Start:0,End:445},{Start:900,End:1630}];return this.CreateTimeData(TIME_SPLIT);};this.CreateFHKData=function(){//港股指数期货 9:15-12:00 13:00-16:30 17:15-03:00
|
|
6737
6742
|
var TIME_SPLIT=[{Start:1715,End:2359},{Start:0,End:300},{Start:915,End:1200},{Start:1300,End:1630}];return this.CreateTimeData(TIME_SPLIT);};this.CreateUSAData=function(type){if(type==1)//美国夏令时
|
|
6738
6743
|
{var TIME_SPLIT=[{Start:2130,End:2359},{Start:0,End:400}];return this.CreateTimeData(TIME_SPLIT);}else if(type==2)//非夏令时
|
|
6739
6744
|
{var _TIME_SPLIT=[{Start:2230,End:2359},{Start:0,End:500}];return this.CreateTimeData(_TIME_SPLIT);}else//使用美国本地时间
|
|
@@ -6742,7 +6747,7 @@ var TIME_SPLIT=[{Start:1715,End:2359},{Start:0,End:300},{Start:915,End:1200},{St
|
|
|
6742
6747
|
var TIME_SPLIT=[{Start:600,End:2359},{Start:0,End:559}];return this.CreateTimeData(TIME_SPLIT);};this.CreateBITData=function(){//数字货币 7:00 - 6:59
|
|
6743
6748
|
var TIME_SPLIT=[{Start:600,End:2359},{Start:0,End:559}];return this.CreateTimeData(TIME_SPLIT);};this.CreateTimeData=function(timeSplit){var data=[];for(var i in timeSplit){var item=timeSplit[i];for(var j=item.Start;j<=item.End;++j){if(j%100>=60)continue;//大于60分钟的数据去掉
|
|
6744
6749
|
data.push(j);}}return data;};this.GetTimeData=function(symbol){if(!symbol)return this.SHSZ;var upperSymbol=symbol.toLocaleUpperCase();//转成大写
|
|
6745
|
-
if(MARKET_SUFFIX_NAME.IsSH(upperSymbol)||MARKET_SUFFIX_NAME.IsSZ(upperSymbol))return this.GetSHSZ(upperSymbol);if(MARKET_SUFFIX_NAME.IsBJ(upperSymbol))return this.GetBJ(upperSymbol);if(MARKET_SUFFIX_NAME.IsSHO(upperSymbol)||MARKET_SUFFIX_NAME.IsSZO(upperSymbol))return this.GetSHO();if(MARKET_SUFFIX_NAME.IsHK(upperSymbol))return this.GetHK(upperSymbol);if(MARKET_SUFFIX_NAME.IsTW(upperSymbol))return this.GetTW(upperSymbol);if(MARKET_SUFFIX_NAME.IsUSA(upperSymbol))return this.GetUSA(true);if(MARKET_SUFFIX_NAME.IsCFFEX(upperSymbol)||MARKET_SUFFIX_NAME.IsCZCE(upperSymbol)||MARKET_SUFFIX_NAME.IsDCE(upperSymbol)||MARKET_SUFFIX_NAME.IsSHFE(upperSymbol)){var splitData=g_FuturesTimeData.GetSplitData(upperSymbol);if(!splitData)return null;return this.GetFutures(splitData);}if(MARKET_SUFFIX_NAME.IsFTSE(upperSymbol))return this.GetFTSE();if(MARKET_SUFFIX_NAME.IsFHK(upperSymbol))return this.GetFHK();if(MARKET_SUFFIX_NAME.IsForeignExchange(upperSymbol))return this.GetForeignExchange();if(MARKET_SUFFIX_NAME.IsET(upperSymbol))return this.GetET(upperSymbol);if(MARKET_SUFFIX_NAME.IsBIT(upperSymbol))return this.GetBIT(upperSymbol);if(MARKET_SUFFIX_NAME.IsNYMEX(upperSymbol))//纽约期货交易所
|
|
6750
|
+
if(MARKET_SUFFIX_NAME.IsSH(upperSymbol)||MARKET_SUFFIX_NAME.IsSZ(upperSymbol))return this.GetSHSZ(upperSymbol);if(MARKET_SUFFIX_NAME.IsBJ(upperSymbol))return this.GetBJ(upperSymbol);if(MARKET_SUFFIX_NAME.IsSHO(upperSymbol)||MARKET_SUFFIX_NAME.IsSZO(upperSymbol))return this.GetSHO();if(MARKET_SUFFIX_NAME.IsHK(upperSymbol))return this.GetHK(upperSymbol);if(MARKET_SUFFIX_NAME.IsTW(upperSymbol))return this.GetTW(upperSymbol);if(MARKET_SUFFIX_NAME.IsJP(upperSymbol))return this.GetJP(upperSymbol);if(MARKET_SUFFIX_NAME.IsUSA(upperSymbol))return this.GetUSA(true);if(MARKET_SUFFIX_NAME.IsCFFEX(upperSymbol)||MARKET_SUFFIX_NAME.IsCZCE(upperSymbol)||MARKET_SUFFIX_NAME.IsDCE(upperSymbol)||MARKET_SUFFIX_NAME.IsSHFE(upperSymbol)){var splitData=g_FuturesTimeData.GetSplitData(upperSymbol);if(!splitData)return null;return this.GetFutures(splitData);}if(MARKET_SUFFIX_NAME.IsFTSE(upperSymbol))return this.GetFTSE();if(MARKET_SUFFIX_NAME.IsFHK(upperSymbol))return this.GetFHK();if(MARKET_SUFFIX_NAME.IsForeignExchange(upperSymbol))return this.GetForeignExchange();if(MARKET_SUFFIX_NAME.IsET(upperSymbol))return this.GetET(upperSymbol);if(MARKET_SUFFIX_NAME.IsBIT(upperSymbol))return this.GetBIT(upperSymbol);if(MARKET_SUFFIX_NAME.IsNYMEX(upperSymbol))//纽约期货交易所
|
|
6746
6751
|
{var splitData=g_NYMEXTimeData.GetSplitData(upperSymbol);if(!splitData)return null;return this.GetFutures(splitData);}if(MARKET_SUFFIX_NAME.IsCOMEX(upperSymbol))//纽约期货交易所
|
|
6747
6752
|
{var splitData=g_COMEXTimeData.GetSplitData(upperSymbol);if(!splitData)return null;return this.GetFutures(splitData);}if(MARKET_SUFFIX_NAME.IsNYBOT(upperSymbol))//纽约期货交易所
|
|
6748
6753
|
{var splitData=g_NYBOTTimeData.GetSplitData(upperSymbol);if(!splitData)return null;return this.GetFutures(splitData);}if(MARKET_SUFFIX_NAME.IsCBOT(upperSymbol))//芝商所
|
|
@@ -6832,7 +6837,7 @@ var FTSE_MINUTE_X_COORDINATE={Full://完整模式
|
|
|
6832
6837
|
[[0,1,"RGB(200,200,200)","09:00"],[60,1,"RGB(200,200,200)","10:00"],[120,1,"RGB(200,200,200)","11:00"],[180,1,"RGB(200,200,200)","12:00"],[270,0,"RGB(200,200,200)","13:30"]],Min://最小模式
|
|
6833
6838
|
[[0,1,"RGB(200,200,200)","09:00"],[60,1,"RGB(200,200,200)","11:00"],[270,0,"RGB(200,200,200)","13:30"]],Count:271,MiddleCount:151,GetData:function GetData(width){if(width<200)return this.Min;else if(width<450)return this.Simple;return this.Full;}};this.GetCoordinateData=function(symbol,width){var data=null;if(!symbol){data=SHZE_MINUTE_X_COORDINATE;//默认沪深股票
|
|
6834
6839
|
}else{var upperSymbol=symbol.toLocaleUpperCase();//转成大写
|
|
6835
|
-
if(MARKET_SUFFIX_NAME.IsSH(upperSymbol)||MARKET_SUFFIX_NAME.IsSZ(upperSymbol)||MARKET_SUFFIX_NAME.IsSHSZIndex(upperSymbol))data=this.GetSHSZData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsBJ(upperSymbol))data=this.GetBJData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsSHO(upperSymbol)||MARKET_SUFFIX_NAME.IsSZO(upperSymbol))data=this.GetSHOData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsHK(upperSymbol))data=this.GetHKData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsTW(upperSymbol))data=this.GetTWData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsCFFEX(upperSymbol)||MARKET_SUFFIX_NAME.IsCZCE(upperSymbol)||MARKET_SUFFIX_NAME.IsDCE(upperSymbol)||MARKET_SUFFIX_NAME.IsSHFE(upperSymbol))return this.GetChinatFuturesData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsUSA(upperSymbol))data=this.GetUSAData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsFTSE(upperSymbol))data=this.GetFTSEData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsFHK(upperSymbol))data=this.GetFHKData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsForeignExchange(upperSymbol))data=this.GetForeignExchangeData(upperSymbol);else if(MARKET_SUFFIX_NAME.IsBIT(upperSymbol,width))data=this.GetBITData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsET(upperSymbol))data=this.GetETData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsNYMEX(upperSymbol))return data=this.GetNYMEXData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsCOMEX(upperSymbol))return data=this.GetCOMEXData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsNYBOT(upperSymbol))return data=this.GetNYBOTData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsCBOT(upperSymbol))return data=this.GetCBOTData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsLME(upperSymbol))return data=this.GetLMEData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsTOCOM(upperSymbol))return data=this.GetTOCOMData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsIPE(upperSymbol))return data=this.GetIPEData(upperSymbol,width);}//JSConsole.Chart.Log('[MiuteCoordinateData]', width);
|
|
6840
|
+
if(MARKET_SUFFIX_NAME.IsSH(upperSymbol)||MARKET_SUFFIX_NAME.IsSZ(upperSymbol)||MARKET_SUFFIX_NAME.IsSHSZIndex(upperSymbol))data=this.GetSHSZData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsBJ(upperSymbol))data=this.GetBJData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsSHO(upperSymbol)||MARKET_SUFFIX_NAME.IsSZO(upperSymbol))data=this.GetSHOData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsHK(upperSymbol))data=this.GetHKData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsTW(upperSymbol))data=this.GetTWData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsJP(upperSymbol))data=this.GetJPData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsCFFEX(upperSymbol)||MARKET_SUFFIX_NAME.IsCZCE(upperSymbol)||MARKET_SUFFIX_NAME.IsDCE(upperSymbol)||MARKET_SUFFIX_NAME.IsSHFE(upperSymbol))return this.GetChinatFuturesData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsUSA(upperSymbol))data=this.GetUSAData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsFTSE(upperSymbol))data=this.GetFTSEData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsFHK(upperSymbol))data=this.GetFHKData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsForeignExchange(upperSymbol))data=this.GetForeignExchangeData(upperSymbol);else if(MARKET_SUFFIX_NAME.IsBIT(upperSymbol,width))data=this.GetBITData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsET(upperSymbol))data=this.GetETData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsNYMEX(upperSymbol))return data=this.GetNYMEXData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsCOMEX(upperSymbol))return data=this.GetCOMEXData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsNYBOT(upperSymbol))return data=this.GetNYBOTData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsCBOT(upperSymbol))return data=this.GetCBOTData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsLME(upperSymbol))return data=this.GetLMEData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsTOCOM(upperSymbol))return data=this.GetTOCOMData(upperSymbol,width);else if(MARKET_SUFFIX_NAME.IsIPE(upperSymbol))return data=this.GetIPEData(upperSymbol,width);}//JSConsole.Chart.Log('[MiuteCoordinateData]', width);
|
|
6836
6841
|
var result={Count:data.Count,MiddleCount:data.MiddleCount,Data:data.GetData(width)};return result;};this.GetSHSZData=function(upperSymbol,width){var result=SHZE_MINUTE_X_COORDINATE;return result;};this.GetBJData=function(upperSymbol,width){var result=SHZE_MINUTE_X_COORDINATE;return result;};this.GetUSAData=function(upperSymbol,width){var result=USA_MINUTE_X_COORDINATE;return result;};this.GetHKData=function(upperSymbol,width){var result=HK_MINUTE_X_COORDINATE;return result;};this.GetTWData=function(upperSymbol,width){return TW_MINUTE_X_COORDINATE;};this.GetSHOData=function(upperSymbol,width){var result=SHO_MINUTE_X_COORDINATE;return result;};this.GetFuturesData=function(upperSymbol,width,timeData){var splitData=timeData.GetSplitData(upperSymbol);if(!splitData)return null;var stringData=g_MinuteTimeStringData.GetFutures(splitData);if(!stringData)return null;var result={Count:stringData.length};var coordinate=null;var minWidth=200,simpleWidth=480;/*
|
|
6837
6842
|
if (splitData.Name =='21:00-1:00,9:00-10:15,10:30-11:30,13:30-15:00')
|
|
6838
6843
|
{
|
|
@@ -6840,7 +6845,7 @@ var result={Count:data.Count,MiddleCount:data.MiddleCount,Data:data.GetData(widt
|
|
|
6840
6845
|
simpleWidth=500;
|
|
6841
6846
|
}
|
|
6842
6847
|
*/if(width<minWidth)coordinate=splitData.Coordinate.Min;else if(width<simpleWidth)coordinate=splitData.Coordinate.Simple;else coordinate=splitData.Coordinate.Full;var data=[];for(var i=0;i<stringData.length;++i){var value=stringData[i];for(var j=0;j<coordinate.length;++j){var coordinateItem=coordinate[j];if(value==coordinateItem.Value){var item=[i,0,'RGB(200,200,200)',coordinateItem.Text];data.push(item);break;}}}result.Data=data;return result;};this.GetChinatFuturesData=function(upperSymbol,width){return this.GetFuturesData(upperSymbol,width,g_FuturesTimeData);};this.GetNYMEXData=function(upperSymbol,width){return this.GetFuturesData(upperSymbol,width,g_NYMEXTimeData);};this.GetCOMEXData=function(upperSymbol,width){return this.GetFuturesData(upperSymbol,width,g_COMEXTimeData);};this.GetNYBOTData=function(upperSymbol,width){return this.GetFuturesData(upperSymbol,width,g_NYBOTTimeData);};this.GetCBOTData=function(upperSymbol,width){return this.GetFuturesData(upperSymbol,width,g_CBOTTimeData);};this.GetLMEData=function(upperSymbol,width){return this.GetFuturesData(upperSymbol,width,g_LMETimeData);};this.GetTOCOMData=function(upperSymbol,width){return this.GetFuturesData(upperSymbol,width,g_TOCOMTimeData);};this.GetIPEData=function(upperSymbol,width){return this.GetFuturesData(upperSymbol,width,g_IPETimeData);};this.GetFTSEData=function(upperSymbol,width){var result=FTSE_MINUTE_X_COORDINATE;return result;};this.GetFHKData=function(upperSymbol,width){var result=FHK_MINUTE_X_COORDINATE;return result;};this.GetForeignExchangeData=function(upperSymbol,width){var result=FOREX_MINUTE_X_COORDINATE;return result;};this.GetBITData=function(upperSymbol,width){var result=FOREX_MINUTE_X_COORDINATE;//先用外汇的吧
|
|
6843
|
-
return result;};this.GetETData=function(upperSymbol,width){throw{Name:'MinuteCoordinateData::GetETData',Error:'not implement'};};}//国内期货不同品种 交易时间数据
|
|
6848
|
+
return result;};this.GetETData=function(upperSymbol,width){throw{Name:'MinuteCoordinateData::GetETData',Error:'not implement'};};this.GetJPData=function(upperSymbol,width){throw{Name:'MinuteCoordinateData::GetJPData',Error:'not implement'};};}//国内期货不同品种 交易时间数据
|
|
6844
6849
|
function FuturesTimeData(){this.TIME_SPLIT=[//ID=0 9:00-10:15,10:31-11:30,13:31-15:00
|
|
6845
6850
|
{Name:'9:00-10:15,10:31-11:30,13:31-15:00',Data:[//9:00-10:15,10:30-11:30,13:30-15:00
|
|
6846
6851
|
{Start:900,End:1015},{Start:1031,End:1130},{Start:1331,End:1500}],Coordinate:{Full://完整模式
|
|
@@ -7184,7 +7189,7 @@ this.TIME_SPLIT2=[//ID=0 09:00-07:00
|
|
|
7184
7189
|
if(!symbol)return defaultfloatPrecision;var upperSymbol=symbol.toUpperCase();//全部由外部控制
|
|
7185
7190
|
if(typeof MARKET_SUFFIX_NAME.GetCustomDecimal=='function')return MARKET_SUFFIX_NAME.GetCustomDecimal(upperSymbol);if(MARKET_SUFFIX_NAME.IsSHSZFund(upperSymbol))defaultfloatPrecision=3;//基金3位小数
|
|
7186
7191
|
else if(MARKET_SUFFIX_NAME.IsSHO(upperSymbol)||MARKET_SUFFIX_NAME.IsSZO(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetSHODecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsChinaFutures(upperSymbol))defaultfloatPrecision=g_FuturesTimeData.GetDecimal(upperSymbol);//期货小数位数读配置
|
|
7187
|
-
else if(MARKET_SUFFIX_NAME.IsFHK(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetFHKDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsFTSE(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetFTSEDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsBIT(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetBITDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsET(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetETDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsForeignExchange(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetForeignExchangeDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsNYMEX(upperSymbol))defaultfloatPrecision=g_NYMEXTimeData.GetDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsCOMEX(upperSymbol))defaultfloatPrecision=g_COMEXTimeData.GetDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsNYBOT(upperSymbol))defaultfloatPrecision=g_NYBOTTimeData.GetDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsCBOT(upperSymbol))defaultfloatPrecision=g_CBOTTimeData.GetDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsLME(upperSymbol))defaultfloatPrecision=g_LMETimeData.GetDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsTOCOM(upperSymbol))defaultfloatPrecision=g_TOCOMTimeData.GetDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsIPE(upperSymbol))defaultfloatPrecision=g_IPETimeData.GetDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsHK(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetHKDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsTW(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetTWDecimal(upperSymbol);else defaultfloatPrecision=MARKET_SUFFIX_NAME.GetDefaultDecimal(upperSymbol);return defaultfloatPrecision;}//把不连续的分时数据转成连续的分时数据
|
|
7192
|
+
else if(MARKET_SUFFIX_NAME.IsFHK(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetFHKDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsFTSE(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetFTSEDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsBIT(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetBITDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsET(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetETDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsForeignExchange(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetForeignExchangeDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsNYMEX(upperSymbol))defaultfloatPrecision=g_NYMEXTimeData.GetDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsCOMEX(upperSymbol))defaultfloatPrecision=g_COMEXTimeData.GetDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsNYBOT(upperSymbol))defaultfloatPrecision=g_NYBOTTimeData.GetDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsCBOT(upperSymbol))defaultfloatPrecision=g_CBOTTimeData.GetDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsLME(upperSymbol))defaultfloatPrecision=g_LMETimeData.GetDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsTOCOM(upperSymbol))defaultfloatPrecision=g_TOCOMTimeData.GetDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsIPE(upperSymbol))defaultfloatPrecision=g_IPETimeData.GetDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsHK(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetHKDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsTW(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetTWDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsJP(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetJPDecimal(upperSymbol);else defaultfloatPrecision=MARKET_SUFFIX_NAME.GetDefaultDecimal(upperSymbol);return defaultfloatPrecision;}//把不连续的分时数据转成连续的分时数据
|
|
7188
7193
|
function GenerateMinuteStockJsonData(data){var stock={symbol:data.symbol,name:data.name,time:data.time,date:data.date,price:data.price,open:data.open,yclose:data.yclose,high:data.high,low:data.low,vol:data.vol,amount:data.amount,minute:[]};var mapMinute=new _map2.default();for(var i in data.minute){var item=data.minute[i];mapMinute.set(item.time,item);}var timeData=g_MinuteTimeStringData.GetTimeData(stock.symbol);for(var i in timeData)//根据交易时间产生数据
|
|
7189
7194
|
{var time=timeData[i];var minuteItem={time:time,vaild:false};if(mapMinute.has(time)){var find=mapMinute.get(time);minuteItem.vaild=true;minuteItem.price=find.price;minuteItem.open=find.open;minuteItem.high=find.high;minuteItem.low=find.low;minuteItem.avprice=find.avprice;minuteItem.vol=find.vol;minuteItem.amount=find.amount;if(IFrameSplitOperator.IsNumber(find.increase))minuteItem.increase=find.increase;if(IFrameSplitOperator.IsNumber(find.risefall))minuteItem.risefall=find.risefall;if(IFrameSplitOperator.IsNumber(find.position))minuteItem.position=find.position;}stock.minute.push(minuteItem);}var vaildCount=0;for(var i=stock.minute.length-1;i>=0;--i){vaildCount=i+1;var item=stock.minute[i];if(item.vaild==true)break;}stock.minute=stock.minute.slice(0,vaildCount);//去掉最后无用的数据
|
|
7190
7195
|
return stock;}function GetLocalTime(i)//得到标准时区的时间的函数
|
|
@@ -8363,9 +8368,13 @@ Explain:'DYNAINFO()',Args:aryArgs,Request:{Url:self.RealtimeApiUrl,Type:'POST',D
|
|
|
8363
8368
|
this.RecvLatestDataVer2=function(data){if(!IFrameSplitOperator.IsNonEmptyArray(data.data))return;var symbol=data.symbol;for(var i=0;i<data.data.length;++i){var item=data.data[i];if(!item)continue;if(!IFrameSplitOperator.IsNumber(item.id))continue;if(IFrameSplitOperator.IsNumber(item.value)||IFrameSplitOperator.IsString(item.value)){JSConsole.Complier.Log('[JSSymbolData::RecvLatestDataVer2] symbol='+symbol+' DYNAINFO('+item.id+')='+item.value+'.');this.LatestData.set(item.id,item.value);}}JSConsole.Complier.Log('[JSSymbolData::RecvLatestDataVer2]',this.LatestData);};this.GetLatestCacheData=function(dataname){if(this.LatestData.has(dataname))return this.LatestData.get(dataname);return null;};this.GetLatestIndexData=function(){if(this.LatestIndexData)return this.Execute.RunNextJob();var self=this;if(this.NetworkFilter){var obj={Name:'JSSymbolData::GetLatestIndexData',//类名:: 函数
|
|
8364
8369
|
Explain:'最新大盘数据',Request:{Url:self.RealtimeApiUrl,Type:'POST',Data:{symbol:['000001.sh'],field:["name","symbol","yclose","open","price","high","low","vol","amount","date","time","increase","amplitude"]}},Self:this,PreventDefault:false};this.NetworkFilter(obj,function(data){self.RecvLatestIndexData(data);self.Execute.RunNextJob();});if(obj.PreventDefault==true)return;//已被上层替换,不调用默认的网络请求
|
|
8365
8370
|
}JSNetwork.HttpRequest({url:self.RealtimeApiUrl,data:{"field":["name","symbol","yclose","open","price","high","low","vol","amount","date","time","increase","amplitude"],"symbol":['000001.sh']},type:"post",dataType:"json",async:true,success:function success(recvData){self.RecvLatestIndexData(recvData);self.Execute.RunNextJob();},error:function error(request){self.RecvError(request);}});};this.RecvLatestIndexData=function(data){if(!data.stock||data.stock.length!=1)return;var stock=data.stock[0];this.LatestIndexData={Symbol:stock.symbol,Name:stock.name,Date:stock.date,Time:stock.time,YClose:stock.yclose,Price:stock.price,Open:stock.open,High:stock.high,Low:stock.low,Vol:stock.vol,Amount:stock.amount,Increase:stock.increase,Amplitude:stock.amplitude};JSConsole.Complier.Log('[JSSymbolData::RecvLatestIndexData]',this.LatestIndexData);};this.GetLatestIndexCacheData=function(dataname){if(!this.LatestIndexData)return null;switch(dataname){case'FROMOPEN':{var value=parseInt(this.LatestIndexData.Time/100);var time=parseInt(value/100)*60+value%100;//转化为分钟个数
|
|
8366
|
-
var index=0;if(time<=9*60+25)index=0;else if(time<9*60+30)index=1;else if(time<=11*60+30)index=time-(9*60+30)+1;else if(time<13*60)index=121;else if(time<=15*60)index=122+time-13*60;else index=242;return index;}default:return null;}};this.GetVolRateData=function(job,node){var volrKey=job.ID.toString()+'-VolRate-'+this.Symbol;if(this.ExtendData.has(volrKey))return this.Execute.RunNextJob();var self=this;
|
|
8367
|
-
|
|
8368
|
-
|
|
8371
|
+
var index=0;if(time<=9*60+25)index=0;else if(time<9*60+30)index=1;else if(time<=11*60+30)index=time-(9*60+30)+1;else if(time<13*60)index=121;else if(time<=15*60)index=122+time-13*60;else index=242;return index;}default:return null;}};this.GetVolRateData=function(job,node){var volrKey=job.ID.toString()+'-VolRate-'+this.Symbol;if(this.ExtendData.has(volrKey))return this.Execute.RunNextJob();var self=this;var dayCount=30;if(this.NetworkFilter){var dateRange=this.Data.GetDateRange();var dayCount=1;if(this.DataType==HQ_DATA_TYPE.MULTIDAY_MINUTE_ID)dayCount=this.DayCount;var obj={Name:'JSSymbolData::GetVolRateData',//类名:: 函数
|
|
8372
|
+
Explain:'分时量比数据(成交量)',Request:{Url:self.KLineApiUrl,Type:'POST',Data:{symbol:self.Symbol,dayCount:dayCount,field:["name","symbol","vol"],period:0,right:0,dateRange:dateRange}},Self:this,PreventDefault:false};this.NetworkFilter(obj,function(recvData){self.RecvVolRateData(recvData,volrKey);self.Execute.RunNextJob();});if(obj.PreventDefault==true)return;//已被上层替换,不调用默认的网络请求
|
|
8373
|
+
}JSNetwork.HttpRequest({url:self.KLineApiUrl,data:{"field":["name","symbol","vol"],"symbol":self.Symbol,"start":-1,"count":dayCount},type:"post",dataType:"json",async:true,success:function success(recvData){self.RecvVolRateData(recvData,volrKey);self.Execute.RunNextJob();},error:function error(request){self.RecvError(request);}});};this.RecvVolRateData=function(data,key){var sumVol=0,avgVol5=0;var mapAvgVol5=new _map2.default();if(data.Ver==2.0)// {Ver:2.0 , data:[ [日期,5日vol均值]] }
|
|
8374
|
+
{if(!IFrameSplitOperator.IsNonEmptyArray(data.data))return;for(var i=0;i<data.data.length;++i){var item=data.data[i];if(!IFrameSplitOperator.IsNonEmptyArray(item))continue;if(item.length<2)continue;if(IFrameSplitOperator.IsNumber(item[0])&&IFrameSplitOperator.IsPlusNumber(item[1])){mapAvgVol5.set(item[0],{AvgVol5:item[1]});}}}else{if(!IFrameSplitOperator.IsNonEmptyArray(data.data))return;var minuteCount=241;if(IFrameSplitOperator.IsNumber(data.minutecount))minuteCount=data.minutecount;for(var i=0,j=0,dayCount=0;i<data.data.length;++i)//每天的5日成交均量
|
|
8375
|
+
{sumVol=0;for(j=i,dayCount=0;j>=0&&dayCount<5;--j,++dayCount){var item=data.data[j];if(IFrameSplitOperator.IsNumber(item[6]))sumVol+=item[6];}if(dayCount>0){avgVol5=sumVol/dayCount/minuteCount;var item=data.data[i];mapAvgVol5.set(item[0],{//for debug
|
|
8376
|
+
//Vol5:sumVol, MinuteCount:minuteCount,,Count:dayCount,
|
|
8377
|
+
AvgVol5:avgVol5});}}}if(mapAvgVol5.size>0)this.ExtendData.set(key,mapAvgVol5);JSConsole.Complier.Log('[JSSymbolData::RecvVolRateData]',mapAvgVol5);};this.GetVolRateCacheData=function(node){var key=JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_VOLR_DATA.toString()+'-VolRate-'+this.Symbol;if(!key||!this.ExtendData.has(key))this.Execute.ThrowUnexpectedNode(node,'不支持VOLR');var result=[];var mapAvgVol5=this.ExtendData.get(key);var totalVol=0,preDate=0,avgVol5=null;for(var i=0,j=0;i<this.Data.Data.length;++i){result[i]=null;var item=this.Data.Data[i];if(preDate!=item.Date){avgVol5=null;j=0;totalVol=0;if(mapAvgVol5.has(item.Date)){var volItem=mapAvgVol5.get(item.Date);avgVol5=volItem.AvgVol5;}preDate=item.Date;}if(avgVol5==null)continue;totalVol+=item.Vol;result[i]=totalVol/(j+1)/avgVol5*100;++j;}return result;};//获取大盘指数数据
|
|
8369
8378
|
this.GetIndexData=function(){if(this.IndexData)return this.Execute.RunNextJob();var self=this;if(ChartData.IsDayPeriod(this.Period,true))//请求日线数据 9=季线
|
|
8370
8379
|
{if(this.NetworkFilter){var dateRange=this.Data.GetDateRange();var obj={Name:'JSSymbolData::GetIndexData',//类名::
|
|
8371
8380
|
Explain:'大盘数据',Period:self.Period,Request:{Url:self.KLineApiUrl,Type:'POST',Data:{field:["name","symbol","yclose","open","price","high","low","vol",'up','down','stop','unchanged'],indexSymbol:"000001.sh",symbol:this.Symbol,period:this.Period,dateRange:dateRange}},Self:this,PreventDefault:false};this.NetworkFilter(obj,function(data){self.RecvIndexHistroyData(data);self.Execute.RunNextJob();});if(obj.PreventDefault==true)return;//已被上层替换,不调用默认的网络请求
|
package/package.json
CHANGED
|
@@ -66370,7 +66370,8 @@ var MARKET_SUFFIX_NAME=
|
|
|
66370
66370
|
TOCOM:".TOCOM", //东京商品交易所(TOCOM)
|
|
66371
66371
|
IPE:".IPE", //美国洲际交易所 (ICE EUROPE)
|
|
66372
66372
|
|
|
66373
|
-
TW:".TW", //台湾股票
|
|
66373
|
+
TW:".TW", //台湾股票 9:00-13:30
|
|
66374
|
+
JP:".JP", //日本股票 9:00-11:30, 12:30-15:00
|
|
66374
66375
|
|
|
66375
66376
|
ET:'.ET', //其他未知的品种
|
|
66376
66377
|
|
|
@@ -66517,6 +66518,13 @@ var MARKET_SUFFIX_NAME=
|
|
|
66517
66518
|
return find == pos;
|
|
66518
66519
|
},
|
|
66519
66520
|
|
|
66521
|
+
IsJP:function(upperSymbol)
|
|
66522
|
+
{
|
|
66523
|
+
var pos = upperSymbol.length - this.JP.length;
|
|
66524
|
+
var find = upperSymbol.indexOf(this.JP);
|
|
66525
|
+
return find == pos;
|
|
66526
|
+
},
|
|
66527
|
+
|
|
66520
66528
|
IsSHFE: function (upperSymbol)
|
|
66521
66529
|
{
|
|
66522
66530
|
if (!upperSymbol) return false;
|
|
@@ -66711,6 +66719,13 @@ var MARKET_SUFFIX_NAME=
|
|
|
66711
66719
|
if(time<820) return 1;
|
|
66712
66720
|
return 2;
|
|
66713
66721
|
}
|
|
66722
|
+
else if (this.IsJP(upperSymbol)) //日本股票 9:00-11:30 12:30-15:00
|
|
66723
|
+
{
|
|
66724
|
+
if(day == 6 || day== 0) return 0; //周末
|
|
66725
|
+
if(time>1520) return 3;
|
|
66726
|
+
if(time<830) return 1;
|
|
66727
|
+
return 2;
|
|
66728
|
+
}
|
|
66714
66729
|
else if (this.IsNYMEX(upperSymbol))
|
|
66715
66730
|
{
|
|
66716
66731
|
return this.GetNYMEXMarketStatus(upperSymbol);
|
|
@@ -66809,6 +66824,11 @@ var MARKET_SUFFIX_NAME=
|
|
|
66809
66824
|
return 2;
|
|
66810
66825
|
},
|
|
66811
66826
|
|
|
66827
|
+
GetJPDecimal:function(symbol)
|
|
66828
|
+
{
|
|
66829
|
+
return 2;
|
|
66830
|
+
},
|
|
66831
|
+
|
|
66812
66832
|
GetForeignExchangeDecimal:function(symbol)
|
|
66813
66833
|
{
|
|
66814
66834
|
return 4;
|
|
@@ -66937,7 +66957,8 @@ function MinuteTimeStringData()
|
|
|
66937
66957
|
this.FHK=null; //港股指数期货
|
|
66938
66958
|
this.ForeEx=null; //外汇
|
|
66939
66959
|
this.BIT=null; //数字货币
|
|
66940
|
-
this.TW=null;
|
|
66960
|
+
this.TW=null; //台湾股票
|
|
66961
|
+
this.JP=null; //日本股票
|
|
66941
66962
|
|
|
66942
66963
|
this.Initialize = function () //初始化 默认只初始化沪深的 其他市场动态生成
|
|
66943
66964
|
{
|
|
@@ -66980,6 +67001,12 @@ function MinuteTimeStringData()
|
|
|
66980
67001
|
return this.TW;
|
|
66981
67002
|
}
|
|
66982
67003
|
|
|
67004
|
+
this.GetJP=function(upperSymbol)
|
|
67005
|
+
{
|
|
67006
|
+
if (this.JP) this.JP=this.CreateJPData();
|
|
67007
|
+
return this.JP;
|
|
67008
|
+
}
|
|
67009
|
+
|
|
66983
67010
|
this.GetFutures=function(splitData)
|
|
66984
67011
|
{
|
|
66985
67012
|
if (!this.Futures.has(splitData.Name))
|
|
@@ -67077,6 +67104,17 @@ function MinuteTimeStringData()
|
|
|
67077
67104
|
return this.CreateTimeData(TIME_SPLIT);
|
|
67078
67105
|
}
|
|
67079
67106
|
|
|
67107
|
+
this.CreateJPData=function()
|
|
67108
|
+
{
|
|
67109
|
+
const TIME_SPLIT =
|
|
67110
|
+
[
|
|
67111
|
+
{ Start: 900, End: 1130 },
|
|
67112
|
+
{ Start: 1230, End: 1500 }
|
|
67113
|
+
];
|
|
67114
|
+
|
|
67115
|
+
return this.CreateTimeData(TIME_SPLIT);
|
|
67116
|
+
}
|
|
67117
|
+
|
|
67080
67118
|
this.CreateFTSEData=function()
|
|
67081
67119
|
{
|
|
67082
67120
|
const TIME_SPLIT=
|
|
@@ -67185,6 +67223,7 @@ function MinuteTimeStringData()
|
|
|
67185
67223
|
if (MARKET_SUFFIX_NAME.IsSHO(upperSymbol) || MARKET_SUFFIX_NAME.IsSZO(upperSymbol)) return this.GetSHO();
|
|
67186
67224
|
if (MARKET_SUFFIX_NAME.IsHK(upperSymbol)) return this.GetHK(upperSymbol);
|
|
67187
67225
|
if (MARKET_SUFFIX_NAME.IsTW(upperSymbol)) return this.GetTW(upperSymbol);
|
|
67226
|
+
if (MARKET_SUFFIX_NAME.IsJP(upperSymbol)) return this.GetJP(upperSymbol);
|
|
67188
67227
|
if (MARKET_SUFFIX_NAME.IsUSA(upperSymbol)) return this.GetUSA(true);
|
|
67189
67228
|
if (MARKET_SUFFIX_NAME.IsCFFEX(upperSymbol) || MARKET_SUFFIX_NAME.IsCZCE(upperSymbol) || MARKET_SUFFIX_NAME.IsDCE(upperSymbol) || MARKET_SUFFIX_NAME.IsSHFE(upperSymbol))
|
|
67190
67229
|
{
|
|
@@ -67669,6 +67708,8 @@ function MinuteCoordinateData()
|
|
|
67669
67708
|
data=this.GetHKData(upperSymbol,width);
|
|
67670
67709
|
else if (MARKET_SUFFIX_NAME.IsTW(upperSymbol))
|
|
67671
67710
|
data=this.GetTWData(upperSymbol,width);
|
|
67711
|
+
else if (MARKET_SUFFIX_NAME.IsJP(upperSymbol))
|
|
67712
|
+
data=this.GetJPData(upperSymbol,width);
|
|
67672
67713
|
else if (MARKET_SUFFIX_NAME.IsCFFEX(upperSymbol) || MARKET_SUFFIX_NAME.IsCZCE(upperSymbol) || MARKET_SUFFIX_NAME.IsDCE(upperSymbol) || MARKET_SUFFIX_NAME.IsSHFE(upperSymbol))
|
|
67673
67714
|
return this.GetChinatFuturesData(upperSymbol,width);
|
|
67674
67715
|
else if (MARKET_SUFFIX_NAME.IsUSA(upperSymbol))
|
|
@@ -67849,6 +67890,12 @@ function MinuteCoordinateData()
|
|
|
67849
67890
|
{
|
|
67850
67891
|
throw {Name:'MinuteCoordinateData::GetETData', Error:'not implement'};
|
|
67851
67892
|
}
|
|
67893
|
+
|
|
67894
|
+
this.GetJPData=function(upperSymbol,width)
|
|
67895
|
+
{
|
|
67896
|
+
throw {Name:'MinuteCoordinateData::GetJPData', Error:'not implement'};
|
|
67897
|
+
}
|
|
67898
|
+
|
|
67852
67899
|
}
|
|
67853
67900
|
|
|
67854
67901
|
//国内期货不同品种 交易时间数据
|
|
@@ -69993,6 +70040,7 @@ function GetfloatPrecision(symbol) //获取小数位数
|
|
|
69993
70040
|
else if (MARKET_SUFFIX_NAME.IsIPE(upperSymbol)) defaultfloatPrecision=g_IPETimeData.GetDecimal(upperSymbol);
|
|
69994
70041
|
else if (MARKET_SUFFIX_NAME.IsHK(upperSymbol)) defaultfloatPrecision=MARKET_SUFFIX_NAME.GetHKDecimal(upperSymbol);
|
|
69995
70042
|
else if (MARKET_SUFFIX_NAME.IsTW(upperSymbol)) defaultfloatPrecision=MARKET_SUFFIX_NAME.GetTWDecimal(upperSymbol);
|
|
70043
|
+
else if (MARKET_SUFFIX_NAME.IsJP(upperSymbol)) defaultfloatPrecision=MARKET_SUFFIX_NAME.GetJPDecimal(upperSymbol);
|
|
69996
70044
|
else defaultfloatPrecision=MARKET_SUFFIX_NAME.GetDefaultDecimal(upperSymbol);
|
|
69997
70045
|
|
|
69998
70046
|
return defaultfloatPrecision;
|
|
@@ -80811,12 +80859,41 @@ function JSSymbolData(ast,option,jsExecute)
|
|
|
80811
80859
|
if (this.ExtendData.has(volrKey)) return this.Execute.RunNextJob();
|
|
80812
80860
|
|
|
80813
80861
|
var self=this;
|
|
80862
|
+
var dayCount=30;
|
|
80863
|
+
if (this.NetworkFilter)
|
|
80864
|
+
{
|
|
80865
|
+
var dateRange=this.Data.GetDateRange();
|
|
80866
|
+
var dayCount=1;
|
|
80867
|
+
if (this.DataType==HQ_DATA_TYPE.MULTIDAY_MINUTE_ID) dayCount=this.DayCount;
|
|
80868
|
+
var obj=
|
|
80869
|
+
{
|
|
80870
|
+
Name:'JSSymbolData::GetVolRateData', //类名:: 函数
|
|
80871
|
+
Explain:'分时量比数据(成交量)',
|
|
80872
|
+
Request:
|
|
80873
|
+
{
|
|
80874
|
+
Url:self.KLineApiUrl, Type:'POST' ,
|
|
80875
|
+
Data: { symbol:self.Symbol, dayCount:dayCount, field: ["name","symbol","vol"], period:0, right:0, dateRange:dateRange }
|
|
80876
|
+
},
|
|
80877
|
+
Self:this,
|
|
80878
|
+
PreventDefault:false
|
|
80879
|
+
};
|
|
80880
|
+
this.NetworkFilter(obj, function(recvData)
|
|
80881
|
+
{
|
|
80882
|
+
self.RecvVolRateData(recvData,volrKey);
|
|
80883
|
+
self.Execute.RunNextJob();
|
|
80884
|
+
});
|
|
80885
|
+
|
|
80886
|
+
if (obj.PreventDefault==true) return; //已被上层替换,不调用默认的网络请求
|
|
80887
|
+
}
|
|
80888
|
+
|
|
80814
80889
|
JSNetwork.HttpRequest({
|
|
80815
|
-
url: self.
|
|
80890
|
+
url: self.KLineApiUrl,
|
|
80816
80891
|
data:
|
|
80817
80892
|
{
|
|
80818
|
-
"field":
|
|
80819
|
-
"symbol":
|
|
80893
|
+
"field": ["name","symbol","vol"],
|
|
80894
|
+
"symbol": self.Symbol,
|
|
80895
|
+
"start": -1,
|
|
80896
|
+
"count": dayCount
|
|
80820
80897
|
},
|
|
80821
80898
|
type:"post",
|
|
80822
80899
|
dataType: "json",
|
|
@@ -80835,13 +80912,54 @@ function JSSymbolData(ast,option,jsExecute)
|
|
|
80835
80912
|
|
|
80836
80913
|
this.RecvVolRateData=function(data,key)
|
|
80837
80914
|
{
|
|
80838
|
-
|
|
80839
|
-
var
|
|
80840
|
-
|
|
80841
|
-
|
|
80842
|
-
|
|
80915
|
+
var sumVol=0,avgVol5=0;
|
|
80916
|
+
var mapAvgVol5=new Map();
|
|
80917
|
+
if (data.Ver==2.0) // {Ver:2.0 , data:[ [日期,5日vol均值]] }
|
|
80918
|
+
{
|
|
80919
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(data.data)) return;
|
|
80920
|
+
for(var i=0;i<data.data.length;++i)
|
|
80921
|
+
{
|
|
80922
|
+
var item=data.data[i];
|
|
80923
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(item)) continue;
|
|
80924
|
+
if (item.length<2) continue;
|
|
80925
|
+
if (IFrameSplitOperator.IsNumber(item[0]) && IFrameSplitOperator.IsPlusNumber(item[1]))
|
|
80926
|
+
{
|
|
80927
|
+
mapAvgVol5.set(item[0],{ AvgVol5:item[1] } );
|
|
80928
|
+
}
|
|
80929
|
+
}
|
|
80930
|
+
}
|
|
80931
|
+
else
|
|
80932
|
+
{
|
|
80933
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(data.data)) return;
|
|
80843
80934
|
|
|
80844
|
-
|
|
80935
|
+
var minuteCount=241;
|
|
80936
|
+
if (IFrameSplitOperator.IsNumber(data.minutecount)) minuteCount=data.minutecount;
|
|
80937
|
+
for(var i=0,j=0,dayCount=0;i<data.data.length;++i) //每天的5日成交均量
|
|
80938
|
+
{
|
|
80939
|
+
sumVol=0;
|
|
80940
|
+
for(j=i,dayCount=0;j>=0 && dayCount<5;--j, ++dayCount)
|
|
80941
|
+
{
|
|
80942
|
+
var item=data.data[j];
|
|
80943
|
+
if (IFrameSplitOperator.IsNumber(item[6]))
|
|
80944
|
+
sumVol+=item[6];
|
|
80945
|
+
}
|
|
80946
|
+
|
|
80947
|
+
if (dayCount>0)
|
|
80948
|
+
{
|
|
80949
|
+
avgVol5=sumVol/dayCount/minuteCount;
|
|
80950
|
+
var item=data.data[i];
|
|
80951
|
+
mapAvgVol5.set(item[0],
|
|
80952
|
+
{
|
|
80953
|
+
//for debug
|
|
80954
|
+
//Vol5:sumVol, MinuteCount:minuteCount,,Count:dayCount,
|
|
80955
|
+
AvgVol5:avgVol5
|
|
80956
|
+
} );
|
|
80957
|
+
}
|
|
80958
|
+
}
|
|
80959
|
+
}
|
|
80960
|
+
|
|
80961
|
+
if (mapAvgVol5.size>0) this.ExtendData.set(key,mapAvgVol5);
|
|
80962
|
+
JSConsole.Complier.Log('[JSSymbolData::RecvVolRateData]', mapAvgVol5);
|
|
80845
80963
|
}
|
|
80846
80964
|
|
|
80847
80965
|
this.GetVolRateCacheData=function(node)
|
|
@@ -80850,23 +80968,31 @@ function JSSymbolData(ast,option,jsExecute)
|
|
|
80850
80968
|
if (!key || !this.ExtendData.has(key)) this.Execute.ThrowUnexpectedNode(node,'不支持VOLR');
|
|
80851
80969
|
|
|
80852
80970
|
var result=[];
|
|
80853
|
-
var
|
|
80854
|
-
var avgVol5=
|
|
80855
|
-
var totalVol=0;
|
|
80856
|
-
//5日成交总量只取了最新一天的,历史的暂时没有取,所以数据计算的时候只计算最新的一天, 其他都空
|
|
80971
|
+
var mapAvgVol5=this.ExtendData.get(key);
|
|
80972
|
+
var totalVol=0, preDate=0, avgVol5=null;
|
|
80857
80973
|
for(var i=0, j=0;i<this.Data.Data.length;++i)
|
|
80858
80974
|
{
|
|
80859
80975
|
result[i]=null;
|
|
80860
80976
|
var item=this.Data.Data[i];
|
|
80861
|
-
|
|
80862
|
-
|
|
80863
|
-
|
|
80864
|
-
|
|
80865
|
-
|
|
80866
|
-
|
|
80977
|
+
if (preDate!=item.Date)
|
|
80978
|
+
{
|
|
80979
|
+
avgVol5=null;
|
|
80980
|
+
j=0;
|
|
80981
|
+
totalVol=0;
|
|
80982
|
+
|
|
80983
|
+
if (mapAvgVol5.has(item.Date))
|
|
80984
|
+
{
|
|
80985
|
+
var volItem=mapAvgVol5.get(item.Date);
|
|
80986
|
+
avgVol5=volItem.AvgVol5;
|
|
80987
|
+
}
|
|
80988
|
+
|
|
80989
|
+
preDate=item.Date;
|
|
80990
|
+
}
|
|
80991
|
+
|
|
80992
|
+
if (avgVol5==null) continue;
|
|
80867
80993
|
|
|
80868
80994
|
totalVol+=item.Vol;
|
|
80869
|
-
|
|
80995
|
+
result[i]=totalVol/(j+1)/avgVol5*100;
|
|
80870
80996
|
++j;
|
|
80871
80997
|
}
|
|
80872
80998
|
|
|
@@ -66414,7 +66414,8 @@ var MARKET_SUFFIX_NAME=
|
|
|
66414
66414
|
TOCOM:".TOCOM", //东京商品交易所(TOCOM)
|
|
66415
66415
|
IPE:".IPE", //美国洲际交易所 (ICE EUROPE)
|
|
66416
66416
|
|
|
66417
|
-
TW:".TW", //台湾股票
|
|
66417
|
+
TW:".TW", //台湾股票 9:00-13:30
|
|
66418
|
+
JP:".JP", //日本股票 9:00-11:30, 12:30-15:00
|
|
66418
66419
|
|
|
66419
66420
|
ET:'.ET', //其他未知的品种
|
|
66420
66421
|
|
|
@@ -66561,6 +66562,13 @@ var MARKET_SUFFIX_NAME=
|
|
|
66561
66562
|
return find == pos;
|
|
66562
66563
|
},
|
|
66563
66564
|
|
|
66565
|
+
IsJP:function(upperSymbol)
|
|
66566
|
+
{
|
|
66567
|
+
var pos = upperSymbol.length - this.JP.length;
|
|
66568
|
+
var find = upperSymbol.indexOf(this.JP);
|
|
66569
|
+
return find == pos;
|
|
66570
|
+
},
|
|
66571
|
+
|
|
66564
66572
|
IsSHFE: function (upperSymbol)
|
|
66565
66573
|
{
|
|
66566
66574
|
if (!upperSymbol) return false;
|
|
@@ -66755,6 +66763,13 @@ var MARKET_SUFFIX_NAME=
|
|
|
66755
66763
|
if(time<820) return 1;
|
|
66756
66764
|
return 2;
|
|
66757
66765
|
}
|
|
66766
|
+
else if (this.IsJP(upperSymbol)) //日本股票 9:00-11:30 12:30-15:00
|
|
66767
|
+
{
|
|
66768
|
+
if(day == 6 || day== 0) return 0; //周末
|
|
66769
|
+
if(time>1520) return 3;
|
|
66770
|
+
if(time<830) return 1;
|
|
66771
|
+
return 2;
|
|
66772
|
+
}
|
|
66758
66773
|
else if (this.IsNYMEX(upperSymbol))
|
|
66759
66774
|
{
|
|
66760
66775
|
return this.GetNYMEXMarketStatus(upperSymbol);
|
|
@@ -66853,6 +66868,11 @@ var MARKET_SUFFIX_NAME=
|
|
|
66853
66868
|
return 2;
|
|
66854
66869
|
},
|
|
66855
66870
|
|
|
66871
|
+
GetJPDecimal:function(symbol)
|
|
66872
|
+
{
|
|
66873
|
+
return 2;
|
|
66874
|
+
},
|
|
66875
|
+
|
|
66856
66876
|
GetForeignExchangeDecimal:function(symbol)
|
|
66857
66877
|
{
|
|
66858
66878
|
return 4;
|
|
@@ -66981,7 +67001,8 @@ function MinuteTimeStringData()
|
|
|
66981
67001
|
this.FHK=null; //港股指数期货
|
|
66982
67002
|
this.ForeEx=null; //外汇
|
|
66983
67003
|
this.BIT=null; //数字货币
|
|
66984
|
-
this.TW=null;
|
|
67004
|
+
this.TW=null; //台湾股票
|
|
67005
|
+
this.JP=null; //日本股票
|
|
66985
67006
|
|
|
66986
67007
|
this.Initialize = function () //初始化 默认只初始化沪深的 其他市场动态生成
|
|
66987
67008
|
{
|
|
@@ -67024,6 +67045,12 @@ function MinuteTimeStringData()
|
|
|
67024
67045
|
return this.TW;
|
|
67025
67046
|
}
|
|
67026
67047
|
|
|
67048
|
+
this.GetJP=function(upperSymbol)
|
|
67049
|
+
{
|
|
67050
|
+
if (this.JP) this.JP=this.CreateJPData();
|
|
67051
|
+
return this.JP;
|
|
67052
|
+
}
|
|
67053
|
+
|
|
67027
67054
|
this.GetFutures=function(splitData)
|
|
67028
67055
|
{
|
|
67029
67056
|
if (!this.Futures.has(splitData.Name))
|
|
@@ -67121,6 +67148,17 @@ function MinuteTimeStringData()
|
|
|
67121
67148
|
return this.CreateTimeData(TIME_SPLIT);
|
|
67122
67149
|
}
|
|
67123
67150
|
|
|
67151
|
+
this.CreateJPData=function()
|
|
67152
|
+
{
|
|
67153
|
+
const TIME_SPLIT =
|
|
67154
|
+
[
|
|
67155
|
+
{ Start: 900, End: 1130 },
|
|
67156
|
+
{ Start: 1230, End: 1500 }
|
|
67157
|
+
];
|
|
67158
|
+
|
|
67159
|
+
return this.CreateTimeData(TIME_SPLIT);
|
|
67160
|
+
}
|
|
67161
|
+
|
|
67124
67162
|
this.CreateFTSEData=function()
|
|
67125
67163
|
{
|
|
67126
67164
|
const TIME_SPLIT=
|
|
@@ -67229,6 +67267,7 @@ function MinuteTimeStringData()
|
|
|
67229
67267
|
if (MARKET_SUFFIX_NAME.IsSHO(upperSymbol) || MARKET_SUFFIX_NAME.IsSZO(upperSymbol)) return this.GetSHO();
|
|
67230
67268
|
if (MARKET_SUFFIX_NAME.IsHK(upperSymbol)) return this.GetHK(upperSymbol);
|
|
67231
67269
|
if (MARKET_SUFFIX_NAME.IsTW(upperSymbol)) return this.GetTW(upperSymbol);
|
|
67270
|
+
if (MARKET_SUFFIX_NAME.IsJP(upperSymbol)) return this.GetJP(upperSymbol);
|
|
67232
67271
|
if (MARKET_SUFFIX_NAME.IsUSA(upperSymbol)) return this.GetUSA(true);
|
|
67233
67272
|
if (MARKET_SUFFIX_NAME.IsCFFEX(upperSymbol) || MARKET_SUFFIX_NAME.IsCZCE(upperSymbol) || MARKET_SUFFIX_NAME.IsDCE(upperSymbol) || MARKET_SUFFIX_NAME.IsSHFE(upperSymbol))
|
|
67234
67273
|
{
|
|
@@ -67713,6 +67752,8 @@ function MinuteCoordinateData()
|
|
|
67713
67752
|
data=this.GetHKData(upperSymbol,width);
|
|
67714
67753
|
else if (MARKET_SUFFIX_NAME.IsTW(upperSymbol))
|
|
67715
67754
|
data=this.GetTWData(upperSymbol,width);
|
|
67755
|
+
else if (MARKET_SUFFIX_NAME.IsJP(upperSymbol))
|
|
67756
|
+
data=this.GetJPData(upperSymbol,width);
|
|
67716
67757
|
else if (MARKET_SUFFIX_NAME.IsCFFEX(upperSymbol) || MARKET_SUFFIX_NAME.IsCZCE(upperSymbol) || MARKET_SUFFIX_NAME.IsDCE(upperSymbol) || MARKET_SUFFIX_NAME.IsSHFE(upperSymbol))
|
|
67717
67758
|
return this.GetChinatFuturesData(upperSymbol,width);
|
|
67718
67759
|
else if (MARKET_SUFFIX_NAME.IsUSA(upperSymbol))
|
|
@@ -67893,6 +67934,12 @@ function MinuteCoordinateData()
|
|
|
67893
67934
|
{
|
|
67894
67935
|
throw {Name:'MinuteCoordinateData::GetETData', Error:'not implement'};
|
|
67895
67936
|
}
|
|
67937
|
+
|
|
67938
|
+
this.GetJPData=function(upperSymbol,width)
|
|
67939
|
+
{
|
|
67940
|
+
throw {Name:'MinuteCoordinateData::GetJPData', Error:'not implement'};
|
|
67941
|
+
}
|
|
67942
|
+
|
|
67896
67943
|
}
|
|
67897
67944
|
|
|
67898
67945
|
//国内期货不同品种 交易时间数据
|
|
@@ -70037,6 +70084,7 @@ function GetfloatPrecision(symbol) //获取小数位数
|
|
|
70037
70084
|
else if (MARKET_SUFFIX_NAME.IsIPE(upperSymbol)) defaultfloatPrecision=g_IPETimeData.GetDecimal(upperSymbol);
|
|
70038
70085
|
else if (MARKET_SUFFIX_NAME.IsHK(upperSymbol)) defaultfloatPrecision=MARKET_SUFFIX_NAME.GetHKDecimal(upperSymbol);
|
|
70039
70086
|
else if (MARKET_SUFFIX_NAME.IsTW(upperSymbol)) defaultfloatPrecision=MARKET_SUFFIX_NAME.GetTWDecimal(upperSymbol);
|
|
70087
|
+
else if (MARKET_SUFFIX_NAME.IsJP(upperSymbol)) defaultfloatPrecision=MARKET_SUFFIX_NAME.GetJPDecimal(upperSymbol);
|
|
70040
70088
|
else defaultfloatPrecision=MARKET_SUFFIX_NAME.GetDefaultDecimal(upperSymbol);
|
|
70041
70089
|
|
|
70042
70090
|
return defaultfloatPrecision;
|
|
@@ -80855,12 +80903,41 @@ function JSSymbolData(ast,option,jsExecute)
|
|
|
80855
80903
|
if (this.ExtendData.has(volrKey)) return this.Execute.RunNextJob();
|
|
80856
80904
|
|
|
80857
80905
|
var self=this;
|
|
80906
|
+
var dayCount=30;
|
|
80907
|
+
if (this.NetworkFilter)
|
|
80908
|
+
{
|
|
80909
|
+
var dateRange=this.Data.GetDateRange();
|
|
80910
|
+
var dayCount=1;
|
|
80911
|
+
if (this.DataType==HQ_DATA_TYPE.MULTIDAY_MINUTE_ID) dayCount=this.DayCount;
|
|
80912
|
+
var obj=
|
|
80913
|
+
{
|
|
80914
|
+
Name:'JSSymbolData::GetVolRateData', //类名:: 函数
|
|
80915
|
+
Explain:'分时量比数据(成交量)',
|
|
80916
|
+
Request:
|
|
80917
|
+
{
|
|
80918
|
+
Url:self.KLineApiUrl, Type:'POST' ,
|
|
80919
|
+
Data: { symbol:self.Symbol, dayCount:dayCount, field: ["name","symbol","vol"], period:0, right:0, dateRange:dateRange }
|
|
80920
|
+
},
|
|
80921
|
+
Self:this,
|
|
80922
|
+
PreventDefault:false
|
|
80923
|
+
};
|
|
80924
|
+
this.NetworkFilter(obj, function(recvData)
|
|
80925
|
+
{
|
|
80926
|
+
self.RecvVolRateData(recvData,volrKey);
|
|
80927
|
+
self.Execute.RunNextJob();
|
|
80928
|
+
});
|
|
80929
|
+
|
|
80930
|
+
if (obj.PreventDefault==true) return; //已被上层替换,不调用默认的网络请求
|
|
80931
|
+
}
|
|
80932
|
+
|
|
80858
80933
|
JSNetwork.HttpRequest({
|
|
80859
|
-
url: self.
|
|
80934
|
+
url: self.KLineApiUrl,
|
|
80860
80935
|
data:
|
|
80861
80936
|
{
|
|
80862
|
-
"field":
|
|
80863
|
-
"symbol":
|
|
80937
|
+
"field": ["name","symbol","vol"],
|
|
80938
|
+
"symbol": self.Symbol,
|
|
80939
|
+
"start": -1,
|
|
80940
|
+
"count": dayCount
|
|
80864
80941
|
},
|
|
80865
80942
|
type:"post",
|
|
80866
80943
|
dataType: "json",
|
|
@@ -80879,13 +80956,54 @@ function JSSymbolData(ast,option,jsExecute)
|
|
|
80879
80956
|
|
|
80880
80957
|
this.RecvVolRateData=function(data,key)
|
|
80881
80958
|
{
|
|
80882
|
-
|
|
80883
|
-
var
|
|
80884
|
-
|
|
80885
|
-
|
|
80886
|
-
|
|
80959
|
+
var sumVol=0,avgVol5=0;
|
|
80960
|
+
var mapAvgVol5=new Map();
|
|
80961
|
+
if (data.Ver==2.0) // {Ver:2.0 , data:[ [日期,5日vol均值]] }
|
|
80962
|
+
{
|
|
80963
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(data.data)) return;
|
|
80964
|
+
for(var i=0;i<data.data.length;++i)
|
|
80965
|
+
{
|
|
80966
|
+
var item=data.data[i];
|
|
80967
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(item)) continue;
|
|
80968
|
+
if (item.length<2) continue;
|
|
80969
|
+
if (IFrameSplitOperator.IsNumber(item[0]) && IFrameSplitOperator.IsPlusNumber(item[1]))
|
|
80970
|
+
{
|
|
80971
|
+
mapAvgVol5.set(item[0],{ AvgVol5:item[1] } );
|
|
80972
|
+
}
|
|
80973
|
+
}
|
|
80974
|
+
}
|
|
80975
|
+
else
|
|
80976
|
+
{
|
|
80977
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(data.data)) return;
|
|
80887
80978
|
|
|
80888
|
-
|
|
80979
|
+
var minuteCount=241;
|
|
80980
|
+
if (IFrameSplitOperator.IsNumber(data.minutecount)) minuteCount=data.minutecount;
|
|
80981
|
+
for(var i=0,j=0,dayCount=0;i<data.data.length;++i) //每天的5日成交均量
|
|
80982
|
+
{
|
|
80983
|
+
sumVol=0;
|
|
80984
|
+
for(j=i,dayCount=0;j>=0 && dayCount<5;--j, ++dayCount)
|
|
80985
|
+
{
|
|
80986
|
+
var item=data.data[j];
|
|
80987
|
+
if (IFrameSplitOperator.IsNumber(item[6]))
|
|
80988
|
+
sumVol+=item[6];
|
|
80989
|
+
}
|
|
80990
|
+
|
|
80991
|
+
if (dayCount>0)
|
|
80992
|
+
{
|
|
80993
|
+
avgVol5=sumVol/dayCount/minuteCount;
|
|
80994
|
+
var item=data.data[i];
|
|
80995
|
+
mapAvgVol5.set(item[0],
|
|
80996
|
+
{
|
|
80997
|
+
//for debug
|
|
80998
|
+
//Vol5:sumVol, MinuteCount:minuteCount,,Count:dayCount,
|
|
80999
|
+
AvgVol5:avgVol5
|
|
81000
|
+
} );
|
|
81001
|
+
}
|
|
81002
|
+
}
|
|
81003
|
+
}
|
|
81004
|
+
|
|
81005
|
+
if (mapAvgVol5.size>0) this.ExtendData.set(key,mapAvgVol5);
|
|
81006
|
+
JSConsole.Complier.Log('[JSSymbolData::RecvVolRateData]', mapAvgVol5);
|
|
80889
81007
|
}
|
|
80890
81008
|
|
|
80891
81009
|
this.GetVolRateCacheData=function(node)
|
|
@@ -80894,23 +81012,31 @@ function JSSymbolData(ast,option,jsExecute)
|
|
|
80894
81012
|
if (!key || !this.ExtendData.has(key)) this.Execute.ThrowUnexpectedNode(node,'不支持VOLR');
|
|
80895
81013
|
|
|
80896
81014
|
var result=[];
|
|
80897
|
-
var
|
|
80898
|
-
var avgVol5=
|
|
80899
|
-
var totalVol=0;
|
|
80900
|
-
//5日成交总量只取了最新一天的,历史的暂时没有取,所以数据计算的时候只计算最新的一天, 其他都空
|
|
81015
|
+
var mapAvgVol5=this.ExtendData.get(key);
|
|
81016
|
+
var totalVol=0, preDate=0, avgVol5=null;
|
|
80901
81017
|
for(var i=0, j=0;i<this.Data.Data.length;++i)
|
|
80902
81018
|
{
|
|
80903
81019
|
result[i]=null;
|
|
80904
81020
|
var item=this.Data.Data[i];
|
|
80905
|
-
|
|
80906
|
-
|
|
80907
|
-
|
|
80908
|
-
|
|
80909
|
-
|
|
80910
|
-
|
|
81021
|
+
if (preDate!=item.Date)
|
|
81022
|
+
{
|
|
81023
|
+
avgVol5=null;
|
|
81024
|
+
j=0;
|
|
81025
|
+
totalVol=0;
|
|
81026
|
+
|
|
81027
|
+
if (mapAvgVol5.has(item.Date))
|
|
81028
|
+
{
|
|
81029
|
+
var volItem=mapAvgVol5.get(item.Date);
|
|
81030
|
+
avgVol5=volItem.AvgVol5;
|
|
81031
|
+
}
|
|
81032
|
+
|
|
81033
|
+
preDate=item.Date;
|
|
81034
|
+
}
|
|
81035
|
+
|
|
81036
|
+
if (avgVol5==null) continue;
|
|
80911
81037
|
|
|
80912
81038
|
totalVol+=item.Vol;
|
|
80913
|
-
|
|
81039
|
+
result[i]=totalVol/(j+1)/avgVol5*100;
|
|
80914
81040
|
++j;
|
|
80915
81041
|
}
|
|
80916
81042
|
|