실시간 체결 데이터로 분봉을 만들때 현재 시간이 몇분봉에 속하는지 구하는 예제입니다
예제는 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 |