hqchart 1.1.14734 → 1.1.14746
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 +160 -16
- package/package.json +1 -1
- package/src/jscommon/umychart.NetworkFilterTest.js +89 -1
- package/src/jscommon/umychart.js +271 -5
- package/src/jscommon/umychart.testdata.js +89 -1
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +272 -6
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.NetworkFilterTest.vue.js +89 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +274 -7
package/src/jscommon/umychart.js
CHANGED
|
@@ -2984,6 +2984,18 @@ var JSCHART_MENU_ID=
|
|
|
2984
2984
|
CMD_REPORT_CHANGE_COLUMN_ID:105, //报价列表 切换列 Arg[Column, ]
|
|
2985
2985
|
}
|
|
2986
2986
|
|
|
2987
|
+
var JSCHART_TRADE_STATUS_ID=
|
|
2988
|
+
{
|
|
2989
|
+
START_ID:1000, //8:45~9:15
|
|
2990
|
+
BEFORE_OPEN_ID:2000, //9:15~9:25 是开盘集合竞价阶段
|
|
2991
|
+
TRADE_ID:3000, //9:25~14:57 是连续竞价阶段
|
|
2992
|
+
AFTER_CLOSE_ID:4000, //14:57~15:00 是收盘集合竞价阶段
|
|
2993
|
+
CLOSE_ID:5000, //15:00 后,首先发 CLOSE 标志
|
|
2994
|
+
ENDTR_ID:6000, //交易结束
|
|
2995
|
+
//上面状态个位数 是停牌状态 如3001 连续交易时间段停牌
|
|
2996
|
+
SUSP_ID:1, //停牌
|
|
2997
|
+
}
|
|
2998
|
+
|
|
2987
2999
|
|
|
2988
3000
|
function PhoneDBClick()
|
|
2989
3001
|
{
|
|
@@ -3200,6 +3212,8 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
3200
3212
|
|
|
3201
3213
|
//图形中的单元选中状态
|
|
3202
3214
|
MapIndexChartCache:new Map(), //key 指标GUID
|
|
3215
|
+
|
|
3216
|
+
TradeStatus:null, //当前交易状态 { Date, Time:数据最后更新的时间, Status: }
|
|
3203
3217
|
};
|
|
3204
3218
|
|
|
3205
3219
|
this.VerticalDrag; //通过X轴左右拖动数据(手势才有)
|
|
@@ -6234,7 +6248,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
6234
6248
|
|
|
6235
6249
|
var bDrawDialogTooltip=false;
|
|
6236
6250
|
var ptPosition=null; //鼠标位置 null 无效 -1 在外面 >=0 对应的指标窗口中ID
|
|
6237
|
-
var corssCursorPos=this.GetCorssCursorPosition()
|
|
6251
|
+
var corssCursorPos=this.GetCorssCursorPosition();
|
|
6238
6252
|
if (corssCursorPos.LastPoint.X!=null || corssCursorPos.LastPoint.Y!=null)
|
|
6239
6253
|
{
|
|
6240
6254
|
if (this.ChartCorssCursor)
|
|
@@ -6688,6 +6702,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
6688
6702
|
this.DrawDynamicInfo=function(option)
|
|
6689
6703
|
{
|
|
6690
6704
|
this.LastMouseStatus.MouseOnToolbar=null; //鼠标在工具栏按钮上
|
|
6705
|
+
if (this.ChartCorssCursor) this.ChartCorssCursor.Status=0;
|
|
6691
6706
|
|
|
6692
6707
|
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_BEFORE_DRAW_DYNAMIC_INFO);
|
|
6693
6708
|
if (event && event.Callback)
|
|
@@ -11723,6 +11738,26 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
11723
11738
|
{
|
|
11724
11739
|
return false;
|
|
11725
11740
|
}
|
|
11741
|
+
|
|
11742
|
+
//更新交易状态
|
|
11743
|
+
this.UpdateTradeStatusData=function(data, option)
|
|
11744
|
+
{
|
|
11745
|
+
if (option)
|
|
11746
|
+
{
|
|
11747
|
+
//是否清空
|
|
11748
|
+
if (option.IsClear===true) this.GlobalOption.TradeStatus=null;
|
|
11749
|
+
}
|
|
11750
|
+
|
|
11751
|
+
if (!data) return false;
|
|
11752
|
+
|
|
11753
|
+
if (IFrameSplitOperator.IsNumber(data.Date) && IFrameSplitOperator.IsNumber(data.Time) && IFrameSplitOperator.IsNumber(data.Status))
|
|
11754
|
+
{
|
|
11755
|
+
this.GlobalOption.TradeStatus={ Date:data.Date, Time:data.Time, Status:data.Status };
|
|
11756
|
+
return true;
|
|
11757
|
+
}
|
|
11758
|
+
|
|
11759
|
+
return false;
|
|
11760
|
+
}
|
|
11726
11761
|
}
|
|
11727
11762
|
|
|
11728
11763
|
function GetDevicePixelRatio()
|
|
@@ -12258,6 +12293,40 @@ function ChartBorder()
|
|
|
12258
12293
|
{
|
|
12259
12294
|
return this.TitleHeight;
|
|
12260
12295
|
}
|
|
12296
|
+
|
|
12297
|
+
//是否显示单日集合竞价 盘前
|
|
12298
|
+
this.IsShowBeforeOpen=function()
|
|
12299
|
+
{
|
|
12300
|
+
if (this.LeftExtendWidth<10) return false;
|
|
12301
|
+
|
|
12302
|
+
return true;
|
|
12303
|
+
}
|
|
12304
|
+
|
|
12305
|
+
//是否显示单日集合竞价 盘后
|
|
12306
|
+
this.IsShowAfterClose=function()
|
|
12307
|
+
{
|
|
12308
|
+
if (this.RightExtendWidth<10) return false;
|
|
12309
|
+
|
|
12310
|
+
return true;
|
|
12311
|
+
}
|
|
12312
|
+
|
|
12313
|
+
//是否显示多日集合竞价 盘前
|
|
12314
|
+
this.IsShowMultiDayBeforeOpen=function()
|
|
12315
|
+
{
|
|
12316
|
+
if (!this.MultiDayMinute) return false;
|
|
12317
|
+
if (this.MultiDayMinute.Count<=1 || this.MultiDayMinute.Left<=0) return false;
|
|
12318
|
+
|
|
12319
|
+
return true;
|
|
12320
|
+
}
|
|
12321
|
+
|
|
12322
|
+
//是否显示多日集合竞价 盘后
|
|
12323
|
+
this.IsShowMultiDayAfterClose=function()
|
|
12324
|
+
{
|
|
12325
|
+
if (!this.MultiDayMinute) return false;
|
|
12326
|
+
if (this.MultiDayMinute.Count<=1 || this.MultiDayMinute.Right<=0) return false;
|
|
12327
|
+
|
|
12328
|
+
return true;
|
|
12329
|
+
}
|
|
12261
12330
|
}
|
|
12262
12331
|
|
|
12263
12332
|
//框架外部挂接
|
|
@@ -12928,7 +12997,7 @@ function AverageWidthFrame()
|
|
|
12928
12997
|
}
|
|
12929
12998
|
else
|
|
12930
12999
|
{
|
|
12931
|
-
var right=border.
|
|
13000
|
+
var right=border.RightEx-3;
|
|
12932
13001
|
var left=border.Left;
|
|
12933
13002
|
var yButton=border.Top+this.ChartBorder.TitleHeight/2;
|
|
12934
13003
|
|
|
@@ -54236,7 +54305,7 @@ function FrameSplitY()
|
|
|
54236
54305
|
|
|
54237
54306
|
this.RightFrameSplitY();
|
|
54238
54307
|
this.MainOverlayFrameSplitY(); //主图Y轴绑定叠加Y轴坐标
|
|
54239
|
-
this.
|
|
54308
|
+
this.CallAcutionSplitYV2(splitData, this.Frame.HorizontalInfo.slice());
|
|
54240
54309
|
|
|
54241
54310
|
if (this.EnableRemoveZero) this.RemoveZero(this.Frame.HorizontalInfo);
|
|
54242
54311
|
|
|
@@ -54317,6 +54386,173 @@ function FrameSplitY()
|
|
|
54317
54386
|
}
|
|
54318
54387
|
}
|
|
54319
54388
|
|
|
54389
|
+
this.CallAcutionSplitYV2=function(splitData, aryHorizontalInfo)
|
|
54390
|
+
{
|
|
54391
|
+
if (!this.IsCallAuctionFrame()) return;
|
|
54392
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(aryHorizontalInfo)) return;
|
|
54393
|
+
|
|
54394
|
+
var aryCallAcution=this.GetCallAcutionSplitYV2(splitData,aryHorizontalInfo);
|
|
54395
|
+
if (!aryCallAcution) return;
|
|
54396
|
+
|
|
54397
|
+
for(var i=0; i<this.Frame.HorizontalInfo.length; ++i) //把显示的数据迁移到 Message[2] Message[3]
|
|
54398
|
+
{
|
|
54399
|
+
var item=this.Frame.HorizontalInfo[i];
|
|
54400
|
+
if (aryCallAcution.IsBeforeData)
|
|
54401
|
+
{
|
|
54402
|
+
item.Message[2]=item.Message[0];
|
|
54403
|
+
item.Message[0]=null;
|
|
54404
|
+
}
|
|
54405
|
+
|
|
54406
|
+
if (aryCallAcution.IsAfterData && (this.ShareAfterVol==0 || this.ShareAfterVol==2) )
|
|
54407
|
+
{
|
|
54408
|
+
item.Message[3]=item.Message[1];
|
|
54409
|
+
item.Message[1]=null;
|
|
54410
|
+
}
|
|
54411
|
+
}
|
|
54412
|
+
|
|
54413
|
+
//集合竞价的坐标插入最后
|
|
54414
|
+
for(var i=0; i<aryCallAcution.HorizontalInfo.length; ++i)
|
|
54415
|
+
{
|
|
54416
|
+
var item=aryCallAcution.HorizontalInfo[i];
|
|
54417
|
+
this.Frame.HorizontalInfo.push(item);
|
|
54418
|
+
}
|
|
54419
|
+
}
|
|
54420
|
+
|
|
54421
|
+
this.GetCallAcutionSplitYV2=function(splitData, arySource)
|
|
54422
|
+
{
|
|
54423
|
+
if (!this.IsCallAuctionFrame()) return null;
|
|
54424
|
+
|
|
54425
|
+
var bBeforeData=(this.IsBeforeData==true && this.BeforeOpenData && (this.BeforeOpenData.Ver==2.0 || this.BeforeOpenData.Ver==3.0));
|
|
54426
|
+
var bAfterData=(this.IsAfterData==true && this.AfterCloseData && (this.AfterCloseData.Ver==2.0 || this.AfterCloseData.Ver==3.0));
|
|
54427
|
+
|
|
54428
|
+
var bottom=this.Frame.ChartBorder.GetBottomEx();
|
|
54429
|
+
var height=this.Frame.ChartBorder.GetHeightEx();
|
|
54430
|
+
var bHScreen=this.Frame.IsHScreen;
|
|
54431
|
+
if (this.Frame.IsHScreen)
|
|
54432
|
+
{
|
|
54433
|
+
var border=this.Frame.GetBorder();
|
|
54434
|
+
var width=border.RightEx-border.LeftEx;
|
|
54435
|
+
}
|
|
54436
|
+
|
|
54437
|
+
if (bBeforeData || bAfterData)
|
|
54438
|
+
{
|
|
54439
|
+
var aryHorizontalInfo=[];
|
|
54440
|
+
for(var i=0;i<arySource.length;++i)
|
|
54441
|
+
{
|
|
54442
|
+
var hItem=arySource[i];
|
|
54443
|
+
if (!hItem || !IFrameSplitOperator.IsNumber(hItem.Value)) continue;
|
|
54444
|
+
var y=this.Frame.GetYFromData(hItem.Value);
|
|
54445
|
+
|
|
54446
|
+
var item=new CoordinateInfo();
|
|
54447
|
+
item.Value=hItem.Value;
|
|
54448
|
+
item.LineType=8;
|
|
54449
|
+
if (bBeforeData)
|
|
54450
|
+
{
|
|
54451
|
+
if (bHScreen)
|
|
54452
|
+
{
|
|
54453
|
+
var value=(y-border.LeftEx)/width*(this.BeforeOpenData.VolMax-this.BeforeOpenData.VolMin)+this.BeforeOpenData.VolMin;
|
|
54454
|
+
}
|
|
54455
|
+
else
|
|
54456
|
+
{
|
|
54457
|
+
var value=(bottom-y)/height*(this.BeforeOpenData.VolMax-this.BeforeOpenData.VolMin)+this.BeforeOpenData.VolMin;
|
|
54458
|
+
}
|
|
54459
|
+
|
|
54460
|
+
item.Message[0]=this.FormatValueString(value);
|
|
54461
|
+
}
|
|
54462
|
+
|
|
54463
|
+
if (bAfterData && (this.ShareAfterVol==0 || this.ShareAfterVol==2) )
|
|
54464
|
+
{
|
|
54465
|
+
if (bHScreen)
|
|
54466
|
+
{
|
|
54467
|
+
var value=(y-border.LeftEx)/width*(this.AfterCloseData.VolMax-this.AfterCloseData.VolMin)+this.AfterCloseData.VolMin;
|
|
54468
|
+
}
|
|
54469
|
+
else
|
|
54470
|
+
{
|
|
54471
|
+
var value=(bottom-y)/height*(this.AfterCloseData.VolMax-this.AfterCloseData.VolMin)+this.AfterCloseData.VolMin;
|
|
54472
|
+
}
|
|
54473
|
+
|
|
54474
|
+
item.Message[1]=this.FormatValueString(value);
|
|
54475
|
+
}
|
|
54476
|
+
|
|
54477
|
+
aryHorizontalInfo.push(item);
|
|
54478
|
+
}
|
|
54479
|
+
|
|
54480
|
+
return { HorizontalInfo:aryHorizontalInfo, IsBeforeData:bBeforeData, IsAfterData:bAfterData };
|
|
54481
|
+
}
|
|
54482
|
+
|
|
54483
|
+
var bMultiDayBeforeData=false, bMultiDayAfterData=false;
|
|
54484
|
+
var beforeDayData=null, afterDayData=null;
|
|
54485
|
+
if (this.MultiDayBeforeOpenData && IFrameSplitOperator.IsNonEmptyArray(this.MultiDayBeforeOpenData))
|
|
54486
|
+
{
|
|
54487
|
+
bMultiDayBeforeData=true;
|
|
54488
|
+
var firstDayData=this.MultiDayBeforeOpenData[0];
|
|
54489
|
+
if (firstDayData.Ver==2.0 || firstDayData.Ver==3.0)
|
|
54490
|
+
beforeDayData=firstDayData;
|
|
54491
|
+
}
|
|
54492
|
+
|
|
54493
|
+
if (this.MultiDayAfterCloseData && IFrameSplitOperator.IsNonEmptyArray(this.MultiDayAfterCloseData))
|
|
54494
|
+
{
|
|
54495
|
+
bMultiDayAfterData=true;
|
|
54496
|
+
var firstDayData=this.MultiDayAfterCloseData[0];
|
|
54497
|
+
if (firstDayData.Ver==2.0 || firstDayData.Ver==3.0)
|
|
54498
|
+
afterDayData=firstDayData;
|
|
54499
|
+
}
|
|
54500
|
+
|
|
54501
|
+
if (bMultiDayBeforeData || bMultiDayAfterData)
|
|
54502
|
+
{
|
|
54503
|
+
var aryHorizontalInfo=[];
|
|
54504
|
+
for(var i=0;i<arySource.length;++i)
|
|
54505
|
+
{
|
|
54506
|
+
var hItem=arySource[i];
|
|
54507
|
+
if (!hItem || !IFrameSplitOperator.IsNumber(hItem.Value)) continue;
|
|
54508
|
+
var y=this.Frame.GetYFromData(hItem.Value);
|
|
54509
|
+
|
|
54510
|
+
var item=new CoordinateInfo();
|
|
54511
|
+
item.Value=hItem.Value;
|
|
54512
|
+
item.LineType=9;
|
|
54513
|
+
|
|
54514
|
+
var isVaild=false;
|
|
54515
|
+
if (beforeDayData)
|
|
54516
|
+
{
|
|
54517
|
+
if (bHScreen)
|
|
54518
|
+
{
|
|
54519
|
+
var value=(y-border.LeftEx)/width*(beforeDayData.VolMax-beforeDayData.VolMin)+beforeDayData.VolMin;
|
|
54520
|
+
}
|
|
54521
|
+
else
|
|
54522
|
+
{
|
|
54523
|
+
var value=(bottom-y)/height*(beforeDayData.VolMax-beforeDayData.VolMin)+beforeDayData.VolMin;
|
|
54524
|
+
}
|
|
54525
|
+
|
|
54526
|
+
item.Message[0]=this.FormatValueString(value);
|
|
54527
|
+
isVaild=true;
|
|
54528
|
+
}
|
|
54529
|
+
|
|
54530
|
+
if (afterDayData && (this.ShareAfterVol==0 || this.ShareAfterVol==2))
|
|
54531
|
+
{
|
|
54532
|
+
if (bHScreen)
|
|
54533
|
+
{
|
|
54534
|
+
var value=(y-border.LeftEx)/width*(afterDayData.VolMax-afterDayData.VolMin)+afterDayData.VolMin;
|
|
54535
|
+
}
|
|
54536
|
+
else
|
|
54537
|
+
{
|
|
54538
|
+
var value=(bottom-y)/height*(afterDayData.VolMax-afterDayData.VolMin)+afterDayData.VolMin;
|
|
54539
|
+
}
|
|
54540
|
+
|
|
54541
|
+
item.Message[1]=this.FormatValueString(value);
|
|
54542
|
+
isVaild=true;
|
|
54543
|
+
}
|
|
54544
|
+
|
|
54545
|
+
if (isVaild) aryHorizontalInfo.push(item);
|
|
54546
|
+
}
|
|
54547
|
+
|
|
54548
|
+
if (IFrameSplitOperator.IsNonEmptyArray(aryHorizontalInfo))
|
|
54549
|
+
return { HorizontalInfo:aryHorizontalInfo, IsBeforeData:bMultiDayBeforeData, IsAfterData:bMultiDayAfterData };
|
|
54550
|
+
}
|
|
54551
|
+
|
|
54552
|
+
return null;
|
|
54553
|
+
}
|
|
54554
|
+
|
|
54555
|
+
/* 废弃 使用 CallAcutionSplitYV2
|
|
54320
54556
|
this.CallAcutionSplitY=function(count,splitData)
|
|
54321
54557
|
{
|
|
54322
54558
|
if (!this.IsCallAuctionFrame()) return;
|
|
@@ -54347,6 +54583,7 @@ function FrameSplitY()
|
|
|
54347
54583
|
this.Frame.HorizontalInfo.push(item);
|
|
54348
54584
|
}
|
|
54349
54585
|
}
|
|
54586
|
+
*/
|
|
54350
54587
|
|
|
54351
54588
|
this.IsCallAuctionFrame=function()
|
|
54352
54589
|
{
|
|
@@ -54357,6 +54594,7 @@ function FrameSplitY()
|
|
|
54357
54594
|
return this.HQChart.IsCallAuctionFrame(this.Frame.Identify);
|
|
54358
54595
|
}
|
|
54359
54596
|
|
|
54597
|
+
/* 废弃 使用 GetCallAcutionSplitYV2
|
|
54360
54598
|
this.GetCallAcutionSplitY=function(count,splitData)
|
|
54361
54599
|
{
|
|
54362
54600
|
if (!this.IsCallAuctionFrame()) return null;
|
|
@@ -54451,6 +54689,7 @@ function FrameSplitY()
|
|
|
54451
54689
|
|
|
54452
54690
|
return null;
|
|
54453
54691
|
}
|
|
54692
|
+
*/
|
|
54454
54693
|
|
|
54455
54694
|
this.RightFrameSplitY=function()
|
|
54456
54695
|
{
|
|
@@ -60110,7 +60349,17 @@ function DynamicMinuteTitlePainting()
|
|
|
60110
60349
|
{
|
|
60111
60350
|
this.OnDrawEventCallback(null);
|
|
60112
60351
|
|
|
60113
|
-
|
|
60352
|
+
var bShowLastData=this.IsAlwaysShowLastData
|
|
60353
|
+
if (this.DrawStatus && this.DrawStatus.IsTitleShowLatestData)
|
|
60354
|
+
{
|
|
60355
|
+
var status=this.DrawStatus;
|
|
60356
|
+
if (!IFrameSplitOperator.IsNumber(status.FrameID) || status.FrameID<0)
|
|
60357
|
+
bShowLastData=true;
|
|
60358
|
+
else if (status.CorssCursorTouchEnd && status.IsOnTouch==false)
|
|
60359
|
+
bShowLastData=true;
|
|
60360
|
+
}
|
|
60361
|
+
|
|
60362
|
+
if (bShowLastData)
|
|
60114
60363
|
{
|
|
60115
60364
|
this.Canvas.save();
|
|
60116
60365
|
this.DrawLastDataItem();
|
|
@@ -60310,6 +60559,7 @@ function DynamicChartTitlePainting()
|
|
|
60310
60559
|
this.IsShowIndexTitle=true; //是否显示指标标题信息
|
|
60311
60560
|
this.IsShowNameArrow=false;
|
|
60312
60561
|
this.NameArrowConfig=CloneData(g_JSChartResource.IndexTitle.NameArrow);
|
|
60562
|
+
this.CustomLocation; //自定义位置 { IsShow:, Top:, TitleHeight: }
|
|
60313
60563
|
|
|
60314
60564
|
this.TradeIndex; //专家系统名字{Name:'名字', Param:'参数'}
|
|
60315
60565
|
this.IsShowTradeIndexTitle=true;
|
|
@@ -60999,7 +61249,16 @@ function DynamicChartTitlePainting()
|
|
|
60999
61249
|
if (this.Frame.IsShowIndexTitle==false) return;
|
|
61000
61250
|
if (g_JSChartResource.IsDOMFrameTitle===true) return;
|
|
61001
61251
|
if (!this.Data) return;
|
|
61002
|
-
if (this.
|
|
61252
|
+
if (this.CustomLocation)
|
|
61253
|
+
{
|
|
61254
|
+
if (!this.CustomLocation.IsShow) return;
|
|
61255
|
+
if (!IFrameSplitOperator.IsNumber(this.CustomLocation.Top) || !IFrameSplitOperator.IsNumber(this.CustomLocation.TitleHeight)) return;
|
|
61256
|
+
}
|
|
61257
|
+
else
|
|
61258
|
+
{
|
|
61259
|
+
if (this.Frame.ChartBorder.TitleHeight<5) return;
|
|
61260
|
+
}
|
|
61261
|
+
|
|
61003
61262
|
if (this.CursorIndex==null && !(this.GlobalOption && this.GlobalOption.IsDisplayLatest)) return;
|
|
61004
61263
|
|
|
61005
61264
|
if (this.Frame.IsHScreen===true)
|
|
@@ -61021,6 +61280,11 @@ function DynamicChartTitlePainting()
|
|
|
61021
61280
|
|
|
61022
61281
|
var left=this.Frame.ChartBorder.GetLeft()+this.MerginLeft;
|
|
61023
61282
|
var bottom=this.Frame.ChartBorder.GetTop()+this.Frame.ChartBorder.TitleHeight/2; //上下居中显示
|
|
61283
|
+
if (this.CustomLocation) //自定义标题位置
|
|
61284
|
+
{
|
|
61285
|
+
bottom=this.Frame.ChartBorder.GetTop()+this.CustomLocation.Top+this.CustomLocation.TitleHeight/2;
|
|
61286
|
+
}
|
|
61287
|
+
|
|
61024
61288
|
var right=this.Frame.ChartBorder.GetRight();
|
|
61025
61289
|
|
|
61026
61290
|
var toolbarInfo={ Width:0, YCenter:bottom };
|
|
@@ -91175,6 +91439,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
91175
91439
|
this.UpdateCallCationData(beforeOpenData,afterCloseData);
|
|
91176
91440
|
this.UpdateLineColorData(aryColorData,data.stock[0].date);
|
|
91177
91441
|
this.UpdateLatestMinuteData(aryMinuteData, data.stock[0].date, data.stock[0]);
|
|
91442
|
+
this.UpdateTradeStatusData(data.TradeStatus);
|
|
91178
91443
|
this.UpdateHistoryMinuteUI(updateTime);
|
|
91179
91444
|
this.RecvMinuteDataEvent({FunctionName:"RecvMinuteData"} );
|
|
91180
91445
|
this.RequestOverlayMinuteData(); //请求叠加数据 (主数据下载完再下载)
|
|
@@ -91201,6 +91466,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
91201
91466
|
|
|
91202
91467
|
this.ColorLineData=aryColorData;
|
|
91203
91468
|
|
|
91469
|
+
this.UpdateTradeStatusData(data.TradeStatus);
|
|
91204
91470
|
this.UpdateMinuteUI(data.stock[0], {FunctionName:"RecvMinuteData", Day:{ IsFirstData:bFirstData} });
|
|
91205
91471
|
|
|
91206
91472
|
if (data.AutoUpdate===false) //不执行自动更新
|
|
@@ -230,7 +230,6 @@ HQData.Minute_RequestMinuteData=function(data, callback)
|
|
|
230
230
|
|
|
231
231
|
var lastPrice=stockItem.minute[stockItem.minute.length-1].price;
|
|
232
232
|
|
|
233
|
-
|
|
234
233
|
if (bBuySellBar) //盘口分析
|
|
235
234
|
{
|
|
236
235
|
var aryBuy=[];
|
|
@@ -271,6 +270,95 @@ HQData.Minute_RequestMinuteData=function(data, callback)
|
|
|
271
270
|
}, 50);
|
|
272
271
|
}
|
|
273
272
|
|
|
273
|
+
HQData.Minute_RequestMinuteDataV2=function(data, callback)
|
|
274
|
+
{
|
|
275
|
+
data.PreventDefault=true;
|
|
276
|
+
var symbol=data.Request.Data.symbol[0]; //请求的股票代码
|
|
277
|
+
var callcation=data.Request.Data.callcation; //集合竞价
|
|
278
|
+
console.log(`[HQData::Minute_RequestMinuteDataV2] Symbol=${symbol}`);
|
|
279
|
+
|
|
280
|
+
setTimeout(()=>
|
|
281
|
+
{
|
|
282
|
+
var fullData=HQData.GetDayMinuteDataBySymbol(symbol);
|
|
283
|
+
var srcStock=fullData[0];
|
|
284
|
+
var stockItem={ date:srcStock.date, minute:srcStock.minute, yclose:srcStock.yclose, symbol:symbol, name:symbol };
|
|
285
|
+
|
|
286
|
+
if (callcation.Before)
|
|
287
|
+
{
|
|
288
|
+
var TEST_BEFORE_DATA=
|
|
289
|
+
[
|
|
290
|
+
[8.52, 50000, 30000, 1, 200000],
|
|
291
|
+
[8.53, 55000, 40000, 0, 80000],
|
|
292
|
+
[8.52, 40000, 60000, 1, 80000],
|
|
293
|
+
[8.55, 30000, 21000, 2, 44000],
|
|
294
|
+
[8.51, 21000, 25000, 2, 40000],
|
|
295
|
+
[8.50, 36000, 55000, 2, 60000],
|
|
296
|
+
[8.49, 10000, 20000, 2, 33000],
|
|
297
|
+
];
|
|
298
|
+
|
|
299
|
+
var date=new Date(parseInt(stockItem.date/10000),(stockItem.date/100%100-1),stockItem.date%100, 9, 15, 0);
|
|
300
|
+
var count=10*60; //9:15-9:25
|
|
301
|
+
var before=[];
|
|
302
|
+
for(var i=0;i<count;++i)
|
|
303
|
+
{
|
|
304
|
+
var time=date.getHours()*10000+date.getMinutes()*100+date.getSeconds();
|
|
305
|
+
var testIndex=Math.floor(Math.random()*10)%TEST_BEFORE_DATA.length;
|
|
306
|
+
var testData=TEST_BEFORE_DATA[testIndex];
|
|
307
|
+
var item=[ time, null, null, null, null, null ];
|
|
308
|
+
if (i%20==0 || i==count-1)
|
|
309
|
+
{
|
|
310
|
+
item=[ time, testData[0], testData[1], testData[2], testData[3], (testData[1]+testData[2])*1.5 ];
|
|
311
|
+
}
|
|
312
|
+
before.push(item);
|
|
313
|
+
date.setSeconds(date.getSeconds()+1);
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
//before.length=200;
|
|
317
|
+
var beforeinfo={ totalcount:count, ver:2.0 };
|
|
318
|
+
|
|
319
|
+
stockItem.before=before;
|
|
320
|
+
stockItem.beforeinfo=beforeinfo;
|
|
321
|
+
|
|
322
|
+
var TEST_AFTER_DATA=
|
|
323
|
+
[
|
|
324
|
+
[8.51, 40000, 30000, 1, 80000],
|
|
325
|
+
[8.51, 55000, 60000, 0, 150000],
|
|
326
|
+
[8.51, 30000, 60000, 1, 160000],
|
|
327
|
+
[8.51, 35000, 21000, 2, 50000],
|
|
328
|
+
[8.51, 21000, 35000, 2, 70000],
|
|
329
|
+
[8.51, 26000, 55000, 2, 100000],
|
|
330
|
+
[8.51, 30000, 10000, 2, 50000],
|
|
331
|
+
];
|
|
332
|
+
|
|
333
|
+
var date=new Date(parseInt(stockItem.date/10000),(stockItem.date/100%100-1),stockItem.date%100, 14, 57, 0);
|
|
334
|
+
var count=3*60; //14:57-15:00
|
|
335
|
+
var after=[];
|
|
336
|
+
for(var i=0;i<count;++i)
|
|
337
|
+
{
|
|
338
|
+
var time=date.getHours()*10000+date.getMinutes()*100+date.getSeconds();
|
|
339
|
+
var testIndex=Math.floor(Math.random()*10)%TEST_AFTER_DATA.length;
|
|
340
|
+
var testData=TEST_AFTER_DATA[testIndex];
|
|
341
|
+
var item=[ time, null, null, null, null, null ];
|
|
342
|
+
if (i%10==0 || i==count-1)
|
|
343
|
+
{
|
|
344
|
+
item=[ time, testData[0], testData[1], testData[2], testData[3], (testData[1]+testData[2])*1.5 ];
|
|
345
|
+
}
|
|
346
|
+
after.push(item);
|
|
347
|
+
date.setSeconds(date.getSeconds()+1);
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
var afterinfo={ totalcount:count, ver:2.0 };
|
|
351
|
+
stockItem.after=after;
|
|
352
|
+
stockItem.afterinfo=afterinfo;
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
//stockItem.minute.length=0;
|
|
356
|
+
|
|
357
|
+
var hqchartData={code:0, stock:[stockItem] };
|
|
358
|
+
callback(hqchartData);
|
|
359
|
+
}, 50);
|
|
360
|
+
}
|
|
361
|
+
|
|
274
362
|
HQData.Minute_RequestPopMinuteData=function(data, callback)
|
|
275
363
|
{
|
|
276
364
|
data.PreventDefault=true;
|