커뮤니티

기초적인 질문 드립니다.

프로필 이미지
하우즐영
2013-10-28 02:52:36
129
글번호 68895
답변완료
내부변수 value에 대해서 기초적인 질문드립니다. 아래 value1, value2 처럼 동일 변수이름으로 중복 할당해도 되는 건가요? 안되는 줄 알았다가 우연히 저렇게 중복되었는데도 에러가 나지 않아서 문의드립니다. 내부변수를 많이 사용하다 보니 헤깔려서 부탁드립니다. 감사합니다. Value1 = ma(c,20); Value2 = ma(c,60); if dayindex() == 0 then { Value3 = Value1[1]; } if < ------ 수식들 ------- > then buy("a"); Condition15 = crossdown(c,ma(c,60)); value1 = NthLowestBar(1,c,60); value2 = countif(Condition15 == true,value1); if < ----- 수식들 ------ > then sell("b");
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2013-10-28 16:26:12

안녕하세요 예스스탁입니다. Value1 = ma(c,20); Value2 = ma(c,60); if dayindex() == 0 then { Value3 = Value1[1]; } if < ------ 수식들 ------- > #1번 if then buy("a"); Condition15 = crossdown(c,ma(c,60)); value1 = NthLowestBar(1,c,60); value2 = countif(Condition15 == true,value1); if < ----- 수식들 ------ > #2번 if then sell("b"); 예 가능합니다. 수식은 위에서 아래로 읽어 들어 가며 값을 저장하게 됩니다. 그러므로 1번 if문과 2번 if문에서 각각 다른 값을 저장한 변수를 사용하게 됩니다. 1번 if문에서는 Value1 = ma(c,20); Value2 = ma(c,60); 2번 if문에서는 value1 = NthLowestBar(1,c,60); value2 = countif(Condition15 == true,value1); 을 사용하게 되며 해당 식에서 value1,value2에 최종 저장된 값은 value1 = NthLowestBar(1,c,60); value2 = countif(Condition15 == true,value1); 식상 가장 아래에 있는 위 내용이므로 이전 봉의 값은 모두 위 내용으로 리턴이 됩니다. 즉 만약 1번 if문에서 20이평이 전봉보다 상승했다는 의미로 value1 > value1[1]와 같이 표현해도 전봉에서 최종 저장된 value1은 value1 = NthLowestBar(1,c,60); 이므로 해당 내용은 20이평이 전봉의 NthLowestBar(1,c,60)보다 크다라는 내용이 됩니다. 저장하는 값이 다르고 이전봉의 값을 사용하신다면 변수를 따로 만드셔서 사용하셔야 합니다. 즐거운 하루되세요 > 하우즐영 님이 쓴 글입니다. > 제목 : 기초적인 질문 드립니다. > 내부변수 value에 대해서 기초적인 질문드립니다. 아래 value1, value2 처럼 동일 변수이름으로 중복 할당해도 되는 건가요? 안되는 줄 알았다가 우연히 저렇게 중복되었는데도 에러가 나지 않아서 문의드립니다. 내부변수를 많이 사용하다 보니 헤깔려서 부탁드립니다. 감사합니다. Value1 = ma(c,20); Value2 = ma(c,60); if dayindex() == 0 then { Value3 = Value1[1]; } if < ------ 수식들 ------- > then buy("a"); Condition15 = crossdown(c,ma(c,60)); value1 = NthLowestBar(1,c,60); value2 = countif(Condition15 == true,value1); if < ----- 수식들 ------ > then sell("b");