커뮤니티

이상해서 질문드립니다.

프로필 이미지
오리날다
2004-06-29 15:10:19
830
글번호 4287
답변완료
수고하십니다. for문을 이용해서 수식작성을 하다가 잘 안되서 질문드립니다. 아래 지표식은 봉 종가가 120 이평을 상향하면 1, 아니면 0인 값을 갖게 하는 식입니다. for문의 index가 내부에서 사용되지 않으므로 for문이 없는것과 결과가 같아야 할것 같은데 다르게 나옵니다. 아래를 plot 해보면 120 이평이 아니라 60 이평에 대한 결과가 나옵니다. 왜 그런지 알려주세요. 그리고요. 지난 100봉 중에서 C와 20 이평의 골든 or 데드크로스가 났으면 1, 아니면 0을 갖는 변수를 만들려면 어떻게 해야하는지요. 답변 부탁드립니다. 좋은 하루 되십시요. Input : offset(0.1); var : vv(0), swing(0); swing = 0; for vv=0 to 1 { If C > ma(C,120) Then swing = 1; Else swing = 0; } Plot1 (swing, "ss"); Plot2 (0, "0");
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2004-06-30 11:01:57

안녕하세요? 예스스탁입니다.... 문의하신 내용은 for문 안에서 Ma함수가 여러번 사용되어서 발생하는 문제입니다. for문에서 Ma가 2번 불려지게되어 이동평균을 내는 C(종가)값이 ma함수에 2번 들어가게 되므로 사용자께서 의도하는 결과와 다른 결과가 나오게 됩니다. 그러므로 ma와같은 함수를 for문 안에 사용하실때에는 이점 유의 하시어 다른 방식으로 식을 작성하셔야 합니다. 그리고, 이전 100개봉 동안에 조건이 만족했을 때 1, 그렇지 않을 경우 0을 갖게 하기 위해서는 우선 차트에서 봉의 갯수를 2500개로 설정하신 후에 다음과 같이 식을 작성하시면 됩니다... if index >= 2400 then { if crossup(c, ma(c, 20)) or crossdown(c, ma(c, 20)) then var1 = 1; else var1 = 0; } else var1 = 0; plot1(var1); > 오리날다 님이 쓴 글입니다. > 제목 : 이상해서 질문드립니다. > 수고하십니다. for문을 이용해서 수식작성을 하다가 잘 안되서 질문드립니다. 아래 지표식은 봉 종가가 120 이평을 상향하면 1, 아니면 0인 값을 갖게 하는 식입니다. for문의 index가 내부에서 사용되지 않으므로 for문이 없는것과 결과가 같아야 할것 같은데 다르게 나옵니다. 아래를 plot 해보면 120 이평이 아니라 60 이평에 대한 결과가 나옵니다. 왜 그런지 알려주세요. 그리고요. 지난 100봉 중에서 C와 20 이평의 골든 or 데드크로스가 났으면 1, 아니면 0을 갖는 변수를 만들려면 어떻게 해야하는지요. 답변 부탁드립니다. 좋은 하루 되십시요. Input : offset(0.1); var : vv(0), swing(0); swing = 0; for vv=0 to 1 { If C > ma(C,120) Then swing = 1; Else swing = 0; } Plot1 (swing, "ss"); Plot2 (0, "0");