커뮤니티
문의드립니다.
2014-06-09 16:46:17
199
글번호 75694
전략실행차트 120틱차트에 240틱차트의 지수이평선 20선, 60선, 120선이 나타나게 하고 싶습니다. 어떻게 수식을 작성해야 하는지요?
아울러 120틱차트에 240틱차트의 볼린저밴드(변수20,2)도 표시되게 하려면 어떻게
해야 하는지요???
부탁드립니다. 수고하세요!!!
답변 1
예스스탁 예스스탁 답변
2014-06-09 18:14:11
안녕하세요
예스스탁입니다.
120틱 차트에서 240틱은 당일 봉을 2개씩 묶으시는 것이므로
외부변수 N을 2로 지정하시면 됩니다.
1. 지수이평
Input : N(2),Period1(5),Period2(20),Period3(60);
Var : Ep1(0), JISU1(0), PreJISU1(0);
Var : Ep2(0), JISU2(0), PreJISU2(0);
Var : Ep3(0), JISU3(0), PreJISU3(0);
Ep1 = 2/(Period1+1);
Ep2 = 2/(Period2+1);
Ep3 = 2/(Period3+1);
var1 = (dayindex)%N;
if dayindex() == 0 or (var1 < var1[1] and stime > stime[1]) Then{
value1 = value1+1;
PreJISU1 = JISU1[1];
PreJISU2 = JISU2[1];
PreJISU3 = JISU3[1];
}
if value1 <= 1 then {
JISU1 = C;
JISU2 = C;
JISU3 = C;
}
else{
JISU1 = C * EP1 + PreJISU1 * (1-EP1);
JISU2 = C * EP2 + PreJISU2 * (1-EP2);
JISU3 = C * EP3 + PreJISU3 * (1-EP3);
}
plot1(JiSu1);
plot2(Jisu2);
plot3(Jisu3);
2. 볼린져밴드
input : N(2),P(20),Dv(2);
var : cnt(0),count(0),sum(0),mav(0),MiBBup(0),MiBBdn(0),Avgv(0),SumSqrt(0),Counter(0),Stdv(0);
Array : CC[120](0);
var1 = dayindex%N;
if dayindex() == 0 or (var1 < var1[1] and stime > stime[1]) Then{
for cnt = 1 to P-1{
CC[cnt] = CC[cnt-1][1];
}
}
CC[0] = C;
sum = 0;
for count = 0 to P-1{
sum = sum+CC[count];
}
mav = sum/P;
If CC[P-1] != 0 Then{
Avgv = mav;
SumSqrt = 0;
For Counter = 0 To P - 1 {
SumSqrt = SumSqrt + (CC[Counter] - Avgv) * (CC[Counter] - Avgv);
}
Stdv = SquareRoot(SumSqrt / P);
}
Else
Stdv = 0;
MiBBup = mav + (Dv * Stdv);
MiBBdn = mav - (Dv * Stdv);
plot1(MiBBup);
plot2(mav);
plot3(MiBBdn);
즐거운 하루되세요
> 해암 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 전략실행차트 120틱차트에 240틱차트의 지수이평선 20선, 60선, 120선이 나타나게 하고 싶습니다. 어떻게 수식을 작성해야 하는지요?
아울러 120틱차트에 240틱차트의 볼린저밴드(변수20,2)도 표시되게 하려면 어떻게
해야 하는지요???
부탁드립니다. 수고하세요!!!