Пример #1
0
 public void TestTradeRecordsForInvalidPrice()
 {
     //Assert.AreEqual(0, FdkHelper.ConnectToFdk("tp.dev.soft-fx.eu", "100106", "123qwe123", ""));
     //Assert.AreEqual(0, FdkHelper.ConnectToFdk("", "", "", ""));
     //Assert.AreEqual(0, FdkStatic.ConnectToFdk("tp.st.soft-fx.eu", "100065", "123qwe!", ""));
     Assert.AreEqual(0, FdkStatic.ConnectToFdk("exchange.tts.st.soft-fx.eu", "100033", "123qwe!", ""));
     var tradeRecords = FdkHelper.Trade.Server.GetTradeTransactionReports(TimeDirection.Forward, false
                                                                          , null, null).ToArray();
 }
Пример #2
0
        public void TestTradeRecordsForPips()
        {
            //Assert.AreEqual(0, FdkHelper.ConnectToFdk("tp.dev.soft-fx.eu", "100106", "123qwe123", ""));
            //Assert.AreEqual(0, FdkHelper.ConnectToFdk("", "", "", ""));
            Assert.AreEqual(0, FdkStatic.ConnectToFdk("tp.st.soft-fx.eu", "100065", "123qwe!", ""));
            var calculator = FdkStatic.Calculator;
            var symbols    = FdkSymbolInfo.Symbols;
            var symFirst   = symbols.First();

            FdkSymbolInfo.RegisterToFeed(FdkSymbolInfo.Feed, calculator);
            Thread.Sleep(1000);
            double volumeByHand = FdkSymbolInfo.CalculatePipsValue(symFirst);
        }
Пример #3
0
        static void Main()
        {
            /*
             * FdkHelper.Address = "tpdemo.fxopen.com";
             * FdkHelper.Login = "******";
             * FdkHelper.Password = "******";
             */

            while (true)
            {
                Console.WriteLine("Enter 1-ttConnect, 2-BarHistory, 3-disconnect, 4-exit");
                try {
                    var command = Console.ReadLine();
                    switch (command)
                    {
                    case "1":
                        FdkStatic.ConnectToFdk("", "", "", "");
                        break;

                    case "2":
                        //var history = FdkBars.ComputeBarsRangeTime("EURUSD", "Bid", "M1", DateTime.Now.AddDays(-5), DateTime.Now, 0);
                        var history = FdkLevel2.GetQuotePacked("EURUSD", new DateTime(2016, 02, 18), new DateTime(2016, 02, 20), 100);
                        Console.WriteLine(history);
                        break;

                    case "3": FdkStatic.Disconnect();
                        break;

                    case "4": return;
                    }
                }
                catch (Exception ex)
                {
                    //Console.WriteLine(ex.Message);
                }
            }

            //FdkHelper.Reconnect("");

            //REngine.SetEnvironmentVariables();
            //// There are several options to initialize the engine, but by default the following suffice:
            //var engine = REngine.GetInstance();
            //var bars = FdkHelper.Storage.Online.GetBars("EURUSD", PriceType.Ask, BarPeriod.M1, DateTime.Now, -1000000).ToArray();
            //WriteCsv(bars, "process.csv");

            //// .NET Framework array to R vector.
            //var group1 = engine.CreateNumericVector(new double[] { 30.02, 29.99, 30.11, 29.97, 30.01, 29.99 });
            //engine.SetSymbol("group1", group1);
            //// Direct parsing from R script.

            //var lows = engine.CreateNumericVector(bars.Select(b => b.Low).ToArray());
            //engine.SetSymbol("bar_lows", lows);
            //var high = engine.CreateNumericVector(bars.Select(b => b.High).ToArray());
            //engine.SetSymbol("bar_high", high);
            //var opens = engine.CreateNumericVector(bars.Select(b => b.Open).ToArray());
            //engine.SetSymbol("bar_opens", opens);
            //var volumes = engine.CreateNumericVector(bars.Select(b => b.Volume).ToArray());
            //engine.SetSymbol("bar_volumes", volumes);



            //var group2 = engine.Evaluate("group2 <- c(29.89, 29.93, 29.72, 29.98, 30.02, 29.98)").AsNumeric();
            //var dataR = engine.Evaluate("data <- read.csv('process.csv')");

            //var meanHigh = engine.Evaluate("meanHigh <- mean(data$High)").AsNumeric();
            //// Test difference of mean and get the P-value.
            //var testResult = engine.Evaluate("t.test(group1, group2)").AsList();
            //var p = testResult["p.value"].AsNumeric().First();


            //Console.WriteLine("Group1: [{0}]", string.Join(", ", group1));
            //Console.WriteLine("Group2: [{0}]", string.Join(", ", group2));


            //Console.WriteLine("Meanhigh: [{0}]", string.Join(", ", meanHigh));
            //Console.WriteLine("P-value = {0:0.000}", p);

            //// you should always dispose of the REngine properly.
            //// After disposing of the engine, you cannot reinitialize nor reuse it
            //engine.Dispose();
        }