커뮤니티
질문입니다
2015-02-26 10:31:44
118
글번호 83464
아래는 일봉의 이평선 지표입니다.
아래의 지표에다 주봉의이평선과 월봉의 이평선을 함께 표현하여 사용하고 싶습니다.
현재 일봉의 이평선 plot가 5개이므로 여기에 주봉과 월봉의 이평을 다표시하면
15개의 plot가 되겠지요. 이렇게 표현되는 지표를 부탁합니다.
var:sum(0),i(0),ma5(0),ma10(0),ma20(0),ma60(0),ma120(0);
sum=0;
for i= 0 to 4 {
sum = sum+DayClose(i);
}
ma5=sum/5;
sum=0;
for i= 0 to 9 {
sum = sum+DayClose(i);
}
ma10=sum/10;
sum=0;
for i= 0 to 19 {
sum = sum+DayClose(i);
}
ma20=sum/20;
sum=0;
for i= 0 to 59 {
sum = sum+DayClose(i);
}
ma60=sum/60;
sum=0;
for i= 0 to 119 {
sum = sum+DayClose(i);
}
ma120=sum/120;
plot1(ma5,"5ma");
plot2(ma10,"10ma");
plot3(ma20,"20ma");
plot4(ma60,"60ma");
plot5(ma120,"120ma");
답변 1
예스스탁 예스스탁 답변
2015-02-26 17:54:08
안녕하세요
예스스탁입니다.
수식은 차트의 데이터를 이용해 계산을 합니다.
차트의 데이터의 범위가 해당 주나 월이평을 계산할 만큼 충분하지 않으면
값이 출력되지 않습니다.
input : P1(5),P2(10),P3(20),P4(60),P5(120);
var : sum(0),i(0),ma5(0),ma10(0),ma20(0),ma60(0),ma120(0),cnt(0);
var : Wsum1(0),Wsum2(0),Wsum3(0),Wsum4(0),Wsum5(0);
var : Msum1(0),Msum2(0),Msum3(0),Msum4(0),Msum5(0);
var : Wma1(0),Wma2(0),Wma3(0),Wma4(0),Wma5(0);
var : Mma1(0),Mma2(0),Mma3(0),Mma4(0),Mma5(0);
array : WeekC[200](0),MonthC[200](0);
sum=0;
for i= 0 to P1-1 {
sum = sum+DayClose(i);
}
ma5=sum/5;
sum=0;
for i= 0 to P2-1 {
sum = sum+DayClose(i);
}
ma10=sum/10;
sum=0;
for i= 0 to P3-1 {
sum = sum+DayClose(i);
}
ma20=sum/20;
sum=0;
for i= 0 to P4-1 {
sum = sum+DayClose(i);
}
ma60=sum/60;
sum=0;
for i= 0 to P5-1 {
sum = sum+DayClose(i);
}
ma120=sum/120;
plot1(ma5,"5ma");
plot2(ma10,"10ma");
plot3(ma20,"20ma");
plot4(ma60,"60ma");
plot5(ma120,"120ma");
if DayOfWeek(date) < DayOfWeek(date)[1] then{
for cnt = 1 to 49{
WeekC[cnt] = WeekC[cnt-1][1];
}
}
WeekC[0] = C;
Wsum1=0;
Wsum2=0;
Wsum3=0;
Wsum4=0;
Wsum5=0;
for cnt = 0 to P5 {
if cnt < P1 Then
Wsum1 = Wsum1+WeekC[cnt];
if cnt < P2 Then
Wsum2 = Wsum2+WeekC[cnt];
if cnt < P3 Then
Wsum3 = Wsum3+WeekC[cnt];
if cnt < P4 Then
Wsum4 = Wsum4+WeekC[cnt];
if cnt < P5 Then
Wsum5 = Wsum5+WeekC[cnt];
}
Wma1 = Wsum1/P1;
Wma2 = Wsum2/P2;
Wma3 = Wsum3/P3;
Wma4 = Wsum4/P4;
Wma5 = Wsum5/P5;
if WeekC[P1-1] > 0 Then
plot6(Wma1,"W5ma");
if WeekC[P2-1] > 0 Then
plot7(Wma2,"W10ma");
if WeekC[P3-1] > 0 Then
plot8(Wma3,"W20ma");
if WeekC[P4-1] > 0 Then
plot9(Wma4,"W60ma");
if WeekC[P5-1] > 0 Then
plot10(Wma5,"W120ma");
if sdate > sdate[1]+30 then{
for cnt = 1 to 49{
MonthC[cnt] = MonthC[cnt-1][1];
}
}
MonthC[0] = C;
Msum1=0;
Msum2=0;
Msum3=0;
Msum4=0;
Msum5=0;
for cnt = 0 to P5 {
if cnt < P1 Then
Msum1 = Msum1+MonthC[cnt];
if cnt < P2 Then
Msum2 = Msum2+MonthC[cnt];
if cnt < P3 Then
Msum3 = Msum3+MonthC[cnt];
if cnt < P4 Then
Msum4 = Msum4+MonthC[cnt];
if cnt < P5 Then
Msum5 = Msum5+MonthC[cnt];
}
Mma1 = Msum1/P1;
Mma2 = Msum2/P2;
Mma3 = Msum3/P3;
Mma4 = Msum4/P4;
Mma5 = Msum5/P5;
if MonthC[P1-1] > 0 Then
plot11(Mma1,"M5ma");
if MonthC[P2-1] > 0 Then
plot12(Mma2,"M10ma");
if MonthC[P3-1] > 0 Then
plot13(Mma3,"M20ma");
if MonthC[P4-1] > 0 Then
plot14(Mma4,"M60ma");
if MonthC[P5-1] > 0 Then
plot15(Mma5,"M120ma");
즐거운 하루되세요
> 오동도물개 님이 쓴 글입니다.
> 제목 : 질문입니다
> 아래는 일봉의 이평선 지표입니다.
아래의 지표에다 주봉의이평선과 월봉의 이평선을 함께 표현하여 사용하고 싶습니다.
현재 일봉의 이평선 plot가 5개이므로 여기에 주봉과 월봉의 이평을 다표시하면
15개의 plot가 되겠지요. 이렇게 표현되는 지표를 부탁합니다.
var:sum(0),i(0),ma5(0),ma10(0),ma20(0),ma60(0),ma120(0);
sum=0;
for i= 0 to 4 {
sum = sum+DayClose(i);
}
ma5=sum/5;
sum=0;
for i= 0 to 9 {
sum = sum+DayClose(i);
}
ma10=sum/10;
sum=0;
for i= 0 to 19 {
sum = sum+DayClose(i);
}
ma20=sum/20;
sum=0;
for i= 0 to 59 {
sum = sum+DayClose(i);
}
ma60=sum/60;
sum=0;
for i= 0 to 119 {
sum = sum+DayClose(i);
}
ma120=sum/120;
plot1(ma5,"5ma");
plot2(ma10,"10ma");
plot3(ma20,"20ma");
plot4(ma60,"60ma");
plot5(ma120,"120ma");