답변완료
수식 문의입니다.
수식1
var1 = highest(C,20);
var2 = Lowest(C,20);
var3 = (var1+var2)/2;
plot1(var1,"최고가선");
plot2(var2,"최저가선");
plot3(var3,"중심선");
수식2
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));
var : _MA(0),mal(0);
if mav == 1 then
_ma = ma(src, length);
if mav == 2 then
_ma = ema(src, length);
if mav == 3 then
_ma = wma(src, length);
if mav == 4 then
_ma = DEMA;
if mav == 5 then
_ma = ma(ma(src, Ceiling(length / 2)), floor(length / 2) + 1);
if mav == 6 then
_ma = _VAR;
if mav == 7 then
_ma = WWMA;
if mav == 8 then
_ma = ZLEMA;
if mav == 9 then
_ma = TSF;
if mav == 10 then
_ma = HMA;
if mav == 1 then
mal = ma(srcl, length);
if mav == 2 then
mal = ema(srcl, length);
if mav == 3 then
mal = wma(srcl, length);
if mav == 4 then
mal = DEMAl;
if mav == 5 then
mal = ma(ma(srcl, Ceiling(length / 2)), floor(length / 2) + 1);
if mav == 6 then
mal = VARl;
if mav == 7 then
mal = WWMAl;
if mav == 8 then
mal = ZLEMAl;
if mav == 9 then
mal = TSFl;
if mav == 10 then
mal = HMAl;
var : mavg(0),fark(0),longstop(0),longStopPrev(0),shortstop(0),shortstopprev(0);
var : dir(0),MT(0),HOTT(0),HOTTC(0);
var : MAvgl(0),farkl(0),longStopl(0),longStopPrevl(0),shortStopl(0),shortStopPrevl(0);
var : dirl(0),MTl(0),LOTT(0),LOTTC(0);
MAvg = _ma;
fark = MAvg * percent * 0.01;
longStop = MAvg - fark;
longStopPrev = iff(IsNaN(longStop[1]) == False, longStop,0);
longStop = iff(MAvg > longStopPrev , max(longStop, longStopPrev) , longStop);
shortStop = MAvg + fark;
shortStopPrev = iff(isnan(shortStop[1])==False, shortStop,0);
shortStop = iff(MAvg < shortStopPrev , min(shortStop, shortStopPrev) , shortStop);
dir = 1;
dir = iff(isnan(dir[1])== False, dir,0);
dir = iff(dir == -1 and MAvg > shortStopPrev , 1 , iff(dir == 1 and MAvg < longStopPrev , -1 , dir));
MT = iff(dir == 1 , longStop , shortStop);
HOTT = iff(MAvg > MT , MT * (200 + percent) / 200 , MT * (200 - percent) / 200);
HOTTC = blue;
MAvgl = MAl;
farkl = MAvgl * percent * 0.01;
longStopl = MAvgl - farkl;
longStopPrevl = iff(isnan(longStopl[1]) == False, longStopl,0);
longStopl = iff(MAvgl > longStopPrevl , max(longStopl, longStopPrevl) , longStopl);
shortStopl = MAvgl + farkl;
shortStopPrevl = iff(isnan(shortStopl[1])==False, shortStopl,0);
shortStopl = iff(MAvgl < shortStopPrevl , min(shortStopl, shortStopPrevl) , shortStopl);
dirl = 1;
dirl = iff(isnan(dirl[1]), dirl,0);
dirl = iff(dirl == -1 and MAvgl > shortStopPrevl , 1 , iff(dirl == 1 and MAvgl < longStopPrevl , -1 , dirl));
MTl = iff(dirl == 1 , longStopl , shortStopl);
LOTT = iff(MAvgl > MTl , MTl * (200 + percent) / 200 , MTl * (200 - percent) / 200);
LOTTC = red;
plot1(HOTT[2], "HOTT",HOTTC);
plot2(LOTT[2], "LOTT",LOTTC);
첫번째:
수식1의 최고가선이 수식2의 HOTT 선을 돌파하면 매수/매도 신호가 나오게 해주세요
두번째:
수식1의 최저가선이 수식2의 LOTT 선을 돌파하면 매수/매도 신호가 나오게 해주세요
수식을 통합하지말고 각각 작성해주세요.
2023-07-25
1183
글번호 170923
시스템