hqchart 1.1.15292 → 1.1.15299

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.
@@ -7278,6 +7278,7 @@ var JSCHART_MENU_ID=
7278
7278
  CMD_CORSS_X_TEXTALIGN_ID:61, //十字光标 底部文字对齐方式
7279
7279
 
7280
7280
  CMD_CHANGE_YRIGHT_TEXT_FORMAT:62, //分时图主图 右侧刻度格式
7281
+ CMD_ENABLE_ZOOM_Y_ID:63, //放大缩小Y坐标 { FrameID:, Enable: , Range:{ Max:, Min: }}
7281
7282
 
7282
7283
 
7283
7284
  CMD_REPORT_CHANGE_BLOCK_ID:100, //报价列表 切换板块ID
@@ -16080,6 +16081,10 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
16080
16081
  this.ResetFrameXYSplit();
16081
16082
  this.Draw();
16082
16083
  break;
16084
+ case JSCHART_MENU_ID.CMD_ENABLE_ZOOM_Y_ID:
16085
+ if (!srcParam) return false;
16086
+ if (this.EnableZoomYCoordinate) this.EnableZoomYCoordinate(srcParam);
16087
+ break;
16083
16088
  }
16084
16089
  }
16085
16090
 
@@ -34758,12 +34763,13 @@ function ChartKLine()
34758
34763
  if (this.TradeIcon) this.DrawTradeIcon()
34759
34764
  else this.DrawTrade();
34760
34765
 
34766
+ if (this.PriceGap.Enable) this.DrawPriceGap();
34767
+
34761
34768
  this.Canvas.restore();
34762
34769
 
34763
34770
  this.UpdateGlobalLatestPoint();
34764
34771
 
34765
34772
  this.DrawPredictionLine();
34766
- if (this.PriceGap.Enable) this.DrawPriceGap();
34767
34773
 
34768
34774
  if (this.IsShowMaxMinPrice) //标注最大值最小值
34769
34775
  {
@@ -62235,7 +62241,7 @@ function FrameSplitMinuteX()
62235
62241
  width=width/GetDevicePixelRatio();
62236
62242
 
62237
62243
  const minuteCoordinate = g_MinuteCoordinateData;
62238
- var xcoordinateData = minuteCoordinate.GetCoordinateData(this.Symbol,width);
62244
+ var xcoordinateData = minuteCoordinate.GetCoordinateData(this.Symbol, width, this.Frame.GlobalOption);
62239
62245
  var minuteCount=xcoordinateData.Count;
62240
62246
  var minuteMiddleCount=xcoordinateData.MiddleCount>0? xcoordinateData.MiddleCount: parseInt(minuteCount/2);
62241
62247
  var xcoordinate = xcoordinateData.Data;
@@ -64901,7 +64907,8 @@ function HQMinuteTimeStringFormat()
64901
64907
  this.MultiDayBeforeOpenData; //多日分时图 盘前数据
64902
64908
  this.MultiDayAfterCloseData; //多日分时图 收盘数据
64903
64909
 
64904
- this.GetEventCallback
64910
+ this.GetEventCallback;
64911
+ this.HQChart;
64905
64912
 
64906
64913
  this.GetBeforeOpen=function()
64907
64914
  {
@@ -64999,7 +65006,9 @@ function HQMinuteTimeStringFormat()
64999
65006
  if (this.Frame && this.Frame.MinuteCount) showIndex=index%this.Frame.MinuteCount;
65000
65007
 
65001
65008
  var timeStringData=g_MinuteTimeStringData;
65002
- var timeData=timeStringData.GetTimeData(this.Symbol);
65009
+ var globalOption=null;
65010
+ if (this.HQChart) globalOption=this.HQChart.GlobalOption;
65011
+ var timeData=timeStringData.GetTimeData(this.Symbol, globalOption);
65003
65012
  if (!timeData) return false;
65004
65013
 
65005
65014
  if (showIndex<0) showIndex=0;
@@ -92382,12 +92391,19 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
92382
92391
  var bDaySummary=klineChart.DaySummary.Enable;
92383
92392
  var infoPosition=klineChart.InfoPosition;
92384
92393
  var coordinateType=null, yCoordinateType=null; //坐标类型
92394
+ var bZoomYCoordinate=false;
92385
92395
  var mainFrame=null;
92386
92396
  if (this.Frame.SubFrame[0] && this.Frame.SubFrame[0].Frame) mainFrame=this.Frame.SubFrame[0].Frame;
92387
92397
  if (mainFrame)
92388
92398
  {
92389
92399
  coordinateType=mainFrame.CoordinateType;
92390
- if (mainFrame.YSplitOperator) yCoordinateType=mainFrame.YSplitOperator.CoordinateType;
92400
+ if (mainFrame.YSplitOperator)
92401
+ {
92402
+ yCoordinateType=mainFrame.YSplitOperator.CoordinateType;
92403
+ if (mainFrame.YSplitOperator.FixedYMaxMin && mainFrame.YSplitOperator.EnableZoomUpDown)
92404
+ bZoomYCoordinate=true;
92405
+ }
92406
+
92391
92407
  }
92392
92408
 
92393
92409
  var aryKLineInfo=[]; //信息地雷
@@ -92649,6 +92665,8 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
92649
92665
 
92650
92666
  { Name:"显示走完剩余时间", Data:{ ID:JSCHART_MENU_ID.CMD_ENABLE_KLINE_DAY_SUMMARY_ID, Args:[!bDaySummary]}, Checked:bDaySummary},
92651
92667
 
92668
+ { Name:"拖动Y轴", Data:{ ID:JSCHART_MENU_ID.CMD_ENABLE_ZOOM_Y_ID, Args:[{FrameID:0, Enable:!bZoomYCoordinate }, ]}, Checked:bZoomYCoordinate},
92669
+
92652
92670
  { Name:JSPopMenu.SEPARATOR_LINE_NAME },
92653
92671
  {
92654
92672
  Name:"鼠标形状",
@@ -94522,6 +94540,41 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
94522
94540
 
94523
94541
  return false;
94524
94542
  }
94543
+
94544
+ //option={ FrameID:, Enable: }
94545
+ this.EnableZoomYCoordinate=function(option)
94546
+ {
94547
+ if (!option) return false;
94548
+ if (!IFrameSplitOperator.IsNumber(option.FrameID)) return false;
94549
+ if (!IFrameSplitOperator.IsBool(option.Enable)) return false;
94550
+ if (!IFrameSplitOperator.IsNonEmptyArray(this.Frame.SubFrame)) return false;
94551
+ if (option.FrameID<0 || option.FrameID>this.Frame.SubFrame.length) return false;
94552
+
94553
+ var item=this.Frame.SubFrame[option.FrameID];
94554
+ if (!item || !item.Frame || !item.Frame.YSplitOperator) return false;
94555
+
94556
+ var frame=item.Frame;
94557
+ var splitOper=frame.YSplitOperator;
94558
+
94559
+ if (option.Enable)
94560
+ {
94561
+ var max=frame.HorizontalMax, min=frame.HorizontalMin;
94562
+ if (!IFrameSplitOperator.IsNumber(max) || !IFrameSplitOperator.IsNumber(min)) return false;
94563
+
94564
+ splitOper.FixedYMaxMin={ Max:max, Min:min };
94565
+ splitOper.EnableZoomUpDown=true;
94566
+ frame.XYSplit=true;
94567
+ this.ChartDragSelectRect.EnableLButton=false;
94568
+ }
94569
+ else
94570
+ {
94571
+ splitOper.FixedYMaxMin=null
94572
+ splitOper.EnableZoomUpDown=false;
94573
+ frame.XYSplit=true;
94574
+ }
94575
+
94576
+ this.Draw();
94577
+ }
94525
94578
  }
94526
94579
 
94527
94580
  //API 返回数据 转化为array[]
@@ -97274,7 +97327,8 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
97274
97327
  this.ChartCorssCursor.PtInClient=(x,y)=>{ return this.PtInClient(x,y); }
97275
97328
  this.ChartCorssCursor.Canvas=this.Canvas;
97276
97329
  this.ChartCorssCursor.StringFormatX=g_DivTooltipDataForamt.Create("CorssCursor_Minute_XStringFormat");
97277
- this.ChartCorssCursor.StringFormatX.GetEventCallback=(id)=> { return this.GetEventCallback(id); }
97330
+ this.ChartCorssCursor.StringFormatX.GetEventCallback=(id)=> { return this.GetEventCallback(id); };
97331
+ this.ChartCorssCursor.StringFormatX.HQChart=this;
97278
97332
  this.ChartCorssCursor.StringFormatY=g_DivTooltipDataForamt.Create("CorssCursor_YStringFormat");
97279
97333
  this.ChartCorssCursor.StringFormatY.GetEventCallback=(id)=> { return this.GetEventCallback(id); }
97280
97334
  this.ChartCorssCursor.StringFormatY.LanguageID=this.LanguageID;
@@ -103296,6 +103350,7 @@ function MinuteChartHScreenContainer(uielement)
103296
103350
  this.ChartCorssCursor.Canvas=this.Canvas;
103297
103351
  this.ChartCorssCursor.StringFormatX=g_DivTooltipDataForamt.Create("CorssCursor_Minute_XStringFormat");
103298
103352
  this.ChartCorssCursor.StringFormatX.GetEventCallback=(id)=> { return this.GetEventCallback(id); }
103353
+ this.ChartCorssCursor.StringFormatX.HQChart=this;
103299
103354
  this.ChartCorssCursor.StringFormatY=g_DivTooltipDataForamt.Create("CorssCursor_YStringFormat");
103300
103355
  this.ChartCorssCursor.StringFormatY.GetEventCallback=(id)=> { return this.GetEventCallback(id); }
103301
103356
  this.ChartCorssCursor.StringFormatY.HQChart=this;
@@ -106932,7 +106987,7 @@ function MinuteTimeStringData()
106932
106987
  return data;
106933
106988
  }
106934
106989
 
106935
- this.GetTimeData = function (symbol)
106990
+ this.GetTimeData = function (symbol, option)
106936
106991
  {
106937
106992
  if (!symbol) return this.SHSZ;
106938
106993
 
@@ -106948,7 +107003,7 @@ function MinuteTimeStringData()
106948
107003
  if (MARKET_SUFFIX_NAME.IsUSA(upperSymbol)) return this.GetUSA(upperSymbol);
106949
107004
  if (MARKET_SUFFIX_NAME.IsCFFEX(upperSymbol) || MARKET_SUFFIX_NAME.IsCZCE(upperSymbol) || MARKET_SUFFIX_NAME.IsDCE(upperSymbol) || MARKET_SUFFIX_NAME.IsSHFE(upperSymbol) || MARKET_SUFFIX_NAME.IsGZFE(upperSymbol))
106950
107005
  {
106951
- var splitData = g_FuturesTimeData.GetSplitData(upperSymbol);
107006
+ var splitData = g_FuturesTimeData.GetSplitData(upperSymbol, option);
106952
107007
  if (!splitData) return null;
106953
107008
  return this.GetFutures(splitData);
106954
107009
  }
@@ -107413,8 +107468,8 @@ function MinuteCoordinateData()
107413
107468
  }
107414
107469
 
107415
107470
 
107416
-
107417
- this.GetCoordinateData = function (symbol, width)
107471
+ // option=GlobalOption
107472
+ this.GetCoordinateData = function (symbol, width, option)
107418
107473
  {
107419
107474
  var data = null;
107420
107475
  if (!symbol)
@@ -107439,7 +107494,7 @@ function MinuteCoordinateData()
107439
107494
  else if (MARKET_SUFFIX_NAME.IsJP(upperSymbol))
107440
107495
  data=this.GetJPData(upperSymbol,width);
107441
107496
  else if (MARKET_SUFFIX_NAME.IsCFFEX(upperSymbol) || MARKET_SUFFIX_NAME.IsCZCE(upperSymbol) || MARKET_SUFFIX_NAME.IsDCE(upperSymbol) || MARKET_SUFFIX_NAME.IsSHFE(upperSymbol) || MARKET_SUFFIX_NAME.IsGZFE(upperSymbol))
107442
- return this.GetChinatFuturesData(upperSymbol,width);
107497
+ return this.GetChinatFuturesData(upperSymbol, width, option);
107443
107498
  else if (MARKET_SUFFIX_NAME.IsUSA(upperSymbol))
107444
107499
  data = this.GetUSAData(upperSymbol,width);
107445
107500
  else if (MARKET_SUFFIX_NAME.IsFTSE(upperSymbol))
@@ -107521,9 +107576,9 @@ function MinuteCoordinateData()
107521
107576
  return result;
107522
107577
  }
107523
107578
 
107524
- this.GetFuturesData = function (upperSymbol,width,timeData)
107579
+ this.GetFuturesData = function (upperSymbol,width,timeData, option)
107525
107580
  {
107526
- var splitData = timeData.GetSplitData(upperSymbol);
107581
+ var splitData = timeData.GetSplitData(upperSymbol, option);
107527
107582
  if (!splitData) return null;
107528
107583
  var stringData = g_MinuteTimeStringData.GetFutures(splitData);
107529
107584
  if (!stringData) return null;
@@ -107562,9 +107617,9 @@ function MinuteCoordinateData()
107562
107617
  return result;
107563
107618
  }
107564
107619
 
107565
- this.GetChinatFuturesData=function(upperSymbol,width)
107620
+ this.GetChinatFuturesData=function(upperSymbol, width, option)
107566
107621
  {
107567
- return this.GetFuturesData(upperSymbol,width, g_FuturesTimeData);
107622
+ return this.GetFuturesData(upperSymbol,width, g_FuturesTimeData, option);
107568
107623
  }
107569
107624
 
107570
107625
  this.GetNYMEXData=function(upperSymbol,width)
@@ -108370,7 +108425,7 @@ function FuturesTimeData()
108370
108425
  }
108371
108426
  }
108372
108427
 
108373
- this.GetData=function(upperSymbol)
108428
+ this.GetData=function(upperSymbol, option)
108374
108429
  {
108375
108430
  var oneWord = upperSymbol.charAt(0);
108376
108431
  var twoWords = upperSymbol.substr(0,2);
@@ -108415,9 +108470,9 @@ function FuturesTimeData()
108415
108470
  return null;
108416
108471
  }
108417
108472
 
108418
- this.GetSplitData = function (upperSymbol)
108473
+ this.GetSplitData = function (upperSymbol, option)
108419
108474
  {
108420
- var data=this.GetData(upperSymbol);
108475
+ var data=this.GetData(upperSymbol, option);
108421
108476
  if (!data) return null;
108422
108477
 
108423
108478
  return this.TIME_SPLIT[data.Time];
@@ -136240,14 +136295,14 @@ function APIScriptIndex(name,script,args,option, isOverlay)
136240
136295
  var indexData=[];
136241
136296
  var outVarItem={Name:item.name,Type:item.type};
136242
136297
  if (item.color) outVarItem.Color=item.color;
136298
+ else if (item.Color) outVarItem.Color=item.Color;
136243
136299
  if (IFrameSplitOperator.IsBool(item.IsShowTitle)) outVarItem.IsShowTitle = item.IsShowTitle; //是否显示指标标题
136244
136300
  if (IFrameSplitOperator.IsNumber(item.DrawVAlign)) outVarItem.DrawVAlign = item.DrawVAlign;
136245
136301
  if (IFrameSplitOperator.IsNumber(item.DrawAlign)) outVarItem.DrawAlign = item.DrawAlign;
136302
+ if (item.Font) outVarItem.Font=item.Font;
136246
136303
  if (item.data)
136247
136304
  {
136248
136305
  outVarItem.Data=this.FittingArray(item.data,date,time,hqChart);
136249
-
136250
- if (item.color) outVarItem.Color=item.color;
136251
136306
  if (item.linewidth) outVarItem.LineWidth=item.linewidth;
136252
136307
  if (IFrameSplitOperator.IsBool(item.isshow)) outVarItem.IsShow = item.isshow; //是否绘制线段
136253
136308
  if (item.isexdata==true) outVarItem.IsExData = true;
@@ -136287,6 +136342,18 @@ function APIScriptIndex(name,script,args,option, isOverlay)
136287
136342
 
136288
136343
  result.push(outVarItem);
136289
136344
  }
136345
+ else if (draw.DrawType=="DRAWTEXT_FIX")
136346
+ {
136347
+ drawItem.Text=draw.Text;
136348
+ drawItem.Name=draw.Name;
136349
+ drawItem.DrawType=draw.DrawType;
136350
+ drawItem.DrawData={ Value:null, Text:null };
136351
+ drawItem.DrawData.Value=this.FittingArray(draw.DrawData.Value,date,time,hqChart);
136352
+ drawItem.DrawData.Text=this.FittingArray(draw.DrawData.Text,date,time,hqChart);
136353
+ drawItem.Position=draw.Position;
136354
+ outVarItem.Draw=drawItem;
136355
+ result.push(outVarItem);
136356
+ }
136290
136357
  else if (draw.DrawType=="VERTLINE") //竖线
136291
136358
  {
136292
136359
  drawItem.Text=draw.Text;
@@ -166990,7 +167057,7 @@ function HQChartScriptWorker()
166990
167057
 
166991
167058
 
166992
167059
 
166993
- var HQCHART_VERSION="1.1.15291";
167060
+ var HQCHART_VERSION="1.1.15298";
166994
167061
 
166995
167062
  function PrintHQChartVersion()
166996
167063
  {