커뮤니티

수식 도움 요청드립니다

프로필 이미지
이큐
2024-01-11 09:47:11
778
글번호 175628
답변완료
수고에 늘 감사드립니다. 예스랭귀지로의 변환을 부탁드립니다. //Original Code From ucsgears study(title = "BB %B", shorttitle = "BB %B BB") source = close length = input(20, minval=1), mult = input(2.0, minval=0.001, maxval=50) basis = sma(source, length) dev = mult * stdev(source, length) upper = basis + dev lower = basis - dev bbr = (source - lower)/(upper - lower) //plot(bbr, color=teal) basisa = sma(bbr, length) deva = mult * stdev(bbr, length) uppera = basisa + deva lowera = basisa - deva //Added This aboveUp = bbr > uppera ? 1 : 0 belowDn = bbr < lowera ? 1 : 0 plotchar(aboveUp, title="i", char='S', location=location.top, color=red, transp=0, offset=0) plotchar(belowDn, title="i", char='B', location=location.bottom, color=green, transp=0, offset=0) //Added in BackGround Hilighting noTrade = aboveUp == 0 and belowDn == 0 bgcolor(noTrade ? gray : na, transp=50) bgcolor(aboveUp ? red : na, transp=60) bgcolor(belowDn ? green : na, transp=60) //Added This col = bbr < lowera ? lime : bbr > uppera ? red : teal //Changed your plot fills from Midline to top of band...and midline to lower band. p1 = plot(basisa, color=silver, linewidth=0) p2 = plot(uppera, color=red, linewidth=2) p3 = plot(lowera, color=green, linewidth=2) fill(p1, p2, color=red, transp = 70) fill(p1, p3, color=green, transp = 70) plot(bbr, color= col, style=linebr, linewidth=3)
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2024-01-12 10:28:07

안녕하세요 예스스탁입니다. input : length(20), mult(2.0); var : source(0),basis(0),dev(0),upper(0),lower(0),bbr(0); var : basisa(0),deva(0),uppera(0),lowera(0); var : aboveUp(0),belowDn(0),noTrade(False),col(0); var : tx(0),box1(0); source = close; basis = ma(source, length); dev = mult * std(source, length); upper = basis + dev; lower = basis - dev; bbr = (source - lower)/(upper - lower); basisa = ma(bbr, length); deva = mult * std(bbr, length); uppera = basisa + deva; lowera = basisa - deva; //Added This aboveUp = iff(bbr > uppera , 1 , 0); belowDn = iff(bbr < lowera , 1 , 0); if aboveUp == 1 Then { tx = Text_New_Self(sDate,sTime,bbr,"S"); Text_SetStyle(tx,2,1); Text_SetColor(tx,Red); } if belowDn == 1 Then { tx = Text_New_Self(sDate,sTime,bbr,"B"); Text_SetStyle(tx,2,0); Text_SetColor(tx,Green); } //Added in BackGround Hilighting noTrade = aboveUp == 0 and belowDn == 0; if noTrade == true Then { if noTrade[1] == False Then { box1 = Box_New_Self(sDate,sTime,9999999,NextBarSdate,NextBarStime,-9999999); Box_SetColor(box1,Gray); Box_SetFill(box1,true); } Else Box_SetEnd(box1,NextBarSdate,NextBarStime,-9999999); } if aboveUp == 1 Then { if aboveUp[1] == 0 Then { box1 = Box_New_Self(sDate,sTime,9999999,NextBarSdate,NextBarStime,-9999999); Box_SetColor(box1,Red); Box_SetFill(box1,true); } Else Box_SetEnd(box1,NextBarSdate,NextBarStime,-9999999); } if belowDn == 1 Then { if belowDn[1] == 0 Then { box1 = Box_New_Self(sDate,sTime,9999999,NextBarSdate,NextBarStime,-9999999); Box_SetColor(box1,green); Box_SetFill(box1,true); } Else Box_SetEnd(box1,NextBarSdate,NextBarStime,-9999999); } //Added This col = iff(bbr < lowera ,lime , IFf(bbr > uppera , red , teal)); //Changed your plot fills from Midline to top of band...and midline to lower band. plot1(basisa,"basisa", silver); plot2(uppera,"uppera", red); plot3(lowera,"lowera", green); plot4(bbr,"bbr",col); 즐거운 하루되세요 > 이큐 님이 쓴 글입니다. > 제목 : 수식 도움 요청드립니다 > 수고에 늘 감사드립니다. 예스랭귀지로의 변환을 부탁드립니다. //Original Code From ucsgears study(title = "BB %B", shorttitle = "BB %B BB") source = close length = input(20, minval=1), mult = input(2.0, minval=0.001, maxval=50) basis = sma(source, length) dev = mult * stdev(source, length) upper = basis + dev lower = basis - dev bbr = (source - lower)/(upper - lower) //plot(bbr, color=teal) basisa = sma(bbr, length) deva = mult * stdev(bbr, length) uppera = basisa + deva lowera = basisa - deva //Added This aboveUp = bbr > uppera ? 1 : 0 belowDn = bbr < lowera ? 1 : 0 plotchar(aboveUp, title="i", char='S', location=location.top, color=red, transp=0, offset=0) plotchar(belowDn, title="i", char='B', location=location.bottom, color=green, transp=0, offset=0) //Added in BackGround Hilighting noTrade = aboveUp == 0 and belowDn == 0 bgcolor(noTrade ? gray : na, transp=50) bgcolor(aboveUp ? red : na, transp=60) bgcolor(belowDn ? green : na, transp=60) //Added This col = bbr < lowera ? lime : bbr > uppera ? red : teal //Changed your plot fills from Midline to top of band...and midline to lower band. p1 = plot(basisa, color=silver, linewidth=0) p2 = plot(uppera, color=red, linewidth=2) p3 = plot(lowera, color=green, linewidth=2) fill(p1, p2, color=red, transp = 70) fill(p1, p3, color=green, transp = 70) plot(bbr, color= col, style=linebr, linewidth=3)