hqchart 1.1.14734 → 1.1.14742
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 +153 -11
- package/package.json +1 -1
- package/src/jscommon/umychart.NetworkFilterTest.js +89 -1
- package/src/jscommon/umychart.js +252 -2
- package/src/jscommon/umychart.testdata.js +89 -1
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +253 -3
- 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 +255 -4
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轴左右拖动数据(手势才有)
|
|
@@ -11723,6 +11737,26 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
11723
11737
|
{
|
|
11724
11738
|
return false;
|
|
11725
11739
|
}
|
|
11740
|
+
|
|
11741
|
+
//更新交易状态
|
|
11742
|
+
this.UpdateTradeStatusData=function(data, option)
|
|
11743
|
+
{
|
|
11744
|
+
if (option)
|
|
11745
|
+
{
|
|
11746
|
+
//是否清空
|
|
11747
|
+
if (option.IsClear===true) this.GlobalOption.TradeStatus=null;
|
|
11748
|
+
}
|
|
11749
|
+
|
|
11750
|
+
if (!data) return false;
|
|
11751
|
+
|
|
11752
|
+
if (IFrameSplitOperator.IsNumber(data.Date) && IFrameSplitOperator.IsNumber(data.Time) && IFrameSplitOperator.IsNumber(data.Status))
|
|
11753
|
+
{
|
|
11754
|
+
this.GlobalOption.TradeStatus={ Date:data.Date, Time:data.Time, Status:data.Status };
|
|
11755
|
+
return true;
|
|
11756
|
+
}
|
|
11757
|
+
|
|
11758
|
+
return false;
|
|
11759
|
+
}
|
|
11726
11760
|
}
|
|
11727
11761
|
|
|
11728
11762
|
function GetDevicePixelRatio()
|
|
@@ -12258,6 +12292,40 @@ function ChartBorder()
|
|
|
12258
12292
|
{
|
|
12259
12293
|
return this.TitleHeight;
|
|
12260
12294
|
}
|
|
12295
|
+
|
|
12296
|
+
//是否显示单日集合竞价 盘前
|
|
12297
|
+
this.IsShowBeforeOpen=function()
|
|
12298
|
+
{
|
|
12299
|
+
if (this.LeftExtendWidth<10) return false;
|
|
12300
|
+
|
|
12301
|
+
return true;
|
|
12302
|
+
}
|
|
12303
|
+
|
|
12304
|
+
//是否显示单日集合竞价 盘后
|
|
12305
|
+
this.IsShowAfterClose=function()
|
|
12306
|
+
{
|
|
12307
|
+
if (this.RightExtendWidth<10) return false;
|
|
12308
|
+
|
|
12309
|
+
return true;
|
|
12310
|
+
}
|
|
12311
|
+
|
|
12312
|
+
//是否显示多日集合竞价 盘前
|
|
12313
|
+
this.IsShowMultiDayBeforeOpen=function()
|
|
12314
|
+
{
|
|
12315
|
+
if (!this.MultiDayMinute) return false;
|
|
12316
|
+
if (this.MultiDayMinute.Count<=1 || this.MultiDayMinute.Left<=0) return false;
|
|
12317
|
+
|
|
12318
|
+
return true;
|
|
12319
|
+
}
|
|
12320
|
+
|
|
12321
|
+
//是否显示多日集合竞价 盘后
|
|
12322
|
+
this.IsShowMultiDayAfterClose=function()
|
|
12323
|
+
{
|
|
12324
|
+
if (!this.MultiDayMinute) return false;
|
|
12325
|
+
if (this.MultiDayMinute.Count<=1 || this.MultiDayMinute.Right<=0) return false;
|
|
12326
|
+
|
|
12327
|
+
return true;
|
|
12328
|
+
}
|
|
12261
12329
|
}
|
|
12262
12330
|
|
|
12263
12331
|
//框架外部挂接
|
|
@@ -54236,7 +54304,7 @@ function FrameSplitY()
|
|
|
54236
54304
|
|
|
54237
54305
|
this.RightFrameSplitY();
|
|
54238
54306
|
this.MainOverlayFrameSplitY(); //主图Y轴绑定叠加Y轴坐标
|
|
54239
|
-
this.
|
|
54307
|
+
this.CallAcutionSplitYV2(splitData, this.Frame.HorizontalInfo.slice());
|
|
54240
54308
|
|
|
54241
54309
|
if (this.EnableRemoveZero) this.RemoveZero(this.Frame.HorizontalInfo);
|
|
54242
54310
|
|
|
@@ -54317,6 +54385,173 @@ function FrameSplitY()
|
|
|
54317
54385
|
}
|
|
54318
54386
|
}
|
|
54319
54387
|
|
|
54388
|
+
this.CallAcutionSplitYV2=function(splitData, aryHorizontalInfo)
|
|
54389
|
+
{
|
|
54390
|
+
if (!this.IsCallAuctionFrame()) return;
|
|
54391
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(aryHorizontalInfo)) return;
|
|
54392
|
+
|
|
54393
|
+
var aryCallAcution=this.GetCallAcutionSplitYV2(splitData,aryHorizontalInfo);
|
|
54394
|
+
if (!aryCallAcution) return;
|
|
54395
|
+
|
|
54396
|
+
for(var i=0; i<this.Frame.HorizontalInfo.length; ++i) //把显示的数据迁移到 Message[2] Message[3]
|
|
54397
|
+
{
|
|
54398
|
+
var item=this.Frame.HorizontalInfo[i];
|
|
54399
|
+
if (aryCallAcution.IsBeforeData)
|
|
54400
|
+
{
|
|
54401
|
+
item.Message[2]=item.Message[0];
|
|
54402
|
+
item.Message[0]=null;
|
|
54403
|
+
}
|
|
54404
|
+
|
|
54405
|
+
if (aryCallAcution.IsAfterData && (this.ShareAfterVol==0 || this.ShareAfterVol==2) )
|
|
54406
|
+
{
|
|
54407
|
+
item.Message[3]=item.Message[1];
|
|
54408
|
+
item.Message[1]=null;
|
|
54409
|
+
}
|
|
54410
|
+
}
|
|
54411
|
+
|
|
54412
|
+
//集合竞价的坐标插入最后
|
|
54413
|
+
for(var i=0; i<aryCallAcution.HorizontalInfo.length; ++i)
|
|
54414
|
+
{
|
|
54415
|
+
var item=aryCallAcution.HorizontalInfo[i];
|
|
54416
|
+
this.Frame.HorizontalInfo.push(item);
|
|
54417
|
+
}
|
|
54418
|
+
}
|
|
54419
|
+
|
|
54420
|
+
this.GetCallAcutionSplitYV2=function(splitData, arySource)
|
|
54421
|
+
{
|
|
54422
|
+
if (!this.IsCallAuctionFrame()) return null;
|
|
54423
|
+
|
|
54424
|
+
var bBeforeData=(this.IsBeforeData==true && this.BeforeOpenData && (this.BeforeOpenData.Ver==2.0 || this.BeforeOpenData.Ver==3.0));
|
|
54425
|
+
var bAfterData=(this.IsAfterData==true && this.AfterCloseData && (this.AfterCloseData.Ver==2.0 || this.AfterCloseData.Ver==3.0));
|
|
54426
|
+
|
|
54427
|
+
var bottom=this.Frame.ChartBorder.GetBottomEx();
|
|
54428
|
+
var height=this.Frame.ChartBorder.GetHeightEx();
|
|
54429
|
+
var bHScreen=this.Frame.IsHScreen;
|
|
54430
|
+
if (this.Frame.IsHScreen)
|
|
54431
|
+
{
|
|
54432
|
+
var border=this.Frame.GetBorder();
|
|
54433
|
+
var width=border.RightEx-border.LeftEx;
|
|
54434
|
+
}
|
|
54435
|
+
|
|
54436
|
+
if (bBeforeData || bAfterData)
|
|
54437
|
+
{
|
|
54438
|
+
var aryHorizontalInfo=[];
|
|
54439
|
+
for(var i=0;i<arySource.length;++i)
|
|
54440
|
+
{
|
|
54441
|
+
var hItem=arySource[i];
|
|
54442
|
+
if (!hItem || !IFrameSplitOperator.IsNumber(hItem.Value)) continue;
|
|
54443
|
+
var y=this.Frame.GetYFromData(hItem.Value);
|
|
54444
|
+
|
|
54445
|
+
var item=new CoordinateInfo();
|
|
54446
|
+
item.Value=hItem.Value;
|
|
54447
|
+
item.LineType=8;
|
|
54448
|
+
if (bBeforeData)
|
|
54449
|
+
{
|
|
54450
|
+
if (bHScreen)
|
|
54451
|
+
{
|
|
54452
|
+
var value=(y-border.LeftEx)/width*(this.BeforeOpenData.VolMax-this.BeforeOpenData.VolMin)+this.BeforeOpenData.VolMin;
|
|
54453
|
+
}
|
|
54454
|
+
else
|
|
54455
|
+
{
|
|
54456
|
+
var value=(bottom-y)/height*(this.BeforeOpenData.VolMax-this.BeforeOpenData.VolMin)+this.BeforeOpenData.VolMin;
|
|
54457
|
+
}
|
|
54458
|
+
|
|
54459
|
+
item.Message[0]=this.FormatValueString(value);
|
|
54460
|
+
}
|
|
54461
|
+
|
|
54462
|
+
if (bAfterData && (this.ShareAfterVol==0 || this.ShareAfterVol==2) )
|
|
54463
|
+
{
|
|
54464
|
+
if (bHScreen)
|
|
54465
|
+
{
|
|
54466
|
+
var value=(y-border.LeftEx)/width*(this.AfterCloseData.VolMax-this.AfterCloseData.VolMin)+this.AfterCloseData.VolMin;
|
|
54467
|
+
}
|
|
54468
|
+
else
|
|
54469
|
+
{
|
|
54470
|
+
var value=(bottom-y)/height*(this.AfterCloseData.VolMax-this.AfterCloseData.VolMin)+this.AfterCloseData.VolMin;
|
|
54471
|
+
}
|
|
54472
|
+
|
|
54473
|
+
item.Message[1]=this.FormatValueString(value);
|
|
54474
|
+
}
|
|
54475
|
+
|
|
54476
|
+
aryHorizontalInfo.push(item);
|
|
54477
|
+
}
|
|
54478
|
+
|
|
54479
|
+
return { HorizontalInfo:aryHorizontalInfo, IsBeforeData:bBeforeData, IsAfterData:bAfterData };
|
|
54480
|
+
}
|
|
54481
|
+
|
|
54482
|
+
var bMultiDayBeforeData=false, bMultiDayAfterData=false;
|
|
54483
|
+
var beforeDayData=null, afterDayData=null;
|
|
54484
|
+
if (this.MultiDayBeforeOpenData && IFrameSplitOperator.IsNonEmptyArray(this.MultiDayBeforeOpenData))
|
|
54485
|
+
{
|
|
54486
|
+
bMultiDayBeforeData=true;
|
|
54487
|
+
var firstDayData=this.MultiDayBeforeOpenData[0];
|
|
54488
|
+
if (firstDayData.Ver==2.0 || firstDayData.Ver==3.0)
|
|
54489
|
+
beforeDayData=firstDayData;
|
|
54490
|
+
}
|
|
54491
|
+
|
|
54492
|
+
if (this.MultiDayAfterCloseData && IFrameSplitOperator.IsNonEmptyArray(this.MultiDayAfterCloseData))
|
|
54493
|
+
{
|
|
54494
|
+
bMultiDayAfterData=true;
|
|
54495
|
+
var firstDayData=this.MultiDayAfterCloseData[0];
|
|
54496
|
+
if (firstDayData.Ver==2.0 || firstDayData.Ver==3.0)
|
|
54497
|
+
afterDayData=firstDayData;
|
|
54498
|
+
}
|
|
54499
|
+
|
|
54500
|
+
if (bMultiDayBeforeData || bMultiDayAfterData)
|
|
54501
|
+
{
|
|
54502
|
+
var aryHorizontalInfo=[];
|
|
54503
|
+
for(var i=0;i<arySource.length;++i)
|
|
54504
|
+
{
|
|
54505
|
+
var hItem=arySource[i];
|
|
54506
|
+
if (!hItem || !IFrameSplitOperator.IsNumber(hItem.Value)) continue;
|
|
54507
|
+
var y=this.Frame.GetYFromData(hItem.Value);
|
|
54508
|
+
|
|
54509
|
+
var item=new CoordinateInfo();
|
|
54510
|
+
item.Value=hItem.Value;
|
|
54511
|
+
item.LineType=9;
|
|
54512
|
+
|
|
54513
|
+
var isVaild=false;
|
|
54514
|
+
if (beforeDayData)
|
|
54515
|
+
{
|
|
54516
|
+
if (bHScreen)
|
|
54517
|
+
{
|
|
54518
|
+
var value=(y-border.LeftEx)/width*(beforeDayData.VolMax-beforeDayData.VolMin)+beforeDayData.VolMin;
|
|
54519
|
+
}
|
|
54520
|
+
else
|
|
54521
|
+
{
|
|
54522
|
+
var value=(bottom-y)/height*(beforeDayData.VolMax-beforeDayData.VolMin)+beforeDayData.VolMin;
|
|
54523
|
+
}
|
|
54524
|
+
|
|
54525
|
+
item.Message[0]=this.FormatValueString(value);
|
|
54526
|
+
isVaild=true;
|
|
54527
|
+
}
|
|
54528
|
+
|
|
54529
|
+
if (afterDayData && (this.ShareAfterVol==0 || this.ShareAfterVol==2))
|
|
54530
|
+
{
|
|
54531
|
+
if (bHScreen)
|
|
54532
|
+
{
|
|
54533
|
+
var value=(y-border.LeftEx)/width*(afterDayData.VolMax-afterDayData.VolMin)+afterDayData.VolMin;
|
|
54534
|
+
}
|
|
54535
|
+
else
|
|
54536
|
+
{
|
|
54537
|
+
var value=(bottom-y)/height*(afterDayData.VolMax-afterDayData.VolMin)+afterDayData.VolMin;
|
|
54538
|
+
}
|
|
54539
|
+
|
|
54540
|
+
item.Message[1]=this.FormatValueString(value);
|
|
54541
|
+
isVaild=true;
|
|
54542
|
+
}
|
|
54543
|
+
|
|
54544
|
+
if (isVaild) aryHorizontalInfo.push(item);
|
|
54545
|
+
}
|
|
54546
|
+
|
|
54547
|
+
if (IFrameSplitOperator.IsNonEmptyArray(aryHorizontalInfo))
|
|
54548
|
+
return { HorizontalInfo:aryHorizontalInfo, IsBeforeData:bMultiDayBeforeData, IsAfterData:bMultiDayAfterData };
|
|
54549
|
+
}
|
|
54550
|
+
|
|
54551
|
+
return null;
|
|
54552
|
+
}
|
|
54553
|
+
|
|
54554
|
+
/* 废弃 使用 CallAcutionSplitYV2
|
|
54320
54555
|
this.CallAcutionSplitY=function(count,splitData)
|
|
54321
54556
|
{
|
|
54322
54557
|
if (!this.IsCallAuctionFrame()) return;
|
|
@@ -54347,6 +54582,7 @@ function FrameSplitY()
|
|
|
54347
54582
|
this.Frame.HorizontalInfo.push(item);
|
|
54348
54583
|
}
|
|
54349
54584
|
}
|
|
54585
|
+
*/
|
|
54350
54586
|
|
|
54351
54587
|
this.IsCallAuctionFrame=function()
|
|
54352
54588
|
{
|
|
@@ -54357,6 +54593,7 @@ function FrameSplitY()
|
|
|
54357
54593
|
return this.HQChart.IsCallAuctionFrame(this.Frame.Identify);
|
|
54358
54594
|
}
|
|
54359
54595
|
|
|
54596
|
+
/* 废弃 使用 GetCallAcutionSplitYV2
|
|
54360
54597
|
this.GetCallAcutionSplitY=function(count,splitData)
|
|
54361
54598
|
{
|
|
54362
54599
|
if (!this.IsCallAuctionFrame()) return null;
|
|
@@ -54451,6 +54688,7 @@ function FrameSplitY()
|
|
|
54451
54688
|
|
|
54452
54689
|
return null;
|
|
54453
54690
|
}
|
|
54691
|
+
*/
|
|
54454
54692
|
|
|
54455
54693
|
this.RightFrameSplitY=function()
|
|
54456
54694
|
{
|
|
@@ -60110,7 +60348,17 @@ function DynamicMinuteTitlePainting()
|
|
|
60110
60348
|
{
|
|
60111
60349
|
this.OnDrawEventCallback(null);
|
|
60112
60350
|
|
|
60113
|
-
|
|
60351
|
+
var bShowLastData=this.IsAlwaysShowLastData
|
|
60352
|
+
if (this.DrawStatus && this.DrawStatus.IsTitleShowLatestData)
|
|
60353
|
+
{
|
|
60354
|
+
var status=this.DrawStatus;
|
|
60355
|
+
if (!IFrameSplitOperator.IsNumber(status.FrameID) || status.FrameID<0)
|
|
60356
|
+
bShowLastData=true;
|
|
60357
|
+
else if (status.CorssCursorTouchEnd && status.IsOnTouch==false)
|
|
60358
|
+
bShowLastData=true;
|
|
60359
|
+
}
|
|
60360
|
+
|
|
60361
|
+
if (bShowLastData)
|
|
60114
60362
|
{
|
|
60115
60363
|
this.Canvas.save();
|
|
60116
60364
|
this.DrawLastDataItem();
|
|
@@ -91175,6 +91423,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
91175
91423
|
this.UpdateCallCationData(beforeOpenData,afterCloseData);
|
|
91176
91424
|
this.UpdateLineColorData(aryColorData,data.stock[0].date);
|
|
91177
91425
|
this.UpdateLatestMinuteData(aryMinuteData, data.stock[0].date, data.stock[0]);
|
|
91426
|
+
this.UpdateTradeStatusData(data.TradeStatus);
|
|
91178
91427
|
this.UpdateHistoryMinuteUI(updateTime);
|
|
91179
91428
|
this.RecvMinuteDataEvent({FunctionName:"RecvMinuteData"} );
|
|
91180
91429
|
this.RequestOverlayMinuteData(); //请求叠加数据 (主数据下载完再下载)
|
|
@@ -91201,6 +91450,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
91201
91450
|
|
|
91202
91451
|
this.ColorLineData=aryColorData;
|
|
91203
91452
|
|
|
91453
|
+
this.UpdateTradeStatusData(data.TradeStatus);
|
|
91204
91454
|
this.UpdateMinuteUI(data.stock[0], {FunctionName:"RecvMinuteData", Day:{ IsFirstData:bFirstData} });
|
|
91205
91455
|
|
|
91206
91456
|
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;
|