커뮤니티

수식확인 요청 드립니다.

프로필 이미지
신데렐라맨
2023-05-15 13:34:42
1523
글번호 168974
답변완료
nr12 nr7로 테스트 했는데 1봉전께 나오는거 같습니다. 번거로우시겠지만 확인 부탁드립니다. 감사합니다. > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 지표 및 종목검색식 부탁드립니다. > 안녕하세요 예스스탁입니다. 1. 지표(속성에서 막대그래프로 지정하고 보시기 바랍니다.) input : length_NR(7); var : sOpen(0),sHigh(0),sLow(0),sClose(0); var : range_NR_Prep(0),range_NR(0),range_ATR(0); var : range_isCurrentLowest(False),range_isLowest(False); var : range_Break_Direction(0),range_Volume_Surge(0); sOpen = open; sHigh = high; sLow = low; sClose = close; #NR_Check(range) => range < lowest(range, length_NR - 1)[1] ? true : false // Calculations range_NR_Prep = sHigh - sLow; range_NR = sHigh[1] - sLow[1]; range_ATR = atr(length_NR); if range_NR_Prep < lowest(range_NR_Prep,length_NR-1)[1] Then range_isCurrentLowest = true; Else range_isCurrentLowest = False; if range_NR < lowest(range_NR,length_NR-1)[1] Then range_isLowest = true; Else range_isLowest = False; range_Break_Direction = iff(range_isLowest == true , IFf(sClose > sHigh[1] and range_ATR > range_ATR[1] , 1 ,IFf(sClose < sLow[1] and range_ATR < range_ATR[1] , -1 , 0)),0); range_Volume_Surge = iff(volume > ma(volume, length_NR)[1] , 1 , 0); range_Break_Direction = iff(range_Break_Direction == 1 , range_Break_Direction + range_Volume_Surge ,IFf(range_Break_Direction == -1 , range_Break_Direction + range_Volume_Surge , 0)); if range_isLowest then plot1(range_Break_Direction,"검색",green); Else NoPlot(1); 2 종목검색 input : length_NR(7); var : sOpen(0),sHigh(0),sLow(0),sClose(0); var : range_NR_Prep(0),range_NR(0),range_ATR(0); var : range_isCurrentLowest(False),range_isLowest(False); var : range_Break_Direction(0),range_Volume_Surge(0); sOpen = open; sHigh = high; sLow = low; sClose = close; #NR_Check(range) => range < lowest(range, length_NR - 1)[1] ? true : false // Calculations range_NR_Prep = sHigh - sLow; range_NR = sHigh[1] - sLow[1]; range_ATR = atr(length_NR); if range_NR_Prep < lowest(range_NR_Prep,length_NR-1)[1] Then range_isCurrentLowest = true; Else range_isCurrentLowest = False; if range_NR < lowest(range_NR,length_NR-1)[1] Then range_isLowest = true; Else range_isLowest = False; range_Break_Direction = iff(range_isLowest == true , IFf(sClose > sHigh[1] and range_ATR > range_ATR[1] , 1 ,IFf(sClose < sLow[1] and range_ATR < range_ATR[1] , -1 , 0)),0); range_Volume_Surge = iff(volume > ma(volume, length_NR)[1] , 1 , 0); range_Break_Direction = iff(range_Break_Direction == 1 , range_Break_Direction + range_Volume_Surge ,IFf(range_Break_Direction == -1 , range_Break_Direction + range_Volume_Surge , 0)); if range_isLowest then Find(1); 즐거운 하루되세요 > 신데렐라맨 님이 쓴 글입니다. > 제목 : 지표 및 종목검색식 부탁드립니다. > 종목검색식 + 지표요청입니다. nr(x) 인디케이터라는 지표입니다. 기본은 12일이고 날짜지정이 가능하면 좋겠습니다. 제가 설명이 부족할듯 하여 원본 링크 첨부드립니다. https://kr.tradingview.com/v/OWa0Thc7/ 브레이크 업다운 같은건 없어도 되고요 nr(x) 종목 검색식과 지표 부탁드립니다. 미리 감사드려요. 꾸벅~ //@version=2 study("NR(X) Indicator", overlay = true) // Pull traditional data sOpen = security(tickerid, period, open) sHigh = security(tickerid, period, high) sLow = security(tickerid, period, low) sClose = security(tickerid, period, close) // Inputs length_NR = input(defval = 7, title = "Period length of days for Narrow Range", type = integer) NR_Check(range) => range < lowest(range, length_NR - 1)[1] ? true : false // Calculations range_NR_Prep = sHigh - sLow range_NR = sHigh[1] - sLow[1] range_ATR = atr(length_NR) range_isCurrentLowest = NR_Check(range_NR_Prep) range_isLowest = NR_Check(range_NR) range_Break_Direction = range_isLowest == true ? sClose > sHigh[1] and range_ATR > range_ATR[1] ? 1 : sClose < sLow[1] and range_ATR < range_ATR[1] ? -1 : 0 : 0 range_Volume_Surge = volume > sma(volume, length_NR)[1] ? 1 : 0 range_Break_Direction := range_Break_Direction == 1 ? range_Break_Direction + range_Volume_Surge : range_Break_Direction == -1 ? range_Break_Direction + range_Volume_Surge : 0 // Draw out //plot(range_isLowest == true ? range_Break_Direction : na, color = green, style = histogram, transp = 0) plotshape(range_isCurrentLowest == true ? low : na, style = shape.diamond, color = white, transp = 0) plotshape(range_Break_Direction > 0 ? low : na, style = shape.labeldown, color = green, transp = 0, text = "Break ₩nUP", textcolor = white, location = location.abovebar) plotshape(range_Break_Direction < 0 ? high : na, style = shape.labelup, color = red, transp = 0, text = "Break ₩nDOWN", textcolor = white, location = location.belowbar)
종목검색
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2023-05-16 09:27:26

안녕하세요 예스스탁입니다. 수식을 다시 검토해 보았지만 1봉전의 값으로 리턴되거나 하지 않습니다. if range_NR < lowest(range_NR,length_NR-1)[1] Then range_isLowest = true; Else range_isLowest = False; 수식에서 기준이 되는 조건은 위 내용입니다. 현재 range_NR이 1봉전 기준 일정기간(지정기간-1) 최저가 보다 작으면(신저가발생) 조건이 충족하게 됩니다. 즐거운 하루되세요 > 신데렐라맨 님이 쓴 글입니다. > 제목 : 수식확인 요청 드립니다. > nr12 nr7로 테스트 했는데 1봉전께 나오는거 같습니다. 번거로우시겠지만 확인 부탁드립니다. 감사합니다. > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 지표 및 종목검색식 부탁드립니다. > 안녕하세요 예스스탁입니다. 1. 지표(속성에서 막대그래프로 지정하고 보시기 바랍니다.) input : length_NR(7); var : sOpen(0),sHigh(0),sLow(0),sClose(0); var : range_NR_Prep(0),range_NR(0),range_ATR(0); var : range_isCurrentLowest(False),range_isLowest(False); var : range_Break_Direction(0),range_Volume_Surge(0); sOpen = open; sHigh = high; sLow = low; sClose = close; #NR_Check(range) => range < lowest(range, length_NR - 1)[1] ? true : false // Calculations range_NR_Prep = sHigh - sLow; range_NR = sHigh[1] - sLow[1]; range_ATR = atr(length_NR); if range_NR_Prep < lowest(range_NR_Prep,length_NR-1)[1] Then range_isCurrentLowest = true; Else range_isCurrentLowest = False; if range_NR < lowest(range_NR,length_NR-1)[1] Then range_isLowest = true; Else range_isLowest = False; range_Break_Direction = iff(range_isLowest == true , IFf(sClose > sHigh[1] and range_ATR > range_ATR[1] , 1 ,IFf(sClose < sLow[1] and range_ATR < range_ATR[1] , -1 , 0)),0); range_Volume_Surge = iff(volume > ma(volume, length_NR)[1] , 1 , 0); range_Break_Direction = iff(range_Break_Direction == 1 , range_Break_Direction + range_Volume_Surge ,IFf(range_Break_Direction == -1 , range_Break_Direction + range_Volume_Surge , 0)); if range_isLowest then plot1(range_Break_Direction,"검색",green); Else NoPlot(1); 2 종목검색 input : length_NR(7); var : sOpen(0),sHigh(0),sLow(0),sClose(0); var : range_NR_Prep(0),range_NR(0),range_ATR(0); var : range_isCurrentLowest(False),range_isLowest(False); var : range_Break_Direction(0),range_Volume_Surge(0); sOpen = open; sHigh = high; sLow = low; sClose = close; #NR_Check(range) => range < lowest(range, length_NR - 1)[1] ? true : false // Calculations range_NR_Prep = sHigh - sLow; range_NR = sHigh[1] - sLow[1]; range_ATR = atr(length_NR); if range_NR_Prep < lowest(range_NR_Prep,length_NR-1)[1] Then range_isCurrentLowest = true; Else range_isCurrentLowest = False; if range_NR < lowest(range_NR,length_NR-1)[1] Then range_isLowest = true; Else range_isLowest = False; range_Break_Direction = iff(range_isLowest == true , IFf(sClose > sHigh[1] and range_ATR > range_ATR[1] , 1 ,IFf(sClose < sLow[1] and range_ATR < range_ATR[1] , -1 , 0)),0); range_Volume_Surge = iff(volume > ma(volume, length_NR)[1] , 1 , 0); range_Break_Direction = iff(range_Break_Direction == 1 , range_Break_Direction + range_Volume_Surge ,IFf(range_Break_Direction == -1 , range_Break_Direction + range_Volume_Surge , 0)); if range_isLowest then Find(1); 즐거운 하루되세요 > 신데렐라맨 님이 쓴 글입니다. > 제목 : 지표 및 종목검색식 부탁드립니다. > 종목검색식 + 지표요청입니다. nr(x) 인디케이터라는 지표입니다. 기본은 12일이고 날짜지정이 가능하면 좋겠습니다. 제가 설명이 부족할듯 하여 원본 링크 첨부드립니다. https://kr.tradingview.com/v/OWa0Thc7/ 브레이크 업다운 같은건 없어도 되고요 nr(x) 종목 검색식과 지표 부탁드립니다. 미리 감사드려요. 꾸벅~ //@version=2 study("NR(X) Indicator", overlay = true) // Pull traditional data sOpen = security(tickerid, period, open) sHigh = security(tickerid, period, high) sLow = security(tickerid, period, low) sClose = security(tickerid, period, close) // Inputs length_NR = input(defval = 7, title = "Period length of days for Narrow Range", type = integer) NR_Check(range) => range < lowest(range, length_NR - 1)[1] ? true : false // Calculations range_NR_Prep = sHigh - sLow range_NR = sHigh[1] - sLow[1] range_ATR = atr(length_NR) range_isCurrentLowest = NR_Check(range_NR_Prep) range_isLowest = NR_Check(range_NR) range_Break_Direction = range_isLowest == true ? sClose > sHigh[1] and range_ATR > range_ATR[1] ? 1 : sClose < sLow[1] and range_ATR < range_ATR[1] ? -1 : 0 : 0 range_Volume_Surge = volume > sma(volume, length_NR)[1] ? 1 : 0 range_Break_Direction := range_Break_Direction == 1 ? range_Break_Direction + range_Volume_Surge : range_Break_Direction == -1 ? range_Break_Direction + range_Volume_Surge : 0 // Draw out //plot(range_isLowest == true ? range_Break_Direction : na, color = green, style = histogram, transp = 0) plotshape(range_isCurrentLowest == true ? low : na, style = shape.diamond, color = white, transp = 0) plotshape(range_Break_Direction > 0 ? low : na, style = shape.labeldown, color = green, transp = 0, text = "Break ₩nUP", textcolor = white, location = location.abovebar) plotshape(range_Break_Direction < 0 ? high : na, style = shape.labelup, color = red, transp = 0, text = "Break ₩nDOWN", textcolor = white, location = location.belowbar)