커뮤니티

수식작성 부탁드립니다.

프로필 이미지
고박사122
2023-03-21 15:09:14
2375
글번호 167384
답변완료

첨부 이미지

안녕하세요. 운영자님 아래와 같은 트레이딩뷰 수식을 예스트레이더 수식으로 변환 부탁드립니다. 감사합니다. // This work is licensed under a Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) https://creativecommons.org/licenses/by-nc-sa/4.0/ // &#169; LuxAlgo //@version=5 indicator("Squeeze Index [LuxAlgo]", "Squeeze Index [LuxAlgo]") //------------------------------------------------------------------------------ //Settings //-----------------------------------------------------------------------------{ conv = input(50, 'Convergence Factor') length = input(20) src = input(close) //Style col_0 = input(#ffeb3b, 'Gradient' , inline = 'inline0' , group = 'Style') col_1 = input(#ff5d00, '' , inline = 'inline0' , group = 'Style') col_2 = input(#ff1100, '' , inline = 'inline0' , group = 'Style') //-----------------------------------------------------------------------------} //Squeeze index //-----------------------------------------------------------------------------{ var max = 0. var min = 0. max := nz(math.max(src, max - (max - src) / conv), src) min := nz(math.min(src, min + (src - min) / conv), src) diff = math.log(max - min) psi = -50 * ta.correlation(diff, bar_index, length) + 50 //-----------------------------------------------------------------------------} //Plots //-----------------------------------------------------------------------------{ css1 = color.from_gradient(psi, 0, 80, col_0, col_1) css2 = color.from_gradient(psi, 80, 100, css1, col_2) plot_0 = plot(psi, 'PSI', psi > 80 ? na : css2) plot(psi, 'Dots', psi > 80 ? css2 : na, style = plot.style_cross) plot_1 = plot(80, display = display.none, editable = false) fill(plot_0, plot_1, psi < 80 ? na : color.new(#ff1100, 80)) hline(80) //-----------------------------------------------------------------------------}
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2023-03-22 09:24:53

안녕하세요 예스스탁입니다. plot2는 점그래프로 지정하셔야 합니다. input : conv(50),length(20); var : src(close),maxv(0),minv(0),diff(0),psi(0); src = c; maxv = iff(isnan(maxv[1]) == true, src, max(src, maxv - (maxv - src) / conv)); minv = IFf(isnan(minv[1]) == true, src, min(src, minv + (src - minv) / conv)); diff = Log(maxv - minv); psi = -50 * correlation(diff, index, length) + 50; if psi <= 80 Then { plot1(psi, "PSI1"); NoPlot(2); } Else { NoPlot(1); plot2(psi, "점"); } PlotBaseLine1(80); 즐거운 하루되세요 > 고박사122 님이 쓴 글입니다. > 제목 : 수식작성 부탁드립니다. > 안녕하세요. 운영자님 아래와 같은 트레이딩뷰 수식을 예스트레이더 수식으로 변환 부탁드립니다. 감사합니다. // This work is licensed under a Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) https://creativecommons.org/licenses/by-nc-sa/4.0/ // &#169; LuxAlgo //@version=5 indicator("Squeeze Index [LuxAlgo]", "Squeeze Index [LuxAlgo]") //------------------------------------------------------------------------------ //Settings //-----------------------------------------------------------------------------{ conv = input(50, 'Convergence Factor') length = input(20) src = input(close) //Style col_0 = input(#ffeb3b, 'Gradient' , inline = 'inline0' , group = 'Style') col_1 = input(#ff5d00, '' , inline = 'inline0' , group = 'Style') col_2 = input(#ff1100, '' , inline = 'inline0' , group = 'Style') //-----------------------------------------------------------------------------} //Squeeze index //-----------------------------------------------------------------------------{ var max = 0. var min = 0. max := nz(math.max(src, max - (max - src) / conv), src) min := nz(math.min(src, min + (src - min) / conv), src) diff = math.log(max - min) psi = -50 * ta.correlation(diff, bar_index, length) + 50 //-----------------------------------------------------------------------------} //Plots //-----------------------------------------------------------------------------{ css1 = color.from_gradient(psi, 0, 80, col_0, col_1) css2 = color.from_gradient(psi, 80, 100, css1, col_2) plot_0 = plot(psi, 'PSI', psi > 80 ? na : css2) plot(psi, 'Dots', psi > 80 ? css2 : na, style = plot.style_cross) plot_1 = plot(80, display = display.none, editable = false) fill(plot_0, plot_1, psi < 80 ? na : color.new(#ff1100, 80)) hline(80) //-----------------------------------------------------------------------------}