hqchart 1.1.14576 → 1.1.14593
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 +212 -76
- 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 +289 -6
- package/src/jscommon/umychart.testdata.js +82 -1
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +480 -21
- 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 +552 -28
|
@@ -111,7 +111,7 @@ function JSIndexScript()
|
|
|
111
111
|
['VRSI',this.VRSI],['HSCOL',this.HSCOL],['DBQRV',this.DBQRV],['DBLB',this.DBLB],
|
|
112
112
|
['ACD',this.ACD],['EXPMA',this.EXPMA],['EXPMA_S',this.EXPMA_S],['HMA',this.HMA],
|
|
113
113
|
['LMA',this.LMA],['VMA',this.VMA],['AMV',this.AMV],['BBIBOLL',this.BBIBOLL],
|
|
114
|
-
['ALLIGAT',this.ALLIGAT],['ZX',this.ZX],['XS',this.XS],['XS2',this.XS2],
|
|
114
|
+
['ALLIGAT',this.ALLIGAT],["GMMA",this.GMMA],['ZX',this.ZX],['XS',this.XS],['XS2',this.XS2],
|
|
115
115
|
['SG-XDT',this.SG_XDT],['SG-SMX',this.SG_SMX],['SG-LB',this.SG_LB],['SG-PF',this.SG_PF],
|
|
116
116
|
['RAD',this.RAD],['SHT',this.SHT],['ZLJC',this.ZLJC],['ZLMM',this.ZLMM],['SLZT',this.SLZT],
|
|
117
117
|
['ADVOL',this.ADVOL],['CYC',this.CYC],['CYS',this.CYS],['CYQKL',this.CYQKL],
|
|
@@ -123,7 +123,8 @@ function JSIndexScript()
|
|
|
123
123
|
['神奇九转', this.NineTurns],
|
|
124
124
|
['EMA', this.EMA3], ['EMA4', this.EMA4], ['EMA5', this.EMA5],['EMA6', this.EMA6],
|
|
125
125
|
["ICHIMOKU",this.ICHIMOKU],["CDP-STD", this.CDP_STD],["TBP-STD",this.TBP_STD],
|
|
126
|
-
["ADX", this.ADX],
|
|
126
|
+
["ADX", this.ADX],["SMACD", this.SMACD],["ACCER",this.ACCER],["AMO-TDX", this.AMO_TDX],
|
|
127
|
+
["WSBVOL",this.WSBVOL], ["CCYD",this.CCYD], ["CCL",this.CCL],["ABI", this.ABI],
|
|
127
128
|
|
|
128
129
|
["持仓量", this.VOL_POSITION], //成交量+持仓量
|
|
129
130
|
|
|
@@ -143,11 +144,11 @@ function JSIndexScript()
|
|
|
143
144
|
|
|
144
145
|
["两融余额", this.Margin2],["两融余额2", this.Margin3],
|
|
145
146
|
|
|
146
|
-
|
|
147
|
-
['
|
|
148
|
-
['
|
|
149
|
-
['
|
|
150
|
-
['
|
|
147
|
+
//特色指标
|
|
148
|
+
['特色指标-操盘BS点',this.FXG_BSPoint],
|
|
149
|
+
['特色指标-涨停多空线',this.FXG_INDEX],
|
|
150
|
+
['特色指标-涨停吸筹区',this.FXG_INDEX2],
|
|
151
|
+
['特色指标-量能黄金点',this.FXG_INDEX3],
|
|
151
152
|
|
|
152
153
|
//五彩K线(函数COLOR_开头)
|
|
153
154
|
['五彩K线-十字星',this.COLOR_KSTAR1],['五彩K线-早晨之星',this.COLOR_KSTAR2],['五彩K线-黄昏之星',this.COLOR_KSTAR3],['五彩K线-长十字',this.COLOR_SHI1],
|
|
@@ -708,6 +709,28 @@ MAVOL2:MA(VOLUME,M2);'
|
|
|
708
709
|
return data;
|
|
709
710
|
}
|
|
710
711
|
|
|
712
|
+
|
|
713
|
+
JSIndexScript.prototype.AMO_TDX=function()
|
|
714
|
+
{
|
|
715
|
+
let data=
|
|
716
|
+
{
|
|
717
|
+
Name:'AMO-TDX', Description:'成交金额(虚拟)', IsMainIndex:false,FloatPrecision:0,
|
|
718
|
+
Args:[ { Name:'M1', Value:5}, { Name:'M2', Value:10} ],
|
|
719
|
+
Script: //脚本
|
|
720
|
+
'TOTAL:=IF(PERIOD=1,5,IF(PERIOD=2,15,IF(PERIOD=3,30,IF(PERIOD=4,60,IF(PERIOD=5,TOTALFZNUM,1)))));\n\
|
|
721
|
+
MTIME:=MOD(FROMOPEN,TOTAL);\n\
|
|
722
|
+
CTIME:=IF(MTIME<0.5,TOTAL,MTIME);\n\
|
|
723
|
+
VAMO:=IF((CURRBARSCOUNT=1 AND DYNAINFO(8)>1),AMOUNT/10000.0*TOTAL/CTIME,DRAWNULL);\n\
|
|
724
|
+
STICKLINE((CURRBARSCOUNT=1 AND DYNAINFO(8)>1),VAMO,0,-1,-1),COLOR00C0C0;\n\
|
|
725
|
+
AMOW:AMOUNT/10000.0,VOLSTICK;\n\
|
|
726
|
+
AMO1:MA(AMOW,M1);\n\
|
|
727
|
+
AMO2:MA(AMOW,M2);'
|
|
728
|
+
|
|
729
|
+
};
|
|
730
|
+
|
|
731
|
+
return data;
|
|
732
|
+
}
|
|
733
|
+
|
|
711
734
|
JSIndexScript.prototype.RSI=function()
|
|
712
735
|
{
|
|
713
736
|
let data=
|
|
@@ -1445,6 +1468,40 @@ MACD:DIF-DEA,COLORSTICK;'
|
|
|
1445
1468
|
return data;
|
|
1446
1469
|
}
|
|
1447
1470
|
|
|
1471
|
+
JSIndexScript.prototype.SMACD = function ()
|
|
1472
|
+
{
|
|
1473
|
+
let data =
|
|
1474
|
+
{
|
|
1475
|
+
Name: 'SMACD', Description: '单线平滑异同平均线', IsMainIndex: false,
|
|
1476
|
+
Args: [{ Name: 'SHORT', Value: 12 },{ Name: 'LONG', Value: 26 },{ Name: 'MID', Value: 9 }],
|
|
1477
|
+
Script: //脚本
|
|
1478
|
+
'DIF:=EMA(CLOSE,SHORT)-EMA(CLOSE,LONG);\n\
|
|
1479
|
+
DEA:EMA(DIF,MID);\n\
|
|
1480
|
+
MACD:DIF,COLORSTICK;'
|
|
1481
|
+
|
|
1482
|
+
};
|
|
1483
|
+
|
|
1484
|
+
return data;
|
|
1485
|
+
}
|
|
1486
|
+
|
|
1487
|
+
|
|
1488
|
+
JSIndexScript.prototype.ACCER = function ()
|
|
1489
|
+
{
|
|
1490
|
+
let data =
|
|
1491
|
+
{
|
|
1492
|
+
Name: 'ACCER', Description: '幅度涨速', IsMainIndex: false,
|
|
1493
|
+
Args: [{ Name: 'N', Value: 8 }],
|
|
1494
|
+
Script: //脚本
|
|
1495
|
+
'ACCER:SLOPE(CLOSE,N)/CLOSE;'
|
|
1496
|
+
|
|
1497
|
+
};
|
|
1498
|
+
|
|
1499
|
+
return data;
|
|
1500
|
+
}
|
|
1501
|
+
|
|
1502
|
+
|
|
1503
|
+
|
|
1504
|
+
|
|
1448
1505
|
JSIndexScript.prototype.QACD = function ()
|
|
1449
1506
|
{
|
|
1450
1507
|
let data =
|
|
@@ -1869,6 +1926,32 @@ JSIndexScript.prototype.ALLIGAT = function ()
|
|
|
1869
1926
|
return data;
|
|
1870
1927
|
}
|
|
1871
1928
|
|
|
1929
|
+
|
|
1930
|
+
JSIndexScript.prototype.GMMA = function ()
|
|
1931
|
+
{
|
|
1932
|
+
let data =
|
|
1933
|
+
{
|
|
1934
|
+
Name: 'GMMA', Description: '顾比均线', IsMainIndex: true,
|
|
1935
|
+
Args: [],
|
|
1936
|
+
Script: //脚本
|
|
1937
|
+
'MA3:EMA(CLOSE,3),COLORC08080;\n\
|
|
1938
|
+
MA5:EMA(CLOSE,5),COLORC08080;\n\
|
|
1939
|
+
MA8:EMA(CLOSE,8),COLORC08080;\n\
|
|
1940
|
+
MA10:EMA(CLOSE,10),COLORC08080;\n\
|
|
1941
|
+
MA12:EMA(CLOSE,12),COLORC08080;\n\
|
|
1942
|
+
MA15:EMA(CLOSE,15),COLORC08080;\n\
|
|
1943
|
+
MA30:EMA(CLOSE,30),COLOR0080FF;\n\
|
|
1944
|
+
MA35:EMA(CLOSE,35),COLOR0080FF;\n\
|
|
1945
|
+
MA40:EMA(CLOSE,40),COLOR0080FF;\n\
|
|
1946
|
+
MA45:EMA(CLOSE,45),COLOR0080FF;\n\
|
|
1947
|
+
MA50:EMA(CLOSE,50),COLOR0080FF;\n\
|
|
1948
|
+
MA60:EMA(CLOSE,60),COLOR0080FF;'
|
|
1949
|
+
|
|
1950
|
+
};
|
|
1951
|
+
|
|
1952
|
+
return data;
|
|
1953
|
+
}
|
|
1954
|
+
|
|
1872
1955
|
JSIndexScript.prototype.ZX = function ()
|
|
1873
1956
|
{
|
|
1874
1957
|
let data =
|
|
@@ -3905,6 +3988,94 @@ B:=REF(LLV(CLOSE,N),1);
|
|
|
3905
3988
|
}
|
|
3906
3989
|
|
|
3907
3990
|
|
|
3991
|
+
JSIndexScript.prototype.WSBVOL = function()
|
|
3992
|
+
{
|
|
3993
|
+
let data =
|
|
3994
|
+
{
|
|
3995
|
+
Name: 'WSBVOL', Description: '维斯波成交量', IsMainIndex: false,
|
|
3996
|
+
Script: //脚本
|
|
3997
|
+
`UPTJ1:=CLOSE>REF(CLOSE,1);
|
|
3998
|
+
UPTJ2:=(CLOSE==REF(CLOSE,1) && REF(CLOSE,1)>REF(CLOSE,2));
|
|
3999
|
+
UPTJ3:=MAX(OPEN,CLOSE)<REF(C,BARSLAST(CLOSE>REF(CLOSE,1))) AND MIN(OPEN,CLOSE)>REF(O,BARSLAST(CLOSE>REF(CLOSE,1)));
|
|
4000
|
+
UPTJ4:=NOT (H<REF(H,1) AND L<REF(L,1));
|
|
4001
|
+
UP:=(UPTJ1 || UPTJ2 || UPTJ3) AND UPTJ4;
|
|
4002
|
+
DOWN:=NOT(UP);
|
|
4003
|
+
M1:=BARSLASTCOUNT(UP);
|
|
4004
|
+
N1:=BARSLASTCOUNT(DOWN);
|
|
4005
|
+
CZB:=IF(M1=1 OR N1=1,2*INTPART(VOL*100/10000),INTPART(VOL*100/10000));
|
|
4006
|
+
SZ:=IF(M1>0,SUM(CZB,M1),-1*SUM(CZB,N1));
|
|
4007
|
+
GY:=IF(N1>0,SUM(CZB,N1),0);
|
|
4008
|
+
XQ:=IF(M1>0,SUM(CZB,M1),0);
|
|
4009
|
+
NOTEXT1:STICKLINE(M1>0,0,XQ,1,0),COLORRED;
|
|
4010
|
+
NOTEXT2:STICKLINE(N1>0,0,GY,1,0),COLORGREEN;
|
|
4011
|
+
WSB:SZ,NODRAW;`
|
|
4012
|
+
};
|
|
4013
|
+
|
|
4014
|
+
return data;
|
|
4015
|
+
}
|
|
4016
|
+
|
|
4017
|
+
|
|
4018
|
+
JSIndexScript.prototype.CCL = function()
|
|
4019
|
+
{
|
|
4020
|
+
let data =
|
|
4021
|
+
{
|
|
4022
|
+
Name: 'CCL', Description: '持仓量(适用于期货)', IsMainIndex: false,
|
|
4023
|
+
Script: //脚本
|
|
4024
|
+
`持仓量:VOLINSTK;
|
|
4025
|
+
成交:VOL,COLORLIRED;
|
|
4026
|
+
仓差:VOLINSTK-REF(VOLINSTK,1),NODRAW;
|
|
4027
|
+
STICKLINE(仓差>0 AND C>REF(C,1),0,仓差,2,3),COLORRED;
|
|
4028
|
+
STICKLINE(仓差>0 AND C<REF(C,1),0,仓差,2,3),COLORCYAN;
|
|
4029
|
+
STICKLINE(仓差>0 AND C=REF(C,1),0,仓差,2,3),COLORGRAY;
|
|
4030
|
+
STICKLINE(仓差<0 AND C>REF(C,1),0,仓差,2,3),COLORRED;
|
|
4031
|
+
STICKLINE(仓差<0 AND C<REF(C,1),0,仓差,2,3),COLORCYAN;
|
|
4032
|
+
STICKLINE(仓差<0 AND C=REF(C,1),0,仓差,2,3),COLORGRAY;`
|
|
4033
|
+
};
|
|
4034
|
+
|
|
4035
|
+
return data;
|
|
4036
|
+
}
|
|
4037
|
+
|
|
4038
|
+
JSIndexScript.prototype.CCYD = function()
|
|
4039
|
+
{
|
|
4040
|
+
let data =
|
|
4041
|
+
{
|
|
4042
|
+
Name: 'CCYD', Description: '持仓异动(适用于期货)', IsMainIndex: false,
|
|
4043
|
+
Script: //脚本
|
|
4044
|
+
`CCYD:=VOLINSTK-REF(VOLINSTK,1);
|
|
4045
|
+
SPYD:=C-REF(C,1);
|
|
4046
|
+
多头增仓:IF(SPYD>=0 AND CCYD>=0,ABS(CCYD),DRAWNULL),COLOR3232FF,NODRAW;
|
|
4047
|
+
空头减仓:IF(SPYD>0 AND CCYD<0,ABS(CCYD),DRAWNULL),COLOR3232FF,NODRAW;
|
|
4048
|
+
空头增仓:IF(SPYD<0 AND CCYD>=0,ABS(CCYD),DRAWNULL),COLORFFFF54,NODRAW;
|
|
4049
|
+
多头减仓:IF(SPYD<0 AND CCYD<0,ABS(CCYD),DRAWNULL),COLORFFFF54,NODRAW;
|
|
4050
|
+
STICKLINE(SPYD>=0 AND CCYD>=0,0,CCYD,3,1),COLOR3232FF;
|
|
4051
|
+
STICKLINE(SPYD>0 AND CCYD<0,CCYD,0,3,1),COLOR3232FF;
|
|
4052
|
+
STICKLINE(SPYD<0 AND CCYD>=0,CCYD,0,3,0),COLORFFFF54;
|
|
4053
|
+
STICKLINE(SPYD<0 AND CCYD<0,CCYD,0,3,0),COLORFFFF54;`
|
|
4054
|
+
};
|
|
4055
|
+
|
|
4056
|
+
return data;
|
|
4057
|
+
}
|
|
4058
|
+
|
|
4059
|
+
JSIndexScript.prototype.ABI = function()
|
|
4060
|
+
{
|
|
4061
|
+
let data =
|
|
4062
|
+
{
|
|
4063
|
+
Name: 'ABI', Description: '绝对广量指标', IsMainIndex: false,
|
|
4064
|
+
Args: [{ Name: 'N', Value: 10 }],
|
|
4065
|
+
Condition:
|
|
4066
|
+
{
|
|
4067
|
+
Period:[CONDITION_PERIOD.KLINE_DAY_ID, CONDITION_PERIOD.KLINE_WEEK_ID, CONDITION_PERIOD.KLINE_TWOWEEK_ID,
|
|
4068
|
+
CONDITION_PERIOD.KLINE_MONTH_ID, CONDITION_PERIOD.KLINE_QUARTER_ID ,CONDITION_PERIOD.KLINE_YEAR_ID ],
|
|
4069
|
+
Include:["000001.SH", "000003.SH", "000016.SH", "000300.SH", "000905.SH", "399001.SZ", " 399005.SZ", "399006.SZ"]
|
|
4070
|
+
},
|
|
4071
|
+
Script: //脚本
|
|
4072
|
+
`ABI:100*ABS(ADVANCE-DECLINE)/(ADVANCE+DECLINE);
|
|
4073
|
+
MAABI:EMA(ABI,M);`
|
|
4074
|
+
};
|
|
4075
|
+
|
|
4076
|
+
return data;
|
|
4077
|
+
}
|
|
4078
|
+
|
|
3908
4079
|
|
|
3909
4080
|
|
|
3910
4081
|
|
|
@@ -4366,6 +4537,12 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
4366
4537
|
if (IFrameSplitOperator.IsNumber(item.ZIndex)) zindex=item.ZIndex;
|
|
4367
4538
|
if (item.Enable) this.CreateExtraCanvasElement(JSChart.RectDragCanvasKey, { ZIndex:zindex }); //创建独立的区间选择画布
|
|
4368
4539
|
}
|
|
4540
|
+
|
|
4541
|
+
if (option.DragKLine)
|
|
4542
|
+
{
|
|
4543
|
+
var item=option.DragKLine;
|
|
4544
|
+
if (IFrameSplitOperator.IsBool(item.EnableShfit)) chart.KLineDragConfig.EnableShfit=item.EnableShfit;
|
|
4545
|
+
}
|
|
4369
4546
|
}
|
|
4370
4547
|
|
|
4371
4548
|
//创建子窗口
|
|
@@ -4417,6 +4594,7 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
4417
4594
|
if (IFrameSplitOperator.IsNumber(item.PriceFormatType)) chart.ChartCorssCursor.StringFormatY.PriceFormatType=item.PriceFormatType;
|
|
4418
4595
|
if (IFrameSplitOperator.IsNumber(item.DataFormatType)) chart.ChartCorssCursor.StringFormatY.DataFormatType=item.DataFormatType;
|
|
4419
4596
|
if (IFrameSplitOperator.IsBool(item.EnableKeyboard)) chart.ChartCorssCursor.EnableKeyboard=item.EnableKeyboard;
|
|
4597
|
+
if (IFrameSplitOperator.IsBool(item.EnableDBClick)) chart.ChartCorssCursor.EnableDBClick=item.EnableDBClick;
|
|
4420
4598
|
|
|
4421
4599
|
if (IFrameSplitOperator.IsBool(item.IsShowCorssPoint)) chart.ChartCorssCursor.CorssPointConfig.Enable=item.IsShowCorssPoint;
|
|
4422
4600
|
|
|
@@ -4922,6 +5100,7 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
4922
5100
|
if (IFrameSplitOperator.IsNumber(item.HPenType)) chart.ChartCorssCursor.HPenType=item.HPenType;
|
|
4923
5101
|
if (IFrameSplitOperator.IsNumber(item.VPenType)) chart.ChartCorssCursor.VPenType=item.VPenType;
|
|
4924
5102
|
if (IFrameSplitOperator.IsBool(item.EnableKeyboard)) chart.ChartCorssCursor.EnableKeyboard=item.EnableKeyboard;
|
|
5103
|
+
if (IFrameSplitOperator.IsBool(item.EnableDBClick)) chart.ChartCorssCursor.EnableDBClick=item.EnableDBClick;
|
|
4925
5104
|
if (IFrameSplitOperator.IsBool(item.IsShowCorssPoint)) chart.ChartCorssCursor.CorssPointConfig.Enable=item.IsShowCorssPoint;
|
|
4926
5105
|
if (IFrameSplitOperator.IsNumber(item.VLineType)) chart.ChartCorssCursor.VLineType=item.VLineType;
|
|
4927
5106
|
}
|
|
@@ -6820,12 +6999,14 @@ var JSCHART_MENU_ID=
|
|
|
6820
6999
|
CMD_CORSS_ON_VAILD_TIME_ID:50, //超出当前时间的,X轴调整到当前最后的时间(分时图)
|
|
6821
7000
|
CMD_CORSS_ON_KLINE_ID:51, //十字光标只能画在K线上
|
|
6822
7001
|
CMD_CORSS_POINT_ID:52, //十字光标圆点
|
|
7002
|
+
|
|
6823
7003
|
|
|
6824
7004
|
CMD_RBUTTON_SELECT_RECT_ID:53, //右键区间选择
|
|
6825
7005
|
CMD_LBUTTON_SELECT_RECT_ID:54, //左键区间选择
|
|
6826
7006
|
CMD_ENABLE_XDRAG_BOTTOM_ID:55, //X轴拖动缩放
|
|
6827
7007
|
|
|
6828
7008
|
CMD_FULLSCREEN_SUMMARY_ID:56, //当前屏区间统计
|
|
7009
|
+
CMD_CORSS_DBCLICK_ID:57, //双击显示隐藏十字光标
|
|
6829
7010
|
|
|
6830
7011
|
|
|
6831
7012
|
|
|
@@ -8119,6 +8300,17 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
8119
8300
|
document.oncontextmenu=(e)=> { this.DocContextMenu(e); }
|
|
8120
8301
|
}
|
|
8121
8302
|
|
|
8303
|
+
|
|
8304
|
+
this.IsShfitDragKLine=function(e)
|
|
8305
|
+
{
|
|
8306
|
+
if (this.DragMode!=1) return false;
|
|
8307
|
+
if (!this.KLineDragConfig) return false;
|
|
8308
|
+
if (!this.KLineDragConfig.EnableShfit) return false;
|
|
8309
|
+
if (!e.shiftKey) return false;
|
|
8310
|
+
|
|
8311
|
+
return true;
|
|
8312
|
+
}
|
|
8313
|
+
|
|
8122
8314
|
this.DocOnMouseMove=function(e)
|
|
8123
8315
|
{
|
|
8124
8316
|
//加载数据中,禁用鼠标事件
|
|
@@ -8134,6 +8326,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
8134
8326
|
var moveSetpY=Math.abs(drag.LastMove.Y-e.clientY);
|
|
8135
8327
|
var isDragSelectRect=(this.RectSelectDrag && this.RectSelectDrag.Index>=0);
|
|
8136
8328
|
var isDragSubSelectRect=(this.RectSelectDrag && this.RectSelectDrag.Type==4);
|
|
8329
|
+
var bShfitDragKLine=this.IsShfitDragKLine(e); //shift+鼠标移动K线
|
|
8137
8330
|
if (drag.CurrentMove)
|
|
8138
8331
|
{
|
|
8139
8332
|
drag.CurrentMove.X=e.clientX;
|
|
@@ -8241,7 +8434,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
8241
8434
|
{
|
|
8242
8435
|
this.OnDragXCoordinateZoom(drag, {X:moveSetp, Y:moveSetpY}, e);
|
|
8243
8436
|
}
|
|
8244
|
-
else if ((bLButtonSelectRect || bRButtonSelectRect) && !isDragSelectRect && !isDragSubSelectRect) //左右键区间选择
|
|
8437
|
+
else if ((bLButtonSelectRect || bRButtonSelectRect) && !isDragSelectRect && !isDragSubSelectRect && !bShfitDragKLine) //左右键区间选择
|
|
8245
8438
|
{
|
|
8246
8439
|
var yMoveSetp=Math.abs(drag.LastMove.Y-e.clientY);
|
|
8247
8440
|
|
|
@@ -8353,6 +8546,9 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
8353
8546
|
var isLeft=true;
|
|
8354
8547
|
if (drag.LastMove.X<e.clientX) isLeft=false;//右移数据
|
|
8355
8548
|
|
|
8549
|
+
//按住shift才能移动K线
|
|
8550
|
+
if (this.KLineDragConfig && this.KLineDragConfig.EnableShfit && !e.shiftKey) return;
|
|
8551
|
+
|
|
8356
8552
|
var cursorStatus="pointer";
|
|
8357
8553
|
var oneStepWidth=this.GetMoveOneStepWidth();
|
|
8358
8554
|
if (moveSetp<oneStepWidth)
|
|
@@ -8450,6 +8646,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
8450
8646
|
var isDragSelectRect=(this.RectSelectDrag && this.RectSelectDrag.Index>=0);
|
|
8451
8647
|
var isDragSubSelectRect=(this.RectSelectDrag && this.RectSelectDrag.Type==4);
|
|
8452
8648
|
var bClearDrawPicture=true;
|
|
8649
|
+
var bShfitDragKLine=this.IsShfitDragKLine(e);
|
|
8453
8650
|
if (this.CurrentChartDrawPicture)
|
|
8454
8651
|
{
|
|
8455
8652
|
var drawPicture=this.CurrentChartDrawPicture;
|
|
@@ -8492,7 +8689,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
8492
8689
|
{
|
|
8493
8690
|
if (this.OnMinuteSelectRectMouseUp) this.OnMinuteSelectRectMouseUp(e); //分时图区间选择
|
|
8494
8691
|
}
|
|
8495
|
-
else if (bLButtonSelectRect || bRButtonSelectRect) //K线图区间选择
|
|
8692
|
+
else if ((bLButtonSelectRect || bRButtonSelectRect) && !bShfitDragKLine) //K线图区间选择
|
|
8496
8693
|
{
|
|
8497
8694
|
var drag=this.MouseDrag;
|
|
8498
8695
|
drag.LastMove.X=e.clientX;
|
|
@@ -9781,6 +9978,8 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
9781
9978
|
item.Draw();
|
|
9782
9979
|
}
|
|
9783
9980
|
|
|
9981
|
+
this.DrawExtendChartPaint(IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_5);
|
|
9982
|
+
|
|
9784
9983
|
if (this.Frame.DrawOveraly)
|
|
9785
9984
|
this.Frame.DrawOveraly(true); //画叠加指标
|
|
9786
9985
|
|
|
@@ -9804,9 +10003,14 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
9804
10003
|
item.Draw();
|
|
9805
10004
|
}
|
|
9806
10005
|
|
|
10006
|
+
this.DrawExtendChartPaint(IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_8);
|
|
10007
|
+
|
|
9807
10008
|
if (this.Frame.DrawOveraly)
|
|
9808
10009
|
this.Frame.DrawOveraly(false); //画叠加指标
|
|
9809
10010
|
|
|
10011
|
+
this.DrawExtendChartPaint(IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_10);
|
|
10012
|
+
|
|
10013
|
+
/*
|
|
9810
10014
|
//固定扩展图形
|
|
9811
10015
|
for(var i=0;i<this.ExtendChartPaint.length;++i)
|
|
9812
10016
|
{
|
|
@@ -9815,6 +10019,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
9815
10019
|
if (item.DrawAfterPicture) continue;
|
|
9816
10020
|
if (!item.IsDynamic && item.IsAnimation==false) item.Draw();
|
|
9817
10021
|
}
|
|
10022
|
+
*/
|
|
9818
10023
|
|
|
9819
10024
|
if (this.Frame.DrawInsideHorizontal) this.Frame.DrawInsideHorizontal();
|
|
9820
10025
|
this.KLineIncreaseCustomHorizontal();
|
|
@@ -9843,6 +10048,10 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
9843
10048
|
|
|
9844
10049
|
var moveonPoint=null;
|
|
9845
10050
|
if (this.LastMouseStatus && this.LastMouseStatus.MoveOnPoint) moveonPoint=this.LastMouseStatus.MoveOnPoint;
|
|
10051
|
+
|
|
10052
|
+
this.DrawExtendChartPaint(IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_20, { MoveonPoint:moveonPoint} );
|
|
10053
|
+
|
|
10054
|
+
/*
|
|
9846
10055
|
for(var i=0;i<this.ExtendChartPaint.length;++i) //动态扩展图形
|
|
9847
10056
|
{
|
|
9848
10057
|
var item=this.ExtendChartPaint[i];
|
|
@@ -9854,6 +10063,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
9854
10063
|
if (item.DrawToolbar) item.DrawToolbar(moveonPoint);
|
|
9855
10064
|
}
|
|
9856
10065
|
}
|
|
10066
|
+
*/
|
|
9857
10067
|
|
|
9858
10068
|
for(var i=0;i<this.ChartDrawPicture.length;++i)
|
|
9859
10069
|
{
|
|
@@ -9943,6 +10153,8 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
9943
10153
|
item.Draw(moveonPoint, this.LastMouseStatus);
|
|
9944
10154
|
}
|
|
9945
10155
|
|
|
10156
|
+
this.DrawExtendChartPaint(IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_25);
|
|
10157
|
+
/*
|
|
9946
10158
|
for(var i=0;i<this.ExtendChartPaint.length;++i) //动态扩展图形
|
|
9947
10159
|
{
|
|
9948
10160
|
var item=this.ExtendChartPaint[i];
|
|
@@ -9950,7 +10162,11 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
9950
10162
|
if (item.DrawAfterPicture) continue;
|
|
9951
10163
|
if (item.IsDynamic && item.DrawAfterTitle===true && item.IsAnimation==false) item.Draw();
|
|
9952
10164
|
}
|
|
10165
|
+
*/
|
|
10166
|
+
|
|
10167
|
+
if (this.EnableAnimation) this.DrawExtendChartPaint(IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_30);
|
|
9953
10168
|
|
|
10169
|
+
/*
|
|
9954
10170
|
if (this.EnableAnimation)
|
|
9955
10171
|
{
|
|
9956
10172
|
for(var i=0;i<this.ExtendChartPaint.length;++i) //动画
|
|
@@ -9959,6 +10175,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
9959
10175
|
if (item.IsAnimation===true) item.Draw();
|
|
9960
10176
|
}
|
|
9961
10177
|
}
|
|
10178
|
+
*/
|
|
9962
10179
|
|
|
9963
10180
|
for(var i=0;i<this.ChartDrawPicture.length;++i)
|
|
9964
10181
|
{
|
|
@@ -9977,12 +10194,15 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
9977
10194
|
this.CurrentChartDrawPicture.Draw();
|
|
9978
10195
|
}
|
|
9979
10196
|
|
|
10197
|
+
this.DrawExtendChartPaint(IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_50);
|
|
10198
|
+
/*
|
|
9980
10199
|
for(var i=0;i<this.ExtendChartPaint.length;++i) //画图工具绘制完成以后 动态扩展图形
|
|
9981
10200
|
{
|
|
9982
10201
|
var item=this.ExtendChartPaint[i];
|
|
9983
10202
|
if (item.DrawAfterPicture)
|
|
9984
10203
|
item.Draw();
|
|
9985
10204
|
}
|
|
10205
|
+
*/
|
|
9986
10206
|
|
|
9987
10207
|
this.OffscreenToShowCanvas();
|
|
9988
10208
|
|
|
@@ -10011,6 +10231,45 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
10011
10231
|
++this.TouchDrawCount;
|
|
10012
10232
|
}
|
|
10013
10233
|
|
|
10234
|
+
this.DrawExtendChartPaint=function(level, option)
|
|
10235
|
+
{
|
|
10236
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(this.ExtendChartPaint)) return;
|
|
10237
|
+
|
|
10238
|
+
//扩展图形
|
|
10239
|
+
for(var i=0;i<this.ExtendChartPaint.length;++i)
|
|
10240
|
+
{
|
|
10241
|
+
var item=this.ExtendChartPaint[i];
|
|
10242
|
+
if (item.IsCallbackDraw) continue;
|
|
10243
|
+
|
|
10244
|
+
var value=item.GetPriority(); //绘图优先级
|
|
10245
|
+
if (value!=level) continue;
|
|
10246
|
+
|
|
10247
|
+
if (level==IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_20)
|
|
10248
|
+
{
|
|
10249
|
+
item.Draw();
|
|
10250
|
+
if (item.DrawToolbar && option) item.DrawToolbar(option.MoveonPoint, option.LastMouseStatus);
|
|
10251
|
+
}
|
|
10252
|
+
else if (level==IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_25 && option)
|
|
10253
|
+
{
|
|
10254
|
+
if (item.ClassName=='KLineTooltipPaint' && option)
|
|
10255
|
+
{
|
|
10256
|
+
if (option.Tooltip==false) continue;
|
|
10257
|
+
if (option.Point) item.LatestPoint=option.Point;
|
|
10258
|
+
}
|
|
10259
|
+
else if (item.ClassName=="MinuteTooltipPaint" && option)
|
|
10260
|
+
{
|
|
10261
|
+
if (option.Point) item.LatestPoint=option.Point;
|
|
10262
|
+
}
|
|
10263
|
+
|
|
10264
|
+
item.Draw(option.MoveonPoint, option.LastMouseStatus);
|
|
10265
|
+
}
|
|
10266
|
+
else
|
|
10267
|
+
{
|
|
10268
|
+
item.Draw();
|
|
10269
|
+
}
|
|
10270
|
+
}
|
|
10271
|
+
}
|
|
10272
|
+
|
|
10014
10273
|
this.PtInButton=function(x, y)
|
|
10015
10274
|
{
|
|
10016
10275
|
var button=this.Frame.PtInButtons(x,y);
|
|
@@ -10323,6 +10582,10 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
10323
10582
|
|
|
10324
10583
|
var moveonPoint=null;
|
|
10325
10584
|
if (this.LastMouseStatus && this.LastMouseStatus.MoveOnPoint) moveonPoint=this.LastMouseStatus.MoveOnPoint;
|
|
10585
|
+
|
|
10586
|
+
this.DrawExtendChartPaint(IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_20, { MoveonPoint:moveonPoint, LastMouseStatus:this.LastMouseStatus } );
|
|
10587
|
+
|
|
10588
|
+
/*
|
|
10326
10589
|
for(var i=0;i<this.ExtendChartPaint.length;++i) //动态扩展图形
|
|
10327
10590
|
{
|
|
10328
10591
|
var item=this.ExtendChartPaint[i];
|
|
@@ -10334,6 +10597,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
10334
10597
|
if (item.DrawToolbar) item.DrawToolbar(moveonPoint, this.LastMouseStatus);
|
|
10335
10598
|
}
|
|
10336
10599
|
}
|
|
10600
|
+
*/
|
|
10337
10601
|
|
|
10338
10602
|
for(var i=0;i<this.ChartDrawPicture.length;++i)
|
|
10339
10603
|
{
|
|
@@ -10432,6 +10696,15 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
10432
10696
|
item.Draw(moveonPoint, this.LastMouseStatus);
|
|
10433
10697
|
}
|
|
10434
10698
|
|
|
10699
|
+
|
|
10700
|
+
var exChartOption={ MoveonPoint:moveonPoint, LastMouseStatus:this.LastMouseStatus };
|
|
10701
|
+
if (option)
|
|
10702
|
+
{
|
|
10703
|
+
exChartOption.Tooltip=option.Tooltip;
|
|
10704
|
+
exChartOption.Point=option.Point;
|
|
10705
|
+
}
|
|
10706
|
+
this.DrawExtendChartPaint(IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_25,exChartOption);
|
|
10707
|
+
/*
|
|
10435
10708
|
for(var i=0;i<this.ExtendChartPaint.length;++i) //动态扩展图形 在动态标题以后画
|
|
10436
10709
|
{
|
|
10437
10710
|
var item=this.ExtendChartPaint[i];
|
|
@@ -10449,7 +10722,10 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
10449
10722
|
|
|
10450
10723
|
if (item.IsDynamic && item.DrawAfterTitle===true) item.Draw(moveonPoint, this.LastMouseStatus);
|
|
10451
10724
|
}
|
|
10725
|
+
*/
|
|
10452
10726
|
|
|
10727
|
+
if (this.EnableAnimation) this.DrawExtendChartPaint(IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_30);
|
|
10728
|
+
/*
|
|
10453
10729
|
if (this.EnableAnimation)
|
|
10454
10730
|
{
|
|
10455
10731
|
for(var i=0;i<this.ExtendChartPaint.length;++i) //动画
|
|
@@ -10458,6 +10734,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
10458
10734
|
if (item.IsAnimation===true) item.Draw();
|
|
10459
10735
|
}
|
|
10460
10736
|
}
|
|
10737
|
+
*/
|
|
10461
10738
|
|
|
10462
10739
|
for(var i=0;i<this.ChartDrawPicture.length;++i)
|
|
10463
10740
|
{
|
|
@@ -10479,12 +10756,15 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
10479
10756
|
this.CurrentChartDrawPicture.Draw();
|
|
10480
10757
|
}
|
|
10481
10758
|
|
|
10759
|
+
this.DrawExtendChartPaint(IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_50);
|
|
10760
|
+
/*
|
|
10482
10761
|
for(var i=0;i<this.ExtendChartPaint.length;++i) //动态扩展图形
|
|
10483
10762
|
{
|
|
10484
10763
|
var item=this.ExtendChartPaint[i];
|
|
10485
10764
|
if (item.DrawAfterPicture)
|
|
10486
10765
|
item.Draw();
|
|
10487
10766
|
}
|
|
10767
|
+
*/
|
|
10488
10768
|
|
|
10489
10769
|
if (this.LastMouseStatus.MouseOnToolbar) //工具栏按钮提示信息
|
|
10490
10770
|
{
|
|
@@ -10961,7 +11241,12 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
10961
11241
|
}
|
|
10962
11242
|
|
|
10963
11243
|
var draw=false;
|
|
10964
|
-
if (this.
|
|
11244
|
+
if (keyID==27 && this.PopMinuteChart && this.PopMinuteChart.IsShow())
|
|
11245
|
+
{
|
|
11246
|
+
this.PopMinuteChart.Close();
|
|
11247
|
+
draw=true;
|
|
11248
|
+
}
|
|
11249
|
+
else if (this.ChartCorssCursor && this.ChartCorssCursor.OnKeyDown) //十字光标 隐藏显示
|
|
10965
11250
|
{
|
|
10966
11251
|
var sendData={ e:e, KeyID:keyID, Draw:false, PreventDefault:false };
|
|
10967
11252
|
this.ChartCorssCursor.OnKeyDown(sendData);
|
|
@@ -10984,6 +11269,15 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
10984
11269
|
if (this.OnCustomKeyDown(keyID, e))
|
|
10985
11270
|
break;
|
|
10986
11271
|
}
|
|
11272
|
+
|
|
11273
|
+
//K线 如果超出K线数据了 调整到最后一个数据
|
|
11274
|
+
if (this.FixCursorIndexValid && this.FixCursorIndexValid())
|
|
11275
|
+
{
|
|
11276
|
+
this.UpdatePointByCursorIndex();
|
|
11277
|
+
this.DrawDynamicInfo();
|
|
11278
|
+
this.ShowTooltipByKeyDown();
|
|
11279
|
+
break;
|
|
11280
|
+
}
|
|
10987
11281
|
|
|
10988
11282
|
if (this.CursorIndex<=0.99999)
|
|
10989
11283
|
{
|
|
@@ -11015,6 +11309,15 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
11015
11309
|
break;
|
|
11016
11310
|
}
|
|
11017
11311
|
|
|
11312
|
+
//K线 如果超出K线数据了 调整到最后一个数据
|
|
11313
|
+
if (this.FixCursorIndexValid && this.FixCursorIndexValid())
|
|
11314
|
+
{
|
|
11315
|
+
this.UpdatePointByCursorIndex();
|
|
11316
|
+
this.DrawDynamicInfo();
|
|
11317
|
+
this.ShowTooltipByKeyDown();
|
|
11318
|
+
break;
|
|
11319
|
+
}
|
|
11320
|
+
|
|
11018
11321
|
var xPointcount=0;
|
|
11019
11322
|
if (this.Frame.XPointCount) xPointcount=this.Frame.XPointCount;
|
|
11020
11323
|
else xPointcount=this.Frame.SubFrame[0].Frame.XPointCount;
|
|
@@ -11125,6 +11428,9 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
11125
11428
|
this.CurrentChartDrawPicture=null;
|
|
11126
11429
|
}
|
|
11127
11430
|
break;
|
|
11431
|
+
case 13: //回车
|
|
11432
|
+
if (this.OnCustomKeyDown) this.OnCustomKeyDown(keyID, e);
|
|
11433
|
+
break;
|
|
11128
11434
|
default:
|
|
11129
11435
|
return;
|
|
11130
11436
|
}
|
|
@@ -11138,7 +11444,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
11138
11444
|
|
|
11139
11445
|
this.OnDoubleClick=function(x,y,e)
|
|
11140
11446
|
{
|
|
11141
|
-
|
|
11447
|
+
|
|
11142
11448
|
}
|
|
11143
11449
|
|
|
11144
11450
|
this.ZoomIndexWindow=function(frameID, option) //最大化/最小化指标窗口
|
|
@@ -11432,13 +11738,21 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
11432
11738
|
return;
|
|
11433
11739
|
}
|
|
11434
11740
|
|
|
11741
|
+
var kData=this.GetKData();
|
|
11742
|
+
if (!kData || !IFrameSplitOperator.IsNonEmptyArray(kData.Data)) return;
|
|
11743
|
+
|
|
11435
11744
|
var index=Math.abs(this.CursorIndex-0.5);
|
|
11436
11745
|
index=parseInt(index.toFixed(0));
|
|
11437
11746
|
if (this.ClassName=='KLineChartContainer' || this.ClassName=='KLineTrainChartContainer') index=this.CursorIndex;
|
|
11438
11747
|
|
|
11748
|
+
var dataIndex=kData.DataOffset+index;
|
|
11749
|
+
if (dataIndex<0 || dataIndex>=kData.Data.length) return;
|
|
11750
|
+
var kItem=kData.Data[dataIndex];
|
|
11751
|
+
if (!kItem) return;
|
|
11752
|
+
|
|
11439
11753
|
var data=this.Frame.Data;
|
|
11440
11754
|
var toolTip=new TooltipData();
|
|
11441
|
-
toolTip.Data=
|
|
11755
|
+
toolTip.Data=kItem;
|
|
11442
11756
|
toolTip.ChartPaint=this.ChartPaint[0];
|
|
11443
11757
|
|
|
11444
11758
|
var pixelTatio = GetDevicePixelRatio();
|
|
@@ -14494,6 +14808,9 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
14494
14808
|
case JSCHART_MENU_ID.CMD_CORSS_POINT_ID:
|
|
14495
14809
|
if (IFrameSplitOperator.IsBool(srcParam) && this.ChartCorssCursor) this.ChartCorssCursor.CorssPointConfig.Enable=srcParam;
|
|
14496
14810
|
break;
|
|
14811
|
+
case JSCHART_MENU_ID.CMD_CORSS_DBCLICK_ID:
|
|
14812
|
+
if (IFrameSplitOperator.IsBool(srcParam) && this.ChartCorssCursor) this.ChartCorssCursor.EnableDBClick=srcParam;
|
|
14813
|
+
break;
|
|
14497
14814
|
case JSCHART_MENU_ID.CMD_RBUTTON_SELECT_RECT_ID:
|
|
14498
14815
|
if (IFrameSplitOperator.IsBool(srcParam) && this.ChartDragSelectRect) this.ChartDragSelectRect.EnableRButton=srcParam;
|
|
14499
14816
|
break;
|
|
@@ -49176,12 +49493,34 @@ function IExtendChartPainting()
|
|
|
49176
49493
|
this.IsCallbackDraw=false; //在回调函数里绘制, 不在Draw()中绘制
|
|
49177
49494
|
this.ID=Guid();
|
|
49178
49495
|
|
|
49496
|
+
this.DrawPriority=null; //绘图优先级
|
|
49497
|
+
|
|
49179
49498
|
//上下左右间距
|
|
49180
49499
|
this.Left=5;
|
|
49181
49500
|
this.Right=5;
|
|
49182
49501
|
this.Top=5;
|
|
49183
49502
|
this.Bottom=5;
|
|
49184
49503
|
|
|
49504
|
+
|
|
49505
|
+
this.GetPriority=function()
|
|
49506
|
+
{
|
|
49507
|
+
if (IFrameSplitOperator.IsNumber(this.DrawPriority)) return this.DrawPriority; //新版本
|
|
49508
|
+
|
|
49509
|
+
//老版本转换
|
|
49510
|
+
|
|
49511
|
+
if (!this.IsDynamic && !this.DrawAfterPicture) return IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_10;
|
|
49512
|
+
|
|
49513
|
+
if (this.DrawAfterTitle===false && this.IsAnimation==false) return IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_20;
|
|
49514
|
+
|
|
49515
|
+
if (this.DrawAfterTitle===true) return IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_25;
|
|
49516
|
+
|
|
49517
|
+
if (this.IsAnimation===true) return IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_35;
|
|
49518
|
+
|
|
49519
|
+
if (this.DrawAfterPicture===true) IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_50;
|
|
49520
|
+
|
|
49521
|
+
return IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_50
|
|
49522
|
+
}
|
|
49523
|
+
|
|
49185
49524
|
this.Draw=function()
|
|
49186
49525
|
{
|
|
49187
49526
|
|
|
@@ -49218,6 +49557,23 @@ function IExtendChartPainting()
|
|
|
49218
49557
|
}
|
|
49219
49558
|
}
|
|
49220
49559
|
|
|
49560
|
+
//绘图优先级
|
|
49561
|
+
IExtendChartPainting.DRAW_PRIORITY_ID=
|
|
49562
|
+
{
|
|
49563
|
+
LEVEL_1:1,
|
|
49564
|
+
LEVEL_5:5, // 叠加指数图形前面 指标图形 IsDrawFirst=true
|
|
49565
|
+
LEVEL_8:8, // 叠加指数图形前面 指标图形 IsDrawFirst=false
|
|
49566
|
+
LEVEL_10:10, // IsDynamic=false
|
|
49567
|
+
|
|
49568
|
+
LEVEL_20:20, // IsDynamic=true
|
|
49569
|
+
|
|
49570
|
+
LEVEL_25:25, // DrawAfterTitle=true 标题栏绘制完成以后
|
|
49571
|
+
|
|
49572
|
+
LEVEL_35:35, // IsAnimation=true
|
|
49573
|
+
|
|
49574
|
+
LEVEL_50:50, // DrawAfterPicture=true; 是否在画图工具以后绘制
|
|
49575
|
+
}
|
|
49576
|
+
|
|
49221
49577
|
//K线Tooltip, 显示在左边或右边
|
|
49222
49578
|
function KLineTooltipPaint()
|
|
49223
49579
|
{
|
|
@@ -49237,6 +49593,7 @@ function KLineTooltipPaint()
|
|
|
49237
49593
|
this.AmountColor=g_JSChartResource.TooltipPaint.AmountColor; //成交金额
|
|
49238
49594
|
this.LatestPoint; //手势位置
|
|
49239
49595
|
this.ShowPosition=0; //显示位置 0=左 1=右
|
|
49596
|
+
this.DrawPriority=IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_25;
|
|
49240
49597
|
|
|
49241
49598
|
this.Left=1*GetDevicePixelRatio();
|
|
49242
49599
|
this.Top=5*GetDevicePixelRatio();
|
|
@@ -49980,6 +50337,7 @@ function MinuteLeftTooltipPaint()
|
|
|
49980
50337
|
this.IsDynamic=true;
|
|
49981
50338
|
this.IsEraseBG=true;
|
|
49982
50339
|
this.DrawAfterTitle=true;
|
|
50340
|
+
this.DrawPriority=IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_25;
|
|
49983
50341
|
this.ClassName='MinuteLeftTooltipPaint';
|
|
49984
50342
|
this.BorderColor=g_JSChartResource.PCTooltipPaint.BorderColor; //边框颜色
|
|
49985
50343
|
this.BGColor=g_JSChartResource.PCTooltipPaint.BGColor; //背景色
|
|
@@ -50390,6 +50748,7 @@ function StockChip()
|
|
|
50390
50748
|
this.PixelRatio=GetDevicePixelRatio();
|
|
50391
50749
|
this.ShowType=0; //0=所有筹码 1=周期前 2=周期内
|
|
50392
50750
|
this.IsDynamic=true;
|
|
50751
|
+
this.DrawPriority=IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_20;
|
|
50393
50752
|
this.ClientRect={};
|
|
50394
50753
|
this.Font=g_JSChartResource.StockChip.Font;
|
|
50395
50754
|
this.InfoColor=g_JSChartResource.StockChip.InfoColor;
|
|
@@ -54069,6 +54428,7 @@ function FrameButtomToolbarPaint()
|
|
|
54069
54428
|
this.FrameGuid=null;
|
|
54070
54429
|
this.IsDynamic=true;
|
|
54071
54430
|
this.DrawAfterTitle=true;
|
|
54431
|
+
this.DrawPriority=IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_25;
|
|
54072
54432
|
|
|
54073
54433
|
this.AryButton=[]; // { Title:, ID:, Data:数据, TooltipText:提示信息 }
|
|
54074
54434
|
this.SelectedID=null; // 选中按钮ID
|
|
@@ -58214,6 +58574,7 @@ function ChartCorssCursor()
|
|
|
58214
58574
|
this.CallAcutionXOperator;
|
|
58215
58575
|
|
|
58216
58576
|
this.EnableKeyboard=false; //是否支持键盘隐藏显示
|
|
58577
|
+
this.EnableDBClick=false; //是否允许双击显示|隐藏十字光标
|
|
58217
58578
|
this.OnChangeStatusCallback; //状态切换以后回调
|
|
58218
58579
|
|
|
58219
58580
|
|
|
@@ -59442,6 +59803,27 @@ function ChartCorssCursor()
|
|
|
59442
59803
|
}
|
|
59443
59804
|
}
|
|
59444
59805
|
|
|
59806
|
+
this.OnDBClick=function(data)
|
|
59807
|
+
{
|
|
59808
|
+
if (!this.EnableDBClick) return;
|
|
59809
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(this.Frame.SubFrame)) return;
|
|
59810
|
+
|
|
59811
|
+
//在主图框架内
|
|
59812
|
+
var frame=this.Frame.SubFrame[0].Frame;
|
|
59813
|
+
if (!frame) return;
|
|
59814
|
+
|
|
59815
|
+
var border=frame.GetBorder();
|
|
59816
|
+
var rtClient={ Left:border.Left, Top:border.Top, Bottom:border.Bottom, Right:border.Right };
|
|
59817
|
+
var x=data.X, y=data.Y;
|
|
59818
|
+
if (x>=rtClient.Left && x<=rtClient.Right && y>=rtClient.Top && y<=rtClient.Bottom)
|
|
59819
|
+
{
|
|
59820
|
+
this.IsShowCorss=!this.IsShowCorss
|
|
59821
|
+
data.Draw=true;
|
|
59822
|
+
|
|
59823
|
+
if (this.OnChangeStatusCallback) this.OnChangeStatusCallback({ Type:1, IsShowCorss:this.IsShowCorss }, this);
|
|
59824
|
+
}
|
|
59825
|
+
}
|
|
59826
|
+
|
|
59445
59827
|
|
|
59446
59828
|
this.DrawCorssPoint=function(x,y)
|
|
59447
59829
|
{
|
|
@@ -80263,6 +80645,8 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
80263
80645
|
{ KeyID:87, SecondKeyID:3, CMD:JSCHART_MENU_ID.CMD_FULLSCREEN_SUMMARY_ID, Args:null, Description:"Alt+W 全屏区间统计" },
|
|
80264
80646
|
]
|
|
80265
80647
|
|
|
80648
|
+
this.KLineDragConfig={ EnableShfit:false }; //是否启动Shift+鼠标拖动K线
|
|
80649
|
+
|
|
80266
80650
|
this.GetKLineCalulate=function()
|
|
80267
80651
|
{
|
|
80268
80652
|
var kLineDrawType=this.GetKLineDrawType();
|
|
@@ -81335,6 +81719,10 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
81335
81719
|
this.MoveCorssCursorDown(this.ShiftUpDownStepPixel);
|
|
81336
81720
|
return true;
|
|
81337
81721
|
}
|
|
81722
|
+
else if (keyID==13) //回车显示分时图
|
|
81723
|
+
{
|
|
81724
|
+
this.OnEnterKeyDown();
|
|
81725
|
+
}
|
|
81338
81726
|
else
|
|
81339
81727
|
{
|
|
81340
81728
|
return false;
|
|
@@ -81474,6 +81862,30 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
81474
81862
|
this.ShowTooltipByKeyDown();
|
|
81475
81863
|
}
|
|
81476
81864
|
|
|
81865
|
+
this.OnEnterKeyDown=function()
|
|
81866
|
+
{
|
|
81867
|
+
if (!this.PopMinuteChart) return false;
|
|
81868
|
+
if (!ChartData.IsDayPeriod(this.Period,true)) return false; //只支持日K
|
|
81869
|
+
if (!this.ChartCorssCursor || !this.ChartCorssCursor.IsShowCorss || this.ChartCorssCursor.ClientPos<0) return false;
|
|
81870
|
+
var index=this.ChartCorssCursor.CursorIndex;
|
|
81871
|
+
index=parseInt(index.toFixed(0));
|
|
81872
|
+
var kData=this.GetKData();
|
|
81873
|
+
if (!kData || !IFrameSplitOperator.IsNonEmptyArray(kData.Data)) return false;
|
|
81874
|
+
var dataIndex=kData.DataOffset+index;
|
|
81875
|
+
if (dataIndex<0 || dataIndex>=kData.Data.length) return false;
|
|
81876
|
+
|
|
81877
|
+
var kItem = kData.Data[dataIndex];
|
|
81878
|
+
if (!kItem) return false;
|
|
81879
|
+
|
|
81880
|
+
var frame=this.Frame.SubFrame[0].Frame;
|
|
81881
|
+
var x=frame.GetXFromIndex(index);
|
|
81882
|
+
var y=frame.GetYFromData(kItem.Close);
|
|
81883
|
+
|
|
81884
|
+
var data={ Chart:this, Tooltip:{ ChartPaint:this.ChartPaint[0], Data:kItem } };
|
|
81885
|
+
|
|
81886
|
+
this.ShowMinuteChartDialog(data, x, y);
|
|
81887
|
+
}
|
|
81888
|
+
|
|
81477
81889
|
//获取K线图实例
|
|
81478
81890
|
this.GetKLineChart=function()
|
|
81479
81891
|
{
|
|
@@ -86231,12 +86643,14 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
86231
86643
|
var bCorssDrawKLine=false;
|
|
86232
86644
|
var bCorssDrawVaildTime=false;
|
|
86233
86645
|
var bCorssDrawPoint=false;
|
|
86646
|
+
var bCorssBCClick=false;
|
|
86234
86647
|
if (this.ChartCorssCursor)
|
|
86235
86648
|
{
|
|
86236
86649
|
bShowCorss=this.ChartCorssCursor.IsShowCorss;
|
|
86237
86650
|
bCorssDrawKLine=this.ChartCorssCursor.IsOnlyDrawKLine && this.ChartCorssCursor.IsShowClose;
|
|
86238
86651
|
bCorssDrawVaildTime=this.ChartCorssCursor.IsFixXLastTime;
|
|
86239
86652
|
bCorssDrawPoint=this.ChartCorssCursor.CorssPointConfig.Enable;
|
|
86653
|
+
bCorssBCClick=this.ChartCorssCursor.EnableDBClick;
|
|
86240
86654
|
}
|
|
86241
86655
|
|
|
86242
86656
|
var bPopMinuteChart=false;
|
|
@@ -86422,6 +86836,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
86422
86836
|
{ Name:"显示在K线上", Data:{ ID:JSCHART_MENU_ID.CMD_CORSS_ON_KLINE_ID, Args:[!bCorssDrawKLine]}, Checked:bCorssDrawKLine },
|
|
86423
86837
|
{ Name:"画在有效X轴上",Data:{ ID:JSCHART_MENU_ID.CMD_CORSS_ON_VAILD_TIME_ID, Args:[!bCorssDrawVaildTime]}, Checked:bCorssDrawVaildTime },
|
|
86424
86838
|
{ Name:"画圆点",Data:{ ID:JSCHART_MENU_ID.CMD_CORSS_POINT_ID, Args:[!bCorssDrawPoint]}, Checked:bCorssDrawPoint },
|
|
86839
|
+
{ Name:"双击显示/隐藏", Data:{ ID:JSCHART_MENU_ID.CMD_CORSS_DBCLICK_ID, Args:[!bCorssBCClick]}, Checked:bCorssBCClick },
|
|
86425
86840
|
]
|
|
86426
86841
|
},
|
|
86427
86842
|
{
|
|
@@ -86895,6 +87310,14 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
86895
87310
|
|
|
86896
87311
|
this.OnDoubleClick=function(x,y,e)
|
|
86897
87312
|
{
|
|
87313
|
+
var bDraw=false;
|
|
87314
|
+
if (this.ChartCorssCursor)
|
|
87315
|
+
{
|
|
87316
|
+
var data={ e:e, X:x, Y:y, Draw:false };
|
|
87317
|
+
this.ChartCorssCursor.OnDBClick(data);
|
|
87318
|
+
bDraw=data.Draw
|
|
87319
|
+
}
|
|
87320
|
+
|
|
86898
87321
|
if (this.EnableYDrag && (this.EnableYDrag.Left || this.EnableYDrag.Right) && this.Frame && this.Frame.PtInFrameY)
|
|
86899
87322
|
{
|
|
86900
87323
|
var pixelTatio = GetDevicePixelRatio();
|
|
@@ -86931,6 +87354,8 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
86931
87354
|
}
|
|
86932
87355
|
}
|
|
86933
87356
|
|
|
87357
|
+
if (bDraw) this.Draw();
|
|
87358
|
+
|
|
86934
87359
|
var tooltip=new TooltipData();
|
|
86935
87360
|
if (!this.PtInChartPaintTooltip(x,y,tooltip))
|
|
86936
87361
|
{
|
|
@@ -88255,6 +88680,22 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
88255
88680
|
|
|
88256
88681
|
return result;
|
|
88257
88682
|
}
|
|
88683
|
+
|
|
88684
|
+
//修正十字光标位置有效的K线
|
|
88685
|
+
this.FixCursorIndexValid=function()
|
|
88686
|
+
{
|
|
88687
|
+
var kData=this.GetKData();
|
|
88688
|
+
if (!kData || !IFrameSplitOperator.IsNonEmptyArray(kData.Data)) return false;
|
|
88689
|
+
|
|
88690
|
+
var dataIndex=this.CursorIndex+kData.DataOffset;
|
|
88691
|
+
if (dataIndex>=kData.Data.length)
|
|
88692
|
+
{
|
|
88693
|
+
this.CursorIndex=kData.Data.length-kData.DataOffset-1;
|
|
88694
|
+
return true;
|
|
88695
|
+
}
|
|
88696
|
+
|
|
88697
|
+
return false;
|
|
88698
|
+
}
|
|
88258
88699
|
}
|
|
88259
88700
|
|
|
88260
88701
|
//API 返回数据 转化为array[]
|
|
@@ -90492,12 +90933,14 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
90492
90933
|
var bCorssDrawCloseLine=false; //十字光标只能画在走势图价格线上
|
|
90493
90934
|
var bCorssDrawVaildTime=false;
|
|
90494
90935
|
var bCorssDrawPoint=false;
|
|
90936
|
+
var bCorssBCClick=false;
|
|
90495
90937
|
if (this.ChartCorssCursor)
|
|
90496
90938
|
{
|
|
90497
90939
|
bShowCorss=this.ChartCorssCursor.IsShowCorss;
|
|
90498
90940
|
bCorssDrawCloseLine=this.ChartCorssCursor.IsOnlyDrawMinute;
|
|
90499
90941
|
bCorssDrawVaildTime=this.ChartCorssCursor.IsFixXLastTime;
|
|
90500
90942
|
bCorssDrawPoint=this.ChartCorssCursor.CorssPointConfig.Enable;
|
|
90943
|
+
bCorssBCClick=this.ChartCorssCursor.EnableDBClick;
|
|
90501
90944
|
}
|
|
90502
90945
|
|
|
90503
90946
|
var bRButtonSelectRect=false,bLButtonSelectRect=false;
|
|
@@ -90594,6 +91037,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
90594
91037
|
{ Name:"画在价格线上", Data:{ ID:JSCHART_MENU_ID.CMD_CORSS_ON_CLOSE_LINE_ID, Args:[!bCorssDrawCloseLine]}, Checked:bCorssDrawCloseLine },
|
|
90595
91038
|
{ Name:"画在有效X轴上",Data:{ ID:JSCHART_MENU_ID.CMD_CORSS_ON_VAILD_TIME_ID, Args:[!bCorssDrawVaildTime]}, Checked:bCorssDrawVaildTime },
|
|
90596
91039
|
{ Name:"画圆点",Data:{ ID:JSCHART_MENU_ID.CMD_CORSS_POINT_ID, Args:[!bCorssDrawPoint]}, Checked:bCorssDrawPoint },
|
|
91040
|
+
{ Name:"双击显示/隐藏", Data:{ ID:JSCHART_MENU_ID.CMD_CORSS_DBCLICK_ID, Args:[!bCorssBCClick]}, Checked:bCorssBCClick },
|
|
90597
91041
|
]
|
|
90598
91042
|
},
|
|
90599
91043
|
|
|
@@ -90734,6 +91178,14 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
90734
91178
|
{
|
|
90735
91179
|
JSConsole.Chart.Log("[MinuteChartContainer::OnDoubleClick]", e);
|
|
90736
91180
|
|
|
91181
|
+
var bDraw=false;
|
|
91182
|
+
if (this.ChartCorssCursor)
|
|
91183
|
+
{
|
|
91184
|
+
var data={ e:e, X:x, Y:y, Draw:false };
|
|
91185
|
+
this.ChartCorssCursor.OnDBClick(data);
|
|
91186
|
+
bDraw=data.Draw
|
|
91187
|
+
}
|
|
91188
|
+
|
|
90737
91189
|
if (this.EnableYDrag && (this.EnableYDrag.Left || this.EnableYDrag.Right) && this.Frame && this.Frame.PtInFrameY)
|
|
90738
91190
|
{
|
|
90739
91191
|
var pixelTatio = GetDevicePixelRatio();
|
|
@@ -90771,10 +91223,12 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
90771
91223
|
if (this.ZoomIndexWindow(frameId, {X:x, Y:y}))
|
|
90772
91224
|
{
|
|
90773
91225
|
this.Frame.SetSizeChage(true);
|
|
90774
|
-
|
|
91226
|
+
bDraw=true;
|
|
90775
91227
|
}
|
|
90776
91228
|
}
|
|
90777
91229
|
}
|
|
91230
|
+
|
|
91231
|
+
if (bDraw) this.Draw();
|
|
90778
91232
|
}
|
|
90779
91233
|
|
|
90780
91234
|
this.GetDataItem=function(pointInfo)
|
|
@@ -104430,7 +104884,7 @@ function Node(ErrorHandler)
|
|
|
104430
104884
|
//CAPITAL流通股本(手), EXCHANGE 换手率, TOTALCAPITAL 总股本(手)
|
|
104431
104885
|
let setVariantName=new Set(
|
|
104432
104886
|
[
|
|
104433
|
-
"CAPITAL","TOTALCAPITAL","EXCHANGE",
|
|
104887
|
+
"CAPITAL","TOTALCAPITAL","EXCHANGE","HSL",
|
|
104434
104888
|
"HYBLOCK","DYBLOCK","GNBLOCK","FGBLOCK","ZSBLOCK","ZHBLOCK","ZDBLOCK","HYZSCODE",
|
|
104435
104889
|
"GNBLOCKNUM","FGBLOCKNUM","ZSBLOCKNUM","ZHBLOCKNUM","ZDBLOCKNUM",
|
|
104436
104890
|
"HYSYL","HYSJL","FROMOPEN",
|
|
@@ -117974,7 +118428,7 @@ function JSSymbolData(ast,option,jsExecute)
|
|
|
117974
118428
|
{
|
|
117975
118429
|
var dataType=0;
|
|
117976
118430
|
if (IFrameSplitOperator.IsNumber(recvData.DataType)) dataType=recvData.DataType;
|
|
117977
|
-
self.RecvStockValue(recvData.Data,jobItem,key,dataType);
|
|
118431
|
+
self.RecvStockValue(recvData.Data,jobItem,key,dataType,recvData);
|
|
117978
118432
|
}
|
|
117979
118433
|
|
|
117980
118434
|
self.Execute.RunNextJob();
|
|
@@ -117989,7 +118443,7 @@ function JSSymbolData(ast,option,jsExecute)
|
|
|
117989
118443
|
};
|
|
117990
118444
|
|
|
117991
118445
|
var apiDownload;
|
|
117992
|
-
if (jobItem.VariantName=="CAPITAL" || jobItem.VariantName=="TOTALCAPITAL" || jobItem.VariantName=="EXCHANGE")
|
|
118446
|
+
if (jobItem.VariantName=="CAPITAL" || jobItem.VariantName=="TOTALCAPITAL" || jobItem.VariantName=="EXCHANGE" || jobItem.VariantName=="HSL")
|
|
117993
118447
|
{
|
|
117994
118448
|
var callback=function(recvData, jobItem, key)
|
|
117995
118449
|
{
|
|
@@ -118184,7 +118638,7 @@ function JSSymbolData(ast,option,jsExecute)
|
|
|
118184
118638
|
}
|
|
118185
118639
|
}
|
|
118186
118640
|
|
|
118187
|
-
this.RecvStockValue=function(recvData,jobItem,key,dataType)
|
|
118641
|
+
this.RecvStockValue=function(recvData,jobItem,key,dataType, srcData)
|
|
118188
118642
|
{
|
|
118189
118643
|
if (!recvData)
|
|
118190
118644
|
{
|
|
@@ -118215,8 +118669,9 @@ function JSSymbolData(ast,option,jsExecute)
|
|
|
118215
118669
|
var bindData=new ChartData();
|
|
118216
118670
|
bindData.Data=aryFittingData;
|
|
118217
118671
|
var result=bindData.GetValue();
|
|
118672
|
+
var bVersion2=srcData && srcData.Ver==2; //2.0 版本
|
|
118218
118673
|
|
|
118219
|
-
if (key=="EXCHANGE") //计算换手率=成交量/流通股本*100
|
|
118674
|
+
if (!bVersion2 && (key=="EXCHANGE" || key=="HSL")) //计算换手率=成交量/流通股本*100
|
|
118220
118675
|
{
|
|
118221
118676
|
for(var i in result)
|
|
118222
118677
|
{
|
|
@@ -120236,7 +120691,7 @@ function JSExecute(ast,option)
|
|
|
120236
120691
|
|
|
120237
120692
|
['CAPITAL',null], //流通股本(手)
|
|
120238
120693
|
["TOTALCAPITAL",null], //TOTALCAPITAL 当前总股本 手
|
|
120239
|
-
['EXCHANGE',null], //换手率
|
|
120694
|
+
['EXCHANGE',null], ["HSL",null], //换手率
|
|
120240
120695
|
['SETCODE', null], //市场类型
|
|
120241
120696
|
['CODE',null], //品种代码
|
|
120242
120697
|
['STKNAME',null], //品种名称
|
|
@@ -120486,6 +120941,7 @@ function JSExecute(ast,option)
|
|
|
120486
120941
|
case "TOTALCAPITAL":
|
|
120487
120942
|
case 'CAPITAL':
|
|
120488
120943
|
case 'EXCHANGE':
|
|
120944
|
+
case "HSL":
|
|
120489
120945
|
|
|
120490
120946
|
case "HYBLOCK":
|
|
120491
120947
|
case "DYBLOCK":
|
|
@@ -122153,7 +122609,7 @@ function JSExplainer(ast,option)
|
|
|
122153
122609
|
['BARSTATUS',"数据位置状态"], //BARSTATUS返回数据位置信息,1表示第一根K线,2表示最后一个数据,0表示中间位置.
|
|
122154
122610
|
|
|
122155
122611
|
['CAPITAL',"当前流通股本(手)"], ["TOTALCAPITAL","当前总股本(手)"],
|
|
122156
|
-
['EXCHANGE',"换手率"],
|
|
122612
|
+
['EXCHANGE',"换手率"], ['HSL',"换手线"],
|
|
122157
122613
|
['SETCODE', "市场类型"], //市场类型
|
|
122158
122614
|
['CODE',"品种代码"], //品种代码
|
|
122159
122615
|
['STKNAME',"品种名称"], //品种名称
|
|
@@ -129411,6 +129867,7 @@ function DownloadFinanceData(obj)
|
|
|
129411
129867
|
case 1: //FINANCE(1) 总股本(随时间可能有变化) 股
|
|
129412
129868
|
case 7: //FINANCE(7) 流通股本(随时间可能有变化) 股
|
|
129413
129869
|
case "EXCHANGE": //换手率
|
|
129870
|
+
case "HSL"://换手率
|
|
129414
129871
|
this.DownloadHistoryData(id);
|
|
129415
129872
|
break;
|
|
129416
129873
|
case 3:
|
|
@@ -129537,6 +129994,7 @@ function DownloadFinanceData(obj)
|
|
|
129537
129994
|
return ["capital.total", "capital.date"];
|
|
129538
129995
|
case 7:
|
|
129539
129996
|
return ["capital.a", "capital.date"];
|
|
129997
|
+
case "HSL":
|
|
129540
129998
|
case "EXCHANGE":
|
|
129541
129999
|
return ["capital.a", "capital.date"];
|
|
129542
130000
|
|
|
@@ -129670,6 +130128,7 @@ function DownloadFinanceData(obj)
|
|
|
129670
130128
|
if (!item.capital) return null;
|
|
129671
130129
|
return { Date:date, Value:item.capital.total };
|
|
129672
130130
|
case 7:
|
|
130131
|
+
case "HSL": //换手率
|
|
129673
130132
|
case "EXCHANGE": //换手率 历史流通股本
|
|
129674
130133
|
if (!item.capital) return null;
|
|
129675
130134
|
return { Date:date, Value:item.capital.a };
|
|
@@ -145239,7 +145698,7 @@ function ScrollBarBGChart()
|
|
|
145239
145698
|
|
|
145240
145699
|
|
|
145241
145700
|
|
|
145242
|
-
var HQCHART_VERSION="1.1.
|
|
145701
|
+
var HQCHART_VERSION="1.1.14592";
|
|
145243
145702
|
|
|
145244
145703
|
function PrintHQChartVersion()
|
|
145245
145704
|
{
|