calRSIDatas method
dynamic
calRSIDatas(
- dynamic close,
- dynamic p0,
- dynamic p1,
- dynamic p2,
- dynamic a,
- dynamic b,
计算RSI指标 @param close 收盘点 @param p0 = 6 SMA参数(2 <= p0 <= 100) @param p1 = 12 SMA参数(2 <= p1 <= 100) @param p2 = 24 SMA参数(2 <= p2 <= 100) @param a = 80 @param b = 20
Implementation
calRSIDatas(close, p0, p1, p2, a, b) {
var obj = {};
var size = close.length;
var lc = REF(close, 1);
var llc_max = [];
var llc_abs = [];
var i = 0;
for (i = 0; i < size; i++) {
llc_max.add(Tools.max(close[i] - lc[i], 0.0));
llc_abs.add((close[i] - lc[i]).abs());
}
var llc_max_sma6 = SMA(llc_max, p0, 1);
var llc_abs_sma6 = SMA(llc_abs, p0, 1);
var llc_max_sma12 = SMA(llc_max, p1, 1);
var llc_abs_sma12 = SMA(llc_abs, p1, 1);
var llc_max_sma24 = SMA(llc_max, p2, 1);
var llc_abs_sma24 = SMA(llc_abs, p2, 1);
var rsi1 = [];
var rsi2 = [];
var rsi3 = [];
var rsi4 = [];
var rsi5 = [];
for (i = 0; i < size; i++) {
rsi1.add((llc_max_sma6[i] / llc_abs_sma6[i]) * 100);
rsi2.add((llc_max_sma12[i] / llc_abs_sma12[i]) * 100);
rsi3.add((llc_max_sma24[i] / llc_abs_sma24[i]) * 100);
rsi4.add(a);
rsi5.add(b);
}
obj['RSI1'] = rsi1;
obj['RSI2'] = rsi2;
obj['RSI3'] = rsi3;
obj['A'] = rsi4;
obj['B'] = rsi5;
return obj;
}