public BacktestTask(TBacktestAccount config = null) { if (config != null) { this.Config = config; } }
public BacktestTask(TBacktestAccount config = null) { if (config != null) { BacktestAccount = config.Create <BacktestAccount>(); //this.Config = config; } }
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); }