커뮤니티

답변정말 감사합니다 답변에대한 질의입니다.

프로필 이미지
윤종신보험
2018-10-09 02:01:45
216
글번호 122548
답변완료
안녕하세요 답변 정말감사합니다. 어제 아래와 같이 질문했는데요 - 아 래 - 틱차트에서 봉3개가 있는데 첫번째,두번째가 둘다 양봉이고, 첫번째 틱봉부터 두번쨰틱봉까지 걸리는 시간이 30초이내면 세번째틱봉 시초가 매수 매수상태에서 익절가 10틱, 손절가 15틱 첫번째,두번째가 둘다 음봉이고, 첫번째 틱봉부터 두번쨰틱봉까지 걸리는 시간이 30초이내면 세번째틱봉 시초가 매도 매도상태에서 익절가 10틱, 손절가 15틱 입니다. -------------------------------------------------------------------- 그거에 대한 답변주신사항 + 제임의로추가한 소스가 var : S1(0),S2(0),ST(0),E1(0),E2(0),ET(0),second(0); var : T(0); S1 = TimeToMinutes(stime)*60; S2 = FracPortion(stime/100)*100; ST = S1+S2; E1 = TimeToMinutes(time)*60; E2 = FracPortion(time/100)*100; ET = E1+E2; if sdate == date Then Second = ET-ST; Else Second = 86400-ST+ET ; if countif(C>O,2) == 2 and AccumN(Second,20) <= 6 Then T = 1 ; if countif(C<O,2) == 2 and AccumN(Second,20) <= 6 Then T = -1 ; if MarketPosition == 0 and T == 1 and countif(C>O,2) == 2 and AccumN(Second,20) <= 6 Then buy("BUY",AtMarket); if MarketPosition == 0 and T == -1 and countif(C<O,2) == 2 and AccumN(Second,20) <= 6 Then sell("s",AtMarket); 입니다.. ---------------------------------------------------------------------------- 여기서 질문들어갑니다. 질문1) S1 = TimeToMinutes(stime)*60 의 의미가 밤12시이후 봉의시작시간을 분으로 환산한 후 60으로 곱한값으로 초단위가 나오는게 맞는지여? 어느봉부터 어느시점까지 시간인지여? S2 = FracPortion(stime/100)*100; ST = S1+S2; 이것은 소수부분의 둘째자리를 나타낸다음 곱하기 100을하면 둘째짜리까지 나타내려고 하는거 같은데 ST변수를 S1+S2합으로 나타내었을경우 ST는 어떠한 숫자가 찍히는지여 질문2) if sdate == date Then Second = ET-ST; Else Second = 86400-ST+ET ; 이 코드의 의미는 어떻게 해석해야하는지요 질문3) if countif(C>O,2) == 2 and AccumN(Second,20) <= 6 if countif(C>O,2) == 2 의 의미는 만약 인접한봉 2개가 양봉이면~ 을 의미하는것인지여 제가 연속된 2개의 봉이 양봉인 경우~ 라고 질의드렸었는데 그거에 대한 코드인지여 코드만봐서는 언뜻이해가 안가서요 AccumN(Second,20) <=6 의 의미는 언뜻봐서는 20기간의 Second의 변수를 누적해서 더해라 라는 의미같은데 제가 2개인접한 봉의 시작 종료시점의 시간이 6초이내이면 이라고 질의를 했었는데 그럼 AccumN(Second,2) <=6 이렇게 20이 아니라 2가 되어야 하는건 아닌지여 질문을 정신없게 해드려 죄송하구요 ㅠ 오늘 코드답변주신거에 대한 재질의이니 답변부탁드립니다. 궁금해미치겠어여 ㅠㅠ
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2018-10-10 11:40:00

안녕하세요 예스스탁입니다. 1 하나의 봉에는 시간이 stime과 time, 2개가 있습니다. stime은 봉의 시작시간, time은 봉의 끝시간입니다. 각 시간은 HHMMSS로 6자리입니다. 10시28분30초이면 102830으로 정수로 리턴됩니다. S1,S2,ST는 봉의 시작시간이 밤 0시 이후에 경과된 시간을 초로 환산해 구하는 계산입니다. TimeToMinutes함수가 밤 0시 이후에 경과된 시간을 분으로 리턴합니다. stime이 102830 이면 628분을 리턴하고 628에 60을 곱해 초단위로 환산(S1)합니다. 이때 TimeToMinutes함수가 초는 감안하지 않기 때문에 초는 포함되지 않습니다. 그러므로 나머지 초를 추가해 위해 S2계산으로 시간에서 초부분만 추출해서 S1값에 더해서 최종 경과된 초(ST)를 구하게 됩니다. E1,E2,ET도 계산방은 같습니다. 2 시간과 같이 봉의 날짜도 시작날짜/끝날짜로 2개가 제공됩니다. 하나의 봉에서 시작날짜와 봉의 끝날짜가 같으면 단순히 끝시간(초환산 ET)에서 시작시간(초환산 ST)를 빼주면 하나의 봉이 만들어 지는데 경과된 시간을 구할수 있습니다. 하지만 틱봉이나 특정 분주기의 경우에 밤 0시에 걸쳐서 생성되는 봉이 있습니다. 즉 봉의 시작날짜와 끝날짜가 다른 경우에는 단순히 시작시간에서 끝시간을 빼서는 계산이 되지 않습니다. 그러므로 이런봉은 조금 다른 계산방법을 사용해야 합니다. 24시를 기준으로 시작과 끝이 걸려있으므로 시작시간부터 24시까지 경과한 시간을 별도로 계산(86400-ST)해서 24시부터 끝시간까지 경과한 시간(ET)에 더해주어서 경과된 시간을 계산합니다. 3 죄송합니다. 기존 답변수식의 봉수지정에 오류가 잇었습니다. 2개봉의 걸린시간(초)을 누적해야 하는데 20개봉으로 지정되어 있었습니다. AccumN(Second,20)은 AccumN(Second,2)로 변경되어야 합니다. 2개의봉의 시간이 6초 이내면 AccumN(Second,2) <= 6으로 하시면 됩니다. 즐거운 하루되세요 > 윤종신보험 님이 쓴 글입니다. > 제목 : 답변정말 감사합니다 답변에대한 질의입니다. > 안녕하세요 답변 정말감사합니다. 어제 아래와 같이 질문했는데요 - 아 래 - 틱차트에서 봉3개가 있는데 첫번째,두번째가 둘다 양봉이고, 첫번째 틱봉부터 두번쨰틱봉까지 걸리는 시간이 30초이내면 세번째틱봉 시초가 매수 매수상태에서 익절가 10틱, 손절가 15틱 첫번째,두번째가 둘다 음봉이고, 첫번째 틱봉부터 두번쨰틱봉까지 걸리는 시간이 30초이내면 세번째틱봉 시초가 매도 매도상태에서 익절가 10틱, 손절가 15틱 입니다. -------------------------------------------------------------------- 그거에 대한 답변주신사항 + 제임의로추가한 소스가 var : S1(0),S2(0),ST(0),E1(0),E2(0),ET(0),second(0); var : T(0); S1 = TimeToMinutes(stime)*60; S2 = FracPortion(stime/100)*100; ST = S1+S2; E1 = TimeToMinutes(time)*60; E2 = FracPortion(time/100)*100; ET = E1+E2; if sdate == date Then Second = ET-ST; Else Second = 86400-ST+ET ; if countif(C>O,2) == 2 and AccumN(Second,20) <= 6 Then T = 1 ; if countif(C<O,2) == 2 and AccumN(Second,20) <= 6 Then T = -1 ; if MarketPosition == 0 and T == 1 and countif(C>O,2) == 2 and AccumN(Second,20) <= 6 Then buy("BUY",AtMarket); if MarketPosition == 0 and T == -1 and countif(C<O,2) == 2 and AccumN(Second,20) <= 6 Then sell("s",AtMarket); 입니다.. ---------------------------------------------------------------------------- 여기서 질문들어갑니다. 질문1) S1 = TimeToMinutes(stime)*60 의 의미가 밤12시이후 봉의시작시간을 분으로 환산한 후 60으로 곱한값으로 초단위가 나오는게 맞는지여? 어느봉부터 어느시점까지 시간인지여? S2 = FracPortion(stime/100)*100; ST = S1+S2; 이것은 소수부분의 둘째자리를 나타낸다음 곱하기 100을하면 둘째짜리까지 나타내려고 하는거 같은데 ST변수를 S1+S2합으로 나타내었을경우 ST는 어떠한 숫자가 찍히는지여 질문2) if sdate == date Then Second = ET-ST; Else Second = 86400-ST+ET ; 이 코드의 의미는 어떻게 해석해야하는지요 질문3) if countif(C>O,2) == 2 and AccumN(Second,20) <= 6 if countif(C>O,2) == 2 의 의미는 만약 인접한봉 2개가 양봉이면~ 을 의미하는것인지여 제가 연속된 2개의 봉이 양봉인 경우~ 라고 질의드렸었는데 그거에 대한 코드인지여 코드만봐서는 언뜻이해가 안가서요 AccumN(Second,20) <=6 의 의미는 언뜻봐서는 20기간의 Second의 변수를 누적해서 더해라 라는 의미같은데 제가 2개인접한 봉의 시작 종료시점의 시간이 6초이내이면 이라고 질의를 했었는데 그럼 AccumN(Second,2) <=6 이렇게 20이 아니라 2가 되어야 하는건 아닌지여 질문을 정신없게 해드려 죄송하구요 ㅠ 오늘 코드답변주신거에 대한 재질의이니 답변부탁드립니다. 궁금해미치겠어여 ㅠㅠ