커뮤니티
rsi
rsi 선이 하단선에 닿거나 하단선 아래로 하락하면 매도, 다음봉에 매도청산.
rsi 선이 상단선에 닿거나 상단선 위로 상승하면 매도, 다음봉에 매도청산.
oversold 상승선이 0 에서 발생하면 매수,다음봉에 매수청산.(0 이상에서 상승선은 무관)
overbougth 하락선이 100 에서 발생하면 매수,다음봉에 매수청산.(100 이하에서 하락선은 무관)
plot4와 plot5의 상하를 바꿨습니다. 감사합니다.
input : max(20),min(10);
input : overbought(70),oversold(30);
var : src(0), N(0),diff(0),i(0);
var : k(0),overbuy(0),overSell(0),avgv(0);
var : alpha(0),num_rma(0),den_rma(0);
var : rsiv(0),avg_rsi(0),buy_rsi_ma(0),sell_rsi_ma(0);
Array : num[100](0),den[100](0);
src = C;
N = max-min+1;
diff = IFf(IsNan(src - src[1]) == False,src-src[1],0);
k = 0;
overbuy = 0;
oversell = 0;
avgv = 0;
for i = min to max
{
alpha = 1/i;
num_rma = alpha*diff + (1-alpha)*num[k];
den_rma = alpha*abs(diff) + (1-alpha)*den[k];
rsiv = 50*num_rma/den_rma + 50;
avgv = avgv+ rsiv;
overbuy = iff(rsiv > overbought , overbuy + 1 , overbuy);
oversell = iff(rsiv < oversold , oversell + 1 , oversell);
num[k] = num_rma;
den[k] = den_rma;
k = k + 1;
}
avg_rsi = avgv/N;
buy_rsi_ma = 0;
sell_rsi_ma = 0;
buy_rsi_ma = iff(IsNan(buy_rsi_ma[1] + overbuy/N*(avg_rsi - buy_rsi_ma[1])) == False,buy_rsi_ma[1] + overbuy/N*(avg_rsi - buy_rsi_ma[1]),avg_rsi);
sell_rsi_ma = iff(IsNaN(sell_rsi_ma[1] + oversell/N*(avg_rsi - sell_rsi_ma[1])) == False,sell_rsi_ma[1] + oversell/N*(avg_rsi - sell_rsi_ma[1]), avg_rsi);
plot1(avg_rsi,"RSI");
plot2(buy_rsi_ma,"Upper");
plot3(sell_rsi_ma,"Lower");
plot4(oversell/N*100,"Oversold");
plot5(100 - overbuy/N*100,"Overbought");
PlotBaseLine1(100,"100");
PlotBaseLine2(0,"0");
답변 1
예스스탁 예스스탁 답변
2026-10-28 14:05:35