예스스탁
예스스탁 답변
2020-11-30 16:09:19
안녕하세요
예스스탁입니다.
Input : Period(10), Period1(5), Period2(5),TargetUpLevel(80),TargetDnLevel(20);
VAR : oStokUpBand(0),oStokDnBand(0),oStokMidLine(0),
oStodUpBand(0),oStodDnBand(0),oStodMidLine(0);
Var:LowValue(0),HighValue(0),TargetMidLevel(0),fstK(0),stoK(0),stoD(0),EP1(0),EP2(0);
EP1 = 2/(Period1 + 1);
EP2 = 2/(Period2 + 1);
LowValue = lowest(L,Period);
HighValue = highest(H,Period);
fstK = (C - LowValue)/(HighValue - LowValue) * 100;
stoK = Ema(fstK,Period1);
stoD = Ema(stoK,Period2);
TargetMidLevel = (TargetUpLevel + TargetDnLevel)/2;
oStokUpBand = (TargetUpLevel - StoK[1]*(1-EP1))*(HighValue - LowValue)/EP1/100 + LowValue;
oStokDnBand = (TargetDnLevel - StoK[1]*(1-EP1))*(HighValue - LowValue)/EP1/100 + LowValue;
oStokMidLine = (TargetMidLevel - StoK[1]*(1-EP1))*(HighValue - LowValue)/EP1/100 + LowValue;
oStodUpBand = ((TargetUpLevel - StoD[1]*(1-EP2))/EP2 - stoK[1]*(1-EP1))*(HighValue - LowValue)/EP1/100 + LowValue;
oStodDnBand = ((TargetDnLevel - StoD[1]*(1-EP2))/EP2 - stoK[1]*(1-EP1))*(HighValue - LowValue)/EP1/100 + LowValue;
oStodMidLine = ((TargetMidLevel - StoD[1]*(1-EP2))/EP2 - stoK[1]*(1-EP1))*(HighValue - LowValue)/EP1/100 + LowValue;
plot2(oStokUpBand);
plot3(oStokMidLine);
plot4(oStokDnBand);
plot4(oStoDUpBand);
plot5(oStoDMidLine);
plot6(oStoDDnBand);
즐거운 하루되세요
> 성공예견 님이 쓴 글입니다.
> 제목 : 지표문의
> 1.아래는 수식지님이 만든 stochastic band 라는 지표에 쓰는 사용자 함수입니다.
이걸 사용자함수없이 합쳐 지표식 하나로 만 으로 표현되개 좀 해주세요.
2.Input : Period(NumericSimple), Period1(NumericSimple), Period2(NumericSimple),
TargetUpLevel(NumericSimple),TargetDnLevel(NumericSimple),
oStokUpBand(NumericRef),oStokDnBand(NumericRef),oStokMidLine(NumericRef),
oStodUpBand(NumericRef),oStodDnBand(NumericRef),oStodMidLine(NumericRef); Var:LowValue(0),HighValue(0),TargetMidLevel(0),fstK(0),stoK(0),stoD(0),EP1(0),EP2(0);
EP1 = 2/(Period1 + 1);
EP2 = 2/(Period2 + 1);
LowValue = lowest(L,Period);
HighValue = highest(H,Period);
fstK = (C - LowValue)/(HighValue - LowValue) * 100;
stoK = Ema(fstK,Period1);
stoD = Ema(stoK,Period2);
TargetMidLevel = (TargetUpLevel + TargetDnLevel)/2;
oStokUpBand = (TargetUpLevel - StoK[1]*(1-EP1))*(HighValue - LowValue)/EP1/100 + LowValue;
oStokDnBand = (TargetDnLevel - StoK[1]*(1-EP1))*(HighValue - LowValue)/EP1/100 + LowValue;
oStokMidLine = (TargetMidLevel - StoK[1]*(1-EP1))*(HighValue - LowValue)/EP1/100 + LowValue;
oStodUpBand = ((TargetUpLevel - StoD[1]*(1-EP2))/EP2 - stoK[1]*(1-EP1))*(HighValue - LowValue)/EP1/100 + LowValue;
oStodDnBand = ((TargetDnLevel - StoD[1]*(1-EP2))/EP2 - stoK[1]*(1-EP1))*(HighValue - LowValue)/EP1/100 + LowValue;
oStodMidLine = ((TargetMidLevel - StoD[1]*(1-EP2))/EP2 - stoK[1]*(1-EP1))*(HighValue - LowValue)/EP1/100 + LowValue;
StochasticsBand = 1; // 사용자함수는 반환값이 있어야 하므로 값을 정해줘야 한다
3.그럼 수고하세요