hqchart 1.1.14576 → 1.1.14591
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 +205 -72
- package/package.json +1 -1
- package/src/jscommon/umychart.DialogSearchIndex.js +72 -7
- package/src/jscommon/umychart.NetworkFilterTest.js +82 -1
- package/src/jscommon/umychart.complier.js +12 -7
- package/src/jscommon/umychart.index.data.js +178 -7
- package/src/jscommon/umychart.js +246 -5
- package/src/jscommon/umychart.testdata.js +82 -1
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +437 -20
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.NetworkFilterTest.vue.js +82 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +509 -27
package/lib/umychart.vue.js
CHANGED
|
@@ -58,13 +58,13 @@ HISTORY_MINUTE_ID:103,//历史分钟 走势图
|
|
|
58
58
|
//K线周期
|
|
59
59
|
KLINE_DAY_ID:0,KLINE_WEEK_ID:1,KLINE_TWOWEEK_ID:21,KLINE_MONTH_ID:2,KLINE_QUARTER_ID:9,KLINE_YEAR_ID:3,KLINE_MINUTE_ID:4,KLINE_5_MINUTE_ID:5,KLINE_15_MINUTE_ID:6,KLINE_30_MINUTE_ID:7,KLINE_60_MINUTE_ID:8};//自定义的指标脚本
|
|
60
60
|
function CustomIndexScript(){this.DataMap=new _map2.default();//key=指标id, value=data {ID:, Name:指标名字, Description:指标描述信息 Args:参数 ......}
|
|
61
|
-
this.Get=function(id){if(!this.DataMap.has(id))return null;return this.DataMap.get(id);};this.Add=function(data){this.DataMap.set(data.ID,data);};}var g_CustomIndex=new CustomIndexScript();function JSIndexScript(){this.DataMap=new _map2.default([['MA',this.MA],['均线',this.MA],["MA4",this.MA4],["MA5",this.MA5],["MA6",this.MA6],["MA7",this.MA7],["MA8",this.MA8],['BOLL',this.BOLL],['BOLL副图',this.BOLL2],['BBI',this.BBI],['DKX',this.DKX],['MIKE',this.MIKE],['PBX',this.PBX],['ENE',this.ENE],['MACD',this.MACD],['KDJ',this.KDJ],["MACD2",this.MACD2],['VOL',this.VOL],['VOL2',this.VOL2],["VOL_OVERLAY",this.VOL_OVERLAY],['RSI',this.RSI],['BRAR',this.BRAR],['WR',this.WR],['BIAS',this.BIAS],['OBV',this.OBV],['DMI',this.DMI],['CR',this.CR],['PSY',this.PSY],['CCI',this.CCI],['DMA',this.DMA],['TRIX',this.TRIX],['VR',this.VR],['EMV',this.EMV],['ROC',this.ROC],['MTM',this.MTM],['FSL',this.FSL],['CYR',this.CYR],['MASS',this.MASS],['WAD',this.WAD],['CHO',this.CHO],['ADTM',this.ADTM],['HSL',this.HSL],['BIAS36',this.BIAS36],['BIAS_QL',this.BIAS_QL],['DPO',this.DPO],['OSC',this.OSC],['ATR',this.ATR],['NVI',this.NVI],['PVI',this.PVI],['UOS',this.UOS],['CYW',this.CYW],['LON',this.LON],['NDB',this.NDB],['SKDJ',this.SKDJ],['KD',this.KD],['FKX',this.FKX],['DKCOL',this.DKCOL],['UDL',this.UDL],['MFI',this.MFI],['LWR',this.LWR],['MARSI',this.MARSI],['CYD',this.CYD],['CYF',this.CYF],['TAPI',this.TAPI],['VMACD',this.VMACD],['QACD',this.QACD],['VPT',this.VPT],['WVAD',this.WVAD],['DBQR',this.DBQR],['JS',this.JS],['CYE',this.CYE],['QR',this.QR],['GDX',this.GDX],['JLHB',this.JLHB],['PCNT',this.PCNT],['BTX',this.BTX],['AMO',this.AMO],['VRSI',this.VRSI],['HSCOL',this.HSCOL],['DBQRV',this.DBQRV],['DBLB',this.DBLB],['ACD',this.ACD],['EXPMA',this.EXPMA],['EXPMA_S',this.EXPMA_S],['HMA',this.HMA],['LMA',this.LMA],['VMA',this.VMA],['AMV',this.AMV],['BBIBOLL',this.BBIBOLL],['ALLIGAT',this.ALLIGAT],['ZX',this.ZX],['XS',this.XS],['XS2',this.XS2],['SG-XDT',this.SG_XDT],['SG-SMX',this.SG_SMX],['SG-LB',this.SG_LB],['SG-PF',this.SG_PF],['RAD',this.RAD],['SHT',this.SHT],['ZLJC',this.ZLJC],['ZLMM',this.ZLMM],['SLZT',this.SLZT],['ADVOL',this.ADVOL],['CYC',this.CYC],['CYS',this.CYS],['CYQKL',this.CYQKL],['SCR',this.SCR],['ASR',this.ASR],['SAR',this.SAR],['TJCJL',this.TJCJL],['量比',this.VOLRate],['平均K线',this.HeikinAshi],["ADL",this.ADL],["SQJZ",this.SQJZ],["XT",this.XT],["CFJT",this.CFJT],["CYX",this.CYX],["WAVE",this.WAVE],['VOL-TDX',this.VOL_TDX],['EMPTY',this.EMPTY],//什么都不显示的指标
|
|
62
|
-
['神奇九转',this.NineTurns],['EMA',this.EMA3],['EMA4',this.EMA4],['EMA5',this.EMA5],['EMA6',this.EMA6],["ICHIMOKU",this.ICHIMOKU],["CDP-STD",this.CDP_STD],["TBP-STD",this.TBP_STD],["ADX",this.ADX],["持仓量",this.VOL_POSITION],//成交量+持仓量
|
|
61
|
+
this.Get=function(id){if(!this.DataMap.has(id))return null;return this.DataMap.get(id);};this.Add=function(data){this.DataMap.set(data.ID,data);};}var g_CustomIndex=new CustomIndexScript();function JSIndexScript(){this.DataMap=new _map2.default([['MA',this.MA],['均线',this.MA],["MA4",this.MA4],["MA5",this.MA5],["MA6",this.MA6],["MA7",this.MA7],["MA8",this.MA8],['BOLL',this.BOLL],['BOLL副图',this.BOLL2],['BBI',this.BBI],['DKX',this.DKX],['MIKE',this.MIKE],['PBX',this.PBX],['ENE',this.ENE],['MACD',this.MACD],['KDJ',this.KDJ],["MACD2",this.MACD2],['VOL',this.VOL],['VOL2',this.VOL2],["VOL_OVERLAY",this.VOL_OVERLAY],['RSI',this.RSI],['BRAR',this.BRAR],['WR',this.WR],['BIAS',this.BIAS],['OBV',this.OBV],['DMI',this.DMI],['CR',this.CR],['PSY',this.PSY],['CCI',this.CCI],['DMA',this.DMA],['TRIX',this.TRIX],['VR',this.VR],['EMV',this.EMV],['ROC',this.ROC],['MTM',this.MTM],['FSL',this.FSL],['CYR',this.CYR],['MASS',this.MASS],['WAD',this.WAD],['CHO',this.CHO],['ADTM',this.ADTM],['HSL',this.HSL],['BIAS36',this.BIAS36],['BIAS_QL',this.BIAS_QL],['DPO',this.DPO],['OSC',this.OSC],['ATR',this.ATR],['NVI',this.NVI],['PVI',this.PVI],['UOS',this.UOS],['CYW',this.CYW],['LON',this.LON],['NDB',this.NDB],['SKDJ',this.SKDJ],['KD',this.KD],['FKX',this.FKX],['DKCOL',this.DKCOL],['UDL',this.UDL],['MFI',this.MFI],['LWR',this.LWR],['MARSI',this.MARSI],['CYD',this.CYD],['CYF',this.CYF],['TAPI',this.TAPI],['VMACD',this.VMACD],['QACD',this.QACD],['VPT',this.VPT],['WVAD',this.WVAD],['DBQR',this.DBQR],['JS',this.JS],['CYE',this.CYE],['QR',this.QR],['GDX',this.GDX],['JLHB',this.JLHB],['PCNT',this.PCNT],['BTX',this.BTX],['AMO',this.AMO],['VRSI',this.VRSI],['HSCOL',this.HSCOL],['DBQRV',this.DBQRV],['DBLB',this.DBLB],['ACD',this.ACD],['EXPMA',this.EXPMA],['EXPMA_S',this.EXPMA_S],['HMA',this.HMA],['LMA',this.LMA],['VMA',this.VMA],['AMV',this.AMV],['BBIBOLL',this.BBIBOLL],['ALLIGAT',this.ALLIGAT],["GMMA",this.GMMA],['ZX',this.ZX],['XS',this.XS],['XS2',this.XS2],['SG-XDT',this.SG_XDT],['SG-SMX',this.SG_SMX],['SG-LB',this.SG_LB],['SG-PF',this.SG_PF],['RAD',this.RAD],['SHT',this.SHT],['ZLJC',this.ZLJC],['ZLMM',this.ZLMM],['SLZT',this.SLZT],['ADVOL',this.ADVOL],['CYC',this.CYC],['CYS',this.CYS],['CYQKL',this.CYQKL],['SCR',this.SCR],['ASR',this.ASR],['SAR',this.SAR],['TJCJL',this.TJCJL],['量比',this.VOLRate],['平均K线',this.HeikinAshi],["ADL",this.ADL],["SQJZ",this.SQJZ],["XT",this.XT],["CFJT",this.CFJT],["CYX",this.CYX],["WAVE",this.WAVE],['VOL-TDX',this.VOL_TDX],['EMPTY',this.EMPTY],//什么都不显示的指标
|
|
62
|
+
['神奇九转',this.NineTurns],['EMA',this.EMA3],['EMA4',this.EMA4],['EMA5',this.EMA5],['EMA6',this.EMA6],["ICHIMOKU",this.ICHIMOKU],["CDP-STD",this.CDP_STD],["TBP-STD",this.TBP_STD],["ADX",this.ADX],["SMACD",this.SMACD],["ACCER",this.ACCER],["AMO-TDX",this.AMO_TDX],["WSBVOL",this.WSBVOL],["CCYD",this.CCYD],["CCL",this.CCL],["ABI",this.ABI],["持仓量",this.VOL_POSITION],//成交量+持仓量
|
|
63
63
|
//通达信特色指标
|
|
64
64
|
["散户线",this.ShareholderCount],["NXTS",this.NXTS],["FKX",this.FKX],["两融资金",this.Margin4],["ZSDB",this.ZSDB],['CJL2',this.CJL],//期货持仓量
|
|
65
65
|
['ASI',this.ASI],['DC',this.DC],['DEMA',this.DEMA],["VWAP",this.VWAP],//指南针
|
|
66
|
-
["ZNZ_CBAND",this.ZNZ_CBAND],["ZNZ_RPY2",this.ZNZ_RPY2],["ZNZ_RPY1",this.ZNZ_RPY1],['飞龙四式',this.Dragon4_Main],['飞龙四式-附图',this.Dragon4_Fig],['资金分析',this.FundsAnalysis],['融资占比',this.MarginProportion],['负面新闻',this.NewsNegative],['涨跌趋势',this.UpDownAnalyze],['北上资金',this.HK2SHSZ],['股东人数',this.ShareHolder],["两融余额",this.Margin2],["两融余额2",this.Margin3]
|
|
67
|
-
['
|
|
66
|
+
["ZNZ_CBAND",this.ZNZ_CBAND],["ZNZ_RPY2",this.ZNZ_RPY2],["ZNZ_RPY1",this.ZNZ_RPY1],['飞龙四式',this.Dragon4_Main],['飞龙四式-附图',this.Dragon4_Fig],['资金分析',this.FundsAnalysis],['融资占比',this.MarginProportion],['负面新闻',this.NewsNegative],['涨跌趋势',this.UpDownAnalyze],['北上资金',this.HK2SHSZ],['股东人数',this.ShareHolder],["两融余额",this.Margin2],["两融余额2",this.Margin3],//特色指标
|
|
67
|
+
['特色指标-操盘BS点',this.FXG_BSPoint],['特色指标-涨停多空线',this.FXG_INDEX],['特色指标-涨停吸筹区',this.FXG_INDEX2],['特色指标-量能黄金点',this.FXG_INDEX3],//五彩K线(函数COLOR_开头)
|
|
68
68
|
['五彩K线-十字星',this.COLOR_KSTAR1],['五彩K线-早晨之星',this.COLOR_KSTAR2],['五彩K线-黄昏之星',this.COLOR_KSTAR3],['五彩K线-长十字',this.COLOR_SHI1],['五彩K线-身怀六甲',this.COLOR_K220],['五彩K线-三个白武士',this.COLOR_K300],['五彩K线-三只乌鸦',this.COLOR_K310],['五彩K线-光头阳线',this.COLOR_K380],['五彩K线-光脚阴线',this.COLOR_K390],['五彩K线-垂死十字',this.COLOR_K134],['五彩K线-早晨十字星',this.COLOR_K140],['五彩K线-黄昏十字星',this.COLOR_K150],['五彩K线-射击之星',this.COLOR_K160],['五彩K线-倒转锤头',this.COLOR_K165],['五彩K线-锤头',this.COLOR_K170],['五彩K线-吊颈',this.COLOR_K180],['五彩K线-穿头破脚',this.COLOR_K190],['五彩K线-出水芙蓉',this.COLOR_CSFR],['五彩K线-乌云盖顶',this.COLOR_WYGD],['五彩K线-曙光初现',this.COLOR_SGCJ],['五彩K线-十字胎',this.COLOR_SZTAI],['五彩K线-剑',this.COLOR_SWORD],['五彩K线-平顶',this.COLOR_PINGDING],['五彩K线-平底',this.COLOR_PINGDI],['五彩K线-大阳烛',this.COLOR_DAYANZHU],['五彩K线-大阴烛',this.COLOR_DAYINGZHU],['五彩K线-好友反攻',this.COLOR_HYFG],['五彩K线-跳空缺口',this.COLOR_TKQK],['五彩K线-双飞乌鸦',this.COLOR_SFWY],['五彩K线-上升三部曲',this.COLOR_SSSBQ],['五彩K线-下跌三部曲',this.COLOR_XDSBQ],['五彩K线-长下影',this.COLOR_CHXY],['五彩K线-长上影',this.COLOR_CHSY],['五彩K线-分离',this.COLOR_FENLI],//交易系统
|
|
69
69
|
['交易系统-BIAS',this.TRADE_BIAS],['交易系统-CCI',this.TRADE_CCI],['交易系统-DMI',this.TRADE_DMI],['交易系统-KD',this.TRADE_KD],['交易系统-BOLL',this.TRADE_BOLL],['交易系统-KDJ',this.TRADE_KDJ],['交易系统-MA',this.TRADE_MA],['交易系统-MACD',this.TRADE_MACD],['交易系统-MTM',this.TRADE_MTM],['交易系统-PSY',this.TRADE_PSY],['交易系统-ROC',this.TRADE_ROC],['交易系统-RSI',this.TRADE_RSI],['交易系统-VR',this.TRADE_VR],['交易系统-DPSJ',this.TRADE_DPSJ],['TEST',this.TEST]//测试用
|
|
70
70
|
]);}JSIndexScript.AddIndex=function(aryIndex)//添加自定义指标
|
|
@@ -183,7 +183,15 @@ VVOL:IF((CURRBARSCOUNT=1 AND DYNAINFO(8)>1),VOL*(TOTAL+3)/(CTIME+3),DRAWNULL),NO
|
|
|
183
183
|
STICKLINE((CURRBARSCOUNT=1 AND DYNAINFO(8)>1),VVOL,0,-1,-1),COLORYELLOW;\n\
|
|
184
184
|
VOLUME:VOL,VOLSTICK;\n\
|
|
185
185
|
MAVOL1:MA(VOLUME,M1);\n\
|
|
186
|
-
MAVOL2:MA(VOLUME,M2);'};return data;};JSIndexScript.prototype.
|
|
186
|
+
MAVOL2:MA(VOLUME,M2);'};return data;};JSIndexScript.prototype.AMO_TDX=function(){var data={Name:'AMO-TDX',Description:'成交金额(虚拟)',IsMainIndex:false,FloatPrecision:0,Args:[{Name:'M1',Value:5},{Name:'M2',Value:10}],Script://脚本
|
|
187
|
+
'TOTAL:=IF(PERIOD=1,5,IF(PERIOD=2,15,IF(PERIOD=3,30,IF(PERIOD=4,60,IF(PERIOD=5,TOTALFZNUM,1)))));\n\
|
|
188
|
+
MTIME:=MOD(FROMOPEN,TOTAL);\n\
|
|
189
|
+
CTIME:=IF(MTIME<0.5,TOTAL,MTIME);\n\
|
|
190
|
+
VAMO:=IF((CURRBARSCOUNT=1 AND DYNAINFO(8)>1),AMOUNT/10000.0*TOTAL/CTIME,DRAWNULL);\n\
|
|
191
|
+
STICKLINE((CURRBARSCOUNT=1 AND DYNAINFO(8)>1),VAMO,0,-1,-1),COLOR00C0C0;\n\
|
|
192
|
+
AMOW:AMOUNT/10000.0,VOLSTICK;\n\
|
|
193
|
+
AMO1:MA(AMOW,M1);\n\
|
|
194
|
+
AMO2:MA(AMOW,M2);'};return data;};JSIndexScript.prototype.RSI=function(){var data={Name:'RSI',Description:'相对强弱指标',IsMainIndex:false,Args:[{Name:'N1',Value:6},{Name:'N2',Value:12},{Name:'N3',Value:24}],Script://脚本
|
|
187
195
|
'LC:=REF(CLOSE,1);\n\
|
|
188
196
|
RSI1:SMA(MAX(CLOSE-LC,0),N1,1)/SMA(ABS(CLOSE-LC),N1,1)*100;\n\
|
|
189
197
|
RSI2:SMA(MAX(CLOSE-LC,0),N2,1)/SMA(ABS(CLOSE-LC),N2,1)*100;\n\
|
|
@@ -335,7 +343,11 @@ CYDN:WINNER(CLOSE)/MA(VOL/CAPITAL,N);'};return data;};JSIndexScript.prototype.CY
|
|
|
335
343
|
MATAIP:MA(TAPI,M);'};return data;};JSIndexScript.prototype.VMACD=function(){var data={Name:'VMACD',Description:'量平滑异同平均',IsMainIndex:false,Args:[{Name:'SHORT',Value:12},{Name:'LONG',Value:26},{Name:'MID',Value:9}],Script://脚本
|
|
336
344
|
'DIF:EMA(VOL,SHORT)-EMA(VOL,LONG);\n\
|
|
337
345
|
DEA:EMA(DIF,MID);\n\
|
|
338
|
-
MACD:DIF-DEA,COLORSTICK;'};return data;};JSIndexScript.prototype.
|
|
346
|
+
MACD:DIF-DEA,COLORSTICK;'};return data;};JSIndexScript.prototype.SMACD=function(){var data={Name:'SMACD',Description:'单线平滑异同平均线',IsMainIndex:false,Args:[{Name:'SHORT',Value:12},{Name:'LONG',Value:26},{Name:'MID',Value:9}],Script://脚本
|
|
347
|
+
'DIF:=EMA(CLOSE,SHORT)-EMA(CLOSE,LONG);\n\
|
|
348
|
+
DEA:EMA(DIF,MID);\n\
|
|
349
|
+
MACD:DIF,COLORSTICK;'};return data;};JSIndexScript.prototype.ACCER=function(){var data={Name:'ACCER',Description:'幅度涨速',IsMainIndex:false,Args:[{Name:'N',Value:8}],Script://脚本
|
|
350
|
+
'ACCER:SLOPE(CLOSE,N)/CLOSE;'};return data;};JSIndexScript.prototype.QACD=function(){var data={Name:'QACD',Description:'快速异同平均',IsMainIndex:false,Args:[{Name:'N1',Value:12},{Name:'N2',Value:26},{Name:'M',Value:9}],Script://脚本
|
|
339
351
|
'DIF:EMA(CLOSE,N1)-EMA(CLOSE,N2);\n\
|
|
340
352
|
MACD:EMA(DIF,M);\n\
|
|
341
353
|
DDIF:DIF-MACD;'};return data;};JSIndexScript.prototype.VPT=function(){var data={Name:'VPT',Description:'量价曲线',IsMainIndex:false,Args:[{Name:'N',Value:51},{Name:'M',Value:6}],Script://脚本
|
|
@@ -434,7 +446,19 @@ DWN:BBIBOLL-M*STD(BBIBOLL,N);'};return data;};JSIndexScript.prototype.ALLIGAT=fu
|
|
|
434
446
|
'NN:=(H+L)/2;\n\
|
|
435
447
|
上唇:REF(MA(NN,5),3),COLOR40FF40;\n\
|
|
436
448
|
牙齿:REF(MA(NN,8),5),COLOR0000C0;\n\
|
|
437
|
-
下颚:REF(MA(NN,13),8),COLORFF4040;'};return data;};JSIndexScript.prototype.
|
|
449
|
+
下颚:REF(MA(NN,13),8),COLORFF4040;'};return data;};JSIndexScript.prototype.GMMA=function(){var data={Name:'GMMA',Description:'顾比均线',IsMainIndex:true,Args:[],Script://脚本
|
|
450
|
+
'MA3:EMA(CLOSE,3),COLORC08080;\n\
|
|
451
|
+
MA5:EMA(CLOSE,5),COLORC08080;\n\
|
|
452
|
+
MA8:EMA(CLOSE,8),COLORC08080;\n\
|
|
453
|
+
MA10:EMA(CLOSE,10),COLORC08080;\n\
|
|
454
|
+
MA12:EMA(CLOSE,12),COLORC08080;\n\
|
|
455
|
+
MA15:EMA(CLOSE,15),COLORC08080;\n\
|
|
456
|
+
MA30:EMA(CLOSE,30),COLOR0080FF;\n\
|
|
457
|
+
MA35:EMA(CLOSE,35),COLOR0080FF;\n\
|
|
458
|
+
MA40:EMA(CLOSE,40),COLOR0080FF;\n\
|
|
459
|
+
MA45:EMA(CLOSE,45),COLOR0080FF;\n\
|
|
460
|
+
MA50:EMA(CLOSE,50),COLOR0080FF;\n\
|
|
461
|
+
MA60:EMA(CLOSE,60),COLOR0080FF;'};return data;};JSIndexScript.prototype.ZX=function(){var data={Name:'ZX',Description:'重心线',IsMainIndex:false,Args:[],Script://脚本
|
|
438
462
|
'AV:0.01*AMOUNT/VOL;'};return data;};JSIndexScript.prototype.XS=function(){var data={Name:'XS',Description:'薛斯通道',IsMainIndex:true,Args:[{Name:'N',Value:13}],Script://脚本
|
|
439
463
|
'VAR2:=CLOSE*VOL;\n\
|
|
440
464
|
VAR3:=EMA((EMA(VAR2,3)/EMA(VOL,3)+EMA(VAR2,6)/EMA(VOL,6)+EMA(VAR2,12)/EMA(VOL,12)+EMA(VAR2,24)/EMA(VOL,24))/4,N);\n\
|
|
@@ -1118,7 +1142,11 @@ TBP:REF(REF(C,1)+IF(DIRECT0>50,MIN(MF0,MF1),MAX(MF0,MF1)),1);\n\
|
|
|
1118
1142
|
'TR1:=SMA(MAX(MAX(HIGH-LOW,ABS(HIGH-REF(CLOSE,1))),ABS(LOW-REF(CLOSE,1))),N,1);\nHD:=HIGH-REF(HIGH,1);\nLD:=REF(LOW,1)-LOW;\nDMP:=SMA(IF(HD>0 AND HD>LD,HD,0),N,1);\nDMM:=SMA(IF(LD>0 AND LD>HD,LD,0),N,1);\nPDI:DMP*100/TR1,COLORRED,DOTLINE;\nMDI:DMM*100/TR1,COLORGREEN,DOTLINE;\nADX:SMA(ABS(MDI-PDI)/(MDI+PDI)*100,N,1),COLORYELLOW,LINETHICK2;\n20;\n40;'};return data;};JSIndexScript.prototype.ZNZ_CBAND=function(){var data={Name:'ZNZ_CBAND',Description:'优化成本布林带宽',IsMainIndex:false,Args:[{Name:'N',Value:20}],Script://脚本
|
|
1119
1143
|
'A:=AMOUNT/(100*VOL);\nBBI1:=MA(A,N);\nUPR0:=BBI1+STD(A,N);\nDWN0:=BBI1-STD(A,N);\nUPR1:=BBI1+1.7*STD(A,N);\nDWN1:=BBI1-1.7*STD(A,N);\n\u4F18\u5316\u6210\u672C\u5E03\u6797\u5E26\u5BBD:100*1.7*STD(A,N);'};return data;};JSIndexScript.prototype.ZNZ_RPY2=function(){var data={Name:'ZNZ_RPY2',Description:'两年相对价位',IsMainIndex:false,Script://脚本
|
|
1120
1144
|
'A:=REF(HHV(CLOSE,480),1);\nB:=REF(LLV(CLOSE,480),1);\n100*(CLOSE-B)/(A-B);'};return data;};JSIndexScript.prototype.ZNZ_RPY1=function(){var data={Name:'ZNZ_RPY1',Description:'年相对价位',IsMainIndex:false,Args:[{Name:'N',Value:240}],Script://脚本
|
|
1121
|
-
'A:=REF(HHV(CLOSE,N),1);\nB:=REF(LLV(CLOSE,N),1);\n100*(CLOSE-B)/(A-B);'};return data;};JSIndexScript.prototype.
|
|
1145
|
+
'A:=REF(HHV(CLOSE,N),1);\nB:=REF(LLV(CLOSE,N),1);\n100*(CLOSE-B)/(A-B);'};return data;};JSIndexScript.prototype.WSBVOL=function(){var data={Name:'WSBVOL',Description:'维斯波成交量',IsMainIndex:false,Script://脚本
|
|
1146
|
+
'UPTJ1:=CLOSE>REF(CLOSE,1);\nUPTJ2:=(CLOSE==REF(CLOSE,1) && REF(CLOSE,1)>REF(CLOSE,2));\nUPTJ3:=MAX(OPEN,CLOSE)<REF(C,BARSLAST(CLOSE>REF(CLOSE,1))) AND MIN(OPEN,CLOSE)>REF(O,BARSLAST(CLOSE>REF(CLOSE,1)));\nUPTJ4:=NOT (H<REF(H,1) AND L<REF(L,1));\nUP:=(UPTJ1 || UPTJ2 || UPTJ3) AND UPTJ4;\nDOWN:=NOT(UP);\nM1:=BARSLASTCOUNT(UP);\nN1:=BARSLASTCOUNT(DOWN);\nCZB:=IF(M1=1 OR N1=1,2*INTPART(VOL*100/10000),INTPART(VOL*100/10000));\nSZ:=IF(M1>0,SUM(CZB,M1),-1*SUM(CZB,N1));\nGY:=IF(N1>0,SUM(CZB,N1),0);\nXQ:=IF(M1>0,SUM(CZB,M1),0);\nNOTEXT1:STICKLINE(M1>0,0,XQ,1,0),COLORRED;\nNOTEXT2:STICKLINE(N1>0,0,GY,1,0),COLORGREEN;\nWSB:SZ,NODRAW;'};return data;};JSIndexScript.prototype.CCL=function(){var data={Name:'CCL',Description:'持仓量(适用于期货)',IsMainIndex:false,Script://脚本
|
|
1147
|
+
'\u6301\u4ED3\u91CF:VOLINSTK;\n\u6210\u4EA4:VOL,COLORLIRED;\n\u4ED3\u5DEE:VOLINSTK-REF(VOLINSTK,1),NODRAW;\nSTICKLINE(\u4ED3\u5DEE>0 AND C>REF(C,1),0,\u4ED3\u5DEE,2,3),COLORRED;\nSTICKLINE(\u4ED3\u5DEE>0 AND C<REF(C,1),0,\u4ED3\u5DEE,2,3),COLORCYAN;\nSTICKLINE(\u4ED3\u5DEE>0 AND C=REF(C,1),0,\u4ED3\u5DEE,2,3),COLORGRAY;\nSTICKLINE(\u4ED3\u5DEE<0 AND C>REF(C,1),0,\u4ED3\u5DEE,2,3),COLORRED;\nSTICKLINE(\u4ED3\u5DEE<0 AND C<REF(C,1),0,\u4ED3\u5DEE,2,3),COLORCYAN;\nSTICKLINE(\u4ED3\u5DEE<0 AND C=REF(C,1),0,\u4ED3\u5DEE,2,3),COLORGRAY;'};return data;};JSIndexScript.prototype.CCYD=function(){var data={Name:'CCYD',Description:'持仓异动(适用于期货)',IsMainIndex:false,Script://脚本
|
|
1148
|
+
'CCYD:=VOLINSTK-REF(VOLINSTK,1);\nSPYD:=C-REF(C,1);\n\u591A\u5934\u589E\u4ED3:IF(SPYD>=0 AND CCYD>=0,ABS(CCYD),DRAWNULL),COLOR3232FF,NODRAW;\n\u7A7A\u5934\u51CF\u4ED3:IF(SPYD>0 AND CCYD<0,ABS(CCYD),DRAWNULL),COLOR3232FF,NODRAW;\n\u7A7A\u5934\u589E\u4ED3:IF(SPYD<0 AND CCYD>=0,ABS(CCYD),DRAWNULL),COLORFFFF54,NODRAW;\n\u591A\u5934\u51CF\u4ED3:IF(SPYD<0 AND CCYD<0,ABS(CCYD),DRAWNULL),COLORFFFF54,NODRAW;\nSTICKLINE(SPYD>=0 AND CCYD>=0,0,CCYD,3,1),COLOR3232FF;\nSTICKLINE(SPYD>0 AND CCYD<0,CCYD,0,3,1),COLOR3232FF;\nSTICKLINE(SPYD<0 AND CCYD>=0,CCYD,0,3,0),COLORFFFF54;\nSTICKLINE(SPYD<0 AND CCYD<0,CCYD,0,3,0),COLORFFFF54;'};return data;};JSIndexScript.prototype.ABI=function(){var data={Name:'ABI',Description:'绝对广量指标',IsMainIndex:false,Args:[{Name:'N',Value:10}],Condition:{Period:[CONDITION_PERIOD.KLINE_DAY_ID,CONDITION_PERIOD.KLINE_WEEK_ID,CONDITION_PERIOD.KLINE_TWOWEEK_ID,CONDITION_PERIOD.KLINE_MONTH_ID,CONDITION_PERIOD.KLINE_QUARTER_ID,CONDITION_PERIOD.KLINE_YEAR_ID],Include:["000001.SH","000003.SH","000016.SH","000300.SH","000905.SH","399001.SZ"," 399005.SZ","399006.SZ"]},Script://脚本
|
|
1149
|
+
'ABI:100*ABS(ADVANCE-DECLINE)/(ADVANCE+DECLINE);\nMAABI:EMA(ABI,M);'};return data;};JSIndexScript.prototype.TEST=function(){var data={Name:'TEST',Description:'测试脚本',IsMainIndex:false,Args:[{Name:'N',Value:10}],Script://脚本
|
|
1122
1150
|
"DRAWCHANNEL(OPEN>C,H,L, 'RGB(255,94,102)', 2 ,'5,5','RGBA(58,20,62,0.3)' );"};return data;};/*
|
|
1123
1151
|
Copyright (c) 2018 jones
|
|
1124
1152
|
|
|
@@ -1162,13 +1190,13 @@ if(option.CustomShow&&IFrameSplitOperator.IsPlusNumber(option.CustomShow.Date)){
|
|
|
1162
1190
|
if(option.SelectedChart){var item=option.SelectedChart;if(IFrameSplitOperator.IsBool(item.EnableSelected))chart.SelectedChart.EnableSelected=item.EnableSelected;if(IFrameSplitOperator.IsBool(item.EnableMoveOn))chart.SelectedChart.EnableMoveOn=item.EnableMoveOn;}if(!option.Windows||option.Windows.length<=0)return null;//K线扩展计算方法配置
|
|
1163
1191
|
if(IFrameSplitOperator.IsNonEmptyArray(option.KLineCalcOption)){for(var i=0;i<option.KLineCalcOption.length;++i){var item=option.KLineCalcOption[i];if(!item.ClassName||!item.Option)continue;chart.SetKLineCalcOption(item.ClassName,item.Option);}}if(chart.ClassName=="KLineChartContainer"){if(!option.DragSelectRect){option.DragSelectRect={Enable:true};//默认开启区间选中画布
|
|
1164
1192
|
}if(option.DragSelectRect){var zindex=10;var item=option.DragSelectRect;if(IFrameSplitOperator.IsNumber(item.ZIndex))zindex=item.ZIndex;if(item.Enable)this.CreateExtraCanvasElement(JSChart.RectDragCanvasKey,{ZIndex:zindex});//创建独立的区间选择画布
|
|
1165
|
-
}}//创建子窗口
|
|
1193
|
+
}if(option.DragKLine){var item=option.DragKLine;if(IFrameSplitOperator.IsBool(item.EnableShfit))chart.KLineDragConfig.EnableShfit=item.EnableShfit;}}//创建子窗口
|
|
1166
1194
|
chart.Create(option.Windows.length,option);this.SetChartBorder(chart,option);this.AdjustChartBorder(chart);if(option.KLine){if(option.KLine.PageSize>0)//一屏显示的数据个数
|
|
1167
1195
|
{var pageSize=chart.GetMaxMinPageSize();if(pageSize.Max>10&&pageSize.Max<option.KLine.PageSize)chart.PageSize=pageSize.Max;else if(pageSize.Min>10&&pageSize.Min>option.KLine.PageSize)chart.PageSize=pageSize.Min;else chart.PageSize=option.KLine.PageSize;}}//取消显示十字光标刻度信息
|
|
1168
1196
|
if(option.IsCorssOnlyDrawKLine===true)chart.ChartCorssCursor.IsOnlyDrawKLine=option.IsCorssOnlyDrawKLine;if(option.CorssCursorTouchEnd===true)chart.CorssCursorTouchEnd=option.CorssCursorTouchEnd;if(option.IsClickShowCorssCursor==true)chart.IsClickShowCorssCursor=option.IsClickShowCorssCursor;if(option.CorssCursorInfo){var item=option.CorssCursorInfo;if(!isNaN(option.CorssCursorInfo.Left))chart.ChartCorssCursor.ShowTextMode.Left=option.CorssCursorInfo.Left;if(!isNaN(option.CorssCursorInfo.Right))chart.ChartCorssCursor.ShowTextMode.Right=option.CorssCursorInfo.Right;if(!isNaN(option.CorssCursorInfo.Bottom))chart.ChartCorssCursor.ShowTextMode.Bottom=option.CorssCursorInfo.Bottom;if(option.CorssCursorInfo.IsShowCorss===false)chart.ChartCorssCursor.IsShowCorss=option.CorssCursorInfo.IsShowCorss;if(IFrameSplitOperator.IsBool(item.IsShowClose))chart.ChartCorssCursor.IsShowClose=item.IsShowClose;//Y轴显示收盘价
|
|
1169
1197
|
if(IFrameSplitOperator.IsBool(item.IsOnlyDrawKLine))chart.ChartCorssCursor.IsOnlyDrawKLine=item.IsOnlyDrawKLine;//Y轴显示收盘价
|
|
1170
1198
|
if(option.CorssCursorInfo.PressTime)chart.PressTime=option.CorssCursorInfo.PressTime;//长按显示十字光标的时间
|
|
1171
|
-
if(IFrameSplitOperator.IsNumber(option.CorssCursorInfo.HPenType))chart.ChartCorssCursor.HPenType=option.CorssCursorInfo.HPenType;if(option.CorssCursorInfo.VPenType>0)chart.ChartCorssCursor.VPenType=option.CorssCursorInfo.VPenType;if(IFrameSplitOperator.IsNumber(item.VLineType))chart.ChartCorssCursor.VLineType=item.VLineType;if(option.CorssCursorInfo.DateFormatType>0)chart.ChartCorssCursor.StringFormatX.DateFormatType=option.CorssCursorInfo.DateFormatType;if(IFrameSplitOperator.IsBool(item.IsDrawXRangeBG))chart.ChartCorssCursor.IsDrawXRangeBG=item.IsDrawXRangeBG;if(IFrameSplitOperator.IsBool(option.CorssCursorInfo.IsFixXLastTime))chart.ChartCorssCursor.IsFixXLastTime=option.CorssCursorInfo.IsFixXLastTime;if(IFrameSplitOperator.IsNumber(item.TextHeight))chart.ChartCorssCursor.TextHeight=item.TextHeight;if(item.RightButton){if(IFrameSplitOperator.IsBool(item.RightButton.Enable))chart.ChartCorssCursor.RightButton.Enable=item.RightButton.Enable;}if(IFrameSplitOperator.IsNumber(item.PriceFormatType))chart.ChartCorssCursor.StringFormatY.PriceFormatType=item.PriceFormatType;if(IFrameSplitOperator.IsNumber(item.DataFormatType))chart.ChartCorssCursor.StringFormatY.DataFormatType=item.DataFormatType;if(IFrameSplitOperator.IsBool(item.EnableKeyboard))chart.ChartCorssCursor.EnableKeyboard=item.EnableKeyboard;if(IFrameSplitOperator.IsBool(item.IsShowCorssPoint))chart.ChartCorssCursor.CorssPointConfig.Enable=item.IsShowCorssPoint;}//保存十字光标文字高度
|
|
1199
|
+
if(IFrameSplitOperator.IsNumber(option.CorssCursorInfo.HPenType))chart.ChartCorssCursor.HPenType=option.CorssCursorInfo.HPenType;if(option.CorssCursorInfo.VPenType>0)chart.ChartCorssCursor.VPenType=option.CorssCursorInfo.VPenType;if(IFrameSplitOperator.IsNumber(item.VLineType))chart.ChartCorssCursor.VLineType=item.VLineType;if(option.CorssCursorInfo.DateFormatType>0)chart.ChartCorssCursor.StringFormatX.DateFormatType=option.CorssCursorInfo.DateFormatType;if(IFrameSplitOperator.IsBool(item.IsDrawXRangeBG))chart.ChartCorssCursor.IsDrawXRangeBG=item.IsDrawXRangeBG;if(IFrameSplitOperator.IsBool(option.CorssCursorInfo.IsFixXLastTime))chart.ChartCorssCursor.IsFixXLastTime=option.CorssCursorInfo.IsFixXLastTime;if(IFrameSplitOperator.IsNumber(item.TextHeight))chart.ChartCorssCursor.TextHeight=item.TextHeight;if(item.RightButton){if(IFrameSplitOperator.IsBool(item.RightButton.Enable))chart.ChartCorssCursor.RightButton.Enable=item.RightButton.Enable;}if(IFrameSplitOperator.IsNumber(item.PriceFormatType))chart.ChartCorssCursor.StringFormatY.PriceFormatType=item.PriceFormatType;if(IFrameSplitOperator.IsNumber(item.DataFormatType))chart.ChartCorssCursor.StringFormatY.DataFormatType=item.DataFormatType;if(IFrameSplitOperator.IsBool(item.EnableKeyboard))chart.ChartCorssCursor.EnableKeyboard=item.EnableKeyboard;if(IFrameSplitOperator.IsBool(item.EnableDBClick))chart.ChartCorssCursor.EnableDBClick=item.EnableDBClick;if(IFrameSplitOperator.IsBool(item.IsShowCorssPoint))chart.ChartCorssCursor.CorssPointConfig.Enable=item.IsShowCorssPoint;}//保存十字光标文字高度
|
|
1172
1200
|
option.CorssCursor={};option.CorssCursor.TitleHeight=chart.ChartCorssCursor.TextHeight;if(IFrameSplitOperator.IsNumber(option.SplashTitlePosition)){if(chart.ChartSplashPaint)chart.ChartSplashPaint.Position=option.SplashTitlePosition;}if(option.Frame){for(var i=0;i<option.Frame.length;++i){var item=option.Frame[i];if(!chart.Frame.SubFrame[i])continue;var subFrame=chart.Frame.SubFrame[i].Frame;if(IFrameSplitOperator.IsNumber(item.SplitCount))chart.Frame.SubFrame[i].Frame.YSplitOperator.SplitCount=item.SplitCount;if(item.StringFormat)chart.Frame.SubFrame[i].Frame.YSplitOperator.StringFormat=item.StringFormat;if(IFrameSplitOperator.IsNumber(item.FloatPrecision))chart.Frame.SubFrame[i].Frame.YSplitOperator.FloatPrecision=item.FloatPrecision;if(item.Custom)chart.Frame.SubFrame[i].Frame.YSplitOperator.Custom=item.Custom;if(IFrameSplitOperator.IsNumber(item.SplitType)){chart.Frame.SubFrame[i].Frame.YSplitOperator.SplitType=item.SplitType;chart.Frame.SubFrame[i].Frame.YSplitOperator.DefaultSplitType=item.SplitType;}if(IFrameSplitOperator.IsNumber(item.FilterType))subFrame.YSplitOperator.FilterType=item.FilterType;if(!isNaN(item.Height))chart.Frame.SubFrame[i].Height=item.Height;if(item.IsShowLeftText===false||item.IsShowLeftText===true){chart.Frame.SubFrame[i].Frame.IsShowYText[0]=item.IsShowLeftText;chart.Frame.SubFrame[i].Frame.YSplitOperator.IsShowLeftText=item.IsShowLeftText;//显示左边刻度
|
|
1173
1201
|
}if(item.IsShowRightText===false||item.IsShowRightText===true){chart.Frame.SubFrame[i].Frame.IsShowYText[1]=item.IsShowRightText;chart.Frame.SubFrame[i].Frame.YSplitOperator.IsShowRightText=item.IsShowRightText;//显示右边刻度
|
|
1174
1202
|
}if(item.TopSpace>=0)chart.Frame.SubFrame[i].Frame.ChartBorder.TopSpace=item.TopSpace*pixelRatio;if(item.BottomSpace>=0)chart.Frame.SubFrame[i].Frame.ChartBorder.BottomSpace=item.BottomSpace*pixelRatio;if(item.RightTextPosition>0)chart.Frame.SubFrame[i].Frame.YTextPosition[1]=item.RightTextPosition;if(item.LeftTextPosition>0)chart.Frame.SubFrame[i].Frame.YTextPosition[0]=item.LeftTextPosition;if(item.IsShowXLine==false)chart.Frame.SubFrame[i].Frame.IsShowXLine=item.IsShowXLine;if(item.IsShowYLine==false)chart.Frame.SubFrame[i].Frame.IsShowYLine=item.IsShowYLine;if(IFrameSplitOperator.IsNumber(item.YTextBaseline))chart.Frame.SubFrame[i].Frame.YTextBaseline=item.YTextBaseline;if(item.YCoordinateType>0)chart.Frame.SubFrame[0].Frame.YSplitOperator.CoordinateType=item.YCoordinateType;if(item.IsYReverse==true)chart.Frame.SubFrame[0].Frame.CoordinateType=1;//反转坐标
|
|
@@ -1208,7 +1236,7 @@ if(option.SelectedChart){var item=option.SelectedChart;if(IFrameSplitOperator.Is
|
|
|
1208
1236
|
}}if(option.EnableYDrag){var item=option.EnableYDrag;if(IFrameSplitOperator.IsBool(item.Left))chart.EnableYDrag.Left=item.Left;if(IFrameSplitOperator.IsBool(item.Right))chart.EnableYDrag.Right=item.Right;if(IFrameSplitOperator.IsBool(item.Wheel))chart.EnableYDrag.Wheel=item.Wheel;if(IFrameSplitOperator.IsNumber(item.WheelYMove))chart.EnableYDrag.WheelYMove=item.WheelYMove;}//分页
|
|
1209
1237
|
if(option.PageInfo)chart.SetPageInfo(option.PageInfo);chart.Create(windowsCount,option);//创建子窗口
|
|
1210
1238
|
if(option.CorssCursorInfo){var item=option.CorssCursorInfo;if(!isNaN(option.CorssCursorInfo.Left))chart.ChartCorssCursor.ShowTextMode.Left=option.CorssCursorInfo.Left;if(!isNaN(option.CorssCursorInfo.Right))chart.ChartCorssCursor.ShowTextMode.Right=option.CorssCursorInfo.Right;if(!isNaN(option.CorssCursorInfo.Bottom))chart.ChartCorssCursor.ShowTextMode.Bottom=option.CorssCursorInfo.Bottom;if(option.CorssCursorInfo.IsShowCorss===false)chart.ChartCorssCursor.IsShowCorss=option.CorssCursorInfo.IsShowCorss;if(option.CorssCursorInfo.RightTextFormat>0)chart.ChartCorssCursor.TextFormat.Right=option.CorssCursorInfo.RightTextFormat;if(option.CorssCursorInfo.IsOnlyDrawMinute==true)chart.ChartCorssCursor.IsOnlyDrawMinute=option.CorssCursorInfo.IsOnlyDrawMinute;//Y轴显示收盘价
|
|
1211
|
-
if(IFrameSplitOperator.IsBool(option.CorssCursorInfo.IsFixXLastTime))chart.ChartCorssCursor.IsFixXLastTime=option.CorssCursorInfo.IsFixXLastTime;if(item.RightButton){if(IFrameSplitOperator.IsBool(item.RightButton.Enable))chart.ChartCorssCursor.RightButton.Enable=item.RightButton.Enable;}if(IFrameSplitOperator.IsNumber(item.PriceFormatType))chart.ChartCorssCursor.StringFormatY.PriceFormatType=item.PriceFormatType;if(IFrameSplitOperator.IsNumber(item.DataFormatType))chart.ChartCorssCursor.StringFormatY.DataFormatType=item.DataFormatType;if(IFrameSplitOperator.IsNumber(item.HPenType))chart.ChartCorssCursor.HPenType=item.HPenType;if(IFrameSplitOperator.IsNumber(item.VPenType))chart.ChartCorssCursor.VPenType=item.VPenType;if(IFrameSplitOperator.IsBool(item.EnableKeyboard))chart.ChartCorssCursor.EnableKeyboard=item.EnableKeyboard;if(IFrameSplitOperator.IsBool(item.IsShowCorssPoint))chart.ChartCorssCursor.CorssPointConfig.Enable=item.IsShowCorssPoint;if(IFrameSplitOperator.IsNumber(item.VLineType))chart.ChartCorssCursor.VLineType=item.VLineType;}if(option.MinuteInfo)chart.CreateMinuteInfo(option.MinuteInfo);if(IFrameSplitOperator.IsBool(option.IsShowRightMenu))chart.IsShowRightMenu=option.IsShowRightMenu;if(IFrameSplitOperator.IsNumber(option.DayCount))chart.DayCount=option.DayCount;this.SetChartBorder(chart,option);if(option.SplashTitle)chart.ChartSplashPaint.SplashTitle=option.SplashTitle;if(IFrameSplitOperator.IsBool(option.EnableBorderDrag)){chart.EnableBorderDrag=option.EnableBorderDrag;}this.AdjustChartBorder(chart);if(option.Frame){for(var i=0;i<option.Frame.length;++i){var item=option.Frame[i];if(!chart.Frame.SubFrame[i])continue;var subFrame=chart.Frame.SubFrame[i].Frame;if(IFrameSplitOperator.IsNumber(item.SplitCount))chart.Frame.SubFrame[i].Frame.YSplitOperator.SplitCount=item.SplitCount;if(item.StringFormat)chart.Frame.SubFrame[i].Frame.YSplitOperator.StringFormat=item.StringFormat;if(IFrameSplitOperator.IsNumber(item.SplitType)){chart.Frame.SubFrame[i].Frame.YSplitOperator.SplitType=item.SplitType;chart.Frame.SubFrame[i].Frame.YSplitOperator.DefaultSplitType=item.SplitType;}if(IFrameSplitOperator.IsNumber(item.FilterType))subFrame.YSplitOperator.FilterType=item.FilterType;if(item.IsShowLeftText==false){chart.Frame.SubFrame[i].Frame.IsShowYText[0]=item.IsShowLeftText;chart.Frame.SubFrame[i].Frame.YSplitOperator.IsShowLeftText=item.IsShowLeftText;//显示左边刻度
|
|
1239
|
+
if(IFrameSplitOperator.IsBool(option.CorssCursorInfo.IsFixXLastTime))chart.ChartCorssCursor.IsFixXLastTime=option.CorssCursorInfo.IsFixXLastTime;if(item.RightButton){if(IFrameSplitOperator.IsBool(item.RightButton.Enable))chart.ChartCorssCursor.RightButton.Enable=item.RightButton.Enable;}if(IFrameSplitOperator.IsNumber(item.PriceFormatType))chart.ChartCorssCursor.StringFormatY.PriceFormatType=item.PriceFormatType;if(IFrameSplitOperator.IsNumber(item.DataFormatType))chart.ChartCorssCursor.StringFormatY.DataFormatType=item.DataFormatType;if(IFrameSplitOperator.IsNumber(item.HPenType))chart.ChartCorssCursor.HPenType=item.HPenType;if(IFrameSplitOperator.IsNumber(item.VPenType))chart.ChartCorssCursor.VPenType=item.VPenType;if(IFrameSplitOperator.IsBool(item.EnableKeyboard))chart.ChartCorssCursor.EnableKeyboard=item.EnableKeyboard;if(IFrameSplitOperator.IsBool(item.EnableDBClick))chart.ChartCorssCursor.EnableDBClick=item.EnableDBClick;if(IFrameSplitOperator.IsBool(item.IsShowCorssPoint))chart.ChartCorssCursor.CorssPointConfig.Enable=item.IsShowCorssPoint;if(IFrameSplitOperator.IsNumber(item.VLineType))chart.ChartCorssCursor.VLineType=item.VLineType;}if(option.MinuteInfo)chart.CreateMinuteInfo(option.MinuteInfo);if(IFrameSplitOperator.IsBool(option.IsShowRightMenu))chart.IsShowRightMenu=option.IsShowRightMenu;if(IFrameSplitOperator.IsNumber(option.DayCount))chart.DayCount=option.DayCount;this.SetChartBorder(chart,option);if(option.SplashTitle)chart.ChartSplashPaint.SplashTitle=option.SplashTitle;if(IFrameSplitOperator.IsBool(option.EnableBorderDrag)){chart.EnableBorderDrag=option.EnableBorderDrag;}this.AdjustChartBorder(chart);if(option.Frame){for(var i=0;i<option.Frame.length;++i){var item=option.Frame[i];if(!chart.Frame.SubFrame[i])continue;var subFrame=chart.Frame.SubFrame[i].Frame;if(IFrameSplitOperator.IsNumber(item.SplitCount))chart.Frame.SubFrame[i].Frame.YSplitOperator.SplitCount=item.SplitCount;if(item.StringFormat)chart.Frame.SubFrame[i].Frame.YSplitOperator.StringFormat=item.StringFormat;if(IFrameSplitOperator.IsNumber(item.SplitType)){chart.Frame.SubFrame[i].Frame.YSplitOperator.SplitType=item.SplitType;chart.Frame.SubFrame[i].Frame.YSplitOperator.DefaultSplitType=item.SplitType;}if(IFrameSplitOperator.IsNumber(item.FilterType))subFrame.YSplitOperator.FilterType=item.FilterType;if(item.IsShowLeftText==false){chart.Frame.SubFrame[i].Frame.IsShowYText[0]=item.IsShowLeftText;chart.Frame.SubFrame[i].Frame.YSplitOperator.IsShowLeftText=item.IsShowLeftText;//显示左边刻度
|
|
1212
1240
|
}if(item.IsShowRightText==false){chart.Frame.SubFrame[i].Frame.IsShowYText[1]=item.IsShowRightText;chart.Frame.SubFrame[i].Frame.YSplitOperator.IsShowRightText=item.IsShowRightText;//显示右边刻度
|
|
1213
1241
|
}if(item.Height>=0)chart.Frame.SubFrame[i].Height=item.Height;if(item.Custom)chart.Frame.SubFrame[i].Frame.YSplitOperator.Custom=item.Custom;if(IFrameSplitOperator.IsNumber(item.TitleHeight))chart.Frame.SubFrame[i].Frame.ChartBorder.TitleHeight=item.TitleHeight;if(IFrameSplitOperator.IsNumber(item.BorderLine))chart.Frame.SubFrame[i].Frame.BorderLine=item.BorderLine;if(IFrameSplitOperator.IsBool(item.EnableRemoveZero))chart.Frame.SubFrame[i].Frame.YSplitOperator.EnableRemoveZero=item.EnableRemoveZero;if(IFrameSplitOperator.IsNumber(item.FloatPrecision))chart.Frame.SubFrame[i].Frame.YSplitOperator.FloatPrecision=item.FloatPrecision;if(IFrameSplitOperator.IsBool(item.IsShowXLine))chart.Frame.SubFrame[i].Frame.IsShowXLine=item.IsShowXLine;if(IFrameSplitOperator.IsBool(item.IsShowYLine))chart.Frame.SubFrame[i].Frame.IsShowYLine=item.IsShowYLine;if(IFrameSplitOperator.IsNumber(item.YTextBaseline))chart.Frame.SubFrame[i].Frame.YTextBaseline=item.YTextBaseline;if(IFrameSplitOperator.IsBool(item.IsShowIndexTitle))chart.Frame.SubFrame[i].Frame.IsShowIndexTitle=item.IsShowIndexTitle;if(item.TopSpace>=0)chart.Frame.SubFrame[i].Frame.ChartBorder.TopSpace=item.TopSpace*pixelRatio;if(item.BottomSpace>=0)chart.Frame.SubFrame[i].Frame.ChartBorder.BottomSpace=item.BottomSpace*pixelRatio;//是否显示关闭集合竞价按钮
|
|
1214
1242
|
if(IFrameSplitOperator.IsNumber(item.CloseBeforeButton))chart.Frame.SubFrame[i].Frame.IsShowCloseButton=item.CloseBeforeButton;if(item.ClientBGColor)subFrame.ClientBGColor=item.ClientBGColor;if(!IFrameSplitOperator.IsUndefined(item.HorizontalReserved))subFrame.HorizontalReserved=item.HorizontalReserved;if(i==0){if(IFrameSplitOperator.IsNumber(item.RightTextFormat)){subFrame.YSplitOperator.RightTextFormat=item.RightTextFormat;if(item.RightTextFormat==2)subFrame.MultiTextFormat=1;}}}chart.UpdateXShowText();}if(option.ExtendChart){for(var i=0;i<option.ExtendChart.length;++i){var item=option.ExtendChart[i];chart.CreateExtendChart(item.Name,item);}}//叠加股票
|
|
@@ -1604,6 +1632,7 @@ CMD_RBUTTON_SELECT_RECT_ID:53,//右键区间选择
|
|
|
1604
1632
|
CMD_LBUTTON_SELECT_RECT_ID:54,//左键区间选择
|
|
1605
1633
|
CMD_ENABLE_XDRAG_BOTTOM_ID:55,//X轴拖动缩放
|
|
1606
1634
|
CMD_FULLSCREEN_SUMMARY_ID:56,//当前屏区间统计
|
|
1635
|
+
CMD_CORSS_DBCLICK_ID:57,//双击显示隐藏十字光标
|
|
1607
1636
|
CMD_REPORT_CHANGE_BLOCK_ID:100,//报价列表 切换板块ID
|
|
1608
1637
|
CMD_REPORT_COLUMN_SORT_ID:101,//报价列表 表头排序 Arg[列序号, 排序方向]
|
|
1609
1638
|
CMD_REPORT_COLUMN_DEL_ID:102,//报价列表 删除列
|
|
@@ -1764,31 +1793,33 @@ var bDraw=false;if(drawPictureActive.Select.Guid&&drawPictureActive.Select.Chart
|
|
|
1764
1793
|
this.SelectChartDrawPicture.DragInfo={Click:{X:e.clientX,Y:e.clientY}};}var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CLICK_DRAWPICTURE);//选中画图工具事件
|
|
1765
1794
|
if(event&&event.Callback){var sendData={DrawPicture:drawPictrueData.ChartDrawPicture};event.Callback(event,sendData,this);}else{this.OnSelectChartPicture(drawPictrueData.ChartDrawPicture);//选中画图工具事件
|
|
1766
1795
|
}}else{if(this.ClickChartTimer!=null){clearTimeout(this.ClickChartTimer);this.ClickChartTimer=null;}var self=this;var ptClick={X:this.ClickDownPoint.X,Y:this.ClickDownPoint.Y};this.ClickChartTimer=setTimeout(function(){self.TryClickPaintEvent(JSCHART_EVENT_ID.ON_CLICK_CHART_PAINT,ptClick,e);},250);var bSelectedChartChanged=false;if(this.SelectedChart.EnableSelected){var selectChart=this.PtInChart(x,y);if(selectChart){if(this.SelectedChart.Selected.Identify!=selectChart.Identify){this.SelectedChart.Selected.Identify=selectChart.Identify;this.SelectedChart.Selected.Chart=selectChart.Chart;bSelectedChartChanged=true;}if(this.EnableIndexChartDrag){this.IndexChartDrag={SelectedChart:selectChart,LastMove:{X:x,Y:y},Click:{X:x,Y:y}};this.IndexChartDrag.Info=this.GetSelectedChartInfo(selectChart);if(this.IndexChartDrag.Info)this.IndexChartDrag.Info.FrameID=this.Frame.PtInFrame(x,y);}}else{if(this.SelectedChart.Selected.Identify){this.SelectedChart.Selected.Identify=null;this.SelectedChart.Selected.Chart=null;bSelectedChartChanged=true;}}}else{if(this.SelectedChart.Selected.Identify){this.SelectedChart.Selected.Identify=null;bSelectedChartChanged=true;}}if(drawPictureActive.Select.Guid!=null&&this.SelectChartDrawPicture==null||bSelectedChartChanged){var drawType=0;if(drawPictureActive.Select.Guid&&drawPictureActive.Select.Chart&&drawPictureActive.Select.Chart.IsDrawMain)drawType=1;if(bSelectedChartChanged){var chart=selectedChart.Chart;if(chart&&chart.SetSelectedStatus){chart.SetSelectedStatus(0);drawType=1;}chart=this.SelectedChart.Selected.Chart;if(chart&&chart.SetSelectedStatus){chart.SetSelectedStatus(1);drawType=1;}}if(drawType==1)this.Draw();else this.DrawDynamicInfo();}else if(bRedraw){this.Draw();}else if(bDrawDynamicInfo){this.DrawDynamicInfo();}}}if(!this.SelectChartDrawPicture)this.CloseModifyDrawDialog();//当前没有选中画图 隐藏画图修改框
|
|
1767
|
-
document.onmousemove=function(e){_this7.DocOnMouseMove(e);};document.onmouseup=function(e){_this7.DocOnMouseUp(e);};document.oncontextmenu=function(e){_this7.DocContextMenu(e);};};this.DocOnMouseMove=function(e){//加载数据中,禁用鼠标事件
|
|
1796
|
+
document.onmousemove=function(e){_this7.DocOnMouseMove(e);};document.onmouseup=function(e){_this7.DocOnMouseUp(e);};document.oncontextmenu=function(e){_this7.DocContextMenu(e);};};this.IsShfitDragKLine=function(e){if(this.DragMode!=1)return false;if(!this.KLineDragConfig)return false;if(!this.KLineDragConfig.EnableShfit)return false;if(!e.shiftKey)return false;return true;};this.DocOnMouseMove=function(e){//加载数据中,禁用鼠标事件
|
|
1768
1797
|
if(this.ChartSplashPaint&&this.ChartSplashPaint.IsEnableSplash)return;var bRButtonSelectRect=this.IsEnableRSelectRect(e,"DocOnMouseMove");//右键区间选择
|
|
1769
1798
|
var bLButtonSelectRect=this.IsEnableLSelectRect(e,"DocOnMouseMove");//左键区间选择
|
|
1770
|
-
var drag=this.MouseDrag;if(!drag)return;var moveSetp=Math.abs(drag.LastMove.X-e.clientX);var moveSetpY=Math.abs(drag.LastMove.Y-e.clientY);var isDragSelectRect=this.RectSelectDrag&&this.RectSelectDrag.Index>=0;var isDragSubSelectRect=this.RectSelectDrag&&this.RectSelectDrag.Type==4;
|
|
1799
|
+
var drag=this.MouseDrag;if(!drag)return;var moveSetp=Math.abs(drag.LastMove.X-e.clientX);var moveSetpY=Math.abs(drag.LastMove.Y-e.clientY);var isDragSelectRect=this.RectSelectDrag&&this.RectSelectDrag.Index>=0;var isDragSubSelectRect=this.RectSelectDrag&&this.RectSelectDrag.Type==4;var bShfitDragKLine=this.IsShfitDragKLine(e);//shift+鼠标移动K线
|
|
1800
|
+
if(drag.CurrentMove){drag.CurrentMove.X=e.clientX;drag.CurrentMove.Y=e.clientY;}if(this.BorderDrag&&this.BorderDrag.Index>=0)//边框拖动
|
|
1771
1801
|
{if(Math.abs(drag.LastMove.Y-e.clientY)<5)return;var yMove=e.clientY-drag.LastMove.Y;if(!this.OnMoveFromeBorder(this.BorderDrag.Index,yMove))return;drag.LastMove.X=e.clientX;drag.LastMove.Y=e.clientY;}else if(this.YDrag&&this.YDrag.Index>=0)//Y轴缩放
|
|
1772
1802
|
{if(moveSetpY<5)return;var yMove=e.clientY-drag.LastMove.Y;//this.UIElement.style.cursor="n-resize";
|
|
1773
1803
|
JSConsole.Chart.Log("[JSChartContainer::DocOnMouseMove] YDrag ",this.YDrag,yMove);this.OnZoomUpDownFrameY(this.YDrag,yMove);drag.LastMove.X=e.clientX;drag.LastMove.Y=e.clientY;}else if(this.IndexChartDrag&&this.IndexChartDrag.SelectedChart)//选中图形移动
|
|
1774
1804
|
{if(Math.abs(drag.LastMove.Y-e.clientY)<2&&Math.abs(drag.LastMove.X-e.clientX)<2)return;var chartMove=this.GetExtendChartByClassName("DragMovePaint");if(chartMove&&chartMove.Chart){var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;chartMove.Chart.Point={X:x,Y:y};chartMove.Chart.IsShow=true;chartMove.Chart.Info=this.IndexChartDrag.Info;this.DrawDynamicInfo();}this.IndexChartDrag.LastMove.X=x;this.IndexChartDrag.LastMove.Y=y;drag.LastMove.X=e.clientX;drag.LastMove.Y=e.clientY;}else if(this.CustomChartDrag){var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;var sendData={X:x,Y:y,e:e,ChartDrag:this.CustomChartDrag,Drag:drag};this.TryDragMove_CustomChartDrag(sendData);}else if(this.CurrentChartDrawPicture&&this.CurrentChartDrawPicture.EnableMove===true)//画图工具移动
|
|
1775
1805
|
{var drawPicture=this.CurrentChartDrawPicture;if(drawPicture.Status==1||drawPicture.Status==2){if(Math.abs(drag.LastMove.X-e.clientX)<5&&Math.abs(drag.LastMove.Y-e.clientY)<5)return;if(this.SetChartDrawPictureSecondPoint(e.clientX,e.clientY)){this.DrawDynamicInfo();}}else if(drawPicture.Status==3){if(this.SetChartDrawPictureThirdPoint(e.clientX,e.clientY)){this.DrawDynamicInfo();}}else if(drawPicture.Status==20)//画图工具移动
|
|
1776
|
-
{if(Math.abs(drag.LastMove.X-e.clientX)<5&&Math.abs(drag.LastMove.Y-e.clientY)<1)return;if(this.SelectChartDrawPicture){if(this.SelectChartDrawPicture.EnableCtrlMove){if(!e.ctrlKey)return;}}if(this.SelectChartDrawPicture&&this.SelectChartDrawPicture.DragInfo)this.SelectChartDrawPicture.DragInfo.Move={X:e.clientX,Y:e.client};if(this.MoveChartDrawPicture(e.clientX-drag.LastMove.X,e.clientY-drag.LastMove.Y,false,drag)){this.DrawDynamicInfo();}}drag.LastMove.X=e.clientX;drag.LastMove.Y=e.clientY;}else if(drag.Click&&drag.Click.IsInFrameBottom){this.OnDragXCoordinateZoom(drag,{X:moveSetp,Y:moveSetpY},e);}else if((bLButtonSelectRect||bRButtonSelectRect)&&!isDragSelectRect&&!isDragSubSelectRect)//左右键区间选择
|
|
1806
|
+
{if(Math.abs(drag.LastMove.X-e.clientX)<5&&Math.abs(drag.LastMove.Y-e.clientY)<1)return;if(this.SelectChartDrawPicture){if(this.SelectChartDrawPicture.EnableCtrlMove){if(!e.ctrlKey)return;}}if(this.SelectChartDrawPicture&&this.SelectChartDrawPicture.DragInfo)this.SelectChartDrawPicture.DragInfo.Move={X:e.clientX,Y:e.client};if(this.MoveChartDrawPicture(e.clientX-drag.LastMove.X,e.clientY-drag.LastMove.Y,false,drag)){this.DrawDynamicInfo();}}drag.LastMove.X=e.clientX;drag.LastMove.Y=e.clientY;}else if(drag.Click&&drag.Click.IsInFrameBottom){this.OnDragXCoordinateZoom(drag,{X:moveSetp,Y:moveSetpY},e);}else if((bLButtonSelectRect||bRButtonSelectRect)&&!isDragSelectRect&&!isDragSubSelectRect&&!bShfitDragKLine)//左右键区间选择
|
|
1777
1807
|
{var yMoveSetp=Math.abs(drag.LastMove.Y-e.clientY);if(moveSetp<5&&yMoveSetp<5)return;this.SetCursor({Cursor:"default"});var ptStart=this.PointAbsoluteToRelative(drag.Click.X,drag.Click.Y);var ptEnd=this.PointAbsoluteToRelative(e.clientX,e.clientY);this.ShowDragSelectRect(ptStart,ptEnd);drag.LastMove.X=e.clientX;drag.LastMove.Y=e.clientY;}else if(this.DragMode==1||isDragSelectRect||isDragSubSelectRect)//数据上下左右拖拽 区间选择框左右拖动
|
|
1778
1808
|
{this.OnDragMode_One({X:moveSetp,Y:moveSetpY},e);}};this.OnDragXCoordinateZoom=function(drag,moveData,e){var moveSetp=moveData.X;var moveSetpY=moveData.Y;if(moveSetp<5)return;var isLeft=true;if(drag.LastMove.X<e.clientX)isLeft=false;//右移数据
|
|
1779
1809
|
var cursorStatus="ew-resize";var oneStepWidth=this.GetMoveOneStepWidth();if(moveSetp<oneStepWidth){this.SetCursor({Cursor:cursorStatus});return;}if(this.XCoordinateZoom(moveSetp,isLeft)){this.UpdataDataoffset();this.UpdateFrameMaxMin();this.ResetFrameXYSplit();this.Draw();this.OnKLinePageChange("datamove");}drag.LastMove.X=e.clientX;this.SetCursor({Cursor:cursorStatus});};this.OnDragMode_One=function(moveData,e){var moveSetp=moveData.X;var moveSetpY=moveData.Y;var drag=this.MouseDrag;if(moveSetp<5&&moveSetpY<5)return;var bNeedDraw=false;var bUpDownY=false;if(moveSetpY>=5){if(this.UpDownDrag&&this.UpDownDrag.Index>=0){var yMove=e.clientY-drag.LastMove.Y;JSConsole.Chart.Log("[JSChartContainer::OnDragMode_One] UpDownDrag ",this.UpDownDrag,yMove);//this.UIElement.style.cursor="pointer";
|
|
1780
1810
|
this.SetCursor({Cursor:"pointer"});if(this.OnUpDonwFrameY(this.UpDownDrag,yMove)){bNeedDraw=true;bUpDownY=true;}drag.LastMove.Y=e.clientY;}}if(moveSetp>=5){if(this.RectSelectDrag){if(this.RectSelectDrag.Index>=0){var obj={X:e.clientX,Y:e.clientY,PointIndex:this.RectSelectDrag.Index,Name:"MoveRectSelectLine"};if(this.MoveRectSelectPoint(obj))bNeedDraw=true;}else if(this.RectSelectDrag.Type===4){var obj={X:e.clientX};if(!this.GetXDataIndex(obj))return;if(obj.DataIndex==this.RectSelectDrag.DataIndex)return;var step=obj.DataIndex-this.RectSelectDrag.DataIndex;var isLeft=true;if(step>0)isLeft=false;if(!this.MoveSubRectSelect({Step:Math.abs(step),IsLeft:isLeft,X:e.clientX,Y:e.clientY}))return;this.RectSelectDrag.DataIndex=obj.DataIndex;this.RectSelectDrag.X=e.clientX;bNeedDraw=true;}}else{var isLeft=true;if(drag.LastMove.X<e.clientX)isLeft=false;//右移数据
|
|
1781
|
-
|
|
1811
|
+
//按住shift才能移动K线
|
|
1812
|
+
if(this.KLineDragConfig&&this.KLineDragConfig.EnableShfit&&!e.shiftKey)return;var cursorStatus="pointer";var oneStepWidth=this.GetMoveOneStepWidth();if(moveSetp<oneStepWidth){//this.UIElement.style.cursor=cursorStatus;
|
|
1782
1813
|
this.SetCursor({Cursor:cursorStatus});if(bNeedDraw)this.Draw();return;}else{if(this.DataMove(moveSetp,isLeft)){this.UpdataDataoffset();//this.UpdatePointByCursorIndex(); //推拽数据的时候不需要把鼠标位置更新到K线上
|
|
1783
1814
|
this.UpdateFrameMaxMin();this.ResetFrameXYSplit();bNeedDraw=true;}else if(!bUpDownY){if(this.DragDownloadData){this.DragDownloadData();if(this.ChartSplashPaint&&this.ChartSplashPaint.IsEnableSplash)return;}}}//this.UIElement.style.cursor=cursorStatus;
|
|
1784
1815
|
this.SetCursor({Cursor:cursorStatus});}drag.LastMove.X=e.clientX;}if(bNeedDraw){this.Draw();this.OnKLinePageChange("datamove");}};this.GetXDataIndex=function(obj){if(!this.ChartPaint[0]||!this.ChartPaint[0].Data)return false;var kData=this.ChartPaint[0].Data;if(!this.Frame.SubFrame[0])return false;var subFrame=this.Frame.SubFrame[0].Frame;if(!subFrame)false;var pixelTatio=GetDevicePixelRatio();var x=(obj.X-uielement.getBoundingClientRect().left)*pixelTatio;var index=subFrame.GetXData(x);index=parseInt(index.toFixed(0));var dataIndex=index+kData.DataOffset;if(dataIndex>=kData.Data.length)dataIndex=kData.Data.length-1;var item=kData.Data[dataIndex];obj.DataIndex=dataIndex;obj.Item=item;//JSConsole.Chart.Log("[JSChartContainer::GetXDataIndex] point, item", obj.PointIndex, item);
|
|
1785
1816
|
return true;};this.ClearPreventRightMenu=function(delay){var _this8=this;var value=3000;if(IFrameSplitOperator.IsNumber(delay))value=delay;if(this.PreventRightMenu.Timer){clearTimeout(this.PreventRightMenu.Timer);this.PreventRightMenu.Timer=null;}this.PreventRightMenu.Timer=setTimeout(function(){_this8.PreventRightMenu.Enable=false;_this8.PreventRightMenu.Timer=null;},value);};this.DocOnMouseUp=function(e){//清空事件
|
|
1786
1817
|
document.onmousemove=null;document.onmouseup=null;var bRButtonSelectRect=this.IsEnableRSelectRect(e,"DocOnMouseUp");//右键区间选择
|
|
1787
1818
|
var bLButtonSelectRect=this.IsEnableLSelectRect(e,"DocOnMouseUp");//左键区间选择
|
|
1788
|
-
var IsMinuteChart=this.ClassName=="MinuteChartContainer"||this.ClassName=="MinuteChartHScreenContainer"?true:false;var isDragSelectRect=this.RectSelectDrag&&this.RectSelectDrag.Index>=0;var isDragSubSelectRect=this.RectSelectDrag&&this.RectSelectDrag.Type==4;var bClearDrawPicture=true;if(this.CurrentChartDrawPicture){var drawPicture=this.CurrentChartDrawPicture;if(drawPicture.Status==2||drawPicture.Status==1||drawPicture.Status==3){drawPicture.PointStatus=drawPicture.Status;if(this.FinishChartDrawPicturePoint())this.DrawDynamicInfo();else bClearDrawPicture=false;}else if(drawPicture.Status==20){if(this.FinishMoveChartDrawPicture())this.DrawDynamicInfo();}}else if(this.IndexChartDrag&&this.IndexChartDrag.SelectedChart){var chartMove=this.GetExtendChartByClassName("DragMovePaint");if(chartMove&&chartMove.Chart)chartMove.Chart.Clear();if(!this.OnDragChart(this.IndexChartDrag))this.DrawDynamicInfo();//this.UIElement.style.cursor="default";
|
|
1819
|
+
var IsMinuteChart=this.ClassName=="MinuteChartContainer"||this.ClassName=="MinuteChartHScreenContainer"?true:false;var isDragSelectRect=this.RectSelectDrag&&this.RectSelectDrag.Index>=0;var isDragSubSelectRect=this.RectSelectDrag&&this.RectSelectDrag.Type==4;var bClearDrawPicture=true;var bShfitDragKLine=this.IsShfitDragKLine(e);if(this.CurrentChartDrawPicture){var drawPicture=this.CurrentChartDrawPicture;if(drawPicture.Status==2||drawPicture.Status==1||drawPicture.Status==3){drawPicture.PointStatus=drawPicture.Status;if(this.FinishChartDrawPicturePoint())this.DrawDynamicInfo();else bClearDrawPicture=false;}else if(drawPicture.Status==20){if(this.FinishMoveChartDrawPicture())this.DrawDynamicInfo();}}else if(this.IndexChartDrag&&this.IndexChartDrag.SelectedChart){var chartMove=this.GetExtendChartByClassName("DragMovePaint");if(chartMove&&chartMove.Chart)chartMove.Chart.Clear();if(!this.OnDragChart(this.IndexChartDrag))this.DrawDynamicInfo();//this.UIElement.style.cursor="default";
|
|
1789
1820
|
this.SetCursor({Cursor:"default"});}else if(this.CustomChartDrag){var sendData={e:e,ChartDrag:this.CustomChartDrag,Drag:this.MouseDrag};this.TryMouseUp_CustomChartDrag(sendData);}else if(isDragSelectRect)//区间选择拖动范围
|
|
1790
1821
|
{if(this.OnDragSelectRectMouseUp)this.OnDragSelectRectMouseUp(e);}else if(isDragSubSelectRect){if(this.OnDragSubSelectRectMouseUp)this.OnDragSubSelectRectMouseUp(e);}else if(IsMinuteChart){if(this.OnMinuteSelectRectMouseUp)this.OnMinuteSelectRectMouseUp(e);//分时图区间选择
|
|
1791
|
-
}else if(bLButtonSelectRect||bRButtonSelectRect)//K线图区间选择
|
|
1822
|
+
}else if((bLButtonSelectRect||bRButtonSelectRect)&&!bShfitDragKLine)//K线图区间选择
|
|
1792
1823
|
{var drag=this.MouseDrag;drag.LastMove.X=e.clientX;drag.LastMove.Y=e.clientY;var selectData=new SelectRectData();var pixelTatio=GetDevicePixelRatio();//区间起始位置 结束位子
|
|
1793
1824
|
selectData.XStart=(drag.Click.X-uielement.getBoundingClientRect().left)*pixelTatio;selectData.YStart=(drag.Click.Y-uielement.getBoundingClientRect().top)*pixelTatio;selectData.XEnd=(drag.LastMove.X-uielement.getBoundingClientRect().left)*pixelTatio;selectData.YEnd=(drag.LastMove.Y-uielement.getBoundingClientRect().top)*pixelTatio;selectData.JSChartContainer=this;selectData.Stock={Symbol:this.Symbol,Name:this.Name};selectData.IsLButton=bLButtonSelectRect;selectData.IsRButton=bRButtonSelectRect;if(!this.BorderDrag&&this.GetSelectRectData(selectData)){this.FinishSelectRect(selectData,e);}else{this.TryClickPaintEvent(JSCHART_EVENT_ID.ON_CLICKUP_CHART_PAINT,this.ClickDownPoint,e);}}else{this.TryClickPaintEvent(JSCHART_EVENT_ID.ON_CLICKUP_CHART_PAINT,this.ClickDownPoint,e);this.ClickEvent(e);}//清空数据
|
|
1794
1825
|
JSConsole.Chart.Log('[KLineChartContainer::document.onmouseup]',e);if(this.SelectChartDrawPicture)this.SelectChartDrawPicture.DragInfo=null;//this.UIElement.style.cursor="default";
|
|
@@ -1873,27 +1904,69 @@ this.ClearCanvas=function(canvas){if(!canvas)return;if(!this.UIElement)return;ca
|
|
|
1873
1904
|
this.Canvas.lineWidth=pixelTatio;//手机端需要根据分辨率比调整线段宽度
|
|
1874
1905
|
if(this.ChartSplashPaint&&this.ChartSplashPaint.IsEnableSplash){var data=this.InvokeBeforeDrawSplashScreenCallback();if(data&&data.PreventDefault===true)return;this.Frame.ClearCoordinateText();this.Frame.Draw({IsEnableSplash:this.ChartSplashPaint.IsEnableSplash});this.ChartSplashPaint.Draw();return;}if(this.CacheCanvas)this.SetCanvas(this.CacheCanvas);//框架
|
|
1875
1906
|
if(this.Frame.SetBeforeDrawXYCallback){this.Frame.SetBeforeDrawXYCallback(function(frame){_this10.BeforeDrawXYCoordinate(frame);});}this.Frame.Draw();if(this.Frame.DrawCustomVertical){var eventCVericalDraw=this.GetEventCallback(JSCHART_EVENT_ID.ON_CUSTOM_VERTICAL_DRAW);this.Frame.DrawCustomVertical(eventCVericalDraw);}this.Frame.CalculateLock();for(var i=0;i<this.ChartDrawPicture.length;++i){var item=this.ChartDrawPicture[i];if(!item.IsDrawMain)continue;if(item.IsDrawMain())item.MainDraw();}//框架内图形
|
|
1876
|
-
for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(item.IsDrawFirst)item.Draw();}if(this.Frame.DrawOveraly)this.Frame.DrawOveraly(true);//画叠加指标
|
|
1907
|
+
for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(item.IsDrawFirst)item.Draw();}this.DrawExtendChartPaint(IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_5);if(this.Frame.DrawOveraly)this.Frame.DrawOveraly(true);//画叠加指标
|
|
1877
1908
|
for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(!item.IsDrawFirst)item.Draw();}for(var i=0;i<this.ChartPaintEx.length;++i){var item=this.ChartPaintEx[i];item.Draw();}//叠加股票
|
|
1878
|
-
for(var i=0;i<this.OverlayChartPaint.length;++i){var item=this.OverlayChartPaint[i];item.Draw();}if(this.Frame.DrawOveraly)this.Frame.DrawOveraly(false);//画叠加指标
|
|
1879
|
-
|
|
1880
|
-
|
|
1909
|
+
for(var i=0;i<this.OverlayChartPaint.length;++i){var item=this.OverlayChartPaint[i];item.Draw();}this.DrawExtendChartPaint(IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_8);if(this.Frame.DrawOveraly)this.Frame.DrawOveraly(false);//画叠加指标
|
|
1910
|
+
this.DrawExtendChartPaint(IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_10);/*
|
|
1911
|
+
//固定扩展图形
|
|
1912
|
+
for(var i=0;i<this.ExtendChartPaint.length;++i)
|
|
1913
|
+
{
|
|
1914
|
+
var item=this.ExtendChartPaint[i];
|
|
1915
|
+
if (item.IsCallbackDraw) continue;
|
|
1916
|
+
if (item.DrawAfterPicture) continue;
|
|
1917
|
+
if (!item.IsDynamic && item.IsAnimation==false) item.Draw();
|
|
1918
|
+
}
|
|
1919
|
+
*/if(this.Frame.DrawInsideHorizontal)this.Frame.DrawInsideHorizontal();this.KLineIncreaseCustomHorizontal();if(this.Frame.DrawCustomHorizontal)this.Frame.DrawCustomHorizontal();//Y轴自定义坐标
|
|
1881
1920
|
if(this.Frame.DrawEx)this.Frame.DrawEx({Symbol:this.Symbol});if(this.ChartInfoPaint)this.ChartInfoPaint.Draw();this.Frame.DrawLock();this.Frame.DrawLogo();//图形缓存
|
|
1882
|
-
if(this.CacheCanvas){this.Canvas.drawImage(this.CacheElement,0,0);this.SetCanvas(this.Canvas);}else{this.Frame.Snapshot();}if(this.Frame.DrawToolbar)this.Frame.DrawToolbar(this.LastMouseStatus);this.DrawSelectedStatus();this.DrawSelectedBorder();if(this.DrawSelectedXBorder)this.DrawSelectedXBorder();var moveonPoint=null;if(this.LastMouseStatus&&this.LastMouseStatus.MoveOnPoint)moveonPoint=this.LastMouseStatus.MoveOnPoint;
|
|
1883
|
-
|
|
1921
|
+
if(this.CacheCanvas){this.Canvas.drawImage(this.CacheElement,0,0);this.SetCanvas(this.Canvas);}else{this.Frame.Snapshot();}if(this.Frame.DrawToolbar)this.Frame.DrawToolbar(this.LastMouseStatus);this.DrawSelectedStatus();this.DrawSelectedBorder();if(this.DrawSelectedXBorder)this.DrawSelectedXBorder();var moveonPoint=null;if(this.LastMouseStatus&&this.LastMouseStatus.MoveOnPoint)moveonPoint=this.LastMouseStatus.MoveOnPoint;this.DrawExtendChartPaint(IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_20,{MoveonPoint:moveonPoint});/*
|
|
1922
|
+
for(var i=0;i<this.ExtendChartPaint.length;++i) //动态扩展图形
|
|
1923
|
+
{
|
|
1924
|
+
var item=this.ExtendChartPaint[i];
|
|
1925
|
+
if (item.IsCallbackDraw) continue;
|
|
1926
|
+
if (item.DrawAfterPicture) continue;
|
|
1927
|
+
if (item.IsDynamic && item.DrawAfterTitle===false)
|
|
1928
|
+
{
|
|
1929
|
+
item.Draw();
|
|
1930
|
+
if (item.DrawToolbar) item.DrawToolbar(moveonPoint);
|
|
1931
|
+
}
|
|
1932
|
+
}
|
|
1933
|
+
*/for(var i=0;i<this.ChartDrawPicture.length;++i){var item=this.ChartDrawPicture[i];if(item.IsDrawFirst)item.Draw();}this.DrawDrawPictureXYCoordinate();//绘制画图工具 X,Y轴刻度信息
|
|
1884
1934
|
var bDrawDialogTooltip=false;var ptPosition=null;//鼠标位置 null 无效 -1 在外面 >=0 对应的指标窗口中ID
|
|
1885
1935
|
var corssCursorPos=this.GetCorssCursorPosition();if(corssCursorPos.LastPoint.X!=null||corssCursorPos.LastPoint.Y!=null){if(this.ChartCorssCursor){this.ChartCorssCursor.LastPoint=corssCursorPos.LastPoint;this.ChartCorssCursor.CursorIndex=corssCursorPos.CursorIndex;if(this.EnableNewIndex){this.ChartCorssCursor.CorssCursorIndex=corssCursorPos.CorssCursorIndex;this.ChartCorssCursor.EnableNewIndex=this.EnableNewIndex;}var bRestoreCanvas=false;if(this.CorssCursorCanvas)//独立的十字光标层
|
|
1886
1936
|
{this.ChartCorssCursor.Canvas=this.CorssCursorCanvas;this.ChartCorssCursor.Canvas.clearRect(0,0,this.CorssCursorElement.width,this.CorssCursorElement.height);bRestoreCanvas=true;}var button=this.PtInButton(this.LastPoint.X,this.LastPoint.Y);if(button)//鼠标在按钮上 不显示十字光标
|
|
1887
1937
|
{}else if(this.DragMode==JSCHART_DRAG_ID.CLICK_TOUCH_MODE_ID){//点击手势模式下
|
|
1888
1938
|
if(this.TouchStatus.CorssCursorShow==true)this.ChartCorssCursor.Draw();}else if(this.EnableClickModel){if(this.ClickModel.IsShowCorssCursor===true)this.ChartCorssCursor.Draw();}else if(!(this.CorssCursorTouchEnd===true&&this.MouseDrag)&&!(this.CorssCursorTouchEnd==true&&this.IsOnTouch==false)){//移动端 拖拽数据的时候 不显示十字光标, 没有按屏的时候也不显示十字光标
|
|
1889
|
-
this.ChartCorssCursor.Draw();}if(bRestoreCanvas){this.ChartCorssCursor.Canvas=this.Canvas;}bDrawDialogTooltip=true;}ptPosition=this.Frame.PtInFrame(this.LastPoint.X,this.LastPoint.Y);}var drawStatus=this.GetDrawStatus();drawStatus.DrawName="Draw";var eventTitleDraw=this.GetEventCallback(JSCHART_EVENT_ID.ON_TITLE_DRAW);var eventIndexTitleDraw=this.GetEventCallback(JSCHART_EVENT_ID.ON_INDEXTITLE_DRAW);for(var i=0;i<this.TitlePaint.length;++i){var item=this.TitlePaint[i];if(!item.IsDynamic)continue;item.CursorIndex=corssCursorPos.CursorIndex;item.LastPoint=corssCursorPos.LastPoint;if(item.ClassName=='DynamicChartTitlePainting')item.OnDrawEvent=eventIndexTitleDraw;else item.OnDrawEvent=eventTitleDraw;if(item.OnDrawEvent){item.OnDrawEvent.FunctionName='Draw';item.OnDrawEvent.PointPosition=ptPosition;if(this.IsLockCorssCursor()){if(item.OnDrawEvent.PointPosition<0)item.OnDrawEvent.PointPosition=0;}}item.DrawStatus=drawStatus;item.Draw(moveonPoint,this.LastMouseStatus);}
|
|
1890
|
-
|
|
1891
|
-
{
|
|
1892
|
-
|
|
1893
|
-
|
|
1939
|
+
this.ChartCorssCursor.Draw();}if(bRestoreCanvas){this.ChartCorssCursor.Canvas=this.Canvas;}bDrawDialogTooltip=true;}ptPosition=this.Frame.PtInFrame(this.LastPoint.X,this.LastPoint.Y);}var drawStatus=this.GetDrawStatus();drawStatus.DrawName="Draw";var eventTitleDraw=this.GetEventCallback(JSCHART_EVENT_ID.ON_TITLE_DRAW);var eventIndexTitleDraw=this.GetEventCallback(JSCHART_EVENT_ID.ON_INDEXTITLE_DRAW);for(var i=0;i<this.TitlePaint.length;++i){var item=this.TitlePaint[i];if(!item.IsDynamic)continue;item.CursorIndex=corssCursorPos.CursorIndex;item.LastPoint=corssCursorPos.LastPoint;if(item.ClassName=='DynamicChartTitlePainting')item.OnDrawEvent=eventIndexTitleDraw;else item.OnDrawEvent=eventTitleDraw;if(item.OnDrawEvent){item.OnDrawEvent.FunctionName='Draw';item.OnDrawEvent.PointPosition=ptPosition;if(this.IsLockCorssCursor()){if(item.OnDrawEvent.PointPosition<0)item.OnDrawEvent.PointPosition=0;}}item.DrawStatus=drawStatus;item.Draw(moveonPoint,this.LastMouseStatus);}this.DrawExtendChartPaint(IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_25);/*
|
|
1940
|
+
for(var i=0;i<this.ExtendChartPaint.length;++i) //动态扩展图形
|
|
1941
|
+
{
|
|
1942
|
+
var item=this.ExtendChartPaint[i];
|
|
1943
|
+
if (item.IsCallbackDraw) continue;
|
|
1944
|
+
if (item.DrawAfterPicture) continue;
|
|
1945
|
+
if (item.IsDynamic && item.DrawAfterTitle===true && item.IsAnimation==false) item.Draw();
|
|
1946
|
+
}
|
|
1947
|
+
*/if(this.EnableAnimation)this.DrawExtendChartPaint(IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_30);/*
|
|
1948
|
+
if (this.EnableAnimation)
|
|
1949
|
+
{
|
|
1950
|
+
for(var i=0;i<this.ExtendChartPaint.length;++i) //动画
|
|
1951
|
+
{
|
|
1952
|
+
var item=this.ExtendChartPaint[i];
|
|
1953
|
+
if (item.IsAnimation===true) item.Draw();
|
|
1954
|
+
}
|
|
1955
|
+
}
|
|
1956
|
+
*/for(var i=0;i<this.ChartDrawPicture.length;++i){var item=this.ChartDrawPicture[i];if(item.IsDrawFirst)continue;if(item.IsDrawMain&&item.IsDrawMain())continue;if(this.SelectChartDrawPicture&&this.SelectChartDrawPicture.Guid==item.Guid)continue;//当前选中在最后画
|
|
1957
|
+
item.Draw();}if(this.SelectChartDrawPicture)this.SelectChartDrawPicture.Draw();if(this.CurrentChartDrawPicture&&this.CurrentChartDrawPicture.Status!=10){this.CurrentChartDrawPicture.Draw();}this.DrawExtendChartPaint(IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_50);/*
|
|
1958
|
+
for(var i=0;i<this.ExtendChartPaint.length;++i) //画图工具绘制完成以后 动态扩展图形
|
|
1959
|
+
{
|
|
1960
|
+
var item=this.ExtendChartPaint[i];
|
|
1961
|
+
if (item.DrawAfterPicture)
|
|
1962
|
+
item.Draw();
|
|
1963
|
+
}
|
|
1964
|
+
*/this.OffscreenToShowCanvas();//更新滚动条
|
|
1894
1965
|
if(typeof this.UpdateScrollBar=='function')this.UpdateScrollBar();if(this.LastMouseStatus.MouseOnToolbar)//工具栏按钮提示信息
|
|
1895
1966
|
{var frame=this.LastMouseStatus.MouseOnToolbar.Frame;if(frame&&frame.DrawToolbarTooltip)frame.DrawToolbarTooltip(this.LastMouseStatus.MouseOnToolbar);}if(bDrawDialogTooltip)this.DrawTooltipDialog();//发送图形状态给外部
|
|
1896
|
-
if(this.mapEvent.has(JSCHART_EVENT_ID.CHART_STATUS)){var event=this.mapEvent.get(JSCHART_EVENT_ID.CHART_STATUS);var data={};if(typeof this.GetChartStatus=='function')data=this.GetChartStatus();event.Callback(event,data,this);}++this.TouchDrawCount;};this.
|
|
1967
|
+
if(this.mapEvent.has(JSCHART_EVENT_ID.CHART_STATUS)){var event=this.mapEvent.get(JSCHART_EVENT_ID.CHART_STATUS);var data={};if(typeof this.GetChartStatus=='function')data=this.GetChartStatus();event.Callback(event,data,this);}++this.TouchDrawCount;};this.DrawExtendChartPaint=function(level,option){if(!IFrameSplitOperator.IsNonEmptyArray(this.ExtendChartPaint))return;//扩展图形
|
|
1968
|
+
for(var i=0;i<this.ExtendChartPaint.length;++i){var item=this.ExtendChartPaint[i];if(item.IsCallbackDraw)continue;var value=item.GetPriority();//绘图优先级
|
|
1969
|
+
if(value!=level)continue;if(level==IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_20){item.Draw();if(item.DrawToolbar&&option)item.DrawToolbar(option.MoveonPoint,option.LastMouseStatus);}else if(level==IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_25&&option){if(item.ClassName=='KLineTooltipPaint'&&option){if(option.Tooltip==false)continue;if(option.Point)item.LatestPoint=option.Point;}else if(item.ClassName=="MinuteTooltipPaint"&&option){if(option.Point)item.LatestPoint=option.Point;}item.Draw(option.MoveonPoint,option.LastMouseStatus);}else{item.Draw();}}};this.PtInButton=function(x,y){var button=this.Frame.PtInButtons(x,y);if(button)return{Name:"FrameButton",Button:button};button=this.PtInExtendChartButtons(x,y);if(button)return{Name:"ExtendChartButton",Button:button};button=this.PtInDrawPictureButtons(x,y);if(button)return{Name:"DrawPictureButton",Button:button};button=this.PtInTitleButtons(x,y);if(button)return{Name:"TitleButton",Button:button};return null;};this.DrawDrawPictureXYCoordinate=function(){var actionDrawPicture=null;//当前激活的画图
|
|
1897
1970
|
if(this.CurrentChartDrawPicture)actionDrawPicture=this.CurrentChartDrawPicture;else if(this.SelectChartDrawPicture)actionDrawPicture=this.SelectChartDrawPicture;//画图工具显示点在Y轴的刻度
|
|
1898
1971
|
var option={Symbol:this.Symbol,Period:this.Period};for(var i=0;i<this.ChartDrawPicture.length;++i){var item=this.ChartDrawPicture[i];if(!item)continue;if(this.IsDrawPictureXY&&actionDrawPicture&&(actionDrawPicture==item||actionDrawPicture.Guid==item.Guid)){if(this.Frame.DrawPictureCoordinate(actionDrawPicture,option))continue;}if(item.IsShowYCoordinate){if(item.Frame)item.Frame.DrawPicturePointYCoordinate(item,option);}}};this.BeforeDrawXYCoordinate=function(frame){for(var i=0;i<this.ExtendChartPaint.length;++i){var item=this.ExtendChartPaint[i];if(item.IsCallbackDraw){if(["KLineYAxisBGPaint","DepthMapPaint","BackgroundPaint","MinuteBackgroundPaint","SessionBreaksPaint"].includes(item.ClassName)){if(item.FrameID==frame.Identify)item.Draw();}else if(g_ExtendChartPaintFactory.IsCallbackDraw(item.ClassName)){if(item.FrameID==frame.Identify)item.Draw();}}}};this.DrawSelectedBorder=function(){if(!this.GlobalOption.SelectedBorder)return;var item=this.GlobalOption.SelectedBorder;if(!IFrameSplitOperator.IsPlusNumber(item.Mode))return;if(!IFrameSplitOperator.IsNumber(item.SelFrame)&&item.SelFrame<0)return;var subFrame=this.Frame.SubFrame[item.SelFrame];if(!subFrame)return;if(subFrame.Frame.DrawSelectedBorder)subFrame.Frame.DrawSelectedBorder(item);};//当前屏K线涨幅Y轴刻度
|
|
1899
1972
|
this.KLineIncreaseCustomHorizontal=function(){if(!this.Frame||!this.Frame.SubFrame)return;var frame=this.Frame.SubFrame[0].Frame;if(!frame)return;var defaultfloatPrecision=GetfloatPrecision(this.Symbol);var isPercentage=false;//是否是百分比坐标
|
|
@@ -1905,17 +1978,59 @@ info.LineColor=item.Color;info.TextColor=g_JSChartResource.FrameLatestPrice.Over
|
|
|
1905
1978
|
this.GetCorssCursorPosition=function(){var position={LastPoint:{X:this.LastPoint.X,Y:this.LastPoint.Y},CursorIndex:this.CursorIndex};return position;};this.IsLockCorssCursor=function(){if(!this.GlobalOption||!this.GlobalOption.LockCorssCursor)return false;return this.GlobalOption.LockCorssCursor.X.Enable;};//画动态信息
|
|
1906
1979
|
this.DrawDynamicInfo=function(option){this.LastMouseStatus.MouseOnToolbar=null;//鼠标在工具栏按钮上
|
|
1907
1980
|
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_BEFORE_DRAW_DYNAMIC_INFO);if(event&&event.Callback){var sendData={};event.Callback(event,sendData,this);}if(this.Frame.ScreenImageData==null&&!this.CacheCanvas)return;var isErase=false;if(this.ChartCorssCursor){if(this.ChartCorssCursor.PointX!=null||this.ChartCorssCursor.PointY!=null)isErase=true;}isErase=true;//每次都擦除背景
|
|
1908
|
-
if(isErase==false){for(var i=0;i<this.ExtendChartPaint.length;++i){var item=this.ExtendChartPaint[i];if(item.IsCallbackDraw)continue;if(item.IsDynamic&&item.IsEraseBG){isErase=true;break;}}}if(isErase){if(this.Frame.ScreenImageData){this.Canvas.putImageData(this.Frame.ScreenImageData,0,0);}else if(this.CacheCanvas){this.Canvas.clearRect(0,0,this.UIElement.width,this.UIElement.height);this.Canvas.drawImage(this.CacheElement,0,0);}}if(this.Frame.DrawToolbar)this.Frame.DrawToolbar(this.LastMouseStatus);this.DrawSelectedStatus();this.DrawSelectedBorder();if(this.DrawSelectedXBorder)this.DrawSelectedXBorder();var moveonPoint=null;if(this.LastMouseStatus&&this.LastMouseStatus.MoveOnPoint)moveonPoint=this.LastMouseStatus.MoveOnPoint;
|
|
1909
|
-
|
|
1981
|
+
if(isErase==false){for(var i=0;i<this.ExtendChartPaint.length;++i){var item=this.ExtendChartPaint[i];if(item.IsCallbackDraw)continue;if(item.IsDynamic&&item.IsEraseBG){isErase=true;break;}}}if(isErase){if(this.Frame.ScreenImageData){this.Canvas.putImageData(this.Frame.ScreenImageData,0,0);}else if(this.CacheCanvas){this.Canvas.clearRect(0,0,this.UIElement.width,this.UIElement.height);this.Canvas.drawImage(this.CacheElement,0,0);}}if(this.Frame.DrawToolbar)this.Frame.DrawToolbar(this.LastMouseStatus);this.DrawSelectedStatus();this.DrawSelectedBorder();if(this.DrawSelectedXBorder)this.DrawSelectedXBorder();var moveonPoint=null;if(this.LastMouseStatus&&this.LastMouseStatus.MoveOnPoint)moveonPoint=this.LastMouseStatus.MoveOnPoint;this.DrawExtendChartPaint(IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_20,{MoveonPoint:moveonPoint,LastMouseStatus:this.LastMouseStatus});/*
|
|
1982
|
+
for(var i=0;i<this.ExtendChartPaint.length;++i) //动态扩展图形
|
|
1983
|
+
{
|
|
1984
|
+
var item=this.ExtendChartPaint[i];
|
|
1985
|
+
if (item.IsCallbackDraw) continue;
|
|
1986
|
+
if (item.DrawAfterPicture) continue;
|
|
1987
|
+
if (item.IsDynamic && item.DrawAfterTitle===false && item.IsAnimation==false)
|
|
1988
|
+
{
|
|
1989
|
+
item.Draw();
|
|
1990
|
+
if (item.DrawToolbar) item.DrawToolbar(moveonPoint, this.LastMouseStatus);
|
|
1991
|
+
}
|
|
1992
|
+
}
|
|
1993
|
+
*/for(var i=0;i<this.ChartDrawPicture.length;++i){var item=this.ChartDrawPicture[i];if(item.IsDrawFirst)item.Draw();}this.DrawDrawPictureXYCoordinate();var bDrawDialogTooltip=false;var corssCursorPos=this.GetCorssCursorPosition();//十字光标的位置
|
|
1910
1994
|
if(this.ChartCorssCursor){this.ChartCorssCursor.LastPoint=corssCursorPos.LastPoint;this.ChartCorssCursor.CursorIndex=corssCursorPos.CursorIndex;if(this.EnableNewIndex){this.ChartCorssCursor.CorssCursorIndex=corssCursorPos.CorssCursorIndex;this.ChartCorssCursor.EnableNewIndex=this.EnableNewIndex;}var bRestoreCanvas=false;if(this.CorssCursorCanvas)//独立的十字光标层
|
|
1911
1995
|
{this.ChartCorssCursor.Canvas=this.CorssCursorCanvas;this.ChartCorssCursor.Canvas.clearRect(0,0,this.CorssCursorElement.width,this.CorssCursorElement.height);bRestoreCanvas=true;}if(option&&option.Corss==false){}else if(this.DragMode==JSCHART_DRAG_ID.CLICK_TOUCH_MODE_ID){if(this.TouchStatus.CorssCursorShow==true)this.ChartCorssCursor.Draw();}else if(this.IsOnTouch===false&&this.CurrentChartDrawPicture&&this.CurrentChartDrawPicture.IsShowCorssCursor===true)//开始绘图
|
|
1912
1996
|
{this.ChartCorssCursor.Draw();}else if(!(this.IsOnTouch===false&&this.CorssCursorTouchEnd===true)&&!this.CurrentChartDrawPicture){this.ChartCorssCursor.Draw();}else if(this.IsOnTouch===true&&this.CurrentChartDrawPicture&&this.EnableShowCorssCursor&&this.EnableShowCorssCursor.DrawPicture==true){this.ChartCorssCursor.Draw();}if(bRestoreCanvas){this.ChartCorssCursor.Canvas=this.Canvas;}bDrawDialogTooltip=true;}var ptPosition=null;//鼠标位置 null 无效 -1 在外面 >=0 对应的指标窗口中ID
|
|
1913
1997
|
if(option&&option.Point&&(option.ParentFunction=='OnMouseMove'||option.ParentFunction=='MoveCorssCursorIndex')){ptPosition=this.Frame.PtInFrame(option.Point.X,option.Point.Y);}var drawStatus=this.GetDrawStatus();drawStatus.DrawName="DrawDynamicInfo";for(var i=0;i<this.TitlePaint.length;++i){var item=this.TitlePaint[i];if(!item.IsDynamic)continue;item.CursorIndex=corssCursorPos.CursorIndex;item.LastPoint=this.LastPoint;if(item.OnDrawEvent){item.OnDrawEvent.FunctionName='DrawDynamicInfo';item.OnDrawEvent.PointPosition=ptPosition;if(this.IsLockCorssCursor()){if(item.OnDrawEvent.PointPosition<0)item.OnDrawEvent.PointPosition=0;}}item.DrawStatus=drawStatus;var pointInfo=null;if(option&&IFrameSplitOperator.IsNumber(option.ClientPos)&&option.Point)//当前鼠标所在位置的详细信息 包含盘前盘后
|
|
1914
|
-
{pointInfo={ClientPos:option.ClientPos,Point:{X:option.Point.X,Y:option.Point.Y}};if(this.IsLockCorssCursor()){if(pointInfo.ClientPos<=0)pointInfo.ClientPos=1;}}item.PointInfo=pointInfo;item.Draw(moveonPoint,this.LastMouseStatus);}
|
|
1915
|
-
|
|
1916
|
-
{
|
|
1917
|
-
|
|
1918
|
-
|
|
1998
|
+
{pointInfo={ClientPos:option.ClientPos,Point:{X:option.Point.X,Y:option.Point.Y}};if(this.IsLockCorssCursor()){if(pointInfo.ClientPos<=0)pointInfo.ClientPos=1;}}item.PointInfo=pointInfo;item.Draw(moveonPoint,this.LastMouseStatus);}var exChartOption={MoveonPoint:moveonPoint,LastMouseStatus:this.LastMouseStatus};if(option){exChartOption.Tooltip=option.Tooltip;exChartOption.Point=option.Point;}this.DrawExtendChartPaint(IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_25,exChartOption);/*
|
|
1999
|
+
for(var i=0;i<this.ExtendChartPaint.length;++i) //动态扩展图形 在动态标题以后画
|
|
2000
|
+
{
|
|
2001
|
+
var item=this.ExtendChartPaint[i];
|
|
2002
|
+
if (item.IsCallbackDraw) continue;
|
|
2003
|
+
if (item.DrawAfterPicture) continue;
|
|
2004
|
+
if (item.ClassName=='KLineTooltipPaint' && option)
|
|
2005
|
+
{
|
|
2006
|
+
if (option.Tooltip==false) continue;
|
|
2007
|
+
if (option.Point) item.LatestPoint=option.Point;
|
|
2008
|
+
}
|
|
2009
|
+
else if (item.ClassName=="MinuteTooltipPaint" && option)
|
|
2010
|
+
{
|
|
2011
|
+
if (option.Point) item.LatestPoint=option.Point;
|
|
2012
|
+
}
|
|
2013
|
+
|
|
2014
|
+
if (item.IsDynamic && item.DrawAfterTitle===true) item.Draw(moveonPoint, this.LastMouseStatus);
|
|
2015
|
+
}
|
|
2016
|
+
*/if(this.EnableAnimation)this.DrawExtendChartPaint(IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_30);/*
|
|
2017
|
+
if (this.EnableAnimation)
|
|
2018
|
+
{
|
|
2019
|
+
for(var i=0;i<this.ExtendChartPaint.length;++i) //动画
|
|
2020
|
+
{
|
|
2021
|
+
var item=this.ExtendChartPaint[i];
|
|
2022
|
+
if (item.IsAnimation===true) item.Draw();
|
|
2023
|
+
}
|
|
2024
|
+
}
|
|
2025
|
+
*/for(var i=0;i<this.ChartDrawPicture.length;++i){var item=this.ChartDrawPicture[i];if(item.IsDrawFirst)continue;if(item.IsDrawMain&&item.IsDrawMain())continue;if(this.SelectChartDrawPicture&&item.Guid==this.SelectChartDrawPicture.Guid)continue;//选中画图最后画 确保显示在最外面
|
|
2026
|
+
item.Draw(moveonPoint,this.LastMouseStatus);}if(this.SelectChartDrawPicture){this.SelectChartDrawPicture.Draw(moveonPoint,this.LastMouseStatus);}if(this.CurrentChartDrawPicture&&this.CurrentChartDrawPicture.Status!=10){this.CurrentChartDrawPicture.Draw();}this.DrawExtendChartPaint(IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_50);/*
|
|
2027
|
+
for(var i=0;i<this.ExtendChartPaint.length;++i) //动态扩展图形
|
|
2028
|
+
{
|
|
2029
|
+
var item=this.ExtendChartPaint[i];
|
|
2030
|
+
if (item.DrawAfterPicture)
|
|
2031
|
+
item.Draw();
|
|
2032
|
+
}
|
|
2033
|
+
*/if(this.LastMouseStatus.MouseOnToolbar)//工具栏按钮提示信息
|
|
1919
2034
|
{var frame=this.LastMouseStatus.MouseOnToolbar.Frame;if(frame&&frame.DrawToolbarTooltip)frame.DrawToolbarTooltip(this.LastMouseStatus.MouseOnToolbar);}this.OffscreenToShowCanvas();if(bDrawDialogTooltip)this.DrawTooltipDialog();++this.TouchDrawCount;};this.DrawAnimation=function()//绘制动画 如弹幕
|
|
1920
2035
|
{if(!this.EnableAnimation)return;if(this.Frame.ScreenImageData&&!this.IsOnTouch){for(var i=0;i<this.ExtendChartPaint.length;++i){var item=this.ExtendChartPaint[i];if(item.IsAnimation===true)item.IsMoveStep=true;//移动弹幕
|
|
1921
2036
|
}this.DrawDynamicInfo();}var self=this;window.requestAnimationFrame(function(){self.DrawAnimation();});};this.StartAnimation=function(option){var bCreated=false;//是否已经创建了弹幕画法
|
|
@@ -1940,7 +2055,7 @@ if(this.SetCorssCursorIndex)this.SetCorssCursorIndex(option);if(this.DrawDynamic
|
|
|
1940
2055
|
this.SetCursor=function(obj){if(!obj||!obj.Cursor)return;if(obj.Cursor=="default")this.UIElement.style.cursor=this.DefaultCursor;else this.UIElement.style.cursor=obj.Cursor;};this.OnHotKeyDown=function(keyID,e)//热键触发
|
|
1941
2056
|
{var item=this.FindHotKey(keyID,e);if(!item)return false;this.ExecuteMenuCommand(item.CMD,item.Args);return true;};this.FindHotKey=function(keyID,e){if(!IFrameSplitOperator.IsNonEmptyArray(this.AryHotKey))return null;for(var i=0;i<this.AryHotKey.length;++i){var item=this.AryHotKey[i];if(keyID==item.KeyID){//SecondKeyID 1=shiftKey 2=ctrlKey 3=altKey
|
|
1942
2057
|
if(item.SecondKeyID==1&&e.shiftKey||item.SecondKeyID==2&&e.ctrlKey||item.SecondKeyID==3&&e.altKey)return item;}}return null;};this.IsHotKey=function(keyID,e){var item=this.FindHotKey(keyID,e);if(!item)return false;return true;};this.OnKeyDown=function(e){var _this12=this;if(this.ChartSplashPaint&&this.ChartSplashPaint.IsEnableSplash==true)return;var keyID=e.keyCode?e.keyCode:e.which;//回调事件
|
|
1943
|
-
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_KEYDOWN);if(event&&event.Callback){var sendData={e:e,KeyID:keyID,PreventDefault:false};event.Callback(event,sendData,this);if(sendData.PreventDefault)return;}var draw=false;if(this.ChartCorssCursor&&this.ChartCorssCursor.OnKeyDown)//十字光标 隐藏显示
|
|
2058
|
+
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_KEYDOWN);if(event&&event.Callback){var sendData={e:e,KeyID:keyID,PreventDefault:false};event.Callback(event,sendData,this);if(sendData.PreventDefault)return;}var draw=false;if(keyID==27&&this.PopMinuteChart&&this.PopMinuteChart.IsShow()){this.PopMinuteChart.Close();draw=true;}else if(this.ChartCorssCursor&&this.ChartCorssCursor.OnKeyDown)//十字光标 隐藏显示
|
|
1944
2059
|
{var sendData={e:e,KeyID:keyID,Draw:false,PreventDefault:false};this.ChartCorssCursor.OnKeyDown(sendData);draw=sendData.Draw;}if(this.OnHotKeyDown(keyID,e)){//不让滚动条滚动
|
|
1945
2060
|
if(e.preventDefault)e.preventDefault();else e.returnValue=false;return;}switch(keyID){case 37://left
|
|
1946
2061
|
if((e.ctrlKey||e.shiftKey)&&this.OnCustomKeyDown){if(this.OnCustomKeyDown(keyID,e))break;}if(this.CursorIndex<=0.99999){if(!this.DataMoveLeft()){//左移数据到头了 触发下载新数据
|
|
@@ -1955,9 +2070,9 @@ if(this.SelectChartDrawPicture){var drawPicture=this.SelectChartDrawPicture;JSCo
|
|
|
1955
2070
|
}else if(this.SelectedChart&&this.SelectedChart.Selected.Identify){var selectedInfo=this.GetSelectedChartInfo(this.SelectedChart.Selected);if(selectedInfo){if(selectedInfo.Type==JSCHART_DRAGCHART_TYPE_ID.OVERLAY_INDEX)this.DeleteOverlayWindowsIndex(selectedInfo.IndexID);else if(selectedInfo.Type==JSCHART_DRAGCHART_TYPE_ID.OVERLAY_KLINE)this.DeleteOverlaySymbol(selectedInfo.Symbol);}}break;case 32://space
|
|
1956
2071
|
this.OnMarkRectSelect(e);break;case 27://ESCAPE 取消画布工具
|
|
1957
2072
|
if(this.CurrentChartDrawPicture){var drawPicture=this.CurrentChartDrawPicture;if(drawPicture.Status!=20)//画布移动的时候不能取消
|
|
1958
|
-
this.CurrentChartDrawPicture=null;}break;
|
|
1959
|
-
if(
|
|
1960
|
-
};this.ZoomIndexWindow=function(frameID,option)//最大化/最小化指标窗口
|
|
2073
|
+
this.CurrentChartDrawPicture=null;}break;case 13://回车
|
|
2074
|
+
if(this.OnCustomKeyDown)this.OnCustomKeyDown(keyID,e);break;default:return;}if(draw)this.DrawDynamicInfo();//不让滚动条滚动
|
|
2075
|
+
if(e.preventDefault)e.preventDefault();else e.returnValue=false;};this.OnDoubleClick=function(x,y,e){};this.ZoomIndexWindow=function(frameID,option)//最大化/最小化指标窗口
|
|
1961
2076
|
{if(frameID<0||frameID>=this.Frame.SubFrame.length)return false;return this.Frame.ZoomIndexWindow(frameID,option);};this.ShowIndexTitleOnly=function(frameID,option)//只显示指标的标题 option={ Enable:true/false }
|
|
1962
2077
|
{if(frameID<0||frameID>=this.Frame.SubFrame.length)return false;return this.Frame.ShowIndexTitleOnly(frameID,option);};this.RemoveMinSizeWindows=function()//清空最小化窗口
|
|
1963
2078
|
{if(!this.Frame.ZoomWindowsInfo)return;var aryDeleteIndex=[],aryIndex=[];//删除的索引, 保留的索引
|
|
@@ -2184,7 +2299,7 @@ this.Draw();break;case JSCHART_MENU_ID.CMD_ENABLE_OVERLAY_SHARE_Y_ID:if(!srcPara
|
|
|
2184
2299
|
this.UpdateFrameMaxMin();//调整坐标最大 最小值
|
|
2185
2300
|
this.Draw();break;case JSCHART_MENU_ID.CMD_CHANGE_DEFAULTCURSOR_ID:if(!IFrameSplitOperator.IsString(srcParam))return;this.DefaultCursor=srcParam;this.UIElement.style.cursor=this.DefaultCursor;break;case JSCHART_MENU_ID.CMD_ADD_OVERLAY_INDEX_ID://叠加指标 0=windowIndex, 1=indexinfo
|
|
2186
2301
|
if(param==null||!aryArgs[1])return false;var obj=aryArgs[1];obj.WindowIndex=param;this.AddOverlayIndex(obj);break;case JSCHART_MENU_ID.CMD_CHANGE_LANGUAGE_ID:if(srcParam)this.SetLanguage(srcParam);break;case JSCHART_MENU_ID.CMD_CHANGE_DRAG_RECT_SHOW_MODE_ID:if(param!=null){if(this.ChartDragSelectRect)this.ChartDragSelectRect.ShowMode=param;}break;case JSCHART_MENU_ID.CMD_SHOW_CORSS_LINE_ID:if(IFrameSplitOperator.IsBool(srcParam)){if(this.ChartCorssCursor)this.ChartCorssCursor.IsShowCorss=srcParam;}break;case JSCHART_MENU_ID.CMD_ENABLE_POP_MINUTE_CHART_ID://双击弹分时图
|
|
2187
|
-
if(IFrameSplitOperator.IsBool(srcParam)){if(srcParam){this.DestroyPopMinuteChart();this.InitalPopMinuteChart({PopMinuteChart:{Enable:true}});}else{this.DestroyPopMinuteChart();}}break;case JSCHART_MENU_ID.CMD_CHANGE_INFO_POSITION_ID:if(param==null)return false;var klineChart=this.ChartPaint[0];if(!klineChart)return false;klineChart.InfoPosition=param;this.Draw();break;case JSCHART_MENU_ID.CMD_DIALOG_TOOLTIP_ATTRIBUTE:if(!aryArgs[0])return false;var option=aryArgs[0];if(!IFrameSplitOperator.IsBool(option.Enable))return false;if(option.Enable===false){this.DestroyTooltipDialog();}else{this.DestroyTooltipDialog();this.InitalTooltipDialog(option);}break;case JSCHART_MENU_ID.CMD_KLINE_TOOLTIP_ATTRIBUTE:if(!aryArgs[0])return false;var option=aryArgs[0];if(IFrameSplitOperator.IsBool(option.Enable))this.KLineTooltipConfig.Enable=option.Enable;if(IFrameSplitOperator.IsBool(option.EnableKeyDown))this.KLineTooltipConfig.EnableKeyDown=option.EnableKeyDown;break;case JSCHART_MENU_ID.CMD_MODIFY_INDEX_PARAM:if(param==null)return false;var sendData={e:null,WindowIndex:param,Type:1};this.ShowModifyIndexParamDialog(sendData);break;case JSCHART_MENU_ID.CMD_MODIFY_OVERLAY_INDEX_PARAM:if(param==null)return false;if(!aryArgs[1])return false;var sendData={e:null,WindowIndex:param,Type:2,Identify:aryArgs[1]};this.ShowModifyIndexParamDialog(sendData);break;case JSCHART_MENU_ID.CMD_LOCK_CROSSCURSOR:if(srcParam)this.LockCorssCursor(srcParam);break;case JSCHART_MENU_ID.CMD_UNLOCK_CROSSCURSOR:if(this.IsLockCorssCursor())this.UnlockCorssCursor({Draw:true});break;case JSCHART_MENU_ID.CMD_CORSS_ON_CLOSE_LINE_ID:if(IFrameSplitOperator.IsBool(srcParam)&&this.ChartCorssCursor)this.ChartCorssCursor.IsOnlyDrawMinute=srcParam;break;case JSCHART_MENU_ID.CMD_CORSS_ON_VAILD_TIME_ID:if(IFrameSplitOperator.IsBool(srcParam)&&this.ChartCorssCursor)this.ChartCorssCursor.IsFixXLastTime=srcParam;break;case JSCHART_MENU_ID.CMD_CORSS_ON_KLINE_ID:if(IFrameSplitOperator.IsBool(srcParam)&&this.ChartCorssCursor){this.ChartCorssCursor.IsOnlyDrawKLine=srcParam;this.ChartCorssCursor.IsShowClose=srcParam;}break;case JSCHART_MENU_ID.CMD_CORSS_POINT_ID:if(IFrameSplitOperator.IsBool(srcParam)&&this.ChartCorssCursor)this.ChartCorssCursor.CorssPointConfig.Enable=srcParam;break;case JSCHART_MENU_ID.CMD_RBUTTON_SELECT_RECT_ID:if(IFrameSplitOperator.IsBool(srcParam)&&this.ChartDragSelectRect)this.ChartDragSelectRect.EnableRButton=srcParam;break;case JSCHART_MENU_ID.CMD_LBUTTON_SELECT_RECT_ID:if(IFrameSplitOperator.IsBool(srcParam)&&this.ChartDragSelectRect)this.ChartDragSelectRect.EnableLButton=srcParam;break;case JSCHART_MENU_ID.CMD_ENABLE_XDRAG_BOTTOM_ID:if(IFrameSplitOperator.IsBool(srcParam))this.EnableXDrag.Bottom=srcParam;break;case JSCHART_MENU_ID.CMD_FULLSCREEN_SUMMARY_ID:this.FullScreenSummary();break;}};this.GetShowIndexMenuData=function(windowIndex,showType){var script=this.WindowIndex[windowIndex];if(!script)return null;var data={Name:script.IsShow?"隐藏指标":"显示指标",Data:{ID:JSCHART_MENU_ID.CMD_SHOW_INDEX_ID,Args:[windowIndex,0]}};return data;};this.GetModifyIndexMenuData=function(windowIndex){var data={Name:"参数修改",Data:{ID:JSCHART_MENU_ID.CMD_MODIFY_INDEX_PARAM,Args:[windowIndex]}};return data;};this.GetShowOverlayIndexMenuData=function(indexGuid,showType){var overlay=this.GetOverlayIndexByIdentify(indexGuid);if(!overlay||!overlay.OverlayItem||!overlay.OverlayItem.Script)return null;var script=overlay.OverlayItem.Script;var data={Name:script.IsShow?"隐藏指标":"显示指标",Data:{ID:JSCHART_MENU_ID.CMD_SHOW_OVERLAY_INDEX_ID,Args:[indexGuid,0]}};return data;};this.GetModifyOverlayIndexMenuData=function(indexGuid){var overlay=this.GetOverlayIndexByIdentify(indexGuid);if(!overlay)return null;var data={Name:"参数修改",Data:{ID:JSCHART_MENU_ID.CMD_MODIFY_OVERLAY_INDEX_PARAM,Args:[overlay.WindowIndex,indexGuid]}};return data;};this.GetShowOverlayIndexYAxisMenuData=function(indexGuid,showType){var overlay=this.GetOverlayIndexByIdentify(indexGuid);if(!overlay||!overlay.OverlayItem||!overlay.OverlayItem.Script)return null;var frame=overlay.OverlayItem.Frame;var data={Name:frame.IsShow?"隐藏Y轴":"显示Y轴",Data:{ID:JSCHART_MENU_ID.CMD_SHOW_OVERLAY_Y_AXIS_ID,Args:[indexGuid,0]}};return data;};this.GetOverlayIndexShareYMenuData=function(indexGuid,showType){var overlay=this.GetOverlayIndexByIdentify(indexGuid);if(!overlay||!overlay.OverlayItem||!overlay.OverlayItem.Script)return null;var frame=overlay.OverlayItem.Frame;var data={Name:"公用窗口Y轴",Data:{ID:JSCHART_MENU_ID.CMD_ENABLE_OVERLAY_SHARE_Y_ID,Args:[indexGuid,0]},Checked:frame.IsShareY};return data;};//点击右键菜单
|
|
2302
|
+
if(IFrameSplitOperator.IsBool(srcParam)){if(srcParam){this.DestroyPopMinuteChart();this.InitalPopMinuteChart({PopMinuteChart:{Enable:true}});}else{this.DestroyPopMinuteChart();}}break;case JSCHART_MENU_ID.CMD_CHANGE_INFO_POSITION_ID:if(param==null)return false;var klineChart=this.ChartPaint[0];if(!klineChart)return false;klineChart.InfoPosition=param;this.Draw();break;case JSCHART_MENU_ID.CMD_DIALOG_TOOLTIP_ATTRIBUTE:if(!aryArgs[0])return false;var option=aryArgs[0];if(!IFrameSplitOperator.IsBool(option.Enable))return false;if(option.Enable===false){this.DestroyTooltipDialog();}else{this.DestroyTooltipDialog();this.InitalTooltipDialog(option);}break;case JSCHART_MENU_ID.CMD_KLINE_TOOLTIP_ATTRIBUTE:if(!aryArgs[0])return false;var option=aryArgs[0];if(IFrameSplitOperator.IsBool(option.Enable))this.KLineTooltipConfig.Enable=option.Enable;if(IFrameSplitOperator.IsBool(option.EnableKeyDown))this.KLineTooltipConfig.EnableKeyDown=option.EnableKeyDown;break;case JSCHART_MENU_ID.CMD_MODIFY_INDEX_PARAM:if(param==null)return false;var sendData={e:null,WindowIndex:param,Type:1};this.ShowModifyIndexParamDialog(sendData);break;case JSCHART_MENU_ID.CMD_MODIFY_OVERLAY_INDEX_PARAM:if(param==null)return false;if(!aryArgs[1])return false;var sendData={e:null,WindowIndex:param,Type:2,Identify:aryArgs[1]};this.ShowModifyIndexParamDialog(sendData);break;case JSCHART_MENU_ID.CMD_LOCK_CROSSCURSOR:if(srcParam)this.LockCorssCursor(srcParam);break;case JSCHART_MENU_ID.CMD_UNLOCK_CROSSCURSOR:if(this.IsLockCorssCursor())this.UnlockCorssCursor({Draw:true});break;case JSCHART_MENU_ID.CMD_CORSS_ON_CLOSE_LINE_ID:if(IFrameSplitOperator.IsBool(srcParam)&&this.ChartCorssCursor)this.ChartCorssCursor.IsOnlyDrawMinute=srcParam;break;case JSCHART_MENU_ID.CMD_CORSS_ON_VAILD_TIME_ID:if(IFrameSplitOperator.IsBool(srcParam)&&this.ChartCorssCursor)this.ChartCorssCursor.IsFixXLastTime=srcParam;break;case JSCHART_MENU_ID.CMD_CORSS_ON_KLINE_ID:if(IFrameSplitOperator.IsBool(srcParam)&&this.ChartCorssCursor){this.ChartCorssCursor.IsOnlyDrawKLine=srcParam;this.ChartCorssCursor.IsShowClose=srcParam;}break;case JSCHART_MENU_ID.CMD_CORSS_POINT_ID:if(IFrameSplitOperator.IsBool(srcParam)&&this.ChartCorssCursor)this.ChartCorssCursor.CorssPointConfig.Enable=srcParam;break;case JSCHART_MENU_ID.CMD_CORSS_DBCLICK_ID:if(IFrameSplitOperator.IsBool(srcParam)&&this.ChartCorssCursor)this.ChartCorssCursor.EnableDBClick=srcParam;break;case JSCHART_MENU_ID.CMD_RBUTTON_SELECT_RECT_ID:if(IFrameSplitOperator.IsBool(srcParam)&&this.ChartDragSelectRect)this.ChartDragSelectRect.EnableRButton=srcParam;break;case JSCHART_MENU_ID.CMD_LBUTTON_SELECT_RECT_ID:if(IFrameSplitOperator.IsBool(srcParam)&&this.ChartDragSelectRect)this.ChartDragSelectRect.EnableLButton=srcParam;break;case JSCHART_MENU_ID.CMD_ENABLE_XDRAG_BOTTOM_ID:if(IFrameSplitOperator.IsBool(srcParam))this.EnableXDrag.Bottom=srcParam;break;case JSCHART_MENU_ID.CMD_FULLSCREEN_SUMMARY_ID:this.FullScreenSummary();break;}};this.GetShowIndexMenuData=function(windowIndex,showType){var script=this.WindowIndex[windowIndex];if(!script)return null;var data={Name:script.IsShow?"隐藏指标":"显示指标",Data:{ID:JSCHART_MENU_ID.CMD_SHOW_INDEX_ID,Args:[windowIndex,0]}};return data;};this.GetModifyIndexMenuData=function(windowIndex){var data={Name:"参数修改",Data:{ID:JSCHART_MENU_ID.CMD_MODIFY_INDEX_PARAM,Args:[windowIndex]}};return data;};this.GetShowOverlayIndexMenuData=function(indexGuid,showType){var overlay=this.GetOverlayIndexByIdentify(indexGuid);if(!overlay||!overlay.OverlayItem||!overlay.OverlayItem.Script)return null;var script=overlay.OverlayItem.Script;var data={Name:script.IsShow?"隐藏指标":"显示指标",Data:{ID:JSCHART_MENU_ID.CMD_SHOW_OVERLAY_INDEX_ID,Args:[indexGuid,0]}};return data;};this.GetModifyOverlayIndexMenuData=function(indexGuid){var overlay=this.GetOverlayIndexByIdentify(indexGuid);if(!overlay)return null;var data={Name:"参数修改",Data:{ID:JSCHART_MENU_ID.CMD_MODIFY_OVERLAY_INDEX_PARAM,Args:[overlay.WindowIndex,indexGuid]}};return data;};this.GetShowOverlayIndexYAxisMenuData=function(indexGuid,showType){var overlay=this.GetOverlayIndexByIdentify(indexGuid);if(!overlay||!overlay.OverlayItem||!overlay.OverlayItem.Script)return null;var frame=overlay.OverlayItem.Frame;var data={Name:frame.IsShow?"隐藏Y轴":"显示Y轴",Data:{ID:JSCHART_MENU_ID.CMD_SHOW_OVERLAY_Y_AXIS_ID,Args:[indexGuid,0]}};return data;};this.GetOverlayIndexShareYMenuData=function(indexGuid,showType){var overlay=this.GetOverlayIndexByIdentify(indexGuid);if(!overlay||!overlay.OverlayItem||!overlay.OverlayItem.Script)return null;var frame=overlay.OverlayItem.Frame;var data={Name:"公用窗口Y轴",Data:{ID:JSCHART_MENU_ID.CMD_ENABLE_OVERLAY_SHARE_Y_ID,Args:[indexGuid,0]},Checked:frame.IsShareY};return data;};//点击右键菜单
|
|
2188
2303
|
this.OnClickRightMenu=function(data){JSConsole.Chart.Log('[JSChartContainer::OnClickRightMenu] ',data);if(!data||!data.Data)return;var cmdID=data.Data.ID;//命令ID
|
|
2189
2304
|
var aryArgs=data.Data.Args;//参数
|
|
2190
2305
|
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_MENU_COMMAND);//回调通知外部
|
|
@@ -4797,10 +4912,21 @@ this.IsEraseBG=false;//是否每次画的时候需要擦除K线图背景
|
|
|
4797
4912
|
this.DrawAfterTitle=false;//是否在动态标题画完以后再画,防止动态标题覆盖
|
|
4798
4913
|
this.DrawAfterPicture=false;//是否在画图工具以后绘制
|
|
4799
4914
|
this.IsCallbackDraw=false;//在回调函数里绘制, 不在Draw()中绘制
|
|
4800
|
-
this.ID=Guid()
|
|
4801
|
-
|
|
4802
|
-
this.
|
|
4803
|
-
|
|
4915
|
+
this.ID=Guid();this.DrawPriority=null;//绘图优先级
|
|
4916
|
+
//上下左右间距
|
|
4917
|
+
this.Left=5;this.Right=5;this.Top=5;this.Bottom=5;this.GetPriority=function(){if(IFrameSplitOperator.IsNumber(this.DrawPriority))return this.DrawPriority;//新版本
|
|
4918
|
+
//老版本转换
|
|
4919
|
+
if(!this.IsDynamic&&!this.DrawAfterPicture)return IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_10;if(this.DrawAfterTitle===false&&this.IsAnimation==false)return IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_20;if(this.DrawAfterTitle===true)return IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_25;if(this.IsAnimation===true)return IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_35;if(this.DrawAfterPicture===true)IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_50;return IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_50;};this.Draw=function(){};//设置参数接口
|
|
4920
|
+
this.SetOption=function(option){};this.GetFontHeight=function(font){return GetFontHeight(this.Canvas,font,"擎");};this.SetFillStyle=function(color,x0,y0,x1,y1){if(Array.isArray(color)){var gradient=this.Canvas.createLinearGradient(x0,y0,x1,y1);var offset=1/(color.length-1);for(var i=0;i<color.length;++i){var value=i*offset;gradient.addColorStop(value,color[i]);}this.Canvas.fillStyle=gradient;}else{this.Canvas.fillStyle=color;}};}//绘图优先级
|
|
4921
|
+
IExtendChartPainting.DRAW_PRIORITY_ID={LEVEL_1:1,LEVEL_5:5,// 叠加指数图形前面 指标图形 IsDrawFirst=true
|
|
4922
|
+
LEVEL_8:8,// 叠加指数图形前面 指标图形 IsDrawFirst=false
|
|
4923
|
+
LEVEL_10:10,// IsDynamic=false
|
|
4924
|
+
LEVEL_20:20,// IsDynamic=true
|
|
4925
|
+
LEVEL_25:25,// DrawAfterTitle=true 标题栏绘制完成以后
|
|
4926
|
+
LEVEL_35:35,// IsAnimation=true
|
|
4927
|
+
LEVEL_50:50// DrawAfterPicture=true; 是否在画图工具以后绘制
|
|
4928
|
+
//K线Tooltip, 显示在左边或右边
|
|
4929
|
+
};function KLineTooltipPaint(){this.newMethod=IExtendChartPainting;//派生
|
|
4804
4930
|
this.newMethod();delete this.newMethod;this.IsDynamic=true;this.IsEraseBG=true;this.DrawAfterTitle=true;this.ClassName='KLineTooltipPaint';this.BorderColor=g_JSChartResource.TooltipPaint.BorderColor;//边框颜色
|
|
4805
4931
|
this.BGColor=g_JSChartResource.TooltipPaint.BGColor;//背景色
|
|
4806
4932
|
this.TitleColor=g_JSChartResource.TooltipPaint.TitleColor;//标题颜色
|
|
@@ -4809,7 +4935,7 @@ this.VolColor=g_JSChartResource.TooltipPaint.VolColor;//标题成交量
|
|
|
4809
4935
|
this.AmountColor=g_JSChartResource.TooltipPaint.AmountColor;//成交金额
|
|
4810
4936
|
this.LatestPoint;//手势位置
|
|
4811
4937
|
this.ShowPosition=0;//显示位置 0=左 1=右
|
|
4812
|
-
this.Left=1*GetDevicePixelRatio();this.Top=5*GetDevicePixelRatio();this.Width=50;this.Height=100;this.LineHeight=15*GetDevicePixelRatio();//行高
|
|
4938
|
+
this.DrawPriority=IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_25;this.Left=1*GetDevicePixelRatio();this.Top=5*GetDevicePixelRatio();this.Width=50;this.Height=100;this.LineHeight=15*GetDevicePixelRatio();//行高
|
|
4813
4939
|
this.LineSpace=2;//行间距
|
|
4814
4940
|
this.Mergin={Left:2,Top:3,Bottom:5,Right:5};this.ExtendLineWidth=2;this.Font=[g_JSChartResource.TooltipPaint.TitleFont];this.HQChart;this.KLineTitlePaint;this.IsHScreen=false;//是否横屏
|
|
4815
4941
|
this.LanguageID=JSCHART_LANGUAGE_ID.LANGUAGE_CHINESE_ID;this.ReloadResource=function(resource){this.BorderColor=g_JSChartResource.TooltipPaint.BorderColor;//边框颜色
|
|
@@ -5002,7 +5128,7 @@ if(IFrameSplitOperator.IsNumber(close)&&IFrameSplitOperator.IsNumber(this.YClose
|
|
|
5002
5128
|
if(IFrameSplitOperator.IsNumber(vol)){title=g_JSChartLocalization.GetText('Tooltip-Vol',this.LanguageID);var text=IFrameSplitOperator.FromatIntegerString(vol/unit,2,this.LanguageID);aryText.push({Title:title,TitleColor:this.TitleColor,Text:text,Color:this.VolColor});}//成交金额
|
|
5003
5129
|
if(IFrameSplitOperator.IsNumber(amount)){title=g_JSChartLocalization.GetText('Tooltip-Amount',this.LanguageID);var text=IFrameSplitOperator.FormatValueString(amount,2,this.LanguageID);aryText.push({Title:title,TitleColor:this.TitleColor,Text:text,Color:this.AmountColor});}if(IFrameSplitOperator.IsNumber(item.Position)){title=g_JSChartLocalization.GetText('Tooltip-Position',this.LanguageID);var text=IFrameSplitOperator.FormatValueString(item.Position,2,this.LanguageID);aryText.push({Title:title,TitleColor:this.TitleColor,Text:text,Color:this.TitleColor});}return result;};}//PC端 分时图tooltip左侧固定
|
|
5004
5130
|
function MinuteLeftTooltipPaint(){this.newMethod=IExtendChartPainting;//派生
|
|
5005
|
-
this.newMethod();delete this.newMethod;this.IsDynamic=true;this.IsEraseBG=true;this.DrawAfterTitle=true;this.ClassName='MinuteLeftTooltipPaint';this.BorderColor=g_JSChartResource.PCTooltipPaint.BorderColor;//边框颜色
|
|
5131
|
+
this.newMethod();delete this.newMethod;this.IsDynamic=true;this.IsEraseBG=true;this.DrawAfterTitle=true;this.DrawPriority=IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_25;this.ClassName='MinuteLeftTooltipPaint';this.BorderColor=g_JSChartResource.PCTooltipPaint.BorderColor;//边框颜色
|
|
5006
5132
|
this.BGColor=g_JSChartResource.PCTooltipPaint.BGColor;//背景色
|
|
5007
5133
|
this.TitleColor=g_JSChartResource.PCTooltipPaint.TitleColor;//标题颜色
|
|
5008
5134
|
this.DateTimeColor=g_JSChartResource.PCTooltipPaint.DateTimeColor;//日期时间颜色
|
|
@@ -5035,7 +5161,7 @@ this.ColorNoProfit='rgb(90,141,248)';//非盈利
|
|
|
5035
5161
|
this.ColorAveragePrice='rgb(0,139,0)';//平均价线
|
|
5036
5162
|
this.ColorBG='rgb(190,190,190)';//筹码背景线段颜色
|
|
5037
5163
|
this.PixelRatio=GetDevicePixelRatio();this.ShowType=0;//0=所有筹码 1=周期前 2=周期内
|
|
5038
|
-
this.IsDynamic=true;this.ClientRect={};this.Font=g_JSChartResource.StockChip.Font;this.InfoColor=g_JSChartResource.StockChip.InfoColor;this.DayInfoColor=g_JSChartResource.StockChip.DayInfoColor;this.LineHeight=16;this.Left=50*this.PixelRatio;//左边间距
|
|
5164
|
+
this.IsDynamic=true;this.DrawPriority=IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_20;this.ClientRect={};this.Font=g_JSChartResource.StockChip.Font;this.InfoColor=g_JSChartResource.StockChip.InfoColor;this.DayInfoColor=g_JSChartResource.StockChip.DayInfoColor;this.LineHeight=16;this.Left=50*this.PixelRatio;//左边间距
|
|
5039
5165
|
this.IsShowX=false;//是否显示X刻度 成交量
|
|
5040
5166
|
this.ShowXCount=3;this.Width=150*this.PixelRatio;//筹码图宽度
|
|
5041
5167
|
this.CalculateType=0;//0=平均分布 1=三角分布
|
|
@@ -5246,7 +5372,7 @@ if(parseInt(item.Date/100)!=parseInt(startDate/100)){startDate=item.Date;++index
|
|
|
5246
5372
|
if(parseInt(item.Date/10000)!=parseInt(startDate/10000)){startDate=item.Date;++index;}this.Data.push({ID:index,Date:item.Date});break;case 3://日
|
|
5247
5373
|
if(item.Date!=startDate){startDate=item.Date;++index;}this.Data.push({ID:index,Date:item.Date});break;}}this.KDataFeature={Symbol:this.HQChart.Symbol,Period:period,DataCount:hisData.Data.length};};}//窗口底部工具栏
|
|
5248
5374
|
function FrameButtomToolbarPaint(){this.newMethod=IExtendChartPainting;//派生
|
|
5249
|
-
this.newMethod();delete this.newMethod;this.ClassName='FrameButtomToolbarPaint';this.FrameID=-1;this.FrameGuid=null;this.IsDynamic=true;this.DrawAfterTitle=true;this.AryButton=[];// { Title:, ID:, Data:数据, TooltipText:提示信息 }
|
|
5375
|
+
this.newMethod();delete this.newMethod;this.ClassName='FrameButtomToolbarPaint';this.FrameID=-1;this.FrameGuid=null;this.IsDynamic=true;this.DrawAfterTitle=true;this.DrawPriority=IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_25;this.AryButton=[];// { Title:, ID:, Data:数据, TooltipText:提示信息 }
|
|
5250
5376
|
this.SelectedID=null;// 选中按钮ID
|
|
5251
5377
|
this.AryRectButton=[];this.BGColor=g_JSChartResource.FrameButtomToolbar.BGColor;this.BorderColor=g_JSChartResource.FrameButtomToolbar.BorderColor;this.ButtonConfig=CloneData(g_JSChartResource.FrameButtomToolbar.Button);/*
|
|
5252
5378
|
{
|
|
@@ -5641,6 +5767,7 @@ this.TextFormat={Right:0};//0=默认 1=价格显示(分时图才有用)
|
|
|
5641
5767
|
this.IsShowCorss=true;//是否显示十字光标
|
|
5642
5768
|
this.IsShow=true;this.IsShowClose=false;//Y轴始终显示收盘价
|
|
5643
5769
|
this.ClientPos=-1;this.CallAcutionXOperator;this.EnableKeyboard=false;//是否支持键盘隐藏显示
|
|
5770
|
+
this.EnableDBClick=false;//是否允许双击显示|隐藏十字光标
|
|
5644
5771
|
this.OnChangeStatusCallback;//状态切换以后回调
|
|
5645
5772
|
this.RightButton={Enable:false,Rect:null,BGColor:g_JSChartResource.CorssCursor.RightButton.BGColor,PenColor:g_JSChartResource.CorssCursor.RightButton.PenColor,Icon:g_JSChartResource.CorssCursor.RightButton.Icon};this.RightMargin=CloneData(g_JSChartResource.CorssCursor.RightMargin);this.BottomConfig=CloneData(g_JSChartResource.CorssCursor.BottomText);//底部输出配置
|
|
5646
5773
|
this.LeftConfig=CloneData(g_JSChartResource.CorssCursor.LeftText);//内部使用
|
|
@@ -5754,7 +5881,8 @@ this.Canvas.fillRect(-textWidth,0,textWidth,this.TextHeight);this.Canvas.textAli
|
|
|
5754
5881
|
this.Canvas.fillRect(-textWidth/2,0,textWidth,this.TextHeight);this.Canvas.textAlign="center";this.Canvas.textBaseline="middle";this.Canvas.fillStyle=this.TextColor;this.Canvas.fillText(text,0,this.TextHeight/2,textWidth);this.Canvas.restore();}}}this.Status=1;};//data={ e:e, PreventDefault:false, KeyID, Draw:是否需要重绘 }
|
|
5755
5882
|
this.OnKeyDown=function(data){if(!this.EnableKeyboard)return;var keyID=data.KeyID;if(keyID==27)//ESC 隐藏十字线
|
|
5756
5883
|
{if(!this.IsShowCorss)return;this.IsShowCorss=false;data.Draw=true;if(this.OnChangeStatusCallback)this.OnChangeStatusCallback({Type:1,IsShowCorss:this.IsShowCorss},this);}else if(keyID==37||keyID==39)//left, right 显示十字线
|
|
5757
|
-
{if(this.IsShowCorss)return;this.IsShowCorss=true;data.Draw=true;if(this.OnChangeStatusCallback)this.OnChangeStatusCallback({Type:1,IsShowCorss:this.IsShowCorss},this);}};this.
|
|
5884
|
+
{if(this.IsShowCorss)return;this.IsShowCorss=true;data.Draw=true;if(this.OnChangeStatusCallback)this.OnChangeStatusCallback({Type:1,IsShowCorss:this.IsShowCorss},this);}};this.OnDBClick=function(data){if(!this.EnableDBClick)return;if(!IFrameSplitOperator.IsNonEmptyArray(this.Frame.SubFrame))return;//在主图框架内
|
|
5885
|
+
var frame=this.Frame.SubFrame[0].Frame;if(!frame)return;var border=frame.GetBorder();var rtClient={Left:border.Left,Top:border.Top,Bottom:border.Bottom,Right:border.Right};var x=data.X,y=data.Y;if(x>=rtClient.Left&&x<=rtClient.Right&&y>=rtClient.Top&&y<=rtClient.Bottom){this.IsShowCorss=!this.IsShowCorss;data.Draw=true;if(this.OnChangeStatusCallback)this.OnChangeStatusCallback({Type:1,IsShowCorss:this.IsShowCorss},this);}};this.DrawCorssPoint=function(x,y){var config=this.CorssPointConfig;if(!config.Enable)return;this.Canvas.beginPath();this.Canvas.arc(x,y,config.Center.Radius,0,360,false);this.Canvas.closePath();if(config.Center&&config.Center.Color){this.Canvas.fillStyle=config.Center.Color;this.Canvas.fill();}if(config.Border&&config.Border.Color){this.Canvas.strokeStyle=config.Border.Color;if(IFrameSplitOperator.IsNumber(config.Border.Width))this.Canvas.lineWidth=config.Border.Width;this.Canvas.stroke();}};}////////////////////////////////////////////////////////////////////////////////
|
|
5758
5886
|
//深度图十字光标
|
|
5759
5887
|
function DepthChartCorssCursor(){this.Frame;this.HQChart;this.Canvas;//画布
|
|
5760
5888
|
this.Data;this.Symbol;this.HPenType=0;//水平线样式 0=虚线 1=实线
|
|
@@ -7311,7 +7439,8 @@ this.ScrollBar=null;//横向滚动条
|
|
|
7311
7439
|
this.IsAutoSyncDataOffset=true;//增量更新时,是否移动当前屏数据
|
|
7312
7440
|
//热键
|
|
7313
7441
|
this.AryHotKey=[//SecondKeyID 1=shiftKey 2=ctrlKey 3=altKey
|
|
7314
|
-
{KeyID:87,SecondKeyID:3,CMD:JSCHART_MENU_ID.CMD_FULLSCREEN_SUMMARY_ID,Args:null,Description:"Alt+W 全屏区间统计"}];this.
|
|
7442
|
+
{KeyID:87,SecondKeyID:3,CMD:JSCHART_MENU_ID.CMD_FULLSCREEN_SUMMARY_ID,Args:null,Description:"Alt+W 全屏区间统计"}];this.KLineDragConfig={EnableShfit:false};//是否启动Shift+鼠标拖动K线
|
|
7443
|
+
this.GetKLineCalulate=function(){var kLineDrawType=this.GetKLineDrawType();var className;if(kLineDrawType==10)className="RenkoCalculate";else if(kLineDrawType==11)className="HeikinAshiCalculate";else if(kLineDrawType==12)className="LineBreakCalcuate";else if(kLineDrawType==16)className="KagiCalculate";else return null;if(!this.KLineCalculate||this.KLineCalculate.ClassName!=className){this.KLineCalculate=g_KLineCustomCalulate.Create(className);if(this.KLineCalculate.SetOption&&this.KLineCalcOption.has(className)){var option=this.KLineCalcOption.get(className);this.KLineCalculate.SetOption(option);}}return this.KLineCalculate;};this.SetKLineCalcOption=function(className,option){this.KLineCalcOption.set(className,option);if(this.KLineCalculate&&this.KLineCalculate.ClassName==className&&this.KLineCalculate.SetOption){this.KLineCalculate.SetOption(option);}};this.ClearKLineCaluate=function(){if(!this.KLineCalculate)return;if(!this.KLineCalculate.Clear)return;this.KLineCalculate.Clear();};this.ResetDragDownload=function(){this.DragDownload.Day.Status=0;this.DragDownload.Day.IsEnd=false;this.DragDownload.Minute.Status=0;this.DragDownload.Minute.IsEnd=false;this.DragDownload.Tick.Status=0;this.DragDownload.Tick.IsEnd=false;};this.ResetZoomDownload=function(){this.ZoomDownload.Day.Status=0;this.ZoomDownload.Day.IsEnd=false;this.ZoomDownload.Minute.Status=0;this.ZoomDownload.Minute.IsEnd=false;this.ZoomDownload.Tick.Status=0;this.ZoomDownload.Tick.IsEnd=false;};this.ResetPage=function()//重置分页下载
|
|
7315
7444
|
{this.Page.Day.Finish=false;this.Page.Day.Index=0;this.Page.Minute.Finish=false;this.Page.Minute.Index=0;};this.AddCustomKLine=function(kline,option){var klineChart=this.ChartPaint[0];if(!klineChart)return;if(!kline)return;if(!klineChart.CustomKLine)klineChart.CustomKLine=new _map2.default();if(Array.isArray(kline)){for(var i=0;i<kline.length;++i){var item=kline[i];klineChart.CustomKLine.set(item.Key,item.Data);}}else if(kline){klineChart.CustomKLine.set(kline.Key,kline.Data);}if(option&&option.Draw==true)this.Draw();};this.ClearCustomKLine=function(option){var klineChart=this.ChartPaint[0];if(!klineChart)return;klineChart.ClearCustomKLine();if(option&&option.Draw==true)this.Draw();};this.ClearKLineBreakPoint=function(option){var klineChart=this.ChartPaint[0];if(!klineChart)return;klineChart.ClearBreakPoint();if(option&&option.Draw==true)this.Draw();};this.StopAutoUpdate=function(){this.CancelAutoUpdate();this.AutoUpdateEvent(false,'KLineChartContainer::StopAutoUpdate');if(!this.IsAutoUpdate)return;this.IsAutoUpdate=false;};//沙盘操作 { ID: 1=开始, Data:绑定K线数据(可选)
|
|
7316
7445
|
// ID: 2=更新数据, Data:绑定K线数据
|
|
7317
7446
|
// ID: 3=结束, IsAutoUpdate:是否启动自动更新(可选) }
|
|
@@ -7412,7 +7541,8 @@ this.OnCustomKeyDown=function(keyID,e)//自定义键盘事件
|
|
|
7412
7541
|
{this.MoveKLineLeft(this.ShiftMoveStep);return true;}else if(keyID==39&&e.shiftKey)//shift+Right 移动K线
|
|
7413
7542
|
{this.MoveKLineRight(this.ShiftMoveStep);return true;}else if(keyID==38&&e.shiftKey)//shift+up 上移十字光标
|
|
7414
7543
|
{this.MoveCorssCursorUp(this.ShiftUpDownStepPixel);return true;}else if(keyID==40&&e.shiftKey)//shift+down 下移十字光标
|
|
7415
|
-
{this.MoveCorssCursorDown(this.ShiftUpDownStepPixel);return true;}else
|
|
7544
|
+
{this.MoveCorssCursorDown(this.ShiftUpDownStepPixel);return true;}else if(keyID==13)//回车显示分时图
|
|
7545
|
+
{this.OnEnterKeyDown();}else{return false;}};this.MoveKLineLeft=function(value){return this.MoveKLine(-value);};this.MoveKLineRight=function(value){return this.MoveKLine(value);};this.MoveKLine=function(step){if(step==0)return;var oneStepWidth=this.GetMoveOneStepWidth();var moveSetp=step*oneStepWidth;var bLeft=true;if(step<0){moveSetp=Math.abs(step)*oneStepWidth;bLeft=false;}if(!this.DataMove(moveSetp,bLeft))return;this.UpdataDataoffset();this.RepairCursorIndex();this.UpdatePointByCursorIndex();//推拽数据的时候不需要把鼠标位置更新到K线上
|
|
7416
7546
|
this.UpdateFrameMaxMin();this.ResetFrameXYSplit();this.Draw();this.ShowTooltipByKeyDown();this.OnKLinePageChange("datamove");};//修复 当前数据索引大于数据个数的请求
|
|
7417
7547
|
this.RepairCursorIndex=function(){var kData=this.GetKData();if(!kData)return;var xPointcount=0;if(this.Frame.XPointCount)xPointcount=this.Frame.XPointCount;else xPointcount=this.Frame.SubFrame[0].Frame.XPointCount;if(!IFrameSplitOperator.IsPlusNumber(xPointcount))return;if(this.CursorIndex<0)this.CursorIndex=0;var index=this.CursorIndex;index=parseInt(index.toFixed(0));if(index+kData.DataOffset>=kData.Data.length){this.CursorIndex=kData.Data.length-1-kData.DataOffset;}};this.MoveCorssCursorLeft=function(step){var data=null;if(this.Frame.Data)data=this.Frame.Data;else data=this.Frame.SubFrame[0].Frame.Data;if(!data)return;if(data.DataOffset<=0&&this.CursorIndex<=0)//数据到头了
|
|
7418
7548
|
{if(this.DragDownloadData)this.DragDownloadData();return;}if(this.CursorIndex-step<0)//当前屏到头了
|
|
@@ -7421,7 +7551,8 @@ if(this.Frame.XPointCount)xPointcount=this.Frame.XPointCount;else xPointcount=th
|
|
|
7421
7551
|
var bMoveEnd=false;//最后一个
|
|
7422
7552
|
if(this.CursorIndex+step+data.DataOffset+1>data.Data.length)//数据不够步长
|
|
7423
7553
|
{step=data.Data.length-1-data.DataOffset-this.CursorIndex;bMoveEnd=true;}if(this.CursorIndex+step>=xPointcount)//当前屏最右边了
|
|
7424
|
-
{var lMoveStep=this.CursorIndex+step-(xPointcount-1);data.DataOffset+=lMoveStep;if(bMoveEnd)this.CursorIndex=xPointcount-1;this.UpdataDataoffset();this.UpdatePointByCursorIndex();this.UpdateFrameMaxMin();this.Draw();this.ShowTooltipByKeyDown();this.OnKLinePageChange("keydown");return;}this.CursorIndex+=step;this.UpdatePointByCursorIndex();this.DrawDynamicInfo();this.ShowTooltipByKeyDown();}
|
|
7554
|
+
{var lMoveStep=this.CursorIndex+step-(xPointcount-1);data.DataOffset+=lMoveStep;if(bMoveEnd)this.CursorIndex=xPointcount-1;this.UpdataDataoffset();this.UpdatePointByCursorIndex();this.UpdateFrameMaxMin();this.Draw();this.ShowTooltipByKeyDown();this.OnKLinePageChange("keydown");return;}this.CursorIndex+=step;this.UpdatePointByCursorIndex();this.DrawDynamicInfo();this.ShowTooltipByKeyDown();};this.OnEnterKeyDown=function(){if(!this.PopMinuteChart)return false;if(!ChartData.IsDayPeriod(this.Period,true))return false;//只支持日K
|
|
7555
|
+
if(!this.ChartCorssCursor||!this.ChartCorssCursor.IsShowCorss||this.ChartCorssCursor.ClientPos<0)return false;var index=this.ChartCorssCursor.CursorIndex;index=parseInt(index.toFixed(0));var kData=this.GetKData();if(!kData||!IFrameSplitOperator.IsNonEmptyArray(kData.Data))return false;var dataIndex=kData.DataOffset+index;if(dataIndex<0||dataIndex>=kData.Data.length)return false;var kItem=kData.Data[dataIndex];if(!kItem)return false;var frame=this.Frame.SubFrame[0].Frame;var x=frame.GetXFromIndex(index);var y=frame.GetYFromData(kItem.Close);var data={Chart:this,Tooltip:{ChartPaint:this.ChartPaint[0],Data:kItem}};this.ShowMinuteChartDialog(data,x,y);};//获取K线图实例
|
|
7425
7556
|
this.GetKLineChart=function(){if(!this.ChartPaint[0])return null;return this.ChartPaint[0];};//创建子窗口
|
|
7426
7557
|
this.CreateChildWindow=function(windowCount){var _this21=this;var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CREATE_FRAME);for(var i=0;i<windowCount;++i){var border=new ChartBorder();border.UIElement=this.UIElement;var frame=g_ChartFrameFactory.Create("KLineFrame",{ID:i});frame.Canvas=this.Canvas;frame.GetExtraCanvas=function(name){return _this21.GetExtraCanvas(name);};frame.ChartBorder=border;frame.Identify=i;//窗口序号
|
|
7427
7558
|
frame.RightSpaceCount=this.RightSpaceCount;//右边
|
|
@@ -8084,7 +8215,7 @@ for(var i=0;i<this.ChartInfo.length;++i){var item=this.ChartInfo[i];if(item&&ite
|
|
|
8084
8215
|
for(var i=0;i<this.OverlayChartPaint.length;++i){var item=this.OverlayChartPaint[i];if(item&&item.Symbol)aryOverlaySymbol.push(item.Symbol);}var bBGSpit=false,bShowStockChip=false;if(this.GetExtendChartByClassName("SessionBreaksPaint"))bBGSpit=true;if(this.GetStockChipChart())bShowStockChip=true;//筹码
|
|
8085
8216
|
var stockChipConfig={Name:'StockChip',ShowType:1,Width:230};//var stockChipConfig={Name:'StockChipPhone', Width:150 }; //手机版筹码
|
|
8086
8217
|
var bShowCorss=false;//十字光标十字线
|
|
8087
|
-
var bCorssDrawKLine=false;var bCorssDrawVaildTime=false;var bCorssDrawPoint=false;if(this.ChartCorssCursor){bShowCorss=this.ChartCorssCursor.IsShowCorss;bCorssDrawKLine=this.ChartCorssCursor.IsOnlyDrawKLine&&this.ChartCorssCursor.IsShowClose;bCorssDrawVaildTime=this.ChartCorssCursor.IsFixXLastTime;bCorssDrawPoint=this.ChartCorssCursor.CorssPointConfig.Enable;}var bPopMinuteChart=false;if(this.PopMinuteChart)bPopMinuteChart=true;var bRButtonSelectRect=false,bLButtonSelectRect=false;if(this.ChartDragSelectRect){bRButtonSelectRect=this.ChartDragSelectRect.EnableRButton;bLButtonSelectRect=this.ChartDragSelectRect.EnableLButton;}var kItem=null;if(frameID>=0&&option&&IFrameSplitOperator.IsNumber(option.CursorIndex)){var kData=this.GetKData();if(kData&&IFrameSplitOperator.IsNonEmptyArray(kData.Data)){var dataIndex=kData.DataOffset+option.CursorIndex;if(dataIndex>=0&&dataIndex<kData.Data.length)kItem=kData.Data[dataIndex];}}var aryMenu=[{Name:"分析周期",SubMenu:[{Name:"日线",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[0]},Checked:this.Period==0},{Name:"周线",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[1]},Checked:this.Period==1},{Name:"双周线",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[21]},Checked:this.Period==21},{Name:"月线",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[2]},Checked:this.Period==2},{Name:"季线",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[9]},Checked:this.Period==9},{Name:"半年",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[22]},Checked:this.Period==22},{Name:"年线",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[3]},Checked:this.Period==3},{Name:"1分",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[4]},Checked:this.Period==4},{Name:"5分",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[5]},Checked:this.Period==5},{Name:"15分",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[6]},Checked:this.Period==6},{Name:"30分",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[7]},Checked:this.Period==7},{Name:"60分",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[8]},Checked:this.Period==8},{Name:"2小时",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[11]},Checked:this.Period==11},{Name:"4小时",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[12]},Checked:this.Period==12},{Name:"分笔",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[10]},Checked:this.Period==10},{Name:"自定义周期:3分钟",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[20003]},Checked:this.Period==20003},{Name:"自定义周期:35分钟",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[20035]},Checked:this.Period==20035},{Name:"自定义周期:8日",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[40008]},Checked:this.Period==40008}]},{Name:"指标切换",SubMenu:[{Name:"均线",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"均线"]}},{Name:"BOLL",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"BOLL"]}},{Name:"MACD",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"MACD"]}},{Name:"MACD(粗)",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"MACD2"]}},{Name:"KDJ",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"KDJ"]}},{Name:"VOL",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"VOL"]}},{Name:"RSI",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"RSI"]}},{Name:"BRAR",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"BRAR"]}},{Name:"WR",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"WR"]}}]},{Name:"五彩K线",SubMenu:[{Name:"十字星",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_COLOR_INDEX_ID,Args:["五彩K线-十字星"]}},{Name:"早晨之星",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_COLOR_INDEX_ID,Args:["五彩K线-早晨之星"]}},{Name:"垂死十字",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_COLOR_INDEX_ID,Args:["五彩K线-垂死十字"]}},{Name:"三只乌鸦",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_COLOR_INDEX_ID,Args:["五彩K线-三只乌鸦"]}},{Name:"光脚阴线",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_COLOR_INDEX_ID,Args:["五彩K线-光脚阴线"]}},{Name:"黄昏之星",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_COLOR_INDEX_ID,Args:["五彩K线-黄昏之星"]}}]},{Name:"专家系统",SubMenu:[{Name:"BIAS",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_TRADE_INDEX_ID,Args:["交易系统-BIAS"]}},{Name:"CCI",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_TRADE_INDEX_ID,Args:["交易系统-CCI"]}},{Name:"DMI",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_TRADE_INDEX_ID,Args:["交易系统-DMI"]}},{Name:"KD",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_TRADE_INDEX_ID,Args:["交易系统-KD"]}},{Name:"BOLL",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_TRADE_INDEX_ID,Args:["交易系统-BOLL"]}},{Name:"KDJ",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_TRADE_INDEX_ID,Args:["交易系统-KDJ"]}}]},{Name:"信息地雷",SubMenu:[{Name:"公告",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_INFO_ID,Args:["公告",!aryKLineInfo.includes("AnnouncementInfo")]},Checked:aryKLineInfo.includes("AnnouncementInfo")},{Name:"业绩预告",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_INFO_ID,Args:["业绩预告",!aryKLineInfo.includes("PforecastInfo")]},Checked:aryKLineInfo.includes("PforecastInfo")},{Name:"调研",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_INFO_ID,Args:["调研",!aryKLineInfo.includes("ResearchInfo")]},Checked:aryKLineInfo.includes("ResearchInfo")},{Name:"大宗交易",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_INFO_ID,Args:["大宗交易",!aryKLineInfo.includes("BlockTrading")]},Checked:aryKLineInfo.includes("BlockTrading")},{Name:"龙虎榜",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_INFO_ID,Args:["龙虎榜",!aryKLineInfo.includes("TradeDetail")]},Checked:aryKLineInfo.includes("TradeDetail")},{Name:"互动易",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_INFO_ID,Args:["互动易",!aryKLineInfo.includes("InvestorInfo")]},Checked:aryKLineInfo.includes("InvestorInfo")},{Name:JSPopMenu.SEPARATOR_LINE_NAME},{Name:"显示位置",SubMenu:[{Name:"底部",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INFO_POSITION_ID,Args:[1]},Checked:infoPosition===1},{Name:"K线上",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INFO_POSITION_ID,Args:[0]},Checked:infoPosition===0}]}]},{Name:"缺口提示",SubMenu:[{Name:"显示1个缺口",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PRICE_GAP_ID,Args:[true,1]},Checked:priceGap.Enable==true&&priceGap.Count==1},{Name:"显示2个缺口",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PRICE_GAP_ID,Args:[true,2]},Checked:priceGap.Enable==true&&priceGap.Count==2},{Name:"显示3个缺口",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PRICE_GAP_ID,Args:[true,3]},Checked:priceGap.Enable==true&&priceGap.Count==3},{Name:"隐藏缺口",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PRICE_GAP_ID,Args:[false]},Checked:priceGap.Enable==false}]},{Name:"叠加品种",SubMenu:[{Name:"上证指数",Data:{ID:JSCHART_MENU_ID.CMD_OVERLAY_SYMBOL_ID,Args:["000001.sh",!aryOverlaySymbol.includes("000001.sh")]},Checked:aryOverlaySymbol.includes("000001.sh")},{Name:"深证成指",Data:{ID:JSCHART_MENU_ID.CMD_OVERLAY_SYMBOL_ID,Args:["399001.sz",!aryOverlaySymbol.includes("399001.sz")]},Checked:aryOverlaySymbol.includes("399001.sz")},{Name:"中小板指",Data:{ID:JSCHART_MENU_ID.CMD_OVERLAY_SYMBOL_ID,Args:["399005.sz",!aryOverlaySymbol.includes("399005.sz")]},Checked:aryOverlaySymbol.includes("399005.sz")},{Name:"创业板指",Data:{ID:JSCHART_MENU_ID.CMD_OVERLAY_SYMBOL_ID,Args:["399006.sz",!aryOverlaySymbol.includes("399006.sz")]},Checked:aryOverlaySymbol.includes("399006.sz")},{Name:"沪深300",Data:{ID:JSCHART_MENU_ID.CMD_OVERLAY_SYMBOL_ID,Args:["000300.sh",!aryOverlaySymbol.includes("000300.sh")]},Checked:aryOverlaySymbol.includes("000300.sh")}]},{Name:"主图线型",SubMenu:[{Name:"K线(空心阳线)",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID,Args:[3]},Checked:klineType==3},{Name:"K线(实心阳线)",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID,Args:[0]},Checked:klineType==0},{Name:"美国线",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID,Args:[2,true,{IsThinAKBar:false}]},Checked:klineType==2&&!bThinAKBar},{Name:"美国线(细)",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID,Args:[2,true,{IsThinAKBar:true}]},Checked:klineType==2&&bThinAKBar},{Name:"收盘线",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID,Args:[1]},Checked:klineType==1},{Name:"收盘面积",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID,Args:[4]},Checked:klineType==4},{Name:"K线(空心阳线阴线)",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID,Args:[6]},Checked:klineType==6},{Name:"Heikin Ashi",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID,Args:[11]},Checked:klineType==11},{Name:"Line Break",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID,Args:[12]},Checked:klineType==12},{Name:"High-low",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID,Args:[13]},Checked:klineType==13},{Name:"HLC Area",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID,Args:[15]},Checked:klineType==15}]},{Name:"坐标类型",SubMenu:[{Name:"反转坐标",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_COORDINATETYPE_ID,Args:[{IsReverse:coordinateType==0}]},Checked:coordinateType==1},{Name:JSPopMenu.SEPARATOR_LINE_NAME},{Name:"普通坐标",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_COORDINATETYPE_ID,Args:[{Type:0}]},Checked:yCoordinateType==0},{Name:"百分比坐标",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_COORDINATETYPE_ID,Args:[{Type:1}]},Checked:yCoordinateType==1},{Name:"对数坐标",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_COORDINATETYPE_ID,Args:[{Type:2}]},Checked:yCoordinateType==2},{Name:"等比坐标",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_COORDINATETYPE_ID,Args:[{Type:3}]},Checked:yCoordinateType==3},{Name:"等分坐标",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_COORDINATETYPE_ID,Args:[{Type:4}]},Checked:yCoordinateType==4},{Name:"黄金分割",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_COORDINATETYPE_ID,Args:[{Type:5}]},Checked:yCoordinateType==5}]},{Name:"指标窗口个数",SubMenu:[{Name:"1个窗口",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_WINDOW_COUNT_ID,Args:[2]},Checked:2==windowCount},{Name:"2个窗口",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_WINDOW_COUNT_ID,Args:[3]},Checked:3==windowCount},{Name:"3个窗口",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_WINDOW_COUNT_ID,Args:[4]},Checked:4==windowCount},{Name:"4个窗口",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_WINDOW_COUNT_ID,Args:[5]},Checked:5==windowCount},{Name:"5个窗口",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_WINDOW_COUNT_ID,Args:[6]},Checked:6==windowCount}]},{Name:"十字光标",SubMenu:[{Name:"显示",Data:{ID:JSCHART_MENU_ID.CMD_SHOW_CORSS_LINE_ID,Args:[!bShowCorss]},Checked:bShowCorss},{Name:"显示在K线上",Data:{ID:JSCHART_MENU_ID.CMD_CORSS_ON_KLINE_ID,Args:[!bCorssDrawKLine]},Checked:bCorssDrawKLine},{Name:"画在有效X轴上",Data:{ID:JSCHART_MENU_ID.CMD_CORSS_ON_VAILD_TIME_ID,Args:[!bCorssDrawVaildTime]},Checked:bCorssDrawVaildTime},{Name:"画圆点",Data:{ID:JSCHART_MENU_ID.CMD_CORSS_POINT_ID,Args:[!bCorssDrawPoint]},Checked:bCorssDrawPoint}]},{Name:"其他设置",SubMenu:[{Name:"禁止拖拽",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DRAG_MODE_ID,Args:[0]},Checked:0==this.DragMode},{Name:"启动拖拽",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DRAG_MODE_ID,Args:[1]},Checked:1==this.DragMode},{Name:"X轴拖动缩放",Data:{ID:JSCHART_MENU_ID.CMD_ENABLE_XDRAG_BOTTOM_ID,Args:[!this.EnableXDrag.Bottom]},Checked:this.EnableXDrag.Bottom},{Name:"左键区间选择",Data:{ID:JSCHART_MENU_ID.CMD_LBUTTON_SELECT_RECT_ID,Args:[!bLButtonSelectRect]},Checked:bLButtonSelectRect},{Name:"右键区间选择",Data:{ID:JSCHART_MENU_ID.CMD_RBUTTON_SELECT_RECT_ID,Args:[!bRButtonSelectRect]},Checked:bRButtonSelectRect},{Name:JSPopMenu.SEPARATOR_LINE_NAME},{Name:"背景分割",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_BG_SPLIT_ID,Args:[!bBGSpit]},Checked:bBGSpit},{Name:"画图工具",Data:{ID:JSCHART_MENU_ID.CMD_SHOW_DRAWTOOL_ID,Args:[]},Checked:this.IsShowDrawToolDialog()},{Name:"移动筹码图",Data:{ID:bShowStockChip?JSCHART_MENU_ID.CMD_HIDE_STOCKCHIP_ID:JSCHART_MENU_ID.CMD_SHOW_STOCKCHIP_ID,Args:[stockChipConfig.Name,stockChipConfig]},Checked:bShowStockChip},{Name:"双击弹分时图",Data:{ID:JSCHART_MENU_ID.CMD_ENABLE_POP_MINUTE_CHART_ID,Args:[!bPopMinuteChart]},Checked:bPopMinuteChart},{Name:JSPopMenu.SEPARATOR_LINE_NAME},{Name:"鼠标形状",SubMenu:[{Name:"默认",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DEFAULTCURSOR_ID,Args:["default"]},Checked:this.DefaultCursor=="default"},{Name:"十字线",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DEFAULTCURSOR_ID,Args:["crosshair"]},Checked:this.DefaultCursor=="crosshair"}]},{Name:"语言设置",SubMenu:[{Name:"中文",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_LANGUAGE_ID,Args:["CN"]},Checked:this.LanguageID==JSCHART_LANGUAGE_ID.LANGUAGE_CHINESE_ID},{Name:"英语",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_LANGUAGE_ID,Args:["EN"]},Checked:this.LanguageID==JSCHART_LANGUAGE_ID.LANGUAGE_ENGLISH_ID},{Name:"繁体",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_LANGUAGE_ID,Args:["TC"]},Checked:this.LanguageID==JSCHART_LANGUAGE_ID.LANGUAGE_TRADITIONAL_CHINESE_ID}]},{Name:"区间选择样式",SubMenu:[{Name:"样式1(默认)",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DRAG_RECT_SHOW_MODE_ID,Args:[0]},Checked:0==this.ChartDragSelectRect.ShowMode},{Name:"样式2",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DRAG_RECT_SHOW_MODE_ID,Args:[1]},Checked:1==this.ChartDragSelectRect.ShowMode},{Name:"样式3",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DRAG_RECT_SHOW_MODE_ID,Args:[2]},Checked:2==this.ChartDragSelectRect.ShowMode}]},{Name:"K线浮动框",SubMenu:[{Name:"禁用",Data:{ID:JSCHART_MENU_ID.CMD_DIALOG_TOOLTIP_ATTRIBUTE,Args:[{Enable:false}]},Checked:!this.DialogTooltip},{Name:"样式1",Data:{ID:JSCHART_MENU_ID.CMD_DIALOG_TOOLTIP_ATTRIBUTE,Args:[{Enable:true,Style:0}]},Checked:this.DialogTooltip&&this.DialogTooltip.Style===0},{Name:"样式2",Data:{ID:JSCHART_MENU_ID.CMD_DIALOG_TOOLTIP_ATTRIBUTE,Args:[{Enable:true,Style:1}]},Checked:this.DialogTooltip&&this.DialogTooltip.Style===1}]},{Name:"K线提示框",SubMenu:[{Name:"启用",Data:{ID:JSCHART_MENU_ID.CMD_KLINE_TOOLTIP_ATTRIBUTE,Args:[{Enable:!this.KLineTooltipConfig.Enable}]},Checked:this.KLineTooltipConfig.Enable},{Name:"键盘左右显示",Data:{ID:JSCHART_MENU_ID.CMD_KLINE_TOOLTIP_ATTRIBUTE,Args:[{EnableKeyDown:!this.KLineTooltipConfig.EnableKeyDown}]},Checked:this.KLineTooltipConfig.EnableKeyDown}]}]}];//复权
|
|
8218
|
+
var bCorssDrawKLine=false;var bCorssDrawVaildTime=false;var bCorssDrawPoint=false;var bCorssBCClick=false;if(this.ChartCorssCursor){bShowCorss=this.ChartCorssCursor.IsShowCorss;bCorssDrawKLine=this.ChartCorssCursor.IsOnlyDrawKLine&&this.ChartCorssCursor.IsShowClose;bCorssDrawVaildTime=this.ChartCorssCursor.IsFixXLastTime;bCorssDrawPoint=this.ChartCorssCursor.CorssPointConfig.Enable;bCorssBCClick=this.ChartCorssCursor.EnableDBClick;}var bPopMinuteChart=false;if(this.PopMinuteChart)bPopMinuteChart=true;var bRButtonSelectRect=false,bLButtonSelectRect=false;if(this.ChartDragSelectRect){bRButtonSelectRect=this.ChartDragSelectRect.EnableRButton;bLButtonSelectRect=this.ChartDragSelectRect.EnableLButton;}var kItem=null;if(frameID>=0&&option&&IFrameSplitOperator.IsNumber(option.CursorIndex)){var kData=this.GetKData();if(kData&&IFrameSplitOperator.IsNonEmptyArray(kData.Data)){var dataIndex=kData.DataOffset+option.CursorIndex;if(dataIndex>=0&&dataIndex<kData.Data.length)kItem=kData.Data[dataIndex];}}var aryMenu=[{Name:"分析周期",SubMenu:[{Name:"日线",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[0]},Checked:this.Period==0},{Name:"周线",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[1]},Checked:this.Period==1},{Name:"双周线",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[21]},Checked:this.Period==21},{Name:"月线",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[2]},Checked:this.Period==2},{Name:"季线",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[9]},Checked:this.Period==9},{Name:"半年",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[22]},Checked:this.Period==22},{Name:"年线",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[3]},Checked:this.Period==3},{Name:"1分",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[4]},Checked:this.Period==4},{Name:"5分",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[5]},Checked:this.Period==5},{Name:"15分",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[6]},Checked:this.Period==6},{Name:"30分",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[7]},Checked:this.Period==7},{Name:"60分",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[8]},Checked:this.Period==8},{Name:"2小时",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[11]},Checked:this.Period==11},{Name:"4小时",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[12]},Checked:this.Period==12},{Name:"分笔",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[10]},Checked:this.Period==10},{Name:"自定义周期:3分钟",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[20003]},Checked:this.Period==20003},{Name:"自定义周期:35分钟",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[20035]},Checked:this.Period==20035},{Name:"自定义周期:8日",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PERIOD_ID,Args:[40008]},Checked:this.Period==40008}]},{Name:"指标切换",SubMenu:[{Name:"均线",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"均线"]}},{Name:"BOLL",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"BOLL"]}},{Name:"MACD",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"MACD"]}},{Name:"MACD(粗)",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"MACD2"]}},{Name:"KDJ",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"KDJ"]}},{Name:"VOL",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"VOL"]}},{Name:"RSI",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"RSI"]}},{Name:"BRAR",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"BRAR"]}},{Name:"WR",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"WR"]}}]},{Name:"五彩K线",SubMenu:[{Name:"十字星",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_COLOR_INDEX_ID,Args:["五彩K线-十字星"]}},{Name:"早晨之星",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_COLOR_INDEX_ID,Args:["五彩K线-早晨之星"]}},{Name:"垂死十字",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_COLOR_INDEX_ID,Args:["五彩K线-垂死十字"]}},{Name:"三只乌鸦",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_COLOR_INDEX_ID,Args:["五彩K线-三只乌鸦"]}},{Name:"光脚阴线",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_COLOR_INDEX_ID,Args:["五彩K线-光脚阴线"]}},{Name:"黄昏之星",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_COLOR_INDEX_ID,Args:["五彩K线-黄昏之星"]}}]},{Name:"专家系统",SubMenu:[{Name:"BIAS",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_TRADE_INDEX_ID,Args:["交易系统-BIAS"]}},{Name:"CCI",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_TRADE_INDEX_ID,Args:["交易系统-CCI"]}},{Name:"DMI",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_TRADE_INDEX_ID,Args:["交易系统-DMI"]}},{Name:"KD",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_TRADE_INDEX_ID,Args:["交易系统-KD"]}},{Name:"BOLL",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_TRADE_INDEX_ID,Args:["交易系统-BOLL"]}},{Name:"KDJ",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_TRADE_INDEX_ID,Args:["交易系统-KDJ"]}}]},{Name:"信息地雷",SubMenu:[{Name:"公告",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_INFO_ID,Args:["公告",!aryKLineInfo.includes("AnnouncementInfo")]},Checked:aryKLineInfo.includes("AnnouncementInfo")},{Name:"业绩预告",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_INFO_ID,Args:["业绩预告",!aryKLineInfo.includes("PforecastInfo")]},Checked:aryKLineInfo.includes("PforecastInfo")},{Name:"调研",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_INFO_ID,Args:["调研",!aryKLineInfo.includes("ResearchInfo")]},Checked:aryKLineInfo.includes("ResearchInfo")},{Name:"大宗交易",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_INFO_ID,Args:["大宗交易",!aryKLineInfo.includes("BlockTrading")]},Checked:aryKLineInfo.includes("BlockTrading")},{Name:"龙虎榜",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_INFO_ID,Args:["龙虎榜",!aryKLineInfo.includes("TradeDetail")]},Checked:aryKLineInfo.includes("TradeDetail")},{Name:"互动易",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_INFO_ID,Args:["互动易",!aryKLineInfo.includes("InvestorInfo")]},Checked:aryKLineInfo.includes("InvestorInfo")},{Name:JSPopMenu.SEPARATOR_LINE_NAME},{Name:"显示位置",SubMenu:[{Name:"底部",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INFO_POSITION_ID,Args:[1]},Checked:infoPosition===1},{Name:"K线上",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INFO_POSITION_ID,Args:[0]},Checked:infoPosition===0}]}]},{Name:"缺口提示",SubMenu:[{Name:"显示1个缺口",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PRICE_GAP_ID,Args:[true,1]},Checked:priceGap.Enable==true&&priceGap.Count==1},{Name:"显示2个缺口",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PRICE_GAP_ID,Args:[true,2]},Checked:priceGap.Enable==true&&priceGap.Count==2},{Name:"显示3个缺口",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PRICE_GAP_ID,Args:[true,3]},Checked:priceGap.Enable==true&&priceGap.Count==3},{Name:"隐藏缺口",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_PRICE_GAP_ID,Args:[false]},Checked:priceGap.Enable==false}]},{Name:"叠加品种",SubMenu:[{Name:"上证指数",Data:{ID:JSCHART_MENU_ID.CMD_OVERLAY_SYMBOL_ID,Args:["000001.sh",!aryOverlaySymbol.includes("000001.sh")]},Checked:aryOverlaySymbol.includes("000001.sh")},{Name:"深证成指",Data:{ID:JSCHART_MENU_ID.CMD_OVERLAY_SYMBOL_ID,Args:["399001.sz",!aryOverlaySymbol.includes("399001.sz")]},Checked:aryOverlaySymbol.includes("399001.sz")},{Name:"中小板指",Data:{ID:JSCHART_MENU_ID.CMD_OVERLAY_SYMBOL_ID,Args:["399005.sz",!aryOverlaySymbol.includes("399005.sz")]},Checked:aryOverlaySymbol.includes("399005.sz")},{Name:"创业板指",Data:{ID:JSCHART_MENU_ID.CMD_OVERLAY_SYMBOL_ID,Args:["399006.sz",!aryOverlaySymbol.includes("399006.sz")]},Checked:aryOverlaySymbol.includes("399006.sz")},{Name:"沪深300",Data:{ID:JSCHART_MENU_ID.CMD_OVERLAY_SYMBOL_ID,Args:["000300.sh",!aryOverlaySymbol.includes("000300.sh")]},Checked:aryOverlaySymbol.includes("000300.sh")}]},{Name:"主图线型",SubMenu:[{Name:"K线(空心阳线)",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID,Args:[3]},Checked:klineType==3},{Name:"K线(实心阳线)",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID,Args:[0]},Checked:klineType==0},{Name:"美国线",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID,Args:[2,true,{IsThinAKBar:false}]},Checked:klineType==2&&!bThinAKBar},{Name:"美国线(细)",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID,Args:[2,true,{IsThinAKBar:true}]},Checked:klineType==2&&bThinAKBar},{Name:"收盘线",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID,Args:[1]},Checked:klineType==1},{Name:"收盘面积",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID,Args:[4]},Checked:klineType==4},{Name:"K线(空心阳线阴线)",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID,Args:[6]},Checked:klineType==6},{Name:"Heikin Ashi",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID,Args:[11]},Checked:klineType==11},{Name:"Line Break",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID,Args:[12]},Checked:klineType==12},{Name:"High-low",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID,Args:[13]},Checked:klineType==13},{Name:"HLC Area",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_KLINE_TYPE_ID,Args:[15]},Checked:klineType==15}]},{Name:"坐标类型",SubMenu:[{Name:"反转坐标",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_COORDINATETYPE_ID,Args:[{IsReverse:coordinateType==0}]},Checked:coordinateType==1},{Name:JSPopMenu.SEPARATOR_LINE_NAME},{Name:"普通坐标",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_COORDINATETYPE_ID,Args:[{Type:0}]},Checked:yCoordinateType==0},{Name:"百分比坐标",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_COORDINATETYPE_ID,Args:[{Type:1}]},Checked:yCoordinateType==1},{Name:"对数坐标",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_COORDINATETYPE_ID,Args:[{Type:2}]},Checked:yCoordinateType==2},{Name:"等比坐标",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_COORDINATETYPE_ID,Args:[{Type:3}]},Checked:yCoordinateType==3},{Name:"等分坐标",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_COORDINATETYPE_ID,Args:[{Type:4}]},Checked:yCoordinateType==4},{Name:"黄金分割",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_COORDINATETYPE_ID,Args:[{Type:5}]},Checked:yCoordinateType==5}]},{Name:"指标窗口个数",SubMenu:[{Name:"1个窗口",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_WINDOW_COUNT_ID,Args:[2]},Checked:2==windowCount},{Name:"2个窗口",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_WINDOW_COUNT_ID,Args:[3]},Checked:3==windowCount},{Name:"3个窗口",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_WINDOW_COUNT_ID,Args:[4]},Checked:4==windowCount},{Name:"4个窗口",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_WINDOW_COUNT_ID,Args:[5]},Checked:5==windowCount},{Name:"5个窗口",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_WINDOW_COUNT_ID,Args:[6]},Checked:6==windowCount}]},{Name:"十字光标",SubMenu:[{Name:"显示",Data:{ID:JSCHART_MENU_ID.CMD_SHOW_CORSS_LINE_ID,Args:[!bShowCorss]},Checked:bShowCorss},{Name:"显示在K线上",Data:{ID:JSCHART_MENU_ID.CMD_CORSS_ON_KLINE_ID,Args:[!bCorssDrawKLine]},Checked:bCorssDrawKLine},{Name:"画在有效X轴上",Data:{ID:JSCHART_MENU_ID.CMD_CORSS_ON_VAILD_TIME_ID,Args:[!bCorssDrawVaildTime]},Checked:bCorssDrawVaildTime},{Name:"画圆点",Data:{ID:JSCHART_MENU_ID.CMD_CORSS_POINT_ID,Args:[!bCorssDrawPoint]},Checked:bCorssDrawPoint},{Name:"双击显示/隐藏",Data:{ID:JSCHART_MENU_ID.CMD_CORSS_DBCLICK_ID,Args:[!bCorssBCClick]},Checked:bCorssBCClick}]},{Name:"其他设置",SubMenu:[{Name:"禁止拖拽",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DRAG_MODE_ID,Args:[0]},Checked:0==this.DragMode},{Name:"启动拖拽",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DRAG_MODE_ID,Args:[1]},Checked:1==this.DragMode},{Name:"X轴拖动缩放",Data:{ID:JSCHART_MENU_ID.CMD_ENABLE_XDRAG_BOTTOM_ID,Args:[!this.EnableXDrag.Bottom]},Checked:this.EnableXDrag.Bottom},{Name:"左键区间选择",Data:{ID:JSCHART_MENU_ID.CMD_LBUTTON_SELECT_RECT_ID,Args:[!bLButtonSelectRect]},Checked:bLButtonSelectRect},{Name:"右键区间选择",Data:{ID:JSCHART_MENU_ID.CMD_RBUTTON_SELECT_RECT_ID,Args:[!bRButtonSelectRect]},Checked:bRButtonSelectRect},{Name:JSPopMenu.SEPARATOR_LINE_NAME},{Name:"背景分割",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_BG_SPLIT_ID,Args:[!bBGSpit]},Checked:bBGSpit},{Name:"画图工具",Data:{ID:JSCHART_MENU_ID.CMD_SHOW_DRAWTOOL_ID,Args:[]},Checked:this.IsShowDrawToolDialog()},{Name:"移动筹码图",Data:{ID:bShowStockChip?JSCHART_MENU_ID.CMD_HIDE_STOCKCHIP_ID:JSCHART_MENU_ID.CMD_SHOW_STOCKCHIP_ID,Args:[stockChipConfig.Name,stockChipConfig]},Checked:bShowStockChip},{Name:"双击弹分时图",Data:{ID:JSCHART_MENU_ID.CMD_ENABLE_POP_MINUTE_CHART_ID,Args:[!bPopMinuteChart]},Checked:bPopMinuteChart},{Name:JSPopMenu.SEPARATOR_LINE_NAME},{Name:"鼠标形状",SubMenu:[{Name:"默认",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DEFAULTCURSOR_ID,Args:["default"]},Checked:this.DefaultCursor=="default"},{Name:"十字线",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DEFAULTCURSOR_ID,Args:["crosshair"]},Checked:this.DefaultCursor=="crosshair"}]},{Name:"语言设置",SubMenu:[{Name:"中文",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_LANGUAGE_ID,Args:["CN"]},Checked:this.LanguageID==JSCHART_LANGUAGE_ID.LANGUAGE_CHINESE_ID},{Name:"英语",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_LANGUAGE_ID,Args:["EN"]},Checked:this.LanguageID==JSCHART_LANGUAGE_ID.LANGUAGE_ENGLISH_ID},{Name:"繁体",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_LANGUAGE_ID,Args:["TC"]},Checked:this.LanguageID==JSCHART_LANGUAGE_ID.LANGUAGE_TRADITIONAL_CHINESE_ID}]},{Name:"区间选择样式",SubMenu:[{Name:"样式1(默认)",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DRAG_RECT_SHOW_MODE_ID,Args:[0]},Checked:0==this.ChartDragSelectRect.ShowMode},{Name:"样式2",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DRAG_RECT_SHOW_MODE_ID,Args:[1]},Checked:1==this.ChartDragSelectRect.ShowMode},{Name:"样式3",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DRAG_RECT_SHOW_MODE_ID,Args:[2]},Checked:2==this.ChartDragSelectRect.ShowMode}]},{Name:"K线浮动框",SubMenu:[{Name:"禁用",Data:{ID:JSCHART_MENU_ID.CMD_DIALOG_TOOLTIP_ATTRIBUTE,Args:[{Enable:false}]},Checked:!this.DialogTooltip},{Name:"样式1",Data:{ID:JSCHART_MENU_ID.CMD_DIALOG_TOOLTIP_ATTRIBUTE,Args:[{Enable:true,Style:0}]},Checked:this.DialogTooltip&&this.DialogTooltip.Style===0},{Name:"样式2",Data:{ID:JSCHART_MENU_ID.CMD_DIALOG_TOOLTIP_ATTRIBUTE,Args:[{Enable:true,Style:1}]},Checked:this.DialogTooltip&&this.DialogTooltip.Style===1}]},{Name:"K线提示框",SubMenu:[{Name:"启用",Data:{ID:JSCHART_MENU_ID.CMD_KLINE_TOOLTIP_ATTRIBUTE,Args:[{Enable:!this.KLineTooltipConfig.Enable}]},Checked:this.KLineTooltipConfig.Enable},{Name:"键盘左右显示",Data:{ID:JSCHART_MENU_ID.CMD_KLINE_TOOLTIP_ATTRIBUTE,Args:[{EnableKeyDown:!this.KLineTooltipConfig.EnableKeyDown}]},Checked:this.KLineTooltipConfig.EnableKeyDown}]}]}];//复权
|
|
8088
8219
|
if(!MARKET_SUFFIX_NAME.IsSHSZIndex(this.Symbol)&&!MARKET_SUFFIX_NAME.IsBIT(this.Symbol)){var rightMenu={Name:"复权处理",SubMenu:[{Name:"不复权",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_RIGHT_ID,Args:[0]},Checked:0==this.Right},{Name:"前复权",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_RIGHT_ID,Args:[1]},Checked:1==this.Right},{Name:"后复权",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_RIGHT_ID,Args:[2]},Checked:2==this.Right}]};aryMenu.splice(1,0,rightMenu);}//删除菜单
|
|
8089
8220
|
for(var i=0;i<aryMenu.length;++i){var item=aryMenu[i];if(item.Name=="五彩K线"){if(this.ColorIndex){item.SubMenu.push({Name:JSPopMenu.SEPARATOR_LINE_NAME});item.SubMenu.push({Name:"删除五彩K线",Data:{ID:JSCHART_MENU_ID.CMD_DELETE_COLOR_INDEX_ID}});}}else if(item.Name=="专家系统"){if(this.TradeIndex){item.SubMenu.push({Name:JSPopMenu.SEPARATOR_LINE_NAME});item.SubMenu.push({Name:"删除专家系统",Data:{ID:JSCHART_MENU_ID.CMD_DELETE_TRADE_INDEX_ID}});}}else if(item.Name=="叠加品种"){for(var j=0;j<item.SubMenu.length;++j){if(item.SubMenu[j].Checked){item.SubMenu.push({Name:JSPopMenu.SEPARATOR_LINE_NAME});item.SubMenu.push({Name:"取消叠加",Data:{ID:JSCHART_MENU_ID.CMD_DELETE_ALL_OVERLAY_SYMBOL_ID}});break;}}}else if(item.Name=="信息地雷"){for(var j=0;j<item.SubMenu.length;++j){if(item.SubMenu[j].Checked){item.SubMenu.push({Name:JSPopMenu.SEPARATOR_LINE_NAME});item.SubMenu.push({Name:"删除所有",Data:{ID:JSCHART_MENU_ID.CMD_DELETE_ALL_KLINE_INFO_ID}});break;}}}else if(item.Name=="十字光标"){if(kItem){var bLocked=this.IsLockCorssCursor();if(bLocked)item.SubMenu.push({Name:"锁十字光标",Data:{ID:JSCHART_MENU_ID.CMD_UNLOCK_CROSSCURSOR},Checked:bLocked});else item.SubMenu.push({Name:"锁十字光标",Data:{ID:JSCHART_MENU_ID.CMD_LOCK_CROSSCURSOR,Args:[{KItem:{Date:kItem.Date,Time:kItem.Time},Draw:true}]},Checked:bLocked});}}}return aryMenu;};this.PopupSelectRectMenuV2=function(data,e){var _this27=this;var aryMenu=[{Name:"区间统计",Data:{ID:JSCHART_MENU_ID.CMD_SELECTED_SUMMARY_ID,Args:[e,data.SelectData]}},{Name:"区间放大",Data:{ID:JSCHART_MENU_ID.CMD_SELECTED_ZOOM_ID,Args:[data.SelectData]}}];var menuData={Menu:aryMenu,Position:JSPopMenu.POSITION_ID.RIGHT_MENU_ID};menuData.ClickCallback=function(data){_this27.OnClickRightMenu(data);};var x=data.X,y=data.Y;this.PopupMenuByRClick(menuData,x,y);};//重新加载画图工具(切换股票|周期)
|
|
8090
8221
|
this.ReloadChartDrawPicture=function(){this.ChartDrawPicture=[];if(this.SelectChartDrawPicture)this.SelectChartDrawPicture.IsSelected=false;this.SelectChartDrawPicture=null;this.CurrentChartDrawPicture=null;if(this.ChartDrawStorage){this.ChartDrawStorageCache=this.ChartDrawStorage.GetDrawData({Symbol:this.Symbol,Period:this.Period});var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_LOAD_DRAWPICTURE);if(event&&event.Callback){var sendData={Symbol:this.Symbol,Period:this.Period,DrawStorage:this.ChartDrawStorage,ChartDrawStorageCache:this.ChartDrawStorageCache};event.Callback(event,sendData,this);}}};this.CreateChartDrawPictureByStorage=function()//把缓存(this.ChartDrawStorageCache) 画图工具创建出来
|
|
@@ -8112,9 +8243,9 @@ this.UpdateWindowIndex=function(index){var bindData=new ChartData();bindData.Dat
|
|
|
8112
8243
|
this.UpdateFrameMaxMin();//调整坐标最大 最小值
|
|
8113
8244
|
this.Draw();};this.GetOverlayIndexByIdentify=function(identify){for(var i=0;i<this.Frame.SubFrame.length;++i){var item=this.Frame.SubFrame[i];if(!IFrameSplitOperator.IsNonEmptyArray(item.OverlayIndex))continue;for(var j=0;j<item.OverlayIndex.length;++j){var overlayItem=item.OverlayIndex[j];if(overlayItem.Identify===identify)return{OverlayItem:overlayItem,WindowIndex:i};}}return null;};this.RecvOverlayIndex=function(identify,data){var overlayIndex=this.GetOverlayIndexByIdentify(identify);if(overlayIndex==null){console.warn('[KLineChartContainer::RecvOverlayIndex] can\'t find overlay index. [identify='+identify+']');return;}if(!overlayIndex.Script)return;if(typeof overlayIndex.RecvSubscribeData!="function")return;if(!this.ChartPaint[0])return;var kData=this.ChartPaint[0].Data;if(!kData)return;overlayIndex.Script.RecvSubscribeData(data,this,overlayIndex.WindowIndex,kData);};//更新叠加指标
|
|
8114
8245
|
this.UpdateOverlayIndex=function(identify){var overlayIndex=this.GetOverlayIndexByIdentify(identify);if(overlayIndex==null){console.warn('[KLineChartContainer::UpdateOverlayIndex] can\'t find overlay index. [identify='+identify+']');return;}if(!this.ChartPaint[0])return;var kData=this.ChartPaint[0].Data;if(!kData)return;this.BindOverlayIndexData(overlayIndex.OverlayItem,overlayIndex.WindowIndex,kData);};//修改参数指标
|
|
8115
|
-
this.ChangeWindowIndexParam=function(index){this.WindowIndex[index].Index[0].Param+=1;this.WindowIndex[index].Index[1].Param+=1;this.UpdateWindowIndex(index);};this.OnDoubleClick=function(x,y,e){if(this.EnableYDrag&&(this.EnableYDrag.Left||this.EnableYDrag.Right)&&this.Frame&&this.Frame.PtInFrameY){var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;var dragY=this.Frame.PtInFrameY(x,y);if(dragY&&dragY.Index>=0){this.CancelZoomUpDownFrameY(dragY);}}var selectedChart;//图形选中
|
|
8246
|
+
this.ChangeWindowIndexParam=function(index){this.WindowIndex[index].Index[0].Param+=1;this.WindowIndex[index].Index[1].Param+=1;this.UpdateWindowIndex(index);};this.OnDoubleClick=function(x,y,e){var bDraw=false;if(this.ChartCorssCursor){var data={e:e,X:x,Y:y,Draw:false};this.ChartCorssCursor.OnDBClick(data);bDraw=data.Draw;}if(this.EnableYDrag&&(this.EnableYDrag.Left||this.EnableYDrag.Right)&&this.Frame&&this.Frame.PtInFrameY){var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;var dragY=this.Frame.PtInFrameY(x,y);if(dragY&&dragY.Index>=0){this.CancelZoomUpDownFrameY(dragY);}}var selectedChart;//图形选中
|
|
8116
8247
|
if(this.SelectedChart.EnableSelected){selectedChart=this.PtInChart(x,y);}var dbClickInfo={SelectedChart:selectedChart};this.DBClickEvent(dbClickInfo,e);if(!selectedChart&&this.EnableZoomIndexWindow)//双击放大缩小
|
|
8117
|
-
{var frameId=this.Frame.PtInFrame(x,y);JSConsole.Chart.Log("[KLineChartContainer::OnDoubleClick] frameId",frameId);if(frameId>=this.Frame.ZoomStartWindowIndex){if(this.ZoomIndexWindow(frameId,{X:x,Y:y})){this.Frame.SetSizeChage(true);this.Draw();return true;}}}var tooltip=new TooltipData();if(!this.PtInChartPaintTooltip(x,y,tooltip)){if(!this.PtInOverlayIndexTooltip(x,y,tooltip))return;}if(!tooltip.Data)return;var event=null;if(this.mapEvent.has(JSCHART_EVENT_ID.DBCLICK_KLINE))event=this.mapEvent.get(JSCHART_EVENT_ID.DBCLICK_KLINE);if(event){if(this.ClickChartTimer!=null)//清空单击定时器
|
|
8248
|
+
{var frameId=this.Frame.PtInFrame(x,y);JSConsole.Chart.Log("[KLineChartContainer::OnDoubleClick] frameId",frameId);if(frameId>=this.Frame.ZoomStartWindowIndex){if(this.ZoomIndexWindow(frameId,{X:x,Y:y})){this.Frame.SetSizeChage(true);this.Draw();return true;}}}if(bDraw)this.Draw();var tooltip=new TooltipData();if(!this.PtInChartPaintTooltip(x,y,tooltip)){if(!this.PtInOverlayIndexTooltip(x,y,tooltip))return;}if(!tooltip.Data)return;var event=null;if(this.mapEvent.has(JSCHART_EVENT_ID.DBCLICK_KLINE))event=this.mapEvent.get(JSCHART_EVENT_ID.DBCLICK_KLINE);if(event){if(this.ClickChartTimer!=null)//清空单击定时器
|
|
8118
8249
|
{clearTimeout(this.ClickChartTimer);this.ClickChartTimer=null;}var data={Tooltip:tooltip,Stock:{Symbol:this.Symbol,Name:this.Name},X:e.clientX,Y:e.clientY,PreventDefault:false};event.Callback(event,data,this);if(data.PreventDefault)return;}//内置弹分时图
|
|
8119
8250
|
if(this.PopMinuteChart&&tooltip.Type===0)this.ShowMinuteChartDialog({Chart:this,Tooltip:tooltip,e:e},x,y);};this.CancelAutoUpdate=function()//关闭停止更新
|
|
8120
8251
|
{if(typeof this.AutoUpdateTimer=='number'){clearTimeout(this.AutoUpdateTimer);this.AutoUpdateTimer=undefined;}};//数据自动更新
|
|
@@ -8586,13 +8717,13 @@ this.GetRightMenuData=function(frameID,option){var windowCount=this.Frame.SubFra
|
|
|
8586
8717
|
var aryOverlaySymbol=[];//叠加的股票列表
|
|
8587
8718
|
for(var i=0;i<this.OverlayChartPaint.length;++i){var item=this.OverlayChartPaint[i];if(item&&item.Symbol)aryOverlaySymbol.push(item.Symbol);}var bShowCorss=false;//十字光标十字线
|
|
8588
8719
|
var bCorssDrawCloseLine=false;//十字光标只能画在走势图价格线上
|
|
8589
|
-
var bCorssDrawVaildTime=false;var bCorssDrawPoint=false;if(this.ChartCorssCursor){bShowCorss=this.ChartCorssCursor.IsShowCorss;bCorssDrawCloseLine=this.ChartCorssCursor.IsOnlyDrawMinute;bCorssDrawVaildTime=this.ChartCorssCursor.IsFixXLastTime;bCorssDrawPoint=this.ChartCorssCursor.CorssPointConfig.Enable;}var bRButtonSelectRect=false,bLButtonSelectRect=false;if(this.ChartDragSelectRect){bRButtonSelectRect=this.ChartDragSelectRect.EnableRButton;bLButtonSelectRect=this.ChartDragSelectRect.EnableLButton;}var minItem=null;if(frameID>=0&&option&&IFrameSplitOperator.IsNumber(option.CursorIndex)){var kData=this.GetKData();if(kData&&IFrameSplitOperator.IsNonEmptyArray(kData.Data)){var dataIndex=kData.DataOffset+parseInt(option.CursorIndex.toFixed(0));if(dataIndex>=0&&dataIndex<kData.Data.length)minItem=kData.Data[dataIndex];}}var aryMenu=[{Name:"叠加品种",SubMenu:[{Name:"上证指数",Data:{ID:JSCHART_MENU_ID.CMD_OVERLAY_SYMBOL_ID,Args:["000001.sh",!aryOverlaySymbol.includes("000001.sh")]},Checked:aryOverlaySymbol.includes("000001.sh")},{Name:"深证成指",Data:{ID:JSCHART_MENU_ID.CMD_OVERLAY_SYMBOL_ID,Args:["399001.sz",!aryOverlaySymbol.includes("399001.sz")]},Checked:aryOverlaySymbol.includes("399001.sz")},{Name:"中小板指",Data:{ID:JSCHART_MENU_ID.CMD_OVERLAY_SYMBOL_ID,Args:["399005.sz",!aryOverlaySymbol.includes("399005.sz")]},Checked:aryOverlaySymbol.includes("399005.sz")},{Name:"创业板指",Data:{ID:JSCHART_MENU_ID.CMD_OVERLAY_SYMBOL_ID,Args:["399006.sz",!aryOverlaySymbol.includes("399006.sz")]},Checked:aryOverlaySymbol.includes("399006.sz")},{Name:"沪深300",Data:{ID:JSCHART_MENU_ID.CMD_OVERLAY_SYMBOL_ID,Args:["000300.sh",!aryOverlaySymbol.includes("000300.sh")]},Checked:aryOverlaySymbol.includes("000300.sh")}]},{Name:"多日分时图",SubMenu:[{Name:"当日分时图",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DAY_COUNT_ID,Args:[1]},Checked:this.DayCount==1},{Name:"最近2日",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DAY_COUNT_ID,Args:[2]},Checked:this.DayCount==2},{Name:"最近3日",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DAY_COUNT_ID,Args:[3]},Checked:this.DayCount==3},{Name:"最近4日",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DAY_COUNT_ID,Args:[4]},Checked:this.DayCount==4},{Name:"最近5日",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DAY_COUNT_ID,Args:[5]},Checked:this.DayCount==5},{Name:"基准线选择",SubMenu:[{Name:"最新昨收价",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_BASELINE_ID,Args:[0]},Checked:this.BaselineType===0},{Name:"多日前昨收价",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_BASELINE_ID,Args:[1]},Checked:this.BaselineType===1}]}]},{Name:"指标窗口个数",SubMenu:[{Name:"1个窗口",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_WINDOW_COUNT_ID,Args:[2]},Checked:3==windowCount},{Name:"2个窗口",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_WINDOW_COUNT_ID,Args:[3]},Checked:4==windowCount},{Name:"3个窗口",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_WINDOW_COUNT_ID,Args:[4]},Checked:5==windowCount},{Name:"4个窗口",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_WINDOW_COUNT_ID,Args:[5]},Checked:6==windowCount},{Name:"5个窗口",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_WINDOW_COUNT_ID,Args:[6]},Checked:7==windowCount}]},{Name:"指标切换",SubMenu:[{Name:"MACD",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"MACD"]}},{Name:"DMI",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"DMI"]}},{Name:"DMA",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"DMA"]}},{Name:"BRAR",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"BRAR"]}},{Name:"KDJ",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"KDJ"]}},{Name:"RSI",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"RSI"]}},{Name:"WR",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"WR"]}},{Name:"CCI",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"CCI"]}},{Name:"TRIX",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"TRIX"]}}]},{Name:"区间选择",SubMenu:[{Name:"左键区间选择",Data:{ID:JSCHART_MENU_ID.CMD_LBUTTON_SELECT_RECT_ID,Args:[!bLButtonSelectRect]},Checked:bLButtonSelectRect},{Name:"右键区间选择",Data:{ID:JSCHART_MENU_ID.CMD_RBUTTON_SELECT_RECT_ID,Args:[!bRButtonSelectRect]},Checked:bRButtonSelectRect}]},{Name:"十字光标",SubMenu:[{Name:"显示",Data:{ID:JSCHART_MENU_ID.CMD_SHOW_CORSS_LINE_ID,Args:[!bShowCorss]},Checked:bShowCorss},{Name:"画在价格线上",Data:{ID:JSCHART_MENU_ID.CMD_CORSS_ON_CLOSE_LINE_ID,Args:[!bCorssDrawCloseLine]},Checked:bCorssDrawCloseLine},{Name:"画在有效X轴上",Data:{ID:JSCHART_MENU_ID.CMD_CORSS_ON_VAILD_TIME_ID,Args:[!bCorssDrawVaildTime]},Checked:bCorssDrawVaildTime},{Name:"画圆点",Data:{ID:JSCHART_MENU_ID.CMD_CORSS_POINT_ID,Args:[!bCorssDrawPoint]},Checked:bCorssDrawPoint}]},{Name:"其他设置",SubMenu:[{Name:"画图工具",Data:{ID:JSCHART_MENU_ID.CMD_SHOW_DRAWTOOL_ID,Args:[]},Checked:this.IsShowDrawToolDialog()},{Name:JSPopMenu.SEPARATOR_LINE_NAME},{Name:"语言设置",SubMenu:[{Name:"中文",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_LANGUAGE_ID,Args:["CN"]},Checked:this.LanguageID==JSCHART_LANGUAGE_ID.LANGUAGE_CHINESE_ID},{Name:"英语",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_LANGUAGE_ID,Args:["EN"]},Checked:this.LanguageID==JSCHART_LANGUAGE_ID.LANGUAGE_ENGLISH_ID},{Name:"繁体",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_LANGUAGE_ID,Args:["TC"]},Checked:this.LanguageID==JSCHART_LANGUAGE_ID.LANGUAGE_TRADITIONAL_CHINESE_ID}]},{Name:"区间选择样式",SubMenu:[{Name:"样式1(默认)",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DRAG_RECT_SHOW_MODE_ID,Args:[0]},Checked:0==this.ChartDragSelectRect.ShowMode},{Name:"样式2",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DRAG_RECT_SHOW_MODE_ID,Args:[1]},Checked:1==this.ChartDragSelectRect.ShowMode},{Name:"样式3",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DRAG_RECT_SHOW_MODE_ID,Args:[2]},Checked:2==this.ChartDragSelectRect.ShowMode}]},{Name:"K线浮动框",SubMenu:[{Name:"禁用",Data:{ID:JSCHART_MENU_ID.CMD_DIALOG_TOOLTIP_ATTRIBUTE,Args:[{Enable:false}]},Checked:!this.DialogTooltip},{Name:"样式1",Data:{ID:JSCHART_MENU_ID.CMD_DIALOG_TOOLTIP_ATTRIBUTE,Args:[{Enable:true,Style:0}]},Checked:this.DialogTooltip&&this.DialogTooltip.Style===0},{Name:"样式2",Data:{ID:JSCHART_MENU_ID.CMD_DIALOG_TOOLTIP_ATTRIBUTE,Args:[{Enable:true,Style:1}]},Checked:this.DialogTooltip&&this.DialogTooltip.Style===1}]}]}];if(MARKET_SUFFIX_NAME.IsSHSZStockA(this.Symbol)){var item={Name:"集合竞价",Data:{ID:JSCHART_MENU_ID.CMD_SHOW_BEFORE_DATA_ID,Args:[!this.IsShowBeforeData]},Checked:this.IsShowBeforeData};aryMenu.splice(4,0,item);}for(var i=0;i<aryMenu.length;++i){var item=aryMenu[i];if(item.Name=="叠加品种")//删除菜单
|
|
8720
|
+
var bCorssDrawVaildTime=false;var bCorssDrawPoint=false;var bCorssBCClick=false;if(this.ChartCorssCursor){bShowCorss=this.ChartCorssCursor.IsShowCorss;bCorssDrawCloseLine=this.ChartCorssCursor.IsOnlyDrawMinute;bCorssDrawVaildTime=this.ChartCorssCursor.IsFixXLastTime;bCorssDrawPoint=this.ChartCorssCursor.CorssPointConfig.Enable;bCorssBCClick=this.ChartCorssCursor.EnableDBClick;}var bRButtonSelectRect=false,bLButtonSelectRect=false;if(this.ChartDragSelectRect){bRButtonSelectRect=this.ChartDragSelectRect.EnableRButton;bLButtonSelectRect=this.ChartDragSelectRect.EnableLButton;}var minItem=null;if(frameID>=0&&option&&IFrameSplitOperator.IsNumber(option.CursorIndex)){var kData=this.GetKData();if(kData&&IFrameSplitOperator.IsNonEmptyArray(kData.Data)){var dataIndex=kData.DataOffset+parseInt(option.CursorIndex.toFixed(0));if(dataIndex>=0&&dataIndex<kData.Data.length)minItem=kData.Data[dataIndex];}}var aryMenu=[{Name:"叠加品种",SubMenu:[{Name:"上证指数",Data:{ID:JSCHART_MENU_ID.CMD_OVERLAY_SYMBOL_ID,Args:["000001.sh",!aryOverlaySymbol.includes("000001.sh")]},Checked:aryOverlaySymbol.includes("000001.sh")},{Name:"深证成指",Data:{ID:JSCHART_MENU_ID.CMD_OVERLAY_SYMBOL_ID,Args:["399001.sz",!aryOverlaySymbol.includes("399001.sz")]},Checked:aryOverlaySymbol.includes("399001.sz")},{Name:"中小板指",Data:{ID:JSCHART_MENU_ID.CMD_OVERLAY_SYMBOL_ID,Args:["399005.sz",!aryOverlaySymbol.includes("399005.sz")]},Checked:aryOverlaySymbol.includes("399005.sz")},{Name:"创业板指",Data:{ID:JSCHART_MENU_ID.CMD_OVERLAY_SYMBOL_ID,Args:["399006.sz",!aryOverlaySymbol.includes("399006.sz")]},Checked:aryOverlaySymbol.includes("399006.sz")},{Name:"沪深300",Data:{ID:JSCHART_MENU_ID.CMD_OVERLAY_SYMBOL_ID,Args:["000300.sh",!aryOverlaySymbol.includes("000300.sh")]},Checked:aryOverlaySymbol.includes("000300.sh")}]},{Name:"多日分时图",SubMenu:[{Name:"当日分时图",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DAY_COUNT_ID,Args:[1]},Checked:this.DayCount==1},{Name:"最近2日",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DAY_COUNT_ID,Args:[2]},Checked:this.DayCount==2},{Name:"最近3日",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DAY_COUNT_ID,Args:[3]},Checked:this.DayCount==3},{Name:"最近4日",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DAY_COUNT_ID,Args:[4]},Checked:this.DayCount==4},{Name:"最近5日",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DAY_COUNT_ID,Args:[5]},Checked:this.DayCount==5},{Name:"基准线选择",SubMenu:[{Name:"最新昨收价",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_BASELINE_ID,Args:[0]},Checked:this.BaselineType===0},{Name:"多日前昨收价",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_BASELINE_ID,Args:[1]},Checked:this.BaselineType===1}]}]},{Name:"指标窗口个数",SubMenu:[{Name:"1个窗口",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_WINDOW_COUNT_ID,Args:[2]},Checked:3==windowCount},{Name:"2个窗口",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_WINDOW_COUNT_ID,Args:[3]},Checked:4==windowCount},{Name:"3个窗口",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_WINDOW_COUNT_ID,Args:[4]},Checked:5==windowCount},{Name:"4个窗口",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_WINDOW_COUNT_ID,Args:[5]},Checked:6==windowCount},{Name:"5个窗口",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_WINDOW_COUNT_ID,Args:[6]},Checked:7==windowCount}]},{Name:"指标切换",SubMenu:[{Name:"MACD",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"MACD"]}},{Name:"DMI",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"DMI"]}},{Name:"DMA",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"DMA"]}},{Name:"BRAR",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"BRAR"]}},{Name:"KDJ",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"KDJ"]}},{Name:"RSI",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"RSI"]}},{Name:"WR",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"WR"]}},{Name:"CCI",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"CCI"]}},{Name:"TRIX",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"TRIX"]}}]},{Name:"区间选择",SubMenu:[{Name:"左键区间选择",Data:{ID:JSCHART_MENU_ID.CMD_LBUTTON_SELECT_RECT_ID,Args:[!bLButtonSelectRect]},Checked:bLButtonSelectRect},{Name:"右键区间选择",Data:{ID:JSCHART_MENU_ID.CMD_RBUTTON_SELECT_RECT_ID,Args:[!bRButtonSelectRect]},Checked:bRButtonSelectRect}]},{Name:"十字光标",SubMenu:[{Name:"显示",Data:{ID:JSCHART_MENU_ID.CMD_SHOW_CORSS_LINE_ID,Args:[!bShowCorss]},Checked:bShowCorss},{Name:"画在价格线上",Data:{ID:JSCHART_MENU_ID.CMD_CORSS_ON_CLOSE_LINE_ID,Args:[!bCorssDrawCloseLine]},Checked:bCorssDrawCloseLine},{Name:"画在有效X轴上",Data:{ID:JSCHART_MENU_ID.CMD_CORSS_ON_VAILD_TIME_ID,Args:[!bCorssDrawVaildTime]},Checked:bCorssDrawVaildTime},{Name:"画圆点",Data:{ID:JSCHART_MENU_ID.CMD_CORSS_POINT_ID,Args:[!bCorssDrawPoint]},Checked:bCorssDrawPoint},{Name:"双击显示/隐藏",Data:{ID:JSCHART_MENU_ID.CMD_CORSS_DBCLICK_ID,Args:[!bCorssBCClick]},Checked:bCorssBCClick}]},{Name:"其他设置",SubMenu:[{Name:"画图工具",Data:{ID:JSCHART_MENU_ID.CMD_SHOW_DRAWTOOL_ID,Args:[]},Checked:this.IsShowDrawToolDialog()},{Name:JSPopMenu.SEPARATOR_LINE_NAME},{Name:"语言设置",SubMenu:[{Name:"中文",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_LANGUAGE_ID,Args:["CN"]},Checked:this.LanguageID==JSCHART_LANGUAGE_ID.LANGUAGE_CHINESE_ID},{Name:"英语",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_LANGUAGE_ID,Args:["EN"]},Checked:this.LanguageID==JSCHART_LANGUAGE_ID.LANGUAGE_ENGLISH_ID},{Name:"繁体",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_LANGUAGE_ID,Args:["TC"]},Checked:this.LanguageID==JSCHART_LANGUAGE_ID.LANGUAGE_TRADITIONAL_CHINESE_ID}]},{Name:"区间选择样式",SubMenu:[{Name:"样式1(默认)",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DRAG_RECT_SHOW_MODE_ID,Args:[0]},Checked:0==this.ChartDragSelectRect.ShowMode},{Name:"样式2",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DRAG_RECT_SHOW_MODE_ID,Args:[1]},Checked:1==this.ChartDragSelectRect.ShowMode},{Name:"样式3",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DRAG_RECT_SHOW_MODE_ID,Args:[2]},Checked:2==this.ChartDragSelectRect.ShowMode}]},{Name:"K线浮动框",SubMenu:[{Name:"禁用",Data:{ID:JSCHART_MENU_ID.CMD_DIALOG_TOOLTIP_ATTRIBUTE,Args:[{Enable:false}]},Checked:!this.DialogTooltip},{Name:"样式1",Data:{ID:JSCHART_MENU_ID.CMD_DIALOG_TOOLTIP_ATTRIBUTE,Args:[{Enable:true,Style:0}]},Checked:this.DialogTooltip&&this.DialogTooltip.Style===0},{Name:"样式2",Data:{ID:JSCHART_MENU_ID.CMD_DIALOG_TOOLTIP_ATTRIBUTE,Args:[{Enable:true,Style:1}]},Checked:this.DialogTooltip&&this.DialogTooltip.Style===1}]}]}];if(MARKET_SUFFIX_NAME.IsSHSZStockA(this.Symbol)){var item={Name:"集合竞价",Data:{ID:JSCHART_MENU_ID.CMD_SHOW_BEFORE_DATA_ID,Args:[!this.IsShowBeforeData]},Checked:this.IsShowBeforeData};aryMenu.splice(4,0,item);}for(var i=0;i<aryMenu.length;++i){var item=aryMenu[i];if(item.Name=="叠加品种")//删除菜单
|
|
8590
8721
|
{for(var j=0;j<item.SubMenu.length;++j){if(item.SubMenu[j].Checked){item.SubMenu.push({Name:JSPopMenu.SEPARATOR_LINE_NAME});item.SubMenu.push({Name:"取消叠加",Data:{ID:JSCHART_MENU_ID.CMD_DELETE_ALL_OVERLAY_SYMBOL_ID}});break;}}}else if(item.Name=="十字光标"){if(minItem){var bLocked=this.IsLockCorssCursor();if(bLocked)item.SubMenu.push({Name:"锁十字光标",Data:{ID:JSCHART_MENU_ID.CMD_UNLOCK_CROSSCURSOR},Checked:bLocked});else item.SubMenu.push({Name:"锁十字光标",Data:{ID:JSCHART_MENU_ID.CMD_LOCK_CROSSCURSOR,Args:[{KItem:{Date:minItem.Date,Time:minItem.Time},Draw:true}]},Checked:bLocked});}}}return aryMenu;};this.OnWheel=function(e){JSConsole.Chart.Log('[MinuteChartContainer::OnWheel]',e);if(this.ChartSplashPaint&&this.ChartSplashPaint.IsEnableSplash==true)return;var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;var isInClient=false;var rtClient={Left:this.Frame.ChartBorder.GetLeft(),Right:this.Frame.ChartBorder.GetRight(),Top:this.Frame.ChartBorder.GetTop(),Bottom:this.Frame.ChartBorder.GetBottom(),Width:this.Frame.ChartBorder.GetWidth(),Height:this.Frame.ChartBorder.GetHeight()};if(x>=rtClient.Left&&x<=rtClient.Right&&y>=rtClient.Top&&y<=rtClient.Bottom)isInClient=true;if(!this.OnWheel_ZoomUpDownFrameY(e,x,y))return;if(e.preventDefault)e.preventDefault();else e.returnValue=false;};//通过滚轴缩放Y轴
|
|
8591
8722
|
this.OnWheel_ZoomUpDownFrameY=function(e,x,y){if(!this.EnableYDrag.Wheel)return false;var frameID=this.Frame.PtInFrame(x,y);if(frameID<0)return false;var frame=this.Frame.SubFrame[frameID].Frame;var splitOper=frame.YSplitOperator;if(!splitOper||!splitOper.FixedYMaxMin)return false;//Y轴缩放状态下才有效
|
|
8592
8723
|
var wheelValue=e.wheelDelta;if(!IFrameSplitOperator.IsObjectExist(e.wheelDelta))wheelValue=e.deltaY*-0.01;var yMove=this.EnableYDrag.WheelYMove;if(wheelValue>0)yMove*=-1;var dragY={Position:0,Index:frameID,Right:false,Left:false};//只能两边缩放
|
|
8593
|
-
if(!this.Frame.OnZoomUpDownFrameY(dragY,yMove))return false;this.Frame.SetSizeChage(true);this.Draw();return true;};this.OnDoubleClick=function(x,y,e){JSConsole.Chart.Log("[MinuteChartContainer::OnDoubleClick]",e);if(this.EnableYDrag&&(this.EnableYDrag.Left||this.EnableYDrag.Right)&&this.Frame&&this.Frame.PtInFrameY){var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;var dragY=this.Frame.PtInFrameY(x,y);if(dragY&&dragY.Index>=0){this.CancelZoomUpDownFrameY(dragY);}}if(this.ClickChartTimer!=null){clearTimeout(this.ClickChartTimer);this.ClickChartTimer=null;}var selectedChart;//图形选中
|
|
8724
|
+
if(!this.Frame.OnZoomUpDownFrameY(dragY,yMove))return false;this.Frame.SetSizeChage(true);this.Draw();return true;};this.OnDoubleClick=function(x,y,e){JSConsole.Chart.Log("[MinuteChartContainer::OnDoubleClick]",e);var bDraw=false;if(this.ChartCorssCursor){var data={e:e,X:x,Y:y,Draw:false};this.ChartCorssCursor.OnDBClick(data);bDraw=data.Draw;}if(this.EnableYDrag&&(this.EnableYDrag.Left||this.EnableYDrag.Right)&&this.Frame&&this.Frame.PtInFrameY){var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;var dragY=this.Frame.PtInFrameY(x,y);if(dragY&&dragY.Index>=0){this.CancelZoomUpDownFrameY(dragY);}}if(this.ClickChartTimer!=null){clearTimeout(this.ClickChartTimer);this.ClickChartTimer=null;}var selectedChart;//图形选中
|
|
8594
8725
|
if(this.SelectedChart.EnableSelected){selectedChart=this.PtInChart(x,y);}var dbClickInfo={SelectedChart:selectedChart};this.DBClickEvent(dbClickInfo,e);//没有图形选中,双击缩放窗口
|
|
8595
|
-
if(!selectedChart&&this.EnableZoomIndexWindow){var frameId=this.Frame.PtInFrame(x,y);JSConsole.Chart.Log("[MinuteChartContainer::OnDoubleClick] frameId",frameId);if(frameId>=this.Frame.ZoomStartWindowIndex){if(this.ZoomIndexWindow(frameId,{X:x,Y:y})){this.Frame.SetSizeChage(true);this.Draw();}
|
|
8726
|
+
if(!selectedChart&&this.EnableZoomIndexWindow){var frameId=this.Frame.PtInFrame(x,y);JSConsole.Chart.Log("[MinuteChartContainer::OnDoubleClick] frameId",frameId);if(frameId>=this.Frame.ZoomStartWindowIndex){if(this.ZoomIndexWindow(frameId,{X:x,Y:y})){this.Frame.SetSizeChage(true);bDraw=true;}}}if(bDraw)this.Draw();};this.GetDataItem=function(pointInfo){if(!pointInfo)return null;if(!IFrameSplitOperator.IsNumber(pointInfo.Index))return null;if(!this.SourceData||!this.SourceData.Data)return null;var data=this.SourceData;var clientPos=pointInfo.ClientPos;if(clientPos==2||clientPos==3||clientPos>=200&&clientPos<=299||clientPos>=300&&clientPos<=399){if(!this.ChartCorssCursor||!this.ChartCorssCursor.CallAcutionXOperator)return null;var isHScreen=this.Frame.IsHScreen===true;var callAcutionXOper=this.ChartCorssCursor.CallAcutionXOperator;callAcutionXOper.Value=isHScreen?pointInfo.Point.Y:pointInfo.Point.X;callAcutionXOper.Point={X:pointInfo.Point.X,Y:pointInfo.Point.Y};callAcutionXOper.ClientPos=clientPos;if(clientPos==2){if(!this.BeforeOpenData)return null;}else if(clientPos==3){if(!this.AfterCloseData)return null;}else if(clientPos>=200&&clientPos<=299){if(!this.MultiDayBeforeOpenData||!IFrameSplitOperator.IsNonEmptyArray(this.MultiDayBeforeOpenData))return;}else if(clientPos>=300&&tclientPos<=399){if(!this.MultiDayAfterCloseData||!IFrameSplitOperator.IsNonEmptyArray(this.MultiDayAfterCloseData))return;}if(callAcutionXOper.Operator()){var item=callAcutionXOper.Item;return{Type:clientPos,Item:item,Index:callAcutionXOper.DataIndex};}return null;}var index=parseInt(pointInfo.Index.toFixed(0));var dataIndex=index+data.DataOffset;if(dataIndex>=data.Data.length)return null;var item=data.Data[dataIndex];return{Type:clientPos,Item:item,Index:dataIndex};};this.UpdatePointByCursorIndex=function(){this.LastPoint.X=this.Frame.GetXFromIndex(this.CursorIndex);var index=this.CursorIndex;index=parseInt(index.toFixed(0));var data=this.Frame.SourceData;if(data.DataOffset+index>=data.Data.length){return;}var item=data.Data[data.DataOffset+index];var close=null;if(item.Before)close=item.Before.Close;else close=item.Close;this.LastPoint.Y=this.Frame.GetYFromData(close);};//创建
|
|
8596
8727
|
//windowCount 窗口个数
|
|
8597
8728
|
this.Create=function(windowCount,option){var _this29=this;this.UIElement.JSChartContainer=this;//创建十字光标
|
|
8598
8729
|
this.ChartCorssCursor=new ChartCorssCursor();this.ChartCorssCursor.PtInClient=function(x,y){return _this29.PtInClient(x,y);};this.ChartCorssCursor.Canvas=this.Canvas;this.ChartCorssCursor.StringFormatX=g_DivTooltipDataForamt.Create("CorssCursor_Minute_XStringFormat");this.ChartCorssCursor.StringFormatX.GetEventCallback=function(id){return _this29.GetEventCallback(id);};this.ChartCorssCursor.StringFormatY=g_DivTooltipDataForamt.Create("CorssCursor_YStringFormat");this.ChartCorssCursor.StringFormatY.GetEventCallback=function(id){return _this29.GetEventCallback(id);};this.ChartCorssCursor.StringFormatY.LanguageID=this.LanguageID;this.ChartCorssCursor.StringFormatY.ShareAfterVol=this.ShareAfterVol;this.ChartCorssCursor.CallAcutionXOperator=new CallAcutionXOperator();this.ChartCorssCursor.GetEventCallback=function(id){return _this29.GetEventCallback(id);};//创建等待提示
|
|
@@ -10091,7 +10222,7 @@ var _iteratorNormalCompletion16=true;var _didIteratorError16=false;var _iterator
|
|
|
10091
10222
|
var _iteratorNormalCompletion17=true;var _didIteratorError17=false;var _iteratorError17=undefined;try{for(var _iterator17=(0,_getIterator3.default)(this.IsNeedNewsAnalysisData),_step17;!(_iteratorNormalCompletion17=(_step17=_iterator17.next()).done);_iteratorNormalCompletion17=true){var jobID=_step17.value;jobs.push({ID:jobID});}//行情其他数据
|
|
10092
10223
|
}catch(err){_didIteratorError17=true;_iteratorError17=err;}finally{try{if(!_iteratorNormalCompletion17&&_iterator17.return){_iterator17.return();}}finally{if(_didIteratorError17){throw _iteratorError17;}}}var _iteratorNormalCompletion18=true;var _didIteratorError18=false;var _iteratorError18=undefined;try{for(var _iterator18=(0,_getIterator3.default)(this.IsNeedSymbolExData),_step18;!(_iteratorNormalCompletion18=(_step18=_iterator18.next()).done);_iteratorNormalCompletion18=true){var jobID=_step18.value;jobs.push({ID:jobID});}//获取截面数据下载任务
|
|
10093
10224
|
}catch(err){_didIteratorError18=true;_iteratorError18=err;}finally{try{if(!_iteratorNormalCompletion18&&_iterator18.return){_iterator18.return();}}finally{if(_didIteratorError18){throw _iteratorError18;}}}var _iteratorNormalCompletion19=true;var _didIteratorError19=false;var _iteratorError19=undefined;try{for(var _iterator19=(0,_getIterator3.default)(this.IsNeedSectionFinance),_step19;!(_iteratorNormalCompletion19=(_step19=_iterator19.next()).done);_iteratorNormalCompletion19=true){var item=_step19.value;jobs.push({ID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SECTION_SF,SF:item});}}catch(err){_didIteratorError19=true;_iteratorError19=err;}finally{try{if(!_iteratorNormalCompletion19&&_iterator19.return){_iterator19.return();}}finally{if(_didIteratorError19){throw _iteratorError19;}}}for(var i in this.IsAPIData){var item=this.IsAPIData[i];jobs.push(item);}for(var i in this.ExecuteIndex){var item=this.ExecuteIndex[i];jobs.push(item);}for(var i in this.OtherSymbolData){var item=this.OtherSymbolData[i];jobs.push(item);}for(var i in this.PeriodSymbolData){var item=this.PeriodSymbolData[i];jobs.push(item);}for(var i in this.FunctionData){var item=this.FunctionData[i];jobs.push(item);}return jobs;};this.VerifySymbolVariable=function(varName,token){var setIndexName=new _set2.default(['INDEXA','INDEXC','INDEXH','INDEXL',"INDEXO","INDEXV",'INDEXDEC','INDEXADV']);if(setIndexName.has(varName)){this.IsNeedIndexData=true;return;}var setSymbolDataName=new _set2.default(['CLOSE','C','VOL','V','OPEN','O','HIGH','H','LOW','L','AMOUNT','AMO','VOLINSTK']);if(setSymbolDataName.has(varName)){this.IsNeedSymbolData=true;return;}if(varName==='VOLR'){if(!this.IsNeedSymbolExData.has(JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_VOLR_DATA))this.IsNeedSymbolExData.add(JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_VOLR_DATA);}//CAPITAL流通股本(手), EXCHANGE 换手率, TOTALCAPITAL 总股本(手)
|
|
10094
|
-
var setVariantName=new _set2.default(["CAPITAL","TOTALCAPITAL","EXCHANGE","HYBLOCK","DYBLOCK","GNBLOCK","FGBLOCK","ZSBLOCK","ZHBLOCK","ZDBLOCK","HYZSCODE","GNBLOCKNUM","FGBLOCKNUM","ZSBLOCKNUM","ZHBLOCKNUM","ZDBLOCKNUM","HYSYL","HYSJL","FROMOPEN",//资金流向
|
|
10225
|
+
var setVariantName=new _set2.default(["CAPITAL","TOTALCAPITAL","EXCHANGE","HSL","HYBLOCK","DYBLOCK","GNBLOCK","FGBLOCK","ZSBLOCK","ZHBLOCK","ZDBLOCK","HYZSCODE","GNBLOCKNUM","FGBLOCKNUM","ZSBLOCKNUM","ZHBLOCKNUM","ZDBLOCKNUM","HYSYL","HYSJL","FROMOPEN",//资金流向
|
|
10095
10226
|
"LARGEINTRDVOL","LARGEOUTTRDVOL","TRADENUM","TRADEINNUM","TRADEOUTNUM","LARGETRDINNUM","LARGETRDOUTNUM","CUR_BUYORDER","CUR_SELLORDER","ACTINVOL","ACTOUTVOL","BIDORDERVOL","BIDCANCELVOL","AVGBIDPX","OFFERORDERVOL","OFFERCANCELVOL","AVGOFFERPX"]);if(setVariantName.has(varName)){var item={ID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_VARIANT,VariantName:varName};if(token)item.Token={Index:token.Start,Line:token.LineNumber};this.FunctionData.push(item);return;}if(varName=='ADVANCE'||varName=="DECLINE"){var item={ID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_INDEX_INCREASE_DATA,IsSelfSymbol:true,FunctionName:varName};if(token)item.Token={Index:token.Start,Line:token.LineNumber};this.NeedBlockIncreaseData.push(item);return;}if(varName.indexOf('#')>0){var aryWrods=varName.split('#');if(aryWrods.length!=2){var errorMessage=varName+', \u8DE8\u5468\u671F\u8BED\u6CD5\u9519\u8BEF, \u53D8\u91CF\u540D#\u5468\u671F';this.ThrowUnexpectedToken(token,errorMessage);}else{var VAR_NAME=["C","CLOSE","O","OPEN","H","HIGH","L","LOW","AMOUNT","AMO","VOL","V","VOLINSTK"];if(VAR_NAME.indexOf(aryWrods[0])<0){var errorMessage=varName+', \u8DE8\u5468\u671F\u8BED\u6CD5\u9519\u8BEF, \u6570\u636E\u53EA\u652F\u6301\'OPEN,HIGH,LOW,CLOSE,VOL,AMOUNT,VOLINSTK\'';this.ThrowUnexpectedToken(token,errorMessage);}var VAR_PERIOD_NAME=["MIN1","MIN5","MIN15","MIN30","MIN60","MIN120","MIN240","DAY","WEEK","MONTH","SEASON","YEAR","HALFYEAR","WEEK2","MULTIDAY","DAY2","DAY3","DAY4","DAY5","DAY6","DAY7","DAY8","DAY9","DAY10","DAY11","DAY12","DAY13","DAY14","DAY15"];if(VAR_PERIOD_NAME.indexOf(aryWrods[1])<0){var errorMessage=varName+', \u8DE8\u5468\u671F\u8BED\u6CD5\u9519\u8BEF\uFF0C \u5468\u671F\u53EA\u652F\u6301\'MIN1,MIN5,MIN15,MIN30,MIN60,DAY,WEEK,MONTH,SEASON,YEAR\'';this.ThrowUnexpectedToken(token,errorMessage);}var item={ID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_SYMBOL_PERIOD_DATA,VarName:varName,ValueName:aryWrods[0],PeriodName:aryWrods[1]};if(token)item.Token={Index:token.Start,Line:token.LineNumber};this.PeriodSymbolData.push(item);}return;}if(g_JSComplierResource.IsCustomVariant(varName))//自定义函数
|
|
10096
10227
|
{var item={VariantName:varName,ID:JS_EXECUTE_JOB_ID.JOB_CUSTOM_VARIANT_DATA};if(token)item.Token={Index:token.Start,Line:token.LineNumber};this.FunctionData.push(item);return;}};this.VerifySymbolLiteral=function(value,token){if(IFrameSplitOperator.IsString(value)){if(value.indexOf('$')>0){var aryValue=value.split('$');if(aryValue.length!=2)return;var item={Literal:value,ID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_OTHER_SYMBOL_DATA};if(token)item.Token={Index:token.Start,Line:token.LineNumber};this.OtherSymbolData.push(item);}}};this.VerifySymbolFunction=function(callee,args,token){//自定义函数 可以覆盖系统内置函数
|
|
10097
10228
|
if(g_JSComplierResource.IsCustomFunction(callee.Name)){var item={FunctionName:callee.Name,ID:JS_EXECUTE_JOB_ID.JOB_CUSTOM_FUNCTION_DATA,Args:args};if(token)item.Token={Index:token.Start,Line:token.LineNumber};this.FunctionData.push(item);return;}//自定义数据函数
|
|
@@ -11463,8 +11594,8 @@ Explain:'财务数据FINANCE(ID)',JobID:jobItem.ID,Request:{Url:self.RealtimeApi
|
|
|
11463
11594
|
}if(this.NetworkFilter){var dateRange=this.Data.GetDateRange();var obj={Name:finder.FuncName,//类名::
|
|
11464
11595
|
Explain:finder.Explain,JobID:jobID,Request:{Url:self.StockHistoryDayApiUrl,Type:'POST',Data:{Args:aryArgs,symbol:this.Symbol,daterange:dateRange}},Self:this,PreventDefault:false};this.NetworkFilter(obj,function(recvData){self.RecvStockValue(recvData,jobItem,key,dataType);self.Execute.RunNextJob();});if(obj.PreventDefault==true)return;//已被上层替换,不调用默认的网络请求
|
|
11465
11596
|
}JSConsole.Chart.Warn('[JSSymbolData::GetProFinance] '+finder.FuncName+' Not implemented.');};this.GetVariantData=function(jobItem){var key=jobItem.VariantName;if(this.StockData.has(key))return this.Execute.RunNextJob();var self=this;if(this.NetworkFilter){var dateRange=this.Data.GetDateRange();var obj={Name:'JSSymbolData::GetVariantData',//类名::函数名
|
|
11466
|
-
Explain:'变量数据下载',JobID:jobItem.ID,Request:{Url:"数据地址",Type:'POST',Data:{VariantName:jobItem.VariantName,symbol:this.Symbol,daterange:dateRange}},Self:this,PreventDefault:false};this.NetworkFilter(obj,function(recvData){if(recvData.Error){self.AddStockValueError(key,recvData.Error);}else{var dataType=0;if(IFrameSplitOperator.IsNumber(recvData.DataType))dataType=recvData.DataType;self.RecvStockValue(recvData.Data,jobItem,key,dataType);}self.Execute.RunNextJob();});if(obj.PreventDefault==true)return;//已被上层替换,不调用默认的网络请求
|
|
11467
|
-
}var errorCallback=function errorCallback(strError){self.AddStockValueError(key,strError);};var apiDownload;if(jobItem.VariantName=="CAPITAL"||jobItem.VariantName=="TOTALCAPITAL"||jobItem.VariantName=="EXCHANGE"){var callback=function callback(recvData,jobItem,key){self.RecvStockValue(recvData,jobItem,key,0);self.Execute.RunNextJob();};apiDownload=new DownloadFinanceData({Job:jobItem,Symbol:this.Symbol,Url:this.StockHistoryDayApiUrl,RealtimeUrl:this.RealtimeApiUrl,Args:[jobItem.VariantName],DataKey:key,Callback:callback,ErrorCallback:errorCallback});}else if(jobItem.VariantName=="HYBLOCK"||jobItem.VariantName=="DYBLOCK"||jobItem.VariantName=="GNBLOCK"){var callback=function callback(recvData,jobItem,key,dataType){self.RecvStockValue(recvData,jobItem,key,dataType);self.Execute.RunNextJob();};apiDownload=new DownloadGroupData({Job:jobItem,Symbol:this.Symbol,Url:this.StockHistoryDayApiUrl,RealtimeUrl:this.RealtimeApiUrl,Args:[jobItem.VariantName],DataKey:key,Callback:callback,ErrorCallback:errorCallback});}else if(jobItem.VariantName=="INBLOCK"){var errorMessage=jobItem.VariantName+', \u8BF7\u5BF9\u63A5\u5916\u90E8\u6570\u636E.';this.AddStockValueError(key,errorMessage);this.Execute.RunNextJob();return;}else{var errorMessage='\u4E0D\u652F\u6301\u53D8\u91CF'+jobItem.VariantName+', \u8BF7\u5BF9\u63A5\u5916\u90E8\u6570\u636E.';this.AddStockValueError(key,errorMessage);this.Execute.RunNextJob();return;}apiDownload.Download();};//自定义变量数据下载
|
|
11597
|
+
Explain:'变量数据下载',JobID:jobItem.ID,Request:{Url:"数据地址",Type:'POST',Data:{VariantName:jobItem.VariantName,symbol:this.Symbol,daterange:dateRange}},Self:this,PreventDefault:false};this.NetworkFilter(obj,function(recvData){if(recvData.Error){self.AddStockValueError(key,recvData.Error);}else{var dataType=0;if(IFrameSplitOperator.IsNumber(recvData.DataType))dataType=recvData.DataType;self.RecvStockValue(recvData.Data,jobItem,key,dataType,recvData);}self.Execute.RunNextJob();});if(obj.PreventDefault==true)return;//已被上层替换,不调用默认的网络请求
|
|
11598
|
+
}var errorCallback=function errorCallback(strError){self.AddStockValueError(key,strError);};var apiDownload;if(jobItem.VariantName=="CAPITAL"||jobItem.VariantName=="TOTALCAPITAL"||jobItem.VariantName=="EXCHANGE"||jobItem.VariantName=="HSL"){var callback=function callback(recvData,jobItem,key){self.RecvStockValue(recvData,jobItem,key,0);self.Execute.RunNextJob();};apiDownload=new DownloadFinanceData({Job:jobItem,Symbol:this.Symbol,Url:this.StockHistoryDayApiUrl,RealtimeUrl:this.RealtimeApiUrl,Args:[jobItem.VariantName],DataKey:key,Callback:callback,ErrorCallback:errorCallback});}else if(jobItem.VariantName=="HYBLOCK"||jobItem.VariantName=="DYBLOCK"||jobItem.VariantName=="GNBLOCK"){var callback=function callback(recvData,jobItem,key,dataType){self.RecvStockValue(recvData,jobItem,key,dataType);self.Execute.RunNextJob();};apiDownload=new DownloadGroupData({Job:jobItem,Symbol:this.Symbol,Url:this.StockHistoryDayApiUrl,RealtimeUrl:this.RealtimeApiUrl,Args:[jobItem.VariantName],DataKey:key,Callback:callback,ErrorCallback:errorCallback});}else if(jobItem.VariantName=="INBLOCK"){var errorMessage=jobItem.VariantName+', \u8BF7\u5BF9\u63A5\u5916\u90E8\u6570\u636E.';this.AddStockValueError(key,errorMessage);this.Execute.RunNextJob();return;}else{var errorMessage='\u4E0D\u652F\u6301\u53D8\u91CF'+jobItem.VariantName+', \u8BF7\u5BF9\u63A5\u5916\u90E8\u6570\u636E.';this.AddStockValueError(key,errorMessage);this.Execute.RunNextJob();return;}apiDownload.Download();};//自定义变量数据下载
|
|
11468
11599
|
this.GetCustomVariantData=function(jobItem){var key=jobItem.VariantName;if(this.StockData.has(key))return this.Execute.RunNextJob();var variantInfo=g_JSComplierResource.CustomVariant.Data.get(key);var self=this;if(this.NetworkFilter){var dateRange=this.Data.GetDateRange();var obj={Name:'JSSymbolData::GetCustomVariantData',//类名::函数名
|
|
11469
11600
|
Explain:'自定义变量数据下载',JobID:jobItem.ID,Request:{Url:"数据地址",Type:'POST',Data:{VariantName:jobItem.VariantName,symbol:this.Symbol,daterange:dateRange,period:this.Period,right:this.Right}},Self:this,VariantInfo:variantInfo,PreventDefault:false};this.NetworkFilter(obj,function(recvData){if(recvData.Error)self.AddStockValueError(key,recvData.Error);else self.RecvStockValue(recvData.Data,jobItem,key,recvData.DataType);self.Execute.RunNextJob();});}else{this.AddStockValueError(key,'\u81EA\u5B9A\u4E49\u53D8\u91CF'+key+'\u4E0B\u8F7D\u5931\u8D25');this.Execute.RunNextJob();}};this.GetCustomFunctionData=function(jobItem){var key=jobItem.FunctionName;var functionInfo=g_JSComplierResource.CustomFunction.Data.get(key);if(!functionInfo.IsDownload)return this.Execute.RunNextJob();if(this.StockData.has(key))return this.Execute.RunNextJob();//一个函数只能缓存一个数据, 保存多个外部自己保存
|
|
11470
11601
|
var self=this;if(this.NetworkFilter){var dateRange=this.Data.GetDateRange();var obj={Name:'JSSymbolData::GetCustomFunctionData',//类名::函数名
|
|
@@ -11472,11 +11603,12 @@ Explain:'自定义函数数据下载',JobID:jobItem.ID,Request:{Url:"数据地
|
|
|
11472
11603
|
period:this.Period,right:this.Right}},Self:this,FunctionInfo:functionInfo,PreventDefault:false};this.NetworkFilter(obj,function(recvData){if(recvData.Error)self.AddStockValueError(key,recvData.Error);else self.RecvStockValue(recvData.Data,jobItem,key,recvData.DataType);self.Execute.RunNextJob();});}else{this.AddStockValueError(key,'\u81EA\u5B9A\u4E49\u51FD\u6570'+key+'\u4E0B\u8F7D\u5931\u8D25');this.Execute.RunNextJob();}};this.GetCustomFunctionDataV2=function(jobItem){var funcName=jobItem.FunctionName;var functionInfo=g_JSComplierResource.CustomDataFunction.Data.get(funcName);if(!functionInfo)return;var aryArgs=this.JobArgumentsToArray(jobItem,functionInfo.ArgCount);var key=this.GetStockDataKey(jobItem,aryArgs);if(this.StockData.has(key))return this.Execute.RunNextJob();//一个函数只能缓存一个数据, 保存多个外部自己保存
|
|
11473
11604
|
var self=this;if(this.NetworkFilter){var dateRange=this.Data.GetDateRange();var obj={Name:'JSSymbolData::GetCustomFunctionData',//类名::函数名
|
|
11474
11605
|
Explain:'自定义函数数据下载',JobID:jobItem.ID,Request:{Url:"数据地址",Type:'POST',Data:{FunctionName:jobItem.FunctionName,symbol:this.Symbol,daterange:dateRange,JobItem:jobItem,//函数编译信息
|
|
11475
|
-
Key:key,period:this.Period,right:this.Right}},Self:this,FunctionInfo:functionInfo,PreventDefault:false};this.NetworkFilter(obj,function(recvData){if(recvData.Error)self.AddStockValueError(key,recvData.Error);else self.RecvStockValue(recvData.Data,jobItem,key,recvData.DataType);self.Execute.RunNextJob();});}else{this.AddStockValueError(key,'\u81EA\u5B9A\u4E49\u51FD\u6570'+key+'\u4E0B\u8F7D\u5931\u8D25');this.Execute.RunNextJob();}};this.RecvStockValue=function(recvData,jobItem,key,dataType){if(!recvData){JSConsole.Complier.Log('[JSSymbolData::RecvStockValue] key='+key+' data is null');return;}if(dataType==0){if(Array.isArray(recvData)){var kdata=this.Data;//K线
|
|
11606
|
+
Key:key,period:this.Period,right:this.Right}},Self:this,FunctionInfo:functionInfo,PreventDefault:false};this.NetworkFilter(obj,function(recvData){if(recvData.Error)self.AddStockValueError(key,recvData.Error);else self.RecvStockValue(recvData.Data,jobItem,key,recvData.DataType);self.Execute.RunNextJob();});}else{this.AddStockValueError(key,'\u81EA\u5B9A\u4E49\u51FD\u6570'+key+'\u4E0B\u8F7D\u5931\u8D25');this.Execute.RunNextJob();}};this.RecvStockValue=function(recvData,jobItem,key,dataType,srcData){if(!recvData){JSConsole.Complier.Log('[JSSymbolData::RecvStockValue] key='+key+' data is null');return;}if(dataType==0){if(Array.isArray(recvData)){var kdata=this.Data;//K线
|
|
11476
11607
|
var aryFittingData;if(this.DataType==HQ_DATA_TYPE.KLINE_ID){if(ChartData.IsDayPeriod(this.Period,true))aryFittingData=kdata.GetFittingFinanceData(recvData);//数据和主图K线拟合
|
|
11477
11608
|
else if(ChartData.IsMinutePeriod(this.Period,true))aryFittingData=kdata.GetMinuteFittingFinanceData(recvData);//数据和主图K线拟合
|
|
11478
11609
|
else return;}else{aryFittingData=kdata.GetMinuteFittingFinanceData(recvData);//数据和主图分时拟合
|
|
11479
|
-
}var bindData=new ChartData();bindData.Data=aryFittingData;var result=bindData.GetValue();
|
|
11610
|
+
}var bindData=new ChartData();bindData.Data=aryFittingData;var result=bindData.GetValue();var bVersion2=srcData&&srcData.Ver==2;//2.0 版本
|
|
11611
|
+
if(!bVersion2&&(key=="EXCHANGE"||key=="HSL"))//计算换手率=成交量/流通股本*100
|
|
11480
11612
|
{for(var i in result){var kitem=kdata.Data[i];if(IFrameSplitOperator.IsPlusNumber(result[i]))result[i]=kitem.Vol/result[i]*100;}}this.StockData.set(key,{Data:result});}else{this.StockData.set(key,{Data:recvData.Value});}}else if(dataType==1)//单数值
|
|
11481
11613
|
{this.StockData.set(key,{Data:recvData.Value});}else if(dataType==2){var kdata=this.Data;//K线
|
|
11482
11614
|
var aryFittingData;if(this.DataType==HQ_DATA_TYPE.KLINE_ID){if(ChartData.IsDayPeriod(this.Period,true))aryFittingData=kdata.GetFittingTradeData(recvData,0);//数据和主图K线拟合
|
|
@@ -11759,7 +11891,7 @@ this.ConstVarTable=new _map2.default([//个股数据
|
|
|
11759
11891
|
["BARPOS",null],//返回从第一根K线开始到当前的周期数
|
|
11760
11892
|
['CAPITAL',null],//流通股本(手)
|
|
11761
11893
|
["TOTALCAPITAL",null],//TOTALCAPITAL 当前总股本 手
|
|
11762
|
-
['EXCHANGE',null],//换手率
|
|
11894
|
+
['EXCHANGE',null],["HSL",null],//换手率
|
|
11763
11895
|
['SETCODE',null],//市场类型
|
|
11764
11896
|
['CODE',null],//品种代码
|
|
11765
11897
|
['STKNAME',null],//品种名称
|
|
@@ -11828,7 +11960,7 @@ case"ISUP"://收阳
|
|
|
11828
11960
|
case"ISDOWN"://收阴
|
|
11829
11961
|
return this.SymbolData.GetSymbolCacheData(name);case'VOLR':return this.SymbolData.GetVolRateCacheData(node);case"TR"://TR,求真实波幅.
|
|
11830
11962
|
return this.SymbolData.GetTRData(node);//大盘数据
|
|
11831
|
-
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":case'FROMOPEN':case"LARGEINTRDVOL":case"LARGEOUTTRDVOL":case"TRADENUM":case"TRADEINNUM":case"TRADEOUTNUM":case"LARGETRDINNUM":case"LARGETRDOUTNUM":case"CUR_BUYORDER":case"CUR_SELLORDER":case"ACTINVOL":case"ACTOUTVOL":case"BIDORDERVOL":case"BIDCANCELVOL":case"AVGBIDPX":case"OFFERORDERVOL":case"OFFERCANCELVOL":case"AVGOFFERPX":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"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.ThrowUnexpectedNode(node,'变量'+name+'不存在',name);};this.ReadCustomVariant=function(name,node){return this.SymbolData.GetStockCacheData({VariantName:name,Node:node});};//读取变量
|
|
11963
|
+
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"HSL":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":case'FROMOPEN':case"LARGEINTRDVOL":case"LARGEOUTTRDVOL":case"TRADENUM":case"TRADEINNUM":case"TRADEOUTNUM":case"LARGETRDINNUM":case"LARGETRDOUTNUM":case"CUR_BUYORDER":case"CUR_SELLORDER":case"ACTINVOL":case"ACTOUTVOL":case"BIDORDERVOL":case"BIDCANCELVOL":case"AVGBIDPX":case"OFFERORDERVOL":case"OFFERCANCELVOL":case"AVGOFFERPX":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"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.ThrowUnexpectedNode(node,'变量'+name+'不存在',name);};this.ReadCustomVariant=function(name,node){return this.SymbolData.GetStockCacheData({VariantName:name,Node:node});};//读取变量
|
|
11832
11964
|
this.ReadVariable=function(name,node){if(this.ConstVarTable.has(name)){var data=this.ConstVarTable.get(name);if(data==null)//动态加载,用到再加载
|
|
11833
11965
|
{data=this.ReadSymbolData(name,node);this.ConstVarTable.set(name,data);}return data;}if(g_JSComplierResource.IsCustomVariant(name))return this.ReadCustomVariant(name,node);//读取自定义变量
|
|
11834
11966
|
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;};//单数据转成数组 个数和历史数据一致
|
|
@@ -11900,8 +12032,7 @@ this.ConstVarTable=new _map2.default([//个股数据
|
|
|
11900
12032
|
['INDEXA',"大盘成交额"],['INDEXC',"大盘收盘价"],['INDEXH',"大盘最高价"],['INDEXL',"大盘最低价"],['INDEXO',"大盘开盘价"],['INDEXV',"大盘成交量"],['INDEXADV',"大盘上涨家数"],['INDEXDEC',"´大盘下跌家数"],["ADVANCE","上涨家数"],['DECLINE',"下跌家数"],['FROMOPEN',"当前离开盘分钟数"],['TOTALFZNUM',"总分钟数"],['CURRBARSCOUNT',"到最后交易的周期"],//到最后交易日的周期数
|
|
11901
12033
|
['TOTALBARSCOUNT',"总的周期数"],['ISLASTBAR',"是否是最后一个周期"],//判断是否为最后一个周期
|
|
11902
12034
|
['BARSTATUS',"数据位置状态"],//BARSTATUS返回数据位置信息,1表示第一根K线,2表示最后一个数据,0表示中间位置.
|
|
11903
|
-
['CAPITAL',"当前流通股本(手)"],["TOTALCAPITAL","当前总股本(手)"],['EXCHANGE',"换手率"]
|
|
11904
|
-
['SETCODE',"市场类型"],//市场类型
|
|
12035
|
+
['CAPITAL',"当前流通股本(手)"],["TOTALCAPITAL","当前总股本(手)"],['EXCHANGE',"换手率"],['HSL',"换手线"],['SETCODE',"市场类型"],//市场类型
|
|
11905
12036
|
['CODE',"品种代码"],//品种代码
|
|
11906
12037
|
['STKNAME',"品种名称"],//品种名称
|
|
11907
12038
|
["TQFLAG","当前复权状态"],//TQFLAG 当前的复权状态,0:无复权 1:前复权 2:后复权
|
|
@@ -12368,6 +12499,7 @@ if(self.FinishCallback)self.FinishCallback(result,param.JSExecute);};}ScriptInde
|
|
|
12368
12499
|
{JSComplier.SetDomain(domain,cacheDomain);};function DownloadFinanceData(obj){this.Url=obj.Url;this.RealtimeUrl=obj.RealtimeUrl;this.Job=obj.Job;this.Symbol=obj.Symbol;this.Args=obj.Args;this.DataKey=obj.DataKey;this.RecvCallback=obj.Callback;this.ErrorCallback=obj.ErrorCallback;this.Download=function(){var id=this.Args[0];switch(id){case 1://FINANCE(1) 总股本(随时间可能有变化) 股
|
|
12369
12500
|
case 7://FINANCE(7) 流通股本(随时间可能有变化) 股
|
|
12370
12501
|
case"EXCHANGE"://换手率
|
|
12502
|
+
case"HSL"://换手率
|
|
12371
12503
|
this.DownloadHistoryData(id);break;case 3:this.GetSymbolType(id);break;case 9://FINANCE(9) 资产负债率
|
|
12372
12504
|
case 18://FINANCE(18) 每股公积金
|
|
12373
12505
|
case 30://FINANCE(30) 净利润
|
|
@@ -12388,7 +12520,7 @@ this.DownloadRealtimeData=function(id){var self=this;var fieldList=this.GetField
|
|
|
12388
12520
|
JSNetwork.HttpRequest({url:this.RealtimeUrl,data:{"field":fieldList,"symbol":[this.Symbol],"condition":[],"start":0,"end":10},type:"post",dataType:"json",async:true,success:function success(recvData){var data=self.RealtimeDataToHQChartData(recvData);self.RecvCallback(data,self.Job,self.DataKey);}});};//历史数据
|
|
12389
12521
|
this.DownloadHistoryData=function(id){var self=this;var fieldList=this.GetFieldList();if(!fieldList){message=this.Job.FunctionName+'('+this.Args[0]+') can\'t support.';this.ErrorCallback(message);self.RecvCallback(null,self.Job,self.DataKey);return;}//请求数据
|
|
12390
12522
|
JSNetwork.HttpRequest({url:this.Url,data:{"field":fieldList,"symbol":[this.Symbol],"condition":[],"start":0,"end":200},type:"post",dataType:"json",async:true,success:function success(recvData){var data=self.ToHQChartData(recvData);if(data)//排序
|
|
12391
|
-
data.sort(function(a,b){return a.Date-b.Date;});self.RecvCallback(data,self.Job,self.DataKey);}});};this.GetFieldList=function(){var id=this.Args[0];switch(id){case 1:return["capital.total","capital.date"];case 7:return["capital.a","capital.date"];case"EXCHANGE":return["capital.a","capital.date"];case 9:return["finance.peruprofit","symbol","date"];case 18:return["finance.percreserve","symbol","date"];case 30:return["finance.nprofit","symbol","date"];case 32:return["finance.peruprofit","symbol","date"];case 33:return["finance.persearning","symbol","date"];case 34:return["finance.pernetasset","symbol","date"];case 38:return["finance.persearning","symbol","date"];case 40:return["capital.a","capital.date","symbol","date","price"];case 41:return["capital.total","capital.date","symbol","date","price"];case"CAPITAL":return["capital.a","capital.date","symbol","date"];case"TOTALCAPITAL":return["capital.total","capital.date","symbol","date"];case 42:return["company.releasedate","symbol","date"];case 43:return["dividendyield","symbol","date"];case 100:return["shareholder","symbol","date"];default:return null;}};//最新报告期数据
|
|
12523
|
+
data.sort(function(a,b){return a.Date-b.Date;});self.RecvCallback(data,self.Job,self.DataKey);}});};this.GetFieldList=function(){var id=this.Args[0];switch(id){case 1:return["capital.total","capital.date"];case 7:return["capital.a","capital.date"];case"HSL":case"EXCHANGE":return["capital.a","capital.date"];case 9:return["finance.peruprofit","symbol","date"];case 18:return["finance.percreserve","symbol","date"];case 30:return["finance.nprofit","symbol","date"];case 32:return["finance.peruprofit","symbol","date"];case 33:return["finance.persearning","symbol","date"];case 34:return["finance.pernetasset","symbol","date"];case 38:return["finance.persearning","symbol","date"];case 40:return["capital.a","capital.date","symbol","date","price"];case 41:return["capital.total","capital.date","symbol","date","price"];case"CAPITAL":return["capital.a","capital.date","symbol","date"];case"TOTALCAPITAL":return["capital.total","capital.date","symbol","date"];case 42:return["company.releasedate","symbol","date"];case 43:return["dividendyield","symbol","date"];case 100:return["shareholder","symbol","date"];default:return null;}};//最新报告期数据
|
|
12392
12524
|
this.RealtimeDataToHQChartData=function(recvData,id){if(!recvData.stock||recvData.stock.length!=1)return null;var stock=recvData.stock[0];var id=this.Args[0];var date=stock.date;switch(id){case 9:if(!stock.finance)return null;return{Date:date,Value:stock.finance.peruprofit};case 18:if(!stock.finance)return null;return{Date:date,Value:stock.finance.percreserve};case 30:if(!stock.finance)return null;return{Date:date,Value:stock.finance.nprofit};case 32:if(!stock.finance)return null;return{Date:date,Value:stock.finance.peruprofit};case 33:if(!stock.finance)return null;return{Date:date,Value:stock.finance.persearning};case 34:if(!stock.finance)return null;return{Date:date,Value:stock.finance.pernetasset};case 38:if(!stock.finance)return null;return{Date:date,Value:stock.finance.persearning};case 40://FINANCE(40) 流通市值
|
|
12393
12525
|
if(!stock.capital)return null;return{Date:date,Value:stock.capital.a*stock.price};//流通股*最新价格
|
|
12394
12526
|
case 41://FINANCE(41) 总市值
|
|
@@ -12398,7 +12530,8 @@ if(!stock.company)return null;{var releaseDate=stock.company.releasedate;var yea
|
|
|
12398
12530
|
case"TOTALCAPITAL":if(!stock.capital)return null;return{Date:date,Value:stock.capital.total/100};//当前流通股本 手
|
|
12399
12531
|
}};//历史数据转
|
|
12400
12532
|
this.ToHQChartData=function(recvData){if(!recvData.stock||recvData.stock.length!=1)return null;var aryData=[];var setDate=new _set2.default();//有重复数据 去掉
|
|
12401
|
-
var stock=recvData.stock[0];var id=this.Args[0];for(var i in stock.stockday){var item=stock.stockday[i];var hqchartItem=this.ToHQChartItemData(item,id);if(hqchartItem&&!setDate.has(hqchartItem.Date)){aryData.push(hqchartItem);setDate.add(hqchartItem.Date);}}return aryData;};this.ToHQChartItemData=function(item,id){if(!item)return null;var date=item.date;switch(id){case 1:if(!item.capital)return null;return{Date:date,Value:item.capital.total};case 7:case"
|
|
12533
|
+
var stock=recvData.stock[0];var id=this.Args[0];for(var i in stock.stockday){var item=stock.stockday[i];var hqchartItem=this.ToHQChartItemData(item,id);if(hqchartItem&&!setDate.has(hqchartItem.Date)){aryData.push(hqchartItem);setDate.add(hqchartItem.Date);}}return aryData;};this.ToHQChartItemData=function(item,id){if(!item)return null;var date=item.date;switch(id){case 1:if(!item.capital)return null;return{Date:date,Value:item.capital.total};case 7:case"HSL"://换手率
|
|
12534
|
+
case"EXCHANGE"://换手率 历史流通股本
|
|
12402
12535
|
if(!item.capital)return null;return{Date:date,Value:item.capital.a};default:return null;}};}function DownloadGroupData(obj){this.Url=obj.Url;this.RealtimeUrl=obj.RealtimeUrl;this.Job=obj.Job;this.Symbol=obj.Symbol;this.Args=obj.Args;this.DataKey=obj.DataKey;this.RecvCallback=obj.Callback;this.ErrorCallback=obj.ErrorCallback;this.Download=function(){var varName=this.Args[0];switch(varName){case"HYBLOCK":case"DYBLOCK":case"GNBLOCK":this.DownloadGroupName(varName);break;}};this.DownloadGroupName=function(blockType){var self=this;var field=["name","symbol"];if(blockType=="HYBLOCK")field.push("industry");else if(blockType=="DYBLOCK")field.push("region");else if(blockType=="GNBLOCK")field.push("concept");JSNetwork.HttpRequest({url:self.RealtimeUrl,data:{"field":field,"symbol":[this.Symbol]},type:"post",dataType:"json",async:true,success:function success(recvData){var data=self.RecvGroupName(recvData);self.RecvCallback(data,self.Job,self.DataKey,1);},error:function error(request){self.ErrorCallback(request);}});};this.RecvGroupName=function(recvData){if(!recvData.stock||recvData.stock.length!=1)return null;var stock=recvData.stock[0];var varName=this.Args[0];var value=null;if(varName=="HYBLOCK"){var industry=stock.industry;if(!industry)return null;var value;for(var i in industry){var item=industry[i];value=item.name;}}else if(varName=="DYBLOCK"){var region=stock.region;if(!region)return null;for(var i in region){var item=region[i];value=item.name;}}else if(varName=="GNBLOCK"){var concept=stock.concept;if(!concept)return null;value="";for(var i in concept){var item=concept[i];if(value.length>0)value+=' ';value+=item.name;}}return{Value:value};};}/* 测试例子
|
|
12403
12536
|
var code1='VARHIGH:IF(VAR1<=REF(HH,-1),REF(H,BARSLAST(VAR1>=REF(HH,1))),DRAWNULL),COLORYELLOW;';
|
|
12404
12537
|
var code2='VAR1=((SMA(MAX((CLOSE - LC),0),3,1) / SMA(ABS((CLOSE - LC)),3,1)) * 100);';
|
|
@@ -14645,7 +14778,7 @@ this.UpdateGroupData=function(){var index=0;for(index=0;index<this.IndexData.Dat
|
|
|
14645
14778
|
this.OnInputSearch=function(e){var strSearh=e.target.value;var aryIndex=[];var aryData=this.SeachIndex(strSearh);var setIndex=new _set2.default();for(var i=0;i<aryData.length;++i){var item=aryData[i];var key=item.ID+'-'+item.Type;setIndex.add(key);aryIndex.push(item);}//内置指标
|
|
14646
14779
|
var scriptData=new JSIndexScript();var result=scriptData.Search(strSearh);if(IFrameSplitOperator.IsNonEmptyArray(result)){for(var i=0;i<result.length;++i){var id=result[i];var key=id+'-0';if(setIndex.has(key))continue;var item={Name:id,ID:id,Type:0};aryIndex.push(item);}}this.UpdateTableData({AryIndex:aryIndex});};this.SeachIndex=function(strSearch){if(!this.IndexData||!IFrameSplitOperator.IsNonEmptyArray(this.IndexData.Data))return[];var aryData=[];var upperSearch=strSearch.toUpperCase();for(var i=0,j=0;i<this.IndexData.Data.length;++i){var groupItem=this.IndexData.Data[i];for(j=0;j<groupItem.AryIndex.length;++j){var item=groupItem.AryIndex[j];if(item.Name.indexOf(strSearch)>=0||item.Name.indexOf(upperSearch)>=0){aryData.push(item);}}}return aryData;};//配色修改
|
|
14647
14780
|
this.ReloadResource=function(option){this.TitleColor=g_JSChartResource.DialogSearchIndex.TitleColor;this.TitleBGColor=g_JSChartResource.DialogSearchIndex.TitleBGColor;this.BGColor=g_JSChartResource.DialogSearchIndex.BGColor;this.BorderColor=g_JSChartResource.DialogSearchIndex.BorderColor;this.IndexNameColor=g_JSChartResource.DialogSearchIndex.IndexNameColor;this.GroupNameColor=g_JSChartResource.DialogSearchIndex.GroupNameColor;this.InputTextColor=g_JSChartResource.DialogSearchIndex.InputTextColor;if(!this.DivDialog)return;this.UpdateStyle();};}JSDialogSearchIndex.GetDefaultIndexData=function(){var data={Name:"内置指标分类",Data:[{Group:{ID:"超买超卖型",Name:"超买超卖型"},AryIndex:[{Name:"ADTM 动态买卖气指标",ID:"ADTM",Type:0},//Type:0=系统指标 1=自定义通达信脚本 2=api指标 3=指标模板 4=交易系统 5=五彩K线
|
|
14648
|
-
{Name:"BIAS 乖离率",ID:"BIAS",Type:0},{Name:"BIAS36 三六乖离",ID:"BIAS36",Type:0},{Name:"BIAS_QL 乖离率-传统版",ID:"BIAS_QL",Type:0},{Name:"CCI 商品路径指标",ID:"CCI",Type:0},{Name:"FSL 分水岭",ID:"FSL",Type:0},{Name:"KDJ 随机指标",ID:"KDJ",Type:0},{Name:"MTM 动量线",ID:"MTM",Type:0},{Name:"OSC 变动速率线",ID:"OSC",Type:0},{Name:"RSI 相对强弱指标",ID:"RSI",Type:0},{Name:"ROC 变动率指标",ID:"ROC",Type:0},{Name:"WR 威廉指标",ID:"WR",Type:0}]},{Group:{ID:"趋势型",Name:"趋势型"},AryIndex:[{Name:"CHO 济坚指数",ID:"CHO",Type:0},{Name:"DMA 平均差",ID:"DMA",Type:0},{Name:"DMI 趋向指标",ID:"DMI",Type:0},{Name:"EMV 简易波动指标",ID:"EMV",Type:0},{Name:"MACD 平滑异同平均",ID:"MACD",Type:0},{Name:"TRIX 三重指数平均线",ID:"TRIX",Type:0},{Name:"UOS 终极指标",ID:"UOS",Type:0},{Name:"TRIX 三重指数平均线",ID:"TRIX",Type:0}]},{Group:{ID:"成交量型",Name:"成交量型"},AryIndex:[{Name:"HSL 换手率",ID:"HSL",Type:0},{Name:"OBV 累积能量线",ID:"OBV",Type:0},{Name:"NVI 负成交量",ID:"NVI",Type:0},{Name:"PVI 正成交量",ID:"PVI",Type:0},{Name:"VOL 成交量",ID:"VOL",Type:0}]},{Group:{ID:"均线型",Name:"均线型"},AryIndex:[{Name:"MA 均线",ID:"MA",Type:0},{Name:"BBI 多空线",ID:"BBI",Type:0}]},{Group:{ID:"路径型",Name:"路径型"},AryIndex:[{Name:"BOLL 布林线",ID:"BOLL",Type:0},{Name:"BOLL
|
|
14781
|
+
{Name:"BIAS 乖离率",ID:"BIAS",Type:0},{Name:"BIAS36 三六乖离",ID:"BIAS36",Type:0},{Name:"BIAS_QL 乖离率-传统版",ID:"BIAS_QL",Type:0},{Name:"CCI 商品路径指标",ID:"CCI",Type:0},{Name:"FSL 分水岭",ID:"FSL",Type:0},{Name:"KDJ 随机指标",ID:"KDJ",Type:0},{Name:"MTM 动量线",ID:"MTM",Type:0},{Name:"OSC 变动速率线",ID:"OSC",Type:0},{Name:"RSI 相对强弱指标",ID:"RSI",Type:0},{Name:"ROC 变动率指标",ID:"ROC",Type:0},{Name:"WR 威廉指标",ID:"WR",Type:0},{Name:"UDL 引力线",ID:"UDL",Type:0},{Name:"LWR 威廉指标",ID:"LWR",Type:0},{Name:"MARSI 相对强弱平均线",ID:"MARSI",Type:0},{Name:"ACCER 幅度涨速",ID:"ACCER",Type:0},{Name:"CYD 承接因子",ID:"CYD",Type:0},{Name:"CYF 市场能量",ID:"CYF",Type:0},{Name:"ADTM 动态买卖气指标",ID:"ADTM",Type:0},{Name:"ATR 真实波幅",ID:"ATR",Type:0},{Name:"DKX 多空线",ID:"DKX",Type:0},{Name:"TAPI 加权指数成交值",ID:"TAPI",Type:0}]},{Group:{ID:"趋势型",Name:"趋势型"},AryIndex:[{Name:"CHO 济坚指数",ID:"CHO",Type:0},{Name:"DMA 平均差",ID:"DMA",Type:0},{Name:"DMI 趋向指标",ID:"DMI",Type:0},{Name:"EMV 简易波动指标",ID:"EMV",Type:0},{Name:"MACD 平滑异同平均",ID:"MACD",Type:0},{Name:"TRIX 三重指数平均线",ID:"TRIX",Type:0},{Name:"UOS 终极指标",ID:"UOS",Type:0},{Name:"TRIX 三重指数平均线",ID:"TRIX",Type:0},{Name:"VMACD 量平滑异同平均",ID:"VMACD",Type:0},{Name:"VMACD 量平滑异同平均",ID:"VMACD",Type:0},{Name:"SMACD 单线平滑异同平均线",ID:"SMACD",Type:0},{Name:"QACD 快速异同平均",ID:"QACD",Type:0},{Name:"VPT 量价曲线",ID:"VPT",Type:0},{Name:"WVAD 威廉变异离散量",ID:"WVAD",Type:0},{Name:"DBQR 对比强弱",ID:"DBQR",Type:0},{Name:"WVAD 威廉变异离散量",ID:"WVAD",Type:0},{Name:"JS 加速线",ID:"JS",Type:0},{Name:"CYE 市场趋势",ID:"CYE",Type:0},{Name:"QR 强弱指标",ID:"QR",Type:0},{Name:"GDX 轨道线",ID:"GDX",Type:0},{Name:"JLHB 绝路航标",ID:"JLHB",Type:0}]},{Group:{ID:"成交量型",Name:"成交量型"},AryIndex:[{Name:"HSL 换手率",ID:"HSL",Type:0},{Name:"OBV 累积能量线",ID:"OBV",Type:0},{Name:"NVI 负成交量",ID:"NVI",Type:0},{Name:"PVI 正成交量",ID:"PVI",Type:0},{Name:"VOL 成交量",ID:"VOL",Type:0},{Name:"VOL-TDX 成交量(虚拟)",ID:"VOL-TDX",Type:0},{Name:"AMO 成交金额",ID:"AMO",Type:0},{Name:"AMO-TDX 成交金额(虚拟)",ID:"AMO-TDX",Type:0},{Name:"VRSI 相对强弱量",ID:"VRSI",Type:0},{Name:"HSCOL 换手柱",ID:"HSCOL",Type:0},{Name:"DBQRV 对比强弱量",ID:"DBQRV",Type:0},{Name:"DBLB 对比量比",ID:"DBLB",Type:0},{Name:"WSBVOL 维斯波成交量",ID:"WSBVOL",Type:0},{Name:"CCYD 持仓异动(适用于期货)",ID:"CCYD",Type:0},{Name:"CCL 持仓量(适用于期货)",ID:"CCL",Type:0}]},{Group:{ID:"均线型",Name:"均线型"},AryIndex:[{Name:"MA 均线",ID:"MA",Type:0},{Name:"MA4 4根均线",ID:"MA4",Type:0},{Name:"MA5 5根均线",ID:"MA5",Type:0},{Name:"MA7 6根均线",ID:"MA6",Type:0},{Name:"MA7 7根均线",ID:"MA7",Type:0},{Name:"MA8 8根均线",ID:"MA8",Type:0},{Name:"BBI 多空线",ID:"BBI",Type:0},{Name:"ACD 升降线",ID:"ACD",Type:0},{Name:"EXPMA 指数平均线",ID:"EXPMA",Type:0},{Name:"EXPMA_S 指数平均线-副图",ID:"EXPMA_S",Type:0},{Name:"HMA 高价平均线",ID:"HMA",Type:0},{Name:"LMA 低价平均线",ID:"LMA",Type:0},{Name:"VMA 变异平均线",ID:"VMA",Type:0},{Name:"AMV 成本价均线",ID:"AMV",Type:0},{Name:"BBIBOLL 多空布林线",ID:"BBIBOLL",Type:0},{Name:"ALLIGAT 鳄鱼线",ID:"ALLIGAT",Type:0},{Name:"GMMA 顾比均线",ID:"GMMA",Type:0}]},{Group:{ID:"路径型",Name:"路径型"},AryIndex:[{Name:"BOLL 布林线",ID:"BOLL",Type:0},{Name:"BOLL 布林线-副图",ID:"BOLL副图",Type:0},{Name:"MIKE 麦克支撑压力",ID:"MIKE",Type:0},{Name:"ENE 轨道线",ID:"ENE",Type:0},{Name:"PBX 瀑布线",ID:"PBX",Type:0},{Name:"XS 薛斯通道",ID:"XS",Type:0},{Name:"XS2 薛斯通道II",ID:"XS2",Type:0},{Name:"DC 唐奇安通道",ID:"DC",Type:0}]},{Group:{ID:"能量型",Name:"能量型"},AryIndex:[{Name:"BRAR 情绪指标",ID:"BRAR",Type:0},{Name:"CYR 市场强弱",ID:"CYR",Type:0},{Name:"MASS 梅斯线",ID:"MASS",Type:0},{Name:"PSY 心理线",ID:"PSY",Type:0},{Name:"CR 带状能量线",ID:"CR",Type:0},{Name:"VR 成交量变异率",ID:"VR",Type:0},{Name:"WAD 威廉多空力度线",ID:"WAD",Type:0},{Name:"PCNT 幅度比",ID:"PCNT",Type:0}]},{Group:{ID:"大势型",Name:"大势型"},AryIndex:[{Name:"ABI 绝对广量指标",ID:"ABI",Type:0},{Name:"ADL 腾落指标",ID:"ADL",Type:0}]},{Group:{ID:"五彩K线",Name:"五彩K线"},AryIndex:[{Name:"五彩K线-十字星",ID:"五彩K线-十字星",Type:5},{Name:"五彩K线-早晨之星",ID:"五彩K线-早晨之星",Type:5},{Name:"五彩K线-黄昏之星",ID:"五彩K线-黄昏之星",Type:5},{Name:"五彩K线-长十字",ID:"五彩K线-长十字",Type:5},{Name:"五彩K线-身怀六甲",ID:"五彩K线-身怀六甲",Type:5},{Name:"五彩K线-三个白武士",ID:"五彩K线-三个白武士",Type:5},{Name:"五彩K线-三只乌鸦",ID:"五彩K线-三只乌鸦",Type:5},{Name:"五彩K线-光头阳线",ID:"五彩K线-光头阳线",Type:5},{Name:"五彩K线-光脚阴线",ID:"五彩K线-光脚阴线线",Type:5},{Name:"五彩K线-垂死十字",ID:"五彩K线-垂死十字",Type:5},{Name:"五彩K线-早晨十字星",ID:"五彩K线-早晨十字星",Type:5},{Name:"五彩K线-黄昏十字星",ID:"五彩K线-黄昏十字星",Type:5},{Name:"五彩K线-射击之星",ID:"五彩K线-射击之星",Type:5},{Name:"五彩K线-倒转锤头",ID:"五彩K线-倒转锤头",Type:5},{Name:"五彩K线-锤头",ID:"五彩K线-锤头",Type:5},{Name:"五彩K线-吊颈",ID:"五彩K线-吊颈星",Type:5},{Name:"五彩K线-穿头破脚",ID:"五彩K线-穿头破脚",Type:5},{Name:"五彩K线-出水芙蓉",ID:"五彩K线-出水芙蓉",Type:5},{Name:"五彩K线-乌云盖顶",ID:"五彩K线-乌云盖顶",Type:5},{Name:"五彩K线-曙光初现",ID:"五彩K线-曙光初现",Type:5},{Name:"五彩K线-十字胎",ID:"五彩K线-十字胎",Type:5},{Name:"五彩K线-剑",ID:"五彩K线-剑",Type:5},{Name:"五彩K线-平顶",ID:"五彩K线-平顶",Type:5},{Name:"五彩K线-平底",ID:"五彩K线-平底",Type:5},{Name:"五彩K线-大阳烛",ID:"五彩K线-大阳烛",Type:5},{Name:"五彩K线-大阴烛",ID:"五彩K线-大阴烛",Type:5},{Name:"五彩K线-好友反攻",ID:"五彩K线-好友反攻",Type:5},{Name:"五彩K线-跳空缺口",ID:"五彩K线-跳空缺口",Type:5},{Name:"五彩K线-双飞乌鸦",ID:"五彩K线-双飞乌鸦",Type:5},{Name:"五彩K线-上升三部曲",ID:"五彩K线-上升三部曲",Type:5},{Name:"五彩K线-下跌三部曲",ID:"五彩K线-下跌三部曲",Type:5},{Name:"五彩K线-长下影",ID:"五彩K线-长下影",Type:5},{Name:"五彩K线-长上影",ID:"五彩K线-长上影",Type:5},{Name:"五彩K线-分离",ID:"五彩K线-分离",Type:5}]},{Group:{ID:"交易系统",Name:"交易系统"},AryIndex:[{Name:"交易系统-BIAS",ID:"交易系统-BIAS",Type:4},{Name:"交易系统-CCI",ID:"交易系统-CCI",Type:4},{Name:"交易系统-DMI",ID:"交易系统-DMI",Type:4},{Name:"交易系统-KD",ID:"交易系统-KD",Type:4},{Name:"交易系统-BOLL",ID:"交易系统-BOLL",Type:4},{Name:"交易系统-KDJ",ID:"交易系统-KDJ",Type:4},{Name:"交易系统-MACD",ID:"交易系统-MACD",Type:4},{Name:"交易系统-KD",ID:"交易系统-KD",Type:4},{Name:"交易系统-MTM",ID:"交易系统-MTM",Type:4},{Name:"交易系统-PSY",ID:"交易系统-PSY",Type:4},{Name:"交易系统-ROC",ID:"交易系统-ROC",Type:4},{Name:"交易系统-RSI",ID:"交易系统-RSI",Type:4},{Name:"交易系统-VR",ID:"交易系统-VR",Type:4},{Name:"交易系统-DPSJ",ID:"交易系统-DPSJ",Type:4}]},{Group:{ID:"自定义",Name:"自定义"},AryIndex:[{Name:"收盘线(后台指标)",ID:"CLOSE_LINE",Type:2,Args:null},(0,_defineProperty3.default)({Name:"高低均价(自定义脚本)",ID:"HIGH_LOW_AV",Type:1,Args:null,Script:"均价:(H+L)/2;高:H;低:L;"},'Args',[{Name:'N',Value:20},{Name:'M',Value:6}])]},{Group:{ID:"组合指标",Name:"组合指标"},AryIndex:[{Name:"BOLL+ENE+KDJ",ID:"9E154D3C-A4D4-40DD-8D8F-2C499F35E31B",Type:3,TemplateData:{Windows:[{Index:"BOLL"},{Index:"ENE"},{Index:"KDJ"}]}},{Name:"MA_OSC+DPO_RSI",ID:"E828DD1C-D41B-4888-9CB5-4CA1D84F7B50",Type:3,TemplateData:{Windows:[//{ API:{ Name:"后台指标ID", ID:"后台指标ID", Url:'local' } },
|
|
14649
14782
|
{Index:'MA'},{Index:"DPO"}],OverlayIndex://叠加指标设置
|
|
14650
14783
|
[{Index:'OSC',Windows:0//IsShareY:true,ShowRightText:false
|
|
14651
14784
|
},{Index:'RSI',Windows:1//ShowRightText:false
|
|
@@ -14698,7 +14831,7 @@ hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,St
|
|
|
14698
14831
|
this.ExecuteScript(item,data);}this.Status=0;}};this.OnExecuteFinish=function(data,indexInfo,jsExectute,jobInfo){var message={Data:data,IndexInfo:indexInfo,ID:JSCHART_WORKER_MESSAGE_ID.FINISH_EXECUTE_SCRIPT,JobInfo:jobInfo};postMessage(message);};this.OnExecuteError=function(error,indexInfo,jobData){var message={IndexInfo:indexInfo,ID:JSCHART_WORKER_MESSAGE_ID.ERROR_EXECUTE_SCRIPT,Error:error};postMessage(message);};}/********************************************************************************
|
|
14699
14832
|
* 版本信息输出
|
|
14700
14833
|
*
|
|
14701
|
-
*/var HQCHART_VERSION="1.1.
|
|
14834
|
+
*/var HQCHART_VERSION="1.1.14590";function PrintHQChartVersion(){var logo='\n\n*************************************************************************************************************************************************************************** \n* \n* :%@@- \n* :@@@@- \n* =@@@@ :#@@@ .:+#@@@#=: :=*@@@@@@#+-. *@@@@. \n* :@@@@@ .@@@@@ .#@@@@@@@@@@@- +@@@@@@@@@@@@@+ @@@@@ -%@@* \n* +@@@@% #@@@@# *@@@@@@@@@@@@@@%. =@@@@@@@@@@@@@@@- @@@@@ -@@@@+ \n* %@@@@* @@@@@+ .%@@@@@@@@@@@@@@@@%: #@@@@@@@@@@@@@@@% @@@@# *@@@@= \n* @@@@@= @@@@@- .%@@@@@@@*++*%@@@@@@% .%@@@@@@@%*+==+**= -@@@@+ #@@@@- \n* @@@@@. @@@@@. #@@@@@%= =@@@@@@* %@@@@@@#: *@@@@- :::. .-+*###+: ::: .+##+: -%%@@@@@%%%% \n* .@@@@@ .@@@@@. +@@@@@% .@@@@@@ *@@@@@@: %@@@@: +@@@@@%. :%@@@@@@@@@@: *@@@ :@@@@@* @@@@@@@@@@@@ \n* :@@@@@ :@@@@@ @@@@@% :@@@@@+ @@@@@@: %@@@@-@@@@@@@@@. @@@@@@@@@@@@@. :@@@%-@@@@@@.:@@@@@@@@@@@# \n* -@@@@% -@@@@@ =@@@@@. %@@@@% %@@@@@- %@@@@@@@@@@@@@@* %@@@@@@@@@@@@+ -@@@@@@@@@@# -@@@@@@@@@@@. \n* +@@@@%=========#@@@@% @@@@@# :@@@@@ .@@@@@% @@@@@@@@%@@@@@@@ -%+:. .#@@@@* +@@@@@@@%%@. .::+@@@@#:: \n* #@@@@@@@@@@@@@@@@@@@# .@@@@@ .@@@@@ :@@@@@. @@@@@@#. #@@@@@. -@@@@* #@@@@@@: *@@@@+ \n* %@@@@@@@@@@@@@@@@@@@+ :@@@@@ .@@@@@ -@@@@@ @@@@@+ @@@@@. :@@@@* @@@@@% #@@@@- \n* @@@@@@@@@@@@@@@@@@@@: :@@@@% :@@@@@ +@@@@% -@@@@+ @@@@@ -@@@@+ @@@@@. @@@@@. \n* .@@@@@@@@@@@@@@@@@@@@ :@@@@% -@@@@% *@@@@% #@@@@. @@@@@ .=*#%%%@@@@@= :@@@@# @@@@@. \n* -@@@@@:::::::::=@@@@@ :@@@@@ @@@@@* +@@@@% @@@@@ @@@@% -#@@@@@@@@@@@@: -@@@@* @@@@@ \n* =@@@@% =@@@@% .@@@@@ :@@@@@. -@@@@% @@@@@ .@@@@* +@@@@@@@@@@@@@@. =@@@@+ .@@@@@ \n* +@@@@# +@@@@# @@@@@# %@@@@% :@@@@@ .@@@@% =@@@@= -@@@@@*-:..%@@@@ +@@@@= :@@@@# \n* *@@@@* *@@@@* +@@@@@: #@@@@@+ .@@@@@@ :@@@@% *@@@@- @@@@@. @@@@% #@@@@: =@@@@+ \n* %@@@@= %@@@@+ @@@@@@- .%@@@@@# #@@@@@# :@@@@% #@@@@: @@@@% @@@@* %@@@@. #@@@@- \n* @@@@@- @@@@@= =@@@@@@#=...-*@@@@@@@: @@@@@@%=. :+**. :@@@@* %@@@@. .@@@@* *@@@@= @@@@@ %@@@@+ \n* .@@@@@: .@@@@@: *@@@@@@@@@@@@@@@@@@@# =@@@@@@@@%%%@@@@@@ +@@@@- @@@@@ .@@@@@: :%@@@@@- .@@@@% %@@@@@*+- \n* :@@@@@ :@@@@@ +@@@@@@@@@@@@@@@@@@@# =@@@@@@@@@@@@@@@@% %@@@@ @@@@@ @@@@@@@@@@@@@@@: -@@@@* *@@@@@@@@- \n* =@@@@@ -@@@@@ :@@@@@@@@@@@@@@@@@@@# :@@@@@@@@@@@@@@@% @@@@@ %@@@% #@@@@@@@@@#@@@@. +@@@@- .@@@@@@@@# \n* *@@@@# =@@@@% :#@@@@@@@#: :@@@@@= =@@@@@@@@@@@+. @@@@@ :@@@+ *@@@@@@@- %@@@ *@@@= =@@@@@@@* \n* =++++- -++++= .:::. .=*+: :-=+++=:. ****= .=+. .-++=: :+++ -+=: .-=+=:. \n* \n* \n* HQChart \n* Ver: '+HQCHART_VERSION+' \n* License: Apache License 2.0 \n* Source: https://github.com/jones2000/HQChart\n*\n************************************************************************************************************************************************************************** \n ';console.log(logo);}PrintHQChartVersion();//把给外界调用的方法暴露出来
|
|
14702
14835
|
exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
|
|
14703
14836
|
// BaseIndex:BaseIndex,
|
|
14704
14837
|
// ChartLine:ChartLine,
|