커뮤니티

수식 도움 요청드립니다

프로필 이미지
이큐
2024-01-21 20:49:36
1115
글번호 175942
답변완료
수고에 늘 감사드립니다. 아래 수식을 예스랭귀지로 변환하고자 도움을 요청 드립니다. 매번 수고에 거듭 감사드립니다. //@version=5 indicator(title='Super trend B', overlay=true) length = input.int(20, minval=1) src = close mult1 = input.float(0.5, minval=0.001, maxval=50, title=" multiflier") basis = ta.sma(src, length) upper1 = basis + mult1 * ta.stdev(src, length) lower1 = basis - mult1 * ta.stdev(src, length) plot(basis, "Basis", color=#FF6D00) plot(upper1, "Upper 1", color=#2962FF) plot(lower1, "Lower 1", color=#2962FF) // INPUTS // st_mult = input.float(3, title='SuperTrend Multiplier', minval=0, maxval=100, step=0.01) st_period = input.int(7, title='SuperTrend Period', minval=1) // CALCULATIONS // up_lev = upper1 - st_mult * ta.atr(st_period) dn_lev = lower1 + st_mult * ta.atr(st_period) up_trend = 0.0 up_trend := close > up_trend ? math.max(up_lev, up_trend) : up_lev down_trend = 0.0 down_trend := close < down_trend ? math.min(dn_lev, down_trend) : dn_lev // Calculate trend var trend = 0 trend := close > down_trend ? 1 : close < up_trend ? -1 : nz(trend, 1) // Calculate SuperTrend Line st_line = trend == 1 ? up_trend : down_trend // Plotting //plot(st_line[1], color=trend == 1 ? color.green : color.red, style=plot.style_cross, linewidth=2, title='SuperTrend') buy = ta.crossover(close, st_line) sell = ta.crossunder(close, st_line) //plotshape(crossover( close, st_line), location = location.belowbar, color = color.green,size=size.tiny) //plotshape(crossunder(close, st_line), location = location.abovebar, color = color.red,size=size.tiny) //plotshape(buy, title='buy', text='Buy', color=color.new(color.green, 0), style=shape.labelup, location=location.belowbar, size=size.small, textcolor=color.new(color.white, 0)) //plot for buy icon plotshape(sell, title='sell', text='Sell', color=color.new(color.red, 0), style=shape.labeldown, location=location.abovebar, size=size.small, textcolor=color.new(color.white, 0)) //plot for sell icon // multiplier = input.float(title='DEV', defval=2, minval=1) src5 = close len5 = input.int(title='Linear length', defval=150, minval=1) offset = 0 calcSlope(src5, len5) => sumX = 0.0 sumY = 0.0 sumXSqr = 0.0 sumXY = 0.0 for i = 1 to len5 by 1 val = src5[len5 - i] per = i + 1.0 sumX += per sumY += val sumXSqr += per * per sumXY += val * per sumXY slope = (len5 * sumXY - sumX * sumY) / (len5 * sumXSqr - sumX * sumX) average = sumY / len5 intercept = average - slope * sumX / len5 + slope [slope, average, intercept] var float tmp = na [s, a, i] = calcSlope(src5, len5) vwap1 = i + s * (len5 - offset) sdev = ta.stdev(close, len5) dev = multiplier * sdev top = vwap1 + dev bott = vwap1 - dev // z1 = vwap1 + dev x1 = vwap1 - dev low1 = ta.crossover(close, x1) high1 = ta.crossunder(close, z1) plotshape(low1, title='b', text='BUY', color=color.new(color.green, 0), style=shape.labelup, location=location.belowbar, size=size.small, textcolor=color.new(color.white, 0)) //plot for buy icon //plotshape(high1, title='high', text='HIGH', color=color.new(color.green, 0), style=shape.labeldown, location=location.abovebar, size=size.small, textcolor=color.new(color.white, 0)) //plot for sell icon /////// Alerts ///// //alertcondition(buy, title='buy') alertcondition(sell, title='sell') alertcondition(low1, title='buy') //alertcondition(high1, title='buy tp')
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2024-01-23 12:32:32

안녕하세요 예스스탁입니다. input : length(20); input : mult1(0.5); var : src(0),basis(0),upper1(0),lower1(0); var : Buycond(False),Sellcond(False),TX1(0); src = close; basis = ma(src, length); upper1 = basis + mult1 * std(src, length); lower1 = basis - mult1 * std(src, length); plot1(basis, "Basis"); plot2(upper1, "Upper1"); plot3(lower1, "Lower1"); // INPUTS // input : st_mult(3),st_period (7); var : up_lev(0),dn_lev(0),up_trend(0),down_trend(0),trend(0),st_line(0); up_lev = upper1 - st_mult * atr(st_period); dn_lev = lower1 + st_mult * atr(st_period); up_trend = 0.0; up_trend = iff(close > up_trend , max(up_lev, up_trend) , up_lev); down_trend = 0.0; down_trend = iff(close < down_trend , min(dn_lev, down_trend) , dn_lev); // Calculate trend var trend = 0; trend = iff(close > down_trend , 1 , iff(close < up_trend , -1 , IFf(IsNaN(trend)==true, 1,trend))); // Calculate SuperTrend Line st_line = iff(trend == 1 , up_trend , down_trend); // Plotting //plot(st_line[1], color=trend == 1 ? color.green : color.red, style=plot.style_cross, linewidth=2, title='SuperTrend') Buycond = CrossUp(close, st_line) ; Sellcond = CrossDown(close, st_line); //plotshape(crossover( close, st_line), location = location.belowbar, color = color.green,size=size.tiny) //plotshape(crossunder(close, st_line), location = location.abovebar, color = color.red,size=size.tiny) //plotshape(buy, title='buy', text='Buy', color=color.new(color.green, 0), style=shape.labelup, location=location.belowbar, size=size.small, textcolor=color.new(color.white, 0)) //plot for buy icon if Sellcond Then { tx1 = text_new(sDate,sTime,H,"SELL"); Text_SetColor(tx1,Red); } // input : multiplier(2),len5(150); var :src5(0),cnt(0),val(0),per(0),sumX(0),sumY(0),sumXsqr(0),SumXY(0); var : s(0),a(0),i(0); var : offset(0),vwap1(0),sdev(0),dev(0),top(0),bott(0); var : z1(0),x1(0),low1(False),high1(False),tx2(0); src5 = close; offset = 0; sumX = 0.0; sumY = 0.0; sumXSqr = 0.0; sumXY = 0.0; for cnt = 1 to len5 { val = src5[len5 - cnt]; per = cnt + 1.0; sumX = sumX+per; sumY = sumY+val; sumXSqr = sumXSqr+per * per; sumXY = sumXY+val * per; } s = (len5 * sumXY - sumX * sumY) / (len5 * sumXSqr - sumX * sumX); a = sumY / len5; i = a - s * sumX / len5 + s; vwap1 = i + s * (len5 - offset); sdev = std(close, len5); dev = multiplier * sdev; top = vwap1 + dev; bott = vwap1 - dev; // z1 = vwap1 + dev; x1 = vwap1 - dev; low1 = CrossUp(close, x1); high1 = CrossDown(close, z1); if low1 Then { tx2 = text_new(sDate,sTime,L,"BUY"); Text_SetColor(tx2,Green); } #plotshape(low1, title='b', text='BUY', color=color.new(color.green, 0), style=shape.labelup, location=location.belowbar, size=size.small, textcolor=color.new(color.white, 0)) //plot for buy icon //plotshape(high1, title='high', text='HIGH', color=color.new(color.green, 0), style=shape.labeldown, location=location.abovebar, size=size.small, textcolor=color.new(color.white, 0)) //plot for sell icon 즐거운 하루되세요 > 이큐 님이 쓴 글입니다. > 제목 : 수식 도움 요청드립니다 > 수고에 늘 감사드립니다. 아래 수식을 예스랭귀지로 변환하고자 도움을 요청 드립니다. 매번 수고에 거듭 감사드립니다. //@version=5 indicator(title='Super trend B', overlay=true) length = input.int(20, minval=1) src = close mult1 = input.float(0.5, minval=0.001, maxval=50, title=" multiflier") basis = ta.sma(src, length) upper1 = basis + mult1 * ta.stdev(src, length) lower1 = basis - mult1 * ta.stdev(src, length) plot(basis, "Basis", color=#FF6D00) plot(upper1, "Upper 1", color=#2962FF) plot(lower1, "Lower 1", color=#2962FF) // INPUTS // st_mult = input.float(3, title='SuperTrend Multiplier', minval=0, maxval=100, step=0.01) st_period = input.int(7, title='SuperTrend Period', minval=1) // CALCULATIONS // up_lev = upper1 - st_mult * ta.atr(st_period) dn_lev = lower1 + st_mult * ta.atr(st_period) up_trend = 0.0 up_trend := close > up_trend ? math.max(up_lev, up_trend) : up_lev down_trend = 0.0 down_trend := close < down_trend ? math.min(dn_lev, down_trend) : dn_lev // Calculate trend var trend = 0 trend := close > down_trend ? 1 : close < up_trend ? -1 : nz(trend, 1) // Calculate SuperTrend Line st_line = trend == 1 ? up_trend : down_trend // Plotting //plot(st_line[1], color=trend == 1 ? color.green : color.red, style=plot.style_cross, linewidth=2, title='SuperTrend') buy = ta.crossover(close, st_line) sell = ta.crossunder(close, st_line) //plotshape(crossover( close, st_line), location = location.belowbar, color = color.green,size=size.tiny) //plotshape(crossunder(close, st_line), location = location.abovebar, color = color.red,size=size.tiny) //plotshape(buy, title='buy', text='Buy', color=color.new(color.green, 0), style=shape.labelup, location=location.belowbar, size=size.small, textcolor=color.new(color.white, 0)) //plot for buy icon plotshape(sell, title='sell', text='Sell', color=color.new(color.red, 0), style=shape.labeldown, location=location.abovebar, size=size.small, textcolor=color.new(color.white, 0)) //plot for sell icon // multiplier = input.float(title='DEV', defval=2, minval=1) src5 = close len5 = input.int(title='Linear length', defval=150, minval=1) offset = 0 calcSlope(src5, len5) => sumX = 0.0 sumY = 0.0 sumXSqr = 0.0 sumXY = 0.0 for i = 1 to len5 by 1 val = src5[len5 - i] per = i + 1.0 sumX += per sumY += val sumXSqr += per * per sumXY += val * per sumXY slope = (len5 * sumXY - sumX * sumY) / (len5 * sumXSqr - sumX * sumX) average = sumY / len5 intercept = average - slope * sumX / len5 + slope [slope, average, intercept] var float tmp = na [s, a, i] = calcSlope(src5, len5) vwap1 = i + s * (len5 - offset) sdev = ta.stdev(close, len5) dev = multiplier * sdev top = vwap1 + dev bott = vwap1 - dev // z1 = vwap1 + dev x1 = vwap1 - dev low1 = ta.crossover(close, x1) high1 = ta.crossunder(close, z1) plotshape(low1, title='b', text='BUY', color=color.new(color.green, 0), style=shape.labelup, location=location.belowbar, size=size.small, textcolor=color.new(color.white, 0)) //plot for buy icon //plotshape(high1, title='high', text='HIGH', color=color.new(color.green, 0), style=shape.labeldown, location=location.abovebar, size=size.small, textcolor=color.new(color.white, 0)) //plot for sell icon /////// Alerts ///// //alertcondition(buy, title='buy') alertcondition(sell, title='sell') alertcondition(low1, title='buy') //alertcondition(high1, title='buy tp')