커뮤니티
일 이평선 크로스에 따른 날짜세기(보충)
2008-02-13 22:51:31
814
글번호 14709
며칠 전에 일 이평선 크로스에 따른 날짜를 세어서 분봉으로 거래하는 방법을 문의드렸습니다.
답변해주신 것은 이거였습니다.
-------------------------------------------------------------------------
input : P1(20),P2(60);
var : Mav1(0,data2), Mav2(0,data2),cnt1(0,data2),cnt2(0,data2);
Mav1 = data2(ma(c,P1));
Mav2 = data2(ma(c,P2));
if Mav1 > Mav2 Then{
cnt1 = cnt1+1;
cnt2 = 0;
}
if Mav1 < Mav2 Then{
cnt2 = cnt2+1;
cnt1 = 0;
}
if cnt1 <= 20 and cnt1 > 0 and 매수조건 Then
buy();
if cnt2 <= 20 and cnt2 > 0 and 매도조건 Then
sell();
-------------------------------------------------------------------------
일봉을 타종목으로 배치시킨 방법이었습니다. 답변 매우 감사합니다.
허나, 타종목을 이용하지 않고 하는 방법은 없나요?
왜냐하면 기존에 제가 사용했던 방법(분봉에서 일봉 이평 구하기)와 지금 가르쳐주신 타종목에 일봉을 등록해서 하는 방법을 비교해 보면 일 이평에서 미세한 차이가 납니다.(일 이평 자체가 차이가 나는게 아니라 하루 중 변화 과정의 차이)
타종목(data2)에 일봉을 배치해서 이평을 구하는 지표식입니다.
---------------------------------------------------------------------------
input : P1(20),P2(60);
var : Mav1(0,data2), Mav2(0,data2),cnt1(0,data2),cnt2(0,data2);
Mav1 = data2(ma(c,P1));
Mav2 = data2(ma(c,P2));
plot1(mav1);
plot2(mav2);
--------------------------------------------------------------------------
그리고 타종목을 이용하지 않는 지표식입니다.
input : P(20),Q(60);
var : cnt(0),sumv1(0),mav1(0),sumv2(0),mav2(0);
sumv1 = 0;
sumv2 = 0;
for cnt = 0 to P-1 {
sumv1 = sumv1 +dayclose(cnt);
}
for cnt = 0 to Q-1 {
sumv2 = sumv2 +dayclose(cnt);
}
mav1 = sumv1/P;
mav2 = sumv2/Q;
plot1(mav1);
plot2(mav2);
두 지표식을 실제로 돌려보면 전자는 같은 날이면 항상 일 이평이 동일합니다.(제가 지금 밖에 있어서 첨부 그림을 못 올리는 입장입니다.)
후자는 분봉에 따라 일 이평이 미세하게 바뀝니다.
실제 매매시에도 분봉의 변화에 따라서 일 이평도 변하겠지요. 따라서 실제 매매에서의 전자와 후자의 차이는 없다고 봐도 될 것입니다.
하지만 시뮬레이션을 돌려서 전략을 세워야 하는 입장에서는 시뮬레이션 상(과거의 기록이 고정되어 있으므로 실제 매매시의 미세한 일이평 변화를 당연히 반영 못하죠)
의 전자와 후자는 미세한(미세하다고 해도 몇 년치 누적하면 결과가 상당히 달라지죠)차이가 납니다.
이게 제가 타종목을 이용하지 않고 일 이평 크로스에 따른 날짜 계산을 다시 문의드린 이유입니다. 읽어 주셔서 감사합니다.
답변 1
예스스탁 예스스탁 답변
2008-02-14 10:20:22
안녕하세요
예스스탁입니다.
식을 수정했습니다.
input : P(20),Q(60);
var : cnt(0),sumv1(0),mav1(0),sumv2(0),mav2(0),premav1(0),premav2(0),count(0);
if date != date[1] Then{
premav1 = mav1[1]; //전일 일봉이평
premav2 = mav2[1]; //전일 일봉이평
count = count+1;
}
sumv1 = 0;
sumv2 = 0;
for cnt = 0 to P-1 {
sumv1 = sumv1 +dayclose(cnt);
}
for cnt = 0 to Q-1 {
sumv2 = sumv2 +dayclose(cnt);
}
mav1 = sumv1/P;
mav2 = sumv2/Q;
if mav1 < mav2 Then{
count = 0;
}
plot1(count);
즐거운 하루되세요
> 도레미트리오 님이 쓴 글입니다.
> 제목 : 일 이평선 크로스에 따른 날짜세기(보충)
> 며칠 전에 일 이평선 크로스에 따른 날짜를 세어서 분봉으로 거래하는 방법을 문의드렸습니다.
답변해주신 것은 이거였습니다.
-------------------------------------------------------------------------
input : P1(20),P2(60);
var : Mav1(0,data2), Mav2(0,data2),cnt1(0,data2),cnt2(0,data2);
Mav1 = data2(ma(c,P1));
Mav2 = data2(ma(c,P2));
if Mav1 > Mav2 Then{
cnt1 = cnt1+1;
cnt2 = 0;
}
if Mav1 < Mav2 Then{
cnt2 = cnt2+1;
cnt1 = 0;
}
if cnt1 <= 20 and cnt1 > 0 and 매수조건 Then
buy();
if cnt2 <= 20 and cnt2 > 0 and 매도조건 Then
sell();
-------------------------------------------------------------------------
일봉을 타종목으로 배치시킨 방법이었습니다. 답변 매우 감사합니다.
허나, 타종목을 이용하지 않고 하는 방법은 없나요?
왜냐하면 기존에 제가 사용했던 방법(분봉에서 일봉 이평 구하기)와 지금 가르쳐주신 타종목에 일봉을 등록해서 하는 방법을 비교해 보면 일 이평에서 미세한 차이가 납니다.(일 이평 자체가 차이가 나는게 아니라 하루 중 변화 과정의 차이)
타종목(data2)에 일봉을 배치해서 이평을 구하는 지표식입니다.
---------------------------------------------------------------------------
input : P1(20),P2(60);
var : Mav1(0,data2), Mav2(0,data2),cnt1(0,data2),cnt2(0,data2);
Mav1 = data2(ma(c,P1));
Mav2 = data2(ma(c,P2));
plot1(mav1);
plot2(mav2);
--------------------------------------------------------------------------
그리고 타종목을 이용하지 않는 지표식입니다.
input : P(20),Q(60);
var : cnt(0),sumv1(0),mav1(0),sumv2(0),mav2(0);
sumv1 = 0;
sumv2 = 0;
for cnt = 0 to P-1 {
sumv1 = sumv1 +dayclose(cnt);
}
for cnt = 0 to Q-1 {
sumv2 = sumv2 +dayclose(cnt);
}
mav1 = sumv1/P;
mav2 = sumv2/Q;
plot1(mav1);
plot2(mav2);
두 지표식을 실제로 돌려보면 전자는 같은 날이면 항상 일 이평이 동일합니다.(제가 지금 밖에 있어서 첨부 그림을 못 올리는 입장입니다.)
후자는 분봉에 따라 일 이평이 미세하게 바뀝니다.
실제 매매시에도 분봉의 변화에 따라서 일 이평도 변하겠지요. 따라서 실제 매매에서의 전자와 후자의 차이는 없다고 봐도 될 것입니다.
하지만 시뮬레이션을 돌려서 전략을 세워야 하는 입장에서는 시뮬레이션 상(과거의 기록이 고정되어 있으므로 실제 매매시의 미세한 일이평 변화를 당연히 반영 못하죠)
의 전자와 후자는 미세한(미세하다고 해도 몇 년치 누적하면 결과가 상당히 달라지죠)차이가 납니다.
이게 제가 타종목을 이용하지 않고 일 이평 크로스에 따른 날짜 계산을 다시 문의드린 이유입니다. 읽어 주셔서 감사합니다.