커뮤니티

수식 요청드립니다.

프로필 이미지
짜짜로니
2024-01-09 17:34:18
651
글번호 175584
답변완료
1. 10거래일 동안 최근 3개래일은 제외하고, 2. 3개래일 부터 10거래일까지 양봉이면 종가, 음봉이면 시가를 확인하고, 3. 현재 양봉일때 2번의 가격을 돌파하는 검색식을 짜고 싶습니다. 아래와 같이 했는데, 잘 안되는것 같아서요.. -------------------------------------------------------------------------- Input : 기간(10) , 최근제외기간(3) ; var : cnt(0) , openVal(0) , closeVal(0) , openVal2(0) , closeVal2(0) , closeHighVal(0) , closeHighVal2(0) , bongIdx(1) ; // 해당 기간 중 최고가 추출 (시가/종가) openVal = NthHighest(bongIdx, O, 기간)[1]; closeVal = NthHighest(bongIdx, C, 기간)[1]; if ( openVal >= closeVal ) Then { closeHighVal = openVal; } Else{ closeHighVal = closeVal; } // 해당 기간 제외 For cnt = 1 to 최근제외기간 { openVal2 = Highest(O, 최근제외기간)[1]; closeVal2 = Highest(C, 최근제외기간)[1]; if ( openVal2 >= closeVal2 ) Then { closeHighVal2 = openVal2; } Else{ closeHighVal2 = closeVal2; } if ( closeHighVal <= closeHighVal2 ) Then { bongIdx = bongIdx + 1; } } 해당기간 중 몇번째 최고가 if ( bongIdx > 1 ) Then { openVal = NthHighest(bongIdx, O, 기간)[1]; closeVal = NthHighest(bongIdx, C, 기간)[1]; if ( openVal >= closeVal ) Then { closeHighVal = openVal; } Else{ closeHighVal = closeVal; } } If ( C > O and closeHighVal >= O and closeHighVal < C ) Then { Find(1); } 답변 부탁드립니다. 수고하세요~
검색
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2024-01-10 17:47:44

안녕하세요 예스스탁입니다. 1 [3개래일 부터 10거래일까지 양봉이면 종가, 음봉이면 시가를 확인하고,] 3~10거래일까지 봉의 종가나 시가를 확인이 어떤 의미인지 알수 없습니다. 몸통상단 중 최고값을 저장하게 작성해 드립니다. 2 올리신 수식에 수정해드리기는 어려워 별도식으로 작성해드립니다. 참고하셔서 기존식에 추가하시기 바랍니다. 3 var : cnt(0),bodytop(0); #3봉전~10봉전 봉의 몸통의 상단 중 가장 큰 값을 저장 bodytop = 0; For cnt = 3 to 10 { if bodytop == 0 or (bodytop > 0 and max(C[cnt],O[cnt]) > bodytop) Then bodytop = max(C[cnt],O[cnt]); } #돌파한 종목 검 if CrossUp(C,bodytop) Then Find(1); 즐거운 하루되세요 > 짜짜로니 님이 쓴 글입니다. > 제목 : 수식 요청드립니다. > 1. 10거래일 동안 최근 3개래일은 제외하고, 2. 3개래일 부터 10거래일까지 양봉이면 종가, 음봉이면 시가를 확인하고, 3. 현재 양봉일때 2번의 가격을 돌파하는 검색식을 짜고 싶습니다. 아래와 같이 했는데, 잘 안되는것 같아서요.. -------------------------------------------------------------------------- Input : 기간(10) , 최근제외기간(3) ; var : cnt(0) , openVal(0) , closeVal(0) , openVal2(0) , closeVal2(0) , closeHighVal(0) , closeHighVal2(0) , bongIdx(1) ; // 해당 기간 중 최고가 추출 (시가/종가) openVal = NthHighest(bongIdx, O, 기간)[1]; closeVal = NthHighest(bongIdx, C, 기간)[1]; if ( openVal >= closeVal ) Then { closeHighVal = openVal; } Else{ closeHighVal = closeVal; } // 해당 기간 제외 For cnt = 1 to 최근제외기간 { openVal2 = Highest(O, 최근제외기간)[1]; closeVal2 = Highest(C, 최근제외기간)[1]; if ( openVal2 >= closeVal2 ) Then { closeHighVal2 = openVal2; } Else{ closeHighVal2 = closeVal2; } if ( closeHighVal <= closeHighVal2 ) Then { bongIdx = bongIdx + 1; } } 해당기간 중 몇번째 최고가 if ( bongIdx > 1 ) Then { openVal = NthHighest(bongIdx, O, 기간)[1]; closeVal = NthHighest(bongIdx, C, 기간)[1]; if ( openVal >= closeVal ) Then { closeHighVal = openVal; } Else{ closeHighVal = closeVal; } } If ( C > O and closeHighVal >= O and closeHighVal < C ) Then { Find(1); } 답변 부탁드립니다. 수고하세요~