[Quantproject-developers] QuantProject/b2_DataAccess/Tables Bars.cs, 1.6, 1.7
Brought to you by:
glauco_1
|
From: Glauco S. <gla...@us...> - 2009-01-14 23:36:35
|
Update of /cvsroot/quantproject/QuantProject/b2_DataAccess/Tables In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv2199/b2_DataAccess/Tables Modified Files: Bars.cs Log Message: - a new method has been added: public static DataTable GetTickerBars( string ticker , string exchange , DateTime firstBarDateTime , DateTime lastBarDateTime , long intervalFrameInSeconds ) - a new method has been added: public static bool ContainsBar( string ticker , string exchange , DateTime dateTimeForOpenInESTTime , long interval ) - a try catch has been removed from the method AddBar() (exceptions have to be managed by the caller) Index: Bars.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b2_DataAccess/Tables/Bars.cs,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** Bars.cs 11 Jan 2009 20:15:17 -0000 1.6 --- Bars.cs 14 Jan 2009 23:36:27 -0000 1.7 *************** *** 250,253 **** --- 250,280 ---- return SqlExecutor.GetDataTable( sql ); } + + /// <summary> + /// returns the bars DataTable for the given ticker + /// </summary> + /// <param name="ticker">ticker whose quotes are to be returned</param> + /// <param name="exchange">the exchange where the ticker was traded</param> + /// <param name="firstBarDateTime">The first bar date time</param> + /// <param name="lastBarDateTime">The last bar date time</param> + /// <param name="intervalFrameInSeconds">interval frame in seconds for + /// the ticker's bars</param> + /// <returns></returns> + public static DataTable GetTickerBars( + string ticker , string exchange , + DateTime firstBarDateTime , DateTime lastBarDateTime , long intervalFrameInSeconds ) + { + string sql = "select * from bars " + + "where " + Bars.TickerFieldName + "='" + ticker + "' and " + + Bars.Exchange + "='" + exchange + "' and " + + Bars.IntervalFrameInSeconds + "=" + intervalFrameInSeconds + " " + + "and " + Bars.DateTimeForOpen + " between " + + SQLBuilder.GetDateTimeConstant(firstBarDateTime) + " " + + "and " + SQLBuilder.GetDateTimeConstant(lastBarDateTime) + " " + + "order by " + Bars.DateTimeForOpen; + return SqlExecutor.GetDataTable( sql ); + } + + /// <summary> /// Returns the bars for the given instrument , since startDateTime to endDateTime *************** *** 537,552 **** ticker , exchange , dateTimeForOpenInESTTime , interval , open , high , low , close , volume ); ! try ! { ! SqlExecutor.ExecuteNonQuery( sqlCommand ); ! } ! catch( Exception exception ) ! { ! if ( !DataBase.IsExceptionForForbiddenDataDuplication( exception ) ) ! // the exception is not due to a duplicated bar ! throw exception; ! } } #endregion AddBar } } --- 564,595 ---- ticker , exchange , dateTimeForOpenInESTTime , interval , open , high , low , close , volume ); ! // try ! // { ! SqlExecutor.ExecuteNonQuery( sqlCommand ); ! // } ! // catch( Exception exception ) ! // { ! // if ( !DataBase.IsExceptionForForbiddenDataDuplication( exception ) ) ! // // the exception is not due to a duplicated bar ! // throw exception; ! // } } #endregion AddBar + + /// <summary> + /// true iif the database contains a bar for the given key values + /// </summary> + /// <param name="ticker"></param> + /// <param name="exchange"></param> + /// <param name="dateTimeForOpenInESTTime"></param> + /// <param name="interval"></param> + public static bool ContainsBar( + string ticker , string exchange , DateTime dateTimeForOpenInESTTime , long interval ) + { + DataTable bars = Bars.GetTickerBars( + ticker , exchange , dateTimeForOpenInESTTime , dateTimeForOpenInESTTime , interval ); + bool containsBar = ( bars.Rows.Count > 0 ); + return containsBar; + } } } |