using System; using System.Collections; // Load the ForexFeed.net API using forexfeed.net; class ForexFeedExample { // ------------------------------------------ // EDIT THE FOLLOWING VARIABLES // private static string access_key = "YOUR_ACCESS_KEY"; private static string symbol = "EURUSD,GBPUSD,USDCHF,USDCAD,AUDUSD"; private static int interval = 3600; private static int periods = 1; private static string price = "mid"; // END VARIABLES // ------------------------------------------ // // ------------------------------------------ // Main // static void Main() { // Create the ForexFeed Object feedapi fxfeed = new feedapi(access_key, symbol, interval, periods, price); // Display the Quotes printData(fxfeed); // Display the available Intervals printIntervals(fxfeed); // Display the available Symbols printSymbols(fxfeed); } // '' // '' Get the data and print it to System.out // '' private static void printData(feedapi fxfeed) { // // Fetch the Data // ArrayList quotes = fxfeed.getData(); Console.WriteLine("-------- Quotes --------"); if (fxfeed.getStatus().Equals("OK")) { Console.WriteLine(("Number of Quotes: " + fxfeed.getNumQuotes())); Console.WriteLine(("Copyright: " + fxfeed.getCopyright())); Console.WriteLine(("Website: " + fxfeed.getWebsite())); Console.WriteLine(("License: " + fxfeed.getLicense())); Console.WriteLine(("Redistribution: " + fxfeed.getRedistribution())); Console.WriteLine(("AccessPeriod: " + fxfeed.getAccessPeriod())); Console.WriteLine(("AccessPerPeriod: " + fxfeed.getAccessPerPeriod())); Console.WriteLine(("AccessThisPeriod: " + fxfeed.getAccessThisPeriod())); Console.WriteLine(("AccessRemainingThisPeriod: " + fxfeed.getAccessPeriodRemaining())); Console.WriteLine(("AccessPeriodBegan: " + fxfeed.getAccessPeriodBegan())); Console.WriteLine(("NextAccessPeriodStarts: " + fxfeed.getAccessPeriodStarts())); // // Get an Iterator object for the quotes ArrayList using iterator() method. // IEnumerator itr = quotes.GetEnumerator(); // // Iterate through the ArrayList iterator // Console.WriteLine("----------------------------------------"); Console.WriteLine("Iterating through Quotes..."); Console.WriteLine("----------------------------------------"); while (itr.MoveNext()){ Hashtable quote = ((Hashtable)(itr.Current)); Console.WriteLine(("Quote Symbol: " + quote["symbol"])); Console.WriteLine(("Title: " + quote["title"])); Console.WriteLine(("Time: " + quote["time"])); if ((fxfeed.getInterval() == 1)) { if (fxfeed.getPrice().Equals("bid,ask")) { Console.WriteLine(("Bid: " + quote["bid"])); Console.WriteLine(("Ask: " + quote["ask"])); } else { Console.WriteLine(("Price: " + quote["price"])); } } else { Console.WriteLine(("Open: " + quote["open"])); Console.WriteLine(("High: " + quote["high"])); Console.WriteLine(("Low: " + quote["low"])); Console.WriteLine(("Close: " + quote["close"])); } Console.WriteLine(""); } } else { Console.WriteLine(("Status: " + fxfeed.getStatus())); Console.WriteLine(("ErrorCode: " + fxfeed.getErrorCode())); Console.WriteLine(("ErrorMessage: " + fxfeed.getErrorMessage())); } } // '' // '' Print the Intervals to System.out // '' private static void printIntervals(feedapi fxfeed) { // // Fetch the Intervals // Hashtable intervals = fxfeed.getAvailableIntervals(false); Console.WriteLine("-------- Intervals --------"); if (fxfeed.getStatus().Equals("OK")) { // // Get a Collection of values contained in HashMap // ICollection c = intervals.Values; // // Obtain an Iterator for Collection // IEnumerator itr = c.GetEnumerator(); // // Iterate through the HashMap values iterator // while (itr.MoveNext()) { Hashtable value = ((Hashtable)(itr.Current)); Console.WriteLine(("Interval: " + value["interval"])); Console.WriteLine(("Title: " + value["title"])); Console.WriteLine(""); } } else { Console.WriteLine(("Status: " + fxfeed.getStatus())); Console.WriteLine(("ErrorCode: " + fxfeed.getErrorCode())); Console.WriteLine(("ErrorMessage: " + fxfeed.getErrorMessage())); } } // '' // '' Print the Symbols to System.out // '' private static void printSymbols(feedapi fxfeed) { // // Fetch the Symbols // Hashtable symbols = fxfeed.getAvailableSymbols(false); Console.WriteLine("-------- Symbols --------"); if (fxfeed.getStatus().Equals("OK")) { // // Get a Collection of values contained in HashMap // ICollection c = symbols.Values; // // Obtain an Iterator for Collection // IEnumerator itr = c.GetEnumerator(); // // Iterate through the HashMap values iterator // while (itr.MoveNext()) { Hashtable value = ((Hashtable)(itr.Current)); Console.WriteLine(("Symbol: " + value["symbol"])); Console.WriteLine(("Title: " + value["title"])); Console.WriteLine(("Decimals: " + value["decimals"])); Console.WriteLine(""); } } else { Console.WriteLine(("Status: " + fxfeed.getStatus())); Console.WriteLine(("ErrorCode: " + fxfeed.getErrorCode())); Console.WriteLine(("ErrorMessage: " + fxfeed.getErrorMessage())); } }
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)