안녕하세요?
다른 시스템 로직에서 지표를 변환하다보니, 아래와 같이 하고 싶은데요. 안되어서.. 다 풀어서 써야 할 것 같은데, 혹시 예스에서 좀 더 편하게 할 수 있는 방법이 있을까요?
var1 = (sum( If(condition1 < 1, 1, 0), 10 ) = 10 ) and CrossUp(C, ma(c,10) and (C > O);
즉 질문이 2가지 인데요,
1) if처럼 조건문을 저 부분에 써서 1 or 0 값 반환하기
2) sum 함수를 써서 10봉의 컨디션 조건문의 합을 더하기
감사합니다.
답변 1
예스스탁
예스스탁 답변
2025-02-17 13:32:31
안녕하세요
예스스탁입니다.
1
(AccumN( Iff(condition1 == true, 1, 0), 10 ) == 10 ) and CrossUp(C, ma(c,10)) and (C > O);
if는 iff함수로, sum은 accumn함수를 대체하시면 됩니다.
또한 예스랭귀지는 조건이 만족하면 1 아니면 0을 리턴하지 않습니다.
조건이 만족하면 true, 아니면 false입니다.
condition1 < 1 도 condition1 == true로 표현하셔야 합니다.
2
위 내용은 조건문입니다.
조건은 true나 false로 리턴되므로 var1과 같은 숫자형변수에 저장이 되지 않습니다.
var : cond(False);
Cond = (AccumN( Iff(condition1 == False, 1, 0), 10 ) == 10 ) and CrossUp(C, ma(c,10)) and (C > O);
즐거운 하루되세요
> 롬롬7 님이 쓴 글입니다.
> 제목 : 지표 변환 문의
> 안녕하세요?
다른 시스템 로직에서 지표를 변환하다보니, 아래와 같이 하고 싶은데요. 안되어서.. 다 풀어서 써야 할 것 같은데, 혹시 예스에서 좀 더 편하게 할 수 있는 방법이 있을까요?
var1 = (sum( If(condition1 < 1, 1, 0), 10 ) = 10 ) and CrossUp(C, ma(c,10) and (C > O);
즉 질문이 2가지 인데요,
1) if처럼 조건문을 저 부분에 써서 1 or 0 값 반환하기
2) sum 함수를 써서 10봉의 컨디션 조건문의 합을 더하기
감사합니다.