如何在SIT R中编写自定义止损功能?

时间:2016-06-21 09:14:33

标签: r

我正在使用Systematic Investor Toolbox(SIT)来回测我在R中的策略。目前我正在使用此函数将其用作回溯测试中的fixed stop loss

stop.loss <- function(weight, price, tstart, tend, pstop) {
index = tstart : tend
if(weight > 0)
price[ index ] < (1 - pstop) * price[ tstart ]
else
price[ index ] > (1 + pstop) * price[ tstart ]
}

#The stop loss function
Stoploss = .25/100
#Set our maximum loss at a .25% move in price against our trade

data$weight[] = NA
data$weight[] = custom.stop.fn(coredata(long.short.strategy), coredata(prices), stop.loss,pstop = Stoploss)
models$stoploss = bt.run.share(data, clean.signal=T, trade.summary = TRUE)
#Our long short model with a .25% stop loss

我想在SIT中创建自己的自定义停止功能,但不知道在SIT中应该如何以及为什么使用什么参数。

我的自定义止损想法是

1) Initially fixed stop loss should be 10% of entry price

2) when price move more than 20% of entry price a new fixed stop loss be made at 10% of new entry price

这不是追踪止损,因为我不希望止损追踪价格但只移动一次。

1 个答案:

答案 0 :(得分:1)

你已经看过这个例子吗? (代码位于页面底部的github仓库中)

R: Backtest Forex Strategies Instantly

他使用固定目标价格,起始价格为10%,移动SL价格为当前价格的2%。它可能会给你一些如何做你正在寻找的东西。

编辑:比看别人的实施更好,看看SIT自己的止损方法:https://systematicinvestor.wordpress.com/2013/07/30/stop-loss/