hqchart 1.1.13623 → 1.1.13638

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.
@@ -4785,6 +4785,7 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
4785
4785
  if (IFrameSplitOperator.IsBool(option.EnableNewIndex)) chart.EnableNewIndex=option.EnableNewIndex;
4786
4786
  if (IFrameSplitOperator.IsBool(option.EnableIndexChartDrag)) chart.EnableIndexChartDrag=option.EnableIndexChartDrag;
4787
4787
  if (IFrameSplitOperator.IsBool(option.EnableVerifyRecvData)) chart.EnableVerifyRecvData=option.EnableVerifyRecvData;
4788
+ if (IFrameSplitOperator.IsBool(option.EnableNightDayBG)) chart.EnableNightDayBG=option.EnableNightDayBG;
4788
4789
 
4789
4790
  if (option.GlobalOption)
4790
4791
  {
@@ -6539,6 +6540,8 @@ var JSCHART_EVENT_ID=
6539
6540
 
6540
6541
  ON_FORMAT_KLINE_HIGH_LOW_TITLE:154, //K线最高最低价格式化内容
6541
6542
  ON_CUSTOM_CORSSCURSOR_POSITION:155, //自定义十字光标X轴的输出的位置
6543
+
6544
+ ON_CUSTOM_MINUTE_NIGHT_DAY_X_INDEX:156, //日盘夜盘的分界线
6542
6545
  }
6543
6546
 
6544
6547
  var JSCHART_OPERATOR_ID=
@@ -12327,11 +12330,18 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
12327
12330
  if (IFrameSplitOperator.IsBool(windowItem.IsShowIndexName)) frame.IsShowIndexName=windowItem.IsShowIndexName;
12328
12331
  if (IFrameSplitOperator.IsNumber(windowItem.IndexParamSpace)) frame.IndexParamSpace=windowItem.IndexParamSpace;
12329
12332
  if (IFrameSplitOperator.IsNumber(windowItem.IndexTitleSpace)) frame.IndexTitleSpace=windowItem.IndexTitleSpace;
12333
+ if (!IFrameSplitOperator.IsUndefined(windowItem.HorizontalReserved)) frame.HorizontalReserved=windowItem.HorizontalReserved; //Y轴上下预留
12330
12334
  }
12331
12335
 
12332
12336
  if (frameItem)
12333
12337
  {
12334
12338
  if (frameItem.SplitCount) frame.YSplitOperator.SplitCount=frameItem.SplitCount;
12339
+ if (IFrameSplitOperator.IsNumber(frameItem.SplitType))
12340
+ {
12341
+ frame.YSplitOperator.SplitType=frameItem.SplitType;
12342
+ frame.YSplitOperator.DefaultSplitType=frameItem.SplitType;
12343
+ }
12344
+
12335
12345
  if (IFrameSplitOperator.IsBool(frameItem.IsShowXLine)) frame.IsShowXLine=frameItem.IsShowXLine;
12336
12346
  if (IFrameSplitOperator.IsBool(frameItem.IsShowYLine)) frame.IsShowYLine=frameItem.IsShowYLine;
12337
12347
 
@@ -16856,6 +16866,8 @@ function MinuteFrame()
16856
16866
  this.BeforeOpenVerticalInfo=[]; //盘前集合竞价X轴
16857
16867
  this.AfterCloseVerticalInfo=[]; //收盘集合竞价X轴
16858
16868
 
16869
+ this.NightDayConfig=CloneData(g_JSChartResource.Minute.NightDay);
16870
+
16859
16871
  this.DrawFrame=function()
16860
16872
  {
16861
16873
  if (!this.IsMinSize)
@@ -16867,6 +16879,8 @@ function MinuteFrame()
16867
16879
 
16868
16880
  if (this.BeforeDrawXYCallback) this.BeforeDrawXYCallback(this);
16869
16881
 
16882
+ this.DrawNightDayBG(); //绘制夜盘 日盘背景
16883
+
16870
16884
  this.DrawTitleBG();
16871
16885
  this.DrawHorizontal();
16872
16886
  this.DrawVertical();
@@ -17310,6 +17324,86 @@ function MinuteFrame()
17310
17324
  }
17311
17325
  }
17312
17326
 
17327
+ this.DrawNightDayBG=function()
17328
+ {
17329
+ if (this.DayCount!=1) return;
17330
+ if (!this.HQChart) return;
17331
+ if (!this.HQChart.EnableNightDayBG) return;
17332
+
17333
+ var symbol=this.HQChart.Symbol;
17334
+ if (!symbol) return;
17335
+
17336
+ var xIndex=-1;
17337
+ //获取夜盘和日期的分界线X索引位置
17338
+ var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CUSTOM_MINUTE_NIGHT_DAY_X_INDEX)
17339
+ if (!event || !event.Callback) return;
17340
+
17341
+ var sendData={ Symbol:symbol, XIndex:xIndex, MinuteTimeStringData:g_MinuteTimeStringData };
17342
+ event.Callback(event,sendData,this);
17343
+ xIndex=sendData.XIndex;
17344
+ if (xIndex<0) return;
17345
+
17346
+ var border=this.ChartBorder.GetBorder();
17347
+ var x=this.GetXFromIndex(xIndex);
17348
+
17349
+ var rtNight={ Left: border.Left, Top:border.TopEx, Right:x, Bottom:border.Bottom };
17350
+ rtNight.Width=rtNight.Right-rtNight.Left;
17351
+ rtNight.Height=rtNight.Bottom-rtNight.Top;
17352
+
17353
+ this.Canvas.fillStyle = this.NightDayConfig.NightBGColor;
17354
+ this.Canvas.fillRect(rtNight.Left, rtNight.Top, rtNight.Width, rtNight.Height);
17355
+
17356
+ if (this.Identify!=0) return;
17357
+
17358
+ //显示 日盘夜盘文字
17359
+ this.Canvas.font=this.NightDayConfig.Font;
17360
+ this.Canvas.textBaseline = "bottom";
17361
+ this.Canvas.textAlign = 'left';
17362
+ var aryTitle=[{ Title:"夜盘", Position:1, Config:this.NightDayConfig.Night }, { Title:"日盘", Position:0,Config:this.NightDayConfig.Day }];
17363
+ var textHeight= this.Canvas.measureText("擎").width;
17364
+ for(var i=0;i<aryTitle.length;++i)
17365
+ {
17366
+ var item=aryTitle[i];
17367
+ var text=g_JSChartLocalization.GetText(item.Title,this.HQChart.LanguageID);
17368
+ var testWidth = this.Canvas.measureText(text).width;
17369
+ var rtItem=
17370
+ {
17371
+ Width:testWidth+item.Config.Margin.Left+item.Config.Margin.Right,
17372
+ Height:textHeight+item.Config.Margin.Top+item.Config.Margin.Bottom,
17373
+ Bottom:border.Bottom
17374
+ };
17375
+ rtItem.Top=rtItem.Bottom-rtItem.Height;
17376
+
17377
+ if (item.Position===1)
17378
+ {
17379
+ rtItem.Right=x-1;
17380
+ rtItem.Left=rtItem.Right-rtItem.Width;
17381
+ }
17382
+ else
17383
+ {
17384
+ rtItem.Left=x+1;
17385
+ rtItem.Right=rtItem.Left+rtItem.Width;
17386
+ }
17387
+
17388
+ if (item.Config.BGColor)
17389
+ {
17390
+ this.Canvas.fillStyle = item.Config.BGColor;
17391
+ this.Canvas.fillRect(rtItem.Left, rtItem.Top, rtItem.Width, rtItem.Height);
17392
+ }
17393
+
17394
+ if (item.Config.BorderColor)
17395
+ {
17396
+ this.Canvas.strokeStyle = item.Config.BorderColor;
17397
+ this.Canvas.strokeRect(ToFixedPoint(rtItem.Left), ToFixedPoint(rtItem.Top), ToFixedRect(rtItem.Width), ToFixedRect(rtItem.Height));
17398
+ }
17399
+
17400
+
17401
+ this.Canvas.fillStyle = item.Config.Color;
17402
+ this.Canvas.fillText(text, rtItem.Left+item.Config.Margin.Left, rtItem.Bottom-item.Config.Margin.Bottom );
17403
+ }
17404
+
17405
+ }
17406
+
17313
17407
  //选中的画图工具X轴坐标信息
17314
17408
  this.DrawPictureXCoordinate=function(drawPicture, range, option)
17315
17409
  {
@@ -18889,6 +18983,89 @@ function MinuteHScreenFrame()
18889
18983
  return this.GetLeftExtendYFromData(value,isLimit,obj);
18890
18984
  }
18891
18985
 
18986
+ this.DrawNightDayBG=function()
18987
+ {
18988
+ if (this.DayCount!=1) return;
18989
+ if (!this.HQChart) return;
18990
+ if (!this.HQChart.EnableNightDayBG) return;
18991
+
18992
+ var symbol=this.HQChart.Symbol;
18993
+ if (!symbol) return;
18994
+
18995
+ var xIndex=-1;
18996
+ //获取夜盘和日期的分界线X索引位置
18997
+ var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CUSTOM_MINUTE_NIGHT_DAY_X_INDEX)
18998
+ if (!event || !event.Callback) return;
18999
+
19000
+ var sendData={ Symbol:symbol, XIndex:xIndex, MinuteTimeStringData:g_MinuteTimeStringData };
19001
+ event.Callback(event,sendData,this);
19002
+ xIndex=sendData.XIndex;
19003
+ if (xIndex<0) return;
19004
+
19005
+ var border=this.ChartBorder.GetHScreenBorder();
19006
+ var y=this.GetXFromIndex(xIndex);
19007
+
19008
+ var rtNight={ Left: border.Left, Top:border.Top, Right:border.RightEx, Bottom:y };
19009
+ rtNight.Width=rtNight.Right-rtNight.Left;
19010
+ rtNight.Height=rtNight.Bottom-rtNight.Top;
19011
+
19012
+ this.Canvas.fillStyle = this.NightDayConfig.NightBGColor;
19013
+ this.Canvas.fillRect(rtNight.Left, rtNight.Top, rtNight.Width, rtNight.Height);
19014
+
19015
+ if (this.Identify!=0) return;
19016
+
19017
+ //显示 日盘夜盘文字
19018
+ this.Canvas.font=this.NightDayConfig.Font;
19019
+ this.Canvas.textBaseline = "bottom";
19020
+ this.Canvas.textAlign = 'left';
19021
+ var aryTitle=[{ Title:"夜盘", Position:1, Config:this.NightDayConfig.Night }, { Title:"日盘", Position:0,Config:this.NightDayConfig.Day }];
19022
+ var textHeight= this.Canvas.measureText("擎").width;
19023
+ for(var i=0;i<aryTitle.length;++i)
19024
+ {
19025
+ var item=aryTitle[i];
19026
+ var text=g_JSChartLocalization.GetText(item.Title,this.HQChart.LanguageID);
19027
+ var testWidth = this.Canvas.measureText(text).width;
19028
+ var rtItem=
19029
+ {
19030
+ Height:testWidth+item.Config.Margin.Left+item.Config.Margin.Right,
19031
+ Width:textHeight+item.Config.Margin.Top+item.Config.Margin.Bottom,
19032
+ Left:border.Left
19033
+ };
19034
+ rtItem.Right=rtItem.Left+rtItem.Width;
19035
+
19036
+ if (item.Position===1)
19037
+ {
19038
+ rtItem.Bottom=y-1;
19039
+ rtItem.Top=rtItem.Bottom-rtItem.Height;
19040
+ }
19041
+ else
19042
+ {
19043
+ rtItem.Top=y+1;
19044
+ rtItem.Bottom=rtItem.Top+rtItem.Height;
19045
+ }
19046
+
19047
+ if (item.Config.BGColor)
19048
+ {
19049
+ this.Canvas.fillStyle = item.Config.BGColor;
19050
+ this.Canvas.fillRect(rtItem.Left, rtItem.Top, rtItem.Width, rtItem.Height);
19051
+ }
19052
+
19053
+ if (item.Config.BorderColor)
19054
+ {
19055
+ this.Canvas.strokeStyle = item.Config.BorderColor;
19056
+ this.Canvas.strokeRect(ToFixedPoint(rtItem.Left), ToFixedPoint(rtItem.Top), ToFixedRect(rtItem.Width), ToFixedRect(rtItem.Height));
19057
+ }
19058
+
19059
+ this.Canvas.fillStyle = item.Config.Color;
19060
+ var xText=rtItem.Left;
19061
+ var yText=rtItem.Top;
19062
+ this.Canvas.save();
19063
+ this.Canvas.translate(xText,yText);
19064
+ this.Canvas.rotate(90 * Math.PI / 180);
19065
+ this.Canvas.fillText(text, item.Config.Margin.Left, -item.Config.Margin.Bottom);
19066
+ this.Canvas.restore();
19067
+ }
19068
+ }
18892
19069
 
18893
19070
  }
18894
19071
 
@@ -22815,6 +22992,7 @@ function HQTradeFrame()
22815
22992
  for (var i in this.SubFrame)
22816
22993
  {
22817
22994
  var item = this.SubFrame[i];
22995
+ if (item.Height<=0) continue;
22818
22996
  if (item.Frame.DrawInsideHorizontal) item.Frame.DrawInsideHorizontal();
22819
22997
  }
22820
22998
  }
@@ -54225,7 +54403,7 @@ function ChartCorssCursor()
54225
54403
  }
54226
54404
  }
54227
54405
 
54228
- //X轴 Bottom=10 使用第1个指标框位置
54406
+ //X轴 Bottom=8 自定义X轴文字位置
54229
54407
  if ((this.ShowTextMode.Bottom===1 || this.ShowTextMode.Bottom==8) && this.StringFormatX.Operator())
54230
54408
  {
54231
54409
  var text=this.StringFormatX.Text;
@@ -70758,6 +70936,14 @@ function JSChartResource()
70758
70936
  Point:{ Color:"rgb(65,105,225)", Radius:2*GetDevicePixelRatio() },
70759
70937
  };
70760
70938
 
70939
+ this.Minute.NightDay=
70940
+ {
70941
+ NightBGColor:"rgba(0,0,0,0.2)",
70942
+ Font:`${12*GetDevicePixelRatio()}px 微软雅黑`,
70943
+ Day: { Color:"rgb(0,0,0)", BGColor:"rgb(179,179,179)", BorderColor:"rgb(179,179,179)", Margin:{ Left:5, Top:2, Bottom:2, Right:5 } },
70944
+ Night: { Color:"rgb(0,0,0)", BGColor:"rgb(179,179,179)", BorderColor:"rgb(179,179,179)", Margin:{ Left:5, Top:2, Bottom:2, Right:5 } },
70945
+ }
70946
+
70761
70947
  this.DefaultTextColor="rgb(43,54,69)"; //图形中默认的字体颜色
70762
70948
  this.DefaultTextFont=14*GetDevicePixelRatio() +'px 微软雅黑'; //图形中默认的字体
70763
70949
  this.TitleFont=13*GetDevicePixelRatio() +'px 微软雅黑'; //指标显示,tooltip显示字体
@@ -72042,6 +72228,29 @@ function JSChartResource()
72042
72228
  if (item.Point.Radius) this.Minute.After.Point.Radius=item.Point.Radius;
72043
72229
  }
72044
72230
  }
72231
+
72232
+ if (style.Minute.NightDay)
72233
+ {
72234
+ var item=style.Minute.NightDay;
72235
+ if (item.NightBGColor) this.Minute.NightDay.NightBGColor=item.NightBGColor;
72236
+ if (item.Font) this.Minute.NightDay.Font=item.Font;
72237
+ if (item.Day)
72238
+ {
72239
+ var subItem=item.Day;
72240
+ if (subItem.Color) this.Minute.NightDay.Day.Color=subItem.Color;
72241
+ if (subItem.BGColor) this.Minute.NightDay.Day.BGColor=subItem.BGColor;
72242
+ if (subItem.BorderColor) this.Minute.NightDay.Day.BorderColor=subItem.BorderColor;
72243
+ CopyMarginConfig(this.Minute.NightDay.Day.Margin,subItem.Margin);
72244
+ }
72245
+ if (item.Night)
72246
+ {
72247
+ var subItem=item.Night;
72248
+ if (subItem.Color) this.Minute.NightDay.Night.Color=subItem.Color;
72249
+ if (subItem.BGColor) this.Minute.NightDay.Night.BGColor=subItem.BGColor;
72250
+ if (subItem.BorderColor) this.Minute.NightDay.Night.BorderColor=subItem.BorderColor;
72251
+ CopyMarginConfig(this.Minute.NightDay.Night.Margin,subItem.Margin);
72252
+ }
72253
+ }
72045
72254
  }
72046
72255
 
72047
72256
  if (style.DefaultTextColor) this.DefaultTextColor = style.DefaultTextColor;
@@ -73253,7 +73462,11 @@ function JSChartLocalization()
73253
73462
  ["Toolbar-"+JSCHART_BUTTON_ID.CHIP_LONG, {CN:"远期成本分布", EN:"Long chip", TC:"远期成本分布"}],
73254
73463
  ["Toolbar-"+JSCHART_BUTTON_ID.CHIP_DEFULT, {CN:"默认筹码分布", EN:"Default chip", TC:"默认筹码分布"}],
73255
73464
  ["Toolbar-"+JSCHART_BUTTON_ID.DRAW_PICTURE_DELETE, {CN:"删除", EN:"Delete", TC:"删除"}],
73256
- ["Toolbar-"+JSCHART_BUTTON_ID.DRAW_PICTURE_SETTING, {CN:"设置", EN:"Setting", TC:"设置"}]
73465
+ ["Toolbar-"+JSCHART_BUTTON_ID.DRAW_PICTURE_SETTING, {CN:"设置", EN:"Setting", TC:"设置"}],
73466
+
73467
+ //日盘|夜盘
73468
+ ["日盘",{CN:'日盘', EN:'Day', TC:'日盤'}],
73469
+ ["夜盘",{CN:'夜盘', EN:'Night', TC:'夜盤'} ]
73257
73470
  ]);
73258
73471
 
73259
73472
  this.GetText=function(key,language)
@@ -81772,6 +81985,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
81772
81985
 
81773
81986
  this.ZoomStepPixel=50;
81774
81987
  this.BaselineType=0; //基准线类型 0=最新昨收盘 1=多日前昨收盘
81988
+ this.EnableNightDayBG=false; //是否启动夜盘背景色
81775
81989
 
81776
81990
  //集合竞价设置 obj={ Left:true/false, Right:true/false, MultiDay:{Left:, Right:} }
81777
81991
  this.SetCallCationDataBorder=function(obj)
@@ -83562,6 +83776,8 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
83562
83776
  frame.GlobalOption=this.GlobalOption;
83563
83777
  if (i<2) frame.ChartBorder.TitleHeight=0;
83564
83778
  frame.XPointCount=243;
83779
+ frame.HQChart=this;
83780
+ frame.GetEventCallback=(id)=> { return this.GetEventCallback(id); }
83565
83781
 
83566
83782
  if (i>=2)
83567
83783
  {
@@ -83651,6 +83867,8 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
83651
83867
  frame.Identify=id; //窗口序号
83652
83868
  frame.XPointCount=243;
83653
83869
  frame.GlobalOption=this.GlobalOption;
83870
+ frame.HQChart=this;
83871
+ frame.GetEventCallback=(id)=> { return this.GetEventCallback(id); }
83654
83872
 
83655
83873
 
83656
83874
  if (id>=2)
@@ -89284,6 +89502,8 @@ function MinuteChartHScreenContainer(uielement)
89284
89502
  frame.Identify=i;
89285
89503
  if (i<2) frame.ChartBorder.TitleHeight=0;
89286
89504
  frame.XPointCount=243;
89505
+ frame.HQChart=this;
89506
+ frame.GetEventCallback=(id)=> { return this.GetEventCallback(id); }
89287
89507
 
89288
89508
  var DEFAULT_HORIZONTAL=[9,8,7,6,5,4,3,2,1];
89289
89509
  frame.HorizontalMax=DEFAULT_HORIZONTAL[0];
@@ -122282,6 +122502,8 @@ function APIScriptIndex(name,script,args,option, isOverlay)
122282
122502
  if (item.isshow==false) outVarItem.IsShow = false;
122283
122503
  if (item.isexdata==true) outVarItem.IsExData = true;
122284
122504
  if (item.BreakPoint) outVarItem.BreakPoint=item.BreakPoint;
122505
+ if (item.UpColor) outVarItem.UpColor=item.UpColor;
122506
+ if (item.DownColor) outVarItem.DownColor=item.DownColor;
122285
122507
 
122286
122508
  result.push(outVarItem);
122287
122509
  }
@@ -123813,6 +124035,13 @@ function GetBlackStyle()
123813
124035
  {
123814
124036
  BGColor:"rgba(105,105,105,0.5)",
123815
124037
  AvPriceColor:'rgb(248,248,255)' //均线
124038
+ },
124039
+ NightDay:
124040
+ {
124041
+ NightBGColor:"rgb(22,22,22)",
124042
+ Font:`${12*GetDevicePixelRatio()}px 微软雅黑`,
124043
+ Day: { Color:"rgb(153,153,153)", BGColor:"rgb(51,51,51)", BorderColor:"rgb(51,51,51)", Margin:{ Left:5, Top:2, Bottom:2, Right:5 } },
124044
+ Night: { Color:"rgb(153,153,153)", BGColor:"rgb(51,51,51)", BorderColor:"rgb(51,51,51)", Margin:{ Left:5, Top:2, Bottom:2, Right:5 } },
123816
124045
  }
123817
124046
  },
123818
124047
 
@@ -137181,7 +137410,7 @@ function ScrollBarBGChart()
137181
137410
 
137182
137411
 
137183
137412
 
137184
- var HQCHART_VERSION="1.1.13622";
137413
+ var HQCHART_VERSION="1.1.13637";
137185
137414
 
137186
137415
  function PrintHQChartVersion()
137187
137416
  {
@@ -5,7 +5,7 @@
5
5
 
6
6
 
7
7
 
8
- var HQCHART_VERSION="1.1.13622";
8
+ var HQCHART_VERSION="1.1.13637";
9
9
 
10
10
  function PrintHQChartVersion()
11
11
  {