커뮤니티

부탁드립니다.

프로필 이미지
다올
2023-07-01 01:31:25
1760
글번호 170257
답변완료
이전 문의드릴때 일정시간을 넘어가는 수식이기에 변형이 힘들다고 하셔서 부분적으로 문의 드립니다. 꼭좀 부탁 드립니다. indicator('HIGH AND LOW Optimized Trend Tracker', 'HL OTT', overlay=true) length = input.int(2, 'OTT Period', minval=1) percent = input.float(0.6, 'OTT Optimization Coeff', step=0.1, minval=0) hllength = input.int(10, 'Highest and Lowest Length', minval=1) src = ta.highest(high, hllength) srcl = ta.lowest(low, hllength) highlighting = input(title='Highlighter On/Off ?', defval=true) mav = input.string(title='Moving Average Type', defval='VAR', options=['SMA', 'EMA', 'WMA', 'DEMA', 'TMA', 'VAR', 'WWMA', 'ZLEMA', 'TSF', 'HULL']) Var_Func(src, length) => valpha = 2 / (length + 1) vud1 = src > src[1] ? src - src[1] : 0 vdd1 = src < src[1] ? src[1] - src : 0 vUD = math.sum(vud1, 9) vDD = math.sum(vdd1, 9) vCMO = nz((vUD - vDD) / (vUD + vDD)) VAR = 0.0 VAR := nz(valpha * math.abs(vCMO) * src) + (1 - valpha * math.abs(vCMO)) * nz(VAR[1]) VAR VAR = Var_Func(src, length) DEMA = 2 * ta.ema(src, length) - ta.ema(ta.ema(src, length), length) Wwma_Func(src, length) => wwalpha = 1 / length WWMA = 0.0 WWMA := wwalpha * src + (1 - wwalpha) * nz(WWMA[1]) WWMA WWMA = Wwma_Func(src, length) Zlema_Func(src, length) => zxLag = length / 2 == math.round(length / 2) ? length / 2 : (length - 1) / 2 zxEMAData = src + src - src[zxLag] ZLEMA = ta.ema(zxEMAData, length) ZLEMA ZLEMA = Zlema_Func(src, length) Tsf_Func(src, length) => lrc = ta.linreg(src, length, 0) lrc1 = ta.linreg(src, length, 1) lrs = lrc - lrc1 TSF = ta.linreg(src, length, 0) + lrs TSF TSF = Tsf_Func(src, length) HMA = ta.wma(2 * ta.wma(src, length / 2) - ta.wma(src, length), math.round(math.sqrt(length))) Var_Funcl(srcl, length) => valphal = 2 / (length + 1) vud1l = srcl > srcl[1] ? srcl - srcl[1] : 0 vdd1l = srcl < srcl[1] ? srcl[1] - srcl : 0 vUDl = math.sum(vud1l, 9) vDDl = math.sum(vdd1l, 9) vCMOl = nz((vUDl - vDDl) / (vUDl + vDDl)) VARl = 0.0 VARl := nz(valphal * math.abs(vCMOl) * srcl) + (1 - valphal * math.abs(vCMOl)) * nz(VARl[1]) VARl VARl = Var_Funcl(srcl, length) DEMAl = 2 * ta.ema(srcl, length) - ta.ema(ta.ema(srcl, length), length) Wwma_Funcl(srcl, length) => wwalphal = 1 / length WWMAl = 0.0 WWMAl := wwalphal * srcl + (1 - wwalphal) * nz(WWMAl[1]) WWMAl WWMAl = Wwma_Funcl(srcl, length) Zlema_Funcl(srcl, length) => zxLagl = length / 2 == math.round(length / 2) ? length / 2 : (length - 1) / 2 zxEMADatal = srcl + srcl - srcl[zxLagl] ZLEMAl = ta.ema(zxEMADatal, length) ZLEMAl ZLEMAl = Zlema_Funcl(srcl, length) Tsf_Funcl(srcl, length) => lrcl = ta.linreg(srcl, length, 0) lrc1l = ta.linreg(srcl, length, 1) lrsl = lrcl - lrc1l TSFl = ta.linreg(srcl, length, 0) + lrsl TSFl TSFl = Tsf_Funcl(srcl, length) HMAl = ta.wma(2 * ta.wma(srcl, length / 2) - ta.wma(srcl, length), math.round(math.sqrt(length)))
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2023-07-03 11:25:18

안녕하세요 예스스탁입니다. input : length(2),percent(0.6),hllength(10); input : highlighting(true); input : mav(1); # 1:SMA, 2:EMA, 3:WMA, 4:DEMA, 5:TMA, 6:VAR, 7:WWMA, 8:ZLEMA, 9:TSF, 10:HULL var : src(0),srcl(0); var : DEMA(0); src = highest(high, hllength); srcl = lowest(low, hllength); var : valpha(0),vud1(0),vdd1(0),vUD(0),vDD(0),vCMO(0),_var(0); valpha = 2 / (length + 1); vud1 = iff(src > src[1] , src - src[1] , 0); vdd1 = iff(src < src[1] , src[1] - src , 0); vUD = AccumN(vud1, 9); vDD = AccumN(vdd1, 9); vCMO = iff(isnan(((vUD - vDD) / (vUD + vDD))),((vUD - vDD) / (vUD + vDD)),0); _VAR = 0.0; _VAR = iff(isnan(valpha * abs(vCMO) * src) == False,valpha * abs(vCMO) * src,0) + (1 - valpha * abs(vCMO)) * iff(isnan(_VAR[1])==False,_VAR[1],0); DEMA = 2 * ema(src, length) - ema(ema(src, length), length); var : wwalpha(0),wwma(0); wwalpha = 1 / length; WWMA = 0.0; WWMA = wwalpha * src + (1 - wwalpha) * IFf(IsNan(WWMA[1]) == False,WWMA[1],0); var : zxLag(0),zxEMAData(0),ZLEMA(0); zxLag = IFf(length / 2 == round(length / 2,0) , length / 2 , (length - 1) / 2); zxEMAData = src + src - src[zxLag]; ZLEMA = ema(zxEMAData, length); var : lrc(0),lrc1(0),LRS(0),TSF(0); lrc = LRL(src, length); lrc1 = LRL(src, length)[1]; lrs = lrc - lrc1; TSF = lrc + lrs; var : hma(0); HMA = wma(2 * wma(src, length / 2) - wma(src, length), round(sqrt(length),0)); var : valphal(0),vud1l(0),vdd1l(0),vUDl(0),vDDl(0),vCMOl(0),VARl(0); valphal = 2 / (length + 1); vud1l = iff(srcl > srcl[1] , srcl - srcl[1] , 0); vdd1l = iff(srcl < srcl[1] , srcl[1] - srcl , 0); vUDl = AccumN(vud1l, 9); vDDl = AccumN(vdd1l, 9); vCMOl = iff(IsNan((vUDl - vDDl) / (vUDl + vDDl)) == False,(vUDl - vDDl) / (vUDl + vDDl),0); VARl = 0.0; VARl = iff(IsNan(valphal * abs(vCMOl) * srcl),valphal * abs(vCMOl) * srcl,0) + (1 - valphal * abs(vCMOl)) * iff(isnan(VARl[1]) == False,VARl[1],0); var : DEMAl(0); DEMAl = 2 * ema(srcl, length) - ema(ema(srcl, length), length); var : wwalphal(0),WWMAl(0); wwalphal = 1 / length; WWMAl = 0.0; WWMAl = wwalphal * srcl + (1 - wwalphal) * iff(IsNan(WWMAl[1]) == False,WWMAl[1],0); var : zxLagl(0),zxEMADatal(0),ZLEMAl(0); zxLagl = iff(length / 2 == round(length / 2,0) , length / 2 , (length - 1) / 2); zxEMADatal = srcl + srcl - srcl[zxLagl]; ZLEMAl = ema(zxEMADatal, length); var : lrcl(0),lrc1l(0),lrsl(0),TSFl(0); lrcl = lrl(srcl, length); lrc1l = LRl(srcl, length)[1]; lrsl = lrcl - lrc1l; TSFl = LRl(srcl, length) + lrsl; var : HMAL(0); HMAl = wma(2 * wma(srcl, length / 2) - wma(srcl, length), round(sqrt(length),0)) 즐거운 하루되세요 > 다올 님이 쓴 글입니다. > 제목 : 부탁드립니다. > 이전 문의드릴때 일정시간을 넘어가는 수식이기에 변형이 힘들다고 하셔서 부분적으로 문의 드립니다. 꼭좀 부탁 드립니다. indicator('HIGH AND LOW Optimized Trend Tracker', 'HL OTT', overlay=true) length = input.int(2, 'OTT Period', minval=1) percent = input.float(0.6, 'OTT Optimization Coeff', step=0.1, minval=0) hllength = input.int(10, 'Highest and Lowest Length', minval=1) src = ta.highest(high, hllength) srcl = ta.lowest(low, hllength) highlighting = input(title='Highlighter On/Off ?', defval=true) mav = input.string(title='Moving Average Type', defval='VAR', options=['SMA', 'EMA', 'WMA', 'DEMA', 'TMA', 'VAR', 'WWMA', 'ZLEMA', 'TSF', 'HULL']) Var_Func(src, length) => valpha = 2 / (length + 1) vud1 = src > src[1] ? src - src[1] : 0 vdd1 = src < src[1] ? src[1] - src : 0 vUD = math.sum(vud1, 9) vDD = math.sum(vdd1, 9) vCMO = nz((vUD - vDD) / (vUD + vDD)) VAR = 0.0 VAR := nz(valpha * math.abs(vCMO) * src) + (1 - valpha * math.abs(vCMO)) * nz(VAR[1]) VAR VAR = Var_Func(src, length) DEMA = 2 * ta.ema(src, length) - ta.ema(ta.ema(src, length), length) Wwma_Func(src, length) => wwalpha = 1 / length WWMA = 0.0 WWMA := wwalpha * src + (1 - wwalpha) * nz(WWMA[1]) WWMA WWMA = Wwma_Func(src, length) Zlema_Func(src, length) => zxLag = length / 2 == math.round(length / 2) ? length / 2 : (length - 1) / 2 zxEMAData = src + src - src[zxLag] ZLEMA = ta.ema(zxEMAData, length) ZLEMA ZLEMA = Zlema_Func(src, length) Tsf_Func(src, length) => lrc = ta.linreg(src, length, 0) lrc1 = ta.linreg(src, length, 1) lrs = lrc - lrc1 TSF = ta.linreg(src, length, 0) + lrs TSF TSF = Tsf_Func(src, length) HMA = ta.wma(2 * ta.wma(src, length / 2) - ta.wma(src, length), math.round(math.sqrt(length))) Var_Funcl(srcl, length) => valphal = 2 / (length + 1) vud1l = srcl > srcl[1] ? srcl - srcl[1] : 0 vdd1l = srcl < srcl[1] ? srcl[1] - srcl : 0 vUDl = math.sum(vud1l, 9) vDDl = math.sum(vdd1l, 9) vCMOl = nz((vUDl - vDDl) / (vUDl + vDDl)) VARl = 0.0 VARl := nz(valphal * math.abs(vCMOl) * srcl) + (1 - valphal * math.abs(vCMOl)) * nz(VARl[1]) VARl VARl = Var_Funcl(srcl, length) DEMAl = 2 * ta.ema(srcl, length) - ta.ema(ta.ema(srcl, length), length) Wwma_Funcl(srcl, length) => wwalphal = 1 / length WWMAl = 0.0 WWMAl := wwalphal * srcl + (1 - wwalphal) * nz(WWMAl[1]) WWMAl WWMAl = Wwma_Funcl(srcl, length) Zlema_Funcl(srcl, length) => zxLagl = length / 2 == math.round(length / 2) ? length / 2 : (length - 1) / 2 zxEMADatal = srcl + srcl - srcl[zxLagl] ZLEMAl = ta.ema(zxEMADatal, length) ZLEMAl ZLEMAl = Zlema_Funcl(srcl, length) Tsf_Funcl(srcl, length) => lrcl = ta.linreg(srcl, length, 0) lrc1l = ta.linreg(srcl, length, 1) lrsl = lrcl - lrc1l TSFl = ta.linreg(srcl, length, 0) + lrsl TSFl TSFl = Tsf_Funcl(srcl, length) HMAl = ta.wma(2 * ta.wma(srcl, length / 2) - ta.wma(srcl, length), math.round(math.sqrt(length)))