hqchart 1.1.13911 → 1.1.13921

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.
@@ -4898,6 +4898,7 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
4898
4898
 
4899
4899
  if (IFrameSplitOperator.IsNumber(item.HPenType)) chart.ChartCorssCursor.HPenType=item.HPenType;
4900
4900
  if (IFrameSplitOperator.IsNumber(item.VPenType)) chart.ChartCorssCursor.VPenType=item.VPenType;
4901
+ if (IFrameSplitOperator.IsBool(item.EnableKeyboard)) chart.ChartCorssCursor.EnableKeyboard=item.EnableKeyboard;
4901
4902
  }
4902
4903
 
4903
4904
  if (option.MinuteInfo) chart.CreateMinuteInfo(option.MinuteInfo);
@@ -9380,6 +9381,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
9380
9381
 
9381
9382
  this.DrawDrawPictureXYCoordinate(); //绘制画图工具 X,Y轴刻度信息
9382
9383
 
9384
+ var bDrawDialogTooltip=false;
9383
9385
  var ptPosition=null; //鼠标位置 null 无效 -1 在外面 >=0 对应的指标窗口中ID
9384
9386
  if (this.LastPoint.X!=null || this.LastPoint.Y!=null)
9385
9387
  {
@@ -9424,7 +9426,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
9424
9426
  this.ChartCorssCursor.Canvas=this.Canvas;
9425
9427
  }
9426
9428
 
9427
- this.DrawTooltipDialog();
9429
+ bDrawDialogTooltip=true;
9428
9430
  }
9429
9431
 
9430
9432
  ptPosition=this.Frame.PtInFrame(this.LastPoint.X, this.LastPoint.Y);
@@ -9505,6 +9507,9 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
9505
9507
  var frame=this.LastMouseStatus.MouseOnToolbar.Frame;
9506
9508
  if (frame && frame.DrawToolbarTooltip) frame.DrawToolbarTooltip(this.LastMouseStatus.MouseOnToolbar);
9507
9509
  }
9510
+
9511
+
9512
+ if (bDrawDialogTooltip) this.DrawTooltipDialog();
9508
9513
 
9509
9514
  //发送图形状态给外部
9510
9515
  if (this.mapEvent.has(JSCHART_EVENT_ID.CHART_STATUS))
@@ -9830,7 +9835,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
9830
9835
  }
9831
9836
 
9832
9837
  this.DrawDrawPictureXYCoordinate();
9833
-
9838
+ var bDrawDialogTooltip=false;
9834
9839
  if (this.ChartCorssCursor)
9835
9840
  {
9836
9841
  this.ChartCorssCursor.LastPoint=this.LastPoint;
@@ -9875,7 +9880,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
9875
9880
  this.ChartCorssCursor.Canvas=this.Canvas;
9876
9881
  }
9877
9882
 
9878
- this.DrawTooltipDialog();
9883
+ bDrawDialogTooltip=true;
9879
9884
  }
9880
9885
 
9881
9886
  var ptPosition=null; //鼠标位置 null 无效 -1 在外面 >=0 对应的指标窗口中ID
@@ -9970,6 +9975,8 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
9970
9975
 
9971
9976
  this.OffscreenToShowCanvas();
9972
9977
 
9978
+ if (bDrawDialogTooltip) this.DrawTooltipDialog();
9979
+
9973
9980
  ++this.TouchDrawCount;
9974
9981
  }
9975
9982
 
@@ -36956,7 +36963,8 @@ function ChartVolStick()
36956
36963
  this.ClassName='ChartVolStick';
36957
36964
 
36958
36965
  this.BarWidth; //固定宽度 目前只支持宽度为1
36959
- this.BarType; //柱子状态 1=实心 0=空心 2=涨实跌空 如果设置了这个属性, 属性KLineDrawType无效
36966
+ this.BarType; //柱子状态 1=实心 0=空心 2=涨实跌空 如果设置了这个属性, 属性KLineDrawType无效
36967
+ this.BarColorType=0; //0=柱子颜色跟K线走 1=正upcolor 负downcolor
36960
36968
  this.PtInChart=this.PtInBar;
36961
36969
  this.DrawSelectedStatus=this.DrawLinePoint;
36962
36970
 
@@ -37003,7 +37011,7 @@ function ChartVolStick()
37003
37011
  if (right>chartright) break;
37004
37012
 
37005
37013
  var y=this.ChartFrame.GetYFromData(value);
37006
- var barColor=this.GetBarColor(kItem);
37014
+ var barColor=this.GetBarColor(kItem,value);
37007
37015
  var bUp=barColor.IsUp;
37008
37016
 
37009
37017
 
@@ -37051,7 +37059,7 @@ function ChartVolStick()
37051
37059
  if (x>chartright) break;
37052
37060
 
37053
37061
  if (isMinute) barColor=this.GetMinuteBarColor(kItem,preKItem); //分时图颜色单独计算
37054
- else barColor=this.GetBarColor(kItem);
37062
+ else barColor=this.GetBarColor(kItem, value);
37055
37063
 
37056
37064
  this.Canvas.strokeStyle=barColor.Color;
37057
37065
 
@@ -37096,7 +37104,7 @@ function ChartVolStick()
37096
37104
  if (right>chartBottom) break;
37097
37105
 
37098
37106
  var y=this.ChartFrame.GetYFromData(value);
37099
- var barColor=this.GetBarColor(kItem);
37107
+ var barColor=this.GetBarColor(kItem, value);
37100
37108
  var bUp=barColor.IsUp;
37101
37109
 
37102
37110
  var height=ToFixedRect(y-yBottom); //高度调整为整数
@@ -37142,7 +37150,7 @@ function ChartVolStick()
37142
37150
  if (x>chartBottom) break;
37143
37151
 
37144
37152
  if (isMinute) barColor=this.GetMinuteBarColor(kItem,preKItem); //分时图颜色单独计算
37145
- else barColor=this.GetBarColor(kItem);
37153
+ else barColor=this.GetBarColor(kItem,value);
37146
37154
 
37147
37155
  var bUp=barColor.IsUp;
37148
37156
  this.Canvas.strokeStyle=barColor.Color;
@@ -37182,8 +37190,14 @@ function ChartVolStick()
37182
37190
  return range;
37183
37191
  }
37184
37192
 
37185
- this.GetBarColor=function(kItem)
37193
+ this.GetBarColor=function(kItem, value)
37186
37194
  {
37195
+ if (this.BarColorType===1) //更具正负决定柱子颜色
37196
+ {
37197
+ if (value>=0) return { Color:this.UpColor, IsUp:true }; //颜色, 是否是上涨
37198
+ else return { Color:this.DownColor, IsUp:false };
37199
+ }
37200
+
37187
37201
  if (kItem.Close>=kItem.Open) return { Color:this.UpColor, IsUp:true }; //颜色, 是否是上涨
37188
37202
  else return { Color:this.DownColor, IsUp:false };
37189
37203
  }
@@ -46177,7 +46191,7 @@ function KLineTooltipPaint()
46177
46191
  }
46178
46192
 
46179
46193
  if (this.HQChart.CurrentChartDrawPicture) return false; //画图工具操作的时候 不显示
46180
-
46194
+
46181
46195
  return true;
46182
46196
  }
46183
46197
 
@@ -47009,6 +47023,8 @@ function MinuteLeftTooltipPaint()
47009
47023
  var pt=this.HQChart.LastPoint;
47010
47024
  if (!pt) return false;
47011
47025
 
47026
+ if (this.HQChart.ChartCorssCursor && !this.HQChart.ChartCorssCursor.IsShowCorss) return false;
47027
+
47012
47028
  return this.HQChart.IsMouseOnClient(pt.X, pt.Y);
47013
47029
  }
47014
47030
 
@@ -72922,7 +72938,7 @@ function JSChartResource()
72922
72938
  AmountColor:"rgb(79, 79, 79)", //成交金额
72923
72939
  DateTimeColor:'rgb(60,60,60)',
72924
72940
  TurnoverRateColor:'rgb(43,54,69)', //换手率
72925
- PositionColor:"rgb(43,54,69)" //持仓
72941
+ PositionColor:"rgb(255,0,255)" //持仓
72926
72942
  }
72927
72943
 
72928
72944
  //弹幕
@@ -74863,7 +74879,7 @@ function JSChartLocalization()
74863
74879
  ['DivTooltip-Amount', {CN:'金额:', EN:'Amount:', TC:'金額'}],
74864
74880
  ['DivTooltip-Exchange', {CN:'换手:', EN:'Exchange:', TC:'換手'}],
74865
74881
  ['DivTooltip-Position', {CN:'持仓:', EN:'Position:', TC:'持倉'}],
74866
- ['DivTooltip-Price', {CN:'价格:', EN:'Open:', TC:'價格'}],
74882
+ ['DivTooltip-Price', {CN:'价格:', EN:'Price:', TC:'價格'}],
74867
74883
 
74868
74884
  ['DialogTooltip-Date', {CN:'日期', EN:'Date', TC:'日期'}],
74869
74885
  ['DialogTooltip-Time', {CN:'时间', EN:'Time', TC:'時間'}],
@@ -74872,12 +74888,18 @@ function JSChartLocalization()
74872
74888
  ['DialogTooltip-Low', {CN:'最低价', EN:'Low', TC:'最低價'}],
74873
74889
  ['DialogTooltip-Close', {CN:'收盘价', EN:'Close', TC:'收盤價'}],
74874
74890
  ['DialogTooltip-Increase', {CN:'涨幅', EN:'Increase', TC:'漲幅'}],
74891
+ ['DialogTooltip-Risefall', {CN:'涨跌', EN:'Risefall', TC:'漲跌'}],
74875
74892
  ['DialogTooltip-Vol', {CN:'成交量', EN:'Volume', TC:'數量'}],
74876
74893
  ['DialogTooltip-Amount', {CN:'成交额', EN:'Amount', TC:'金額'}],
74877
74894
  ['DialogTooltip-Exchange', {CN:'换手率', EN:'Exchange', TC:'換手'}],
74878
74895
  ['DialogTooltip-Position', {CN:'持仓量', EN:'Position', TC:'持倉'}],
74879
- ['DialogTooltip-Price', {CN:'价格', EN:'Open', TC:'價格'}],
74896
+ ['DialogTooltip-Price', {CN:'价格', EN:'Price', TC:'價格'}],
74897
+ ['DialogTooltip-YClose', {CN:"结算价", EN:'Settlement', TC:'結算價'}],
74880
74898
  ['DialogTooltip-Amplitude', {CN:'振幅', EN:'amplitude', TC:'價格'}],
74899
+ ['DialogTooltip-AC-Price', {CN:'匹配价', EN:'Price', TC:'匹配價'}],
74900
+ ['DialogTooltip-AC-AvPrice', {CN:'匹配均价', EN:'AVPrice', TC:'匹配均價'}],
74901
+ ['DialogTooltip-AC-Increase', {CN:'竞价涨幅', EN:'Increase', TC:'競價漲幅'}],
74902
+ ['DialogTooltip-AC-Vol', {CN:'匹配量', EN:'Vol', TC:'匹配量'}],
74881
74903
 
74882
74904
  //走势图PC tooltip
74883
74905
  ['PCTooltip-Date', {CN:'日期', EN:'Date', TC:"日期"}],
@@ -84881,6 +84903,14 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
84881
84903
 
84882
84904
  var keyID = e.keyCode ? e.keyCode :e.which;
84883
84905
 
84906
+ var draw=false;
84907
+ if (this.ChartCorssCursor && this.ChartCorssCursor.OnKeyDown) //十字光标 隐藏显示
84908
+ {
84909
+ var sendData={ e:e, KeyID:keyID, Draw:false, PreventDefault:false };
84910
+ this.ChartCorssCursor.OnKeyDown(sendData);
84911
+ draw=sendData.Draw;
84912
+ }
84913
+
84884
84914
  switch(keyID)
84885
84915
  {
84886
84916
  case 37: //left
@@ -84986,10 +85016,20 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
84986
85016
  this.ChartOperator(option);
84987
85017
  }
84988
85018
  break;
85019
+ case 27:
85020
+ if (this.CurrentChartDrawPicture)
85021
+ {
85022
+ var drawPicture=this.CurrentChartDrawPicture;
85023
+ if (drawPicture.Status!=20) //画布移动的时候不能取消
85024
+ this.CurrentChartDrawPicture=null;
85025
+ }
85026
+ break;
84989
85027
  default:
84990
85028
  return;
84991
85029
  }
84992
85030
 
85031
+ if (draw) this.DrawDynamicInfo();
85032
+
84993
85033
  //不让滚动条滚动
84994
85034
  if(e.preventDefault) e.preventDefault();
84995
85035
  else e.returnValue = false;
@@ -88936,6 +88976,55 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
88936
88976
 
88937
88977
  return null;
88938
88978
  }
88979
+
88980
+ this.DrawTooltipDialog=function()
88981
+ {
88982
+ if (!this.DialogTooltip) return;
88983
+
88984
+ this.UpdateTooltipDialog();
88985
+ }
88986
+
88987
+ this.UpdateTooltipDialog=function()
88988
+ {
88989
+ if (!this.DialogTooltip) return false;
88990
+ if (!this.ChartCorssCursor) return false;
88991
+
88992
+ var minuteItem=null; //{ Type:0=连续交易 1=集合竞价, Data:数据 }
88993
+ if (this.ChartCorssCursor.ClientPos>=0)
88994
+ {
88995
+ var titlePaint=this.TitlePaint[0];
88996
+ if (titlePaint && titlePaint.PointInfo)
88997
+ {
88998
+ var pointInfo=titlePaint.PointInfo;
88999
+ if ((pointInfo.ClientPos==2 || pointInfo.ClientPos==3 || (pointInfo.ClientPos>=200&& pointInfo.ClientPos<=299) || (pointInfo.ClientPos>=300&& pointInfo.ClientPos<=399)))
89000
+ {
89001
+ var auctionData=titlePaint.GetCurrentAuctionData();
89002
+ if (!auctionData) return;
89003
+ minuteItem={ Type:1, Data:auctionData };
89004
+ }
89005
+ else
89006
+ {
89007
+ var minuteData=titlePaint.GetCurrentKLineData();
89008
+ if (!minuteData) return;
89009
+ minuteItem={ Type:0, Data:minuteData };
89010
+ }
89011
+ }
89012
+
89013
+ }
89014
+
89015
+ var sendData=
89016
+ {
89017
+ ClientPos:this.ChartCorssCursor.ClientPos, //位置
89018
+ IsShowCorss:this.ChartCorssCursor.IsShowCorss, //是否显示十字线
89019
+ MinItem:minuteItem,
89020
+ Symbol:this.Symbol, Name:this.Name,
89021
+ };
89022
+
89023
+
89024
+ this.DialogTooltip.Update(sendData);
89025
+
89026
+ return true;
89027
+ }
88939
89028
  }
88940
89029
 
88941
89030
  //盘前数据
@@ -120116,6 +120205,7 @@ function ScriptIndex(name,script,args,option)
120116
120205
  if (varItem.UpColor) chart.UpColor=varItem.UpColor;
120117
120206
  if (varItem.DownColor) chart.DownColor=varItem.DownColor;
120118
120207
  if (IFrameSplitOperator.IsNumber(varItem.StickType)) chart.BarType=varItem.StickType;
120208
+ if (IFrameSplitOperator.IsNumber(varItem.BarColorType)) chart.BarColorType=varItem.BarColorType;
120119
120209
  if (varItem.LineWidth)
120120
120210
  {
120121
120211
  let width=parseInt(varItem.LineWidth.replace("LINETHICK",""));
@@ -120127,9 +120217,21 @@ function ScriptIndex(name,script,args,option)
120127
120217
  chart.HistoryData=hisData;
120128
120218
  this.ReloadChartResource(hqChart,windowIndex,chart);
120129
120219
 
120130
- var titleData=new DynamicTitleData(chart.Data,varItem.Name,chart.Color);
120131
- hqChart.TitlePaint[titleIndex].Data[id]=titleData;
120132
- this.SetTitleData(titleData,chart);
120220
+ if (varItem.IsShowTitle===false) //NOTEXT 不绘制标题
120221
+ {
120222
+
120223
+ }
120224
+ else if (IFrameSplitOperator.IsString(varItem.Name) && varItem.Name.indexOf("NOTEXT")==0) //标题中包含NOTEXT不绘制标题
120225
+ {
120226
+
120227
+ }
120228
+ else
120229
+ {
120230
+ var titleData=new DynamicTitleData(chart.Data,varItem.Name,chart.Color);
120231
+ hqChart.TitlePaint[titleIndex].Data[id]=titleData;
120232
+ this.SetTitleData(titleData,chart);
120233
+ }
120234
+
120133
120235
  this.SetChartIndexName(chart);
120134
120236
  hqChart.ChartPaint.push(chart);
120135
120237
  }
@@ -122075,6 +122177,7 @@ function OverlayScriptIndex(name,script,args,option)
122075
122177
  if (varItem.UpColor) chart.UpColor=varItem.UpColor;
122076
122178
  if (varItem.DownColor) chart.DownColor=varItem.DownColor;
122077
122179
  if (IFrameSplitOperator.IsNumber(varItem.StickType)) chart.BarType=varItem.StickType;
122180
+ if (IFrameSplitOperator.IsNumber(varItem.BarColorType)) chart.BarColorType=varItem.BarColorType;
122078
122181
  if (varItem.LineWidth)
122079
122182
  {
122080
122183
  let width=parseInt(varItem.LineWidth.replace("LINETHICK",""));
@@ -123503,6 +123606,8 @@ function APIScriptIndex(name,script,args,option, isOverlay)
123503
123606
  if (IFrameSplitOperator.IsBool(item.isDotLine)) outVarItem.IsDotLine = item.isDotLine;
123504
123607
  if (IFrameSplitOperator.IsNonEmptyArray(item.lineDash)) outVarItem.LineDash=item.lineDash;
123505
123608
  if (IFrameSplitOperator.IsBool(item.isSingleLine)) outVarItem.IsSingleLine=item.isSingleLine;
123609
+ if (IFrameSplitOperator.IsNumber(item.StickType)) outVarItem.StickType=item.StickType;
123610
+ if (IFrameSplitOperator.IsNumber(item.BarColorType)) outVarItem.BarColorType=item.BarColorType;
123506
123611
 
123507
123612
  result.push(outVarItem);
123508
123613
  }
@@ -125245,7 +125350,7 @@ function GetBlackStyle()
125245
125350
  AmountColor:"rgb(210,210,210)", //成交金额
125246
125351
  DateTimeColor:'rgb(210,210,210)',
125247
125352
  TurnoverRateColor:'rgb(43,54,69)', //换手率
125248
- PositionColor:"rgb(43,54,69)" //持仓
125353
+ PositionColor:"rgb(255,0,255)" //持仓
125249
125354
  },
125250
125355
 
125251
125356
  //走势图 信息地雷
@@ -138689,7 +138794,7 @@ function ScrollBarBGChart()
138689
138794
 
138690
138795
 
138691
138796
 
138692
- var HQCHART_VERSION="1.1.13910";
138797
+ var HQCHART_VERSION="1.1.13920";
138693
138798
 
138694
138799
  function PrintHQChartVersion()
138695
138800
  {
@@ -5,7 +5,7 @@
5
5
 
6
6
 
7
7
 
8
- var HQCHART_VERSION="1.1.13910";
8
+ var HQCHART_VERSION="1.1.13920";
9
9
 
10
10
  function PrintHQChartVersion()
11
11
  {
@@ -56000,7 +56000,7 @@ HQData.RequestMinuteRealtimeData=function(data,callback)
56000
56000
 
56001
56001
  //生成随机测试数据
56002
56002
  var price=kItem[5];
56003
- var value=Math.ceil(Math.random()*10)/10000*price;
56003
+ var value=Math.ceil(Math.random()*10)/5000*price;
56004
56004
  var bUp=Math.ceil(Math.random()*10)>=5;
56005
56005
 
56006
56006
  if (bUp) price+=value;
@@ -56863,6 +56863,8 @@ HQData.Keyboard_RequestSymbolList=function(data, callback)
56863
56863
  arySymbol.push(symbolItem);
56864
56864
  }
56865
56865
 
56866
+ arySymbol.push( { Symbol:"ICL8.cfe", Name:"中证主连", ShortSymbol:"ICL8", Spell:"ICL8", Type:"期货", TypeName:"期货", Data:{ Symbol:"ICL8.cfe", Type:0 } } );
56867
+
56866
56868
  arySymbol.push( { Symbol:"01", Name:"分时成交明细", TypeName:"功能键", Priority:1, Color:"rgb(220,20,60)" , Data:{ PageName:"分时成交明细", Type:2 }} );
56867
56869
  arySymbol.push( { Symbol:"02", Name:"分价表", TypeName:"功能键", Priority:1, Color:"rgb(220,20,60)" ,Data:{ PageName:"分价表", Type:2 }} );
56868
56870
  arySymbol.push( { Symbol:"06", Name:"自选股", TypeName:"功能键", Priority:1 , Color:"rgb(220,20,60)", Data:{ PageName:"自选股", Type:2 }} );
@@ -56871,6 +56873,13 @@ HQData.Keyboard_RequestSymbolList=function(data, callback)
56871
56873
  arySymbol.push( { Symbol:"RSI", Name:"相对强弱指标", TypeName:"指标", Priority:2, Color:"rgb(0,0,255)",Data:{ Index:"RSI", Type:1 }} );
56872
56874
  arySymbol.push( { Symbol:"MA", Name:"均线", TypeName:"指标", Priority:2, Color:"rgb(0,0,255)" ,Data:{ Index:"MA", Type:1 } } );
56873
56875
  arySymbol.push( { Symbol:"BOLL", Name:"布林线", TypeName:"指标", Priority:2, Color:"rgb(0,0,255)" ,Data:{ Index:"BOLL", Type:1 } } );
56876
+ arySymbol.push( { Symbol:"KDJ", Name:"随机指标", TypeName:"指标", Priority:2, Color:"rgb(0,0,255)" ,Data:{ Index:"KDJ", Type:1 } } );
56877
+ arySymbol.push( { Symbol:"SKDJ", Name:"慢速随机指标", TypeName:"指标", Priority:2, Color:"rgb(0,0,255)" ,Data:{ Index:"SKDJ", Type:1 } } );
56878
+ arySymbol.push( { Symbol:"KD", Name:"随机指标KD", TypeName:"指标", Priority:2, Color:"rgb(0,0,255)" ,Data:{ Index:"KD", Type:1 } } );
56879
+ arySymbol.push( { Symbol:"MARSI", Name:"相对强弱平均线", TypeName:"指标", Priority:2, Color:"rgb(0,0,255)" ,Data:{ Index:"MARSI", Type:1 } } );
56880
+ arySymbol.push( { Symbol:"VMACD", Name:"量平滑异同平均", TypeName:"指标", Priority:2, Color:"rgb(0,0,255)" ,Data:{ Index:"VMACD", Type:1 } } );
56881
+ arySymbol.push( { Symbol:"AMO", Name:"成交金额", TypeName:"指标", Priority:2, Color:"rgb(0,0,255)" ,Data:{ Index:"AMO", Type:1 } } );
56882
+ arySymbol.push( { Symbol:"SQJZ", Name:"神奇九转", TypeName:"指标", Priority:2, Color:"rgb(0,0,255)" ,Data:{ Index:"SQJZ", Type:1 } } );
56874
56883
 
56875
56884
  callback(arySymbol);
56876
56885
  }
@@ -56953,6 +56962,9 @@ HQData.GetDayKLineDataBySymbol=function(symbol)
56953
56962
  case "399006.sz":
56954
56963
  data=SZ_399006_DAY_KLINE;
56955
56964
  break;
56965
+ case "ICL8.cfe":
56966
+ data=CFE_ICL8_DAY_KLINE;
56967
+ break;
56956
56968
  default:
56957
56969
  data=SZ_000001_DAY_KLINE;
56958
56970
  break;