커뮤니티

수식에서 오류가 나는데 원인을 모르겠습니다.

프로필 이미지
hooney78
2024-03-05 17:29:30
911
글번호 177187
답변완료
첨에 이렇게 수식을 완성했는데 Var1 = BollBandUp(60, 1); //기간60,승수1 Var2 = Ema(c, 120); //이평120 Var3=(highest(high,9)+lowest(low,9)+highest(high,26)+lowest(low,26))/4; Var4=(highest(high,52)+lowest(low,52))/2; if Var3[25]<=c && Var4[25]<=c && (crossup(var1, Var2) or (Var2*1.03 =>var1 && Var2<=crossup(c,var1))) Then Find(1); 종목검색 수식에서 문법에러 잘못된 토큰'>' 이렇게 나오는데 어디가 문제일까요? if 문구에서 나옵니다. 그러다 변수설정을 조금 변경해서 아래와 같이 해봤는데 var : aa(0), bb(0); Var1 = BollBandUp(60, 1); //기간60,승수1 Var2 = Ema(c, 120); //이평120 Var3 =(highest(high,9)+lowest(low,9)+highest(high,26)+lowest(low,26))/4; Var4 =(highest(high,52)+lowest(low,52))/2; aa = Var2*1.03; bb = CrossUp(C, var1); if Var3[25]<=c && Var4[25]<=c && (Crossup(Var1, Var2) or (aa>=Var1 && Var2<=bb)) then Find(1); 이렇게 고치니 bb = Crossup(~~~~ 문구에서 연산자 앞 뒤 두 데이터의 형태가 같아야 한다고 하는데 여기서 또 막혔네요.
종목검색
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2024-03-06 09:42:55

안녕하세요 예스스탁입니다. 1 Var2*1.03 =>var1 부등호가 앞에 위치해야 합니다. Var2*1.03 >= var1 2 var2<=crossup(c,var1) crossup(c,var1)은 조건이 만족하면 true, 아니면 false가 리턴됩니다. var2 숫자인데 true나 false와 비교가 가능하지 않습니다. 3 var : aa(0), bb(0); bb = CrossUp(C, var1); bb에 저장되는 값은 true,false입니다. 조건식의 결과값이 저장되는 변수는 선언시에 bb(false)와 같이 선언하셔야 합니다. 즉 숫자를 저장하는 변수는 선언시(0)과 같이 숫자, true/false가 리턴되는 조건식의 결과값을 저장하는 변수는 (false)로 변수선언이 되어야 합니다. 3 Var2 = Ema(c, 120); //이평120 bb = CrossUp(C, var1); var2는 지수이평값이고 bb은 골든크로스가 발생했는지 여부인데 2개의 비교가 어떤 의미인지 알수 없습니다. 만약 골드발생시의 종가(특정값)를 저장해서 var2와 비교하는 내용이면 아래와 같이 골드발생시 특정값을 변수에 저장해서 var2와 비교하게 문장을 만드셔야 합니다. var : aa(0), bb(False),cc(0); Var1 = BollBandUp(60, 1); //기간60,승수1 Var2 = Ema(c, 120); //이평120 Var3 =(highest(high,9)+lowest(low,9)+highest(high,26)+lowest(low,26))/4; Var4 =(highest(high,52)+lowest(low,52))/2; aa = Var2*1.03; bb = CrossUp(C, var1); if bb == true Then cc = c; if Var3[25]<=c && Var4[25]<=c && (Crossup(Var1, Var2) or (aa>=Var1 && Var2<=cc)) then Find(1); 즐거운 하루되세요 > hooney78 님이 쓴 글입니다. > 제목 : 수식에서 오류가 나는데 원인을 모르겠습니다. > 첨에 이렇게 수식을 완성했는데 Var1 = BollBandUp(60, 1); //기간60,승수1 Var2 = Ema(c, 120); //이평120 Var3=(highest(high,9)+lowest(low,9)+highest(high,26)+lowest(low,26))/4; Var4=(highest(high,52)+lowest(low,52))/2; if Var3[25]<=c && Var4[25]<=c && (crossup(var1, Var2) or (Var2*1.03 =>var1 && Var2<=crossup(c,var1))) Then Find(1); 종목검색 수식에서 문법에러 잘못된 토큰'>' 이렇게 나오는데 어디가 문제일까요? if 문구에서 나옵니다. 그러다 변수설정을 조금 변경해서 아래와 같이 해봤는데 var : aa(0), bb(0); Var1 = BollBandUp(60, 1); //기간60,승수1 Var2 = Ema(c, 120); //이평120 Var3 =(highest(high,9)+lowest(low,9)+highest(high,26)+lowest(low,26))/4; Var4 =(highest(high,52)+lowest(low,52))/2; aa = Var2*1.03; bb = CrossUp(C, var1); if Var3[25]<=c && Var4[25]<=c && (Crossup(Var1, Var2) or (aa>=Var1 && Var2<=bb)) then Find(1); 이렇게 고치니 bb = Crossup(~~~~ 문구에서 연산자 앞 뒤 두 데이터의 형태가 같아야 한다고 하는데 여기서 또 막혔네요.