커뮤니티

질문드립니다

프로필 이미지
견유학자
2019-12-23 18:13:35
313
글번호 134625
답변완료
잘 쓰고 있는 틱봉생성시간을 표시하는 수식입니다. 공부를 좀 해보려고 하는데 몇가지가 이해가 안가는데요. 일단 #뒤에 제가 이해한대로 써봤는데 (????)부분은 제가 이해를 잘 못했습니다. 제가 이해를 못하는 제일 큰 원인은 1. var와 value는 성격이 전혀 다른 것들인지 2. time, stime, TimeToMinutes, FracPortion 이 각각 무엇을 의미하는지 3. == 이상의 것들을 제가 모르기 때문인 것 같습니다. #뒤의 것들은 제가 이해한 것을 쓴 것입니다. 제가 잘 이해 못한곳을 설명해주시면 감사하겠습니다. 예스랭귀지 설명페이지에서 찾아봤는데 못찾아서 질문을 드리는 것이니 혹시 제가 못찾은거라면 어디서 볼 수 있는지 말씀주셔도 좋습니다. var : SS(0),TS(0),second(0),mav(0); #4개의 변수를 사용하겠다고 선언합니다 #그중 SS를 정의하겠습니다 var1 = TimeToMinutes(stime)*60; #var1변수는 (????) 라고 정의합니다 var2 = FracPortion(stime/100)*100; #var2변수는 (????) 라고 정의합니다 SS = var1+var2; #SS는 var1과 var2를 더한 값이라고 정의합니다 #두번째로 TS를 정의하겠습니다 value1 = TimeToMinutes(time)*60; # value1은 (????)라고 정의합니다 value2 = FracPortion(time/100)*100; # value1는 (????)라고 정의합니다 TS = value1+value2; #TS는 value1과 value2를 더한 값으로 정의합니다. #세번째로 second를 정의하겠습니다 if sdate == date Then #(????) Second = TS-SS; #second는 TS값에서 SS값을 빼 준 값입니다 Else #(?????) Second = 86400-SS + TS; #second는 86400에서 SS를 뺀 후 TS를 더해준 값입니다. #네번째로 mav를 정의하겠습니다 mav = ma(second,10); #mav는 second의 10개 값 이평입니다. plot1(Second,"BLUELINE"); # second 값을 blue색상의 선으로 표시합니다 plot2(mav,"REDLINE"); # mav 값은 빨간색 선으로 표시합니다 PlotBaseLine1(10,"H",YELLOW,def,1); #1번 수평선은 수치 10, 노란색, 굵기1입니다. 변수명은 H입니다. PlotBaseLine2(20,"M",GREEN,def,0.5); #2번 수평선은 수치 20 녹색, 굵기 0.5입니다. 변수명은 M입니다. PlotBaseLine3(30,"L",YELLOW,def,0.1); #3번 수평선은 수치 30 노랑 굵기 0.입니다. 변수명은 L입니다. 좋은하루 되십시오
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2019-12-26 10:12:48

안녕하세요 예스스탁입니다. TimeToMinutes은 지정한 시간을 밤 0시 이후에 몇분이 경과했는지 계산해 리턴해 주는 함수입니다. 현재시간에 95515(9시55분15초)이면 9시55분을 695분으로 변경해 리턴해 줍니다. 해당 함수가 초단위(15초) 계산에 포함하지 않습니다. var1 = TimeToMinutes(stime)*60; var2 = FracPortion(stime/100)*100; SS = var1+var2; var1에는 695분에 60을 곱해 41700초로 계산한 값이 저장됩니다. var2는 시간(95515)에서 초값(15)만 분리한 값입니다. 즉 SS는 var1과 var를 더해 밤 0시 이후에 몇초가 경과 했는지 계산한 값입니다. 봉에는 시가와 종가가 있고 시간도 시작시간(stime)과 끝시간(time)이 있으므로 SS는 봉의 시작시간을 기준으로 TS는 봉의 끝시간을 기준으로 밤0시 이후에 경과된 시간을 계산해서 두개의 차이값으로 하나의 봉이 만들어지는데 몇초가 걸렸는지 계산하는 것입니다. if sdate == date Then Second = TS-SS; Else #(?????) Second = 86400-SS + TS; 위 내용은 하나의 봉이 완성이 되는데 몇초가 걸렸는지 계산하는데 틱봉이나 특정주기의 분봉의 경우에는 하나의 봉의 시작날짜와 끝날짜가 다를수 있습니다. 이는 해외선물등과 같이 24시간 거래하는 종목의 경우에 적용되는 상황입니다. 시작날짜와 끝날짜가 같은 경우(if sdate == date Then)에는 끝시간기준 경과된 초가 시작시간기준 경과된 초보다 항상 크므로 TS에서 SS만 차감하면 되고 시작날짜와 끝날짜가 다른경우에는(else) 끝시간기준 경과된 초가 시작시간기준 경과된 초보다 작기 때문에 24시(86400초)에서 SS를 빼값을 TS에 더해서 경과시간을 계산하게 됩니다. 즐거운 하루되세요 > 견유학자 님이 쓴 글입니다. > 제목 : 질문드립니다 > 잘 쓰고 있는 틱봉생성시간을 표시하는 수식입니다. 공부를 좀 해보려고 하는데 몇가지가 이해가 안가는데요. 일단 #뒤에 제가 이해한대로 써봤는데 (????)부분은 제가 이해를 잘 못했습니다. 제가 이해를 못하는 제일 큰 원인은 1. var와 value는 성격이 전혀 다른 것들인지 2. time, stime, TimeToMinutes, FracPortion 이 각각 무엇을 의미하는지 3. == 이상의 것들을 제가 모르기 때문인 것 같습니다. #뒤의 것들은 제가 이해한 것을 쓴 것입니다. 제가 잘 이해 못한곳을 설명해주시면 감사하겠습니다. 예스랭귀지 설명페이지에서 찾아봤는데 못찾아서 질문을 드리는 것이니 혹시 제가 못찾은거라면 어디서 볼 수 있는지 말씀주셔도 좋습니다. var : SS(0),TS(0),second(0),mav(0); #4개의 변수를 사용하겠다고 선언합니다 #그중 SS를 정의하겠습니다 var1 = TimeToMinutes(stime)*60; #var1변수는 (????) 라고 정의합니다 var2 = FracPortion(stime/100)*100; #var2변수는 (????) 라고 정의합니다 SS = var1+var2; #SS는 var1과 var2를 더한 값이라고 정의합니다 #두번째로 TS를 정의하겠습니다 value1 = TimeToMinutes(time)*60; # value1은 (????)라고 정의합니다 value2 = FracPortion(time/100)*100; # value1는 (????)라고 정의합니다 TS = value1+value2; #TS는 value1과 value2를 더한 값으로 정의합니다. #세번째로 second를 정의하겠습니다 if sdate == date Then #(????) Second = TS-SS; #second는 TS값에서 SS값을 빼 준 값입니다 Else #(?????) Second = 86400-SS + TS; #second는 86400에서 SS를 뺀 후 TS를 더해준 값입니다. #네번째로 mav를 정의하겠습니다 mav = ma(second,10); #mav는 second의 10개 값 이평입니다. plot1(Second,"BLUELINE"); # second 값을 blue색상의 선으로 표시합니다 plot2(mav,"REDLINE"); # mav 값은 빨간색 선으로 표시합니다 PlotBaseLine1(10,"H",YELLOW,def,1); #1번 수평선은 수치 10, 노란색, 굵기1입니다. 변수명은 H입니다. PlotBaseLine2(20,"M",GREEN,def,0.5); #2번 수평선은 수치 20 녹색, 굵기 0.5입니다. 변수명은 M입니다. PlotBaseLine3(30,"L",YELLOW,def,0.1); #3번 수평선은 수치 30 노랑 굵기 0.입니다. 변수명은 L입니다. 좋은하루 되십시오