커뮤니티

타주기 관련해서 질문드립니다

프로필 이미지
yamu
2024-08-01 22:31:05
882
글번호 182176
답변완료

첨부 이미지

안녕하세요 더운 날 수고가 많으십니다 타주기 관련해서 지난번에 몇 번 여쭤봤던 지표가 있는데 계속 생각과는 다르게 결과가 나와서 여쭤봅니다 일단 궁금한건, 타주기 수식을 작성하면 예를들어 타주기 120분 으로 했으면 그 주기 보다 낮은 배수의 주기에서는 다 사용할 수 있는건가요? 5,10,20,30,60 이런식으로요.타주기 설정보다 높은 주기에서는 안된다는거죠? 그리고 지난번에 여쭤봤던 수식인데요 검토를 해봐도 잘 안맞아서 한번 더 여쭤볼게요. 답변 해주실 때 혹시 검토를 해보고 답변 주시나요? 제가 뭘 잘못 적용했나해서요. 제가 원하는거는 1. 120분봉에서의 데이터를 낮은 주기에서 표현을 하는거고 2. 120분 봉의 체결건수 (ticks) 가 20000개 이하 일때와 50000개 이상일때 각각 나눠서, 30000개 이하면 그 봉의 최저가를 나타내고, 50000개 이상일 경우 최고가를 나타내는 수식입니다 다른 주기에서 확인을 해봤을때 값이 제대로 나오지 않아서 한번 더 여쭤봅니다 **그리고 20000개 이하일때는 5봉 동안의 최저가, 5만개 이상일때는 5봉 동안의 최고가를 나타내는 수식도 알려주실 수 있을까요?? 만약 2만개 이하인 봉을 기준으로 5봉간 최저가를 구할때 그 전봉중 기준에 안맞는거는 건너뛰고 계산하는 수식도 가능한가요? 말이 좀 어려워서 그림 하나 첨부 하겠습니다. 안된다면 그냥 5봉내의 최저가를 구하는 식을 알려주셔도 됩니다 여러번 번거롭지만 부탁드립니다 알려주신 수식: input : 타주기분(120); var : S1(0),D1(0),TM(0),TF(0),cnt(0); Array : TT[50](0),hh[50](0),ll[50](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 { #120분 단위 수직선 TL_New(sDate,sTime,0,sDate,sTime,999999999); #120분 단위 Ticks와 최고가 죄저가 for cnt = 49 downto 1 { TT[cnt] = TT[cnt-1]; HH[cnt] = HH[cnt-1]; LL[cnt] = LL[cnt-1]; } hh[0] = h; ll[0] = l; TT[0] = 0; } if h > hh[0] Then hh[0] = h; if L < ll[0] Then ll[0] = l; TT[0] = TT[0]+Ticks; if TT[1] > 20000 and TT[1] < 50000 then { var1 = hh[1]; Var2 = ll[1]; } if var1 > 0 and Var2 > 0 Then { plot1(var1); plot2(Var2); } }
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2024-08-02 11:11:55

> yamu 님이 쓴 글입니다. > 제목 : 타주기 관련해서 질문드립니다 > 안녕하세요 더운 날 수고가 많으십니다 타주기 관련해서 지난번에 몇 번 여쭤봤던 지표가 있는데 계속 생각과는 다르게 결과가 나와서 여쭤봅니다 일단 궁금한건, 타주기 수식을 작성하면 예를들어 타주기 120분 으로 했으면 그 주기 보다 낮은 배수의 주기에서는 다 사용할 수 있는건가요? 5,10,20,30,60 이런식으로요.타주기 설정보다 높은 주기에서는 안된다는거죠? 그리고 지난번에 여쭤봤던 수식인데요 검토를 해봐도 잘 안맞아서 한번 더 여쭤볼게요. 답변 해주실 때 혹시 검토를 해보고 답변 주시나요? 제가 뭘 잘못 적용했나해서요. 제가 원하는거는 1. 120분봉에서의 데이터를 낮은 주기에서 표현을 하는거고 2. 120분 봉의 체결건수 (ticks) 가 20000개 이하 일때와 50000개 이상일때 각각 나눠서, 30000개 이하면 그 봉의 최저가를 나타내고, 50000개 이상일 경우 최고가를 나타내는 수식입니다 다른 주기에서 확인을 해봤을때 값이 제대로 나오지 않아서 한번 더 여쭤봅니다 **그리고 20000개 이하일때는 5봉 동안의 최저가, 5만개 이상일때는 5봉 동안의 최고가를 나타내는 수식도 알려주실 수 있을까요?? 만약 2만개 이하인 봉을 기준으로 5봉간 최저가를 구할때 그 전봉중 기준에 안맞는거는 건너뛰고 계산하는 수식도 가능한가요? 말이 좀 어려워서 그림 하나 첨부 하겠습니다. 안된다면 그냥 5봉내의 최저가를 구하는 식을 알려주셔도 됩니다 여러번 번거롭지만 부탁드립니다 알려주신 수식: input : 타주기분(120); var : S1(0),D1(0),TM(0),TF(0),cnt(0); Array : TT[50](0),hh[50](0),ll[50](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 { #120분 단위 수직선 TL_New(sDate,sTime,0,sDate,sTime,999999999); #120분 단위 Ticks와 최고가 죄저가 for cnt = 49 downto 1 { TT[cnt] = TT[cnt-1]; HH[cnt] = HH[cnt-1]; LL[cnt] = LL[cnt-1]; } hh[0] = h; ll[0] = l; TT[0] = 0; } if h > hh[0] Then hh[0] = h; if L < ll[0] Then ll[0] = l; TT[0] = TT[0]+Ticks; if TT[1] > 20000 and TT[1] < 50000 then { var1 = hh[1]; Var2 = ll[1]; } if var1 > 0 and Var2 > 0 Then { plot1(var1); plot2(Var2); } }