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
|
@@ -155,7 +155,7 @@ function JSIndexScript()
|
|
|
155
155
|
['VRSI',this.VRSI],['HSCOL',this.HSCOL],['DBQRV',this.DBQRV],['DBLB',this.DBLB],
|
|
156
156
|
['ACD',this.ACD],['EXPMA',this.EXPMA],['EXPMA_S',this.EXPMA_S],['HMA',this.HMA],
|
|
157
157
|
['LMA',this.LMA],['VMA',this.VMA],['AMV',this.AMV],['BBIBOLL',this.BBIBOLL],
|
|
158
|
-
['ALLIGAT',this.ALLIGAT],['ZX',this.ZX],['XS',this.XS],['XS2',this.XS2],
|
|
158
|
+
['ALLIGAT',this.ALLIGAT],["GMMA",this.GMMA],['ZX',this.ZX],['XS',this.XS],['XS2',this.XS2],
|
|
159
159
|
['SG-XDT',this.SG_XDT],['SG-SMX',this.SG_SMX],['SG-LB',this.SG_LB],['SG-PF',this.SG_PF],
|
|
160
160
|
['RAD',this.RAD],['SHT',this.SHT],['ZLJC',this.ZLJC],['ZLMM',this.ZLMM],['SLZT',this.SLZT],
|
|
161
161
|
['ADVOL',this.ADVOL],['CYC',this.CYC],['CYS',this.CYS],['CYQKL',this.CYQKL],
|
|
@@ -167,7 +167,8 @@ function JSIndexScript()
|
|
|
167
167
|
['神奇九转', this.NineTurns],
|
|
168
168
|
['EMA', this.EMA3], ['EMA4', this.EMA4], ['EMA5', this.EMA5],['EMA6', this.EMA6],
|
|
169
169
|
["ICHIMOKU",this.ICHIMOKU],["CDP-STD", this.CDP_STD],["TBP-STD",this.TBP_STD],
|
|
170
|
-
["ADX", this.ADX],
|
|
170
|
+
["ADX", this.ADX],["SMACD", this.SMACD],["ACCER",this.ACCER],["AMO-TDX", this.AMO_TDX],
|
|
171
|
+
["WSBVOL",this.WSBVOL], ["CCYD",this.CCYD], ["CCL",this.CCL],["ABI", this.ABI],
|
|
171
172
|
|
|
172
173
|
["持仓量", this.VOL_POSITION], //成交量+持仓量
|
|
173
174
|
|
|
@@ -187,11 +188,11 @@ function JSIndexScript()
|
|
|
187
188
|
|
|
188
189
|
["两融余额", this.Margin2],["两融余额2", this.Margin3],
|
|
189
190
|
|
|
190
|
-
|
|
191
|
-
['
|
|
192
|
-
['
|
|
193
|
-
['
|
|
194
|
-
['
|
|
191
|
+
//特色指标
|
|
192
|
+
['特色指标-操盘BS点',this.FXG_BSPoint],
|
|
193
|
+
['特色指标-涨停多空线',this.FXG_INDEX],
|
|
194
|
+
['特色指标-涨停吸筹区',this.FXG_INDEX2],
|
|
195
|
+
['特色指标-量能黄金点',this.FXG_INDEX3],
|
|
195
196
|
|
|
196
197
|
//五彩K线(函数COLOR_开头)
|
|
197
198
|
['五彩K线-十字星',this.COLOR_KSTAR1],['五彩K线-早晨之星',this.COLOR_KSTAR2],['五彩K线-黄昏之星',this.COLOR_KSTAR3],['五彩K线-长十字',this.COLOR_SHI1],
|
|
@@ -752,6 +753,28 @@ MAVOL2:MA(VOLUME,M2);'
|
|
|
752
753
|
return data;
|
|
753
754
|
}
|
|
754
755
|
|
|
756
|
+
|
|
757
|
+
JSIndexScript.prototype.AMO_TDX=function()
|
|
758
|
+
{
|
|
759
|
+
let data=
|
|
760
|
+
{
|
|
761
|
+
Name:'AMO-TDX', Description:'成交金额(虚拟)', IsMainIndex:false,FloatPrecision:0,
|
|
762
|
+
Args:[ { Name:'M1', Value:5}, { Name:'M2', Value:10} ],
|
|
763
|
+
Script: //脚本
|
|
764
|
+
'TOTAL:=IF(PERIOD=1,5,IF(PERIOD=2,15,IF(PERIOD=3,30,IF(PERIOD=4,60,IF(PERIOD=5,TOTALFZNUM,1)))));\n\
|
|
765
|
+
MTIME:=MOD(FROMOPEN,TOTAL);\n\
|
|
766
|
+
CTIME:=IF(MTIME<0.5,TOTAL,MTIME);\n\
|
|
767
|
+
VAMO:=IF((CURRBARSCOUNT=1 AND DYNAINFO(8)>1),AMOUNT/10000.0*TOTAL/CTIME,DRAWNULL);\n\
|
|
768
|
+
STICKLINE((CURRBARSCOUNT=1 AND DYNAINFO(8)>1),VAMO,0,-1,-1),COLOR00C0C0;\n\
|
|
769
|
+
AMOW:AMOUNT/10000.0,VOLSTICK;\n\
|
|
770
|
+
AMO1:MA(AMOW,M1);\n\
|
|
771
|
+
AMO2:MA(AMOW,M2);'
|
|
772
|
+
|
|
773
|
+
};
|
|
774
|
+
|
|
775
|
+
return data;
|
|
776
|
+
}
|
|
777
|
+
|
|
755
778
|
JSIndexScript.prototype.RSI=function()
|
|
756
779
|
{
|
|
757
780
|
let data=
|
|
@@ -1489,6 +1512,40 @@ MACD:DIF-DEA,COLORSTICK;'
|
|
|
1489
1512
|
return data;
|
|
1490
1513
|
}
|
|
1491
1514
|
|
|
1515
|
+
JSIndexScript.prototype.SMACD = function ()
|
|
1516
|
+
{
|
|
1517
|
+
let data =
|
|
1518
|
+
{
|
|
1519
|
+
Name: 'SMACD', Description: '单线平滑异同平均线', IsMainIndex: false,
|
|
1520
|
+
Args: [{ Name: 'SHORT', Value: 12 },{ Name: 'LONG', Value: 26 },{ Name: 'MID', Value: 9 }],
|
|
1521
|
+
Script: //脚本
|
|
1522
|
+
'DIF:=EMA(CLOSE,SHORT)-EMA(CLOSE,LONG);\n\
|
|
1523
|
+
DEA:EMA(DIF,MID);\n\
|
|
1524
|
+
MACD:DIF,COLORSTICK;'
|
|
1525
|
+
|
|
1526
|
+
};
|
|
1527
|
+
|
|
1528
|
+
return data;
|
|
1529
|
+
}
|
|
1530
|
+
|
|
1531
|
+
|
|
1532
|
+
JSIndexScript.prototype.ACCER = function ()
|
|
1533
|
+
{
|
|
1534
|
+
let data =
|
|
1535
|
+
{
|
|
1536
|
+
Name: 'ACCER', Description: '幅度涨速', IsMainIndex: false,
|
|
1537
|
+
Args: [{ Name: 'N', Value: 8 }],
|
|
1538
|
+
Script: //脚本
|
|
1539
|
+
'ACCER:SLOPE(CLOSE,N)/CLOSE;'
|
|
1540
|
+
|
|
1541
|
+
};
|
|
1542
|
+
|
|
1543
|
+
return data;
|
|
1544
|
+
}
|
|
1545
|
+
|
|
1546
|
+
|
|
1547
|
+
|
|
1548
|
+
|
|
1492
1549
|
JSIndexScript.prototype.QACD = function ()
|
|
1493
1550
|
{
|
|
1494
1551
|
let data =
|
|
@@ -1913,6 +1970,32 @@ JSIndexScript.prototype.ALLIGAT = function ()
|
|
|
1913
1970
|
return data;
|
|
1914
1971
|
}
|
|
1915
1972
|
|
|
1973
|
+
|
|
1974
|
+
JSIndexScript.prototype.GMMA = function ()
|
|
1975
|
+
{
|
|
1976
|
+
let data =
|
|
1977
|
+
{
|
|
1978
|
+
Name: 'GMMA', Description: '顾比均线', IsMainIndex: true,
|
|
1979
|
+
Args: [],
|
|
1980
|
+
Script: //脚本
|
|
1981
|
+
'MA3:EMA(CLOSE,3),COLORC08080;\n\
|
|
1982
|
+
MA5:EMA(CLOSE,5),COLORC08080;\n\
|
|
1983
|
+
MA8:EMA(CLOSE,8),COLORC08080;\n\
|
|
1984
|
+
MA10:EMA(CLOSE,10),COLORC08080;\n\
|
|
1985
|
+
MA12:EMA(CLOSE,12),COLORC08080;\n\
|
|
1986
|
+
MA15:EMA(CLOSE,15),COLORC08080;\n\
|
|
1987
|
+
MA30:EMA(CLOSE,30),COLOR0080FF;\n\
|
|
1988
|
+
MA35:EMA(CLOSE,35),COLOR0080FF;\n\
|
|
1989
|
+
MA40:EMA(CLOSE,40),COLOR0080FF;\n\
|
|
1990
|
+
MA45:EMA(CLOSE,45),COLOR0080FF;\n\
|
|
1991
|
+
MA50:EMA(CLOSE,50),COLOR0080FF;\n\
|
|
1992
|
+
MA60:EMA(CLOSE,60),COLOR0080FF;'
|
|
1993
|
+
|
|
1994
|
+
};
|
|
1995
|
+
|
|
1996
|
+
return data;
|
|
1997
|
+
}
|
|
1998
|
+
|
|
1916
1999
|
JSIndexScript.prototype.ZX = function ()
|
|
1917
2000
|
{
|
|
1918
2001
|
let data =
|
|
@@ -3949,6 +4032,94 @@ B:=REF(LLV(CLOSE,N),1);
|
|
|
3949
4032
|
}
|
|
3950
4033
|
|
|
3951
4034
|
|
|
4035
|
+
JSIndexScript.prototype.WSBVOL = function()
|
|
4036
|
+
{
|
|
4037
|
+
let data =
|
|
4038
|
+
{
|
|
4039
|
+
Name: 'WSBVOL', Description: '维斯波成交量', IsMainIndex: false,
|
|
4040
|
+
Script: //脚本
|
|
4041
|
+
`UPTJ1:=CLOSE>REF(CLOSE,1);
|
|
4042
|
+
UPTJ2:=(CLOSE==REF(CLOSE,1) && REF(CLOSE,1)>REF(CLOSE,2));
|
|
4043
|
+
UPTJ3:=MAX(OPEN,CLOSE)<REF(C,BARSLAST(CLOSE>REF(CLOSE,1))) AND MIN(OPEN,CLOSE)>REF(O,BARSLAST(CLOSE>REF(CLOSE,1)));
|
|
4044
|
+
UPTJ4:=NOT (H<REF(H,1) AND L<REF(L,1));
|
|
4045
|
+
UP:=(UPTJ1 || UPTJ2 || UPTJ3) AND UPTJ4;
|
|
4046
|
+
DOWN:=NOT(UP);
|
|
4047
|
+
M1:=BARSLASTCOUNT(UP);
|
|
4048
|
+
N1:=BARSLASTCOUNT(DOWN);
|
|
4049
|
+
CZB:=IF(M1=1 OR N1=1,2*INTPART(VOL*100/10000),INTPART(VOL*100/10000));
|
|
4050
|
+
SZ:=IF(M1>0,SUM(CZB,M1),-1*SUM(CZB,N1));
|
|
4051
|
+
GY:=IF(N1>0,SUM(CZB,N1),0);
|
|
4052
|
+
XQ:=IF(M1>0,SUM(CZB,M1),0);
|
|
4053
|
+
NOTEXT1:STICKLINE(M1>0,0,XQ,1,0),COLORRED;
|
|
4054
|
+
NOTEXT2:STICKLINE(N1>0,0,GY,1,0),COLORGREEN;
|
|
4055
|
+
WSB:SZ,NODRAW;`
|
|
4056
|
+
};
|
|
4057
|
+
|
|
4058
|
+
return data;
|
|
4059
|
+
}
|
|
4060
|
+
|
|
4061
|
+
|
|
4062
|
+
JSIndexScript.prototype.CCL = function()
|
|
4063
|
+
{
|
|
4064
|
+
let data =
|
|
4065
|
+
{
|
|
4066
|
+
Name: 'CCL', Description: '持仓量(适用于期货)', IsMainIndex: false,
|
|
4067
|
+
Script: //脚本
|
|
4068
|
+
`持仓量:VOLINSTK;
|
|
4069
|
+
成交:VOL,COLORLIRED;
|
|
4070
|
+
仓差:VOLINSTK-REF(VOLINSTK,1),NODRAW;
|
|
4071
|
+
STICKLINE(仓差>0 AND C>REF(C,1),0,仓差,2,3),COLORRED;
|
|
4072
|
+
STICKLINE(仓差>0 AND C<REF(C,1),0,仓差,2,3),COLORCYAN;
|
|
4073
|
+
STICKLINE(仓差>0 AND C=REF(C,1),0,仓差,2,3),COLORGRAY;
|
|
4074
|
+
STICKLINE(仓差<0 AND C>REF(C,1),0,仓差,2,3),COLORRED;
|
|
4075
|
+
STICKLINE(仓差<0 AND C<REF(C,1),0,仓差,2,3),COLORCYAN;
|
|
4076
|
+
STICKLINE(仓差<0 AND C=REF(C,1),0,仓差,2,3),COLORGRAY;`
|
|
4077
|
+
};
|
|
4078
|
+
|
|
4079
|
+
return data;
|
|
4080
|
+
}
|
|
4081
|
+
|
|
4082
|
+
JSIndexScript.prototype.CCYD = function()
|
|
4083
|
+
{
|
|
4084
|
+
let data =
|
|
4085
|
+
{
|
|
4086
|
+
Name: 'CCYD', Description: '持仓异动(适用于期货)', IsMainIndex: false,
|
|
4087
|
+
Script: //脚本
|
|
4088
|
+
`CCYD:=VOLINSTK-REF(VOLINSTK,1);
|
|
4089
|
+
SPYD:=C-REF(C,1);
|
|
4090
|
+
多头增仓:IF(SPYD>=0 AND CCYD>=0,ABS(CCYD),DRAWNULL),COLOR3232FF,NODRAW;
|
|
4091
|
+
空头减仓:IF(SPYD>0 AND CCYD<0,ABS(CCYD),DRAWNULL),COLOR3232FF,NODRAW;
|
|
4092
|
+
空头增仓:IF(SPYD<0 AND CCYD>=0,ABS(CCYD),DRAWNULL),COLORFFFF54,NODRAW;
|
|
4093
|
+
多头减仓:IF(SPYD<0 AND CCYD<0,ABS(CCYD),DRAWNULL),COLORFFFF54,NODRAW;
|
|
4094
|
+
STICKLINE(SPYD>=0 AND CCYD>=0,0,CCYD,3,1),COLOR3232FF;
|
|
4095
|
+
STICKLINE(SPYD>0 AND CCYD<0,CCYD,0,3,1),COLOR3232FF;
|
|
4096
|
+
STICKLINE(SPYD<0 AND CCYD>=0,CCYD,0,3,0),COLORFFFF54;
|
|
4097
|
+
STICKLINE(SPYD<0 AND CCYD<0,CCYD,0,3,0),COLORFFFF54;`
|
|
4098
|
+
};
|
|
4099
|
+
|
|
4100
|
+
return data;
|
|
4101
|
+
}
|
|
4102
|
+
|
|
4103
|
+
JSIndexScript.prototype.ABI = function()
|
|
4104
|
+
{
|
|
4105
|
+
let data =
|
|
4106
|
+
{
|
|
4107
|
+
Name: 'ABI', Description: '绝对广量指标', IsMainIndex: false,
|
|
4108
|
+
Args: [{ Name: 'N', Value: 10 }],
|
|
4109
|
+
Condition:
|
|
4110
|
+
{
|
|
4111
|
+
Period:[CONDITION_PERIOD.KLINE_DAY_ID, CONDITION_PERIOD.KLINE_WEEK_ID, CONDITION_PERIOD.KLINE_TWOWEEK_ID,
|
|
4112
|
+
CONDITION_PERIOD.KLINE_MONTH_ID, CONDITION_PERIOD.KLINE_QUARTER_ID ,CONDITION_PERIOD.KLINE_YEAR_ID ],
|
|
4113
|
+
Include:["000001.SH", "000003.SH", "000016.SH", "000300.SH", "000905.SH", "399001.SZ", " 399005.SZ", "399006.SZ"]
|
|
4114
|
+
},
|
|
4115
|
+
Script: //脚本
|
|
4116
|
+
`ABI:100*ABS(ADVANCE-DECLINE)/(ADVANCE+DECLINE);
|
|
4117
|
+
MAABI:EMA(ABI,M);`
|
|
4118
|
+
};
|
|
4119
|
+
|
|
4120
|
+
return data;
|
|
4121
|
+
}
|
|
4122
|
+
|
|
3952
4123
|
|
|
3953
4124
|
|
|
3954
4125
|
|
|
@@ -4410,6 +4581,12 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
4410
4581
|
if (IFrameSplitOperator.IsNumber(item.ZIndex)) zindex=item.ZIndex;
|
|
4411
4582
|
if (item.Enable) this.CreateExtraCanvasElement(JSChart.RectDragCanvasKey, { ZIndex:zindex }); //创建独立的区间选择画布
|
|
4412
4583
|
}
|
|
4584
|
+
|
|
4585
|
+
if (option.DragKLine)
|
|
4586
|
+
{
|
|
4587
|
+
var item=option.DragKLine;
|
|
4588
|
+
if (IFrameSplitOperator.IsBool(item.EnableShfit)) chart.KLineDragConfig.EnableShfit=item.EnableShfit;
|
|
4589
|
+
}
|
|
4413
4590
|
}
|
|
4414
4591
|
|
|
4415
4592
|
//创建子窗口
|
|
@@ -4461,6 +4638,7 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
4461
4638
|
if (IFrameSplitOperator.IsNumber(item.PriceFormatType)) chart.ChartCorssCursor.StringFormatY.PriceFormatType=item.PriceFormatType;
|
|
4462
4639
|
if (IFrameSplitOperator.IsNumber(item.DataFormatType)) chart.ChartCorssCursor.StringFormatY.DataFormatType=item.DataFormatType;
|
|
4463
4640
|
if (IFrameSplitOperator.IsBool(item.EnableKeyboard)) chart.ChartCorssCursor.EnableKeyboard=item.EnableKeyboard;
|
|
4641
|
+
if (IFrameSplitOperator.IsBool(item.EnableDBClick)) chart.ChartCorssCursor.EnableDBClick=item.EnableDBClick;
|
|
4464
4642
|
|
|
4465
4643
|
if (IFrameSplitOperator.IsBool(item.IsShowCorssPoint)) chart.ChartCorssCursor.CorssPointConfig.Enable=item.IsShowCorssPoint;
|
|
4466
4644
|
|
|
@@ -4966,6 +5144,7 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
4966
5144
|
if (IFrameSplitOperator.IsNumber(item.HPenType)) chart.ChartCorssCursor.HPenType=item.HPenType;
|
|
4967
5145
|
if (IFrameSplitOperator.IsNumber(item.VPenType)) chart.ChartCorssCursor.VPenType=item.VPenType;
|
|
4968
5146
|
if (IFrameSplitOperator.IsBool(item.EnableKeyboard)) chart.ChartCorssCursor.EnableKeyboard=item.EnableKeyboard;
|
|
5147
|
+
if (IFrameSplitOperator.IsBool(item.EnableDBClick)) chart.ChartCorssCursor.EnableDBClick=item.EnableDBClick;
|
|
4969
5148
|
if (IFrameSplitOperator.IsBool(item.IsShowCorssPoint)) chart.ChartCorssCursor.CorssPointConfig.Enable=item.IsShowCorssPoint;
|
|
4970
5149
|
if (IFrameSplitOperator.IsNumber(item.VLineType)) chart.ChartCorssCursor.VLineType=item.VLineType;
|
|
4971
5150
|
}
|
|
@@ -6864,12 +7043,14 @@ var JSCHART_MENU_ID=
|
|
|
6864
7043
|
CMD_CORSS_ON_VAILD_TIME_ID:50, //超出当前时间的,X轴调整到当前最后的时间(分时图)
|
|
6865
7044
|
CMD_CORSS_ON_KLINE_ID:51, //十字光标只能画在K线上
|
|
6866
7045
|
CMD_CORSS_POINT_ID:52, //十字光标圆点
|
|
7046
|
+
|
|
6867
7047
|
|
|
6868
7048
|
CMD_RBUTTON_SELECT_RECT_ID:53, //右键区间选择
|
|
6869
7049
|
CMD_LBUTTON_SELECT_RECT_ID:54, //左键区间选择
|
|
6870
7050
|
CMD_ENABLE_XDRAG_BOTTOM_ID:55, //X轴拖动缩放
|
|
6871
7051
|
|
|
6872
7052
|
CMD_FULLSCREEN_SUMMARY_ID:56, //当前屏区间统计
|
|
7053
|
+
CMD_CORSS_DBCLICK_ID:57, //双击显示隐藏十字光标
|
|
6873
7054
|
|
|
6874
7055
|
|
|
6875
7056
|
|
|
@@ -8163,6 +8344,17 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
8163
8344
|
document.oncontextmenu=(e)=> { this.DocContextMenu(e); }
|
|
8164
8345
|
}
|
|
8165
8346
|
|
|
8347
|
+
|
|
8348
|
+
this.IsShfitDragKLine=function(e)
|
|
8349
|
+
{
|
|
8350
|
+
if (this.DragMode!=1) return false;
|
|
8351
|
+
if (!this.KLineDragConfig) return false;
|
|
8352
|
+
if (!this.KLineDragConfig.EnableShfit) return false;
|
|
8353
|
+
if (!e.shiftKey) return false;
|
|
8354
|
+
|
|
8355
|
+
return true;
|
|
8356
|
+
}
|
|
8357
|
+
|
|
8166
8358
|
this.DocOnMouseMove=function(e)
|
|
8167
8359
|
{
|
|
8168
8360
|
//加载数据中,禁用鼠标事件
|
|
@@ -8178,6 +8370,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
8178
8370
|
var moveSetpY=Math.abs(drag.LastMove.Y-e.clientY);
|
|
8179
8371
|
var isDragSelectRect=(this.RectSelectDrag && this.RectSelectDrag.Index>=0);
|
|
8180
8372
|
var isDragSubSelectRect=(this.RectSelectDrag && this.RectSelectDrag.Type==4);
|
|
8373
|
+
var bShfitDragKLine=this.IsShfitDragKLine(e); //shift+鼠标移动K线
|
|
8181
8374
|
if (drag.CurrentMove)
|
|
8182
8375
|
{
|
|
8183
8376
|
drag.CurrentMove.X=e.clientX;
|
|
@@ -8285,7 +8478,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
8285
8478
|
{
|
|
8286
8479
|
this.OnDragXCoordinateZoom(drag, {X:moveSetp, Y:moveSetpY}, e);
|
|
8287
8480
|
}
|
|
8288
|
-
else if ((bLButtonSelectRect || bRButtonSelectRect) && !isDragSelectRect && !isDragSubSelectRect) //左右键区间选择
|
|
8481
|
+
else if ((bLButtonSelectRect || bRButtonSelectRect) && !isDragSelectRect && !isDragSubSelectRect && !bShfitDragKLine) //左右键区间选择
|
|
8289
8482
|
{
|
|
8290
8483
|
var yMoveSetp=Math.abs(drag.LastMove.Y-e.clientY);
|
|
8291
8484
|
|
|
@@ -8397,6 +8590,9 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
8397
8590
|
var isLeft=true;
|
|
8398
8591
|
if (drag.LastMove.X<e.clientX) isLeft=false;//右移数据
|
|
8399
8592
|
|
|
8593
|
+
//按住shift才能移动K线
|
|
8594
|
+
if (this.KLineDragConfig && this.KLineDragConfig.EnableShfit && !e.shiftKey) return;
|
|
8595
|
+
|
|
8400
8596
|
var cursorStatus="pointer";
|
|
8401
8597
|
var oneStepWidth=this.GetMoveOneStepWidth();
|
|
8402
8598
|
if (moveSetp<oneStepWidth)
|
|
@@ -8494,6 +8690,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
8494
8690
|
var isDragSelectRect=(this.RectSelectDrag && this.RectSelectDrag.Index>=0);
|
|
8495
8691
|
var isDragSubSelectRect=(this.RectSelectDrag && this.RectSelectDrag.Type==4);
|
|
8496
8692
|
var bClearDrawPicture=true;
|
|
8693
|
+
var bShfitDragKLine=this.IsShfitDragKLine(e);
|
|
8497
8694
|
if (this.CurrentChartDrawPicture)
|
|
8498
8695
|
{
|
|
8499
8696
|
var drawPicture=this.CurrentChartDrawPicture;
|
|
@@ -8536,7 +8733,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
8536
8733
|
{
|
|
8537
8734
|
if (this.OnMinuteSelectRectMouseUp) this.OnMinuteSelectRectMouseUp(e); //分时图区间选择
|
|
8538
8735
|
}
|
|
8539
|
-
else if (bLButtonSelectRect || bRButtonSelectRect) //K线图区间选择
|
|
8736
|
+
else if ((bLButtonSelectRect || bRButtonSelectRect) && !bShfitDragKLine) //K线图区间选择
|
|
8540
8737
|
{
|
|
8541
8738
|
var drag=this.MouseDrag;
|
|
8542
8739
|
drag.LastMove.X=e.clientX;
|
|
@@ -9825,6 +10022,8 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
9825
10022
|
item.Draw();
|
|
9826
10023
|
}
|
|
9827
10024
|
|
|
10025
|
+
this.DrawExtendChartPaint(IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_5);
|
|
10026
|
+
|
|
9828
10027
|
if (this.Frame.DrawOveraly)
|
|
9829
10028
|
this.Frame.DrawOveraly(true); //画叠加指标
|
|
9830
10029
|
|
|
@@ -9848,9 +10047,14 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
9848
10047
|
item.Draw();
|
|
9849
10048
|
}
|
|
9850
10049
|
|
|
10050
|
+
this.DrawExtendChartPaint(IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_8);
|
|
10051
|
+
|
|
9851
10052
|
if (this.Frame.DrawOveraly)
|
|
9852
10053
|
this.Frame.DrawOveraly(false); //画叠加指标
|
|
9853
10054
|
|
|
10055
|
+
this.DrawExtendChartPaint(IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_10);
|
|
10056
|
+
|
|
10057
|
+
/*
|
|
9854
10058
|
//固定扩展图形
|
|
9855
10059
|
for(var i=0;i<this.ExtendChartPaint.length;++i)
|
|
9856
10060
|
{
|
|
@@ -9859,6 +10063,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
9859
10063
|
if (item.DrawAfterPicture) continue;
|
|
9860
10064
|
if (!item.IsDynamic && item.IsAnimation==false) item.Draw();
|
|
9861
10065
|
}
|
|
10066
|
+
*/
|
|
9862
10067
|
|
|
9863
10068
|
if (this.Frame.DrawInsideHorizontal) this.Frame.DrawInsideHorizontal();
|
|
9864
10069
|
this.KLineIncreaseCustomHorizontal();
|
|
@@ -9887,6 +10092,10 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
9887
10092
|
|
|
9888
10093
|
var moveonPoint=null;
|
|
9889
10094
|
if (this.LastMouseStatus && this.LastMouseStatus.MoveOnPoint) moveonPoint=this.LastMouseStatus.MoveOnPoint;
|
|
10095
|
+
|
|
10096
|
+
this.DrawExtendChartPaint(IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_20, { MoveonPoint:moveonPoint} );
|
|
10097
|
+
|
|
10098
|
+
/*
|
|
9890
10099
|
for(var i=0;i<this.ExtendChartPaint.length;++i) //动态扩展图形
|
|
9891
10100
|
{
|
|
9892
10101
|
var item=this.ExtendChartPaint[i];
|
|
@@ -9898,6 +10107,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
9898
10107
|
if (item.DrawToolbar) item.DrawToolbar(moveonPoint);
|
|
9899
10108
|
}
|
|
9900
10109
|
}
|
|
10110
|
+
*/
|
|
9901
10111
|
|
|
9902
10112
|
for(var i=0;i<this.ChartDrawPicture.length;++i)
|
|
9903
10113
|
{
|
|
@@ -9987,6 +10197,8 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
9987
10197
|
item.Draw(moveonPoint, this.LastMouseStatus);
|
|
9988
10198
|
}
|
|
9989
10199
|
|
|
10200
|
+
this.DrawExtendChartPaint(IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_25);
|
|
10201
|
+
/*
|
|
9990
10202
|
for(var i=0;i<this.ExtendChartPaint.length;++i) //动态扩展图形
|
|
9991
10203
|
{
|
|
9992
10204
|
var item=this.ExtendChartPaint[i];
|
|
@@ -9994,7 +10206,11 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
9994
10206
|
if (item.DrawAfterPicture) continue;
|
|
9995
10207
|
if (item.IsDynamic && item.DrawAfterTitle===true && item.IsAnimation==false) item.Draw();
|
|
9996
10208
|
}
|
|
10209
|
+
*/
|
|
10210
|
+
|
|
10211
|
+
if (this.EnableAnimation) this.DrawExtendChartPaint(IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_30);
|
|
9997
10212
|
|
|
10213
|
+
/*
|
|
9998
10214
|
if (this.EnableAnimation)
|
|
9999
10215
|
{
|
|
10000
10216
|
for(var i=0;i<this.ExtendChartPaint.length;++i) //动画
|
|
@@ -10003,6 +10219,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
10003
10219
|
if (item.IsAnimation===true) item.Draw();
|
|
10004
10220
|
}
|
|
10005
10221
|
}
|
|
10222
|
+
*/
|
|
10006
10223
|
|
|
10007
10224
|
for(var i=0;i<this.ChartDrawPicture.length;++i)
|
|
10008
10225
|
{
|
|
@@ -10021,12 +10238,15 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
10021
10238
|
this.CurrentChartDrawPicture.Draw();
|
|
10022
10239
|
}
|
|
10023
10240
|
|
|
10241
|
+
this.DrawExtendChartPaint(IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_50);
|
|
10242
|
+
/*
|
|
10024
10243
|
for(var i=0;i<this.ExtendChartPaint.length;++i) //画图工具绘制完成以后 动态扩展图形
|
|
10025
10244
|
{
|
|
10026
10245
|
var item=this.ExtendChartPaint[i];
|
|
10027
10246
|
if (item.DrawAfterPicture)
|
|
10028
10247
|
item.Draw();
|
|
10029
10248
|
}
|
|
10249
|
+
*/
|
|
10030
10250
|
|
|
10031
10251
|
this.OffscreenToShowCanvas();
|
|
10032
10252
|
|
|
@@ -10055,6 +10275,45 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
10055
10275
|
++this.TouchDrawCount;
|
|
10056
10276
|
}
|
|
10057
10277
|
|
|
10278
|
+
this.DrawExtendChartPaint=function(level, option)
|
|
10279
|
+
{
|
|
10280
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(this.ExtendChartPaint)) return;
|
|
10281
|
+
|
|
10282
|
+
//扩展图形
|
|
10283
|
+
for(var i=0;i<this.ExtendChartPaint.length;++i)
|
|
10284
|
+
{
|
|
10285
|
+
var item=this.ExtendChartPaint[i];
|
|
10286
|
+
if (item.IsCallbackDraw) continue;
|
|
10287
|
+
|
|
10288
|
+
var value=item.GetPriority(); //绘图优先级
|
|
10289
|
+
if (value!=level) continue;
|
|
10290
|
+
|
|
10291
|
+
if (level==IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_20)
|
|
10292
|
+
{
|
|
10293
|
+
item.Draw();
|
|
10294
|
+
if (item.DrawToolbar && option) item.DrawToolbar(option.MoveonPoint, option.LastMouseStatus);
|
|
10295
|
+
}
|
|
10296
|
+
else if (level==IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_25 && option)
|
|
10297
|
+
{
|
|
10298
|
+
if (item.ClassName=='KLineTooltipPaint' && option)
|
|
10299
|
+
{
|
|
10300
|
+
if (option.Tooltip==false) continue;
|
|
10301
|
+
if (option.Point) item.LatestPoint=option.Point;
|
|
10302
|
+
}
|
|
10303
|
+
else if (item.ClassName=="MinuteTooltipPaint" && option)
|
|
10304
|
+
{
|
|
10305
|
+
if (option.Point) item.LatestPoint=option.Point;
|
|
10306
|
+
}
|
|
10307
|
+
|
|
10308
|
+
item.Draw(option.MoveonPoint, option.LastMouseStatus);
|
|
10309
|
+
}
|
|
10310
|
+
else
|
|
10311
|
+
{
|
|
10312
|
+
item.Draw();
|
|
10313
|
+
}
|
|
10314
|
+
}
|
|
10315
|
+
}
|
|
10316
|
+
|
|
10058
10317
|
this.PtInButton=function(x, y)
|
|
10059
10318
|
{
|
|
10060
10319
|
var button=this.Frame.PtInButtons(x,y);
|
|
@@ -10367,6 +10626,10 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
10367
10626
|
|
|
10368
10627
|
var moveonPoint=null;
|
|
10369
10628
|
if (this.LastMouseStatus && this.LastMouseStatus.MoveOnPoint) moveonPoint=this.LastMouseStatus.MoveOnPoint;
|
|
10629
|
+
|
|
10630
|
+
this.DrawExtendChartPaint(IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_20, { MoveonPoint:moveonPoint, LastMouseStatus:this.LastMouseStatus } );
|
|
10631
|
+
|
|
10632
|
+
/*
|
|
10370
10633
|
for(var i=0;i<this.ExtendChartPaint.length;++i) //动态扩展图形
|
|
10371
10634
|
{
|
|
10372
10635
|
var item=this.ExtendChartPaint[i];
|
|
@@ -10378,6 +10641,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
10378
10641
|
if (item.DrawToolbar) item.DrawToolbar(moveonPoint, this.LastMouseStatus);
|
|
10379
10642
|
}
|
|
10380
10643
|
}
|
|
10644
|
+
*/
|
|
10381
10645
|
|
|
10382
10646
|
for(var i=0;i<this.ChartDrawPicture.length;++i)
|
|
10383
10647
|
{
|
|
@@ -10476,6 +10740,15 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
10476
10740
|
item.Draw(moveonPoint, this.LastMouseStatus);
|
|
10477
10741
|
}
|
|
10478
10742
|
|
|
10743
|
+
|
|
10744
|
+
var exChartOption={ MoveonPoint:moveonPoint, LastMouseStatus:this.LastMouseStatus };
|
|
10745
|
+
if (option)
|
|
10746
|
+
{
|
|
10747
|
+
exChartOption.Tooltip=option.Tooltip;
|
|
10748
|
+
exChartOption.Point=option.Point;
|
|
10749
|
+
}
|
|
10750
|
+
this.DrawExtendChartPaint(IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_25,exChartOption);
|
|
10751
|
+
/*
|
|
10479
10752
|
for(var i=0;i<this.ExtendChartPaint.length;++i) //动态扩展图形 在动态标题以后画
|
|
10480
10753
|
{
|
|
10481
10754
|
var item=this.ExtendChartPaint[i];
|
|
@@ -10493,7 +10766,10 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
10493
10766
|
|
|
10494
10767
|
if (item.IsDynamic && item.DrawAfterTitle===true) item.Draw(moveonPoint, this.LastMouseStatus);
|
|
10495
10768
|
}
|
|
10769
|
+
*/
|
|
10496
10770
|
|
|
10771
|
+
if (this.EnableAnimation) this.DrawExtendChartPaint(IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_30);
|
|
10772
|
+
/*
|
|
10497
10773
|
if (this.EnableAnimation)
|
|
10498
10774
|
{
|
|
10499
10775
|
for(var i=0;i<this.ExtendChartPaint.length;++i) //动画
|
|
@@ -10502,6 +10778,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
10502
10778
|
if (item.IsAnimation===true) item.Draw();
|
|
10503
10779
|
}
|
|
10504
10780
|
}
|
|
10781
|
+
*/
|
|
10505
10782
|
|
|
10506
10783
|
for(var i=0;i<this.ChartDrawPicture.length;++i)
|
|
10507
10784
|
{
|
|
@@ -10523,12 +10800,15 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
10523
10800
|
this.CurrentChartDrawPicture.Draw();
|
|
10524
10801
|
}
|
|
10525
10802
|
|
|
10803
|
+
this.DrawExtendChartPaint(IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_50);
|
|
10804
|
+
/*
|
|
10526
10805
|
for(var i=0;i<this.ExtendChartPaint.length;++i) //动态扩展图形
|
|
10527
10806
|
{
|
|
10528
10807
|
var item=this.ExtendChartPaint[i];
|
|
10529
10808
|
if (item.DrawAfterPicture)
|
|
10530
10809
|
item.Draw();
|
|
10531
10810
|
}
|
|
10811
|
+
*/
|
|
10532
10812
|
|
|
10533
10813
|
if (this.LastMouseStatus.MouseOnToolbar) //工具栏按钮提示信息
|
|
10534
10814
|
{
|
|
@@ -11005,7 +11285,12 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
11005
11285
|
}
|
|
11006
11286
|
|
|
11007
11287
|
var draw=false;
|
|
11008
|
-
if (this.
|
|
11288
|
+
if (keyID==27 && this.PopMinuteChart && this.PopMinuteChart.IsShow())
|
|
11289
|
+
{
|
|
11290
|
+
this.PopMinuteChart.Close();
|
|
11291
|
+
draw=true;
|
|
11292
|
+
}
|
|
11293
|
+
else if (this.ChartCorssCursor && this.ChartCorssCursor.OnKeyDown) //十字光标 隐藏显示
|
|
11009
11294
|
{
|
|
11010
11295
|
var sendData={ e:e, KeyID:keyID, Draw:false, PreventDefault:false };
|
|
11011
11296
|
this.ChartCorssCursor.OnKeyDown(sendData);
|
|
@@ -11169,6 +11454,9 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
11169
11454
|
this.CurrentChartDrawPicture=null;
|
|
11170
11455
|
}
|
|
11171
11456
|
break;
|
|
11457
|
+
case 13: //回车
|
|
11458
|
+
if (this.OnCustomKeyDown) this.OnCustomKeyDown(keyID, e);
|
|
11459
|
+
break;
|
|
11172
11460
|
default:
|
|
11173
11461
|
return;
|
|
11174
11462
|
}
|
|
@@ -11182,7 +11470,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
11182
11470
|
|
|
11183
11471
|
this.OnDoubleClick=function(x,y,e)
|
|
11184
11472
|
{
|
|
11185
|
-
|
|
11473
|
+
|
|
11186
11474
|
}
|
|
11187
11475
|
|
|
11188
11476
|
this.ZoomIndexWindow=function(frameID, option) //最大化/最小化指标窗口
|
|
@@ -14538,6 +14826,9 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
14538
14826
|
case JSCHART_MENU_ID.CMD_CORSS_POINT_ID:
|
|
14539
14827
|
if (IFrameSplitOperator.IsBool(srcParam) && this.ChartCorssCursor) this.ChartCorssCursor.CorssPointConfig.Enable=srcParam;
|
|
14540
14828
|
break;
|
|
14829
|
+
case JSCHART_MENU_ID.CMD_CORSS_DBCLICK_ID:
|
|
14830
|
+
if (IFrameSplitOperator.IsBool(srcParam) && this.ChartCorssCursor) this.ChartCorssCursor.EnableDBClick=srcParam;
|
|
14831
|
+
break;
|
|
14541
14832
|
case JSCHART_MENU_ID.CMD_RBUTTON_SELECT_RECT_ID:
|
|
14542
14833
|
if (IFrameSplitOperator.IsBool(srcParam) && this.ChartDragSelectRect) this.ChartDragSelectRect.EnableRButton=srcParam;
|
|
14543
14834
|
break;
|
|
@@ -49220,12 +49511,34 @@ function IExtendChartPainting()
|
|
|
49220
49511
|
this.IsCallbackDraw=false; //在回调函数里绘制, 不在Draw()中绘制
|
|
49221
49512
|
this.ID=Guid();
|
|
49222
49513
|
|
|
49514
|
+
this.DrawPriority=null; //绘图优先级
|
|
49515
|
+
|
|
49223
49516
|
//上下左右间距
|
|
49224
49517
|
this.Left=5;
|
|
49225
49518
|
this.Right=5;
|
|
49226
49519
|
this.Top=5;
|
|
49227
49520
|
this.Bottom=5;
|
|
49228
49521
|
|
|
49522
|
+
|
|
49523
|
+
this.GetPriority=function()
|
|
49524
|
+
{
|
|
49525
|
+
if (IFrameSplitOperator.IsNumber(this.DrawPriority)) return this.DrawPriority; //新版本
|
|
49526
|
+
|
|
49527
|
+
//老版本转换
|
|
49528
|
+
|
|
49529
|
+
if (!this.IsDynamic && !this.DrawAfterPicture) return IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_10;
|
|
49530
|
+
|
|
49531
|
+
if (this.DrawAfterTitle===false && this.IsAnimation==false) return IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_20;
|
|
49532
|
+
|
|
49533
|
+
if (this.DrawAfterTitle===true) return IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_25;
|
|
49534
|
+
|
|
49535
|
+
if (this.IsAnimation===true) return IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_35;
|
|
49536
|
+
|
|
49537
|
+
if (this.DrawAfterPicture===true) IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_50;
|
|
49538
|
+
|
|
49539
|
+
return IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_50
|
|
49540
|
+
}
|
|
49541
|
+
|
|
49229
49542
|
this.Draw=function()
|
|
49230
49543
|
{
|
|
49231
49544
|
|
|
@@ -49262,6 +49575,23 @@ function IExtendChartPainting()
|
|
|
49262
49575
|
}
|
|
49263
49576
|
}
|
|
49264
49577
|
|
|
49578
|
+
//绘图优先级
|
|
49579
|
+
IExtendChartPainting.DRAW_PRIORITY_ID=
|
|
49580
|
+
{
|
|
49581
|
+
LEVEL_1:1,
|
|
49582
|
+
LEVEL_5:5, // 叠加指数图形前面 指标图形 IsDrawFirst=true
|
|
49583
|
+
LEVEL_8:8, // 叠加指数图形前面 指标图形 IsDrawFirst=false
|
|
49584
|
+
LEVEL_10:10, // IsDynamic=false
|
|
49585
|
+
|
|
49586
|
+
LEVEL_20:20, // IsDynamic=true
|
|
49587
|
+
|
|
49588
|
+
LEVEL_25:25, // DrawAfterTitle=true 标题栏绘制完成以后
|
|
49589
|
+
|
|
49590
|
+
LEVEL_35:35, // IsAnimation=true
|
|
49591
|
+
|
|
49592
|
+
LEVEL_50:50, // DrawAfterPicture=true; 是否在画图工具以后绘制
|
|
49593
|
+
}
|
|
49594
|
+
|
|
49265
49595
|
//K线Tooltip, 显示在左边或右边
|
|
49266
49596
|
function KLineTooltipPaint()
|
|
49267
49597
|
{
|
|
@@ -49281,6 +49611,7 @@ function KLineTooltipPaint()
|
|
|
49281
49611
|
this.AmountColor=g_JSChartResource.TooltipPaint.AmountColor; //成交金额
|
|
49282
49612
|
this.LatestPoint; //手势位置
|
|
49283
49613
|
this.ShowPosition=0; //显示位置 0=左 1=右
|
|
49614
|
+
this.DrawPriority=IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_25;
|
|
49284
49615
|
|
|
49285
49616
|
this.Left=1*GetDevicePixelRatio();
|
|
49286
49617
|
this.Top=5*GetDevicePixelRatio();
|
|
@@ -50024,6 +50355,7 @@ function MinuteLeftTooltipPaint()
|
|
|
50024
50355
|
this.IsDynamic=true;
|
|
50025
50356
|
this.IsEraseBG=true;
|
|
50026
50357
|
this.DrawAfterTitle=true;
|
|
50358
|
+
this.DrawPriority=IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_25;
|
|
50027
50359
|
this.ClassName='MinuteLeftTooltipPaint';
|
|
50028
50360
|
this.BorderColor=g_JSChartResource.PCTooltipPaint.BorderColor; //边框颜色
|
|
50029
50361
|
this.BGColor=g_JSChartResource.PCTooltipPaint.BGColor; //背景色
|
|
@@ -50434,6 +50766,7 @@ function StockChip()
|
|
|
50434
50766
|
this.PixelRatio=GetDevicePixelRatio();
|
|
50435
50767
|
this.ShowType=0; //0=所有筹码 1=周期前 2=周期内
|
|
50436
50768
|
this.IsDynamic=true;
|
|
50769
|
+
this.DrawPriority=IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_20;
|
|
50437
50770
|
this.ClientRect={};
|
|
50438
50771
|
this.Font=g_JSChartResource.StockChip.Font;
|
|
50439
50772
|
this.InfoColor=g_JSChartResource.StockChip.InfoColor;
|
|
@@ -54113,6 +54446,7 @@ function FrameButtomToolbarPaint()
|
|
|
54113
54446
|
this.FrameGuid=null;
|
|
54114
54447
|
this.IsDynamic=true;
|
|
54115
54448
|
this.DrawAfterTitle=true;
|
|
54449
|
+
this.DrawPriority=IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_25;
|
|
54116
54450
|
|
|
54117
54451
|
this.AryButton=[]; // { Title:, ID:, Data:数据, TooltipText:提示信息 }
|
|
54118
54452
|
this.SelectedID=null; // 选中按钮ID
|
|
@@ -58258,6 +58592,7 @@ function ChartCorssCursor()
|
|
|
58258
58592
|
this.CallAcutionXOperator;
|
|
58259
58593
|
|
|
58260
58594
|
this.EnableKeyboard=false; //是否支持键盘隐藏显示
|
|
58595
|
+
this.EnableDBClick=false; //是否允许双击显示|隐藏十字光标
|
|
58261
58596
|
this.OnChangeStatusCallback; //状态切换以后回调
|
|
58262
58597
|
|
|
58263
58598
|
|
|
@@ -59486,6 +59821,27 @@ function ChartCorssCursor()
|
|
|
59486
59821
|
}
|
|
59487
59822
|
}
|
|
59488
59823
|
|
|
59824
|
+
this.OnDBClick=function(data)
|
|
59825
|
+
{
|
|
59826
|
+
if (!this.EnableDBClick) return;
|
|
59827
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(this.Frame.SubFrame)) return;
|
|
59828
|
+
|
|
59829
|
+
//在主图框架内
|
|
59830
|
+
var frame=this.Frame.SubFrame[0].Frame;
|
|
59831
|
+
if (!frame) return;
|
|
59832
|
+
|
|
59833
|
+
var border=frame.GetBorder();
|
|
59834
|
+
var rtClient={ Left:border.Left, Top:border.Top, Bottom:border.Bottom, Right:border.Right };
|
|
59835
|
+
var x=data.X, y=data.Y;
|
|
59836
|
+
if (x>=rtClient.Left && x<=rtClient.Right && y>=rtClient.Top && y<=rtClient.Bottom)
|
|
59837
|
+
{
|
|
59838
|
+
this.IsShowCorss=!this.IsShowCorss
|
|
59839
|
+
data.Draw=true;
|
|
59840
|
+
|
|
59841
|
+
if (this.OnChangeStatusCallback) this.OnChangeStatusCallback({ Type:1, IsShowCorss:this.IsShowCorss }, this);
|
|
59842
|
+
}
|
|
59843
|
+
}
|
|
59844
|
+
|
|
59489
59845
|
|
|
59490
59846
|
this.DrawCorssPoint=function(x,y)
|
|
59491
59847
|
{
|
|
@@ -80307,6 +80663,8 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
80307
80663
|
{ KeyID:87, SecondKeyID:3, CMD:JSCHART_MENU_ID.CMD_FULLSCREEN_SUMMARY_ID, Args:null, Description:"Alt+W 全屏区间统计" },
|
|
80308
80664
|
]
|
|
80309
80665
|
|
|
80666
|
+
this.KLineDragConfig={ EnableShfit:false }; //是否启动Shift+鼠标拖动K线
|
|
80667
|
+
|
|
80310
80668
|
this.GetKLineCalulate=function()
|
|
80311
80669
|
{
|
|
80312
80670
|
var kLineDrawType=this.GetKLineDrawType();
|
|
@@ -81379,6 +81737,10 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
81379
81737
|
this.MoveCorssCursorDown(this.ShiftUpDownStepPixel);
|
|
81380
81738
|
return true;
|
|
81381
81739
|
}
|
|
81740
|
+
else if (keyID==13) //回车显示分时图
|
|
81741
|
+
{
|
|
81742
|
+
this.OnEnterKeyDown();
|
|
81743
|
+
}
|
|
81382
81744
|
else
|
|
81383
81745
|
{
|
|
81384
81746
|
return false;
|
|
@@ -81518,6 +81880,30 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
81518
81880
|
this.ShowTooltipByKeyDown();
|
|
81519
81881
|
}
|
|
81520
81882
|
|
|
81883
|
+
this.OnEnterKeyDown=function()
|
|
81884
|
+
{
|
|
81885
|
+
if (!this.PopMinuteChart) return false;
|
|
81886
|
+
if (!ChartData.IsDayPeriod(this.Period,true)) return false; //只支持日K
|
|
81887
|
+
if (!this.ChartCorssCursor || !this.ChartCorssCursor.IsShowCorss || this.ChartCorssCursor.ClientPos<0) return false;
|
|
81888
|
+
var index=this.ChartCorssCursor.CursorIndex;
|
|
81889
|
+
index=parseInt(index.toFixed(0));
|
|
81890
|
+
var kData=this.GetKData();
|
|
81891
|
+
if (!kData || !IFrameSplitOperator.IsNonEmptyArray(kData.Data)) return false;
|
|
81892
|
+
var dataIndex=kData.DataOffset+index;
|
|
81893
|
+
if (dataIndex<0 || dataIndex>=kData.Data.length) return false;
|
|
81894
|
+
|
|
81895
|
+
var kItem = kData.Data[dataIndex];
|
|
81896
|
+
if (!kItem) return false;
|
|
81897
|
+
|
|
81898
|
+
var frame=this.Frame.SubFrame[0].Frame;
|
|
81899
|
+
var x=frame.GetXFromIndex(index);
|
|
81900
|
+
var y=frame.GetYFromData(kItem.Close);
|
|
81901
|
+
|
|
81902
|
+
var data={ Chart:this, Tooltip:{ ChartPaint:this.ChartPaint[0], Data:kItem } };
|
|
81903
|
+
|
|
81904
|
+
this.ShowMinuteChartDialog(data, x, y);
|
|
81905
|
+
}
|
|
81906
|
+
|
|
81521
81907
|
//获取K线图实例
|
|
81522
81908
|
this.GetKLineChart=function()
|
|
81523
81909
|
{
|
|
@@ -86275,12 +86661,14 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
86275
86661
|
var bCorssDrawKLine=false;
|
|
86276
86662
|
var bCorssDrawVaildTime=false;
|
|
86277
86663
|
var bCorssDrawPoint=false;
|
|
86664
|
+
var bCorssBCClick=false;
|
|
86278
86665
|
if (this.ChartCorssCursor)
|
|
86279
86666
|
{
|
|
86280
86667
|
bShowCorss=this.ChartCorssCursor.IsShowCorss;
|
|
86281
86668
|
bCorssDrawKLine=this.ChartCorssCursor.IsOnlyDrawKLine && this.ChartCorssCursor.IsShowClose;
|
|
86282
86669
|
bCorssDrawVaildTime=this.ChartCorssCursor.IsFixXLastTime;
|
|
86283
86670
|
bCorssDrawPoint=this.ChartCorssCursor.CorssPointConfig.Enable;
|
|
86671
|
+
bCorssBCClick=this.ChartCorssCursor.EnableDBClick;
|
|
86284
86672
|
}
|
|
86285
86673
|
|
|
86286
86674
|
var bPopMinuteChart=false;
|
|
@@ -86466,6 +86854,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
86466
86854
|
{ Name:"显示在K线上", Data:{ ID:JSCHART_MENU_ID.CMD_CORSS_ON_KLINE_ID, Args:[!bCorssDrawKLine]}, Checked:bCorssDrawKLine },
|
|
86467
86855
|
{ Name:"画在有效X轴上",Data:{ ID:JSCHART_MENU_ID.CMD_CORSS_ON_VAILD_TIME_ID, Args:[!bCorssDrawVaildTime]}, Checked:bCorssDrawVaildTime },
|
|
86468
86856
|
{ Name:"画圆点",Data:{ ID:JSCHART_MENU_ID.CMD_CORSS_POINT_ID, Args:[!bCorssDrawPoint]}, Checked:bCorssDrawPoint },
|
|
86857
|
+
{ Name:"双击显示/隐藏", Data:{ ID:JSCHART_MENU_ID.CMD_CORSS_DBCLICK_ID, Args:[!bCorssBCClick]}, Checked:bCorssBCClick },
|
|
86469
86858
|
]
|
|
86470
86859
|
},
|
|
86471
86860
|
{
|
|
@@ -86939,6 +87328,14 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
86939
87328
|
|
|
86940
87329
|
this.OnDoubleClick=function(x,y,e)
|
|
86941
87330
|
{
|
|
87331
|
+
var bDraw=false;
|
|
87332
|
+
if (this.ChartCorssCursor)
|
|
87333
|
+
{
|
|
87334
|
+
var data={ e:e, X:x, Y:y, Draw:false };
|
|
87335
|
+
this.ChartCorssCursor.OnDBClick(data);
|
|
87336
|
+
bDraw=data.Draw
|
|
87337
|
+
}
|
|
87338
|
+
|
|
86942
87339
|
if (this.EnableYDrag && (this.EnableYDrag.Left || this.EnableYDrag.Right) && this.Frame && this.Frame.PtInFrameY)
|
|
86943
87340
|
{
|
|
86944
87341
|
var pixelTatio = GetDevicePixelRatio();
|
|
@@ -86975,6 +87372,8 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
86975
87372
|
}
|
|
86976
87373
|
}
|
|
86977
87374
|
|
|
87375
|
+
if (bDraw) this.Draw();
|
|
87376
|
+
|
|
86978
87377
|
var tooltip=new TooltipData();
|
|
86979
87378
|
if (!this.PtInChartPaintTooltip(x,y,tooltip))
|
|
86980
87379
|
{
|
|
@@ -90536,12 +90935,14 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
90536
90935
|
var bCorssDrawCloseLine=false; //十字光标只能画在走势图价格线上
|
|
90537
90936
|
var bCorssDrawVaildTime=false;
|
|
90538
90937
|
var bCorssDrawPoint=false;
|
|
90938
|
+
var bCorssBCClick=false;
|
|
90539
90939
|
if (this.ChartCorssCursor)
|
|
90540
90940
|
{
|
|
90541
90941
|
bShowCorss=this.ChartCorssCursor.IsShowCorss;
|
|
90542
90942
|
bCorssDrawCloseLine=this.ChartCorssCursor.IsOnlyDrawMinute;
|
|
90543
90943
|
bCorssDrawVaildTime=this.ChartCorssCursor.IsFixXLastTime;
|
|
90544
90944
|
bCorssDrawPoint=this.ChartCorssCursor.CorssPointConfig.Enable;
|
|
90945
|
+
bCorssBCClick=this.ChartCorssCursor.EnableDBClick;
|
|
90545
90946
|
}
|
|
90546
90947
|
|
|
90547
90948
|
var bRButtonSelectRect=false,bLButtonSelectRect=false;
|
|
@@ -90638,6 +91039,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
90638
91039
|
{ Name:"画在价格线上", Data:{ ID:JSCHART_MENU_ID.CMD_CORSS_ON_CLOSE_LINE_ID, Args:[!bCorssDrawCloseLine]}, Checked:bCorssDrawCloseLine },
|
|
90639
91040
|
{ Name:"画在有效X轴上",Data:{ ID:JSCHART_MENU_ID.CMD_CORSS_ON_VAILD_TIME_ID, Args:[!bCorssDrawVaildTime]}, Checked:bCorssDrawVaildTime },
|
|
90640
91041
|
{ Name:"画圆点",Data:{ ID:JSCHART_MENU_ID.CMD_CORSS_POINT_ID, Args:[!bCorssDrawPoint]}, Checked:bCorssDrawPoint },
|
|
91042
|
+
{ Name:"双击显示/隐藏", Data:{ ID:JSCHART_MENU_ID.CMD_CORSS_DBCLICK_ID, Args:[!bCorssBCClick]}, Checked:bCorssBCClick },
|
|
90641
91043
|
]
|
|
90642
91044
|
},
|
|
90643
91045
|
|
|
@@ -90778,6 +91180,14 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
90778
91180
|
{
|
|
90779
91181
|
JSConsole.Chart.Log("[MinuteChartContainer::OnDoubleClick]", e);
|
|
90780
91182
|
|
|
91183
|
+
var bDraw=false;
|
|
91184
|
+
if (this.ChartCorssCursor)
|
|
91185
|
+
{
|
|
91186
|
+
var data={ e:e, X:x, Y:y, Draw:false };
|
|
91187
|
+
this.ChartCorssCursor.OnDBClick(data);
|
|
91188
|
+
bDraw=data.Draw
|
|
91189
|
+
}
|
|
91190
|
+
|
|
90781
91191
|
if (this.EnableYDrag && (this.EnableYDrag.Left || this.EnableYDrag.Right) && this.Frame && this.Frame.PtInFrameY)
|
|
90782
91192
|
{
|
|
90783
91193
|
var pixelTatio = GetDevicePixelRatio();
|
|
@@ -90815,10 +91225,12 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
90815
91225
|
if (this.ZoomIndexWindow(frameId, {X:x, Y:y}))
|
|
90816
91226
|
{
|
|
90817
91227
|
this.Frame.SetSizeChage(true);
|
|
90818
|
-
|
|
91228
|
+
bDraw=true;
|
|
90819
91229
|
}
|
|
90820
91230
|
}
|
|
90821
91231
|
}
|
|
91232
|
+
|
|
91233
|
+
if (bDraw) this.Draw();
|
|
90822
91234
|
}
|
|
90823
91235
|
|
|
90824
91236
|
this.GetDataItem=function(pointInfo)
|
|
@@ -104474,7 +104886,7 @@ function Node(ErrorHandler)
|
|
|
104474
104886
|
//CAPITAL流通股本(手), EXCHANGE 换手率, TOTALCAPITAL 总股本(手)
|
|
104475
104887
|
let setVariantName=new Set(
|
|
104476
104888
|
[
|
|
104477
|
-
"CAPITAL","TOTALCAPITAL","EXCHANGE",
|
|
104889
|
+
"CAPITAL","TOTALCAPITAL","EXCHANGE","HSL",
|
|
104478
104890
|
"HYBLOCK","DYBLOCK","GNBLOCK","FGBLOCK","ZSBLOCK","ZHBLOCK","ZDBLOCK","HYZSCODE",
|
|
104479
104891
|
"GNBLOCKNUM","FGBLOCKNUM","ZSBLOCKNUM","ZHBLOCKNUM","ZDBLOCKNUM",
|
|
104480
104892
|
"HYSYL","HYSJL","FROMOPEN",
|
|
@@ -118018,7 +118430,7 @@ function JSSymbolData(ast,option,jsExecute)
|
|
|
118018
118430
|
{
|
|
118019
118431
|
var dataType=0;
|
|
118020
118432
|
if (IFrameSplitOperator.IsNumber(recvData.DataType)) dataType=recvData.DataType;
|
|
118021
|
-
self.RecvStockValue(recvData.Data,jobItem,key,dataType);
|
|
118433
|
+
self.RecvStockValue(recvData.Data,jobItem,key,dataType,recvData);
|
|
118022
118434
|
}
|
|
118023
118435
|
|
|
118024
118436
|
self.Execute.RunNextJob();
|
|
@@ -118033,7 +118445,7 @@ function JSSymbolData(ast,option,jsExecute)
|
|
|
118033
118445
|
};
|
|
118034
118446
|
|
|
118035
118447
|
var apiDownload;
|
|
118036
|
-
if (jobItem.VariantName=="CAPITAL" || jobItem.VariantName=="TOTALCAPITAL" || jobItem.VariantName=="EXCHANGE")
|
|
118448
|
+
if (jobItem.VariantName=="CAPITAL" || jobItem.VariantName=="TOTALCAPITAL" || jobItem.VariantName=="EXCHANGE" || jobItem.VariantName=="HSL")
|
|
118037
118449
|
{
|
|
118038
118450
|
var callback=function(recvData, jobItem, key)
|
|
118039
118451
|
{
|
|
@@ -118228,7 +118640,7 @@ function JSSymbolData(ast,option,jsExecute)
|
|
|
118228
118640
|
}
|
|
118229
118641
|
}
|
|
118230
118642
|
|
|
118231
|
-
this.RecvStockValue=function(recvData,jobItem,key,dataType)
|
|
118643
|
+
this.RecvStockValue=function(recvData,jobItem,key,dataType, srcData)
|
|
118232
118644
|
{
|
|
118233
118645
|
if (!recvData)
|
|
118234
118646
|
{
|
|
@@ -118259,8 +118671,9 @@ function JSSymbolData(ast,option,jsExecute)
|
|
|
118259
118671
|
var bindData=new ChartData();
|
|
118260
118672
|
bindData.Data=aryFittingData;
|
|
118261
118673
|
var result=bindData.GetValue();
|
|
118674
|
+
var bVersion2=srcData && srcData.Ver==2; //2.0 版本
|
|
118262
118675
|
|
|
118263
|
-
if (key=="EXCHANGE") //计算换手率=成交量/流通股本*100
|
|
118676
|
+
if (!bVersion2 && (key=="EXCHANGE" || key=="HSL")) //计算换手率=成交量/流通股本*100
|
|
118264
118677
|
{
|
|
118265
118678
|
for(var i in result)
|
|
118266
118679
|
{
|
|
@@ -120280,7 +120693,7 @@ function JSExecute(ast,option)
|
|
|
120280
120693
|
|
|
120281
120694
|
['CAPITAL',null], //流通股本(手)
|
|
120282
120695
|
["TOTALCAPITAL",null], //TOTALCAPITAL 当前总股本 手
|
|
120283
|
-
['EXCHANGE',null], //换手率
|
|
120696
|
+
['EXCHANGE',null], ["HSL",null], //换手率
|
|
120284
120697
|
['SETCODE', null], //市场类型
|
|
120285
120698
|
['CODE',null], //品种代码
|
|
120286
120699
|
['STKNAME',null], //品种名称
|
|
@@ -120530,6 +120943,7 @@ function JSExecute(ast,option)
|
|
|
120530
120943
|
case "TOTALCAPITAL":
|
|
120531
120944
|
case 'CAPITAL':
|
|
120532
120945
|
case 'EXCHANGE':
|
|
120946
|
+
case "HSL":
|
|
120533
120947
|
|
|
120534
120948
|
case "HYBLOCK":
|
|
120535
120949
|
case "DYBLOCK":
|
|
@@ -122197,7 +122611,7 @@ function JSExplainer(ast,option)
|
|
|
122197
122611
|
['BARSTATUS',"数据位置状态"], //BARSTATUS返回数据位置信息,1表示第一根K线,2表示最后一个数据,0表示中间位置.
|
|
122198
122612
|
|
|
122199
122613
|
['CAPITAL',"当前流通股本(手)"], ["TOTALCAPITAL","当前总股本(手)"],
|
|
122200
|
-
['EXCHANGE',"换手率"],
|
|
122614
|
+
['EXCHANGE',"换手率"], ['HSL',"换手线"],
|
|
122201
122615
|
['SETCODE', "市场类型"], //市场类型
|
|
122202
122616
|
['CODE',"品种代码"], //品种代码
|
|
122203
122617
|
['STKNAME',"品种名称"], //品种名称
|
|
@@ -129455,6 +129869,7 @@ function DownloadFinanceData(obj)
|
|
|
129455
129869
|
case 1: //FINANCE(1) 总股本(随时间可能有变化) 股
|
|
129456
129870
|
case 7: //FINANCE(7) 流通股本(随时间可能有变化) 股
|
|
129457
129871
|
case "EXCHANGE": //换手率
|
|
129872
|
+
case "HSL"://换手率
|
|
129458
129873
|
this.DownloadHistoryData(id);
|
|
129459
129874
|
break;
|
|
129460
129875
|
case 3:
|
|
@@ -129581,6 +129996,7 @@ function DownloadFinanceData(obj)
|
|
|
129581
129996
|
return ["capital.total", "capital.date"];
|
|
129582
129997
|
case 7:
|
|
129583
129998
|
return ["capital.a", "capital.date"];
|
|
129999
|
+
case "HSL":
|
|
129584
130000
|
case "EXCHANGE":
|
|
129585
130001
|
return ["capital.a", "capital.date"];
|
|
129586
130002
|
|
|
@@ -129714,6 +130130,7 @@ function DownloadFinanceData(obj)
|
|
|
129714
130130
|
if (!item.capital) return null;
|
|
129715
130131
|
return { Date:date, Value:item.capital.total };
|
|
129716
130132
|
case 7:
|
|
130133
|
+
case "HSL": //换手率
|
|
129717
130134
|
case "EXCHANGE": //换手率 历史流通股本
|
|
129718
130135
|
if (!item.capital) return null;
|
|
129719
130136
|
return { Date:date, Value:item.capital.a };
|
|
@@ -155134,7 +155551,17 @@ JSDialogSearchIndex.GetDefaultIndexData=function()
|
|
|
155134
155551
|
{Name:"OSC 变动速率线", ID:"OSC", Type:0},
|
|
155135
155552
|
{Name:"RSI 相对强弱指标", ID:"RSI", Type:0},
|
|
155136
155553
|
{Name:"ROC 变动率指标", ID:"ROC", Type:0},
|
|
155137
|
-
{Name:"WR 威廉指标", ID:"WR", Type:0}
|
|
155554
|
+
{Name:"WR 威廉指标", ID:"WR", Type:0},
|
|
155555
|
+
{Name:"UDL 引力线", ID:"UDL", Type:0},
|
|
155556
|
+
{Name:"LWR 威廉指标", ID:"LWR", Type:0},
|
|
155557
|
+
{Name:"MARSI 相对强弱平均线", ID:"MARSI", Type:0},
|
|
155558
|
+
{Name:"ACCER 幅度涨速", ID:"ACCER", Type:0},
|
|
155559
|
+
{Name:"CYD 承接因子", ID:"CYD", Type:0},
|
|
155560
|
+
{Name:"CYF 市场能量", ID:"CYF", Type:0},
|
|
155561
|
+
{Name:"ADTM 动态买卖气指标", ID:"ADTM", Type:0},
|
|
155562
|
+
{Name:"ATR 真实波幅", ID:"ATR", Type:0},
|
|
155563
|
+
{Name:"DKX 多空线", ID:"DKX", Type:0},
|
|
155564
|
+
{Name:"TAPI 加权指数成交值", ID:"TAPI", Type:0},
|
|
155138
155565
|
]
|
|
155139
155566
|
},
|
|
155140
155567
|
|
|
@@ -155149,7 +155576,22 @@ JSDialogSearchIndex.GetDefaultIndexData=function()
|
|
|
155149
155576
|
{Name:"MACD 平滑异同平均", ID:"MACD", Type:0 },
|
|
155150
155577
|
{Name:"TRIX 三重指数平均线", ID:"TRIX", Type:0 },
|
|
155151
155578
|
{Name:"UOS 终极指标", ID:"UOS", Type:0 },
|
|
155152
|
-
{Name:"TRIX 三重指数平均线", ID:"TRIX", Type:0 }
|
|
155579
|
+
{Name:"TRIX 三重指数平均线", ID:"TRIX", Type:0 },
|
|
155580
|
+
{Name:"VMACD 量平滑异同平均", ID:"VMACD", Type:0 },
|
|
155581
|
+
|
|
155582
|
+
{Name:"VMACD 量平滑异同平均", ID:"VMACD", Type:0 },
|
|
155583
|
+
{Name:"SMACD 单线平滑异同平均线", ID:"SMACD", Type:0 },
|
|
155584
|
+
{Name:"QACD 快速异同平均", ID:"QACD", Type:0 },
|
|
155585
|
+
{Name:"VPT 量价曲线", ID:"VPT", Type:0 },
|
|
155586
|
+
{Name:"WVAD 威廉变异离散量", ID:"WVAD", Type:0 },
|
|
155587
|
+
|
|
155588
|
+
{Name:"DBQR 对比强弱", ID:"DBQR", Type:0 },
|
|
155589
|
+
{Name:"WVAD 威廉变异离散量", ID:"WVAD", Type:0 },
|
|
155590
|
+
{Name:"JS 加速线", ID:"JS", Type:0 },
|
|
155591
|
+
{Name:"CYE 市场趋势", ID:"CYE", Type:0 },
|
|
155592
|
+
{Name:"QR 强弱指标", ID:"QR", Type:0 },
|
|
155593
|
+
{Name:"GDX 轨道线", ID:"GDX", Type:0 },
|
|
155594
|
+
{Name:"JLHB 绝路航标", ID:"JLHB", Type:0 },
|
|
155153
155595
|
]
|
|
155154
155596
|
},
|
|
155155
155597
|
|
|
@@ -155161,7 +155603,18 @@ JSDialogSearchIndex.GetDefaultIndexData=function()
|
|
|
155161
155603
|
{Name:"OBV 累积能量线", ID:"OBV", Type:0},
|
|
155162
155604
|
{Name:"NVI 负成交量", ID:"NVI", Type:0},
|
|
155163
155605
|
{Name:"PVI 正成交量", ID:"PVI", Type:0},
|
|
155164
|
-
{Name:"VOL 成交量", ID:"VOL", Type:0}
|
|
155606
|
+
{Name:"VOL 成交量", ID:"VOL", Type:0},
|
|
155607
|
+
{Name:"VOL-TDX 成交量(虚拟)", ID:"VOL-TDX", Type:0},
|
|
155608
|
+
{Name:"AMO 成交金额", ID:"AMO", Type:0},
|
|
155609
|
+
{Name:"AMO-TDX 成交金额(虚拟)", ID:"AMO-TDX", Type:0},
|
|
155610
|
+
{Name:"VRSI 相对强弱量", ID:"VRSI", Type:0},
|
|
155611
|
+
{Name:"HSCOL 换手柱", ID:"HSCOL", Type:0},
|
|
155612
|
+
{Name:"DBQRV 对比强弱量", ID:"DBQRV", Type:0},
|
|
155613
|
+
{Name:"DBLB 对比量比", ID:"DBLB", Type:0},
|
|
155614
|
+
{Name:"WSBVOL 维斯波成交量", ID:"WSBVOL", Type:0},
|
|
155615
|
+
|
|
155616
|
+
{Name:"CCYD 持仓异动(适用于期货)", ID:"CCYD", Type:0},
|
|
155617
|
+
{Name:"CCL 持仓量(适用于期货)", ID:"CCL", Type:0},
|
|
155165
155618
|
]
|
|
155166
155619
|
},
|
|
155167
155620
|
{
|
|
@@ -155169,7 +155622,22 @@ JSDialogSearchIndex.GetDefaultIndexData=function()
|
|
|
155169
155622
|
AryIndex:
|
|
155170
155623
|
[
|
|
155171
155624
|
{Name:"MA 均线", ID:"MA", Type:0},
|
|
155172
|
-
{Name:"
|
|
155625
|
+
{Name:"MA4 4根均线", ID:"MA4", Type:0},
|
|
155626
|
+
{Name:"MA5 5根均线", ID:"MA5", Type:0},
|
|
155627
|
+
{Name:"MA7 6根均线", ID:"MA6", Type:0},
|
|
155628
|
+
{Name:"MA7 7根均线", ID:"MA7", Type:0},
|
|
155629
|
+
{Name:"MA8 8根均线", ID:"MA8", Type:0},
|
|
155630
|
+
{Name:"BBI 多空线", ID:"BBI", Type:0},
|
|
155631
|
+
{Name:"ACD 升降线", ID:"ACD", Type:0},
|
|
155632
|
+
{Name:"EXPMA 指数平均线", ID:"EXPMA", Type:0},
|
|
155633
|
+
{Name:"EXPMA_S 指数平均线-副图", ID:"EXPMA_S", Type:0},
|
|
155634
|
+
{Name:"HMA 高价平均线", ID:"HMA", Type:0},
|
|
155635
|
+
{Name:"LMA 低价平均线", ID:"LMA", Type:0},
|
|
155636
|
+
{Name:"VMA 变异平均线", ID:"VMA", Type:0},
|
|
155637
|
+
{Name:"AMV 成本价均线", ID:"AMV", Type:0},
|
|
155638
|
+
{Name:"BBIBOLL 多空布林线", ID:"BBIBOLL", Type:0},
|
|
155639
|
+
{Name:"ALLIGAT 鳄鱼线", ID:"ALLIGAT", Type:0},
|
|
155640
|
+
{Name:"GMMA 顾比均线", ID:"GMMA", Type:0},
|
|
155173
155641
|
]
|
|
155174
155642
|
},
|
|
155175
155643
|
{
|
|
@@ -155177,9 +155645,13 @@ JSDialogSearchIndex.GetDefaultIndexData=function()
|
|
|
155177
155645
|
AryIndex:
|
|
155178
155646
|
[
|
|
155179
155647
|
{Name:"BOLL 布林线", ID:"BOLL", Type:0},
|
|
155180
|
-
{Name:"BOLL
|
|
155648
|
+
{Name:"BOLL 布林线-副图", ID:"BOLL副图", Type:0},
|
|
155181
155649
|
{Name:"MIKE 麦克支撑压力", ID:"MIKE", Type:0},
|
|
155182
|
-
{Name:"ENE 轨道线", ID:"ENE", Type:0}
|
|
155650
|
+
{Name:"ENE 轨道线", ID:"ENE", Type:0},
|
|
155651
|
+
{Name:"PBX 瀑布线", ID:"PBX", Type:0},
|
|
155652
|
+
{Name:"XS 薛斯通道", ID:"XS", Type:0},
|
|
155653
|
+
{Name:"XS2 薛斯通道II", ID:"XS2", Type:0},
|
|
155654
|
+
{Name:"DC 唐奇安通道", ID:"DC", Type:0}
|
|
155183
155655
|
]
|
|
155184
155656
|
},
|
|
155185
155657
|
{
|
|
@@ -155192,9 +155664,19 @@ JSDialogSearchIndex.GetDefaultIndexData=function()
|
|
|
155192
155664
|
{Name:"PSY 心理线", ID:"PSY", Type:0},
|
|
155193
155665
|
{Name:"CR 带状能量线", ID:"CR", Type:0},
|
|
155194
155666
|
{Name:"VR 成交量变异率", ID:"VR", Type:0},
|
|
155195
|
-
{Name:"WAD 威廉多空力度线", ID:"WAD", Type:0}
|
|
155667
|
+
{Name:"WAD 威廉多空力度线", ID:"WAD", Type:0},
|
|
155668
|
+
{Name:"PCNT 幅度比", ID:"PCNT", Type:0}
|
|
155196
155669
|
]
|
|
155197
155670
|
},
|
|
155671
|
+
{
|
|
155672
|
+
Group:{ ID:"大势型", Name:"大势型"},
|
|
155673
|
+
AryIndex:
|
|
155674
|
+
[
|
|
155675
|
+
{Name:"ABI 绝对广量指标", ID:"ABI", Type:0 },
|
|
155676
|
+
{Name:"ADL 腾落指标", ID:"ADL", Type:0 },
|
|
155677
|
+
]
|
|
155678
|
+
},
|
|
155679
|
+
|
|
155198
155680
|
{
|
|
155199
155681
|
Group:{ ID:"五彩K线", Name:"五彩K线"} ,
|
|
155200
155682
|
AryIndex:
|
|
@@ -155874,7 +156356,7 @@ function HQChartScriptWorker()
|
|
|
155874
156356
|
|
|
155875
156357
|
|
|
155876
156358
|
|
|
155877
|
-
var HQCHART_VERSION="1.1.
|
|
156359
|
+
var HQCHART_VERSION="1.1.14590";
|
|
155878
156360
|
|
|
155879
156361
|
function PrintHQChartVersion()
|
|
155880
156362
|
{
|