资源加载中... loading...

线性趋势

Author: 雨幕(youquant), Date: 2022-06-15 09:44:22
Tags: DEV

回测测试

img

img

img


/*backtest
start: 2021-12-01 09:00:00
end: 2022-06-14 15:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_CTP","currency":"FUTURES"}]
args: [["ContractType","rb888",360008]]
*/

// © RafaelZioni

//@version=4
strategy(title = "Linear trend", overlay = true)
//

c = input(close, title="数据源")
len = input(12, minval=1, title="周期"),off= 0,dev= input(4, "偏离")
lreg = linreg(c, len, off), lreg_x =linreg(c, len, off+1)
b = bar_index, s = lreg - lreg_x,intr = lreg - b*s
dS = 0.0
for i=0 to len-1
    dS:= dS + pow(c[i]-(s*(b-i)+intr), 2)  
de = sqrt(dS/(len))
up = (-de*dev) + lreg
down= (de*dev) + lreg

up_t   = 0.0
up_t   := c[1] > up_t[1]   ? max(up, up_t[1])   : up
down_t = 0.0
down_t := c[1] < down_t[1] ? min(down, down_t[1]) : down
trend = 0
trend := c > down_t[1]  ? 1: c < up_t[1]  ? -1 : nz(trend[1], 1)

//
r_line = trend ==1 ? up_t : down_t
plot(r_line)
buy=crossover( c, r_line) 
sell=crossunder(c, r_line) 

plotshape(buy, style=shape.triangleup, size=size.normal, location=location.belowbar, color=color.lime)
plotshape(sell, style=shape.triangledown, size=size.normal, location=location.abovebar, color=color.red)

/////// Alerts /////
alertcondition(buy,title="buy")
alertcondition(sell,title="sell")
if buy
   strategy.entry("long", strategy.long)
else if sell
    strategy.entry("short", strategy.short)

相关内容

更多内容