hqchart 1.1.15696 → 1.1.15708

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.
@@ -5314,6 +5314,7 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
5314
5314
  }
5315
5315
 
5316
5316
  chart.SetSubFrameAttribute(chart.Frame.SubFrame[index],item, null);
5317
+ chart.UpdateIndexTemporaryAttribute(i, item.AryTemporaryAttribute); //指标临时属性
5317
5318
  }
5318
5319
  }
5319
5320
 
@@ -16973,6 +16974,88 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
16973
16974
 
16974
16975
  script.RecvSubscribeData(data,this,overlayIndex.WindowIndex,kData);
16975
16976
  }
16977
+
16978
+ this.UpdateIndexTemporaryAttribute=function(windowIndex, aryAttribute)
16979
+ {
16980
+ if (windowIndex<0) return;
16981
+ if (!IFrameSplitOperator.IsNonEmptyArray(aryAttribute)) return;
16982
+ if (!this.Frame || !IFrameSplitOperator.IsNonEmptyArray(this.Frame.SubFrame)) return;
16983
+ var mainFrame=this.Frame.SubFrame[windowIndex].Frame;
16984
+
16985
+ this.IndexTemporaryAttribute[windowIndex]=[];
16986
+ var aryTemporaryAttribute=this.IndexTemporaryAttribute[windowIndex];
16987
+
16988
+ for(var i=0;i<aryAttribute.length;++i)
16989
+ {
16990
+ var item=aryAttribute[i];
16991
+ if (item.Name==JSCHART_TEMPORARY_ATTRIBUTE.MAINFRAME.BOTTOMSPACE)
16992
+ {
16993
+ var backup=mainFrame.ChartBorder.BottomSpace;
16994
+ mainFrame.ChartBorder.BottomSpace=item.Value;
16995
+ aryTemporaryAttribute.push({ Name:item.Name, Value:item.Value, BackupValue:backup });
16996
+ }
16997
+ else if (item.Name==JSCHART_TEMPORARY_ATTRIBUTE.MAINFRAME.TOPSPACE)
16998
+ {
16999
+ var backup=mainFrame.ChartBorder.TopSpace;
17000
+ mainFrame.ChartBorder.TopSpace=item.Value;
17001
+ aryTemporaryAttribute.push({ Name:item.Name, Value:item.Value, BackupValue:backup });
17002
+ }
17003
+ else if (item.Name==JSCHART_TEMPORARY_ATTRIBUTE.MAINFRAME.SHOWLEFTTEXT)
17004
+ {
17005
+ var backup=mainFrame.YSplitOperator.IsShowLeftText;
17006
+ mainFrame.YSplitOperator.IsShowLeftText=item.Value;
17007
+ aryTemporaryAttribute.push({ Name:item.Name, Value:item.Value, BackupValue:backup });
17008
+ }
17009
+ else if (item.Name==JSCHART_TEMPORARY_ATTRIBUTE.MAINFRAME.SHOWRIGHTTEXT)
17010
+ {
17011
+ var backup=mainFrame.YSplitOperator.IsShowRightText;
17012
+ mainFrame.YSplitOperator.IsShowRightText=item.Value;
17013
+ aryTemporaryAttribute.push({ Name:item.Name, Value:item.Value, BackupValue:backup });
17014
+ }
17015
+ else if (item.Name==JSCHART_TEMPORARY_ATTRIBUTE.MAINFRAME.SPLITTYPE)
17016
+ {
17017
+ var backup=mainFrame.YSplitOperator.SplitType;
17018
+ mainFrame.YSplitOperator.SplitType=item.Value;
17019
+ aryTemporaryAttribute.push({ Name:item.Name, Value:item.Value, BackupValue:backup });
17020
+ }
17021
+
17022
+ }
17023
+ }
17024
+
17025
+ this.RestoreIndexTemporaryAttribute=function(windowIndex)
17026
+ {
17027
+ if (windowIndex<0) return;
17028
+ if (!this.Frame || !IFrameSplitOperator.IsNonEmptyArray(this.Frame.SubFrame)) return;
17029
+ var aryTemporaryAttribute=this.IndexTemporaryAttribute[windowIndex];
17030
+ if (!IFrameSplitOperator.IsNonEmptyArray(aryTemporaryAttribute)) return;
17031
+ var mainFrame=this.Frame.SubFrame[windowIndex].Frame;
17032
+
17033
+ for(var i=0;i<aryTemporaryAttribute.length;++i)
17034
+ {
17035
+ var item=aryTemporaryAttribute[i];
17036
+ if (item.Name==JSCHART_TEMPORARY_ATTRIBUTE.MAINFRAME.BOTTOMSPACE)
17037
+ {
17038
+ mainFrame.ChartBorder.BottomSpace=item.BackupValue;
17039
+ }
17040
+ else if (item.Name==JSCHART_TEMPORARY_ATTRIBUTE.MAINFRAME.TOPSPACE)
17041
+ {
17042
+ mainFrame.ChartBorder.TopSpace=item.BackupValue;
17043
+ }
17044
+ else if (item.Name==JSCHART_TEMPORARY_ATTRIBUTE.MAINFRAME.SHOWLEFTTEXT)
17045
+ {
17046
+ mainFrame.YSplitOperator.IsShowLeftText=item.BackupValue;
17047
+ }
17048
+ else if (item.Name==JSCHART_TEMPORARY_ATTRIBUTE.MAINFRAME.SHOWRIGHTTEXT)
17049
+ {
17050
+ mainFrame.YSplitOperator.IsShowRightText=item.BackupValue;
17051
+ }
17052
+ else if (item.Name==JSCHART_TEMPORARY_ATTRIBUTE.MAINFRAME.SPLITTYPE)
17053
+ {
17054
+ mainFrame.YSplitOperator.SplitType=item.BackupValue;
17055
+ }
17056
+ }
17057
+
17058
+ }
16976
17059
  }
16977
17060
 
16978
17061
  function GetDevicePixelRatio()
@@ -83858,7 +83941,7 @@ function JSChartResource()
83858
83941
  {
83859
83942
  BuyColor:"rgb(242,54,69)",
83860
83943
  SellColor:"rgb(8,153,129)",
83861
- BarWidth:4*GetDevicePixelRatio(),
83944
+ BarWidth:2*GetDevicePixelRatio(),
83862
83945
  MaxBarWidth:120,
83863
83946
  YOffset:1,
83864
83947
  Font:`${12*GetDevicePixelRatio()}px 微软雅黑`,
@@ -97072,88 +97155,6 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
97072
97155
 
97073
97156
  this.Draw();
97074
97157
  }
97075
-
97076
- this.UpdateIndexTemporaryAttribute=function(windowIndex, aryAttribute)
97077
- {
97078
- if (windowIndex<0) return;
97079
- if (!IFrameSplitOperator.IsNonEmptyArray(aryAttribute)) return;
97080
- if (!this.Frame || !IFrameSplitOperator.IsNonEmptyArray(this.Frame.SubFrame)) return;
97081
- var mainFrame=this.Frame.SubFrame[windowIndex].Frame;
97082
-
97083
- this.IndexTemporaryAttribute[windowIndex]=[];
97084
- var aryTemporaryAttribute=this.IndexTemporaryAttribute[windowIndex];
97085
-
97086
- for(var i=0;i<aryAttribute.length;++i)
97087
- {
97088
- var item=aryAttribute[i];
97089
- if (item.Name==JSCHART_TEMPORARY_ATTRIBUTE.MAINFRAME.BOTTOMSPACE)
97090
- {
97091
- var backup=mainFrame.ChartBorder.BottomSpace;
97092
- mainFrame.ChartBorder.BottomSpace=item.Value;
97093
- aryTemporaryAttribute.push({ Name:item.Name, Value:item.Value, BackupValue:backup });
97094
- }
97095
- else if (item.Name==JSCHART_TEMPORARY_ATTRIBUTE.MAINFRAME.TOPSPACE)
97096
- {
97097
- var backup=mainFrame.ChartBorder.TopSpace;
97098
- mainFrame.ChartBorder.TopSpace=item.Value;
97099
- aryTemporaryAttribute.push({ Name:item.Name, Value:item.Value, BackupValue:backup });
97100
- }
97101
- else if (item.Name==JSCHART_TEMPORARY_ATTRIBUTE.MAINFRAME.SHOWLEFTTEXT)
97102
- {
97103
- var backup=mainFrame.YSplitOperator.IsShowLeftText;
97104
- mainFrame.YSplitOperator.IsShowLeftText=item.Value;
97105
- aryTemporaryAttribute.push({ Name:item.Name, Value:item.Value, BackupValue:backup });
97106
- }
97107
- else if (item.Name==JSCHART_TEMPORARY_ATTRIBUTE.MAINFRAME.SHOWRIGHTTEXT)
97108
- {
97109
- var backup=mainFrame.YSplitOperator.IsShowRightText;
97110
- mainFrame.YSplitOperator.IsShowRightText=item.Value;
97111
- aryTemporaryAttribute.push({ Name:item.Name, Value:item.Value, BackupValue:backup });
97112
- }
97113
- else if (item.Name==JSCHART_TEMPORARY_ATTRIBUTE.MAINFRAME.SPLITTYPE)
97114
- {
97115
- var backup=mainFrame.YSplitOperator.SplitType;
97116
- mainFrame.YSplitOperator.SplitType=item.Value;
97117
- aryTemporaryAttribute.push({ Name:item.Name, Value:item.Value, BackupValue:backup });
97118
- }
97119
-
97120
- }
97121
- }
97122
-
97123
- this.RestoreIndexTemporaryAttribute=function(windowIndex)
97124
- {
97125
- if (windowIndex<0) return;
97126
- if (!this.Frame || !IFrameSplitOperator.IsNonEmptyArray(this.Frame.SubFrame)) return;
97127
- var aryTemporaryAttribute=this.IndexTemporaryAttribute[windowIndex];
97128
- if (!IFrameSplitOperator.IsNonEmptyArray(aryTemporaryAttribute)) return;
97129
- var mainFrame=this.Frame.SubFrame[windowIndex].Frame;
97130
-
97131
- for(var i=0;i<aryTemporaryAttribute.length;++i)
97132
- {
97133
- var item=aryTemporaryAttribute[i];
97134
- if (item.Name==JSCHART_TEMPORARY_ATTRIBUTE.MAINFRAME.BOTTOMSPACE)
97135
- {
97136
- mainFrame.ChartBorder.BottomSpace=item.BackupValue;
97137
- }
97138
- else if (item.Name==JSCHART_TEMPORARY_ATTRIBUTE.MAINFRAME.TOPSPACE)
97139
- {
97140
- mainFrame.ChartBorder.TopSpace=item.BackupValue;
97141
- }
97142
- else if (item.Name==JSCHART_TEMPORARY_ATTRIBUTE.MAINFRAME.SHOWLEFTTEXT)
97143
- {
97144
- mainFrame.YSplitOperator.IsShowLeftText=item.BackupValue;
97145
- }
97146
- else if (item.Name==JSCHART_TEMPORARY_ATTRIBUTE.MAINFRAME.SHOWRIGHTTEXT)
97147
- {
97148
- mainFrame.YSplitOperator.IsShowRightText=item.BackupValue;
97149
- }
97150
- else if (item.Name==JSCHART_TEMPORARY_ATTRIBUTE.MAINFRAME.SPLITTYPE)
97151
- {
97152
- mainFrame.YSplitOperator.SplitType=item.BackupValue;
97153
- }
97154
- }
97155
-
97156
- }
97157
97158
  }
97158
97159
 
97159
97160
  //API 返回数据 转化为array[]
@@ -97570,7 +97571,8 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
97570
97571
  delete this.newMethod;
97571
97572
 
97572
97573
  this.ClassName='MinuteChartContainer';
97573
- this.WindowIndex=new Array();
97574
+ this.WindowIndex=[];
97575
+ this.IndexTemporaryAttribute=[]; //指标临时属性,切换指标时会清除
97574
97576
  this.Symbol;
97575
97577
  this.AryDate; //日期列表[]
97576
97578
  this.Name;
@@ -100409,8 +100411,17 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
100409
100411
  this.ChangeScriptIndex=function(windowIndex,indexData,option)
100410
100412
  {
100411
100413
  this.DeleteIndexPaint(windowIndex, true);
100414
+ this.RestoreIndexTemporaryAttribute(windowIndex); //恢复临时属性
100412
100415
  this.WindowIndex[windowIndex]=new ScriptIndex(indexData.Name,indexData.Script,indexData.Args,indexData); //脚本执行
100413
100416
 
100417
+ if (option)
100418
+ {
100419
+ if (option.AryTemporaryAttribute)
100420
+ {
100421
+ this.UpdateIndexTemporaryAttribute(windowIndex, option.AryTemporaryAttribute); //指标临时属性
100422
+ }
100423
+ }
100424
+
100414
100425
  var bindData=this.SourceData;
100415
100426
  this.BindIndexData(windowIndex,bindData); //执行脚本
100416
100427
 
@@ -100423,6 +100434,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
100423
100434
  this.ChangeAPIIndex=function(windowIndex,indexData)
100424
100435
  {
100425
100436
  this.DeleteIndexPaint(windowIndex, true);
100437
+ this.RestoreIndexTemporaryAttribute(windowIndex); //恢复临时属性
100426
100438
  //使用API挂接指标数据 API:{ Name:指标名字, Script:指标脚本可以为空, Args:参数可以为空, Url:指标执行地址 }
100427
100439
  var apiItem=indexData.API;
100428
100440
  this.WindowIndex[windowIndex]=new APIScriptIndex(apiItem.Name,apiItem.Script,apiItem.Args,indexData);
@@ -100430,6 +100442,11 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
100430
100442
  if (indexData)
100431
100443
  {
100432
100444
  if (indexData.Window) this.SetFrameToolbar(windowIndex,indexData.Window);
100445
+
100446
+ if (indexData.AryTemporaryAttribute)
100447
+ {
100448
+ this.UpdateIndexTemporaryAttribute(windowIndex, indexData.AryTemporaryAttribute); //指标临时属性
100449
+ }
100433
100450
  }
100434
100451
 
100435
100452
  this.Frame.ClearUpDonwFrameYData({ Index:windowIndex });
@@ -100563,11 +100580,12 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
100563
100580
  var bRefreshData= (dayCount!=null || symbol!=null);
100564
100581
 
100565
100582
  //清空所有的指标图型
100566
- for(var i=0;i<windows.length;++i)
100583
+ for(var i=0;i<currentLength;++i)
100567
100584
  {
100568
100585
  this.DeleteIndexPaint(i);
100569
100586
  var frame=this.Frame.SubFrame[i];
100570
100587
  if (!frame) continue;
100588
+ this.RestoreIndexTemporaryAttribute(i); //恢复临时属性
100571
100589
  frame.YSpecificMaxMin=null;
100572
100590
  frame.YSplitScale = null;
100573
100591
  }
@@ -100653,6 +100671,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
100653
100671
  }
100654
100672
 
100655
100673
  this.SetSubFrameAttribute(this.Frame.SubFrame[windowIndex], item, frameItem);
100674
+ if (item) this.UpdateIndexTemporaryAttribute(windowIndex, item.AryTemporaryAttribute); //指标临时属性
100656
100675
  }
100657
100676
 
100658
100677
  //清空叠加指标
@@ -108417,7 +108436,6 @@ function IMinuteInfo()
108417
108436
  this.RequestData=function(hqChart)
108418
108437
  {
108419
108438
  var self = this;
108420
- this.Data=[];
108421
108439
  var param=
108422
108440
  {
108423
108441
  HQChart:hqChart
@@ -108469,6 +108487,7 @@ function MarketEventInfo()
108469
108487
 
108470
108488
  this.RecvData=function(recvData,param)
108471
108489
  {
108490
+ this.Data=[];
108472
108491
  if (recvData && recvData.ver==3)
108473
108492
  {
108474
108493
  this.RecvDataV3(recvData,param);
@@ -108545,6 +108564,8 @@ function MinuteNewsInfo()
108545
108564
 
108546
108565
  this.RecvData=function(recvData,param)
108547
108566
  {
108567
+ this.Data=[];
108568
+
108548
108569
  if (!recvData || !IFrameSplitOperator.IsNonEmptyArray(recvData.list)) return;
108549
108570
 
108550
108571
  for(var i=0;i<recvData.list.length;++i)
@@ -140632,6 +140653,16 @@ function APIScriptIndex(name,script,args,option, isOverlay)
140632
140653
  outVarItem.Draw=drawItem;
140633
140654
  result.push(outVarItem);
140634
140655
  }
140656
+ else if (draw.DrawType==SCRIPT_CHART_NAME.DRAW_HORIZONTAL_CHANNEL)
140657
+ {
140658
+ drawItem.Name=draw.Name;
140659
+ drawItem.Type=draw.Type;
140660
+ drawItem.DrawType=draw.DrawType;
140661
+ drawItem.DrawData=draw.DrawData;
140662
+ drawItem.Config=draw.Config;
140663
+ outVarItem.Draw=drawItem;
140664
+ result.push(outVarItem);
140665
+ }
140635
140666
  else
140636
140667
  {
140637
140668
  var find=g_ScriptIndexChartFactory.Get(draw.DrawType); //外部挂接
@@ -141426,8 +141457,8 @@ function GetBlackStyle()
141426
141457
 
141427
141458
  BuySellBar:
141428
141459
  {
141429
- BuyColor:"rgb(102, 33, 33)",
141430
- SellColor:"rgb(20, 63, 31)",
141460
+ BuyColor:"rgb(255,0,0)",
141461
+ SellColor:"rgb(0,255,0)",
141431
141462
  Font:`${12*GetDevicePixelRatio()}px 微软雅黑`,
141432
141463
  TextColor:"rgb(220,220,220)",
141433
141464
  }
@@ -159064,7 +159095,7 @@ function ScrollBarBGChart()
159064
159095
 
159065
159096
 
159066
159097
 
159067
- var HQCHART_VERSION="1.1.15695";
159098
+ var HQCHART_VERSION="1.1.15707";
159068
159099
 
159069
159100
  function PrintHQChartVersion()
159070
159101
  {
@@ -5,7 +5,7 @@
5
5
 
6
6
 
7
7
 
8
- var HQCHART_VERSION="1.1.15695";
8
+ var HQCHART_VERSION="1.1.15707";
9
9
 
10
10
  function PrintHQChartVersion()
11
11
  {