Initial Commit
This commit is contained in:
112
MarketData/MarketDataLib/Helper/StochasticsHelperSheet.cs
Executable file
112
MarketData/MarketDataLib/Helper/StochasticsHelperSheet.cs
Executable file
@@ -0,0 +1,112 @@
|
||||
// using System;
|
||||
// using System.IO;
|
||||
// using Microsoft.Office.Interop.Excel;
|
||||
// using MarketData.DataAccess;
|
||||
// using MarketData.MarketDataModel;
|
||||
// using MarketData.Generator;
|
||||
// using MarketData.Utils;
|
||||
|
||||
// namespace MarketData.Helper
|
||||
// {
|
||||
// public class StochasticsSheetHelper
|
||||
// {
|
||||
// public StochasticsSheetHelper()
|
||||
// {
|
||||
// }
|
||||
// public static bool GenerateStochasticsSheet(String strPathTemplateFile, String symbol, int dayCount,int periodN,int periodK)
|
||||
// {
|
||||
// Microsoft.Office.Interop.Excel.Application excelApp = null;
|
||||
// Microsoft.Office.Interop.Excel.Workbook workbook = null;
|
||||
// Microsoft.Office.Interop.Excel.Worksheet worksheet = null;
|
||||
// Microsoft.Office.Interop.Excel.Sheets worksheets = null;
|
||||
// int rowOffset = 1;
|
||||
// try
|
||||
// {
|
||||
// String currentWorkingDirectory = Directory.GetCurrentDirectory();
|
||||
// if (!File.Exists(strPathTemplateFile))
|
||||
// {
|
||||
// MDTrace.WriteLine(LogLevel.DEBUG,"Cannot locate " + strPathTemplateFile);
|
||||
// return false;
|
||||
// }
|
||||
// DateGenerator dateGenerator = new DateGenerator();
|
||||
// DateTime startDate = dateGenerator.GetPrevBusinessDay(DateTime.Now);
|
||||
// Prices prices = PricingDA.GetPrices(symbol, startDate, dayCount);
|
||||
// if (null == prices || 0 == prices.Count)
|
||||
// {
|
||||
// MDTrace.WriteLine(LogLevel.DEBUG,"No prices for " + symbol);
|
||||
// return false;
|
||||
// }
|
||||
// Price price = prices[0];
|
||||
// String pathOutputFile = currentWorkingDirectory + "\\" + symbol + "-ST-" + Utility.DateTimeToStringMMHDDHYYYY(price.Date);
|
||||
// MDTrace.WriteLine(LogLevel.DEBUG,"Generating " + pathOutputFile);
|
||||
// String companyName = PricingDA.GetNameForSymbol(symbol);
|
||||
// File.Delete(pathOutputFile + ".xlsx");
|
||||
// excelApp = new Microsoft.Office.Interop.Excel.Application();
|
||||
// excelApp.ScreenUpdating = false;
|
||||
// workbook = excelApp.Workbooks.Open(strPathTemplateFile, 0, false, 5, "", "", false, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "", true, false, 0, true, false, false);
|
||||
// worksheets = workbook.Worksheets;
|
||||
// worksheet = (Microsoft.Office.Interop.Excel.Worksheet)worksheets.get_Item("Sheet1");
|
||||
// Microsoft.Office.Interop.Excel.ChartObjects chartObjects = worksheet.ChartObjects();
|
||||
// Microsoft.Office.Interop.Excel.ChartObject chartObject = chartObjects.Item(1);
|
||||
// chartObject.Chart.ChartTitle.Text = companyName + " (" + symbol + ") " + Utility.DateTimeToStringMMHDDHYYYY(prices[prices.Count - 1].Date) + " Thru " + Utility.DateTimeToStringMMHDDHYYYY(price.Date)+" N="+periodN+", K="+periodK;
|
||||
// Stochastics stochastics = StochasticsGenerator.GenerateStochastics(prices, periodN, periodK);
|
||||
// if (null == stochastics)
|
||||
// {
|
||||
// MDTrace.WriteLine(LogLevel.DEBUG,"Error generating stochastics.");
|
||||
// return false;
|
||||
// }
|
||||
// Axis vertAxis = (Axis)chartObject.Chart.Axes(XlAxisType.xlValue, XlAxisGroup.xlPrimary);
|
||||
// vertAxis.HasMajorGridlines = true;
|
||||
// Axis horzAxis = (Axis)chartObject.Chart.Axes(XlAxisType.xlCategory, XlAxisGroup.xlPrimary);
|
||||
// horzAxis.HasMajorGridlines = true;
|
||||
// for (int index = 0; index < stochastics.Count; index++)
|
||||
// {
|
||||
// StochasticElement stochasticElement = stochastics[index];
|
||||
// worksheet.Cells[index + 1 + rowOffset, 1] = stochasticElement.Date;
|
||||
// worksheet.Cells[index + 1 + rowOffset, 2] = stochasticElement.Symbol;
|
||||
// worksheet.Cells[index + 1 + rowOffset, 3] = stochasticElement.Open;
|
||||
// worksheet.Cells[index + 1 + rowOffset, 4] = stochasticElement.High;
|
||||
// worksheet.Cells[index + 1 + rowOffset, 5] = stochasticElement.Low;
|
||||
// worksheet.Cells[index + 1 + rowOffset, 6] = stochasticElement.Close;
|
||||
// worksheet.Cells[index + 1 + rowOffset, 7] = stochasticElement.LN;
|
||||
// worksheet.Cells[index + 1 + rowOffset, 8] = stochasticElement.HN;
|
||||
// worksheet.Cells[index + 1 + rowOffset, 9] = stochasticElement.HX;
|
||||
// worksheet.Cells[index + 1 + rowOffset, 10] = stochasticElement.LX;
|
||||
// worksheet.Cells[index + 1 + rowOffset, 11] = stochasticElement.PK;
|
||||
// worksheet.Cells[index + 1 + rowOffset, 12] = stochasticElement.PD;
|
||||
// }
|
||||
// workbook.SaveAs(pathOutputFile, Microsoft.Office.Interop.Excel.XlFileFormat.xlOpenXMLWorkbook, Type.Missing, Type.Missing, false, false, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange, Microsoft.Office.Interop.Excel.XlSaveConflictResolution.xlUserResolution, true, Type.Missing, Type.Missing, Type.Missing);
|
||||
// return true;
|
||||
// }
|
||||
// catch (Exception exception)
|
||||
// {
|
||||
// MDTrace.WriteLine(LogLevel.DEBUG,exception.ToString());
|
||||
// return false;
|
||||
// }
|
||||
// finally
|
||||
// {
|
||||
// if (null != worksheet) ReleaseObject(worksheet);
|
||||
// if (null != worksheets) ReleaseObject(worksheets);
|
||||
// if (null != workbook) ReleaseObject(workbook);
|
||||
// excelApp.Quit();
|
||||
// }
|
||||
// }
|
||||
// private static void ReleaseObject(object obj)
|
||||
// {
|
||||
// try
|
||||
// {
|
||||
// System.Runtime.InteropServices.Marshal.FinalReleaseComObject(obj);
|
||||
// obj = null;
|
||||
// }
|
||||
// catch (Exception ex)
|
||||
// {
|
||||
// MDTrace.WriteLine(LogLevel.DEBUG,ex.ToString());
|
||||
// obj = null;
|
||||
// }
|
||||
// finally
|
||||
// {
|
||||
// GC.Collect();
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
Reference in New Issue
Block a user