커뮤니티

수식 작성 부탁드려요

프로필 이미지
프로투자자
2017-01-27 00:32:08
120
글번호 106336
답변완료
input : 당일진입횟수(1),P(9); var : cnt(0),count(0),RSIv(0); count = 0; for cnt = 0 to 20{ if sdate == EntryDate(cnt) Then count = count+1; } RSIv = RSI(P); if date != date[1] Then Condition1 = false; if RSIV >= 80 Then Condition1 = true; if stime < 145000 and count < 당일진입횟수 and dayopen >= DayClose(1)*1.10 and dayopen < DayClose(1)*1.20 and Condition1 == false Then buy("b",AtMarket); 위의 수식을 3틱 차트에서 적용시킬건데요. RSI(9)정보는 3분봉차트에서 활성화될 시 나오는 RSI(9)수치를 가져와서 이 수식에서 RSI가 80이 넘는지를 판단하도록 하려면 어떤 수식을 바꿔줘야 되나요? 3틱 차트에서 3분봉 RSI(9)정보를 불러와서 그걸 RSI기준으로 적용되도록 하는건 불가능한가요?
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2017-01-31 10:16:16

안녕하세요 예스스탁입니다. 문의하신 내용은 10틱이하의 차트에서는 참조데이터를 이용하실수 없어 수식에서 직접 계산해야 하는데 틱차트에서는 분봉이 지표값이 정확히 계산이 되지 않습니다. 아래는 최대한 근사값이 나오게 작성한 식입니다. input : 당일진입횟수(1),P(9); var : cnt(0),count(0); Var : DownAmt(0), UpAmt(0), UpSum(0), DownSum(0), UpAvg(0), DownAvg(0); var : Dindex(0), PreUpAvg(0), preDownAvg(0),TF(0),RSIV(0); Array : CC[100](0); TF = TimeToMinutes(stime)%3; if date != date[1] or (date == date[1] and TF < TF[1]) Then{ for cnt = 1 to 99{ CC[cnt] = CC[cnt-1][1]; } PreUpAvg = UpAvg[1]; preDownAvg = DownAvg[1]; Dindex = dindex + 1; } CC[0] = C; If Dindex == P Then Begin UpSum = 0; DownSum = 0; For cnt = 0 To P - 1 Begin UpAmt = CC[cnt] - CC[cnt+1]; If UpAmt >= 0 Then DownAmt = 0; Else Begin DownAmt = -UpAmt; UpAmt = 0; End; UpSum = UpSum + UpAmt; DownSum = DownSum + DownAmt; End; UpAvg = UpSum / P; DownAvg = DownSum / P; End If Dindex > P Then { UpAmt = CC[0]-CC[1]; If UpAmt >= 0 Then DownAmt = 0; Else { DownAmt = -UpAmt; UpAmt = 0; } if Dindex <=1 Then { UpAvg = 1; DownAvg = 1; } Else { UpAvg = (PreUpAvg * (P - 1) + UpAmt) / P; DownAvg = (preDownAvg * (P - 1) + DownAmt) / P; } } If UpAvg + DownAvg <> 0 Then RSIv = 100 * UpAvg / (UpAvg + DownAvg); Else RSIv = 0; count = 0; for cnt = 0 to 20{ if sdate == EntryDate(cnt) Then count = count+1; } if date != date[1] Then Condition1 = false; if RSIV >= 80 Then Condition1 = true; if stime < 145000 and count < 당일진입횟수 and dayopen >= DayClose(1)*1.10 and dayopen < DayClose(1)*1.20 and Condition1 == false Then buy("b",AtMarket); 즐거운 하루되세요 > 프로투자자 님이 쓴 글입니다. > 제목 : 수식 작성 부탁드려요 > input : 당일진입횟수(1),P(9); var : cnt(0),count(0),RSIv(0); count = 0; for cnt = 0 to 20{ if sdate == EntryDate(cnt) Then count = count+1; } RSIv = RSI(P); if date != date[1] Then Condition1 = false; if RSIV >= 80 Then Condition1 = true; if stime < 145000 and count < 당일진입횟수 and dayopen >= DayClose(1)*1.10 and dayopen < DayClose(1)*1.20 and Condition1 == false Then buy("b",AtMarket); 위의 수식을 3틱 차트에서 적용시킬건데요. RSI(9)정보는 3분봉차트에서 활성화될 시 나오는 RSI(9)수치를 가져와서 이 수식에서 RSI가 80이 넘는지를 판단하도록 하려면 어떤 수식을 바꿔줘야 되나요? 3틱 차트에서 3분봉 RSI(9)정보를 불러와서 그걸 RSI기준으로 적용되도록 하는건 불가능한가요?