Support Board
Date/Time: Tue, 25 Feb 2025 13:27:31 +0000
Post From: create .scid files
[2014-06-12 21:32:07] |
norvik - Posts: 22 |
This functions I use in my mfc application. sChart is like s_IntradayRecord type, but for some reasons, I use only int values. BOOL CMainWindow::OnInitDialog()
{ __super::OnInitDialog(); memset(&sChart,0,sizeof(SierraChart)); return TRUE; } void CMainWindow::CreateSCDataFile() { strncpy (s_header.FileTypeUniqueHeaderID, "SCID", 4); header.HeaderSize = sizeof(IntradayHeader); header.RecordSize = sizeof(SierraChart); header.Version = 1; header.Unused1 = 0; header.UTCStartIndex = 0; char Reserve[36]; memset (header.Reserve, 0, sizeof(header.Reserve)); char *filename = "C:\\SierraChart\\Data\\6RVM4-CME.scid"; myFile.open(filename, ios::in | ios::out | ios::binary | ios::trunc); myFile.write ((char*) &header, sizeof IntradayHeader); } void CMainWindow::WriteTickDataToSCFile(int price,int volume,int numberoftrades,int value1,int value2) { double varTime; SYSTEMTIME sysTime; GetSystemTime(&sysTime); SystemTimeToVariantTime(&sysTime, &varTime); sChart.sierraTime = varTime; sChart.sierraOpen = price; sChart.sierraLow = price; sChart.sierraHigh =price; sChart.sierraClose = price; sChart.NumTrades = numberoftrades; sChart.TotalVolume = volume; sChart.AskVolume = value2; sChart.BidVolume = value1; myFile.write((char*) &sChart, sizeof sChart); } void CMainWindow::OnDestroy() { myFile.close(); __super::OnDestroy(); } |