현재 시간이 몇분봉에 속하는지 - 2분봉 예제

실시간 체결 데이터로 분봉을 만들때 현재 시간이 몇분봉에 속하는지 구하는 예제입니다

예제는 2분봉이구요

 

6자리 시간이 string 값으로 내려오면 datetime값으로 변경합니다.

 

string time= K3_.GetFieldData("OutBlock", "time");

Datetime d = DatetimeFormat(time);

if(d.Minute % 2 == 0 && d.Second > 0) // 짝수 분이고 초가 0> 보다 크면 다음 분봉이어서 시간에 2분을 더해줍니다.
{
    d = d.AddMinutes(2);
    Console.WriteLine("분봉 = " + 

                    new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day,d.Hour, d.Minute, 0));

}
else if (d.Minute % 2 == 0 && d.Second == 0) // 짝수 분이고 초가 0 이면 현재시간이 현재 2분봉에 속합니다
{
    Console.WriteLine("분봉 = " + 

                   new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, d.Hour, d.Minute, 0));
}
else // 홀수 분일 경우는 1분을 더해서 출력해주시면 됩니다
{
    d = d.AddMinutes(1);
    Console.WriteLine("분봉 = " + 

                   new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, d.Hour, d.Minute, 0));  

}

 

DateTime DatetimeFormat(string chetime)
{
    DateTime dateTime;
    string cheH = chetime[0].ToString() + chetime[1].ToString();
    string cheM = chetime[2].ToString() + chetime[3].ToString();
    string cheS = chetime[4].ToString() + chetime[5].ToString();
    dateTime = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, int.Parse(cheH), int.Parse(cheM), int.Parse(cheS));

return dateTime;

}

 

'System Trading' 카테고리의 다른 글

이베스트 신용융자 구분  (0) 2022.05.10
C# 키움API 종목이름 알아내기  (0) 2022.04.30
주가 조작  (0) 2018.08.08
증권사 목록 + API지원 형태  (0) 2018.04.24
ETN  (0) 2018.03.15