커뮤니티

부탁드립니다

프로필 이미지
왕밥빵
2023-09-12 11:35:23
824
글번호 172381
답변완료
일봉상에 사용할건데 주봉 rsi 기간 12 값 30~70, rsi 기간 14 값 30 이하 금일 종가에 매수 추가매수때는 30이하 반복시 하루한번 종가 추가매수, rsi 기간 14 값 70 이상시 매도
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2023-09-12 13:41:22

안녕하세요 예스스탁입니다. 피라미딩을 모든진입신호허용으로 설정하고 적용하시면 됩니다. Input : Period1(12),Period2(14); var : cnt(0),S1(0),D1(0),TM(0),TF1(0),idx(0); Var : DownAmt1(0), UpAmt1(0), UpSum1(0), DownSum1(0), UpAvg1(0), DownAvg1(0),PreUpAvg1(0), preDownAvg1(0),RSI1(0); Var : DownAmt2(0), UpAmt2(0), UpSum2(0), DownSum2(0), UpAvg2(0), DownAvg2(0),PreUpAvg2(0), preDownAvg2(0),RSI2(0); Array : C1[100](0); if DayOfWeek(Bdate) < DayOfWeek(Bdate[1]) Then { for cnt = 99 downto 1 { C1[cnt] = C1[cnt-1]; } PreUpAvg1 = UpAvg1[1]; preDownAvg1 = DownAvg1[1]; PreUpAvg2 = UpAvg2[1]; preDownAvg2 = DownAvg2[1]; idx = idx + 1; } C1[0] = C; If idx == Period1+2 Then { UpSum1 = 0; DownSum1 = 0; For cnt = 0 To Period1 - 1 { UpAmt1 = C1[cnt] - C1[cnt+1]; If UpAmt1 >= 0 Then DownAmt1 = 0; Else { DownAmt1 = -UpAmt1; UpAmt1 = 0; } UpSum1 = UpSum1 + UpAmt1; DownSum1 = DownSum1 + DownAmt1; } UpAvg1 = UpSum1 / Period1; DownAvg1 = DownSum1 / Period1; } If idx > Period1+2 Then { UpAmt1 = C1[0] - C1[1]; If UpAmt1 >= 0 Then DownAmt1 = 0; Else { DownAmt1 = -UpAmt1; UpAmt1 = 0; } UpAvg1 = (PreUpAvg1 * (Period1 - 1) + UpAmt1) / Period1; DownAvg1 = (preDownAvg1 * (Period1 - 1) + DownAmt1) / Period1; } If UpAvg1 + DownAvg1 <> 0 Then RSI1 = 100 * UpAvg1 / (UpAvg1 + DownAvg1); Else RSI1 = 0; If idx == Period2+2 Then { UpSum2 = 0; DownSum2 = 0; For cnt = 0 To Period2 - 1 { UpAmt2 = C1[cnt] - C1[cnt+1]; If UpAmt2 >= 0 Then DownAmt2 = 0; Else { DownAmt2 = -UpAmt2; UpAmt2 = 0; } UpSum2 = UpSum2 + UpAmt2; DownSum2 = DownSum2 + DownAmt2; } UpAvg2 = UpSum2 / Period2; DownAvg2 = DownSum2 / Period2; } If idx > Period1+2 Then { UpAmt2 = C1[0] - C1[1]; If UpAmt2 >= 0 Then DownAmt2 = 0; Else { DownAmt2 = -UpAmt2; UpAmt2 = 0; } UpAvg2 = (PreUpAvg2 * (Period2 - 1) + UpAmt2) / Period2; DownAvg2 = (preDownAvg2 * (Period2 - 1) + DownAmt2) / Period2; } If UpAvg2 + DownAvg2 <> 0 Then RSI2 = 100 * UpAvg2 / (UpAvg2 + DownAvg2); Else RSI2 = 0; if RSI1 >= 30 and RSI1 <= 70 and RSI2 <= 30 Then Buy("b"); if MarketPosition == 1 Then { if RSI2 >= 70 Then ExitLong(); } 즐거운 하루되세요 > 왕밥빵 님이 쓴 글입니다. > 제목 : 부탁드립니다 > 일봉상에 사용할건데 주봉 rsi 기간 12 값 30~70, rsi 기간 14 값 30 이하 금일 종가에 매수 추가매수때는 30이하 반복시 하루한번 종가 추가매수, rsi 기간 14 값 70 이상시 매도