커뮤니티
1405 번 재문의
2004-03-29 16:32:31
1209
글번호 2962
var : ma1(0), ma2(0), ma3(0), ma4(0), ma5(0), ma6(0), ma7(0);
var : maLine1(0), maLine2(0), maLine3(0), maLine4(0),
maLine5(0), maLine6(0), maLine7(0);
ma1 = 5;
ma2 = 10;
ma3 = 20;
ma4 = 40;
ma5 = 60;
ma6 = 120;
ma7 = 200; // or ma7 = 720;
maLine1 = ma(C, ma1); // 5ma value
maLine2 = ma(C, ma2); // 10ma value
maLine3 = ma(C, ma3); // 20ma value
maLine4 = ma(C, ma4); // 40ma value
maLine5 = ma(C, ma5); // 60ma value
maLine6 = ma(C, ma6); // 1200ma value
maLine7 = ma(C, ma7); // 200ma value
if crossup(C, maLine3) then
{
buy();
}
if crossdown(C, maLine3) then
{
sell();
}
결과
test 기간 : 2002/10/1 ~ 2003/09/30
ma7 = 200;
--> 연평균손익(-5.97), 승률(27.60), 최대손실폭(-18.75)
ma7 = 720;
--> 연평균손익(5.62), 승률(27.39), 최대손실폭(-18.75)
위와 같이 결과가 다릅니다...
답변 1
예스스탁 예스스탁 답변
2004-03-29 17:04:29
안녕하세요? 예스스탁입니다...
이론적으로 생가할때 maLine7이 식에 영향을 미치지 말아야 할 것입니다.
하지만 계산식 이전에 이미 "maLine7"이 변수선언 되어 있기 때문에 "maLine7"을 위한
Period(기간값)값 만큼의 봉갯수가 차트(제일 첫 부분)에서 필요하게 됩니다.
따라서, maLine7 뿐만 아니라 maLine4, maLine5, maLin6에 대해서 선언을 해 주어도
초기 이평선에 대한 기간 변수값만큼은 차트의 제일 초기 부분에서 계산이 되지 않기 때문에 결과가 틀리게 나오는 것입니다.
각 변수선언에 대해서 차트 제일 초기 부분을 보시면 쉽게 이해하실 수 있을 것입니다..
감사합니다....
> andrew 님이 쓴 글입니다.
> 제목 : 1405 번 재문의
> var : ma1(0), ma2(0), ma3(0), ma4(0), ma5(0), ma6(0), ma7(0);
var : maLine1(0), maLine2(0), maLine3(0), maLine4(0),
maLine5(0), maLine6(0), maLine7(0);
ma1 = 5;
ma2 = 10;
ma3 = 20;
ma4 = 40;
ma5 = 60;
ma6 = 120;
ma7 = 200; // or ma7 = 720;
maLine1 = ma(C, ma1); // 5ma value
maLine2 = ma(C, ma2); // 10ma value
maLine3 = ma(C, ma3); // 20ma value
maLine4 = ma(C, ma4); // 40ma value
maLine5 = ma(C, ma5); // 60ma value
maLine6 = ma(C, ma6); // 1200ma value
maLine7 = ma(C, ma7); // 200ma value
if crossup(C, maLine3) then
{
buy();
}
if crossdown(C, maLine3) then
{
sell();
}
결과
test 기간 : 2002/10/1 ~ 2003/09/30
ma7 = 200;
--> 연평균손익(-5.97), 승률(27.60), 최대손실폭(-18.75)
ma7 = 720;
--> 연평균손익(5.62), 승률(27.39), 최대손실폭(-18.75)
위와 같이 결과가 다릅니다...
이전글