{{if .UseDarkTheme}} {{else}} {{end}}
{{- /*gotype: github.com/thrasher-corp/gocryptotrader/backtester/report.Data*/ -}}{{.Config.Goal}}
{{.Statistics.StrategyDescription}}
{{ if or .Config.DataSettings.APIData .Config.DataSettings.DatabaseData }}| Start Date | {{.Config.DataSettings.APIData.StartDate}} |
| End Date | {{.Config.DataSettings.APIData.EndDate}} |
| Interval | {{.Config.DataSettings.Interval}} |
| Start Date | {{.Config.DataSettings.DatabaseData.StartDate}} |
| End Date | {{.Config.DataSettings.DatabaseData.EndDate}} |
| Interval | {{.Config.DataSettings.Interval}} |
| Was any data missing? | {{ .Statistics.WasAnyDataMissing}} |
| Interval | {{.Config.DataSettings.Interval}} |
| Exchange | Asset | Currency | Initial Funds | Initial Fund in USD | Final Funds | Final Funds in USD | Difference | |
|---|---|---|---|---|---|---|---|---|
| {{.Exchange}} | {{.Asset}} | {{.Currency}} | {{.InitialFunds}} {{.Currency}} | ${{.InitialFundsUSD}} | {{.FinalFunds}} {{.Currency}} | ${{.FinalFundsUSD}} | {{if .ShowInfinite}}∞% | {{ else }}{{ .Difference}}% | {{ end }}
| Initial Total Funds in USD | ${{ .Statistics.Funding.InitialTotalUSD}} |
| Final Total Funds in USD | ${{ .Statistics.Funding.FinalTotalUSD}} |
| Difference | {{ .Statistics.Funding.Difference}}% |
| Exchange | Asset | Currency | Market Movement |
|---|---|---|---|
| {{ $exchange}} | {{ $asset}} | {{ $pair}} | {{ .MarketMovement}}% |
| Exchange | Asset | Currency | Initial Base funds | Initial Quote funds | Initial Total value | Resulting Base funds | Resulting Quote funds | Resulting Total value | Did it make profit? | Did it beat the market? | Strategy Movement | Market Movement |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| {{ $exchange}} | {{ $asset}} | {{ $pair}} | {{ .InitialHoldings.BaseInitialFunds }} {{.FinalHoldings.Pair.Base}} | {{ .InitialHoldings.QuoteInitialFunds }} {{.FinalHoldings.Pair.Quote}} | {{ .InitialHoldings.TotalInitialValue }} {{.FinalHoldings.Pair.Quote}} | {{ .FinalHoldings.BaseSize }} {{ .FinalHoldings.Pair.Base}} | {{ .FinalHoldings.QuoteSize }} {{ .FinalHoldings.Pair.Quote}} | {{ .FinalHoldings.TotalValue }} {{ .FinalHoldings.Pair.Quote}} | {{ .IsStrategyProfitable }} | {{ .DoesPerformanceBeatTheMarket }} | {{ .StrategyMovement }}% | {{ .MarketMovement}}% |
| Initial Total Funds in USD | ${{ .Statistics.Funding.InitialTotalUSD}} |
| Final Total Funds in USD | ${{ .Statistics.Funding.FinalTotalUSD}} |
| Difference | {{ .Statistics.Funding.Difference}}% |
| Strategy name | {{.Config.StrategySettings.Name}} |
| Is multi currency | {{.Config.StrategySettings.SimultaneousSignalProcessing}} |
| Custom settings | {{.Config.StrategySettings.CustomSettings}} |
| Exchange Name | Asset | Currency Base | Currency Quote | Buy side Min Amount | Buy side Max Amount | Buy side Max Total | Sell side Min Amount | Sell side Max Amount | Sell side Max Total | Min Slippage Percent | Max Slippage Percent | Taker Fee | Maximum Holdings Ratio |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| {{.ExchangeName}} | {{.Asset}} | {{.Base}} | {{.Quote}} | {{.BuySide.MinimumSize}} {{.Base}} | {{.BuySide.MaximumSize}} {{.Base}} | {{.BuySide.MaximumTotal}} {{.Quote}} | {{.SellSide.MinimumSize}} {{.Base}} | {{.SellSide.MaximumSize}} {{.Base}} | {{.SellSide.MaximumTotal}} {{.Quote}} | {{.MinimumSlippagePercent}}% | {{.MaximumSlippagePercent}}% | {{.TakerFee}} | {{.MaximumHoldingsRatio}} |
| Exchange Name | Asset | Currency | Paired With | Initial Funds | Transfer Fee |
|---|---|---|---|---|---|
| {{.Exchange}} | {{.Asset}} | {{.Currency}} | {{.PairedWith}} | {{ .InitialFunds}} | {{ .TransferFee}} |
| Can Use Leverage | Max Leverage Rate | Max Orders With Leverage Ratio | Buy side Min Amount | Buy side Max Amount | Buy side Max Total | Sell side Min Amount | Sell side Max Amount | Sell side Max Total |
|---|---|---|---|---|---|---|---|---|
| {{.Config.PortfolioSettings.Leverage.CanUseLeverage}} | {{.Config.PortfolioSettings.Leverage.MaximumLeverageRate}} | {{.Config.PortfolioSettings.Leverage.MaximumOrdersWithLeverageRatio}} | {{.Config.PortfolioSettings.BuySide.MinimumSize}} | {{.Config.PortfolioSettings.BuySide.MaximumSize}} | {{ .Config.PortfolioSettings.BuySide.MaximumTotal}} | {{.Config.PortfolioSettings.SellSide.MinimumSize}} | {{.Config.PortfolioSettings.SellSide.MaximumSize}} | {{ .Config.PortfolioSettings.SellSide.MaximumTotal}} |
| Risk-Free Rate |
|---|
| {{.Config.StatisticSettings.RiskFreeRate}} |
| Exchange Name | Asset | Currency Base | Currency Quote | Warning |
|---|---|---|---|---|
| {{.ExchangeName}} | {{.Asset}} | {{.Base}} | {{.Quote}} | order execution limits supported but disabled, live results may differ |
| {{.Exchange}} | {{.Asset}} | {{.Pair.Base}} | {{.Pair.Quote}} | {{.Message}} |
Note: Number of candles processed is higher than chart can render. Only showing the first 1,100
{{end}}| Strategy Name | {{.Statistics.StrategyName}} |
| Risk Free Rate | {{.Statistics.RiskFreeRate}}% |
| Total Buy Orders | {{.Statistics.TotalBuyOrders}} |
| Total Sell Orders | {{.Statistics.TotalSellOrders}} |
| Total Orders | {{.Statistics.TotalOrders}} |
| Biggest Drawdown | Start: {{.Statistics.BiggestDrawdown.MaxDrawdown.Highest.Time }} End: {{.Statistics.BiggestDrawdown.MaxDrawdown.Lowest.Time }} Drop: {{.Statistics.BiggestDrawdown.MaxDrawdown.DrawdownPercent}}% |
| Best performing market movement | {{.Statistics.BestMarketMovement.Exchange }} {{.Statistics.BestMarketMovement.Asset}} {{.Statistics.BestMarketMovement.Pair}} {{.Statistics.BestMarketMovement.MarketMovement}}% |
| Best performing strategy movement | {{.Statistics.BestStrategyResults.Exchange }} {{.Statistics.BestStrategyResults.Asset}} {{.Statistics.BestStrategyResults.Pair}} {{.Statistics.BestStrategyResults.StrategyMovement}}% |
| Base Initial Funds | {{ $val.FinalHoldings.BaseInitialFunds}} {{$val.FinalHoldings.Pair.Base}} |
| Quote Initial Funds | {{ $val.FinalHoldings.QuoteInitialFunds}} {{$val.FinalHoldings.Pair.Quote}} |
| Buy Orders | {{$val.BuyOrders}} |
| Buy Value | {{ $val.FinalHoldings.BoughtValue}} {{$val.FinalHoldings.Pair.Quote}} |
| Buy Amount | {{ $val.FinalHoldings.BoughtAmount}} {{$val.FinalHoldings.Pair.Base}} |
| Sell Orders | {{$val.SellOrders}} |
| Sell Value | {{ $val.FinalHoldings.SoldValue}} {{$val.FinalHoldings.Pair.Quote}} |
| Sell Amount | {{ $val.FinalHoldings.SoldAmount}} {{$val.FinalHoldings.Pair.Base}} |
| Total Orders | {{$val.TotalOrders}} |
| Biggest Drawdown | Start: {{ $val.MaxDrawdown.Highest.Time }} End: {{ $val.MaxDrawdown.Lowest.Time }} Drop: {{printf "%.8v" $val.MaxDrawdown.DrawdownPercent}}% |
| Starting Close Price | {{ $val.StartingClosePrice}} {{$val.FinalHoldings.Pair.Quote}} |
| Ending Close Price | {{ $val.EndingClosePrice}} {{ $val.FinalHoldings.Pair.Quote }} |
| Lowest Close Price | {{ $val.LowestClosePrice}} {{$val.FinalHoldings.Pair.Quote}} |
| Highest Close Price | {{ $val.HighestClosePrice}} {{ $val.FinalHoldings.Pair.Quote}} |
| Highest Committed Funds | {{ $val.HighestCommittedFunds.Value}} at {{ $val.HighestCommittedFunds.Time}} |
| Market Movement | {{ $val.MarketMovement}}% |
| Strategy Movement | {{ $val.StrategyMovement}}% |
| Did it beat the market? | {{ .DoesPerformanceBeatTheMarket }} |
| Total Value Lost to Volume Sizing | {{ $val.FinalHoldings.TotalValueLostToVolumeSizing}} {{$val.FinalHoldings.Pair.Quote}} |
| Total Value Lost to Slippage | {{ $val.FinalHoldings.TotalValueLostToSlippage}} {{ $val.FinalHoldings.Pair.Quote }} |
| Total Value Lost | {{ $val.FinalHoldings.TotalValueLost}} {{$val.FinalHoldings.Pair.Quote}} |
| Total Fees | {{ $val.FinalHoldings.TotalFees}} {{ $val.FinalHoldings.Pair.Quote }} |
| Final Funds | {{ $val.FinalHoldings.QuoteSize}} {{ $val.FinalHoldings.Pair.Quote}} |
| Final Holdings | {{ $val.FinalHoldings.BaseSize}} {{$val.FinalHoldings.Pair.Base}} |
| Final Holdings Value | {{ $val.FinalHoldings.BaseValue}} {{ $val.FinalHoldings.Pair.Quote }} |
| Total Value | {{ $val.FinalHoldings.TotalValue}} {{ $val.FinalHoldings.Pair.Quote}} |
| Risk Free Rate | {{$val.RiskFreeRate}}% |
| Compound Annual Growth Rate | {{$val.CompoundAnnualGrowthRate}}% |
| Sharpe Ratio | {{$val.ArithmeticRatios.SharpeRatio}} |
| Sortino Ratio | {{$val.ArithmeticRatios.SortinoRatio}} |
| Information Ratio | {{$val.ArithmeticRatios.InformationRatio}} |
| Calmar Ratio | {{$val.ArithmeticRatios.CalmarRatio}} |
| Sharpe Ratio | {{$val.GeometricRatios.SharpeRatio}} |
| Sortino Ratio | {{$val.GeometricRatios.SortinoRatio}} |
| Information Ratio | {{$val.GeometricRatios.InformationRatio}} |
| Calmar Ratio | {{$val.GeometricRatios.CalmarRatio}} |
| Date | Close Price | Side | Price | Amount | Fee | Total | Slippage Rate |
|---|---|---|---|---|---|---|---|
| {{ .Detail.Date }} | {{ .ClosePrice}} {{$pair.Quote}} | {{ .Detail.Side }} | {{ .Detail.Price }} {{$pair.Quote}} | {{ .Detail.Amount }} {{$pair.Base}} | {{.Detail.Fee }} {{$pair.Quote}} | {{ .CostBasis }} {{$pair.Quote}} | {{ .SlippageRate }}% |
| Date | Price | Action | Why | {{$pair.Base}} Funds | {{$pair.Quote}} Funds | Total Value | ||||
|---|---|---|---|---|---|---|---|---|---|---|
| {{$ev.FillEvent.GetTime}} | {{$ev.FillEvent.GetClosePrice}} {{$pair.Quote}} | {{$ev.FillEvent.GetDirection}} | {{$ev.FillEvent.GetReason}} | {{ else if ne $ev.SignalEvent nil}}{{$ev.SignalEvent.GetTime}} | {{ $ev.SignalEvent.GetPrice}} {{$pair.Quote}} | {{$ev.SignalEvent.GetDirection}} | {{$ev.SignalEvent.GetReason}} | {{ end }}{{ $ev.Holdings.BaseSize}} {{$pair.Base}} | {{ $ev.Holdings.QuoteSize}} {{$pair.Quote}} | {{ $ev.Holdings.TotalValue}} {{$pair.Quote}} |