커뮤니티

변수를 선언해야 하는 경우

프로필 이미지
마수거리
2010-09-06 16:36:37
910
글번호 32189
답변완료
아래의 내용에서 제가 확인해보아도 차이점이 없네요. 아무래도 다른 로직에서 차이가 나타나는 것 같습니다. 수식작성하다가 궁금한 점이 있는데.. 어떤 경우에 변수선언을 해야하는 건가요? 그리고 속도개선을 위해서 어떤 것을 해야하고 하지말아야 하는것인지요. 예전에 교육에서 closeD보다 DayClose를 사용하면 속도가 향상된다는 말을 얼핏 들은 기억이 납니다. 변수선언을 해야하는 경우와 속도개선을 위한 지침서(?) 등 정리 좀 부탁드립니다. 항상 도움주셔서 감사합니다. 안녕하세요 예스스탁입니다. 1. 확인해 본 결과 차이점이 없습니다. 차트기간과 설정이 같다면 1번과 2번은 동일한 값을 리턴합니다. 차트기간이나 설정등을 살펴봐 주시고 기간과 설정이 같은데 다르시다면 원본식과 적용하신 차트의 주기와 설정등을 올려주시기 바랍니다. 2. 틱데이터가 수신될때 반복계산되지만 봉완성시에 최종값이 저장됩니다. 즐거운 하루되세요 > 마수거리 님이 쓴 글입니다. > 제목 : 함수호출 문의 > {1번 식} var : Pivot(0); Pivot = (High(1)+Low(1)+Close(1))/3; ================================================================================= {2번 식} var : Pivot(0), DH(0), DL(0), DC(0); DH = High; DL = Low; DC = Close; Pivot = (DH(1)+DL(1)+DC(1))/3; ================================================================================= 위와 같이 2종류의 코딩이 있습니다. 내용은 같은내용인데 2번식은 내장함수를 따로 변수를 선언하고 저장을 했습니다. 이렇게 1번식을 2번식으로 수정을 하면 어떤 차이점이 있나요? 1번 식과 2번 식의 차이로 총수익 금액이 다른데.... 함수호출에서 어떤 차이가 있는가요? 그리고, 함수호출과 저장은 틱 데이타가 수신될때 실행되나요? 아니면, 봉완성할 때 인가요?
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2010-09-07 09:09:51

안녕하세요 예스스탁입니다. 변수선언은 주로 반복적으로 계산식을 사용할 경우에 사용됩니다. 예를 들어 식에서 20이동평균이 식에서 다수 사용된어 ma(c,20)으로 여러번 사용하면 식상에 ma(c,20)의 갯수만큼 반복계산되게 되므로 mav = ma(c,20)과 같이 변수에 할당한 다음 필요할 때 mav를 사용하면 계산횟수를 줄일 수 있습니다. 데이터예약어는 변수에 할당하여 사용하는 것이 큰 의미는 없습니다. dayhigh는 일봉데이터에서 직접 값을 가져오고 highD는 차트상의 데이터를 분석하여 값을 계산하여 리턴하게 되므로 day~함수가 시뮬레이션 속도가 더 빠를수 있습니다. 다만 참조종목에는 day함수가 제공되지 않으므로 openD/highD/lowD/closeD를 사용하셔야 합니다. 즐거운 하루되세요 > 마수거리 님이 쓴 글입니다. > 제목 : 변수를 선언해야 하는 경우 > 아래의 내용에서 제가 확인해보아도 차이점이 없네요. 아무래도 다른 로직에서 차이가 나타나는 것 같습니다. 수식작성하다가 궁금한 점이 있는데.. 어떤 경우에 변수선언을 해야하는 건가요? 그리고 속도개선을 위해서 어떤 것을 해야하고 하지말아야 하는것인지요. 예전에 교육에서 closeD보다 DayClose를 사용하면 속도가 향상된다는 말을 얼핏 들은 기억이 납니다. 변수선언을 해야하는 경우와 속도개선을 위한 지침서(?) 등 정리 좀 부탁드립니다. 항상 도움주셔서 감사합니다. 안녕하세요 예스스탁입니다. 1. 확인해 본 결과 차이점이 없습니다. 차트기간과 설정이 같다면 1번과 2번은 동일한 값을 리턴합니다. 차트기간이나 설정등을 살펴봐 주시고 기간과 설정이 같은데 다르시다면 원본식과 적용하신 차트의 주기와 설정등을 올려주시기 바랍니다. 2. 틱데이터가 수신될때 반복계산되지만 봉완성시에 최종값이 저장됩니다. 즐거운 하루되세요 > 마수거리 님이 쓴 글입니다. > 제목 : 함수호출 문의 > {1번 식} var : Pivot(0); Pivot = (High(1)+Low(1)+Close(1))/3; ================================================================================= {2번 식} var : Pivot(0), DH(0), DL(0), DC(0); DH = High; DL = Low; DC = Close; Pivot = (DH(1)+DL(1)+DC(1))/3; ================================================================================= 위와 같이 2종류의 코딩이 있습니다. 내용은 같은내용인데 2번식은 내장함수를 따로 변수를 선언하고 저장을 했습니다. 이렇게 1번식을 2번식으로 수정을 하면 어떤 차이점이 있나요? 1번 식과 2번 식의 차이로 총수익 금액이 다른데.... 함수호출에서 어떤 차이가 있는가요? 그리고, 함수호출과 저장은 틱 데이타가 수신될때 실행되나요? 아니면, 봉완성할 때 인가요?