Time sync: * Data feeds are required to time sync in UTC time * TimeSlice.Time is now in UTC IAlgorithm * Time is now exclusively the algorithm's local time zone * Added UtcTime * SetDateTime( DateTime ) accepts a UTC time and is internally converted SubscriptionDataConfig * Adds market and time zone as required ctor parameters SecurityExchange * Now passes most calls directly through to SecurityExchangeHours class SecurityExchangeHours * Holds market hours for each day of week (LocalMarketHours) * Talks in terms of local times in the SecurityExchangeHours.TimeZone time zone Data/market-hours/ * New data folder to hold market hour information * Includes market-hours-database.csv to hold market hours per market/symbol/security (see doc in file) * Includes holidays-usa.csv to hold holidays for 'usa' market + The holiday files follow the pattern 'holidays-*.csv' where * is the market TimeKeeper * Receives updates in UTC time * Passes that to LocalTimeKeeper's who lazily evaluate the time in their respective time zones * Eventually this can grow to be the sole source of time in the algorithm's scope MISC: * Fixes exception thrown when exiting LiveTradingDataFeed * Fixes exception thrown when exiting FileSystemDataFeed * Fixes exception thrown when exiting StatusPing * Simplify FillForwardEnumerator logic with GetNextMarketOpen * Adds many time zones, see TimeZones.cs
29th June 2015: LEAN Algorithmic Trading Engine Java Interop Jared Broad (@jaredbroad) & Craig Stevenson (@craig-stevenson) This is the Java-C# Interop project for connecting LEAN and Java Algorithms. Points to follow:
NOTE: Because Java project requires Java to be installed; we've removed it as a build dependendancy of LEAN. You'll need to make sure your QuantConnect.Algorithm.Java.dll is copied to the Lean/bin/Debug (or Release) directory.
===== WINDOWS:
-
The project uses IKVM which requires version 1.7 of Java. You can obtain this here: Download the 1.7.80 SDK and install it. http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
-
After installation confirm your "javac.exe" directory is one of the following: 64 bit systems -- "C:\Program Files\Java\jdk1.7.0_80\bin\javac.exe" 32 bit systems -- "C:\Program Files (x86)\Java\jdk1.7.0_80\bin\javac.exe"
-
Build! Hopefully that is all that is required. Your DLL will output to "QuantConnect.Algorithm.Java.dll" in the binary directory.
If you get any build errors in the Java project it probably means you have a Java error. We recommend developing in Eclipse to fix these errors before using Lean. If the error persists, then check the "output" tab of visual studio to read the error message from the raw build logs.
===== LINUX:
-
Setup and install Java 1.7 & SDK: sudo apt-get install openjdk-7-jre-headless -y sudo apt-get install openjdk-7-jdk -y
-
Manually call the "./build.sh" script after compiling Lean. At the moment it can't be linked into the sln file