hqchart 1.1.15835 → 1.1.15849

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.
@@ -1,15 +1,9 @@
1
- 'use strict';
1
+ "use strict";
2
2
 
3
3
  Object.defineProperty(exports, "__esModule", {
4
- value: true
4
+ value: true
5
5
  });
6
-
7
- var _map = require('babel-runtime/core-js/map');
8
-
9
- var _map2 = _interopRequireDefault(_map);
10
-
11
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
-
6
+ exports["default"] = void 0;
13
7
  /*
14
8
  Copyright (c) 2018 jones
15
9
 
@@ -37,142 +31,167 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
37
31
 
38
32
  //周期条件枚举
39
33
  var CONDITION_PERIOD = {
40
- MINUTE_ID: 101, //分钟 走势图
41
- MULTIDAY_MINUTE_ID: 102, //多日分钟 走势图
42
- HISTORY_MINUTE_ID: 103, //历史分钟 走势图
43
-
44
- //K线周期
45
- KLINE_DAY_ID: 0,
46
- KLINE_WEEK_ID: 1,
47
- KLINE_MONTH_ID: 2,
48
- KLINE_YEAR_ID: 3,
49
- KLINE_MINUTE_ID: 4,
50
- KLINE_5_MINUTE_ID: 5,
51
- KLINE_15_MINUTE_ID: 6,
52
- KLINE_30_MINUTE_ID: 7,
53
- KLINE_60_MINUTE_ID: 8
54
-
34
+ MINUTE_ID: 101,
35
+ //分钟 走势图
36
+ MULTIDAY_MINUTE_ID: 102,
37
+ //多日分钟 走势图
38
+ HISTORY_MINUTE_ID: 103,
39
+ //历史分钟 走势图
40
+
41
+ //K线周期
42
+ KLINE_DAY_ID: 0,
43
+ KLINE_WEEK_ID: 1,
44
+ KLINE_MONTH_ID: 2,
45
+ KLINE_YEAR_ID: 3,
46
+ KLINE_MINUTE_ID: 4,
47
+ KLINE_5_MINUTE_ID: 5,
48
+ KLINE_15_MINUTE_ID: 6,
49
+ KLINE_30_MINUTE_ID: 7,
50
+ KLINE_60_MINUTE_ID: 8
55
51
  };
56
52
 
57
53
  //自定义的指标脚本
58
54
  function CustomIndexScript() {
59
- this.DataMap = new _map2.default(); //key=指标id, value=data {ID:, Name:指标名字, Description:指标描述信息 Args:参数 ......}
60
-
61
- this.Get = function (id) {
62
- if (!this.DataMap.has(id)) return null;
63
- return this.DataMap.get(id);
64
- };
65
-
66
- this.Add = function (data) {
67
- this.DataMap.set(data.ID, data);
68
- };
55
+ this.DataMap = new Map(); //key=指标id, value=data {ID:, Name:指标名字, Description:指标描述信息 Args:参数 ......}
56
+
57
+ this.Get = function (id) {
58
+ if (!this.DataMap.has(id)) return null;
59
+ return this.DataMap.get(id);
60
+ };
61
+ this.Add = function (data) {
62
+ this.DataMap.set(data.ID, data);
63
+ };
69
64
  }
70
-
71
65
  var g_CustomIndex = new CustomIndexScript();
72
-
73
66
  function JSIndexScript() {
74
- this.DataMap = new _map2.default([['MA', this.MA], ['均线', this.MA], ['BOLL', this.BOLL], ['BOLL副图', this.BOLL2], ['BBI', this.BBI], ['DKX', this.DKX], ['MIKE', this.MIKE], ['PBX', this.PBX], ['ENE', this.ENE], ['MACD', this.MACD], ['KDJ', this.KDJ], ['VOL', this.VOL], ['RSI', this.RSI], ['BRAR', this.BRAR], ['WR', this.WR], ['BIAS', this.BIAS], ['OBV', this.OBV], ['DMI', this.DMI], ['CR', this.CR], ['PSY', this.PSY], ['CCI', this.CCI], ['DMA', this.DMA], ['TRIX', this.TRIX], ['VR', this.VR], ['EMV', this.EMV], ['ROC', this.ROC], ['MTM', this.MTM], ['FSL', this.FSL], ['CYR', this.CYR], ['MASS', this.MASS], ['WAD', this.WAD], ['CHO', this.CHO], ['ADTM', this.ADTM], ['HSL', this.HSL], ['BIAS36', this.BIAS36], ['BIAS_QL', this.BIAS_QL], ['DPO', this.DPO], ['OSC', this.OSC], ['ATR', this.ATR], ['NVI', this.NVI], ['PVI', this.PVI], ['UOS', this.UOS], ['CYW', this.CYW], ['LON', this.LON], ['NDB', this.NDB], ['SKDJ', this.SKDJ], ['KD', this.KD], ['FKX', this.FKX], ['DKCOL', this.DKCOL], ['UDL', this.UDL], ['MFI', this.MFI], ['LWR', this.LWR], ['MARSI', this.MARSI], ['CYD', this.CYD], ['CYF', this.CYF], ['TAPI', this.TAPI], ['VMACD', this.VMACD], ['QACD', this.QACD], ['VPT', this.VPT], ['WVAD', this.WVAD], ['DBQR', this.DBQR], ['JS', this.JS], ['CYE', this.CYE], ['QR', this.QR], ['GDX', this.GDX], ['JLHB', this.JLHB], ['PCNT', this.PCNT], ['BTX', this.BTX], ['AMO', this.AMO], ['VRSI', this.VRSI], ['HSCOL', this.HSCOL], ['DBQRV', this.DBQRV], ['DBLB', this.DBLB], ['ACD', this.ACD], ['EXPMA', this.EXPMA], ['EXPMA_S', this.EXPMA_S], ['HMA', this.HMA], ['LMA', this.LMA], ['VMA', this.VMA], ['AMV', this.AMV], ['BBIBOLL', this.BBIBOLL], ['ALLIGAT', this.ALLIGAT], ['ZX', this.ZX], ['XS', this.XS], ['XS2', this.XS2], ['SG-XDT', this.SG_XDT], ['SG-SMX', this.SG_SMX], ['SG-LB', this.SG_LB], ['SG-PF', this.SG_PF], ['RAD', this.RAD], ['SHT', this.SHT], ['ZLJC', this.ZLJC], ['ZLMM', this.ZLMM], ['SLZT', this.SLZT], ['ADVOL', this.ADVOL], ['CYC', this.CYC], ['CYS', this.CYS], ['CYQKL', this.CYQKL], ['SCR', this.SCR], ['ASR', this.ASR], ['SAR', this.SAR], ['TJCJL', this.TJCJL], ['量比', this.VOLRate], ['平均K线', this.HeikinAshi], ['EMPTY', this.EMPTY], //什么都不显示的指标
75
-
76
- ['飞龙四式', this.Dragon4_Main], ['飞龙四式-附图', this.Dragon4_Fig], ['资金分析', this.FundsAnalysis], ['融资占比', this.MarginProportion], ['负面新闻', this.NewsNegative], ['涨跌趋势', this.UpDownAnalyze], ['北上资金', this.HK2SHSZ], ['股东人数', this.ShareHolder], ['Zealink-资金吸筹', this.Zealink_Index1], ['Zealink-牛熊区间', this.Zealink_Index2], ['Zealink-持仓信号', this.Zealink_Index3], ['Zealink-增减持', this.Zealink_Index4], ['Zealink-大宗交易', this.Zealink_Index5], ['Zealink-信托持股', this.Zealink_Index6], ['Zealink-官网新闻', this.Zealink_Index7], ['Zealink-高管要闻', this.Zealink_Index8], ['Zealink-股权质押', this.Zealink_Index9], ['Zealink-操盘BS点', this.Zealink_Index10], ['Zealink-操盘BS点2', this.Zealink_Index11],
77
-
78
- //外包指标
79
- ['放心股-操盘BS点', this.FXG_BSPoint], ['放心股-涨停多空线', this.FXG_INDEX], ['放心股-涨停吸筹区', this.FXG_INDEX2], ['放心股-量能黄金点', this.FXG_INDEX3],
80
-
81
- //五彩K线(函数COLOR_开头)
82
- ['五彩K线-十字星', this.COLOR_KSTAR1], ['五彩K线-早晨之星', this.COLOR_KSTAR2], ['五彩K线-黄昏之星', this.COLOR_KSTAR3], ['五彩K线-长十字', this.COLOR_SHI1], ['五彩K线-身怀六甲', this.COLOR_K220], ['五彩K线-三个白武士', this.COLOR_K300], ['五彩K线-三只乌鸦', this.COLOR_K310], ['五彩K线-光头阳线', this.COLOR_K380], ['五彩K线-光脚阴线', this.COLOR_K390], ['五彩K线-垂死十字', this.COLOR_K134], ['五彩K线-早晨十字星', this.COLOR_K140], ['五彩K线-黄昏十字星', this.COLOR_K150], ['五彩K线-射击之星', this.COLOR_K160], ['五彩K线-倒转锤头', this.COLOR_K165], ['五彩K线-锤头', this.COLOR_K170], ['五彩K线-吊颈', this.COLOR_K180], ['五彩K线-穿头破脚', this.COLOR_K190], ['五彩K线-出水芙蓉', this.COLOR_CSFR], ['五彩K线-乌云盖顶', this.COLOR_WYGD], ['五彩K线-曙光初现', this.COLOR_SGCJ], ['五彩K线-十字胎', this.COLOR_SZTAI], ['五彩K线-剑', this.COLOR_SWORD], ['五彩K线-平顶', this.COLOR_PINGDING], ['五彩K线-平底', this.COLOR_PINGDI], ['五彩K线-大阳烛', this.COLOR_DAYANZHU], ['五彩K线-大阴烛', this.COLOR_DAYINGZHU], ['五彩K线-好友反攻', this.COLOR_HYFG], ['五彩K线-跳空缺口', this.COLOR_TKQK], ['五彩K线-双飞乌鸦', this.COLOR_SFWY], ['五彩K线-上升三部曲', this.COLOR_SSSBQ], ['五彩K线-下跌三部曲', this.COLOR_XDSBQ], ['五彩K线-长下影', this.COLOR_CHXY], ['五彩K线-长上影', this.COLOR_CHSY], ['五彩K线-分离', this.COLOR_FENLI],
83
-
84
- //交易系统
85
- ['交易系统-BIAS', this.TRADE_BIAS], ['交易系统-CCI', this.TRADE_CCI], ['交易系统-DMI', this.TRADE_DMI], ['交易系统-KD', this.TRADE_KD], ['交易系统-BOLL', this.TRADE_BOLL], ['交易系统-KDJ', this.TRADE_KDJ], ['交易系统-MA', this.TRADE_MA], ['交易系统-MACD', this.TRADE_MACD], ['交易系统-MTM', this.TRADE_MTM], ['交易系统-PSY', this.TRADE_PSY], ['交易系统-ROC', this.TRADE_ROC], ['交易系统-RSI', this.TRADE_RSI], ['交易系统-VR', this.TRADE_VR], ['交易系统-DPSJ', this.TRADE_DPSJ], ['TEST', this.TEST] //测试用
86
- ]);
67
+ this.DataMap = new Map([['MA', this.MA], ['均线', this.MA], ['BOLL', this.BOLL], ['BOLL副图', this.BOLL2], ['BBI', this.BBI], ['DKX', this.DKX], ['MIKE', this.MIKE], ['PBX', this.PBX], ['ENE', this.ENE], ['MACD', this.MACD], ['KDJ', this.KDJ], ['VOL', this.VOL], ['RSI', this.RSI], ['BRAR', this.BRAR], ['WR', this.WR], ['BIAS', this.BIAS], ['OBV', this.OBV], ['DMI', this.DMI], ['CR', this.CR], ['PSY', this.PSY], ['CCI', this.CCI], ['DMA', this.DMA], ['TRIX', this.TRIX], ['VR', this.VR], ['EMV', this.EMV], ['ROC', this.ROC], ['MTM', this.MTM], ['FSL', this.FSL], ['CYR', this.CYR], ['MASS', this.MASS], ['WAD', this.WAD], ['CHO', this.CHO], ['ADTM', this.ADTM], ['HSL', this.HSL], ['BIAS36', this.BIAS36], ['BIAS_QL', this.BIAS_QL], ['DPO', this.DPO], ['OSC', this.OSC], ['ATR', this.ATR], ['NVI', this.NVI], ['PVI', this.PVI], ['UOS', this.UOS], ['CYW', this.CYW], ['LON', this.LON], ['NDB', this.NDB], ['SKDJ', this.SKDJ], ['KD', this.KD], ['FKX', this.FKX], ['DKCOL', this.DKCOL], ['UDL', this.UDL], ['MFI', this.MFI], ['LWR', this.LWR], ['MARSI', this.MARSI], ['CYD', this.CYD], ['CYF', this.CYF], ['TAPI', this.TAPI], ['VMACD', this.VMACD], ['QACD', this.QACD], ['VPT', this.VPT], ['WVAD', this.WVAD], ['DBQR', this.DBQR], ['JS', this.JS], ['CYE', this.CYE], ['QR', this.QR], ['GDX', this.GDX], ['JLHB', this.JLHB], ['PCNT', this.PCNT], ['BTX', this.BTX], ['AMO', this.AMO], ['VRSI', this.VRSI], ['HSCOL', this.HSCOL], ['DBQRV', this.DBQRV], ['DBLB', this.DBLB], ['ACD', this.ACD], ['EXPMA', this.EXPMA], ['EXPMA_S', this.EXPMA_S], ['HMA', this.HMA], ['LMA', this.LMA], ['VMA', this.VMA], ['AMV', this.AMV], ['BBIBOLL', this.BBIBOLL], ['ALLIGAT', this.ALLIGAT], ['ZX', this.ZX], ['XS', this.XS], ['XS2', this.XS2], ['SG-XDT', this.SG_XDT], ['SG-SMX', this.SG_SMX], ['SG-LB', this.SG_LB], ['SG-PF', this.SG_PF], ['RAD', this.RAD], ['SHT', this.SHT], ['ZLJC', this.ZLJC], ['ZLMM', this.ZLMM], ['SLZT', this.SLZT], ['ADVOL', this.ADVOL], ['CYC', this.CYC], ['CYS', this.CYS], ['CYQKL', this.CYQKL], ['SCR', this.SCR], ['ASR', this.ASR], ['SAR', this.SAR], ['TJCJL', this.TJCJL], ['量比', this.VOLRate], ['平均K线', this.HeikinAshi], ['EMPTY', this.EMPTY],
68
+ //什么都不显示的指标
69
+
70
+ ['飞龙四式', this.Dragon4_Main], ['飞龙四式-附图', this.Dragon4_Fig], ['资金分析', this.FundsAnalysis], ['融资占比', this.MarginProportion], ['负面新闻', this.NewsNegative], ['涨跌趋势', this.UpDownAnalyze], ['北上资金', this.HK2SHSZ], ['股东人数', this.ShareHolder], ['Zealink-资金吸筹', this.Zealink_Index1], ['Zealink-牛熊区间', this.Zealink_Index2], ['Zealink-持仓信号', this.Zealink_Index3], ['Zealink-增减持', this.Zealink_Index4], ['Zealink-大宗交易', this.Zealink_Index5], ['Zealink-信托持股', this.Zealink_Index6], ['Zealink-官网新闻', this.Zealink_Index7], ['Zealink-高管要闻', this.Zealink_Index8], ['Zealink-股权质押', this.Zealink_Index9], ['Zealink-操盘BS点', this.Zealink_Index10], ['Zealink-操盘BS点2', this.Zealink_Index11],
71
+ //外包指标
72
+ ['放心股-操盘BS点', this.FXG_BSPoint], ['放心股-涨停多空线', this.FXG_INDEX], ['放心股-涨停吸筹区', this.FXG_INDEX2], ['放心股-量能黄金点', this.FXG_INDEX3],
73
+ //五彩K线(函数COLOR_开头)
74
+ ['五彩K线-十字星', this.COLOR_KSTAR1], ['五彩K线-早晨之星', this.COLOR_KSTAR2], ['五彩K线-黄昏之星', this.COLOR_KSTAR3], ['五彩K线-长十字', this.COLOR_SHI1], ['五彩K线-身怀六甲', this.COLOR_K220], ['五彩K线-三个白武士', this.COLOR_K300], ['五彩K线-三只乌鸦', this.COLOR_K310], ['五彩K线-光头阳线', this.COLOR_K380], ['五彩K线-光脚阴线', this.COLOR_K390], ['五彩K线-垂死十字', this.COLOR_K134], ['五彩K线-早晨十字星', this.COLOR_K140], ['五彩K线-黄昏十字星', this.COLOR_K150], ['五彩K线-射击之星', this.COLOR_K160], ['五彩K线-倒转锤头', this.COLOR_K165], ['五彩K线-锤头', this.COLOR_K170], ['五彩K线-吊颈', this.COLOR_K180], ['五彩K线-穿头破脚', this.COLOR_K190], ['五彩K线-出水芙蓉', this.COLOR_CSFR], ['五彩K线-乌云盖顶', this.COLOR_WYGD], ['五彩K线-曙光初现', this.COLOR_SGCJ], ['五彩K线-十字胎', this.COLOR_SZTAI], ['五彩K线-剑', this.COLOR_SWORD], ['五彩K线-平顶', this.COLOR_PINGDING], ['五彩K线-平底', this.COLOR_PINGDI], ['五彩K线-大阳烛', this.COLOR_DAYANZHU], ['五彩K线-大阴烛', this.COLOR_DAYINGZHU], ['五彩K线-好友反攻', this.COLOR_HYFG], ['五彩K线-跳空缺口', this.COLOR_TKQK], ['五彩K线-双飞乌鸦', this.COLOR_SFWY], ['五彩K线-上升三部曲', this.COLOR_SSSBQ], ['五彩K线-下跌三部曲', this.COLOR_XDSBQ], ['五彩K线-长下影', this.COLOR_CHXY], ['五彩K线-长上影', this.COLOR_CHSY], ['五彩K线-分离', this.COLOR_FENLI],
75
+ //交易系统
76
+ ['交易系统-BIAS', this.TRADE_BIAS], ['交易系统-CCI', this.TRADE_CCI], ['交易系统-DMI', this.TRADE_DMI], ['交易系统-KD', this.TRADE_KD], ['交易系统-BOLL', this.TRADE_BOLL], ['交易系统-KDJ', this.TRADE_KDJ], ['交易系统-MA', this.TRADE_MA], ['交易系统-MACD', this.TRADE_MACD], ['交易系统-MTM', this.TRADE_MTM], ['交易系统-PSY', this.TRADE_PSY], ['交易系统-ROC', this.TRADE_ROC], ['交易系统-RSI', this.TRADE_RSI], ['交易系统-VR', this.TRADE_VR], ['交易系统-DPSJ', this.TRADE_DPSJ], ['TEST', this.TEST] //测试用
77
+ ]);
87
78
  }
88
-
89
- JSIndexScript.AddIndex = function (aryIndex) //添加自定义指标
79
+ JSIndexScript.AddIndex = function (aryIndex)
80
+ //添加自定义指标
90
81
  {
91
- for (var i in aryIndex) {
92
- g_CustomIndex.Add(aryIndex[i]);
93
- }
82
+ for (var i in aryIndex) {
83
+ g_CustomIndex.Add(aryIndex[i]);
84
+ }
94
85
  };
95
-
96
86
  JSIndexScript.prototype.Get = function (id) {
97
- var data = g_CustomIndex.Get(id);
98
- if (data) return data;
99
-
100
- var func = this.DataMap.get(id);
101
- if (func) return func();
102
-
103
- return null;
87
+ var data = g_CustomIndex.Get(id);
88
+ if (data) return data;
89
+ var func = this.DataMap.get(id);
90
+ if (func) return func();
91
+ return null;
104
92
  };
105
-
106
93
  JSIndexScript.prototype.Search = function (name) {
107
- var result = [];
108
- var reg = new RegExp(name, 'i');
109
- this.DataMap.forEach(function (value, key) {
110
- if (key.indexOf('交易系统-') != 0 && key.indexOf('五彩K线-') != 0 && key.search(reg) >= 0) result.push(key);
111
- });
112
-
113
- return result;
94
+ var result = [];
95
+ var reg = new RegExp(name, 'i');
96
+ this.DataMap.forEach(function (value, key) {
97
+ if (key.indexOf('交易系统-') != 0 && key.indexOf('五彩K线-') != 0 && key.search(reg) >= 0) result.push(key);
98
+ });
99
+ return result;
114
100
  };
115
-
116
101
  JSIndexScript.prototype.MA = function () {
117
- var data = {
118
- Name: 'MA', Description: '均线', IsMainIndex: true,
119
- Args: [{ Name: 'M1', Value: 5 }, { Name: 'M2', Value: 10 }, { Name: 'M3', Value: 20 }],
120
- Script: //脚本
121
- 'MA1:MA(CLOSE,M1);\n\
102
+ var data = {
103
+ Name: 'MA',
104
+ Description: '均线',
105
+ IsMainIndex: true,
106
+ Args: [{
107
+ Name: 'M1',
108
+ Value: 5
109
+ }, {
110
+ Name: 'M2',
111
+ Value: 10
112
+ }, {
113
+ Name: 'M3',
114
+ Value: 20
115
+ }],
116
+ Script:
117
+ //脚本
118
+ 'MA1:MA(CLOSE,M1);\n\
122
119
  MA2:MA(CLOSE,M2);\n\
123
120
  MA3:MA(CLOSE,M3);'
124
-
125
- };
126
-
127
- return data;
121
+ };
122
+ return data;
128
123
  };
129
-
130
124
  JSIndexScript.prototype.BOLL = function () {
131
- var data = {
132
- Name: 'BOLL', Description: '布林线', IsMainIndex: true,
133
- Args: [{ Name: 'M', Value: 20 }],
134
- Script: //脚本
135
- 'BOLL:MA(CLOSE,M);\n\
125
+ var data = {
126
+ Name: 'BOLL',
127
+ Description: '布林线',
128
+ IsMainIndex: true,
129
+ Args: [{
130
+ Name: 'M',
131
+ Value: 20
132
+ }],
133
+ Script:
134
+ //脚本
135
+ 'BOLL:MA(CLOSE,M);\n\
136
136
  UB:BOLL+2*STD(CLOSE,M);\n\
137
137
  LB:BOLL-2*STD(CLOSE,M);'
138
-
139
- };
140
-
141
- return data;
138
+ };
139
+ return data;
142
140
  };
143
-
144
141
  JSIndexScript.prototype.BOLL2 = function () {
145
- var data = {
146
- Name: 'BOLL2', Description: '布林线', IsMainIndex: false, KLineType: 0,
147
- Args: [{ Name: 'M', Value: 20 }],
148
- Script: //脚本
149
- 'BOLL:MA(CLOSE,M);\n\
142
+ var data = {
143
+ Name: 'BOLL2',
144
+ Description: '布林线',
145
+ IsMainIndex: false,
146
+ KLineType: 0,
147
+ Args: [{
148
+ Name: 'M',
149
+ Value: 20
150
+ }],
151
+ Script:
152
+ //脚本
153
+ 'BOLL:MA(CLOSE,M);\n\
150
154
  UB:BOLL+2*STD(CLOSE,M);\n\
151
155
  LB:BOLL-2*STD(CLOSE,M);'
152
-
153
- };
154
-
155
- return data;
156
+ };
157
+ return data;
156
158
  };
157
-
158
159
  JSIndexScript.prototype.BBI = function () {
159
- var data = {
160
- Name: 'BBI', Description: '多空均线', IsMainIndex: true,
161
- Args: [{ Name: 'M1', Value: 3 }, { Name: 'M2', Value: 6 }, { Name: 'M3', Value: 12 }, { Name: 'M4', Value: 24 }],
162
- Script: //脚本
163
- 'BBI:(MA(CLOSE,M1)+MA(CLOSE,M2)+MA(CLOSE,M3)+MA(CLOSE,M4))/4;'
164
-
165
- };
166
-
167
- return data;
160
+ var data = {
161
+ Name: 'BBI',
162
+ Description: '多空均线',
163
+ IsMainIndex: true,
164
+ Args: [{
165
+ Name: 'M1',
166
+ Value: 3
167
+ }, {
168
+ Name: 'M2',
169
+ Value: 6
170
+ }, {
171
+ Name: 'M3',
172
+ Value: 12
173
+ }, {
174
+ Name: 'M4',
175
+ Value: 24
176
+ }],
177
+ Script:
178
+ //脚本
179
+ 'BBI:(MA(CLOSE,M1)+MA(CLOSE,M2)+MA(CLOSE,M3)+MA(CLOSE,M4))/4;'
180
+ };
181
+ return data;
168
182
  };
169
-
170
183
  JSIndexScript.prototype.DKX = function () {
171
- var data = {
172
- Name: 'DKX', Description: '多空线', IsMainIndex: false,
173
- Args: [{ Name: 'M', Value: 10 }],
174
- Script: //脚本
175
- 'MID:=(3*CLOSE+LOW+OPEN+HIGH)/6;\n\
184
+ var data = {
185
+ Name: 'DKX',
186
+ Description: '多空线',
187
+ IsMainIndex: false,
188
+ Args: [{
189
+ Name: 'M',
190
+ Value: 10
191
+ }],
192
+ Script:
193
+ //脚本
194
+ 'MID:=(3*CLOSE+LOW+OPEN+HIGH)/6;\n\
176
195
  DKX:(20*MID+19*REF(MID,1)+18*REF(MID,2)+17*REF(MID,3)+\n\
177
196
  16*REF(MID,4)+15*REF(MID,5)+14*REF(MID,6)+\n\
178
197
  13*REF(MID,7)+12*REF(MID,8)+11*REF(MID,9)+\n\
@@ -180,18 +199,21 @@ DKX:(20*MID+19*REF(MID,1)+18*REF(MID,2)+17*REF(MID,3)+\n\
180
199
  7*REF(MID,13)+6*REF(MID,14)+5*REF(MID,15)+\n\
181
200
  4*REF(MID,16)+3*REF(MID,17)+2*REF(MID,18)+REF(MID,20))/210;\n\
182
201
  MADKX:MA(DKX,M);'
183
-
184
- };
185
-
186
- return data;
202
+ };
203
+ return data;
187
204
  };
188
-
189
205
  JSIndexScript.prototype.MIKE = function () {
190
- var data = {
191
- Name: 'MIKE', Description: '麦克支撑压力', IsMainIndex: true,
192
- Args: [{ Name: 'N', Value: 10 }],
193
- Script: //脚本
194
- 'HLC:=REF(MA((HIGH+LOW+CLOSE)/3,N),1);\n\
206
+ var data = {
207
+ Name: 'MIKE',
208
+ Description: '麦克支撑压力',
209
+ IsMainIndex: true,
210
+ Args: [{
211
+ Name: 'N',
212
+ Value: 10
213
+ }],
214
+ Script:
215
+ //脚本
216
+ 'HLC:=REF(MA((HIGH+LOW+CLOSE)/3,N),1);\n\
195
217
  HV:=EMA(HHV(HIGH,N),3);\n\
196
218
  LV:=EMA(LLV(LOW,N),3);\n\
197
219
  STOR:EMA(2*HV-LV,3);\n\
@@ -200,161 +222,249 @@ WEKR:EMA(HLC*2-LV,3);\n\
200
222
  WEKS:EMA(HLC*2-HV,3);\n\
201
223
  MIDS:EMA(HLC-HV+LV,3);\n\
202
224
  STOS:EMA(2*LV-HV,3);'
203
-
204
- };
205
-
206
- return data;
225
+ };
226
+ return data;
207
227
  };
208
-
209
228
  JSIndexScript.prototype.PBX = function () {
210
- var data = {
211
- Name: 'PBX', Description: '瀑布线', IsMainIndex: true,
212
- Args: [{ Name: 'M1', Value: 4 }, { Name: 'M2', Value: 6 }, { Name: 'M3', Value: 9 }, { Name: 'M4', Value: 13 }, { Name: 'M5', Value: 18 }, { Name: 'M6', Value: 24 }],
213
- Script: //脚本
214
- 'PBX1:(EMA(CLOSE,M1)+MA(CLOSE,M1*2)+MA(CLOSE,M1*4))/3;\n\
229
+ var data = {
230
+ Name: 'PBX',
231
+ Description: '瀑布线',
232
+ IsMainIndex: true,
233
+ Args: [{
234
+ Name: 'M1',
235
+ Value: 4
236
+ }, {
237
+ Name: 'M2',
238
+ Value: 6
239
+ }, {
240
+ Name: 'M3',
241
+ Value: 9
242
+ }, {
243
+ Name: 'M4',
244
+ Value: 13
245
+ }, {
246
+ Name: 'M5',
247
+ Value: 18
248
+ }, {
249
+ Name: 'M6',
250
+ Value: 24
251
+ }],
252
+ Script:
253
+ //脚本
254
+ 'PBX1:(EMA(CLOSE,M1)+MA(CLOSE,M1*2)+MA(CLOSE,M1*4))/3;\n\
215
255
  PBX2:(EMA(CLOSE,M2)+MA(CLOSE,M2*2)+MA(CLOSE,M2*4))/3;\n\
216
256
  PBX3:(EMA(CLOSE,M3)+MA(CLOSE,M3*2)+MA(CLOSE,M3*4))/3;\n\
217
257
  PBX4:(EMA(CLOSE,M4)+MA(CLOSE,M4*2)+MA(CLOSE,M4*4))/3;\n\
218
258
  PBX5:(EMA(CLOSE,M5)+MA(CLOSE,M5*2)+MA(CLOSE,M5*4))/3;\n\
219
259
  PBX6:(EMA(CLOSE,M6)+MA(CLOSE,M6*2)+MA(CLOSE,M6*4))/3;'
220
-
221
- };
222
-
223
- return data;
260
+ };
261
+ return data;
224
262
  };
225
-
226
263
  JSIndexScript.prototype.ENE = function () {
227
- var data = {
228
- Name: 'ENE', Description: '轨道线', IsMainIndex: true,
229
- Args: [{ Name: 'N', Value: 25 }, { Name: 'M1', Value: 6 }, { Name: 'M2', Value: 6 }],
230
- Script: //脚本
231
- 'UPPER:(1+M1/100)*MA(CLOSE,N);\n\
264
+ var data = {
265
+ Name: 'ENE',
266
+ Description: '轨道线',
267
+ IsMainIndex: true,
268
+ Args: [{
269
+ Name: 'N',
270
+ Value: 25
271
+ }, {
272
+ Name: 'M1',
273
+ Value: 6
274
+ }, {
275
+ Name: 'M2',
276
+ Value: 6
277
+ }],
278
+ Script:
279
+ //脚本
280
+ 'UPPER:(1+M1/100)*MA(CLOSE,N);\n\
232
281
  LOWER:(1-M2/100)*MA(CLOSE,N);\n\
233
282
  ENE:(UPPER+LOWER)/2;'
234
-
235
- };
236
-
237
- return data;
283
+ };
284
+ return data;
238
285
  };
239
-
240
286
  JSIndexScript.prototype.MACD = function () {
241
- var data = {
242
- Name: 'MACD', Description: '平滑异同平均', IsMainIndex: false,
243
- Args: [{ Name: 'SHORT', Value: 12 }, { Name: 'LONG', Value: 26 }, { Name: 'MID', Value: 9 }],
244
- Script: //脚本
245
- 'DIF:EMA(CLOSE,SHORT)-EMA(CLOSE,LONG);\n\
287
+ var data = {
288
+ Name: 'MACD',
289
+ Description: '平滑异同平均',
290
+ IsMainIndex: false,
291
+ Args: [{
292
+ Name: 'SHORT',
293
+ Value: 12
294
+ }, {
295
+ Name: 'LONG',
296
+ Value: 26
297
+ }, {
298
+ Name: 'MID',
299
+ Value: 9
300
+ }],
301
+ Script:
302
+ //脚本
303
+ 'DIF:EMA(CLOSE,SHORT)-EMA(CLOSE,LONG);\n\
246
304
  DEA:EMA(DIF,MID);\n\
247
305
  MACD:(DIF-DEA)*2,COLORSTICK;'
248
-
249
- };
250
-
251
- return data;
306
+ };
307
+ return data;
252
308
  };
253
-
254
309
  JSIndexScript.prototype.KDJ = function () {
255
- var data = {
256
- Name: 'KDJ', Description: '随机指标', IsMainIndex: false,
257
- Args: [{ Name: 'N', Value: 9 }, { Name: 'M1', Value: 3 }, { Name: 'M2', Value: 3 }],
258
- Script: //脚本
259
- 'RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;\n\
310
+ var data = {
311
+ Name: 'KDJ',
312
+ Description: '随机指标',
313
+ IsMainIndex: false,
314
+ Args: [{
315
+ Name: 'N',
316
+ Value: 9
317
+ }, {
318
+ Name: 'M1',
319
+ Value: 3
320
+ }, {
321
+ Name: 'M2',
322
+ Value: 3
323
+ }],
324
+ Script:
325
+ //脚本
326
+ 'RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;\n\
260
327
  K:SMA(RSV,M1,1);\n\
261
328
  D:SMA(K,M2,1);\n\
262
329
  J:3*K-2*D;'
263
-
264
- };
265
-
266
- return data;
330
+ };
331
+ return data;
267
332
  };
268
-
269
333
  JSIndexScript.prototype.VOL = function () {
270
- var data = {
271
- Name: 'VOL', Description: '成交量', IsMainIndex: false, FloatPrecision: 0,
272
- Args: [{ Name: 'M1', Value: 5 }, { Name: 'M2', Value: 10 }],
273
- Script: //脚本
274
- 'VOL:VOL,VOLSTICK;\n\
334
+ var data = {
335
+ Name: 'VOL',
336
+ Description: '成交量',
337
+ IsMainIndex: false,
338
+ FloatPrecision: 0,
339
+ Args: [{
340
+ Name: 'M1',
341
+ Value: 5
342
+ }, {
343
+ Name: 'M2',
344
+ Value: 10
345
+ }],
346
+ Script:
347
+ //脚本
348
+ 'VOL:VOL,VOLSTICK;\n\
275
349
  MA1:MA(VOL,M1);\n\
276
350
  MA2:MA(VOL,M2);'
277
-
278
- };
279
-
280
- return data;
351
+ };
352
+ return data;
281
353
  };
282
-
283
354
  JSIndexScript.prototype.RSI = function () {
284
- var data = {
285
- Name: 'RSI', Description: '相对强弱指标', IsMainIndex: false,
286
- Args: [{ Name: 'N1', Value: 6 }, { Name: 'N2', Value: 12 }, { Name: 'N3', Value: 24 }],
287
- Script: //脚本
288
- 'LC:=REF(CLOSE,1);\n\
355
+ var data = {
356
+ Name: 'RSI',
357
+ Description: '相对强弱指标',
358
+ IsMainIndex: false,
359
+ Args: [{
360
+ Name: 'N1',
361
+ Value: 6
362
+ }, {
363
+ Name: 'N2',
364
+ Value: 12
365
+ }, {
366
+ Name: 'N3',
367
+ Value: 24
368
+ }],
369
+ Script:
370
+ //脚本
371
+ 'LC:=REF(CLOSE,1);\n\
289
372
  RSI1:SMA(MAX(CLOSE-LC,0),N1,1)/SMA(ABS(CLOSE-LC),N1,1)*100;\n\
290
373
  RSI2:SMA(MAX(CLOSE-LC,0),N2,1)/SMA(ABS(CLOSE-LC),N2,1)*100;\n\
291
374
  RSI3:SMA(MAX(CLOSE-LC,0),N3,1)/SMA(ABS(CLOSE-LC),N3,1)*100;'
292
-
293
- };
294
-
295
- return data;
375
+ };
376
+ return data;
296
377
  };
297
-
298
378
  JSIndexScript.prototype.BRAR = function () {
299
- var data = {
300
- Name: 'BRAR', Description: '情绪指标', IsMainIndex: false,
301
- Args: [{ Name: 'N', Value: 26 }],
302
- Script: //脚本
303
- 'BR:SUM(MAX(0,HIGH-REF(CLOSE,1)),N)/SUM(MAX(0,REF(CLOSE,1)-LOW),N)*100;\n\
379
+ var data = {
380
+ Name: 'BRAR',
381
+ Description: '情绪指标',
382
+ IsMainIndex: false,
383
+ Args: [{
384
+ Name: 'N',
385
+ Value: 26
386
+ }],
387
+ Script:
388
+ //脚本
389
+ 'BR:SUM(MAX(0,HIGH-REF(CLOSE,1)),N)/SUM(MAX(0,REF(CLOSE,1)-LOW),N)*100;\n\
304
390
  AR:SUM(HIGH-OPEN,N)/SUM(OPEN-LOW,N)*100;'
305
-
306
- };
307
-
308
- return data;
391
+ };
392
+ return data;
309
393
  };
310
-
311
394
  JSIndexScript.prototype.WR = function () {
312
- var data = {
313
- Name: 'WR', Description: '威廉指标', IsMainIndex: false,
314
- Args: [{ Name: 'N', Value: 10 }, { Name: 'N1', Value: 6 }],
315
- Script: //脚本
316
- 'WR1:100*(HHV(HIGH,N)-CLOSE)/(HHV(HIGH,N)-LLV(LOW,N));\n\
395
+ var data = {
396
+ Name: 'WR',
397
+ Description: '威廉指标',
398
+ IsMainIndex: false,
399
+ Args: [{
400
+ Name: 'N',
401
+ Value: 10
402
+ }, {
403
+ Name: 'N1',
404
+ Value: 6
405
+ }],
406
+ Script:
407
+ //脚本
408
+ 'WR1:100*(HHV(HIGH,N)-CLOSE)/(HHV(HIGH,N)-LLV(LOW,N));\n\
317
409
  WR2:100*(HHV(HIGH,N1)-CLOSE)/(HHV(HIGH,N1)-LLV(LOW,N1));'
318
-
319
- };
320
-
321
- return data;
410
+ };
411
+ return data;
322
412
  };
323
-
324
413
  JSIndexScript.prototype.BIAS = function () {
325
- var data = {
326
- Name: 'BIAS', Description: '乖离率', IsMainIndex: false,
327
- Args: [{ Name: 'N1', Value: 6 }, { Name: 'N2', Value: 12 }, { Name: 'N3', Value: 24 }],
328
- Script: //脚本
329
- 'BIAS1 :(CLOSE-MA(CLOSE,N1))/MA(CLOSE,N1)*100;\n\
414
+ var data = {
415
+ Name: 'BIAS',
416
+ Description: '乖离率',
417
+ IsMainIndex: false,
418
+ Args: [{
419
+ Name: 'N1',
420
+ Value: 6
421
+ }, {
422
+ Name: 'N2',
423
+ Value: 12
424
+ }, {
425
+ Name: 'N3',
426
+ Value: 24
427
+ }],
428
+ Script:
429
+ //脚本
430
+ 'BIAS1 :(CLOSE-MA(CLOSE,N1))/MA(CLOSE,N1)*100;\n\
330
431
  BIAS2 :(CLOSE-MA(CLOSE,N2))/MA(CLOSE,N2)*100;\n\
331
432
  BIAS3 :(CLOSE-MA(CLOSE,N3))/MA(CLOSE,N3)*100;'
332
-
333
- };
334
-
335
- return data;
433
+ };
434
+ return data;
336
435
  };
337
-
338
436
  JSIndexScript.prototype.OBV = function () {
339
- var data = {
340
- Name: 'OBV', Description: '累积能量线', IsMainIndex: false,
341
- Args: [{ Name: 'M', Value: 30 }],
342
- Script: //脚本
343
- 'VA:=IF(CLOSE>REF(CLOSE,1),VOL,-VOL);\n\
437
+ var data = {
438
+ Name: 'OBV',
439
+ Description: '累积能量线',
440
+ IsMainIndex: false,
441
+ Args: [{
442
+ Name: 'M',
443
+ Value: 30
444
+ }],
445
+ Script:
446
+ //脚本
447
+ 'VA:=IF(CLOSE>REF(CLOSE,1),VOL,-VOL);\n\
344
448
  OBV:SUM(IF(CLOSE==REF(CLOSE,1),0,VA),0);\n\
345
449
  MAOBV:MA(OBV,M);'
346
-
347
- };
348
-
349
- return data;
450
+ };
451
+ return data;
350
452
  };
351
-
352
453
  JSIndexScript.prototype.DMI = function () {
353
- var data = {
354
- Name: 'DMI', Description: '趋向指标', IsMainIndex: false,
355
- Args: [{ Name: 'N', Value: 14 }, { Name: 'MM', Value: 6 }],
356
- Script: //脚本
357
- 'MTR:=EXPMEMA(MAX(MAX(HIGH-LOW,ABS(HIGH-REF(CLOSE,1))),ABS(REF(CLOSE,1)-LOW)),N);\n\
454
+ var data = {
455
+ Name: 'DMI',
456
+ Description: '趋向指标',
457
+ IsMainIndex: false,
458
+ Args: [{
459
+ Name: 'N',
460
+ Value: 14
461
+ }, {
462
+ Name: 'MM',
463
+ Value: 6
464
+ }],
465
+ Script:
466
+ //脚本
467
+ 'MTR:=EXPMEMA(MAX(MAX(HIGH-LOW,ABS(HIGH-REF(CLOSE,1))),ABS(REF(CLOSE,1)-LOW)),N);\n\
358
468
  HD :=HIGH-REF(HIGH,1);\n\
359
469
  LD :=REF(LOW,1)-LOW;\n\
360
470
  DMP:=EXPMEMA(IF(HD>0&&HD>LD,HD,0),N);\n\
@@ -363,370 +473,514 @@ PDI: DMP*100/MTR;\n\
363
473
  MDI: DMM*100/MTR;\n\
364
474
  ADX: EXPMEMA(ABS(MDI-PDI)/(MDI+PDI)*100,MM);\n\
365
475
  ADXR:EXPMEMA(ADX,MM);'
366
-
367
- };
368
-
369
- return data;
476
+ };
477
+ return data;
370
478
  };
371
-
372
479
  JSIndexScript.prototype.CR = function () {
373
- var data = {
374
- Name: 'CR', Description: '带状能量线', IsMainIndex: false,
375
- Args: [{ Name: 'N', Value: 26 }, { Name: 'M1', Value: 10 }, { Name: 'M2', Value: 20 }, { Name: 'M3', Value: 40 }, { Name: 'M4', Value: 62 }],
376
- Script: //脚本
377
- 'MID:=REF(HIGH+LOW,1)/2;\n\
480
+ var data = {
481
+ Name: 'CR',
482
+ Description: '带状能量线',
483
+ IsMainIndex: false,
484
+ Args: [{
485
+ Name: 'N',
486
+ Value: 26
487
+ }, {
488
+ Name: 'M1',
489
+ Value: 10
490
+ }, {
491
+ Name: 'M2',
492
+ Value: 20
493
+ }, {
494
+ Name: 'M3',
495
+ Value: 40
496
+ }, {
497
+ Name: 'M4',
498
+ Value: 62
499
+ }],
500
+ Script:
501
+ //脚本
502
+ 'MID:=REF(HIGH+LOW,1)/2;\n\
378
503
  CR:SUM(MAX(0,HIGH-MID),N)/SUM(MAX(0,MID-LOW),N)*100;\n\
379
504
  MA1:REF(MA(CR,M1),M1/2.5+1);\n\
380
505
  MA2:REF(MA(CR,M2),M2/2.5+1);\n\
381
506
  MA3:REF(MA(CR,M3),M3/2.5+1);\n\
382
507
  MA4:REF(MA(CR,M4),M4/2.5+1);'
383
-
384
- };
385
-
386
- return data;
508
+ };
509
+ return data;
387
510
  };
388
-
389
511
  JSIndexScript.prototype.PSY = function () {
390
- var data = {
391
- Name: 'PSY', Description: '心理线', IsMainIndex: false,
392
- Args: [{ Name: 'N', Value: 12 }, { Name: 'M', Value: 6 }],
393
- Script: //脚本
394
- 'PSY:COUNT(CLOSE>REF(CLOSE,1),N)/N*100;\r\
512
+ var data = {
513
+ Name: 'PSY',
514
+ Description: '心理线',
515
+ IsMainIndex: false,
516
+ Args: [{
517
+ Name: 'N',
518
+ Value: 12
519
+ }, {
520
+ Name: 'M',
521
+ Value: 6
522
+ }],
523
+ Script:
524
+ //脚本
525
+ 'PSY:COUNT(CLOSE>REF(CLOSE,1),N)/N*100;\r\
395
526
  PSYMA:MA(PSY,M);'
396
-
397
- };
398
-
399
- return data;
527
+ };
528
+ return data;
400
529
  };
401
-
402
530
  JSIndexScript.prototype.CCI = function () {
403
- var data = {
404
- Name: 'CCI', Description: '商品路径指标', IsMainIndex: false,
405
- Args: [{ Name: 'N', Value: 14 }],
406
- Script: //脚本
407
- 'TYP:=(HIGH+LOW+CLOSE)/3;\n\
531
+ var data = {
532
+ Name: 'CCI',
533
+ Description: '商品路径指标',
534
+ IsMainIndex: false,
535
+ Args: [{
536
+ Name: 'N',
537
+ Value: 14
538
+ }],
539
+ Script:
540
+ //脚本
541
+ 'TYP:=(HIGH+LOW+CLOSE)/3;\n\
408
542
  CCI:(TYP-MA(TYP,N))/(0.015*AVEDEV(TYP,N));'
409
-
410
- };
411
-
412
- return data;
543
+ };
544
+ return data;
413
545
  };
414
-
415
546
  JSIndexScript.prototype.DMA = function () {
416
- var data = {
417
- Name: 'DMA', Description: '平均差', IsMainIndex: false,
418
- Args: [{ Name: 'N1', Value: 10 }, { Name: 'N2', Value: 50 }, { Name: 'M', Value: 10 }],
419
- Script: //脚本
420
- 'DIF:MA(CLOSE,N1)-MA(CLOSE,N2);\n\
547
+ var data = {
548
+ Name: 'DMA',
549
+ Description: '平均差',
550
+ IsMainIndex: false,
551
+ Args: [{
552
+ Name: 'N1',
553
+ Value: 10
554
+ }, {
555
+ Name: 'N2',
556
+ Value: 50
557
+ }, {
558
+ Name: 'M',
559
+ Value: 10
560
+ }],
561
+ Script:
562
+ //脚本
563
+ 'DIF:MA(CLOSE,N1)-MA(CLOSE,N2);\n\
421
564
  DIFMA:MA(DIF,M);'
422
-
423
- };
424
-
425
- return data;
565
+ };
566
+ return data;
426
567
  };
427
-
428
568
  JSIndexScript.prototype.TRIX = function () {
429
- var data = {
430
- Name: 'TRIX', Description: '三重指数平均线', IsMainIndex: false,
431
- Args: [{ Name: 'N', Value: 12 }, { Name: 'M', Value: 9 }],
432
- Script: //脚本
433
- 'MTR:=EMA(EMA(EMA(CLOSE,N),N),N);\n\
569
+ var data = {
570
+ Name: 'TRIX',
571
+ Description: '三重指数平均线',
572
+ IsMainIndex: false,
573
+ Args: [{
574
+ Name: 'N',
575
+ Value: 12
576
+ }, {
577
+ Name: 'M',
578
+ Value: 9
579
+ }],
580
+ Script:
581
+ //脚本
582
+ 'MTR:=EMA(EMA(EMA(CLOSE,N),N),N);\n\
434
583
  TRIX:(MTR-REF(MTR,1))/REF(MTR,1)*100;\n\
435
584
  MATRIX:MA(TRIX,M) ;'
436
-
437
- };
438
-
439
- return data;
585
+ };
586
+ return data;
440
587
  };
441
-
442
588
  JSIndexScript.prototype.VR = function () {
443
- var data = {
444
- Name: 'VR', Description: '成交量变异率', IsMainIndex: false,
445
- Args: [{ Name: 'N', Value: 26 }, { Name: 'M', Value: 6 }],
446
- Script: //脚本
447
- 'TH:=SUM(IF(CLOSE>REF(CLOSE,1),VOL,0),N);\n\
589
+ var data = {
590
+ Name: 'VR',
591
+ Description: '成交量变异率',
592
+ IsMainIndex: false,
593
+ Args: [{
594
+ Name: 'N',
595
+ Value: 26
596
+ }, {
597
+ Name: 'M',
598
+ Value: 6
599
+ }],
600
+ Script:
601
+ //脚本
602
+ 'TH:=SUM(IF(CLOSE>REF(CLOSE,1),VOL,0),N);\n\
448
603
  TL:=SUM(IF(CLOSE<REF(CLOSE,1),VOL,0),N);\n\
449
604
  TQ:=SUM(IF(CLOSE==REF(CLOSE,1),VOL,0),N);\n\
450
605
  VR:100*(TH*2+TQ)/(TL*2+TQ);\n\
451
606
  MAVR:MA(VR,M);'
452
-
453
- };
454
-
455
- return data;
607
+ };
608
+ return data;
456
609
  };
457
-
458
610
  JSIndexScript.prototype.EMV = function () {
459
- var data = {
460
- Name: 'EMV', Description: '简易波动指标', IsMainIndex: false,
461
- Args: [{ Name: 'N', Value: 14 }, { Name: 'M', Value: 9 }],
462
- Script: //脚本
463
- 'VOLUME:=MA(VOL,N)/VOL;\n\
611
+ var data = {
612
+ Name: 'EMV',
613
+ Description: '简易波动指标',
614
+ IsMainIndex: false,
615
+ Args: [{
616
+ Name: 'N',
617
+ Value: 14
618
+ }, {
619
+ Name: 'M',
620
+ Value: 9
621
+ }],
622
+ Script:
623
+ //脚本
624
+ 'VOLUME:=MA(VOL,N)/VOL;\n\
464
625
  MID:=100*(HIGH+LOW-REF(HIGH+LOW,1))/(HIGH+LOW);\n\
465
626
  EMV:MA(MID*VOLUME*(HIGH-LOW)/MA(HIGH-LOW,N),N);\n\
466
627
  MAEMV:MA(EMV,M);'
467
-
468
- };
469
-
470
- return data;
628
+ };
629
+ return data;
471
630
  };
472
-
473
631
  JSIndexScript.prototype.ROC = function () {
474
- var data = {
475
- Name: 'ROC', Description: '变动率指标', IsMainIndex: false,
476
- Args: [{ Name: 'N', Value: 12 }, { Name: 'M', Value: 6 }],
477
- Script: //脚本
478
- 'ROC:100*(CLOSE-REF(CLOSE,N))/REF(CLOSE,N);\n\
632
+ var data = {
633
+ Name: 'ROC',
634
+ Description: '变动率指标',
635
+ IsMainIndex: false,
636
+ Args: [{
637
+ Name: 'N',
638
+ Value: 12
639
+ }, {
640
+ Name: 'M',
641
+ Value: 6
642
+ }],
643
+ Script:
644
+ //脚本
645
+ 'ROC:100*(CLOSE-REF(CLOSE,N))/REF(CLOSE,N);\n\
479
646
  MAROC:MA(ROC,M);'
480
-
481
- };
482
-
483
- return data;
647
+ };
648
+ return data;
484
649
  };
485
-
486
650
  JSIndexScript.prototype.MTM = function () {
487
- var data = {
488
- Name: 'MTM', Description: '动量线', IsMainIndex: false,
489
- Args: [{ Name: 'N', Value: 12 }, { Name: 'M', Value: 6 }],
490
- Script: //脚本
491
- 'MTM:CLOSE-REF(CLOSE,N);\n\
651
+ var data = {
652
+ Name: 'MTM',
653
+ Description: '动量线',
654
+ IsMainIndex: false,
655
+ Args: [{
656
+ Name: 'N',
657
+ Value: 12
658
+ }, {
659
+ Name: 'M',
660
+ Value: 6
661
+ }],
662
+ Script:
663
+ //脚本
664
+ 'MTM:CLOSE-REF(CLOSE,N);\n\
492
665
  MAMTM:MA(MTM,M);'
493
-
494
- };
495
-
496
- return data;
666
+ };
667
+ return data;
497
668
  };
498
-
499
669
  JSIndexScript.prototype.FSL = function () {
500
- var data = {
501
- Name: 'FSL', Description: '分水岭', IsMainIndex: false,
502
- Args: [],
503
- Script: //脚本
504
- 'SWL:(EMA(CLOSE,5)*7+EMA(CLOSE,10)*3)/10;\n\
670
+ var data = {
671
+ Name: 'FSL',
672
+ Description: '分水岭',
673
+ IsMainIndex: false,
674
+ Args: [],
675
+ Script:
676
+ //脚本
677
+ 'SWL:(EMA(CLOSE,5)*7+EMA(CLOSE,10)*3)/10;\n\
505
678
  SWS:DMA(EMA(CLOSE,12),MAX(1,100*(SUM(VOL,5)/(3*CAPITAL))));'
506
-
507
- };
508
-
509
- return data;
679
+ };
680
+ return data;
510
681
  };
511
-
512
682
  JSIndexScript.prototype.CYR = function () {
513
- var data = {
514
- Name: 'CYR', Description: '市场强弱', IsMainIndex: false,
515
- Args: [{ Name: 'N', Value: 13 }, { Name: 'M', Value: 5 }],
516
- Script: //脚本
517
- 'DIVE:=0.01*EMA(AMOUNT,N)/EMA(VOL,N);\n\
683
+ var data = {
684
+ Name: 'CYR',
685
+ Description: '市场强弱',
686
+ IsMainIndex: false,
687
+ Args: [{
688
+ Name: 'N',
689
+ Value: 13
690
+ }, {
691
+ Name: 'M',
692
+ Value: 5
693
+ }],
694
+ Script:
695
+ //脚本
696
+ 'DIVE:=0.01*EMA(AMOUNT,N)/EMA(VOL,N);\n\
518
697
  CYR:(DIVE/REF(DIVE,1)-1)*100;\n\
519
698
  MACYR:MA(CYR,M);'
520
-
521
- };
522
-
523
- return data;
699
+ };
700
+ return data;
524
701
  };
525
-
526
702
  JSIndexScript.prototype.MASS = function () {
527
- var data = {
528
- Name: 'MASS', Description: '市场强弱', IsMainIndex: false,
529
- Args: [{ Name: 'N1', Value: 9 }, { Name: 'N2', Value: 25 }, { Name: 'M', Value: 6 }],
530
- Script: //脚本
531
- 'MASS:SUM(MA(HIGH-LOW,N1)/MA(MA(HIGH-LOW,N1),N1),N2);\n\
703
+ var data = {
704
+ Name: 'MASS',
705
+ Description: '市场强弱',
706
+ IsMainIndex: false,
707
+ Args: [{
708
+ Name: 'N1',
709
+ Value: 9
710
+ }, {
711
+ Name: 'N2',
712
+ Value: 25
713
+ }, {
714
+ Name: 'M',
715
+ Value: 6
716
+ }],
717
+ Script:
718
+ //脚本
719
+ 'MASS:SUM(MA(HIGH-LOW,N1)/MA(MA(HIGH-LOW,N1),N1),N2);\n\
532
720
  MAMASS:MA(MASS,M);'
533
-
534
- };
535
-
536
- return data;
721
+ };
722
+ return data;
537
723
  };
538
-
539
724
  JSIndexScript.prototype.WAD = function () {
540
- var data = {
541
- Name: 'WAD', Description: '威廉多空力度线', IsMainIndex: false,
542
- Args: [{ Name: 'M', Value: 30 }],
543
- Script: //脚本
544
- 'MIDA:=CLOSE-MIN(REF(CLOSE,1),LOW);\n\
725
+ var data = {
726
+ Name: 'WAD',
727
+ Description: '威廉多空力度线',
728
+ IsMainIndex: false,
729
+ Args: [{
730
+ Name: 'M',
731
+ Value: 30
732
+ }],
733
+ Script:
734
+ //脚本
735
+ 'MIDA:=CLOSE-MIN(REF(CLOSE,1),LOW);\n\
545
736
  MIDB:=IF(CLOSE<REF(CLOSE,1),CLOSE-MAX(REF(CLOSE,1),HIGH),0);\n\
546
737
  WAD:SUM(IF(CLOSE>REF(CLOSE,1),MIDA,MIDB),0);\n\
547
738
  MAWAD:MA(WAD,M);'
548
-
549
- };
550
-
551
- return data;
739
+ };
740
+ return data;
552
741
  };
553
-
554
742
  JSIndexScript.prototype.CHO = function () {
555
- var data = {
556
- Name: 'CHO', Description: '佳庆指标', IsMainIndex: false,
557
- Args: [{ Name: 'N1', Value: 10 }, { Name: 'N2', Value: 20 }, { Name: 'M', Value: 6 }],
558
- Script: //脚本
559
- 'MID:=SUM(VOL*(2*CLOSE-HIGH-LOW)/(HIGH+LOW),0);\n\
743
+ var data = {
744
+ Name: 'CHO',
745
+ Description: '佳庆指标',
746
+ IsMainIndex: false,
747
+ Args: [{
748
+ Name: 'N1',
749
+ Value: 10
750
+ }, {
751
+ Name: 'N2',
752
+ Value: 20
753
+ }, {
754
+ Name: 'M',
755
+ Value: 6
756
+ }],
757
+ Script:
758
+ //脚本
759
+ 'MID:=SUM(VOL*(2*CLOSE-HIGH-LOW)/(HIGH+LOW),0);\n\
560
760
  CHO:MA(MID,N1)-MA(MID,N2);\n\
561
761
  MACHO:MA(CHO,M);'
562
-
563
- };
564
-
565
- return data;
762
+ };
763
+ return data;
566
764
  };
567
-
568
765
  JSIndexScript.prototype.ADTM = function () {
569
- var data = {
570
- Name: 'ADTM', Description: '动态买卖气指标', IsMainIndex: false,
571
- Args: [{ Name: 'N', Value: 23 }, { Name: 'M', Value: 8 }],
572
- Script: //脚本
573
- 'DTM:=IF(OPEN<=REF(OPEN,1),0,MAX((HIGH-OPEN),(OPEN-REF(OPEN,1))));\n\
766
+ var data = {
767
+ Name: 'ADTM',
768
+ Description: '动态买卖气指标',
769
+ IsMainIndex: false,
770
+ Args: [{
771
+ Name: 'N',
772
+ Value: 23
773
+ }, {
774
+ Name: 'M',
775
+ Value: 8
776
+ }],
777
+ Script:
778
+ //脚本
779
+ 'DTM:=IF(OPEN<=REF(OPEN,1),0,MAX((HIGH-OPEN),(OPEN-REF(OPEN,1))));\n\
574
780
  DBM:=IF(OPEN>=REF(OPEN,1),0,MAX((OPEN-LOW),(OPEN-REF(OPEN,1))));\n\
575
781
  STM:=SUM(DTM,N);\n\
576
782
  SBM:=SUM(DBM,N);\n\
577
783
  ADTM:IF(STM>SBM,(STM-SBM)/STM,IF(STM==SBM,0,(STM-SBM)/SBM));\n\
578
784
  MAADTM:MA(ADTM,M);'
579
-
580
- };
581
-
582
- return data;
785
+ };
786
+ return data;
583
787
  };
584
-
585
788
  JSIndexScript.prototype.HSL = function () {
586
- var data = {
587
- Name: 'HSL', Description: '换手线', IsMainIndex: false,
588
- Args: [{ Name: 'N', Value: 5 }],
589
- Script: //脚本
590
- 'HSL:IF((SETCODE==0||SETCODE==1),100*VOL,VOL)/(FINANCE(7)/100);\n\
789
+ var data = {
790
+ Name: 'HSL',
791
+ Description: '换手线',
792
+ IsMainIndex: false,
793
+ Args: [{
794
+ Name: 'N',
795
+ Value: 5
796
+ }],
797
+ Script:
798
+ //脚本
799
+ 'HSL:IF((SETCODE==0||SETCODE==1),100*VOL,VOL)/(FINANCE(7)/100);\n\
591
800
  MAHSL:MA(HSL,N);'
592
-
593
- };
594
-
595
- return data;
801
+ };
802
+ return data;
596
803
  };
597
-
598
804
  JSIndexScript.prototype.BIAS36 = function () {
599
- var data = {
600
- Name: 'BIAS36', Description: '三六乖离', IsMainIndex: false,
601
- Args: [{ Name: 'M', Value: 6 }],
602
- Script: //脚本
603
- 'BIAS36:MA(CLOSE,3)-MA(CLOSE,6);\n\
805
+ var data = {
806
+ Name: 'BIAS36',
807
+ Description: '三六乖离',
808
+ IsMainIndex: false,
809
+ Args: [{
810
+ Name: 'M',
811
+ Value: 6
812
+ }],
813
+ Script:
814
+ //脚本
815
+ 'BIAS36:MA(CLOSE,3)-MA(CLOSE,6);\n\
604
816
  BIAS612:MA(CLOSE,6)-MA(CLOSE,12);\n\
605
817
  MABIAS:MA(BIAS36,M);'
606
-
607
- };
608
-
609
- return data;
818
+ };
819
+ return data;
610
820
  };
611
-
612
821
  JSIndexScript.prototype.BIAS_QL = function () {
613
- var data = {
614
- Name: 'BIAS_QL', Description: '乖离率-传统版', IsMainIndex: false,
615
- Args: [{ Name: 'N', Value: 6 }, { Name: 'M', Value: 6 }],
616
- Script: //脚本
617
- 'BIAS :(CLOSE-MA(CLOSE,N))/MA(CLOSE,N)*100;\n\
822
+ var data = {
823
+ Name: 'BIAS_QL',
824
+ Description: '乖离率-传统版',
825
+ IsMainIndex: false,
826
+ Args: [{
827
+ Name: 'N',
828
+ Value: 6
829
+ }, {
830
+ Name: 'M',
831
+ Value: 6
832
+ }],
833
+ Script:
834
+ //脚本
835
+ 'BIAS :(CLOSE-MA(CLOSE,N))/MA(CLOSE,N)*100;\n\
618
836
  BIASMA :MA(BIAS,M);'
619
-
620
- };
621
-
622
- return data;
837
+ };
838
+ return data;
623
839
  };
624
-
625
840
  JSIndexScript.prototype.DPO = function () {
626
- var data = {
627
- Name: 'DPO', Description: '区间震荡线', IsMainIndex: false,
628
- Args: [{ Name: 'N', Value: 20 }, { Name: 'M', Value: 6 }],
629
- Script: //脚本
630
- 'DPO:CLOSE-REF(MA(CLOSE,N),N/2+1);\n\
841
+ var data = {
842
+ Name: 'DPO',
843
+ Description: '区间震荡线',
844
+ IsMainIndex: false,
845
+ Args: [{
846
+ Name: 'N',
847
+ Value: 20
848
+ }, {
849
+ Name: 'M',
850
+ Value: 6
851
+ }],
852
+ Script:
853
+ //脚本
854
+ 'DPO:CLOSE-REF(MA(CLOSE,N),N/2+1);\n\
631
855
  MADPO:MA(DPO,M);'
632
-
633
- };
634
-
635
- return data;
856
+ };
857
+ return data;
636
858
  };
637
-
638
859
  JSIndexScript.prototype.OSC = function () {
639
- var data = {
640
- Name: 'OSC', Description: '变动速率线', IsMainIndex: false,
641
- Args: [{ Name: 'N', Value: 20 }, { Name: 'M', Value: 6 }],
642
- Script: //脚本
643
- 'OSC:100*(CLOSE-MA(CLOSE,N));\n\
860
+ var data = {
861
+ Name: 'OSC',
862
+ Description: '变动速率线',
863
+ IsMainIndex: false,
864
+ Args: [{
865
+ Name: 'N',
866
+ Value: 20
867
+ }, {
868
+ Name: 'M',
869
+ Value: 6
870
+ }],
871
+ Script:
872
+ //脚本
873
+ 'OSC:100*(CLOSE-MA(CLOSE,N));\n\
644
874
  MAOSC:EXPMEMA(OSC,M);'
645
-
646
- };
647
-
648
- return data;
875
+ };
876
+ return data;
649
877
  };
650
-
651
878
  JSIndexScript.prototype.ATR = function () {
652
- var data = {
653
- Name: 'ATR', Description: '真实波幅', IsMainIndex: false,
654
- Args: [{ Name: 'N', Value: 14 }],
655
- Script: //脚本
656
- 'MTR:MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));\n\
879
+ var data = {
880
+ Name: 'ATR',
881
+ Description: '真实波幅',
882
+ IsMainIndex: false,
883
+ Args: [{
884
+ Name: 'N',
885
+ Value: 14
886
+ }],
887
+ Script:
888
+ //脚本
889
+ 'MTR:MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));\n\
657
890
  ATR:MA(MTR,N);'
658
-
659
- };
660
-
661
- return data;
891
+ };
892
+ return data;
662
893
  };
663
-
664
894
  JSIndexScript.prototype.NVI = function () {
665
- var data = {
666
- Name: 'NVI', Description: '负成交量', IsMainIndex: false,
667
- Args: [{ Name: 'N', Value: 72 }],
668
- Script: //脚本
669
- 'NVI:100*MULAR(IF(V<REF(V,1),C/REF(C,1),1),0);\n\
895
+ var data = {
896
+ Name: 'NVI',
897
+ Description: '负成交量',
898
+ IsMainIndex: false,
899
+ Args: [{
900
+ Name: 'N',
901
+ Value: 72
902
+ }],
903
+ Script:
904
+ //脚本
905
+ 'NVI:100*MULAR(IF(V<REF(V,1),C/REF(C,1),1),0);\n\
670
906
  MANVI:MA(NVI,N);'
671
-
672
- };
673
-
674
- return data;
907
+ };
908
+ return data;
675
909
  };
676
-
677
910
  JSIndexScript.prototype.PVI = function () {
678
- var data = {
679
- Name: 'PVI', Description: '正成交量', IsMainIndex: false,
680
- Args: [{ Name: 'N', Value: 72 }],
681
- Script: //脚本
682
- 'NVI:100*MULAR(IF(V>REF(V,1),C/REF(C,1),1),0);\n\
911
+ var data = {
912
+ Name: 'PVI',
913
+ Description: '正成交量',
914
+ IsMainIndex: false,
915
+ Args: [{
916
+ Name: 'N',
917
+ Value: 72
918
+ }],
919
+ Script:
920
+ //脚本
921
+ 'NVI:100*MULAR(IF(V>REF(V,1),C/REF(C,1),1),0);\n\
683
922
  MANVI:MA(NVI,N);'
684
-
685
- };
686
-
687
- return data;
923
+ };
924
+ return data;
688
925
  };
689
-
690
926
  JSIndexScript.prototype.UOS = function () {
691
- var data = {
692
- Name: 'UOS', Description: '终极指标', IsMainIndex: false,
693
- Args: [{ Name: 'N1', Value: 7 }, { Name: 'N2', Value: 14 }, { Name: 'N3', Value: 28 }, { Name: 'M', Value: 6 }],
694
- Script: //脚本
695
- 'TH:=MAX(HIGH,REF(CLOSE,1));\n\
927
+ var data = {
928
+ Name: 'UOS',
929
+ Description: '终极指标',
930
+ IsMainIndex: false,
931
+ Args: [{
932
+ Name: 'N1',
933
+ Value: 7
934
+ }, {
935
+ Name: 'N2',
936
+ Value: 14
937
+ }, {
938
+ Name: 'N3',
939
+ Value: 28
940
+ }, {
941
+ Name: 'M',
942
+ Value: 6
943
+ }],
944
+ Script:
945
+ //脚本
946
+ 'TH:=MAX(HIGH,REF(CLOSE,1));\n\
696
947
  TL:=MIN(LOW,REF(CLOSE,1));\n\
697
948
  ACC1:=SUM(CLOSE-TL,N1)/SUM(TH-TL,N1);\n\
698
949
  ACC2:=SUM(CLOSE-TL,N2)/SUM(TH-TL,N2);\n\
699
950
  ACC3:=SUM(CLOSE-TL,N3)/SUM(TH-TL,N3);\n\
700
951
  UOS:(ACC1*N2*N3+ACC2*N1*N3+ACC3*N1*N2)*100/(N1*N2+N1*N3+N2*N3);\n\
701
952
  MAUOS:EXPMEMA(UOS,M);'
702
-
703
- };
704
-
705
- return data;
953
+ };
954
+ return data;
706
955
  };
707
-
708
956
  JSIndexScript.prototype.CYW = function () {
709
- var data = {
710
- Name: 'CYW', Description: '主力控盘', IsMainIndex: false,
711
- Args: [],
712
- Script: //脚本
713
- 'VAR1:=CLOSE-LOW;\n\
957
+ var data = {
958
+ Name: 'CYW',
959
+ Description: '主力控盘',
960
+ IsMainIndex: false,
961
+ Args: [],
962
+ Script:
963
+ //脚本
964
+ 'VAR1:=CLOSE-LOW;\n\
714
965
  VAR2:=HIGH-LOW;\n\
715
966
  VAR3:=CLOSE-HIGH;\n\
716
967
  VAR4:=IF(HIGH>LOW,(VAR1/VAR2+VAR3/VAR2)*VOL,0);\n\
717
968
  CYW: SUM(VAR4,10)/10000, COLORSTICK;'
718
-
719
- };
720
-
721
- return data;
969
+ };
970
+ return data;
722
971
  };
723
-
724
972
  JSIndexScript.prototype.LON = function () {
725
- var data = {
726
- Name: 'LON', Description: '龙系长线', IsMainIndex: false,
727
- Args: [{ Name: 'N', Value: 10 }],
728
- Script: //脚本
729
- 'LC := REF(CLOSE,1);\n\
973
+ var data = {
974
+ Name: 'LON',
975
+ Description: '龙系长线',
976
+ IsMainIndex: false,
977
+ Args: [{
978
+ Name: 'N',
979
+ Value: 10
980
+ }],
981
+ Script:
982
+ //脚本
983
+ 'LC := REF(CLOSE,1);\n\
730
984
  VID := SUM(VOL,2)/(((HHV(HIGH,2)-LLV(LOW,2)))*100);\n\
731
985
  RC := (CLOSE-LC)*VID;\n\
732
986
  LONG := SUM(RC,0);\n\
@@ -735,131 +989,192 @@ DEA := SMA(LONG,20,1);\n\
735
989
  LON : DIFF-DEA;\n\
736
990
  LONMA : MA(LON,10);\n\
737
991
  LONT : LON, COLORSTICK;'
738
-
739
- };
740
-
741
- return data;
992
+ };
993
+ return data;
742
994
  };
743
-
744
995
  JSIndexScript.prototype.NDB = function () {
745
- var data = {
746
- Name: 'NDB', Description: '脑电波', IsMainIndex: false,
747
- Args: [{ Name: 'P1', Value: 5 }, { Name: 'P2', Value: 10 }],
748
- Script: //脚本
749
- 'HH:=IF(C/REF(C,1)>1.098 AND L>REF(H,1),2*C-REF(C,1)-H,2*C-H-L);\n\
996
+ var data = {
997
+ Name: 'NDB',
998
+ Description: '脑电波',
999
+ IsMainIndex: false,
1000
+ Args: [{
1001
+ Name: 'P1',
1002
+ Value: 5
1003
+ }, {
1004
+ Name: 'P2',
1005
+ Value: 10
1006
+ }],
1007
+ Script:
1008
+ //脚本
1009
+ 'HH:=IF(C/REF(C,1)>1.098 AND L>REF(H,1),2*C-REF(C,1)-H,2*C-H-L);\n\
750
1010
  V1:= BARSCOUNT(C) - 1;\n\
751
1011
  V2:= 2 * REF(C, V1) - REF(H, V1) - REF(L, V1);\n\
752
1012
  DK: SUM(HH, 0) + V2;\n\
753
1013
  MDK5: MA(DK, P1);\n\
754
1014
  MDK10: MA(DK, P2);'
755
-
756
- };
757
-
758
- return data;
1015
+ };
1016
+ return data;
759
1017
  };
760
-
761
1018
  JSIndexScript.prototype.SKDJ = function () {
762
- var data = {
763
- Name: 'SKDJ', Description: '慢速随机指标', IsMainIndex: false,
764
- Args: [{ Name: 'N', Value: 9 }, { Name: 'M', Value: 3 }],
765
- Script: //脚本
766
- 'LOWV:=LLV(LOW,N);\n\
1019
+ var data = {
1020
+ Name: 'SKDJ',
1021
+ Description: '慢速随机指标',
1022
+ IsMainIndex: false,
1023
+ Args: [{
1024
+ Name: 'N',
1025
+ Value: 9
1026
+ }, {
1027
+ Name: 'M',
1028
+ Value: 3
1029
+ }],
1030
+ Script:
1031
+ //脚本
1032
+ 'LOWV:=LLV(LOW,N);\n\
767
1033
  HIGHV:=HHV(HIGH,N);\n\
768
1034
  RSV:=EMA((CLOSE-LOWV)/(HIGHV-LOWV)*100,M);\n\
769
1035
  K:EMA(RSV,M);\n\
770
1036
  D:MA(K,M);'
771
-
772
- };
773
-
774
- return data;
1037
+ };
1038
+ return data;
775
1039
  };
776
-
777
1040
  JSIndexScript.prototype.KD = function () {
778
- var data = {
779
- Name: 'KD', Description: '随机指标KD', IsMainIndex: false,
780
- Args: [{ Name: 'N', Value: 9 }, { Name: 'M1', Value: 3 }, { Name: 'M2', Value: 3 }],
781
- Script: //脚本
782
- 'RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;\n\
1041
+ var data = {
1042
+ Name: 'KD',
1043
+ Description: '随机指标KD',
1044
+ IsMainIndex: false,
1045
+ Args: [{
1046
+ Name: 'N',
1047
+ Value: 9
1048
+ }, {
1049
+ Name: 'M1',
1050
+ Value: 3
1051
+ }, {
1052
+ Name: 'M2',
1053
+ Value: 3
1054
+ }],
1055
+ Script:
1056
+ //脚本
1057
+ 'RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;\n\
783
1058
  K:SMA(RSV,M1,1);\n\
784
1059
  D:SMA(K,M2,1);'
785
-
786
- };
787
-
788
- return data;
1060
+ };
1061
+ return data;
789
1062
  };
790
-
791
1063
  JSIndexScript.prototype.FKX = function () {
792
- var data = {
793
- Name: 'FKX', Description: '反K线', IsMainIndex: true,
794
- Args: [],
795
- Script: //脚本
796
- 'DRAWKLINE(-LOW, -OPEN, -HIGH, -CLOSE);'
797
- };
798
-
799
- return data;
1064
+ var data = {
1065
+ Name: 'FKX',
1066
+ Description: '反K线',
1067
+ IsMainIndex: true,
1068
+ Args: [],
1069
+ Script:
1070
+ //脚本
1071
+ 'DRAWKLINE(-LOW, -OPEN, -HIGH, -CLOSE);'
1072
+ };
1073
+ return data;
800
1074
  };
801
-
802
1075
  JSIndexScript.prototype.DKCOL = function () {
803
- var data = {
804
- Name: 'DKCOL', Description: '多空能量柱(适用于分时主图)', IsMainIndex: true,
805
- Args: [{ Name: 'N', Value: 5 }],
806
- Script: //脚本
807
- 'FF:=(C-REF(C,N))/REF(C,N);\n\
1076
+ var data = {
1077
+ Name: 'DKCOL',
1078
+ Description: '多空能量柱(适用于分时主图)',
1079
+ IsMainIndex: true,
1080
+ Args: [{
1081
+ Name: 'N',
1082
+ Value: 5
1083
+ }],
1084
+ Script:
1085
+ //脚本
1086
+ 'FF:=(C-REF(C,N))/REF(C,N);\n\
808
1087
  STICKLINE(FF>0,DYNAINFO(3),DYNAINFO(3)*(1+FF),0.5,0),COLORRED;\n\
809
1088
  STICKLINE(FF<0,DYNAINFO(3),DYNAINFO(3)*(1+FF),0.5,0),COLORGREEN;'
810
-
811
- };
812
-
813
- return data;
1089
+ };
1090
+ return data;
814
1091
  };
815
-
816
1092
  JSIndexScript.prototype.UDL = function () {
817
- var data = {
818
- Name: 'UDL', Description: '引力线', IsMainIndex: false,
819
- Args: [{ Name: 'N1', Value: 3 }, { Name: 'N2', Value: 5 }, { Name: 'N3', Value: 10 }, { Name: 'N4', Value: 20 }, { Name: 'M', Value: 6 }],
820
- Script: //脚本
821
- 'UDL:(MA(CLOSE,N1)+MA(CLOSE,N2)+MA(CLOSE,N3)+MA(CLOSE,N4))/4;\n\
1093
+ var data = {
1094
+ Name: 'UDL',
1095
+ Description: '引力线',
1096
+ IsMainIndex: false,
1097
+ Args: [{
1098
+ Name: 'N1',
1099
+ Value: 3
1100
+ }, {
1101
+ Name: 'N2',
1102
+ Value: 5
1103
+ }, {
1104
+ Name: 'N3',
1105
+ Value: 10
1106
+ }, {
1107
+ Name: 'N4',
1108
+ Value: 20
1109
+ }, {
1110
+ Name: 'M',
1111
+ Value: 6
1112
+ }],
1113
+ Script:
1114
+ //脚本
1115
+ 'UDL:(MA(CLOSE,N1)+MA(CLOSE,N2)+MA(CLOSE,N3)+MA(CLOSE,N4))/4;\n\
822
1116
  MAUDL:MA(UDL,M);'
823
-
824
- };
825
-
826
- return data;
1117
+ };
1118
+ return data;
827
1119
  };
828
-
829
1120
  JSIndexScript.prototype.MFI = function () {
830
- var data = {
831
- Name: 'MFI', Description: '资金流量指标', IsMainIndex: false,
832
- Args: [{ Name: 'N', Value: 14 }, { Name: 'N2', Value: 6 }],
833
- Script: //脚本
834
- 'TYP := (HIGH + LOW + CLOSE)/3;\n\
1121
+ var data = {
1122
+ Name: 'MFI',
1123
+ Description: '资金流量指标',
1124
+ IsMainIndex: false,
1125
+ Args: [{
1126
+ Name: 'N',
1127
+ Value: 14
1128
+ }, {
1129
+ Name: 'N2',
1130
+ Value: 6
1131
+ }],
1132
+ Script:
1133
+ //脚本
1134
+ 'TYP := (HIGH + LOW + CLOSE)/3;\n\
835
1135
  V1:=SUM(IF(TYP>REF(TYP,1),TYP*VOL,0),N)/SUM(IF(TYP<REF(TYP,1),TYP*VOL,0),N);\n\
836
1136
  MFI:100-(100/(1+V1));'
837
-
838
- };
839
-
840
- return data;
1137
+ };
1138
+ return data;
841
1139
  };
842
-
843
1140
  JSIndexScript.prototype.LWR = function () {
844
- var data = {
845
- Name: 'LWR', Description: 'LWR威廉指标', IsMainIndex: false,
846
- Args: [{ Name: 'N', Value: 9 }, { Name: 'M1', Value: 3 }, { Name: 'M2', Value: 3 }],
847
- Script: //脚本
848
- 'RSV:= (HHV(HIGH,N)-CLOSE)/(HHV(HIGH,N)-LLV(LOW,N))*100;\n\
1141
+ var data = {
1142
+ Name: 'LWR',
1143
+ Description: 'LWR威廉指标',
1144
+ IsMainIndex: false,
1145
+ Args: [{
1146
+ Name: 'N',
1147
+ Value: 9
1148
+ }, {
1149
+ Name: 'M1',
1150
+ Value: 3
1151
+ }, {
1152
+ Name: 'M2',
1153
+ Value: 3
1154
+ }],
1155
+ Script:
1156
+ //脚本
1157
+ 'RSV:= (HHV(HIGH,N)-CLOSE)/(HHV(HIGH,N)-LLV(LOW,N))*100;\n\
849
1158
  LWR1:SMA(RSV,M1,1);\n\
850
1159
  LWR2:SMA(LWR1,M2,1);'
851
-
852
- };
853
-
854
- return data;
1160
+ };
1161
+ return data;
855
1162
  };
856
-
857
1163
  JSIndexScript.prototype.MARSI = function () {
858
- var data = {
859
- Name: 'MARSI', Description: '相对强弱平均线', IsMainIndex: false,
860
- Args: [{ Name: 'M1', Value: 10 }, { Name: 'M2', Value: 6 }],
861
- Script: //脚本
862
- 'DIF:=CLOSE-REF(CLOSE,1);\n\
1164
+ var data = {
1165
+ Name: 'MARSI',
1166
+ Description: '相对强弱平均线',
1167
+ IsMainIndex: false,
1168
+ Args: [{
1169
+ Name: 'M1',
1170
+ Value: 10
1171
+ }, {
1172
+ Name: 'M2',
1173
+ Value: 6
1174
+ }],
1175
+ Script:
1176
+ //脚本
1177
+ 'DIF:=CLOSE-REF(CLOSE,1);\n\
863
1178
  VU:=IF(DIF>=0,DIF,0);\n\
864
1179
  VD:=IF(DIF<0,-DIF,0);\n\
865
1180
  MAU1:=MEMA(VU,M1);\n\
@@ -868,213 +1183,294 @@ MAU2:=MEMA(VU,M2);\n\
868
1183
  MAD2:=MEMA(VD,M2);\n\
869
1184
  RSI10:MA(100*MAU1/(MAU1+MAD1),M1);\n\
870
1185
  RSI6:MA(100*MAU2/(MAU2+MAD2),M2);'
871
-
872
- };
873
-
874
- return data;
1186
+ };
1187
+ return data;
875
1188
  };
876
-
877
1189
  JSIndexScript.prototype.CYD = function () {
878
- var data = {
879
- Name: 'CYD', Description: '承接因子', IsMainIndex: false,
880
- Args: [{ Name: 'N', Value: 21 }],
881
- Script: //脚本
882
- 'CYDS:WINNER(CLOSE)/(VOL/CAPITAL);\n\
1190
+ var data = {
1191
+ Name: 'CYD',
1192
+ Description: '承接因子',
1193
+ IsMainIndex: false,
1194
+ Args: [{
1195
+ Name: 'N',
1196
+ Value: 21
1197
+ }],
1198
+ Script:
1199
+ //脚本
1200
+ 'CYDS:WINNER(CLOSE)/(VOL/CAPITAL);\n\
883
1201
  CYDN:WINNER(CLOSE)/MA(VOL/CAPITAL,N);'
884
-
885
- };
886
-
887
- return data;
1202
+ };
1203
+ return data;
888
1204
  };
889
-
890
1205
  JSIndexScript.prototype.CYF = function () {
891
- var data = {
892
- Name: 'CYF', Description: '市场能量', IsMainIndex: false,
893
- Args: [{ Name: 'N', Value: 21 }],
894
- Script: //脚本
895
- 'CYF:100-100/(1+EMA(HSL,N));'
896
-
897
- };
898
-
899
- return data;
1206
+ var data = {
1207
+ Name: 'CYF',
1208
+ Description: '市场能量',
1209
+ IsMainIndex: false,
1210
+ Args: [{
1211
+ Name: 'N',
1212
+ Value: 21
1213
+ }],
1214
+ Script:
1215
+ //脚本
1216
+ 'CYF:100-100/(1+EMA(HSL,N));'
1217
+ };
1218
+ return data;
900
1219
  };
901
-
902
1220
  JSIndexScript.prototype.TAPI = function () {
903
- var data = {
904
- Name: 'TAPI', Description: '加权指数成交值', IsMainIndex: false,
905
- Args: [{ Name: 'M', Value: 6 }],
906
- Script: //脚本
907
- 'TAPI:AMOUNT/INDEXC;\n\
1221
+ var data = {
1222
+ Name: 'TAPI',
1223
+ Description: '加权指数成交值',
1224
+ IsMainIndex: false,
1225
+ Args: [{
1226
+ Name: 'M',
1227
+ Value: 6
1228
+ }],
1229
+ Script:
1230
+ //脚本
1231
+ 'TAPI:AMOUNT/INDEXC;\n\
908
1232
  MATAIP:MA(TAPI,M);'
909
-
910
- };
911
-
912
- return data;
1233
+ };
1234
+ return data;
913
1235
  };
914
-
915
1236
  JSIndexScript.prototype.VMACD = function () {
916
- var data = {
917
- Name: 'VMACD', Description: '量平滑异同平均', IsMainIndex: false,
918
- Args: [{ Name: 'SHORT', Value: 12 }, { Name: 'LONG', Value: 26 }, { Name: 'MID', Value: 9 }],
919
- Script: //脚本
920
- 'DIF:EMA(VOL,SHORT)-EMA(VOL,LONG);\n\
1237
+ var data = {
1238
+ Name: 'VMACD',
1239
+ Description: '量平滑异同平均',
1240
+ IsMainIndex: false,
1241
+ Args: [{
1242
+ Name: 'SHORT',
1243
+ Value: 12
1244
+ }, {
1245
+ Name: 'LONG',
1246
+ Value: 26
1247
+ }, {
1248
+ Name: 'MID',
1249
+ Value: 9
1250
+ }],
1251
+ Script:
1252
+ //脚本
1253
+ 'DIF:EMA(VOL,SHORT)-EMA(VOL,LONG);\n\
921
1254
  DEA:EMA(DIF,MID);\n\
922
1255
  MACD:DIF-DEA,COLORSTICK;'
923
-
924
- };
925
-
926
- return data;
1256
+ };
1257
+ return data;
927
1258
  };
928
-
929
1259
  JSIndexScript.prototype.QACD = function () {
930
- var data = {
931
- Name: 'QACD', Description: '快速异同平均', IsMainIndex: false,
932
- Args: [{ Name: 'N1', Value: 12 }, { Name: 'N2', Value: 26 }, { Name: 'M', Value: 9 }],
933
- Script: //脚本
934
- 'DIF:EMA(CLOSE,N1)-EMA(CLOSE,N2);\n\
1260
+ var data = {
1261
+ Name: 'QACD',
1262
+ Description: '快速异同平均',
1263
+ IsMainIndex: false,
1264
+ Args: [{
1265
+ Name: 'N1',
1266
+ Value: 12
1267
+ }, {
1268
+ Name: 'N2',
1269
+ Value: 26
1270
+ }, {
1271
+ Name: 'M',
1272
+ Value: 9
1273
+ }],
1274
+ Script:
1275
+ //脚本
1276
+ 'DIF:EMA(CLOSE,N1)-EMA(CLOSE,N2);\n\
935
1277
  MACD:EMA(DIF,M);\n\
936
1278
  DDIF:DIF-MACD;'
937
-
938
- };
939
-
940
- return data;
1279
+ };
1280
+ return data;
941
1281
  };
942
-
943
1282
  JSIndexScript.prototype.VPT = function () {
944
- var data = {
945
- Name: 'VPT', Description: '量价曲线', IsMainIndex: false,
946
- Args: [{ Name: 'N', Value: 51 }, { Name: 'M', Value: 6 }],
947
- Script: //脚本
948
- 'VPT:SUM(VOL*(CLOSE-REF(CLOSE,1))/REF(CLOSE,1),N);\n\
1283
+ var data = {
1284
+ Name: 'VPT',
1285
+ Description: '量价曲线',
1286
+ IsMainIndex: false,
1287
+ Args: [{
1288
+ Name: 'N',
1289
+ Value: 51
1290
+ }, {
1291
+ Name: 'M',
1292
+ Value: 6
1293
+ }],
1294
+ Script:
1295
+ //脚本
1296
+ 'VPT:SUM(VOL*(CLOSE-REF(CLOSE,1))/REF(CLOSE,1),N);\n\
949
1297
  MAVPT:MA(VPT,M);'
950
-
951
- };
952
-
953
- return data;
1298
+ };
1299
+ return data;
954
1300
  };
955
-
956
1301
  JSIndexScript.prototype.WVAD = function () {
957
- var data = {
958
- Name: 'WVAD', Description: '威廉变异离散量', IsMainIndex: false,
959
- Args: [{ Name: 'N', Value: 24 }, { Name: 'M', Value: 6 }],
960
- Script: //脚本
961
- 'WVAD:SUM((CLOSE-OPEN)/(HIGH-LOW)*VOL,N)/10000;\n\
1302
+ var data = {
1303
+ Name: 'WVAD',
1304
+ Description: '威廉变异离散量',
1305
+ IsMainIndex: false,
1306
+ Args: [{
1307
+ Name: 'N',
1308
+ Value: 24
1309
+ }, {
1310
+ Name: 'M',
1311
+ Value: 6
1312
+ }],
1313
+ Script:
1314
+ //脚本
1315
+ 'WVAD:SUM((CLOSE-OPEN)/(HIGH-LOW)*VOL,N)/10000;\n\
962
1316
  MAWVAD:MA(WVAD,M);'
963
-
964
- };
965
-
966
- return data;
1317
+ };
1318
+ return data;
967
1319
  };
968
-
969
1320
  JSIndexScript.prototype.DBQR = function () {
970
- var data = {
971
- Name: 'WVAD', Description: '对比强弱', IsMainIndex: false,
972
- Args: [{ Name: 'N', Value: 5 }, { Name: 'M1', Value: 10 }, { Name: 'M2', Value: 20 }, { Name: 'M3', Value: 60 }],
973
- Script: //脚本
974
- 'ZS:(INDEXC-REF(INDEXC,N))/REF(INDEXC,N);\n\
1321
+ var data = {
1322
+ Name: 'WVAD',
1323
+ Description: '对比强弱',
1324
+ IsMainIndex: false,
1325
+ Args: [{
1326
+ Name: 'N',
1327
+ Value: 5
1328
+ }, {
1329
+ Name: 'M1',
1330
+ Value: 10
1331
+ }, {
1332
+ Name: 'M2',
1333
+ Value: 20
1334
+ }, {
1335
+ Name: 'M3',
1336
+ Value: 60
1337
+ }],
1338
+ Script:
1339
+ //脚本
1340
+ 'ZS:(INDEXC-REF(INDEXC,N))/REF(INDEXC,N);\n\
975
1341
  GG:(CLOSE-REF(CLOSE,N))/REF(CLOSE,N);\n\
976
1342
  MADBQR1:MA(GG,M1);\n\
977
1343
  MADBQR2:MA(GG,M2);\n\
978
1344
  MADBQR3:MA(GG,M3);'
979
-
980
- };
981
-
982
- return data;
1345
+ };
1346
+ return data;
983
1347
  };
984
-
985
1348
  JSIndexScript.prototype.JS = function () {
986
- var data = {
987
- Name: 'JS', Description: '加速线', IsMainIndex: false,
988
- Args: [{ Name: 'N', Value: 5 }, { Name: 'M1', Value: 5 }, { Name: 'M2', Value: 10 }, { Name: 'M3', Value: 20 }],
989
- Script: //脚本
990
- 'JS:100*(CLOSE-REF(CLOSE,N))/(N*REF(CLOSE,N));\n\
1349
+ var data = {
1350
+ Name: 'JS',
1351
+ Description: '加速线',
1352
+ IsMainIndex: false,
1353
+ Args: [{
1354
+ Name: 'N',
1355
+ Value: 5
1356
+ }, {
1357
+ Name: 'M1',
1358
+ Value: 5
1359
+ }, {
1360
+ Name: 'M2',
1361
+ Value: 10
1362
+ }, {
1363
+ Name: 'M3',
1364
+ Value: 20
1365
+ }],
1366
+ Script:
1367
+ //脚本
1368
+ 'JS:100*(CLOSE-REF(CLOSE,N))/(N*REF(CLOSE,N));\n\
991
1369
  MAJS1:MA(JS,M1);\n\
992
1370
  MAJS2:MA(JS,M2);\n\
993
1371
  MAJS3:MA(JS,M3);'
994
-
995
- };
996
-
997
- return data;
1372
+ };
1373
+ return data;
998
1374
  };
999
-
1000
1375
  JSIndexScript.prototype.CYE = function () {
1001
- var data = {
1002
- Name: 'CYE', Description: '市场趋势', IsMainIndex: false,
1003
- Args: [],
1004
- Script: //脚本
1005
- 'MAL:=MA(CLOSE,5);\n\
1376
+ var data = {
1377
+ Name: 'CYE',
1378
+ Description: '市场趋势',
1379
+ IsMainIndex: false,
1380
+ Args: [],
1381
+ Script:
1382
+ //脚本
1383
+ 'MAL:=MA(CLOSE,5);\n\
1006
1384
  MAS:=MA(MA(CLOSE,20),5);\n\
1007
1385
  CYEL:(MAL-REF(MAL,1))/REF(MAL,1)*100;\n\
1008
1386
  CYES:(MAS-REF(MAS,1))/REF(MAS,1)*100;'
1009
-
1010
- };
1011
-
1012
- return data;
1387
+ };
1388
+ return data;
1013
1389
  };
1014
-
1015
1390
  JSIndexScript.prototype.QR = function () {
1016
- var data = {
1017
- Name: 'QR', Description: '强弱指标', IsMainIndex: false,
1018
- Args: [{ Name: 'N', Value: 21 }],
1019
- Script: //脚本
1020
- '个股: (CLOSE-REF(CLOSE,N))/REF(CLOSE,N)*100; \n\
1391
+ var data = {
1392
+ Name: 'QR',
1393
+ Description: '强弱指标',
1394
+ IsMainIndex: false,
1395
+ Args: [{
1396
+ Name: 'N',
1397
+ Value: 21
1398
+ }],
1399
+ Script:
1400
+ //脚本
1401
+ '个股: (CLOSE-REF(CLOSE,N))/REF(CLOSE,N)*100; \n\
1021
1402
  大盘: (INDEXC-REF(INDEXC,N))/REF(INDEXC,N)*100; \n\
1022
1403
  强弱值:EMA(个股-大盘,2),COLORSTICK;'
1023
-
1024
- };
1025
-
1026
- return data;
1404
+ };
1405
+ return data;
1027
1406
  };
1028
-
1029
1407
  JSIndexScript.prototype.GDX = function () {
1030
- var data = {
1031
- Name: 'GDX', Description: '轨道线', IsMainIndex: false,
1032
- Args: [{ Name: 'N', Value: 30 }, { Name: 'M', Value: 9 }],
1033
- Script: //脚本
1034
- 'AA:=ABS((2*CLOSE+HIGH+LOW)/4-MA(CLOSE,N))/MA(CLOSE,N); \n\
1408
+ var data = {
1409
+ Name: 'GDX',
1410
+ Description: '轨道线',
1411
+ IsMainIndex: false,
1412
+ Args: [{
1413
+ Name: 'N',
1414
+ Value: 30
1415
+ }, {
1416
+ Name: 'M',
1417
+ Value: 9
1418
+ }],
1419
+ Script:
1420
+ //脚本
1421
+ 'AA:=ABS((2*CLOSE+HIGH+LOW)/4-MA(CLOSE,N))/MA(CLOSE,N); \n\
1035
1422
  轨道:DMA(CLOSE,AA);\n\
1036
1423
  压力线:(1+M/100)*轨道; \n\
1037
1424
  支撑线:(1-M/100)*轨道;'
1038
-
1039
- };
1040
-
1041
- return data;
1425
+ };
1426
+ return data;
1042
1427
  };
1043
-
1044
1428
  JSIndexScript.prototype.JLHB = function () {
1045
- var data = {
1046
- Name: 'JLHB', Description: '绝路航标', IsMainIndex: false,
1047
- Args: [{ Name: 'N', Value: 7 }, { Name: 'M', Value: 5 }],
1048
- Script: //脚本
1049
- 'VAR1:=(CLOSE-LLV(LOW,60))/(HHV(HIGH,60)-LLV(LOW,60))*80; \n\
1429
+ var data = {
1430
+ Name: 'JLHB',
1431
+ Description: '绝路航标',
1432
+ IsMainIndex: false,
1433
+ Args: [{
1434
+ Name: 'N',
1435
+ Value: 7
1436
+ }, {
1437
+ Name: 'M',
1438
+ Value: 5
1439
+ }],
1440
+ Script:
1441
+ //脚本
1442
+ 'VAR1:=(CLOSE-LLV(LOW,60))/(HHV(HIGH,60)-LLV(LOW,60))*80; \n\
1050
1443
  B:SMA(VAR1,N,1); \n\
1051
1444
  VAR2:SMA(B,M,1); \n\
1052
1445
  绝路航标:IF(CROSS(B,VAR2) AND B<40,50,0);'
1053
-
1054
- };
1055
-
1056
- return data;
1446
+ };
1447
+ return data;
1057
1448
  };
1058
-
1059
1449
  JSIndexScript.prototype.PCNT = function () {
1060
- var data = {
1061
- Name: 'PCNT', Description: '幅度比', IsMainIndex: false,
1062
- Args: [{ Name: 'M', Value: 5 }],
1063
- Script: //脚本
1064
- 'PCNT:(CLOSE-REF(CLOSE,1))/CLOSE*100;\n\
1450
+ var data = {
1451
+ Name: 'PCNT',
1452
+ Description: '幅度比',
1453
+ IsMainIndex: false,
1454
+ Args: [{
1455
+ Name: 'M',
1456
+ Value: 5
1457
+ }],
1458
+ Script:
1459
+ //脚本
1460
+ 'PCNT:(CLOSE-REF(CLOSE,1))/CLOSE*100;\n\
1065
1461
  MAPCNT:EXPMEMA(PCNT,M);'
1066
-
1067
- };
1068
-
1069
- return data;
1462
+ };
1463
+ return data;
1070
1464
  };
1071
-
1072
1465
  JSIndexScript.prototype.BTX = function () {
1073
- var data = {
1074
- Name: 'BTX', Description: '宝塔线', IsMainIndex: false,
1075
- Args: [],
1076
- Script: //脚本
1077
- 'B1:=REF(C,1);\n\
1466
+ var data = {
1467
+ Name: 'BTX',
1468
+ Description: '宝塔线',
1469
+ IsMainIndex: false,
1470
+ Args: [],
1471
+ Script:
1472
+ //脚本
1473
+ 'B1:=REF(C,1);\n\
1078
1474
  B2:= REF(C, 2);\n\
1079
1475
  SS:= IF(C > REF(C, 1) AND REF(C, 1) >= REF(C, 2), 1, IF(C < REF(C, 1) AND REF(C, 1) <= REF(C, 2), -1, IF(C > REF(C, 2) AND REF(C, 2) > REF(C, 1), 2, IF(C < REF(C, 2) AND REF(C, 2) < REF(C, 1), -2, 0))));\n\
1080
1476
  SM:= IF(REF(SS, 1) <> 0, REF(SS, 1), IF(REF(SS, 2) <> 0, REF(SS, 2), IF(REF(SS, 3) <> 0, REF(SS, 3), IF(REF(SS, 5) <> 0, REF(SS, 5), IF(REF(SS, 6) <> 0, REF(SS, 6), IF(REF(SS, 7) <> 0, REF(SS, 7), 0))))));\n\
@@ -1088,285 +1484,412 @@ STICKLINE(SS == 2, B2, C, 10, 1), COLORRED;\n\
1088
1484
  STICKLINE(SS == -2, B2, C, 10, 0), COLORCYAN;\n\
1089
1485
  STICKLINE((SS == -1 OR SS == -2) AND SM > 0, B2, B1, 10, 1), COLORRED;\n\
1090
1486
  STICKLINE((SS == 1 OR SS == 2) AND SM < 0, B2, B1, 10, 0), COLORCYAN;'
1091
- };
1092
-
1093
- return data;
1487
+ };
1488
+ return data;
1094
1489
  };
1095
-
1096
1490
  JSIndexScript.prototype.AMO = function () {
1097
- var data = {
1098
- Name: 'AMO', Description: '成交金额', IsMainIndex: false,
1099
- Args: [{ Name: 'M1', Value: 5 }, { Name: 'M2', Value: 10 }],
1100
- Script: //脚本
1101
- 'AMOW:AMOUNT/10000.0,VOLSTICK;\n\
1491
+ var data = {
1492
+ Name: 'AMO',
1493
+ Description: '成交金额',
1494
+ IsMainIndex: false,
1495
+ Args: [{
1496
+ Name: 'M1',
1497
+ Value: 5
1498
+ }, {
1499
+ Name: 'M2',
1500
+ Value: 10
1501
+ }],
1502
+ Script:
1503
+ //脚本
1504
+ 'AMOW:AMOUNT/10000.0,VOLSTICK;\n\
1102
1505
  AMO1:MA(AMOW,M1);\n\
1103
1506
  AMO2:MA(AMOW,M2);'
1104
-
1105
- };
1106
-
1107
- return data;
1507
+ };
1508
+ return data;
1108
1509
  };
1109
-
1110
1510
  JSIndexScript.prototype.VRSI = function () {
1111
- var data = {
1112
- Name: 'VRSI', Description: '相对强弱量', IsMainIndex: false,
1113
- Args: [{ Name: 'N1', Value: 6 }, { Name: 'N2', Value: 12 }, { Name: 'N3', Value: 24 }],
1114
- Script: //脚本
1115
- 'LC:=REF(VOL,1);\n\
1511
+ var data = {
1512
+ Name: 'VRSI',
1513
+ Description: '相对强弱量',
1514
+ IsMainIndex: false,
1515
+ Args: [{
1516
+ Name: 'N1',
1517
+ Value: 6
1518
+ }, {
1519
+ Name: 'N2',
1520
+ Value: 12
1521
+ }, {
1522
+ Name: 'N3',
1523
+ Value: 24
1524
+ }],
1525
+ Script:
1526
+ //脚本
1527
+ 'LC:=REF(VOL,1);\n\
1116
1528
  RSI1:SMA(MAX(VOL-LC,0),N1,1)/SMA(ABS(VOL-LC),N1,1)*100;\n\
1117
1529
  RSI2:SMA(MAX(VOL-LC,0),N2,1)/SMA(ABS(VOL-LC),N2,1)*100;\n\
1118
1530
  RSI3:SMA(MAX(VOL-LC,0),N3,1)/SMA(ABS(VOL-LC),N3,1)*100;'
1119
-
1120
- };
1121
-
1122
- return data;
1531
+ };
1532
+ return data;
1123
1533
  };
1124
-
1125
1534
  JSIndexScript.prototype.HSCOL = function () {
1126
- var data = {
1127
- Name: 'HSCOL', Description: '换手柱', IsMainIndex: false,
1128
- Args: [{ Name: 'N', Value: 5 }],
1129
- Script: //脚本
1130
- 'HSCOL:IF((SETCODE==0||SETCODE==1),100*VOL,VOL)/(FINANCE(7)/100),VOLSTICK;\n\
1535
+ var data = {
1536
+ Name: 'HSCOL',
1537
+ Description: '换手柱',
1538
+ IsMainIndex: false,
1539
+ Args: [{
1540
+ Name: 'N',
1541
+ Value: 5
1542
+ }],
1543
+ Script:
1544
+ //脚本
1545
+ 'HSCOL:IF((SETCODE==0||SETCODE==1),100*VOL,VOL)/(FINANCE(7)/100),VOLSTICK;\n\
1131
1546
  MAHSL:MA(HSCOL,N);'
1132
-
1133
- };
1134
-
1135
- return data;
1547
+ };
1548
+ return data;
1136
1549
  };
1137
-
1138
1550
  JSIndexScript.prototype.DBQRV = function () {
1139
- var data = {
1140
- Name: 'DBQRV', Description: '对比强弱量(需下载日线)', IsMainIndex: false,
1141
- Args: [{ Name: 'N', Value: 5 }],
1142
- Script: //脚本
1143
- 'ZS:(INDEXV-REF(INDEXV,N))/REF(INDEXV,N);\n\
1551
+ var data = {
1552
+ Name: 'DBQRV',
1553
+ Description: '对比强弱量(需下载日线)',
1554
+ IsMainIndex: false,
1555
+ Args: [{
1556
+ Name: 'N',
1557
+ Value: 5
1558
+ }],
1559
+ Script:
1560
+ //脚本
1561
+ 'ZS:(INDEXV-REF(INDEXV,N))/REF(INDEXV,N);\n\
1144
1562
  GG:(VOL-REF(VOL,N))/REF(VOL,N);'
1145
-
1146
- };
1147
-
1148
- return data;
1563
+ };
1564
+ return data;
1149
1565
  };
1150
-
1151
1566
  JSIndexScript.prototype.DBLB = function () {
1152
- var data = {
1153
- Name: 'DBLB', Description: '对比量比(需下载日线)', IsMainIndex: false,
1154
- Args: [{ Name: 'N', Value: 5 }, { Name: 'M', Value: 5 }],
1155
- Script: //脚本
1156
- 'GG:=VOL/SUM(REF(VOL,1),N);\n\
1567
+ var data = {
1568
+ Name: 'DBLB',
1569
+ Description: '对比量比(需下载日线)',
1570
+ IsMainIndex: false,
1571
+ Args: [{
1572
+ Name: 'N',
1573
+ Value: 5
1574
+ }, {
1575
+ Name: 'M',
1576
+ Value: 5
1577
+ }],
1578
+ Script:
1579
+ //脚本
1580
+ 'GG:=VOL/SUM(REF(VOL,1),N);\n\
1157
1581
  ZS:=INDEXV/SUM(REF(INDEXV,1),N);\n\
1158
1582
  DBLB:GG/ZS;\n\
1159
1583
  MADBLB:MA(DBLB,M);'
1160
-
1161
- };
1162
-
1163
- return data;
1584
+ };
1585
+ return data;
1164
1586
  };
1165
-
1166
1587
  JSIndexScript.prototype.ACD = function () {
1167
- var data = {
1168
- Name: 'ACD', Description: '升降线', IsMainIndex: false,
1169
- Args: [{ Name: 'M', Value: 20 }],
1170
- Script: //脚本
1171
- 'LC:=REF(CLOSE,1);\n\
1588
+ var data = {
1589
+ Name: 'ACD',
1590
+ Description: '升降线',
1591
+ IsMainIndex: false,
1592
+ Args: [{
1593
+ Name: 'M',
1594
+ Value: 20
1595
+ }],
1596
+ Script:
1597
+ //脚本
1598
+ 'LC:=REF(CLOSE,1);\n\
1172
1599
  DIF:=CLOSE-IF(CLOSE>LC,MIN(LOW,LC),MAX(HIGH,LC));\n\
1173
1600
  ACD:SUM(IF(CLOSE==LC,0,DIF),0);\n\
1174
1601
  MAACD:EXPMEMA(ACD,M);'
1175
-
1176
- };
1177
-
1178
- return data;
1602
+ };
1603
+ return data;
1179
1604
  };
1180
-
1181
1605
  JSIndexScript.prototype.EXPMA = function () {
1182
- var data = {
1183
- Name: 'EXPMA', Description: '指数平均线', IsMainIndex: true,
1184
- Args: [{ Name: 'M1', Value: 12 }, { Name: 'M2', Value: 50 }],
1185
- Script: //脚本
1186
- 'EXP1:EMA(CLOSE,M1);\n\
1606
+ var data = {
1607
+ Name: 'EXPMA',
1608
+ Description: '指数平均线',
1609
+ IsMainIndex: true,
1610
+ Args: [{
1611
+ Name: 'M1',
1612
+ Value: 12
1613
+ }, {
1614
+ Name: 'M2',
1615
+ Value: 50
1616
+ }],
1617
+ Script:
1618
+ //脚本
1619
+ 'EXP1:EMA(CLOSE,M1);\n\
1187
1620
  EXP2:EMA(CLOSE,M2);'
1188
-
1189
- };
1190
-
1191
- return data;
1621
+ };
1622
+ return data;
1192
1623
  };
1193
-
1194
1624
  JSIndexScript.prototype.EXPMA_S = function () {
1195
- var data = {
1196
- Name: 'EXPMA_S', Description: '指数平均线-副图', IsMainIndex: false,
1197
- Args: [{ Name: 'M1', Value: 12 }, { Name: 'M2', Value: 50 }],
1198
- Script: //脚本
1199
- 'EXP1:EMA(CLOSE,M1);\n\
1625
+ var data = {
1626
+ Name: 'EXPMA_S',
1627
+ Description: '指数平均线-副图',
1628
+ IsMainIndex: false,
1629
+ Args: [{
1630
+ Name: 'M1',
1631
+ Value: 12
1632
+ }, {
1633
+ Name: 'M2',
1634
+ Value: 50
1635
+ }],
1636
+ Script:
1637
+ //脚本
1638
+ 'EXP1:EMA(CLOSE,M1);\n\
1200
1639
  EXP2:EMA(CLOSE,M2);'
1201
-
1202
- };
1203
-
1204
- return data;
1640
+ };
1641
+ return data;
1205
1642
  };
1206
-
1207
1643
  JSIndexScript.prototype.HMA = function () {
1208
- var data = {
1209
- Name: 'HMA', Description: '高价平均线', IsMainIndex: true,
1210
- Args: [{ Name: 'M1', Value: 6 }, { Name: 'M2', Value: 12 }, { Name: 'M3', Value: 30 }, { Name: 'M4', Value: 72 }, { Name: 'M5', Value: 144 }],
1211
- Script: //脚本
1212
- 'HMA1:MA(HIGH,M1);\n\
1644
+ var data = {
1645
+ Name: 'HMA',
1646
+ Description: '高价平均线',
1647
+ IsMainIndex: true,
1648
+ Args: [{
1649
+ Name: 'M1',
1650
+ Value: 6
1651
+ }, {
1652
+ Name: 'M2',
1653
+ Value: 12
1654
+ }, {
1655
+ Name: 'M3',
1656
+ Value: 30
1657
+ }, {
1658
+ Name: 'M4',
1659
+ Value: 72
1660
+ }, {
1661
+ Name: 'M5',
1662
+ Value: 144
1663
+ }],
1664
+ Script:
1665
+ //脚本
1666
+ 'HMA1:MA(HIGH,M1);\n\
1213
1667
  HMA2:MA(HIGH,M2);\n\
1214
1668
  HMA3:MA(HIGH,M3);\n\
1215
1669
  HMA4:MA(HIGH,M4);\n\
1216
1670
  HMA5:MA(HIGH,M5);'
1217
-
1218
- };
1219
-
1220
- return data;
1671
+ };
1672
+ return data;
1221
1673
  };
1222
-
1223
1674
  JSIndexScript.prototype.LMA = function () {
1224
- var data = {
1225
- Name: 'LMA', Description: '低价平均线', IsMainIndex: true,
1226
- Args: [{ Name: 'M1', Value: 6 }, { Name: 'M2', Value: 12 }, { Name: 'M3', Value: 30 }, { Name: 'M4', Value: 72 }, { Name: 'M5', Value: 144 }],
1227
- Script: //脚本
1228
- 'LMA1:MA(LOW,M1);\n\
1675
+ var data = {
1676
+ Name: 'LMA',
1677
+ Description: '低价平均线',
1678
+ IsMainIndex: true,
1679
+ Args: [{
1680
+ Name: 'M1',
1681
+ Value: 6
1682
+ }, {
1683
+ Name: 'M2',
1684
+ Value: 12
1685
+ }, {
1686
+ Name: 'M3',
1687
+ Value: 30
1688
+ }, {
1689
+ Name: 'M4',
1690
+ Value: 72
1691
+ }, {
1692
+ Name: 'M5',
1693
+ Value: 144
1694
+ }],
1695
+ Script:
1696
+ //脚本
1697
+ 'LMA1:MA(LOW,M1);\n\
1229
1698
  LMA2:MA(LOW,M2);\n\
1230
1699
  LMA3:MA(LOW,M3);\n\
1231
1700
  LMA4:MA(LOW,M4);\n\
1232
1701
  LMA5:MA(LOW,M5);'
1233
-
1234
- };
1235
-
1236
- return data;
1702
+ };
1703
+ return data;
1237
1704
  };
1238
-
1239
1705
  JSIndexScript.prototype.VMA = function () {
1240
- var data = {
1241
- Name: 'VMA', Description: '变异平均线', IsMainIndex: true,
1242
- Args: [{ Name: 'M1', Value: 6 }, { Name: 'M2', Value: 12 }, { Name: 'M3', Value: 30 }, { Name: 'M4', Value: 72 }, { Name: 'M5', Value: 144 }],
1243
- Script: //脚本
1244
- 'VV:=(HIGH+OPEN+LOW+CLOSE)/4;\n\
1706
+ var data = {
1707
+ Name: 'VMA',
1708
+ Description: '变异平均线',
1709
+ IsMainIndex: true,
1710
+ Args: [{
1711
+ Name: 'M1',
1712
+ Value: 6
1713
+ }, {
1714
+ Name: 'M2',
1715
+ Value: 12
1716
+ }, {
1717
+ Name: 'M3',
1718
+ Value: 30
1719
+ }, {
1720
+ Name: 'M4',
1721
+ Value: 72
1722
+ }, {
1723
+ Name: 'M5',
1724
+ Value: 144
1725
+ }],
1726
+ Script:
1727
+ //脚本
1728
+ 'VV:=(HIGH+OPEN+LOW+CLOSE)/4;\n\
1245
1729
  VMA1:MA(VV,M1);\n\
1246
1730
  VMA2:MA(VV,M2);\n\
1247
1731
  VMA3:MA(VV,M3);\n\
1248
1732
  VMA4:MA(VV,M4);\n\
1249
1733
  VMA5:MA(VV,M5);'
1250
-
1251
- };
1252
-
1253
- return data;
1734
+ };
1735
+ return data;
1254
1736
  };
1255
-
1256
1737
  JSIndexScript.prototype.AMV = function () {
1257
- var data = {
1258
- Name: 'AMV', Description: '成本价均线', IsMainIndex: false,
1259
- Args: [{ Name: 'M1', Value: 6 }, { Name: 'M2', Value: 12 }, { Name: 'M3', Value: 30 }, { Name: 'M4', Value: 72 }, { Name: 'M5', Value: 144 }],
1260
- Script: //脚本
1261
- 'AMOV:=VOL*(OPEN+CLOSE)/2;\n\
1738
+ var data = {
1739
+ Name: 'AMV',
1740
+ Description: '成本价均线',
1741
+ IsMainIndex: false,
1742
+ Args: [{
1743
+ Name: 'M1',
1744
+ Value: 6
1745
+ }, {
1746
+ Name: 'M2',
1747
+ Value: 12
1748
+ }, {
1749
+ Name: 'M3',
1750
+ Value: 30
1751
+ }, {
1752
+ Name: 'M4',
1753
+ Value: 72
1754
+ }, {
1755
+ Name: 'M5',
1756
+ Value: 144
1757
+ }],
1758
+ Script:
1759
+ //脚本
1760
+ 'AMOV:=VOL*(OPEN+CLOSE)/2;\n\
1262
1761
  AMV1:SUM(AMOV,M1)/SUM(VOL,M1);\n\
1263
1762
  AMV2:SUM(AMOV,M2)/SUM(VOL,M2);\n\
1264
1763
  AMV3:SUM(AMOV,M3)/SUM(VOL,M3);\n\
1265
1764
  AMV4:SUM(AMOV,M4)/SUM(VOL,M4);'
1266
-
1267
- };
1268
-
1269
- return data;
1765
+ };
1766
+ return data;
1270
1767
  };
1271
-
1272
1768
  JSIndexScript.prototype.BBIBOLL = function () {
1273
- var data = {
1274
- Name: 'BBIBOLL', Description: '多空布林线', IsMainIndex: true,
1275
- Args: [{ Name: 'N', Value: 11 }, { Name: 'M', Value: 6 }],
1276
- Script: //脚本
1277
- 'CV:=CLOSE;\n\
1769
+ var data = {
1770
+ Name: 'BBIBOLL',
1771
+ Description: '多空布林线',
1772
+ IsMainIndex: true,
1773
+ Args: [{
1774
+ Name: 'N',
1775
+ Value: 11
1776
+ }, {
1777
+ Name: 'M',
1778
+ Value: 6
1779
+ }],
1780
+ Script:
1781
+ //脚本
1782
+ 'CV:=CLOSE;\n\
1278
1783
  BBIBOLL:(MA(CV,3)+MA(CV,6)+MA(CV,12)+MA(CV,24))/4;\n\
1279
1784
  UPR:BBIBOLL+M*STD(BBIBOLL,N);\n\
1280
1785
  DWN:BBIBOLL-M*STD(BBIBOLL,N);'
1281
-
1282
- };
1283
-
1284
- return data;
1786
+ };
1787
+ return data;
1285
1788
  };
1286
-
1287
1789
  JSIndexScript.prototype.ALLIGAT = function () {
1288
- var data = {
1289
- Name: 'ALLIGAT', Description: '鳄鱼线', IsMainIndex: true,
1290
- Args: [],
1291
- Script: //脚本
1292
- 'NN:=(H+L)/2;\n\
1790
+ var data = {
1791
+ Name: 'ALLIGAT',
1792
+ Description: '鳄鱼线',
1793
+ IsMainIndex: true,
1794
+ Args: [],
1795
+ Script:
1796
+ //脚本
1797
+ 'NN:=(H+L)/2;\n\
1293
1798
  上唇:REF(MA(NN,5),3),COLOR40FF40;\n\
1294
1799
  牙齿:REF(MA(NN,8),5),COLOR0000C0;\n\
1295
1800
  下颚:REF(MA(NN,13),8),COLORFF4040;'
1296
-
1297
- };
1298
-
1299
- return data;
1801
+ };
1802
+ return data;
1300
1803
  };
1301
-
1302
1804
  JSIndexScript.prototype.ZX = function () {
1303
- var data = {
1304
- Name: 'ZX', Description: '重心线', IsMainIndex: false,
1305
- Args: [],
1306
- Script: //脚本
1307
- 'AV:0.01*AMOUNT/VOL;'
1308
-
1309
- };
1310
-
1311
- return data;
1805
+ var data = {
1806
+ Name: 'ZX',
1807
+ Description: '重心线',
1808
+ IsMainIndex: false,
1809
+ Args: [],
1810
+ Script:
1811
+ //脚本
1812
+ 'AV:0.01*AMOUNT/VOL;'
1813
+ };
1814
+ return data;
1312
1815
  };
1313
-
1314
1816
  JSIndexScript.prototype.XS = function () {
1315
- var data = {
1316
- Name: 'XS', Description: '薛斯通道', IsMainIndex: true,
1317
- Args: [{ Name: 'N', Value: 13 }],
1318
- Script: //脚本
1319
- 'VAR2:=CLOSE*VOL;\n\
1817
+ var data = {
1818
+ Name: 'XS',
1819
+ Description: '薛斯通道',
1820
+ IsMainIndex: true,
1821
+ Args: [{
1822
+ Name: 'N',
1823
+ Value: 13
1824
+ }],
1825
+ Script:
1826
+ //脚本
1827
+ 'VAR2:=CLOSE*VOL;\n\
1320
1828
  VAR3:=EMA((EMA(VAR2,3)/EMA(VOL,3)+EMA(VAR2,6)/EMA(VOL,6)+EMA(VAR2,12)/EMA(VOL,12)+EMA(VAR2,24)/EMA(VOL,24))/4,N);\n\
1321
1829
  SUP:1.06*VAR3;\n\
1322
1830
  SDN:VAR3*0.94;\n\
1323
1831
  VAR4:=EMA(CLOSE,9);\n\
1324
1832
  LUP:EMA(VAR4*1.14,5);\n\
1325
1833
  LDN:EMA(VAR4*0.86,5);'
1326
-
1327
- };
1328
-
1329
- return data;
1834
+ };
1835
+ return data;
1330
1836
  };
1331
-
1332
1837
  JSIndexScript.prototype.XS2 = function () {
1333
- var data = {
1334
- Name: 'XS2', Description: '薛斯通道II', IsMainIndex: true,
1335
- Args: [{ Name: 'N', Value: 102 }, { Name: 'M', Value: 7 }],
1336
- Script: //脚本
1337
- 'AA:=MA((2*CLOSE+HIGH+LOW)/4,5); \n\
1838
+ var data = {
1839
+ Name: 'XS2',
1840
+ Description: '薛斯通道II',
1841
+ IsMainIndex: true,
1842
+ Args: [{
1843
+ Name: 'N',
1844
+ Value: 102
1845
+ }, {
1846
+ Name: 'M',
1847
+ Value: 7
1848
+ }],
1849
+ Script:
1850
+ //脚本
1851
+ 'AA:=MA((2*CLOSE+HIGH+LOW)/4,5); \n\
1338
1852
  通道1:AA*N/100; \n\
1339
1853
  通道2:AA*(200-N)/100; \n\
1340
1854
  CC:=ABS((2*CLOSE+HIGH+LOW)/4-MA(CLOSE,20))/MA(CLOSE,20); \n\
1341
1855
  DD:=DMA(CLOSE,CC); \n\
1342
1856
  通道3:(1+M/100)*DD; \n\
1343
1857
  通道4:(1-M/100)*DD;'
1344
-
1345
- };
1346
-
1347
- return data;
1858
+ };
1859
+ return data;
1348
1860
  };
1349
-
1350
1861
  JSIndexScript.prototype.SG_XDT = function () {
1351
- var data = {
1352
- Name: 'SG-XDT', Description: '心电图(需下载日线)', IsMainIndex: false,
1353
- Args: [{ Name: 'P1', Value: 5 }, { Name: 'P2', Value: 10 }],
1354
- Script: //脚本
1355
- 'QR:CLOSE/INDEXC*1000;\n\
1862
+ var data = {
1863
+ Name: 'SG-XDT',
1864
+ Description: '心电图(需下载日线)',
1865
+ IsMainIndex: false,
1866
+ Args: [{
1867
+ Name: 'P1',
1868
+ Value: 5
1869
+ }, {
1870
+ Name: 'P2',
1871
+ Value: 10
1872
+ }],
1873
+ Script:
1874
+ //脚本
1875
+ 'QR:CLOSE/INDEXC*1000;\n\
1356
1876
  MQR1:MA(QR,5);\n\
1357
1877
  MQR2:MA(QR,10);'
1358
-
1359
- };
1360
-
1361
- return data;
1878
+ };
1879
+ return data;
1362
1880
  };
1363
-
1364
1881
  JSIndexScript.prototype.SG_SMX = function () {
1365
- var data = {
1366
- Name: 'SG-SMX', Description: '生命线(需下载日线)', IsMainIndex: false,
1367
- Args: [{ Name: 'N', Value: 50 }],
1368
- Script: //脚本
1369
- 'H1:=HHV(HIGH,N);\n\
1882
+ var data = {
1883
+ Name: 'SG-SMX',
1884
+ Description: '生命线(需下载日线)',
1885
+ IsMainIndex: false,
1886
+ Args: [{
1887
+ Name: 'N',
1888
+ Value: 50
1889
+ }],
1890
+ Script:
1891
+ //脚本
1892
+ 'H1:=HHV(HIGH,N);\n\
1370
1893
  L1:=LLV(LOW,N);\n\
1371
1894
  H2:=HHV(INDEXH,N);\n\
1372
1895
  L2:=LLV(INDEXL,N);\n\
@@ -1374,51 +1897,60 @@ ZY:=CLOSE/INDEXC*2000;\n\
1374
1897
  ZY1:EMA(ZY,3);\n\
1375
1898
  ZY2:EMA(ZY,17);\n\
1376
1899
  ZY3:EMA(ZY,34);'
1377
-
1378
- };
1379
-
1380
- return data;
1900
+ };
1901
+ return data;
1381
1902
  };
1382
-
1383
1903
  JSIndexScript.prototype.SG_LB = function () {
1384
- var data = {
1385
- Name: 'SG-LB', Description: '量比(需下载日线)', IsMainIndex: false,
1386
- Args: [],
1387
- Script: //脚本
1388
- 'ZY2:=VOL/INDEXV*1000;\n\
1904
+ var data = {
1905
+ Name: 'SG-LB',
1906
+ Description: '量比(需下载日线)',
1907
+ IsMainIndex: false,
1908
+ Args: [],
1909
+ Script:
1910
+ //脚本
1911
+ 'ZY2:=VOL/INDEXV*1000;\n\
1389
1912
  量比:ZY2;\n\
1390
1913
  MA5:MA(ZY2,5);\n\
1391
1914
  MA10:MA(ZY2,10);'
1392
-
1393
- };
1394
-
1395
- return data;
1915
+ };
1916
+ return data;
1396
1917
  };
1397
-
1398
1918
  JSIndexScript.prototype.SG_PF = function () {
1399
- var data = {
1400
- Name: 'SG-PF', Description: '强势股评分(需下载日线)', IsMainIndex: false,
1401
- Args: [],
1402
- Script: //脚本
1403
- 'ZY1:=CLOSE/INDEXC*1000;\n\
1919
+ var data = {
1920
+ Name: 'SG-PF',
1921
+ Description: '强势股评分(需下载日线)',
1922
+ IsMainIndex: false,
1923
+ Args: [],
1924
+ Script:
1925
+ //脚本
1926
+ 'ZY1:=CLOSE/INDEXC*1000;\n\
1404
1927
  A1:=IF(ZY1>HHV(ZY1,3),10,0);\n\
1405
1928
  A2:=IF(ZY1>HHV(ZY1,5),15,0);\n\
1406
1929
  A3:=IF(ZY1>HHV(ZY1,10),20,0);\n\
1407
1930
  A4:=IF(ZY1>HHV(ZY1,2),10,0);\n\
1408
1931
  A5:=COUNT(ZY1>REF(ZY1,1) ,9)*5;\n\
1409
1932
  强势股评分:A1+A2+A3+A4+A5;'
1410
-
1411
- };
1412
-
1413
- return data;
1933
+ };
1934
+ return data;
1414
1935
  };
1415
-
1416
1936
  JSIndexScript.prototype.RAD = function () {
1417
- var data = {
1418
- Name: 'RAD', Description: '威力雷达(需下载日线)', IsMainIndex: false,
1419
- Args: [{ Name: 'D', Value: 3 }, { Name: 'S', Value: 30 }, { Name: 'M', Value: 30 }],
1420
- Script: //脚本
1421
- 'SM:=(OPEN+HIGH+CLOSE+LOW)/4;\n\
1937
+ var data = {
1938
+ Name: 'RAD',
1939
+ Description: '威力雷达(需下载日线)',
1940
+ IsMainIndex: false,
1941
+ Args: [{
1942
+ Name: 'D',
1943
+ Value: 3
1944
+ }, {
1945
+ Name: 'S',
1946
+ Value: 30
1947
+ }, {
1948
+ Name: 'M',
1949
+ Value: 30
1950
+ }],
1951
+ Script:
1952
+ //脚本
1953
+ 'SM:=(OPEN+HIGH+CLOSE+LOW)/4;\n\
1422
1954
  SMID:=MA(SM,D);\n\
1423
1955
  IM:=(INDEXO+INDEXH+INDEXL+INDEXC)/4;\n\
1424
1956
  IMID:=MA(IM,D);\n\
@@ -1426,68 +1958,71 @@ SI1:=(SMID-REF(SMID,1))/SMID;\n\
1426
1958
  II:=(IMID-REF(IMID,1))/IMID;\n\
1427
1959
  RADER1:SUM((SI1-II)*2,S)*1000;\n\
1428
1960
  RADERMA:SMA(RADER1,M,1);'
1429
-
1430
- };
1431
-
1432
- return data;
1961
+ };
1962
+ return data;
1433
1963
  };
1434
-
1435
1964
  JSIndexScript.prototype.SHT = function () {
1436
- var data = {
1437
- Name: 'SHT', Description: '龙系短线', IsMainIndex: false,
1438
- Args: [{ Name: 'N', Value: 5 }],
1439
- Script: //脚本
1440
- 'VAR1:=MA((VOL-REF(VOL,1))/REF(VOL,1),5);\n\
1965
+ var data = {
1966
+ Name: 'SHT',
1967
+ Description: '龙系短线',
1968
+ IsMainIndex: false,
1969
+ Args: [{
1970
+ Name: 'N',
1971
+ Value: 5
1972
+ }],
1973
+ Script:
1974
+ //脚本
1975
+ 'VAR1:=MA((VOL-REF(VOL,1))/REF(VOL,1),5);\n\
1441
1976
  VAR2:=(CLOSE-MA(CLOSE,24))/MA(CLOSE,24)*100;\n\
1442
1977
  MY: VAR2*(1+VAR1);\n\
1443
1978
  SHT: MY, COLORSTICK;\n\
1444
1979
  SHTMA: MA(SHT,N);'
1445
-
1446
- };
1447
-
1448
- return data;
1980
+ };
1981
+ return data;
1449
1982
  };
1450
-
1451
1983
  JSIndexScript.prototype.ZLJC = function () {
1452
- var data = {
1453
- Name: 'ZLJC', Description: '主力进出', IsMainIndex: false,
1454
- Args: [],
1455
- Script: //脚本
1456
- 'VAR1:=(CLOSE+LOW+HIGH)/3; \n\
1984
+ var data = {
1985
+ Name: 'ZLJC',
1986
+ Description: '主力进出',
1987
+ IsMainIndex: false,
1988
+ Args: [],
1989
+ Script:
1990
+ //脚本
1991
+ 'VAR1:=(CLOSE+LOW+HIGH)/3; \n\
1457
1992
  VAR2:=SUM(((VAR1-REF(LOW,1))-(HIGH-VAR1))*VOL/100000/(HIGH-LOW),0); \n\
1458
1993
  VAR3:=EMA(VAR2,1); \n\
1459
1994
  JCS:VAR3; \n\
1460
1995
  JCM:MA(VAR3,12); \n\
1461
1996
  JCL:MA(VAR3,26);'
1462
-
1463
- };
1464
-
1465
- return data;
1997
+ };
1998
+ return data;
1466
1999
  };
1467
-
1468
2000
  JSIndexScript.prototype.ZLMM = function () {
1469
- var data = {
1470
- Name: 'ZLMM', Description: '主力买卖', IsMainIndex: false,
1471
- Args: [],
1472
- Script: //脚本
1473
- 'LC :=REF(CLOSE,1);\n\
2001
+ var data = {
2002
+ Name: 'ZLMM',
2003
+ Description: '主力买卖',
2004
+ IsMainIndex: false,
2005
+ Args: [],
2006
+ Script:
2007
+ //脚本
2008
+ 'LC :=REF(CLOSE,1);\n\
1474
2009
  RSI2:=SMA(MAX(CLOSE-LC,0),12,1)/SMA(ABS(CLOSE-LC),12,1)*100;\n\
1475
2010
  RSI3:=SMA(MAX(CLOSE-LC,0),18,1)/SMA(ABS(CLOSE-LC),18,1)*100;\n\
1476
2011
  MMS:MA(3*RSI2-2*SMA(MAX(CLOSE-LC,0),16,1)/SMA(ABS(CLOSE-LC),16,1)*100,3);\n\
1477
2012
  MMM:EMA(MMS,8);\n\
1478
2013
  MML:MA(3*RSI3-2*SMA(MAX(CLOSE-LC,0),12,1)/SMA(ABS(CLOSE-LC),12,1)*100,5);'
1479
-
1480
- };
1481
-
1482
- return data;
2014
+ };
2015
+ return data;
1483
2016
  };
1484
-
1485
2017
  JSIndexScript.prototype.SLZT = function () {
1486
- var data = {
1487
- Name: 'SLZT', Description: '神龙在天', IsMainIndex: false,
1488
- Args: [],
1489
- Script: //脚本
1490
- '白龙: MA(CLOSE,125);\n\
2018
+ var data = {
2019
+ Name: 'SLZT',
2020
+ Description: '神龙在天',
2021
+ IsMainIndex: false,
2022
+ Args: [],
2023
+ Script:
2024
+ //脚本
2025
+ '白龙: MA(CLOSE,125);\n\
1491
2026
  黄龙: 白龙+2*STD(CLOSE,170);\n\
1492
2027
  紫龙: 白龙-2*STD(CLOSE,145);\n\
1493
2028
  青龙: SAR(125,1,7), LINESTICK;\n\
@@ -1495,116 +2030,137 @@ VAR2:=HHV(HIGH,70);\n\
1495
2030
  VAR3:=HHV(HIGH,20);\n\
1496
2031
  红龙: VAR2*0.83;\n\
1497
2032
  蓝龙: VAR3*0.91;'
1498
-
1499
- };
1500
-
1501
- return data;
2033
+ };
2034
+ return data;
1502
2035
  };
1503
-
1504
2036
  JSIndexScript.prototype.ADVOL = function () {
1505
- var data = {
1506
- Name: 'ADVOL', Description: '龙系离散量', IsMainIndex: false,
1507
- Args: [],
1508
- Script: //脚本
1509
- 'A:=SUM(((CLOSE-LOW)-(HIGH-CLOSE))*VOL/10000/(HIGH-LOW),0);\n\
2037
+ var data = {
2038
+ Name: 'ADVOL',
2039
+ Description: '龙系离散量',
2040
+ IsMainIndex: false,
2041
+ Args: [],
2042
+ Script:
2043
+ //脚本
2044
+ 'A:=SUM(((CLOSE-LOW)-(HIGH-CLOSE))*VOL/10000/(HIGH-LOW),0);\n\
1510
2045
  ADVOL:A;\n\
1511
2046
  MA1:MA(A,30);\n\
1512
2047
  MA2:MA(MA1,100);'
1513
-
1514
- };
1515
-
1516
- return data;
2048
+ };
2049
+ return data;
1517
2050
  };
1518
-
1519
2051
  JSIndexScript.prototype.CYC = function () {
1520
- var data = {
1521
- Name: 'CYC', Description: '成本均线', IsMainIndex: true,
1522
- Args: [{ Name: 'P1', Value: 5 }, { Name: 'P2', Value: 13 }, { Name: 'P3', Value: 34 }],
1523
- Script: //脚本
1524
- 'JJJ:=IF(DYNAINFO(8)>0.01,0.01*DYNAINFO(10)/DYNAINFO(8),DYNAINFO(3));\n\
2052
+ var data = {
2053
+ Name: 'CYC',
2054
+ Description: '成本均线',
2055
+ IsMainIndex: true,
2056
+ Args: [{
2057
+ Name: 'P1',
2058
+ Value: 5
2059
+ }, {
2060
+ Name: 'P2',
2061
+ Value: 13
2062
+ }, {
2063
+ Name: 'P3',
2064
+ Value: 34
2065
+ }],
2066
+ Script:
2067
+ //脚本
2068
+ 'JJJ:=IF(DYNAINFO(8)>0.01,0.01*DYNAINFO(10)/DYNAINFO(8),DYNAINFO(3));\n\
1525
2069
  DDD:=(DYNAINFO(5)<0.01 || DYNAINFO(6)<0.01);\n\
1526
2070
  JJJT:=IF(DDD,1,(JJJ<(DYNAINFO(5)+0.01) && JJJ>(DYNAINFO(6)-0.01)));\n\
1527
2071
  CYC1:IF(JJJT,0.01*EMA(AMOUNT,P1)/EMA(VOL,P1),EMA((HIGH+LOW+CLOSE)/3,P1));\n\
1528
2072
  CYC2:IF(JJJT,0.01*EMA(AMOUNT,P2)/EMA(VOL,P2),EMA((HIGH+LOW+CLOSE)/3,P2));\n\
1529
2073
  CYC3:IF(JJJT,0.01*EMA(AMOUNT,P3)/EMA(VOL,P3),EMA((HIGH+LOW+CLOSE)/3,P3));\n\
1530
2074
  CYC4:IF(JJJT,DMA(AMOUNT/(100*VOL),100*VOL/FINANCE(7)),EMA((HIGH+LOW+CLOSE)/3,120));'
1531
-
1532
- };
1533
-
1534
- return data;
2075
+ };
2076
+ return data;
1535
2077
  };
1536
-
1537
2078
  JSIndexScript.prototype.CYS = function () {
1538
- var data = {
1539
- Name: 'CYS', Description: '市场盈亏', IsMainIndex: false,
1540
- Args: [],
1541
- Script: //脚本
1542
- 'CYC13:EMA(AMOUNT,13)/EMA(VOL,13);\n\
2079
+ var data = {
2080
+ Name: 'CYS',
2081
+ Description: '市场盈亏',
2082
+ IsMainIndex: false,
2083
+ Args: [],
2084
+ Script:
2085
+ //脚本
2086
+ 'CYC13:EMA(AMOUNT,13)/EMA(VOL,13);\n\
1543
2087
  CYS:(CLOSE-CYC13)/CYC13*100;'
1544
-
1545
- };
1546
-
1547
- return data;
2088
+ };
2089
+ return data;
1548
2090
  };
1549
-
1550
2091
  JSIndexScript.prototype.CYQKL = function () {
1551
- var data = {
1552
- Name: 'CYQKL', Description: '博弈K线长度', IsMainIndex: false,
1553
- Args: [],
1554
- Script: //脚本
1555
- 'KL:100*(WINNER(CLOSE)-WINNER(OPEN));'
1556
-
1557
- };
1558
-
1559
- return data;
2092
+ var data = {
2093
+ Name: 'CYQKL',
2094
+ Description: '博弈K线长度',
2095
+ IsMainIndex: false,
2096
+ Args: [],
2097
+ Script:
2098
+ //脚本
2099
+ 'KL:100*(WINNER(CLOSE)-WINNER(OPEN));'
2100
+ };
2101
+ return data;
1560
2102
  };
1561
-
1562
2103
  JSIndexScript.prototype.SCR = function () {
1563
- var data = {
1564
- Name: 'SCR', Description: '筹码集中度', IsMainIndex: false,
1565
- Args: [{ Name: 'P1', Value: 90 }],
1566
- Script: //脚本
1567
- 'A:=P1+(100-P1)/2;\n\
2104
+ var data = {
2105
+ Name: 'SCR',
2106
+ Description: '筹码集中度',
2107
+ IsMainIndex: false,
2108
+ Args: [{
2109
+ Name: 'P1',
2110
+ Value: 90
2111
+ }],
2112
+ Script:
2113
+ //脚本
2114
+ 'A:=P1+(100-P1)/2;\n\
1568
2115
  B:=(100-P1)/2;\n\
1569
2116
  CC:=COST(A);\n\
1570
2117
  DD:=COST(B);\n\
1571
2118
  SCR:(CC-DD)/(CC+DD)*100/2;'
1572
-
1573
- };
1574
-
1575
- return data;
2119
+ };
2120
+ return data;
1576
2121
  };
1577
-
1578
2122
  JSIndexScript.prototype.ASR = function () {
1579
- var data = {
1580
- Name: 'ASR', Description: '浮筹比例', IsMainIndex: false,
1581
- Args: [],
1582
- Script: //脚本
1583
- 'ASR:(WINNER(C*1.1)-WINNER(C*0.9))/WINNER(HHV(H,0))*100;'
1584
-
1585
- };
1586
-
1587
- return data;
2123
+ var data = {
2124
+ Name: 'ASR',
2125
+ Description: '浮筹比例',
2126
+ IsMainIndex: false,
2127
+ Args: [],
2128
+ Script:
2129
+ //脚本
2130
+ 'ASR:(WINNER(C*1.1)-WINNER(C*0.9))/WINNER(HHV(H,0))*100;'
2131
+ };
2132
+ return data;
1588
2133
  };
1589
-
1590
2134
  JSIndexScript.prototype.SAR = function () {
1591
- var data = {
1592
- Name: 'SAR', Description: '抛物转向', IsMainIndex: true,
1593
- Args: [{ Name: 'P', Value: 10 }, { Name: 'STEP', Value: 2 }, { Name: 'MAXP', Value: 20 }],
1594
- Script: //脚本
1595
- 'S:SAR(P,STEP,MAXP),CIRCLEDOT;'
1596
-
1597
- };
1598
-
1599
- return data;
2135
+ var data = {
2136
+ Name: 'SAR',
2137
+ Description: '抛物转向',
2138
+ IsMainIndex: true,
2139
+ Args: [{
2140
+ Name: 'P',
2141
+ Value: 10
2142
+ }, {
2143
+ Name: 'STEP',
2144
+ Value: 2
2145
+ }, {
2146
+ Name: 'MAXP',
2147
+ Value: 20
2148
+ }],
2149
+ Script:
2150
+ //脚本
2151
+ 'S:SAR(P,STEP,MAXP),CIRCLEDOT;'
2152
+ };
2153
+ return data;
1600
2154
  };
1601
-
1602
2155
  JSIndexScript.prototype.TJCJL = function () {
1603
- var data = {
1604
- Name: '太极成交量', Description: '太极成交量', IsMainIndex: true,
1605
- Args: [],
1606
- Script: //脚本
1607
- '总手:VOL,NODRAW;\n\
2156
+ var data = {
2157
+ Name: '太极成交量',
2158
+ Description: '太极成交量',
2159
+ IsMainIndex: true,
2160
+ Args: [],
2161
+ Script:
2162
+ //脚本
2163
+ '总手:VOL,NODRAW;\n\
1608
2164
  ZZ:=IF(REF(C,1)>REF(O,1) AND O>REF(C,1)*1.014 AND C<O*1.02,1,3);\n\
1609
2165
  V5:=MA(V,5);\n\
1610
2166
  V12:=MA(V,12);\n\
@@ -1617,39 +2173,52 @@ STICKLINE(VOL>MA(VOL,5)*2 AND V>V34*3 AND C<REF(C,1)*1.05,0,VOL,10,0),COLORYELLO
1617
2173
  STICKLINE(VOL<MA(VOL,5)/2 AND V<V12/2,0,VOL,10,0),COLORBLUE;\n\
1618
2174
  STICKLINE(VOL>MA(VOL,5)*2 AND V>V34*3 AND C<REF(C,1)*1.05 AND CROSS(C,C6) AND V>V5*1.2 AND V>V12*1.2 AND ZZ>2 AND C>H*0.975,VOL*0.5,0,10,0),COLORRED;\n\
1619
2175
  STICKLINE(VOL>MA(VOL,5)*2 AND V>V34*3 AND C<REF(C,1)*1.05 AND CROSS(C6,C) AND V>V5*1.2 AND V>V12*1.2,VOL*0.5,0,10,0),COLORRED;'
1620
-
1621
- };
1622
-
1623
- return data;
2176
+ };
2177
+ return data;
1624
2178
  };
1625
2179
 
1626
2180
  /*
1627
2181
  飞龙四式-主图
1628
2182
  */
1629
2183
  JSIndexScript.prototype.Dragon4_Main = function () {
1630
- var data = {
1631
- Name: '飞龙四式', Description: '飞龙四式', IsMainIndex: true,
1632
- Args: [{ Name: 'N1', Value: 5 }, { Name: 'N2', Value: 10 }, { Name: 'N3', Value: 50 }, { Name: 'N4', Value: 60 }],
1633
- Script: //脚本
1634
- '蜻蜓点水:=EMA(CLOSE,N1),COLORGRAY;\n\
2184
+ var data = {
2185
+ Name: '飞龙四式',
2186
+ Description: '飞龙四式',
2187
+ IsMainIndex: true,
2188
+ Args: [{
2189
+ Name: 'N1',
2190
+ Value: 5
2191
+ }, {
2192
+ Name: 'N2',
2193
+ Value: 10
2194
+ }, {
2195
+ Name: 'N3',
2196
+ Value: 50
2197
+ }, {
2198
+ Name: 'N4',
2199
+ Value: 60
2200
+ }],
2201
+ Script:
2202
+ //脚本
2203
+ '蜻蜓点水:=EMA(CLOSE,N1),COLORGRAY;\n\
1635
2204
  魔界:=EMA(CLOSE,N2),COLORGREEN;\n\
1636
2205
  水:=EMA(CLOSE,N3),COLORRED;\n\
1637
2206
  DRAWKLINE(HIGH,OPEN,LOW,CLOSE);\n\
1638
2207
  生命线:MA(CLOSE,N4),COLORBLUE,LINETHICK2;\n\
1639
2208
  DRAWBAND(魔界,\'RGB(186,225,250)\',水,\'RGB(253,194,124)\');\n\
1640
2209
  DRAWBAND(蜻蜓点水,\'RGB(128,138,135)\',魔界,\'RGB(0,0,255)\');'
1641
-
1642
- };
1643
-
1644
- return data;
2210
+ };
2211
+ return data;
1645
2212
  };
1646
-
1647
2213
  JSIndexScript.prototype.Dragon4_Fig = function () {
1648
- var data = {
1649
- Name: '飞龙四式', Description: '飞龙四式', IsMainIndex: false,
1650
- Args: [],
1651
- Script: //脚本
1652
- '倍:VOL>=REF(V,1)*1.90 AND C>REF(C,1),COLORYELLOW;\n\
2214
+ var data = {
2215
+ Name: '飞龙四式',
2216
+ Description: '飞龙四式',
2217
+ IsMainIndex: false,
2218
+ Args: [],
2219
+ Script:
2220
+ //脚本
2221
+ '倍:VOL>=REF(V,1)*1.90 AND C>REF(C,1),COLORYELLOW;\n\
1653
2222
  低:VOL<REF(LLV(VOL,13),1),COLORGREEN;\n\
1654
2223
  地:VOL<REF(LLV(VOL,100),1),COLORMAGENTA; \n\
1655
2224
  平:=ABS(VOL-HHV(REF(VOL,1),5))/HHV(REF(VOL,1),5)<=0.03 OR ABS(VOL-REF(VOL,1))/REF(VOL,1)<=0.03,NODRAW,COLORWHITE;\n\
@@ -1665,10 +2234,8 @@ STICKLINE(平,0,V,2,0),COLORGRAY;\n\
1665
2234
  STICKLINE(倍缩,0,V,2,0),COLORFF8000;\n\
1666
2235
  STICKLINE(梯量,0,V,2,0),COLORBROWN;\n\
1667
2236
  STICKLINE(缩量涨,0,V,2,0),COLORBLUE;'
1668
-
1669
- };
1670
-
1671
- return data;
2237
+ };
2238
+ return data;
1672
2239
  };
1673
2240
 
1674
2241
  /*
@@ -1701,11 +2268,20 @@ DRAWICON(CROSS(散户线,主力线),主力线,2);
1701
2268
  */
1702
2269
 
1703
2270
  JSIndexScript.prototype.FundsAnalysis = function () {
1704
- var data = {
1705
- Name: '资金分析', Description: '资金分析', IsMainIndex: false,
1706
- Args: [{ Name: 'M', Value: 55 }, { Name: 'N', Value: 34 }],
1707
- Script: //脚本
1708
- 'LC:=REF(CLOSE,1);\n\
2271
+ var data = {
2272
+ Name: '资金分析',
2273
+ Description: '资金分析',
2274
+ IsMainIndex: false,
2275
+ Args: [{
2276
+ Name: 'M',
2277
+ Value: 55
2278
+ }, {
2279
+ Name: 'N',
2280
+ Value: 34
2281
+ }],
2282
+ Script:
2283
+ //脚本
2284
+ 'LC:=REF(CLOSE,1);\n\
1709
2285
  RSI:=((SMA(MAX((CLOSE - LC),0),3,1) / SMA(ABS((CLOSE - LC)),3,1)) * 100);\n\
1710
2286
  FF:=EMA(CLOSE,3);\n\
1711
2287
  MA15:=EMA(CLOSE,21); DRAWTEXT(CROSS(85,RSI),75,\'▼\'),COLORGREEN;\n\
@@ -1728,29 +2304,33 @@ J:=3*K-2*D;\n\
1728
2304
  主力线:EMA(J,5),COLORF39800,LINETHICK2;\n\
1729
2305
  DRAWICON(CROSS(主力线,散户线),主力线,1);\n\
1730
2306
  DRAWICON(CROSS(散户线,主力线),主力线,2);'
1731
- };
1732
-
1733
- return data;
2307
+ };
2308
+ return data;
1734
2309
  };
1735
-
1736
2310
  JSIndexScript.prototype.MarginProportion = function () {
1737
- var data = {
1738
- Name: '融资占比(%)', Description: '融资占比', IsMainIndex: false,
1739
- Condition: { Period: [CONDITION_PERIOD.KLINE_DAY_ID] },
1740
- Args: [],
1741
- Script: //脚本
1742
- '占比:MARGIN(2);'
1743
- };
1744
-
1745
- return data;
2311
+ var data = {
2312
+ Name: '融资占比(%)',
2313
+ Description: '融资占比',
2314
+ IsMainIndex: false,
2315
+ Condition: {
2316
+ Period: [CONDITION_PERIOD.KLINE_DAY_ID]
2317
+ },
2318
+ Args: [],
2319
+ Script:
2320
+ //脚本
2321
+ '占比:MARGIN(2);'
2322
+ };
2323
+ return data;
1746
2324
  };
1747
-
1748
2325
  JSIndexScript.prototype.FXG_BSPoint = function () {
1749
- var data = {
1750
- Name: '操盘BS点', Description: '操盘BS点', IsMainIndex: true,
1751
- Args: [],
1752
- Script: //脚本
1753
- 'MA5:MA(CLOSE,5);\n\
2326
+ var data = {
2327
+ Name: '操盘BS点',
2328
+ Description: '操盘BS点',
2329
+ IsMainIndex: true,
2330
+ Args: [],
2331
+ Script:
2332
+ //脚本
2333
+ 'MA5:MA(CLOSE,5);\n\
1754
2334
  MA13:MA(CLOSE,13);\n\
1755
2335
  MA21:MA(CLOSE,21);\n\
1756
2336
  MA34:MA(CLOSE,34);\n\
@@ -1766,32 +2346,34 @@ JSIndexScript.prototype.FXG_BSPoint = function () {
1766
2346
  DRAWKLINE_IF(天使<魔鬼,HIGH,CLOSE,LOW,OPEN),COLORBLUE;\n\
1767
2347
  DRAWKLINE_IF(CROSS(天使,魔鬼),HIGH,CLOSE,LOW,OPEN),COLORYELLOW;\n\
1768
2348
  DRAWKLINE_IF(CROSS(魔鬼,天使),HIGH,CLOSE,LOW,OPEN),COLORBLACK;'
1769
- };
1770
-
1771
- return data;
2349
+ };
2350
+ return data;
1772
2351
  };
1773
-
1774
2352
  JSIndexScript.prototype.FXG_INDEX = function () {
1775
- var data = {
1776
- Name: '涨停多空线', Description: '涨停多空线', IsMainIndex: false,
1777
- Args: [],
1778
- Script: //脚本
1779
- '做多能量线: SMA((CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100,5,1)-8,COLORRED,LINETHICK3;\n\
2353
+ var data = {
2354
+ Name: '涨停多空线',
2355
+ Description: '涨停多空线',
2356
+ IsMainIndex: false,
2357
+ Args: [],
2358
+ Script:
2359
+ //脚本
2360
+ '做多能量线: SMA((CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100,5,1)-8,COLORRED,LINETHICK3;\n\
1780
2361
  做空能量线: SMA((HHV(HIGH,36)-CLOSE)/(HHV(HIGH,36)-LLV(LOW,36))*100,2,1),COLORGREEN,LINETHICK3;\n\
1781
2362
  20,POINTDOT,COLORF00FF0;\n\
1782
2363
  50,POINTDOT,COLORGREEN;\n\
1783
2364
  80,POINTDOT,COLORLIBLUE;'
1784
- };
1785
-
1786
- return data;
2365
+ };
2366
+ return data;
1787
2367
  };
1788
-
1789
2368
  JSIndexScript.prototype.FXG_INDEX2 = function () {
1790
- var data = {
1791
- Name: '涨停吸筹区', Description: '涨停吸筹区', IsMainIndex: false,
1792
- Args: [],
1793
- Script: //脚本
1794
- 'VAR0:=EMA(HHV(HIGH,500),21); \n\
2369
+ var data = {
2370
+ Name: '涨停吸筹区',
2371
+ Description: '涨停吸筹区',
2372
+ IsMainIndex: false,
2373
+ Args: [],
2374
+ Script:
2375
+ //脚本
2376
+ 'VAR0:=EMA(HHV(HIGH,500),21); \n\
1795
2377
  VAR1:=EMA(HHV(HIGH,250),21);\n\
1796
2378
  VAR2:=EMA(HHV(HIGH,90),21); \n\
1797
2379
  VAR3:=EMA(LLV(LOW,500),21); \n\
@@ -1817,17 +2399,19 @@ A2:IFF(资金入场>0,资金入场*0.8,0),STICK,LINETHICK5, COLORFF6600;\n\
1817
2399
  A3:IFF(资金入场>0,资金入场*0.6,0),STICK,LINETHICK5, COLORFF9900;\n\
1818
2400
  A4:IFF(资金入场>0,资金入场*0.4,0) ,STICK,LINETHICK5,COLORFFCC00;\n\
1819
2401
  A5:IFF(资金入场>0,资金入场*0.2,0) ,STICK,LINETHICK5,COLORFFFF00;'
1820
- };
1821
-
1822
- return data;
2402
+ };
2403
+ return data;
1823
2404
  };
1824
-
1825
2405
  JSIndexScript.prototype.FXG_INDEX3 = function () {
1826
- var data = {
1827
- Name: '量能黄金点', Description: '量能黄金点', IsMainIndex: false, FloatPrecision: 0,
1828
- Args: [],
1829
- Script: //脚本
1830
- 'A:=IFF((CLOSE>126.32),VOL,VOL); \n\
2406
+ var data = {
2407
+ Name: '量能黄金点',
2408
+ Description: '量能黄金点',
2409
+ IsMainIndex: false,
2410
+ FloatPrecision: 0,
2411
+ Args: [],
2412
+ Script:
2413
+ //脚本
2414
+ 'A:=IFF((CLOSE>126.32),VOL,VOL); \n\
1831
2415
  主力:=MA(A,4),COLORRED;\n\
1832
2416
  游资:=MA(A,8),COLORYELLOW;\n\
1833
2417
  大户:=MA(A,16),COLORF0F000;\n\
@@ -1845,272 +2429,333 @@ STICKLINE((大户 > 0),0,大户,2.5,0),COLORFF8800;\n\
1845
2429
  STICKLINE((大户 > 0),0,大户,0.7,0),COLORLIBLUE;\n\
1846
2430
  STICKLINE((散户 > 0),0,散户,2.5,0),COLOR00CA00;\n\
1847
2431
  STICKLINE((散户 > 0),0,散户,0.7,0),COLORGREEN;'
1848
- };
1849
-
1850
- return data;
2432
+ };
2433
+ return data;
1851
2434
  };
1852
-
1853
2435
  JSIndexScript.prototype.NewsNegative = function () {
1854
- var data = {
1855
- Name: '负面新闻', Description: '负面新闻统计', IsMainIndex: false, FloatPrecision: 0,
1856
- Args: [{ Name: 'N', Value: 5 }, { Name: 'N2', Value: 10 }],
1857
- Script: //脚本
1858
- '负面:NEWS(1);\n\
2436
+ var data = {
2437
+ Name: '负面新闻',
2438
+ Description: '负面新闻统计',
2439
+ IsMainIndex: false,
2440
+ FloatPrecision: 0,
2441
+ Args: [{
2442
+ Name: 'N',
2443
+ Value: 5
2444
+ }, {
2445
+ Name: 'N2',
2446
+ Value: 10
2447
+ }],
2448
+ Script:
2449
+ //脚本
2450
+ '负面:NEWS(1);\n\
1859
2451
  MA1:MA(负面,N);\n\
1860
2452
  MA2:MA(负面,N2);'
1861
- };
1862
-
1863
- return data;
2453
+ };
2454
+ return data;
1864
2455
  };
1865
-
1866
2456
  JSIndexScript.prototype.UpDownAnalyze = function () {
1867
- var data = {
1868
- Name: '涨跌趋势', Description: '涨跌趋势', IsMainIndex: false, FloatPrecision: 0,
1869
- Condition: { Period: [CONDITION_PERIOD.MINUTE_ID, CONDITION_PERIOD.MULTIDAY_MINUTE_ID, CONDITION_PERIOD.KLINE_DAY_ID] },
1870
- Args: [],
1871
- Script: //脚本
1872
- "上涨家数:UPCOUNT('CNA.CI'),COLORRED;\n\
2457
+ var data = {
2458
+ Name: '涨跌趋势',
2459
+ Description: '涨跌趋势',
2460
+ IsMainIndex: false,
2461
+ FloatPrecision: 0,
2462
+ Condition: {
2463
+ Period: [CONDITION_PERIOD.MINUTE_ID, CONDITION_PERIOD.MULTIDAY_MINUTE_ID, CONDITION_PERIOD.KLINE_DAY_ID]
2464
+ },
2465
+ Args: [],
2466
+ Script:
2467
+ //脚本
2468
+ "上涨家数:UPCOUNT('CNA.CI'),COLORRED;\n\
1873
2469
  下跌家数:DOWNCOUNT('CNA.CI'),COLORGREEN;"
1874
- };
1875
-
1876
- return data;
2470
+ };
2471
+ return data;
1877
2472
  };
1878
-
1879
2473
  JSIndexScript.prototype.HK2SHSZ = function () {
1880
- var data = {
1881
- Name: '北上资金', Description: '北上资金', IsMainIndex: false, FloatPrecision: 0,
1882
- Condition: { Period: [CONDITION_PERIOD.MINUTE_ID, CONDITION_PERIOD.MULTIDAY_MINUTE_ID, CONDITION_PERIOD.KLINE_DAY_ID] },
1883
- Args: [],
1884
- Script: //脚本
1885
- "净流入:HK2SHSZ(1),COLORSTICK;"
1886
- };
1887
-
1888
- return data;
2474
+ var data = {
2475
+ Name: '北上资金',
2476
+ Description: '北上资金',
2477
+ IsMainIndex: false,
2478
+ FloatPrecision: 0,
2479
+ Condition: {
2480
+ Period: [CONDITION_PERIOD.MINUTE_ID, CONDITION_PERIOD.MULTIDAY_MINUTE_ID, CONDITION_PERIOD.KLINE_DAY_ID]
2481
+ },
2482
+ Args: [],
2483
+ Script:
2484
+ //脚本
2485
+ "净流入:HK2SHSZ(1),COLORSTICK;"
2486
+ };
2487
+ return data;
1889
2488
  };
1890
-
1891
2489
  JSIndexScript.prototype.ShareHolder = function () {
1892
- var data = {
1893
- Name: '股东人数', Description: '股东人数', IsMainIndex: false, FloatPrecision: 0,
1894
- Condition: { Period: [CONDITION_PERIOD.KLINE_DAY_ID, CONDITION_PERIOD.KLINE_MONTH_ID, CONDITION_PERIOD.KLINE_WEEK_ID, CONDITION_PERIOD.KLINE_YEAR_ID] },
1895
- Args: [],
1896
- Script: //脚本
1897
- "人数:FINANCE(100);"
1898
- };
1899
-
1900
- return data;
2490
+ var data = {
2491
+ Name: '股东人数',
2492
+ Description: '股东人数',
2493
+ IsMainIndex: false,
2494
+ FloatPrecision: 0,
2495
+ Condition: {
2496
+ Period: [CONDITION_PERIOD.KLINE_DAY_ID, CONDITION_PERIOD.KLINE_MONTH_ID, CONDITION_PERIOD.KLINE_WEEK_ID, CONDITION_PERIOD.KLINE_YEAR_ID]
2497
+ },
2498
+ Args: [],
2499
+ Script:
2500
+ //脚本
2501
+ "人数:FINANCE(100);"
2502
+ };
2503
+ return data;
1901
2504
  };
1902
-
1903
2505
  JSIndexScript.prototype.VOLRate = function () {
1904
- var data = {
1905
- Name: '量比', Description: '量比', IsMainIndex: false, Condition: { Period: [CONDITION_PERIOD.MINUTE_ID, CONDITION_PERIOD.MULTIDAY_MINUTE_ID] },
1906
- Args: [],
1907
- Script: //脚本
1908
- "LIANGBI:VOLR;"
1909
- };
1910
-
1911
- return data;
2506
+ var data = {
2507
+ Name: '量比',
2508
+ Description: '量比',
2509
+ IsMainIndex: false,
2510
+ Condition: {
2511
+ Period: [CONDITION_PERIOD.MINUTE_ID, CONDITION_PERIOD.MULTIDAY_MINUTE_ID]
2512
+ },
2513
+ Args: [],
2514
+ Script:
2515
+ //脚本
2516
+ "LIANGBI:VOLR;"
2517
+ };
2518
+ return data;
1912
2519
  };
1913
2520
 
1914
2521
  ////////////////////////////////////////////////////////////////////////////////////////////////
1915
2522
  //五彩K线
1916
2523
 
1917
2524
  JSIndexScript.prototype.COLOR_KSTAR1 = function () {
1918
- var data = {
1919
- Name: '十字星', Description: '十字星', IsMainIndex: true, InstructionType: 2,
1920
- Script: //脚本
1921
- 'KSTAR:CLOSE==OPEN&&HIGH>LOW;'
1922
- };
1923
-
1924
- return data;
2525
+ var data = {
2526
+ Name: '十字星',
2527
+ Description: '十字星',
2528
+ IsMainIndex: true,
2529
+ InstructionType: 2,
2530
+ Script:
2531
+ //脚本
2532
+ 'KSTAR:CLOSE==OPEN&&HIGH>LOW;'
2533
+ };
2534
+ return data;
1925
2535
  };
1926
-
1927
2536
  JSIndexScript.prototype.COLOR_KSTAR2 = function () {
1928
- var data = {
1929
- Name: '早晨之星', Description: '早晨之星', IsMainIndex: true, InstructionType: 2,
1930
- Script: //脚本
1931
- 'KSTAR:(REF(CLOSE,2)/REF(OPEN,2)<0.95) && (REF(OPEN,1) < REF(CLOSE,2)) && (ABS(REF(OPEN,1)-REF(CLOSE,1))/REF(CLOSE,1)<0.03) && CLOSE/OPEN>1.05 && CLOSE>REF(CLOSE,2);'
1932
- };
1933
-
1934
- return data;
2537
+ var data = {
2538
+ Name: '早晨之星',
2539
+ Description: '早晨之星',
2540
+ IsMainIndex: true,
2541
+ InstructionType: 2,
2542
+ Script:
2543
+ //脚本
2544
+ 'KSTAR:(REF(CLOSE,2)/REF(OPEN,2)<0.95) && (REF(OPEN,1) < REF(CLOSE,2)) && (ABS(REF(OPEN,1)-REF(CLOSE,1))/REF(CLOSE,1)<0.03) && CLOSE/OPEN>1.05 && CLOSE>REF(CLOSE,2);'
2545
+ };
2546
+ return data;
1935
2547
  };
1936
-
1937
2548
  JSIndexScript.prototype.COLOR_KSTAR3 = function () {
1938
- var data = {
1939
- Name: '黄昏之星', Description: '黄昏之星', IsMainIndex: true, InstructionType: 2,
1940
- Script: //脚本
1941
- 'KSTAR:REF(CLOSE,2)/REF(OPEN,2)>1.05 && REF(OPEN,1)>REF(CLOSE,2) && ABS(REF(OPEN,1)-REF(CLOSE,1))/REF(CLOSE,1)<0.03 && CLOSE/OPEN<0.95 && CLOSE<REF(CLOSE,2);'
1942
- };
1943
-
1944
- return data;
2549
+ var data = {
2550
+ Name: '黄昏之星',
2551
+ Description: '黄昏之星',
2552
+ IsMainIndex: true,
2553
+ InstructionType: 2,
2554
+ Script:
2555
+ //脚本
2556
+ 'KSTAR:REF(CLOSE,2)/REF(OPEN,2)>1.05 && REF(OPEN,1)>REF(CLOSE,2) && ABS(REF(OPEN,1)-REF(CLOSE,1))/REF(CLOSE,1)<0.03 && CLOSE/OPEN<0.95 && CLOSE<REF(CLOSE,2);'
2557
+ };
2558
+ return data;
1945
2559
  };
1946
-
1947
2560
  JSIndexScript.prototype.COLOR_SHI1 = function () {
1948
- var data = {
1949
- Name: '长十字', Description: '长十字', IsMainIndex: true, InstructionType: 2,
1950
- Script: //脚本
1951
- 'KSTAR:CLOSE==OPEN&&HIGH/LOW>1.03;'
1952
- };
1953
-
1954
- return data;
2561
+ var data = {
2562
+ Name: '长十字',
2563
+ Description: '长十字',
2564
+ IsMainIndex: true,
2565
+ InstructionType: 2,
2566
+ Script:
2567
+ //脚本
2568
+ 'KSTAR:CLOSE==OPEN&&HIGH/LOW>1.03;'
2569
+ };
2570
+ return data;
1955
2571
  };
1956
-
1957
2572
  JSIndexScript.prototype.COLOR_K220 = function () {
1958
- var data = {
1959
- Name: '身怀六甲', Description: '身怀六甲', IsMainIndex: true, InstructionType: 2,
1960
- Script: //脚本
1961
- 'KSTAR:ABS(REF(CLOSE,1)-REF(OPEN,1))/REF(CLOSE,1)>0.04&&\n\
2573
+ var data = {
2574
+ Name: '身怀六甲',
2575
+ Description: '身怀六甲',
2576
+ IsMainIndex: true,
2577
+ InstructionType: 2,
2578
+ Script:
2579
+ //脚本
2580
+ 'KSTAR:ABS(REF(CLOSE,1)-REF(OPEN,1))/REF(CLOSE,1)>0.04&&\n\
1962
2581
  ABS(CLOSE-OPEN)/CLOSE<0.005&&\n\
1963
2582
  MAX(CLOSE,OPEN)<MAX(REF(CLOSE,1),REF(OPEN,1))&&\n\
1964
2583
  MIN(CLOSE,OPEN)>MIN(REF(CLOSE,1),REF(OPEN,1));'
1965
- };
1966
-
1967
- return data;
2584
+ };
2585
+ return data;
1968
2586
  };
1969
-
1970
2587
  JSIndexScript.prototype.COLOR_K300 = function () {
1971
- var data = {
1972
- Name: '三个白武士', Description: '三个白武士', IsMainIndex: true, InstructionType: 2,
1973
- Script: //脚本
1974
- 'KSTAR:UPNDAY(CLOSE,3)&&NDAY(CLOSE,OPEN,3);'
1975
- };
1976
-
1977
- return data;
2588
+ var data = {
2589
+ Name: '三个白武士',
2590
+ Description: '三个白武士',
2591
+ IsMainIndex: true,
2592
+ InstructionType: 2,
2593
+ Script:
2594
+ //脚本
2595
+ 'KSTAR:UPNDAY(CLOSE,3)&&NDAY(CLOSE,OPEN,3);'
2596
+ };
2597
+ return data;
1978
2598
  };
1979
-
1980
2599
  JSIndexScript.prototype.COLOR_K310 = function () {
1981
- var data = {
1982
- Name: '三只乌鸦', Description: '三只乌鸦', IsMainIndex: true, InstructionType: 2,
1983
- Script: //脚本
1984
- 'KSTAR:DOWNNDAY(CLOSE,3)&&NDAY(OPEN,CLOSE,3);'
1985
- };
1986
-
1987
- return data;
2600
+ var data = {
2601
+ Name: '三只乌鸦',
2602
+ Description: '三只乌鸦',
2603
+ IsMainIndex: true,
2604
+ InstructionType: 2,
2605
+ Script:
2606
+ //脚本
2607
+ 'KSTAR:DOWNNDAY(CLOSE,3)&&NDAY(OPEN,CLOSE,3);'
2608
+ };
2609
+ return data;
1988
2610
  };
1989
-
1990
2611
  JSIndexScript.prototype.COLOR_K380 = function () {
1991
- var data = {
1992
- Name: '光头阳线', Description: '光头阳线', IsMainIndex: true, InstructionType: 2,
1993
- Script: //脚本
1994
- 'KSTAR:HIGH==CLOSE&&HIGH>LOW;'
1995
- };
1996
-
1997
- return data;
2612
+ var data = {
2613
+ Name: '光头阳线',
2614
+ Description: '光头阳线',
2615
+ IsMainIndex: true,
2616
+ InstructionType: 2,
2617
+ Script:
2618
+ //脚本
2619
+ 'KSTAR:HIGH==CLOSE&&HIGH>LOW;'
2620
+ };
2621
+ return data;
1998
2622
  };
1999
-
2000
2623
  JSIndexScript.prototype.COLOR_K390 = function () {
2001
- var data = {
2002
- Name: '光脚阴线', Description: '光脚阴线', IsMainIndex: true, InstructionType: 2,
2003
- Script: //脚本
2004
- 'KSTAR:LOW==CLOSE&&HIGH>LOW;'
2005
- };
2006
-
2007
- return data;
2624
+ var data = {
2625
+ Name: '光脚阴线',
2626
+ Description: '光脚阴线',
2627
+ IsMainIndex: true,
2628
+ InstructionType: 2,
2629
+ Script:
2630
+ //脚本
2631
+ 'KSTAR:LOW==CLOSE&&HIGH>LOW;'
2632
+ };
2633
+ return data;
2008
2634
  };
2009
-
2010
2635
  JSIndexScript.prototype.COLOR_K134 = function () {
2011
- var data = {
2012
- Name: '垂死十字', Description: '垂死十字', IsMainIndex: true, InstructionType: 2,
2013
- Script: //脚本
2014
- 'KSTAR:CLOSE==OPEN&&CLOSE==LOW&&CLOSE<HIGH;'
2015
- };
2016
-
2017
- return data;
2636
+ var data = {
2637
+ Name: '垂死十字',
2638
+ Description: '垂死十字',
2639
+ IsMainIndex: true,
2640
+ InstructionType: 2,
2641
+ Script:
2642
+ //脚本
2643
+ 'KSTAR:CLOSE==OPEN&&CLOSE==LOW&&CLOSE<HIGH;'
2644
+ };
2645
+ return data;
2018
2646
  };
2019
-
2020
2647
  JSIndexScript.prototype.COLOR_K140 = function () {
2021
- var data = {
2022
- Name: '早晨十字星', Description: '早晨十字星', IsMainIndex: true, InstructionType: 2,
2023
- Script: //脚本
2024
- 'KSTAR:REF(CLOSE,2)/REF(OPEN,2)<0.95&&\n\
2648
+ var data = {
2649
+ Name: '早晨十字星',
2650
+ Description: '早晨十字星',
2651
+ IsMainIndex: true,
2652
+ InstructionType: 2,
2653
+ Script:
2654
+ //脚本
2655
+ 'KSTAR:REF(CLOSE,2)/REF(OPEN,2)<0.95&&\n\
2025
2656
  REF(OPEN,1)<REF(CLOSE,2)&&\n\
2026
2657
  REF(OPEN,1)==REF(CLOSE,1)&&\n\
2027
2658
  CLOSE/OPEN>1.05&&CLOSE>REF(CLOSE,2);'
2028
- };
2029
-
2030
- return data;
2659
+ };
2660
+ return data;
2031
2661
  };
2032
-
2033
2662
  JSIndexScript.prototype.COLOR_K150 = function () {
2034
- var data = {
2035
- Name: '黄昏十字星', Description: '黄昏十字星', IsMainIndex: true, InstructionType: 2,
2036
- Script: //脚本
2037
- 'KSTAR:REF(CLOSE,2)/REF(OPEN,2)>1.05&&\n\
2663
+ var data = {
2664
+ Name: '黄昏十字星',
2665
+ Description: '黄昏十字星',
2666
+ IsMainIndex: true,
2667
+ InstructionType: 2,
2668
+ Script:
2669
+ //脚本
2670
+ 'KSTAR:REF(CLOSE,2)/REF(OPEN,2)>1.05&&\n\
2038
2671
  REF(OPEN,1)>REF(CLOSE,2)&&\n\
2039
2672
  REF(OPEN,1)=REF(CLOSE,1)&&\n\
2040
2673
  CLOSE/OPEN<0.95&&CLOSE<REF(CLOSE,2);'
2041
- };
2042
-
2043
- return data;
2674
+ };
2675
+ return data;
2044
2676
  };
2045
-
2046
2677
  JSIndexScript.prototype.COLOR_K160 = function () {
2047
- var data = {
2048
- Name: '射击之星', Description: '射击之星', IsMainIndex: true, InstructionType: 2,
2049
- Script: //脚本
2050
- 'KSTAR:MIN(OPEN,CLOSE)==LOW&&\n\
2678
+ var data = {
2679
+ Name: '射击之星',
2680
+ Description: '射击之星',
2681
+ IsMainIndex: true,
2682
+ InstructionType: 2,
2683
+ Script:
2684
+ //脚本
2685
+ 'KSTAR:MIN(OPEN,CLOSE)==LOW&&\n\
2051
2686
  HIGH-LOW>3*(MAX(OPEN,CLOSE)-LOW)&&\n\
2052
2687
  CLOSE>MA(CLOSE,5);'
2053
- };
2054
-
2055
- return data;
2688
+ };
2689
+ return data;
2056
2690
  };
2057
-
2058
2691
  JSIndexScript.prototype.COLOR_K165 = function () {
2059
- var data = {
2060
- Name: '倒转锤头', Description: '倒转锤头', IsMainIndex: true, InstructionType: 2,
2061
- Script: //脚本
2062
- 'KSTAR:MIN(OPEN,CLOSE)==LOW&&\n\
2692
+ var data = {
2693
+ Name: '倒转锤头',
2694
+ Description: '倒转锤头',
2695
+ IsMainIndex: true,
2696
+ InstructionType: 2,
2697
+ Script:
2698
+ //脚本
2699
+ 'KSTAR:MIN(OPEN,CLOSE)==LOW&&\n\
2063
2700
  HIGH-LOW>3*(MAX(OPEN,CLOSE)-LOW)&&\n\
2064
2701
  CLOSE<MA(CLOSE,5);'
2065
- };
2066
-
2067
- return data;
2702
+ };
2703
+ return data;
2068
2704
  };
2069
-
2070
2705
  JSIndexScript.prototype.COLOR_K170 = function () {
2071
- var data = {
2072
- Name: '锤头', Description: '锤头', IsMainIndex: true, InstructionType: 2,
2073
- Script: //脚本
2074
- 'OUT:HIGH==MAX(OPEN,CLOSE)&&\n\
2706
+ var data = {
2707
+ Name: '锤头',
2708
+ Description: '锤头',
2709
+ IsMainIndex: true,
2710
+ InstructionType: 2,
2711
+ Script:
2712
+ //脚本
2713
+ 'OUT:HIGH==MAX(OPEN,CLOSE)&&\n\
2075
2714
  HIGH-LOW>3*(HIGH-MIN(OPEN,CLOSE))&&\n\
2076
2715
  CLOSE<MA(CLOSE,5);'
2077
- };
2078
-
2079
- return data;
2716
+ };
2717
+ return data;
2080
2718
  };
2081
-
2082
2719
  JSIndexScript.prototype.COLOR_K180 = function () {
2083
- var data = {
2084
- Name: '吊颈', Description: '吊颈', IsMainIndex: true, InstructionType: 2,
2085
- Script: //脚本
2086
- 'OUT:HIGH==MAX(OPEN,CLOSE)&&\n\
2720
+ var data = {
2721
+ Name: '吊颈',
2722
+ Description: '吊颈',
2723
+ IsMainIndex: true,
2724
+ InstructionType: 2,
2725
+ Script:
2726
+ //脚本
2727
+ 'OUT:HIGH==MAX(OPEN,CLOSE)&&\n\
2087
2728
  HIGH-LOW>3*(HIGH-MIN(OPEN,CLOSE))&&\n\
2088
2729
  CLOSE>MA(CLOSE,5);'
2089
- };
2090
-
2091
- return data;
2730
+ };
2731
+ return data;
2092
2732
  };
2093
-
2094
2733
  JSIndexScript.prototype.COLOR_K190 = function () {
2095
- var data = {
2096
- Name: '穿头破脚', Description: '穿头破脚', IsMainIndex: true, InstructionType: 2,
2097
- Script: //脚本
2098
- 'OUT:(REF(CLOSE,1)/REF(OPEN,1)>1.03&&\n\
2734
+ var data = {
2735
+ Name: '穿头破脚',
2736
+ Description: '穿头破脚',
2737
+ IsMainIndex: true,
2738
+ InstructionType: 2,
2739
+ Script:
2740
+ //脚本
2741
+ 'OUT:(REF(CLOSE,1)/REF(OPEN,1)>1.03&&\n\
2099
2742
  CLOSE/OPEN<0.96&&\n\
2100
2743
  CLOSE<REF(OPEN,1)&&OPEN>REF(CLOSE,1))||\n\
2101
2744
  (REF(CLOSE,1)/REF(OPEN,1)<0.97&&\n\
2102
2745
  CLOSE/OPEN>1.04&&\n\
2103
2746
  CLOSE>REF(OPEN,1)&&OPEN<REF(CLOSE,1));'
2104
- };
2105
-
2106
- return data;
2747
+ };
2748
+ return data;
2107
2749
  };
2108
-
2109
2750
  JSIndexScript.prototype.COLOR_SWORD = function () {
2110
- var data = {
2111
- Name: '剑', Description: '剑', IsMainIndex: true, InstructionType: 2,
2112
- Script: //脚本
2113
- 'AA:=VOL>REF(VOL,1)||VOL>(CAPITAL*0.1);\n\
2751
+ var data = {
2752
+ Name: '剑',
2753
+ Description: '剑',
2754
+ IsMainIndex: true,
2755
+ InstructionType: 2,
2756
+ Script:
2757
+ //脚本
2758
+ 'AA:=VOL>REF(VOL,1)||VOL>(CAPITAL*0.1);\n\
2114
2759
  BB:=OPEN>=(REF(HIGH,1))&&REF(HIGH,1)>(REF(HIGH,2)*1.06);\n\
2115
2760
  CC:=CLOSE>(REF(CLOSE,1))-(REF(CLOSE,1)*0.01);\n\
2116
2761
  DD:=CLOSE<(HIGH*0.965) && HIGH>(OPEN*1.05);\n\
@@ -2118,139 +2763,163 @@ EE:=LOW<OPEN && LOW<CLOSE&&HIGH>(REF(CLOSE,1)*1.06);\n\
2118
2763
  FF:=(HIGH-(MAX(OPEN,CLOSE)))/2>(MIN(OPEN,CLOSE))-LOW;\n\
2119
2764
  GG:=(ABS(OPEN-CLOSE))/2<(MIN(OPEN,CLOSE)-LOW);\n\
2120
2765
  SWORDO:AA&&BB&&CC&&DD&&EE&&FF&&GG;'
2121
- };
2122
-
2123
- return data;
2766
+ };
2767
+ return data;
2124
2768
  };
2125
-
2126
2769
  JSIndexScript.prototype.COLOR_CSFR = function () {
2127
- var data = {
2128
- Name: '出水芙蓉', Description: '出水芙蓉', IsMainIndex: true, InstructionType: 2,
2129
- Script: //脚本
2130
- 'A:=CLOSE>OPEN;\n\
2770
+ var data = {
2771
+ Name: '出水芙蓉',
2772
+ Description: '出水芙蓉',
2773
+ IsMainIndex: true,
2774
+ InstructionType: 2,
2775
+ Script:
2776
+ //脚本
2777
+ 'A:=CLOSE>OPEN;\n\
2131
2778
  B:=A&&CLOSE>MA(CLOSE,S)&&CLOSE>MA(CLOSE,M)&&CLOSE>MA(CLOSE,LL);\n\
2132
2779
  CC:=B&&OPEN<MA(CLOSE,M)&&OPEN<MA(CLOSE,LL);\n\
2133
2780
  CSFRO:CC&&(CLOSE-OPEN)>0.0618*CLOSE;'
2134
- };
2135
-
2136
- return data;
2781
+ };
2782
+ return data;
2137
2783
  };
2138
-
2139
2784
  JSIndexScript.prototype.COLOR_WYGD = function () {
2140
- var data = {
2141
- Name: '乌云盖顶', Description: '乌云盖顶', IsMainIndex: true, InstructionType: 2,
2142
- Script: //脚本
2143
- 'VAR1:BACKSET( \n\
2785
+ var data = {
2786
+ Name: '乌云盖顶',
2787
+ Description: '乌云盖顶',
2788
+ IsMainIndex: true,
2789
+ InstructionType: 2,
2790
+ Script:
2791
+ //脚本
2792
+ 'VAR1:BACKSET( \n\
2144
2793
  REF(CLOSE,1)/REF(OPEN,1)>1.03 AND \n\
2145
2794
  CLOSE/OPEN<0.97 AND \n\
2146
2795
  OPEN>REF(CLOSE,1) AND CLOSE<REF(CLOSE,1), 3);'
2147
- };
2148
-
2149
- return data;
2796
+ };
2797
+ return data;
2150
2798
  };
2151
-
2152
2799
  JSIndexScript.prototype.COLOR_SGCJ = function () {
2153
- var data = {
2154
- Name: '乌云盖顶', Description: '乌云盖顶', IsMainIndex: true, InstructionType: 2,
2155
- Script: //脚本
2156
- 'VAR1:BACKSET( \n\
2800
+ var data = {
2801
+ Name: '乌云盖顶',
2802
+ Description: '乌云盖顶',
2803
+ IsMainIndex: true,
2804
+ InstructionType: 2,
2805
+ Script:
2806
+ //脚本
2807
+ 'VAR1:BACKSET( \n\
2157
2808
  REF(CLOSE,1)/REF(OPEN,1)<0.97 AND \n\
2158
2809
  CLOSE/OPEN>1.03 AND \n\
2159
2810
  OPEN<REF(CLOSE,1) AND CLOSE>REF(CLOSE,1), 3);'
2160
- };
2161
-
2162
- return data;
2811
+ };
2812
+ return data;
2163
2813
  };
2164
-
2165
2814
  JSIndexScript.prototype.COLOR_SZTAI = function () {
2166
- var data = {
2167
- Name: '十字胎', Description: '十字胎', IsMainIndex: true, InstructionType: 2,
2168
- Script: //脚本
2169
- 'VAR1:BACKSET( ABS(REF(CLOSE,1)-REF(OPEN,1))/REF(CLOSE,1) > 0.04 AND \n\
2815
+ var data = {
2816
+ Name: '十字胎',
2817
+ Description: '十字胎',
2818
+ IsMainIndex: true,
2819
+ InstructionType: 2,
2820
+ Script:
2821
+ //脚本
2822
+ 'VAR1:BACKSET( ABS(REF(CLOSE,1)-REF(OPEN,1))/REF(CLOSE,1) > 0.04 AND \n\
2170
2823
  CLOSE==OPEN AND CLOSE < MAX(REF(CLOSE,1),REF(OPEN,1)) AND \n\
2171
2824
  CLOSE > MIN(REF(CLOSE,1),REF(OPEN,1)), 2);'
2172
- };
2173
-
2174
- return data;
2825
+ };
2826
+ return data;
2175
2827
  };
2176
-
2177
2828
  JSIndexScript.prototype.COLOR_PINGDING = function () {
2178
- var data = {
2179
- Name: '平顶', Description: '平顶', IsMainIndex: true, InstructionType: 2,
2180
- Script: //脚本
2181
- 'VAR1:BACKSET(ABS(HIGH-REF(HIGH,1))/HIGH<0.001,2);'
2182
- };
2183
-
2184
- return data;
2829
+ var data = {
2830
+ Name: '平顶',
2831
+ Description: '平顶',
2832
+ IsMainIndex: true,
2833
+ InstructionType: 2,
2834
+ Script:
2835
+ //脚本
2836
+ 'VAR1:BACKSET(ABS(HIGH-REF(HIGH,1))/HIGH<0.001,2);'
2837
+ };
2838
+ return data;
2185
2839
  };
2186
-
2187
2840
  JSIndexScript.prototype.COLOR_PINGDI = function () {
2188
- var data = {
2189
- Name: '平底', Description: '平底', IsMainIndex: true, InstructionType: 2,
2190
- Script: //脚本
2191
- 'VAR1:BACKSET((ABS(LOW-REF(LOW,1))/LOW<0.001 AND \n\
2841
+ var data = {
2842
+ Name: '平底',
2843
+ Description: '平底',
2844
+ IsMainIndex: true,
2845
+ InstructionType: 2,
2846
+ Script:
2847
+ //脚本
2848
+ 'VAR1:BACKSET((ABS(LOW-REF(LOW,1))/LOW<0.001 AND \n\
2192
2849
  ABS(REF(LOW,1)-REF(LOW,2))/REF(LOW,1)<=0.001),2);'
2193
- };
2194
-
2195
- return data;
2850
+ };
2851
+ return data;
2196
2852
  };
2197
-
2198
2853
  JSIndexScript.prototype.COLOR_DAYANZHU = function () {
2199
- var data = {
2200
- Name: '大阳烛', Description: '大阳烛', IsMainIndex: true, InstructionType: 2,
2201
- Script: //脚本
2202
- 'VAR1:CLOSE/OPEN>1.05 AND HIGH/LOW < CLOSE/OPEN+0.018;'
2203
- };
2204
-
2205
- return data;
2854
+ var data = {
2855
+ Name: '大阳烛',
2856
+ Description: '大阳烛',
2857
+ IsMainIndex: true,
2858
+ InstructionType: 2,
2859
+ Script:
2860
+ //脚本
2861
+ 'VAR1:CLOSE/OPEN>1.05 AND HIGH/LOW < CLOSE/OPEN+0.018;'
2862
+ };
2863
+ return data;
2206
2864
  };
2207
-
2208
2865
  JSIndexScript.prototype.COLOR_DAYINGZHU = function () {
2209
- var data = {
2210
- Name: '大阴烛', Description: '大阴烛', IsMainIndex: true, InstructionType: 2,
2211
- Script: //脚本
2212
- 'VAR1:OPEN/CLOSE > 1.05 AND HIGH/LOW < OPEN/CLOSE+0.018;'
2213
- };
2214
-
2215
- return data;
2866
+ var data = {
2867
+ Name: '大阴烛',
2868
+ Description: '大阴烛',
2869
+ IsMainIndex: true,
2870
+ InstructionType: 2,
2871
+ Script:
2872
+ //脚本
2873
+ 'VAR1:OPEN/CLOSE > 1.05 AND HIGH/LOW < OPEN/CLOSE+0.018;'
2874
+ };
2875
+ return data;
2216
2876
  };
2217
-
2218
2877
  JSIndexScript.prototype.COLOR_HYFG = function () {
2219
- var data = {
2220
- Name: '好友反攻', Description: '好友反攻', IsMainIndex: true, InstructionType: 2,
2221
- Script: //脚本
2222
- 'VAR1:BACKSET( (REF(CLOSE,1)<REF(OPEN,1) AND \n\
2878
+ var data = {
2879
+ Name: '好友反攻',
2880
+ Description: '好友反攻',
2881
+ IsMainIndex: true,
2882
+ InstructionType: 2,
2883
+ Script:
2884
+ //脚本
2885
+ 'VAR1:BACKSET( (REF(CLOSE,1)<REF(OPEN,1) AND \n\
2223
2886
  CLOSE>OPEN AND ABS(CLOSE-REF(CLOSE,1))/CLOSE<0.002),2);'
2224
- };
2225
-
2226
- return data;
2887
+ };
2888
+ return data;
2227
2889
  };
2228
-
2229
2890
  JSIndexScript.prototype.COLOR_TKQK = function () {
2230
- var data = {
2231
- Name: '跳空缺口', Description: '跳空缺口', IsMainIndex: true, InstructionType: 2,
2232
- Script: //脚本
2233
- 'VAR1:BACKSET( HIGH<REF(LOW,1) OR LOW>REF(HIGH,1),2);'
2234
- };
2235
-
2236
- return data;
2891
+ var data = {
2892
+ Name: '跳空缺口',
2893
+ Description: '跳空缺口',
2894
+ IsMainIndex: true,
2895
+ InstructionType: 2,
2896
+ Script:
2897
+ //脚本
2898
+ 'VAR1:BACKSET( HIGH<REF(LOW,1) OR LOW>REF(HIGH,1),2);'
2899
+ };
2900
+ return data;
2237
2901
  };
2238
-
2239
2902
  JSIndexScript.prototype.COLOR_SFWY = function () {
2240
- var data = {
2241
- Name: '双飞乌鸦', Description: '双飞乌鸦', IsMainIndex: true, InstructionType: 2,
2242
- Script: //脚本
2243
- 'VAR1:BACKSET( REF(CLOSE,1)<REF(OPEN,1) AND CLOSE<OPEN AND CLOSE/OPEN<0.98,1);'
2244
- };
2245
-
2246
- return data;
2903
+ var data = {
2904
+ Name: '双飞乌鸦',
2905
+ Description: '双飞乌鸦',
2906
+ IsMainIndex: true,
2907
+ InstructionType: 2,
2908
+ Script:
2909
+ //脚本
2910
+ 'VAR1:BACKSET( REF(CLOSE,1)<REF(OPEN,1) AND CLOSE<OPEN AND CLOSE/OPEN<0.98,1);'
2911
+ };
2912
+ return data;
2247
2913
  };
2248
-
2249
2914
  JSIndexScript.prototype.COLOR_SSSBQ = function () {
2250
- var data = {
2251
- Name: '上升三部曲', Description: '上升三部曲', IsMainIndex: true, InstructionType: 2,
2252
- Script: //脚本
2253
- 'VAR1:BACKSET( \n\
2915
+ var data = {
2916
+ Name: '上升三部曲',
2917
+ Description: '上升三部曲',
2918
+ IsMainIndex: true,
2919
+ InstructionType: 2,
2920
+ Script:
2921
+ //脚本
2922
+ 'VAR1:BACKSET( \n\
2254
2923
  REF(CLOSE,4)/REF(OPEN,4)>1.03 AND \n\
2255
2924
  REF(CLOSE,3)<REF(OPEN,3) AND \n\
2256
2925
  REF(CLOSE,2)<REF(OPEN,2) AND \n\
@@ -2263,16 +2932,18 @@ REF(HIGH,4)>REF(HIGH,2) AND \n\
2263
2932
  REF(HIGH,4)>REF(HIGH,1) AND \n\
2264
2933
  CLOSE/OPEN>1.03 AND \n\
2265
2934
  CLOSE>REF(CLOSE,4), 5);'
2266
- };
2267
-
2268
- return data;
2935
+ };
2936
+ return data;
2269
2937
  };
2270
-
2271
2938
  JSIndexScript.prototype.COLOR_XDSBQ = function () {
2272
- var data = {
2273
- Name: '下跌三部曲', Description: '下跌三部曲', IsMainIndex: true, InstructionType: 2,
2274
- Script: //脚本
2275
- 'VAR1:BACKSET( \n\
2939
+ var data = {
2940
+ Name: '下跌三部曲',
2941
+ Description: '下跌三部曲',
2942
+ IsMainIndex: true,
2943
+ InstructionType: 2,
2944
+ Script:
2945
+ //脚本
2946
+ 'VAR1:BACKSET( \n\
2276
2947
  REF(CLOSE,4)/REF(OPEN,4)<0.97 AND \n\
2277
2948
  REF(CLOSE,3)>REF(OPEN,3) AND \n\
2278
2949
  REF(CLOSE,2)>REF(OPEN,2) AND \n\
@@ -2285,79 +2956,106 @@ REF(HIGH,4)>REF(HIGH,2) AND \n\
2285
2956
  REF(HIGH,4)>REF(HIGH,1) AND \n\
2286
2957
  CLOSE/OPEN<0.97 AND \n\
2287
2958
  CLOSE<REF(CLOSE,4), 5);'
2288
- };
2289
-
2290
- return data;
2959
+ };
2960
+ return data;
2291
2961
  };
2292
-
2293
2962
  JSIndexScript.prototype.COLOR_CHXY = function () {
2294
- var data = {
2295
- Name: '长下影', Description: '长下影', IsMainIndex: true, InstructionType: 2,
2296
- Script: //脚本
2297
- 'VAR2:(MIN(CLOSE,OPEN)-LOW)/(HIGH-LOW)>0.667;'
2298
- };
2299
-
2300
- return data;
2963
+ var data = {
2964
+ Name: '长下影',
2965
+ Description: '长下影',
2966
+ IsMainIndex: true,
2967
+ InstructionType: 2,
2968
+ Script:
2969
+ //脚本
2970
+ 'VAR2:(MIN(CLOSE,OPEN)-LOW)/(HIGH-LOW)>0.667;'
2971
+ };
2972
+ return data;
2301
2973
  };
2302
-
2303
2974
  JSIndexScript.prototype.COLOR_CHSY = function () {
2304
- var data = {
2305
- Name: '长上影', Description: '长上影', IsMainIndex: true, InstructionType: 2,
2306
- Script: //脚本
2307
- 'VAR2:(HIGH-MAX(CLOSE,OPEN))/(HIGH-LOW)>0.667,COLORBLUE;'
2308
- };
2309
-
2310
- return data;
2975
+ var data = {
2976
+ Name: '长上影',
2977
+ Description: '长上影',
2978
+ IsMainIndex: true,
2979
+ InstructionType: 2,
2980
+ Script:
2981
+ //脚本
2982
+ 'VAR2:(HIGH-MAX(CLOSE,OPEN))/(HIGH-LOW)>0.667,COLORBLUE;'
2983
+ };
2984
+ return data;
2311
2985
  };
2312
-
2313
2986
  JSIndexScript.prototype.COLOR_FENLI = function () {
2314
- var data = {
2315
- Name: '分离', Description: '分离', IsMainIndex: true, InstructionType: 2,
2316
- Script: //脚本
2317
- 'VAR1:BACKSET( OPEN==REF(OPEN,1) AND (CLOSE-OPEN)*(REF(CLOSE,1)-REF(OPEN,1))<0,2);'
2318
- };
2319
-
2320
- return data;
2987
+ var data = {
2988
+ Name: '分离',
2989
+ Description: '分离',
2990
+ IsMainIndex: true,
2991
+ InstructionType: 2,
2992
+ Script:
2993
+ //脚本
2994
+ 'VAR1:BACKSET( OPEN==REF(OPEN,1) AND (CLOSE-OPEN)*(REF(CLOSE,1)-REF(OPEN,1))<0,2);'
2995
+ };
2996
+ return data;
2321
2997
  };
2322
2998
 
2323
2999
  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
2324
3000
  //交易系统
2325
3001
 
2326
3002
  JSIndexScript.prototype.TRADE_BIAS = function () {
2327
- var data = {
2328
- Name: 'BIAS', Description: '乖离率专家系统', IsMainIndex: true, InstructionType: 1,
2329
- Args: [{ Name: 'N', Value: 12 }, { Name: 'LL', Value: 6 }, { Name: 'LH', Value: 6 }],
2330
- Script: //脚本
2331
- 'BIAS:=(CLOSE-MA(CLOSE,N))/MA(CLOSE,N)*100;\n\
3003
+ var data = {
3004
+ Name: 'BIAS',
3005
+ Description: '乖离率专家系统',
3006
+ IsMainIndex: true,
3007
+ InstructionType: 1,
3008
+ Args: [{
3009
+ Name: 'N',
3010
+ Value: 12
3011
+ }, {
3012
+ Name: 'LL',
3013
+ Value: 6
3014
+ }, {
3015
+ Name: 'LH',
3016
+ Value: 6
3017
+ }],
3018
+ Script:
3019
+ //脚本
3020
+ 'BIAS:=(CLOSE-MA(CLOSE,N))/MA(CLOSE,N)*100;\n\
2332
3021
  ENTERLONG:CROSS(-LL,BIAS);\n\
2333
3022
  EXITLONG:CROSS(BIAS,LH);'
2334
-
2335
- };
2336
-
2337
- return data;
3023
+ };
3024
+ return data;
2338
3025
  };
2339
-
2340
3026
  JSIndexScript.prototype.TRADE_CCI = function () {
2341
- var data = {
2342
- Name: 'CCI', Description: 'CCI专家系统', IsMainIndex: true, InstructionType: 1,
2343
- Args: [{ Name: 'N', Value: 14 }],
2344
- Script: //脚本
2345
- 'TYP:=(HIGH+LOW+CLOSE)/3;\n\
3027
+ var data = {
3028
+ Name: 'CCI',
3029
+ Description: 'CCI专家系统',
3030
+ IsMainIndex: true,
3031
+ InstructionType: 1,
3032
+ Args: [{
3033
+ Name: 'N',
3034
+ Value: 14
3035
+ }],
3036
+ Script:
3037
+ //脚本
3038
+ 'TYP:=(HIGH+LOW+CLOSE)/3;\n\
2346
3039
  CCI:=(TYP-MA(TYP,N))/(0.015*AVEDEV(TYP,N));\n\
2347
3040
  INDEX:=CCI;\n\
2348
3041
  ENTERLONG:CROSS(INDEX,-100);\n\
2349
3042
  EXITLONG:CROSS(100,INDEX);'
2350
- };
2351
-
2352
- return data;
3043
+ };
3044
+ return data;
2353
3045
  };
2354
-
2355
3046
  JSIndexScript.prototype.TRADE_DMI = function () {
2356
- var data = {
2357
- Name: 'DMI', Description: '趋向专家系统', IsMainIndex: true, InstructionType: 1,
2358
- Args: [{ Name: 'N', Value: 14 }],
2359
- Script: //脚本
2360
- 'MTR:=SUM(MAX(MAX(HIGH-LOW,ABS(HIGH-REF(CLOSE,1))),ABS(LOW-REF(CLOSE,1))),N);\n\
3047
+ var data = {
3048
+ Name: 'DMI',
3049
+ Description: '趋向专家系统',
3050
+ IsMainIndex: true,
3051
+ InstructionType: 1,
3052
+ Args: [{
3053
+ Name: 'N',
3054
+ Value: 14
3055
+ }],
3056
+ Script:
3057
+ //脚本
3058
+ 'MTR:=SUM(MAX(MAX(HIGH-LOW,ABS(HIGH-REF(CLOSE,1))),ABS(LOW-REF(CLOSE,1))),N);\n\
2361
3059
  HD :=HIGH-REF(HIGH,1);\n\
2362
3060
  LD :=REF(LOW,1)-LOW;\n\
2363
3061
  PDM:=SUM(IF(HD>0&&HD>LD,HD,0),N);\n\
@@ -2366,171 +3064,269 @@ PDI:=PDM*100/MTR;\n\
2366
3064
  MDI:=MDM*100/MTR;\n\
2367
3065
  ENTERLONG:CROSS(PDI,MDI);\n\
2368
3066
  EXITLONG:CROSS(MDI,PDI);'
2369
- };
2370
-
2371
- return data;
3067
+ };
3068
+ return data;
2372
3069
  };
2373
-
2374
3070
  JSIndexScript.prototype.TRADE_KD = function () {
2375
- var data = {
2376
- Name: 'KD', Description: 'KD指标专家系统', IsMainIndex: true, InstructionType: 1,
2377
- Args: [{ Name: 'N', Value: 9 }, { Name: 'M1', Value: 3 }, { Name: 'M2', Value: 3 }],
2378
- Script: //脚本
2379
- 'WRSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;\n\
3071
+ var data = {
3072
+ Name: 'KD',
3073
+ Description: 'KD指标专家系统',
3074
+ IsMainIndex: true,
3075
+ InstructionType: 1,
3076
+ Args: [{
3077
+ Name: 'N',
3078
+ Value: 9
3079
+ }, {
3080
+ Name: 'M1',
3081
+ Value: 3
3082
+ }, {
3083
+ Name: 'M2',
3084
+ Value: 3
3085
+ }],
3086
+ Script:
3087
+ //脚本
3088
+ 'WRSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;\n\
2380
3089
  WK:=SMA(WRSV,M1,1);\n\
2381
3090
  D:=SMA(WK,M2,1);\n\
2382
3091
  ENTERLONG:CROSS(WK,D)&&WK<20;\n\
2383
3092
  EXITLONG:CROSS(D,WK)&&WK>80;'
2384
- };
2385
-
2386
- return data;
3093
+ };
3094
+ return data;
2387
3095
  };
2388
-
2389
3096
  JSIndexScript.prototype.TRADE_BOLL = function () {
2390
- var data = {
2391
- Name: 'BOLL', Description: '布林带专家系统', IsMainIndex: true, InstructionType: 1,
2392
- Args: [{ Name: 'N', Value: 20 }],
2393
- Script: //脚本
2394
- 'MID :=MA(CLOSE,N);\n\
3097
+ var data = {
3098
+ Name: 'BOLL',
3099
+ Description: '布林带专家系统',
3100
+ IsMainIndex: true,
3101
+ InstructionType: 1,
3102
+ Args: [{
3103
+ Name: 'N',
3104
+ Value: 20
3105
+ }],
3106
+ Script:
3107
+ //脚本
3108
+ 'MID :=MA(CLOSE,N);\n\
2395
3109
  UPPER:=MID+2*STD(CLOSE,N);\n\
2396
3110
  LOWER:=MID-2*STD(CLOSE,N);\n\
2397
3111
  ENTERLONG:CROSS(CLOSE,LOWER);\n\
2398
3112
  EXITLONG:CROSS(CLOSE,UPPER);'
2399
- };
2400
-
2401
- return data;
3113
+ };
3114
+ return data;
2402
3115
  };
2403
-
2404
3116
  JSIndexScript.prototype.TRADE_KDJ = function () {
2405
- var data = {
2406
- Name: 'KDJ', Description: 'KDJ专家系统', IsMainIndex: true, InstructionType: 1,
2407
- Args: [{ Name: 'N', Value: 9 }, { Name: 'M1', Value: 3 }],
2408
- Script: //脚本
2409
- 'RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;\n\
3117
+ var data = {
3118
+ Name: 'KDJ',
3119
+ Description: 'KDJ专家系统',
3120
+ IsMainIndex: true,
3121
+ InstructionType: 1,
3122
+ Args: [{
3123
+ Name: 'N',
3124
+ Value: 9
3125
+ }, {
3126
+ Name: 'M1',
3127
+ Value: 3
3128
+ }],
3129
+ Script:
3130
+ //脚本
3131
+ 'RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;\n\
2410
3132
  K:=SMA(RSV,M1,1);\n\
2411
3133
  D:=SMA(K,M1,1);\n\
2412
3134
  J:=3*K-2*D;\n\
2413
3135
  ENTERLONG:CROSS(J,0);\n\
2414
3136
  EXITLONG:CROSS(100,J);'
2415
- };
2416
-
2417
- return data;
3137
+ };
3138
+ return data;
2418
3139
  };
2419
-
2420
3140
  JSIndexScript.prototype.TRADE_MA = function () {
2421
- var data = {
2422
- Name: 'MA', Description: '均线专家系统', IsMainIndex: true, InstructionType: 1,
2423
- Args: [{ Name: 'SHORT', Value: 5 }, { Name: 'LONG', Value: 20 }],
2424
- Script: //脚本
2425
- 'ENTERLONG:CROSS(MA(CLOSE,SHORT),MA(CLOSE,LONG));\n\
3141
+ var data = {
3142
+ Name: 'MA',
3143
+ Description: '均线专家系统',
3144
+ IsMainIndex: true,
3145
+ InstructionType: 1,
3146
+ Args: [{
3147
+ Name: 'SHORT',
3148
+ Value: 5
3149
+ }, {
3150
+ Name: 'LONG',
3151
+ Value: 20
3152
+ }],
3153
+ Script:
3154
+ //脚本
3155
+ 'ENTERLONG:CROSS(MA(CLOSE,SHORT),MA(CLOSE,LONG));\n\
2426
3156
  EXITLONG:CROSS(MA(CLOSE,LONG),MA(CLOSE,SHORT));'
2427
- };
2428
-
2429
- return data;
3157
+ };
3158
+ return data;
2430
3159
  };
2431
-
2432
3160
  JSIndexScript.prototype.TRADE_MACD = function () {
2433
- var data = {
2434
- Name: 'MACD', Description: 'MACD专家系统', IsMainIndex: true, InstructionType: 1,
2435
- Args: [{ Name: 'LONG', Value: 26 }, { Name: 'SHORT', Value: 12 }, { Name: 'M', Value: 9 }],
2436
- Script: //脚本
2437
- 'DIFF:=EMA(CLOSE,SHORT) - EMA(CLOSE,LONG);\n\
3161
+ var data = {
3162
+ Name: 'MACD',
3163
+ Description: 'MACD专家系统',
3164
+ IsMainIndex: true,
3165
+ InstructionType: 1,
3166
+ Args: [{
3167
+ Name: 'LONG',
3168
+ Value: 26
3169
+ }, {
3170
+ Name: 'SHORT',
3171
+ Value: 12
3172
+ }, {
3173
+ Name: 'M',
3174
+ Value: 9
3175
+ }],
3176
+ Script:
3177
+ //脚本
3178
+ 'DIFF:=EMA(CLOSE,SHORT) - EMA(CLOSE,LONG);\n\
2438
3179
  DEA := EMA(DIFF,M);\n\
2439
3180
  MACD := 2*(DIFF-DEA);\n\
2440
3181
  ENTERLONG:CROSS(MACD,0);\n\
2441
3182
  EXITLONG:CROSS(0,MACD);'
2442
- };
2443
-
2444
- return data;
3183
+ };
3184
+ return data;
2445
3185
  };
2446
-
2447
3186
  JSIndexScript.prototype.TRADE_MTM = function () {
2448
- var data = {
2449
- Name: 'MTM', Description: '动力指标专家系统', IsMainIndex: true, InstructionType: 1,
2450
- Args: [{ Name: 'N', Value: 6 }],
2451
- Script: //脚本
2452
- 'WMTM:=C-REF(C,N);\n\
3187
+ var data = {
3188
+ Name: 'MTM',
3189
+ Description: '动力指标专家系统',
3190
+ IsMainIndex: true,
3191
+ InstructionType: 1,
3192
+ Args: [{
3193
+ Name: 'N',
3194
+ Value: 6
3195
+ }],
3196
+ Script:
3197
+ //脚本
3198
+ 'WMTM:=C-REF(C,N);\n\
2453
3199
  ENTERLONG:CROSS(WMTM,0);\n\
2454
3200
  EXITLONG:CROSS(0,WMTM);'
2455
- };
2456
-
2457
- return data;
3201
+ };
3202
+ return data;
2458
3203
  };
2459
-
2460
3204
  JSIndexScript.prototype.TRADE_PSY = function () {
2461
- var data = {
2462
- Name: 'PSY', Description: 'PSY心理线专家系统', IsMainIndex: true, InstructionType: 1,
2463
- Args: [{ Name: 'N', Value: 12 }, { Name: 'LL', Value: 10 }, { Name: 'LH', Value: 85 }],
2464
- Script: //脚本
2465
- 'MYPSY:=COUNT(CLOSE>REF(CLOSE,1),N)/N*100;\n\
3205
+ var data = {
3206
+ Name: 'PSY',
3207
+ Description: 'PSY心理线专家系统',
3208
+ IsMainIndex: true,
3209
+ InstructionType: 1,
3210
+ Args: [{
3211
+ Name: 'N',
3212
+ Value: 12
3213
+ }, {
3214
+ Name: 'LL',
3215
+ Value: 10
3216
+ }, {
3217
+ Name: 'LH',
3218
+ Value: 85
3219
+ }],
3220
+ Script:
3221
+ //脚本
3222
+ 'MYPSY:=COUNT(CLOSE>REF(CLOSE,1),N)/N*100;\n\
2466
3223
  ENTERLONG:CROSS(LL,MYPSY);\n\
2467
3224
  EXITLONG:CROSS(MYPSY,LH);'
2468
- };
2469
-
2470
- return data;
3225
+ };
3226
+ return data;
2471
3227
  };
2472
-
2473
3228
  JSIndexScript.prototype.TRADE_ROC = function () {
2474
- var data = {
2475
- Name: 'ROC', Description: '变动速率专家系统', IsMainIndex: true, InstructionType: 1,
2476
- Args: [{ Name: 'N', Value: 12 }, { Name: 'M', Value: 6 }],
2477
- Script: //脚本
2478
- 'WROC:=MA(100*(CLOSE-REF(CLOSE,N))/REF(CLOSE,N),M);\n\
3229
+ var data = {
3230
+ Name: 'ROC',
3231
+ Description: '变动速率专家系统',
3232
+ IsMainIndex: true,
3233
+ InstructionType: 1,
3234
+ Args: [{
3235
+ Name: 'N',
3236
+ Value: 12
3237
+ }, {
3238
+ Name: 'M',
3239
+ Value: 6
3240
+ }],
3241
+ Script:
3242
+ //脚本
3243
+ 'WROC:=MA(100*(CLOSE-REF(CLOSE,N))/REF(CLOSE,N),M);\n\
2479
3244
  ENTERLONG:CROSS(WROC,0);\n\
2480
3245
  EXITLONG:CROSS(0,WROC);'
2481
- };
2482
-
2483
- return data;
3246
+ };
3247
+ return data;
2484
3248
  };
2485
-
2486
3249
  JSIndexScript.prototype.TRADE_RSI = function () {
2487
- var data = {
2488
- Name: 'RSI', Description: '相对强弱专家系统', IsMainIndex: true, InstructionType: 1,
2489
- Args: [{ Name: 'N', Value: 6 }, { Name: 'LL', Value: 20 }, { Name: 'LH', Value: 80 }],
2490
- Script: //脚本
2491
- 'LC:=REF(CLOSE,1);\n\
3250
+ var data = {
3251
+ Name: 'RSI',
3252
+ Description: '相对强弱专家系统',
3253
+ IsMainIndex: true,
3254
+ InstructionType: 1,
3255
+ Args: [{
3256
+ Name: 'N',
3257
+ Value: 6
3258
+ }, {
3259
+ Name: 'LL',
3260
+ Value: 20
3261
+ }, {
3262
+ Name: 'LH',
3263
+ Value: 80
3264
+ }],
3265
+ Script:
3266
+ //脚本
3267
+ 'LC:=REF(CLOSE,1);\n\
2492
3268
  WRSI:=SMA(MAX(CLOSE-LC,0),N,1)/SMA(ABS(CLOSE-LC),N,1)*100;\n\
2493
3269
  ENTERLONG:CROSS(WRSI,LL);\n\
2494
3270
  EXITLONG:CROSS(LH,WRSI);'
2495
- };
2496
-
2497
- return data;
3271
+ };
3272
+ return data;
2498
3273
  };
2499
-
2500
3274
  JSIndexScript.prototype.TRADE_VR = function () {
2501
- var data = {
2502
- Name: 'VR', Description: 'VR容量比率专家系统', IsMainIndex: true, InstructionType: 1,
2503
- Args: [{ Name: 'N', Value: 26 }, { Name: 'LL', Value: 70 }, { Name: 'LH', Value: 250 }],
2504
- Script: //脚本
2505
- 'WVR := SUM((IF(CLOSE>OPEN,VOL,0)+IF(CLOSE=OPEN,VOL/2,0)),N)/SUM((IF(CLOSE<OPEN,VOL,0)+IF(CLOSE=OPEN,VOL/2,0)),N)*100;\n\
3275
+ var data = {
3276
+ Name: 'VR',
3277
+ Description: 'VR容量比率专家系统',
3278
+ IsMainIndex: true,
3279
+ InstructionType: 1,
3280
+ Args: [{
3281
+ Name: 'N',
3282
+ Value: 26
3283
+ }, {
3284
+ Name: 'LL',
3285
+ Value: 70
3286
+ }, {
3287
+ Name: 'LH',
3288
+ Value: 250
3289
+ }],
3290
+ Script:
3291
+ //脚本
3292
+ 'WVR := SUM((IF(CLOSE>OPEN,VOL,0)+IF(CLOSE=OPEN,VOL/2,0)),N)/SUM((IF(CLOSE<OPEN,VOL,0)+IF(CLOSE=OPEN,VOL/2,0)),N)*100;\n\
2506
3293
  ENTERLONG:CROSS(LL,WVR);\n\
2507
3294
  EXITLONG:CROSS(WVR,LH);'
2508
- };
2509
-
2510
- return data;
3295
+ };
3296
+ return data;
2511
3297
  };
2512
-
2513
3298
  JSIndexScript.prototype.TRADE_DPSJ = function () {
2514
- var data = {
2515
- Name: 'DPSJ', Description: '大盘随机专家系统', IsMainIndex: true, InstructionType: 1,
2516
- Args: [{ Name: 'N1', Value: 18 }, { Name: 'N2', Value: 12 }],
2517
- Script: //脚本
2518
- 'RSV:=(INDEXC-LLV(INDEXL,N1))/(HHV(INDEXH,N1)-LLV(INDEXL,N1))*100;\n\
3299
+ var data = {
3300
+ Name: 'DPSJ',
3301
+ Description: '大盘随机专家系统',
3302
+ IsMainIndex: true,
3303
+ InstructionType: 1,
3304
+ Args: [{
3305
+ Name: 'N1',
3306
+ Value: 18
3307
+ }, {
3308
+ Name: 'N2',
3309
+ Value: 12
3310
+ }],
3311
+ Script:
3312
+ //脚本
3313
+ 'RSV:=(INDEXC-LLV(INDEXL,N1))/(HHV(INDEXH,N1)-LLV(INDEXL,N1))*100;\n\
2519
3314
  K:=SMA(RSV,N2,1);\n\
2520
3315
  HSL:VOL/100/(FINANCE(7));\n\
2521
3316
  ENTERLONG: CROSS(K,20);\n\
2522
3317
  EXITLONG: (CROSS(HSL,5) OR CROSS(K,80));'
2523
- };
2524
-
2525
- return data;
3318
+ };
3319
+ return data;
2526
3320
  };
2527
-
2528
3321
  JSIndexScript.prototype.Zealink_Index1 = function () {
2529
- var data = {
2530
- Name: '资金吸筹', Description: '资金吸筹', IsMainIndex: false,
2531
- Args: [],
2532
- Script: //脚本
2533
- 'VAR1:=REF((LOW+OPEN+CLOSE+HIGH)/4,1); \n\
3322
+ var data = {
3323
+ Name: '资金吸筹',
3324
+ Description: '资金吸筹',
3325
+ IsMainIndex: false,
3326
+ Args: [],
3327
+ Script:
3328
+ //脚本
3329
+ 'VAR1:=REF((LOW+OPEN+CLOSE+HIGH)/4,1); \n\
2534
3330
  VAR2:= SMA(ABS(LOW - VAR1), 13, 1) / SMA(MAX(LOW - VAR1, 0), 10, 1);\n\
2535
3331
  VAR3:= EMA(VAR2, 10);\n\
2536
3332
  VAR4:= LLV(LOW, 33);\n\
@@ -2539,17 +3335,24 @@ VAR5:= EMA(IF(LOW <= VAR4, VAR3, 0), 3) * 0.2;\n\
2539
3335
  洗盘: IF(VAR5 < REF(VAR5, 1), VAR5,0), COLORYELLOW, NODRAW;\n\
2540
3336
  STICKLINE(VAR5> REF(VAR5, 1),0, VAR5, 20, 0), COLORRED;\n\
2541
3337
  STICKLINE(VAR5 < REF(VAR5, 1), 0, VAR5, 20, 0), COLORYELLOW;'
2542
- };
2543
-
2544
- return data;
3338
+ };
3339
+ return data;
2545
3340
  };
2546
-
2547
3341
  JSIndexScript.prototype.Zealink_Index2 = function () {
2548
- var data = {
2549
- Name: '牛熊区间', Description: '牛熊区间', IsMainIndex: false, YSpecificMaxMin: { Max: 100, Min: 1, Count: 4 }, YSplitScale: [1, 50, 100],
2550
- Args: [],
2551
- Script: //脚本
2552
- '短高H:=(20*H+19*REF(H,1)+18*REF(H,2)+17*REF(H,3)+16*REF(H,4)+15*REF(H,5)+14*REF(H,6)\n\
3342
+ var data = {
3343
+ Name: '牛熊区间',
3344
+ Description: '牛熊区间',
3345
+ IsMainIndex: false,
3346
+ YSpecificMaxMin: {
3347
+ Max: 100,
3348
+ Min: 1,
3349
+ Count: 4
3350
+ },
3351
+ YSplitScale: [1, 50, 100],
3352
+ Args: [],
3353
+ Script:
3354
+ //脚本
3355
+ '短高H:=(20*H+19*REF(H,1)+18*REF(H,2)+17*REF(H,3)+16*REF(H,4)+15*REF(H,5)+14*REF(H,6)\n\
2553
3356
  + 13 * REF(H, 7) + 12 * REF(H, 8) + 11 * REF(H, 9) + 10 * REF(H, 10) + 9 * REF(H, 11) + 8 * REF(H, 12)\n\
2554
3357
  + 7 * REF(H, 13) + 6 * REF(H, 14) + 5 * REF(H, 15) + 4 * REF(H, 16) + 3 * REF(H, 17) + 2 * REF(H, 18) +\n\
2555
3358
  REF(H, 20))/ 210, COLORBLUE, LINETHICK1;\n\
@@ -2573,17 +3376,18 @@ D90底:= D90L - D90差 * 2, COLORRED, LINETHICK1;\n\
2573
3376
  STICKLINE(多头定位 == 1, 100, 1, 100, 0), COLORRED;\n\
2574
3377
  STICKLINE(空头定位 == 1, 100, 1, 100, 0), COLORGREEN;\n\
2575
3378
  STICKLINE(震荡定位 == 1, 100, 1, 100, 0), COLORGRAY;'
2576
- };
2577
-
2578
- return data;
3379
+ };
3380
+ return data;
2579
3381
  };
2580
-
2581
3382
  JSIndexScript.prototype.Zealink_Index3 = function () {
2582
- var data = {
2583
- Name: '持仓信号', Description: '持仓信号', IsMainIndex: true,
2584
- Args: [],
2585
- Script: //脚本
2586
- '买线:=EMA(C,2);\n\
3383
+ var data = {
3384
+ Name: '持仓信号',
3385
+ Description: '持仓信号',
3386
+ IsMainIndex: true,
3387
+ Args: [],
3388
+ Script:
3389
+ //脚本
3390
+ '买线:=EMA(C,2);\n\
2587
3391
  卖线:=EMA(SLOPE(C,30)*5+C,20); \n\
2588
3392
  BU:=CROSS(买线,卖线);\n\
2589
3393
  SEL:=CROSS(卖线,买线);\n\
@@ -2700,86 +3504,100 @@ SUPERDRAWTEXT(SELL0,H,"风险",1,10),COLORGREEN;\n\
2700
3504
  SUPERDRAWTEXT(BUY2,L,"机会",2,10),COLORRED;\n\
2701
3505
  SUPERDRAWTEXT(BUY4,L,"机会",2,10),COLORRED;\n\
2702
3506
  SUPERDRAWTEXT(SELL4,H,"风险",1,10),COLORGREEN;'
2703
- };
2704
-
2705
- return data;
3507
+ };
3508
+ return data;
2706
3509
  };
2707
-
2708
3510
  JSIndexScript.prototype.Zealink_Index4 = function () {
2709
- var data = {
2710
- Name: '股东实际增减持', Description: '股东实际增减持', IsMainIndex: false, FloatPrecision: 0,
2711
- Args: [],
2712
- Script: //脚本
2713
- '增持:NEWS(4),NODRAW,COLORRED;\n\
3511
+ var data = {
3512
+ Name: '股东实际增减持',
3513
+ Description: '股东实际增减持',
3514
+ IsMainIndex: false,
3515
+ FloatPrecision: 0,
3516
+ Args: [],
3517
+ Script:
3518
+ //脚本
3519
+ '增持:NEWS(4),NODRAW,COLORRED;\n\
2714
3520
  减持:NEWS(5),NODRAW,COLORGREEN;\n\
2715
3521
  STICKLINE(增持>0,0,增持,1,0),COLORRED;\n\
2716
3522
  STICKLINE(减持<0,0,减持,1,0),COLORGREEN;'
2717
- };
2718
-
2719
- return data;
3523
+ };
3524
+ return data;
2720
3525
  };
2721
-
2722
3526
  JSIndexScript.prototype.Zealink_Index5 = function () {
2723
- var data = {
2724
- Name: '大宗交易', Description: '大宗交易', IsMainIndex: false, FloatPrecision: 0,
2725
- Args: [],
2726
- Script: //脚本
2727
- '交易次数:NEWS(7);'
2728
- };
2729
-
2730
- return data;
3527
+ var data = {
3528
+ Name: '大宗交易',
3529
+ Description: '大宗交易',
3530
+ IsMainIndex: false,
3531
+ FloatPrecision: 0,
3532
+ Args: [],
3533
+ Script:
3534
+ //脚本
3535
+ '交易次数:NEWS(7);'
3536
+ };
3537
+ return data;
2731
3538
  };
2732
-
2733
3539
  JSIndexScript.prototype.Zealink_Index6 = function () {
2734
- var data = {
2735
- Name: '信托持股', Description: '信托持股', IsMainIndex: false, FloatPrecision: 0,
2736
- Args: [],
2737
- Script: //脚本
2738
- '家数:NEWS(6);'
2739
- };
2740
-
2741
- return data;
3540
+ var data = {
3541
+ Name: '信托持股',
3542
+ Description: '信托持股',
3543
+ IsMainIndex: false,
3544
+ FloatPrecision: 0,
3545
+ Args: [],
3546
+ Script:
3547
+ //脚本
3548
+ '家数:NEWS(6);'
3549
+ };
3550
+ return data;
2742
3551
  };
2743
-
2744
3552
  JSIndexScript.prototype.Zealink_Index7 = function () {
2745
- var data = {
2746
- Name: '官网新闻', Description: '官网新闻', IsMainIndex: false, FloatPrecision: 0,
2747
- Args: [],
2748
- Script: //脚本
2749
- '个数:NEWS(8);'
2750
- };
2751
-
2752
- return data;
3553
+ var data = {
3554
+ Name: '官网新闻',
3555
+ Description: '官网新闻',
3556
+ IsMainIndex: false,
3557
+ FloatPrecision: 0,
3558
+ Args: [],
3559
+ Script:
3560
+ //脚本
3561
+ '个数:NEWS(8);'
3562
+ };
3563
+ return data;
2753
3564
  };
2754
-
2755
3565
  JSIndexScript.prototype.Zealink_Index8 = function () {
2756
- var data = {
2757
- Name: '高管要闻', Description: '高管要闻', IsMainIndex: false, FloatPrecision: 0,
2758
- Args: [],
2759
- Script: //脚本
2760
- '个数:NEWS(9);'
2761
- };
2762
-
2763
- return data;
3566
+ var data = {
3567
+ Name: '高管要闻',
3568
+ Description: '高管要闻',
3569
+ IsMainIndex: false,
3570
+ FloatPrecision: 0,
3571
+ Args: [],
3572
+ Script:
3573
+ //脚本
3574
+ '个数:NEWS(9);'
3575
+ };
3576
+ return data;
2764
3577
  };
2765
-
2766
3578
  JSIndexScript.prototype.Zealink_Index9 = function () {
2767
- var data = {
2768
- Name: '股权质押', Description: '股权质押', IsMainIndex: false, FloatPrecision: 0,
2769
- Args: [],
2770
- Script: //脚本
2771
- '次数:NEWS(10);'
2772
- };
2773
-
2774
- return data;
3579
+ var data = {
3580
+ Name: '股权质押',
3581
+ Description: '股权质押',
3582
+ IsMainIndex: false,
3583
+ FloatPrecision: 0,
3584
+ Args: [],
3585
+ Script:
3586
+ //脚本
3587
+ '次数:NEWS(10);'
3588
+ };
3589
+ return data;
2775
3590
  };
2776
-
2777
3591
  JSIndexScript.prototype.Zealink_Index10 = function () {
2778
- var data = {
2779
- Name: '操盘BS点', Description: '操盘BS点', IsMainIndex: true, FloatPrecision: 0,
2780
- Args: [],
2781
- Script: //脚本
2782
- "JJ:=(CLOSE+HIGH+LOW)/3; \n\
3592
+ var data = {
3593
+ Name: '操盘BS点',
3594
+ Description: '操盘BS点',
3595
+ IsMainIndex: true,
3596
+ FloatPrecision: 0,
3597
+ Args: [],
3598
+ Script:
3599
+ //脚本
3600
+ "JJ:=(CLOSE+HIGH+LOW)/3; \n\
2783
3601
  A:=EMA(JJ,10); \n\
2784
3602
  B:=REF(A,1);\n\
2785
3603
  M1:=EMA(CLOSE,3);\n\
@@ -2792,17 +3610,19 @@ INDEXCLOSE:INDEXC,EXDATA;\n\
2792
3610
  INDEXOPEN:INDEXO,EXDATA;\n\
2793
3611
  DRAWICON(REF(B1,1),L*0.97,13);\n\
2794
3612
  DRAWICON(REF(S1,1),H*1.03,14);"
2795
- };
2796
-
2797
- return data;
3613
+ };
3614
+ return data;
2798
3615
  };
2799
-
2800
3616
  JSIndexScript.prototype.Zealink_Index11 = function () {
2801
- var data = {
2802
- Name: '操盘BS点', Description: '操盘BS点', IsMainIndex: true, FloatPrecision: 0,
2803
- Args: [],
2804
- Script: //脚本
2805
- "JJ:=(CLOSE+HIGH+LOW)/3;\n\
3617
+ var data = {
3618
+ Name: '操盘BS点',
3619
+ Description: '操盘BS点',
3620
+ IsMainIndex: true,
3621
+ FloatPrecision: 0,
3622
+ Args: [],
3623
+ Script:
3624
+ //脚本
3625
+ "JJ:=(CLOSE+HIGH+LOW)/3;\n\
2806
3626
  A:=EMA(JJ,10);\n\
2807
3627
  B:=REF(A,1);\n\
2808
3628
  M1:=EMA(CLOSE,3);\n\
@@ -2849,49 +3669,55 @@ DRAWKLINE_IF(VR17>VR18,HIGH,CLOSE,LOW,OPEN),COLORRED;\n\
2849
3669
  DRAWKLINE_IF(VR17<VR18,HIGH,CLOSE,LOW,OPEN),COLORBLUE;\n\
2850
3670
  \n\
2851
3671
  INDEXCLOSE:INDEXC,EXDATA; //取指数的收盘价 回测的时候计算BATE系数用 "
2852
- };
2853
-
2854
- return data;
3672
+ };
3673
+ return data;
2855
3674
  };
2856
-
2857
3675
  JSIndexScript.prototype.HeikinAshi = function () {
2858
- var data = {
2859
- Name: '平均K线', Description: 'Heikin-Ashi 平均K线', IsMainIndex: true, KLineType: -1,
2860
- Args: [],
2861
- Script: //脚本
2862
- "HCLOSE:(OPEN+HIGH+LOW+CLOSE)/4, NODRAW;\n\
3676
+ var data = {
3677
+ Name: '平均K线',
3678
+ Description: 'Heikin-Ashi 平均K线',
3679
+ IsMainIndex: true,
3680
+ KLineType: -1,
3681
+ Args: [],
3682
+ Script:
3683
+ //脚本
3684
+ "HCLOSE:(OPEN+HIGH+LOW+CLOSE)/4, NODRAW;\n\
2863
3685
  HOPEN:(REF(OPEN,1)+REF(CLOSE,1))/2,NODRAW;\n\
2864
3686
  HHIGH:MAX(HIGH,MAX(HOPEN,HCLOSE)),NODRAW;\n\
2865
3687
  HLOW:MIN(LOW,MIN(HOPEN,HCLOSE)),NODRAW;\n\
2866
3688
  DRAWKLINE(HHIGH,HOPEN,HLOW,HCLOSE);"
2867
- };
2868
-
2869
- return data;
3689
+ };
3690
+ return data;
2870
3691
  };
2871
-
2872
3692
  JSIndexScript.prototype.EMPTY = function () {
2873
- var data = {
2874
- Name: '', Description: '空指标', IsMainIndex: false,
2875
- Args: [],
2876
- Script: //脚本
2877
- 'VAR2:=C;'
2878
- };
2879
-
2880
- return data;
3693
+ var data = {
3694
+ Name: '',
3695
+ Description: '空指标',
3696
+ IsMainIndex: false,
3697
+ Args: [],
3698
+ Script:
3699
+ //脚本
3700
+ 'VAR2:=C;'
3701
+ };
3702
+ return data;
2881
3703
  };
2882
-
2883
3704
  JSIndexScript.prototype.TEST = function () {
2884
- var data = {
2885
- Name: 'TEST', Description: '测试脚本', IsMainIndex: false,
2886
- Args: [{ Name: 'N', Value: 10 }],
2887
- Script: //脚本
2888
- "DRAWCHANNEL(OPEN>C,H,L, 'RGB(255,94,102)', 2 ,'5,5','RGBA(58,20,62,0.3)' );"
2889
- };
2890
-
2891
- return data;
3705
+ var data = {
3706
+ Name: 'TEST',
3707
+ Description: '测试脚本',
3708
+ IsMainIndex: false,
3709
+ Args: [{
3710
+ Name: 'N',
3711
+ Value: 10
3712
+ }],
3713
+ Script:
3714
+ //脚本
3715
+ "DRAWCHANNEL(OPEN>C,H,L, 'RGB(255,94,102)', 2 ,'5,5','RGBA(58,20,62,0.3)' );"
3716
+ };
3717
+ return data;
2892
3718
  };
2893
3719
 
2894
3720
  //导出
2895
- exports.default = {
2896
- JSIndexScript: JSIndexScript
3721
+ var _default = exports["default"] = {
3722
+ JSIndexScript: JSIndexScript
2897
3723
  };