안녕하세요! 지난 편에서 선정 종목 표를 만들었죠. 오늘은 그 바로 아래, 시뮬레이션 결과 그리드를 채웁니다. 실제 돈은 한 푼도 안 쓰고 "만약 09:10에 샀다면 지금 얼마?"를 보여주는 표예요. 수익은 빨강, 손실은 파랑으로 한눈에 들어오게 만듭니다!

처음부터 실제 주문을 넣으면 무섭잖아요. 그래서 진입가만 기록해두고 "샀다고 치고" 현재가와 비교해 수익률·예상손익을 계산합니다. 내 조건이 실전에서 통하는지 돈 안 잃고 검증하는 거죠. 표에 들어갈 한 줄은 이렇게 생겼습니다.
public class SimResult
{
public string Name { get; set; } // 종목명
public long EntryPrice { get; set; } // 진입가
public long CurrentPrice { get; set; } // 현재가
public double ProfitPercent { get; set; } // 수익률 (%)
public long ExpectedPnL { get; set; } // 예상손익 (원)
public SimStatus Status { get; set; } // 트레일링 / 손절완료 …
}
표 만드는 MakeGrid()·MakeCol()은 5편에서 이미 만들어뒀으니 그대로 가져다 씁니다. 컬럼만 시뮬용으로 바꾸면 끝이에요. 이래서 헬퍼로 빼두면 편합니다.
dgv.Columns.Add(MakeCol("Name", "종목명", 26));
dgv.Columns.Add(MakeCol("Entry", "진입가", 16, true));
dgv.Columns.Add(MakeCol("Cur", "현재가", 16, true));
dgv.Columns.Add(MakeCol("Rate", "수익률", 14, true));
dgv.Columns.Add(MakeCol("PnL", "예상손익", 16, true));
dgv.Columns.Add(MakeCol("State", "상태", 12, true));
수익률이 0 이상이면 빨강(Gain), 미만이면 파랑(Loss). 이 색 하나를 변수로 잡아서 수익률·예상손익 두 셀에 똑같이 칠합니다. 부호(+/−)도 자동으로 붙여줘요.
bool up = r.ProfitPercent >= 0;
int i = dgv.Rows.Add(r.Name, $"{r.EntryPrice:#,0}", $"{r.CurrentPrice:#,0}",
$"{(up ? "+" : "")}{r.ProfitPercent:0.00}%",
$"{(up ? "+" : "")}{r.ExpectedPnL:#,0}원", SimStatusText(r.Status));
var row = dgv.Rows[i];
var col = up ? ScannerTheme.Gain : ScannerTheme.Loss; // 상승 빨강 / 하락 파랑
row.Cells["Rate"].Style.ForeColor = col;
row.Cells["PnL"].Style.ForeColor = col;
ApplySimStatusStyle(row.Cells["State"], r.Status); // 트레일링=노랑 / 손절=빨강
상태 셀은 트레일링이면 은은한 노란 배경, 손절완료면 붉은 글자로 칠해 지금 무슨 일이 벌어지는지 표만 봐도 알 수 있게 했습니다.
마무리하며
이제 가운데 영역이 완성됐습니다. 위에는 선정 종목, 아래에는 가상매수 손익까지! 화면의 왼쪽·가운데가 다 살아났네요. 다음 편에서는 마지막 남은 오른쪽 패널 — 시황 요약 타일, 섹터별 현황, 그리고 까만 콘솔 느낌의 실시간 로그를 만들어 UI를 완성합니다! 프로젝트는 아래에서 받으세요.
| 키움 OpenAPI로 종목 스캐너 만들기 8 — 데이터 추상화 (0) | 2026.06.17 |
|---|---|
| 키움 OpenAPI로 종목 스캐너 만들기 7 — 우측 패널 (UI 완성) (0) | 2026.06.16 |
| 키움 OpenAPI로 종목 스캐너 만들기 5 — 선정 종목 그리드 (0) | 2026.06.14 |
| 키움 OpenAPI로 종목 스캐너 만들기 4 — 좌측 조건·섹터 패널 (0) | 2026.06.13 |
| 키움 OpenAPI로 종목 스캐너 만들기 3 — 상단 상태 바 (0) | 2026.06.12 |
댓글 영역