커뮤니티

RSI(일봉기준) 8일 기준 및 14일 기준 교집합 수식 부탁드려요~~

프로필 이미지
이형지
2020-04-03 09:20:12
468
글번호 137481
답변완료
항상 감사드림니다. 수식 문의 1.해외선물 오일(나스닥) 2. 분봉 30분봉 3. 매수 조건 (교집합) (1) RSI(7) < 30 (2) 심리도(7) < 30 (3) 일봉RSI(8) > 일봉RSI(14) (4) 일봉RSI(10) 이 40-80 구간일때 4. 매도 조건 (교집합) (1) RSI(7) > 70 (2) 심리도(7) > 70 (3) 일봉RSI(8) < 일봉RSI(14) (4) 일봉RSI(10) 이 15-40 구간일때
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2020-04-03 16:11:56

안녕하세요 예스스탁입니다. Input :Length(7),Length1(9),Length2(10),Length3(14),simPeriod(7); var : cnt(0),idx(0),RSIV(0),sim(0); var : SigSum1(0),DownAmt1(0), UpAmt1(0), UpSum1(0), DownSum1(0), UpAvg1(0), DownAvg1(0); var : PreUpAvg1(0), preDownAvg1(0),RSIV1(0); var : SigSum2(0),DownAmt2(0), UpAmt2(0), UpSum2(0), DownSum2(0), UpAvg2(0), DownAvg2(0); var : PreUpAvg2(0), preDownAvg2(0),RSIV2(0); var : SigSum3(0),DownAmt3(0), UpAmt3(0), UpSum3(0), DownSum3(0), UpAvg3(0), DownAvg3(0); var : PreUpAvg3(0), preDownAvg3(0),RSIV3(0); Array : DC[100](0); if Bdate != Bdate[1] Then { idx = idx + 1; for cnt = 1 to 99 { DC[cnt] = DC[cnt-1][1]; } PreUpAvg1 = UpAvg1[1]; preDownAvg1 = DownAvg1[1]; PreUpAvg2 = UpAvg2[1]; preDownAvg2 = DownAvg2[1]; PreUpAvg3 = UpAvg3[1]; preDownAvg3 = DownAvg3[1]; } DC[0] = C; If idx == Length1+2 Then { UpSum1 = 0; DownSum1 = 0; For cnt = 0 To Length1 - 1 { UpAmt1 = DC[cnt] - DC[cnt+1]; If UpAmt1 >= 0 Then DownAmt1 = 0; Else { DownAmt1 = -UpAmt1; UpAmt1 = 0; } UpSum1 = UpSum1 + UpAmt1; DownSum1 = DownSum1 + DownAmt1; } UpAvg1 = UpSum1/ Length1; DownAvg1 = DownSum1/ Length1; } else If idx > Length1+2 Then { UpAmt1 = DC[0] - DC[1]; If UpAmt1 >= 0 Then DownAmt1 = 0; Else { DownAmt1 = -UpAmt1; UpAmt1 = 0; } UpAvg1 = (PreUpAvg1 * (Length1 - 1) + UpAmt1) / Length1; DownAvg1 = (preDownAvg1 * (Length1 - 1) + DownAmt1) / Length1; } If UpAvg1 + DownAvg1 <> 0 Then RSIv1 = 100 * UpAvg1 / (UpAvg1 + DownAvg1); Else RSIv1 = 0; If idx == Length2+2 Then { UpSum2 = 0; DownSum2 = 0; For cnt = 0 To Length2 - 1 { UpAmt2 = DC[cnt] - DC[cnt+1]; If UpAmt2 >= 0 Then DownAmt2 = 0; Else { DownAmt2 = -UpAmt2; UpAmt2 = 0; } UpSum2 = UpSum2 + UpAmt2; DownSum2 = DownSum2 + DownAmt2; } UpAvg2 = UpSum2/ Length2; DownAvg2 = DownSum2/ Length2; } else If idx > Length2+2 Then { UpAmt2 = DC[0] - DC[1]; If UpAmt2 >= 0 Then DownAmt2 = 0; Else { DownAmt2 = -UpAmt2; UpAmt2 = 0; } UpAvg2 = (PreUpAvg2 * (Length2 - 1) + UpAmt2) / Length2; DownAvg2 = (preDownAvg2 * (Length2 - 1) + DownAmt2) / Length2; } If UpAvg2 + DownAvg2 <> 0 Then RSIv2 = 100 * UpAvg2 / (UpAvg2 + DownAvg2); Else RSIv2 = 0; If idx == Length3+2 Then { UpSum3 = 0; DownSum3 = 0; For cnt = 0 To Length3 - 1 { UpAmt3 = DC[cnt] - DC[cnt+1]; If UpAmt3 >= 0 Then DownAmt3 = 0; Else { DownAmt3 = -UpAmt3; UpAmt3 = 0; } UpSum3 = UpSum3 + UpAmt3; DownSum3 = DownSum3 + DownAmt3; } UpAvg3 = UpSum3/ Length3; DownAvg3 = DownSum3/ Length3; } else If idx > Length3+2 Then { UpAmt3 = DC[0] - DC[1]; If UpAmt3 >= 0 Then DownAmt3 = 0; Else { DownAmt3 = -UpAmt3; UpAmt3 = 0; } UpAvg3 = (PreUpAvg3 * (Length3 - 1) + UpAmt3) / Length3; DownAvg3 = (preDownAvg3 * (Length3 - 1) + DownAmt3) / Length3; } If UpAvg3 + DownAvg3 <> 0 Then RSIv3 = 100 * UpAvg3 / (UpAvg3 + DownAvg3); Else RSIv3 = 0; RSIV = RSI(Length); sim = Simrido(simPeriod); if RSIV < 30 and sim < 30 and RSIV1 > RSIV3 and RSIV2 >= 40 and RSIV2 <= 80 Then buy(); if RSIV > 70 and sim > 70 and RSIV1 < RSIV3 and RSIV2 >= 15 and RSIV2 <= 40 Then sell(); 즐거운 하루되세요 > 이형지 님이 쓴 글입니다. > 제목 : RSI(일봉기준) 8일 기준 및 14일 기준 교집합 수식 부탁드려요~~ > 항상 감사드림니다. 수식 문의 1.해외선물 오일(나스닥) 2. 분봉 30분봉 3. 매수 조건 (교집합) (1) RSI(7) < 30 (2) 심리도(7) < 30 (3) 일봉RSI(8) > 일봉RSI(14) (4) 일봉RSI(10) 이 40-80 구간일때 4. 매도 조건 (교집합) (1) RSI(7) > 70 (2) 심리도(7) > 70 (3) 일봉RSI(8) < 일봉RSI(14) (4) 일봉RSI(10) 이 15-40 구간일때