커뮤니티

문의드립니다.~

프로필 이미지
겐지
2018-07-12 20:26:20
162
글번호 120542
답변완료
input : 분주기(30),P(5),분주기1(15),분주기2(5); var : S1(0),D1(0),TM(0),TF(0); var : cnt(0),sum(0),mav(0),tf1(0),TFF(0),entry(false),tf2(0); Array : CC[100](0),OO[100](0),HH[100](0),LL[100](0),TT[100](0),ii[100](0),O2[100](0); Array : C1[100](0),T1[100](0); if (sdate != sdate[1] and stime >= 100000) or (sdate == sdate[1] and (Stime == 100000 or (stime > 100000 and stime[1] < 100000))) Then{ S1 = TimeToMinutes(100000); D1 = sdate; } if D1 > 0 then{ if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TFF = TM%60; TF = TM%분주기; if (sdate != sdate[1] and stime >= 100000) or (sdate == sdate[1] and (Stime == 100000 or (stime > 100000 and stime[1] < 100000))) or (TF < TF[1]) Then{ OO[0] = o; HH[0] = H; LL[0] = L; TT[0] = stime; ii[0] = 0; for cnt = 1 to 99{ OO[cnt] = OO[cnt-1][1]; HH[cnt] = HH[cnt-1][1]; LL[cnt] = LL[cnt-1][1]; CC[cnt] = CC[cnt-1][1]; TT[cnt] = TT[cnt-1][1]; ii[cnt] = ii[cnt-1][1]; } } if H > HH[0] Then HH[0] = H; if L < LL[0] Then LL[0] = L; CC[0] = C; ii[0] = ii[0]+1; TF1 = TM%분주기1; if (sdate != sdate[1] and stime >= 100000) or (sdate == sdate[1] and (Stime == 100000 or (stime > 100000 and stime[1] < 100000))) or (TF1 < TF1[1]) Then{ T1[0] = stime; for cnt = 1 to 99{ C1[cnt] = C1[cnt-1][1]; T1[cnt] = T1[cnt-1][1]; } } C1[0] = C; TF2 = TM%분주기2; if (sdate != sdate[1] and stime >= 100000) or (sdate == sdate[1] and (Stime == 100000 or (stime > 100000 and stime[1] < 100000))) or (TF2 < TF2[1]) Then{ O2[0] = o; for cnt = 1 to 99{ O2[cnt] = O2[cnt-1][1]; } } } 질문사항: 항생에서 30분봉의 5일이평선을 구할려고 합니다.~ 위 식을 가지고 var72 = (c+oo[0]+oo[1]+oo[2]+oo[3])/5 ; 이렇게 해서 30분봉의 5일이평선을 구하게 되면은 나스닥은 괜찮은데 항생에서 문제가 있거든요.. 영웅문w 그림에서 보면은 전날 새벽1시30분부터 시작된 30분봉이 새벽1시30분~새벽2시 사이에 완성이 되고 그리고나서 새로운30분봉은 다음날 항생시가~10시30분까지완성된 봉으로 나타납니다. 따라서 만약10시50분에 30분봉의5일이평선을 구할려면 10시50분의종가+10시30분종가+전일새벽2시경종가+전일새벽1시30분종가+전일새벽1시종가/5 이렇게 구해야 되는데 즉 영웅문w그림에서 30분봉의5개의 평균으로 구해야 되는데 문제점이 그림에서 보면은 항생시가가격으로 분주기표현식에 표현이 되어서 10시15분의 종가 가격이 포함이 되면 안되는데 포함되어버리는 부분이랑 전일의1시30분~2시까지의 30분봉의 종가가격도 분주기표현식에 포함이 안되는걸로 계산이 되더라구요. 계산해 보면은 전일1시30분종가가격 다음에 바로 당일10시15분종가가격으로 계산이 되는 문제점이 있습니다. 이부분 해결할 방법이 있을까요? 즉 분주기표현식으로 10시50분에 30분봉의 5일이평선가격을 구할때에 위에 표현해 놓은대로 10시50분종가+10시30분종가+전일새벽2시경종가+전일새벽1시30분종가+전일1시종가/5 이렇게 적용할 수 있는 방법이 있을까요? 10시30분부터 30분봉의5개봉이 지나는 시점부터는 문제가 없습니다. 그리고 이전문의 식 구해주셔서 너무너무 감사합니다ㅜ 매번 도움주셔서 너무 감사한 마음이에요~ //////////////////// 이전질문과 동일한 내용이구요. 수정해 주신식으로 적용해 보니 원하는대로 나옵니다. 그런데 문제가 전일1시30~2시까지 봉이 틱봉으로 계산되는거라 어떤날은 2시경에 틱봉이 완성봉이 나오면 다음날 시초가가 반영이 안되고 바로 10시30분으로 넘어오는데 어떤날은 2시경에 틱봉이 완성이 안되면 다음날시초가로 전일의 1시30분봉의 완성봉이 넘어와 버려서요` 얘기해 주신대로 당일시작가격을10시30분으로 하고 전일끝나는 시간을1시50분으로 매일 고정해서 사용할 수 는 없을까요? 즉 1시30분에 시작되어서 2시에 완성되는 봉은 1시50분에 끝나고 이후로 다시 오전10시30분부터 시작되는걸로요~ 상관은 없지만 이전식에서 전일12시봉이 생성되지 않아서 위 식으로 다시 문의드립니다 분주기식은 여러번 봤는데 이해하기가 어려워서요 손을 못대겠습니다. 위 식에서 30분 분주기만 사용할려면 TF = TM%분주기; ->이거밑으로는 그냥 삭제하고 사용하면 되는거죠? 30분 분주기만 해서 적용부탁드립니다. 감사합니다.~
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2018-07-13 11:46:32

안녕하세요 예스스탁입니다. 1 계산을 10시 이후부터 다음날 1시 50분봉 이전까지만 사용하게 하셔야 할것 같습니다. input : 분주기(30),P(5); var : S1(0),D1(0),TM(0),TF(0); var : cnt(0),sum(0),mav(0); Array : CC[100](0),OO[100](0),HH[100](0),LL[100](0); if (sdate != sdate[1] and stime >= 100000) or (sdate == sdate[1] and Stime >= 100000 and stime[1] < 100000) Then{ S1 = TimeToMinutes(100000); D1 = sdate; } if D1 > 0 then{ if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; if stime >= 100000 or stime < 015000 then { TF = TM%분주기; if (sdate != sdate[1] and stime >= 103000) or (sdate == sdate[1] and stime >= 103000 and stime[1] < 103000) or (Sdate == sdate[1] and TF < TF[1]) Then { OO[0] = o; HH[0] = H; LL[0] = L; for cnt = 1 to 99 { OO[cnt] = OO[cnt-1][1]; HH[cnt] = HH[cnt-1][1]; LL[cnt] = LL[cnt-1][1]; CC[cnt] = CC[cnt-1][1]; } } if H > HH[0] Then HH[0] = H; if L < LL[0] Then LL[0] = L; CC[0] = C; } if CC[P-1] > 0 then { sum = 0; for cnt = 0 to P-1 { sum = sum + CC[cnt]; } mav = sum/P; plot1(mav); } } 2 30분 주기만 사용하고자 하시면 TF1 = TM%분주기1; 이하를 모두 지우시면 됩니다. 즐거운 하루되세요 > 겐지 님이 쓴 글입니다. > 제목 : 문의드립니다.~ > input : 분주기(30),P(5),분주기1(15),분주기2(5); var : S1(0),D1(0),TM(0),TF(0); var : cnt(0),sum(0),mav(0),tf1(0),TFF(0),entry(false),tf2(0); Array : CC[100](0),OO[100](0),HH[100](0),LL[100](0),TT[100](0),ii[100](0),O2[100](0); Array : C1[100](0),T1[100](0); if (sdate != sdate[1] and stime >= 100000) or (sdate == sdate[1] and (Stime == 100000 or (stime > 100000 and stime[1] < 100000))) Then{ S1 = TimeToMinutes(100000); D1 = sdate; } if D1 > 0 then{ if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TFF = TM%60; TF = TM%분주기; if (sdate != sdate[1] and stime >= 100000) or (sdate == sdate[1] and (Stime == 100000 or (stime > 100000 and stime[1] < 100000))) or (TF < TF[1]) Then{ OO[0] = o; HH[0] = H; LL[0] = L; TT[0] = stime; ii[0] = 0; for cnt = 1 to 99{ OO[cnt] = OO[cnt-1][1]; HH[cnt] = HH[cnt-1][1]; LL[cnt] = LL[cnt-1][1]; CC[cnt] = CC[cnt-1][1]; TT[cnt] = TT[cnt-1][1]; ii[cnt] = ii[cnt-1][1]; } } if H > HH[0] Then HH[0] = H; if L < LL[0] Then LL[0] = L; CC[0] = C; ii[0] = ii[0]+1; TF1 = TM%분주기1; if (sdate != sdate[1] and stime >= 100000) or (sdate == sdate[1] and (Stime == 100000 or (stime > 100000 and stime[1] < 100000))) or (TF1 < TF1[1]) Then{ T1[0] = stime; for cnt = 1 to 99{ C1[cnt] = C1[cnt-1][1]; T1[cnt] = T1[cnt-1][1]; } } C1[0] = C; TF2 = TM%분주기2; if (sdate != sdate[1] and stime >= 100000) or (sdate == sdate[1] and (Stime == 100000 or (stime > 100000 and stime[1] < 100000))) or (TF2 < TF2[1]) Then{ O2[0] = o; for cnt = 1 to 99{ O2[cnt] = O2[cnt-1][1]; } } } 질문사항: 항생에서 30분봉의 5일이평선을 구할려고 합니다.~ 위 식을 가지고 var72 = (c+oo[0]+oo[1]+oo[2]+oo[3])/5 ; 이렇게 해서 30분봉의 5일이평선을 구하게 되면은 나스닥은 괜찮은데 항생에서 문제가 있거든요.. 영웅문w 그림에서 보면은 전날 새벽1시30분부터 시작된 30분봉이 새벽1시30분~새벽2시 사이에 완성이 되고 그리고나서 새로운30분봉은 다음날 항생시가~10시30분까지완성된 봉으로 나타납니다. 따라서 만약10시50분에 30분봉의5일이평선을 구할려면 10시50분의종가+10시30분종가+전일새벽2시경종가+전일새벽1시30분종가+전일새벽1시종가/5 이렇게 구해야 되는데 즉 영웅문w그림에서 30분봉의5개의 평균으로 구해야 되는데 문제점이 그림에서 보면은 항생시가가격으로 분주기표현식에 표현이 되어서 10시15분의 종가 가격이 포함이 되면 안되는데 포함되어버리는 부분이랑 전일의1시30분~2시까지의 30분봉의 종가가격도 분주기표현식에 포함이 안되는걸로 계산이 되더라구요. 계산해 보면은 전일1시30분종가가격 다음에 바로 당일10시15분종가가격으로 계산이 되는 문제점이 있습니다. 이부분 해결할 방법이 있을까요? 즉 분주기표현식으로 10시50분에 30분봉의 5일이평선가격을 구할때에 위에 표현해 놓은대로 10시50분종가+10시30분종가+전일새벽2시경종가+전일새벽1시30분종가+전일1시종가/5 이렇게 적용할 수 있는 방법이 있을까요? 10시30분부터 30분봉의5개봉이 지나는 시점부터는 문제가 없습니다. 그리고 이전문의 식 구해주셔서 너무너무 감사합니다ㅜ 매번 도움주셔서 너무 감사한 마음이에요~ //////////////////// 이전질문과 동일한 내용이구요. 수정해 주신식으로 적용해 보니 원하는대로 나옵니다. 그런데 문제가 전일1시30~2시까지 봉이 틱봉으로 계산되는거라 어떤날은 2시경에 틱봉이 완성봉이 나오면 다음날 시초가가 반영이 안되고 바로 10시30분으로 넘어오는데 어떤날은 2시경에 틱봉이 완성이 안되면 다음날시초가로 전일의 1시30분봉의 완성봉이 넘어와 버려서요` 얘기해 주신대로 당일시작가격을10시30분으로 하고 전일끝나는 시간을1시50분으로 매일 고정해서 사용할 수 는 없을까요? 즉 1시30분에 시작되어서 2시에 완성되는 봉은 1시50분에 끝나고 이후로 다시 오전10시30분부터 시작되는걸로요~ 상관은 없지만 이전식에서 전일12시봉이 생성되지 않아서 위 식으로 다시 문의드립니다 분주기식은 여러번 봤는데 이해하기가 어려워서요 손을 못대겠습니다. 위 식에서 30분 분주기만 사용할려면 TF = TM%분주기; ->이거밑으로는 그냥 삭제하고 사용하면 되는거죠? 30분 분주기만 해서 적용부탁드립니다. 감사합니다.~