커뮤니티

수식 문의

프로필 이미지
흑수돌
2022-06-29 12:11:37
1510
글번호 160269
답변완료
아래 수식은 일목균형표를 수정한 superIchi 라는 지표의 수식입니다. 이 수식을 예트 수식으로 변환 하고 싶습니다. 링크 첨부하였습니다. 도움되시기바랍니다. 부탁드리겠습니다. 감사합니다. //@version=5 indicator("SuperIchi [LUX]",'SuperIchi [LUX]',overlay=true,max_lines_count=500) tenkan_len = input(9,'Tenkan&#8196;&#8196;&#8196;&#8196;&#8196;&#8196;&#8196;&#8196;&#8196;&#8196;',inline='tenkan') tenkan_mult = input(2.,'',inline='tenkan') kijun_len = input(26,'Kijun&#8196;&#8196;&#8196;&#8196;&#8196;&#8196;&#8196;&#8196;&#8196;&#8196;&#8196;&#8196;&#8196;',inline='kijun') kijun_mult = input(4.,'',inline='kijun') spanB_len = input(52,'Senkou Span B&#8196;',inline='span') spanB_mult = input(6.,'',inline='span') offset = input(26,'Displacement') //------------------------------------------------------------------------------ avg(src,length,mult)=> atr = ta.atr(length)*mult up = hl2 + atr dn = hl2 - atr upper = 0.,lower = 0. upper := src[1] < upper[1] ? math.min(up,upper[1]) : up lower := src[1] > lower[1] ? math.max(dn,lower[1]) : dn os = 0,max = 0.,min = 0. os := src > upper ? 1 : src < lower ? 0 : os[1] spt = os == 1 ? lower : upper max := ta.cross(src,spt) ? math.max(src,max[1]) : os == 1 ? math.max(src,max[1]) : spt min := ta.cross(src,spt) ? math.min(src,min[1]) : os == 0 ? math.min(src,min[1]) : spt math.avg(max,min) //------------------------------------------------------------------------------ tenkan = avg(close,tenkan_len,tenkan_mult) kijun = avg(close,kijun_len,kijun_mult) senkouA = math.avg(kijun,tenkan) senkouB = avg(close,spanB_len,spanB_mult) //------------------------------------------------------------------------------ tenkan_css = #2157f3 kijun_css = #ff5d00 cloud_a = color.new(color.teal,80) cloud_b = color.new(color.red,80) chikou_css = #7b1fa2 plot(tenkan,'Tenkan-Sen',tenkan_css) plot(kijun,'Kijun-Sen',kijun_css) plot(ta.crossover(tenkan,kijun) ? kijun : na,'Crossover',#2157f3,3,plot.style_circles) plot(ta.crossunder(tenkan,kijun) ? kijun : na,'Crossunder',#ff5d00,3,plot.style_circles) A = plot(senkouA,'Senkou Span A',na,offset=offset-1) B = plot(senkouB,'Senkou Span B',na,offset=offset-1) fill(A,B,senkouA > senkouB ? cloud_a : cloud_b) plot(close,'Chikou',chikou_css,offset=-offset+1,display=display.none) https://www.tradingview.com/scr@ipt/vDGd9X9y-SuperIchi-LUX/
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2022-06-29 15:04:51

안녕하세요 예스스탁입니다. input : tenkan_len(9),tenkan_mult(2),kijun_len(26),kijun_mult(4),spanB_len(52),spanB_mult(6),offset(26); var : ATR1(0),up1(0),dn1(0),upper1(0),lower1(0),os1(0),spt1(0),max1(0),min1(0),tenkan(0); var : ATR2(0),up2(0),dn2(0),upper2(0),lower2(0),os2(0),spt2(0),max2(0),min2(0),kijun(0); var : senkouA(0); var : ATR3(0),up3(0),dn3(0),upper3(0),lower3(0),os3(0),spt3(0),max3(0),min3(0),senkouB(0); var : tenkan_css(0),kijun_css(0),cloud_a(0),cloud_b(0),chikou_css(0),tx(0); ATR1 = ATR(tenkan_len)*tenkan_mult; up1 = (h+L)/2 + ATR1; dn1 = (h+L)/2 - ATR1; upper1 = iff(C[1] < upper1[1],min(up1,upper1[1]),up1); lower1 = iff(C[1] > lower1[1],max(dn1,lower1[1]),dn1); os1 = iff(c > upper1 , 1 ,IFf(c < lower1, 0 , os1[1])); spt1 = iff(os1 == 1 , lower1 , upper1); max1 = iff(CrossUp(c,spt1) or CrossDown(c,spt1) , max(c,max1[1]) , IFf(os1 == 1 , max(c,max1[1]) , spt1)); min1 = iff(CrossUp(c,spt1) or CrossDown(c,spt1) , min(c,min1[1]) , iff(os1 == 0 , min(c,min1[1]) , spt1)); tenkan = avg(max1,min1); ATR2 = ATR(kijun_len)*kijun_mult; up2 = (h+L)/2 + ATR2; dn2 = (h+L)/2 - ATR2; upper2 = iff(C[1] < upper2[1],min(up2,upper2[1]),up2); lower2 = iff(C[1] > lower2[1],max(dn2,lower2[1]),dn2); os2 = iff(c > upper2 , 1 ,IFf(c < lower2, 0 , os2[1])); spt2 = iff(os2 == 1 , lower2 , upper2); max2 = iff(CrossUp(c,spt2) or CrossDown(c,spt2) , max(c,max2[1]) , IFf(os2 == 1 , max(c,max2[1]) , spt2)); min2 = iff(CrossUp(c,spt2) or CrossDown(c,spt2) , min(c,min2[1]) , iff(os2 == 0 , min(c,min2[1]) , spt2)); kijun = avg(max2,min2); senkouA = avg(kijun,tenkan); ATR3 = ATR(spanB_len)*spanB_mult; up3 = (h+L)/2 + ATR3; dn3 = (h+L)/2 - ATR3; upper3 = iff(C[1] < upper3[1],min(up3,upper3[1]),up3); lower3 = iff(C[1] > lower3[1],max(dn3,lower3[1]),dn3); os3 = iff(c > upper3 , 1 ,IFf(c < lower3, 0 , os3[1])); spt3 = iff(os3 == 1 , lower3 , upper3); max3 = iff(CrossUp(c,spt3) or CrossDown(c,spt3) , max(c,max3[1]) , IFf(os3 == 1 , max(c,max3[1]) , spt3)); min3 = iff(CrossUp(c,spt3) or CrossDown(c,spt3) , min(c,min3[1]) , iff(os3 == 0 , min(c,min3[1]) , spt3)); senkouB = avg(max3,min3); tenkan_css = Red; kijun_css = Blue; cloud_a = teal; cloud_b = red; chikou_css = Green; plot1(tenkan,"Tenkan-Sen",tenkan_css); plot2(kijun,"Kijun-Sen",kijun_css); if CrossUp(tenkan,kijun) Then { tx = Text_New(sDate,sTime,kijun,"Crossover"); Text_SetStyle(tx,2,1); } if CrossDown(tenkan,kijun) Then { Text_New(sDate,sTime,kijun,"Crossover"); Text_SetStyle(tx,2,0); } 즐거운 하루되세요 > 흑수돌 님이 쓴 글입니다. > 제목 : 수식 문의 > 아래 수식은 일목균형표를 수정한 superIchi 라는 지표의 수식입니다. 이 수식을 예트 수식으로 변환 하고 싶습니다. 링크 첨부하였습니다. 도움되시기바랍니다. 부탁드리겠습니다. 감사합니다. //@version=5 indicator("SuperIchi [LUX]",'SuperIchi [LUX]',overlay=true,max_lines_count=500) tenkan_len = input(9,'Tenkan&#8196;&#8196;&#8196;&#8196;&#8196;&#8196;&#8196;&#8196;&#8196;&#8196;',inline='tenkan') tenkan_mult = input(2.,'',inline='tenkan') kijun_len = input(26,'Kijun&#8196;&#8196;&#8196;&#8196;&#8196;&#8196;&#8196;&#8196;&#8196;&#8196;&#8196;&#8196;&#8196;',inline='kijun') kijun_mult = input(4.,'',inline='kijun') spanB_len = input(52,'Senkou Span B&#8196;',inline='span') spanB_mult = input(6.,'',inline='span') offset = input(26,'Displacement') //------------------------------------------------------------------------------ avg(src,length,mult)=> atr = ta.atr(length)*mult up = hl2 + atr dn = hl2 - atr upper = 0.,lower = 0. upper := src[1] < upper[1] ? math.min(up,upper[1]) : up lower := src[1] > lower[1] ? math.max(dn,lower[1]) : dn os = 0,max = 0.,min = 0. os := src > upper ? 1 : src < lower ? 0 : os[1] spt = os == 1 ? lower : upper max := ta.cross(src,spt) ? math.max(src,max[1]) : os == 1 ? math.max(src,max[1]) : spt min := ta.cross(src,spt) ? math.min(src,min[1]) : os == 0 ? math.min(src,min[1]) : spt math.avg(max,min) //------------------------------------------------------------------------------ tenkan = avg(close,tenkan_len,tenkan_mult) kijun = avg(close,kijun_len,kijun_mult) senkouA = math.avg(kijun,tenkan) senkouB = avg(close,spanB_len,spanB_mult) //------------------------------------------------------------------------------ tenkan_css = #2157f3 kijun_css = #ff5d00 cloud_a = color.new(color.teal,80) cloud_b = color.new(color.red,80) chikou_css = #7b1fa2 plot(tenkan,'Tenkan-Sen',tenkan_css) plot(kijun,'Kijun-Sen',kijun_css) plot(ta.crossover(tenkan,kijun) ? kijun : na,'Crossover',#2157f3,3,plot.style_circles) plot(ta.crossunder(tenkan,kijun) ? kijun : na,'Crossunder',#ff5d00,3,plot.style_circles) A = plot(senkouA,'Senkou Span A',na,offset=offset-1) B = plot(senkouB,'Senkou Span B',na,offset=offset-1) fill(A,B,senkouA > senkouB ? cloud_a : cloud_b) plot(close,'Chikou',chikou_css,offset=-offset+1,display=display.none) https://www.tradingview.com/scr@ipt/vDGd9X9y-SuperIchi-LUX/