커뮤니티
부탁드립니다.
2013-09-02 19:05:38
116
글번호 67085
다음 지표를 틱차트에서 5분지표를 그리는 수식으로 변형 부탁드립니다.
Inputs: Period(5);
Variables: k(0),maC(0),sumn(0),sump(0),rel(0),positive(0),negative(0);
maC = ema(C,Period);
sumn = 0.0; sump = 0.0;
if CurrentBar == 1 && Period > 0 then {
for k = 0 To Period - 1 {
rel = maC[k] - maC[k+1];
if rel > 0 then sump = sump + rel;
else sumn = sumn - rel;
}
positive = sump / Period;
negative = sumn / Period;
}
else if CurrentBar > 1 && Period > 0 then {
rel = maC - maC[1];
if rel > 0 then sump = rel;
else sumn = -rel;
positive = (positive[1] * (Period-1) + sump) / Period;
negative = (negative[1] * (Period-1) + sumn) / Period;
}
if negative == 0.0 then var1 = 0.0;
else var1 = 100.0 - 100.0 / (1 + positive / negative);
plot1(var1);
답변 1
예스스탁 예스스탁 답변
2013-09-03 09:51:16
안녕하세요
예스스탁입니다.
해당식 봉수에 영향을 받기 때문에
다른 주기의 값을 계산하면 값이 많이 다를수 있는 계산내용입니다.
이용에 참고하시기 바랍니다.
Input : Atime(5),Period(5);
Var : Ep1(0), PreJISU1(0),TT(0),Tcnt(0),Prepositive(0),Prenegative(0);
var : positive(0),negative(0),cnt(0),k(0),rel(0),sump(0),sumn(0);
Array : Jisu[100](0);
Ep1 = 2/(Period+1);
TT = TimeToMinutes(stime)%Atime;
if dayindex == 0 or (TT < TT[1] and stime > stime[1]) Then{
Tcnt = Tcnt+1;
Prepositive = positive[1];
Prenegative = negative[1];
for cnt = 1 to 99{
Jisu[cnt] = Jisu[cnt-1][1];
}
}
if Tcnt <= 1 then {
Jisu[0] = C;
}
else{
Jisu[0] = C * EP1 + Jisu[1] * (1-EP1);
}
if Tcnt == Period+1 and Period > 0 Then{
for k = 0 To Period - 1 {
rel = Jisu[k] - Jisu[k+1];
if rel > 0 then
sump = sump + rel;
else
sumn = sumn - rel;
}
positive = sump / Period;
negative = sumn / Period;
}
else if Tcnt > Period+1 && Period > 0 then {
rel = Jisu[0] - Jisu[1];
if rel > 0 then
sump = rel;
else
sumn = -rel;
positive = (Prepositive * (Period-1) + sump) / Period;
negative = (Prenegative * (Period-1) + sumn) / Period;
}
if negative == 0.0 then
var1 = 0.0;
else
var1 = 100.0 - 100.0 / (1 + positive / negative);
plot1(var1);
즐거운 하루되세요
> 무지개나날들 님이 쓴 글입니다.
> 제목 : 부탁드립니다.
> 다음 지표를 틱차트에서 5분지표를 그리는 수식으로 변형 부탁드립니다.
Inputs: Period(5);
Variables: k(0),maC(0),sumn(0),sump(0),rel(0),positive(0),negative(0);
maC = ema(C,Period);
sumn = 0.0; sump = 0.0;
if CurrentBar == 1 && Period > 0 then {
for k = 0 To Period - 1 {
rel = maC[k] - maC[k+1];
if rel > 0 then sump = sump + rel;
else sumn = sumn - rel;
}
positive = sump / Period;
negative = sumn / Period;
}
else if CurrentBar > 1 && Period > 0 then {
rel = maC - maC[1];
if rel > 0 then sump = rel;
else sumn = -rel;
positive = (positive[1] * (Period-1) + sump) / Period;
negative = (negative[1] * (Period-1) + sumn) / Period;
}
if negative == 0.0 then var1 = 0.0;
else var1 = 100.0 - 100.0 / (1 + positive / negative);
plot1(var1);
다음글
이전글