커뮤니티

다음의 지표를 변환하여 주시기를 부탁드립니다.

프로필 이미지
하날랑
2025-08-30 13:26:41
97
글번호 193606
답변완료
트레이딩뷰의 "Squeeze Index [LuxAlgo]" 지표입니다. 횡보구간을 잡으려고 여러가지 지표를 사용해 보았으나 소귀의 목적을 이루지는 못했습니다. 스퀴즈 부분을 어느정도 잡을 수 있는 지표라고 하니 꼭 변환을 해 주시면 고맘겠습니다. 우선 자동매매에 적용을 하려고 하니 시스템에 맞게 부탁을 드리고 부차적으로 수동매매시 참고할 수 있도록 지표에 적용될 수 있도록 지표로도 부탁드립니다. // 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/ // © 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) //-----------------------------------------------------------------------------}
시스템
답변 2
프로필 이미지

예스스탁 예스스탁 답변

2025-09-01 13:14:47

안녕하세요 예스스탁입니다. input : conv(50); input : length(20); var : src(0),mx(0),mn(0),diff(0),psi(0); src = close; mx = iff(IsNan(max(src, mx - (mx - src) / conv)) == true, src,max(src, mx - (mx - src) / conv)); mn = iff(IsNan(min(src, mn + (src - mn) / conv)) == true, src,min(src, mn + (src - mn) / conv)); diff = log(mx - mn); psi = -50 * CoefficientR(diff, Index, length) + 50; plot1(psi, "PSI"); PlotBaseLine1(80); 즐거운 하루되세요 > 하날랑 님이 쓴 글입니다. > 제목 : 다음의 지표를 변환하여 주시기를 부탁드립니다. > 트레이딩뷰의 "Squeeze Index [LuxAlgo]" 지표입니다. 횡보구간을 잡으려고 여러가지 지표를 사용해 보았으나 소귀의 목적을 이루지는 못했습니다. 스퀴즈 부분을 어느정도 잡을 수 있는 지표라고 하니 꼭 변환을 해 주시면 고맘겠습니다. 우선 자동매매에 적용을 하려고 하니 시스템에 맞게 부탁을 드리고 부차적으로 수동매매시 참고할 수 있도록 지표에 적용될 수 있도록 지표로도 부탁드립니다. // 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/ // © 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) //-----------------------------------------------------------------------------}
프로필 이미지

하날랑

2025-09-01 16:43:08

완전하게 Squeeze 부분을 다 잡아내지는 못했지만 그래도 4개나 잡아냈습니다. 다시한번더 감사드립니다. > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 다음의 지표를 변환하여 주시기를 부탁드립니다. > 안녕하세요 예스스탁입니다. input : conv(50); input : length(20); var : src(0),mx(0),mn(0),diff(0),psi(0); src = close; mx = iff(IsNan(max(src, mx - (mx - src) / conv)) == true, src,max(src, mx - (mx - src) / conv)); mn = iff(IsNan(min(src, mn + (src - mn) / conv)) == true, src,min(src, mn + (src - mn) / conv)); diff = log(mx - mn); psi = -50 * CoefficientR(diff, Index, length) + 50; plot1(psi, "PSI"); PlotBaseLine1(80); 즐거운 하루되세요 > 하날랑 님이 쓴 글입니다. > 제목 : 다음의 지표를 변환하여 주시기를 부탁드립니다. > 트레이딩뷰의 "Squeeze Index [LuxAlgo]" 지표입니다. 횡보구간을 잡으려고 여러가지 지표를 사용해 보았으나 소귀의 목적을 이루지는 못했습니다. 스퀴즈 부분을 어느정도 잡을 수 있는 지표라고 하니 꼭 변환을 해 주시면 고맘겠습니다. 우선 자동매매에 적용을 하려고 하니 시스템에 맞게 부탁을 드리고 부차적으로 수동매매시 참고할 수 있도록 지표에 적용될 수 있도록 지표로도 부탁드립니다. // 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/ // © 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) //-----------------------------------------------------------------------------}