hqchart 1.1.13976 → 1.1.13983

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.
@@ -4811,10 +4811,6 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
4811
4811
  if (IFrameSplitOperator.IsNumber(item.DelayTime)) chart.DrawDynamicInfoOption.DelayTime=item.DelayTime;
4812
4812
  }
4813
4813
 
4814
-
4815
- chart.SelectRectDialog=new MinuteSelectRectDialog(this.DivElement);
4816
-
4817
-
4818
4814
  if (option.Minute) //分钟走势图属性设置
4819
4815
  {
4820
4816
  if (option.Minute.IsShowTooltip==false) chart.IsShowTooltip=false;
@@ -5655,6 +5651,11 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
5655
5651
  if (option.TooltipDialog && option.TooltipDialog.Enable)
5656
5652
  chart.InitalTooltipDialog(option.TooltipDialog);
5657
5653
 
5654
+ if (option.SelectRectDialog && option.SelectRectDialog.Enable)
5655
+ {
5656
+ chart.InitalSelectRectDialog(option.SelectRectDialog);
5657
+ }
5658
+
5658
5659
  //注册事件
5659
5660
  if (option.EventCallback)
5660
5661
  {
@@ -6963,6 +6964,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
6963
6964
  this.DialogModifyDraw; //画图修改
6964
6965
 
6965
6966
  this.DialogTooltip; //tooltip信息
6967
+ this.DialogSelectRect; //区间统计
6966
6968
 
6967
6969
 
6968
6970
  this.ClearStockCache=function()
@@ -7005,6 +7007,27 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
7005
7007
  this.DialogModifyDraw.Create();
7006
7008
  }
7007
7009
 
7010
+ this.InitalSelectRectDialog=function(option)
7011
+ {
7012
+ if (this.DialogSelectRect) return;
7013
+
7014
+ this.DialogSelectRect=new JSDialogSelectRect();
7015
+ this.DialogSelectRect.Inital(this, option);
7016
+ this.DialogSelectRect.Create();
7017
+ }
7018
+
7019
+ this.DrawSelectRectDialog=function()
7020
+ {
7021
+
7022
+ }
7023
+
7024
+ this.IsShowSelectRectDialog=function()
7025
+ {
7026
+ if (!this.DialogSelectRect) return false;
7027
+
7028
+ return this.DialogSelectRect.IsShow();
7029
+ }
7030
+
7008
7031
  this.ShowDrawToolDialog=function(x,y)
7009
7032
  {
7010
7033
  if (!this.DialogDrawTool) return;
@@ -7526,8 +7549,11 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
7526
7549
  }
7527
7550
  }
7528
7551
  }
7529
-
7530
- if (!this.RectSelectDrag && this.ClearRectSelect(false)) this.Draw();
7552
+
7553
+ if (!this.IsShowSelectRectDialog()) //区间统计框存在,不清空区间背景色
7554
+ {
7555
+ if (!this.RectSelectDrag && this.ClearRectSelect(false)) this.Draw();
7556
+ }
7531
7557
 
7532
7558
  if (this.EnableBorderDrag && this.Frame)
7533
7559
  {
@@ -12004,6 +12030,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
12004
12030
 
12005
12031
  if (this.PopMinuteChart) this.PopMinuteChart.ReloadResource(option);
12006
12032
  if (this.DialogTooltip) this.DialogTooltip.ReloadResource(option);
12033
+ if (this.DialogSelectRect) this.DialogSelectRect.ReloadResource(option);
12007
12034
  }
12008
12035
 
12009
12036
  this.ReloadBorder=function(option) //根据页面缩放调整对应边框的尺长
@@ -12754,6 +12781,20 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
12754
12781
  event.Callback(event,data,this);
12755
12782
  }
12756
12783
 
12784
+ if (this.IsShowSelectRectDialog()) //区间统计
12785
+ {
12786
+ var selectData=paint.GetSelectRectData();
12787
+
12788
+ var data=
12789
+ {
12790
+ Chart:this, X:obj.X, Y:obj.Y,
12791
+ SelectData:selectData, //区间选择的数据
12792
+ RectSelectPaint:paint //区间选择背景
12793
+ };
12794
+ var e={ data:data }
12795
+ this.DrawSelectRectDialog(e);
12796
+ }
12797
+
12757
12798
  return true;
12758
12799
  }
12759
12800
 
@@ -13579,10 +13620,8 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
13579
13620
  if (this.ShowSelectData && srcParam) this.ShowSelectData(srcParam);
13580
13621
  break;
13581
13622
  case JSCHART_MENU_ID.CMD_SELECTED_SUMMARY_ID:
13582
- var dlg=new KLineSelectRectDialog(this.DivElement);
13583
- dlg.DoModal(srcParam);
13623
+ if (this.DialogSelectRect && srcParam) this.DrawSelectRectDialog(srcParam);
13584
13624
  break;
13585
-
13586
13625
  case JSCHART_MENU_ID.CMD_SHOW_INDEX_ID: //显示隐藏指标 [0]=windowIndex [1]=0=自动 1=隐藏 2=显示
13587
13626
  if (param==null || !IFrameSplitOperator.IsNumber(aryArgs[1])) return false;
13588
13627
  var windowIndex=param, showType=aryArgs[1];
@@ -73103,6 +73142,21 @@ function JSChartResource()
73103
73142
  DateTimeColor:'rgb(60,60,60)',
73104
73143
  TurnoverRateColor:'rgb(43,54,69)', //换手率
73105
73144
  PositionColor:"rgb(255,0,255)" //持仓
73145
+ },
73146
+
73147
+ //区间统计
73148
+ this.DialogSelectRect=
73149
+ {
73150
+ BGColor:'rgb(250,250,250)', //背景色
73151
+ BorderColor:'rgb(20,20,20)', //边框颜色
73152
+ TitleColor:'rgb(0,0,0)', //对话框标题颜色
73153
+
73154
+ TextColor:"rgb(0,0,0)", //数值名称
73155
+ ValueColor:"rgb(0,0,0)", //数值
73156
+ VolColor:"rgb(255, 185, 15)", //标题成交量
73157
+ AmountColor:"rgb(79, 79, 79)", //成交金额
73158
+ TurnoverRateColor:'rgb(43,54,69)', //换手率
73159
+ PositionColor:"rgb(255,0,255)" //持仓
73106
73160
  }
73107
73161
 
73108
73162
  //弹幕
@@ -74112,6 +74166,22 @@ function JSChartResource()
74112
74166
 
74113
74167
  }
74114
74168
 
74169
+ if (style.DialogSelectRect)
74170
+ {
74171
+ var item=style.DialogSelectRect;
74172
+ if (item.BGColor) this.DialogSelectRect.BGColor=item.BGColor;
74173
+ if (item.BorderColor) this.DialogSelectRect.BorderColor=item.BorderColor;
74174
+ if (item.TitleColor) this.DialogSelectRect.TitleColor=item.TitleColor;
74175
+
74176
+ if (item.TextColor) this.DialogSelectRect.TextColor=item.TextColor;
74177
+ if (item.ValueColor) this.DialogSelectRect.ValueColor=item.ValueColor;
74178
+ if (item.VolColor) this.DialogSelectRect.VolColor=item.VolColor;
74179
+ if (item.AmountColor) this.DialogSelectRect.AmountColor=item.AmountColor;
74180
+ if (item.TurnoverRateColor) this.DialogSelectRect.TurnoverRateColor=item.TurnoverRateColor;
74181
+ if (item.PositionColor) this.DialogSelectRect.PositionColor=item.PositionColor;
74182
+
74183
+ }
74184
+
74115
74185
  if (style.MinuteInfo)
74116
74186
  {
74117
74187
  var item=style.MinuteInfo;
@@ -75090,13 +75160,28 @@ function JSChartLocalization()
75090
75160
  ['DialogTooltip-Price', {CN:'价格', EN:'Price', TC:'價格'}],
75091
75161
  ['DialogTooltip-AvPrice', {CN:'均价', EN:'AVPrice:', TC:'均價'}],
75092
75162
  ['DialogTooltip-FClose', {CN:"结算价", EN:'Settlement', TC:'結算價'}],
75093
- ['DialogTooltip-Amplitude', {CN:'振幅', EN:'amplitude', TC:'價格'}],
75163
+ ['DialogTooltip-Amplitude', {CN:'振幅', EN:'amplitude', TC:'振幅'}],
75094
75164
  ['DialogTooltip-AC-Price', {CN:'匹配价', EN:'Price', TC:'匹配價'}],
75095
75165
  ['DialogTooltip-AC-AvPrice', {CN:'匹配均价', EN:'AVPrice', TC:'匹配均價'}],
75096
75166
  ['DialogTooltip-AC-Increase', {CN:'竞价涨幅', EN:'Increase', TC:'競價漲幅'}],
75097
75167
  ['DialogTooltip-AC-Vol', {CN:'匹配量', EN:'Vol', TC:'匹配量'}],
75098
75168
  ['DialogTooltip-Value', {CN:'数值', EN:'Value', TC:'数值'}],
75099
75169
 
75170
+
75171
+ ['DialogSelectRect-StartPrice', {CN:'起始价:', EN:'Start Price:', TC:'起始價'}],
75172
+ ['DialogSelectRect-EndPrice', {CN:'最终价:', EN:"End Price:", TC:'最终價'}],
75173
+ ['DialogSelectRect-High', {CN:'最高价:', EN:'High:', TC:'最高價'}],
75174
+ ['DialogSelectRect-Low', {CN:'最低价:', EN:"Low:", TC:'最低價'}],
75175
+ ['DialogSelectRect-Increase', {CN:'区间涨幅:', EN:'Increase', TC:'漲幅'}],
75176
+ ['DialogSelectRect-Amplitude', {CN:'区间振幅:', EN:'amplitude', TC:'振幅'}],
75177
+ ['DialogSelectRect-Vol', {CN:'成交量:', EN:'Volume', TC:'數量'}],
75178
+ ['DialogSelectRect-Amount', {CN:'成交额:', EN:'Amount', TC:'金額'}],
75179
+ ['DialogSelectRect-Up', {CN:'阳线:', EN:'Up', TC:'阳线'}],
75180
+ ['DialogSelectRect-Down', {CN:'阴线:', EN:'Down', TC:'阴线'}],
75181
+ ['DialogSelectRect-Unchanged', {CN:'平线:', EN:'Unchanged', TC:'平线'}],
75182
+ ['DialogSelectRect-DataCount', {CN:'数据个数:', EN:'Data Count:', TC:'数据个数'}],
75183
+
75184
+
75100
75185
  //走势图PC tooltip
75101
75186
  ['PCTooltip-Date', {CN:'日期', EN:'Date', TC:"日期"}],
75102
75187
  ['PCTooltip-Time', {CN:'时间', EN:'Time', TC:"時間"}],
@@ -77444,8 +77529,20 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
77444
77529
  event.Callback(event,data,this);
77445
77530
  isShowMenu=data.IsShowMenu;
77446
77531
  }
77447
-
77448
- if (isShowMenu)
77532
+
77533
+ if (this.IsShowSelectRectDialog()) //区间统计
77534
+ {
77535
+ var data=
77536
+ {
77537
+ Chart:this,X:x,Y:y,
77538
+ SelectData:selectData, //区间选择的数据
77539
+ RectSelectPaint:paint //区间选择背景
77540
+ };
77541
+ e.data=data;
77542
+
77543
+ this.DrawSelectRectDialog(e);
77544
+ }
77545
+ else if (isShowMenu)
77449
77546
  {
77450
77547
  var data=
77451
77548
  {
@@ -83442,6 +83539,42 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
83442
83539
 
83443
83540
  return true;
83444
83541
  }
83542
+
83543
+ this.DrawSelectRectDialog=function(e)
83544
+ {
83545
+ if (!this.DialogSelectRect) return;
83546
+
83547
+ this.UpdateSelectRectDialog(e);
83548
+ }
83549
+
83550
+ this.UpdateSelectRectDialog=function(e)
83551
+ {
83552
+ if (!this.DialogSelectRect) return false;
83553
+
83554
+ var data=e.data; //区间统计数据
83555
+ var x,y;
83556
+ if (data && IFrameSplitOperator.IsNumber(data.X) && IFrameSplitOperator.IsNumber(data.Y))
83557
+ {
83558
+ var pixelRatio=GetDevicePixelRatio();
83559
+ var rtClient=this.UIElement.getBoundingClientRect();
83560
+ var rtScroll=GetScrollPosition();
83561
+
83562
+ x=data.X
83563
+ y=data.Y;
83564
+ x+=(rtClient.left+rtScroll.Left);
83565
+ y+=(rtClient.top+rtScroll.Top);
83566
+ }
83567
+
83568
+ var sendData=
83569
+ {
83570
+ Symbol:this.Symbol, Name:this.Name,
83571
+ SelectData:data.SelectData,
83572
+ X:x, Y:y,
83573
+ e:e
83574
+ }
83575
+
83576
+ this.DialogSelectRect.Update(sendData);
83577
+ }
83445
83578
  }
83446
83579
 
83447
83580
  //API 返回数据 转化为array[]
@@ -83869,7 +84002,6 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
83869
84002
 
83870
84003
  this.ColorLineData; //主图价格线颜色自定义配置
83871
84004
  this.EnableSelectRect=false; //是否可以区间选择
83872
- this.SelectRectDialog=null; //区间选择对话框
83873
84005
 
83874
84006
  this.CorssCursorIndex={ DayIndex:-1, DataIndex:-1, Point:{X:-1, Y:-1} ,Type:-1 };
83875
84007
  this.EnableNewIndex=false //是否使用新的索引版本
@@ -84272,7 +84404,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
84272
84404
  isShowDialog=false; //外部调用了区间选择事件,不弹框
84273
84405
  }
84274
84406
 
84275
- if (isShowDialog && this.SelectRectDialog)
84407
+ if (isShowDialog && this.DialogSelectRect)
84276
84408
  {
84277
84409
  e.data=
84278
84410
  {
@@ -84283,7 +84415,9 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
84283
84415
  RectSelectPaint:paint //区间选择背景
84284
84416
  };
84285
84417
 
84286
- this.SelectRectDialog.DoModal(e);
84418
+ this.HideSelectRect();
84419
+ this.UpdateSelectRect(selectData.Start,selectData.End);
84420
+ this.DrawSelectRectDialog(e);
84287
84421
  }
84288
84422
  else
84289
84423
  {
@@ -84327,9 +84461,9 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
84327
84461
  isShowDialog=data.IsShowDialog;
84328
84462
  }
84329
84463
 
84330
- if (isShowDialog && this.SelectRectDialog)
84464
+ if (isShowDialog)
84331
84465
  {
84332
- e.data=
84466
+ var data =
84333
84467
  {
84334
84468
  Chart:this,
84335
84469
  X:x,
@@ -84337,10 +84471,10 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
84337
84471
  SelectData:selectData, //区间选择的数据
84338
84472
  RectSelectPaint:paint //区间选择背景
84339
84473
  };
84474
+ e.data=data;
84340
84475
 
84341
- this.SelectRectDialog.DoModal(e);
84476
+ this.UpdateSelectRectDialog(e);
84342
84477
  }
84343
-
84344
84478
  }
84345
84479
 
84346
84480
  this.UpdateSelectRect=function(start,end)
@@ -84397,6 +84531,14 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
84397
84531
  event.Callback(event,data,this);
84398
84532
  }
84399
84533
 
84534
+ if (this.IsShowSelectRectDialog()) //区间统计
84535
+ {
84536
+ var selectData=paint.GetSelectRectData();
84537
+ var data={ X:obj.X, Y:obj.Y, SelectData:selectData, RectSelectPaint:paint };
84538
+ var e={ data:data };
84539
+ this.DrawSelectRectDialog(e);
84540
+ }
84541
+
84400
84542
  return true;
84401
84543
  }
84402
84544
 
@@ -85345,7 +85487,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
85345
85487
  event.Callback(event,data,this);
85346
85488
  }
85347
85489
 
85348
- if (this.SelectRectDialog)
85490
+ if (this.DialogSelectRect)
85349
85491
  {
85350
85492
  e.data=
85351
85493
  {
@@ -85355,7 +85497,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
85355
85497
  SelectData:selectData, //区间选择的数据
85356
85498
  RectSelectPaint:paint //区间选择背景
85357
85499
  };
85358
- this.SelectRectDialog.DoModal(e);
85500
+ this.DrawSelectRectDialog(e);
85359
85501
  }
85360
85502
  }
85361
85503
 
@@ -89295,6 +89437,42 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
89295
89437
 
89296
89438
  return true;
89297
89439
  }
89440
+
89441
+ this.DrawSelectRectDialog=function(e)
89442
+ {
89443
+ if (!this.DialogSelectRect) return;
89444
+
89445
+ this.UpdateSelectRectDialog(e);
89446
+ }
89447
+
89448
+ this.UpdateSelectRectDialog=function(e)
89449
+ {
89450
+ if (!this.DialogSelectRect) return false;
89451
+
89452
+ var data=e.data; //区间统计数据
89453
+ var x,y;
89454
+ if (data && IFrameSplitOperator.IsNumber(data.X) && IFrameSplitOperator.IsNumber(data.Y))
89455
+ {
89456
+ var pixelRatio=GetDevicePixelRatio();
89457
+ var rtClient=this.UIElement.getBoundingClientRect();
89458
+ var rtScroll=GetScrollPosition();
89459
+
89460
+ x=data.X
89461
+ y=data.Y;
89462
+ x+=(rtClient.left+rtScroll.Left);
89463
+ y+=(rtClient.top+rtScroll.Top);
89464
+ }
89465
+
89466
+ var sendData=
89467
+ {
89468
+ Symbol:this.Symbol, Name:this.Name,
89469
+ SelectData:data.SelectData,
89470
+ X:x, Y:y,
89471
+ e:e
89472
+ }
89473
+
89474
+ this.DialogSelectRect.Update(sendData);
89475
+ }
89298
89476
  }
89299
89477
 
89300
89478
  //盘前数据
@@ -94460,441 +94638,6 @@ function ChangeIndexDialog(divElement)
94460
94638
  }
94461
94639
  }
94462
94640
 
94463
- function MinuteSelectRectDialog(divElement)
94464
- {
94465
- this.newMethod=IDivDialog; //派生
94466
- this.newMethod(divElement);
94467
- delete this.newMethod;
94468
-
94469
- this.SelectData;
94470
- this.Dialog;
94471
- this.HQChart;
94472
- this.RectSelectPaint;
94473
-
94474
- //隐藏窗口
94475
- this.Close=function()
94476
- {
94477
- if (this.Dialog)
94478
- {
94479
- this.DivElement.removeChild(this.Dialog);
94480
- this.Dialog=null;
94481
- this.ID=null;
94482
- }
94483
-
94484
- if (this.RectSelectPaint) this.RectSelectPaint.PreventClose=false;
94485
- }
94486
-
94487
- //创建
94488
- this.Create=function()
94489
- {
94490
- this.ID=Guid();
94491
- var div=document.createElement('div');
94492
- div.className='jchart-select-statistics-box';
94493
- div.id=this.ID;
94494
- div.innerHTML=
94495
- "<div class='parameter jchart-select-section'>\
94496
- <div class='parameter-header'>\
94497
- <span>分时图区间统计</span>\
94498
- <strong id='close' class='icon iconfont icon-close'></strong>\
94499
- </div>\
94500
- <div class='parameter-content'>统计数据</div>\
94501
- <div class='parameter-footer'>\
94502
- <button id='close' class='submit' >确定</button>\
94503
- </div>\
94504
- </div>";
94505
-
94506
- this.DivElement.appendChild(div);
94507
- this.Dialog=div;
94508
-
94509
- //关闭按钮
94510
- $("#"+this.ID+" #close").click(
94511
- {
94512
- divBox:this,
94513
- },
94514
- function(event)
94515
- {
94516
- event.data.divBox.Close();
94517
- });
94518
- }
94519
-
94520
- this.BindData=function()
94521
- {
94522
- var hqData=this.SelectData.Data;
94523
- var start=this.SelectData.Start;
94524
- var end=this.SelectData.End;
94525
- this.HQChart.UpdateSelectRect(start,end);
94526
- if (this.RectSelectPaint) this.RectSelectPaint.PreventClose=true;
94527
-
94528
- var showData=
94529
- {
94530
- Open:0,Close:0,High:0,Low:0, //起始价格, 结束价格, 最高, 最低
94531
- Vol:0, Amount:0,
94532
- Date:
94533
- {
94534
- Start:{Time:null, Date:null },
94535
- End:{ Time:null, Date:null }
94536
- },
94537
- Count:0,
94538
- }
94539
-
94540
- for(var i=start; i<=end && i<hqData.Data.length; ++i)
94541
- {
94542
- var item=hqData.Data[i];
94543
- if (i==start)
94544
- {
94545
- showData.Date.Start.Date=item.Date;
94546
- showData.Date.Start.Time=item.Time;
94547
- showData.Open=item.Close;
94548
- showData.High=item.High;
94549
- showData.Low=item.Low;
94550
- }
94551
-
94552
- showData.Date.End.Date=item.Date;
94553
- showData.Date.End.Time=item.Time;
94554
- showData.Close=item.Close;
94555
- showData.Vol+=item.Vol;
94556
- showData.Amount+=item.Amount;
94557
- ++showData.Count;
94558
- if (showData.High<item.High) showData.High=item.High;
94559
- if(showData.Low>item.Low) showData.Low=item.Low;
94560
- }
94561
-
94562
- if (showData.Count<=0) return false;
94563
-
94564
- if (showData.Vol>0) showData.AvPrice=showData.Amount/showData.Vol; //均价
94565
- if (showData.Open>0)
94566
- {
94567
- showData.Increase = (showData.Close - showData.Open) / showData.Open *100; //区间涨幅
94568
- showData.Amplitude = (showData.High - showData.Low) / showData.Open * 100; //区间振幅
94569
- }
94570
-
94571
- // JSConsole.Chart.Log('[KLineSelectRectDialog::BindData]', showData);
94572
- var defaultfloatPrecision=GetfloatPrecision(this.SelectData.Symbol);
94573
- var startDate=IFrameSplitOperator.FormatDateString(showData.Date.Start.Date);
94574
- var endDate=IFrameSplitOperator.FormatDateString(showData.Date.End.Date);
94575
- startDate+=' '+IFrameSplitOperator.FormatTimeString(showData.Date.Start.Time,"HH:MM");
94576
- endDate+=" "+IFrameSplitOperator.FormatTimeString(showData.Date.End.Time,"HH:MM");
94577
-
94578
- var startLeftClass="",startRightClass="",endLeftClass="",endRightClass="";
94579
- if(start<=0) startLeftClass = "BtnBackground";
94580
- if(start >= end) {
94581
- startRightClass = "BtnBackground";
94582
- endLeftClass = "BtnBackground";
94583
- }
94584
- if(end >= hqData.Data.length - 1) endRightClass = "BtnBackground";
94585
-
94586
- var div=document.createElement('div');
94587
- div.className='jchart-select-table-right';
94588
- div.innerHTML=
94589
- '<div class="jchart-select-date">\n' +
94590
- ' <span>开始: '+ startDate +'<i class="start-date-left '+ startLeftClass +'"><</i><i class="start-date-right '+ startRightClass +'">></i></span>\n' +
94591
- ' <span>结束: '+ endDate +'<i class="end-date-left '+ endLeftClass +'"><</i><i class="end-date-right '+ endRightClass +'">></i></span>\n' +
94592
- ' <span>总个数: '+ showData.Count +'</span>\n' +
94593
- ' </div>\n' +
94594
- ' <table>\n' +
94595
- ' <tr><td><strong>起始价: </strong><span>'+ showData.Open.toFixed(defaultfloatPrecision) +'</span></td>' +
94596
- ' <td><strong>终止价: </strong><span>'+ showData.Close.toFixed(defaultfloatPrecision) +'</span></td>' +
94597
- ' <td><strong>均价: </strong><span>'+ (IFrameSplitOperator.IsNumber(showData.AvPrice) ? showData.AvPrice.toFixed(defaultfloatPrecision):"--.--") +'</span></td></tr>\n' +
94598
- ' <tr><td><strong>最低价: </strong><span>'+ showData.Low.toFixed(defaultfloatPrecision) +'</span></td>' +
94599
- ' <td><strong>最高价: </strong><span>'+ showData.High.toFixed(defaultfloatPrecision) +'</span></td>' +
94600
- ' <td><strong>涨跌幅: </strong><span class="'+ IFrameSplitOperator.FormatValueColor(showData.Increase) +'">'+ showData.Increase.toFixed(2) +'%</span></td></tr>\n' +
94601
- ' <tr><td><strong>振幅: </strong><span>'+ showData.Amplitude.toFixed(2) +'%</span></td>' +
94602
- ' <td><strong>成交量: </strong><span>'+ IFrameSplitOperator.FormatValueString(showData.Vol,2) +'股</span></td>' +
94603
- ' <td><strong>金额: </strong><span>'+ IFrameSplitOperator.FormatValueString(showData.Amount,2) +'元</span></td></tr>\n' +
94604
- ' </table>';
94605
-
94606
- $(".parameter-content").html(div);
94607
- this.BindEvent();
94608
-
94609
- return true;
94610
- }
94611
-
94612
- this.BindEvent = function ()
94613
- {
94614
- var _self = this;
94615
- if(_self.SelectData.Start > 0){
94616
- $(".jchart-select-date .start-date-left").click(function () {
94617
- _self.SelectData.Start--;
94618
- _self.BindData();
94619
- _self.HQChart.UpdateSelectRect(_self.SelectData.Start,_self.SelectData.End);
94620
- })
94621
- }
94622
- if(_self.SelectData.Start < _self.SelectData.End){
94623
- $(".jchart-select-date .start-date-right").click(function () {
94624
- _self.SelectData.Start++;
94625
- _self.BindData();
94626
- _self.HQChart.UpdateSelectRect(_self.SelectData.Start,_self.SelectData.End);
94627
- })
94628
- $(".jchart-select-date .end-date-left").click(function () {
94629
- _self.SelectData.End--;
94630
- _self.BindData();
94631
- _self.HQChart.UpdateSelectRect(_self.SelectData.Start,_self.SelectData.End);
94632
- })
94633
- }
94634
- if(_self.SelectData.End < _self.SelectData.Data.Data.length - 1){
94635
- $(".jchart-select-date .end-date-right").click(function () {
94636
- _self.SelectData.End++;
94637
- _self.BindData();
94638
- _self.HQChart.UpdateSelectRect(_self.SelectData.Start,_self.SelectData.End);
94639
- })
94640
- }
94641
- }
94642
-
94643
-
94644
- //显示
94645
- this.DoModal=function(event)
94646
- {
94647
- var chart=event.data.Chart;
94648
- if (this.ID==null) this.Create(); //第1次 需要创建div
94649
- this.SelectData=event.data.SelectData;
94650
- this.RectSelectPaint=event.data.RectSelectPaint;
94651
- this.HQChart=chart;
94652
- this.HQChart.HideSelectRect();
94653
- if (!this.BindData()) return;
94654
-
94655
- this.Show(); //通过CSS居中显示
94656
- }
94657
-
94658
-
94659
- }
94660
-
94661
- //区间统计
94662
- function KLineSelectRectDialog(divElement)
94663
- {
94664
- this.newMethod=IDivDialog; //派生
94665
- this.newMethod(divElement);
94666
- delete this.newMethod;
94667
-
94668
- this.SelectData;
94669
- this.Dialog;
94670
- this.HQChart;
94671
- this.RectSelectPaint;
94672
-
94673
- //隐藏窗口
94674
- this.Close=function()
94675
- {
94676
- if (this.Dialog)
94677
- {
94678
- this.DivElement.removeChild(this.Dialog);
94679
- this.Dialog=null;
94680
- }
94681
-
94682
- if (this.RectSelectPaint) this.RectSelectPaint.PreventClose=false;
94683
- }
94684
-
94685
- //创建
94686
- this.Create=function()
94687
- {
94688
- this.ID=Guid();
94689
- var div=document.createElement('div');
94690
- div.className='jchart-select-statistics-box';
94691
- div.id=this.ID;
94692
- div.innerHTML=
94693
- "<div class='parameter jchart-select-section'>\
94694
- <div class='parameter-header'>\
94695
- <span>区间统计</span>\
94696
- <strong id='close' class='icon iconfont icon-close'></strong>\
94697
- </div>\
94698
- <div class='parameter-content'>统计数据</div>\
94699
- <div class='parameter-footer'>\
94700
- <button id='close' class='submit' >确定</button>\
94701
- <button id='match' class='submit' >形态匹配</button>\
94702
- </div>\
94703
- </div>";
94704
-
94705
- this.DivElement.appendChild(div);
94706
- this.Dialog=div;
94707
-
94708
- //关闭按钮
94709
- $("#"+this.ID+" #close").click(
94710
- {
94711
- divBox:this,
94712
- },
94713
- function(event)
94714
- {
94715
- event.data.divBox.Close();
94716
- });
94717
-
94718
- //形态匹配
94719
- $("#"+this.ID+" #match").click(
94720
- {
94721
- divBox:this,
94722
- },
94723
- function(event)
94724
- {
94725
- event.data.divBox.KLineMatch();
94726
- });
94727
- }
94728
-
94729
- this.BindData=function()
94730
- {
94731
- var hqData=this.SelectData.Data;
94732
- var start=this.SelectData.Start;
94733
- var end=this.SelectData.End;
94734
- this.HQChart.UpdateSelectRect(start,end);
94735
- if (this.RectSelectPaint) this.RectSelectPaint.PreventClose=true;
94736
-
94737
- var showData=
94738
- {
94739
- Open:0,Close:0,High:0,Low:0, YClose:0,
94740
- Vol:0, Amount:0,
94741
- Date:
94742
- {
94743
- Start:{Time:null, Date:null },
94744
- End:{ Time:null, Date:null }
94745
- },
94746
- Count:0,
94747
- KLine:{ Up:0,Down:0,Unchanged:0 } //阳线|阴线|平线
94748
- }
94749
-
94750
- for(var i=start; i<=end && i<hqData.Data.length; ++i)
94751
- {
94752
- var item=hqData.Data[i];
94753
- if (i==start)
94754
- {
94755
- showData.Date.Start.Date=item.Date;
94756
- showData.Date.Start.Time=item.Time;
94757
- showData.Open=item.Open;
94758
- showData.High=item.High;
94759
- showData.Low=item.Low;
94760
- showData.YClose=item.YClose;
94761
- }
94762
-
94763
- showData.Date.End.Date=item.Date;
94764
- showData.Date.End.Time=item.Time;
94765
- showData.Close=item.Close;
94766
- showData.Vol+=item.Vol;
94767
- showData.Amount+=item.Amount;
94768
- ++showData.Count;
94769
- if (showData.High<item.High) showData.High=item.High;
94770
- if(showData.Low>item.Low) showData.Low=item.Low;
94771
- if (item.Close>item.Open) ++showData.KLine.Up;
94772
- else if (item.Close<item.Open) ++showData.KLine.Down;
94773
- else ++showData.KLine.Unchanged;
94774
- }
94775
-
94776
- if (showData.Vol>0) showData.AvPrice=showData.Amount/showData.Vol; //均价
94777
- if (item.YClose>0)
94778
- {
94779
- showData.Increase = (showData.Close - showData.YClose) / showData.YClose *100; //涨幅
94780
- showData.Amplitude = (showData.High - showData.Low) / showData.YClose * 100; //振幅
94781
- }
94782
-
94783
- // JSConsole.Chart.Log('[KLineSelectRectDialog::BindData]', showData);
94784
- var defaultfloatPrecision=GetfloatPrecision(this.SelectData.Symbol);
94785
- var startDate=IFrameSplitOperator.FormatDateString(showData.Date.Start.Date);
94786
- var endDate=IFrameSplitOperator.FormatDateString(showData.Date.End.Date);
94787
- if (ChartData.IsMinutePeriod(this.HQChart.Period))
94788
- {
94789
- startDate+=' '+IFrameSplitOperator.FormatTimeString(showData.Date.Start.Time,"HH:MM");
94790
- endDate+=" "+IFrameSplitOperator.FormatTimeString(showData.Date.End.Time,"HH:MM");
94791
- }
94792
- else if (ChartData.IsSecondPeriod(this.HQChart.Period) || ChartData.IsTickPeriod(this.HQChart.Period))
94793
- {
94794
- startDate+=' '+IFrameSplitOperator.FormatTimeString(showData.Date.Start.Time,"HH:MM:SS");
94795
- endDate+=" "+IFrameSplitOperator.FormatTimeString(showData.Date.End.Time,"HH:MM:SS");
94796
- }
94797
-
94798
- var startLeftClass="",startRightClass="",endLeftClass="",endRightClass="";
94799
- if(start<=0) startLeftClass = "BtnBackground";
94800
- if(start >= end) {
94801
- startRightClass = "BtnBackground";
94802
- endLeftClass = "BtnBackground";
94803
- }
94804
- if(end >= hqData.Data.length - 1) endRightClass = "BtnBackground";
94805
-
94806
- var div=document.createElement('div');
94807
- div.className='jchart-select-table-right';
94808
- div.innerHTML=
94809
- '<div class="jchart-select-date">\n' +
94810
- ' <span>开始: '+ startDate +'<i class="start-date-left '+ startLeftClass +'"><</i><i class="start-date-right '+ startRightClass +'">></i></span>\n' +
94811
- ' <span>结束: '+ endDate +'<i class="end-date-left '+ endLeftClass +'"><</i><i class="end-date-right '+ endRightClass +'">></i></span>\n' +
94812
- ' <span>总个数: '+ showData.Count +'</span>\n' +
94813
- ' </div>\n' +
94814
- ' <table>\n' +
94815
- ' <tr><td><strong>起始价: </strong><span>'+ showData.YClose.toFixed(defaultfloatPrecision) +'</span></td>' +
94816
- ' <td><strong>最终价: </strong><span>'+ showData.Close.toFixed(defaultfloatPrecision) +'</span></td>' +
94817
- ' <td><strong>均价: </strong><span>'+ (IFrameSplitOperator.IsNumber(showData.AvPrice) ? showData.AvPrice.toFixed(defaultfloatPrecision):"--.--") +'</span></td></tr>\n' +
94818
- ' <tr><td><strong>最低价: </strong><span>'+ showData.Low.toFixed(defaultfloatPrecision) +'</span></td>' +
94819
- ' <td><strong>最高价: </strong><span>'+ showData.High.toFixed(defaultfloatPrecision) +'</span></td>' +
94820
- ' <td><strong>涨跌幅: </strong><span class="'+ IFrameSplitOperator.FormatValueColor(showData.Increase) +'">'+ showData.Increase.toFixed(2) +'%</span></td></tr>\n' +
94821
- ' <tr><td><strong>振幅: </strong><span>'+ showData.Amplitude.toFixed(2) +'%</span></td>' +
94822
- ' <td><strong>成交量: </strong><span>'+ IFrameSplitOperator.FormatValueString(showData.Vol,2) +'股</span></td>' +
94823
- ' <td><strong>金额: </strong><span>'+ IFrameSplitOperator.FormatValueString(showData.Amount,2) +'元</span></td></tr>\n' +
94824
- ' <tr><td><strong>阴线: </strong><span>'+ showData.KLine.Up +'</span></td>' +
94825
- ' <td><strong>阳线: </strong><span>'+ showData.KLine.Down +'</span></td>' +
94826
- ' <td><strong>平线: </strong><span>'+ showData.KLine.Unchanged +'</span></td></tr>\n' +
94827
- ' </table>';
94828
-
94829
- $(".parameter-content").html(div);
94830
- this.BindEvent();
94831
- }
94832
-
94833
- this.BindEvent = function () {
94834
- var _self = this;
94835
- if(_self.SelectData.Start > 0){
94836
- $(".jchart-select-date .start-date-left").click(function () {
94837
- _self.SelectData.Start--;
94838
- _self.BindData();
94839
- _self.HQChart.UpdateSelectRect(_self.SelectData.Start,_self.SelectData.End);
94840
- })
94841
- }
94842
- if(_self.SelectData.Start < _self.SelectData.End){
94843
- $(".jchart-select-date .start-date-right").click(function () {
94844
- _self.SelectData.Start++;
94845
- _self.BindData();
94846
- _self.HQChart.UpdateSelectRect(_self.SelectData.Start,_self.SelectData.End);
94847
- })
94848
- $(".jchart-select-date .end-date-left").click(function () {
94849
- _self.SelectData.End--;
94850
- _self.BindData();
94851
- _self.HQChart.UpdateSelectRect(_self.SelectData.Start,_self.SelectData.End);
94852
- })
94853
- }
94854
- if(_self.SelectData.End < _self.SelectData.Data.Data.length - 1){
94855
- $(".jchart-select-date .end-date-right").click(function () {
94856
- _self.SelectData.End++;
94857
- _self.BindData();
94858
- _self.HQChart.UpdateSelectRect(_self.SelectData.Start,_self.SelectData.End);
94859
- })
94860
- }
94861
- }
94862
-
94863
- //显示
94864
- this.DoModal=function(event)
94865
- {
94866
- var chart=event.data.Chart;
94867
- if (this.ID==null) this.Create(); //第1次 需要创建div
94868
- this.SelectData=event.data.SelectData;
94869
- this.RectSelectPaint=event.data.RectSelectPaint;
94870
- this.HQChart=chart;
94871
- this.HQChart.HideSelectRect();
94872
- this.BindData();
94873
-
94874
- this.Show(); //通过CSS居中显示
94875
- }
94876
-
94877
- //形态匹配
94878
- this.KLineMatch=function(data)
94879
- {
94880
- var waitDialog=new WaitDialog(this.DivElement);
94881
- waitDialog.DoModal(
94882
- {
94883
- data:
94884
- {
94885
- Title:'计算中......',
94886
- Chart:this.HQChart
94887
- }
94888
- });
94889
-
94890
- this.Close(); //关闭窗口
94891
-
94892
- var hqChart=this.HQChart;
94893
- var param= { Scope: { Plate:["CNA.ci"],Minsimilar:0.90 }, WaitDialog:waitDialog } //沪深A股, 相似度>=90%
94894
- hqChart.RequestKLineMatch(this.SelectData, param);
94895
- }
94896
- }
94897
-
94898
94641
  //形态选股
94899
94642
  function KLineMatchDialog(divElement)
94900
94643
  {
@@ -125627,6 +125370,19 @@ function GetBlackStyle()
125627
125370
  TurnoverRateColor:'rgb(43,54,69)', //换手率
125628
125371
  PositionColor:"rgb(255,0,255)" //持仓
125629
125372
  },
125373
+
125374
+ DialogSelectRect:
125375
+ {
125376
+ BGColor:'rgb(20,20,20)', //背景色
125377
+ BorderColor:'rgb(170,170,170)', //边框颜色
125378
+ TitleColor:'rgb(210,210,210)', //标题颜色
125379
+ VolColor:"rgb(255, 185, 15)", //标题成交量
125380
+ AmountColor:"rgb(210,210,210)", //成交金额
125381
+ TextColor:"rgb(210,210,210)", //数值名称
125382
+ ValueColor:"rgb(210,210,210)", //数值
125383
+ TurnoverRateColor:'rgb(43,54,69)', //换手率
125384
+ PositionColor:"rgb(255,0,255)" //持仓
125385
+ },
125630
125386
 
125631
125387
  //走势图 信息地雷
125632
125388
  MinuteInfo:
@@ -139315,7 +139071,7 @@ function ScrollBarBGChart()
139315
139071
 
139316
139072
 
139317
139073
 
139318
- var HQCHART_VERSION="1.1.13975";
139074
+ var HQCHART_VERSION="1.1.13982";
139319
139075
 
139320
139076
  function PrintHQChartVersion()
139321
139077
  {