커뮤니티

4762번(타종목의 타주기)재 문의 드림니다.

프로필 이미지
낭만매매
2006-05-18 22:34:25
1223
글번호 10013
답변완료
먼저 성실히 답변주셔서 감사합니다...꾸벅~~ 답변을 주셔서 1차적인 문제들은 무난히 해결이 되었습니다. 각 분봉차트에서 지표를 적용하여 보고, ATR값을 확인해 본 결과 정확히 일치하였습니다. 문제는 1분봉에서는 잘못된 결과가 나옴니다. 그래서 몇가지 다시 문의를 드리는 바입니다. 첫째)1분봉에서는 ATR값이 왜 틀리는지 이유를 알고싶고, 해결방법 또한 알고싶습니다. 둘째) 제가 아직 초보자라서 아래의 소스에서 이해하지 못하는 부분이 있습니다. 첫번째의 문의 내용이 TATR지표에서 사용하는 사용자 함수의 일부인 다음의 소스에서 문제가 발생한 것이 아닌가 해서 소스를 보다가 초보인 제가 이해하지 못하는게 많아서 문의 드림니다. 초보의 질문이니 이해해 주시고 가능하시면 자세한 답변을 부탁합니다. 1)"array : Cval[99](0);" 에서 왜 99개을 선언했는지 궁금합니다. For문에서 사용하기 위해서 선언했다는것만 이해했을 뿐, 좀더 근본적인 이유를 이해하지 못했습니다. 2) For문 안에 있는 "Cval[cnt] = Cval[cnt-1][1];" 에서 맨 마지막 부분인 "[1]"의 의가 잘 이해되지가 않습니다. Cval[cnt-1]의 값을 Cval[cnt]에 대입한다는건 알게습니다. 그런데 마지막에 "[1]"은 이전 값 참조라는 것은 알겠는데 무엇의 이전값이며 왜 cnt-1을 사용하면 될거 같은데 "[1]"라고 표현을 했는지 이해를 하지 못했습니다. 3) 마지막으로 "TaDayC = Cval[N];"에서 "Cval[N]"의 값이 왜 타종목 일봉상의 종가가 되는건지 이해를 하지 못했습니다. 앞의 내용을 이해 못해서 이걸 이해하지 못하는건 당연하겠지만 설명좀 부탁합니다. 이상이 저의 문의 내용입니다. 글로 표현을 하느라고 하기는 했는데 제대로 표현해서 문의를 드린건지 모르겠네요... 혹시라도 문의한 내용이 명확하지 못하여 답변하기 어려우시면 유선으로 연락을 주시면 다시 문의를 드리겠습니다. ===== 이하는 TATR 사용하는 TaDayC()의 소스임 ===== input : N(NUMERIC); var : cnt(0); array : Cval[99](0); if date != date[1] then { for cnt = 1 to 98 { Cval[cnt] = Cval[cnt-1][1]; } } Cval[0] = data1("C"); TaDayC = Cval[N];
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2006-05-19 09:14:16

안녕하세요 예스스탁입니다. TaDayC()은 타종목의 일봉상의 종가를 가져오는 함수입니다. 1. 확인해 본결과 1분봉에서도 값이 일치하게 나왓습니다. 분봉차트는 최대 5000봉까지만 차트에 적용할 수 있습니다. 1분봉은 하루 376개의 봉이므로 13일 정도치의 봉만 나타납니다. 5000개의 봉을 지정한 후 적용해 보시기 바랍니다. 2. 배열변수는 0~99개까지 총 100까지 사용할 수 있습니다. 간단히 Cval이라는 배열변수를 만들어 방을 [99]로 선언해서 0~99개까지 Cval[0],Cval[1],Cval[2] ....Cval[99]까지 사용하겠다고 선언한 것입니다. TadayC의 함수에서 보면 총 총 100일간의 종가를 계산해서 들어갈 방을 선언한 것입니다. 3. Cval[0]은 당일의 종가, Cval[1]은 전일의 종가와 같이 할당됩니다. 그러므로 날짜가 바뀌면 당일의 종가가 새롭게 생성되어 바뀌므로 Cval[cnt] = Cval[cnt-1][1]; 새롭게 Cval[1]방에 Cval[0]방의 [1]한봉전(전일마지막봉 값)의 값을 할당하여 전일 종가를 갱신하는 것입니다. 이런식으로 for문을 돌려 1~98일전 방까지 계속 갱신합니다. 4. 위에 설명과 같이 Cval[1]~Cval[99]방까지는 일봉상 종가값이 저장됩니다. Cval[0]은 당일종가 Cval[1]은 전일종가 그러므로 Cval[N]은 N일전 종가가 됩니다. TaDayC = Cval[N]은 사용자가 지정한 N일의 종가를 TadayC라는 변수에 할당하라는 표현입니다. 즐거운 하루되세요 > 낭만매매 님이 쓴 글입니다. > 제목 : 4762번(타종목의 타주기)재 문의 드림니다. > 먼저 성실히 답변주셔서 감사합니다...꾸벅~~ 답변을 주셔서 1차적인 문제들은 무난히 해결이 되었습니다. 각 분봉차트에서 지표를 적용하여 보고, ATR값을 확인해 본 결과 정확히 일치하였습니다. 문제는 1분봉에서는 잘못된 결과가 나옴니다. 그래서 몇가지 다시 문의를 드리는 바입니다. 첫째)1분봉에서는 ATR값이 왜 틀리는지 이유를 알고싶고, 해결방법 또한 알고싶습니다. 둘째) 제가 아직 초보자라서 아래의 소스에서 이해하지 못하는 부분이 있습니다. 첫번째의 문의 내용이 TATR지표에서 사용하는 사용자 함수의 일부인 다음의 소스에서 문제가 발생한 것이 아닌가 해서 소스를 보다가 초보인 제가 이해하지 못하는게 많아서 문의 드림니다. 초보의 질문이니 이해해 주시고 가능하시면 자세한 답변을 부탁합니다. 1)"array : Cval[99](0);" 에서 왜 99개을 선언했는지 궁금합니다. For문에서 사용하기 위해서 선언했다는것만 이해했을 뿐, 좀더 근본적인 이유를 이해하지 못했습니다. 2) For문 안에 있는 "Cval[cnt] = Cval[cnt-1][1];" 에서 맨 마지막 부분인 "[1]"의 의가 잘 이해되지가 않습니다. Cval[cnt-1]의 값을 Cval[cnt]에 대입한다는건 알게습니다. 그런데 마지막에 "[1]"은 이전 값 참조라는 것은 알겠는데 무엇의 이전값이며 왜 cnt-1을 사용하면 될거 같은데 "[1]"라고 표현을 했는지 이해를 하지 못했습니다. 3) 마지막으로 "TaDayC = Cval[N];"에서 "Cval[N]"의 값이 왜 타종목 일봉상의 종가가 되는건지 이해를 하지 못했습니다. 앞의 내용을 이해 못해서 이걸 이해하지 못하는건 당연하겠지만 설명좀 부탁합니다. 이상이 저의 문의 내용입니다. 글로 표현을 하느라고 하기는 했는데 제대로 표현해서 문의를 드린건지 모르겠네요... 혹시라도 문의한 내용이 명확하지 못하여 답변하기 어려우시면 유선으로 연락을 주시면 다시 문의를 드리겠습니다. ===== 이하는 TATR 사용하는 TaDayC()의 소스임 ===== input : N(NUMERIC); var : cnt(0); array : Cval[99](0); if date != date[1] then { for cnt = 1 to 98 { Cval[cnt] = Cval[cnt-1][1]; } } Cval[0] = data1("C"); TaDayC = Cval[N];