커뮤니티

오류 수정 요청

프로필 이미지
이대표
2019-06-28 16:11:24
179
글번호 129861
답변완료
아래 시스템식중 ①②③에서 연산자 앞뒤 두 데이터의 형태가 같아야 합니다. 라고 오류가 뜨는데 그 이유를 알고 싶습니다. ================================================================================ 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); 정배열 =단기이평>중기이평 and 중기이평>장기이평;//① 역배열 =단기이평<중기이평 and 중기이평<장기이평;//② 최대=max(단기이평,중기이평,장기이평); 최소=min(단기이평,중기이평,장기이평); 이평수렴 =최대[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(청산조건==1and!정배열)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
프로필 이미지

예스스탁 예스스탁 답변

2019-06-28 16:28:28

안녕하세요 예스스탁입니다. 1 정배열, 역배열, 이평수렴은 모두 조건만족하면 true 아니면 false가 저장됩니다. 변수 선언시에 해당 변수에 숫자를 할당하면 (0)과 같이 초기값을 숫자로 지정하고 변수에 논리값이 저장되면 초기값을 false로 지정하셔야 합니다. 2 accumn은 n개봉 동안 숫자값을 저장하는 변수입니다. n개봉 동안 조건만족 횟수는 countif함수를 이용하셔야 합니다. 3 수정한 식입니다. input:shortPeriod(5),midPeriod(10),longPeriod(20),Percent(1),수렴조건(2),청산조건(1); var:단기이평(0),중기이평(0),장기이평(0),정배열(false),역배열(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(청산조건==1and!정배열)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(); 즐거운 하루되세요 > 이대표 님이 쓴 글입니다. > 제목 : 오류 수정 요청 > 아래 시스템식중 ①②③에서 연산자 앞뒤 두 데이터의 형태가 같아야 합니다. 라고 오류가 뜨는데 그 이유를 알고 싶습니다. ================================================================================ 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); 정배열 =단기이평>중기이평 and 중기이평>장기이평;//① 역배열 =단기이평<중기이평 and 중기이평<장기이평;//② 최대=max(단기이평,중기이평,장기이평); 최소=min(단기이평,중기이평,장기이평); 이평수렴 =최대[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(청산조건==1and!정배열)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();