트레이딩뷰 지표 중 일부수식입니다.
변환 부탁드립니다.
mode = input.string("Range", "Weight Mode", options=["Range", "Body", "Both"])
rangeWeightB = (high - low)
bodyWeightB = math.abs(close - open)
weightB =
mode == "Range" ? rangeWeightB :
mode == "Body" ? bodyWeightB :
(rangeWeightB + bodyWeightB) / 2.0
normWeightB = weightB / ta.sma(weightB, length)
alpha = 2.0 / (length + 1)
var float swemaB = na
swemaB := na(swemaB[1]) ? src : swemaB[1] + alpha * normWeightB * (src - swemaB[1])
답변 1
예스스탁
예스스탁 답변
2025-09-30 15:14:48.0
안녕하세요
예스스탁입니다.
input : mode(1);#1:Range, 2:Body,3:Both;
input : length(20);
var : rangeWeightB(0),bodyWeightB(0),weightB(0),normWeightB(0);
var : alpha(0),swemaB(Nan);
var : src(0);
rangeWeightB = (high - low);
bodyWeightB = abs(close - open);
weightB = iff(mode == 1 , rangeWeightB ,IFf( mode == 2 , bodyWeightB ,(rangeWeightB + bodyWeightB) / 2.0));
normWeightB = weightB / ma(weightB, length);
src = normWeightB;
alpha = 2.0 / (length + 1);
swemaB = IFf(IsNan(swemaB[1]) ==true, src , swemaB[1] + alpha * normWeightB * (src - swemaB[1]));
즐거운 명절 되시기 바랍니다.
> bw 님이 쓴 글입니다.
> 제목 : 부탁드립니다.
> 트레이딩뷰 지표 중 일부수식입니다.
변환 부탁드립니다.
mode = input.string("Range", "Weight Mode", options=["Range", "Body", "Both"])
rangeWeightB = (high - low)
bodyWeightB = math.abs(close - open)
weightB =
mode == "Range" ? rangeWeightB :
mode == "Body" ? bodyWeightB :
(rangeWeightB + bodyWeightB) / 2.0
normWeightB = weightB / ta.sma(weightB, length)
alpha = 2.0 / (length + 1)
var float swemaB = na
swemaB := na(swemaB[1]) ? src : swemaB[1] + alpha * normWeightB * (src - swemaB[1])