커뮤니티

지표작성부탁드립니다

프로필 이미지
파워
2025-08-30 20:51:07
103
글번호 193611
답변완료
사용지표: 볼린져밴드(20 2)와 덧붙임 지표 지표식조건 : 붙임지표의 상단선이 볼린져밴드(20) 상단선 위에 있으면 차트바탕에 노란색으로 표시되는 지표식 부탁합니다 덧붙임 : 붙임 지표식 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)); }
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2025-09-01 13:53:31

안녕하세요 예스스탁입니다. input : period(10),multiplier(3),P(20),dv(2); var : src(0), AtrV(0),upperBand(0),lowerBand(0), prevLowerBand(0), prevUpperBand(0); var : prevSuperTrend(0), direction(0),alpha(0),source(0),SuperTrend(C); var : bbup(0); var : box(0); bbup = BollBandUp(P,dv); 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; Condition1 = SuperTrend > bbup; if Condition1 == true Then { if Condition1[1] == False Then { box = Box_New(sDate,sTime,H,NextBarSdate,NextBarStime,L); Box_SetColor(box,Yellow); Box_SetFill(box,true); Box_SetExtFill(box,true); } Else { Box_SetEnd(box,NextBarSdate,NextBarStime,l); } } } 즐거운 하루되세요 > 파워 님이 쓴 글입니다. > 제목 : 지표작성부탁드립니다 > 사용지표: 볼린져밴드(20 2)와 덧붙임 지표 지표식조건 : 붙임지표의 상단선이 볼린져밴드(20) 상단선 위에 있으면 차트바탕에 노란색으로 표시되는 지표식 부탁합니다 덧붙임 : 붙임 지표식 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)); }