커뮤니티

틱차트에서 30분단위 시초가를 알고 싶습니다~

프로필 이미지
겐지
2017-02-14 13:26:33
154
글번호 106822
답변완료

첨부 이미지

1. 전화로 문의했었는데요~ 틱으로30분봉값을 구하는 식을 봤는데 너무 어렵고 지표적용을 해보니 이평값이 계산되어있는거 같더라구요~ 첨부파일사진에 보이는거처럼 30분시초가를 표시하면 30분단위로 가로선이 그어지면서 새롭게그어진가로선의 가격이 표시가 되잖아요 이 가격을 알고 싶습니다. 사진에는 항생차트인데 제가 알고싶은 부분은 차트상의 30분시초가지표에 표시되어 있는 현재 진행되고있는 이전봉의 종가가격인 10시30분가격 그리고 이전으로 표시된 12시30분가격 그리고 12시가격 그리고 11시30분가격 그리고 11시가격까지요~ 현재진행되고있는 가격포함해서 차트상의 지표에 표시된 30분단위로 6개이전가격까지 각각 틱차트상으로 알고 싶은데요 이걸 알 수 있을까요~ 유로같은 경우는 30분단위로 진행되어서 좋은데 항생같은 경우는 위에 표시한거처럼 당일시초가 이후로10시30분가격이 나오고나서 이전가격이 12시30분인데 이부분도 계산이 될지 모르겠습니다. 다시정리하면 30분단위로 현재진행되고있는 30분시초가가격이랑 그이전30분시초가가격 그이전30분시초가가격 이런식으로 총6개 30분시초가지표상 표시되어있는 30분시초가가격을 각각알 수 있는 식을 부탁드릴게요~ 2. 그리고 틱에서 30분시초가를 구해서 아래식 그대로 대입할려니깐 힘들거 같아서요 아래식에 나와있는 그대로 틱차트상으로 30분시초가를 구해서 적용좀 부탁드릴게요~ 아래식은 data1이 틱차트이고 data2가 30분봉입니다. 항상감사드립니다~ 이번엔 제대로 됐음 좋겠습니다ㅜ input : P5(5), P20(20), P60(60), get(25), cut(25); var : mav0(0,data2), mav1(0,data2), mav2(0,data2), mav3(0,data2), mav4(0,data2), mav5(0,data2), tic20(0,data1), tic60(0,data1), tic5(0,data1); mav0 = data2(c); mav1 = data2(c[1]); mav2 = data2(c[2]); mav3 = data2(c[3]); mav4 = data2(c[4]); mav5 = data2(c[5]); tic20 = data1(ma(c,P20)); tic60 = data1(ma(c,P60)); tic5 = data1(ma(c,P5)); if stime >= 103000 and stime < 165500 Then{ if mav0 > mav5 and mav1 > (mav0+mav2+mav3+mav4)/4 then{ if crossup(tic5,tic20) Then{ if MarketPosition == 0 Then buy("E매수"); if MarketPosition == -1 Then buy("E리버스매수"); } } if mav0 < mav5 and mav1 < (mav0+mav2+mav3+mav4)/4 then{ if CrossDown(tic5,tic20) then{ if MarketPosition == 0 Then sell("E매도"); if MarketPosition == 1 Then sell("E리버스매도"); } } if mav0 < mav5 and mav1 < (mav0+mav2+mav3+mav4)/4 then exitlong("불매수청산"); if mav0 > mav5 and mav1 > (mav0+mav2+mav3+mav4)/4 Then ExitShort("불매도청산"); } if stime == 170000 or (stime > 170000 and stime[1] < 170000) Then{ exitlong(); ExitShort(); } SetStopProfittarget(PriceScale*get,PointStop); SetStopLoss(PriceScale*cut,PointStop);
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2017-02-15 11:24:14

안녕하세요 예스스탁입니다. 1 이전에 답변드린식에 시가와 최고가 최저가도 모두 계산되게 추가했습니다. 다른 주기의 값을 계산하는 기본식이므로 식작성에 참고하시기 바랍니다. 1-1 선물 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 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 or (Bdate == Bdate and TF < TF[1]) Then{ OO[0] = o; 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; plot1(OO[0]); plot2(OO[1]); plot3(OO[2]); plot4(OO[3]); plot5(OO[4]); plot6(OO[5]); } 1-2 항생 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 or (stime > 100000 and stime[1] < 100000))) 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 (sdate != sdate[1] and stime >= 100000) or (sdate == sdate[1] and (Stime == 100000 or (stime > 100000 and stime[1] < 100000))) Then{ OO[0] = o; 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; plot1(OO[0]); plot2(OO[1]); plot3(OO[2]); plot4(OO[3]); plot5(OO[4]); plot6(OO[5]); } 2 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 or (stime > 100000 and stime[1] < 100000))) 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 (sdate != sdate[1] and stime >= 100000) or (sdate == sdate[1] and (Stime == 100000 or (stime > 100000 and stime[1] < 100000))) Then{ OO[0] = o; 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; } input : P5(5), P20(20), P60(60), get(25), cut(25); var : mav0(0), mav1(0), mav2(0), mav3(0), mav4(0), mav5(0), tic20(0), tic60(0), tic5(0); mav0 = CC[0]; mav1 = CC[1]; mav2 = CC[2]; mav3 = CC[3]; mav4 = CC[4]; mav5 = CC[5]; tic20 = ma(c,P20); tic60 = ma(c,P60); tic5 = ma(c,P5); if stime >= 103000 and stime < 165500 Then{ if mav0 > mav5 and mav1 > (mav0+mav2+mav3+mav4)/4 and mav5 > 0 then{ if crossup(tic5,tic20) Then{ if MarketPosition == 0 Then buy("E매수"); if MarketPosition == -1 Then buy("E리버스매수"); } } if mav0 < mav5 and mav1 < (mav0+mav2+mav3+mav4)/4 and mav5 > 0 then{ if CrossDown(tic5,tic20) then{ if MarketPosition == 0 Then sell("E매도"); if MarketPosition == 1 Then sell("E리버스매도"); } } if mav0 < mav5 and mav1 < (mav0+mav2+mav3+mav4)/4 and mav5 > 0 then exitlong("불매수청산"); if mav0 > mav5 and mav1 > (mav0+mav2+mav3+mav4)/4 and mav5 > 0 Then ExitShort("불매도청산"); } if stime == 170000 or (stime > 170000 and stime[1] < 170000) Then{ exitlong(); ExitShort(); } SetStopProfittarget(PriceScale*get,PointStop); SetStopLoss(PriceScale*cut,PointStop); 즐거운 하루되세요 > 겐지 님이 쓴 글입니다. > 제목 : 틱차트에서 30분단위 시초가를 알고 싶습니다~ > 1. 전화로 문의했었는데요~ 틱으로30분봉값을 구하는 식을 봤는데 너무 어렵고 지표적용을 해보니 이평값이 계산되어있는거 같더라구요~ 첨부파일사진에 보이는거처럼 30분시초가를 표시하면 30분단위로 가로선이 그어지면서 새롭게그어진가로선의 가격이 표시가 되잖아요 이 가격을 알고 싶습니다. 사진에는 항생차트인데 제가 알고싶은 부분은 차트상의 30분시초가지표에 표시되어 있는 현재 진행되고있는 이전봉의 종가가격인 10시30분가격 그리고 이전으로 표시된 12시30분가격 그리고 12시가격 그리고 11시30분가격 그리고 11시가격까지요~ 현재진행되고있는 가격포함해서 차트상의 지표에 표시된 30분단위로 6개이전가격까지 각각 틱차트상으로 알고 싶은데요 이걸 알 수 있을까요~ 유로같은 경우는 30분단위로 진행되어서 좋은데 항생같은 경우는 위에 표시한거처럼 당일시초가 이후로10시30분가격이 나오고나서 이전가격이 12시30분인데 이부분도 계산이 될지 모르겠습니다. 다시정리하면 30분단위로 현재진행되고있는 30분시초가가격이랑 그이전30분시초가가격 그이전30분시초가가격 이런식으로 총6개 30분시초가지표상 표시되어있는 30분시초가가격을 각각알 수 있는 식을 부탁드릴게요~ 2. 그리고 틱에서 30분시초가를 구해서 아래식 그대로 대입할려니깐 힘들거 같아서요 아래식에 나와있는 그대로 틱차트상으로 30분시초가를 구해서 적용좀 부탁드릴게요~ 아래식은 data1이 틱차트이고 data2가 30분봉입니다. 항상감사드립니다~ 이번엔 제대로 됐음 좋겠습니다ㅜ input : P5(5), P20(20), P60(60), get(25), cut(25); var : mav0(0,data2), mav1(0,data2), mav2(0,data2), mav3(0,data2), mav4(0,data2), mav5(0,data2), tic20(0,data1), tic60(0,data1), tic5(0,data1); mav0 = data2(c); mav1 = data2(c[1]); mav2 = data2(c[2]); mav3 = data2(c[3]); mav4 = data2(c[4]); mav5 = data2(c[5]); tic20 = data1(ma(c,P20)); tic60 = data1(ma(c,P60)); tic5 = data1(ma(c,P5)); if stime >= 103000 and stime < 165500 Then{ if mav0 > mav5 and mav1 > (mav0+mav2+mav3+mav4)/4 then{ if crossup(tic5,tic20) Then{ if MarketPosition == 0 Then buy("E매수"); if MarketPosition == -1 Then buy("E리버스매수"); } } if mav0 < mav5 and mav1 < (mav0+mav2+mav3+mav4)/4 then{ if CrossDown(tic5,tic20) then{ if MarketPosition == 0 Then sell("E매도"); if MarketPosition == 1 Then sell("E리버스매도"); } } if mav0 < mav5 and mav1 < (mav0+mav2+mav3+mav4)/4 then exitlong("불매수청산"); if mav0 > mav5 and mav1 > (mav0+mav2+mav3+mav4)/4 Then ExitShort("불매도청산"); } if stime == 170000 or (stime > 170000 and stime[1] < 170000) Then{ exitlong(); ExitShort(); } SetStopProfittarget(PriceScale*get,PointStop); SetStopLoss(PriceScale*cut,PointStop);