hqchart 1.1.13409 → 1.1.13436

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.
@@ -55,6 +55,15 @@ HQData.NetworkFilter=function(data, callback)
55
55
  HQData.RequestLatestData(data,callback);
56
56
  break;
57
57
 
58
+
59
+ case "KLineChartContainer::RequestOverlayHistoryData": //叠加股票
60
+ HQData.RequestOverlayHistoryData(data, callback);
61
+ break;
62
+
63
+ case "KLineChartContainer::RequestOverlayHistoryMinuteData":
64
+ HQData.RequestOverlayHistoryMinuteData(data, callback);
65
+ break;
66
+
58
67
 
59
68
 
60
69
 
@@ -376,3 +385,28 @@ HQData.RequestLatestData=function(data,callback)
376
385
 
377
386
  callback(hqchartData);
378
387
  }
388
+
389
+ HQData.RequestOverlayHistoryData=function(data, callback)
390
+ {
391
+ data.PreventDefault=true;
392
+ var symbol=data.Request.Data.symbol;
393
+ var hqchartData={ symbol: symbol,name: symbol };
394
+ if (symbol=="399001.sz")
395
+ hqchartData.data=KLINE_DAY_OVERLAY_DATA2.data
396
+ else
397
+ hqchartData.data=KLINE_DAY_OVERLAY_DATA.data
398
+
399
+ callback(hqchartData);
400
+ }
401
+
402
+ HQData.RequestOverlayHistoryMinuteData=function(data, callback)
403
+ {
404
+ data.PreventDefault=true;
405
+ var symbol=data.Request.Data.symbol;
406
+ var hqchartData={ symbol: symbol,name: symbol };
407
+ hqchartData.data=KLINE_MINUTE_DATA2.data;
408
+
409
+ callback(hqchartData);
410
+ }
411
+
412
+
@@ -125,6 +125,8 @@ function JSIndexScript()
125
125
  ["ICHIMOKU",this.ICHIMOKU],["CDP-STD", this.CDP_STD],["TBP-STD",this.TBP_STD],
126
126
  ["ADX", this.ADX],
127
127
 
128
+ ["持仓量", this.VOL_POSITION], //成交量+持仓量
129
+
128
130
  //通达信特色指标
129
131
  ["散户线", this.ShareholderCount],["NXTS", this.NXTS],["FKX", this.FKX],["两融资金", this.Margin4],
130
132
  ["ZSDB",this.ZSDB],
@@ -3363,6 +3365,20 @@ JSIndexScript.prototype.CJL = function ()
3363
3365
  return data;
3364
3366
  }
3365
3367
 
3368
+ JSIndexScript.prototype.VOL_POSITION=function()
3369
+ {
3370
+ let data =
3371
+ {
3372
+ Name: '持仓量', Description: '持仓量', IsMainIndex: false,
3373
+ Args: [],
3374
+ Script: //脚本
3375
+ "成交量:VOL,VOLSTICK;\n\
3376
+ 持仓量:VOLINSTK,SINGLELINE;"
3377
+ };
3378
+
3379
+ return data;
3380
+ }
3381
+
3366
3382
  JSIndexScript.prototype.ASI = function ()
3367
3383
  {
3368
3384
  let data =
@@ -6488,7 +6504,7 @@ var JSCHART_EVENT_ID=
6488
6504
 
6489
6505
 
6490
6506
  ON_CHANGE_INDEX:150, //切换指标
6491
- ON_MENU_COMMAND:151, //菜单时间回调
6507
+ ON_MENU_COMMAND:151, //菜单事件回调
6492
6508
  ON_CREATE_RIGHT_MENU:152, //创建右键菜单
6493
6509
 
6494
6510
  ON_FORMAT_CALL_AUCTION_INDEX_TITLE:153, //集合竞价指标窗口标题内容
@@ -24664,6 +24680,7 @@ function ChartData()
24664
24680
  var yClose=this.Data[index].YClose;
24665
24681
 
24666
24682
  result[index]=HistoryData.Copy(this.Data[index]);
24683
+ result[index].RightSeed=seed;
24667
24684
 
24668
24685
  for(--index; index>=0; --index)
24669
24686
  {
@@ -24694,6 +24711,7 @@ function ChartData()
24694
24711
  var seed=1;
24695
24712
  var close=this.Data[index].Close;
24696
24713
  result[index]=HistoryData.Copy(this.Data[index]);
24714
+ result[index].RightSeed=seed;
24697
24715
 
24698
24716
  for(++index;index<this.Data.length;++index)
24699
24717
  {
@@ -35023,6 +35041,86 @@ function ChartOverlayLine()
35023
35041
  }
35024
35042
  }
35025
35043
 
35044
+ //独立线段
35045
+ function ChartSingleLine()
35046
+ {
35047
+ this.newMethod=ChartLine; //派生
35048
+ this.newMethod();
35049
+ delete this.newMethod;
35050
+
35051
+ this.ClassName='ChartSingleLine'; //类名
35052
+ this.MaxMin=null; //当前的显示范围
35053
+
35054
+ this.Draw=function()
35055
+ {
35056
+ this.MaxMin=null;
35057
+ if (!this.IsShow || this.ChartFrame.IsMinSize || !this.IsVisible) return;
35058
+ if (this.IsShowIndexTitleOnly()) return;
35059
+ if (this.IsHideScriptIndex()) return;
35060
+
35061
+ if (!this.Data || !this.Data.Data) return;
35062
+
35063
+ this.MaxMin=this.GetCurrentMaxMin();
35064
+ if (!this.MaxMin) return;
35065
+ if (!IFrameSplitOperator.IsNumber(this.MaxMin.Max) || !IFrameSplitOperator.IsNumber(this.MaxMin.Min)) return;
35066
+
35067
+ switch(this.DrawType)
35068
+ {
35069
+
35070
+ default:
35071
+ return this.DrawStraightLine();
35072
+ }
35073
+ }
35074
+
35075
+ //获取当前页的最大最小值
35076
+ this.GetCurrentMaxMin=function()
35077
+ {
35078
+ var xPointCount=this.ChartFrame.XPointCount;
35079
+ var range={ Max:null, Min:null };
35080
+
35081
+ for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j)
35082
+ {
35083
+ var value=this.Data.Data[i];
35084
+ if (!IFrameSplitOperator.IsNumber(value)) continue;
35085
+
35086
+ if (range.Max==null) range.Max=value;
35087
+ if (range.Min==null) range.Min=value;
35088
+
35089
+ if (range.Max<value) range.Max=value;
35090
+ if (range.Min>value) range.Min=value;
35091
+ }
35092
+
35093
+ return range;
35094
+ }
35095
+
35096
+ this.GetMaxMin=function()
35097
+ {
35098
+ return { Max:null, Min:null };
35099
+ }
35100
+
35101
+ this.GetYFromData=function(value)
35102
+ {
35103
+ var bHScreen = (this.ChartFrame.IsHScreen === true);
35104
+
35105
+ if (bHScreen)
35106
+ {
35107
+ if (value <= this.MaxMin.Min) return this.ChartBorder.GetLeftEx();
35108
+ if (value >= this.MaxMin.Max) return this.ChartBorder.GetRightEx();
35109
+
35110
+ var width = this.ChartBorder.GetWidthEx() * (value - this.MaxMin.Min) / (this.MaxMin.Max - this.MaxMin.Min);
35111
+ return this.ChartBorder.GetLeftEx() + width;
35112
+ }
35113
+ else
35114
+ {
35115
+ if(value<=this.MaxMin.Min) return this.ChartBorder.GetBottomEx();
35116
+ if(value>=this.MaxMin.Max) return this.ChartBorder.GetTopEx();
35117
+
35118
+ var height=this.ChartBorder.GetHeightEx()*(value-this.MaxMin.Min)/(this.MaxMin.Max-this.MaxMin.Min);
35119
+ return this.ChartBorder.GetBottomEx()-height;
35120
+ }
35121
+ }
35122
+ }
35123
+
35026
35124
  //彩色线段
35027
35125
  function ChartPartLine()
35028
35126
  {
@@ -37943,8 +38041,8 @@ function ChartMinutePriceLine()
37943
38041
  if (isHScreen===true) chartright=this.ChartBorder.GetBottom();
37944
38042
  var xPointCount=this.ChartFrame.XPointCount;
37945
38043
  var minuteCount=this.ChartFrame.MinuteCount;
37946
- var bottom=this.ChartBorder.GetBottomEx();
37947
- var left=this.ChartBorder.GetLeftEx();
38044
+ var bottom=this.ChartBorder.GetBottom();
38045
+ var left=this.ChartBorder.GetLeft();
37948
38046
  var data=this.Data;
37949
38047
 
37950
38048
  this.DrawBeforeOpen(); //盘前
@@ -113838,6 +113936,7 @@ function JSExecute(ast,option)
113838
113936
  let isExData=false;
113839
113937
  let isDotLine=false;
113840
113938
  let isOverlayLine=false; //叠加线
113939
+ let isSingleLine=false; //独立线段
113841
113940
  var isNoneName=false;
113842
113941
  var isShowTitle=true;
113843
113942
  //显示在位置之上,对于DRAWTEXT和DRAWNUMBER等函数有用,放在语句的最后面(不能与LINETHICK等函数共用),比如:
@@ -113894,9 +113993,11 @@ function JSExecute(ast,option)
113894
113993
  else if (value==="DRAWCENTER") isDrawCenter=true;
113895
113994
  else if (value=="DRAWBELOW") isDrawBelow=true;
113896
113995
  else if (value=="STEPLINE") stepLine=true;
113996
+ else if (value=="SINGLELINE") isSingleLine=true;
113897
113997
  else if (value.indexOf('COLOR')==0) color=value;
113898
113998
  else if (value.indexOf("RGBX")==0 && value.length==10) color=value; //RGBX+“RRGGBB”
113899
113999
  else if (value.indexOf('LINETHICK')==0) lineWidth=value;
114000
+
113900
114001
 
113901
114002
  else if (value=="ALIGN0") drawAlign=0;
113902
114003
  else if (value=="ALIGN1") drawAlign=1;
@@ -114145,6 +114246,7 @@ function JSExecute(ast,option)
114145
114246
  if (isExData==true) value.IsExData = true;
114146
114247
  if (isDotLine==true) value.IsDotLine=true;
114147
114248
  if (isOverlayLine==true) value.IsOverlayLine=true;
114249
+ if (isSingleLine==true) value.IsSingleLine=true;
114148
114250
  if (isNoneName==true) value.NoneName=true;
114149
114251
  if (isShowTitle==false) value.IsShowTitle=false;
114150
114252
  if (stepLine==true) value.Type=7;
@@ -114180,6 +114282,7 @@ function JSExecute(ast,option)
114180
114282
  if (isExData==true) value.IsExData = true;
114181
114283
  if (isDotLine==true) value.IsDotLine=true;
114182
114284
  if (isOverlayLine==true) value.IsOverlayLine=true;
114285
+ if (isSingleLine==true) value.IsSingleLine=true;
114183
114286
  if (isShowTitle==false) value.IsShowTitle=false;
114184
114287
  if (stepLine==true) value.Type=7;
114185
114288
  this.OutVarTable.push(value);
@@ -117007,6 +117110,54 @@ function ScriptIndex(name,script,args,option)
117007
117110
  hqChart.ChartPaint.push(line);
117008
117111
  }
117009
117112
 
117113
+ this.CreateSingleLine=function(hqChart,windowIndex,varItem,id,lineType)
117114
+ {
117115
+ var line=new ChartSingleLine();
117116
+ line.Canvas=hqChart.Canvas;
117117
+ line.DrawType=1;
117118
+ line.Name=varItem.Name;
117119
+ line.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;
117120
+ line.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;
117121
+ line.Identify=this.Guid;
117122
+ if (varItem.Color) line.Color=this.GetColor(varItem.Color);
117123
+ else line.Color=this.GetDefaultColor(id);
117124
+
117125
+ if (varItem.LineWidth)
117126
+ {
117127
+ let width=parseInt(varItem.LineWidth.replace("LINETHICK",""));
117128
+ if (!isNaN(width) && width>0) line.LineWidth=width;
117129
+ }
117130
+
117131
+ if (varItem.IsDotLine) line.IsDotLine=true; //虚线
117132
+ if (varItem.IsShow==false) line.IsShow=false;
117133
+
117134
+ let titleIndex=windowIndex+1;
117135
+ line.Data.Data=varItem.Data;
117136
+
117137
+ this.ReloadChartResource(hqChart,windowIndex,line);
117138
+
117139
+ if (varItem.IsShowTitle===false) //NOTEXT 不绘制标题
117140
+ {
117141
+
117142
+ }
117143
+ else if (IFrameSplitOperator.IsString(varItem.Name) && varItem.Name.indexOf("NOTEXT")==0) //标题中包含NOTEXT不绘制标题
117144
+ {
117145
+
117146
+ }
117147
+ else
117148
+ {
117149
+ if (varItem.NoneName)
117150
+ hqChart.TitlePaint[titleIndex].Data[id]=new DynamicTitleData(line.Data,null,line.Color);
117151
+ else
117152
+ hqChart.TitlePaint[titleIndex].Data[id]=new DynamicTitleData(line.Data,varItem.Name,line.Color);
117153
+
117154
+ this.SetTitleData(hqChart.TitlePaint[titleIndex].Data[id],line);
117155
+ }
117156
+
117157
+ this.SetChartIndexName(line);
117158
+ hqChart.ChartPaint.push(line);
117159
+ }
117160
+
117010
117161
  //创建柱子
117011
117162
  this.CreateBar=function(hqChart,windowIndex,varItem,id)
117012
117163
  {
@@ -118311,6 +118462,7 @@ function ScriptIndex(name,script,args,option)
118311
118462
  if (item.Type==0)
118312
118463
  {
118313
118464
  if (item.IsOverlayLine) this.CreateOverlayLine(hqChart,windowIndex,item,i,item.Type);
118465
+ else if (item.IsSingleLine) this.CreateSingleLine(hqChart,windowIndex,item,i,item.Type);
118314
118466
  else this.CreateLine(hqChart,windowIndex,item,i,item.Type);
118315
118467
  }
118316
118468
  else if (item.Type==1)
@@ -134033,7 +134185,7 @@ function ScrollBarBGChart()
134033
134185
 
134034
134186
 
134035
134187
 
134036
- var HQCHART_VERSION="1.1.13408";
134188
+ var HQCHART_VERSION="1.1.13435";
134037
134189
 
134038
134190
  function PrintHQChartVersion()
134039
134191
  {
@@ -134138,6 +134290,13 @@ export default {
134138
134290
 
134139
134291
  CoordinateInfo:CoordinateInfo,
134140
134292
 
134293
+ //图形基类导出
134294
+ IChartPainting:IChartPainting, //图形
134295
+ IExtendChartPainting:IExtendChartPainting, //扩展图形
134296
+ IChartTitlePainting:IChartTitlePainting, //标题类
134297
+ IChartDrawPicture:IChartDrawPicture, //画图工具
134298
+ DynamicTitleData:DynamicTitleData, //指标标题数据
134299
+
134141
134300
  //成交明细
134142
134301
  JSDealChart:JSDealChart,
134143
134302
  DEAL_COLUMN_ID:DEAL_COLUMN_ID,
@@ -134146,9 +134305,9 @@ export default {
134146
134305
  JSReportChart:JSReportChart,
134147
134306
  REPORT_COLUMN_ID:REPORT_COLUMN_ID,
134148
134307
 
134149
- //键盘精灵
134150
- JSKeyboardChart:JSKeyboardChart,
134151
- KEYBOARD_COLUMN_ID:KEYBOARD_COLUMN_ID,
134308
+ //键盘精灵
134309
+ JSKeyboardChart:JSKeyboardChart,
134310
+ KEYBOARD_COLUMN_ID:KEYBOARD_COLUMN_ID,
134152
134311
 
134153
134312
  //X轴滚动条
134154
134313
  JSScrollBarChart:JSScrollBarChart,
@@ -5,7 +5,7 @@
5
5
 
6
6
 
7
7
 
8
- var HQCHART_VERSION="1.1.13408";
8
+ var HQCHART_VERSION="1.1.13435";
9
9
 
10
10
  function PrintHQChartVersion()
11
11
  {
@@ -48730,6 +48730,15 @@ HQData.NetworkFilter=function(data, callback)
48730
48730
  HQData.RequestLatestData(data,callback);
48731
48731
  break;
48732
48732
 
48733
+
48734
+ case "KLineChartContainer::RequestOverlayHistoryData": //叠加股票
48735
+ HQData.RequestOverlayHistoryData(data, callback);
48736
+ break;
48737
+
48738
+ case "KLineChartContainer::RequestOverlayHistoryMinuteData":
48739
+ HQData.RequestOverlayHistoryMinuteData(data, callback);
48740
+ break;
48741
+
48733
48742
 
48734
48743
 
48735
48744
 
@@ -49052,6 +49061,31 @@ HQData.RequestLatestData=function(data,callback)
49052
49061
  callback(hqchartData);
49053
49062
  }
49054
49063
 
49064
+ HQData.RequestOverlayHistoryData=function(data, callback)
49065
+ {
49066
+ data.PreventDefault=true;
49067
+ var symbol=data.Request.Data.symbol;
49068
+ var hqchartData={ symbol: symbol,name: symbol };
49069
+ if (symbol=="399001.sz")
49070
+ hqchartData.data=KLINE_DAY_OVERLAY_DATA2.data
49071
+ else
49072
+ hqchartData.data=KLINE_DAY_OVERLAY_DATA.data
49073
+
49074
+ callback(hqchartData);
49075
+ }
49076
+
49077
+ HQData.RequestOverlayHistoryMinuteData=function(data, callback)
49078
+ {
49079
+ data.PreventDefault=true;
49080
+ var symbol=data.Request.Data.symbol;
49081
+ var hqchartData={ symbol: symbol,name: symbol };
49082
+ hqchartData.data=KLINE_MINUTE_DATA2.data;
49083
+
49084
+ callback(hqchartData);
49085
+ }
49086
+
49087
+
49088
+
49055
49089
 
49056
49090
  /*暴露外部用的方法*/
49057
49091
  export default
@@ -169,6 +169,8 @@ function JSIndexScript()
169
169
  ["ICHIMOKU",this.ICHIMOKU],["CDP-STD", this.CDP_STD],["TBP-STD",this.TBP_STD],
170
170
  ["ADX", this.ADX],
171
171
 
172
+ ["持仓量", this.VOL_POSITION], //成交量+持仓量
173
+
172
174
  //通达信特色指标
173
175
  ["散户线", this.ShareholderCount],["NXTS", this.NXTS],["FKX", this.FKX],["两融资金", this.Margin4],
174
176
  ["ZSDB",this.ZSDB],
@@ -3407,6 +3409,20 @@ JSIndexScript.prototype.CJL = function ()
3407
3409
  return data;
3408
3410
  }
3409
3411
 
3412
+ JSIndexScript.prototype.VOL_POSITION=function()
3413
+ {
3414
+ let data =
3415
+ {
3416
+ Name: '持仓量', Description: '持仓量', IsMainIndex: false,
3417
+ Args: [],
3418
+ Script: //脚本
3419
+ "成交量:VOL,VOLSTICK;\n\
3420
+ 持仓量:VOLINSTK,SINGLELINE;"
3421
+ };
3422
+
3423
+ return data;
3424
+ }
3425
+
3410
3426
  JSIndexScript.prototype.ASI = function ()
3411
3427
  {
3412
3428
  let data =
@@ -6532,7 +6548,7 @@ var JSCHART_EVENT_ID=
6532
6548
 
6533
6549
 
6534
6550
  ON_CHANGE_INDEX:150, //切换指标
6535
- ON_MENU_COMMAND:151, //菜单时间回调
6551
+ ON_MENU_COMMAND:151, //菜单事件回调
6536
6552
  ON_CREATE_RIGHT_MENU:152, //创建右键菜单
6537
6553
 
6538
6554
  ON_FORMAT_CALL_AUCTION_INDEX_TITLE:153, //集合竞价指标窗口标题内容
@@ -24708,6 +24724,7 @@ function ChartData()
24708
24724
  var yClose=this.Data[index].YClose;
24709
24725
 
24710
24726
  result[index]=HistoryData.Copy(this.Data[index]);
24727
+ result[index].RightSeed=seed;
24711
24728
 
24712
24729
  for(--index; index>=0; --index)
24713
24730
  {
@@ -24738,6 +24755,7 @@ function ChartData()
24738
24755
  var seed=1;
24739
24756
  var close=this.Data[index].Close;
24740
24757
  result[index]=HistoryData.Copy(this.Data[index]);
24758
+ result[index].RightSeed=seed;
24741
24759
 
24742
24760
  for(++index;index<this.Data.length;++index)
24743
24761
  {
@@ -35067,6 +35085,86 @@ function ChartOverlayLine()
35067
35085
  }
35068
35086
  }
35069
35087
 
35088
+ //独立线段
35089
+ function ChartSingleLine()
35090
+ {
35091
+ this.newMethod=ChartLine; //派生
35092
+ this.newMethod();
35093
+ delete this.newMethod;
35094
+
35095
+ this.ClassName='ChartSingleLine'; //类名
35096
+ this.MaxMin=null; //当前的显示范围
35097
+
35098
+ this.Draw=function()
35099
+ {
35100
+ this.MaxMin=null;
35101
+ if (!this.IsShow || this.ChartFrame.IsMinSize || !this.IsVisible) return;
35102
+ if (this.IsShowIndexTitleOnly()) return;
35103
+ if (this.IsHideScriptIndex()) return;
35104
+
35105
+ if (!this.Data || !this.Data.Data) return;
35106
+
35107
+ this.MaxMin=this.GetCurrentMaxMin();
35108
+ if (!this.MaxMin) return;
35109
+ if (!IFrameSplitOperator.IsNumber(this.MaxMin.Max) || !IFrameSplitOperator.IsNumber(this.MaxMin.Min)) return;
35110
+
35111
+ switch(this.DrawType)
35112
+ {
35113
+
35114
+ default:
35115
+ return this.DrawStraightLine();
35116
+ }
35117
+ }
35118
+
35119
+ //获取当前页的最大最小值
35120
+ this.GetCurrentMaxMin=function()
35121
+ {
35122
+ var xPointCount=this.ChartFrame.XPointCount;
35123
+ var range={ Max:null, Min:null };
35124
+
35125
+ for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j)
35126
+ {
35127
+ var value=this.Data.Data[i];
35128
+ if (!IFrameSplitOperator.IsNumber(value)) continue;
35129
+
35130
+ if (range.Max==null) range.Max=value;
35131
+ if (range.Min==null) range.Min=value;
35132
+
35133
+ if (range.Max<value) range.Max=value;
35134
+ if (range.Min>value) range.Min=value;
35135
+ }
35136
+
35137
+ return range;
35138
+ }
35139
+
35140
+ this.GetMaxMin=function()
35141
+ {
35142
+ return { Max:null, Min:null };
35143
+ }
35144
+
35145
+ this.GetYFromData=function(value)
35146
+ {
35147
+ var bHScreen = (this.ChartFrame.IsHScreen === true);
35148
+
35149
+ if (bHScreen)
35150
+ {
35151
+ if (value <= this.MaxMin.Min) return this.ChartBorder.GetLeftEx();
35152
+ if (value >= this.MaxMin.Max) return this.ChartBorder.GetRightEx();
35153
+
35154
+ var width = this.ChartBorder.GetWidthEx() * (value - this.MaxMin.Min) / (this.MaxMin.Max - this.MaxMin.Min);
35155
+ return this.ChartBorder.GetLeftEx() + width;
35156
+ }
35157
+ else
35158
+ {
35159
+ if(value<=this.MaxMin.Min) return this.ChartBorder.GetBottomEx();
35160
+ if(value>=this.MaxMin.Max) return this.ChartBorder.GetTopEx();
35161
+
35162
+ var height=this.ChartBorder.GetHeightEx()*(value-this.MaxMin.Min)/(this.MaxMin.Max-this.MaxMin.Min);
35163
+ return this.ChartBorder.GetBottomEx()-height;
35164
+ }
35165
+ }
35166
+ }
35167
+
35070
35168
  //彩色线段
35071
35169
  function ChartPartLine()
35072
35170
  {
@@ -37987,8 +38085,8 @@ function ChartMinutePriceLine()
37987
38085
  if (isHScreen===true) chartright=this.ChartBorder.GetBottom();
37988
38086
  var xPointCount=this.ChartFrame.XPointCount;
37989
38087
  var minuteCount=this.ChartFrame.MinuteCount;
37990
- var bottom=this.ChartBorder.GetBottomEx();
37991
- var left=this.ChartBorder.GetLeftEx();
38088
+ var bottom=this.ChartBorder.GetBottom();
38089
+ var left=this.ChartBorder.GetLeft();
37992
38090
  var data=this.Data;
37993
38091
 
37994
38092
  this.DrawBeforeOpen(); //盘前
@@ -113882,6 +113980,7 @@ function JSExecute(ast,option)
113882
113980
  let isExData=false;
113883
113981
  let isDotLine=false;
113884
113982
  let isOverlayLine=false; //叠加线
113983
+ let isSingleLine=false; //独立线段
113885
113984
  var isNoneName=false;
113886
113985
  var isShowTitle=true;
113887
113986
  //显示在位置之上,对于DRAWTEXT和DRAWNUMBER等函数有用,放在语句的最后面(不能与LINETHICK等函数共用),比如:
@@ -113938,9 +114037,11 @@ function JSExecute(ast,option)
113938
114037
  else if (value==="DRAWCENTER") isDrawCenter=true;
113939
114038
  else if (value=="DRAWBELOW") isDrawBelow=true;
113940
114039
  else if (value=="STEPLINE") stepLine=true;
114040
+ else if (value=="SINGLELINE") isSingleLine=true;
113941
114041
  else if (value.indexOf('COLOR')==0) color=value;
113942
114042
  else if (value.indexOf("RGBX")==0 && value.length==10) color=value; //RGBX+“RRGGBB”
113943
114043
  else if (value.indexOf('LINETHICK')==0) lineWidth=value;
114044
+
113944
114045
 
113945
114046
  else if (value=="ALIGN0") drawAlign=0;
113946
114047
  else if (value=="ALIGN1") drawAlign=1;
@@ -114189,6 +114290,7 @@ function JSExecute(ast,option)
114189
114290
  if (isExData==true) value.IsExData = true;
114190
114291
  if (isDotLine==true) value.IsDotLine=true;
114191
114292
  if (isOverlayLine==true) value.IsOverlayLine=true;
114293
+ if (isSingleLine==true) value.IsSingleLine=true;
114192
114294
  if (isNoneName==true) value.NoneName=true;
114193
114295
  if (isShowTitle==false) value.IsShowTitle=false;
114194
114296
  if (stepLine==true) value.Type=7;
@@ -114224,6 +114326,7 @@ function JSExecute(ast,option)
114224
114326
  if (isExData==true) value.IsExData = true;
114225
114327
  if (isDotLine==true) value.IsDotLine=true;
114226
114328
  if (isOverlayLine==true) value.IsOverlayLine=true;
114329
+ if (isSingleLine==true) value.IsSingleLine=true;
114227
114330
  if (isShowTitle==false) value.IsShowTitle=false;
114228
114331
  if (stepLine==true) value.Type=7;
114229
114332
  this.OutVarTable.push(value);
@@ -117051,6 +117154,54 @@ function ScriptIndex(name,script,args,option)
117051
117154
  hqChart.ChartPaint.push(line);
117052
117155
  }
117053
117156
 
117157
+ this.CreateSingleLine=function(hqChart,windowIndex,varItem,id,lineType)
117158
+ {
117159
+ var line=new ChartSingleLine();
117160
+ line.Canvas=hqChart.Canvas;
117161
+ line.DrawType=1;
117162
+ line.Name=varItem.Name;
117163
+ line.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;
117164
+ line.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;
117165
+ line.Identify=this.Guid;
117166
+ if (varItem.Color) line.Color=this.GetColor(varItem.Color);
117167
+ else line.Color=this.GetDefaultColor(id);
117168
+
117169
+ if (varItem.LineWidth)
117170
+ {
117171
+ let width=parseInt(varItem.LineWidth.replace("LINETHICK",""));
117172
+ if (!isNaN(width) && width>0) line.LineWidth=width;
117173
+ }
117174
+
117175
+ if (varItem.IsDotLine) line.IsDotLine=true; //虚线
117176
+ if (varItem.IsShow==false) line.IsShow=false;
117177
+
117178
+ let titleIndex=windowIndex+1;
117179
+ line.Data.Data=varItem.Data;
117180
+
117181
+ this.ReloadChartResource(hqChart,windowIndex,line);
117182
+
117183
+ if (varItem.IsShowTitle===false) //NOTEXT 不绘制标题
117184
+ {
117185
+
117186
+ }
117187
+ else if (IFrameSplitOperator.IsString(varItem.Name) && varItem.Name.indexOf("NOTEXT")==0) //标题中包含NOTEXT不绘制标题
117188
+ {
117189
+
117190
+ }
117191
+ else
117192
+ {
117193
+ if (varItem.NoneName)
117194
+ hqChart.TitlePaint[titleIndex].Data[id]=new DynamicTitleData(line.Data,null,line.Color);
117195
+ else
117196
+ hqChart.TitlePaint[titleIndex].Data[id]=new DynamicTitleData(line.Data,varItem.Name,line.Color);
117197
+
117198
+ this.SetTitleData(hqChart.TitlePaint[titleIndex].Data[id],line);
117199
+ }
117200
+
117201
+ this.SetChartIndexName(line);
117202
+ hqChart.ChartPaint.push(line);
117203
+ }
117204
+
117054
117205
  //创建柱子
117055
117206
  this.CreateBar=function(hqChart,windowIndex,varItem,id)
117056
117207
  {
@@ -118355,6 +118506,7 @@ function ScriptIndex(name,script,args,option)
118355
118506
  if (item.Type==0)
118356
118507
  {
118357
118508
  if (item.IsOverlayLine) this.CreateOverlayLine(hqChart,windowIndex,item,i,item.Type);
118509
+ else if (item.IsSingleLine) this.CreateSingleLine(hqChart,windowIndex,item,i,item.Type);
118358
118510
  else this.CreateLine(hqChart,windowIndex,item,i,item.Type);
118359
118511
  }
118360
118512
  else if (item.Type==1)
@@ -137974,7 +138126,7 @@ function HQChartScriptWorker()
137974
138126
 
137975
138127
 
137976
138128
 
137977
- var HQCHART_VERSION="1.1.13408";
138129
+ var HQCHART_VERSION="1.1.13435";
137978
138130
 
137979
138131
  function PrintHQChartVersion()
137980
138132
  {