예스스탁
예스스탁 답변
2024-06-13 13:06:45
안녕하세요
예스스탁입니다.
input : periodK(500),smoothK(200),length(2),percent(0.5),showsupport(false);
var : src1(0),avalpha1(0),avud11(0),avdd11(0),avUD1(0),avDD1(0),avCMO1(0);
var : fk(0),kvalpha1(0),kvud11(0),kvdd11(0),kvUD1(0),kvDD1(0),kvCMO1(0),k(0),src(0);
src1 = close;
avalpha1 = 2/(length+1);
avud11 = iff(src1>src1[1] , src1-src1[1] , 0);
avdd11 = iff(src1<src1[1] , src1[1]-src1 , 0);
avUD1 = AccumN(avud11,9);
avDD1 = AccumN(avdd11,9);
avCMO1 = iff(IsNan((avUD1-avDD1)/(avUD1+avDD1))==true,0,(avUD1-avDD1)/(avUD1+avDD1));
VAR1 = iff(IsNan(avalpha1*abs(avCMO1)*src1) ==true,0,avalpha1*abs(avCMO1)*src1)+(1-avalpha1*abs(avCMO1))*iff(IsNan(VAR1[1])==true,0,var1[1]);
fk = FastK(PeriodK);
kvalpha1 = 2/(length+1);
kvud11 = iff(fk>fk[1] , fk-fk[1] , 0);
kvdd11 = iff(fk<fk[1] , fk[1]-fk , 0);
kvUD1 = AccumN(kvud11,9);
kvDD1 = AccumN(kvdd11,9);
kvCMO1 = iff(IsNan((kvUD1-kvDD1)/(kvUD1+kvDD1))==true,0,(kvUD1-kvDD1)/(kvUD1+kvDD1));
k = iff(IsNan(kvalpha1*abs(kvCMO1)*fk) ==true,0,kvalpha1*abs(kvCMO1)*fk)+(1-kvalpha1*abs(kvCMO1))*iff(IsNan(k[1])==true,0,k[1]);
src=k+1000;
var : valpha(0),vud1(0),vdd1(0),vUD(0),vDD(0),vCMO(0),MAvg(0);
var : fark(0),longStop(0),longStopPrev(0),shortStop(0),shortStopPrev(0),dir(0),MT(0);
var : OTT(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))== true,0,(vUD-vDD)/(vUD+vDD));
MAvg = iff(IsNan(valpha*abs(vCMO)*src),0,valpha*abs(vCMO)*src)+(1-valpha*abs(vCMO))*iff(IsNaN(MAvg[1]),0,MAvg[1]);
fark=MAvg*percent*0.01;
longStop = MAvg - fark;
longStopPrev = iff(IsNan(longStop[1])== true, longStop,longStop[1]);
longStop = iff(MAvg > longStopPrev , max(longStop, longStopPrev) , longStop);
shortStop = MAvg + fark;
shortStopPrev = iff(IsNan(shortStop[1])== true, shortStop,shortStop[1]);
shortStop = iff(MAvg < shortStopPrev , min(shortStop, shortStopPrev) , shortStop);
dir = 1;
dir = iff(isnan(dir[1]) ==true,dir,dir[1]);
dir = iff(dir == -1 and MAvg > shortStopPrev , 1 ,IFf(dir == 1 and MAvg < longStopPrev , -1 , dir));
MT = iff(dir==1 , longStop , shortStop);
OTT = iff(MAvg>MT , MT*(200+percent)/200 , MT*(200-percent)/200);
if IsNan(OTT[2]) == False Then
var1 = OTT[2];
if CrossUp(src,var1) Then
Buy();
if CrossDown(src,var1) Then
Sell();
즐거운 하루되세요
> 신대륙발견 님이 쓴 글입니다.
> 제목 : 문의 드립니다.
> input : periodK(500),smoothK(200),length(2),percent(0.5),showsupport(false);
var : src1(0),avalpha1(0),avud11(0),avdd11(0),avUD1(0),avDD1(0),avCMO1(0);
var : fk(0),kvalpha1(0),kvud11(0),kvdd11(0),kvUD1(0),kvDD1(0),kvCMO1(0),k(0),src(0);
src1 = close;
avalpha1 = 2/(length+1);
avud11 = iff(src1>src1[1] , src1-src1[1] , 0);
avdd11 = iff(src1<src1[1] , src1[1]-src1 , 0);
avUD1 = AccumN(avud11,9);
avDD1 = AccumN(avdd11,9);
avCMO1 = iff(IsNan((avUD1-avDD1)/(avUD1+avDD1))==true,0,(avUD1-avDD1)/(avUD1+avDD1));
VAR1 = iff(IsNan(avalpha1*abs(avCMO1)*src1) ==true,0,avalpha1*abs(avCMO1)*src1)+(1-avalpha1*abs(avCMO1))*iff(IsNan(VAR1[1])==true,0,var1[1]);
fk = FastK(PeriodK);
kvalpha1 = 2/(length+1);
kvud11 = iff(fk>fk[1] , fk-fk[1] , 0);
kvdd11 = iff(fk<fk[1] , fk[1]-fk , 0);
kvUD1 = AccumN(kvud11,9);
kvDD1 = AccumN(kvdd11,9);
kvCMO1 = iff(IsNan((kvUD1-kvDD1)/(kvUD1+kvDD1))==true,0,(kvUD1-kvDD1)/(kvUD1+kvDD1));
k = iff(IsNan(kvalpha1*abs(kvCMO1)*fk) ==true,0,kvalpha1*abs(kvCMO1)*fk)+(1-kvalpha1*abs(kvCMO1))*iff(IsNan(k[1])==true,0,k[1]);
src=k+1000;
var : valpha(0),vud1(0),vdd1(0),vUD(0),vDD(0),vCMO(0),MAvg(0);
var : fark(0),longStop(0),longStopPrev(0),shortStop(0),shortStopPrev(0),dir(0),MT(0);
var : OTT(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))== true,0,(vUD-vDD)/(vUD+vDD));
MAvg = iff(IsNan(valpha*abs(vCMO)*src),0,valpha*abs(vCMO)*src)+(1-valpha*abs(vCMO))*iff(IsNaN(MAvg[1]),0,MAvg[1]);
fark=MAvg*percent*0.01;
longStop = MAvg - fark;
longStopPrev = iff(IsNan(longStop[1])== true, longStop,longStop[1]);
longStop = iff(MAvg > longStopPrev , max(longStop, longStopPrev) , longStop);
shortStop = MAvg + fark;
shortStopPrev = iff(IsNan(shortStop[1])== true, shortStop,shortStop[1]);
shortStop = iff(MAvg < shortStopPrev , min(shortStop, shortStopPrev) , shortStop);
dir = 1;
dir = iff(isnan(dir[1]) ==true,dir,dir[1]);
dir = iff(dir == -1 and MAvg > shortStopPrev , 1 ,IFf(dir == 1 and MAvg < longStopPrev , -1 , dir));
MT = iff(dir==1 , longStop , shortStop);
OTT = iff(MAvg>MT , MT*(200+percent)/200 , MT*(200-percent)/200);
plot1(src,"%K");
if showsupport Then
plot2(MAvg,"Support Line");
plot3(IFf(IsNan(OTT[2])==true,0,OTT[2]),"OTT");
PlotBaseLine1(1080, "Upper Band");
PlotBaseLine2(1020, "Lower Band");
위 수식에서 k선이 ott선을 교차하면 신호가 나오도록 해주세요.