커뮤니티

수식 부탁드립니다.

프로필 이미지
소나기
2024-06-22 13:08:28
681
글번호 180877
답변완료
안녕히세요 수고에 감사드립니다. 1. 아래는 RSI지표인데요, 1분봉차트 지표에 30분봉의 RSI지표를 구현하고 싶습니다. 1분봉차트만 보고서도 직관적으로 30분봉의 RSI상황을 직관적으로 보고 싶어서요. 1분봉차트를 보고서도 30분봉 차트의 RSI지표의 과열과 침체를 알 수 있게요. 기준선70이상과 기준선30이하에 빨강색 파랑색으로 색깔을 넣을 수도 있는지요... 가능하시면 도움 부탁드리겠습니다. Input : Period(9); var : Relative(0); Relative = RSI(Period); Plot1(Relative, "RSI"); PlotBaseLine1(30, "기준선 30"); PlotBaseLine2(50, "기준선 50"); PlotBaseLine3(70, "기준선 70"); 2. 아래는 알려주신 수식을 조합해서 작성해 보았는데요. RSI > 70인 첫봉이 출현후 검색시점 현재까지 연속으로 RSI > 70상태를 유지하는 종목을 찾는 검색식인데 검증을 부탁드립니다. Input : Period(9); var : Relative(0) ,T(0); Relative = RSI(Period); if sDate != sDate[1] Then T = 0; If T == 0 and Relative > 70 Then T = 1; if T == 1 and Relative < 70 Then T = -1; if t == 1 Then Find(1); 늘 감사드립니다~ 수고하십시오!!
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2024-06-24 11:24:51

안녕하세요 예스스탁입니다. 1 지표사이의 채우기는 수식안에서 가능하지 않습니다. 지표속성창의 차트표시탭에서 채우기 기능 이용해서 설정하셔야 합니다. Input : 타주기분(5), Length(14); var : cnt(0),S1(0),D1(0),TM(0),TF(0); var : SigSum(0),count2(0),RSIsig(0); Var : Counter(0), DownAmt(0), UpAmt(0), UpSum(0), DownSum(0), UpAvg(0), DownAvg(0); var : idx(0), PreUpAvg(0), preDownAvg(0),RSIV(0); Array : C1[100](0); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; } if D1 > 0 then { if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF = TM%타주기분; if Bdate != Bdate[1] or (Bdate == Bdate[1] and 타주기분 > 1 and TF < TF[1]) or (Bdate == Bdate[1] and 타주기분 > 1 and TM >= TM[1]+타주기분) or (Bdate == Bdate[1] and 타주기분 == 1 and TM > TM[1]) Then { for cnt = 1 to 99{ C1[cnt] = C1[cnt-1][1]; } PreUpAvg = UpAvg[1]; preDownAvg = DownAvg[1]; idx = idx + 1; } C1[0] = C; If idx == Length+2 Then { UpSum = 0; DownSum = 0; For Counter = 0 To Length - 1 { UpAmt = C1[Counter] - C1[Counter+1]; If UpAmt >= 0 Then DownAmt = 0; Else{ DownAmt = -UpAmt; UpAmt = 0; } UpSum = UpSum + UpAmt; DownSum = DownSum + DownAmt; } UpAvg = UpSum / Length; DownAvg = DownSum / Length; } If idx > Length+2 Then { UpAmt = C1[0] - C1[1]; If UpAmt >= 0 Then DownAmt = 0; Else { DownAmt = -UpAmt; UpAmt = 0; } UpAvg = (PreUpAvg * (Length - 1) + UpAmt) / Length; DownAvg = (preDownAvg * (Length - 1) + DownAmt) / Length; } If UpAvg + DownAvg <> 0 Then RSIv = 100 * UpAvg / (UpAvg + DownAvg); Else RSIv = 0; plot1(RSIv,"RSI"); PlotBaseLine1(30, "기준선 30"); PlotBaseLine2(50, "기준선 50"); PlotBaseLine3(70, "기준선 70"); } 2 올리신 수식은 분봉이하 주기에서 70이상을 유지하는 종목을 검색하는 식입니다. 분봉주기 검색이 아니거나 분봉주기에서 당일여부 관련없을 때는 아래식 이용하시면 됩니다. Input : Period(9); var : Relative(0) ,T(0); Relative = RSI(Period); If CrossUp(Relative,70) Then T = 1; if CrossDown(Relative ,70) Then T = -1; if t == 1 Then Find(1); 즐거운 하루되세요 > 소나기 님이 쓴 글입니다. > 제목 : 수식 부탁드립니다. > 안녕히세요 수고에 감사드립니다. 1. 아래는 RSI지표인데요, 1분봉차트 지표에 30분봉의 RSI지표를 구현하고 싶습니다. 1분봉차트만 보고서도 직관적으로 30분봉의 RSI상황을 직관적으로 보고 싶어서요. 1분봉차트를 보고서도 30분봉 차트의 RSI지표의 과열과 침체를 알 수 있게요. 기준선70이상과 기준선30이하에 빨강색 파랑색으로 색깔을 넣을 수도 있는지요... 가능하시면 도움 부탁드리겠습니다. Input : Period(9); var : Relative(0); Relative = RSI(Period); Plot1(Relative, "RSI"); PlotBaseLine1(30, "기준선 30"); PlotBaseLine2(50, "기준선 50"); PlotBaseLine3(70, "기준선 70"); 2. 아래는 알려주신 수식을 조합해서 작성해 보았는데요. RSI > 70인 첫봉이 출현후 검색시점 현재까지 연속으로 RSI > 70상태를 유지하는 종목을 찾는 검색식인데 검증을 부탁드립니다. Input : Period(9); var : Relative(0) ,T(0); Relative = RSI(Period); if sDate != sDate[1] Then T = 0; If T == 0 and Relative > 70 Then T = 1; if T == 1 and Relative < 70 Then T = -1; if t == 1 Then Find(1); 늘 감사드립니다~ 수고하십시오!!