커뮤니티

문의드립니다..

프로필 이미지
Redstorm
2013-01-04 04:16:35
295
글번호 57796
답변완료

첨부 이미지

어제 답변주신게 조금 부족합니다. 아. 이렇게도 해보고 저렇게도 해보는데.. 잘안되네요.. 이격도로 범위선정을 하려고합니다. 분봉에서의 이격도 계산법은 다른건가요? 이격도 99.05~100.05에서는 진입하지 않는다.. condition 사용하는 경우와 직접입력하는 방식으로 두가지 수식 부탁드립니다. 하기처럼 적용시 condition1에 상관없이 거래가이루어 집니다. IF CONDITION1=True AND CrossUp(C,UPPER) 그리고 이문장에서 condition1과 crossup 순서가 바뀌게되면 첨부파일과같은 error가 발생합니다. 왜그런 것인가요?? 수고하세요. Input : Period(10),Dup(101),Ddn(99); var : DParity(0) ; DParity = (Disparity(Period)); condition1 = 99.05 < DPARITY OR Dparity < 100.05 ; IF CONDITION1=True AND CrossUp(C,UPPER) Then BUY(); IF CONDITION1=TRUE AND CrossDown(C,LOWER)THEN SELL();
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2013-01-04 09:45:19

안녕하세요 예스스탁입니다. 1. 식상 UPPER와 LOWER는 외부변수나 내부변수로 선언되지 않은 단어입니다. 2, 예스랭귀지에서 =은 할당연산자입니다. 오른쪽의 값을 왼쪽 변수에 저장합니다. 같다를 나타내실때는 ==을 사용하셔야 합니다. 3. 이격도가 100.05이상이거나 99.05 미만일때 condition1에 true가 할당되고 해당값 사이에 있을때는 false를 저장하고자 하시면 아래와 같이 변경하셔야 합니다. condition1 = 99.05 > DPARITY or Dparity > 100.05 ; 4, 수정한 식입니다. Input : Period(10),Dup(101),Ddn(99); var : DParity(0) ; DParity = (Disparity(Period)); condition1 = 99.05 > DPARITY or Dparity > 100.05 ; IF CONDITION1==True and CrossUp(C,Dup) Then BUY(); IF CONDITION1==TRUE AND CrossDown(C,Ddn)THEN SELL(); 즐거운 하루되세요 > Redstorm 님이 쓴 글입니다. > 제목 : 문의드립니다.. > 어제 답변주신게 조금 부족합니다. 아. 이렇게도 해보고 저렇게도 해보는데.. 잘안되네요.. 이격도로 범위선정을 하려고합니다. 분봉에서의 이격도 계산법은 다른건가요? 이격도 99.05~100.05에서는 진입하지 않는다.. condition 사용하는 경우와 직접입력하는 방식으로 두가지 수식 부탁드립니다. 하기처럼 적용시 condition1에 상관없이 거래가이루어 집니다. IF CONDITION1=True AND CrossUp(C,UPPER) 그리고 이문장에서 condition1과 crossup 순서가 바뀌게되면 첨부파일과같은 error가 발생합니다. 왜그런 것인가요?? 수고하세요. Input : Period(10),Dup(101),Ddn(99); var : DParity(0) ; DParity = (Disparity(Period)); condition1 = 99.05 < DPARITY OR Dparity < 100.05 ; IF CONDITION1=True AND CrossUp(C,UPPER) Then BUY(); IF CONDITION1=TRUE AND CrossDown(C,LOWER)THEN SELL();