커뮤니티

에러 수정요청

프로필 이미지
nobound
2009-06-05 19:08:35
803
글번호 22615
답변완료
상세 매뉴얼에 나와 있는 예제를 그대로 돌려 보았는데 에러가 나왔습니다. 수식에 표시하둔 6째, 7째, 10째 줄에서 에러가 나왔습니다. 어떻게 수정해야 하는지 도와주세요. input : shortPeriod(5),midPeriod(10),longPeriod(20),Percent(1),수렴조건(2),청산조건(1); var : 단기이평(0),중기이평(0),장기이평(0),정배열(0),역배열(0),최대(0),최소(0),이평수렴(0); 단기이평 = ma(C, shortPeriod); 중기이평 = ma(C, midPeriod); 장기이평 = ma(C, longPeriod); **<6>**정배열 = 단기이평 > 중기이평 and 중기이평 > 장기이평; //① **<7>**역배열 = 단기이평 < 중기이평 and 중기이평 < 장기이평; 최대 = max(단기이평,중기이평,장기이평); //③ 최소 = min(단기이평,중기이평,장기이평); **<10>**이평수렴 = 최대[1]/최소[1] <= (1+Percent/100); if CrossUp(단기이평, 중기이평) and 정배열 and //② ((수렴조건 == 1 and AccumN(이평수렴,5) > 0) or //④ (수렴조건 == 2 and 이평수렴) or (수렴조건 == 3 and AccumN(이평수렴,3) == 3)) then Buy(); if (청산조건 == 1 and !정배열) or //⑤ (청산조건 == 2 and 역배열) then ExitLong(); if CrossDown(단기이평, 중기이평) and 역배열 and //② ((수렴조건 == 1 and AccumN(이평수렴,5) > 0) or //④ (수렴조건 == 2 and 이평수렴) or (수렴조건 == 3 and AccumN(이평수렴,3) == 3)) then Sell(); if (청산조건 == 1 and !역배열) or //⑥ (청산조건 == 2 and 정배열) then ExitShort();
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2009-06-08 08:46:46

안녕하세요 예스스탁입니다. 1. 논리식을 할당하는 변수는 선언시에 (false)로 선언해야 합니다. 2. N봉 동안 특정조건이 몇번발생했는지 알고자 하실 때는 accumn(iff(조건,1,0),N) 또는 countif(조건,N) 으로 작성하셔야 합니다. input : shortPeriod(5),midPeriod(10),longPeriod(20),Percent(1),수렴조건(2),청산조건(1); var : 단기이평(0),중기이평(0),장기이평(0),정배열(True),역배열(False),최대(0),최소(0),이평수렴(false); 단기이평 = ma(C, shortPeriod); 중기이평 = ma(C, midPeriod); 장기이평 = ma(C, longPeriod); 정배열 = 단기이평 > 중기이평 and 중기이평 > 장기이평; //① 역배열 = 단기이평 < 중기이평 and 중기이평 < 장기이평; 최대 = max(단기이평,중기이평,장기이평); //③ 최소 = min(단기이평,중기이평,장기이평); 이평수렴 = 최대[1]/최소[1] <= (1+Percent/100); if CrossUp(단기이평, 중기이평) and 정배열 and //② ((수렴조건 == 1 and countif(이평수렴,5) > 0) or //④ (수렴조건 == 2 and 이평수렴) or (수렴조건 == 3 and countif(이평수렴,3) == 3)) then Buy(); if (청산조건 == 1 and !정배열) or //⑤ (청산조건 == 2 and 역배열) then ExitLong(); if CrossDown(단기이평, 중기이평) and 역배열 and //② ((수렴조건 == 1 and countif(이평수렴,5) > 0) or //④ (수렴조건 == 2 and 이평수렴) or (수렴조건 == 3 and countif(이평수렴,3) == 3)) then Sell(); if (청산조건 == 1 and !역배열) or //⑥ (청산조건 == 2 and 정배열) then ExitShort(); 즐거운 하루되세요 > nobound 님이 쓴 글입니다. > 제목 : 에러 수정요청 > 상세 매뉴얼에 나와 있는 예제를 그대로 돌려 보았는데 에러가 나왔습니다. 수식에 표시하둔 6째, 7째, 10째 줄에서 에러가 나왔습니다. 어떻게 수정해야 하는지 도와주세요. input : shortPeriod(5),midPeriod(10),longPeriod(20),Percent(1),수렴조건(2),청산조건(1); var : 단기이평(0),중기이평(0),장기이평(0),정배열(0),역배열(0),최대(0),최소(0),이평수렴(0); 단기이평 = ma(C, shortPeriod); 중기이평 = ma(C, midPeriod); 장기이평 = ma(C, longPeriod); **<6>**정배열 = 단기이평 > 중기이평 and 중기이평 > 장기이평; //① **<7>**역배열 = 단기이평 < 중기이평 and 중기이평 < 장기이평; 최대 = max(단기이평,중기이평,장기이평); //③ 최소 = min(단기이평,중기이평,장기이평); **<10>**이평수렴 = 최대[1]/최소[1] <= (1+Percent/100); if CrossUp(단기이평, 중기이평) and 정배열 and //② ((수렴조건 == 1 and AccumN(이평수렴,5) > 0) or //④ (수렴조건 == 2 and 이평수렴) or (수렴조건 == 3 and AccumN(이평수렴,3) == 3)) then Buy(); if (청산조건 == 1 and !정배열) or //⑤ (청산조건 == 2 and 역배열) then ExitLong(); if CrossDown(단기이평, 중기이평) and 역배열 and //② ((수렴조건 == 1 and AccumN(이평수렴,5) > 0) or //④ (수렴조건 == 2 and 이평수렴) or (수렴조건 == 3 and AccumN(이평수렴,3) == 3)) then Sell(); if (청산조건 == 1 and !역배열) or //⑥ (청산조건 == 2 and 정배열) then ExitShort();