Timer는 지정한 milliseconds 기준으로 특정 event handler를 반복적으로 호출하려고 할 때 사용됩니다.
만일 1분봉에 실시간 데이터가 들어오고 있을 때
1분봉이 끝날 시점까지 얼마나 남아있는지를 보여주는 Indicator를 만들어보도록 하겠습니다.
[Course Example #5]
1. EasyLanguage Indicator 제목을 $05_BarPcntLeft로 하여 새로 만들기 합니다.
2. ToolBox에서 Timer를 더블클릭하거나 Component Tray에 드래그앤드랍합니다.
3. Properties의 General Category 밑에 항목별로 기본 값을 설정합니다.
1) Interval : 1000 (milliseconds 기준이므로 1초를 의미)
2) AutoReset : True (타이머 자동 재설정, 반복적으로 호출하겠다는 의미)
3) Enable : True (Analysis Technique이 시작되자마자 타이머를 작동하겠다는 의미)
4. Properties에서 Evenet 아이콘을 클릭합니다.
1) Elapsed가 Evenet 목록에서 조회됩니다.
2) Elapsed Evenet 이름을 더블클릭합니다.
3) 아래 그림과 같은 기본 코드가 EasyLanguage에 추가됩니다.
5. 생성된 Timer1_Elapsed method 위에 아래 그림과 같이 변수를 선언합니다.
1) intrabarpersist는 변수를 바종료 후가 아닌 틱기준으로 관리해줍니다.
6. Timer1_Elapsed method 구문 사이에 아래 그림과 같이 구문을 적어 넣습니다.
1) 1초 간격으로 iCount를 감소시킵니다.
2) 새로운 바이면 PlotValue() Method를 호출해서 실행시킵니다.
7. Timer1_Elapsed method에서 사용된 PlotValue() method를 포함하여 아래 그림과 같이 EasyLanguage를 작성한 후 Verify 합니다.
1) PlotValue() method는 현재 남은 시간 비율을 계산해서 그려주는 기능을 가지고 있습니다.
2) intrabar차트의 주기를 초단위로 변환해 둡니다.
3) 제일 마지막 바에 실시간 데이터가 들어오면, iCount와 barnumber를 초기화하고 0값을 그려둡니다.
4) 최대값인 100과 최저값인 0을 선으로 그어둡니다.
8. 삼성전자 1분봉 차트를 만든 후 $05_BarPcntLeft를 추가합니다.
만일 1분봉에 실시간 데이터가 들어오고 있을 때
1분봉이 끝날 시점까지 얼마나 남아있는지를 보여주는 Indicator를 만들어보도록 하겠습니다.
[Course Example #5]
1. EasyLanguage Indicator 제목을 $05_BarPcntLeft로 하여 새로 만들기 합니다.
2. ToolBox에서 Timer를 더블클릭하거나 Component Tray에 드래그앤드랍합니다.
3. Properties의 General Category 밑에 항목별로 기본 값을 설정합니다.
1) Interval : 1000 (milliseconds 기준이므로 1초를 의미)
2) AutoReset : True (타이머 자동 재설정, 반복적으로 호출하겠다는 의미)
3) Enable : True (Analysis Technique이 시작되자마자 타이머를 작동하겠다는 의미)
4. Properties에서 Evenet 아이콘을 클릭합니다.
1) Elapsed가 Evenet 목록에서 조회됩니다.
2) Elapsed Evenet 이름을 더블클릭합니다.
3) 아래 그림과 같은 기본 코드가 EasyLanguage에 추가됩니다.
5. 생성된 Timer1_Elapsed method 위에 아래 그림과 같이 변수를 선언합니다.
1) intrabarpersist는 변수를 바종료 후가 아닌 틱기준으로 관리해줍니다.
6. Timer1_Elapsed method 구문 사이에 아래 그림과 같이 구문을 적어 넣습니다.
1) 1초 간격으로 iCount를 감소시킵니다.
2) 새로운 바이면 PlotValue() Method를 호출해서 실행시킵니다.
7. Timer1_Elapsed method에서 사용된 PlotValue() method를 포함하여 아래 그림과 같이 EasyLanguage를 작성한 후 Verify 합니다.
1) PlotValue() method는 현재 남은 시간 비율을 계산해서 그려주는 기능을 가지고 있습니다.
2) intrabar차트의 주기를 초단위로 변환해 둡니다.
3) 제일 마지막 바에 실시간 데이터가 들어오면, iCount와 barnumber를 초기화하고 0값을 그려둡니다.
4) 최대값인 100과 최저값인 0을 선으로 그어둡니다.
8. 삼성전자 1분봉 차트를 만든 후 $05_BarPcntLeft를 추가합니다.