답변완료
검색식 부탁드립니다
ATR값 = ATR(기간_ATR); ATR퍼센트 = (ATR값 / CLOSE)*100; 소스값 = ATR퍼센트; // 볼린저밴드 계산 중간선 = AVG(소스값, 기간_BB); 편차 = STDEV(소스값, 기간_BB); 상단밴드 = 중간선+ (편차 * 표준편차_배수); 하단밴드 = 중간선 - (편차 *표준편차_배수); 하단밴드 지표조건 기간_ATR 22 기간_BB 20 표준편차_배수 2 1,ATR지표값이 1봉전보 하락하고 BB 하단선을 크로스 다운한 검색식 부탁 드립니다 2, ATR 지표값을 BB상단선이 돌파한 검색식 부탁드립니다rsiVolweight = if(rsiVal <30 and Volweight > 1.2,0.8, if(rsiVal > 70 and volweight > 1.2,1.3,1,0));weightedDis = baseDis*rsiweight*volweight*rsivolweight;smoothedweightedDis = avg(weightedDis,3)지표조건per 20volper20rsiper14지표값이 1 이하인 검색식 부탁 드립니다
2025-11-06
110
글번호 227698
종목검색
답변완료
문의 드립니다.
///_____________________________________________________________________________________________________________________///Inputs///‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾tf = input.timeframe("", title = "Timeframe")len = input.int(20, title = "Length", minval = 1)‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾get_vpc(_len) => //Main Logic var float h_vwap = high var float l_vwap = low float upper = na float lower = na hst = ta.highest(_len) lst = ta.lowest(_len) new_high = high == hst new_low = low == lst h_vwap := ta.vwap(high,new_high) l_vwap := ta.vwap(low,new_low) h_change = ta.change(h_vwap) l_change = ta.change(l_vwap) upper := new_high ? hst : (hst == hst[1] ? upper[1] + h_change : math.min(hst,upper[1] + h_change)) lower := new_low ? lst : (lst == lst[1] ? lower[1] + l_change : math.max(lst,lower[1] + l_change)) _avg = math.avg(upper,lower) //Trend Detection & Coloring var int dir = 0 var int dir2 = 0 dir := new_high?1:new_low?-1:0 dir2 := new_high?1:new_low?-1:dir2[1] [upper,lower,_avg,hst,lst,dir,dir2]//Calling Function[upper,lower,mid,hst,lst,dir,dir2] = request.security("",tf,get_vpc(len))///_____________________________________________________________________________________________________________________///Display///‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾u = plot(upper, title = "Upper", color = dir == 1 ? color.rgb(0,0,0,100):color.rgb(255, 3, 62), style = plot.style_linebr)plot(mid, title = "Mid", color = color.gray, display = display.none)l = plot(lower, title = "Lower", color = dir == -1 ? color.rgb(0,0,0,100):color.rgb(61, 170, 69), style = plot.style_linebr)c = plot(close, display = display.none, editable = false)fill(u,c,dir2 == 1?color.rgb(0,0,0,100):color.rgb(255, 3, 62, 95), title = "Fill")fill(l,c,dir2 == -1?color.rgb(0,0,0,100):color.rgb(61, 170, 69, 95), title = "Fill")plot(hst, title = "DC Upper", color = #004d92, display = display.none)plot(lst, title = "DC Lower", color = #004d92, display = display.none)//<---nice트레이딩뷰 수식입니다.예스로 좀 바꿔주세요.
답변완료
수식문의
아래 수식, 잘 이용하고 있읍니다.(자동매매에) 쓰다보니 변별력을 높이기 위해 다음 사항을 추가하고 싶으나 직접 만들 자신없어 요청드립니다.1봉전 CrossUp(myZLMA ,myEMA) + 0봉전 RSI(14)>=60, -1~-5봉 RSI(14)<59.9 or 0봉전 CrossUp(myZLMA ,myEMA) + 0봉전 RSI(14)>=60, -1~-5봉 RSI(14)<59.9 ============================================================ input : 기간(15); var : myema(0),correction(0),myZLMA (0); myEMA = Ema(C, 기간); correction = C + (C - myEMA); myZLMA = Ema(correction, 기간) ; var1 = Ema(C,200);if CrossUp(myZLMA ,myEMA) and V>= V[1]*2 and C>C[1]*1.02 and countif(myZLMA > myZLMA[1] and myEMA > myEMA[1] and var1 > var1[1],2) == 2 Then Find(1);
2025-11-05
110
글번호 227689
종목검색
답변완료
수식요청
안녕하세요 수식 부탁드립니다 아래식에서 수식 수정 부탁드립니다 매수식 sw2선이 양선인 상태에서 10 이평선 밑에 있고 10이평선 이 sw2선위에 있는 상태에서 캔들이 양봉으로 이평 10선 상향 돌파시 매수.매도식 sw2선이 음선이고 10 이평 위에 위치하고 이평선이 sw2 선 아래에 있는 상태에서 10이평선을 하향 돌파시Inputs : Period(20), Sence(1.5), CC_DN(Yellow); Vars: VLineUp(0), VLineDn(0), HHighest(0), LLowest(0), JustChanged(FALSE), VLine(0), DBN(0),T(0); Array: Highs[35](0), Lows[35](0), RRange[35](0), UpWave[1](FALSE), DnWave[1](FALSE); If STime == 180000 Then DBN = 0; DBN = DBN + 1; Var1 = Period; Var2 = Var1 - 1; Var3 = Var1 - 2; Var5 = Sence; Var6 = H-L; JustChanged = FALSE; if CurrentBar <= Var2 then begin Highs[CurrentBar] = Close; Lows[CurrentBar] = Close; RRange[CurrentBar] = (H-L) /2; end; if CurrentBar == Var1 then begin if Highs[Var2] >= Highs[Var3] then begin UpWave[1] = TRUE; HHighest = Highs[Var2]; VLineUp = HHighest - (Var5 * MA(Var6,Var2)); #Plot1(VLineUp,"VLineUp"); end; if Highs[Var2] < Highs[Var3] then begin DnWave[1] = TRUE; LLowest = Lows[Var2]; VLineDn = LLowest + (Var5 * MA(Var6,Var2)); #Plot2(VLineDn,"VLineDn"); end; end; if CurrentBar > Var1 then begin if DnWave[1] and Close > VLineDn then begin DnWave[1] = FALSE; UpWave[1] = TRUE; JustChanged = TRUE; HHighest = Close; LLowest = 0; end; if UpWave[1] and Close < VLineUp and JustChanged == FALSE then begin UpWave[1] = FALSE; DnWave[1] = TRUE; JustChanged = TRUE; LLowest = Close; HHighest = 0; end; if JustChanged == FALSE then begin if Close > HHighest then HHighest = Close; else if Close < LLowest then LLowest = Close; end; VLineUp = HHighest - (Var5 * MA(Var6,Var2)); VLineDn = LLowest + (Var5 * MA(Var6,Var2)); if UpWave[1] then T = 1; else if DnWave[1] then T = -1; end; Input : BBP(20), MultiD(2),P(30); var : BBmd(0),BBup(0),BBdn(0),mav(0); BBmd = ma(C,Period); BBup = BollBandUp(BBP,MultiD); BBdn = BollBandDown(BBP,MultiD); mav = ma(C,P); if CrossDown(C,BBup) and t == -1 and c > mav Then sell(); if crossup(C,BBdn) and t == 1 and c < mav Then buy(); 첨부 https://www.yesstock.com/community/file-download?name=193585_sw2.yin&post_key=192729(sw2선)
답변완료
지표 부탁드립니다
안녕하세요 늘 도움주셔서 감사합니다.아래 지표 변환 부탁드립니다.length =input(10,minval=1,title="bb period")dev = input(1,minval=0.0001,title="deviations")//MACDfastlength=input(12,minval=1)slowlength=input(26,minval=1)signallength=input(9,minval=1)fastMA = ema(close,fastlength)slowMA=ema(close,slowlength)macd = fastMA-slowMA//Bollinger Bandsstd=stdve(mad,length)upper=(std*dev+(sma(macd,length)))lowr=((sma(macd,length))-(std*dev))band1=plot(upper,color=gray,style=line,linewidth=2,title="upper band")band2=plot(lower,color=gray,style=line,linewidth=2,title="lower band")fill(band1,band2,color=blue, transp=75,title="fill")mc=macd>=upper?blue:red
MACD볼린져밴드
답변완료
종목검색식 문의
글번호 227653 에서 " 위 그림과 같이 아이원플러스, 모니터랩은 그 이후에도 만족한 날짜가 있습니다. 즉 30일중 여러날 만족하면 가장최근 날짜가 결과값으로 표시됩니다." 라는 답변을 받았습니다. 그렇다면 30일치 검색을 하였을때, 종목이 각 다른 날에 중첩되어 검색이 되더라도 검색된 날 각 표시가 되게 할 수 는 없을까요? 예를 들어 오늘을 기준으로 30일치를 한번에 검색할때 11월 1일에 삼성전자가 검색이 되고11월 5일에도 삼성전자가 검색이 된다면, 글번호 227653에서 제가 작성한 식으로는 11월 5일 삼성전자만 표시가 됩니다. 제가 원하는 것은 11월 1일에도 삼성전자가 나오고, 11월 5일에도 삼성전자가 나오게 하는 것입니다. (중복일시 가장 최근에 검색된 것만 검색된 날짜만 표시되는 것이 아닌 ! ) 모든 날짜에 표시가 되게 할 수 있도록 아래 수식을 변경해주시면 감사하겠습니다. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~/* 조건식 변환본 (최근 30일치 자동검색 버전) 원식: A and B and C and ((D and E and F and G and H) or (M and J and K)) and N and O and P and Q*/var : A(false), B(false), Cc(false), Dd(false), Ee(false), Ff(false);var : Gg(false), Hh(false), Mm(false), Jj(false), Kk(false);var : Nn(false), Oo(false), Pp(false), Qq(false);var : d(false);var : VALUE1(0);/* A: 1봉전 종가대비 0봉전 고가등락률 15% 이상 */A = (H - C[1]) / C[1] * 100 >= 15;/* B: 0봉전 시가 < 0봉전 종가 */B = O < C;/* C: [일]거래대금(일:백만) 20000이상 999999999이하 → 원단위로 변환: 20000000000 ~ 999999999000000*/Cc = m >= 20000000000 and m <= 999999999000000;/* D: [일]3봉전 5봉 평균거래량 100000이상 999999999이하 */Dd = ma(V,5)[3] >= 100000 and ma(V,5)[3] <= 999999999;/* E: 1봉전 종가대비 0봉전 종가등락률 29.65% 이하 */Ee = (C - C[1]) / C[1] * 100 <= 29.65;/* F: 3봉전 종가대비 2봉전 종가등락률 29.65% 이하 */Ff = (C[2] - C[3]) / C[3] * 100 <= 29.65;/* G: 2봉전 시가 < 2봉전 종가 */Gg = O[2] < C[2];/* H: 3봉전 종가대비 2봉전 고가등락률 15% 이상 */Hh = (H[2] - C[3]) / C[3] * 100 >= 15;/* M: [일]4봉전 5봉 평균거래량 100000이상 999999999이하 */Mm = ma(V,5)[4] >= 100000 and ma(V,5)[4] <= 999999999;/* J: 3봉전 시가 < 3봉전 종가 */Jj = O[3] < C[3];/* K: 4봉전 종가대비 3봉전 고가등락률 15% 이상 */Kk = (H[3] - C[4]) / C[4] * 100 >= 15;/* N: 1봉전 종가대비 0봉전 종가등락률 29.65% 이하 */Nn = (C - C[1]) / C[1] * 100 <= 29.65;/* O: 2봉전 종가대비 1봉전 종가등락률 29.65% 이하 */Oo = (C[1] - C[2]) / C[2] * 100 <= 29.65;/* P: 3봉전 종가대비 2봉전 종가등락률 29.65% 이하 */Pp = (C[2] - C[3]) / C[3] * 100 <= 29.65;/* Q: 4봉전 종가대비 3봉전 종가등락률 29.65% 이하 */Qq = (C[3] - C[4]) / C[4] * 100 <= 29.65;/* 최종식 */d = A and B and Cc and ( (Dd and Ee and Ff and Gg and Hh) or (Mm and Jj and Kk) ) and Nn and Oo and Pp and Qq;/* 조건 충족일 기록 */if d then VALUE1 = sDate;/* 최근 30일 내 조건이 한 번이라도 발생한 종목만 출력 */if CountIf(d == true, 30) >= 1 then Find(VALUE1);