커뮤니티

수식 부탁드립니다

프로필 이미지
사노소이
2025-09-08 00:05:24
78
글번호 193756
답변완료
지표식, 시스템식 부탁 드립니다. //@version=6 indicator("DFR", overlay = true) // INPUTS ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――{ factor = input.float(10, "Length", step = 0.01) col_up = input.color(color.rgb(26, 221, 127), "", inline = "Col") col_dn = input.color(color.rgb(231, 147, 20), "", inline = "Col") // } // CALCULATIONS――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――{ float dist = ta.sma(high-low, 200) trend_line(factor)=> float src = hlc3 int _direction = na float trend_line = na upperBand = ta.ema(src, 15) + factor * dist lowerBand = ta.ema(src, 15) - factor * dist prevLowerBand = nz(lowerBand[1]) prevUpperBand = nz(upperBand[1]) lowerBand := lowerBand > prevLowerBand or src[1] < prevLowerBand ? lowerBand : prevLowerBand upperBand := upperBand < prevUpperBand or src[1] > prevUpperBand ? upperBand : prevUpperBand prevTrendLine = trend_line[1] if na(dist[1]) _direction := 1 else if prevTrendLine == prevUpperBand _direction := src > upperBand ? -1 : 1 else _direction := src < lowerBand ? 1 : -1 trend_line := _direction == -1 ? lowerBand : upperBand line_ = math.avg(lowerBand, upperBand) [line_, _direction, lowerBand, upperBand] [line_, _direction, lowerBand, upperBand] = trend_line(factor) // } // PLOT ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――{ t_col = _direction == 1 ? col_dn : col_up plot(line_, "TrendLine", color = color.new(t_col, 0), linewidth = 4) plot(line_, "TrendLine", color = color.new(t_col, 80), linewidth = 10) plot(lowerBand+dist, "LowerBand1", color = _direction == -1 ? color.new(t_col, 80) : color.new(t_col, 100), linewidth = 1) plot(lowerBand+dist*0.5, "LowerBand2", color = _direction == -1 ? color.new(t_col, 60) : color.new(t_col, 100), linewidth = 1) plot(lowerBand, "LowerBand3", color = _direction == -1 ? color.new(t_col, 40) : color.new(t_col, 100), linewidth = 1) plot(lowerBand-dist*0.5, "LowerBand4", color = _direction == -1 ? color.new(t_col, 20) : color.new(t_col, 100), linewidth = 1) plot(lowerBand-dist, "LowerBand5", color = _direction == -1 ? color.new(t_col, 0) : color.new(t_col, 100), linewidth = 1) plot(upperBand+dist, "UpperBand5", color = _direction == 1 ? color.new(t_col, 0) : color.new(t_col, 100), linewidth = 1) plot(upperBand+dist*0.5, "UpperBand4", color = _direction == 1 ? color.new(t_col, 20) : color.new(t_col, 100), linewidth = 1) plot(upperBand, "UpperBand3", color = _direction == 1 ? color.new(t_col, 40) : color.new(t_col, 100), linewidth = 1) plot(upperBand-dist*0.5, "UpperBand2", color = _direction == 1 ? color.new(t_col, 60) : color.new(t_col, 100), linewidth = 1) plot(upperBand-dist, "UpperBand1", color = _direction == 1 ? color.new(t_col, 80) : color.new(t_col, 100), linewidth = 1) plotcandle(open, high, low, close, title='CandleStick Coloring', color = color.new(t_col, 50), wickcolor=color.new(t_col, 50), bordercolor = color.new(t_col, 50)) // }
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2025-09-08 14:32:41

안녕하세요 예스스탁입니다. input : factor(10); input : col_up(Green); input : col_dn(Orange); var : dist(0); dist = ma(high-low, 200); var : src(0),_direction(Nan),trend_line(Nan); var : upperBand(0),lowerband(0),prevLowerBand(0),prevUpperBand(0),line_(0),t_col(0); src = (h+l+c)/3; upperBand = ema(src, 15) + factor * dist; lowerBand = ema(src, 15) - factor * dist; prevLowerBand = iff(isnan(lowerBand[1])==true,0,lowerBand[1]); prevUpperBand = iff(isnan(upperBand[1])==true,0,upperBand[1]); upperBand = iff(upperBand < prevUpperBand or src[1] > prevUpperBand , upperBand , prevUpperBand); lowerBand = iff(lowerBand > prevLowerBand or src[1] < prevLowerBand , lowerBand , prevLowerBand); if IsNan(dist[1]) == true Then _direction = 1; else if trend_line[1] == prevUpperBand Then _direction = iff(src > upperBand , -1 , 1); else _direction = iff(src < lowerBand , 1 , -1); trend_line = iff(_direction == -1 , lowerBand , upperBand); line_ = avg(lowerBand, upperBand); t_col = iff(_direction == 1 , col_dn , col_up); plot1(line_, "TrendLine", t_col); plot2(line_, "TrendLine", t_col); plot3(lowerBand+dist, "LowerBand1", t_col); plot4(lowerBand+dist*0.5, "LowerBand2", t_col); plot5(lowerBand, "LowerBand3", t_col); plot6(lowerBand-dist*0.5, "LowerBand4", t_col); plot7(lowerBand-dist, "LowerBand5",t_col); plot8(upperBand+dist, "UpperBand5",t_col); plot9(upperBand+dist*0.5, "UpperBand4",t_col); plot10(upperBand, "UpperBand3",t_col); plot11(upperBand-dist*0.5, "UpperBand2", t_col); plot12(upperBand-dist, "UpperBand1",t_col); 즐거운 하루되세요 > 사노소이 님이 쓴 글입니다. > 제목 : 수식 부탁드립니다 > 지표식, 시스템식 부탁 드립니다. //@version=6 indicator("DFR", overlay = true) // INPUTS ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――{ factor = input.float(10, "Length", step = 0.01) col_up = input.color(color.rgb(26, 221, 127), "", inline = "Col") col_dn = input.color(color.rgb(231, 147, 20), "", inline = "Col") // } // CALCULATIONS――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――{ float dist = ta.sma(high-low, 200) trend_line(factor)=> float src = hlc3 int _direction = na float trend_line = na upperBand = ta.ema(src, 15) + factor * dist lowerBand = ta.ema(src, 15) - factor * dist prevLowerBand = nz(lowerBand[1]) prevUpperBand = nz(upperBand[1]) lowerBand := lowerBand > prevLowerBand or src[1] < prevLowerBand ? lowerBand : prevLowerBand upperBand := upperBand < prevUpperBand or src[1] > prevUpperBand ? upperBand : prevUpperBand prevTrendLine = trend_line[1] if na(dist[1]) _direction := 1 else if prevTrendLine == prevUpperBand _direction := src > upperBand ? -1 : 1 else _direction := src < lowerBand ? 1 : -1 trend_line := _direction == -1 ? lowerBand : upperBand line_ = math.avg(lowerBand, upperBand) [line_, _direction, lowerBand, upperBand] [line_, _direction, lowerBand, upperBand] = trend_line(factor) // } // PLOT ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――{ t_col = _direction == 1 ? col_dn : col_up plot(line_, "TrendLine", color = color.new(t_col, 0), linewidth = 4) plot(line_, "TrendLine", color = color.new(t_col, 80), linewidth = 10) plot(lowerBand+dist, "LowerBand1", color = _direction == -1 ? color.new(t_col, 80) : color.new(t_col, 100), linewidth = 1) plot(lowerBand+dist*0.5, "LowerBand2", color = _direction == -1 ? color.new(t_col, 60) : color.new(t_col, 100), linewidth = 1) plot(lowerBand, "LowerBand3", color = _direction == -1 ? color.new(t_col, 40) : color.new(t_col, 100), linewidth = 1) plot(lowerBand-dist*0.5, "LowerBand4", color = _direction == -1 ? color.new(t_col, 20) : color.new(t_col, 100), linewidth = 1) plot(lowerBand-dist, "LowerBand5", color = _direction == -1 ? color.new(t_col, 0) : color.new(t_col, 100), linewidth = 1) plot(upperBand+dist, "UpperBand5", color = _direction == 1 ? color.new(t_col, 0) : color.new(t_col, 100), linewidth = 1) plot(upperBand+dist*0.5, "UpperBand4", color = _direction == 1 ? color.new(t_col, 20) : color.new(t_col, 100), linewidth = 1) plot(upperBand, "UpperBand3", color = _direction == 1 ? color.new(t_col, 40) : color.new(t_col, 100), linewidth = 1) plot(upperBand-dist*0.5, "UpperBand2", color = _direction == 1 ? color.new(t_col, 60) : color.new(t_col, 100), linewidth = 1) plot(upperBand-dist, "UpperBand1", color = _direction == 1 ? color.new(t_col, 80) : color.new(t_col, 100), linewidth = 1) plotcandle(open, high, low, close, title='CandleStick Coloring', color = color.new(t_col, 50), wickcolor=color.new(t_col, 50), bordercolor = color.new(t_col, 50)) // }