Ежемесячные доходы в стратегиях PineScript

Автор:Чао Чжан, Дата: 2022-05-06 23:19:37
Тэги:Период

Я не на 100% удовлетворен результатом выполнения стратегии, который я получаю от TradingView. Довольно часто я хочу увидеть что-то, что не доступно по умолчанию. Я обычно экспортирую сырые сделки / метрики из TradingView, а затем выполняю дополнительный анализ вручную. Но с помощью таблиц, вы можете создать дополнительные показатели и инструменты для ваших стратегий довольно легко.

Этот сценарий просто покажет таблицу с ежемесячной/годовой производительностью вашего сценария. Довольно много трейдеров/инвесторов использовали, чтобы посмотреть на доходы, как это. Кроме того, это может помочь вам определить периоды времени, когда ваша стратегия работала хорошо / плохо, чем ожидалось и попытаться проанализировать это лучше. Сценарий очень прост и я верю, что вы можете легко применить его к своим стратегиям.

Отказ от ответственности Пожалуйста, помните, что прошлые результаты могут не быть показателем будущих результатов. В связи с различными факторами, включая изменение рыночных условий, стратегия может перестать работать так же хорошо, как в историческом ректстестинге. Эта статья и сценарий не дают финансовых советов.

Проверка img


/*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)


Связанные

Больше