hqchart 1.1.14064 → 1.1.14072

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.
@@ -4024,7 +4024,6 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
4024
4024
 
4025
4025
  //改参数div
4026
4026
  this.ModifyIndexDialog=new ModifyIndexDialog(divElement);
4027
- this.ChangeIndexDialog=new ChangeIndexDialog(divElement);
4028
4027
 
4029
4028
  //额外的画布
4030
4029
  this.MapExtraCanvasElement=new Map(); //key=画布名字, value={ Element:, Canvas:}
@@ -4260,7 +4259,6 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
4260
4259
 
4261
4260
  //创建改参数div
4262
4261
  chart.ModifyIndexDialog=this.ModifyIndexDialog;
4263
- chart.ChangeIndexDialog=this.ChangeIndexDialog;
4264
4262
 
4265
4263
  var pixelRatio=GetDevicePixelRatio();
4266
4264
 
@@ -4713,7 +4711,6 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
4713
4711
 
4714
4712
  //创建改参数div
4715
4713
  chart.ModifyIndexDialog=this.ModifyIndexDialog;
4716
- chart.ChangeIndexDialog=this.ChangeIndexDialog;
4717
4714
 
4718
4715
  //右键菜单
4719
4716
  if (IFrameSplitOperator.IsBool(option.IsShowRightMenu)) chart.IsShowRightMenu=option.IsShowRightMenu;
@@ -4816,7 +4813,6 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
4816
4813
  if (option.NetworkFilter) chart.NetworkFilter=option.NetworkFilter;
4817
4814
 
4818
4815
  chart.ModifyIndexDialog=this.ModifyIndexDialog;
4819
- chart.ChangeIndexDialog=this.ChangeIndexDialog;
4820
4816
 
4821
4817
  var pixelRatio=GetDevicePixelRatio();
4822
4818
 
@@ -5398,7 +5394,6 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
5398
5394
 
5399
5395
  //创建改参数div
5400
5396
  chart.ModifyIndexDialog=this.ModifyIndexDialog;
5401
- chart.ChangeIndexDialog=this.ChangeIndexDialog;
5402
5397
 
5403
5398
  if (option.ScriptError) chart.ScriptErrorCallback=option.ScriptError;
5404
5399
 
@@ -5695,9 +5690,10 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
5695
5690
  chart.InitalFloatTooltip(option.FloatTooltip);
5696
5691
 
5697
5692
  if (option.SelectRectDialog && option.SelectRectDialog.Enable)
5698
- {
5699
5693
  chart.InitalSelectRectDialog(option.SelectRectDialog);
5700
- }
5694
+
5695
+ if (option.SearchIndexDialog && option.SearchIndexDialog.Enable)
5696
+ chart.InitalSearchIndexDialog(option.SearchIndexDialog);
5701
5697
 
5702
5698
  //注册事件
5703
5699
  if (option.EventCallback)
@@ -6412,6 +6408,12 @@ JSChart.GetScrollPosition=function()
6412
6408
  return GetScrollPosition();
6413
6409
  }
6414
6410
 
6411
+ //品种小数位数
6412
+ JSChart.GetfloatPrecision=function(symbol)
6413
+ {
6414
+ return GetfloatPrecision(symbol);
6415
+ }
6416
+
6415
6417
 
6416
6418
 
6417
6419
 
@@ -7015,6 +7017,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
7015
7017
  this.DialogTooltip; //tooltip信息
7016
7018
  this.DialogSelectRect; //区间统计
7017
7019
  this.FloatTooltip; //浮动tooltip信息
7020
+ this.DialogSearchIndex; //指标搜索
7018
7021
 
7019
7022
 
7020
7023
  this.ClearStockCache=function()
@@ -7075,6 +7078,34 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
7075
7078
  this.DialogSelectRect.Create();
7076
7079
  }
7077
7080
 
7081
+ this.InitalSearchIndexDialog=function(option)
7082
+ {
7083
+ if (this.DialogSearchIndex) return;
7084
+
7085
+ this.DialogSearchIndex=new JSDialogSearchIndex();
7086
+ this.DialogSearchIndex.Inital(this, option);
7087
+ this.DialogSearchIndex.Create();
7088
+ }
7089
+
7090
+ this.ShowChangeIndexDialog=function(data)
7091
+ {
7092
+ if (!data) return;
7093
+ if (!this.DialogSearchIndex) return;
7094
+
7095
+ data.Title=`切换指标 [窗口${data.WindowIndex+1}]`;
7096
+ this.DialogSearchIndex.SetOpData(data);
7097
+ this.DialogSearchIndex.Show();
7098
+ }
7099
+
7100
+ this.ShowAddOverlayIndexDialog=function(data)
7101
+ {
7102
+ if (!data) return;
7103
+ if (!this.DialogSearchIndex) return;
7104
+
7105
+ data.Title=`添加叠加指标 [窗口${data.WindowIndex+1}]`;
7106
+ this.DialogSearchIndex.SetOpData(data);
7107
+ this.DialogSearchIndex.Show();
7108
+ }
7078
7109
 
7079
7110
 
7080
7111
  this.DrawSelectRectDialog=function()
@@ -7173,6 +7204,14 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
7173
7204
  this.FloatTooltip=null;
7174
7205
  }
7175
7206
 
7207
+ this.DestroySearchIndexDialog=function()
7208
+ {
7209
+ if (!this.DialogSearchIndex) return;
7210
+
7211
+ this.DialogSearchIndex.Destroy();
7212
+ this.DialogSearchIndex=null;
7213
+ }
7214
+
7176
7215
 
7177
7216
 
7178
7217
  //obj={ Element:, Canvas: }
@@ -7226,6 +7265,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
7226
7265
  this.StopAutoUpdate();
7227
7266
  this.DestroyTooltipDialog();
7228
7267
  this.DestroyFloatTooltip();
7268
+ this.DestroySearchIndexDialog();
7229
7269
  }
7230
7270
 
7231
7271
  this.ChartDestory=this.ChartDestroy; //老版本写错了,需要兼容下
@@ -12208,6 +12248,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
12208
12248
  if (this.DialogTooltip) this.DialogTooltip.ReloadResource(option);
12209
12249
  if (this.FloatTooltip) this.FloatTooltip.ReloadResource(option);
12210
12250
  if (this.DialogSelectRect) this.DialogSelectRect.ReloadResource(option);
12251
+ if (this.DialogSearchIndex) this.DialogSearchIndex.ReloadResource(option);
12211
12252
  }
12212
12253
 
12213
12254
  this.ReloadBorder=function(option) //根据页面缩放调整对应边框的尺长
@@ -17841,7 +17882,6 @@ function MinuteFrame()
17841
17882
  this.OverlayIndex=g_JSChartResource.MinuteToolbar.OverlayIndex; //是否显示叠加指标
17842
17883
 
17843
17884
  this.ModifyIndexEvent; //改参数 点击事件
17844
- this.ChangeIndexEvent; //换指标 点击事件
17845
17885
  this.ToolbarRect=null; //保存工具条的位置
17846
17886
  this.IsShowPositionTitle=false; //是否显示持仓标题
17847
17887
 
@@ -20271,7 +20311,6 @@ function KLineFrame()
20271
20311
  this.SelBorderColor=g_JSChartResource.SelFrameBorderColor;
20272
20312
 
20273
20313
  this.ModifyIndexEvent; //改参数 点击事件
20274
- this.ChangeIndexEvent; //换指标 点击事件
20275
20314
  this.ToolbarRect=null; //保存工具条的位置
20276
20315
  this.ReDrawToolbar=false;
20277
20316
 
@@ -73232,6 +73271,19 @@ function JSChartResource()
73232
73271
  }
73233
73272
  };
73234
73273
 
73274
+ //指标搜索
73275
+ this.DialogSearchIndex=
73276
+ {
73277
+ BGColor:'rgb(250,250,250)', //背景色
73278
+ BorderColor:'rgb(20,20,20)', //边框颜色
73279
+ TitleColor:'rgb(250,250,250)', //标题颜色
73280
+ TitleBGColor:"rgb(200, 66, 69)", //标题背景颜色
73281
+
73282
+ IndexNameColor:"rgb(0,0,0)", //数值名称
73283
+ GroupNameColor:"rgb(0,0,0)",
73284
+ InputTextColor:"rgb(0,0,0)"
73285
+ };
73286
+
73235
73287
  //弹幕
73236
73288
  this.Barrage= {
73237
73289
  Font:16*GetDevicePixelRatio() +'px 微软雅黑', //字体
@@ -74297,6 +74349,20 @@ function JSChartResource()
74297
74349
  }
74298
74350
  }
74299
74351
 
74352
+ if (style.DialogSearchIndex)
74353
+ {
74354
+ var item=style.DialogSearchIndex;
74355
+
74356
+ if (item.BGColor) this.DialogSearchIndex.BGColor=item.BGColor;
74357
+ if (item.BorderColor) this.DialogSearchIndex.BorderColor=item.BorderColor;
74358
+ if (item.TitleColor) this.DialogSearchIndex.TitleColor=item.TitleColor;
74359
+ if (item.TitleBGColor) this.DialogSearchIndex.TitleBGColor=item.TitleBGColor;
74360
+
74361
+ if (item.IndexNameColor) this.DialogSearchIndex.IndexNameColor=item.IndexNameColor;
74362
+ if (item.GroupNameColor) this.DialogSearchIndex.GroupNameColor=item.GroupNameColor;
74363
+ if (item.InputTextColor) this.DialogSearchIndex.InputTextColor=item.InputTextColor;
74364
+ }
74365
+
74300
74366
  if (style.MinuteInfo)
74301
74367
  {
74302
74368
  var item=style.MinuteInfo;
@@ -77381,7 +77447,6 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
77381
77447
  frame.GlobalOption=this.GlobalOption;
77382
77448
 
77383
77449
  if (this.ModifyIndexDialog) frame.ModifyIndexEvent=this.ModifyIndexDialog.DoModal; //绑定菜单事件
77384
- if (this.ChangeIndexDialog) frame.ChangeIndexEvent=this.ChangeIndexDialog.DoModal;
77385
77450
 
77386
77451
  frame.HorizontalMax=20;
77387
77452
  frame.HorizontalMin=10;
@@ -77466,7 +77531,6 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
77466
77531
  frame.GlobalOption=this.GlobalOption;
77467
77532
 
77468
77533
  if (this.ModifyIndexDialog) frame.ModifyIndexEvent=this.ModifyIndexDialog.DoModal; //绑定菜单事件
77469
- if (this.ChangeIndexDialog) frame.ChangeIndexEvent=this.ChangeIndexDialog.DoModal;
77470
77534
 
77471
77535
  frame.HorizontalMax=20;
77472
77536
  frame.HorizontalMin=10;
@@ -83464,9 +83528,13 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
83464
83528
  else if (button.ID==JSCHART_BUTTON_ID.CHANGE_INDEX)
83465
83529
  {
83466
83530
  var frame=button.Frame;
83531
+ var sendData={ e:e, WindowIndex:frame.Identify, OpType:1 };
83532
+ this.ShowChangeIndexDialog(sendData);
83533
+ /*
83467
83534
  e.data={ Chart:this, Identify:frame.Identify, IsOverlay:false };
83468
83535
  if (frame.ChangeIndexEvent)
83469
83536
  frame.ChangeIndexEvent(e);
83537
+ */
83470
83538
  }
83471
83539
  else if (button.ID==JSCHART_BUTTON_ID.MODIFY_INDEX_PARAM)
83472
83540
  {
@@ -83478,9 +83546,13 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
83478
83546
  else if (button.ID==JSCHART_BUTTON_ID.OVERLAY_INDEX)
83479
83547
  {
83480
83548
  var frame=button.Frame;
83549
+ var sendData={ e:e, WindowIndex:frame.Identify, OpType:2 };
83550
+ this.ShowAddOverlayIndexDialog(sendData);
83551
+ /*
83481
83552
  e.data={ Chart:this, Identify:frame.Identify, IsOverlay:true };
83482
83553
  if (frame.ChangeIndexEvent)
83483
83554
  frame.ChangeIndexEvent(e);
83555
+ */
83484
83556
  }
83485
83557
  else if (button.ID==JSCHART_BUTTON_ID.MAX_MIN_WINDOW)
83486
83558
  {
@@ -84293,9 +84365,8 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
84293
84365
  else if (button.ID==JSCHART_BUTTON_ID.CHANGE_INDEX)
84294
84366
  {
84295
84367
  var frame=button.Frame;
84296
- e.data={ Chart:this, Identify:frame.Identify, IsOverlay:false };
84297
- if (frame.ChangeIndexEvent)
84298
- frame.ChangeIndexEvent(e);
84368
+ var sendData={ e:e, WindowIndex:frame.Identify, OpType:1 };
84369
+ this.ShowChangeIndexDialog(sendData);
84299
84370
  }
84300
84371
  else if (button.ID==JSCHART_BUTTON_ID.MODIFY_INDEX_PARAM)
84301
84372
  {
@@ -84307,9 +84378,8 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
84307
84378
  else if (button.ID==JSCHART_BUTTON_ID.OVERLAY_INDEX)
84308
84379
  {
84309
84380
  var frame=button.Frame;
84310
- e.data={ Chart:this, Identify:frame.Identify, IsOverlay:true };
84311
- if (frame.ChangeIndexEvent)
84312
- frame.ChangeIndexEvent(e);
84381
+ var sendData={ e:e, WindowIndex:frame.Identify, OpType:2 };
84382
+ this.ShowAddOverlayIndexDialog(sendData);
84313
84383
  }
84314
84384
  else if (button.ID==JSCHART_BUTTON_ID.MAX_MIN_WINDOW)
84315
84385
  {
@@ -86071,7 +86141,6 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
86071
86141
  if (i>=2)
86072
86142
  {
86073
86143
  if (this.ModifyIndexDialog) frame.ModifyIndexEvent=this.ModifyIndexDialog.DoModal; //绑定菜单事件
86074
- if (this.ChangeIndexDialog) frame.ChangeIndexEvent=this.ChangeIndexDialog.DoModal;
86075
86144
  }
86076
86145
 
86077
86146
  var DEFAULT_HORIZONTAL=[9,8,7,6,5,4,3,2,1];
@@ -86163,7 +86232,6 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
86163
86232
  if (id>=2)
86164
86233
  {
86165
86234
  if (this.ModifyIndexDialog) frame.ModifyIndexEvent=this.ModifyIndexDialog.DoModal; //绑定菜单事件
86166
- if (this.ChangeIndexDialog) frame.ChangeIndexEvent=this.ChangeIndexDialog.DoModal;
86167
86235
  }
86168
86236
 
86169
86237
  var DEFAULT_HORIZONTAL=[9,8,7,6,5,4,3,2,1];
@@ -91738,7 +91806,6 @@ function KLineChartHScreenContainer(uielement)
91738
91806
  frame.RightSpaceCount=this.RightSpaceCount; //右边
91739
91807
 
91740
91808
  if (this.ModifyIndexDialog) frame.ModifyIndexEvent=this.ModifyIndexDialog.DoModal; //绑定菜单事件
91741
- if (this.ChangeIndexDialog) frame.ChangeIndexEvent=this.ChangeIndexDialog.DoModal;
91742
91809
 
91743
91810
  frame.HorizontalMax=20;
91744
91811
  frame.HorizontalMin=10;
@@ -94568,266 +94635,6 @@ function ModifyIndexDialog(divElement)
94568
94635
  }
94569
94636
  }
94570
94637
 
94571
- //换指标
94572
- function ChangeIndexDialog(divElement)
94573
- {
94574
- this.newMethod=IDivDialog; //派生
94575
- this.newMethod(divElement);
94576
- delete this.newMethod;
94577
-
94578
- this.DivElement=divElement; //父节点
94579
- //this.IndexTreeApiUrl="../commonindextree.json"; //数据下载地址
94580
- //this.OverlayIndexTreeApiUrl="../commonindextree.json"; //叠加指标列表数据下载地址
94581
- this.IsOverlayIndex=false;
94582
-
94583
- this.Create=function()
94584
- {
94585
- var div=document.createElement('div');
94586
- div.className='jchart-changeindex-box';
94587
- div.id=this.ID=Guid();
94588
- div.innerHTML=
94589
- '<div class="target-panel">\n' +
94590
- ' <div class="target-header">\n' +
94591
- ' <span>换指标</span>\n' +
94592
- ' <strong class="close-tar icon iconfont icon-close"></strong>\n' +
94593
- ' </div>\n' +
94594
- ' <div class="target-content">\n' +
94595
- ' <div class="target-left">\n' +
94596
- ' <input type="text">\n' +
94597
- ' <ul></ul>\n' +
94598
- ' </div>\n' +
94599
- ' <div class="target-right">\n' +
94600
- ' <ul></ul>\n' +
94601
- ' </div>\n' +
94602
- ' </div>\n' +
94603
- ' </div>';
94604
-
94605
- this.DivElement.appendChild(div);
94606
- }
94607
-
94608
- //指标菜单内容
94609
- this.GetMenuData=function()
94610
- {
94611
- var data={
94612
- "name":"页面通用版指标树",
94613
- "list":
94614
- [
94615
- {
94616
- "node":"超买超卖型",
94617
- "list":
94618
- [
94619
- {"name":"ADTM 动态买卖气指标", "id":"ADTM"},
94620
- {"name":"BIAS 乖离率", "id":"BIAS"},
94621
- {"name":"BIAS36 三六乖离", "id":"BIAS36"},
94622
- {"name":"BIAS_QL 乖离率-传统版", "id":"BIAS_QL"},
94623
- {"name":"CCI 商品路径指标", "id":"CCI"},
94624
- {"name":"FSL 分水岭", "id":"FSL"},
94625
- {"name":"KDJ 随机指标", "id":"KDJ"},
94626
- {"name":"MTM 动量线", "id":"MTM"},
94627
- {"name":"OSC 变动速率线", "id":"OSC"},
94628
- {"name":"RSI 相对强弱指标", "id":"RSI"},
94629
- {"name":"ROC 变动率指标", "id":"ROC"},
94630
- {"name":"WR 威廉指标", "id":"WR"}
94631
- ]
94632
- },
94633
- {
94634
- "node":"趋势型",
94635
- "list":
94636
- [
94637
- {"name":"CHO 济坚指数", "id":"CHO"},
94638
- {"name":"DMA 平均差", "id":"DMA"},
94639
- {"name":"DMI 趋向指标", "id":"DMI"},
94640
- {"name":"EMV 简易波动指标", "id":"EMV"},
94641
- {"name":"MACD 平滑异同平均", "id":"MACD"},
94642
- {"name":"TRIX 三重指数平均线", "id":"TRIX"},
94643
- {"name":"UOS 终极指标", "id":"UOS"},
94644
- {"name":"TRIX 三重指数平均线", "id":"TRIX"}
94645
- ]
94646
- },
94647
- {
94648
- "node":"成交量型",
94649
- "list":
94650
- [
94651
- {"name":"HSL 换手率", "id":"HSL"},
94652
- {"name":"OBV 累积能量线", "id":"OBV"},
94653
- {"name":"NVI 负成交量", "id":"NVI"},
94654
- {"name":"PVI 正成交量", "id":"PVI"},
94655
- {"name":"VOL 成交量", "id":"VOL"}
94656
- ]
94657
- },
94658
- {
94659
- "node":"均线型",
94660
- "list":
94661
- [
94662
- {"name":"MA 均线", "id":"均线"},
94663
- {"name":"BBI 多空线", "id":"BBI"}
94664
- ]
94665
- },
94666
- {
94667
- "node":"路径型",
94668
- "list":
94669
- [
94670
- {"name":"BOLL 布林线", "id":"BOLL"},
94671
- {"name":"BOLL副图 布林线", "id":"BOLL副图"},
94672
- {"name":"MIKE 麦克支撑压力", "id":"MIKE"},
94673
- {"name":"ENE 轨道线", "id":"ENE"}
94674
- ]
94675
- },
94676
- {
94677
- "node":"能量型",
94678
- "list":
94679
- [
94680
- {"name":"BRAR 情绪指标", "id":"BRAR"},
94681
- {"name":"CYR 市场强弱", "id":"CYR"},
94682
- {"name":"MASS 梅斯线", "id":"MASS"},
94683
- {"name":"PSY 心理线", "id":"PSY"},
94684
- {"name":"CR 带状能量线", "id":"CR"},
94685
- {"name":"VR 成交量变异率", "id":"VR"},
94686
- {"name":"WAD 威廉多空力度线", "id":"WAD"}
94687
- ]
94688
- }
94689
-
94690
- ]
94691
- };
94692
-
94693
- return data;
94694
- }
94695
-
94696
- //下载数据 如果上次下载过可以 可以不用下载
94697
- this.ReqeustData=function()
94698
- {
94699
- if($("#" + this.ID + " .target-left ul li").length>0){
94700
- return false;
94701
- }
94702
-
94703
- var res=this.GetMenuData();
94704
- var item = res.list;
94705
- changeIndexLeftList(item); //处理左侧list列表
94706
- changeIndexRightList(item); //处理右侧内容列表
94707
-
94708
- /*
94709
- var url = this.IndexTreeApiUrl;
94710
- if (this.IsOverlayIndex==true) url=this.OverlayIndexTreeApiUrl;
94711
- JSNetwork.HttpRequest({
94712
- url: url,
94713
- type: 'get',
94714
- success: function (res) {
94715
- var item = res.list;
94716
- changeIndexLeftList(item); //处理左侧list列表
94717
- changeIndexRightList(item); //处理右侧内容列表
94718
- }
94719
- });
94720
- */
94721
-
94722
- //处理左侧list列表
94723
- function changeIndexLeftList(item) {
94724
- $(".target-left ul").html('');
94725
- $.each(item,function(i,result){
94726
- var htmlList;
94727
- htmlList = '<li>' + result.node + '</li>';
94728
- $(".target-left ul").append(htmlList);
94729
- });
94730
- //默认选中第一项
94731
- $(".target-left ul li:first-child").addClass("active-list");
94732
- }
94733
- //处理右侧内容列表
94734
- function changeIndexRightList(listNum) {
94735
- var contentHtml;
94736
- var conData = [];
94737
- $.each(listNum,function(index,result){
94738
- conData.push(result.list);
94739
- })
94740
- //页面初始化时显示第一个列表分类下的内容
94741
- $.each(conData[0],function (i, res) {
94742
- contentHtml = '<li id='+res.id+'>'+ res.name +'</li>';
94743
- $(".target-right ul").append(contentHtml);
94744
- })
94745
- //切换list
94746
- $(".target-left ul").delegate("li","click",function () {
94747
- $(this).addClass("active-list").siblings().removeClass("active-list");
94748
- var item = $(this).index();
94749
- $(".target-right ul").html("");
94750
- $.each(conData[item],function (i, res) {
94751
- contentHtml = '<li id='+res.id+'>'+ res.name +'</li>';
94752
- $(".target-right ul").append(contentHtml);
94753
- })
94754
- })
94755
- }
94756
- }
94757
-
94758
- this.BindClose=function(chart)
94759
- {
94760
- //关闭按钮
94761
- $("#"+this.ID+" .close-tar").click(
94762
- {
94763
- Chart:chart,
94764
- },
94765
- function(event)
94766
- {
94767
- var chart=event.data.Chart;
94768
- chart.ChangeIndexDialog.Hide();
94769
- }
94770
- );
94771
- }
94772
-
94773
- //搜索事件
94774
- this.BindSearch=function(chart)
94775
- {
94776
- $(".target-left input").on('input',
94777
- {
94778
- Chart:chart
94779
- },
94780
- function(event)
94781
- {
94782
- let scriptData = new JSIndexScript();
94783
- let result=scriptData.Search(event.target.value);
94784
-
94785
- $(".target-right ul").html("");
94786
- for(var i in result)
94787
- {
94788
- var name=result[i];
94789
- var contentHtml = '<li id='+name+'>'+ name +'</li>';
94790
- $(".target-right ul").append(contentHtml);
94791
- }
94792
-
94793
- }
94794
- );
94795
- }
94796
-
94797
- this.DoModal=function(event)
94798
- {
94799
- var chart=event.data.Chart;
94800
- var identify=event.data.Identify;
94801
- var dialog=chart.ChangeIndexDialog;
94802
- var isOverlay=event.data.IsOverlay; //是否叠加
94803
-
94804
- if(!dialog) return;
94805
-
94806
- if (dialog.ID==null) dialog.Create(); //第1次 需要创建div
94807
- dialog.IsOverlayIndex=isOverlay;
94808
- dialog.ReqeustData(); //下载数据
94809
-
94810
- //切换窗口指标类型 每次委托事件执行之前,先用undelegate()解除之前的所有绑定
94811
- changeIndeWindow();
94812
- function changeIndeWindow()
94813
- {
94814
- $(".target-right ul").undelegate().delegate("li","click",function () {
94815
- var idv = $(this).attr("id");
94816
- if (isOverlay)
94817
- chart.AddOverlayIndex({WindowIndex:identify,IndexName:idv});
94818
- else
94819
- chart.ChangeIndex(identify,idv);
94820
- $(this).addClass("active-list").siblings().removeClass("active-list");
94821
- });
94822
- }
94823
-
94824
- dialog.BindSearch(chart);
94825
- //关闭弹窗
94826
- dialog.BindClose(chart);
94827
- dialog.Show();
94828
- }
94829
- }
94830
-
94831
94638
  //等待动画窗口
94832
94639
  function WaitDialog(divElement)
94833
94640
  {
@@ -125402,6 +125209,17 @@ function GetBlackStyle()
125402
125209
  PositionColor:"rgb(255,0,255)" //持仓
125403
125210
  },
125404
125211
 
125212
+ DialogSearchIndex:
125213
+ {
125214
+ BGColor:'rgb(20,20,20)', //背景色
125215
+ BorderColor:'rgb(170,170,170)', //边框颜色
125216
+ TitleColor:'rgb(230,230,230)', //标题颜色
125217
+
125218
+ IndexNameColor:"rgb(210,210,210)",
125219
+ GroupNameColor:"rgb(210,210,210)",
125220
+ InputTextColor:"rgb(210,210,210)",
125221
+ },
125222
+
125405
125223
  DialogPopKeyboard:
125406
125224
  {
125407
125225
  BGColor:'rgb(20,20,20)', //背景色
@@ -144951,7 +144769,7 @@ function JSDialogTooltip()
144951
144769
  if (this.TitleColor) this.TitleBox.DivName.style['color']=this.TitleColor;
144952
144770
 
144953
144771
  this.UpdateTableDOM();
144954
- },
144772
+ }
144955
144773
 
144956
144774
 
144957
144775
  /////////////////////////////////////////////////////////////////////////////////////////////
@@ -147164,6 +146982,609 @@ function JSDialogSelectRect()
147164
146982
 
147165
146983
 
147166
146984
 
146985
+
146986
+ /*
146987
+ Copyright (c) 2018 jones
146988
+
146989
+ http://www.apache.org/licenses/LICENSE-2.0
146990
+
146991
+ 开源项目 https://github.com/jones2000/HQChart
146992
+
146993
+ jones_2000@163.com
146994
+
146995
+ 内置指标搜索对话框
146996
+ */
146997
+
146998
+
146999
+ function JSDialogSearchIndex()
147000
+ {
147001
+ this.DivDialog=null;
147002
+ this.DragTitle=null;
147003
+ this.TitleBox=null; //{ DivTitle, DivName, DivName }
147004
+ this.InputDom=null;
147005
+ this.Style=0; //样式 预留
147006
+
147007
+ this.HQChart=null;
147008
+
147009
+ //{ WindowIndex:窗口索引, OpType:1=切换主图指标 2=添加叠加指标, Title: };
147010
+ this.OpData=null;
147011
+
147012
+ this.TitleColor=g_JSChartResource.DialogSearchIndex.TitleColor;
147013
+ this.TitleBGColor=g_JSChartResource.DialogSearchIndex.TitleBGColor;
147014
+ this.BGColor=g_JSChartResource.DialogSearchIndex.BGColor;
147015
+ this.BorderColor=g_JSChartResource.DialogSearchIndex.BorderColor;
147016
+ this.IndexNameColor=g_JSChartResource.DialogSearchIndex.IndexNameColor;
147017
+ this.GroupNameColor=g_JSChartResource.DialogSearchIndex.GroupNameColor;
147018
+ this.InputTextColor=g_JSChartResource.DialogSearchIndex.InputTextColor;
147019
+
147020
+ this.MaxRowCount=30; //行
147021
+ this.ColCount=3; //列
147022
+ this.MaxGroupCount=10; //分类最多个数
147023
+
147024
+ this.AryData=[];
147025
+ this.AryGroup=[]; //分类
147026
+ this.IndexData=JSDialogSearchIndex.GetDefaultIndexData();
147027
+
147028
+ this.Inital=function(hqchart, option)
147029
+ {
147030
+ this.HQChart=hqchart;
147031
+ if (option)
147032
+ {
147033
+ if (IFrameSplitOperator.IsNumber(option.Style)) this.Style=option.Style;
147034
+ if (option.IndexData) this.IndexData=option.IndexData;
147035
+ }
147036
+ }
147037
+
147038
+ this.Destroy=function()
147039
+ {
147040
+ this.AryData=[];
147041
+ this.AryGroup=[];
147042
+ this.IndexData=null;
147043
+ this.InputDom=null;
147044
+
147045
+ if (this.DivDialog)
147046
+ {
147047
+ document.body.removeChild(this.DivDialog);
147048
+ this.DivDialog=null;
147049
+ }
147050
+ }
147051
+
147052
+ this.OnClickColseButton=function(e)
147053
+ {
147054
+ this.Close(e);
147055
+ }
147056
+
147057
+ //设置当前窗口数据
147058
+ this.SetOpData=function(data)
147059
+ {
147060
+ this.OpData=data;
147061
+ }
147062
+
147063
+ this.Close=function(e)
147064
+ {
147065
+ this.OpData=null;
147066
+ if (!this.DivDialog) return;
147067
+
147068
+ this.DivDialog.style.visibility='hidden';
147069
+ }
147070
+
147071
+ this.OnMouseDownTitle=function(e)
147072
+ {
147073
+ if (!this.DivDialog) return;
147074
+
147075
+ var dragData={ X:e.clientX, Y:e.clientY };
147076
+ dragData.YOffset=e.clientX - this.DivDialog.offsetLeft;
147077
+ dragData.XOffset=e.clientY - this.DivDialog.offsetTop;
147078
+ this.DragTitle=dragData;
147079
+
147080
+ document.onmousemove=(e)=>{ this.DocOnMouseMoveTitle(e); }
147081
+ document.onmouseup=(e)=>{ this.DocOnMouseUpTitle(e); }
147082
+ }
147083
+
147084
+ this.DocOnMouseMoveTitle=function(e)
147085
+ {
147086
+ if (!this.DragTitle) return;
147087
+
147088
+ var left = e.clientX - this.DragTitle.YOffset;
147089
+ var top = e.clientY - this.DragTitle.XOffset;
147090
+
147091
+ var right=left+this.DivDialog.offsetWidth;
147092
+ var bottom=top+ this.DivDialog.offsetHeight;
147093
+
147094
+ if ((right+5)>=window.innerWidth) left=window.innerWidth-this.DivDialog.offsetWidth-5;
147095
+ if ((bottom+5)>=window.innerHeight) top=window.innerHeight-this.DivDialog.offsetHeight-5;
147096
+
147097
+ this.DivDialog.style.left = left + 'px';
147098
+ this.DivDialog.style.top = top + 'px';
147099
+
147100
+ if(e.preventDefault) e.preventDefault();
147101
+ }
147102
+
147103
+ this.DocOnMouseUpTitle=function(e)
147104
+ {
147105
+ this.DragTitle=null;
147106
+ this.onmousemove = null;
147107
+ this.onmouseup = null;
147108
+ }
147109
+
147110
+ this.Show=function(x, y, groupID)
147111
+ {
147112
+ if (!this.DivDialog) return;
147113
+
147114
+ if (!groupID) groupID=this.IndexData.Data[0].Group.ID;
147115
+
147116
+ this.UpdateGroupData();
147117
+ this.ChangeGroup(groupID);
147118
+
147119
+ if (this.OpData && this.OpData.Title) this.TitleBox.DivName.innerText=this.OpData.Title;
147120
+
147121
+ if (!IFrameSplitOperator.IsNumber(x) || !IFrameSplitOperator.IsNumber(y)) //默认居中显示
147122
+ {
147123
+ var rtClient=this.HQChart.UIElement.getBoundingClientRect();
147124
+ x=rtClient.left+(rtClient.right-rtClient.left-this.DivDialog.offsetWidth)/2;
147125
+ y=rtClient.top+(rtClient.bottom-rtClient.top-this.DivDialog.offsetHeight)/2;
147126
+ }
147127
+
147128
+ this.InputDom.value="";
147129
+
147130
+ this.DivDialog.style.visibility='visible';
147131
+ this.DivDialog.style.top = y + "px";
147132
+ this.DivDialog.style.left = x + "px";
147133
+ }
147134
+
147135
+ this.Create=function()
147136
+ {
147137
+ var divDom=document.createElement("div");
147138
+ divDom.className='UMyChart_SearchIndex_Dialog_Div';
147139
+
147140
+ //对话框标题栏
147141
+ var divTitle=document.createElement("div");
147142
+ divTitle.className='UMyChart_SearchIndex_Title_Div';
147143
+ divTitle.onmousedown=(e)=>{ this.OnMouseDownTitle(e);}
147144
+ divDom.appendChild(divTitle);
147145
+
147146
+ var divName=document.createElement("div");
147147
+ divName.className='UMyChart_SearchIndex_Name_Div';
147148
+ divName.innerText="指标搜索";
147149
+ divTitle.appendChild(divName);
147150
+
147151
+ var divClose=document.createElement("div");
147152
+ divClose.className='UMyChart_SearchIndex_Close_Div';
147153
+ divClose.innerText="x";
147154
+ divClose.onmousedown=(e)=>{ this.OnClickColseButton(e); }
147155
+ divTitle.appendChild(divClose);
147156
+
147157
+ //整个框子
147158
+ var divFrame=document.createElement("div");
147159
+ divFrame.className="UMyChart_SearchIndex_Frome_Div";
147160
+ divDom.appendChild(divFrame);
147161
+
147162
+ //搜索框
147163
+ var divInput=document.createElement("div");
147164
+ divInput.className="UMyChart_SearchIndex_Input_Div";
147165
+ divFrame.appendChild(divInput);
147166
+
147167
+ var input=document.createElement("input");
147168
+ input.className='UMyChart_SearchIndex_Input';
147169
+ input.type="text";
147170
+ input.placeholder="输入指标名称"
147171
+ input.addEventListener("input", (e)=>{this.OnInputSearch(e); })
147172
+ divInput.appendChild(input);
147173
+ this.InputDom=input;
147174
+
147175
+ //分类+指标内容
147176
+ var divContainer=document.createElement("div");
147177
+ divContainer.className="UMyChart_SearchIndex_Container_Div";
147178
+ divDom.appendChild(divContainer);
147179
+
147180
+ //分类
147181
+ var divGroup=document.createElement("div");
147182
+ divGroup.className="UMyChart_SearchIndex_GroupList_Div";
147183
+ divContainer.appendChild(divGroup);
147184
+
147185
+ for(var i=0, j=0;i<this.MaxGroupCount;++i)
147186
+ {
147187
+ var groupItem={ Div:null, Span:null };
147188
+ var divItem=document.createElement("div");
147189
+ divItem.className="UMyChart_SearchIndex_Group_Div";
147190
+ divGroup.appendChild(divItem);
147191
+ groupItem.Div=divItem;
147192
+
147193
+ var spanDom=document.createElement("span");
147194
+ spanDom.className='UMyChart_SearchIndex_Group_Span';
147195
+ spanDom.innerText='分类名称';
147196
+ divItem.appendChild(spanDom);
147197
+ groupItem.Span=spanDom;
147198
+
147199
+ spanDom.onmousedown=(e)=>{ this.OnClickGroup(e); }
147200
+
147201
+ this.AryGroup.push(groupItem);
147202
+ }
147203
+
147204
+
147205
+ //表格
147206
+ var divTable=document.createElement("div");
147207
+ divTable.className='UMyChart_SearchIndex_Table_Div';
147208
+ divContainer.appendChild(divTable);
147209
+
147210
+ var table=document.createElement("table");
147211
+ table.className="UMyChart_SearchIndex_Table";
147212
+ divTable.appendChild(table);
147213
+
147214
+ var tbody=document.createElement("tbody");
147215
+ tbody.className="UMyChart_SearchIndex_Tbody";
147216
+ table.appendChild(tbody);
147217
+
147218
+ this.AryData=[];
147219
+
147220
+ for(var i=0, j=0;i<this.MaxRowCount;++i)
147221
+ {
147222
+ var rowItem={ Tr:null, AryCell:[] };
147223
+
147224
+ var trDom=document.createElement("tr");
147225
+ trDom.className='UMyChart_SearchIndex_Group_Tr';
147226
+ tbody.appendChild(trDom);
147227
+ rowItem.Tr=trDom;
147228
+
147229
+ for(j=0; j<this.ColCount;++j)
147230
+ {
147231
+ var cellItem=this.CreateCellDOM(i,j,trDom);
147232
+ rowItem.AryCell.push(cellItem);
147233
+ }
147234
+
147235
+ this.AryData.push(rowItem);
147236
+ }
147237
+
147238
+ document.body.appendChild(divDom);
147239
+
147240
+ this.DivName=divName;
147241
+ this.DivDialog=divDom;
147242
+ this.TitleBox={ DivTitle:divTitle, DivName:divName, DivColor:divClose };
147243
+
147244
+ this.UpdateStyle();
147245
+ }
147246
+
147247
+ this.CreateCellDOM=function(rowID, colID, trDom)
147248
+ {
147249
+ var cellItem={ Td:null, Span:null, RowID:rowID, ColID:colID, IndexItem:null };
147250
+ var tdDom=document.createElement("td");
147251
+ tdDom.className="UMyChart_SearchIndex_Text_Td"; //指标名称
147252
+ trDom.appendChild(tdDom);
147253
+ cellItem.Td=tdDom;
147254
+
147255
+ var spanDom=document.createElement("span");
147256
+ spanDom.className='UMyChart_SearchIndex_Text_Span';
147257
+ spanDom.innerText='指标名称';
147258
+ spanDom.onmousedown=(e)=>{ this.OnClickIndex(e, cellItem); }
147259
+ tdDom.appendChild(spanDom);
147260
+ cellItem.Span=spanDom;
147261
+
147262
+ return cellItem;
147263
+ }
147264
+
147265
+
147266
+ this.OnClickIndex=function(e, cellItem)
147267
+ {
147268
+ if (!this.OpData) return;
147269
+ if (!cellItem || !cellItem.IndexItem) return;
147270
+
147271
+ if (this.OpData.OpType==1)
147272
+ {
147273
+ if (!IFrameSplitOperator.IsNumber(this.OpData.WindowIndex)) return;
147274
+ var indexItem=cellItem.IndexItem;
147275
+ if (indexItem.Type==0) //系统指标
147276
+ {
147277
+ this.HQChart.ChangeIndex(this.OpData.WindowIndex, indexItem.ID );
147278
+ }
147279
+ else if (indexItem.Type==1) //自定义通达性
147280
+ {
147281
+
147282
+ }
147283
+ else if (indexItem.Type==2) //api指标
147284
+ {
147285
+
147286
+ }
147287
+ }
147288
+ else if (this.OpData.OpType==2)
147289
+ {
147290
+ if (!IFrameSplitOperator.IsNumber(this.OpData.WindowIndex)) return;
147291
+ var indexItem=cellItem.IndexItem;
147292
+
147293
+ if (indexItem.Type==0) //系统指标
147294
+ {
147295
+ var obj={ WindowIndex:this.OpData.WindowIndex, IndexName:indexItem.ID };
147296
+ this.HQChart.AddOverlayIndex(obj);
147297
+ }
147298
+ else if (indexItem.Type==1) //自定义通达性
147299
+ {
147300
+
147301
+ }
147302
+ else if (indexItem.Type==2) //api指标
147303
+ {
147304
+
147305
+ }
147306
+ }
147307
+
147308
+ }
147309
+
147310
+ this.OnClickGroup=function(e)
147311
+ {
147312
+ if (!e.target) return false;
147313
+ var groupID=e.target.dataset.groupid;
147314
+ if (!groupID) return false;
147315
+
147316
+ this.ChangeGroup(groupID);
147317
+ }
147318
+
147319
+ this.UpdateStyle=function()
147320
+ {
147321
+ if (!this.DivDialog) return;
147322
+
147323
+ if (this.BGColor) this.DivDialog.style['background-color']=this.BGColor;
147324
+ if (this.BorderColor) this.DivDialog.style['border-color']=this.BorderColor;
147325
+
147326
+ if (this.TitleBGColor) this.TitleBox.DivTitle.style['background-color']=this.TitleBGColor;
147327
+ if (this.TitleColor) this.TitleBox.DivName.style['color']=this.TitleColor;
147328
+
147329
+ if (this.InputTextColor) this.InputDom.style['color']=this.InputTextColor;
147330
+ };
147331
+
147332
+ this.ChangeGroup=function(groupID)
147333
+ {
147334
+ if (!this.IndexData) return;
147335
+ if (!IFrameSplitOperator.IsNonEmptyArray(this.IndexData.Data)) return;
147336
+
147337
+ var findItem=null;
147338
+ for(var i=0; i<this.IndexData.Data.length; ++i)
147339
+ {
147340
+ var item=this.IndexData.Data[i];
147341
+ if (item.Group.ID==groupID)
147342
+ {
147343
+ findItem=item;
147344
+ break;
147345
+ }
147346
+ }
147347
+
147348
+ if (!findItem) return;
147349
+
147350
+ this.UpdateTableData(findItem);
147351
+ }
147352
+
147353
+ //左侧分类
147354
+ this.UpdateGroupData=function()
147355
+ {
147356
+ var index=0;
147357
+ for(index=0; index<this.IndexData.Data.length && index<this.AryGroup.length; ++index)
147358
+ {
147359
+ var item=this.IndexData.Data[index];
147360
+ var cell=this.AryGroup[index];
147361
+ cell.Span.innerText=item.Group.Name;
147362
+ cell.Span.dataset.groupid=item.Group.ID;
147363
+ cell.Span.dataset.groupname=item.Group.Name;
147364
+ cell.Span.style.color=this.GroupNameColor;
147365
+
147366
+ if (cell.Div.style.display=="none") cell.Div.style.display="";
147367
+ }
147368
+
147369
+ for(; index<this.AryGroup.length; ++index)
147370
+ {
147371
+ var cell=this.AryGroup[index];
147372
+ cell.Div.style.display="none";
147373
+ }
147374
+ }
147375
+
147376
+ this.UpdateTableData=function(data)
147377
+ {
147378
+ var rowIndex=0;
147379
+ for(var j=0, index=0;rowIndex<this.AryData.length && index<data.AryIndex.length ;++rowIndex)
147380
+ {
147381
+ var row=this.AryData[rowIndex];
147382
+ var cellCount=0;
147383
+ for(j=0;j<row.AryCell.length;++j)
147384
+ {
147385
+ var cell=row.AryCell[j];
147386
+ if (index<data.AryIndex.length)
147387
+ {
147388
+ var indexItem=data.AryIndex[index];
147389
+ cell.Span.innerText=indexItem.Name;
147390
+ cell.Span.style.color=this.IndexNameColor;
147391
+ if (cell.Td.style.display=="none") cell.Td.style.display="";
147392
+ cell.IndexItem=indexItem;
147393
+ ++index;
147394
+ ++cellCount;
147395
+ }
147396
+ else
147397
+ {
147398
+ cell.Td.style.display="none";
147399
+ }
147400
+ }
147401
+
147402
+ if (cellCount>0)
147403
+ {
147404
+ if (row.Tr.style.display=="none") row.Tr.style.display="";
147405
+ }
147406
+ else
147407
+ {
147408
+ row.Tr.style.display=="none";
147409
+ }
147410
+ }
147411
+
147412
+ for(; rowIndex<this.AryData.length; ++rowIndex)
147413
+ {
147414
+ var row=this.AryData[rowIndex];
147415
+ row.Tr.style.display="none";
147416
+ }
147417
+ }
147418
+
147419
+ //搜索
147420
+ this.OnInputSearch=function(e)
147421
+ {
147422
+ var strSearh=e.target.value;
147423
+ var aryIndex=[];
147424
+
147425
+ var aryData=this.SeachIndex(strSearh);
147426
+ var setIndex=new Set();
147427
+ for(var i=0;i<aryData.length;++i)
147428
+ {
147429
+ var item=aryData[i];
147430
+ var key=`${item.ID}-${item.Type}`;
147431
+ setIndex.add(key);
147432
+ aryIndex.push(item);
147433
+ }
147434
+
147435
+ //内置指标
147436
+ var scriptData = new JSIndexScript();
147437
+ var result=scriptData.Search(strSearh);
147438
+ if (IFrameSplitOperator.IsNonEmptyArray(result))
147439
+ {
147440
+ for(var i=0;i<result.length;++i)
147441
+ {
147442
+ var id=result[i];
147443
+ var key=`${id}-0`;
147444
+ if (setIndex.has(key)) continue;
147445
+
147446
+ var item={Name:id, ID:id, Type:0 };
147447
+ aryIndex.push(item);
147448
+ }
147449
+ }
147450
+
147451
+ this.UpdateTableData({ AryIndex:aryIndex })
147452
+ }
147453
+
147454
+ this.SeachIndex=function(strSearch)
147455
+ {
147456
+ if (!this.IndexData || !IFrameSplitOperator.IsNonEmptyArray(this.IndexData.Data)) return [];
147457
+
147458
+ var aryData=[];
147459
+ var upperSearch=strSearch.toUpperCase();
147460
+ for(var i=0,j=0;i<this.IndexData.Data.length;++i)
147461
+ {
147462
+ var groupItem=this.IndexData.Data[i];
147463
+ for(j=0;j<groupItem.AryIndex.length;++j)
147464
+ {
147465
+ var item=groupItem.AryIndex[j];
147466
+ if (item.Name.indexOf(strSearch)>=0 || item.Name.indexOf(upperSearch)>=0)
147467
+ {
147468
+ aryData.push(item);
147469
+ }
147470
+ }
147471
+ }
147472
+
147473
+ return aryData;
147474
+ }
147475
+
147476
+ //配色修改
147477
+ this.ReloadResource=function(option)
147478
+ {
147479
+ this.TitleColor=g_JSChartResource.DialogSearchIndex.TitleColor;
147480
+ this.TitleBGColor=g_JSChartResource.DialogSearchIndex.TitleBGColor;
147481
+ this.BGColor=g_JSChartResource.DialogSearchIndex.BGColor;
147482
+ this.BorderColor=g_JSChartResource.DialogSearchIndex.BorderColor;
147483
+ this.IndexNameColor=g_JSChartResource.DialogSearchIndex.IndexNameColor;
147484
+ this.GroupNameColor=g_JSChartResource.DialogSearchIndex.GroupNameColor;
147485
+ this.InputTextColor=g_JSChartResource.DialogSearchIndex.InputTextColor;
147486
+
147487
+ if (!this.DivDialog) return;
147488
+
147489
+ this.UpdateStyle();
147490
+ }
147491
+
147492
+ }
147493
+
147494
+
147495
+ JSDialogSearchIndex.GetDefaultIndexData=function()
147496
+ {
147497
+ var data=
147498
+ {
147499
+ Name:"内置指标分类",
147500
+ Data:
147501
+ [
147502
+ {
147503
+ Group:{ ID:"超买超卖型", Name:"超买超卖型"} ,
147504
+ AryIndex:
147505
+ [
147506
+ {Name:"ADTM 动态买卖气指标", ID:"ADTM", Type:0 }, //Type:0=系统指标 1=自定义通达信脚本 2=api指标
147507
+ {Name:"BIAS 乖离率", ID:"BIAS", Type:0},
147508
+ {Name:"BIAS36 三六乖离", ID:"BIAS36", Type:0 },
147509
+ {Name:"BIAS_QL 乖离率-传统版", ID:"BIAS_QL", Type:0 },
147510
+ {Name:"CCI 商品路径指标",ID:"CCI", Type:0 },
147511
+ {Name:"FSL 分水岭",ID:"FSL", Type:0},
147512
+ {Name:"KDJ 随机指标",ID:"KDJ", Type:0},
147513
+ {Name:"MTM 动量线", ID:"MTM", Type:0},
147514
+ {Name:"OSC 变动速率线", ID:"OSC", Type:0},
147515
+ {Name:"RSI 相对强弱指标", ID:"RSI", Type:0},
147516
+ {Name:"ROC 变动率指标", ID:"ROC", Type:0},
147517
+ {Name:"WR 威廉指标", ID:"WR", Type:0}
147518
+ ]
147519
+ },
147520
+
147521
+ {
147522
+ Group:{ ID:"趋势型", Name:"趋势型"},
147523
+ AryIndex:
147524
+ [
147525
+ {Name:"CHO 济坚指数", ID:"CHO", Type:0 },
147526
+ {Name:"DMA 平均差", ID:"DMA", Type:0 },
147527
+ {Name:"DMI 趋向指标", ID:"DMI", Type:0 },
147528
+ {Name:"EMV 简易波动指标", ID:"EMV", Type:0 },
147529
+ {Name:"MACD 平滑异同平均", ID:"MACD", Type:0 },
147530
+ {Name:"TRIX 三重指数平均线", ID:"TRIX", Type:0 },
147531
+ {Name:"UOS 终极指标", ID:"UOS", Type:0 },
147532
+ {Name:"TRIX 三重指数平均线", ID:"TRIX", Type:0 }
147533
+ ]
147534
+ },
147535
+
147536
+ {
147537
+ Group:{ ID:"成交量型", Name:"成交量型"},
147538
+ AryIndex:
147539
+ [
147540
+ {Name:"HSL 换手率", ID:"HSL", Type:0},
147541
+ {Name:"OBV 累积能量线", ID:"OBV", Type:0},
147542
+ {Name:"NVI 负成交量", ID:"NVI", Type:0},
147543
+ {Name:"PVI 正成交量", ID:"PVI", Type:0},
147544
+ {Name:"VOL 成交量", ID:"VOL", Type:0}
147545
+ ]
147546
+ },
147547
+ {
147548
+ Group:{ ID:"均线型", Name:"均线型"} ,
147549
+ AryIndex:
147550
+ [
147551
+ {Name:"MA 均线", ID:"MA", Type:0},
147552
+ {Name:"BBI 多空线", ID:"BBI", Type:0}
147553
+ ]
147554
+ },
147555
+ {
147556
+ Group:{ ID:"路径型", Name:"路径型"} ,
147557
+ AryIndex:
147558
+ [
147559
+ {Name:"BOLL 布林线", ID:"BOLL", Type:0},
147560
+ {Name:"BOLL副图 布林线", ID:"BOLL副图", Type:0},
147561
+ {Name:"MIKE 麦克支撑压力", ID:"MIKE", Type:0},
147562
+ {Name:"ENE 轨道线", ID:"ENE", Type:0}
147563
+ ]
147564
+ },
147565
+ {
147566
+ Group:{ ID:"能量型", Name:"能量型"} ,
147567
+ AryIndex:
147568
+ [
147569
+ {Name:"BRAR 情绪指标", ID:"BRAR", Type:0},
147570
+ {Name:"CYR 市场强弱", ID:"CYR", Type:0},
147571
+ {Name:"MASS 梅斯线", ID:"MASS", Type:0},
147572
+ {Name:"PSY 心理线", ID:"PSY", Type:0},
147573
+ {Name:"CR 带状能量线", ID:"CR", Type:0},
147574
+ {Name:"VR 成交量变异率", ID:"VR", Type:0},
147575
+ {Name:"WAD 威廉多空力度线", ID:"WAD", Type:0}
147576
+ ]
147577
+ }
147578
+ ]
147579
+
147580
+ }
147581
+
147582
+ return data;
147583
+ }
147584
+
147585
+
147586
+
147587
+
147167
147588
  ///////////////////////////////////////////////////////////////////////////////////
147168
147589
  // 工作线程计算指标示例
147169
147590
  //
@@ -147285,7 +147706,7 @@ function HQChartScriptWorker()
147285
147706
 
147286
147707
 
147287
147708
 
147288
- var HQCHART_VERSION="1.1.14063";
147709
+ var HQCHART_VERSION="1.1.14071";
147289
147710
 
147290
147711
  function PrintHQChartVersion()
147291
147712
  {