Eu não estou 100% satisfeito com a saída de desempenho da estratégia que recebo do TradingView. Muitas vezes eu quero ver algo que não está disponível por padrão. Mas com tabelas, você pode construir métricas adicionais e ferramentas para suas estratégias com bastante facilidade.
Este script irá apenas mostrar uma tabela com o desempenho mensal/anual do seu script. Muitos traders/investidores costumavam olhar para retornos assim. Também, pode ajudá-lo a identificar períodos de tempo em que sua estratégia teve um bom/ruim desempenho do que o esperado e tentar analisar melhor. O roteiro é muito simples e acredito que você pode facilmente aplicá-lo às suas próprias estratégias.
Disclaimer Lembre-se de que o desempenho passado pode não ser indicativo dos resultados futuros. Devido a vários fatores, incluindo a mudança das condições de mercado, a estratégia pode não funcionar tão bem como no backtesting histórico. Este post e o roteiro não fornecem nenhum conselho financeiro.
Revisão
/*backtest start: 2021-05-05 00:00:00 end: 2022-05-04 23:59:00 period: 12h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //strategy("Monthly Returns in PineScript Strategies", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 25, calc_on_every_tick = true, commission_type = strategy.commission.percent, commission_value = 0.1) // Inputs leftBars = input(2,"leftBars") rightBars = input(2,"rightBars") prec = input(2, title = "Return Precision") // Pivot Points swh = pivothigh(leftBars, rightBars) swl = pivotlow(leftBars, rightBars) hprice = 0.0 hprice := not na(swh) ? swh : hprice[1] lprice = 0.0 lprice := not na(swl) ? swl : lprice[1] le = false le := not na(swh) ? true : (le[1] and high > hprice ? false : le[1]) se = false se := not na(swl) ? true : (se[1] and low < lprice ? false : se[1]) if (le) strategy.entry("PivRevLE", strategy.long, comment="PivRevLE") if (se) strategy.entry("PivRevSE", strategy.short, comment="PivRevSE") plot(hprice, color = color.green, linewidth = 2) plot(lprice, color = color.red, linewidth = 2)