Esempio n. 1
0
 public BacktestTask(TBacktestAccount config = null)
 {
     if (config != null)
     {
         this.Config = config;
     }
 }
Esempio n. 2
0
 public BacktestTask(TBacktestAccount config = null)
 {
     if (config != null)
     {
         BacktestAccount = config.Create <BacktestAccount>();
         //this.Config = config;
     }
 }
Esempio n. 3
0
    public override async Task <bool> Execute(BacktestInput input)
    {
        var host = input.BuildHost();

        var tba = new TBacktestAccount()
        {
            StartDate          = input.FromFlag,
            EndDate            = input.ToFlag,
            Exchange           = input.ExchangeFlag,
            ExchangeArea       = input.ExchangeAreaFlag,
            ExchangeMarketName = input.Symbol,
            StartingBalance    = (double)input.StartingBalanceFlag,

            //BacktestSymbolSettings = new Dictionary<string, BacktestSymbolSettings>
            //{
            //    [input.Symbol] = new BacktestSymbolSettings
            //    {
            //        SpreadMode = BacktestSpreadMode.Random
            //    }
            //},
        };

        var t = new LionFire.Applications.Trading.BacktestTask(tba);
        await t.StartAsync();

        var table = new Table();

        table.AddColumn("Date");
        //if (ShowExtension) { table.AddColumn("Ext"); }
        //table.AddColumn("%", c => c.Alignment = Justify.Right);
        //table.AddColumn("Bars", c => c.Alignment = Justify.Right);
        //table.AddColumn("Expected", c => c.Alignment = Justify.Right);

        //var listResult = await barsFileSource.List(input.ExchangeFlag, input.ExchangeAreaFlag, input.Symbol, input.TimeFrame);
        //foreach (var item in listResult.Chunks)
        //{
        //    table.AddRow(item.ChunkName, item.Percent.ToString(), item.Bars.ToString(), item.ExpectedBars.ToString());
        //    if (input.VerboseFlag) { Console.WriteLine(item.Dump().ToString()); }
        //}

        AnsiConsole.Write(table);

        return(true);
    }
 public static IAppHost AddBacktest(this IAppHost app, TBacktestAccount config = null)
 {
     app.Add(new BacktestTask(config ?? DefaultConfig));
     return(app);
 }