커뮤니티

도움을 청합니다.

프로필 이미지
포보스
2025-10-05 18:02:47.0
57
글번호 194509
답변완료
안녕하세요 아래 수식에서 Plot4 라인을 추가하되 Plot2와 Plot3의 중간선(50%)라인을 추가하고자 합니다. 부탁드리겠습니다. 추석연휴 즐거운시간 되시길 바랍니다. ======================== input : period(10),multiplier(3); var : src(0), AtrV(0),upperBand(0),lowerBand(0), prevLowerBand(0), prevUpperBand(0); var : prevSuperTrend(0), direction(0),alpha(0),source(0),SuperTrend(C); if CurrentBar > 1 Then { src = (H+L)/2; alpha = 1 / period ; source = max(high - low, abs(high - close[1]), abs(low - close[1])); ATrV = alpha * source + (1 - alpha) * ATrV[1]; //지수가중이평방식 //ATrV = ma(source,AtrPeriod); //단순이평방식 upperBand = src + multiplier * AtrV; lowerBand = src - multiplier * AtrV; prevLowerBand = lowerBand[1]; prevUpperBand = upperBand[1]; if lowerBand > prevLowerBand or close[1] < prevLowerBand Then lowerBand = lowerBand; Else lowerBand = prevLowerBand; if upperBand < prevUpperBand or close[1] > prevUpperBand Then upperBand = upperBand; Else upperBand = prevUpperBand; if C > UpperBand Then direction = 1; if C < LowerBand Then direction = -1; if direction == 1 Then SuperTrend = lowerband; Else SuperTrend = upperband; Plot1(SuperTrend,"SuperTrend",IFF(direction==1,Red,Blue)); } input : 기간(45),R(2); var : TOP(0),LO(0),DOUBLE(0),idx(0); TOP = HIGHEST(H,기간); LO = LOWEST(L,기간); if H > TOP[1] Then { DOUBLE = H; idx = 0; } Else { if DOUBLE > 0 Then idx = idx+1; } if idx == 기간-R Then { var1 = DOUBLE; Var2 = LO; } Plot2(var1); plot3(Var2); var : box(0); Condition1 = supertrend > var1; if Condition1 == true Then { if Condition1[1] == False Then { box = Box_New(sDate,sTime,H,NextBarSdate,NextBarStime,L); Box_SetColor(box,lightYellow); Box_SetFill(box,true); Box_SetExtFill(box,true); } Else { Box_SetEnd(box,NextBarSdate,NextBarStime,l); } }
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2025-10-10 09:33:42.0

안녕하세요 예스스탁입니다. input : period(10),multiplier(3); var : src(0), AtrV(0),upperBand(0),lowerBand(0), prevLowerBand(0), prevUpperBand(0); var : prevSuperTrend(0), direction(0),alpha(0),source(0),SuperTrend(C); if CurrentBar > 1 Then { src = (H+L)/2; alpha = 1 / period ; source = max(high - low, abs(high - close[1]), abs(low - close[1])); ATrV = alpha * source + (1 - alpha) * ATrV[1]; //지수가중이평방식 //ATrV = ma(source,AtrPeriod); //단순이평방식 upperBand = src + multiplier * AtrV; lowerBand = src - multiplier * AtrV; prevLowerBand = lowerBand[1]; prevUpperBand = upperBand[1]; if lowerBand > prevLowerBand or close[1] < prevLowerBand Then lowerBand = lowerBand; Else lowerBand = prevLowerBand; if upperBand < prevUpperBand or close[1] > prevUpperBand Then upperBand = upperBand; Else upperBand = prevUpperBand; if C > UpperBand Then direction = 1; if C < LowerBand Then direction = -1; if direction == 1 Then SuperTrend = lowerband; Else SuperTrend = upperband; Plot1(SuperTrend,"SuperTrend",IFF(direction==1,Red,Blue)); } input : 기간(45),R(2); var : TOP(0),LO(0),DOUBLE(0),idx(0); TOP = HIGHEST(H,기간); LO = LOWEST(L,기간); if H > TOP[1] Then { DOUBLE = H; idx = 0; } Else { if DOUBLE > 0 Then idx = idx+1; } if idx == 기간-R Then { var1 = DOUBLE; Var2 = LO; var3 = (var1+var2)/2; } Plot2(var1); plot3(Var2); plot4(var3); var : box(0); Condition1 = supertrend > var1; if Condition1 == true Then { if Condition1[1] == False Then { box = Box_New(sDate,sTime,H,NextBarSdate,NextBarStime,L); Box_SetColor(box,lightYellow); Box_SetFill(box,true); Box_SetExtFill(box,true); } Else { Box_SetEnd(box,NextBarSdate,NextBarStime,l); } } 즐거운 하루되세요 > 포보스 님이 쓴 글입니다. > 제목 : 도움을 청합니다. > 안녕하세요 아래 수식에서 Plot4 라인을 추가하되 Plot2와 Plot3의 중간선(50%)라인을 추가하고자 합니다. 부탁드리겠습니다. 추석연휴 즐거운시간 되시길 바랍니다. ======================== input : period(10),multiplier(3); var : src(0), AtrV(0),upperBand(0),lowerBand(0), prevLowerBand(0), prevUpperBand(0); var : prevSuperTrend(0), direction(0),alpha(0),source(0),SuperTrend(C); if CurrentBar > 1 Then { src = (H+L)/2; alpha = 1 / period ; source = max(high - low, abs(high - close[1]), abs(low - close[1])); ATrV = alpha * source + (1 - alpha) * ATrV[1]; //지수가중이평방식 //ATrV = ma(source,AtrPeriod); //단순이평방식 upperBand = src + multiplier * AtrV; lowerBand = src - multiplier * AtrV; prevLowerBand = lowerBand[1]; prevUpperBand = upperBand[1]; if lowerBand > prevLowerBand or close[1] < prevLowerBand Then lowerBand = lowerBand; Else lowerBand = prevLowerBand; if upperBand < prevUpperBand or close[1] > prevUpperBand Then upperBand = upperBand; Else upperBand = prevUpperBand; if C > UpperBand Then direction = 1; if C < LowerBand Then direction = -1; if direction == 1 Then SuperTrend = lowerband; Else SuperTrend = upperband; Plot1(SuperTrend,"SuperTrend",IFF(direction==1,Red,Blue)); } input : 기간(45),R(2); var : TOP(0),LO(0),DOUBLE(0),idx(0); TOP = HIGHEST(H,기간); LO = LOWEST(L,기간); if H > TOP[1] Then { DOUBLE = H; idx = 0; } Else { if DOUBLE > 0 Then idx = idx+1; } if idx == 기간-R Then { var1 = DOUBLE; Var2 = LO; } Plot2(var1); plot3(Var2); var : box(0); Condition1 = supertrend > var1; if Condition1 == true Then { if Condition1[1] == False Then { box = Box_New(sDate,sTime,H,NextBarSdate,NextBarStime,L); Box_SetColor(box,lightYellow); Box_SetFill(box,true); Box_SetExtFill(box,true); } Else { Box_SetEnd(box,NextBarSdate,NextBarStime,l); } }