커뮤니티

지표 수식변환부탁드립니다

프로필 이미지
seayun1
2023-03-30 14:25:24
1218
글번호 167744
답변완료
2개수식입니다. 예스드레이더 수식으로 전환부탁드립니다 정말 감사드립니다 indicator('RedK SmoothAndLazyMA', shorttitle='SALMA v2.0', overlay=true, timeframe='', timeframe_gaps=false) // Corrects price points within specific StdDev band before calculting a smoothed WMA price = input(close, 'Source') length = input.int(10, 'Length', minval=1) smooth = input.int(3, 'Extra Smooth [1 = None]', minval=1) mult = input.float(0.3, minval=0.05, maxval=3, step=0.05, title='Width', inline = 'SD Channel', group='Volatility Filter (SD Channel)') sd_len = input.int(5, minval=1, title='Length', inline = 'SD Channel', group='Volatility Filter (SD Channel)') baseline = ta.wma(price, sd_len) dev = mult * ta.stdev(price, sd_len) upper = baseline + dev lower = baseline - dev cprice = price > upper ? upper : price < lower ? lower : price // Uncomment these code lines to expose the base StdDev channel used as volatility filter //plot (baseline, "Base MA") //plot(upper, "Upper Band", color=color.green) //plot(lower, "Lower Band", color=color.red) REMA = ta.wma(ta.wma(cprice, length), smooth) c_up = color.new(#33ff00, 0) c_dn = color.new(#ff1111, 0) REMA_up = REMA > REMA[1] plot(REMA, title='SALMA', color=REMA_up ? c_up : c_dn, linewidth=3) // ====================================================================================================== // add optional MA's - to enable us to track what many other traders are working with // These MA's will be hidden by default until user exposes them as needed in the Settings // the below code is based on the built-in MA Ribbon in the TV library - with some modifications // ====================================================================== f_ma(source, length, type) => type == 'SMA' ? ta.sma(source, length) : type == 'EMA' ? ta.ema(source, length) : ta.wma(source, length) // ====================================================================== gr_ma = 'Optional MA₩'s' t_ma1 = 'MA #1' t_ma2 = 'MA #2' show_ma1 = input.bool(false, t_ma1, inline=t_ma1, group=gr_ma) ma1_type = input.string('SMA', '', options=['SMA', 'EMA', 'WMA'], inline=t_ma1, group=gr_ma) ma1_source = input.source(close, '', inline=t_ma1, group=gr_ma) ma1_length = input.int(50, '', minval=1, inline=t_ma1, group=gr_ma) ma1_color = #9c27b0 ma1 = f_ma(ma1_source, ma1_length, ma1_type) plot(show_ma1 ? ma1 : na, color=color.new(ma1_color, 0), title=t_ma1, linewidth=1) show_ma2 = input.bool(false, t_ma2, inline=t_ma2, group=gr_ma) ma2_type = input.string('SMA', '', options=['SMA', 'EMA', 'WMA'], inline=t_ma2, group=gr_ma) ma2_source = input.source(close, '', inline=t_ma2, group=gr_ma) ma2_length = input.int(100, '', minval=1, inline=t_ma2, group=gr_ma) ma2_color = #1163f6 ma2 = f_ma(ma2_source, ma2_length, ma2_type) plot(show_ma2 ? ma2 : na, color=color.new(ma2_color, 0), title=t_ma2, linewidth=1) 두번쨰 수식입니다 indicator(title="Commodity Channel Index", shorttitle="CCI", format=format.price, precision=2, timeframe="", timeframe_gaps=true) length = input.int(20, minval=1) src = input(hlc3, title="Source") ma = ta.sma(src, length) cci = (src - ma) / (0.015 * ta.dev(src, length)) plot(cci, "CCI", color=#2962FF) band1 = hline(100, "Upper Band", color=#787B86, linestyle=hline.style_dashed) hline(0, "Middle Band", color=color.new(#787B86, 50)) band0 = hline(-100, "Lower Band", color=#787B86, linestyle=hline.style_dashed) fill(band1, band0, color=color.rgb(33, 150, 243, 90), title="Background") ma(source, length, type) => switch type "SMA" => ta.sma(source, length) "EMA" => ta.ema(source, length) "SMMA (RMA)" => ta.rma(source, length) "WMA" => ta.wma(source, length) "VWMA" => ta.vwma(source, length) typeMA = input.string(title = "Method", defval = "SMA", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"], group="Smoothing") smoothingLength = input.int(title = "Length", defval = 5, minval = 1, maxval = 100, group="Smoothing") smoothingLine = ma(cci, smoothingLength, typeMA) plot(smoothingLine, title="Smoothing Line", color=#f37f20, display=display.none)
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2023-03-30 18:11:13

안녕하세요 예스스탁입니다. 1 input : length(10),smooth(3),mult(0.3),sd_len(5); input : ma1_type(0);#0단순, 1:지수, 2: 가중 input : ma2_type(0);#0단순, 1:지수, 2: 가중 input : ma1_length(50),ma2_length(100); var : price(0); var : baseline(0),dev(0),upper(0),lower(0),cPrice(0),REMA(0); var : c_up(0),c_dn(0),REMA_up(False); var : ma1_source(0),ma1_color(0),ma1(0); var : ma2_source(0),ma2_color(0),ma2(0); price = close; baseline = wma(price, sd_len); dev = mult * std(price, sd_len); upper = baseline + dev; lower = baseline - dev; cprice = iff(price > upper , upper , IFf(price < lower , lower , price)); REMA = wma(wma(cprice, length), smooth); c_up = Green; c_dn = Red; REMA_up = REMA > REMA[1]; ma1_source = close; ma2_source = close; ma1_color = Purple; ma2_color = Blue; if ma1_type == 0 Then ma1 = ma(ma1_source, ma1_length); Else if ma1_type == 1 Then ma1 = ema(ma1_source, ma1_length); Else ma1 = wma(ma1_source, ma1_length); if ma2_type == 0 Then ma2 = ma(ma2_source, ma2_length); Else if ma1_type == 1 Then ma2 = ema(ma2_source, ma2_length); Else ma2 = wma(ma2_source, ma2_length); plot1(REMA,"SALMA", iff(REMA_up , c_up , c_dn)); plot2(ma1,"ma1",ma1_color); plot3(ma2,"ma2",ma2_color); 2 input : length(20); input : typeMA(0);#0:sma, 1: ema, 2:rma, 3:WMa, 4: vwma input : smoothingLength(5); var : src(0),mav(0),cnt(0),cciv(0),smoothingLine(0); var : alpha(0); src = (h+l+c)/3; mav = ma(src, length); cciv = (src - mav) / (0.015 *AvgDeviation(src,length)); if typeMA == 0 Then smoothingLine = ma(cciv, smoothingLength); else if typeMA == 1 Then smoothingLine = ema(cciv, smoothingLength); else if typeMA == 2 Then { alpha = 1/length; smoothingLine = 0.0; smoothingLine = iff(isnan(smoothingLine[1]) == true,ma(cciv, length), alpha * cciv + (1 - alpha) * smoothingLine[1]); } else if typeMA == 3 Then smoothingLine = wma(cciv, smoothingLength); Else smoothingLine = ma(cciv * volume, smoothingLength) / ma(volume, smoothingLength); plot1(cciv, "CCI",Blue); plot2(smoothingLine, "Smoothing Line", Orange); PlotBaseLine1(100, "Upper Band",Gray); PlotBaseLine2(0, "Middle Band",Gray); PlotBaseLine3(-100, "Lower Band",Gray); 즐거운 하루되세요 > seayun1 님이 쓴 글입니다. > 제목 : 지표 수식변환부탁드립니다 > 2개수식입니다. 예스드레이더 수식으로 전환부탁드립니다 정말 감사드립니다 indicator('RedK SmoothAndLazyMA', shorttitle='SALMA v2.0', overlay=true, timeframe='', timeframe_gaps=false) // Corrects price points within specific StdDev band before calculting a smoothed WMA price = input(close, 'Source') length = input.int(10, 'Length', minval=1) smooth = input.int(3, 'Extra Smooth [1 = None]', minval=1) mult = input.float(0.3, minval=0.05, maxval=3, step=0.05, title='Width', inline = 'SD Channel', group='Volatility Filter (SD Channel)') sd_len = input.int(5, minval=1, title='Length', inline = 'SD Channel', group='Volatility Filter (SD Channel)') baseline = ta.wma(price, sd_len) dev = mult * ta.stdev(price, sd_len) upper = baseline + dev lower = baseline - dev cprice = price > upper ? upper : price < lower ? lower : price // Uncomment these code lines to expose the base StdDev channel used as volatility filter //plot (baseline, "Base MA") //plot(upper, "Upper Band", color=color.green) //plot(lower, "Lower Band", color=color.red) REMA = ta.wma(ta.wma(cprice, length), smooth) c_up = color.new(#33ff00, 0) c_dn = color.new(#ff1111, 0) REMA_up = REMA > REMA[1] plot(REMA, title='SALMA', color=REMA_up ? c_up : c_dn, linewidth=3) // ====================================================================================================== // add optional MA's - to enable us to track what many other traders are working with // These MA's will be hidden by default until user exposes them as needed in the Settings // the below code is based on the built-in MA Ribbon in the TV library - with some modifications // ====================================================================== f_ma(source, length, type) => type == 'SMA' ? ta.sma(source, length) : type == 'EMA' ? ta.ema(source, length) : ta.wma(source, length) // ====================================================================== gr_ma = 'Optional MA₩'s' t_ma1 = 'MA #1' t_ma2 = 'MA #2' show_ma1 = input.bool(false, t_ma1, inline=t_ma1, group=gr_ma) ma1_type = input.string('SMA', '', options=['SMA', 'EMA', 'WMA'], inline=t_ma1, group=gr_ma) ma1_source = input.source(close, '', inline=t_ma1, group=gr_ma) ma1_length = input.int(50, '', minval=1, inline=t_ma1, group=gr_ma) ma1_color = #9c27b0 ma1 = f_ma(ma1_source, ma1_length, ma1_type) plot(show_ma1 ? ma1 : na, color=color.new(ma1_color, 0), title=t_ma1, linewidth=1) show_ma2 = input.bool(false, t_ma2, inline=t_ma2, group=gr_ma) ma2_type = input.string('SMA', '', options=['SMA', 'EMA', 'WMA'], inline=t_ma2, group=gr_ma) ma2_source = input.source(close, '', inline=t_ma2, group=gr_ma) ma2_length = input.int(100, '', minval=1, inline=t_ma2, group=gr_ma) ma2_color = #1163f6 ma2 = f_ma(ma2_source, ma2_length, ma2_type) plot(show_ma2 ? ma2 : na, color=color.new(ma2_color, 0), title=t_ma2, linewidth=1) 두번쨰 수식입니다 indicator(title="Commodity Channel Index", shorttitle="CCI", format=format.price, precision=2, timeframe="", timeframe_gaps=true) length = input.int(20, minval=1) src = input(hlc3, title="Source") ma = ta.sma(src, length) cci = (src - ma) / (0.015 * ta.dev(src, length)) plot(cci, "CCI", color=#2962FF) band1 = hline(100, "Upper Band", color=#787B86, linestyle=hline.style_dashed) hline(0, "Middle Band", color=color.new(#787B86, 50)) band0 = hline(-100, "Lower Band", color=#787B86, linestyle=hline.style_dashed) fill(band1, band0, color=color.rgb(33, 150, 243, 90), title="Background") ma(source, length, type) => switch type "SMA" => ta.sma(source, length) "EMA" => ta.ema(source, length) "SMMA (RMA)" => ta.rma(source, length) "WMA" => ta.wma(source, length) "VWMA" => ta.vwma(source, length) typeMA = input.string(title = "Method", defval = "SMA", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"], group="Smoothing") smoothingLength = input.int(title = "Length", defval = 5, minval = 1, maxval = 100, group="Smoothing") smoothingLine = ma(cci, smoothingLength, typeMA) plot(smoothingLine, title="Smoothing Line", color=#f37f20, display=display.none)