hqchart 1.1.14498 → 1.1.14506

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.
@@ -8171,6 +8171,10 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
8171
8171
  drag.LastMove.X=e.clientX;
8172
8172
  drag.LastMove.Y=e.clientY;
8173
8173
  }
8174
+ else if (drag.Click && drag.Click.IsInFrameBottom)
8175
+ {
8176
+ this.OnDragXCoordinateZoom(drag, {X:moveSetp, Y:moveSetpY}, e);
8177
+ }
8174
8178
  else if ((bLButtonSelectRect || bRButtonSelectRect) && !isDragSelectRect && !isDragSubSelectRect) //左右键区间选择
8175
8179
  {
8176
8180
  var yMoveSetp=Math.abs(drag.LastMove.Y-e.clientY);
@@ -8192,6 +8196,38 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
8192
8196
  }
8193
8197
  }
8194
8198
 
8199
+ this.OnDragXCoordinateZoom=function(drag, moveData, e)
8200
+ {
8201
+ var moveSetp=moveData.X;
8202
+ var moveSetpY=moveData.Y;
8203
+ if (moveSetp<5) return;
8204
+
8205
+ var isLeft=true;
8206
+ if (drag.LastMove.X<e.clientX) isLeft=false;//右移数据
8207
+
8208
+ var cursorStatus="ew-resize";
8209
+
8210
+ var oneStepWidth=this.GetMoveOneStepWidth();
8211
+ if (moveSetp<oneStepWidth)
8212
+ {
8213
+ this.SetCursor({Cursor:cursorStatus});
8214
+ return;
8215
+ }
8216
+
8217
+ if (this.XCoordinateZoom(moveSetp,isLeft))
8218
+ {
8219
+ this.UpdataDataoffset();
8220
+ this.UpdateFrameMaxMin();
8221
+ this.ResetFrameXYSplit();
8222
+
8223
+ this.Draw();
8224
+ this.OnKLinePageChange("datamove");
8225
+ }
8226
+
8227
+ drag.LastMove.X=e.clientX;
8228
+ this.SetCursor({Cursor:cursorStatus});
8229
+ }
8230
+
8195
8231
  this.OnDragMode_One=function(moveData, e)
8196
8232
  {
8197
8233
  var moveSetp=moveData.X;
@@ -8252,7 +8288,6 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
8252
8288
  if (drag.LastMove.X<e.clientX) isLeft=false;//右移数据
8253
8289
 
8254
8290
  var cursorStatus="pointer";
8255
- if (drag.Click.IsInFrameBottom) cursorStatus="ew-resize";
8256
8291
  var oneStepWidth=this.GetMoveOneStepWidth();
8257
8292
  if (moveSetp<oneStepWidth)
8258
8293
  {
@@ -8263,18 +8298,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
8263
8298
  }
8264
8299
  else
8265
8300
  {
8266
- if (drag.Click && drag.Click.IsInFrameBottom)
8267
- {
8268
-
8269
- if (this.XCoordinateZoom(moveSetp,isLeft))
8270
- {
8271
- this.UpdataDataoffset();
8272
- this.UpdateFrameMaxMin();
8273
- this.ResetFrameXYSplit();
8274
- bNeedDraw=true;
8275
- }
8276
- }
8277
- else if(this.DataMove(moveSetp,isLeft))
8301
+ if(this.DataMove(moveSetp,isLeft))
8278
8302
  {
8279
8303
  this.UpdataDataoffset();
8280
8304
  //this.UpdatePointByCursorIndex(); //推拽数据的时候不需要把鼠标位置更新到K线上
@@ -8399,9 +8423,9 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
8399
8423
  }
8400
8424
  else if (IsMinuteChart)
8401
8425
  {
8402
- if (this.OnMinuteSelectRectMouseUp) this.OnMinuteSelectRectMouseUp(e);
8426
+ if (this.OnMinuteSelectRectMouseUp) this.OnMinuteSelectRectMouseUp(e); //分时图区间选择
8403
8427
  }
8404
- else if (bLButtonSelectRect || bRButtonSelectRect) //区间选择
8428
+ else if (bLButtonSelectRect || bRButtonSelectRect) //K线图区间选择
8405
8429
  {
8406
8430
  var drag=this.MouseDrag;
8407
8431
  drag.LastMove.X=e.clientX;
@@ -8416,49 +8440,12 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
8416
8440
  selectData.YEnd=(drag.LastMove.Y-uielement.getBoundingClientRect().top)*pixelTatio;
8417
8441
  selectData.JSChartContainer=this;
8418
8442
  selectData.Stock={Symbol:this.Symbol, Name:this.Name};
8443
+ selectData.IsLButton=bLButtonSelectRect;
8444
+ selectData.IsRButton=bRButtonSelectRect;
8419
8445
 
8420
8446
  if (!this.BorderDrag && this.GetSelectRectData(selectData))
8421
8447
  {
8422
- var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_SELECT_RECT);
8423
- var paint=this.GetRectSelectPaint();
8424
- var isShowMenu=true;
8425
- if (event && event.Callback)
8426
- {
8427
- var data=
8428
- {
8429
- X:drag.LastMove.X-uielement.getBoundingClientRect().left,
8430
- Y:drag.LastMove.Y-uielement.getBoundingClientRect().top,
8431
- SelectData:selectData, //区间选择的数据
8432
- RectSelectPaint:paint, //区间选择背景
8433
- IsShowMenu:true,
8434
- e,e
8435
- };
8436
- event.Callback(event,data,this);
8437
- isShowMenu=data.IsShowMenu;
8438
- }
8439
-
8440
- if (IsMinuteChart) //分时图直接显示显示区间选择
8441
- {
8442
- this.HideSelectRect();
8443
- this.UpdateSelectRect(selectData.Start,selectData.End);
8444
- }
8445
- else
8446
- {
8447
- if (isShowMenu)
8448
- {
8449
- var data=
8450
- {
8451
- Chart:this,
8452
- X:drag.LastMove.X-uielement.getBoundingClientRect().left,
8453
- Y:drag.LastMove.Y-uielement.getBoundingClientRect().top,
8454
- SelectData:selectData, //区间选择的数据
8455
- RectSelectPaint:paint //区间选择背景
8456
- };
8457
-
8458
- e.data=data;
8459
- this.PopupSelectRectMenuV2(data, e);
8460
- }
8461
- }
8448
+ this.FinishSelectRect(selectData, e);
8462
8449
  }
8463
8450
  else
8464
8451
  {
@@ -8498,6 +8485,92 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
8498
8485
  this.ClearDocContextMenuTimer(5000);
8499
8486
  }
8500
8487
 
8488
+ //区间选择完成
8489
+ this.FinishSelectRect=function(selectData, e)
8490
+ {
8491
+ var bMinuteChart=this.IsMinuteContainer();
8492
+ var drag=this.MouseDrag;
8493
+ var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_SELECT_RECT);
8494
+ var paint=this.GetRectSelectPaint();
8495
+
8496
+ var x=drag.LastMove.X-uielement.getBoundingClientRect().left;
8497
+ var y=drag.LastMove.Y-uielement.getBoundingClientRect().top;
8498
+
8499
+ if (e) //往事件里面 写如我们的数据
8500
+ {
8501
+ var data=
8502
+ {
8503
+ Chart:this, X:x,Y:y,
8504
+ SelectData:selectData, //区间选择的数据
8505
+ RectSelectPaint:paint, //区间选择背景
8506
+ IsLButton:selectData.IsLButton, IsRButton:selectData.IsRButton,
8507
+ };
8508
+
8509
+ e.data=data;
8510
+ }
8511
+
8512
+ var aryMenu=null, command=null;
8513
+ if (bMinuteChart) //分时图 默认区间统计
8514
+ {
8515
+ command={ ID:JSCHART_MENU_ID.CMD_SELECTED_SUMMARY_ID, Args:[e,selectData] };
8516
+ }
8517
+ else //K线默认 区间选择K线
8518
+ {
8519
+ aryMenu=
8520
+ [
8521
+ { Name:"区间统计", Data:{ ID:JSCHART_MENU_ID.CMD_SELECTED_SUMMARY_ID, Args:[e,selectData] }},
8522
+ { Name:"区间放大", Data:{ ID:JSCHART_MENU_ID.CMD_SELECTED_ZOOM_ID, Args:[selectData] }}
8523
+ ];
8524
+ }
8525
+
8526
+ if (event && event.Callback)
8527
+
8528
+ var sendData=
8529
+ {
8530
+ X:x, Y:y, e:e,
8531
+ SelectData:selectData, //区间选择的数据
8532
+ RectSelectPaint:paint, //区间选择背景
8533
+ AryMenu:aryMenu, //菜单 填null 不就会弹菜单
8534
+ Command:command, //执行命令
8535
+ IsLButton:selectData.IsLButton, IsRButton:selectData.IsRButton,
8536
+ PreventDefault:false,
8537
+ };
8538
+ if (bMinuteChart) sendData.Command=null; //分时图 调用事件 不做任何事
8539
+
8540
+ event.Callback(event,sendData,this);
8541
+
8542
+ if (sendData.PreventDefault==true) return; //已被上层替换,不调用默认的网络请求
8543
+
8544
+ aryMenu=sendData.AryMenu;
8545
+ command=sendData.Command;
8546
+
8547
+
8548
+ if (aryMenu) //弹菜单
8549
+ {
8550
+ this.PopupSelectRectMenuV3(aryMenu, data, e);
8551
+ return;
8552
+ }
8553
+
8554
+ if (command) //执行命令
8555
+ {
8556
+ this.ExecuteMenuCommand(command.ID, command.Args);
8557
+ return;
8558
+ }
8559
+
8560
+ this.HideSelectRect();
8561
+ this.UpdateSelectRect(selectData.Start,selectData.End);
8562
+ }
8563
+
8564
+ this.PopupSelectRectMenuV3=function(aryMenu, data, e)
8565
+ {
8566
+ if (!aryMenu) return;
8567
+
8568
+ var menuData={ Menu:aryMenu, Position:JSPopMenu.POSITION_ID.RIGHT_MENU_ID };
8569
+ menuData.ClickCallback=(data)=>{ this.OnClickRightMenu(data); }
8570
+ var x=data.X, y=data.Y;
8571
+ this.PopupMenuByRClick(menuData, x, y);
8572
+ }
8573
+
8501
8574
  this.DocContextMenu=function(e)
8502
8575
  {
8503
8576
  e.preventDefault();
@@ -28938,12 +29011,12 @@ function IChartPainting()
28938
29011
  if (valueType==1) //K线收盘价
28939
29012
  {
28940
29013
  var kItem=this.Data.Data[i];
28941
- if (IFrameSplitOperator.IsNumber(kItem.Close)) value=kItem.Close
29014
+ if (kItem && IFrameSplitOperator.IsNumber(kItem.Close)) value=kItem.Close
28942
29015
  }
28943
29016
  else if (valueType==2)
28944
29017
  {
28945
29018
  var kItem=this.Data.Data[i];
28946
- if (IFrameSplitOperator.IsNumber(kItem.Vol)) value=kItem.Vol
29019
+ if (kItem && IFrameSplitOperator.IsNumber(kItem.Vol)) value=kItem.Vol
28947
29020
  }
28948
29021
  else if (valueType==3)
28949
29022
  {
@@ -62088,7 +62161,7 @@ function DynamicChartTitlePainting()
62088
62161
  return aryText;
62089
62162
  }
62090
62163
 
62091
- this.FromatKLineTitle=function(item, dataInfo)
62164
+ this.FormatKLineTitle=function(item, dataInfo)
62092
62165
  {
62093
62166
  var defaultfloatPrecision=GetfloatPrecision(dataInfo.Symbol);//价格小数位数
62094
62167
  var upperSymbol="";
@@ -62166,6 +62239,35 @@ function DynamicChartTitlePainting()
62166
62239
  return aryText;
62167
62240
  }
62168
62241
 
62242
+ this.FormatIndexTitle=function(value, dataInfo)
62243
+ {
62244
+ if (!value) return null;
62245
+
62246
+ if (IFrameSplitOperator.IsString(value)) return { Text:value, ArrayText:null };
62247
+
62248
+ if (IFrameSplitOperator.IsNonEmptyArray(value))
62249
+ {
62250
+ var aryText=[];
62251
+ for(var i=0;i<value.length;++i)
62252
+ {
62253
+ var item=value[i];
62254
+ if (!item) continue;
62255
+
62256
+ var textItem={ Name:null, Text:null };
62257
+ if (item.Name) textItem.Name=item.Name;
62258
+ if (item.Text) textItem.Text=item.Text;
62259
+ if (item.Color) textItem.Color=item.Color;
62260
+ if (IFrameSplitOperator.IsNumber(item.LeftSpace)) textItem.LeftSpace=item.LeftSpace;
62261
+
62262
+ aryText.push(textItem);
62263
+ }
62264
+
62265
+ return { Text:null, ArrayText:aryText }
62266
+ }
62267
+
62268
+ return null;
62269
+ }
62270
+
62169
62271
  this.GetColor=function(price,yClose)
62170
62272
  {
62171
62273
  if (!IFrameSplitOperator.IsNumber(yClose)) return this.UnchangeColor;
@@ -62663,15 +62765,14 @@ function DynamicChartTitlePainting()
62663
62765
  }
62664
62766
  else if (item.DataType=="DRAWKLINE")
62665
62767
  {
62666
- aryText=this.FromatKLineTitle(value, item);
62768
+ aryText=this.FormatKLineTitle(value, item);
62667
62769
  if (!aryText) return null;
62668
62770
  return { Text:null, ArrayText:aryText };
62669
62771
  }
62670
62772
  else if (item.DataType=="ChartIndexTitle")
62671
62773
  {
62672
- var text=item.Data.Data[dataIndex];
62673
- if (!IFrameSplitOperator.IsString(text)) return null;
62674
- return { Text:text, ArrayText:null };
62774
+ var outTitle=this.FormatIndexTitle(value, item);
62775
+ return outTitle;
62675
62776
  }
62676
62777
  else if (g_ScriptIndexChartFactory.Has(item.DataType)) //外部挂接
62677
62778
  {
@@ -63065,9 +63166,17 @@ function DynamicChartTitlePainting()
63065
63166
  }
63066
63167
  else if (item.DataType=="DRAWKLINE")
63067
63168
  {
63068
- aryText=this.FromatKLineTitle(value, item);
63169
+ aryText=this.FormatKLineTitle(value, item);
63069
63170
  if (!aryText) continue;
63070
63171
  }
63172
+ else if (item.DataType=="ChartIndexTitle")
63173
+ {
63174
+ var outTitle=this.FormatIndexTitle(value, item);
63175
+ if (!outTitle) continue;
63176
+
63177
+ valueText=outTitle.Text;
63178
+ aryText=outTitle.ArrayText;
63179
+ }
63071
63180
  else
63072
63181
  {
63073
63182
  valueText=this.FormatValue(value,item);
@@ -63085,6 +63194,8 @@ function DynamicChartTitlePainting()
63085
63194
  var textWidth=this.Canvas.measureText(text).width+2; //后空2个像素
63086
63195
  if ((x+textWidth)>right) break;
63087
63196
 
63197
+ if (IFrameSplitOperator.IsNumber(titleItem.LeftSpace)) x+=titleItem.LeftSpace*pixelRatio;
63198
+
63088
63199
  if (this.OverlayIndexType.BGColor)
63089
63200
  {
63090
63201
  this.Canvas.fillStyle=this.OverlayIndexType.BGColor;
@@ -80529,8 +80640,21 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
80529
80640
  x+=(rtClient.left+rtScroll.Left);
80530
80641
  y+=(rtClient.top+rtScroll.Top);
80531
80642
 
80532
- var date=data.Tooltip.Data.Date;
80533
- var symbol=data.Chart.Symbol;
80643
+ var item=data.Tooltip.Data;
80644
+ var date=item.Date;
80645
+ var symbol=null;
80646
+
80647
+ if (data.Tooltip.ChartPaint && data.Tooltip.ChartPaint.Name=="DRAWKLINE")
80648
+ {
80649
+ if (item.Symbol) symbol=item.Symbol;
80650
+ else if (data.Tooltip.Symbol) symbol=data.Tooltip.Symbol;
80651
+ }
80652
+ else
80653
+ {
80654
+ symbol=data.Chart.Symbol;
80655
+ }
80656
+
80657
+ if (!symbol) return;
80534
80658
 
80535
80659
  this.PopMinuteChart.Show({ Date:date, Symbol:symbol, Data:data.Tooltip.Data }, x/pixelRatio,y/pixelRatio);
80536
80660
  }
@@ -88095,6 +88219,9 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
88095
88219
  }
88096
88220
  else if ((bRButtonSelectRect || bLButtonSelectRect) && !this.BorderDrag && this.GetSelectRectData(selectData))
88097
88221
  {
88222
+ this.FinishSelectRect(selectData, e);
88223
+
88224
+ /*
88098
88225
  var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_SELECT_RECT);
88099
88226
  var paint=this.GetRectSelectPaint();
88100
88227
  var isShowDialog=true; //是否显示内置区间选择框
@@ -88132,6 +88259,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
88132
88259
  this.HideSelectRect();
88133
88260
  this.UpdateSelectRect(selectData.Start,selectData.End);
88134
88261
  }
88262
+ */
88135
88263
  }
88136
88264
  else
88137
88265
  {
@@ -125508,6 +125636,12 @@ function OverlayScriptIndex(name,script,args,option)
125508
125636
  {
125509
125637
  this.CreateLine(hqChart,windowIndex,item,i, item.Type);
125510
125638
  }
125639
+ else if (item.Type==10)
125640
+ {
125641
+ this.CreateTitle(hqChart,windowIndex,item,i);
125642
+ }
125643
+
125644
+
125511
125645
 
125512
125646
  var titleData=titleInfo.Data[i];
125513
125647
  if (titleData)
@@ -126075,6 +126209,7 @@ function OverlayScriptIndex(name,script,args,option)
126075
126209
  chart.Name=varItem.Name;
126076
126210
  chart.ChartBorder=frame.Frame.ChartBorder;
126077
126211
  chart.ChartFrame=frame.Frame;
126212
+ chart.Identify=overlayIndex.Identify;
126078
126213
  if (varItem.Draw && varItem.Draw.DrawData)
126079
126214
  {
126080
126215
  var drawData=varItem.Draw.DrawData;
@@ -126086,6 +126221,32 @@ function OverlayScriptIndex(name,script,args,option)
126086
126221
  frame.ChartPaint.push(chart);
126087
126222
  }
126088
126223
 
126224
+ this.CreateTitle=function(hqChart,windowIndex,varItem,id)
126225
+ {
126226
+ var overlayIndex=this.OverlayIndex;
126227
+ var frame=overlayIndex.Frame;
126228
+ let chart=new ChartIndexTitle();
126229
+ chart.Canvas=hqChart.Canvas;
126230
+
126231
+ chart.Name=varItem.Name;
126232
+ chart.ChartBorder=frame.Frame.ChartBorder;
126233
+ chart.ChartFrame=frame.Frame;
126234
+ chart.Identify=overlayIndex.Identify;
126235
+
126236
+ if (varItem.Color) chart.Color=this.GetColor(varItem.Color);
126237
+ else chart.Color=this.GetDefaultColor(id);
126238
+ chart.Data.Data=varItem.Data;
126239
+
126240
+ var titleIndex=windowIndex+1;
126241
+ var titlePaint=hqChart.TitlePaint[titleIndex];
126242
+ var titleData=new DynamicTitleData(chart.Data,chart.Name,chart.Color);
126243
+ titleData.DataType="ChartIndexTitle";
126244
+ titlePaint.OverlayIndex.get(overlayIndex.Identify).Data[id]=titleData;
126245
+
126246
+ this.SetChartIndexName(chart);
126247
+ frame.ChartPaint.push(chart);
126248
+ }
126249
+
126089
126250
  this.CreateStackedBar=function(hqChart,windowIndex,varItem,id)
126090
126251
  {
126091
126252
  var overlayIndex=this.OverlayIndex;
@@ -144248,7 +144409,7 @@ function ScrollBarBGChart()
144248
144409
 
144249
144410
 
144250
144411
 
144251
- var HQCHART_VERSION="1.1.14497";
144412
+ var HQCHART_VERSION="1.1.14505";
144252
144413
 
144253
144414
  function PrintHQChartVersion()
144254
144415
  {
@@ -5,7 +5,7 @@
5
5
 
6
6
 
7
7
 
8
- var HQCHART_VERSION="1.1.14497";
8
+ var HQCHART_VERSION="1.1.14505";
9
9
 
10
10
  function PrintHQChartVersion()
11
11
  {
@@ -57455,6 +57455,8 @@ HQData.Report_APIIndex=function(data, callback)
57455
57455
  HQData.APIIndex_CHANNEL_V2(data, callback);
57456
57456
  else if (request.Data.indexname=="API_DRAWKLINE")
57457
57457
  HQData.APIIndex_DRAWKLINE(data, callback);
57458
+ else if (request.Data.indexname=="API_TITLE")
57459
+ HQData.APIIndex_TITLE(data, callback);
57458
57460
  }
57459
57461
 
57460
57462
 
@@ -58165,7 +58167,7 @@ HQData.APIIndex_MULTI_BAR=function(data, callback)
58165
58167
  [
58166
58168
  //{Date:20190916, Time: Value:15.5, Value2:0 },
58167
58169
  ],
58168
- Width:10
58170
+ //Width:10
58169
58171
  };
58170
58172
 
58171
58173
  var point2=
@@ -58178,19 +58180,22 @@ HQData.APIIndex_MULTI_BAR=function(data, callback)
58178
58180
  [
58179
58181
  //{Date:20190916, Time: Value:15.5, Value2:0 },
58180
58182
  ],
58181
- Width:10
58183
+ //Width:10
58182
58184
  };
58183
58185
 
58184
58186
  for(var i=0;i<kData.Data.length;++i)
58185
58187
  {
58186
58188
  var item=kData.Data[i];
58187
- point.Point.push({Date:item.Date, Time:item.Time, Value:(item.High+item.Low)/2, Value2:item.High});
58188
- point2.Point.push({Date:item.Date, Time:item.Time, Value:(item.High+item.Low)/2, Value2:item.Low});
58189
+ ///point.Point.push({Date:item.Date, Time:item.Time, Value:(item.High+item.Low)/2, Value2:item.High});
58190
+ ///point2.Point.push({Date:item.Date, Time:item.Time, Value:(item.High+item.Low)/2, Value2:item.Low});
58191
+
58192
+ point.Point.push({Date:item.Date, Time:item.Time, Value:(item.High+item.Low)/2+HQData.GetRandomTestData(2,10), Value2:item.High});
58193
+ point2.Point.push({Date:item.Date, Time:item.Time, Value:(item.High+item.Low)/2-HQData.GetRandomTestData(2,10), Value2:item.Low});
58189
58194
  }
58190
58195
 
58191
58196
 
58192
58197
 
58193
- //barData.Draw.DrawData.push(point);
58198
+ barData.Draw.DrawData.push(point);
58194
58199
  barData.Draw.DrawData.push(point2);
58195
58200
 
58196
58201
  var apiData=
@@ -58372,9 +58377,6 @@ HQData.APIIndex_DRAWKLINE=function(data, callback)
58372
58377
  IsShowTitle:true,
58373
58378
  };
58374
58379
 
58375
-
58376
- var textData={ name:"", type:10, color:"rgb(148,0,211)", data:[], isshow:false }; //名字
58377
-
58378
58380
  var aryDate=[];
58379
58381
  var aryTime=[];
58380
58382
  for(var i=100;i<kData.Data.length-100;++i)
@@ -58396,15 +58398,13 @@ HQData.APIIndex_DRAWKLINE=function(data, callback)
58396
58398
 
58397
58399
  aryDate.push(kItem.Date);
58398
58400
  aryTime.push(kItem.Time);
58399
-
58400
- textData.data.push(kItem.YClose.toFixed(2));
58401
58401
  }
58402
58402
 
58403
58403
  var apiData=
58404
58404
  {
58405
58405
  code:0,
58406
58406
  stock:{ name:hqchart.Name, symbol:hqchart.Symbol },
58407
- outdata: { date:aryDate, time:aryTime, outvar:[textData, klineData] }
58407
+ outdata: { date:aryDate, time:aryTime, outvar:[ klineData] }
58408
58408
  };
58409
58409
 
58410
58410
  console.log('[HQData.APIIndex_DRAWKLINE] apiData ', apiData);
@@ -58412,6 +58412,48 @@ HQData.APIIndex_DRAWKLINE=function(data, callback)
58412
58412
  }
58413
58413
 
58414
58414
 
58415
+ HQData.APIIndex_TITLE=function(data, callback)
58416
+ {
58417
+ data.PreventDefault=true;
58418
+ var hqchart=data.HQChart;
58419
+ var kData=hqchart.GetKData();
58420
+
58421
+ var textData={ name:"标题", type:10, color:"rgb(0,128,128)", data:[], }; //名字
58422
+ var closeData={ name:"收盘价", type:0, color:"rgb(255,165,0)", data:[] } ; //
58423
+
58424
+ var aryDate=[];
58425
+ var aryTime=[];
58426
+ for(var i=0;i<kData.Data.length-30;++i)
58427
+ {
58428
+ var kItem=kData.Data[i];
58429
+
58430
+ closeData.data.push(kItem.Close);
58431
+
58432
+ textData.data.push(
58433
+ [
58434
+ { Name:`收`, Text:`${kItem.Close.toFixed(2)}`, Color:"rgb(200,10,10)",},
58435
+ { Name:`开`, Text:`${kItem.Open.toFixed(2)}`, Color:"rgb(0,200,10)", LeftSpace:2 }
58436
+ ]);
58437
+
58438
+ //textData.data.push(`价格:${kItem.Close.toFixed(2)}`);
58439
+
58440
+ aryDate.push(kItem.Date);
58441
+ aryTime.push(kItem.Time);
58442
+ }
58443
+
58444
+
58445
+ var apiData=
58446
+ {
58447
+ code:0,
58448
+ stock:{ name:hqchart.Name, symbol:hqchart.Symbol },
58449
+ outdata: { date:aryDate, time:aryTime, outvar:[ textData, closeData] }
58450
+ };
58451
+
58452
+ console.log('[HQData.APIIndex_TITLE] apiData ', apiData);
58453
+ callback(apiData);
58454
+ }
58455
+
58456
+
58415
58457
 
58416
58458
 
58417
58459
  /*暴露外部用的方法*/