Pulangan Bulanan dalam Strategi PineScript

Penulis:ChaoZhang, Tarikh: 2022-05-06 23:19:37
Tag:Pivot

Saya tidak 100% berpuas hati dengan output prestasi strategi yang saya terima dari TradingView. Sering kali saya ingin melihat sesuatu yang tidak tersedia secara lalai. Saya biasanya mengeksport perdagangan mentah / metrik dari TradingView dan kemudian melakukan analisis tambahan secara manual. Tetapi dengan jadual, anda boleh membina metrik dan alat tambahan untuk strategi anda dengan mudah.

skrip ini hanya akan menunjukkan jadual dengan prestasi bulanan / tahunan skrip anda. agak banyak pedagang / pelabur digunakan untuk melihat pulangan seperti itu. juga, ia mungkin membantu anda mengenal pasti tempoh masa apabila strategi anda dilakukan baik / buruk daripada yang dijangkakan dan cuba menganalisis yang lebih baik. Skrip ini sangat mudah dan saya percaya anda boleh dengan mudah menerapkannya kepada strategi anda sendiri.

Pengecualian Sila ingat bahawa prestasi masa lalu mungkin tidak menunjukkan hasil masa depan. Oleh kerana pelbagai faktor, termasuk keadaan pasaran yang berubah, strategi mungkin tidak lagi berfungsi dengan baik dalam ujian semula sejarah. Pos ini dan skrip tidak memberikan sebarang nasihat kewangan.

Ujian semula 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)


Berkaitan

Lebih lanjut