커뮤니티
뭐가 잘못된건가요?
2011-01-21 18:10:32
874
글번호 35197
input : left(3), right(2), Period(200);
var : ma5(0), LowVal1(0), LowVal2(0), Lowidx1(0), Lowidx2(0);
ma5 = ma(C,5);
LowVal1 = SwingLow(1,ma5,left,right,Period);
LowVal2 = SwingLow(2,ma5,left,right,Period);
Lowidx1 = SwingLowbar(1,ma5,left,right,Period);
Lowidx2 = SwingLowbar(2,ma5,left,right,Period);
#진입
if Lowidx2-Lowidx1 > 5 and
Lowidx2-Lowidx1 < 30 and
ma5[right]== LowVal1 and
accumN(ma5 > ma5[1], 2) == 2 and
(max(LowVal1, LowVal2) - min(LowVal1, LowVal2))/min(LowVal1, LowVal2)*100 < 10 then
buy("A",AtMarket);
#청산
if ma(C,5) < ma(C,20) then
exitlong();
SetStopEndofday(144500);
초보라 여기 게시판보고 이것저것 실제해보고 있는데
게시판에 쌍바닥 이평 구하는 식을 그대로 적용했는데
"accumN(ma5 > ma5[1], 2) == 2 and "이 부분에서
">"자리에 숫자값이나 숫자표현식이 와야 된다는 오류 메세지가 뜹니다.
게시판의 다른 곳을 봐도 이상을 못찾겠는데 뭐가 잘못된건가요?
답변 1
예스스탁 예스스탁 답변
2011-01-24 09:44:07
안녕하세요
예스스탁입니다.
이전 버전의 랭귀지로 작성된 부분이라 해당 부분 오류가 나가됩니다.
Accumn(ma5 > ma5[1], 2) == 2
를
countif(ma5 > ma5[1], 2) == 2로 수정하시면 됩니다.
아래는 수정된 식입니다.
input : left(3), right(2), Period(200);
var : ma5(0), LowVal1(0), LowVal2(0), Lowidx1(0), Lowidx2(0);
ma5 = ma(C,5);
LowVal1 = SwingLow(1,ma5,left,right,Period);
LowVal2 = SwingLow(2,ma5,left,right,Period);
Lowidx1 = SwingLowbar(1,ma5,left,right,Period);
Lowidx2 = SwingLowbar(2,ma5,left,right,Period);
#진입
if Lowidx2-Lowidx1 > 5 and
Lowidx2-Lowidx1 < 30 and
ma5[right]== LowVal1 and
countif(ma5 > ma5[1], 2) == 2 and
(max(LowVal1, LowVal2) - min(LowVal1, LowVal2))/min(LowVal1, LowVal2)*100 < 10 then
buy("A",AtMarket);
#청산
if ma(C,5) < ma(C,20) then
exitlong();
SetStopEndofday(144500);
즐거운 하루되세요
> 여운91 님이 쓴 글입니다.
> 제목 : 뭐가 잘못된건가요?
> input : left(3), right(2), Period(200);
var : ma5(0), LowVal1(0), LowVal2(0), Lowidx1(0), Lowidx2(0);
ma5 = ma(C,5);
LowVal1 = SwingLow(1,ma5,left,right,Period);
LowVal2 = SwingLow(2,ma5,left,right,Period);
Lowidx1 = SwingLowbar(1,ma5,left,right,Period);
Lowidx2 = SwingLowbar(2,ma5,left,right,Period);
#진입
if Lowidx2-Lowidx1 > 5 and
Lowidx2-Lowidx1 < 30 and
ma5[right]== LowVal1 and
accumN(ma5 > ma5[1], 2) == 2 and
(max(LowVal1, LowVal2) - min(LowVal1, LowVal2))/min(LowVal1, LowVal2)*100 < 10 then
buy("A",AtMarket);
#청산
if ma(C,5) < ma(C,20) then
exitlong();
SetStopEndofday(144500);
초보라 여기 게시판보고 이것저것 실제해보고 있는데
게시판에 쌍바닥 이평 구하는 식을 그대로 적용했는데
"accumN(ma5 > ma5[1], 2) == 2 and "이 부분에서
">"자리에 숫자값이나 숫자표현식이 와야 된다는 오류 메세지가 뜹니다.
게시판의 다른 곳을 봐도 이상을 못찾겠는데 뭐가 잘못된건가요?