hqchart 1.1.14040 → 1.1.14050
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.NetworkFilterTest.vue.js +9 -3
- package/lib/umychart.vue.js +105 -33
- package/package.json +1 -1
- package/src/jscommon/umychart.DialogTooltip.js +727 -5
- package/src/jscommon/umychart.NetworkFilterTest.js +23 -11
- package/src/jscommon/umychart.js +222 -14
- package/src/jscommon/umychart.resource/css/tools.css +73 -0
- package/src/jscommon/umychart.style.js +15 -0
- package/src/jscommon/umychart.testdata.js +23 -11
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +238 -15
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.NetworkFilterTest.vue.js +23 -11
- package/src/jscommon/umychart.vue/umychart.vue.js +965 -20
|
@@ -212,6 +212,14 @@ HQData.Minute_RequestMinuteData=function(data, callback)
|
|
|
212
212
|
stockItem.beforeinfo=beforeinfo;
|
|
213
213
|
}
|
|
214
214
|
|
|
215
|
+
/* 测试用 这里可以修改数据
|
|
216
|
+
for(var i=0;i<srcStock.minute.length;++i)
|
|
217
|
+
{
|
|
218
|
+
var item=srcStock.minute[i];
|
|
219
|
+
if (item.amount<1000000) item.amount*=100000;
|
|
220
|
+
}
|
|
221
|
+
*/
|
|
222
|
+
|
|
215
223
|
var hqchartData={code:0, stock:[stockItem] };
|
|
216
224
|
|
|
217
225
|
|
|
@@ -1192,6 +1200,10 @@ HQData.Report_RequestStockData=function(data, callback)
|
|
|
1192
1200
|
extendData[6]=(Math.round(Math.random()*60))/100;
|
|
1193
1201
|
extendData[7]=(Math.round(Math.random()*60))/100;
|
|
1194
1202
|
extendData[8]=(Math.round(Math.random()*60))/100;
|
|
1203
|
+
|
|
1204
|
+
|
|
1205
|
+
newItem[101]=105.0;
|
|
1206
|
+
newItem[201]=`A-[${HQData.GetRandomTestData(-90,90)}]-B`
|
|
1195
1207
|
|
|
1196
1208
|
|
|
1197
1209
|
item.Data=newItem;
|
|
@@ -1482,17 +1494,17 @@ HQData.Keyboard_RequestSymbolList=function(data, callback)
|
|
|
1482
1494
|
arySymbol.push( { Symbol:"02", Name:"分价表", TypeName:"功能键", Priority:1, Color:"rgb(220,20,60)" ,Data:{ PageName:"分价表", Type:2 }} );
|
|
1483
1495
|
arySymbol.push( { Symbol:"06", Name:"自选股", TypeName:"功能键", Priority:1 , Color:"rgb(220,20,60)", Data:{ PageName:"自选股", Type:2 }} );
|
|
1484
1496
|
|
|
1485
|
-
arySymbol.push( { Symbol:"MACD", Name:"平滑异同平均线", TypeName:"指标", Priority:2 , Color:"rgb(0,
|
|
1486
|
-
arySymbol.push( { Symbol:"RSI", Name:"相对强弱指标", TypeName:"指标", Priority:2, Color:"rgb(0,
|
|
1487
|
-
arySymbol.push( { Symbol:"MA", Name:"均线", TypeName:"指标", Priority:2, Color:"rgb(0,
|
|
1488
|
-
arySymbol.push( { Symbol:"BOLL", Name:"布林线", TypeName:"指标", Priority:2, Color:"rgb(0,
|
|
1489
|
-
arySymbol.push( { Symbol:"KDJ", Name:"随机指标", TypeName:"指标", Priority:2, Color:"rgb(0,
|
|
1490
|
-
arySymbol.push( { Symbol:"SKDJ", Name:"慢速随机指标", TypeName:"指标", Priority:2, Color:"rgb(0,
|
|
1491
|
-
arySymbol.push( { Symbol:"KD", Name:"随机指标KD", TypeName:"指标", Priority:2, Color:"rgb(0,
|
|
1492
|
-
arySymbol.push( { Symbol:"MARSI", Name:"相对强弱平均线", TypeName:"指标", Priority:2, Color:"rgb(0,
|
|
1493
|
-
arySymbol.push( { Symbol:"VMACD", Name:"量平滑异同平均", TypeName:"指标", Priority:2, Color:"rgb(0,
|
|
1494
|
-
arySymbol.push( { Symbol:"AMO", Name:"成交金额", TypeName:"指标", Priority:2, Color:"rgb(0,
|
|
1495
|
-
arySymbol.push( { Symbol:"SQJZ", Name:"神奇九转", TypeName:"指标", Priority:2, Color:"rgb(0,
|
|
1497
|
+
arySymbol.push( { Symbol:"MACD", Name:"平滑异同平均线", TypeName:"指标", Priority:2 , Color:"rgb(0,144,255)", Data:{ Index:"MACD", Type:1 }} );
|
|
1498
|
+
arySymbol.push( { Symbol:"RSI", Name:"相对强弱指标", TypeName:"指标", Priority:2, Color:"rgb(0,144,255)",Data:{ Index:"RSI", Type:1 }} );
|
|
1499
|
+
arySymbol.push( { Symbol:"MA", Name:"均线", TypeName:"指标", Priority:2, Color:"rgb(0,144,255)" ,Data:{ Index:"MA", Type:1 } } );
|
|
1500
|
+
arySymbol.push( { Symbol:"BOLL", Name:"布林线", TypeName:"指标", Priority:2, Color:"rgb(0,144,255)" ,Data:{ Index:"BOLL", Type:1 } } );
|
|
1501
|
+
arySymbol.push( { Symbol:"KDJ", Name:"随机指标", TypeName:"指标", Priority:2, Color:"rgb(0,144,255)" ,Data:{ Index:"KDJ", Type:1 } } );
|
|
1502
|
+
arySymbol.push( { Symbol:"SKDJ", Name:"慢速随机指标", TypeName:"指标", Priority:2, Color:"rgb(0,144,255)" ,Data:{ Index:"SKDJ", Type:1 } } );
|
|
1503
|
+
arySymbol.push( { Symbol:"KD", Name:"随机指标KD", TypeName:"指标", Priority:2, Color:"rgb(0,144,255)" ,Data:{ Index:"KD", Type:1 } } );
|
|
1504
|
+
arySymbol.push( { Symbol:"MARSI", Name:"相对强弱平均线", TypeName:"指标", Priority:2, Color:"rgb(0,144,255)" ,Data:{ Index:"MARSI", Type:1 } } );
|
|
1505
|
+
arySymbol.push( { Symbol:"VMACD", Name:"量平滑异同平均", TypeName:"指标", Priority:2, Color:"rgb(0,144,255)" ,Data:{ Index:"VMACD", Type:1 } } );
|
|
1506
|
+
arySymbol.push( { Symbol:"AMO", Name:"成交金额", TypeName:"指标", Priority:2, Color:"rgb(0,144,255)" ,Data:{ Index:"AMO", Type:1 } } );
|
|
1507
|
+
arySymbol.push( { Symbol:"SQJZ", Name:"神奇九转", TypeName:"指标", Priority:2, Color:"rgb(0,144,255)" ,Data:{ Index:"SQJZ", Type:1 } } );
|
|
1496
1508
|
|
|
1497
1509
|
callback(arySymbol);
|
|
1498
1510
|
}
|
|
@@ -5647,6 +5647,9 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
5647
5647
|
if (option.TooltipDialog && option.TooltipDialog.Enable)
|
|
5648
5648
|
chart.InitalTooltipDialog(option.TooltipDialog);
|
|
5649
5649
|
|
|
5650
|
+
if (option.FloatTooltip && option.FloatTooltip.Enable)
|
|
5651
|
+
chart.InitalFloatTooltip(option.FloatTooltip);
|
|
5652
|
+
|
|
5650
5653
|
if (option.SelectRectDialog && option.SelectRectDialog.Enable)
|
|
5651
5654
|
{
|
|
5652
5655
|
chart.InitalSelectRectDialog(option.SelectRectDialog);
|
|
@@ -6558,9 +6561,11 @@ var JSCHART_EVENT_ID=
|
|
|
6558
6561
|
ON_CUSTOM_MINUTE_BG:157, //自定义分时图背景颜色
|
|
6559
6562
|
ON_CLICK_HORIZONTAL_LABEL:158, //点击Y轴刻度标签
|
|
6560
6563
|
|
|
6561
|
-
|
|
6564
|
+
ON_FORMAT_DIALOG_TOOLTIP:159, //格式化Tooltip对话框显示文字
|
|
6565
|
+
|
|
6566
|
+
ON_CHANGE_KLINE_RIGHT:160, //切换复权
|
|
6562
6567
|
|
|
6563
|
-
|
|
6568
|
+
ON_FORMAT_KLINE_FLOAT_TOOLTIP:161, //格式化k线浮动框显示文字
|
|
6564
6569
|
}
|
|
6565
6570
|
|
|
6566
6571
|
var JSCHART_OPERATOR_ID=
|
|
@@ -6964,6 +6969,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
6964
6969
|
|
|
6965
6970
|
this.DialogTooltip; //tooltip信息
|
|
6966
6971
|
this.DialogSelectRect; //区间统计
|
|
6972
|
+
this.FloatTooltip; //浮动tooltip信息
|
|
6967
6973
|
|
|
6968
6974
|
|
|
6969
6975
|
this.ClearStockCache=function()
|
|
@@ -6997,6 +7003,15 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
6997
7003
|
this.DialogTooltip.Create();
|
|
6998
7004
|
}
|
|
6999
7005
|
|
|
7006
|
+
this.InitalFloatTooltip=function(option)
|
|
7007
|
+
{
|
|
7008
|
+
if (this.FloatTooltip) return;
|
|
7009
|
+
|
|
7010
|
+
this.FloatTooltip=new JSFloatTooltip();
|
|
7011
|
+
this.FloatTooltip.Inital(this, option);
|
|
7012
|
+
this.FloatTooltip.Create();
|
|
7013
|
+
}
|
|
7014
|
+
|
|
7000
7015
|
this.InitalModifyDrawDialog=function()
|
|
7001
7016
|
{
|
|
7002
7017
|
if ( this.DialogModifyDraw) return;
|
|
@@ -7015,6 +7030,8 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
7015
7030
|
this.DialogSelectRect.Create();
|
|
7016
7031
|
}
|
|
7017
7032
|
|
|
7033
|
+
|
|
7034
|
+
|
|
7018
7035
|
this.DrawSelectRectDialog=function()
|
|
7019
7036
|
{
|
|
7020
7037
|
|
|
@@ -7088,6 +7105,13 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
7088
7105
|
this.DialogTooltip.Close();
|
|
7089
7106
|
}
|
|
7090
7107
|
|
|
7108
|
+
this.HideFloatTooltip=function()
|
|
7109
|
+
{
|
|
7110
|
+
if (!this.FloatTooltip) return;
|
|
7111
|
+
|
|
7112
|
+
this.FloatTooltip.Hide();
|
|
7113
|
+
}
|
|
7114
|
+
|
|
7091
7115
|
this.DestroyTooltipDialog=function()
|
|
7092
7116
|
{
|
|
7093
7117
|
if (!this.DialogTooltip) return;
|
|
@@ -7096,6 +7120,14 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
7096
7120
|
this.DialogTooltip=null;
|
|
7097
7121
|
}
|
|
7098
7122
|
|
|
7123
|
+
this.DestroyFloatTooltip=function()
|
|
7124
|
+
{
|
|
7125
|
+
if (!this.FloatTooltip) return;
|
|
7126
|
+
|
|
7127
|
+
this.FloatTooltip.Destroy();
|
|
7128
|
+
this.FloatTooltip=null;
|
|
7129
|
+
}
|
|
7130
|
+
|
|
7099
7131
|
|
|
7100
7132
|
|
|
7101
7133
|
//obj={ Element:, Canvas: }
|
|
@@ -7148,6 +7180,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
7148
7180
|
this.IsDestroy=true;
|
|
7149
7181
|
this.StopAutoUpdate();
|
|
7150
7182
|
this.DestroyTooltipDialog();
|
|
7183
|
+
this.DestroyFloatTooltip();
|
|
7151
7184
|
}
|
|
7152
7185
|
|
|
7153
7186
|
this.ChartDestory=this.ChartDestroy; //老版本写错了,需要兼容下
|
|
@@ -10919,6 +10952,17 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
10919
10952
|
|
|
10920
10953
|
}
|
|
10921
10954
|
|
|
10955
|
+
this.DrawFloatTooltip=function(point,toolTip)
|
|
10956
|
+
{
|
|
10957
|
+
|
|
10958
|
+
}
|
|
10959
|
+
|
|
10960
|
+
//更新实时行情到浮动tooltip
|
|
10961
|
+
this.UpdateHQFloatTooltip=function(item)
|
|
10962
|
+
{
|
|
10963
|
+
|
|
10964
|
+
}
|
|
10965
|
+
|
|
10922
10966
|
this.ShowTooltip=function(x,y,toolTip)
|
|
10923
10967
|
{
|
|
10924
10968
|
if (!this.IsShowTooltip) return;
|
|
@@ -10930,11 +10974,18 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
10930
10974
|
this.TooltipCache.Data=null;
|
|
10931
10975
|
this.TooltipCache.X=x;
|
|
10932
10976
|
this.TooltipCache.Y=y;
|
|
10933
|
-
|
|
10977
|
+
var bHideFloatToolip=true;
|
|
10934
10978
|
if (toolTip.Type===0) //K线信息
|
|
10935
10979
|
{
|
|
10936
10980
|
if (!this.KLineTooltipConfig.Enable) return;
|
|
10937
10981
|
|
|
10982
|
+
if (this.FloatTooltip)
|
|
10983
|
+
{
|
|
10984
|
+
this.DrawFloatTooltip({X:x, Y:y, YMove:20/pixelTatio}, toolTip);
|
|
10985
|
+
bHideFloatToolip=false;
|
|
10986
|
+
return;
|
|
10987
|
+
}
|
|
10988
|
+
|
|
10938
10989
|
var scrollPos=GetScrollPosition();
|
|
10939
10990
|
var left = x;
|
|
10940
10991
|
var top = y;
|
|
@@ -11128,6 +11179,9 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
11128
11179
|
this.Tooltip.innerHTML=format.Text;
|
|
11129
11180
|
this.Tooltip.style.display = "block";
|
|
11130
11181
|
}
|
|
11182
|
+
|
|
11183
|
+
|
|
11184
|
+
if (bHideFloatToolip) this.HideFloatTooltip();
|
|
11131
11185
|
}
|
|
11132
11186
|
|
|
11133
11187
|
this.UpdateDOMTooltip=function(toolTipType, data)
|
|
@@ -11164,6 +11218,8 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
11164
11218
|
this.TooltipCache.Data=null;
|
|
11165
11219
|
|
|
11166
11220
|
if (this.Tooltip.style.display!="none") this.Tooltip.style.display = "none";
|
|
11221
|
+
|
|
11222
|
+
this.HideFloatTooltip();
|
|
11167
11223
|
}
|
|
11168
11224
|
|
|
11169
11225
|
this.UpdateSelectRect=function(start,end)
|
|
@@ -12029,6 +12085,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
12029
12085
|
|
|
12030
12086
|
if (this.PopMinuteChart) this.PopMinuteChart.ReloadResource(option);
|
|
12031
12087
|
if (this.DialogTooltip) this.DialogTooltip.ReloadResource(option);
|
|
12088
|
+
if (this.FloatTooltip) this.FloatTooltip.ReloadResource(option);
|
|
12032
12089
|
if (this.DialogSelectRect) this.DialogSelectRect.ReloadResource(option);
|
|
12033
12090
|
}
|
|
12034
12091
|
|
|
@@ -14371,6 +14428,8 @@ function CoordinateInfo()
|
|
|
14371
14428
|
this.ExtendData; //扩展属性
|
|
14372
14429
|
//百分比 { PriceColor:, PercentageColor:, SplitColor:, Font: }
|
|
14373
14430
|
//自定义刻度 { Custom:{ Position: 1=强制内部 }}
|
|
14431
|
+
//输出位置的Y轴偏移
|
|
14432
|
+
//this.YOffset;
|
|
14374
14433
|
this.AreaData; //区域: { Start:, End:, BGColor:, Position:[0=左, 1=右] }
|
|
14375
14434
|
|
|
14376
14435
|
//不在当前屏范围 (可定义刻度使用)
|
|
@@ -73201,8 +73260,20 @@ function JSChartResource()
|
|
|
73201
73260
|
|
|
73202
73261
|
TextColor:"rgb(0,0,0)", //数值名称
|
|
73203
73262
|
ValueColor:"rgb(0,0,0)", //数值
|
|
73263
|
+
};
|
|
73204
73264
|
|
|
73205
|
-
|
|
73265
|
+
this.FloatTooltip=
|
|
73266
|
+
{
|
|
73267
|
+
BGColor:'rgb(250,250,250)', //背景色
|
|
73268
|
+
BorderColor:'rgb(20,20,20)', //边框颜色
|
|
73269
|
+
VolColor:"rgb(255, 185, 15)", //标题成交量
|
|
73270
|
+
AmountColor:"rgb(79, 79, 79)", //成交金额
|
|
73271
|
+
DateTimeColor:'rgb(60,60,60)',
|
|
73272
|
+
TurnoverRateColor:'rgb(43,54,69)', //换手率
|
|
73273
|
+
PositionColor:"rgb(255,0,255)", //持仓
|
|
73274
|
+
|
|
73275
|
+
TextColor:"rgb(0,0,0)", //数值名称
|
|
73276
|
+
ValueColor:"rgb(0,0,0)", //数值
|
|
73206
73277
|
};
|
|
73207
73278
|
|
|
73208
73279
|
//区间统计
|
|
@@ -74251,6 +74322,22 @@ function JSChartResource()
|
|
|
74251
74322
|
if (item.ValueColor) this.DialogTooltip.ValueColor=item.ValueColor;
|
|
74252
74323
|
}
|
|
74253
74324
|
|
|
74325
|
+
if (style.FloatTooltip)
|
|
74326
|
+
{
|
|
74327
|
+
var item=style.FloatTooltip;
|
|
74328
|
+
if (item.BGColor) this.FloatTooltip.BGColor=item.BGColor;
|
|
74329
|
+
if (item.BorderColor) this.FloatTooltip.BorderColor=item.BorderColor;
|
|
74330
|
+
|
|
74331
|
+
if (item.DateTimeColor) this.FloatTooltip.DateTimeColor=item.DateTimeColor;
|
|
74332
|
+
if (item.VolColor) this.FloatTooltip.VolColor=item.VolColor;
|
|
74333
|
+
if (item.AmountColor) this.FloatTooltip.AmountColor=item.AmountColor;
|
|
74334
|
+
if (item.TurnoverRateColor) this.FloatTooltip.TurnoverRateColor=item.TurnoverRateColor;
|
|
74335
|
+
if (item.PositionColor) this.FloatTooltip.PositionColor=item.PositionColor;
|
|
74336
|
+
|
|
74337
|
+
if (item.TextColor) this.FloatTooltip.TextColor=item.TextColor;
|
|
74338
|
+
if (item.ValueColor) this.FloatTooltip.ValueColor=item.ValueColor;
|
|
74339
|
+
}
|
|
74340
|
+
|
|
74254
74341
|
if (style.DialogSelectRect)
|
|
74255
74342
|
{
|
|
74256
74343
|
var item=style.DialogSelectRect;
|
|
@@ -75353,7 +75440,26 @@ function JSChartLocalization()
|
|
|
75353
75440
|
['DialogTooltip-AC-Vol', {CN:'匹配量', EN:'Vol', TC:'匹配量'}],
|
|
75354
75441
|
['DialogTooltip-Value', {CN:'数值', EN:'Value', TC:'数值'}],
|
|
75355
75442
|
|
|
75443
|
+
['FloatTooltip-Date', {CN:'日期', EN:'Date', TC:'日期'}],
|
|
75444
|
+
['FloatTooltip-Time', {CN:'时间', EN:'Time', TC:'時間'}],
|
|
75445
|
+
['FloatTooltip-Open', {CN:'开盘价', EN:'Open', TC:'開盤價'}],
|
|
75446
|
+
['FloatTooltip-High', {CN:'最高价', EN:'High', TC:'最高價'}],
|
|
75447
|
+
['FloatTooltip-Low', {CN:'最低价', EN:'Low', TC:'最低價'}],
|
|
75448
|
+
['FloatTooltip-Close', {CN:'收盘价', EN:'Close', TC:'收盤價'}],
|
|
75449
|
+
['FloatTooltip-YClose', {CN:'昨收价', EN:'YClose', TC:'昨收價'}],
|
|
75450
|
+
['FloatTooltip-Increase', {CN:'涨幅', EN:'Increase', TC:'漲幅'}],
|
|
75451
|
+
['FloatTooltip-Risefall', {CN:'涨跌', EN:'Risefall', TC:'漲跌'}],
|
|
75452
|
+
['FloatTooltip-Vol', {CN:'成交量', EN:'Volume', TC:'數量'}],
|
|
75453
|
+
['FloatTooltip-Amount', {CN:'成交额', EN:'Amount', TC:'金額'}],
|
|
75454
|
+
['FloatTooltip-Exchange', {CN:'换手率', EN:'Exchange', TC:'換手'}],
|
|
75455
|
+
['FloatTooltip-Position', {CN:'持仓量', EN:'Position', TC:'持倉'}],
|
|
75456
|
+
['FloatTooltip-Price', {CN:'价格', EN:'Price', TC:'價格'}],
|
|
75457
|
+
['FloatTooltip-AvPrice', {CN:'均价', EN:'AVPrice:', TC:'均價'}],
|
|
75458
|
+
['FloatTooltip-FClose', {CN:"结算价", EN:'Settlement', TC:'結算價'}],
|
|
75459
|
+
['FloatTooltip-YSettlePrice', {CN:"昨结算", EN:'YSettlement', TC:'昨結算'}],
|
|
75460
|
+
['FloatTooltip-Amplitude', {CN:'振幅', EN:'amplitude', TC:'振幅'}],
|
|
75356
75461
|
|
|
75462
|
+
|
|
75357
75463
|
['DialogSelectRect-StartPrice', {CN:'起始价:', EN:'Start Price:', TC:'起始價'}],
|
|
75358
75464
|
['DialogSelectRect-EndPrice', {CN:'最终价:', EN:"End Price:", TC:'最终價'}],
|
|
75359
75465
|
['DialogSelectRect-High', {CN:'最高价:', EN:'High:', TC:'最高價'}],
|
|
@@ -78828,6 +78934,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
78828
78934
|
|
|
78829
78935
|
this.SendKLineUpdateEvent(bindData);
|
|
78830
78936
|
this.UpdateDOMTooltip(0, bindData);
|
|
78937
|
+
this.UpdateHQFloatTooltip(bindData);
|
|
78831
78938
|
|
|
78832
78939
|
//叠加指标计算
|
|
78833
78940
|
this.BindAllOverlayIndexData(bindData, { CheckRunCount:true,SyncExecute:false }); //异步模式叠加指标
|
|
@@ -79086,6 +79193,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
79086
79193
|
|
|
79087
79194
|
this.SendKLineUpdateEvent(bindData);
|
|
79088
79195
|
this.UpdateDOMTooltip(0, bindData);
|
|
79196
|
+
this.UpdateHQFloatTooltip(bindData);
|
|
79089
79197
|
|
|
79090
79198
|
//更新叠加指标
|
|
79091
79199
|
this.BindAllOverlayIndexData(bindData, { CheckRunCount:true,SyncExecute:false }); //异步模式叠加指标
|
|
@@ -83621,18 +83729,34 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
83621
83729
|
if (!this.DialogTooltip) return false;
|
|
83622
83730
|
if (!this.ChartCorssCursor) return false;
|
|
83623
83731
|
|
|
83732
|
+
var dataType=0;
|
|
83624
83733
|
var kItem=null;
|
|
83625
83734
|
if (this.ChartCorssCursor.ClientPos>=0)
|
|
83626
83735
|
{
|
|
83627
83736
|
var hisData=this.ChartOperator_Temp_GetHistroyData();;
|
|
83628
83737
|
if (!hisData) return false; //数据还没有到达
|
|
83738
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(hisData.Data)) return false;
|
|
83629
83739
|
|
|
83630
83740
|
var dataIndex=hisData.DataOffset+this.ChartCorssCursor.CursorIndex;
|
|
83741
|
+
if (dataIndex>=hisData.Data.length) dataIndex=hisData.Data.length-1;
|
|
83631
83742
|
var kItem=hisData.Data[dataIndex];
|
|
83632
83743
|
}
|
|
83744
|
+
else //取最后一个数据
|
|
83745
|
+
{
|
|
83746
|
+
var hisData=this.ChartOperator_Temp_GetHistroyData();;
|
|
83747
|
+
if (!hisData) return false; //数据还没有到达
|
|
83748
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(hisData.Data)) return false;
|
|
83749
|
+
var kItem=hisData.Data[hisData.Data.length-1];
|
|
83750
|
+
var dataID={ Symbol:this.Symbol, Date:kItem.Date };
|
|
83751
|
+
if (IFrameSplitOperator.IsNumber(kItem.Time)) dataID.Time=kItem.Time;
|
|
83752
|
+
if (!this.DialogTooltip.IsEqualDataID(dataID)) return false;
|
|
83753
|
+
|
|
83754
|
+
dataType=1;
|
|
83755
|
+
}
|
|
83633
83756
|
|
|
83634
83757
|
var sendData=
|
|
83635
83758
|
{
|
|
83759
|
+
DataType:dataType, //0=全部更新 1=更新实时K线
|
|
83636
83760
|
ClientPos:this.ChartCorssCursor.ClientPos, //位置
|
|
83637
83761
|
IsShowCorss:this.ChartCorssCursor.IsShowCorss, //是否显示十字线
|
|
83638
83762
|
KItem:kItem,
|
|
@@ -83640,7 +83764,6 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
83640
83764
|
LastValue:this.ChartCorssCursor.LastValue,
|
|
83641
83765
|
};
|
|
83642
83766
|
|
|
83643
|
-
|
|
83644
83767
|
this.DialogTooltip.Update(sendData);
|
|
83645
83768
|
|
|
83646
83769
|
return true;
|
|
@@ -83681,6 +83804,52 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
83681
83804
|
|
|
83682
83805
|
this.DialogSelectRect.Update(sendData);
|
|
83683
83806
|
}
|
|
83807
|
+
|
|
83808
|
+
this.DrawFloatTooltip=function(point,toolTip)
|
|
83809
|
+
{
|
|
83810
|
+
if (!this.FloatTooltip) return;
|
|
83811
|
+
|
|
83812
|
+
this.UpdateFloatTooltip(point, toolTip)
|
|
83813
|
+
}
|
|
83814
|
+
|
|
83815
|
+
this.UpdateFloatTooltip=function(point, toolTip)
|
|
83816
|
+
{
|
|
83817
|
+
if (!this.FloatTooltip) return;
|
|
83818
|
+
|
|
83819
|
+
var sendData=
|
|
83820
|
+
{
|
|
83821
|
+
Tooltip:toolTip,
|
|
83822
|
+
Point:point,
|
|
83823
|
+
Symbol:this.Symbol,
|
|
83824
|
+
Name:this.Name,
|
|
83825
|
+
DataType:1,
|
|
83826
|
+
};
|
|
83827
|
+
|
|
83828
|
+
this.FloatTooltip.Update(sendData);
|
|
83829
|
+
}
|
|
83830
|
+
|
|
83831
|
+
this.UpdateHQFloatTooltip=function(kData)
|
|
83832
|
+
{
|
|
83833
|
+
if (!this.FloatTooltip) return;
|
|
83834
|
+
if (!this.FloatTooltip.IsShow()) return;
|
|
83835
|
+
if (!kData || !IFrameSplitOperator.IsNonEmptyArray(kData.Data)) return;
|
|
83836
|
+
|
|
83837
|
+
var lastItem=kData.Data[kData.Data.length-1];
|
|
83838
|
+
if (!lastItem) return;
|
|
83839
|
+
|
|
83840
|
+
var dataID={ Symbol:kData.Symbol, Date:lastItem.Date, Time:lastItem.Time };
|
|
83841
|
+
if (!this.FloatTooltip.IsEqualHQID(dataID)) return;
|
|
83842
|
+
|
|
83843
|
+
var sendData=
|
|
83844
|
+
{
|
|
83845
|
+
Data:lastItem,
|
|
83846
|
+
Symbol:this.Symbol,
|
|
83847
|
+
Name:this.Name,
|
|
83848
|
+
DataType:2,
|
|
83849
|
+
};
|
|
83850
|
+
|
|
83851
|
+
this.FloatTooltip.Update(sendData);
|
|
83852
|
+
}
|
|
83684
83853
|
}
|
|
83685
83854
|
|
|
83686
83855
|
//API 返回数据 转化为array[]
|
|
@@ -89507,6 +89676,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
89507
89676
|
if (!this.ChartCorssCursor) return false;
|
|
89508
89677
|
|
|
89509
89678
|
var minuteItem=null; //{ Type:0=连续交易 1=集合竞价, Data:数据 }
|
|
89679
|
+
var dataType=0; //0=全部更新 2=分时实时数据更新
|
|
89510
89680
|
if (this.ChartCorssCursor.ClientPos>=0)
|
|
89511
89681
|
{
|
|
89512
89682
|
var titlePaint=this.TitlePaint[0];
|
|
@@ -89516,21 +89686,32 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
89516
89686
|
if ((pointInfo.ClientPos==2 || pointInfo.ClientPos==3 || (pointInfo.ClientPos>=200&& pointInfo.ClientPos<=299) || (pointInfo.ClientPos>=300&& pointInfo.ClientPos<=399)))
|
|
89517
89687
|
{
|
|
89518
89688
|
var auctionData=titlePaint.GetCurrentAuctionData();
|
|
89519
|
-
if (!auctionData) return;
|
|
89689
|
+
if (!auctionData) return false;
|
|
89520
89690
|
minuteItem={ Type:1, Data:auctionData };
|
|
89521
89691
|
}
|
|
89522
89692
|
else
|
|
89523
89693
|
{
|
|
89524
89694
|
var minuteData=titlePaint.GetCurrentKLineData();
|
|
89525
|
-
if (!minuteData) return;
|
|
89695
|
+
if (!minuteData) return false;
|
|
89526
89696
|
minuteItem={ Type:0, Data:minuteData };
|
|
89527
89697
|
}
|
|
89528
89698
|
}
|
|
89529
|
-
|
|
89699
|
+
}
|
|
89700
|
+
else //实时数据更新
|
|
89701
|
+
{
|
|
89702
|
+
if (!this.SourceData || !IFrameSplitOperator.IsNonEmptyArray(this.SourceData.Data)) return false;
|
|
89703
|
+
var minuteData=this.SourceData.Data[this.SourceData.Data.length-1];
|
|
89704
|
+
|
|
89705
|
+
var dataID={ Symbol:this.Symbol, Date:minuteData.Date, Time:minuteData.Time };
|
|
89706
|
+
if (!this.DialogTooltip.IsEqualDataID(dataID)) return false;
|
|
89707
|
+
|
|
89708
|
+
minuteItem={ Type:0, Data:minuteData };
|
|
89709
|
+
dataType=2;
|
|
89530
89710
|
}
|
|
89531
89711
|
|
|
89532
89712
|
var sendData=
|
|
89533
89713
|
{
|
|
89714
|
+
DataType:dataType,
|
|
89534
89715
|
ClientPos:this.ChartCorssCursor.ClientPos, //位置
|
|
89535
89716
|
IsShowCorss:this.ChartCorssCursor.IsShowCorss, //是否显示十字线
|
|
89536
89717
|
MinItem:minuteItem,
|
|
@@ -95963,7 +96144,8 @@ function MinuteTimeStringData()
|
|
|
95963
96144
|
{
|
|
95964
96145
|
this.SHSZ = null; //上海深证交易所时间
|
|
95965
96146
|
this.BJ=null;
|
|
95966
|
-
this.SHO=null;
|
|
96147
|
+
this.SHO=null; //上海期权交易时间
|
|
96148
|
+
this.SZO=null; //深证期权交易时间
|
|
95967
96149
|
this.HK = null; //香港交易所时间
|
|
95968
96150
|
this.Futures=new Map(); //期货交易时间 key=时间名称 Value=数据
|
|
95969
96151
|
this.USA = null; //美股交易时间
|
|
@@ -96000,12 +96182,18 @@ function MinuteTimeStringData()
|
|
|
96000
96182
|
return this.BJ;
|
|
96001
96183
|
}
|
|
96002
96184
|
|
|
96003
|
-
this.GetSHO=function()
|
|
96185
|
+
this.GetSHO=function(upperSymbol)
|
|
96004
96186
|
{
|
|
96005
96187
|
if (!this.SHO) this.SHO=this.CreateSHOData();
|
|
96006
96188
|
return this.SHO;
|
|
96007
96189
|
}
|
|
96008
96190
|
|
|
96191
|
+
this.GetSZO=function(upperSymbol)
|
|
96192
|
+
{
|
|
96193
|
+
if (!this.SZO) this.SZO=this.CreateSZOData();
|
|
96194
|
+
return this.SZO;
|
|
96195
|
+
}
|
|
96196
|
+
|
|
96009
96197
|
this.GetHK=function(upperSymbol)
|
|
96010
96198
|
{
|
|
96011
96199
|
if (!this.HK) this.HK = this.CreateHKData();
|
|
@@ -96119,6 +96307,17 @@ function MinuteTimeStringData()
|
|
|
96119
96307
|
return this.CreateTimeData(TIME_SPLIT);
|
|
96120
96308
|
}
|
|
96121
96309
|
|
|
96310
|
+
this.CreateSZOData=function()
|
|
96311
|
+
{
|
|
96312
|
+
const TIME_SPLIT =
|
|
96313
|
+
[
|
|
96314
|
+
{ Start: 930, End: 1129 },
|
|
96315
|
+
{ Start: 1300, End: 1500 }
|
|
96316
|
+
];
|
|
96317
|
+
|
|
96318
|
+
return this.CreateTimeData(TIME_SPLIT);
|
|
96319
|
+
}
|
|
96320
|
+
|
|
96122
96321
|
this.CreateHKData = function ()
|
|
96123
96322
|
{
|
|
96124
96323
|
const TIME_SPLIT =
|
|
@@ -96269,7 +96468,8 @@ function MinuteTimeStringData()
|
|
|
96269
96468
|
if (!symbol) return this.SHSZ;
|
|
96270
96469
|
|
|
96271
96470
|
var upperSymbol = symbol.toLocaleUpperCase(); //转成大写
|
|
96272
|
-
if (MARKET_SUFFIX_NAME.IsSHO(upperSymbol)
|
|
96471
|
+
if (MARKET_SUFFIX_NAME.IsSHO(upperSymbol)) return this.GetSHO();
|
|
96472
|
+
if (MARKET_SUFFIX_NAME.IsSZO(upperSymbol)) return this.GetSZO();
|
|
96273
96473
|
if (MARKET_SUFFIX_NAME.IsSH(upperSymbol) || MARKET_SUFFIX_NAME.IsSZ(upperSymbol)) return this.GetSHSZ(upperSymbol);
|
|
96274
96474
|
if (MARKET_SUFFIX_NAME.IsBJ(upperSymbol)) return this.GetBJ(upperSymbol);
|
|
96275
96475
|
if (MARKET_SUFFIX_NAME.IsHK(upperSymbol)) return this.GetHK(upperSymbol);
|
|
@@ -96754,12 +96954,14 @@ function MinuteCoordinateData()
|
|
|
96754
96954
|
else
|
|
96755
96955
|
{
|
|
96756
96956
|
var upperSymbol = symbol.toLocaleUpperCase(); //转成大写
|
|
96757
|
-
if (MARKET_SUFFIX_NAME.
|
|
96957
|
+
if (MARKET_SUFFIX_NAME.IsSHO(upperSymbol))
|
|
96958
|
+
data=this.GetSHOData(upperSymbol,width);
|
|
96959
|
+
else if (MARKET_SUFFIX_NAME.IsSZO(upperSymbol))
|
|
96960
|
+
data=this.GetSZOData(upperSymbol,width);
|
|
96961
|
+
else if (MARKET_SUFFIX_NAME.IsSH(upperSymbol) || MARKET_SUFFIX_NAME.IsSZ(upperSymbol) || MARKET_SUFFIX_NAME.IsSHSZIndex(upperSymbol))
|
|
96758
96962
|
data = this.GetSHSZData(upperSymbol,width);
|
|
96759
96963
|
else if (MARKET_SUFFIX_NAME.IsBJ(upperSymbol))
|
|
96760
96964
|
data=this.GetBJData(upperSymbol,width);
|
|
96761
|
-
else if (MARKET_SUFFIX_NAME.IsSHO(upperSymbol) || MARKET_SUFFIX_NAME.IsSZO(upperSymbol))
|
|
96762
|
-
data=this.GetSHOData(upperSymbol,width);
|
|
96763
96965
|
else if (MARKET_SUFFIX_NAME.IsHK(upperSymbol))
|
|
96764
96966
|
data=this.GetHKData(upperSymbol,width);
|
|
96765
96967
|
else if (MARKET_SUFFIX_NAME.IsTW(upperSymbol))
|
|
@@ -96843,6 +97045,12 @@ function MinuteCoordinateData()
|
|
|
96843
97045
|
return result;
|
|
96844
97046
|
}
|
|
96845
97047
|
|
|
97048
|
+
this.GetSZOData=function(upperSymbol,width)
|
|
97049
|
+
{
|
|
97050
|
+
var result=SHO_MINUTE_X_COORDINATE;
|
|
97051
|
+
return result;
|
|
97052
|
+
}
|
|
97053
|
+
|
|
96846
97054
|
this.GetFuturesData = function (upperSymbol,width,timeData)
|
|
96847
97055
|
{
|
|
96848
97056
|
var splitData = timeData.GetSplitData(upperSymbol);
|
|
@@ -125263,6 +125471,21 @@ function GetBlackStyle()
|
|
|
125263
125471
|
TitleBGColor:"rgb(200, 66, 69)",
|
|
125264
125472
|
},
|
|
125265
125473
|
|
|
125474
|
+
FloatTooltip:
|
|
125475
|
+
{
|
|
125476
|
+
BGColor:'rgb(20,20,20)', //背景色
|
|
125477
|
+
BorderColor:'rgb(170,170,170)', //边框颜色
|
|
125478
|
+
|
|
125479
|
+
VolColor:"rgb(255, 185, 15)", //标题成交量
|
|
125480
|
+
AmountColor:"rgb(210,210,210)", //成交金额
|
|
125481
|
+
DateTimeColor:'rgb(210,210,210)',
|
|
125482
|
+
TurnoverRateColor:'rgb(43,54,69)', //换手率
|
|
125483
|
+
PositionColor:"rgb(255,0,255)", //持仓
|
|
125484
|
+
|
|
125485
|
+
TextColor:"rgb(210,210,210)", //数值名称
|
|
125486
|
+
ValueColor:"rgb(210,210,210)", //数值
|
|
125487
|
+
},
|
|
125488
|
+
|
|
125266
125489
|
DialogSelectRect:
|
|
125267
125490
|
{
|
|
125268
125491
|
BGColor:'rgb(20,20,20)', //背景色
|
|
@@ -139257,7 +139480,7 @@ function ScrollBarBGChart()
|
|
|
139257
139480
|
|
|
139258
139481
|
|
|
139259
139482
|
|
|
139260
|
-
var HQCHART_VERSION="1.1.
|
|
139483
|
+
var HQCHART_VERSION="1.1.14049";
|
|
139261
139484
|
|
|
139262
139485
|
function PrintHQChartVersion()
|
|
139263
139486
|
{
|
|
@@ -55744,6 +55744,14 @@ HQData.Minute_RequestMinuteData=function(data, callback)
|
|
|
55744
55744
|
stockItem.beforeinfo=beforeinfo;
|
|
55745
55745
|
}
|
|
55746
55746
|
|
|
55747
|
+
/* 测试用 这里可以修改数据
|
|
55748
|
+
for(var i=0;i<srcStock.minute.length;++i)
|
|
55749
|
+
{
|
|
55750
|
+
var item=srcStock.minute[i];
|
|
55751
|
+
if (item.amount<1000000) item.amount*=100000;
|
|
55752
|
+
}
|
|
55753
|
+
*/
|
|
55754
|
+
|
|
55747
55755
|
var hqchartData={code:0, stock:[stockItem] };
|
|
55748
55756
|
|
|
55749
55757
|
|
|
@@ -56724,6 +56732,10 @@ HQData.Report_RequestStockData=function(data, callback)
|
|
|
56724
56732
|
extendData[6]=(Math.round(Math.random()*60))/100;
|
|
56725
56733
|
extendData[7]=(Math.round(Math.random()*60))/100;
|
|
56726
56734
|
extendData[8]=(Math.round(Math.random()*60))/100;
|
|
56735
|
+
|
|
56736
|
+
|
|
56737
|
+
newItem[101]=105.0;
|
|
56738
|
+
newItem[201]=`A-[${HQData.GetRandomTestData(-90,90)}]-B`
|
|
56727
56739
|
|
|
56728
56740
|
|
|
56729
56741
|
item.Data=newItem;
|
|
@@ -57014,17 +57026,17 @@ HQData.Keyboard_RequestSymbolList=function(data, callback)
|
|
|
57014
57026
|
arySymbol.push( { Symbol:"02", Name:"分价表", TypeName:"功能键", Priority:1, Color:"rgb(220,20,60)" ,Data:{ PageName:"分价表", Type:2 }} );
|
|
57015
57027
|
arySymbol.push( { Symbol:"06", Name:"自选股", TypeName:"功能键", Priority:1 , Color:"rgb(220,20,60)", Data:{ PageName:"自选股", Type:2 }} );
|
|
57016
57028
|
|
|
57017
|
-
arySymbol.push( { Symbol:"MACD", Name:"平滑异同平均线", TypeName:"指标", Priority:2 , Color:"rgb(0,
|
|
57018
|
-
arySymbol.push( { Symbol:"RSI", Name:"相对强弱指标", TypeName:"指标", Priority:2, Color:"rgb(0,
|
|
57019
|
-
arySymbol.push( { Symbol:"MA", Name:"均线", TypeName:"指标", Priority:2, Color:"rgb(0,
|
|
57020
|
-
arySymbol.push( { Symbol:"BOLL", Name:"布林线", TypeName:"指标", Priority:2, Color:"rgb(0,
|
|
57021
|
-
arySymbol.push( { Symbol:"KDJ", Name:"随机指标", TypeName:"指标", Priority:2, Color:"rgb(0,
|
|
57022
|
-
arySymbol.push( { Symbol:"SKDJ", Name:"慢速随机指标", TypeName:"指标", Priority:2, Color:"rgb(0,
|
|
57023
|
-
arySymbol.push( { Symbol:"KD", Name:"随机指标KD", TypeName:"指标", Priority:2, Color:"rgb(0,
|
|
57024
|
-
arySymbol.push( { Symbol:"MARSI", Name:"相对强弱平均线", TypeName:"指标", Priority:2, Color:"rgb(0,
|
|
57025
|
-
arySymbol.push( { Symbol:"VMACD", Name:"量平滑异同平均", TypeName:"指标", Priority:2, Color:"rgb(0,
|
|
57026
|
-
arySymbol.push( { Symbol:"AMO", Name:"成交金额", TypeName:"指标", Priority:2, Color:"rgb(0,
|
|
57027
|
-
arySymbol.push( { Symbol:"SQJZ", Name:"神奇九转", TypeName:"指标", Priority:2, Color:"rgb(0,
|
|
57029
|
+
arySymbol.push( { Symbol:"MACD", Name:"平滑异同平均线", TypeName:"指标", Priority:2 , Color:"rgb(0,144,255)", Data:{ Index:"MACD", Type:1 }} );
|
|
57030
|
+
arySymbol.push( { Symbol:"RSI", Name:"相对强弱指标", TypeName:"指标", Priority:2, Color:"rgb(0,144,255)",Data:{ Index:"RSI", Type:1 }} );
|
|
57031
|
+
arySymbol.push( { Symbol:"MA", Name:"均线", TypeName:"指标", Priority:2, Color:"rgb(0,144,255)" ,Data:{ Index:"MA", Type:1 } } );
|
|
57032
|
+
arySymbol.push( { Symbol:"BOLL", Name:"布林线", TypeName:"指标", Priority:2, Color:"rgb(0,144,255)" ,Data:{ Index:"BOLL", Type:1 } } );
|
|
57033
|
+
arySymbol.push( { Symbol:"KDJ", Name:"随机指标", TypeName:"指标", Priority:2, Color:"rgb(0,144,255)" ,Data:{ Index:"KDJ", Type:1 } } );
|
|
57034
|
+
arySymbol.push( { Symbol:"SKDJ", Name:"慢速随机指标", TypeName:"指标", Priority:2, Color:"rgb(0,144,255)" ,Data:{ Index:"SKDJ", Type:1 } } );
|
|
57035
|
+
arySymbol.push( { Symbol:"KD", Name:"随机指标KD", TypeName:"指标", Priority:2, Color:"rgb(0,144,255)" ,Data:{ Index:"KD", Type:1 } } );
|
|
57036
|
+
arySymbol.push( { Symbol:"MARSI", Name:"相对强弱平均线", TypeName:"指标", Priority:2, Color:"rgb(0,144,255)" ,Data:{ Index:"MARSI", Type:1 } } );
|
|
57037
|
+
arySymbol.push( { Symbol:"VMACD", Name:"量平滑异同平均", TypeName:"指标", Priority:2, Color:"rgb(0,144,255)" ,Data:{ Index:"VMACD", Type:1 } } );
|
|
57038
|
+
arySymbol.push( { Symbol:"AMO", Name:"成交金额", TypeName:"指标", Priority:2, Color:"rgb(0,144,255)" ,Data:{ Index:"AMO", Type:1 } } );
|
|
57039
|
+
arySymbol.push( { Symbol:"SQJZ", Name:"神奇九转", TypeName:"指标", Priority:2, Color:"rgb(0,144,255)" ,Data:{ Index:"SQJZ", Type:1 } } );
|
|
57028
57040
|
|
|
57029
57041
|
callback(arySymbol);
|
|
57030
57042
|
}
|