커뮤니티

시스템 문의..

프로필 이미지
nsmoon
2011-09-01 10:41:05
433
글번호 42364
답변완료
안녕하세요.. 질문드립니다.. 1. 예스트레이더 랭기지는.. 매번 새로운 봉이 들어올때마다 변수값 초기화되고, 계산을 전체적으로 새롭게 다시하는건가요??(기존에 변수에 저장해놓은 데이터는, 오랜 기간이 지나거나.. 다음 봉이 들어오면 초기화되나요?) 2. 만약 CrossUp이 발생한날 특정 변수에 특정한 수치값을 저장해놓고.. 일정 기간후에 다시 CrossUP이 발생할경우.. 지난번 CrossUP이 발생했을때의 저장해놓은 변수속 특정 수치값과, 이번 CrossUP이 발생했을때의 수치를 비교해서 매수나 매도가 가능하도록 매매로직을 구현했더니.. 동작이 안하는것같네요.. 3. 만약 변수에 저장된값이 오랜기간 유지되지 않는다면..두번째 CrossUP이 발생했을때.. 역으로 추적해서.. 첫번째 CrossUP이 발생했을때의 수치값을 비교하도록 로직을 다시 구현해야 하나요?? 예를들어.. If CrossUp(c, ma(c,5)) Then value1 = c; If value1 > ma(c,20) Then buy(); => 만약 위와같이.. 종가가 5이평을 크로스업 했을때, value1에 종가값을 대입하면.. 이 value1변수에는 종가값이 언제까지 들어있게되나요?? 다음봉이 들어오면 사라지나요? 이렇게 첫번째 크로스업때의 value1에 저장된 종가값과, 매번 새로운 봉의 20이평의 값을 비교해서.. 20이평을 초과하는 순간 매수하도록 짜는 이러한 로직은 실현될수 없는건가요?? 그렇다면 이번 크로스업이 발생했을때의 특정값 수치와 직전 크로스업때의 특정값 수치를 비교해서 매수,매도가 가능하도록은 불가능한가요? ( 위수식은 그냥 예를든것이지..저거 사용하는거 아니니까 저걸 해결해주려고 하지마세요... ^^) 어제 새벽까지 이것때문에 씨름하다가...;;; 휴.. 답변좀 주세요..
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2011-09-01 14:11:56

안녕하세요 예스스탁입니다. 1. 변수는 새로운봉이 시작되도 초기화되지 않습니다. 새로운 값이 저장하기 전까지는 이전에 저장한 값이 유지됩니다. 변수에 값이 저장되면 또다시 값을 투입하지 않는 이상 계속 그 값이 유지됩니다. 2. 식을 어떻게 구현하셨는지 몰라 정확히 답변드리기 어렵습니다. If CrossUp(c, ma(c,5)) Then{ value1 = c; value2 = value1[1]; } 위와 같이 작성하시면 value1이 가장최근 크로스업 발생시의 종가이고 value2가 그 이전의 크로스업할때의 종가입니다. value1은 항상 가장 최근 크로업시의 종가가값을 저장하므로 그이전 크로스업시의 값을 사용하시려면 위와 같이 다른 변수로 값을 옮겨놓고 사용하시면 됩니다. 가령 아래와 같이 작성하시면 크로스업이 발생했을때 매수하는데 직전 크로스업 할때 종가보다 현재 크로스업 종가가 클때 매수하는 식입니다. If CrossUp(c, ma(c,5)) Then{ value1 = c; value2 = value1[1]; if value1 > value2 then buy(); } 3. If CrossUp(c, ma(c,5)) Then value1 = c; If value1 > ma(c,20) Then buy(); 위와 같이 작성하시면 value1은 항상 최근 크로스업시의 종가입니다. 크로스업이 발생하면 종가가 저장되고 값을 유지하다가 다음 크로스업이 발생되면 그때 해당봉의 종가로 변경됩니다. 즐거운 하루되세요 > nsmoon 님이 쓴 글입니다. > 제목 : 시스템 문의.. > 안녕하세요.. 질문드립니다.. 1. 예스트레이더 랭기지는.. 매번 새로운 봉이 들어올때마다 변수값 초기화되고, 계산을 전체적으로 새롭게 다시하는건가요??(기존에 변수에 저장해놓은 데이터는, 오랜 기간이 지나거나.. 다음 봉이 들어오면 초기화되나요?) 2. 만약 CrossUp이 발생한날 특정 변수에 특정한 수치값을 저장해놓고.. 일정 기간후에 다시 CrossUP이 발생할경우.. 지난번 CrossUP이 발생했을때의 저장해놓은 변수속 특정 수치값과, 이번 CrossUP이 발생했을때의 수치를 비교해서 매수나 매도가 가능하도록 매매로직을 구현했더니.. 동작이 안하는것같네요.. 3. 만약 변수에 저장된값이 오랜기간 유지되지 않는다면..두번째 CrossUP이 발생했을때.. 역으로 추적해서.. 첫번째 CrossUP이 발생했을때의 수치값을 비교하도록 로직을 다시 구현해야 하나요?? 예를들어.. If CrossUp(c, ma(c,5)) Then value1 = c; If value1 > ma(c,20) Then buy(); => 만약 위와같이.. 종가가 5이평을 크로스업 했을때, value1에 종가값을 대입하면.. 이 value1변수에는 종가값이 언제까지 들어있게되나요?? 다음봉이 들어오면 사라지나요? 이렇게 첫번째 크로스업때의 value1에 저장된 종가값과, 매번 새로운 봉의 20이평의 값을 비교해서.. 20이평을 초과하는 순간 매수하도록 짜는 이러한 로직은 실현될수 없는건가요?? 그렇다면 이번 크로스업이 발생했을때의 특정값 수치와 직전 크로스업때의 특정값 수치를 비교해서 매수,매도가 가능하도록은 불가능한가요? ( 위수식은 그냥 예를든것이지..저거 사용하는거 아니니까 저걸 해결해주려고 하지마세요... ^^) 어제 새벽까지 이것때문에 씨름하다가...;;; 휴.. 답변좀 주세요..